- Documentation generated by JSDoc 3.5.5 on Tue Aug 07 2018 12:18:10 GMT-0700 (PDT)
+ Documentation generated by JSDoc 3.5.5 on Tue Jan 08 2019 10:34:53 GMT-0800 (PST)
diff --git a/fixtures/checkout-create-fixture.js b/fixtures/checkout-create-fixture.js
index 51ad3ef71..48725142d 100644
--- a/fixtures/checkout-create-fixture.js
+++ b/fixtures/checkout-create-fixture.js
@@ -1,6 +1,7 @@
export default {
"data": {
"checkoutCreate": {
+ "checkoutUserErrors": [],
"userErrors": [],
"checkout": {
"id": "Z2lkOi8vc2hvcGlmeS9DaGVja291dC9lM2JkNzFmNzI0OGM4MDZmMzM3MjVhNTNlMzM5MzFlZj9rZXk9NDcwOTJlNDQ4NTI5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=",
diff --git a/fixtures/checkout-create-with-paginated-line-items-fixture.js b/fixtures/checkout-create-with-paginated-line-items-fixture.js
index 04e2f2cf5..5d67da5a7 100644
--- a/fixtures/checkout-create-with-paginated-line-items-fixture.js
+++ b/fixtures/checkout-create-with-paginated-line-items-fixture.js
@@ -1,6 +1,7 @@
export default {
"data": {
"checkoutCreate": {
+ "checkoutUserErrors": [],
"userErrors": [],
"checkout": {
"id": "Z2lkOi8vc2hvcGlmeS9DaGVja291dC9lM2JkNzFmNzI0OGM4MDZmMzM3MjVhNTNlMzM5MzFlZj9rZXk9NDcwOTJlNDQ4NTI5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=",
diff --git a/fixtures/checkout-discount-code-apply-fixture.js b/fixtures/checkout-discount-code-apply-fixture.js
new file mode 100644
index 000000000..3e2365797
--- /dev/null
+++ b/fixtures/checkout-discount-code-apply-fixture.js
@@ -0,0 +1,86 @@
+export default {
+ "data": {
+ "checkoutDiscountCodeApplyV2": {
+ "checkoutUserErrors": [],
+ "userErrors": [],
+ "checkout": {
+ "id": "Z2lkOi8vc2hvcGlmeS9DaGVja291dC9lM2JkNzFmNzI0OGM4MDZmMzM3MjVhNTNlMzM5MzFlZj9rZXk9NDcwOTJlNDQ4NTI5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=",
+ "createdAt": "2017-03-17T16:00:40Z",
+ "updatedAt": "2017-03-17T16:00:40Z",
+ "requiresShipping": true,
+ "shippingLine": null,
+ "order": null,
+ "orderStatusUrl": null,
+ "taxExempt": false,
+ "taxesIncluded": false,
+ "currencyCode": "CAD",
+ "totalPrice": "80.28",
+ "subtotalPrice": "67.50",
+ "totalTax": "8.78",
+ "paymentDue": "80.28",
+ "taxExempt": false,
+ "taxesIncluded": false,
+ "completedAt": null,
+ "shippingAddress": {
+ "address1": "123 Cat Road",
+ "address2": null,
+ "city": "Cat Land",
+ "company": "Catmart",
+ "country": "Canada",
+ "firstName": "Meow",
+ "formatted": [
+ "Catmart",
+ "123 Cat Road",
+ "Cat Land ON M3O 0W1",
+ "Canada"
+ ],
+ "lastName": "Meowington",
+ "latitude": null,
+ "longitude": null,
+ "phone": "4161234566",
+ "province": "Ontario",
+ "zip": "M3O 0W1",
+ "name": "Meow Meowington",
+ "countryCode": "CA",
+ "provinceCode": "ON",
+ "id": "291dC9lM2JkNzHJnnf8a89njNJNKAhu1gn7lMzM5MzFlZj9rZXk9NDcwOTJ=="
+ },
+ "lineItems": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoiZDUyZWU5ZTEwYmQxMWE0NDlkNmQzMWNkMzBhMGFjNzMifQ==",
+ "node": {
+ "title": "Intelligent Granite Table",
+ "variant": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjA2NDU4NA==",
+ "price": "74.99"
+ },
+ "quantity": 5,
+ "customAttributes": [],
+ "discountAllocations": [
+ {
+ "allocatedAmount": {
+ "amount": "7.49",
+ "currencyCode": "CAD"
+ },
+ "discountApplication": {
+ "targetSelection": "ALL",
+ "allocationMethod": "ACROSS",
+ "targetType": "LINE_ITEM",
+ "code": "TENPERCENTOFF",
+ "applicable": true
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+};
diff --git a/fixtures/checkout-discount-code-remove-fixture.js b/fixtures/checkout-discount-code-remove-fixture.js
new file mode 100644
index 000000000..53ce6bd06
--- /dev/null
+++ b/fixtures/checkout-discount-code-remove-fixture.js
@@ -0,0 +1,72 @@
+export default {
+ "data": {
+ "checkoutDiscountCodeRemove": {
+ "checkoutUserErrors": [],
+ "userErrors": [],
+ "checkout": {
+ "id": "Z2lkOi8vc2hvcGlmeS9DaGVja291dC9lM2JkNzFmNzI0OGM4MDZmMzM3MjVhNTNlMzM5MzFlZj9rZXk9NDcwOTJlNDQ4NTI5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=",
+ "createdAt": "2017-03-17T16:00:40Z",
+ "updatedAt": "2017-03-17T16:00:40Z",
+ "requiresShipping": true,
+ "shippingLine": null,
+ "order": null,
+ "orderStatusUrl": null,
+ "taxExempt": false,
+ "taxesIncluded": false,
+ "currencyCode": "CAD",
+ "totalPrice": "88.74",
+ "subtotalPrice": "74.99",
+ "totalTax": "9.75",
+ "paymentDue": "88.74",
+ "taxExempt": false,
+ "taxesIncluded": false,
+ "completedAt": null,
+ "shippingAddress": {
+ "address1": "123 Cat Road",
+ "address2": null,
+ "city": "Cat Land",
+ "company": "Catmart",
+ "country": "Canada",
+ "firstName": "Meow",
+ "formatted": [
+ "Catmart",
+ "123 Cat Road",
+ "Cat Land ON M3O 0W1",
+ "Canada"
+ ],
+ "lastName": "Meowington",
+ "latitude": null,
+ "longitude": null,
+ "phone": "4161234566",
+ "province": "Ontario",
+ "zip": "M3O 0W1",
+ "name": "Meow Meowington",
+ "countryCode": "CA",
+ "provinceCode": "ON",
+ "id": "291dC9lM2JkNzHJnnf8a89njNJNKAhu1gn7lMzM5MzFlZj9rZXk9NDcwOTJ=="
+ },
+ "lineItems": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoiZDUyZWU5ZTEwYmQxMWE0NDlkNmQzMWNkMzBhMGFjNzMifQ==",
+ "node": {
+ "title": "Intelligent Granite Table",
+ "variant": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjA2NDU4NA==",
+ "price": "74.99"
+ },
+ "quantity": 5,
+ "customAttributes": [],
+ "discountAllocations": []
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+};
diff --git a/fixtures/checkout-line-items-replace-fixture.js b/fixtures/checkout-line-items-replace-fixture.js
new file mode 100644
index 000000000..8e7abb0a3
--- /dev/null
+++ b/fixtures/checkout-line-items-replace-fixture.js
@@ -0,0 +1,79 @@
+export default {
+ "data": {
+ "checkoutLineItemsReplace": {
+ "userErrors": [],
+ "checkout": {
+ "id": "Z2lkOi8vc2hvcGlmeS9DaGVja291dC9lM2JkNzFmNzI0OGM4MDZmMzM3MjVhNTNlMzM5MzFlZj9rZXk9NDcwOTJlNDQ4NTI5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=",
+ "createdAt": "2017-03-17T16:00:40Z",
+ "updatedAt": "2017-03-17T16:00:40Z",
+ "requiresShipping": true,
+ "shippingLine": null,
+ "shippingAddress": {
+ "address1": "123 Cat Road",
+ "address2": null,
+ "city": "Cat Land",
+ "company": "Catmart",
+ "country": "Canada",
+ "firstName": "Meow",
+ "formatted": [
+ "Catmart",
+ "123 Cat Road",
+ "Cat Land ON M3O 0W1",
+ "Canada"
+ ],
+ "lastName": "Meowington",
+ "latitude": null,
+ "longitude": null,
+ "phone": "4161234566",
+ "province": "Ontario",
+ "zip": "M3O 0W1",
+ "name": "Meow Meowington",
+ "countryCode": "CA",
+ "provinceCode": "ON",
+ "id": "291dC9lM2JkNzHJnnf8a89njNJNKAhu1gn7lMzM5MzFlZj9rZXk9NDcwOTJ=="
+ },
+ "lineItems": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoiZDUyZWU5ZTEwYmQxMWE0NDlkNmQzMWNkMzBhMGFjNzMifQ==",
+ "node": {
+ "title": "Intelligent Granite Table",
+ "variant": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjA2NDU4NA=="
+ },
+ "quantity": 5,
+ "customAttributes": []
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkfsI01DUyZWU5ZTEwYmQxMWE0NDlkNmQzMknK1DKhMGFjNzfAxQ=",
+ "node": {
+ "title": "Intelligent Marble Table",
+ "variant": {
+ "id": "ZNc0vnIOijnJabh4873nNQnfb9B0QhnFyvk9Wfh87oNBeqBHGQNA5a=="
+ },
+ "quantity": 5,
+ "customAttributes": []
+ }
+ },
+ {
+ "cursor": "eyJsYXf3X2dm9aQI01PLqZbU5ZfSEYmQxNWE0NDlkNmQzMknK1DKhMGFj9afKqP=",
+ "node": {
+ "title": "Intelligent Wooden Table",
+ "variant": {
+ "id": "Zad7JHnbf32JHna087juBQn8faB84Ba28VnqjF87Qynaw8MnDhNA3W=="
+ },
+ "quantity": 5,
+ "customAttributes": []
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+};
diff --git a/fixtures/checkout-update-custom-attrs-fixture.js b/fixtures/checkout-update-custom-attrs-fixture.js
index 562eb5e7a..25426d90e 100644
--- a/fixtures/checkout-update-custom-attrs-fixture.js
+++ b/fixtures/checkout-update-custom-attrs-fixture.js
@@ -1,6 +1,7 @@
export default {
"data": {
- "checkoutAttributesUpdate": {
+ "checkoutAttributesUpdateV2": {
+ "checkoutUserErrors": [],
"userErrors": [],
"checkout": {
"id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
diff --git a/fixtures/checkout-update-email-fixture.js b/fixtures/checkout-update-email-fixture.js
new file mode 100644
index 000000000..b691ee49c
--- /dev/null
+++ b/fixtures/checkout-update-email-fixture.js
@@ -0,0 +1,82 @@
+export default {
+ "data": {
+ "checkoutEmailUpdateV2": {
+ "checkoutUserErrors": [],
+ "userErrors": [],
+ "checkout": {
+ "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
+ "ready": true,
+ "lineItems": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoiZDUyZWU5ZTEwYmQxMWE0NDlkNmQzMWNkMzBhMGFjNzMifQ==",
+ "node": {
+ "title": "Intelligent Granite Table",
+ "variant": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjA2NDU4NA==",
+ "title": "Awesome Copper Bench",
+ "price": "64.99",
+ "weight": 4.5,
+ "image": null,
+ "selectedOptions": [
+ {
+ "name": "Color or something",
+ "value": "Awesome Copper Bench"
+ }
+ ]
+ },
+ "quantity": 5,
+ "customAttributes": []
+ }
+ }
+ ]
+ },
+ "shippingAddress": {
+ "address1": "123 Cat Road",
+ "address2": null,
+ "city": "Cat Land",
+ "company": "Catmart",
+ "country": "Canada",
+ "firstName": "Meow",
+ "formatted": [
+ "Catmart",
+ "123 Cat Road",
+ "Cat Land ON M3O 0W1",
+ "Canada"
+ ],
+ "lastName": "Meowington",
+ "latitude": null,
+ "longitude": null,
+ "phone": "4161234566",
+ "province": "Ontario",
+ "zip": "M3O 0W1",
+ "name": "Meow Meowington",
+ "countryCode": "CA",
+ "provinceCode": "ON",
+ "id": "Z2lkOi8vc2hvcGlmeS9QcmdfnAU8nakdWMnAbh890hyOTEwNjA2NDU4NA=="
+ },
+ "shippingLine": null,
+ "requiresShipping": true,
+ "email": "user@example.com",
+ "customAttributes": [{key: "MyKey", value: "MyValue"}],
+ "note": null,
+ "paymentDue": "367.19",
+ "webUrl": "https://checkout.myshopify.io/1/checkouts/c4abf4bf036239ab5e3d0bf93c642c96",
+ "orderStatusUrl": null,
+ "taxExempt": false,
+ "taxesIncluded": false,
+ "currencyCode": "CAD",
+ "totalTax": "42.24",
+ "subtotalPrice": "324.95",
+ "totalPrice": "367.19",
+ "completedAt": null,
+ "createdAt": "2017-03-28T16:58:31Z",
+ "updatedAt": "2017-03-28T16:58:31Z"
+ }
+ }
+ }
+};
diff --git a/fixtures/collection-by-handle-fixture.js b/fixtures/collection-by-handle-fixture.js
index ae9ea4a46..5895576bd 100644
--- a/fixtures/collection-by-handle-fixture.js
+++ b/fixtures/collection-by-handle-fixture.js
@@ -1,39 +1,37 @@
export default {
"data": {
- "shop": {
- "collectionByHandle": {
- "id": "Z2lkOi8vc2hvcGlmeS9Db2xsZWN0aW9uLzM2NDAxNTk0Mg==",
- "title": "Sneakers",
- "products": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
+ "collectionByHandle": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Db2xsZWN0aW9uLzM2NDAxNTk0Mg==",
+ "title": "Sneakers",
+ "products": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzkyODY5OTM5MjY=",
+ "title": "The Bab Low",
+ "handle": "the-bab-low"
+ }
+ },
+ {
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzkyODc0NzIzOTA=",
+ "title": "The G-knit",
+ "handle": "the-g-knit"
+ }
},
- "edges": [
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzkyODY5OTM5MjY=",
- "title": "The Bab Low",
- "handle": "the-bab-low"
- }
- },
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzkyODc0NzIzOTA=",
- "title": "The G-knit",
- "handle": "the-g-knit"
- }
- },
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzkyODc0NDAyNjI=",
- "title": "The Royale",
- "handle": "the-royale"
- }
+ {
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzkyODc0NDAyNjI=",
+ "title": "The Royale",
+ "handle": "the-royale"
}
- ]
- }
+ }
+ ]
}
}
}
-}
\ No newline at end of file
+}
diff --git a/fixtures/collection-with-products-fixture.js b/fixtures/collection-with-products-fixture.js
index 17fed7316..411247a3d 100644
--- a/fixtures/collection-with-products-fixture.js
+++ b/fixtures/collection-with-products-fixture.js
@@ -27,9 +27,6 @@ export default {
"productType": "cat",
"title": "Cat",
"vendor": "sendmecats",
- "tags": [
- "vintage"
- ],
"publishedAt": "2017-01-12T19:44:42Z",
"options": [
{
@@ -185,9 +182,6 @@ export default {
"productType": "cat",
"title": "Cat 2",
"vendor": "sendmecats",
- "tags": [
- "fluffy"
- ],
"publishedAt": "2017-02-03T18:52:27Z",
"options": [
{
diff --git a/fixtures/node-null-fixture.js b/fixtures/node-null-fixture.js
new file mode 100644
index 000000000..59e0c5fc8
--- /dev/null
+++ b/fixtures/node-null-fixture.js
@@ -0,0 +1,5 @@
+export default {
+ "data": {
+ "node": null
+ }
+};
diff --git a/fixtures/product-by-handle-fixture.js b/fixtures/product-by-handle-fixture.js
index 5b656e9a2..f6e14082b 100644
--- a/fixtures/product-by-handle-fixture.js
+++ b/fixtures/product-by-handle-fixture.js
@@ -1,266 +1,259 @@
export default {
"data": {
- "shop": {
- "productByHandle": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzk1NTUyMjc0NjI=",
- "createdAt": "2017-02-15T15:08:51Z",
- "title": "Cape Dress",
- "updatedAt": "2017-06-07T15:18:50Z",
- "description": "This is a demonstration store. You can purchase products like this from Baby & Company The Cape Dress from Co. captivates. The waistless silhouette offers a flattering look. Invisible zip closure at side. 82% Triacetate, 18% Polyester. Made in China. Ashley is wearing an X-Small.",
- "descriptionHtml": " \nThis is a demonstration store. You can purchase products like this from Baby & Company
\nThe Cape Dress from Co. captivates. The waistless silhouette offers a flattering look. Invisible zip closure at side. 82% Triacetate, 18% Polyester. Made in China. Ashley is wearing an X-Small.
",
- "handle": "cape-dress-1",
- "productType": "women's dresses",
- "vendor": "Co",
- "tags": [
- "arrivals",
- "AW15",
- "black",
- ],
- "publishedAt": "2017-02-15T15:09:45Z",
- "options": [
+ "productByHandle": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzk1NTUyMjc0NjI=",
+ "createdAt": "2017-02-15T15:08:51Z",
+ "title": "Cape Dress",
+ "updatedAt": "2017-06-07T15:18:50Z",
+ "description": "This is a demonstration store. You can purchase products like this from Baby & Company The Cape Dress from Co. captivates. The waistless silhouette offers a flattering look. Invisible zip closure at side. 82% Triacetate, 18% Polyester. Made in China. Ashley is wearing an X-Small.",
+ "descriptionHtml": " \nThis is a demonstration store. You can purchase products like this from Baby & Company
\nThe Cape Dress from Co. captivates. The waistless silhouette offers a flattering look. Invisible zip closure at side. 82% Triacetate, 18% Polyester. Made in China. Ashley is wearing an X-Small.
",
+ "handle": "cape-dress-1",
+ "productType": "women's dresses",
+ "vendor": "Co",
+ "publishedAt": "2017-02-15T15:09:45Z",
+ "options": [
+ {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzExNTI2MDQwNzc0",
+ "name": "Color",
+ "values": [
+ "Black",
+ "Dark Green"
+ ]
+ },
+ {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzExNTI2MDQwODM4",
+ "name": "Size",
+ "values": [
+ "X-Small",
+ "Small",
+ "Medium",
+ "Large"
+ ]
+ }
+ ],
+ "images": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
{
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzExNTI2MDQwNzc0",
- "name": "Color",
- "values": [
- "Black",
- "Dark Green"
- ]
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDgxNjY=",
+ "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/babyandco5.jpg?v=1487171332",
+ "altText": null
+ }
},
{
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzExNTI2MDQwODM4",
- "name": "Size",
- "values": [
- "X-Small",
- "Small",
- "Medium",
- "Large"
- ]
- }
- ],
- "images": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDgyMzA=",
+ "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_33_51032_24008.jpg?v=1487171332",
+ "altText": null
+ }
},
- "edges": [
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDgxNjY=",
- "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/babyandco5.jpg?v=1487171332",
- "altText": null
- }
- },
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDgyMzA=",
- "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_33_51032_24008.jpg?v=1487171332",
- "altText": null
- }
- },
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDgyOTQ=",
- "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_33_51032_24015.jpg?v=1487171332",
- "altText": null
- }
- },
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDgzNTg=",
- "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_33_51032_24020.jpg?v=1487171332",
- "altText": null
- }
- },
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDg0MjI=",
- "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_34_51031_24037.jpg?v=1487171332",
- "altText": null
- }
- },
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDg0ODY=",
- "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_33_51032_24024.jpg?v=1487171332",
- "altText": null
- }
- },
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDg1NTA=",
- "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_33_51032_24034.jpg?v=1487171332",
- "altText": null
- }
- },
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDg2MTQ=",
- "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_34_51031_24040.jpg?v=1487171332",
- "altText": null
- }
+ {
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDgyOTQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_33_51032_24015.jpg?v=1487171332",
+ "altText": null
}
- ]
+ },
+ {
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDgzNTg=",
+ "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_33_51032_24020.jpg?v=1487171332",
+ "altText": null
+ }
+ },
+ {
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDg0MjI=",
+ "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_34_51031_24037.jpg?v=1487171332",
+ "altText": null
+ }
+ },
+ {
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDg0ODY=",
+ "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_33_51032_24024.jpg?v=1487171332",
+ "altText": null
+ }
+ },
+ {
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDg1NTA=",
+ "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_33_51032_24034.jpg?v=1487171332",
+ "altText": null
+ }
+ },
+ {
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDg2MTQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_34_51031_24040.jpg?v=1487171332",
+ "altText": null
+ }
+ }
+ ]
+ },
+ "variants": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
},
- "variants": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
+ "edges": [
+ {
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8zNTgzMTE3NDIxNA==",
+ "available": true,
+ "weight": 0,
+ "price": "788.00",
+ "title": "Black / X-Small",
+ "image": null,
+ "selectedOptions": [
+ {
+ "name": "Color",
+ "value": "Black"
+ },
+ {
+ "name": "Size",
+ "value": "X-Small"
+ }
+ ]
+ }
},
- "edges": [
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8zNTgzMTE3NDIxNA==",
- "available": true,
- "weight": 0,
- "price": "788.00",
- "title": "Black / X-Small",
- "image": null,
- "selectedOptions": [
- {
- "name": "Color",
- "value": "Black"
- },
- {
- "name": "Size",
- "value": "X-Small"
- }
- ]
- }
- },
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8zNTgzMTE3NDQwNg==",
- "available": true,
- "weight": 0,
- "price": "788.00",
- "title": "Black / Small",
- "image": null,
- "selectedOptions": [
- {
- "name": "Color",
- "value": "Black"
- },
- {
- "name": "Size",
- "value": "Small"
- }
- ]
- }
- },
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8zNTgzMTE3NDUzNA==",
- "available": false,
- "weight": 0,
- "price": "788.00",
- "title": "Black / Medium",
- "image": null,
- "selectedOptions": [
- {
- "name": "Color",
- "value": "Black"
- },
- {
- "name": "Size",
- "value": "Medium"
- }
- ]
- }
- },
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8zNTgzMTE3NDcyNg==",
- "available": true,
- "weight": 0,
- "price": "750.00",
- "title": "Dark Green / X-Small",
- "image": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDg0MjI=",
- "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_34_51031_24037.jpg?v=1487171332"
+ {
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8zNTgzMTE3NDQwNg==",
+ "available": true,
+ "weight": 0,
+ "price": "788.00",
+ "title": "Black / Small",
+ "image": null,
+ "selectedOptions": [
+ {
+ "name": "Color",
+ "value": "Black"
},
- "selectedOptions": [
- {
- "name": "Color",
- "value": "Dark Green"
- },
- {
- "name": "Size",
- "value": "X-Small"
- }
- ]
- }
- },
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8zNTgzMTE3NDkxOA==",
- "available": false,
- "weight": 0,
- "price": "750.00",
- "title": "Dark Green / Small",
- "image": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDg2MTQ=",
- "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_34_51031_24040.jpg?v=1487171332"
+ {
+ "name": "Size",
+ "value": "Small"
+ }
+ ]
+ }
+ },
+ {
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8zNTgzMTE3NDUzNA==",
+ "available": false,
+ "weight": 0,
+ "price": "788.00",
+ "title": "Black / Medium",
+ "image": null,
+ "selectedOptions": [
+ {
+ "name": "Color",
+ "value": "Black"
},
- "selectedOptions": [
- {
- "name": "Color",
- "value": "Dark Green"
- },
- {
- "name": "Size",
- "value": "Small"
- }
- ]
- }
- },
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8zNTgzMTE3NTExMA==",
- "available": true,
- "weight": 0,
- "price": "788.00",
- "title": "Dark Green / Medium",
- "image": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDg1NTA=",
- "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_33_51032_24034.jpg?v=1487171332"
+ {
+ "name": "Size",
+ "value": "Medium"
+ }
+ ]
+ }
+ },
+ {
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8zNTgzMTE3NDcyNg==",
+ "available": true,
+ "weight": 0,
+ "price": "750.00",
+ "title": "Dark Green / X-Small",
+ "image": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDg0MjI=",
+ "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_34_51031_24037.jpg?v=1487171332"
+ },
+ "selectedOptions": [
+ {
+ "name": "Color",
+ "value": "Dark Green"
},
- "selectedOptions": [
- {
- "name": "Color",
- "value": "Dark Green"
- },
- {
- "name": "Size",
- "value": "Medium"
- }
- ]
- }
- },
- {
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC80MjgyNzA5NjcyNQ==",
- "available": true,
- "weight": 0,
- "price": "788.00",
- "title": "Dark Green / Large",
- "image": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDg0ODY=",
- "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_33_51032_24024.jpg?v=1487171332"
+ {
+ "name": "Size",
+ "value": "X-Small"
+ }
+ ]
+ }
+ },
+ {
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8zNTgzMTE3NDkxOA==",
+ "available": false,
+ "weight": 0,
+ "price": "750.00",
+ "title": "Dark Green / Small",
+ "image": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDg2MTQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_34_51031_24040.jpg?v=1487171332"
+ },
+ "selectedOptions": [
+ {
+ "name": "Color",
+ "value": "Dark Green"
},
- "selectedOptions": [
- {
- "name": "Color",
- "value": "Dark Green"
- },
- {
- "name": "Size",
- "value": "Large"
- }
- ]
- }
+ {
+ "name": "Size",
+ "value": "Small"
+ }
+ ]
}
- ]
- }
+ },
+ {
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8zNTgzMTE3NTExMA==",
+ "available": true,
+ "weight": 0,
+ "price": "788.00",
+ "title": "Dark Green / Medium",
+ "image": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDg1NTA=",
+ "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_33_51032_24034.jpg?v=1487171332"
+ },
+ "selectedOptions": [
+ {
+ "name": "Color",
+ "value": "Dark Green"
+ },
+ {
+ "name": "Size",
+ "value": "Medium"
+ }
+ ]
+ }
+ },
+ {
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC80MjgyNzA5NjcyNQ==",
+ "available": true,
+ "weight": 0,
+ "price": "788.00",
+ "title": "Dark Green / Large",
+ "image": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjI5MzI5MDg0ODY=",
+ "src": "https://cdn.shopify.com/s/files/1/1019/0495/products/2015-07-02_Ashley_33_51032_24024.jpg?v=1487171332"
+ },
+ "selectedOptions": [
+ {
+ "name": "Color",
+ "value": "Dark Green"
+ },
+ {
+ "name": "Size",
+ "value": "Large"
+ }
+ ]
+ }
+ }
+ ]
}
}
}
diff --git a/fixtures/product-fixture.js b/fixtures/product-fixture.js
index c09139d9f..6db5e6c07 100644
--- a/fixtures/product-fixture.js
+++ b/fixtures/product-fixture.js
@@ -3,6 +3,7 @@ export default {
"node": {
"__typename": "Product",
"id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "availableForSale": true,
"createdAt": "2016-09-25T21:31:33Z",
"updatedAt": "2017-03-29T15:25:32Z",
"descriptionHtml": "send me this cat",
@@ -11,9 +12,6 @@ export default {
"productType": "cat",
"title": "Cat",
"vendor": "sendmecats",
- "tags": [
- "vintage"
- ],
"publishedAt": "2017-01-12T19:44:42Z",
"options": [
{
diff --git a/fixtures/product-with-paginated-images-fixture.js b/fixtures/product-with-paginated-images-fixture.js
index d98b401a9..b3fb21b87 100644
--- a/fixtures/product-with-paginated-images-fixture.js
+++ b/fixtures/product-with-paginated-images-fixture.js
@@ -1,80 +1,77 @@
export default {
"data": {
- "shop": {
- "products": {
- "pageInfo": {
- "hasNextPage": true,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjo3ODU3OTg5Mzg0LCJsYXN0X3ZhbHVlIjoiNzg1Nzk4OTM4NCJ9",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "createdAt": "2016-09-25T21:31:33Z",
- "updatedAt": "2017-01-16T15:42:21Z",
- "descriptionHtml": "send me this cat",
- "description": "send me this cat",
- "handle": "cat",
- "productType": "",
- "title": "Cat",
- "vendor": "sendmecats",
- "tags": [],
- "publishedAt": "2016-09-25T21:29:00Z",
- "options": [
+ "products": {
+ "pageInfo": {
+ "hasNextPage": true,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjo3ODU3OTg5Mzg0LCJsYXN0X3ZhbHVlIjoiNzg1Nzk4OTM4NCJ9",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "createdAt": "2016-09-25T21:31:33Z",
+ "updatedAt": "2017-01-16T15:42:21Z",
+ "descriptionHtml": "send me this cat",
+ "description": "send me this cat",
+ "handle": "cat",
+ "productType": "",
+ "title": "Cat",
+ "vendor": "sendmecats",
+ "publishedAt": "2016-09-25T21:29:00Z",
+ "options": [
+ {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk4OTI4MjkzODQ=",
+ "name": "Fur",
+ "values": [
+ "Fluffy",
+ "Extra Fluffy",
+ "Mega Fluff"
+ ]
+ }
+ ],
+ "images": {
+ "pageInfo": {
+ "hasNextPage": true,
+ "hasPreviousPage": false
+ },
+ "edges": [
{
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk4OTI4MjkzODQ=",
- "name": "Fur",
- "values": [
- "Fluffy",
- "Extra Fluffy",
- "Mega Fluff"
- ]
- }
- ],
- "images": {
- "pageInfo": {
- "hasNextPage": true,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoxNjMwNjgxMjY4MH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk4OTI3ODM1NjA=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat.jpg?v=1474839096",
- "altText": null
- }
+ "cursor": "eyJsYXN0X2lkIjoxNjMwNjgxMjY4MH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk4OTI3ODM1NjA=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat.jpg?v=1474839096",
+ "altText": null
}
- ]
+ }
+ ]
+ },
+ "variants": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
},
- "variants": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNTk3Nn0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc3OTA2NjQ=",
- "title": "Fluffy",
- "price": "0.00",
- "weight": 18,
- "selectedOptions": [
- {
- "name": "Fur",
- "value": "Fluffy"
- }
- ]
- }
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNTk3Nn0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc3OTA2NjQ=",
+ "title": "Fluffy",
+ "price": "0.00",
+ "weight": 18,
+ "selectedOptions": [
+ {
+ "name": "Fur",
+ "value": "Fluffy"
+ }
+ ]
}
- ]
- }
+ }
+ ]
}
}
- ]
- }
+ }
+ ]
}
}
};
diff --git a/fixtures/query-collection-fixture.js b/fixtures/query-collection-fixture.js
deleted file mode 100644
index 7aedb4ceb..000000000
--- a/fixtures/query-collection-fixture.js
+++ /dev/null
@@ -1,22 +0,0 @@
-export default {
- "data": {
- "shop": {
- "collections": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjozNjkzMTI1ODQsImxhc3RfdmFsdWUiOiIzNjkzMTI1ODQifQ==",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Db2xsZWN0aW9uLzM2OTMxMjU4NA==",
- "title": "Cat Collection",
- "updatedAt": "2017-03-29T15:30:02Z"
- }
- }
- ]
- }
- }
- }
-};
diff --git a/fixtures/query-collections-fixture.js b/fixtures/query-collections-fixture.js
new file mode 100644
index 000000000..d1d002ec9
--- /dev/null
+++ b/fixtures/query-collections-fixture.js
@@ -0,0 +1,32 @@
+export default {
+ "data": {
+ "collections": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjozNjkzMTI1ODQsImxhc3RfdmFsdWUiOiIzNjkzMTI1ODQifQ==",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "handle": "frontpage",
+ "updatedAt": "2017-01-16T15:49:34Z",
+ "title": "Cat Collection",
+ "image": null
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjo0MTMwOTQ0NzIsImxhc3RfdmFsdWUiOiI0MTMwOTQ0NzIifQ==",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzg1MzAwMzM1NDQ=",
+ "handle": "test",
+ "updatedAt": "2017-01-16T15:51:51Z",
+ "title": "Test",
+ "image": null
+ }
+ }
+ ]
+ }
+ }
+};
diff --git a/fixtures/query-collections-with-pagination-fixture.js b/fixtures/query-collections-with-pagination-fixture.js
new file mode 100644
index 000000000..05ac0a5c9
--- /dev/null
+++ b/fixtures/query-collections-with-pagination-fixture.js
@@ -0,0 +1,357 @@
+export default {
+ "data": {
+ "collections": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjozNjkzMTI1ODQsImxhc3RfdmFsdWUiOiIzNjkzMTI1ODQifQ==",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Db2xsZWN0aW9uLzM2OTMxMjU4NA==",
+ "handle": "frontpage",
+ "description": "",
+ "descriptionHtml": "",
+ "updatedAt": "2017-03-29T15:30:02Z",
+ "title": "Cat Collection",
+ "image": null,
+ "products": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjo3ODU3OTg5Mzg0LCJsYXN0X3ZhbHVlIjoiNzg1Nzk4OTM4NCJ9",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "createdAt": "2016-09-25T21:31:33Z",
+ "updatedAt": "2017-03-29T15:25:32Z",
+ "descriptionHtml": "send me this cat",
+ "description": "send me this cat",
+ "handle": "cat",
+ "productType": "cat",
+ "title": "Cat",
+ "vendor": "sendmecats",
+ "publishedAt": "2017-01-12T19:44:42Z",
+ "options": [
+ {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzk0MTcwMDQ4MDg=",
+ "name": "Fur",
+ "values": [
+ "Fluffy",
+ "Extra Fluffy",
+ "Mega Fluff"
+ ]
+ },
+ {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzEwNzE0MDc4NTM2",
+ "name": "Size",
+ "values": [
+ "Medium",
+ "Small",
+ "Large"
+ ]
+ }
+ ],
+ "images": {
+ "pageInfo": {
+ "hasNextPage": true,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoxNjMwNjgxMjY4MH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTYzMDY4MTI2ODA=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat.jpg?v=1489515038",
+ "altText": "fettucine"
+ }
+ }
+ ]
+ },
+ "variants": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNTk3Nn0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yNTYwMjIzNTk3Ng==",
+ "title": "Fluffy / Medium",
+ "price": "0.00",
+ "weight": 18,
+ "image": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk2MTY3MzY4NDA=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/maxresdefault.jpg?v=1489515047",
+ "altText": null
+ },
+ "selectedOptions": [
+ {
+ "name": "Fur",
+ "value": "Fluffy"
+ },
+ {
+ "name": "Size",
+ "value": "Medium"
+ }
+ ]
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNjA0MH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yNTYwMjIzNjA0MA==",
+ "title": "Extra Fluffy / Small",
+ "price": "0.00",
+ "weight": 18,
+ "image": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc3ODc1OTI=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat2.jpeg?v=1489515038",
+ "altText": null
+ },
+ "selectedOptions": [
+ {
+ "name": "Fur",
+ "value": "Extra Fluffy"
+ },
+ {
+ "name": "Size",
+ "value": "Small"
+ }
+ ]
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNjEwNH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yNTYwMjIzNjEwNA==",
+ "title": "Mega Fluff / Large",
+ "price": "0.00",
+ "weight": 0,
+ "image": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc3OTA2NjQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat3.jpeg?v=1489515038",
+ "altText": null
+ },
+ "selectedOptions": [
+ {
+ "name": "Fur",
+ "value": "Mega Fluff"
+ },
+ {
+ "name": "Size",
+ "value": "Large"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjo4NjMxNzQ5NTc2LCJsYXN0X3ZhbHVlIjoiODYzMTc0OTU3NiJ9",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzg2MzE3NDk1NzY=",
+ "createdAt": "2017-02-03T18:52:27Z",
+ "updatedAt": "2017-03-30T18:27:00Z",
+ "descriptionHtml": "alternative cat",
+ "description": "alternative cat",
+ "handle": "cat-2",
+ "productType": "cat",
+ "title": "Cat 2",
+ "vendor": "sendmecats",
+ "publishedAt": "2017-02-03T18:52:27Z",
+ "options": [
+ {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzEwMzczNzYwMzky",
+ "name": "Title",
+ "values": [
+ "Default Title"
+ ]
+ }
+ ],
+ "images": {
+ "pageInfo": {
+ "hasNextPage": true,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoyMDE0MzA0MTg2NH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjAxNDMwNDE4NjQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/image.dots.morethings.jpg?v=1490898420",
+ "altText": null
+ }
+ }
+ ]
+ },
+ "variants": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoyOTkzNzExMjEzNn0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTkzNzExMjEzNg==",
+ "title": "Default Title",
+ "price": "0.00",
+ "weight": 0,
+ "image": null,
+ "selectedOptions": [
+ {
+ "name": "Title",
+ "value": "Default Title"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjo0MTMwOTQ0NzIsImxhc3RfdmFsdWUiOiI0MTMwOTQ0NzIifQ==",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Db2xsZWN0aW9uLzQxMzA5NDQ3Mg==",
+ "handle": "test",
+ "description": "",
+ "descriptionHtml": "",
+ "updatedAt": "2017-03-29T15:30:02Z",
+ "title": "Test",
+ "image": null,
+ "products": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjo4NTMwMDMzNTQ0LCJsYXN0X3ZhbHVlIjoiODUzMDAzMzU0NCJ9",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzg1MzAwMzM1NDQ=",
+ "createdAt": "2017-01-16T15:43:38Z",
+ "updatedAt": "2017-04-06T17:30:25Z",
+ "descriptionHtml": "do not send",
+ "description": "do not send",
+ "handle": "not-cat",
+ "productType": "really not cat",
+ "title": "Not Cat",
+ "vendor": "sendmecats",
+ "publishedAt": "2017-01-16T15:43:38Z",
+ "options": [
+ {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzEwMjQ0MzE1MjA4",
+ "name": "Size",
+ "values": [
+ "small",
+ "large",
+ "very large"
+ ]
+ }
+ ],
+ "images": {
+ "pageInfo": {
+ "hasNextPage": true,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoxODIxNzgxOTQwMH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc4MTk0MDA=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/notcat.jpeg?v=1490363658",
+ "altText": null
+ }
+ }
+ ]
+ },
+ "variants": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoyOTEwNjAyMjc5Mn0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==",
+ "title": "small",
+ "price": "0.00",
+ "weight": 0,
+ "image": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk4OTI3ODM1NjA=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/054cca77f1be90654f4f70db263a3822.jpg?v=1490363658",
+ "altText": null
+ },
+ "selectedOptions": [
+ {
+ "name": "Size",
+ "value": "small"
+ }
+ ]
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoyOTEwNjA2NDU4NH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjA2NDU4NA==",
+ "title": "large",
+ "price": "0.00",
+ "weight": 0,
+ "image": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc4NTk3MjA=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/23695_pets_vertical_store_dogs_small_tile_8._CB312176604.jpg?v=1490363658",
+ "altText": null
+ },
+ "selectedOptions": [
+ {
+ "name": "Size",
+ "value": "large"
+ }
+ ]
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoyOTEwNjA2NDY0OH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjA2NDY0OA==",
+ "title": "very large",
+ "price": "0.00",
+ "weight": 0,
+ "image": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk4OTI4MjkzODQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/original.jpg?v=1490363713",
+ "altText": null
+ },
+ "selectedOptions": [
+ {
+ "name": "Size",
+ "value": "very large"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+};
diff --git a/fixtures/query-collections-with-products-fixture.js b/fixtures/query-collections-with-products-fixture.js
new file mode 100644
index 000000000..1bbfafa3a
--- /dev/null
+++ b/fixtures/query-collections-with-products-fixture.js
@@ -0,0 +1,413 @@
+export default {
+ "data": {
+ "collections": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjozNjkzMTI1ODQsImxhc3RfdmFsdWUiOiIzNjkzMTI1ODQifQ==",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Db2xsZWN0aW9uLzM2OTMxMjU4NA==",
+ "handle": "frontpage",
+ "description": "",
+ "descriptionHtml": "",
+ "updatedAt": "2017-03-29T15:30:02Z",
+ "title": "Cat Collection",
+ "image": null,
+ "products": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjo3ODU3OTg5Mzg0LCJsYXN0X3ZhbHVlIjoiNzg1Nzk4OTM4NCJ9",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "createdAt": "2016-09-25T21:31:33Z",
+ "updatedAt": "2017-03-29T15:25:32Z",
+ "descriptionHtml": "send me this cat",
+ "description": "send me this cat",
+ "handle": "cat",
+ "productType": "cat",
+ "title": "Cat",
+ "vendor": "sendmecats",
+ "publishedAt": "2017-01-12T19:44:42Z",
+ "options": [
+ {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzk0MTcwMDQ4MDg=",
+ "name": "Fur",
+ "values": [
+ "Fluffy",
+ "Extra Fluffy",
+ "Mega Fluff"
+ ]
+ },
+ {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzEwNzE0MDc4NTM2",
+ "name": "Size",
+ "values": [
+ "Medium",
+ "Small",
+ "Large"
+ ]
+ }
+ ],
+ "images": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoxNjMwNjgxMjY4MH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTYzMDY4MTI2ODA=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat.jpg?v=1489515038",
+ "altText": "fettucine"
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoxODIxNzc4NzU5Mn0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc3ODc1OTI=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat2.jpeg?v=1489515038",
+ "altText": null
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoxODIxNzc5MDY2NH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc3OTA2NjQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat3.jpeg?v=1489515038",
+ "altText": null
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoxOTYxNjczNjg0MH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk2MTY3MzY4NDA=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/maxresdefault.jpg?v=1489515047",
+ "altText": null
+ }
+ }
+ ]
+ },
+ "variants": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNTk3Nn0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yNTYwMjIzNTk3Ng==",
+ "title": "Fluffy / Medium",
+ "price": "0.00",
+ "weight": 18,
+ "image": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk2MTY3MzY4NDA=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/maxresdefault.jpg?v=1489515047",
+ "altText": null
+ },
+ "selectedOptions": [
+ {
+ "name": "Fur",
+ "value": "Fluffy"
+ },
+ {
+ "name": "Size",
+ "value": "Medium"
+ }
+ ]
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNjA0MH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yNTYwMjIzNjA0MA==",
+ "title": "Extra Fluffy / Small",
+ "price": "0.00",
+ "weight": 18,
+ "image": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc3ODc1OTI=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat2.jpeg?v=1489515038",
+ "altText": null
+ },
+ "selectedOptions": [
+ {
+ "name": "Fur",
+ "value": "Extra Fluffy"
+ },
+ {
+ "name": "Size",
+ "value": "Small"
+ }
+ ]
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNjEwNH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yNTYwMjIzNjEwNA==",
+ "title": "Mega Fluff / Large",
+ "price": "0.00",
+ "weight": 0,
+ "image": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc3OTA2NjQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat3.jpeg?v=1489515038",
+ "altText": null
+ },
+ "selectedOptions": [
+ {
+ "name": "Fur",
+ "value": "Mega Fluff"
+ },
+ {
+ "name": "Size",
+ "value": "Large"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjo4NjMxNzQ5NTc2LCJsYXN0X3ZhbHVlIjoiODYzMTc0OTU3NiJ9",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzg2MzE3NDk1NzY=",
+ "createdAt": "2017-02-03T18:52:27Z",
+ "updatedAt": "2017-03-30T18:27:00Z",
+ "descriptionHtml": "alternative cat",
+ "description": "alternative cat",
+ "handle": "cat-2",
+ "productType": "cat",
+ "title": "Cat 2",
+ "vendor": "sendmecats",
+ "publishedAt": "2017-02-03T18:52:27Z",
+ "options": [
+ {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzEwMzczNzYwMzky",
+ "name": "Title",
+ "values": [
+ "Default Title"
+ ]
+ }
+ ],
+ "images": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoyMDE0MzA0MTg2NH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjAxNDMwNDE4NjQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/image.dots.morethings.jpg?v=1490898420",
+ "altText": null
+ }
+ }
+ ]
+ },
+ "variants": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoyOTkzNzExMjEzNn0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTkzNzExMjEzNg==",
+ "title": "Default Title",
+ "price": "0.00",
+ "weight": 0,
+ "image": null,
+ "selectedOptions": [
+ {
+ "name": "Title",
+ "value": "Default Title"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjo0MTMwOTQ0NzIsImxhc3RfdmFsdWUiOiI0MTMwOTQ0NzIifQ==",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Db2xsZWN0aW9uLzQxMzA5NDQ3Mg==",
+ "handle": "test",
+ "description": "",
+ "descriptionHtml": "",
+ "updatedAt": "2017-03-29T15:30:02Z",
+ "title": "Test",
+ "image": null,
+ "products": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjo4NTMwMDMzNTQ0LCJsYXN0X3ZhbHVlIjoiODUzMDAzMzU0NCJ9",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzg1MzAwMzM1NDQ=",
+ "createdAt": "2017-01-16T15:43:38Z",
+ "updatedAt": "2017-04-06T17:30:25Z",
+ "descriptionHtml": "do not send",
+ "description": "do not send",
+ "handle": "not-cat",
+ "productType": "really not cat",
+ "title": "Not Cat",
+ "vendor": "sendmecats",
+ "publishedAt": "2017-01-16T15:43:38Z",
+ "options": [
+ {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzEwMjQ0MzE1MjA4",
+ "name": "Size",
+ "values": [
+ "small",
+ "large",
+ "very large"
+ ]
+ }
+ ],
+ "images": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoxODIxNzgxOTQwMH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc4MTk0MDA=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/notcat.jpeg?v=1490363658",
+ "altText": null
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoxODIxNzg0NzYyNH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc4NDc2MjQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/hqdefault.jpg?v=1490363658",
+ "altText": null
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoxODIxNzg1OTcyMH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc4NTk3MjA=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/23695_pets_vertical_store_dogs_small_tile_8._CB312176604.jpg?v=1490363658",
+ "altText": null
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoxOTg5Mjc4MzU2MH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk4OTI3ODM1NjA=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/054cca77f1be90654f4f70db263a3822.jpg?v=1490363658",
+ "altText": null
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoxOTg5MjgyOTM4NH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk4OTI4MjkzODQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/original.jpg?v=1490363713",
+ "altText": null
+ }
+ }
+ ]
+ },
+ "variants": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoyOTEwNjAyMjc5Mn0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==",
+ "title": "small",
+ "price": "0.00",
+ "weight": 0,
+ "image": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk4OTI3ODM1NjA=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/054cca77f1be90654f4f70db263a3822.jpg?v=1490363658",
+ "altText": null
+ },
+ "selectedOptions": [
+ {
+ "name": "Size",
+ "value": "small"
+ }
+ ]
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoyOTEwNjA2NDU4NH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjA2NDU4NA==",
+ "title": "large",
+ "price": "0.00",
+ "weight": 0,
+ "image": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc4NTk3MjA=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/23695_pets_vertical_store_dogs_small_tile_8._CB312176604.jpg?v=1490363658",
+ "altText": null
+ },
+ "selectedOptions": [
+ {
+ "name": "Size",
+ "value": "large"
+ }
+ ]
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoyOTEwNjA2NDY0OH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjA2NDY0OA==",
+ "title": "very large",
+ "price": "0.00",
+ "weight": 0,
+ "image": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk4OTI4MjkzODQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/original.jpg?v=1490363713",
+ "altText": null
+ },
+ "selectedOptions": [
+ {
+ "name": "Size",
+ "value": "very large"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+};
diff --git a/fixtures/query-product-fixture.js b/fixtures/query-product-fixture.js
deleted file mode 100644
index cc51856ee..000000000
--- a/fixtures/query-product-fixture.js
+++ /dev/null
@@ -1,24 +0,0 @@
-export default {
- "data": {
- "shop": {
- "products": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjo3ODU3OTg5Mzg0LCJsYXN0X3ZhbHVlIjoiNzg1Nzk4OTM4NCJ9",
- "node": {
- "id": "Z2lkOi8v9Qcm9kdWN0VmFyaWFudC8yOTEwNjA2NDU4NA==",
- "updatedAt": "2017-02-17T19:56:02Z",
- "createdAt": "2016-09-25T21:31:33Z",
- "productType": "dog",
- "title": "Cat"
- }
- }
- ]
- }
- }
- }
-};
diff --git a/fixtures/query-products-fixture.js b/fixtures/query-products-fixture.js
new file mode 100644
index 000000000..1cdb8b4c6
--- /dev/null
+++ b/fixtures/query-products-fixture.js
@@ -0,0 +1,245 @@
+export default {
+ "data": {
+ "products": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjo3ODU3OTg5Mzg0LCJsYXN0X3ZhbHVlIjoiNzg1Nzk4OTM4NCJ9",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "createdAt": "2016-09-25T21:31:33Z",
+ "updatedAt": "2017-01-16T15:42:21Z",
+ "descriptionHtml": "send me this cat",
+ "description": "do not send",
+ "handle": "cat",
+ "productType": "",
+ "title": "Cat",
+ "vendor": "sendmecats",
+ "publishedAt": "2016-09-25T21:29:00Z",
+ "options": [
+ {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "name": "Fur",
+ "values": [
+ "Fluffy",
+ "Extra Fluffy",
+ "Mega Fluff"
+ ]
+ }
+ ],
+ "images": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoxNjMwNjgxMjY4MH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat.jpg?v=1474839096",
+ "altText": null
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoxODIxNzc4NzU5Mn0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat2.jpeg?v=1484581332",
+ "altText": null
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoxODIxNzc5MDY2NH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat3.jpeg?v=1484581340",
+ "altText": null
+ }
+ }
+ ]
+ },
+ "variants": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNTk3Nn0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "title": "Fluffy",
+ "price": "0.00",
+ "weight": 18,
+ "image": null,
+ "selectedOptions": [
+ {
+ "name": "Fur",
+ "value": "Fluffy"
+ }
+ ]
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNjA0MH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "title": "Extra Fluffy",
+ "price": "0.00",
+ "weight": 18,
+ "image": null,
+ "selectedOptions": [
+ {
+ "name": "Fur",
+ "value": "Extra Fluffy"
+ }
+ ]
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNjEwNH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "title": "Mega Fluff",
+ "price": "0.00",
+ "weight": 0,
+ "image": null,
+ "selectedOptions": [
+ {
+ "name": "Fur",
+ "value": "Mega Fluff"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjo4NTMwMDMzNTQ0LCJsYXN0X3ZhbHVlIjoiODUzMDAzMzU0NCJ9",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "createdAt": "2017-01-16T15:43:38Z",
+ "updatedAt": "2017-01-16T15:46:08Z",
+ "descriptionHtml": "do not send",
+ "description": "do not send",
+ "handle": "not-cat",
+ "productType": "",
+ "title": "Not Cat",
+ "vendor": "sendmecats",
+ "publishedAt": "2017-01-16T15:42:00Z",
+ "options": [
+ {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "name": "Size",
+ "values": [
+ "small",
+ "large",
+ "very large"
+ ]
+ }
+ ],
+ "images": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoxODIxNzgxOTQwMH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/notcat.jpeg?v=1484581419",
+ "altText": null
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoxODIxNzg0NzYyNH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/hqdefault.jpg?v=1484581502",
+ "altText": null
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoxODIxNzg1OTcyMH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/23695_pets_vertical_store_dogs_small_tile_8._CB312176604.jpg?v=1484581539",
+ "altText": null
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoxODIxNzg2ODQ4OH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/images.jpg?v=1484581568",
+ "altText": null
+ }
+ }
+ ]
+ },
+ "variants": {
+ "pageInfo": {
+ "hasNextPage": false,
+ "hasPreviousPage": false
+ },
+ "edges": [
+ {
+ "cursor": "eyJsYXN0X2lkIjoyOTEwNjAyMjc5Mn0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "title": "small",
+ "price": "0.00",
+ "weight": 0,
+ "selectedOptions": [
+ {
+ "name": "Size",
+ "value": "small"
+ }
+ ]
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoyOTEwNjA2NDU4NH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "title": "large",
+ "price": "0.00",
+ "weight": 0,
+ "selectedOptions": [
+ {
+ "name": "Size",
+ "value": "large"
+ }
+ ]
+ }
+ },
+ {
+ "cursor": "eyJsYXN0X2lkIjoyOTEwNjA2NDY0OH0=",
+ "node": {
+ "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
+ "title": "very large",
+ "price": "0.00",
+ "weight": 0,
+ "selectedOptions": [
+ {
+ "name": "Size",
+ "value": "very large"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+};
diff --git a/fixtures/shop-with-collections-fixture.js b/fixtures/shop-with-collections-fixture.js
deleted file mode 100644
index 1423d6023..000000000
--- a/fixtures/shop-with-collections-fixture.js
+++ /dev/null
@@ -1,34 +0,0 @@
-export default {
- "data": {
- "shop": {
- "collections": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjozNjkzMTI1ODQsImxhc3RfdmFsdWUiOiIzNjkzMTI1ODQifQ==",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "handle": "frontpage",
- "updatedAt": "2017-01-16T15:49:34Z",
- "title": "Cat Collection",
- "image": null
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjo0MTMwOTQ0NzIsImxhc3RfdmFsdWUiOiI0MTMwOTQ0NzIifQ==",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzg1MzAwMzM1NDQ=",
- "handle": "test",
- "updatedAt": "2017-01-16T15:51:51Z",
- "title": "Test",
- "image": null
- }
- }
- ]
- }
- }
- }
-};
diff --git a/fixtures/shop-with-collections-with-pagination-fixture.js b/fixtures/shop-with-collections-with-pagination-fixture.js
deleted file mode 100644
index 47cc3fd3c..000000000
--- a/fixtures/shop-with-collections-with-pagination-fixture.js
+++ /dev/null
@@ -1,366 +0,0 @@
-export default {
- "data": {
- "shop": {
- "collections": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjozNjkzMTI1ODQsImxhc3RfdmFsdWUiOiIzNjkzMTI1ODQifQ==",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Db2xsZWN0aW9uLzM2OTMxMjU4NA==",
- "handle": "frontpage",
- "description": "",
- "descriptionHtml": "",
- "updatedAt": "2017-03-29T15:30:02Z",
- "title": "Cat Collection",
- "image": null,
- "products": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjo3ODU3OTg5Mzg0LCJsYXN0X3ZhbHVlIjoiNzg1Nzk4OTM4NCJ9",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "createdAt": "2016-09-25T21:31:33Z",
- "updatedAt": "2017-03-29T15:25:32Z",
- "descriptionHtml": "send me this cat",
- "description": "send me this cat",
- "handle": "cat",
- "productType": "cat",
- "title": "Cat",
- "vendor": "sendmecats",
- "tags": [
- "vintage"
- ],
- "publishedAt": "2017-01-12T19:44:42Z",
- "options": [
- {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzk0MTcwMDQ4MDg=",
- "name": "Fur",
- "values": [
- "Fluffy",
- "Extra Fluffy",
- "Mega Fluff"
- ]
- },
- {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzEwNzE0MDc4NTM2",
- "name": "Size",
- "values": [
- "Medium",
- "Small",
- "Large"
- ]
- }
- ],
- "images": {
- "pageInfo": {
- "hasNextPage": true,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoxNjMwNjgxMjY4MH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTYzMDY4MTI2ODA=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat.jpg?v=1489515038",
- "altText": "fettucine"
- }
- }
- ]
- },
- "variants": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNTk3Nn0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yNTYwMjIzNTk3Ng==",
- "title": "Fluffy / Medium",
- "price": "0.00",
- "weight": 18,
- "image": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk2MTY3MzY4NDA=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/maxresdefault.jpg?v=1489515047",
- "altText": null
- },
- "selectedOptions": [
- {
- "name": "Fur",
- "value": "Fluffy"
- },
- {
- "name": "Size",
- "value": "Medium"
- }
- ]
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNjA0MH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yNTYwMjIzNjA0MA==",
- "title": "Extra Fluffy / Small",
- "price": "0.00",
- "weight": 18,
- "image": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc3ODc1OTI=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat2.jpeg?v=1489515038",
- "altText": null
- },
- "selectedOptions": [
- {
- "name": "Fur",
- "value": "Extra Fluffy"
- },
- {
- "name": "Size",
- "value": "Small"
- }
- ]
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNjEwNH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yNTYwMjIzNjEwNA==",
- "title": "Mega Fluff / Large",
- "price": "0.00",
- "weight": 0,
- "image": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc3OTA2NjQ=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat3.jpeg?v=1489515038",
- "altText": null
- },
- "selectedOptions": [
- {
- "name": "Fur",
- "value": "Mega Fluff"
- },
- {
- "name": "Size",
- "value": "Large"
- }
- ]
- }
- }
- ]
- }
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjo4NjMxNzQ5NTc2LCJsYXN0X3ZhbHVlIjoiODYzMTc0OTU3NiJ9",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzg2MzE3NDk1NzY=",
- "createdAt": "2017-02-03T18:52:27Z",
- "updatedAt": "2017-03-30T18:27:00Z",
- "descriptionHtml": "alternative cat",
- "description": "alternative cat",
- "handle": "cat-2",
- "productType": "cat",
- "title": "Cat 2",
- "vendor": "sendmecats",
- "tags": [
- "fluffy"
- ],
- "publishedAt": "2017-02-03T18:52:27Z",
- "options": [
- {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzEwMzczNzYwMzky",
- "name": "Title",
- "values": [
- "Default Title"
- ]
- }
- ],
- "images": {
- "pageInfo": {
- "hasNextPage": true,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoyMDE0MzA0MTg2NH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjAxNDMwNDE4NjQ=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/image.dots.morethings.jpg?v=1490898420",
- "altText": null
- }
- }
- ]
- },
- "variants": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoyOTkzNzExMjEzNn0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTkzNzExMjEzNg==",
- "title": "Default Title",
- "price": "0.00",
- "weight": 0,
- "image": null,
- "selectedOptions": [
- {
- "name": "Title",
- "value": "Default Title"
- }
- ]
- }
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjo0MTMwOTQ0NzIsImxhc3RfdmFsdWUiOiI0MTMwOTQ0NzIifQ==",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Db2xsZWN0aW9uLzQxMzA5NDQ3Mg==",
- "handle": "test",
- "description": "",
- "descriptionHtml": "",
- "updatedAt": "2017-03-29T15:30:02Z",
- "title": "Test",
- "image": null,
- "products": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjo4NTMwMDMzNTQ0LCJsYXN0X3ZhbHVlIjoiODUzMDAzMzU0NCJ9",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzg1MzAwMzM1NDQ=",
- "createdAt": "2017-01-16T15:43:38Z",
- "updatedAt": "2017-04-06T17:30:25Z",
- "descriptionHtml": "do not send",
- "description": "do not send",
- "handle": "not-cat",
- "productType": "really not cat",
- "title": "Not Cat",
- "vendor": "sendmecats",
- "tags": [],
- "publishedAt": "2017-01-16T15:43:38Z",
- "options": [
- {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzEwMjQ0MzE1MjA4",
- "name": "Size",
- "values": [
- "small",
- "large",
- "very large"
- ]
- }
- ],
- "images": {
- "pageInfo": {
- "hasNextPage": true,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoxODIxNzgxOTQwMH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc4MTk0MDA=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/notcat.jpeg?v=1490363658",
- "altText": null
- }
- }
- ]
- },
- "variants": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoyOTEwNjAyMjc5Mn0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==",
- "title": "small",
- "price": "0.00",
- "weight": 0,
- "image": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk4OTI3ODM1NjA=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/054cca77f1be90654f4f70db263a3822.jpg?v=1490363658",
- "altText": null
- },
- "selectedOptions": [
- {
- "name": "Size",
- "value": "small"
- }
- ]
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoyOTEwNjA2NDU4NH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjA2NDU4NA==",
- "title": "large",
- "price": "0.00",
- "weight": 0,
- "image": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc4NTk3MjA=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/23695_pets_vertical_store_dogs_small_tile_8._CB312176604.jpg?v=1490363658",
- "altText": null
- },
- "selectedOptions": [
- {
- "name": "Size",
- "value": "large"
- }
- ]
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoyOTEwNjA2NDY0OH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjA2NDY0OA==",
- "title": "very large",
- "price": "0.00",
- "weight": 0,
- "image": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk4OTI4MjkzODQ=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/original.jpg?v=1490363713",
- "altText": null
- },
- "selectedOptions": [
- {
- "name": "Size",
- "value": "very large"
- }
- ]
- }
- }
- ]
- }
- }
- }
- ]
- }
- }
- }
- ]
- }
- }
- }
-};
diff --git a/fixtures/shop-with-collections-with-products-fixture.js b/fixtures/shop-with-collections-with-products-fixture.js
deleted file mode 100644
index cee1fb7ac..000000000
--- a/fixtures/shop-with-collections-with-products-fixture.js
+++ /dev/null
@@ -1,422 +0,0 @@
-export default {
- "data": {
- "shop": {
- "collections": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjozNjkzMTI1ODQsImxhc3RfdmFsdWUiOiIzNjkzMTI1ODQifQ==",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Db2xsZWN0aW9uLzM2OTMxMjU4NA==",
- "handle": "frontpage",
- "description": "",
- "descriptionHtml": "",
- "updatedAt": "2017-03-29T15:30:02Z",
- "title": "Cat Collection",
- "image": null,
- "products": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjo3ODU3OTg5Mzg0LCJsYXN0X3ZhbHVlIjoiNzg1Nzk4OTM4NCJ9",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "createdAt": "2016-09-25T21:31:33Z",
- "updatedAt": "2017-03-29T15:25:32Z",
- "descriptionHtml": "send me this cat",
- "description": "send me this cat",
- "handle": "cat",
- "productType": "cat",
- "title": "Cat",
- "vendor": "sendmecats",
- "tags": [
- "vintage"
- ],
- "publishedAt": "2017-01-12T19:44:42Z",
- "options": [
- {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzk0MTcwMDQ4MDg=",
- "name": "Fur",
- "values": [
- "Fluffy",
- "Extra Fluffy",
- "Mega Fluff"
- ]
- },
- {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzEwNzE0MDc4NTM2",
- "name": "Size",
- "values": [
- "Medium",
- "Small",
- "Large"
- ]
- }
- ],
- "images": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoxNjMwNjgxMjY4MH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTYzMDY4MTI2ODA=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat.jpg?v=1489515038",
- "altText": "fettucine"
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoxODIxNzc4NzU5Mn0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc3ODc1OTI=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat2.jpeg?v=1489515038",
- "altText": null
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoxODIxNzc5MDY2NH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc3OTA2NjQ=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat3.jpeg?v=1489515038",
- "altText": null
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoxOTYxNjczNjg0MH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk2MTY3MzY4NDA=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/maxresdefault.jpg?v=1489515047",
- "altText": null
- }
- }
- ]
- },
- "variants": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNTk3Nn0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yNTYwMjIzNTk3Ng==",
- "title": "Fluffy / Medium",
- "price": "0.00",
- "weight": 18,
- "image": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk2MTY3MzY4NDA=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/maxresdefault.jpg?v=1489515047",
- "altText": null
- },
- "selectedOptions": [
- {
- "name": "Fur",
- "value": "Fluffy"
- },
- {
- "name": "Size",
- "value": "Medium"
- }
- ]
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNjA0MH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yNTYwMjIzNjA0MA==",
- "title": "Extra Fluffy / Small",
- "price": "0.00",
- "weight": 18,
- "image": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc3ODc1OTI=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat2.jpeg?v=1489515038",
- "altText": null
- },
- "selectedOptions": [
- {
- "name": "Fur",
- "value": "Extra Fluffy"
- },
- {
- "name": "Size",
- "value": "Small"
- }
- ]
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNjEwNH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yNTYwMjIzNjEwNA==",
- "title": "Mega Fluff / Large",
- "price": "0.00",
- "weight": 0,
- "image": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc3OTA2NjQ=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat3.jpeg?v=1489515038",
- "altText": null
- },
- "selectedOptions": [
- {
- "name": "Fur",
- "value": "Mega Fluff"
- },
- {
- "name": "Size",
- "value": "Large"
- }
- ]
- }
- }
- ]
- }
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjo4NjMxNzQ5NTc2LCJsYXN0X3ZhbHVlIjoiODYzMTc0OTU3NiJ9",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzg2MzE3NDk1NzY=",
- "createdAt": "2017-02-03T18:52:27Z",
- "updatedAt": "2017-03-30T18:27:00Z",
- "descriptionHtml": "alternative cat",
- "description": "alternative cat",
- "handle": "cat-2",
- "productType": "cat",
- "title": "Cat 2",
- "vendor": "sendmecats",
- "tags": [
- "fluffy"
- ],
- "publishedAt": "2017-02-03T18:52:27Z",
- "options": [
- {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzEwMzczNzYwMzky",
- "name": "Title",
- "values": [
- "Default Title"
- ]
- }
- ],
- "images": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoyMDE0MzA0MTg2NH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMjAxNDMwNDE4NjQ=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/image.dots.morethings.jpg?v=1490898420",
- "altText": null
- }
- }
- ]
- },
- "variants": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoyOTkzNzExMjEzNn0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTkzNzExMjEzNg==",
- "title": "Default Title",
- "price": "0.00",
- "weight": 0,
- "image": null,
- "selectedOptions": [
- {
- "name": "Title",
- "value": "Default Title"
- }
- ]
- }
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjo0MTMwOTQ0NzIsImxhc3RfdmFsdWUiOiI0MTMwOTQ0NzIifQ==",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Db2xsZWN0aW9uLzQxMzA5NDQ3Mg==",
- "handle": "test",
- "description": "",
- "descriptionHtml": "",
- "updatedAt": "2017-03-29T15:30:02Z",
- "title": "Test",
- "image": null,
- "products": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjo4NTMwMDMzNTQ0LCJsYXN0X3ZhbHVlIjoiODUzMDAzMzU0NCJ9",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzg1MzAwMzM1NDQ=",
- "createdAt": "2017-01-16T15:43:38Z",
- "updatedAt": "2017-04-06T17:30:25Z",
- "descriptionHtml": "do not send",
- "description": "do not send",
- "handle": "not-cat",
- "productType": "really not cat",
- "title": "Not Cat",
- "vendor": "sendmecats",
- "tags": [],
- "publishedAt": "2017-01-16T15:43:38Z",
- "options": [
- {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0T3B0aW9uLzEwMjQ0MzE1MjA4",
- "name": "Size",
- "values": [
- "small",
- "large",
- "very large"
- ]
- }
- ],
- "images": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoxODIxNzgxOTQwMH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc4MTk0MDA=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/notcat.jpeg?v=1490363658",
- "altText": null
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoxODIxNzg0NzYyNH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc4NDc2MjQ=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/hqdefault.jpg?v=1490363658",
- "altText": null
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoxODIxNzg1OTcyMH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc4NTk3MjA=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/23695_pets_vertical_store_dogs_small_tile_8._CB312176604.jpg?v=1490363658",
- "altText": null
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoxOTg5Mjc4MzU2MH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk4OTI3ODM1NjA=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/054cca77f1be90654f4f70db263a3822.jpg?v=1490363658",
- "altText": null
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoxOTg5MjgyOTM4NH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk4OTI4MjkzODQ=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/original.jpg?v=1490363713",
- "altText": null
- }
- }
- ]
- },
- "variants": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoyOTEwNjAyMjc5Mn0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==",
- "title": "small",
- "price": "0.00",
- "weight": 0,
- "image": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk4OTI3ODM1NjA=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/054cca77f1be90654f4f70db263a3822.jpg?v=1490363658",
- "altText": null
- },
- "selectedOptions": [
- {
- "name": "Size",
- "value": "small"
- }
- ]
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoyOTEwNjA2NDU4NH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjA2NDU4NA==",
- "title": "large",
- "price": "0.00",
- "weight": 0,
- "image": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTgyMTc4NTk3MjA=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/23695_pets_vertical_store_dogs_small_tile_8._CB312176604.jpg?v=1490363658",
- "altText": null
- },
- "selectedOptions": [
- {
- "name": "Size",
- "value": "large"
- }
- ]
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoyOTEwNjA2NDY0OH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjA2NDY0OA==",
- "title": "very large",
- "price": "0.00",
- "weight": 0,
- "image": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0SW1hZ2UvMTk4OTI4MjkzODQ=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/original.jpg?v=1490363713",
- "altText": null
- },
- "selectedOptions": [
- {
- "name": "Size",
- "value": "very large"
- }
- ]
- }
- }
- ]
- }
- }
- }
- ]
- }
- }
- }
- ]
- }
- }
- }
-};
diff --git a/fixtures/shop-with-products-fixture.js b/fixtures/shop-with-products-fixture.js
deleted file mode 100644
index 02e109c23..000000000
--- a/fixtures/shop-with-products-fixture.js
+++ /dev/null
@@ -1,249 +0,0 @@
-export default {
- "data": {
- "shop": {
- "products": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjo3ODU3OTg5Mzg0LCJsYXN0X3ZhbHVlIjoiNzg1Nzk4OTM4NCJ9",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "createdAt": "2016-09-25T21:31:33Z",
- "updatedAt": "2017-01-16T15:42:21Z",
- "descriptionHtml": "send me this cat",
- "description": "do not send",
- "handle": "cat",
- "productType": "",
- "title": "Cat",
- "vendor": "sendmecats",
- "tags": [],
- "publishedAt": "2016-09-25T21:29:00Z",
- "options": [
- {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "name": "Fur",
- "values": [
- "Fluffy",
- "Extra Fluffy",
- "Mega Fluff"
- ]
- }
- ],
- "images": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoxNjMwNjgxMjY4MH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat.jpg?v=1474839096",
- "altText": null
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoxODIxNzc4NzU5Mn0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat2.jpeg?v=1484581332",
- "altText": null
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoxODIxNzc5MDY2NH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/cat3.jpeg?v=1484581340",
- "altText": null
- }
- }
- ]
- },
- "variants": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNTk3Nn0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "title": "Fluffy",
- "price": "0.00",
- "weight": 18,
- "image": null,
- "selectedOptions": [
- {
- "name": "Fur",
- "value": "Fluffy"
- }
- ]
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNjA0MH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "title": "Extra Fluffy",
- "price": "0.00",
- "weight": 18,
- "image": null,
- "selectedOptions": [
- {
- "name": "Fur",
- "value": "Extra Fluffy"
- }
- ]
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoyNTYwMjIzNjEwNH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "title": "Mega Fluff",
- "price": "0.00",
- "weight": 0,
- "image": null,
- "selectedOptions": [
- {
- "name": "Fur",
- "value": "Mega Fluff"
- }
- ]
- }
- }
- ]
- }
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjo4NTMwMDMzNTQ0LCJsYXN0X3ZhbHVlIjoiODUzMDAzMzU0NCJ9",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "createdAt": "2017-01-16T15:43:38Z",
- "updatedAt": "2017-01-16T15:46:08Z",
- "descriptionHtml": "do not send",
- "description": "do not send",
- "handle": "not-cat",
- "productType": "",
- "title": "Not Cat",
- "vendor": "sendmecats",
- "tags": [],
- "publishedAt": "2017-01-16T15:42:00Z",
- "options": [
- {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "name": "Size",
- "values": [
- "small",
- "large",
- "very large"
- ]
- }
- ],
- "images": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoxODIxNzgxOTQwMH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/notcat.jpeg?v=1484581419",
- "altText": null
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoxODIxNzg0NzYyNH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/hqdefault.jpg?v=1484581502",
- "altText": null
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoxODIxNzg1OTcyMH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/23695_pets_vertical_store_dogs_small_tile_8._CB312176604.jpg?v=1484581539",
- "altText": null
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoxODIxNzg2ODQ4OH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "src": "https://cdn.shopify.com/s/files/1/1510/7238/products/images.jpg?v=1484581568",
- "altText": null
- }
- }
- ]
- },
- "variants": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjoyOTEwNjAyMjc5Mn0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "title": "small",
- "price": "0.00",
- "weight": 0,
- "selectedOptions": [
- {
- "name": "Size",
- "value": "small"
- }
- ]
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoyOTEwNjA2NDU4NH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "title": "large",
- "price": "0.00",
- "weight": 0,
- "selectedOptions": [
- {
- "name": "Size",
- "value": "large"
- }
- ]
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjoyOTEwNjA2NDY0OH0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "title": "very large",
- "price": "0.00",
- "weight": 0,
- "selectedOptions": [
- {
- "name": "Size",
- "value": "very large"
- }
- ]
- }
- }
- ]
- }
- }
- }
- ]
- }
- }
- }
-};
diff --git a/fixtures/shop-with-sorted-collections-fixture.js b/fixtures/shop-with-sorted-collections-fixture.js
deleted file mode 100644
index 57319455c..000000000
--- a/fixtures/shop-with-sorted-collections-fixture.js
+++ /dev/null
@@ -1,35 +0,0 @@
-export default {
- "data": {
- "shop": {
- "collections": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjozNjkzMTI1ODQsImxhc3RfdmFsDs1iOiJDYXQgQ29sbGVjdGiJ9",
- "node": {
- "id": "Z2lN8vnQv9fhvcGlmeS9Db2xsZWN0aW9uLzM2OvNa98ngA==",
- "title": "ABC Collection"
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjozNjkzMTI1ODQsImxhc3RfdmFsdWUiOiJDYXQgQ29sbGVjdGlvbiJ9",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Db2xsZWN0aW9uLzM2OTMxMjU4NA==",
- "title": "Cat Collection"
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjo0MTMwOTQ0NzIsImxhc3RfdmFsdWUiOiJUZXN0In0=",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Db2xsZWN0aW9uLzQxMzA5NDQ3Mg==",
- "title": "Test"
- }
- }
- ]
- }
- }
- }
-};
diff --git a/fixtures/shop-with-sorted-products-fixture.js b/fixtures/shop-with-sorted-products-fixture.js
deleted file mode 100644
index 2319dd470..000000000
--- a/fixtures/shop-with-sorted-products-fixture.js
+++ /dev/null
@@ -1,35 +0,0 @@
-export default {
- "data": {
- "shop": {
- "products": {
- "pageInfo": {
- "hasNextPage": false,
- "hasPreviousPage": false
- },
- "edges": [
- {
- "cursor": "eyJsYXN0X2lkIjo4NTMwMDMzNTQ0LCJsYXN0X3ZhbHVlIjoiMjAxNy0wNC0wNiAxNzozMDoyNSJ9",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzg1MzAwMzM1NDQ=",
- "updatedAt": "2017-04-06T17:30:25Z"
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjo4NjMxNzQ5NTc2LCJsYXN0X3ZhbHVlIjoiMjAxNy0wMy0zMCAxODoyNzowMCJ9",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzg2MzE3NDk1NzY=",
- "updatedAt": "2017-03-30T18:27:00Z"
- }
- },
- {
- "cursor": "eyJsYXN0X2lkIjo3ODU3OTg5Mzg0LCJsYXN0X3ZhbHVlIjoiMjAxNy0wMy0yOSAxNToyNTozMiJ9",
- "node": {
- "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ=",
- "updatedAt": "2017-03-29T15:25:32Z"
- }
- }
- ]
- }
- }
- }
-};
diff --git a/index.amd.js b/index.amd.js
index d87486e45..7c3b1c3f8 100644
--- a/index.amd.js
+++ b/index.amd.js
@@ -2366,12 +2366,16 @@ function query(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2381,6 +2385,7 @@ function query(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2389,7 +2394,6 @@ function query(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2454,12 +2458,16 @@ function query$1(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2469,6 +2477,7 @@ function query$1(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2477,7 +2486,6 @@ function query$1(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2545,12 +2553,16 @@ function query$2(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2560,6 +2572,7 @@ function query$2(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2568,7 +2581,6 @@ function query$2(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2611,24 +2623,22 @@ function query$2(client) {
});
});
document.addQuery([variables.__defaultOperation__.first, variables.__defaultOperation__.query, variables.__defaultOperation__.sortKey, variables.__defaultOperation__.reverse], function (root) {
- root.add("shop", function (shop) {
- shop.add("products", {
- args: {
- first: variables.__defaultOperation__.first,
- query: variables.__defaultOperation__.query,
- sortKey: variables.__defaultOperation__.sortKey,
- reverse: variables.__defaultOperation__.reverse
- }
- }, function (products) {
- products.add("pageInfo", function (pageInfo) {
- pageInfo.add("hasNextPage");
- pageInfo.add("hasPreviousPage");
- });
- products.add("edges", function (edges) {
- edges.add("cursor");
- edges.add("node", function (node) {
- node.addFragment(spreads.ProductFragment);
- });
+ root.add("products", {
+ args: {
+ first: variables.__defaultOperation__.first,
+ query: variables.__defaultOperation__.query,
+ sortKey: variables.__defaultOperation__.sortKey,
+ reverse: variables.__defaultOperation__.reverse
+ }
+ }, function (products) {
+ products.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ products.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.addFragment(spreads.ProductFragment);
});
});
});
@@ -2647,12 +2657,16 @@ function query$3(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2662,6 +2676,7 @@ function query$3(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2670,7 +2685,6 @@ function query$3(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2713,14 +2727,12 @@ function query$3(client) {
});
});
document.addQuery([variables.__defaultOperation__.handle], function (root) {
- root.add("shop", function (shop) {
- shop.add("productByHandle", {
- args: {
- handle: variables.__defaultOperation__.handle
- }
- }, function (productByHandle) {
- productByHandle.addFragment(spreads.ProductFragment);
- });
+ root.add("productByHandle", {
+ args: {
+ handle: variables.__defaultOperation__.handle
+ }
+ }, function (productByHandle) {
+ productByHandle.addFragment(spreads.ProductFragment);
});
});
return document;
@@ -2758,7 +2770,7 @@ var ProductResource = function (_Resource) {
value: function fetchAll() {
var first = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 20;
- return this.graphQLClient.send(query$2, { first: first }).then(defaultResolver('shop.products')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
+ return this.graphQLClient.send(query$2, { first: first }).then(defaultResolver('products')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
}
/**
@@ -2813,7 +2825,7 @@ var ProductResource = function (_Resource) {
}, {
key: 'fetchByHandle',
value: function fetchByHandle(handle) {
- return this.graphQLClient.send(query$3, { handle: handle }).then(defaultResolver('shop.productByHandle')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
+ return this.graphQLClient.send(query$3, { handle: handle }).then(defaultResolver('productByHandle')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
}
/**
@@ -2849,7 +2861,7 @@ var ProductResource = function (_Resource) {
sortKey: sortKey,
query: query$$1,
reverse: reverse
- }).then(defaultResolver('shop.products')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
+ }).then(defaultResolver('products')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
}
}, {
key: 'helpers',
@@ -2875,7 +2887,9 @@ function query$4(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
@@ -2902,12 +2916,16 @@ function query$5(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2917,6 +2935,7 @@ function query$5(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2925,7 +2944,6 @@ function query$5(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2976,7 +2994,9 @@ function query$5(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
@@ -3029,29 +3049,29 @@ function query$6(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
document.addQuery([variables.__defaultOperation__.first, variables.__defaultOperation__.query, variables.__defaultOperation__.sortKey, variables.__defaultOperation__.reverse], function (root) {
- root.add("shop", function (shop) {
- shop.add("collections", {
- args: {
- first: variables.__defaultOperation__.first,
- query: variables.__defaultOperation__.query,
- sortKey: variables.__defaultOperation__.sortKey,
- reverse: variables.__defaultOperation__.reverse
- }
- }, function (collections) {
- collections.add("pageInfo", function (pageInfo) {
- pageInfo.add("hasNextPage");
- pageInfo.add("hasPreviousPage");
- });
- collections.add("edges", function (edges) {
- edges.add("cursor");
- edges.add("node", function (node) {
- node.addFragment(spreads.CollectionFragment);
- });
+ root.add("collections", {
+ args: {
+ first: variables.__defaultOperation__.first,
+ query: variables.__defaultOperation__.query,
+ sortKey: variables.__defaultOperation__.sortKey,
+ reverse: variables.__defaultOperation__.reverse
+ }
+ }, function (collections) {
+ collections.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ collections.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.addFragment(spreads.CollectionFragment);
});
});
});
@@ -3074,12 +3094,16 @@ function query$7(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3096,12 +3120,15 @@ function query$7(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -3110,7 +3137,6 @@ function query$7(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -3153,37 +3179,35 @@ function query$7(client) {
});
});
document.addQuery([variables.__defaultOperation__.first, variables.__defaultOperation__.query, variables.__defaultOperation__.sortKey, variables.__defaultOperation__.reverse, variables.__defaultOperation__.productsFirst], function (root) {
- root.add("shop", function (shop) {
- shop.add("collections", {
- args: {
- first: variables.__defaultOperation__.first,
- query: variables.__defaultOperation__.query,
- sortKey: variables.__defaultOperation__.sortKey,
- reverse: variables.__defaultOperation__.reverse
- }
- }, function (collections) {
- collections.add("pageInfo", function (pageInfo) {
- pageInfo.add("hasNextPage");
- pageInfo.add("hasPreviousPage");
- });
- collections.add("edges", function (edges) {
- edges.add("cursor");
- edges.add("node", function (node) {
- node.addFragment(spreads.CollectionFragment);
- node.add("products", {
- args: {
- first: variables.__defaultOperation__.productsFirst
- }
- }, function (products) {
- products.add("pageInfo", function (pageInfo) {
- pageInfo.add("hasNextPage");
- pageInfo.add("hasPreviousPage");
- });
- products.add("edges", function (edges) {
- edges.add("cursor");
- edges.add("node", function (node) {
- node.addFragment(spreads.ProductFragment);
- });
+ root.add("collections", {
+ args: {
+ first: variables.__defaultOperation__.first,
+ query: variables.__defaultOperation__.query,
+ sortKey: variables.__defaultOperation__.sortKey,
+ reverse: variables.__defaultOperation__.reverse
+ }
+ }, function (collections) {
+ collections.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ collections.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.addFragment(spreads.CollectionFragment);
+ node.add("products", {
+ args: {
+ first: variables.__defaultOperation__.productsFirst
+ }
+ }, function (products) {
+ products.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ products.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.addFragment(spreads.ProductFragment);
});
});
});
@@ -3205,12 +3229,16 @@ function query$8(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3220,6 +3248,7 @@ function query$8(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -3228,7 +3257,6 @@ function query$8(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -3279,7 +3307,9 @@ function query$8(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
@@ -3302,15 +3332,13 @@ function query$8(client) {
});
});
document.addQuery([variables.__defaultOperation__.handle], function (root) {
- root.add("shop", function (shop) {
- shop.add("collectionByHandle", {
- args: {
- handle: variables.__defaultOperation__.handle
- }
- }, function (collectionByHandle) {
- collectionByHandle.addFragment(spreads.CollectionFragment);
- collectionByHandle.addFragment(spreads.CollectionsProductsFragment);
- });
+ root.add("collectionByHandle", {
+ args: {
+ handle: variables.__defaultOperation__.handle
+ }
+ }, function (collectionByHandle) {
+ collectionByHandle.addFragment(spreads.CollectionFragment);
+ collectionByHandle.addFragment(spreads.CollectionsProductsFragment);
});
});
return document;
@@ -3348,7 +3376,7 @@ var CollectionResource = function (_Resource) {
value: function fetchAll() {
var first = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 20;
- return this.graphQLClient.send(query$6, { first: first }).then(defaultResolver('shop.collections'));
+ return this.graphQLClient.send(query$6, { first: first }).then(defaultResolver('collections'));
}
/**
@@ -3371,7 +3399,7 @@ var CollectionResource = function (_Resource) {
_ref$productsFirst = _ref.productsFirst,
productsFirst = _ref$productsFirst === undefined ? 20 : _ref$productsFirst;
- return this.graphQLClient.send(query$7, { first: first, productsFirst: productsFirst }).then(defaultResolver('shop.collections')).then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));
+ return this.graphQLClient.send(query$7, { first: first, productsFirst: productsFirst }).then(defaultResolver('collections')).then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));
}
/**
@@ -3426,7 +3454,7 @@ var CollectionResource = function (_Resource) {
}, {
key: 'fetchByHandle',
value: function fetchByHandle(handle) {
- return this.graphQLClient.send(query$8, { handle: handle }).then(defaultResolver('shop.collectionByHandle'));
+ return this.graphQLClient.send(query$8, { handle: handle }).then(defaultResolver('collectionByHandle'));
}
/**
@@ -3462,7 +3490,7 @@ var CollectionResource = function (_Resource) {
sortKey: sortKey,
query: query,
reverse: reverse
- }).then(defaultResolver('shop.collections'));
+ }).then(defaultResolver('collections'));
}
}]);
return CollectionResource;
@@ -3587,6 +3615,10 @@ function handleCheckoutMutation(mutationRootKey, client) {
return Promise.reject(new Error(JSON.stringify(errors)));
}
+ if (rootData && rootData.checkoutUserErrors && rootData.checkoutUserErrors.length) {
+ return Promise.reject(new Error(JSON.stringify(rootData.checkoutUserErrors)));
+ }
+
if (rootData && rootData.userErrors && rootData.userErrors.length) {
return Promise.reject(new Error(JSON.stringify(rootData.userErrors)));
}
@@ -3606,12 +3638,16 @@ function query$11(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3619,6 +3655,25 @@ function query$11(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -3641,7 +3696,9 @@ function query$11(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -3669,6 +3726,22 @@ function query$11(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -3742,6 +3815,15 @@ function query$11(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
@@ -3769,12 +3851,16 @@ function query$12(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3932,12 +4018,16 @@ function query$13(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3945,6 +4035,25 @@ function query$13(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -3955,6 +4064,11 @@ function query$13(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -3971,7 +4085,9 @@ function query$13(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -3999,6 +4115,22 @@ function query$13(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4072,6 +4204,15 @@ function query$13(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
@@ -4085,6 +4226,9 @@ function query$13(client) {
checkoutCreate.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
+ checkoutCreate.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
checkoutCreate.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
@@ -4105,12 +4249,16 @@ function query$14(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4118,6 +4266,25 @@ function query$14(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4144,7 +4311,9 @@ function query$14(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4172,6 +4341,22 @@ function query$14(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4245,6 +4430,15 @@ function query$14(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
@@ -4279,12 +4473,16 @@ function query$15(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4292,6 +4490,25 @@ function query$15(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4318,7 +4535,9 @@ function query$15(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4346,6 +4565,22 @@ function query$15(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4419,6 +4654,15 @@ function query$15(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
@@ -4447,18 +4691,22 @@ function query$16(client) {
var variables = {};
variables.__defaultOperation__ = {};
variables.__defaultOperation__.checkoutId = client.variable("checkoutId", "ID!");
- variables.__defaultOperation__.lineItems = client.variable("lineItems", "[CheckoutLineItemUpdateInput!]!");
+ variables.__defaultOperation__.lineItems = client.variable("lineItems", "[CheckoutLineItemInput!]!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4466,6 +4714,25 @@ function query$16(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4492,7 +4759,9 @@ function query$16(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4520,6 +4789,22 @@ function query$16(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4593,21 +4878,30 @@ function query$16(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
document.addMutation([variables.__defaultOperation__.checkoutId, variables.__defaultOperation__.lineItems], function (root) {
- root.add("checkoutLineItemsUpdate", {
+ root.add("checkoutLineItemsReplace", {
args: {
checkoutId: variables.__defaultOperation__.checkoutId,
lineItems: variables.__defaultOperation__.lineItems
}
- }, function (checkoutLineItemsUpdate) {
- checkoutLineItemsUpdate.add("userErrors", function (userErrors) {
+ }, function (checkoutLineItemsReplace) {
+ checkoutLineItemsReplace.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutLineItemsUpdate.add("checkout", function (checkout) {
+ checkoutLineItemsReplace.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -4619,20 +4913,24 @@ function query$17(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutAttributesUpdate = {};
- variables.checkoutAttributesUpdate.checkoutId = client.variable("checkoutId", "ID!");
- variables.checkoutAttributesUpdate.input = client.variable("input", "CheckoutAttributesUpdateInput!");
+ variables.__defaultOperation__ = {};
+ variables.__defaultOperation__.checkoutId = client.variable("checkoutId", "ID!");
+ variables.__defaultOperation__.lineItems = client.variable("lineItems", "[CheckoutLineItemUpdateInput!]!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4640,6 +4938,25 @@ function query$17(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4666,7 +4983,9 @@ function query$17(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4694,6 +5013,22 @@ function query$17(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4767,21 +5102,30 @@ function query$17(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutAttributesUpdate", [variables.checkoutAttributesUpdate.checkoutId, variables.checkoutAttributesUpdate.input], function (root) {
- root.add("checkoutAttributesUpdate", {
+ document.addMutation([variables.__defaultOperation__.checkoutId, variables.__defaultOperation__.lineItems], function (root) {
+ root.add("checkoutLineItemsUpdate", {
args: {
- checkoutId: variables.checkoutAttributesUpdate.checkoutId,
- input: variables.checkoutAttributesUpdate.input
+ checkoutId: variables.__defaultOperation__.checkoutId,
+ lineItems: variables.__defaultOperation__.lineItems
}
- }, function (checkoutAttributesUpdate) {
- checkoutAttributesUpdate.add("userErrors", function (userErrors) {
+ }, function (checkoutLineItemsUpdate) {
+ checkoutLineItemsUpdate.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutAttributesUpdate.add("checkout", function (checkout) {
+ checkoutLineItemsUpdate.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -4793,20 +5137,24 @@ function query$18(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutDiscountCodeApply = {};
- variables.checkoutDiscountCodeApply.discountCode = client.variable("discountCode", "String!");
- variables.checkoutDiscountCodeApply.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutAttributesUpdateV2 = {};
+ variables.checkoutAttributesUpdateV2.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutAttributesUpdateV2.input = client.variable("input", "CheckoutAttributesUpdateV2Input!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4814,6 +5162,25 @@ function query$18(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4824,6 +5191,11 @@ function query$18(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -4840,7 +5212,9 @@ function query$18(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4868,6 +5242,22 @@ function query$18(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4941,21 +5331,33 @@ function query$18(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutDiscountCodeApply", [variables.checkoutDiscountCodeApply.discountCode, variables.checkoutDiscountCodeApply.checkoutId], function (root) {
- root.add("checkoutDiscountCodeApply", {
+ document.addMutation("checkoutAttributesUpdateV2", [variables.checkoutAttributesUpdateV2.checkoutId, variables.checkoutAttributesUpdateV2.input], function (root) {
+ root.add("checkoutAttributesUpdateV2", {
args: {
- discountCode: variables.checkoutDiscountCodeApply.discountCode,
- checkoutId: variables.checkoutDiscountCodeApply.checkoutId
+ checkoutId: variables.checkoutAttributesUpdateV2.checkoutId,
+ input: variables.checkoutAttributesUpdateV2.input
}
- }, function (checkoutDiscountCodeApply) {
- checkoutDiscountCodeApply.add("userErrors", function (userErrors) {
+ }, function (checkoutAttributesUpdateV2) {
+ checkoutAttributesUpdateV2.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutDiscountCodeApply.add("checkout", function (checkout) {
+ checkoutAttributesUpdateV2.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
+ checkoutAttributesUpdateV2.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -4967,19 +5369,24 @@ function query$19(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutDiscountCodeRemove = {};
- variables.checkoutDiscountCodeRemove.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutDiscountCodeApplyV2 = {};
+ variables.checkoutDiscountCodeApplyV2.discountCode = client.variable("discountCode", "String!");
+ variables.checkoutDiscountCodeApplyV2.checkoutId = client.variable("checkoutId", "ID!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4987,6 +5394,25 @@ function query$19(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4997,6 +5423,11 @@ function query$19(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -5013,7 +5444,9 @@ function query$19(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -5041,6 +5474,22 @@ function query$19(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -5114,20 +5563,33 @@ function query$19(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutDiscountCodeRemove", [variables.checkoutDiscountCodeRemove.checkoutId], function (root) {
- root.add("checkoutDiscountCodeRemove", {
+ document.addMutation("checkoutDiscountCodeApplyV2", [variables.checkoutDiscountCodeApplyV2.discountCode, variables.checkoutDiscountCodeApplyV2.checkoutId], function (root) {
+ root.add("checkoutDiscountCodeApplyV2", {
args: {
- checkoutId: variables.checkoutDiscountCodeRemove.checkoutId
+ discountCode: variables.checkoutDiscountCodeApplyV2.discountCode,
+ checkoutId: variables.checkoutDiscountCodeApplyV2.checkoutId
}
- }, function (checkoutDiscountCodeRemove) {
- checkoutDiscountCodeRemove.add("userErrors", function (userErrors) {
+ }, function (checkoutDiscountCodeApplyV2) {
+ checkoutDiscountCodeApplyV2.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutDiscountCodeRemove.add("checkout", function (checkout) {
+ checkoutDiscountCodeApplyV2.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
+ checkoutDiscountCodeApplyV2.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -5139,20 +5601,23 @@ function query$20(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutShippingAddressUpdate = {};
- variables.checkoutShippingAddressUpdate.shippingAddress = client.variable("shippingAddress", "MailingAddressInput!");
- variables.checkoutShippingAddressUpdate.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutDiscountCodeRemove = {};
+ variables.checkoutDiscountCodeRemove.checkoutId = client.variable("checkoutId", "ID!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -5160,6 +5625,25 @@ function query$20(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -5170,6 +5654,11 @@ function query$20(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -5186,7 +5675,9 @@ function query$20(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -5214,6 +5705,22 @@ function query$20(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -5287,21 +5794,32 @@ function query$20(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutShippingAddressUpdate", [variables.checkoutShippingAddressUpdate.shippingAddress, variables.checkoutShippingAddressUpdate.checkoutId], function (root) {
- root.add("checkoutShippingAddressUpdate", {
+ document.addMutation("checkoutDiscountCodeRemove", [variables.checkoutDiscountCodeRemove.checkoutId], function (root) {
+ root.add("checkoutDiscountCodeRemove", {
args: {
- shippingAddress: variables.checkoutShippingAddressUpdate.shippingAddress,
- checkoutId: variables.checkoutShippingAddressUpdate.checkoutId
+ checkoutId: variables.checkoutDiscountCodeRemove.checkoutId
}
- }, function (checkoutShippingAddressUpdate) {
- checkoutShippingAddressUpdate.add("userErrors", function (userErrors) {
+ }, function (checkoutDiscountCodeRemove) {
+ checkoutDiscountCodeRemove.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutShippingAddressUpdate.add("checkout", function (checkout) {
+ checkoutDiscountCodeRemove.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
+ checkoutDiscountCodeRemove.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -5313,20 +5831,24 @@ function query$21(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutShippingLineUpdate = {};
- variables.checkoutShippingLineUpdate.checkoutId = client.variable("checkoutId", "ID!");
- variables.checkoutShippingLineUpdate.shippingRateHandle = client.variable("shippingRateHandle", "String!");
+ variables.checkoutEmailUpdateV2 = {};
+ variables.checkoutEmailUpdateV2.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutEmailUpdateV2.email = client.variable("email", "String!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -5334,6 +5856,25 @@ function query$21(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -5344,6 +5885,11 @@ function query$21(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -5360,7 +5906,9 @@ function query$21(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -5388,6 +5936,22 @@ function query$21(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -5461,21 +6025,33 @@ function query$21(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutShippingLineUpdate", [variables.checkoutShippingLineUpdate.checkoutId, variables.checkoutShippingLineUpdate.shippingRateHandle], function (root) {
- root.add("checkoutShippingLineUpdate", {
+ document.addMutation("checkoutEmailUpdateV2", [variables.checkoutEmailUpdateV2.checkoutId, variables.checkoutEmailUpdateV2.email], function (root) {
+ root.add("checkoutEmailUpdateV2", {
args: {
- checkoutId: variables.checkoutShippingLineUpdate.checkoutId,
- shippingRateHandle: variables.checkoutShippingLineUpdate.shippingRateHandle
+ checkoutId: variables.checkoutEmailUpdateV2.checkoutId,
+ email: variables.checkoutEmailUpdateV2.email
}
- }, function (checkoutShippingLineUpdate) {
- checkoutShippingLineUpdate.add("userErrors", function (userErrors) {
+ }, function (checkoutEmailUpdateV2) {
+ checkoutEmailUpdateV2.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutShippingLineUpdate.add("checkout", function (checkout) {
+ checkoutEmailUpdateV2.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
+ checkoutEmailUpdateV2.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -5483,82 +6059,534 @@ function query$21(client) {
return document;
}
-// GraphQL
-/**
- * The JS Buy SDK checkout resource
- * @class
- */
-
-var CheckoutResource = function (_Resource) {
- inherits$1(CheckoutResource, _Resource);
-
- function CheckoutResource() {
- classCallCheck$1(this, CheckoutResource);
- return possibleConstructorReturn$1(this, (CheckoutResource.__proto__ || Object.getPrototypeOf(CheckoutResource)).apply(this, arguments));
- }
-
- createClass$1(CheckoutResource, [{
- key: 'fetch',
-
-
- /**
- * Fetches a checkout by ID.
- *
- * @example
- * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {
- * // Do something with the checkout
- * });
- *
- * @param {String} id The id of the checkout to fetch.
- * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.
- */
- value: function fetch(id) {
- var _this2 = this;
-
- return this.graphQLClient.send(query$11, { id: id }).then(defaultResolver('node')).then(function (checkout) {
- return _this2.graphQLClient.fetchAllPages(checkout.lineItems, { pageSize: 250 }).then(function (lineItems) {
- checkout.attrs.lineItems = lineItems;
-
- return checkout;
- });
+function query$22(client) {
+ var document = client.document();
+ var spreads = {};
+ var variables = {};
+ variables.checkoutShippingAddressUpdate = {};
+ variables.checkoutShippingAddressUpdate.shippingAddress = client.variable("shippingAddress", "MailingAddressInput!");
+ variables.checkoutShippingAddressUpdate.checkoutId = client.variable("checkoutId", "ID!");
+ spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
+ root.add("id");
+ root.add("title");
+ root.add("price");
+ root.add("weight");
+ root.add("availableForSale", {
+ alias: "available"
+ });
+ root.add("sku");
+ root.add("compareAtPrice");
+ root.add("image", function (image) {
+ image.add("id");
+ image.add("originalSrc", {
+ alias: "src"
});
- }
-
- /**
- * Fetches a checkout by ID.
- *
- * @example
- * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {
- * // Do something with the checkout
- * });
- *
- * @param {String} id The id of the checkout to fetch.
- * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.
- */
-
- }, {
- key: 'fetchWithAddress',
- value: function fetchWithAddress(id) {
- var _this3 = this;
-
- return this.graphQLClient.send(query$12, { id: id }).then(defaultResolver('node')).then(function (checkout) {
- return _this3.graphQLClient.fetchAllPages(checkout.lineItems, { pageSize: 250 }).then(function (lineItems) {
- checkout.attrs.lineItems = lineItems;
-
- return checkout;
- });
+ image.add("altText");
+ });
+ root.add("selectedOptions", function (selectedOptions) {
+ selectedOptions.add("name");
+ selectedOptions.add("value");
+ });
+ });
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
+ spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
+ root.addFragment(spreads.VariantFragment);
+ root.add("product", function (product) {
+ product.add("id");
+ });
+ });
+ spreads.UserErrorFragment = document.defineFragment("UserErrorFragment", "UserError", function (root) {
+ root.add("field");
+ root.add("message");
+ });
+ spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
+ root.add("id");
+ root.add("address1");
+ root.add("address2");
+ root.add("city");
+ root.add("company");
+ root.add("country");
+ root.add("firstName");
+ root.add("formatted");
+ root.add("lastName");
+ root.add("latitude");
+ root.add("longitude");
+ root.add("phone");
+ root.add("province");
+ root.add("zip");
+ root.add("name");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
+ root.add("provinceCode");
+ });
+ spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
+ root.add("id");
+ root.add("ready");
+ root.add("requiresShipping");
+ root.add("availableShippingRates", function (availableShippingRates) {
+ availableShippingRates.add("ready");
+ availableShippingRates.add("shippingRates", function (shippingRates) {
+ shippingRates.add("handle");
+ shippingRates.add("price");
+ shippingRates.add("title");
});
- }
-
- /**
- * Creates a checkout.
- *
- * @example
- * const input = {
- * lineItems: [
- * {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}
- * ]
- * };
+ });
+ root.add("note");
+ root.add("paymentDue");
+ root.add("webUrl");
+ root.add("orderStatusUrl");
+ root.add("taxExempt");
+ root.add("taxesIncluded");
+ root.add("currencyCode");
+ root.add("totalTax");
+ root.add("subtotalPrice");
+ root.add("totalPrice");
+ root.add("completedAt");
+ root.add("createdAt");
+ root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
+ root.add("shippingAddress", function (shippingAddress) {
+ shippingAddress.addFragment(spreads.MailingAddressFragment);
+ });
+ root.add("shippingLine", function (shippingLine) {
+ shippingLine.add("handle");
+ shippingLine.add("price");
+ shippingLine.add("title");
+ });
+ root.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ root.add("order", function (order) {
+ order.add("id");
+ order.add("processedAt");
+ order.add("orderNumber");
+ order.add("subtotalPrice");
+ order.add("totalShippingPrice");
+ order.add("totalTax");
+ order.add("totalPrice");
+ order.add("currencyCode");
+ order.add("totalRefunded");
+ order.add("customerUrl");
+ order.add("shippingAddress", function (shippingAddress) {
+ shippingAddress.addFragment(spreads.MailingAddressFragment);
+ });
+ order.add("lineItems", {
+ args: {
+ first: 250
+ }
+ }, function (lineItems) {
+ lineItems.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ lineItems.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.add("title");
+ node.add("variant", function (variant) {
+ variant.addFragment(spreads.VariantWithProductFragment);
+ });
+ node.add("quantity");
+ node.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ });
+ });
+ });
+ });
+ root.add("lineItems", {
+ args: {
+ first: 250
+ }
+ }, function (lineItems) {
+ lineItems.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ lineItems.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.add("id");
+ node.add("title");
+ node.add("variant", function (variant) {
+ variant.addFragment(spreads.VariantWithProductFragment);
+ });
+ node.add("quantity");
+ node.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
+ });
+ });
+ });
+ document.addMutation("checkoutShippingAddressUpdate", [variables.checkoutShippingAddressUpdate.shippingAddress, variables.checkoutShippingAddressUpdate.checkoutId], function (root) {
+ root.add("checkoutShippingAddressUpdate", {
+ args: {
+ shippingAddress: variables.checkoutShippingAddressUpdate.shippingAddress,
+ checkoutId: variables.checkoutShippingAddressUpdate.checkoutId
+ }
+ }, function (checkoutShippingAddressUpdate) {
+ checkoutShippingAddressUpdate.add("userErrors", function (userErrors) {
+ userErrors.addFragment(spreads.UserErrorFragment);
+ });
+ checkoutShippingAddressUpdate.add("checkout", function (checkout) {
+ checkout.addFragment(spreads.CheckoutFragment);
+ });
+ });
+ });
+ return document;
+}
+
+function query$23(client) {
+ var document = client.document();
+ var spreads = {};
+ var variables = {};
+ variables.checkoutShippingLineUpdate = {};
+ variables.checkoutShippingLineUpdate.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutShippingLineUpdate.shippingRateHandle = client.variable("shippingRateHandle", "String!");
+ spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
+ root.add("id");
+ root.add("title");
+ root.add("price");
+ root.add("weight");
+ root.add("availableForSale", {
+ alias: "available"
+ });
+ root.add("sku");
+ root.add("compareAtPrice");
+ root.add("image", function (image) {
+ image.add("id");
+ image.add("originalSrc", {
+ alias: "src"
+ });
+ image.add("altText");
+ });
+ root.add("selectedOptions", function (selectedOptions) {
+ selectedOptions.add("name");
+ selectedOptions.add("value");
+ });
+ });
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
+ spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
+ root.addFragment(spreads.VariantFragment);
+ root.add("product", function (product) {
+ product.add("id");
+ });
+ });
+ spreads.UserErrorFragment = document.defineFragment("UserErrorFragment", "UserError", function (root) {
+ root.add("field");
+ root.add("message");
+ });
+ spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
+ root.add("id");
+ root.add("address1");
+ root.add("address2");
+ root.add("city");
+ root.add("company");
+ root.add("country");
+ root.add("firstName");
+ root.add("formatted");
+ root.add("lastName");
+ root.add("latitude");
+ root.add("longitude");
+ root.add("phone");
+ root.add("province");
+ root.add("zip");
+ root.add("name");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
+ root.add("provinceCode");
+ });
+ spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
+ root.add("id");
+ root.add("ready");
+ root.add("requiresShipping");
+ root.add("availableShippingRates", function (availableShippingRates) {
+ availableShippingRates.add("ready");
+ availableShippingRates.add("shippingRates", function (shippingRates) {
+ shippingRates.add("handle");
+ shippingRates.add("price");
+ shippingRates.add("title");
+ });
+ });
+ root.add("note");
+ root.add("paymentDue");
+ root.add("webUrl");
+ root.add("orderStatusUrl");
+ root.add("taxExempt");
+ root.add("taxesIncluded");
+ root.add("currencyCode");
+ root.add("totalTax");
+ root.add("subtotalPrice");
+ root.add("totalPrice");
+ root.add("completedAt");
+ root.add("createdAt");
+ root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
+ root.add("shippingAddress", function (shippingAddress) {
+ shippingAddress.addFragment(spreads.MailingAddressFragment);
+ });
+ root.add("shippingLine", function (shippingLine) {
+ shippingLine.add("handle");
+ shippingLine.add("price");
+ shippingLine.add("title");
+ });
+ root.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ root.add("order", function (order) {
+ order.add("id");
+ order.add("processedAt");
+ order.add("orderNumber");
+ order.add("subtotalPrice");
+ order.add("totalShippingPrice");
+ order.add("totalTax");
+ order.add("totalPrice");
+ order.add("currencyCode");
+ order.add("totalRefunded");
+ order.add("customerUrl");
+ order.add("shippingAddress", function (shippingAddress) {
+ shippingAddress.addFragment(spreads.MailingAddressFragment);
+ });
+ order.add("lineItems", {
+ args: {
+ first: 250
+ }
+ }, function (lineItems) {
+ lineItems.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ lineItems.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.add("title");
+ node.add("variant", function (variant) {
+ variant.addFragment(spreads.VariantWithProductFragment);
+ });
+ node.add("quantity");
+ node.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ });
+ });
+ });
+ });
+ root.add("lineItems", {
+ args: {
+ first: 250
+ }
+ }, function (lineItems) {
+ lineItems.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ lineItems.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.add("id");
+ node.add("title");
+ node.add("variant", function (variant) {
+ variant.addFragment(spreads.VariantWithProductFragment);
+ });
+ node.add("quantity");
+ node.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
+ });
+ });
+ });
+ document.addMutation("checkoutShippingLineUpdate", [variables.checkoutShippingLineUpdate.checkoutId, variables.checkoutShippingLineUpdate.shippingRateHandle], function (root) {
+ root.add("checkoutShippingLineUpdate", {
+ args: {
+ checkoutId: variables.checkoutShippingLineUpdate.checkoutId,
+ shippingRateHandle: variables.checkoutShippingLineUpdate.shippingRateHandle
+ }
+ }, function (checkoutShippingLineUpdate) {
+ checkoutShippingLineUpdate.add("userErrors", function (userErrors) {
+ userErrors.addFragment(spreads.UserErrorFragment);
+ });
+ checkoutShippingLineUpdate.add("checkout", function (checkout) {
+ checkout.addFragment(spreads.CheckoutFragment);
+ });
+ });
+ });
+ return document;
+}
+
+// GraphQL
+/**
+ * The JS Buy SDK checkout resource
+ * @class
+ */
+
+var CheckoutResource = function (_Resource) {
+ inherits$1(CheckoutResource, _Resource);
+
+ function CheckoutResource() {
+ classCallCheck$1(this, CheckoutResource);
+ return possibleConstructorReturn$1(this, (CheckoutResource.__proto__ || Object.getPrototypeOf(CheckoutResource)).apply(this, arguments));
+ }
+
+ createClass$1(CheckoutResource, [{
+ key: 'fetch',
+
+
+ /**
+ * Fetches a checkout by ID.
+ *
+ * @example
+ * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {
+ * // Do something with the checkout
+ * });
+ *
+ * @param {String} id The id of the checkout to fetch.
+ * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.
+ */
+ value: function fetch(id) {
+ var _this2 = this;
+
+ return this.graphQLClient.send(query$11, { id: id }).then(defaultResolver('node')).then(function (checkout) {
+ if (!checkout) {
+ return null;
+ }
+
+ return _this2.graphQLClient.fetchAllPages(checkout.lineItems, { pageSize: 250 }).then(function (lineItems) {
+ checkout.attrs.lineItems = lineItems;
+
+ return checkout;
+ });
+ });
+ }
+
+ /**
+ * Fetches a checkout by ID.
+ *
+ * @example
+ * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {
+ * // Do something with the checkout
+ * });
+ *
+ * @param {String} id The id of the checkout to fetch.
+ * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.
+ */
+
+ }, {
+ key: 'fetchWithAddress',
+ value: function fetchWithAddress(id) {
+ var _this3 = this;
+
+ return this.graphQLClient.send(query$12, { id: id }).then(defaultResolver('node')).then(function (checkout) {
+ return _this3.graphQLClient.fetchAllPages(checkout.lineItems, { pageSize: 250 }).then(function (lineItems) {
+ checkout.attrs.lineItems = lineItems;
+
+ return checkout;
+ });
+ });
+ }
+
+ /**
+ * Creates a checkout.
+ *
+ * @example
+ * const input = {
+ * lineItems: [
+ * {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}
+ * ]
+ * };
*
* client.checkout.create(input).then((checkout) => {
* // Do something with the newly created checkout
@@ -5605,7 +6633,29 @@ var CheckoutResource = function (_Resource) {
value: function updateAttributes(checkoutId) {
var input = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- return this.graphQLClient.send(query$17, { checkoutId: checkoutId, input: input }).then(handleCheckoutMutation('checkoutAttributesUpdate', this.graphQLClient));
+ return this.graphQLClient.send(query$18, { checkoutId: checkoutId, input: input }).then(handleCheckoutMutation('checkoutAttributesUpdateV2', this.graphQLClient));
+ }
+
+ /**
+ * Replaces the value of checkout's email address
+ *
+ * @example
+ * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
+ * const email = 'user@example.com';
+ *
+ * client.checkout.updateEmail(checkoutId, email).then((checkout) => {
+ * // Do something with the updated checkout
+ * });
+ *
+ * @param {String} checkoutId The ID of the checkout to update.
+ * @param {String} email The email address to apply to the checkout.
+ * @return {Promise|GraphModel} A promise resolving with the updated checkout.
+ */
+
+ }, {
+ key: 'updateEmail',
+ value: function updateEmail(checkoutId, email) {
+ return this.graphQLClient.send(query$21, { checkoutId: checkoutId, email: email }).then(handleCheckoutMutation('checkoutEmailUpdateV2', this.graphQLClient));
}
/**
@@ -5649,29 +6699,27 @@ var CheckoutResource = function (_Resource) {
}, {
key: 'addDiscount',
value: function addDiscount(checkoutId, discountCode) {
- return this.graphQLClient.send(query$18, { checkoutId: checkoutId, discountCode: discountCode }).then(handleCheckoutMutation('checkoutDiscountCodeApply', this.graphQLClient));
+ return this.graphQLClient.send(query$19, { checkoutId: checkoutId, discountCode: discountCode }).then(handleCheckoutMutation('checkoutDiscountCodeApplyV2', this.graphQLClient));
}
/**
- * Applies a discount to an existing checkout using a discount code.
+ * Removes a discount from an existing checkout.
*
* @example
* const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
- * const discountCode = 'best-discount-ever';
*
- * client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {
+ * client.checkout.removeDiscount(checkoutId).then((checkout) => {
* // Do something with the updated checkout
* });
*
* @param {String} checkoutId The ID of the checkout to add discount to.
- * @param {String} discountCode The discount code to apply to the checkout.
* @return {Promise|GraphModel} A promise resolving with the updated checkout.
*/
}, {
key: 'removeDiscount',
- value: function removeDiscount(checkoutId, discountCode) {
- return this.graphQLClient.send(query$19, { checkoutId: checkoutId, discountCode: discountCode }).then(handleCheckoutMutation('checkoutDiscountCodeRemove', this.graphQLClient));
+ value: function removeDiscount(checkoutId) {
+ return this.graphQLClient.send(query$20, { checkoutId: checkoutId }).then(handleCheckoutMutation('checkoutDiscountCodeRemove', this.graphQLClient));
}
/**
@@ -5696,6 +6744,28 @@ var CheckoutResource = function (_Resource) {
return this.graphQLClient.send(query$15, { checkoutId: checkoutId, lineItemIds: lineItemIds }).then(handleCheckoutMutation('checkoutLineItemsRemove', this.graphQLClient));
}
+ /**
+ * Replace line items on an existing checkout.
+ *
+ * @example
+ * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
+ * const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];
+ *
+ * client.checkout.replaceLineItems(checkoutId, lineItems).then((checkout) => {
+ * // Do something with the updated checkout
+ * });
+ *
+ * @param {String} checkoutId The ID of the checkout to add line items to.
+ * @param {Object[]} lineItems A list of line items to set on the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.
+ * @return {Promise|GraphModel} A promise resolving with the updated checkout.
+ */
+
+ }, {
+ key: 'replaceLineItems',
+ value: function replaceLineItems(checkoutId, lineItems) {
+ return this.graphQLClient.send(query$16, { checkoutId: checkoutId, lineItems: lineItems }).then(handleCheckoutMutation('checkoutLineItemsReplace', this.graphQLClient));
+ }
+
/**
* Updates line items on an existing checkout.
*
@@ -5721,7 +6791,7 @@ var CheckoutResource = function (_Resource) {
}, {
key: 'updateLineItems',
value: function updateLineItems(checkoutId, lineItems) {
- return this.graphQLClient.send(query$16, { checkoutId: checkoutId, lineItems: lineItems }).then(handleCheckoutMutation('checkoutLineItemsUpdate', this.graphQLClient));
+ return this.graphQLClient.send(query$17, { checkoutId: checkoutId, lineItems: lineItems }).then(handleCheckoutMutation('checkoutLineItemsUpdate', this.graphQLClient));
}
/**
@@ -5755,12 +6825,12 @@ var CheckoutResource = function (_Resource) {
}, {
key: 'updateShippingAddress',
value: function updateShippingAddress(checkoutId, shippingAddress) {
- return this.graphQLClient.send(query$20, { checkoutId: checkoutId, shippingAddress: shippingAddress }).then(handleCheckoutMutation('checkoutShippingAddressUpdate', this.graphQLClient));
+ return this.graphQLClient.send(query$22, { checkoutId: checkoutId, shippingAddress: shippingAddress }).then(handleCheckoutMutation('checkoutShippingAddressUpdate', this.graphQLClient));
}
}, {
key: 'updateShippingLines',
value: function updateShippingLines(checkoutId, shippingRateHandle) {
- return this.graphQLClient.send(query$21, { checkoutId: checkoutId, shippingRateHandle: shippingRateHandle }).then(handleCheckoutMutation('checkoutShippingLineUpdate', this.graphQLClient));
+ return this.graphQLClient.send(query$23, { checkoutId: checkoutId, shippingRateHandle: shippingRateHandle }).then(handleCheckoutMutation('checkoutShippingLineUpdate', this.graphQLClient));
}
}]);
return CheckoutResource;
@@ -5828,14 +6898,28 @@ var ImageResource = function (_Resource) {
return ImageResource;
}(Resource);
-var version = "1.6.0";
+var version = "2.0.0";
+
+var Boolean$1 = {
+ "name": "Boolean",
+ "kind": "SCALAR"
+};
+
+var String$1 = {
+ "name": "String",
+ "kind": "SCALAR"
+};
var QueryRoot = {
"name": "QueryRoot",
"kind": "OBJECT",
"fieldBaseTypes": {
+ "collectionByHandle": "Collection",
+ "collections": "CollectionConnection",
"node": "Node",
"nodes": "Node",
+ "productByHandle": "Product",
+ "products": "ProductConnection",
"shop": "Shop"
},
"implementsNode": false
@@ -5845,7 +6929,7 @@ var Node = {
"name": "Node",
"kind": "INTERFACE",
"fieldBaseTypes": {},
- "possibleTypes": ["AppliedGiftCard", "Article", "Blog", "Checkout", "CheckoutLineItem", "Collection", "Comment", "MailingAddress", "Order", "Payment", "Product", "ProductOption", "ProductVariant", "ShopPolicy"]
+ "possibleTypes": ["AppliedGiftCard", "Article", "Blog", "Checkout", "CheckoutLineItem", "Collection", "Comment", "MailingAddress", "Order", "Page", "Payment", "Product", "ProductOption", "ProductVariant", "ShopPolicy"]
};
var ID = {
@@ -5853,16 +6937,6 @@ var ID = {
"kind": "SCALAR"
};
-var String$1 = {
- "name": "String",
- "kind": "SCALAR"
-};
-
-var Boolean$1 = {
- "name": "Boolean",
- "kind": "SCALAR"
-};
-
var DateTime = {
"name": "DateTime",
"kind": "SCALAR"
@@ -5878,6 +6952,7 @@ var MailingAddress = {
"company": "String",
"country": "String",
"countryCode": "String",
+ "countryCodeV2": "CountryCode",
"firstName": "String",
"formatted": "String",
"id": "ID",
@@ -5898,6 +6973,11 @@ var Float = {
"kind": "SCALAR"
};
+var CountryCode = {
+ "name": "CountryCode",
+ "kind": "ENUM"
+};
+
var PageInfo = {
"name": "PageInfo",
"kind": "OBJECT",
@@ -5913,39 +6993,90 @@ var Int = {
"kind": "SCALAR"
};
-var Order = {
- "name": "Order",
- "kind": "OBJECT",
+var Order = {
+ "name": "Order",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "currencyCode": "CurrencyCode",
+ "customerUrl": "URL",
+ "id": "ID",
+ "lineItems": "OrderLineItemConnection",
+ "orderNumber": "Int",
+ "processedAt": "DateTime",
+ "shippingAddress": "MailingAddress",
+ "subtotalPrice": "Money",
+ "totalPrice": "Money",
+ "totalRefunded": "Money",
+ "totalShippingPrice": "Money",
+ "totalTax": "Money"
+ },
+ "implementsNode": true
+};
+
+var Money = {
+ "name": "Money",
+ "kind": "SCALAR"
+};
+
+var CurrencyCode = {
+ "name": "CurrencyCode",
+ "kind": "ENUM"
+};
+
+var URL = {
+ "name": "URL",
+ "kind": "SCALAR"
+};
+
+var DiscountAllocation = {
+ "name": "DiscountAllocation",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "allocatedAmount": "MoneyV2",
+ "discountApplication": "DiscountApplication"
+ },
+ "implementsNode": false
+};
+
+var MoneyV2 = {
+ "name": "MoneyV2",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "amount": "Decimal",
+ "currencyCode": "CurrencyCode"
+ },
+ "implementsNode": false
+};
+
+var Decimal = {
+ "name": "Decimal",
+ "kind": "SCALAR"
+};
+
+var DiscountApplication = {
+ "name": "DiscountApplication",
+ "kind": "INTERFACE",
"fieldBaseTypes": {
- "currencyCode": "CurrencyCode",
- "customerUrl": "URL",
- "id": "ID",
- "lineItems": "OrderLineItemConnection",
- "orderNumber": "Int",
- "processedAt": "DateTime",
- "shippingAddress": "MailingAddress",
- "subtotalPrice": "Money",
- "totalPrice": "Money",
- "totalRefunded": "Money",
- "totalShippingPrice": "Money",
- "totalTax": "Money"
+ "allocationMethod": "DiscountApplicationAllocationMethod",
+ "targetSelection": "DiscountApplicationTargetSelection",
+ "targetType": "DiscountApplicationTargetType"
},
- "implementsNode": true
+ "possibleTypes": ["AutomaticDiscountApplication", "DiscountCodeApplication", "ManualDiscountApplication", "ScriptDiscountApplication"]
};
-var Money = {
- "name": "Money",
- "kind": "SCALAR"
+var DiscountApplicationAllocationMethod = {
+ "name": "DiscountApplicationAllocationMethod",
+ "kind": "ENUM"
};
-var CurrencyCode = {
- "name": "CurrencyCode",
+var DiscountApplicationTargetSelection = {
+ "name": "DiscountApplicationTargetSelection",
"kind": "ENUM"
};
-var URL = {
- "name": "URL",
- "kind": "SCALAR"
+var DiscountApplicationTargetType = {
+ "name": "DiscountApplicationTargetType",
+ "kind": "ENUM"
};
var OrderLineItemConnection = {
@@ -5984,7 +7115,7 @@ var ProductVariant = {
"name": "ProductVariant",
"kind": "OBJECT",
"fieldBaseTypes": {
- "available": "Boolean",
+ "availableForSale": "Boolean",
"compareAtPrice": "Money",
"id": "ID",
"image": "Image",
@@ -6004,6 +7135,7 @@ var Image = {
"fieldBaseTypes": {
"altText": "String",
"id": "ID",
+ "originalSrc": "URL",
"src": "URL"
},
"implementsNode": false
@@ -6023,6 +7155,7 @@ var Product = {
"name": "Product",
"kind": "OBJECT",
"fieldBaseTypes": {
+ "availableForSale": "Boolean",
"createdAt": "DateTime",
"description": "String",
"descriptionHtml": "HTML",
@@ -6033,7 +7166,6 @@ var Product = {
"options": "ProductOption",
"productType": "String",
"publishedAt": "DateTime",
- "tags": "String",
"title": "String",
"updatedAt": "DateTime",
"variants": "ProductVariantConnection",
@@ -6163,20 +7295,122 @@ var Attribute = {
"implementsNode": false
};
+var DiscountApplicationConnection = {
+ "name": "DiscountApplicationConnection",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "edges": "DiscountApplicationEdge",
+ "pageInfo": "PageInfo"
+ },
+ "implementsNode": false
+};
+
+var DiscountApplicationEdge = {
+ "name": "DiscountApplicationEdge",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "node": "DiscountApplication"
+ },
+ "implementsNode": false
+};
+
+var Checkout = {
+ "name": "Checkout",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "availableShippingRates": "AvailableShippingRates",
+ "completedAt": "DateTime",
+ "createdAt": "DateTime",
+ "currencyCode": "CurrencyCode",
+ "customAttributes": "Attribute",
+ "discountApplications": "DiscountApplicationConnection",
+ "email": "String",
+ "id": "ID",
+ "lineItems": "CheckoutLineItemConnection",
+ "note": "String",
+ "order": "Order",
+ "orderStatusUrl": "URL",
+ "paymentDue": "Money",
+ "ready": "Boolean",
+ "requiresShipping": "Boolean",
+ "shippingAddress": "MailingAddress",
+ "shippingLine": "ShippingRate",
+ "subtotalPrice": "Money",
+ "taxExempt": "Boolean",
+ "taxesIncluded": "Boolean",
+ "totalPrice": "Money",
+ "totalTax": "Money",
+ "updatedAt": "DateTime",
+ "webUrl": "URL"
+ },
+ "implementsNode": true
+};
+
+var CheckoutLineItemConnection = {
+ "name": "CheckoutLineItemConnection",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "edges": "CheckoutLineItemEdge",
+ "pageInfo": "PageInfo"
+ },
+ "implementsNode": false
+};
+
+var CheckoutLineItemEdge = {
+ "name": "CheckoutLineItemEdge",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "cursor": "String",
+ "node": "CheckoutLineItem"
+ },
+ "implementsNode": false
+};
+
+var CheckoutLineItem = {
+ "name": "CheckoutLineItem",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "customAttributes": "Attribute",
+ "discountAllocations": "DiscountAllocation",
+ "id": "ID",
+ "quantity": "Int",
+ "title": "String",
+ "variant": "ProductVariant"
+ },
+ "implementsNode": true
+};
+
+var ShippingRate = {
+ "name": "ShippingRate",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "handle": "String",
+ "price": "Money",
+ "title": "String"
+ },
+ "implementsNode": false
+};
+
+var AvailableShippingRates = {
+ "name": "AvailableShippingRates",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "ready": "Boolean",
+ "shippingRates": "ShippingRate"
+ },
+ "implementsNode": false
+};
+
var Shop = {
"name": "Shop",
"kind": "OBJECT",
"fieldBaseTypes": {
- "collectionByHandle": "Collection",
- "collections": "CollectionConnection",
"currencyCode": "CurrencyCode",
"description": "String",
"moneyFormat": "String",
"name": "String",
"primaryDomain": "Domain",
"privacyPolicy": "ShopPolicy",
- "productByHandle": "Product",
- "products": "ProductConnection",
"refundPolicy": "ShopPolicy",
"termsOfService": "ShopPolicy"
},
@@ -6210,12 +7444,14 @@ var Mutation$1 = {
"name": "Mutation",
"kind": "OBJECT",
"fieldBaseTypes": {
- "checkoutAttributesUpdate": "CheckoutAttributesUpdatePayload",
+ "checkoutAttributesUpdateV2": "CheckoutAttributesUpdateV2Payload",
"checkoutCreate": "CheckoutCreatePayload",
+ "checkoutDiscountCodeApplyV2": "CheckoutDiscountCodeApplyV2Payload",
+ "checkoutDiscountCodeRemove": "CheckoutDiscountCodeRemovePayload",
+ "checkoutEmailUpdateV2": "CheckoutEmailUpdateV2Payload",
"checkoutLineItemsAdd": "CheckoutLineItemsAddPayload",
- "checkoutDiscountCodeApply": "CheckoutLineItemsAddPayload",
- "checkoutDiscountCodeRemove": "CheckoutLineItemsAddPayload",
"checkoutLineItemsRemove": "CheckoutLineItemsRemovePayload",
+ "checkoutLineItemsReplace": "CheckoutLineItemsReplacePayload",
"checkoutLineItemsUpdate": "CheckoutLineItemsUpdatePayload",
"checkoutShippingAddressUpdate": "CheckoutShippingAddressUpdatePayload",
"checkoutShippingLineUpdate": "CheckoutShippingLineUpdatePayload"
@@ -6223,6 +7459,7 @@ var Mutation$1 = {
"implementsNode": false,
"relayInputObjectBaseTypes": {
"checkoutAttributesUpdate": "CheckoutAttributesUpdateInput",
+ "checkoutAttributesUpdateV2": "CheckoutAttributesUpdateV2Input",
"checkoutCreate": "CheckoutCreateInput",
"customerAccessTokenCreate": "CustomerAccessTokenCreateInput",
"customerActivate": "CustomerActivateInput",
@@ -6231,16 +7468,6 @@ var Mutation$1 = {
}
};
-var CheckoutAttributesUpdatePayload = {
- "name": "CheckoutAttributesUpdatePayload",
- "kind": "OBJECT",
- "fieldBaseTypes": {
- "checkout": "Checkout",
- "userErrors": "UserError"
- },
- "implementsNode": false
-};
-
var UserError = {
"name": "UserError",
"kind": "OBJECT",
@@ -6251,95 +7478,82 @@ var UserError = {
"implementsNode": false
};
-var Checkout = {
- "name": "Checkout",
+var CheckoutShippingAddressUpdatePayload = {
+ "name": "CheckoutShippingAddressUpdatePayload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "availableShippingRates": "AvailableShippingRates",
- "completedAt": "DateTime",
- "createdAt": "DateTime",
- "currencyCode": "CurrencyCode",
- "customAttributes": "Attribute",
- "id": "ID",
- "lineItems": "CheckoutLineItemConnection",
- "note": "String",
- "order": "Order",
- "orderStatusUrl": "URL",
- "paymentDue": "Money",
- "ready": "Boolean",
- "requiresShipping": "Boolean",
- "shippingAddress": "MailingAddress",
- "shippingLine": "ShippingRate",
- "subtotalPrice": "Money",
- "taxExempt": "Boolean",
- "taxesIncluded": "Boolean",
- "totalPrice": "Money",
- "totalTax": "Money",
- "updatedAt": "DateTime",
- "webUrl": "URL"
+ "checkout": "Checkout",
+ "userErrors": "UserError"
},
- "implementsNode": true
+ "implementsNode": false
};
-var CheckoutLineItemConnection = {
- "name": "CheckoutLineItemConnection",
+var CheckoutAttributesUpdateV2Payload = {
+ "name": "CheckoutAttributesUpdateV2Payload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "edges": "CheckoutLineItemEdge",
- "pageInfo": "PageInfo"
+ "checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
+ "userErrors": "UserError"
},
"implementsNode": false
};
-var CheckoutLineItemEdge = {
- "name": "CheckoutLineItemEdge",
+var CheckoutUserError = {
+ "name": "CheckoutUserError",
"kind": "OBJECT",
"fieldBaseTypes": {
- "cursor": "String",
- "node": "CheckoutLineItem"
+ "code": "CheckoutErrorCode",
+ "field": "String",
+ "message": "String"
},
"implementsNode": false
};
-var CheckoutLineItem = {
- "name": "CheckoutLineItem",
+var CheckoutErrorCode = {
+ "name": "CheckoutErrorCode",
+ "kind": "ENUM"
+};
+
+var CheckoutDiscountCodeApplyV2Payload = {
+ "name": "CheckoutDiscountCodeApplyV2Payload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "customAttributes": "Attribute",
- "id": "ID",
- "quantity": "Int",
- "title": "String",
- "variant": "ProductVariant"
+ "checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
+ "userErrors": "UserError"
},
- "implementsNode": true
+ "implementsNode": false
};
-var ShippingRate = {
- "name": "ShippingRate",
+var CheckoutCreatePayload = {
+ "name": "CheckoutCreatePayload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "handle": "String",
- "price": "Money",
- "title": "String"
+ "checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
+ "userErrors": "UserError"
},
"implementsNode": false
};
-var AvailableShippingRates = {
- "name": "AvailableShippingRates",
+var CheckoutEmailUpdateV2Payload = {
+ "name": "CheckoutEmailUpdateV2Payload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "ready": "Boolean",
- "shippingRates": "ShippingRate"
+ "checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
+ "userErrors": "UserError"
},
"implementsNode": false
};
-var CheckoutCreatePayload = {
- "name": "CheckoutCreatePayload",
+var CheckoutDiscountCodeRemovePayload = {
+ "name": "CheckoutDiscountCodeRemovePayload",
"kind": "OBJECT",
"fieldBaseTypes": {
"checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
"userErrors": "UserError"
},
"implementsNode": false
@@ -6375,12 +7589,12 @@ var CheckoutLineItemsUpdatePayload = {
"implementsNode": false
};
-var CheckoutShippingAddressUpdatePayload = {
- "name": "CheckoutShippingAddressUpdatePayload",
+var CheckoutLineItemsReplacePayload = {
+ "name": "CheckoutLineItemsReplacePayload",
"kind": "OBJECT",
"fieldBaseTypes": {
"checkout": "Checkout",
- "userErrors": "UserError"
+ "userErrors": "CheckoutUserError"
},
"implementsNode": false
};
@@ -6395,23 +7609,69 @@ var CheckoutShippingLineUpdatePayload = {
"implementsNode": false
};
+var DiscountCodeApplication = {
+ "name": "DiscountCodeApplication",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "applicable": "Boolean",
+ "code": "String"
+ },
+ "implementsNode": false
+};
+
+var ManualDiscountApplication = {
+ "name": "ManualDiscountApplication",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "description": "String",
+ "title": "String"
+ },
+ "implementsNode": false
+};
+
+var ScriptDiscountApplication = {
+ "name": "ScriptDiscountApplication",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "description": "String"
+ },
+ "implementsNode": false
+};
+
+var AutomaticDiscountApplication = {
+ "name": "AutomaticDiscountApplication",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "title": "String"
+ },
+ "implementsNode": false
+};
+
var Types = {
types: {}
};
+Types.types["Boolean"] = Boolean$1;
+Types.types["String"] = String$1;
Types.types["QueryRoot"] = QueryRoot;
Types.types["Node"] = Node;
Types.types["ID"] = ID;
-Types.types["String"] = String$1;
-Types.types["Boolean"] = Boolean$1;
Types.types["DateTime"] = DateTime;
Types.types["MailingAddress"] = MailingAddress;
Types.types["Float"] = Float;
+Types.types["CountryCode"] = CountryCode;
Types.types["PageInfo"] = PageInfo;
Types.types["Int"] = Int;
Types.types["Order"] = Order;
Types.types["Money"] = Money;
Types.types["CurrencyCode"] = CurrencyCode;
Types.types["URL"] = URL;
+Types.types["DiscountAllocation"] = DiscountAllocation;
+Types.types["MoneyV2"] = MoneyV2;
+Types.types["Decimal"] = Decimal;
+Types.types["DiscountApplication"] = DiscountApplication;
+Types.types["DiscountApplicationAllocationMethod"] = DiscountApplicationAllocationMethod;
+Types.types["DiscountApplicationTargetSelection"] = DiscountApplicationTargetSelection;
+Types.types["DiscountApplicationTargetType"] = DiscountApplicationTargetType;
Types.types["OrderLineItemConnection"] = OrderLineItemConnection;
Types.types["OrderLineItemEdge"] = OrderLineItemEdge;
Types.types["OrderLineItem"] = OrderLineItem;
@@ -6431,24 +7691,36 @@ Types.types["ProductOption"] = ProductOption;
Types.types["ProductVariantConnection"] = ProductVariantConnection;
Types.types["ProductVariantEdge"] = ProductVariantEdge;
Types.types["Attribute"] = Attribute;
-Types.types["Shop"] = Shop;
-Types.types["Domain"] = Domain;
-Types.types["ShopPolicy"] = ShopPolicy;
-Types.types["Mutation"] = Mutation$1;
-Types.types["CheckoutAttributesUpdatePayload"] = CheckoutAttributesUpdatePayload;
-Types.types["UserError"] = UserError;
+Types.types["DiscountApplicationConnection"] = DiscountApplicationConnection;
+Types.types["DiscountApplicationEdge"] = DiscountApplicationEdge;
Types.types["Checkout"] = Checkout;
Types.types["CheckoutLineItemConnection"] = CheckoutLineItemConnection;
Types.types["CheckoutLineItemEdge"] = CheckoutLineItemEdge;
Types.types["CheckoutLineItem"] = CheckoutLineItem;
Types.types["ShippingRate"] = ShippingRate;
Types.types["AvailableShippingRates"] = AvailableShippingRates;
+Types.types["Shop"] = Shop;
+Types.types["Domain"] = Domain;
+Types.types["ShopPolicy"] = ShopPolicy;
+Types.types["Mutation"] = Mutation$1;
+Types.types["UserError"] = UserError;
+Types.types["CheckoutShippingAddressUpdatePayload"] = CheckoutShippingAddressUpdatePayload;
+Types.types["CheckoutAttributesUpdateV2Payload"] = CheckoutAttributesUpdateV2Payload;
+Types.types["CheckoutUserError"] = CheckoutUserError;
+Types.types["CheckoutErrorCode"] = CheckoutErrorCode;
+Types.types["CheckoutDiscountCodeApplyV2Payload"] = CheckoutDiscountCodeApplyV2Payload;
Types.types["CheckoutCreatePayload"] = CheckoutCreatePayload;
+Types.types["CheckoutEmailUpdateV2Payload"] = CheckoutEmailUpdateV2Payload;
+Types.types["CheckoutDiscountCodeRemovePayload"] = CheckoutDiscountCodeRemovePayload;
Types.types["CheckoutLineItemsAddPayload"] = CheckoutLineItemsAddPayload;
Types.types["CheckoutLineItemsRemovePayload"] = CheckoutLineItemsRemovePayload;
Types.types["CheckoutLineItemsUpdatePayload"] = CheckoutLineItemsUpdatePayload;
-Types.types["CheckoutShippingAddressUpdatePayload"] = CheckoutShippingAddressUpdatePayload;
+Types.types["CheckoutLineItemsReplacePayload"] = CheckoutLineItemsReplacePayload;
Types.types["CheckoutShippingLineUpdatePayload"] = CheckoutShippingLineUpdatePayload;
+Types.types["DiscountCodeApplication"] = DiscountCodeApplication;
+Types.types["ManualDiscountApplication"] = ManualDiscountApplication;
+Types.types["ScriptDiscountApplication"] = ScriptDiscountApplication;
+Types.types["AutomaticDiscountApplication"] = AutomaticDiscountApplication;
Types.queryType = "QueryRoot";
Types.mutationType = "Mutation";
Types.subscriptionType = null;
diff --git a/index.amd.js.map b/index.amd.js.map
index 59a692e83..c1e3eabe8 100644
--- a/index.amd.js.map
+++ b/index.amd.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.amd.js","sources":["node_modules/graphql-js-client/index.es.js","src/config.js","src/resource.js","src/default-resolver.js","src/fetch-resources-for-products.js","src/paginators.js","src/product-helpers.js","src/product-resource.js","src/collection-resource.js","src/shop-resource.js","src/handle-checkout-mutation.js","src/checkout-resource.js","src/image-helpers.js","src/image-resource.js","src/client.js"],"sourcesContent":["/*\nThe MIT License (MIT)\nCopyright (c) 2016 Shopify Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE\nOR OTHER DEALINGS IN THE SOFTWARE.\n\n\n*/\nfunction join() {\n for (var _len = arguments.length, fields = Array(_len), _key = 0; _key < _len; _key++) {\n fields[_key] = arguments[_key];\n }\n\n return fields.join(' ');\n}\n\nfunction isObject(value) {\n return Boolean(value) && Object.prototype.toString.call(value.valueOf()) === '[object Object]';\n}\n\nfunction deepFreezeCopyExcept(predicate, structure) {\n if (predicate(structure)) {\n return structure;\n } else if (isObject(structure)) {\n return Object.freeze(Object.keys(structure).reduce(function (copy, key) {\n copy[key] = deepFreezeCopyExcept(predicate, structure[key]);\n\n return copy;\n }, {}));\n } else if (Array.isArray(structure)) {\n return Object.freeze(structure.map(function (item) {\n return deepFreezeCopyExcept(predicate, item);\n }));\n } else {\n return structure;\n }\n}\n\nfunction schemaForType(typeBundle, typeName) {\n var type = typeBundle.types[typeName];\n\n if (type) {\n return type;\n }\n\n throw new Error(\"No type of \" + typeName + \" found in schema\");\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n\n\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nvar VariableDefinition = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#variable} to create a VariableDefinition.\n *\n * @param {String} name The name of the variable.\n * @param {String} type The GraphQL type of the variable.\n * @param {*} [defaultValue] The default value of the variable.\n */\n function VariableDefinition(name, type, defaultValue) {\n classCallCheck(this, VariableDefinition);\n\n this.name = name;\n this.type = type;\n this.defaultValue = defaultValue;\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the variable as an input value (e.g. `$variableName`).\n *\n * @return {String} The GraphQL query string for the variable as an input value.\n */\n\n\n createClass(VariableDefinition, [{\n key: 'toInputValueString',\n value: function toInputValueString() {\n return '$' + this.name;\n }\n\n /**\n * Returns the GraphQL query string for the variable (e.g. `$variableName:VariableType = defaultValue`).\n *\n * @return {String} The GraphQL query string for the variable.\n */\n\n }, {\n key: 'toString',\n value: function toString() {\n var defaultValueString = this.defaultValue ? ' = ' + formatInputValue(this.defaultValue) : '';\n\n return '$' + this.name + ':' + this.type + defaultValueString;\n }\n }]);\n return VariableDefinition;\n}();\n\nfunction isVariable(value) {\n return VariableDefinition.prototype.isPrototypeOf(value);\n}\n\nfunction variable(name, type, defaultValue) {\n return new VariableDefinition(name, type, defaultValue);\n}\n\nvar Enum = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#enum} to create an Enum.\n *\n * @param {String} key The key of the enum.\n */\n function Enum(key) {\n classCallCheck(this, Enum);\n\n this.key = key;\n }\n\n /**\n * Returns the GraphQL query string for the enum (e.g. `enumKey`).\n *\n * @return {String} The GraphQL query string for the enum.\n */\n\n\n createClass(Enum, [{\n key: \"toString\",\n value: function toString() {\n return this.key;\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n return this.key.valueOf();\n }\n }]);\n return Enum;\n}();\n\nvar enumFunction = (function (key) {\n return new Enum(key);\n});\n\nvar Scalar = function () {\n function Scalar(value) {\n classCallCheck(this, Scalar);\n\n this.value = value;\n }\n\n createClass(Scalar, [{\n key: \"toString\",\n value: function toString() {\n return this.value.toString();\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n return this.value.valueOf();\n }\n }, {\n key: \"unwrapped\",\n get: function get$$1() {\n return this.value;\n }\n }]);\n return Scalar;\n}();\n\nfunction formatInputValue(value) {\n if (VariableDefinition.prototype.isPrototypeOf(value)) {\n return value.toInputValueString();\n } else if (Enum.prototype.isPrototypeOf(value)) {\n return String(value);\n } else if (Scalar.prototype.isPrototypeOf(value)) {\n return JSON.stringify(value.valueOf());\n } else if (Array.isArray(value)) {\n return '[' + join.apply(undefined, toConsumableArray(value.map(formatInputValue))) + ']';\n } else if (isObject(value)) {\n return formatObject(value, '{', '}');\n } else {\n return JSON.stringify(value);\n }\n}\n\nfunction formatObject(value) {\n var openChar = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var closeChar = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n\n var argPairs = Object.keys(value).map(function (key) {\n return key + ': ' + formatInputValue(value[key]);\n });\n\n return '' + openChar + join.apply(undefined, toConsumableArray(argPairs)) + closeChar;\n}\n\nfunction formatArgs(args) {\n if (!Object.keys(args).length) {\n return '';\n }\n\n return ' (' + formatObject(args) + ')';\n}\n\n// eslint-disable-next-line no-empty-function\nvar noop = (function () {});\n\nvar Profiler = {\n trackTypeDependency: noop,\n trackFieldDependency: noop\n};\n\nvar trackTypeDependency = Profiler.trackTypeDependency;\nvar trackFieldDependency = Profiler.trackFieldDependency;\n\n\nfunction parseFieldCreationArgs(creationArgs) {\n var callback = noop;\n var options = {};\n var selectionSet = null;\n\n if (creationArgs.length === 2) {\n if (typeof creationArgs[1] === 'function') {\n var _creationArgs = slicedToArray(creationArgs, 2);\n\n options = _creationArgs[0];\n callback = _creationArgs[1];\n } else {\n var _creationArgs2 = slicedToArray(creationArgs, 2);\n\n options = _creationArgs2[0];\n selectionSet = _creationArgs2[1];\n }\n } else if (creationArgs.length === 1) {\n // SelectionSet is defined before this function is called since it's\n // called by SelectionSet\n // eslint-disable-next-line no-use-before-define\n if (SelectionSet.prototype.isPrototypeOf(creationArgs[0])) {\n selectionSet = creationArgs[0];\n } else if (typeof creationArgs[0] === 'function') {\n callback = creationArgs[0];\n } else {\n options = creationArgs[0];\n }\n }\n\n return { options: options, selectionSet: selectionSet, callback: callback };\n}\n\nvar emptyArgs = Object.freeze({});\n\nvar Field = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Fields are added to a selection by {@link SelectionSetBuilder#add}, {@link SelectionSetBuilder#addConnection}\n * and {@link SelectionSetBuilder#addInlineFragmentOn}.\n *\n * @param {String} name The name of the field.\n * @param {Object} [options] An options object containing:\n * @param {Object} [options.args] Arguments for the field.\n * @param {String} [options.alias] An alias for the field.\n * @param {SelectionSet} selectionSet The selection set on the field.\n */\n function Field(name, options, selectionSet) {\n classCallCheck(this, Field);\n\n this.name = name;\n this.alias = options.alias || null;\n this.responseKey = this.alias || this.name;\n this.args = options.args ? deepFreezeCopyExcept(isVariable, options.args) : emptyArgs;\n this.selectionSet = selectionSet;\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the Field (e.g. `catAlias: cat(size: 'small') { name }` or `name`).\n *\n * @return {String} The GraphQL query string for the Field.\n */\n\n\n createClass(Field, [{\n key: 'toString',\n value: function toString() {\n var aliasPrefix = this.alias ? this.alias + ': ' : '';\n\n return '' + aliasPrefix + this.name + formatArgs(this.args) + this.selectionSet;\n }\n }]);\n return Field;\n}();\n\n// This is an interface that defines a usage, and simplifies type checking\nvar Spread = function Spread() {\n classCallCheck(this, Spread);\n};\n\nvar InlineFragment = function (_Spread) {\n inherits(InlineFragment, _Spread);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link SelectionSetBuilder#addInlineFragmentOn} to create an InlineFragment.\n *\n * @param {String} typeName The type of the fragment.\n * @param {SelectionSet} selectionSet The selection set on the fragment.\n */\n function InlineFragment(typeName, selectionSet) {\n classCallCheck(this, InlineFragment);\n\n var _this = possibleConstructorReturn(this, (InlineFragment.__proto__ || Object.getPrototypeOf(InlineFragment)).call(this));\n\n _this.typeName = typeName;\n _this.selectionSet = selectionSet;\n Object.freeze(_this);\n return _this;\n }\n\n /**\n * Returns the GraphQL query string for the InlineFragment (e.g. `... on Cat { name }`).\n *\n * @return {String} The GraphQL query string for the InlineFragment.\n */\n\n\n createClass(InlineFragment, [{\n key: 'toString',\n value: function toString() {\n return '... on ' + this.typeName + this.selectionSet;\n }\n }]);\n return InlineFragment;\n}(Spread);\n\nvar FragmentSpread = function (_Spread2) {\n inherits(FragmentSpread, _Spread2);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Document#defineFragment} to create a FragmentSpread.\n *\n * @param {FragmentDefinition} fragmentDefinition The corresponding fragment definition.\n */\n function FragmentSpread(fragmentDefinition) {\n classCallCheck(this, FragmentSpread);\n\n var _this2 = possibleConstructorReturn(this, (FragmentSpread.__proto__ || Object.getPrototypeOf(FragmentSpread)).call(this));\n\n _this2.name = fragmentDefinition.name;\n _this2.selectionSet = fragmentDefinition.selectionSet;\n Object.freeze(_this2);\n return _this2;\n }\n\n /**\n * Returns the GraphQL query string for the FragmentSpread (e.g. `...catName`).\n *\n * @return {String} The GraphQL query string for the FragmentSpread.\n */\n\n\n createClass(FragmentSpread, [{\n key: 'toString',\n value: function toString() {\n return '...' + this.name;\n }\n }, {\n key: 'toDefinition',\n value: function toDefinition() {\n // eslint-disable-next-line no-use-before-define\n return new FragmentDefinition(this.name, this.selectionSet.typeSchema.name, this.selectionSet);\n }\n }]);\n return FragmentSpread;\n}(Spread);\n\nvar FragmentDefinition = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Document#defineFragment} to create a FragmentDefinition on a {@link Document}.\n *\n * @param {String} name The name of the fragment definition.\n * @param {String} typeName The type of the fragment.\n */\n function FragmentDefinition(name, typeName, selectionSet) {\n classCallCheck(this, FragmentDefinition);\n\n this.name = name;\n this.typeName = typeName;\n this.selectionSet = selectionSet;\n this.spread = new FragmentSpread(this);\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the FragmentDefinition (e.g. `fragment catName on Cat { name }`).\n *\n * @return {String} The GraphQL query string for the FragmentDefinition.\n */\n\n\n createClass(FragmentDefinition, [{\n key: 'toString',\n value: function toString() {\n return 'fragment ' + this.name + ' on ' + this.typeName + ' ' + this.selectionSet;\n }\n }]);\n return FragmentDefinition;\n}();\n\nfunction selectionsHaveIdField(selections) {\n return selections.some(function (fieldOrFragment) {\n if (Field.prototype.isPrototypeOf(fieldOrFragment)) {\n return fieldOrFragment.name === 'id';\n } else if (Spread.prototype.isPrototypeOf(fieldOrFragment) && fieldOrFragment.selectionSet.typeSchema.implementsNode) {\n return selectionsHaveIdField(fieldOrFragment.selectionSet.selections);\n }\n\n return false;\n });\n}\n\nfunction selectionsHaveTypenameField(selections) {\n return selections.some(function (fieldOrFragment) {\n if (Field.prototype.isPrototypeOf(fieldOrFragment)) {\n return fieldOrFragment.name === '__typename';\n } else if (Spread.prototype.isPrototypeOf(fieldOrFragment) && fieldOrFragment.selectionSet.typeSchema.implementsNode) {\n return selectionsHaveTypenameField(fieldOrFragment.selectionSet.selections);\n }\n\n return false;\n });\n}\n\nfunction indexSelectionsByResponseKey(selections) {\n function assignOrPush(obj, key, value) {\n if (Array.isArray(obj[key])) {\n obj[key].push(value);\n } else {\n obj[key] = [value];\n }\n }\n var unfrozenObject = selections.reduce(function (acc, selection) {\n if (selection.responseKey) {\n assignOrPush(acc, selection.responseKey, selection);\n } else {\n var responseKeys = Object.keys(selection.selectionSet.selectionsByResponseKey);\n\n responseKeys.forEach(function (responseKey) {\n assignOrPush(acc, responseKey, selection);\n });\n }\n\n return acc;\n }, {});\n\n Object.keys(unfrozenObject).forEach(function (key) {\n Object.freeze(unfrozenObject[key]);\n });\n\n return Object.freeze(unfrozenObject);\n}\n\n/**\n * Class that specifies the full selection of data to query.\n */\n\nvar SelectionSet = function () {\n\n /**\n * This constructor should not be invoked directly. SelectionSets are created when building queries/mutations.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {(Object|String)} type The type of the current selection.\n * @param {Function} builderFunction Callback function used to build the SelectionSet.\n * The callback takes a {@link SelectionSetBuilder} as its argument.\n */\n function SelectionSet(typeBundle, type, builderFunction) {\n classCallCheck(this, SelectionSet);\n\n\n if (typeof type === 'string') {\n this.typeSchema = schemaForType(typeBundle, type);\n } else {\n this.typeSchema = type;\n }\n\n trackTypeDependency(this.typeSchema.name);\n\n this.typeBundle = typeBundle;\n this.selections = [];\n if (builderFunction) {\n // eslint-disable-next-line no-use-before-define\n builderFunction(new SelectionSetBuilder(this.typeBundle, this.typeSchema, this.selections));\n }\n\n if (this.typeSchema.implementsNode || this.typeSchema.name === 'Node') {\n if (!selectionsHaveIdField(this.selections)) {\n this.selections.unshift(new Field('id', {}, new SelectionSet(typeBundle, 'ID')));\n }\n }\n\n if (this.typeSchema.kind === 'INTERFACE') {\n if (!selectionsHaveTypenameField(this.selections)) {\n this.selections.unshift(new Field('__typename', {}, new SelectionSet(typeBundle, 'String')));\n }\n }\n\n this.selectionsByResponseKey = indexSelectionsByResponseKey(this.selections);\n Object.freeze(this.selections);\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the SelectionSet (e.g. `{ cat { name } }`).\n *\n * @return {String} The GraphQL query string for the SelectionSet.\n */\n\n\n createClass(SelectionSet, [{\n key: 'toString',\n value: function toString() {\n if (this.typeSchema.kind === 'SCALAR' || this.typeSchema.kind === 'ENUM') {\n return '';\n } else {\n return ' { ' + join(this.selections) + ' }';\n }\n }\n }]);\n return SelectionSet;\n}();\n\nvar SelectionSetBuilder = function () {\n\n /**\n * This constructor should not be invoked directly. SelectionSetBuilders are created when building queries/mutations.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {Object} typeSchema The schema object for the type of the current selection.\n * @param {Field[]} selections The fields on the current selection.\n */\n function SelectionSetBuilder(typeBundle, typeSchema, selections) {\n classCallCheck(this, SelectionSetBuilder);\n\n this.typeBundle = typeBundle;\n this.typeSchema = typeSchema;\n this.selections = selections;\n }\n\n createClass(SelectionSetBuilder, [{\n key: 'hasSelectionWithResponseKey',\n value: function hasSelectionWithResponseKey(responseKey) {\n return this.selections.some(function (field) {\n return field.responseKey === responseKey;\n });\n }\n\n /**\n * Adds a field to be queried on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.add('cat', {args: {id: '123456'}, alias: 'meow'}, (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {SelectionSet|String} selectionOrFieldName The selection or name of the field to add.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{id: '123456'}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'add',\n value: function add(selectionOrFieldName) {\n var selection = void 0;\n\n if (Object.prototype.toString.call(selectionOrFieldName) === '[object String]') {\n trackFieldDependency(this.typeSchema.name, selectionOrFieldName);\n\n for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n selection = this.field.apply(this, [selectionOrFieldName].concat(rest));\n } else {\n if (Field.prototype.isPrototypeOf(selectionOrFieldName)) {\n trackFieldDependency(this.typeSchema.name, selectionOrFieldName.name);\n }\n\n selection = selectionOrFieldName;\n }\n\n if (selection.responseKey && this.hasSelectionWithResponseKey(selection.responseKey)) {\n throw new Error('The field name or alias \\'' + selection.responseKey + '\\' has already been added.');\n }\n this.selections.push(selection);\n }\n }, {\n key: 'field',\n value: function field(name) {\n for (var _len2 = arguments.length, creationArgs = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n creationArgs[_key2 - 1] = arguments[_key2];\n }\n\n var parsedArgs = parseFieldCreationArgs(creationArgs);\n var options = parsedArgs.options,\n callback = parsedArgs.callback;\n var selectionSet = parsedArgs.selectionSet;\n\n\n if (!selectionSet) {\n if (!this.typeSchema.fieldBaseTypes[name]) {\n throw new Error('No field of name \"' + name + '\" found on type \"' + this.typeSchema.name + '\" in schema');\n }\n\n var fieldBaseType = schemaForType(this.typeBundle, this.typeSchema.fieldBaseTypes[name]);\n\n selectionSet = new SelectionSet(this.typeBundle, fieldBaseType, callback);\n }\n\n return new Field(name, options, selectionSet);\n }\n\n /**\n * Creates an inline fragment.\n *\n * @access private\n * @param {String} typeName The type the inline fragment.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n * @return {InlineFragment} An inline fragment.\n */\n\n }, {\n key: 'inlineFragmentOn',\n value: function inlineFragmentOn(typeName) {\n var builderFunctionOrSelectionSet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var selectionSet = void 0;\n\n if (SelectionSet.prototype.isPrototypeOf(builderFunctionOrSelectionSet)) {\n selectionSet = builderFunctionOrSelectionSet;\n } else {\n selectionSet = new SelectionSet(this.typeBundle, schemaForType(this.typeBundle, typeName), builderFunctionOrSelectionSet);\n }\n\n return new InlineFragment(typeName, selectionSet);\n }\n\n /**\n * Adds a field to be queried on the current selection.\n *\n * @access private\n * @param {String} name The name of the field to add to the query.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{id: '123456'}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function} [callback] Callback which will be used to create a new {@link SelectionSet} for the field added.\n */\n\n }, {\n key: 'addField',\n value: function addField(name) {\n for (var _len3 = arguments.length, creationArgs = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n creationArgs[_key3 - 1] = arguments[_key3];\n }\n\n this.add.apply(this, [name].concat(creationArgs));\n }\n\n /**\n * Adds a connection to be queried on the current selection.\n * This adds all the fields necessary for pagination.\n *\n * @example\n * client.query((root) => {\n * root.add('cat', (cat) => {\n * cat.addConnection('friends', {args: {first: 10}, alias: 'coolCats'}, (friends) => {\n * friends.add('name');\n * });\n * });\n * });\n *\n * @param {String} name The name of the connection to add to the query.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{first: 10}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'addConnection',\n value: function addConnection(name) {\n for (var _len4 = arguments.length, creationArgs = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n creationArgs[_key4 - 1] = arguments[_key4];\n }\n\n var _parseFieldCreationAr = parseFieldCreationArgs(creationArgs),\n options = _parseFieldCreationAr.options,\n callback = _parseFieldCreationAr.callback,\n selectionSet = _parseFieldCreationAr.selectionSet;\n\n this.add(name, options, function (connection) {\n connection.add('pageInfo', {}, function (pageInfo) {\n pageInfo.add('hasNextPage');\n pageInfo.add('hasPreviousPage');\n });\n connection.add('edges', {}, function (edges) {\n edges.add('cursor');\n edges.addField('node', {}, selectionSet || callback); // This is bad. Don't do this\n });\n });\n }\n\n /**\n * Adds an inline fragment on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.add('animal', (animal) => {\n * animal.addInlineFragmentOn('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {String} typeName The name of the type of the inline fragment.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'addInlineFragmentOn',\n value: function addInlineFragmentOn(typeName) {\n var fieldTypeCb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n this.add(this.inlineFragmentOn(typeName, fieldTypeCb));\n }\n\n /**\n * Adds a fragment spread on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.addFragment(catFragmentSpread);\n * });\n *\n * @param {FragmentSpread} fragmentSpread The fragment spread to add.\n */\n\n }, {\n key: 'addFragment',\n value: function addFragment(fragmentSpread) {\n this.add(fragmentSpread);\n }\n }]);\n return SelectionSetBuilder;\n}();\n\nfunction parseArgs(args) {\n var name = void 0;\n var variables = void 0;\n var selectionSetCallback = void 0;\n\n if (args.length === 3) {\n var _args = slicedToArray(args, 3);\n\n name = _args[0];\n variables = _args[1];\n selectionSetCallback = _args[2];\n } else if (args.length === 2) {\n if (Object.prototype.toString.call(args[0]) === '[object String]') {\n name = args[0];\n variables = null;\n } else if (Array.isArray(args[0])) {\n variables = args[0];\n name = null;\n }\n\n selectionSetCallback = args[1];\n } else {\n selectionSetCallback = args[0];\n name = null;\n }\n\n return { name: name, variables: variables, selectionSetCallback: selectionSetCallback };\n}\n\nvar VariableDefinitions = function () {\n function VariableDefinitions(variableDefinitions) {\n classCallCheck(this, VariableDefinitions);\n\n this.variableDefinitions = variableDefinitions ? [].concat(toConsumableArray(variableDefinitions)) : [];\n Object.freeze(this.variableDefinitions);\n Object.freeze(this);\n }\n\n createClass(VariableDefinitions, [{\n key: 'toString',\n value: function toString() {\n if (this.variableDefinitions.length === 0) {\n return '';\n }\n\n return ' (' + join(this.variableDefinitions) + ') ';\n }\n }]);\n return VariableDefinitions;\n}();\n\n/**\n * Base class for {@link Query} and {@link Mutation}.\n * @abstract\n */\n\n\nvar Operation = function () {\n\n /**\n * This constructor should not be invoked. The subclasses {@link Query} and {@link Mutation} should be used instead.\n */\n function Operation(typeBundle, operationType) {\n classCallCheck(this, Operation);\n\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var _parseArgs = parseArgs(args),\n name = _parseArgs.name,\n variables = _parseArgs.variables,\n selectionSetCallback = _parseArgs.selectionSetCallback;\n\n this.typeBundle = typeBundle;\n this.name = name;\n this.variableDefinitions = new VariableDefinitions(variables);\n this.operationType = operationType;\n if (operationType === 'query') {\n this.selectionSet = new SelectionSet(typeBundle, typeBundle.queryType, selectionSetCallback);\n this.typeSchema = schemaForType(typeBundle, typeBundle.queryType);\n } else {\n this.selectionSet = new SelectionSet(typeBundle, typeBundle.mutationType, selectionSetCallback);\n this.typeSchema = schemaForType(typeBundle, typeBundle.mutationType);\n }\n Object.freeze(this);\n }\n\n /**\n * Whether the operation is anonymous (i.e. has no name).\n */\n\n\n createClass(Operation, [{\n key: 'toString',\n\n\n /**\n * Returns the GraphQL query or mutation string (e.g. `query myQuery { cat { name } }`).\n *\n * @return {String} The GraphQL query or mutation string.\n */\n value: function toString() {\n var nameString = this.name ? ' ' + this.name : '';\n\n return '' + this.operationType + nameString + this.variableDefinitions + this.selectionSet;\n }\n }, {\n key: 'isAnonymous',\n get: function get$$1() {\n return !this.name;\n }\n }]);\n return Operation;\n}();\n\n/**\n * GraphQL Query class.\n * @extends Operation\n */\n\nvar Query = function (_Operation) {\n inherits(Query, _Operation);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory functions {@link Client#query} or {@link Document#addQuery} to create a Query.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {String} [name] A name for the query.\n * @param {Object[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n */\n function Query(typeBundle) {\n var _ref;\n\n classCallCheck(this, Query);\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return possibleConstructorReturn(this, (_ref = Query.__proto__ || Object.getPrototypeOf(Query)).call.apply(_ref, [this, typeBundle, 'query'].concat(args)));\n }\n\n return Query;\n}(Operation);\n\n/**\n * GraphQL Mutation class.\n * @extends Operation\n */\n\nvar Mutation = function (_Operation) {\n inherits(Mutation, _Operation);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory functions {@link Client#mutation} or {@link Document#addMutation} to create a Mutation.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {String} [name] A name for the mutation.\n * @param {Object[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The mutation builder callback.\n * A {@link SelectionSet} is created using this callback.\n */\n function Mutation(typeBundle) {\n var _ref;\n\n classCallCheck(this, Mutation);\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return possibleConstructorReturn(this, (_ref = Mutation.__proto__ || Object.getPrototypeOf(Mutation)).call.apply(_ref, [this, typeBundle, 'mutation'].concat(args)));\n }\n\n return Mutation;\n}(Operation);\n\nfunction isAnonymous(operation) {\n return operation.isAnonymous;\n}\n\nfunction hasAnonymousOperations(operations) {\n return operations.some(isAnonymous);\n}\n\nfunction hasDuplicateOperationNames(operations) {\n var names = operations.map(function (operation) {\n return operation.name;\n });\n\n return names.reduce(function (hasDuplicates, name, index) {\n return hasDuplicates || names.indexOf(name) !== index;\n }, false);\n}\n\nfunction extractOperation(typeBundle, operationType) {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (Operation.prototype.isPrototypeOf(args[0])) {\n return args[0];\n }\n\n if (operationType === 'query') {\n return new (Function.prototype.bind.apply(Query, [null].concat([typeBundle], args)))();\n } else {\n return new (Function.prototype.bind.apply(Mutation, [null].concat([typeBundle], args)))();\n }\n}\n\nfunction isInvalidOperationCombination(operations) {\n if (operations.length === 1) {\n return false;\n }\n\n return hasAnonymousOperations(operations) || hasDuplicateOperationNames(operations);\n}\n\nfunction fragmentNameIsNotUnique(existingDefinitions, name) {\n return existingDefinitions.some(function (definition) {\n return definition.name === name;\n });\n}\n\nvar Document = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#document} to create a Document.\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n */\n function Document(typeBundle) {\n classCallCheck(this, Document);\n\n this.typeBundle = typeBundle;\n this.definitions = [];\n }\n\n /**\n * Returns the GraphQL query string for the Document (e.g. `query queryOne { ... } query queryTwo { ... }`).\n *\n * @return {String} The GraphQL query string for the Document.\n */\n\n\n createClass(Document, [{\n key: 'toString',\n value: function toString() {\n return join(this.definitions);\n }\n\n /**\n * Adds an operation to the Document.\n *\n * @private\n * @param {String} operationType The type of the operation. Either 'query' or 'mutation'.\n * @param {(Operation|String)} [query|queryName] Either an instance of an operation\n * object, or the name of an operation. Both are optional.\n * @param {Object[]} [variables] A list of variables in the operation. See {@link Client#variable}.\n * @param {Function} [callback] The query builder callback. If an operation\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addOperation',\n value: function addOperation(operationType) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n var operation = extractOperation.apply(undefined, [this.typeBundle, operationType].concat(args));\n\n if (isInvalidOperationCombination(this.operations.concat(operation))) {\n throw new Error('All operations must be uniquely named on a multi-operation document');\n }\n\n this.definitions.push(operation);\n }\n\n /**\n * Adds a query to the Document.\n *\n * @example\n * document.addQuery('myQuery', (root) => {\n * root.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {(Query|String)} [query|queryName] Either an instance of a query\n * object, or the name of a query. Both are optional.\n * @param {Object[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} [callback] The query builder callback. If a query\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addQuery',\n value: function addQuery() {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n this.addOperation.apply(this, ['query'].concat(args));\n }\n\n /**\n * Adds a mutation to the Document.\n *\n * @example\n * const input = client.variable('input', 'CatCreateInput!');\n *\n * document.addMutation('myMutation', [input], (root) => {\n * root.add('catCreate', {args: {input}}, (catCreate) => {\n * catCreate.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {(Mutation|String)} [mutation|mutationName] Either an instance of a mutation\n * object, or the name of a mutation. Both are optional.\n * @param {Object[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} [callback] The mutation builder callback. If a mutation\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addMutation',\n value: function addMutation() {\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n this.addOperation.apply(this, ['mutation'].concat(args));\n }\n\n /**\n * Defines a fragment on the Document.\n *\n * @param {String} name The name of the fragment.\n * @param {String} onType The type the fragment is on.\n * @param {Function} [builderFunction] The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {FragmentSpread} A {@link FragmentSpread} to be used with {@link SelectionSetBuilder#addFragment}.\n */\n\n }, {\n key: 'defineFragment',\n value: function defineFragment(name, onType, builderFunction) {\n if (fragmentNameIsNotUnique(this.fragmentDefinitions, name)) {\n throw new Error('All fragments must be uniquely named on a multi-fragment document');\n }\n\n var selectionSet = new SelectionSet(this.typeBundle, onType, builderFunction);\n var fragment = new FragmentDefinition(name, onType, selectionSet);\n\n this.definitions.push(fragment);\n\n return fragment.spread;\n }\n\n /**\n * All operations ({@link Query} and {@link Mutation}) on the Document.\n */\n\n }, {\n key: 'operations',\n get: function get$$1() {\n return this.definitions.filter(function (definition) {\n return Operation.prototype.isPrototypeOf(definition);\n });\n }\n\n /**\n * All {@link FragmentDefinition}s on the Document.\n */\n\n }, {\n key: 'fragmentDefinitions',\n get: function get$$1() {\n return this.definitions.filter(function (definition) {\n return FragmentDefinition.prototype.isPrototypeOf(definition);\n });\n }\n }]);\n return Document;\n}();\n\n/**\n * The base class used when deserializing response data.\n * Provides rich features, like functions to generate queries to refetch a node or fetch the next page.\n *\n * @class\n */\nvar GraphModel =\n\n/**\n * @param {Object} attrs Attributes on the GraphModel.\n */\nfunction GraphModel(attrs) {\n var _this = this;\n\n classCallCheck(this, GraphModel);\n\n Object.defineProperty(this, 'attrs', { value: attrs, enumerable: false });\n\n Object.keys(this.attrs).filter(function (key) {\n return !(key in _this);\n }).forEach(function (key) {\n var descriptor = void 0;\n\n if (attrs[key] === null) {\n descriptor = {\n enumerable: true,\n get: function get$$1() {\n return null;\n }\n };\n } else {\n descriptor = {\n enumerable: true,\n get: function get$$1() {\n return this.attrs[key].valueOf();\n }\n };\n }\n Object.defineProperty(_this, key, descriptor);\n });\n};\n\n/**\n * A registry of classes used to deserialize the response data. Uses {@link GraphModel} by default.\n */\n\nvar ClassRegistry = function () {\n function ClassRegistry() {\n classCallCheck(this, ClassRegistry);\n\n this.classStore = {};\n }\n\n /**\n * Registers a class for a GraphQL type in the registry.\n *\n * @param {Class} constructor The constructor of the class.\n * @param {String} type The GraphQL type of the object to deserialize into the class.\n */\n\n\n createClass(ClassRegistry, [{\n key: 'registerClassForType',\n value: function registerClassForType(constructor, type) {\n this.classStore[type] = constructor;\n }\n\n /**\n * Unregisters a class for a GraphQL type in the registry.\n *\n * @param {String} type The GraphQL type to unregister.\n */\n\n }, {\n key: 'unregisterClassForType',\n value: function unregisterClassForType(type) {\n delete this.classStore[type];\n }\n\n /**\n * Returns the class for the given GraphQL type.\n *\n * @param {String} type The GraphQL type to look up.\n * @return {Class|GraphModel} The class for the given GraphQL type. Defaults to {@link GraphModel} if no class is registered for the GraphQL type.\n */\n\n }, {\n key: 'classForType',\n value: function classForType(type) {\n return this.classStore[type] || GraphModel;\n }\n }]);\n return ClassRegistry;\n}();\n\nfunction isValue(arg) {\n return Object.prototype.toString.call(arg) !== '[object Null]' && Object.prototype.toString.call(arg) !== '[object Undefined]';\n}\n\nfunction isNodeContext(context) {\n return context.selection.selectionSet.typeSchema.implementsNode;\n}\n\nfunction isConnection(context) {\n return context.selection.selectionSet.typeSchema.name.endsWith('Connection');\n}\n\nfunction nearestNode(context) {\n if (context == null) {\n return null;\n } else if (isNodeContext(context)) {\n return context;\n } else {\n return nearestNode(context.parent);\n }\n}\n\nfunction contextsFromRoot(context) {\n if (context.parent) {\n return contextsFromRoot(context.parent).concat(context);\n } else {\n return [context];\n }\n}\n\nfunction contextsFromNearestNode(context) {\n if (context.selection.selectionSet.typeSchema.implementsNode) {\n return [context];\n } else {\n return contextsFromNearestNode(context.parent).concat(context);\n }\n}\n\nfunction initializeDocumentAndVars(currentContext, contextChain) {\n var lastInChain = contextChain[contextChain.length - 1];\n var first = lastInChain.selection.args.first;\n var variableDefinitions = Object.keys(lastInChain.selection.args).filter(function (key) {\n return isVariable(lastInChain.selection.args[key]);\n }).map(function (key) {\n return lastInChain.selection.args[key];\n });\n\n var firstVar = variableDefinitions.find(function (definition) {\n return definition.name === 'first';\n });\n\n if (!firstVar) {\n firstVar = variable('first', 'Int', first);\n variableDefinitions.push(firstVar);\n }\n\n var document = new Document(currentContext.selection.selectionSet.typeBundle);\n\n return [document, variableDefinitions, firstVar];\n}\n\nfunction addNextFieldTo(currentSelection, contextChain, path, cursor) {\n // There are always at least two. When we start, it's the root context, and the first set\n var nextContext = contextChain.shift();\n\n path.push(nextContext.selection.responseKey);\n\n if (contextChain.length) {\n currentSelection.add(nextContext.selection.name, { alias: nextContext.selection.alias, args: nextContext.selection.args }, function (newSelection) {\n addNextFieldTo(newSelection, contextChain, path, cursor);\n });\n } else {\n var edgesField = nextContext.selection.selectionSet.selections.find(function (field) {\n return field.name === 'edges';\n });\n var nodeField = edgesField.selectionSet.selections.find(function (field) {\n return field.name === 'node';\n });\n var first = void 0;\n\n if (isVariable(nextContext.selection.args.first)) {\n first = nextContext.selection.args.first;\n } else {\n first = variable('first', 'Int', nextContext.selection.args.first);\n }\n\n var options = {\n alias: nextContext.selection.alias,\n args: Object.assign({}, nextContext.selection.args, { after: cursor, first: first })\n };\n\n currentSelection.addConnection(nextContext.selection.name, options, nodeField.selectionSet);\n }\n}\n\nfunction collectFragments(selections) {\n return selections.reduce(function (fragmentDefinitions, field) {\n if (FragmentSpread.prototype.isPrototypeOf(field)) {\n fragmentDefinitions.push(field.toDefinition());\n }\n\n fragmentDefinitions.push.apply(fragmentDefinitions, toConsumableArray(collectFragments(field.selectionSet.selections)));\n\n return fragmentDefinitions;\n }, []);\n}\n\nfunction nextPageQueryAndPath(context, cursor) {\n var nearestNodeContext = nearestNode(context);\n\n if (nearestNodeContext) {\n return function () {\n var _document$definitions;\n\n var path = [];\n var nodeType = nearestNodeContext.selection.selectionSet.typeSchema;\n var nodeId = nearestNodeContext.responseData.id;\n var contextChain = contextsFromNearestNode(context);\n\n var _initializeDocumentAn = initializeDocumentAndVars(context, contextChain),\n _initializeDocumentAn2 = slicedToArray(_initializeDocumentAn, 2),\n document = _initializeDocumentAn2[0],\n variableDefinitions = _initializeDocumentAn2[1];\n\n document.addQuery(variableDefinitions, function (root) {\n path.push('node');\n root.add('node', { args: { id: nodeId } }, function (node) {\n node.addInlineFragmentOn(nodeType.name, function (fragment) {\n addNextFieldTo(fragment, contextChain.slice(1), path, cursor);\n });\n });\n });\n\n var fragments = collectFragments(document.operations[0].selectionSet.selections);\n\n (_document$definitions = document.definitions).unshift.apply(_document$definitions, toConsumableArray(fragments));\n\n return [document, path];\n };\n } else {\n return function () {\n var _document$definitions2;\n\n var path = [];\n var contextChain = contextsFromRoot(context);\n\n var _initializeDocumentAn3 = initializeDocumentAndVars(context, contextChain),\n _initializeDocumentAn4 = slicedToArray(_initializeDocumentAn3, 2),\n document = _initializeDocumentAn4[0],\n variableDefinitions = _initializeDocumentAn4[1];\n\n document.addQuery(variableDefinitions, function (root) {\n addNextFieldTo(root, contextChain.slice(1), path, cursor);\n });\n\n var fragments = collectFragments(document.operations[0].selectionSet.selections);\n\n (_document$definitions2 = document.definitions).unshift.apply(_document$definitions2, toConsumableArray(fragments));\n\n return [document, path];\n };\n }\n}\n\nfunction hasNextPage$1(connection, edge) {\n if (edge !== connection.edges[connection.edges.length - 1]) {\n return new Scalar(true);\n }\n\n return connection.pageInfo.hasNextPage;\n}\n\nfunction hasPreviousPage(connection, edge) {\n if (edge !== connection.edges[0]) {\n return new Scalar(true);\n }\n\n return connection.pageInfo.hasPreviousPage;\n}\n\nfunction transformConnections(variableValues) {\n return function (context, value) {\n if (isConnection(context)) {\n if (!(value.pageInfo && value.pageInfo.hasOwnProperty('hasNextPage') && value.pageInfo.hasOwnProperty('hasPreviousPage'))) {\n throw new Error('Connections must include the selections \"pageInfo { hasNextPage, hasPreviousPage }\".');\n }\n\n return value.edges.map(function (edge) {\n return Object.assign(edge.node, {\n nextPageQueryAndPath: nextPageQueryAndPath(context, edge.cursor),\n hasNextPage: hasNextPage$1(value, edge),\n hasPreviousPage: hasPreviousPage(value, edge),\n variableValues: variableValues\n });\n });\n } else {\n return value;\n }\n };\n}\n\n/* eslint-disable no-warning-comments */\nvar DecodingContext = function () {\n function DecodingContext(selection, responseData) {\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n classCallCheck(this, DecodingContext);\n\n this.selection = selection;\n this.responseData = responseData;\n this.parent = parent;\n Object.freeze(this);\n }\n\n createClass(DecodingContext, [{\n key: 'contextForObjectProperty',\n value: function contextForObjectProperty(responseKey) {\n var nestedSelections = this.selection.selectionSet.selectionsByResponseKey[responseKey];\n var nextSelection = nestedSelections && nestedSelections[0];\n var nextContext = void 0;\n\n // fragment spreads operate inside the current context, so we recurse to get the proper\n // selection set, but retain the current response context\n if (Spread.prototype.isPrototypeOf(nextSelection)) {\n nextContext = new DecodingContext(nextSelection, this.responseData, this.parent);\n } else {\n nextContext = new DecodingContext(nextSelection, this.responseData[responseKey], this);\n }\n\n if (!nextSelection) {\n throw new Error('Unexpected response key \"' + responseKey + '\", not found in selection set: ' + this.selection.selectionSet);\n }\n\n if (Field.prototype.isPrototypeOf(nextSelection)) {\n return nextContext;\n } else {\n return nextContext.contextForObjectProperty(responseKey);\n }\n }\n }, {\n key: 'contextForArrayItem',\n value: function contextForArrayItem(item) {\n return new DecodingContext(this.selection, item, this.parent);\n }\n }]);\n return DecodingContext;\n}();\n\nfunction decodeArrayItems(context, transformers) {\n return context.responseData.map(function (item) {\n return decodeContext(context.contextForArrayItem(item), transformers);\n });\n}\n\nfunction decodeObjectValues(context, transformers) {\n return Object.keys(context.responseData).reduce(function (acc, responseKey) {\n acc[responseKey] = decodeContext(context.contextForObjectProperty(responseKey), transformers);\n\n return acc;\n }, {});\n}\n\nfunction runTransformers(transformers, context, value) {\n return transformers.reduce(function (acc, transformer) {\n return transformer(context, acc);\n }, value);\n}\n\nfunction decodeContext(context, transformers) {\n var value = context.responseData;\n\n if (Array.isArray(value)) {\n value = decodeArrayItems(context, transformers);\n } else if (isObject(value)) {\n value = decodeObjectValues(context, transformers);\n }\n\n return runTransformers(transformers, context, value);\n}\n\nfunction generateRefetchQueries(context, value) {\n if (isValue(value) && isNodeContext(context)) {\n value.refetchQuery = function () {\n return new Query(context.selection.selectionSet.typeBundle, function (root) {\n root.add('node', { args: { id: context.responseData.id } }, function (node) {\n node.addInlineFragmentOn(context.selection.selectionSet.typeSchema.name, context.selection.selectionSet);\n });\n });\n };\n }\n\n return value;\n}\n\nfunction transformPojosToClassesWithRegistry(classRegistry) {\n return function transformPojosToClasses(context, value) {\n if (isObject(value)) {\n var Klass = classRegistry.classForType(context.selection.selectionSet.typeSchema.name);\n\n return new Klass(value);\n } else {\n return value;\n }\n };\n}\n\nfunction transformScalars(context, value) {\n if (isValue(value)) {\n if (context.selection.selectionSet.typeSchema.kind === 'SCALAR') {\n return new Scalar(value);\n } else if (context.selection.selectionSet.typeSchema.kind === 'ENUM') {\n return new Enum(value);\n }\n }\n\n return value;\n}\n\nfunction recordTypeInformation(context, value) {\n if (isValue(value)) {\n if (value.__typename) {\n value.type = schemaForType(context.selection.selectionSet.typeBundle, value.__typename);\n } else {\n value.type = context.selection.selectionSet.typeSchema;\n }\n }\n\n return value;\n}\n\nfunction defaultTransformers(_ref) {\n var _ref$classRegistry = _ref.classRegistry,\n classRegistry = _ref$classRegistry === undefined ? new ClassRegistry() : _ref$classRegistry,\n variableValues = _ref.variableValues;\n\n return [transformScalars, generateRefetchQueries, transformConnections(variableValues), recordTypeInformation, transformPojosToClassesWithRegistry(classRegistry)];\n}\n\n/**\n * A function used to decode the response data.\n *\n * @function decode\n * @param {SelectionSet} selection The selection set used to query the response data.\n * @param {Object} responseData The response data returned.\n * @param {Object} [options] Options to use when decoding including:\n * @param {ClassRegistry} [options.classRegistry] A class registry to use when deserializing the data into classes.\n * @return {GraphModel} The decoded response data.\n */\nfunction decode(selection, responseData) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var transformers = options.transformers || defaultTransformers(options);\n var context = new DecodingContext(selection, responseData);\n\n return decodeContext(context, transformers);\n}\n\nfunction httpFetcher(url) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return function fetcher(graphQLParams) {\n return fetch(url, _extends({\n body: JSON.stringify(graphQLParams),\n method: 'POST',\n mode: 'cors'\n }, options, {\n headers: _extends({\n 'Content-Type': 'application/json',\n Accept: 'application/json'\n }, options.headers)\n })).then(function (response) {\n return response.json();\n });\n };\n}\n\nfunction hasNextPage(paginatedModels) {\n return paginatedModels && paginatedModels.length && paginatedModels[paginatedModels.length - 1].hasNextPage;\n}\n\n/**\n * The Client class used to create and send GraphQL documents, fragments, queries and mutations.\n */\n\nvar Client = function () {\n\n /**\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {Object} options An options object. Must include either `url` and optional `fetcherOptions` OR a `fetcher` function.\n * @param {(String|Function)} options.url|fetcher Either the URL of the GraphQL API endpoint, or a custom fetcher function for further customization.\n * @param {Object} [options.fetcherOptions] Additional options to use with `fetch`, like headers. Do not specify this argument if `fetcher` is specified.\n * @param {ClassRegistry} [options.registry=new ClassRegistry()] A {@link ClassRegistry} used to decode the response data.\n */\n function Client(typeBundle, _ref) {\n var url = _ref.url,\n fetcherOptions = _ref.fetcherOptions,\n fetcher = _ref.fetcher,\n _ref$registry = _ref.registry,\n registry = _ref$registry === undefined ? new ClassRegistry() : _ref$registry;\n classCallCheck(this, Client);\n\n this.typeBundle = typeBundle;\n this.classRegistry = registry;\n\n if (url && fetcher) {\n throw new Error('Arguments not supported: supply either `url` and optional `fetcherOptions` OR use a `fetcher` function for further customization.');\n }\n\n if (url) {\n this.fetcher = httpFetcher(url, fetcherOptions);\n } else if (fetcher) {\n if (fetcherOptions) {\n throw new Error('Arguments not supported: when specifying your own `fetcher`, set options through it and not with `fetcherOptions`');\n }\n\n this.fetcher = fetcher;\n } else {\n throw new Error('Invalid arguments: one of `url` or `fetcher` is needed.');\n }\n }\n\n /**\n * Creates a GraphQL document.\n *\n * @example\n * const document = client.document();\n *\n * @return {Document} A GraphQL document.\n */\n\n\n createClass(Client, [{\n key: 'document',\n value: function document() {\n return new Document(this.typeBundle);\n }\n\n /**\n * Creates a GraphQL query.\n *\n * @example\n * const query = client.query('myQuery', (root) => {\n * root.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {String} [name] A name for the query.\n * @param {VariableDefinition[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {Query} A GraphQL query.\n */\n\n }, {\n key: 'query',\n value: function query() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return new (Function.prototype.bind.apply(Query, [null].concat([this.typeBundle], args)))();\n }\n\n /**\n * Creates a GraphQL mutation.\n *\n * @example\n * const input = client.variable('input', 'CatCreateInput!');\n *\n * const mutation = client.mutation('myMutation', [input], (root) => {\n * root.add('catCreate', {args: {input}}, (catCreate) => {\n * catCreate.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {String} [name] A name for the mutation.\n * @param {VariableDefinition[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The mutation builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {Mutation} A GraphQL mutation.\n */\n\n }, {\n key: 'mutation',\n value: function mutation() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return new (Function.prototype.bind.apply(Mutation, [null].concat([this.typeBundle], args)))();\n }\n\n /**\n * Sends a GraphQL operation (query or mutation) or a document.\n *\n * @example\n * client.send(query, {id: '12345'}).then((result) => {\n * // Do something with the returned result\n * console.log(result);\n * });\n *\n * @param {(Query|Mutation|Document|Function)} request The operation or document to send. If represented\n * as a function, it must return `Query`, `Mutation`, or `Document` and recieve the client as the only param.\n * @param {Object} [variableValues] The values for variables in the operation or document.\n * @param {Object} [otherProperties] Other properties to send with the query. For example, a custom operation name.\n * @return {Promise.} A promise resolving to an object containing the response data.\n */\n\n }, {\n key: 'send',\n value: function send(request) {\n var _this = this;\n\n var variableValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var otherProperties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n var operationOrDocument = void 0;\n\n if (Function.prototype.isPrototypeOf(request)) {\n operationOrDocument = request(this);\n } else {\n operationOrDocument = request;\n }\n\n var graphQLParams = { query: operationOrDocument.toString() };\n\n if (variableValues) {\n graphQLParams.variables = variableValues;\n }\n\n Object.assign(graphQLParams, otherProperties);\n\n var operation = void 0;\n\n if (Operation.prototype.isPrototypeOf(operationOrDocument)) {\n operation = operationOrDocument;\n } else {\n var document = operationOrDocument;\n\n if (document.operations.length === 1) {\n operation = document.operations[0];\n } else if (otherProperties.operationName) {\n operation = document.operations.find(function (documentOperation) {\n return documentOperation.name === otherProperties.operationName;\n });\n } else {\n throw new Error('\\n A document must contain exactly one operation, or an operationName\\n must be specified. Example:\\n\\n client.send(document, null, {operationName: \\'myFancyQuery\\'});\\n ');\n }\n }\n\n return this.fetcher(graphQLParams).then(function (response) {\n if (response.data) {\n response.model = decode(operation, response.data, {\n classRegistry: _this.classRegistry,\n variableValues: variableValues\n });\n }\n\n return response;\n });\n }\n\n /**\n * Fetches the next page of a paginated node or array of nodes.\n *\n * @example\n * client.fetchNextPage(node, {first: 10}).then((result) => {\n * // Do something with the next page\n * console.log(result);\n * });\n *\n * @param {(GraphModel|GraphModel[])} nodeOrNodes The node or list of nodes on which to fetch the next page.\n * @param {Object} [options] Options object containing:\n * @param {Integer} [options.first] The number of nodes to query on the next page. Defaults to the page size of the previous query.\n * @return {Promise.} A promise resolving with the next page of {@link GraphModel}s.\n */\n\n }, {\n key: 'fetchNextPage',\n value: function fetchNextPage(nodeOrNodes, options) {\n var node = void 0;\n\n if (Array.isArray(nodeOrNodes)) {\n node = nodeOrNodes[nodeOrNodes.length - 1];\n } else {\n node = nodeOrNodes;\n }\n\n var _node$nextPageQueryAn = node.nextPageQueryAndPath(),\n _node$nextPageQueryAn2 = slicedToArray(_node$nextPageQueryAn, 2),\n query = _node$nextPageQueryAn2[0],\n path = _node$nextPageQueryAn2[1];\n\n var variableValues = void 0;\n\n if (node.variableValues || options) {\n variableValues = Object.assign({}, node.variableValues, options);\n }\n\n return this.send(query, variableValues).then(function (response) {\n response.model = path.reduce(function (object, key) {\n return object[key];\n }, response.model);\n\n return response;\n });\n }\n\n /**\n * Fetches all subsequent pages of a paginated array of nodes.\n *\n * @example\n * client.fetchAllPages(nodes, {pageSize: 20}).then((result) => {\n * // Do something with all the models\n * console.log(result);\n * });\n *\n * @param {GraphModel[]} paginatedModels The list of nodes on which to fetch all pages.\n * @param {Object} options Options object containing:\n * @param {Integer} options.pageSize The number of nodes to query on each page.\n * @return {Promise.} A promise resolving with all pages of {@link GraphModel}s, including the original list.\n */\n\n }, {\n key: 'fetchAllPages',\n value: function fetchAllPages(paginatedModels, _ref2) {\n var _this2 = this;\n\n var pageSize = _ref2.pageSize;\n\n if (hasNextPage(paginatedModels)) {\n return this.fetchNextPage(paginatedModels, { first: pageSize }).then(function (_ref3) {\n var model = _ref3.model;\n\n var pages = paginatedModels.concat(model);\n\n return _this2.fetchAllPages(pages, { pageSize: pageSize });\n });\n }\n\n return Promise.resolve(paginatedModels);\n }\n\n /**\n * Refetches a {@link GraphModel} whose type implements `Node`.\n *\n * @example\n * client.refetch(node).then((result) => {\n * // Do something with the refetched node\n * console.log(result);\n * });\n *\n * @param {GraphModel} nodeType A {@link GraphModel} whose type implements `Node`.\n * @return {Promise.} The refetched {@link GraphModel}.\n */\n\n }, {\n key: 'refetch',\n value: function refetch(nodeType) {\n if (!nodeType) {\n throw new Error('\\'client#refetch\\' must be called with a non-null instance of a Node.');\n } else if (!nodeType.type.implementsNode) {\n throw new Error('\\'client#refetch\\' must be called with a type that implements Node. Received ' + nodeType.type.name + '.');\n }\n\n return this.send(nodeType.refetchQuery()).then(function (_ref4) {\n var model = _ref4.model;\n return model.node;\n });\n }\n\n /**\n * Creates a variable to be used in a {@link Query} or {@link Mutation}.\n *\n * @example\n * const idVariable = client.variable('id', 'ID!', '12345');\n *\n * @param {String} name The name of the variable.\n * @param {String} type The GraphQL type of the variable.\n * @param {*} [defaultValue] The default value of the variable.\n * @return {VariableDefinition} A variable object that can be used in a {@link Query} or {@link Mutation}.\n */\n\n }, {\n key: 'variable',\n value: function variable$$1(name, type, defaultValue) {\n return variable(name, type, defaultValue);\n }\n\n /**\n * Creates an enum to be used in a {@link Query} or {@link Mutation}.\n *\n * @example\n * const titleEnum = client.enum('TITLE');\n *\n * @param {String} key The key of the enum.\n * @return {Enum} An enum object that can be used in a {@link Query} or {@link Mutation}.\n */\n\n }, {\n key: 'enum',\n value: function _enum(key) {\n return enumFunction(key);\n }\n }]);\n return Client;\n}();\n\nexport { ClassRegistry, GraphModel, decode };export default Client;\n//# sourceMappingURL=index.es.js.map\n","/**\n * The class used to configure the JS Buy SDK Client.\n * @class\n */\nclass Config {\n\n /**\n * Properties that must be set on initializations\n * @attribute requiredProperties\n * @default ['storefrontAccessToken', 'domain']\n * @type Array\n * @private\n */\n get requiredProperties() {\n return [\n 'storefrontAccessToken',\n 'domain'\n ];\n }\n\n /**\n * Deprecated properties that map directly to required properties\n * @attribute deprecatedProperties\n * @default {'accessToken': 'storefrontAccessToken', 'apiKey': 'storefrontAccessToken'}\n * @type Object\n * @private\n */\n get deprecatedProperties() {\n return {\n accessToken: 'storefrontAccessToken',\n apiKey: 'storefrontAccessToken'\n };\n }\n\n /**\n * @constructs Config\n * @param {Object} attrs An object specifying the configuration. Requires the following properties:\n * @param {String} attrs.storefrontAccessToken The {@link https://help.shopify.com/api/reference/storefront_access_token|Storefront access token} for the shop.\n * @param {String} attrs.domain The `myshopify` domain for the shop (e.g. `graphql.myshopify.com`).\n */\n constructor(attrs) {\n Object.keys(this.deprecatedProperties).forEach((key) => {\n if (!attrs.hasOwnProperty(key)) { return; }\n // eslint-disable-next-line no-console\n console.warn(`[ShopifyBuy] Config property ${key} is deprecated as of v1.0, please use ${this.deprecatedProperties[key]} instead.`);\n attrs[this.deprecatedProperties[key]] = attrs[key];\n });\n\n this.requiredProperties.forEach((key) => {\n if (attrs.hasOwnProperty(key)) {\n this[key] = attrs[key];\n } else {\n throw new Error(`new Config() requires the option '${key}'`);\n }\n });\n }\n}\n\nexport default Config;\n","export default class Resource {\n constructor(client) {\n this.graphQLClient = client;\n }\n}\n","export const defaultErrors = [{message: 'an unknown error has occured.'}];\n\nexport default function defaultResolver(path) {\n const keys = path.split('.');\n\n return function({model, errors}) {\n return new Promise((resolve, reject) => {\n try {\n const result = keys.reduce((ref, key) => {\n return ref[key];\n }, model);\n\n resolve(result);\n } catch (_) {\n if (errors) {\n reject(errors);\n } else {\n reject(defaultErrors);\n }\n }\n });\n };\n}\n","export default function fetchResourcesForProducts(productOrProduct, client) {\n const products = [].concat(productOrProduct);\n\n return Promise.all(products.reduce((promiseAcc, product) => {\n // Fetch the rest of the images and variants for this product\n promiseAcc.push(client.fetchAllPages(product.images, {pageSize: 250}).then((images) => {\n product.attrs.images = images;\n }));\n\n promiseAcc.push(client.fetchAllPages(product.variants, {pageSize: 250}).then((variants) => {\n product.attrs.variants = variants;\n }));\n\n return promiseAcc;\n }, []));\n}\n","import fetchResourcesForProducts from './fetch-resources-for-products';\n\nexport function paginateProductConnectionsAndResolve(client) {\n return function(products) {\n return fetchResourcesForProducts(products, client).then(() => {\n return products;\n });\n };\n}\n\nexport function paginateCollectionsProductConnectionsAndResolve(client) {\n return function(collectionOrCollections) {\n const collections = [].concat(collectionOrCollections);\n\n return Promise.all(collections.reduce((promiseAcc, collection) => {\n return promiseAcc.concat(fetchResourcesForProducts(collection.products, client));\n }, [])).then(() => {\n return collectionOrCollections;\n });\n };\n}\n","/**\n * @namespace ProductHelpers\n */\nexport default {\n\n /**\n * Returns the variant of a product corresponding to the options given.\n *\n * @example\n * const selectedVariant = client.product.variantForOptions(product, {\n * size: \"Small\",\n * color: \"Red\"\n * });\n *\n * @memberof ProductHelpers\n * @method variantForOptions\n * @param {GraphModel} product The product to find the variant on. Must include `variants`.\n * @param {Object} options An object containing the options for the variant.\n * @return {GraphModel} The variant corresponding to the options given.\n */\n variantForOptions(product, options) {\n return product.variants.find((variant) => {\n return variant.selectedOptions.every((selectedOption) => {\n return options[selectedOption.name] === selectedOption.value.valueOf();\n });\n });\n }\n};\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport {paginateProductConnectionsAndResolve} from './paginators';\nimport productHelpers from './product-helpers';\n\n// GraphQL\nimport productNodeQuery from './graphql/productNodeQuery.graphql';\nimport productNodesQuery from './graphql/productNodesQuery.graphql';\nimport productConnectionQuery from './graphql/productConnectionQuery.graphql';\nimport productByHandleQuery from './graphql/productByHandleQuery.graphql';\n\n/**\n * The JS Buy SDK product resource\n * @class\n */\nclass ProductResource extends Resource {\n get helpers() {\n return productHelpers;\n }\n\n /**\n * Fetches all products on the shop.\n *\n * @example\n * client.product.fetchAll().then((products) => {\n * // Do something with the products\n * });\n *\n * @param {Int} [pageSize] The number of products to fetch per page\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the products.\n */\n fetchAll(first = 20) {\n return this.graphQLClient\n .send(productConnectionQuery, {first})\n .then(defaultResolver('shop.products'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single product by ID on the shop.\n *\n * @example\n * client.product.fetch('Xk9lM2JkNzFmNzIQ4NTIY4ZDFi9DaGVja291dC9lM2JkN==').then((product) => {\n * // Do something with the product\n * });\n *\n * @param {String} id The id of the product to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the product.\n */\n fetch(id) {\n return this.graphQLClient\n .send(productNodeQuery, {id})\n .then(defaultResolver('node'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches multiple products by ID on the shop.\n *\n * @example\n * const ids = ['Xk9lM2JkNzFmNzIQ4NTIY4ZDFi9DaGVja291dC9lM2JkN==', 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ='];\n * client.product.fetchMultiple(ids).then((products) => {\n * // Do something with the products\n * });\n *\n * @param {String[]} ids The ids of the products to fetch\n * @return {Promise|GraphModel[]} A promise resolving with a `GraphModel` of the product.\n */\n fetchMultiple(ids) {\n return this.graphQLClient\n .send(productNodesQuery, {ids})\n .then(defaultResolver('nodes'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single product by handle on the shop.\n *\n * @example\n * client.product.fetchByHandle('my-product').then((product) => {\n * // Do something with the product\n * });\n *\n * @param {String} handle The handle of the product to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the product.\n */\n fetchByHandle(handle) {\n return this.graphQLClient\n .send(productByHandleQuery, {handle})\n .then(defaultResolver('shop.productByHandle'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches all products on the shop that match the query.\n *\n * @example\n * client.product.fetchQuery({first: 20, sortKey: 'CREATED_AT', reverse: true}).then((products) => {\n * // Do something with the first 10 products sorted by title in ascending order\n * });\n *\n * @param {Object} [args] An object specifying the query data containing zero or more of:\n * @param {Int} [args.first=20] The relay `first` param. This specifies page size.\n * @param {String} [args.sortKey=ID] The key to sort results by. Available values are\n * documented as {@link https://help.shopify.com/api/storefront-api/reference/enum/productsortkeys|Product Sort Keys}.\n * @param {String} [args.query] A query string. See full documentation {@link https://help.shopify.com/api/storefront-api/reference/object/shop#products|here}\n * @param {Boolean} [args.reverse] Whether or not to reverse the sort order of the results\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the products.\n */\n fetchQuery({first = 20, sortKey = 'ID', query, reverse} = {}) {\n return this.graphQLClient\n .send(productConnectionQuery, {\n first,\n sortKey,\n query,\n reverse\n })\n .then(defaultResolver('shop.products'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n}\n\nexport default ProductResource;\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport {paginateCollectionsProductConnectionsAndResolve} from './paginators';\n\n// GraphQL\nimport collectionNodeQuery from './graphql/collectionNodeQuery.graphql';\nimport collectionNodeWithProductsQuery from './graphql/collectionNodeWithProductsQuery.graphql';\nimport collectionConnectionQuery from './graphql/collectionConnectionQuery.graphql';\nimport collectionConnectionWithProductsQuery from './graphql/collectionConnectionWithProductsQuery.graphql';\nimport collectionByHandleQuery from './graphql/collectionByHandleQuery.graphql';\n\n/**\n * The JS Buy SDK collection resource\n * @class\n */\nclass CollectionResource extends Resource {\n\n /**\n * Fetches all collections on the shop, not including products.\n * To fetch collections with products use [fetchAllsWithProducts]{@link Client#fetchAllsWithProducts}.\n *\n * @example\n * client.collection.fetchAll().then((collections) => {\n * // Do something with the collections\n * });\n *\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchAll(first = 20) {\n return this.graphQLClient\n .send(collectionConnectionQuery, {first})\n .then(defaultResolver('shop.collections'));\n }\n\n /**\n * Fetches all collections on the shop, including products.\n *\n * @example\n * client.collection.fetchAllWithProducts().then((collections) => {\n * // Do something with the collections\n * });\n *\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchAllWithProducts({first = 20, productsFirst = 20} = {}) {\n return this.graphQLClient\n .send(collectionConnectionWithProductsQuery, {first, productsFirst})\n .then(defaultResolver('shop.collections'))\n .then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single collection by ID on the shop, not including products.\n * To fetch the collection with products use [fetchWithProducts]{@link Client#fetchWithProducts}.\n *\n * @example\n * client.collection.fetch('Xk9lM2JkNzFmNzIQ4NTIY4ZDFiZTUyZTUwNTE2MDNhZjg==').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} id The id of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetch(id) {\n return this.graphQLClient\n .send(collectionNodeQuery, {id})\n .then(defaultResolver('node'));\n }\n\n /**\n * Fetches a single collection by ID on the shop, including products.\n *\n * @example\n * client.collection.fetchWithProducts('Xk9lM2JkNzFmNzIQ4NTIY4ZDFiZTUyZTUwNTE2MDNhZjg==').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} id The id of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetchWithProducts(id) {\n return this.graphQLClient\n .send(collectionNodeWithProductsQuery, {id})\n .then(defaultResolver('node'))\n .then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a collection by handle on the shop.\n *\n * @example\n * client.collection.fetchByHandle('my-collection').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} handle The handle of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetchByHandle(handle) {\n return this.graphQLClient\n .send(collectionByHandleQuery, {handle})\n .then(defaultResolver('shop.collectionByHandle'));\n }\n\n /**\n * Fetches all collections on the shop that match the query.\n *\n * @example\n * client.collection.fetchQuery({first: 20, sortKey: 'CREATED_AT', reverse: true}).then((collections) => {\n * // Do something with the first 10 collections sorted by title in ascending order\n * });\n *\n * @param {Object} [args] An object specifying the query data containing zero or more of:\n * @param {Int} [args.first=20] The relay `first` param. This specifies page size.\n * @param {String} [args.sortKey=ID] The key to sort results by. Available values are\n * documented as {@link https://help.shopify.com/api/storefront-api/reference/enum/collectionsortkeys|Collection Sort Keys}.\n * @param {String} [args.query] A query string. See full documentation {@link https://help.shopify.com/api/storefront-api/reference/object/shop#collections|here}\n * @param {Boolean} [args.reverse] Whether or not to reverse the sort order of the results\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchQuery({first = 20, sortKey = 'ID', query, reverse} = {}) {\n return this.graphQLClient.send(collectionConnectionQuery, {\n first,\n sortKey,\n query,\n reverse\n }).then(defaultResolver('shop.collections'));\n }\n}\nexport default CollectionResource;\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\n\n// GraphQL\nimport shopQuery from './graphql/shopQuery.graphql';\nimport shopPolicyQuery from './graphql/shopPolicyQuery.graphql';\n\n/**\n * The JS Buy SDK shop resource\n * @class\n */\nclass ShopResource extends Resource {\n\n /**\n * Fetches shop information (`currencyCode`, `description`, `moneyFormat`, `name`, and `primaryDomain`).\n * See the {@link https://help.shopify.com/api/storefront-api/reference/object/shop|Storefront API reference} for more information.\n *\n * @example\n * client.shop.fetchInfo().then((shop) => {\n * // Do something with the shop\n * });\n *\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the shop.\n */\n fetchInfo() {\n return this.graphQLClient\n .send(shopQuery)\n .then(defaultResolver('shop'));\n }\n\n /**\n * Fetches shop policies (privacy policy, terms of service and refund policy).\n *\n * @example\n * client.shop.fetchPolicies().then((shop) => {\n * // Do something with the shop\n * });\n *\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the shop.\n */\n fetchPolicies() {\n return this.graphQLClient\n .send(shopPolicyQuery)\n .then(defaultResolver('shop'));\n }\n}\n\nexport default ShopResource;\n","export default function handleCheckoutMutation(mutationRootKey, client) {\n return function({data, errors, model}) {\n const rootData = data[mutationRootKey];\n const rootModel = model[mutationRootKey];\n\n if (rootData && rootData.checkout) {\n return client.fetchAllPages(rootModel.checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n rootModel.checkout.attrs.lineItems = lineItems;\n rootModel.checkout.errors = errors;\n rootModel.checkout.userErrors = rootModel.userErrors;\n\n return rootModel.checkout;\n });\n }\n\n if (errors && errors.length) {\n return Promise.reject(new Error(JSON.stringify(errors)));\n }\n\n if (rootData && rootData.userErrors && rootData.userErrors.length) {\n return Promise.reject(new Error(JSON.stringify(rootData.userErrors)));\n }\n\n return Promise.reject(new Error(`The ${mutationRootKey} mutation failed due to an unknown error.`));\n };\n}\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport handleCheckoutMutation from './handle-checkout-mutation';\n\n// GraphQL\nimport checkoutNodeQuery from './graphql/checkoutNodeQuery.graphql';\nimport checkoutNodeQueryWithAddress from './graphql/checkoutNodeQueryWithAddress.graphql';\nimport checkoutCreateMutation from './graphql/checkoutCreateMutation.graphql';\nimport checkoutLineItemsAddMutation from './graphql/checkoutLineItemsAddMutation.graphql';\nimport checkoutLineItemsRemoveMutation from './graphql/checkoutLineItemsRemoveMutation.graphql';\nimport checkoutLineItemsUpdateMutation from './graphql/checkoutLineItemsUpdateMutation.graphql';\nimport checkoutAttributesUpdateMutation from './graphql/checkoutAttributesUpdateMutation.graphql';\nimport checkoutDiscountCodeApplyMutation from './graphql/checkoutDiscountCodeApplyMutation.graphql';\nimport checkoutDiscountCodeRemoveMutation from './graphql/checkoutDiscountCodeRemoveMutation.graphql';\nimport checkoutShippingAddressUpdateMutation from './graphql/checkoutShippingAddressUpdateMutation.graphql';\nimport checkoutShippingLineUpdateMutation from './graphql/checkoutShippingLineUpdateMutation.graphql';\n\n/**\n * The JS Buy SDK checkout resource\n * @class\n */\nclass CheckoutResource extends Resource {\n\n /**\n * Fetches a checkout by ID.\n *\n * @example\n * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {\n * // Do something with the checkout\n * });\n *\n * @param {String} id The id of the checkout to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.\n */\n fetch(id) {\n return this.graphQLClient\n .send(checkoutNodeQuery, {id})\n .then(defaultResolver('node'))\n .then((checkout) => {\n return this.graphQLClient.fetchAllPages(checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n checkout.attrs.lineItems = lineItems;\n\n return checkout;\n });\n });\n }\n\n /**\n * Fetches a checkout by ID.\n *\n * @example\n * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {\n * // Do something with the checkout\n * });\n *\n * @param {String} id The id of the checkout to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.\n */\n fetchWithAddress(id) {\n return this.graphQLClient\n .send(checkoutNodeQueryWithAddress, {id})\n .then(defaultResolver('node'))\n .then((checkout) => {\n return this.graphQLClient.fetchAllPages(checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n checkout.attrs.lineItems = lineItems;\n\n return checkout;\n });\n });\n }\n\n /**\n * Creates a checkout.\n *\n * @example\n * const input = {\n * lineItems: [\n * {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}\n * ]\n * };\n *\n * client.checkout.create(input).then((checkout) => {\n * // Do something with the newly created checkout\n * });\n *\n * @param {Object} [input] An input object containing zero or more of:\n * @param {String} [input.email] An email connected to the checkout.\n * @param {Object[]} [input.lineItems] A list of line items in the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @param {Object} [input.shippingAddress] A shipping address. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/mailingaddressinput|Storefront API reference} for valid input fields.\n * @param {String} [input.note] A note for the checkout.\n * @param {Object[]} [input.customAttributes] A list of custom attributes for the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/attributeinput|Storefront API reference} for valid input fields.\n * @return {Promise|GraphModel} A promise resolving with the created checkout.\n */\n create(input = {}) {\n return this.graphQLClient\n .send(checkoutCreateMutation, {input})\n .then(handleCheckoutMutation('checkoutCreate', this.graphQLClient));\n }\n\n /**\n * Replaces the value of checkout's custom attributes and/or note with values defined in the input\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const input = {customAttributes: [{key: \"MyKey\", value: \"MyValue\"}]};\n *\n * client.checkout.updateAttributes(checkoutId, input).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update.\n * @param {Object} [input] An input object containing zero or more of:\n * @param {Boolean} [input.allowPartialAddresses] An email connected to the checkout.\n * @param {Object[]} [input.customAttributes] A list of custom attributes for the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/attributeinput|Storefront API reference} for valid input fields.\n * @param {String} [input.note] A note for the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateAttributes(checkoutId, input = {}) {\n return this.graphQLClient\n .send(checkoutAttributesUpdateMutation, {checkoutId, input})\n .then(handleCheckoutMutation('checkoutAttributesUpdate', this.graphQLClient));\n }\n\n /**\n * Adds line items to an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];\n *\n * client.checkout.addLineItems(checkoutId, lineItems).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add line items to.\n * @param {Object[]} lineItems A list of line items to add to the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n addLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsAddMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsAdd', this.graphQLClient));\n }\n\n /**\n * Applies a discount to an existing checkout using a discount code.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const discountCode = 'best-discount-ever';\n *\n * client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add discount to.\n * @param {String} discountCode The discount code to apply to the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n addDiscount(checkoutId, discountCode) {\n return this.graphQLClient\n .send(checkoutDiscountCodeApplyMutation, {checkoutId, discountCode})\n .then(handleCheckoutMutation('checkoutDiscountCodeApply', this.graphQLClient));\n }\n\n /**\n * Applies a discount to an existing checkout using a discount code.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const discountCode = 'best-discount-ever';\n *\n * client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add discount to.\n * @param {String} discountCode The discount code to apply to the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n removeDiscount(checkoutId, discountCode) {\n return this.graphQLClient\n .send(checkoutDiscountCodeRemoveMutation, {checkoutId, discountCode})\n .then(handleCheckoutMutation('checkoutDiscountCodeRemove', this.graphQLClient));\n }\n\n /**\n * Removes line items from an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItemIds = ['TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU='];\n *\n * client.checkout.removeLineItems(checkoutId, lineItemIds).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to remove line items from.\n * @param {String[]} lineItemIds A list of the ids of line items to remove from the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n removeLineItems(checkoutId, lineItemIds) {\n return this.graphQLClient\n .send(checkoutLineItemsRemoveMutation, {checkoutId, lineItemIds})\n .then(handleCheckoutMutation('checkoutLineItemsRemove', this.graphQLClient));\n }\n\n /**\n * Updates line items on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [\n * {\n * id: 'TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU=',\n * quantity: 5,\n * variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg=='\n * }\n * ];\n *\n * client.checkout.updateLineItems(checkoutId, lineItems).then(checkout => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update a line item on.\n * @param {Object[]} lineItems A list of line item information to update. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineitemupdateinput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsUpdateMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsUpdate', this.graphQLClient));\n }\n\n /**\n * Updates shipping address on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const shippingAddress = {\n * address1: 'Chestnut Street 92',\n * address2: 'Apartment 2\"',\n * city: 'Louisville',\n * company: null,\n * country: 'United States',\n * firstName: 'Bob',\n * lastName: 'Norman',\n * phone: '555-625-1199',\n * province: 'Kentucky',\n * zip: '40202'\n * };\n *\n *\n * client.checkout.updateShippingAddress(checkoutId, shippingAddress).then(checkout => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update shipping address.\n * @param {Object} shippingAddress A shipping address.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateShippingAddress(checkoutId, shippingAddress) {\n return this.graphQLClient\n .send(checkoutShippingAddressUpdateMutation, {checkoutId, shippingAddress})\n .then(handleCheckoutMutation('checkoutShippingAddressUpdate', this.graphQLClient));\n }\n\n updateShippingLines(checkoutId, shippingRateHandle) {\n return this.graphQLClient\n .send(checkoutShippingLineUpdateMutation, {checkoutId, shippingRateHandle})\n .then(handleCheckoutMutation('checkoutShippingLineUpdate', this.graphQLClient));\n }\n}\n\nexport default CheckoutResource;\n","/**\n * @namespace ImageHelpers\n */\nexport default {\n\n /**\n * Generates the image src for a resized image with maximum dimensions `maxWidth` and `maxHeight`.\n * Images do not scale up.\n *\n * @example\n * const url = client.image.helpers.imageForSize(product.variants[0].image, {maxWidth: 50, maxHeight: 50});\n *\n * @memberof ImageHelpers\n * @method imageForSize\n * @param {Object} image The original image model to generate the image src for.\n * @param {Object} options An options object containing:\n * @param {Integer} options.maxWidth The maximum width for the image.\n * @param {Integer} options.maxHeight The maximum height for the image.\n * @return {String} The image src for the resized image.\n */\n imageForSize(image, {maxWidth, maxHeight}) {\n const splitUrl = image.src.split('?');\n const notQuery = splitUrl[0];\n const query = splitUrl[1] ? `?${splitUrl[1]}` : '';\n\n // Use the section before the query\n const imageTokens = notQuery.split('.');\n\n // Take the token before the file extension and append the dimensions\n const imagePathIndex = imageTokens.length - 2;\n\n imageTokens[imagePathIndex] = `${imageTokens[imagePathIndex]}_${maxWidth}x${maxHeight}`;\n\n return `${imageTokens.join('.')}${query}`;\n }\n};\n","import Resource from './resource';\nimport imageHelpers from './image-helpers';\n\n/**\n * The JS Buy SDK image resource\n * @class\n */\nclass ImageResource extends Resource {\n get helpers() {\n return imageHelpers;\n }\n}\n\nexport default ImageResource;\n","import GraphQLJSClient from './graphql-client';\nimport Config from './config';\nimport ProductResource from './product-resource';\nimport CollectionResource from './collection-resource';\nimport ShopResource from './shop-resource';\nimport CheckoutResource from './checkout-resource';\nimport ImageResource from './image-resource';\nimport {version} from '../package.json';\n\n// GraphQL\nimport types from '../schema.json';\n\n/**\n * The JS Buy SDK Client.\n * @class\n *\n * @property {ProductResource} product The property under which product fetching methods live.\n * @property {CollectionResource} collection The property under which collection fetching methods live.\n * @property {ShopResource} shop The property under which shop fetching methods live.\n * @property {CheckoutResource} checkout The property under which shop fetching and mutating methods live.\n * @property {ImageResource} image The property under which image helper methods live.\n */\nclass Client {\n\n /**\n * Primary entry point for building a new Client.\n */\n static buildClient(config, fetchFunction) {\n const newConfig = new Config(config);\n const client = new Client(newConfig, GraphQLJSClient, fetchFunction);\n\n client.config = newConfig;\n\n return client;\n }\n\n /**\n * @constructs Client\n * @param {Config} config An instance of {@link Config} used to configure the Client.\n */\n constructor(config, GraphQLClientClass = GraphQLJSClient, fetchFunction) {\n const url = `https://${config.domain}/api/graphql`;\n\n const headers = {\n 'X-SDK-Variant': 'javascript',\n 'X-SDK-Version': version,\n 'X-Shopify-Storefront-Access-Token': config.storefrontAccessToken\n };\n\n if (fetchFunction) {\n headers['Content-Type'] = 'application/json';\n headers.Accept = 'application/json';\n\n this.graphQLClient = new GraphQLClientClass(types, {\n fetcher: function fetcher(graphQLParams) {\n return fetchFunction(url, {\n body: JSON.stringify(graphQLParams),\n method: 'POST',\n mode: 'cors',\n headers\n }).then((response) => response.json());\n }\n });\n } else {\n this.graphQLClient = new GraphQLClientClass(types, {\n url,\n fetcherOptions: {headers}\n });\n }\n\n this.product = new ProductResource(this.graphQLClient);\n this.collection = new CollectionResource(this.graphQLClient);\n this.shop = new ShopResource(this.graphQLClient);\n this.checkout = new CheckoutResource(this.graphQLClient);\n this.image = new ImageResource(this.graphQLClient);\n }\n\n /**\n * Fetches the next page of models\n *\n * @example\n * client.fetchNextPage(products).then((nextProducts) => {\n * // Do something with the products\n * });\n *\n * @param {models} [Array] The paginated set to fetch the next page of\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the type provided.\n */\n fetchNextPage(models) {\n return this.graphQLClient.fetchNextPage(models);\n }\n}\n\nexport default Client;\n"],"names":["join","_len","arguments","length","fields","Array","_key","isObject","value","Boolean","Object","prototype","toString","call","valueOf","deepFreezeCopyExcept","predicate","structure","freeze","keys","reduce","copy","key","isArray","map","item","schemaForType","typeBundle","typeName","type","types","Error","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","i","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","_extends","assign","source","hasOwnProperty","inherits","subClass","superClass","create","setPrototypeOf","__proto__","possibleConstructorReturn","self","ReferenceError","slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","undefined","_i","Symbol","iterator","_s","next","done","push","err","toConsumableArray","arr2","from","VariableDefinition","name","defaultValue","toInputValueString","defaultValueString","formatInputValue","isVariable","isPrototypeOf","variable","Enum","enumFunction","Scalar","get$$1","String","JSON","stringify","apply","formatObject","openChar","closeChar","argPairs","formatArgs","args","noop","Profiler","trackTypeDependency","trackFieldDependency","parseFieldCreationArgs","creationArgs","callback","options","selectionSet","_creationArgs","_creationArgs2","SelectionSet","emptyArgs","Field","alias","responseKey","aliasPrefix","Spread","InlineFragment","_Spread","_this","getPrototypeOf","FragmentSpread","_Spread2","fragmentDefinition","_this2","toDefinition","FragmentDefinition","typeSchema","spread","selectionsHaveIdField","selections","some","fieldOrFragment","implementsNode","selectionsHaveTypenameField","indexSelectionsByResponseKey","assignOrPush","obj","unfrozenObject","acc","selection","responseKeys","selectionsByResponseKey","forEach","builderFunction","SelectionSetBuilder","unshift","kind","hasSelectionWithResponseKey","field","add","selectionOrFieldName","rest","concat","_len2","_key2","parsedArgs","fieldBaseTypes","fieldBaseType","inlineFragmentOn","builderFunctionOrSelectionSet","addField","_len3","_key3","addConnection","_len4","_key4","_parseFieldCreationAr","connection","pageInfo","edges","addInlineFragmentOn","fieldTypeCb","addFragment","fragmentSpread","parseArgs","variables","selectionSetCallback","_args","VariableDefinitions","variableDefinitions","Operation","operationType","_parseArgs","queryType","mutationType","nameString","Query","_Operation","_ref","Mutation","isAnonymous","operation","hasAnonymousOperations","operations","hasDuplicateOperationNames","names","hasDuplicates","index","indexOf","extractOperation","Function","bind","isInvalidOperationCombination","fragmentNameIsNotUnique","existingDefinitions","definition","Document","definitions","addOperation","addQuery","addMutation","defineFragment","onType","fragmentDefinitions","fragment","filter","GraphModel","attrs","ClassRegistry","classStore","registerClassForType","constructor","unregisterClassForType","classForType","isValue","arg","isNodeContext","context","isConnection","endsWith","nearestNode","parent","contextsFromRoot","contextsFromNearestNode","initializeDocumentAndVars","currentContext","contextChain","lastInChain","first","firstVar","find","document","addNextFieldTo","currentSelection","path","cursor","nextContext","shift","newSelection","edgesField","nodeField","after","collectFragments","nextPageQueryAndPath","nearestNodeContext","_document$definitions","nodeType","nodeId","responseData","id","_initializeDocumentAn","_initializeDocumentAn2","root","node","slice","fragments","_document$definitions2","_initializeDocumentAn3","_initializeDocumentAn4","hasNextPage$1","edge","hasNextPage","hasPreviousPage","transformConnections","variableValues","DecodingContext","contextForObjectProperty","nestedSelections","nextSelection","contextForArrayItem","decodeArrayItems","transformers","decodeContext","decodeObjectValues","runTransformers","transformer","generateRefetchQueries","refetchQuery","transformPojosToClassesWithRegistry","classRegistry","transformPojosToClasses","Klass","transformScalars","recordTypeInformation","__typename","defaultTransformers","_ref$classRegistry","decode","httpFetcher","url","fetcher","graphQLParams","fetch","headers","then","response","json","paginatedModels","Client","fetcherOptions","_ref$registry","registry","query","mutation","send","request","otherProperties","operationOrDocument","operationName","documentOperation","data","model","fetchNextPage","nodeOrNodes","_node$nextPageQueryAn","_node$nextPageQueryAn2","object","fetchAllPages","_ref2","pageSize","_ref3","pages","Promise","resolve","refetch","_ref4","variable$$1","_enum","Config","deprecatedProperties","warn","requiredProperties","Resource","client","graphQLClient","defaultErrors","message","defaultResolver","split","errors","reject","result","ref","_","fetchResourcesForProducts","productOrProduct","products","all","promiseAcc","product","images","variants","paginateProductConnectionsAndResolve","paginateCollectionsProductConnectionsAndResolve","collectionOrCollections","collections","collection","variant","selectedOptions","every","selectedOption","ProductResource","productConnectionQuery","productNodeQuery","ids","productNodesQuery","handle","productByHandleQuery","sortKey","reverse","productHelpers","CollectionResource","collectionConnectionQuery","productsFirst","collectionConnectionWithProductsQuery","collectionNodeQuery","collectionNodeWithProductsQuery","collectionByHandleQuery","ShopResource","shopQuery","shopPolicyQuery","handleCheckoutMutation","mutationRootKey","rootData","rootModel","checkout","lineItems","userErrors","CheckoutResource","checkoutNodeQuery","checkoutNodeQueryWithAddress","input","checkoutCreateMutation","checkoutId","checkoutAttributesUpdateMutation","checkoutLineItemsAddMutation","discountCode","checkoutDiscountCodeApplyMutation","checkoutDiscountCodeRemoveMutation","lineItemIds","checkoutLineItemsRemoveMutation","checkoutLineItemsUpdateMutation","shippingAddress","checkoutShippingAddressUpdateMutation","shippingRateHandle","checkoutShippingLineUpdateMutation","image","maxWidth","maxHeight","splitUrl","src","notQuery","imageTokens","imagePathIndex","ImageResource","imageHelpers","config","fetchFunction","newConfig","GraphQLJSClient","GraphQLClientClass","domain","version","storefrontAccessToken","Accept","shop","models"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGF;AACA,AAYA;;;;;IAIMM;;;;;;;;;;;;;;;;;;;;;;;0BAaE3I,IAAI;;;aACD,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"}
\ No newline at end of file
+{"version":3,"file":"index.amd.js","sources":["node_modules/graphql-js-client/index.es.js","src/config.js","src/resource.js","src/default-resolver.js","src/fetch-resources-for-products.js","src/paginators.js","src/product-helpers.js","src/product-resource.js","src/collection-resource.js","src/shop-resource.js","src/handle-checkout-mutation.js","src/checkout-resource.js","src/image-helpers.js","src/image-resource.js","src/client.js"],"sourcesContent":["/*\nThe MIT License (MIT)\nCopyright (c) 2016 Shopify Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE\nOR OTHER DEALINGS IN THE SOFTWARE.\n\n\n*/\nfunction join() {\n for (var _len = arguments.length, fields = Array(_len), _key = 0; _key < _len; _key++) {\n fields[_key] = arguments[_key];\n }\n\n return fields.join(' ');\n}\n\nfunction isObject(value) {\n return Boolean(value) && Object.prototype.toString.call(value.valueOf()) === '[object Object]';\n}\n\nfunction deepFreezeCopyExcept(predicate, structure) {\n if (predicate(structure)) {\n return structure;\n } else if (isObject(structure)) {\n return Object.freeze(Object.keys(structure).reduce(function (copy, key) {\n copy[key] = deepFreezeCopyExcept(predicate, structure[key]);\n\n return copy;\n }, {}));\n } else if (Array.isArray(structure)) {\n return Object.freeze(structure.map(function (item) {\n return deepFreezeCopyExcept(predicate, item);\n }));\n } else {\n return structure;\n }\n}\n\nfunction schemaForType(typeBundle, typeName) {\n var type = typeBundle.types[typeName];\n\n if (type) {\n return type;\n }\n\n throw new Error(\"No type of \" + typeName + \" found in schema\");\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n\n\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nvar VariableDefinition = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#variable} to create a VariableDefinition.\n *\n * @param {String} name The name of the variable.\n * @param {String} type The GraphQL type of the variable.\n * @param {*} [defaultValue] The default value of the variable.\n */\n function VariableDefinition(name, type, defaultValue) {\n classCallCheck(this, VariableDefinition);\n\n this.name = name;\n this.type = type;\n this.defaultValue = defaultValue;\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the variable as an input value (e.g. `$variableName`).\n *\n * @return {String} The GraphQL query string for the variable as an input value.\n */\n\n\n createClass(VariableDefinition, [{\n key: 'toInputValueString',\n value: function toInputValueString() {\n return '$' + this.name;\n }\n\n /**\n * Returns the GraphQL query string for the variable (e.g. `$variableName:VariableType = defaultValue`).\n *\n * @return {String} The GraphQL query string for the variable.\n */\n\n }, {\n key: 'toString',\n value: function toString() {\n var defaultValueString = this.defaultValue ? ' = ' + formatInputValue(this.defaultValue) : '';\n\n return '$' + this.name + ':' + this.type + defaultValueString;\n }\n }]);\n return VariableDefinition;\n}();\n\nfunction isVariable(value) {\n return VariableDefinition.prototype.isPrototypeOf(value);\n}\n\nfunction variable(name, type, defaultValue) {\n return new VariableDefinition(name, type, defaultValue);\n}\n\nvar Enum = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#enum} to create an Enum.\n *\n * @param {String} key The key of the enum.\n */\n function Enum(key) {\n classCallCheck(this, Enum);\n\n this.key = key;\n }\n\n /**\n * Returns the GraphQL query string for the enum (e.g. `enumKey`).\n *\n * @return {String} The GraphQL query string for the enum.\n */\n\n\n createClass(Enum, [{\n key: \"toString\",\n value: function toString() {\n return this.key;\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n return this.key.valueOf();\n }\n }]);\n return Enum;\n}();\n\nvar enumFunction = (function (key) {\n return new Enum(key);\n});\n\nvar Scalar = function () {\n function Scalar(value) {\n classCallCheck(this, Scalar);\n\n this.value = value;\n }\n\n createClass(Scalar, [{\n key: \"toString\",\n value: function toString() {\n return this.value.toString();\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n return this.value.valueOf();\n }\n }, {\n key: \"unwrapped\",\n get: function get$$1() {\n return this.value;\n }\n }]);\n return Scalar;\n}();\n\nfunction formatInputValue(value) {\n if (VariableDefinition.prototype.isPrototypeOf(value)) {\n return value.toInputValueString();\n } else if (Enum.prototype.isPrototypeOf(value)) {\n return String(value);\n } else if (Scalar.prototype.isPrototypeOf(value)) {\n return JSON.stringify(value.valueOf());\n } else if (Array.isArray(value)) {\n return '[' + join.apply(undefined, toConsumableArray(value.map(formatInputValue))) + ']';\n } else if (isObject(value)) {\n return formatObject(value, '{', '}');\n } else {\n return JSON.stringify(value);\n }\n}\n\nfunction formatObject(value) {\n var openChar = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var closeChar = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n\n var argPairs = Object.keys(value).map(function (key) {\n return key + ': ' + formatInputValue(value[key]);\n });\n\n return '' + openChar + join.apply(undefined, toConsumableArray(argPairs)) + closeChar;\n}\n\nfunction formatArgs(args) {\n if (!Object.keys(args).length) {\n return '';\n }\n\n return ' (' + formatObject(args) + ')';\n}\n\n// eslint-disable-next-line no-empty-function\nvar noop = (function () {});\n\nvar Profiler = {\n trackTypeDependency: noop,\n trackFieldDependency: noop\n};\n\nvar trackTypeDependency = Profiler.trackTypeDependency;\nvar trackFieldDependency = Profiler.trackFieldDependency;\n\n\nfunction parseFieldCreationArgs(creationArgs) {\n var callback = noop;\n var options = {};\n var selectionSet = null;\n\n if (creationArgs.length === 2) {\n if (typeof creationArgs[1] === 'function') {\n var _creationArgs = slicedToArray(creationArgs, 2);\n\n options = _creationArgs[0];\n callback = _creationArgs[1];\n } else {\n var _creationArgs2 = slicedToArray(creationArgs, 2);\n\n options = _creationArgs2[0];\n selectionSet = _creationArgs2[1];\n }\n } else if (creationArgs.length === 1) {\n // SelectionSet is defined before this function is called since it's\n // called by SelectionSet\n // eslint-disable-next-line no-use-before-define\n if (SelectionSet.prototype.isPrototypeOf(creationArgs[0])) {\n selectionSet = creationArgs[0];\n } else if (typeof creationArgs[0] === 'function') {\n callback = creationArgs[0];\n } else {\n options = creationArgs[0];\n }\n }\n\n return { options: options, selectionSet: selectionSet, callback: callback };\n}\n\nvar emptyArgs = Object.freeze({});\n\nvar Field = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Fields are added to a selection by {@link SelectionSetBuilder#add}, {@link SelectionSetBuilder#addConnection}\n * and {@link SelectionSetBuilder#addInlineFragmentOn}.\n *\n * @param {String} name The name of the field.\n * @param {Object} [options] An options object containing:\n * @param {Object} [options.args] Arguments for the field.\n * @param {String} [options.alias] An alias for the field.\n * @param {SelectionSet} selectionSet The selection set on the field.\n */\n function Field(name, options, selectionSet) {\n classCallCheck(this, Field);\n\n this.name = name;\n this.alias = options.alias || null;\n this.responseKey = this.alias || this.name;\n this.args = options.args ? deepFreezeCopyExcept(isVariable, options.args) : emptyArgs;\n this.selectionSet = selectionSet;\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the Field (e.g. `catAlias: cat(size: 'small') { name }` or `name`).\n *\n * @return {String} The GraphQL query string for the Field.\n */\n\n\n createClass(Field, [{\n key: 'toString',\n value: function toString() {\n var aliasPrefix = this.alias ? this.alias + ': ' : '';\n\n return '' + aliasPrefix + this.name + formatArgs(this.args) + this.selectionSet;\n }\n }]);\n return Field;\n}();\n\n// This is an interface that defines a usage, and simplifies type checking\nvar Spread = function Spread() {\n classCallCheck(this, Spread);\n};\n\nvar InlineFragment = function (_Spread) {\n inherits(InlineFragment, _Spread);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link SelectionSetBuilder#addInlineFragmentOn} to create an InlineFragment.\n *\n * @param {String} typeName The type of the fragment.\n * @param {SelectionSet} selectionSet The selection set on the fragment.\n */\n function InlineFragment(typeName, selectionSet) {\n classCallCheck(this, InlineFragment);\n\n var _this = possibleConstructorReturn(this, (InlineFragment.__proto__ || Object.getPrototypeOf(InlineFragment)).call(this));\n\n _this.typeName = typeName;\n _this.selectionSet = selectionSet;\n Object.freeze(_this);\n return _this;\n }\n\n /**\n * Returns the GraphQL query string for the InlineFragment (e.g. `... on Cat { name }`).\n *\n * @return {String} The GraphQL query string for the InlineFragment.\n */\n\n\n createClass(InlineFragment, [{\n key: 'toString',\n value: function toString() {\n return '... on ' + this.typeName + this.selectionSet;\n }\n }]);\n return InlineFragment;\n}(Spread);\n\nvar FragmentSpread = function (_Spread2) {\n inherits(FragmentSpread, _Spread2);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Document#defineFragment} to create a FragmentSpread.\n *\n * @param {FragmentDefinition} fragmentDefinition The corresponding fragment definition.\n */\n function FragmentSpread(fragmentDefinition) {\n classCallCheck(this, FragmentSpread);\n\n var _this2 = possibleConstructorReturn(this, (FragmentSpread.__proto__ || Object.getPrototypeOf(FragmentSpread)).call(this));\n\n _this2.name = fragmentDefinition.name;\n _this2.selectionSet = fragmentDefinition.selectionSet;\n Object.freeze(_this2);\n return _this2;\n }\n\n /**\n * Returns the GraphQL query string for the FragmentSpread (e.g. `...catName`).\n *\n * @return {String} The GraphQL query string for the FragmentSpread.\n */\n\n\n createClass(FragmentSpread, [{\n key: 'toString',\n value: function toString() {\n return '...' + this.name;\n }\n }, {\n key: 'toDefinition',\n value: function toDefinition() {\n // eslint-disable-next-line no-use-before-define\n return new FragmentDefinition(this.name, this.selectionSet.typeSchema.name, this.selectionSet);\n }\n }]);\n return FragmentSpread;\n}(Spread);\n\nvar FragmentDefinition = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Document#defineFragment} to create a FragmentDefinition on a {@link Document}.\n *\n * @param {String} name The name of the fragment definition.\n * @param {String} typeName The type of the fragment.\n */\n function FragmentDefinition(name, typeName, selectionSet) {\n classCallCheck(this, FragmentDefinition);\n\n this.name = name;\n this.typeName = typeName;\n this.selectionSet = selectionSet;\n this.spread = new FragmentSpread(this);\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the FragmentDefinition (e.g. `fragment catName on Cat { name }`).\n *\n * @return {String} The GraphQL query string for the FragmentDefinition.\n */\n\n\n createClass(FragmentDefinition, [{\n key: 'toString',\n value: function toString() {\n return 'fragment ' + this.name + ' on ' + this.typeName + ' ' + this.selectionSet;\n }\n }]);\n return FragmentDefinition;\n}();\n\nfunction selectionsHaveIdField(selections) {\n return selections.some(function (fieldOrFragment) {\n if (Field.prototype.isPrototypeOf(fieldOrFragment)) {\n return fieldOrFragment.name === 'id';\n } else if (Spread.prototype.isPrototypeOf(fieldOrFragment) && fieldOrFragment.selectionSet.typeSchema.implementsNode) {\n return selectionsHaveIdField(fieldOrFragment.selectionSet.selections);\n }\n\n return false;\n });\n}\n\nfunction selectionsHaveTypenameField(selections) {\n return selections.some(function (fieldOrFragment) {\n if (Field.prototype.isPrototypeOf(fieldOrFragment)) {\n return fieldOrFragment.name === '__typename';\n } else if (Spread.prototype.isPrototypeOf(fieldOrFragment) && fieldOrFragment.selectionSet.typeSchema.implementsNode) {\n return selectionsHaveTypenameField(fieldOrFragment.selectionSet.selections);\n }\n\n return false;\n });\n}\n\nfunction indexSelectionsByResponseKey(selections) {\n function assignOrPush(obj, key, value) {\n if (Array.isArray(obj[key])) {\n obj[key].push(value);\n } else {\n obj[key] = [value];\n }\n }\n var unfrozenObject = selections.reduce(function (acc, selection) {\n if (selection.responseKey) {\n assignOrPush(acc, selection.responseKey, selection);\n } else {\n var responseKeys = Object.keys(selection.selectionSet.selectionsByResponseKey);\n\n responseKeys.forEach(function (responseKey) {\n assignOrPush(acc, responseKey, selection);\n });\n }\n\n return acc;\n }, {});\n\n Object.keys(unfrozenObject).forEach(function (key) {\n Object.freeze(unfrozenObject[key]);\n });\n\n return Object.freeze(unfrozenObject);\n}\n\n/**\n * Class that specifies the full selection of data to query.\n */\n\nvar SelectionSet = function () {\n\n /**\n * This constructor should not be invoked directly. SelectionSets are created when building queries/mutations.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {(Object|String)} type The type of the current selection.\n * @param {Function} builderFunction Callback function used to build the SelectionSet.\n * The callback takes a {@link SelectionSetBuilder} as its argument.\n */\n function SelectionSet(typeBundle, type, builderFunction) {\n classCallCheck(this, SelectionSet);\n\n\n if (typeof type === 'string') {\n this.typeSchema = schemaForType(typeBundle, type);\n } else {\n this.typeSchema = type;\n }\n\n trackTypeDependency(this.typeSchema.name);\n\n this.typeBundle = typeBundle;\n this.selections = [];\n if (builderFunction) {\n // eslint-disable-next-line no-use-before-define\n builderFunction(new SelectionSetBuilder(this.typeBundle, this.typeSchema, this.selections));\n }\n\n if (this.typeSchema.implementsNode || this.typeSchema.name === 'Node') {\n if (!selectionsHaveIdField(this.selections)) {\n this.selections.unshift(new Field('id', {}, new SelectionSet(typeBundle, 'ID')));\n }\n }\n\n if (this.typeSchema.kind === 'INTERFACE') {\n if (!selectionsHaveTypenameField(this.selections)) {\n this.selections.unshift(new Field('__typename', {}, new SelectionSet(typeBundle, 'String')));\n }\n }\n\n this.selectionsByResponseKey = indexSelectionsByResponseKey(this.selections);\n Object.freeze(this.selections);\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the SelectionSet (e.g. `{ cat { name } }`).\n *\n * @return {String} The GraphQL query string for the SelectionSet.\n */\n\n\n createClass(SelectionSet, [{\n key: 'toString',\n value: function toString() {\n if (this.typeSchema.kind === 'SCALAR' || this.typeSchema.kind === 'ENUM') {\n return '';\n } else {\n return ' { ' + join(this.selections) + ' }';\n }\n }\n }]);\n return SelectionSet;\n}();\n\nvar SelectionSetBuilder = function () {\n\n /**\n * This constructor should not be invoked directly. SelectionSetBuilders are created when building queries/mutations.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {Object} typeSchema The schema object for the type of the current selection.\n * @param {Field[]} selections The fields on the current selection.\n */\n function SelectionSetBuilder(typeBundle, typeSchema, selections) {\n classCallCheck(this, SelectionSetBuilder);\n\n this.typeBundle = typeBundle;\n this.typeSchema = typeSchema;\n this.selections = selections;\n }\n\n createClass(SelectionSetBuilder, [{\n key: 'hasSelectionWithResponseKey',\n value: function hasSelectionWithResponseKey(responseKey) {\n return this.selections.some(function (field) {\n return field.responseKey === responseKey;\n });\n }\n\n /**\n * Adds a field to be queried on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.add('cat', {args: {id: '123456'}, alias: 'meow'}, (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {SelectionSet|String} selectionOrFieldName The selection or name of the field to add.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{id: '123456'}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'add',\n value: function add(selectionOrFieldName) {\n var selection = void 0;\n\n if (Object.prototype.toString.call(selectionOrFieldName) === '[object String]') {\n trackFieldDependency(this.typeSchema.name, selectionOrFieldName);\n\n for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n selection = this.field.apply(this, [selectionOrFieldName].concat(rest));\n } else {\n if (Field.prototype.isPrototypeOf(selectionOrFieldName)) {\n trackFieldDependency(this.typeSchema.name, selectionOrFieldName.name);\n }\n\n selection = selectionOrFieldName;\n }\n\n if (selection.responseKey && this.hasSelectionWithResponseKey(selection.responseKey)) {\n throw new Error('The field name or alias \\'' + selection.responseKey + '\\' has already been added.');\n }\n this.selections.push(selection);\n }\n }, {\n key: 'field',\n value: function field(name) {\n for (var _len2 = arguments.length, creationArgs = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n creationArgs[_key2 - 1] = arguments[_key2];\n }\n\n var parsedArgs = parseFieldCreationArgs(creationArgs);\n var options = parsedArgs.options,\n callback = parsedArgs.callback;\n var selectionSet = parsedArgs.selectionSet;\n\n\n if (!selectionSet) {\n if (!this.typeSchema.fieldBaseTypes[name]) {\n throw new Error('No field of name \"' + name + '\" found on type \"' + this.typeSchema.name + '\" in schema');\n }\n\n var fieldBaseType = schemaForType(this.typeBundle, this.typeSchema.fieldBaseTypes[name]);\n\n selectionSet = new SelectionSet(this.typeBundle, fieldBaseType, callback);\n }\n\n return new Field(name, options, selectionSet);\n }\n\n /**\n * Creates an inline fragment.\n *\n * @access private\n * @param {String} typeName The type the inline fragment.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n * @return {InlineFragment} An inline fragment.\n */\n\n }, {\n key: 'inlineFragmentOn',\n value: function inlineFragmentOn(typeName) {\n var builderFunctionOrSelectionSet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var selectionSet = void 0;\n\n if (SelectionSet.prototype.isPrototypeOf(builderFunctionOrSelectionSet)) {\n selectionSet = builderFunctionOrSelectionSet;\n } else {\n selectionSet = new SelectionSet(this.typeBundle, schemaForType(this.typeBundle, typeName), builderFunctionOrSelectionSet);\n }\n\n return new InlineFragment(typeName, selectionSet);\n }\n\n /**\n * Adds a field to be queried on the current selection.\n *\n * @access private\n * @param {String} name The name of the field to add to the query.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{id: '123456'}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function} [callback] Callback which will be used to create a new {@link SelectionSet} for the field added.\n */\n\n }, {\n key: 'addField',\n value: function addField(name) {\n for (var _len3 = arguments.length, creationArgs = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n creationArgs[_key3 - 1] = arguments[_key3];\n }\n\n this.add.apply(this, [name].concat(creationArgs));\n }\n\n /**\n * Adds a connection to be queried on the current selection.\n * This adds all the fields necessary for pagination.\n *\n * @example\n * client.query((root) => {\n * root.add('cat', (cat) => {\n * cat.addConnection('friends', {args: {first: 10}, alias: 'coolCats'}, (friends) => {\n * friends.add('name');\n * });\n * });\n * });\n *\n * @param {String} name The name of the connection to add to the query.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{first: 10}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'addConnection',\n value: function addConnection(name) {\n for (var _len4 = arguments.length, creationArgs = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n creationArgs[_key4 - 1] = arguments[_key4];\n }\n\n var _parseFieldCreationAr = parseFieldCreationArgs(creationArgs),\n options = _parseFieldCreationAr.options,\n callback = _parseFieldCreationAr.callback,\n selectionSet = _parseFieldCreationAr.selectionSet;\n\n this.add(name, options, function (connection) {\n connection.add('pageInfo', {}, function (pageInfo) {\n pageInfo.add('hasNextPage');\n pageInfo.add('hasPreviousPage');\n });\n connection.add('edges', {}, function (edges) {\n edges.add('cursor');\n edges.addField('node', {}, selectionSet || callback); // This is bad. Don't do this\n });\n });\n }\n\n /**\n * Adds an inline fragment on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.add('animal', (animal) => {\n * animal.addInlineFragmentOn('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {String} typeName The name of the type of the inline fragment.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'addInlineFragmentOn',\n value: function addInlineFragmentOn(typeName) {\n var fieldTypeCb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n this.add(this.inlineFragmentOn(typeName, fieldTypeCb));\n }\n\n /**\n * Adds a fragment spread on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.addFragment(catFragmentSpread);\n * });\n *\n * @param {FragmentSpread} fragmentSpread The fragment spread to add.\n */\n\n }, {\n key: 'addFragment',\n value: function addFragment(fragmentSpread) {\n this.add(fragmentSpread);\n }\n }]);\n return SelectionSetBuilder;\n}();\n\nfunction parseArgs(args) {\n var name = void 0;\n var variables = void 0;\n var selectionSetCallback = void 0;\n\n if (args.length === 3) {\n var _args = slicedToArray(args, 3);\n\n name = _args[0];\n variables = _args[1];\n selectionSetCallback = _args[2];\n } else if (args.length === 2) {\n if (Object.prototype.toString.call(args[0]) === '[object String]') {\n name = args[0];\n variables = null;\n } else if (Array.isArray(args[0])) {\n variables = args[0];\n name = null;\n }\n\n selectionSetCallback = args[1];\n } else {\n selectionSetCallback = args[0];\n name = null;\n }\n\n return { name: name, variables: variables, selectionSetCallback: selectionSetCallback };\n}\n\nvar VariableDefinitions = function () {\n function VariableDefinitions(variableDefinitions) {\n classCallCheck(this, VariableDefinitions);\n\n this.variableDefinitions = variableDefinitions ? [].concat(toConsumableArray(variableDefinitions)) : [];\n Object.freeze(this.variableDefinitions);\n Object.freeze(this);\n }\n\n createClass(VariableDefinitions, [{\n key: 'toString',\n value: function toString() {\n if (this.variableDefinitions.length === 0) {\n return '';\n }\n\n return ' (' + join(this.variableDefinitions) + ') ';\n }\n }]);\n return VariableDefinitions;\n}();\n\n/**\n * Base class for {@link Query} and {@link Mutation}.\n * @abstract\n */\n\n\nvar Operation = function () {\n\n /**\n * This constructor should not be invoked. The subclasses {@link Query} and {@link Mutation} should be used instead.\n */\n function Operation(typeBundle, operationType) {\n classCallCheck(this, Operation);\n\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var _parseArgs = parseArgs(args),\n name = _parseArgs.name,\n variables = _parseArgs.variables,\n selectionSetCallback = _parseArgs.selectionSetCallback;\n\n this.typeBundle = typeBundle;\n this.name = name;\n this.variableDefinitions = new VariableDefinitions(variables);\n this.operationType = operationType;\n if (operationType === 'query') {\n this.selectionSet = new SelectionSet(typeBundle, typeBundle.queryType, selectionSetCallback);\n this.typeSchema = schemaForType(typeBundle, typeBundle.queryType);\n } else {\n this.selectionSet = new SelectionSet(typeBundle, typeBundle.mutationType, selectionSetCallback);\n this.typeSchema = schemaForType(typeBundle, typeBundle.mutationType);\n }\n Object.freeze(this);\n }\n\n /**\n * Whether the operation is anonymous (i.e. has no name).\n */\n\n\n createClass(Operation, [{\n key: 'toString',\n\n\n /**\n * Returns the GraphQL query or mutation string (e.g. `query myQuery { cat { name } }`).\n *\n * @return {String} The GraphQL query or mutation string.\n */\n value: function toString() {\n var nameString = this.name ? ' ' + this.name : '';\n\n return '' + this.operationType + nameString + this.variableDefinitions + this.selectionSet;\n }\n }, {\n key: 'isAnonymous',\n get: function get$$1() {\n return !this.name;\n }\n }]);\n return Operation;\n}();\n\n/**\n * GraphQL Query class.\n * @extends Operation\n */\n\nvar Query = function (_Operation) {\n inherits(Query, _Operation);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory functions {@link Client#query} or {@link Document#addQuery} to create a Query.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {String} [name] A name for the query.\n * @param {Object[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n */\n function Query(typeBundle) {\n var _ref;\n\n classCallCheck(this, Query);\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return possibleConstructorReturn(this, (_ref = Query.__proto__ || Object.getPrototypeOf(Query)).call.apply(_ref, [this, typeBundle, 'query'].concat(args)));\n }\n\n return Query;\n}(Operation);\n\n/**\n * GraphQL Mutation class.\n * @extends Operation\n */\n\nvar Mutation = function (_Operation) {\n inherits(Mutation, _Operation);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory functions {@link Client#mutation} or {@link Document#addMutation} to create a Mutation.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {String} [name] A name for the mutation.\n * @param {Object[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The mutation builder callback.\n * A {@link SelectionSet} is created using this callback.\n */\n function Mutation(typeBundle) {\n var _ref;\n\n classCallCheck(this, Mutation);\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return possibleConstructorReturn(this, (_ref = Mutation.__proto__ || Object.getPrototypeOf(Mutation)).call.apply(_ref, [this, typeBundle, 'mutation'].concat(args)));\n }\n\n return Mutation;\n}(Operation);\n\nfunction isAnonymous(operation) {\n return operation.isAnonymous;\n}\n\nfunction hasAnonymousOperations(operations) {\n return operations.some(isAnonymous);\n}\n\nfunction hasDuplicateOperationNames(operations) {\n var names = operations.map(function (operation) {\n return operation.name;\n });\n\n return names.reduce(function (hasDuplicates, name, index) {\n return hasDuplicates || names.indexOf(name) !== index;\n }, false);\n}\n\nfunction extractOperation(typeBundle, operationType) {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (Operation.prototype.isPrototypeOf(args[0])) {\n return args[0];\n }\n\n if (operationType === 'query') {\n return new (Function.prototype.bind.apply(Query, [null].concat([typeBundle], args)))();\n } else {\n return new (Function.prototype.bind.apply(Mutation, [null].concat([typeBundle], args)))();\n }\n}\n\nfunction isInvalidOperationCombination(operations) {\n if (operations.length === 1) {\n return false;\n }\n\n return hasAnonymousOperations(operations) || hasDuplicateOperationNames(operations);\n}\n\nfunction fragmentNameIsNotUnique(existingDefinitions, name) {\n return existingDefinitions.some(function (definition) {\n return definition.name === name;\n });\n}\n\nvar Document = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#document} to create a Document.\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n */\n function Document(typeBundle) {\n classCallCheck(this, Document);\n\n this.typeBundle = typeBundle;\n this.definitions = [];\n }\n\n /**\n * Returns the GraphQL query string for the Document (e.g. `query queryOne { ... } query queryTwo { ... }`).\n *\n * @return {String} The GraphQL query string for the Document.\n */\n\n\n createClass(Document, [{\n key: 'toString',\n value: function toString() {\n return join(this.definitions);\n }\n\n /**\n * Adds an operation to the Document.\n *\n * @private\n * @param {String} operationType The type of the operation. Either 'query' or 'mutation'.\n * @param {(Operation|String)} [query|queryName] Either an instance of an operation\n * object, or the name of an operation. Both are optional.\n * @param {Object[]} [variables] A list of variables in the operation. See {@link Client#variable}.\n * @param {Function} [callback] The query builder callback. If an operation\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addOperation',\n value: function addOperation(operationType) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n var operation = extractOperation.apply(undefined, [this.typeBundle, operationType].concat(args));\n\n if (isInvalidOperationCombination(this.operations.concat(operation))) {\n throw new Error('All operations must be uniquely named on a multi-operation document');\n }\n\n this.definitions.push(operation);\n }\n\n /**\n * Adds a query to the Document.\n *\n * @example\n * document.addQuery('myQuery', (root) => {\n * root.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {(Query|String)} [query|queryName] Either an instance of a query\n * object, or the name of a query. Both are optional.\n * @param {Object[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} [callback] The query builder callback. If a query\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addQuery',\n value: function addQuery() {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n this.addOperation.apply(this, ['query'].concat(args));\n }\n\n /**\n * Adds a mutation to the Document.\n *\n * @example\n * const input = client.variable('input', 'CatCreateInput!');\n *\n * document.addMutation('myMutation', [input], (root) => {\n * root.add('catCreate', {args: {input}}, (catCreate) => {\n * catCreate.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {(Mutation|String)} [mutation|mutationName] Either an instance of a mutation\n * object, or the name of a mutation. Both are optional.\n * @param {Object[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} [callback] The mutation builder callback. If a mutation\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addMutation',\n value: function addMutation() {\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n this.addOperation.apply(this, ['mutation'].concat(args));\n }\n\n /**\n * Defines a fragment on the Document.\n *\n * @param {String} name The name of the fragment.\n * @param {String} onType The type the fragment is on.\n * @param {Function} [builderFunction] The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {FragmentSpread} A {@link FragmentSpread} to be used with {@link SelectionSetBuilder#addFragment}.\n */\n\n }, {\n key: 'defineFragment',\n value: function defineFragment(name, onType, builderFunction) {\n if (fragmentNameIsNotUnique(this.fragmentDefinitions, name)) {\n throw new Error('All fragments must be uniquely named on a multi-fragment document');\n }\n\n var selectionSet = new SelectionSet(this.typeBundle, onType, builderFunction);\n var fragment = new FragmentDefinition(name, onType, selectionSet);\n\n this.definitions.push(fragment);\n\n return fragment.spread;\n }\n\n /**\n * All operations ({@link Query} and {@link Mutation}) on the Document.\n */\n\n }, {\n key: 'operations',\n get: function get$$1() {\n return this.definitions.filter(function (definition) {\n return Operation.prototype.isPrototypeOf(definition);\n });\n }\n\n /**\n * All {@link FragmentDefinition}s on the Document.\n */\n\n }, {\n key: 'fragmentDefinitions',\n get: function get$$1() {\n return this.definitions.filter(function (definition) {\n return FragmentDefinition.prototype.isPrototypeOf(definition);\n });\n }\n }]);\n return Document;\n}();\n\n/**\n * The base class used when deserializing response data.\n * Provides rich features, like functions to generate queries to refetch a node or fetch the next page.\n *\n * @class\n */\nvar GraphModel =\n\n/**\n * @param {Object} attrs Attributes on the GraphModel.\n */\nfunction GraphModel(attrs) {\n var _this = this;\n\n classCallCheck(this, GraphModel);\n\n Object.defineProperty(this, 'attrs', { value: attrs, enumerable: false });\n\n Object.keys(this.attrs).filter(function (key) {\n return !(key in _this);\n }).forEach(function (key) {\n var descriptor = void 0;\n\n if (attrs[key] === null) {\n descriptor = {\n enumerable: true,\n get: function get$$1() {\n return null;\n }\n };\n } else {\n descriptor = {\n enumerable: true,\n get: function get$$1() {\n return this.attrs[key].valueOf();\n }\n };\n }\n Object.defineProperty(_this, key, descriptor);\n });\n};\n\n/**\n * A registry of classes used to deserialize the response data. Uses {@link GraphModel} by default.\n */\n\nvar ClassRegistry = function () {\n function ClassRegistry() {\n classCallCheck(this, ClassRegistry);\n\n this.classStore = {};\n }\n\n /**\n * Registers a class for a GraphQL type in the registry.\n *\n * @param {Class} constructor The constructor of the class.\n * @param {String} type The GraphQL type of the object to deserialize into the class.\n */\n\n\n createClass(ClassRegistry, [{\n key: 'registerClassForType',\n value: function registerClassForType(constructor, type) {\n this.classStore[type] = constructor;\n }\n\n /**\n * Unregisters a class for a GraphQL type in the registry.\n *\n * @param {String} type The GraphQL type to unregister.\n */\n\n }, {\n key: 'unregisterClassForType',\n value: function unregisterClassForType(type) {\n delete this.classStore[type];\n }\n\n /**\n * Returns the class for the given GraphQL type.\n *\n * @param {String} type The GraphQL type to look up.\n * @return {Class|GraphModel} The class for the given GraphQL type. Defaults to {@link GraphModel} if no class is registered for the GraphQL type.\n */\n\n }, {\n key: 'classForType',\n value: function classForType(type) {\n return this.classStore[type] || GraphModel;\n }\n }]);\n return ClassRegistry;\n}();\n\nfunction isValue(arg) {\n return Object.prototype.toString.call(arg) !== '[object Null]' && Object.prototype.toString.call(arg) !== '[object Undefined]';\n}\n\nfunction isNodeContext(context) {\n return context.selection.selectionSet.typeSchema.implementsNode;\n}\n\nfunction isConnection(context) {\n return context.selection.selectionSet.typeSchema.name.endsWith('Connection');\n}\n\nfunction nearestNode(context) {\n if (context == null) {\n return null;\n } else if (isNodeContext(context)) {\n return context;\n } else {\n return nearestNode(context.parent);\n }\n}\n\nfunction contextsFromRoot(context) {\n if (context.parent) {\n return contextsFromRoot(context.parent).concat(context);\n } else {\n return [context];\n }\n}\n\nfunction contextsFromNearestNode(context) {\n if (context.selection.selectionSet.typeSchema.implementsNode) {\n return [context];\n } else {\n return contextsFromNearestNode(context.parent).concat(context);\n }\n}\n\nfunction initializeDocumentAndVars(currentContext, contextChain) {\n var lastInChain = contextChain[contextChain.length - 1];\n var first = lastInChain.selection.args.first;\n var variableDefinitions = Object.keys(lastInChain.selection.args).filter(function (key) {\n return isVariable(lastInChain.selection.args[key]);\n }).map(function (key) {\n return lastInChain.selection.args[key];\n });\n\n var firstVar = variableDefinitions.find(function (definition) {\n return definition.name === 'first';\n });\n\n if (!firstVar) {\n firstVar = variable('first', 'Int', first);\n variableDefinitions.push(firstVar);\n }\n\n var document = new Document(currentContext.selection.selectionSet.typeBundle);\n\n return [document, variableDefinitions, firstVar];\n}\n\nfunction addNextFieldTo(currentSelection, contextChain, path, cursor) {\n // There are always at least two. When we start, it's the root context, and the first set\n var nextContext = contextChain.shift();\n\n path.push(nextContext.selection.responseKey);\n\n if (contextChain.length) {\n currentSelection.add(nextContext.selection.name, { alias: nextContext.selection.alias, args: nextContext.selection.args }, function (newSelection) {\n addNextFieldTo(newSelection, contextChain, path, cursor);\n });\n } else {\n var edgesField = nextContext.selection.selectionSet.selections.find(function (field) {\n return field.name === 'edges';\n });\n var nodeField = edgesField.selectionSet.selections.find(function (field) {\n return field.name === 'node';\n });\n var first = void 0;\n\n if (isVariable(nextContext.selection.args.first)) {\n first = nextContext.selection.args.first;\n } else {\n first = variable('first', 'Int', nextContext.selection.args.first);\n }\n\n var options = {\n alias: nextContext.selection.alias,\n args: Object.assign({}, nextContext.selection.args, { after: cursor, first: first })\n };\n\n currentSelection.addConnection(nextContext.selection.name, options, nodeField.selectionSet);\n }\n}\n\nfunction collectFragments(selections) {\n return selections.reduce(function (fragmentDefinitions, field) {\n if (FragmentSpread.prototype.isPrototypeOf(field)) {\n fragmentDefinitions.push(field.toDefinition());\n }\n\n fragmentDefinitions.push.apply(fragmentDefinitions, toConsumableArray(collectFragments(field.selectionSet.selections)));\n\n return fragmentDefinitions;\n }, []);\n}\n\nfunction nextPageQueryAndPath(context, cursor) {\n var nearestNodeContext = nearestNode(context);\n\n if (nearestNodeContext) {\n return function () {\n var _document$definitions;\n\n var path = [];\n var nodeType = nearestNodeContext.selection.selectionSet.typeSchema;\n var nodeId = nearestNodeContext.responseData.id;\n var contextChain = contextsFromNearestNode(context);\n\n var _initializeDocumentAn = initializeDocumentAndVars(context, contextChain),\n _initializeDocumentAn2 = slicedToArray(_initializeDocumentAn, 2),\n document = _initializeDocumentAn2[0],\n variableDefinitions = _initializeDocumentAn2[1];\n\n document.addQuery(variableDefinitions, function (root) {\n path.push('node');\n root.add('node', { args: { id: nodeId } }, function (node) {\n node.addInlineFragmentOn(nodeType.name, function (fragment) {\n addNextFieldTo(fragment, contextChain.slice(1), path, cursor);\n });\n });\n });\n\n var fragments = collectFragments(document.operations[0].selectionSet.selections);\n\n (_document$definitions = document.definitions).unshift.apply(_document$definitions, toConsumableArray(fragments));\n\n return [document, path];\n };\n } else {\n return function () {\n var _document$definitions2;\n\n var path = [];\n var contextChain = contextsFromRoot(context);\n\n var _initializeDocumentAn3 = initializeDocumentAndVars(context, contextChain),\n _initializeDocumentAn4 = slicedToArray(_initializeDocumentAn3, 2),\n document = _initializeDocumentAn4[0],\n variableDefinitions = _initializeDocumentAn4[1];\n\n document.addQuery(variableDefinitions, function (root) {\n addNextFieldTo(root, contextChain.slice(1), path, cursor);\n });\n\n var fragments = collectFragments(document.operations[0].selectionSet.selections);\n\n (_document$definitions2 = document.definitions).unshift.apply(_document$definitions2, toConsumableArray(fragments));\n\n return [document, path];\n };\n }\n}\n\nfunction hasNextPage$1(connection, edge) {\n if (edge !== connection.edges[connection.edges.length - 1]) {\n return new Scalar(true);\n }\n\n return connection.pageInfo.hasNextPage;\n}\n\nfunction hasPreviousPage(connection, edge) {\n if (edge !== connection.edges[0]) {\n return new Scalar(true);\n }\n\n return connection.pageInfo.hasPreviousPage;\n}\n\nfunction transformConnections(variableValues) {\n return function (context, value) {\n if (isConnection(context)) {\n if (!(value.pageInfo && value.pageInfo.hasOwnProperty('hasNextPage') && value.pageInfo.hasOwnProperty('hasPreviousPage'))) {\n throw new Error('Connections must include the selections \"pageInfo { hasNextPage, hasPreviousPage }\".');\n }\n\n return value.edges.map(function (edge) {\n return Object.assign(edge.node, {\n nextPageQueryAndPath: nextPageQueryAndPath(context, edge.cursor),\n hasNextPage: hasNextPage$1(value, edge),\n hasPreviousPage: hasPreviousPage(value, edge),\n variableValues: variableValues\n });\n });\n } else {\n return value;\n }\n };\n}\n\n/* eslint-disable no-warning-comments */\nvar DecodingContext = function () {\n function DecodingContext(selection, responseData) {\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n classCallCheck(this, DecodingContext);\n\n this.selection = selection;\n this.responseData = responseData;\n this.parent = parent;\n Object.freeze(this);\n }\n\n createClass(DecodingContext, [{\n key: 'contextForObjectProperty',\n value: function contextForObjectProperty(responseKey) {\n var nestedSelections = this.selection.selectionSet.selectionsByResponseKey[responseKey];\n var nextSelection = nestedSelections && nestedSelections[0];\n var nextContext = void 0;\n\n // fragment spreads operate inside the current context, so we recurse to get the proper\n // selection set, but retain the current response context\n if (Spread.prototype.isPrototypeOf(nextSelection)) {\n nextContext = new DecodingContext(nextSelection, this.responseData, this.parent);\n } else {\n nextContext = new DecodingContext(nextSelection, this.responseData[responseKey], this);\n }\n\n if (!nextSelection) {\n throw new Error('Unexpected response key \"' + responseKey + '\", not found in selection set: ' + this.selection.selectionSet);\n }\n\n if (Field.prototype.isPrototypeOf(nextSelection)) {\n return nextContext;\n } else {\n return nextContext.contextForObjectProperty(responseKey);\n }\n }\n }, {\n key: 'contextForArrayItem',\n value: function contextForArrayItem(item) {\n return new DecodingContext(this.selection, item, this.parent);\n }\n }]);\n return DecodingContext;\n}();\n\nfunction decodeArrayItems(context, transformers) {\n return context.responseData.map(function (item) {\n return decodeContext(context.contextForArrayItem(item), transformers);\n });\n}\n\nfunction decodeObjectValues(context, transformers) {\n return Object.keys(context.responseData).reduce(function (acc, responseKey) {\n acc[responseKey] = decodeContext(context.contextForObjectProperty(responseKey), transformers);\n\n return acc;\n }, {});\n}\n\nfunction runTransformers(transformers, context, value) {\n return transformers.reduce(function (acc, transformer) {\n return transformer(context, acc);\n }, value);\n}\n\nfunction decodeContext(context, transformers) {\n var value = context.responseData;\n\n if (Array.isArray(value)) {\n value = decodeArrayItems(context, transformers);\n } else if (isObject(value)) {\n value = decodeObjectValues(context, transformers);\n }\n\n return runTransformers(transformers, context, value);\n}\n\nfunction generateRefetchQueries(context, value) {\n if (isValue(value) && isNodeContext(context)) {\n value.refetchQuery = function () {\n return new Query(context.selection.selectionSet.typeBundle, function (root) {\n root.add('node', { args: { id: context.responseData.id } }, function (node) {\n node.addInlineFragmentOn(context.selection.selectionSet.typeSchema.name, context.selection.selectionSet);\n });\n });\n };\n }\n\n return value;\n}\n\nfunction transformPojosToClassesWithRegistry(classRegistry) {\n return function transformPojosToClasses(context, value) {\n if (isObject(value)) {\n var Klass = classRegistry.classForType(context.selection.selectionSet.typeSchema.name);\n\n return new Klass(value);\n } else {\n return value;\n }\n };\n}\n\nfunction transformScalars(context, value) {\n if (isValue(value)) {\n if (context.selection.selectionSet.typeSchema.kind === 'SCALAR') {\n return new Scalar(value);\n } else if (context.selection.selectionSet.typeSchema.kind === 'ENUM') {\n return new Enum(value);\n }\n }\n\n return value;\n}\n\nfunction recordTypeInformation(context, value) {\n if (isValue(value)) {\n if (value.__typename) {\n value.type = schemaForType(context.selection.selectionSet.typeBundle, value.__typename);\n } else {\n value.type = context.selection.selectionSet.typeSchema;\n }\n }\n\n return value;\n}\n\nfunction defaultTransformers(_ref) {\n var _ref$classRegistry = _ref.classRegistry,\n classRegistry = _ref$classRegistry === undefined ? new ClassRegistry() : _ref$classRegistry,\n variableValues = _ref.variableValues;\n\n return [transformScalars, generateRefetchQueries, transformConnections(variableValues), recordTypeInformation, transformPojosToClassesWithRegistry(classRegistry)];\n}\n\n/**\n * A function used to decode the response data.\n *\n * @function decode\n * @param {SelectionSet} selection The selection set used to query the response data.\n * @param {Object} responseData The response data returned.\n * @param {Object} [options] Options to use when decoding including:\n * @param {ClassRegistry} [options.classRegistry] A class registry to use when deserializing the data into classes.\n * @return {GraphModel} The decoded response data.\n */\nfunction decode(selection, responseData) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var transformers = options.transformers || defaultTransformers(options);\n var context = new DecodingContext(selection, responseData);\n\n return decodeContext(context, transformers);\n}\n\nfunction httpFetcher(url) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return function fetcher(graphQLParams) {\n return fetch(url, _extends({\n body: JSON.stringify(graphQLParams),\n method: 'POST',\n mode: 'cors'\n }, options, {\n headers: _extends({\n 'Content-Type': 'application/json',\n Accept: 'application/json'\n }, options.headers)\n })).then(function (response) {\n return response.json();\n });\n };\n}\n\nfunction hasNextPage(paginatedModels) {\n return paginatedModels && paginatedModels.length && paginatedModels[paginatedModels.length - 1].hasNextPage;\n}\n\n/**\n * The Client class used to create and send GraphQL documents, fragments, queries and mutations.\n */\n\nvar Client = function () {\n\n /**\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {Object} options An options object. Must include either `url` and optional `fetcherOptions` OR a `fetcher` function.\n * @param {(String|Function)} options.url|fetcher Either the URL of the GraphQL API endpoint, or a custom fetcher function for further customization.\n * @param {Object} [options.fetcherOptions] Additional options to use with `fetch`, like headers. Do not specify this argument if `fetcher` is specified.\n * @param {ClassRegistry} [options.registry=new ClassRegistry()] A {@link ClassRegistry} used to decode the response data.\n */\n function Client(typeBundle, _ref) {\n var url = _ref.url,\n fetcherOptions = _ref.fetcherOptions,\n fetcher = _ref.fetcher,\n _ref$registry = _ref.registry,\n registry = _ref$registry === undefined ? new ClassRegistry() : _ref$registry;\n classCallCheck(this, Client);\n\n this.typeBundle = typeBundle;\n this.classRegistry = registry;\n\n if (url && fetcher) {\n throw new Error('Arguments not supported: supply either `url` and optional `fetcherOptions` OR use a `fetcher` function for further customization.');\n }\n\n if (url) {\n this.fetcher = httpFetcher(url, fetcherOptions);\n } else if (fetcher) {\n if (fetcherOptions) {\n throw new Error('Arguments not supported: when specifying your own `fetcher`, set options through it and not with `fetcherOptions`');\n }\n\n this.fetcher = fetcher;\n } else {\n throw new Error('Invalid arguments: one of `url` or `fetcher` is needed.');\n }\n }\n\n /**\n * Creates a GraphQL document.\n *\n * @example\n * const document = client.document();\n *\n * @return {Document} A GraphQL document.\n */\n\n\n createClass(Client, [{\n key: 'document',\n value: function document() {\n return new Document(this.typeBundle);\n }\n\n /**\n * Creates a GraphQL query.\n *\n * @example\n * const query = client.query('myQuery', (root) => {\n * root.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {String} [name] A name for the query.\n * @param {VariableDefinition[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {Query} A GraphQL query.\n */\n\n }, {\n key: 'query',\n value: function query() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return new (Function.prototype.bind.apply(Query, [null].concat([this.typeBundle], args)))();\n }\n\n /**\n * Creates a GraphQL mutation.\n *\n * @example\n * const input = client.variable('input', 'CatCreateInput!');\n *\n * const mutation = client.mutation('myMutation', [input], (root) => {\n * root.add('catCreate', {args: {input}}, (catCreate) => {\n * catCreate.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {String} [name] A name for the mutation.\n * @param {VariableDefinition[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The mutation builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {Mutation} A GraphQL mutation.\n */\n\n }, {\n key: 'mutation',\n value: function mutation() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return new (Function.prototype.bind.apply(Mutation, [null].concat([this.typeBundle], args)))();\n }\n\n /**\n * Sends a GraphQL operation (query or mutation) or a document.\n *\n * @example\n * client.send(query, {id: '12345'}).then((result) => {\n * // Do something with the returned result\n * console.log(result);\n * });\n *\n * @param {(Query|Mutation|Document|Function)} request The operation or document to send. If represented\n * as a function, it must return `Query`, `Mutation`, or `Document` and recieve the client as the only param.\n * @param {Object} [variableValues] The values for variables in the operation or document.\n * @param {Object} [otherProperties] Other properties to send with the query. For example, a custom operation name.\n * @return {Promise.} A promise resolving to an object containing the response data.\n */\n\n }, {\n key: 'send',\n value: function send(request) {\n var _this = this;\n\n var variableValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var otherProperties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n var operationOrDocument = void 0;\n\n if (Function.prototype.isPrototypeOf(request)) {\n operationOrDocument = request(this);\n } else {\n operationOrDocument = request;\n }\n\n var graphQLParams = { query: operationOrDocument.toString() };\n\n if (variableValues) {\n graphQLParams.variables = variableValues;\n }\n\n Object.assign(graphQLParams, otherProperties);\n\n var operation = void 0;\n\n if (Operation.prototype.isPrototypeOf(operationOrDocument)) {\n operation = operationOrDocument;\n } else {\n var document = operationOrDocument;\n\n if (document.operations.length === 1) {\n operation = document.operations[0];\n } else if (otherProperties.operationName) {\n operation = document.operations.find(function (documentOperation) {\n return documentOperation.name === otherProperties.operationName;\n });\n } else {\n throw new Error('\\n A document must contain exactly one operation, or an operationName\\n must be specified. Example:\\n\\n client.send(document, null, {operationName: \\'myFancyQuery\\'});\\n ');\n }\n }\n\n return this.fetcher(graphQLParams).then(function (response) {\n if (response.data) {\n response.model = decode(operation, response.data, {\n classRegistry: _this.classRegistry,\n variableValues: variableValues\n });\n }\n\n return response;\n });\n }\n\n /**\n * Fetches the next page of a paginated node or array of nodes.\n *\n * @example\n * client.fetchNextPage(node, {first: 10}).then((result) => {\n * // Do something with the next page\n * console.log(result);\n * });\n *\n * @param {(GraphModel|GraphModel[])} nodeOrNodes The node or list of nodes on which to fetch the next page.\n * @param {Object} [options] Options object containing:\n * @param {Integer} [options.first] The number of nodes to query on the next page. Defaults to the page size of the previous query.\n * @return {Promise.} A promise resolving with the next page of {@link GraphModel}s.\n */\n\n }, {\n key: 'fetchNextPage',\n value: function fetchNextPage(nodeOrNodes, options) {\n var node = void 0;\n\n if (Array.isArray(nodeOrNodes)) {\n node = nodeOrNodes[nodeOrNodes.length - 1];\n } else {\n node = nodeOrNodes;\n }\n\n var _node$nextPageQueryAn = node.nextPageQueryAndPath(),\n _node$nextPageQueryAn2 = slicedToArray(_node$nextPageQueryAn, 2),\n query = _node$nextPageQueryAn2[0],\n path = _node$nextPageQueryAn2[1];\n\n var variableValues = void 0;\n\n if (node.variableValues || options) {\n variableValues = Object.assign({}, node.variableValues, options);\n }\n\n return this.send(query, variableValues).then(function (response) {\n response.model = path.reduce(function (object, key) {\n return object[key];\n }, response.model);\n\n return response;\n });\n }\n\n /**\n * Fetches all subsequent pages of a paginated array of nodes.\n *\n * @example\n * client.fetchAllPages(nodes, {pageSize: 20}).then((result) => {\n * // Do something with all the models\n * console.log(result);\n * });\n *\n * @param {GraphModel[]} paginatedModels The list of nodes on which to fetch all pages.\n * @param {Object} options Options object containing:\n * @param {Integer} options.pageSize The number of nodes to query on each page.\n * @return {Promise.} A promise resolving with all pages of {@link GraphModel}s, including the original list.\n */\n\n }, {\n key: 'fetchAllPages',\n value: function fetchAllPages(paginatedModels, _ref2) {\n var _this2 = this;\n\n var pageSize = _ref2.pageSize;\n\n if (hasNextPage(paginatedModels)) {\n return this.fetchNextPage(paginatedModels, { first: pageSize }).then(function (_ref3) {\n var model = _ref3.model;\n\n var pages = paginatedModels.concat(model);\n\n return _this2.fetchAllPages(pages, { pageSize: pageSize });\n });\n }\n\n return Promise.resolve(paginatedModels);\n }\n\n /**\n * Refetches a {@link GraphModel} whose type implements `Node`.\n *\n * @example\n * client.refetch(node).then((result) => {\n * // Do something with the refetched node\n * console.log(result);\n * });\n *\n * @param {GraphModel} nodeType A {@link GraphModel} whose type implements `Node`.\n * @return {Promise.} The refetched {@link GraphModel}.\n */\n\n }, {\n key: 'refetch',\n value: function refetch(nodeType) {\n if (!nodeType) {\n throw new Error('\\'client#refetch\\' must be called with a non-null instance of a Node.');\n } else if (!nodeType.type.implementsNode) {\n throw new Error('\\'client#refetch\\' must be called with a type that implements Node. Received ' + nodeType.type.name + '.');\n }\n\n return this.send(nodeType.refetchQuery()).then(function (_ref4) {\n var model = _ref4.model;\n return model.node;\n });\n }\n\n /**\n * Creates a variable to be used in a {@link Query} or {@link Mutation}.\n *\n * @example\n * const idVariable = client.variable('id', 'ID!', '12345');\n *\n * @param {String} name The name of the variable.\n * @param {String} type The GraphQL type of the variable.\n * @param {*} [defaultValue] The default value of the variable.\n * @return {VariableDefinition} A variable object that can be used in a {@link Query} or {@link Mutation}.\n */\n\n }, {\n key: 'variable',\n value: function variable$$1(name, type, defaultValue) {\n return variable(name, type, defaultValue);\n }\n\n /**\n * Creates an enum to be used in a {@link Query} or {@link Mutation}.\n *\n * @example\n * const titleEnum = client.enum('TITLE');\n *\n * @param {String} key The key of the enum.\n * @return {Enum} An enum object that can be used in a {@link Query} or {@link Mutation}.\n */\n\n }, {\n key: 'enum',\n value: function _enum(key) {\n return enumFunction(key);\n }\n }]);\n return Client;\n}();\n\nexport { ClassRegistry, GraphModel, decode };export default Client;\n//# sourceMappingURL=index.es.js.map\n","/**\n * The class used to configure the JS Buy SDK Client.\n * @class\n */\nclass Config {\n\n /**\n * Properties that must be set on initializations\n * @attribute requiredProperties\n * @default ['storefrontAccessToken', 'domain']\n * @type Array\n * @private\n */\n get requiredProperties() {\n return [\n 'storefrontAccessToken',\n 'domain'\n ];\n }\n\n /**\n * Deprecated properties that map directly to required properties\n * @attribute deprecatedProperties\n * @default {'accessToken': 'storefrontAccessToken', 'apiKey': 'storefrontAccessToken'}\n * @type Object\n * @private\n */\n get deprecatedProperties() {\n return {\n accessToken: 'storefrontAccessToken',\n apiKey: 'storefrontAccessToken'\n };\n }\n\n /**\n * @constructs Config\n * @param {Object} attrs An object specifying the configuration. Requires the following properties:\n * @param {String} attrs.storefrontAccessToken The {@link https://help.shopify.com/api/reference/storefront_access_token|Storefront access token} for the shop.\n * @param {String} attrs.domain The `myshopify` domain for the shop (e.g. `graphql.myshopify.com`).\n */\n constructor(attrs) {\n Object.keys(this.deprecatedProperties).forEach((key) => {\n if (!attrs.hasOwnProperty(key)) { return; }\n // eslint-disable-next-line no-console\n console.warn(`[ShopifyBuy] Config property ${key} is deprecated as of v1.0, please use ${this.deprecatedProperties[key]} instead.`);\n attrs[this.deprecatedProperties[key]] = attrs[key];\n });\n\n this.requiredProperties.forEach((key) => {\n if (attrs.hasOwnProperty(key)) {\n this[key] = attrs[key];\n } else {\n throw new Error(`new Config() requires the option '${key}'`);\n }\n });\n }\n}\n\nexport default Config;\n","export default class Resource {\n constructor(client) {\n this.graphQLClient = client;\n }\n}\n","export const defaultErrors = [{message: 'an unknown error has occured.'}];\n\nexport default function defaultResolver(path) {\n const keys = path.split('.');\n\n return function({model, errors}) {\n return new Promise((resolve, reject) => {\n try {\n const result = keys.reduce((ref, key) => {\n return ref[key];\n }, model);\n\n resolve(result);\n } catch (_) {\n if (errors) {\n reject(errors);\n } else {\n reject(defaultErrors);\n }\n }\n });\n };\n}\n","export default function fetchResourcesForProducts(productOrProduct, client) {\n const products = [].concat(productOrProduct);\n\n return Promise.all(products.reduce((promiseAcc, product) => {\n // Fetch the rest of the images and variants for this product\n promiseAcc.push(client.fetchAllPages(product.images, {pageSize: 250}).then((images) => {\n product.attrs.images = images;\n }));\n\n promiseAcc.push(client.fetchAllPages(product.variants, {pageSize: 250}).then((variants) => {\n product.attrs.variants = variants;\n }));\n\n return promiseAcc;\n }, []));\n}\n","import fetchResourcesForProducts from './fetch-resources-for-products';\n\nexport function paginateProductConnectionsAndResolve(client) {\n return function(products) {\n return fetchResourcesForProducts(products, client).then(() => {\n return products;\n });\n };\n}\n\nexport function paginateCollectionsProductConnectionsAndResolve(client) {\n return function(collectionOrCollections) {\n const collections = [].concat(collectionOrCollections);\n\n return Promise.all(collections.reduce((promiseAcc, collection) => {\n return promiseAcc.concat(fetchResourcesForProducts(collection.products, client));\n }, [])).then(() => {\n return collectionOrCollections;\n });\n };\n}\n","/**\n * @namespace ProductHelpers\n */\nexport default {\n\n /**\n * Returns the variant of a product corresponding to the options given.\n *\n * @example\n * const selectedVariant = client.product.variantForOptions(product, {\n * size: \"Small\",\n * color: \"Red\"\n * });\n *\n * @memberof ProductHelpers\n * @method variantForOptions\n * @param {GraphModel} product The product to find the variant on. Must include `variants`.\n * @param {Object} options An object containing the options for the variant.\n * @return {GraphModel} The variant corresponding to the options given.\n */\n variantForOptions(product, options) {\n return product.variants.find((variant) => {\n return variant.selectedOptions.every((selectedOption) => {\n return options[selectedOption.name] === selectedOption.value.valueOf();\n });\n });\n }\n};\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport {paginateProductConnectionsAndResolve} from './paginators';\nimport productHelpers from './product-helpers';\n\n// GraphQL\nimport productNodeQuery from './graphql/productNodeQuery.graphql';\nimport productNodesQuery from './graphql/productNodesQuery.graphql';\nimport productConnectionQuery from './graphql/productConnectionQuery.graphql';\nimport productByHandleQuery from './graphql/productByHandleQuery.graphql';\n\n/**\n * The JS Buy SDK product resource\n * @class\n */\nclass ProductResource extends Resource {\n get helpers() {\n return productHelpers;\n }\n\n /**\n * Fetches all products on the shop.\n *\n * @example\n * client.product.fetchAll().then((products) => {\n * // Do something with the products\n * });\n *\n * @param {Int} [pageSize] The number of products to fetch per page\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the products.\n */\n fetchAll(first = 20) {\n return this.graphQLClient\n .send(productConnectionQuery, {first})\n .then(defaultResolver('products'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single product by ID on the shop.\n *\n * @example\n * client.product.fetch('Xk9lM2JkNzFmNzIQ4NTIY4ZDFi9DaGVja291dC9lM2JkN==').then((product) => {\n * // Do something with the product\n * });\n *\n * @param {String} id The id of the product to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the product.\n */\n fetch(id) {\n return this.graphQLClient\n .send(productNodeQuery, {id})\n .then(defaultResolver('node'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches multiple products by ID on the shop.\n *\n * @example\n * const ids = ['Xk9lM2JkNzFmNzIQ4NTIY4ZDFi9DaGVja291dC9lM2JkN==', 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ='];\n * client.product.fetchMultiple(ids).then((products) => {\n * // Do something with the products\n * });\n *\n * @param {String[]} ids The ids of the products to fetch\n * @return {Promise|GraphModel[]} A promise resolving with a `GraphModel` of the product.\n */\n fetchMultiple(ids) {\n return this.graphQLClient\n .send(productNodesQuery, {ids})\n .then(defaultResolver('nodes'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single product by handle on the shop.\n *\n * @example\n * client.product.fetchByHandle('my-product').then((product) => {\n * // Do something with the product\n * });\n *\n * @param {String} handle The handle of the product to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the product.\n */\n fetchByHandle(handle) {\n return this.graphQLClient\n .send(productByHandleQuery, {handle})\n .then(defaultResolver('productByHandle'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches all products on the shop that match the query.\n *\n * @example\n * client.product.fetchQuery({first: 20, sortKey: 'CREATED_AT', reverse: true}).then((products) => {\n * // Do something with the first 10 products sorted by title in ascending order\n * });\n *\n * @param {Object} [args] An object specifying the query data containing zero or more of:\n * @param {Int} [args.first=20] The relay `first` param. This specifies page size.\n * @param {String} [args.sortKey=ID] The key to sort results by. Available values are\n * documented as {@link https://help.shopify.com/api/storefront-api/reference/enum/productsortkeys|Product Sort Keys}.\n * @param {String} [args.query] A query string. See full documentation {@link https://help.shopify.com/api/storefront-api/reference/object/shop#products|here}\n * @param {Boolean} [args.reverse] Whether or not to reverse the sort order of the results\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the products.\n */\n fetchQuery({first = 20, sortKey = 'ID', query, reverse} = {}) {\n return this.graphQLClient\n .send(productConnectionQuery, {\n first,\n sortKey,\n query,\n reverse\n })\n .then(defaultResolver('products'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n}\n\nexport default ProductResource;\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport {paginateCollectionsProductConnectionsAndResolve} from './paginators';\n\n// GraphQL\nimport collectionNodeQuery from './graphql/collectionNodeQuery.graphql';\nimport collectionNodeWithProductsQuery from './graphql/collectionNodeWithProductsQuery.graphql';\nimport collectionConnectionQuery from './graphql/collectionConnectionQuery.graphql';\nimport collectionConnectionWithProductsQuery from './graphql/collectionConnectionWithProductsQuery.graphql';\nimport collectionByHandleQuery from './graphql/collectionByHandleQuery.graphql';\n\n/**\n * The JS Buy SDK collection resource\n * @class\n */\nclass CollectionResource extends Resource {\n\n /**\n * Fetches all collections on the shop, not including products.\n * To fetch collections with products use [fetchAllsWithProducts]{@link Client#fetchAllsWithProducts}.\n *\n * @example\n * client.collection.fetchAll().then((collections) => {\n * // Do something with the collections\n * });\n *\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchAll(first = 20) {\n return this.graphQLClient\n .send(collectionConnectionQuery, {first})\n .then(defaultResolver('collections'));\n }\n\n /**\n * Fetches all collections on the shop, including products.\n *\n * @example\n * client.collection.fetchAllWithProducts().then((collections) => {\n * // Do something with the collections\n * });\n *\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchAllWithProducts({first = 20, productsFirst = 20} = {}) {\n return this.graphQLClient\n .send(collectionConnectionWithProductsQuery, {first, productsFirst})\n .then(defaultResolver('collections'))\n .then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single collection by ID on the shop, not including products.\n * To fetch the collection with products use [fetchWithProducts]{@link Client#fetchWithProducts}.\n *\n * @example\n * client.collection.fetch('Xk9lM2JkNzFmNzIQ4NTIY4ZDFiZTUyZTUwNTE2MDNhZjg==').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} id The id of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetch(id) {\n return this.graphQLClient\n .send(collectionNodeQuery, {id})\n .then(defaultResolver('node'));\n }\n\n /**\n * Fetches a single collection by ID on the shop, including products.\n *\n * @example\n * client.collection.fetchWithProducts('Xk9lM2JkNzFmNzIQ4NTIY4ZDFiZTUyZTUwNTE2MDNhZjg==').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} id The id of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetchWithProducts(id) {\n return this.graphQLClient\n .send(collectionNodeWithProductsQuery, {id})\n .then(defaultResolver('node'))\n .then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a collection by handle on the shop.\n *\n * @example\n * client.collection.fetchByHandle('my-collection').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} handle The handle of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetchByHandle(handle) {\n return this.graphQLClient\n .send(collectionByHandleQuery, {handle})\n .then(defaultResolver('collectionByHandle'));\n }\n\n /**\n * Fetches all collections on the shop that match the query.\n *\n * @example\n * client.collection.fetchQuery({first: 20, sortKey: 'CREATED_AT', reverse: true}).then((collections) => {\n * // Do something with the first 10 collections sorted by title in ascending order\n * });\n *\n * @param {Object} [args] An object specifying the query data containing zero or more of:\n * @param {Int} [args.first=20] The relay `first` param. This specifies page size.\n * @param {String} [args.sortKey=ID] The key to sort results by. Available values are\n * documented as {@link https://help.shopify.com/api/storefront-api/reference/enum/collectionsortkeys|Collection Sort Keys}.\n * @param {String} [args.query] A query string. See full documentation {@link https://help.shopify.com/api/storefront-api/reference/object/shop#collections|here}\n * @param {Boolean} [args.reverse] Whether or not to reverse the sort order of the results\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchQuery({first = 20, sortKey = 'ID', query, reverse} = {}) {\n return this.graphQLClient.send(collectionConnectionQuery, {\n first,\n sortKey,\n query,\n reverse\n }).then(defaultResolver('collections'));\n }\n}\nexport default CollectionResource;\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\n\n// GraphQL\nimport shopQuery from './graphql/shopQuery.graphql';\nimport shopPolicyQuery from './graphql/shopPolicyQuery.graphql';\n\n/**\n * The JS Buy SDK shop resource\n * @class\n */\nclass ShopResource extends Resource {\n\n /**\n * Fetches shop information (`currencyCode`, `description`, `moneyFormat`, `name`, and `primaryDomain`).\n * See the {@link https://help.shopify.com/api/storefront-api/reference/object/shop|Storefront API reference} for more information.\n *\n * @example\n * client.shop.fetchInfo().then((shop) => {\n * // Do something with the shop\n * });\n *\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the shop.\n */\n fetchInfo() {\n return this.graphQLClient\n .send(shopQuery)\n .then(defaultResolver('shop'));\n }\n\n /**\n * Fetches shop policies (privacy policy, terms of service and refund policy).\n *\n * @example\n * client.shop.fetchPolicies().then((shop) => {\n * // Do something with the shop\n * });\n *\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the shop.\n */\n fetchPolicies() {\n return this.graphQLClient\n .send(shopPolicyQuery)\n .then(defaultResolver('shop'));\n }\n}\n\nexport default ShopResource;\n","export default function handleCheckoutMutation(mutationRootKey, client) {\n return function({data, errors, model}) {\n const rootData = data[mutationRootKey];\n const rootModel = model[mutationRootKey];\n\n if (rootData && rootData.checkout) {\n return client.fetchAllPages(rootModel.checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n rootModel.checkout.attrs.lineItems = lineItems;\n rootModel.checkout.errors = errors;\n rootModel.checkout.userErrors = rootModel.userErrors;\n\n return rootModel.checkout;\n });\n }\n\n if (errors && errors.length) {\n return Promise.reject(new Error(JSON.stringify(errors)));\n }\n\n if (rootData && rootData.checkoutUserErrors && rootData.checkoutUserErrors.length) {\n return Promise.reject(new Error(JSON.stringify(rootData.checkoutUserErrors)));\n }\n\n if (rootData && rootData.userErrors && rootData.userErrors.length) {\n return Promise.reject(new Error(JSON.stringify(rootData.userErrors)));\n }\n\n return Promise.reject(new Error(`The ${mutationRootKey} mutation failed due to an unknown error.`));\n };\n}\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport handleCheckoutMutation from './handle-checkout-mutation';\n\n// GraphQL\nimport checkoutNodeQuery from './graphql/checkoutNodeQuery.graphql';\nimport checkoutNodeQueryWithAddress from './graphql/checkoutNodeQueryWithAddress.graphql';\nimport checkoutCreateMutation from './graphql/checkoutCreateMutation.graphql';\nimport checkoutLineItemsAddMutation from './graphql/checkoutLineItemsAddMutation.graphql';\nimport checkoutLineItemsRemoveMutation from './graphql/checkoutLineItemsRemoveMutation.graphql';\nimport checkoutLineItemsReplaceMutation from './graphql/checkoutLineItemsReplaceMutation.graphql';\nimport checkoutLineItemsUpdateMutation from './graphql/checkoutLineItemsUpdateMutation.graphql';\nimport checkoutAttributesUpdateV2Mutation from './graphql/checkoutAttributesUpdateV2Mutation.graphql';\nimport checkoutDiscountCodeApplyV2Mutation from './graphql/checkoutDiscountCodeApplyV2Mutation.graphql';\nimport checkoutDiscountCodeRemoveMutation from './graphql/checkoutDiscountCodeRemoveMutation.graphql';\nimport checkoutEmailUpdateV2Mutation from './graphql/checkoutEmailUpdateV2Mutation.graphql';\nimport checkoutShippingAddressUpdateMutation from './graphql/checkoutShippingAddressUpdateMutation.graphql';\nimport checkoutShippingLineUpdateMutation from './graphql/checkoutShippingLineUpdateMutation.graphql';\n\n\n/**\n * The JS Buy SDK checkout resource\n * @class\n */\nclass CheckoutResource extends Resource {\n\n /**\n * Fetches a checkout by ID.\n *\n * @example\n * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {\n * // Do something with the checkout\n * });\n *\n * @param {String} id The id of the checkout to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.\n */\n fetch(id) {\n return this.graphQLClient\n .send(checkoutNodeQuery, {id})\n .then(defaultResolver('node'))\n .then((checkout) => {\n if (!checkout) { return null; }\n\n return this.graphQLClient.fetchAllPages(checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n checkout.attrs.lineItems = lineItems;\n\n return checkout;\n });\n });\n }\n\n /**\n * Fetches a checkout by ID.\n *\n * @example\n * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {\n * // Do something with the checkout\n * });\n *\n * @param {String} id The id of the checkout to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.\n */\n fetchWithAddress(id) {\n return this.graphQLClient\n .send(checkoutNodeQueryWithAddress, {id})\n .then(defaultResolver('node'))\n .then((checkout) => {\n return this.graphQLClient.fetchAllPages(checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n checkout.attrs.lineItems = lineItems;\n\n return checkout;\n });\n });\n }\n\n /**\n * Creates a checkout.\n *\n * @example\n * const input = {\n * lineItems: [\n * {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}\n * ]\n * };\n *\n * client.checkout.create(input).then((checkout) => {\n * // Do something with the newly created checkout\n * });\n *\n * @param {Object} [input] An input object containing zero or more of:\n * @param {String} [input.email] An email connected to the checkout.\n * @param {Object[]} [input.lineItems] A list of line items in the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @param {Object} [input.shippingAddress] A shipping address. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/mailingaddressinput|Storefront API reference} for valid input fields.\n * @param {String} [input.note] A note for the checkout.\n * @param {Object[]} [input.customAttributes] A list of custom attributes for the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/attributeinput|Storefront API reference} for valid input fields.\n * @return {Promise|GraphModel} A promise resolving with the created checkout.\n */\n create(input = {}) {\n return this.graphQLClient\n .send(checkoutCreateMutation, {input})\n .then(handleCheckoutMutation('checkoutCreate', this.graphQLClient));\n }\n\n /**\n * Replaces the value of checkout's custom attributes and/or note with values defined in the input\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const input = {customAttributes: [{key: \"MyKey\", value: \"MyValue\"}]};\n *\n * client.checkout.updateAttributes(checkoutId, input).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update.\n * @param {Object} [input] An input object containing zero or more of:\n * @param {Boolean} [input.allowPartialAddresses] An email connected to the checkout.\n * @param {Object[]} [input.customAttributes] A list of custom attributes for the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/attributeinput|Storefront API reference} for valid input fields.\n * @param {String} [input.note] A note for the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateAttributes(checkoutId, input = {}) {\n return this.graphQLClient\n .send(checkoutAttributesUpdateV2Mutation, {checkoutId, input})\n .then(handleCheckoutMutation('checkoutAttributesUpdateV2', this.graphQLClient));\n }\n\n /**\n * Replaces the value of checkout's email address\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const email = 'user@example.com';\n *\n * client.checkout.updateEmail(checkoutId, email).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update.\n * @param {String} email The email address to apply to the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateEmail(checkoutId, email) {\n return this.graphQLClient\n .send(checkoutEmailUpdateV2Mutation, {checkoutId, email})\n .then(handleCheckoutMutation('checkoutEmailUpdateV2', this.graphQLClient));\n }\n\n /**\n * Adds line items to an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];\n *\n * client.checkout.addLineItems(checkoutId, lineItems).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add line items to.\n * @param {Object[]} lineItems A list of line items to add to the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n addLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsAddMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsAdd', this.graphQLClient));\n }\n\n /**\n * Applies a discount to an existing checkout using a discount code.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const discountCode = 'best-discount-ever';\n *\n * client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add discount to.\n * @param {String} discountCode The discount code to apply to the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n addDiscount(checkoutId, discountCode) {\n return this.graphQLClient\n .send(checkoutDiscountCodeApplyV2Mutation, {checkoutId, discountCode})\n .then(handleCheckoutMutation('checkoutDiscountCodeApplyV2', this.graphQLClient));\n }\n\n /**\n * Removes a discount from an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n *\n * client.checkout.removeDiscount(checkoutId).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add discount to.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n removeDiscount(checkoutId) {\n return this.graphQLClient\n .send(checkoutDiscountCodeRemoveMutation, {checkoutId})\n .then(handleCheckoutMutation('checkoutDiscountCodeRemove', this.graphQLClient));\n }\n\n /**\n * Removes line items from an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItemIds = ['TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU='];\n *\n * client.checkout.removeLineItems(checkoutId, lineItemIds).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to remove line items from.\n * @param {String[]} lineItemIds A list of the ids of line items to remove from the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n removeLineItems(checkoutId, lineItemIds) {\n return this.graphQLClient\n .send(checkoutLineItemsRemoveMutation, {checkoutId, lineItemIds})\n .then(handleCheckoutMutation('checkoutLineItemsRemove', this.graphQLClient));\n }\n\n /**\n * Replace line items on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];\n *\n * client.checkout.replaceLineItems(checkoutId, lineItems).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add line items to.\n * @param {Object[]} lineItems A list of line items to set on the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n replaceLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsReplaceMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsReplace', this.graphQLClient));\n }\n\n /**\n * Updates line items on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [\n * {\n * id: 'TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU=',\n * quantity: 5,\n * variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg=='\n * }\n * ];\n *\n * client.checkout.updateLineItems(checkoutId, lineItems).then(checkout => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update a line item on.\n * @param {Object[]} lineItems A list of line item information to update. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineitemupdateinput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsUpdateMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsUpdate', this.graphQLClient));\n }\n\n /**\n * Updates shipping address on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const shippingAddress = {\n * address1: 'Chestnut Street 92',\n * address2: 'Apartment 2\"',\n * city: 'Louisville',\n * company: null,\n * country: 'United States',\n * firstName: 'Bob',\n * lastName: 'Norman',\n * phone: '555-625-1199',\n * province: 'Kentucky',\n * zip: '40202'\n * };\n *\n *\n * client.checkout.updateShippingAddress(checkoutId, shippingAddress).then(checkout => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update shipping address.\n * @param {Object} shippingAddress A shipping address.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateShippingAddress(checkoutId, shippingAddress) {\n return this.graphQLClient\n .send(checkoutShippingAddressUpdateMutation, {checkoutId, shippingAddress})\n .then(handleCheckoutMutation('checkoutShippingAddressUpdate', this.graphQLClient));\n }\n\n updateShippingLines(checkoutId, shippingRateHandle) {\n return this.graphQLClient\n .send(checkoutShippingLineUpdateMutation, {checkoutId, shippingRateHandle})\n .then(handleCheckoutMutation('checkoutShippingLineUpdate', this.graphQLClient));\n }\n}\n\nexport default CheckoutResource;\n","/**\n * @namespace ImageHelpers\n */\nexport default {\n\n /**\n * Generates the image src for a resized image with maximum dimensions `maxWidth` and `maxHeight`.\n * Images do not scale up.\n *\n * @example\n * const url = client.image.helpers.imageForSize(product.variants[0].image, {maxWidth: 50, maxHeight: 50});\n *\n * @memberof ImageHelpers\n * @method imageForSize\n * @param {Object} image The original image model to generate the image src for.\n * @param {Object} options An options object containing:\n * @param {Integer} options.maxWidth The maximum width for the image.\n * @param {Integer} options.maxHeight The maximum height for the image.\n * @return {String} The image src for the resized image.\n */\n imageForSize(image, {maxWidth, maxHeight}) {\n const splitUrl = image.src.split('?');\n const notQuery = splitUrl[0];\n const query = splitUrl[1] ? `?${splitUrl[1]}` : '';\n\n // Use the section before the query\n const imageTokens = notQuery.split('.');\n\n // Take the token before the file extension and append the dimensions\n const imagePathIndex = imageTokens.length - 2;\n\n imageTokens[imagePathIndex] = `${imageTokens[imagePathIndex]}_${maxWidth}x${maxHeight}`;\n\n return `${imageTokens.join('.')}${query}`;\n }\n};\n","import Resource from './resource';\nimport imageHelpers from './image-helpers';\n\n/**\n * The JS Buy SDK image resource\n * @class\n */\nclass ImageResource extends Resource {\n get helpers() {\n return imageHelpers;\n }\n}\n\nexport default ImageResource;\n","import GraphQLJSClient from './graphql-client';\nimport Config from './config';\nimport ProductResource from './product-resource';\nimport CollectionResource from './collection-resource';\nimport ShopResource from './shop-resource';\nimport CheckoutResource from './checkout-resource';\nimport ImageResource from './image-resource';\nimport {version} from '../package.json';\n\n// GraphQL\nimport types from '../schema.json';\n\n/**\n * The JS Buy SDK Client.\n * @class\n *\n * @property {ProductResource} product The property under which product fetching methods live.\n * @property {CollectionResource} collection The property under which collection fetching methods live.\n * @property {ShopResource} shop The property under which shop fetching methods live.\n * @property {CheckoutResource} checkout The property under which shop fetching and mutating methods live.\n * @property {ImageResource} image The property under which image helper methods live.\n */\nclass Client {\n\n /**\n * Primary entry point for building a new Client.\n */\n static buildClient(config, fetchFunction) {\n const newConfig = new Config(config);\n const client = new Client(newConfig, GraphQLJSClient, fetchFunction);\n\n client.config = newConfig;\n\n return client;\n }\n\n /**\n * @constructs Client\n * @param {Config} config An instance of {@link Config} used to configure the Client.\n */\n constructor(config, GraphQLClientClass = GraphQLJSClient, fetchFunction) {\n const url = `https://${config.domain}/api/graphql`;\n\n const headers = {\n 'X-SDK-Variant': 'javascript',\n 'X-SDK-Version': version,\n 'X-Shopify-Storefront-Access-Token': config.storefrontAccessToken\n };\n\n if (fetchFunction) {\n headers['Content-Type'] = 'application/json';\n headers.Accept = 'application/json';\n\n this.graphQLClient = new GraphQLClientClass(types, {\n fetcher: function fetcher(graphQLParams) {\n return fetchFunction(url, {\n body: JSON.stringify(graphQLParams),\n method: 'POST',\n mode: 'cors',\n headers\n }).then((response) => response.json());\n }\n });\n } else {\n this.graphQLClient = new GraphQLClientClass(types, {\n url,\n fetcherOptions: {headers}\n });\n }\n\n this.product = new ProductResource(this.graphQLClient);\n this.collection = new CollectionResource(this.graphQLClient);\n this.shop = new ShopResource(this.graphQLClient);\n this.checkout = new CheckoutResource(this.graphQLClient);\n this.image = new ImageResource(this.graphQLClient);\n }\n\n /**\n * Fetches the next page of models\n *\n * @example\n * client.fetchNextPage(products).then((nextProducts) => {\n * // Do something with the products\n * });\n *\n * @param {models} [Array] The paginated set to fetch the next page of\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the type provided.\n */\n fetchNextPage(models) {\n return this.graphQLClient.fetchNextPage(models);\n }\n}\n\nexport default Client;\n"],"names":["join","_len","arguments","length","fields","Array","_key","isObject","value","Boolean","Object","prototype","toString","call","valueOf","deepFreezeCopyExcept","predicate","structure","freeze","keys","reduce","copy","key","isArray","map","item","schemaForType","typeBundle","typeName","type","types","Error","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","i","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","_extends","assign","source","hasOwnProperty","inherits","subClass","superClass","create","setPrototypeOf","__proto__","possibleConstructorReturn","self","ReferenceError","slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","undefined","_i","Symbol","iterator","_s","next","done","push","err","toConsumableArray","arr2","from","VariableDefinition","name","defaultValue","toInputValueString","defaultValueString","formatInputValue","isVariable","isPrototypeOf","variable","Enum","enumFunction","Scalar","get$$1","String","JSON","stringify","apply","formatObject","openChar","closeChar","argPairs","formatArgs","args","noop","Profiler","trackTypeDependency","trackFieldDependency","parseFieldCreationArgs","creationArgs","callback","options","selectionSet","_creationArgs","_creationArgs2","SelectionSet","emptyArgs","Field","alias","responseKey","aliasPrefix","Spread","InlineFragment","_Spread","_this","getPrototypeOf","FragmentSpread","_Spread2","fragmentDefinition","_this2","toDefinition","FragmentDefinition","typeSchema","spread","selectionsHaveIdField","selections","some","fieldOrFragment","implementsNode","selectionsHaveTypenameField","indexSelectionsByResponseKey","assignOrPush","obj","unfrozenObject","acc","selection","responseKeys","selectionsByResponseKey","forEach","builderFunction","SelectionSetBuilder","unshift","kind","hasSelectionWithResponseKey","field","add","selectionOrFieldName","rest","concat","_len2","_key2","parsedArgs","fieldBaseTypes","fieldBaseType","inlineFragmentOn","builderFunctionOrSelectionSet","addField","_len3","_key3","addConnection","_len4","_key4","_parseFieldCreationAr","connection","pageInfo","edges","addInlineFragmentOn","fieldTypeCb","addFragment","fragmentSpread","parseArgs","variables","selectionSetCallback","_args","VariableDefinitions","variableDefinitions","Operation","operationType","_parseArgs","queryType","mutationType","nameString","Query","_Operation","_ref","Mutation","isAnonymous","operation","hasAnonymousOperations","operations","hasDuplicateOperationNames","names","hasDuplicates","index","indexOf","extractOperation","Function","bind","isInvalidOperationCombination","fragmentNameIsNotUnique","existingDefinitions","definition","Document","definitions","addOperation","addQuery","addMutation","defineFragment","onType","fragmentDefinitions","fragment","filter","GraphModel","attrs","ClassRegistry","classStore","registerClassForType","constructor","unregisterClassForType","classForType","isValue","arg","isNodeContext","context","isConnection","endsWith","nearestNode","parent","contextsFromRoot","contextsFromNearestNode","initializeDocumentAndVars","currentContext","contextChain","lastInChain","first","firstVar","find","document","addNextFieldTo","currentSelection","path","cursor","nextContext","shift","newSelection","edgesField","nodeField","after","collectFragments","nextPageQueryAndPath","nearestNodeContext","_document$definitions","nodeType","nodeId","responseData","id","_initializeDocumentAn","_initializeDocumentAn2","root","node","slice","fragments","_document$definitions2","_initializeDocumentAn3","_initializeDocumentAn4","hasNextPage$1","edge","hasNextPage","hasPreviousPage","transformConnections","variableValues","DecodingContext","contextForObjectProperty","nestedSelections","nextSelection","contextForArrayItem","decodeArrayItems","transformers","decodeContext","decodeObjectValues","runTransformers","transformer","generateRefetchQueries","refetchQuery","transformPojosToClassesWithRegistry","classRegistry","transformPojosToClasses","Klass","transformScalars","recordTypeInformation","__typename","defaultTransformers","_ref$classRegistry","decode","httpFetcher","url","fetcher","graphQLParams","fetch","headers","then","response","json","paginatedModels","Client","fetcherOptions","_ref$registry","registry","query","mutation","send","request","otherProperties","operationOrDocument","operationName","documentOperation","data","model","fetchNextPage","nodeOrNodes","_node$nextPageQueryAn","_node$nextPageQueryAn2","object","fetchAllPages","_ref2","pageSize","_ref3","pages","Promise","resolve","refetch","_ref4","variable$$1","_enum","Config","deprecatedProperties","warn","requiredProperties","Resource","client","graphQLClient","defaultErrors","message","defaultResolver","split","errors","reject","result","ref","_","fetchResourcesForProducts","productOrProduct","products","all","promiseAcc","product","images","variants","paginateProductConnectionsAndResolve","paginateCollectionsProductConnectionsAndResolve","collectionOrCollections","collections","collection","variant","selectedOptions","every","selectedOption","ProductResource","productConnectionQuery","productNodeQuery","ids","productNodesQuery","handle","productByHandleQuery","sortKey","reverse","productHelpers","CollectionResource","collectionConnectionQuery","productsFirst","collectionConnectionWithProductsQuery","collectionNodeQuery","collectionNodeWithProductsQuery","collectionByHandleQuery","ShopResource","shopQuery","shopPolicyQuery","handleCheckoutMutation","mutationRootKey","rootData","rootModel","checkout","lineItems","userErrors","checkoutUserErrors","CheckoutResource","checkoutNodeQuery","checkoutNodeQueryWithAddress","input","checkoutCreateMutation","checkoutId","checkoutAttributesUpdateV2Mutation","email","checkoutEmailUpdateV2Mutation","checkoutLineItemsAddMutation","discountCode","checkoutDiscountCodeApplyV2Mutation","checkoutDiscountCodeRemoveMutation","lineItemIds","checkoutLineItemsRemoveMutation","checkoutLineItemsReplaceMutation","checkoutLineItemsUpdateMutation","shippingAddress","checkoutShippingAddressUpdateMutation","shippingRateHandle","checkoutShippingLineUpdateMutation","image","maxWidth","maxHeight","splitUrl","src","notQuery","imageTokens","imagePathIndex","ImageResource","imageHelpers","config","fetchFunction","newConfig","GraphQLJSClient","GraphQLClientClass","domain","version","storefrontAccessToken","Accept","shop","models"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGF;AACA,AAeA;;;;;IAIMO;;;;;;;;;;;;;;;;;;;;;;;0BAaE5I,IAAI;;;aACD,KAAKqF,aAAL,CACJ9B,IADI,CACCsF,QADD,EACoB,EAAC7I,MAAD,EADpB,EAEJ6C,IAFI,CAEC2C,gBAAgB,MAAhB,CAFD,EAGJ3C,IAHI,CAGC,UAAC2F,QAAD,EAAc;YACd,CAACA,QAAL,EAAe;iBAAS,IAAP;;;eAEV,OAAKnD,aAAL,CAAmBjB,aAAnB,CAAiCoE,SAASC,SAA1C,EAAqD,EAACnE,UAAU,GAAX,EAArD,EAAsEzB,IAAtE,CAA2E,UAAC4F,SAAD,EAAe;mBACtFnL,KAAT,CAAemL,SAAf,GAA2BA,SAA3B;;iBAEOD,QAAP;SAHK,CAAP;OANG,CAAP;;;;;;;;;;;;;;;;;qCAyBexI,IAAI;;;aACZ,KAAKqF,aAAL,CACJ9B,IADI,CACCuF,QADD,EAC+B,EAAC9I,MAAD,EAD/B,EAEJ6C,IAFI,CAEC2C,gBAAgB,MAAhB,CAFD,EAGJ3C,IAHI,CAGC,UAAC2F,QAAD,EAAc;eACX,OAAKnD,aAAL,CAAmBjB,aAAnB,CAAiCoE,SAASC,SAA1C,EAAqD,EAACnE,UAAU,GAAX,EAArD,EAAsEzB,IAAtE,CAA2E,UAAC4F,SAAD,EAAe;mBACtFnL,KAAT,CAAemL,SAAf,GAA2BA,SAA3B;;iBAEOD,QAAP;SAHK,CAAP;OAJG,CAAP;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAkCiB;UAAZO,KAAY,uEAAJ,EAAI;;aACV,KAAK1D,aAAL,CACJ9B,IADI,CACCyF,QADD,EACyB,EAACD,YAAD,EADzB,EAEJlG,IAFI,CAECuF,uBAAuB,gBAAvB,EAAyC,KAAK/C,aAA9C,CAFD,CAAP;;;;;;;;;;;;;;;;;;;;;;;;qCAuBe4D,YAAwB;UAAZF,KAAY,uEAAJ,EAAI;;aAChC,KAAK1D,aAAL,CACJ9B,IADI,CACC2F,QADD,EACqC,EAACD,sBAAD,EAAaF,YAAb,EADrC,EAEJlG,IAFI,CAECuF,uBAAuB,4BAAvB,EAAqD,KAAK/C,aAA1D,CAFD,CAAP;;;;;;;;;;;;;;;;;;;;;gCAoBU4D,YAAYE,OAAO;aACtB,KAAK9D,aAAL,CACJ9B,IADI,CACC6F,QADD,EACgC,EAACH,sBAAD,EAAaE,YAAb,EADhC,EAEJtG,IAFI,CAECuF,uBAAuB,uBAAvB,EAAgD,KAAK/C,aAArD,CAFD,CAAP;;;;;;;;;;;;;;;;;;;;;iCAoBW4D,YAAYR,WAAW;aAC3B,KAAKpD,aAAL,CACJ9B,IADI,CACC8F,QADD,EAC+B,EAACJ,sBAAD,EAAaR,oBAAb,EAD/B,EAEJ5F,IAFI,CAECuF,uBAAuB,sBAAvB,EAA+C,KAAK/C,aAApD,CAFD,CAAP;;;;;;;;;;;;;;;;;;;;;gCAoBU4D,YAAYK,cAAc;aAC7B,KAAKjE,aAAL,CACJ9B,IADI,CACCgG,QADD,EACsC,EAACN,sBAAD,EAAaK,0BAAb,EADtC,EAEJzG,IAFI,CAECuF,uBAAuB,6BAAvB,EAAsD,KAAK/C,aAA3D,CAFD,CAAP;;;;;;;;;;;;;;;;;;;mCAkBa4D,YAAY;aAClB,KAAK5D,aAAL,CACJ9B,IADI,CACCiG,QADD,EACqC,EAACP,sBAAD,EADrC,EAEJpG,IAFI,CAECuF,uBAAuB,4BAAvB,EAAqD,KAAK/C,aAA1D,CAFD,CAAP;;;;;;;;;;;;;;;;;;;;;oCAoBc4D,YAAYQ,aAAa;aAChC,KAAKpE,aAAL,CACJ9B,IADI,CACCmG,QADD,EACkC,EAACT,sBAAD,EAAaQ,wBAAb,EADlC,EAEJ5G,IAFI,CAECuF,uBAAuB,yBAAvB,EAAkD,KAAK/C,aAAvD,CAFD,CAAP;;;;;;;;;;;;;;;;;;;;;qCAoBe4D,YAAYR,WAAW;aAC/B,KAAKpD,aAAL,CACJ9B,IADI,CACCoG,QADD,EACmC,EAACV,sBAAD,EAAaR,oBAAb,EADnC,EAEJ5F,IAFI,CAECuF,uBAAuB,0BAAvB,EAAmD,KAAK/C,aAAxD,CAFD,CAAP;;;;;;;;;;;;;;;;;;;;;;;;;;;oCA0Bc4D,YAAYR,WAAW;aAC9B,KAAKpD,aAAL,CACJ9B,IADI,CACCqG,QADD,EACkC,EAACX,sBAAD,EAAaR,oBAAb,EADlC,EAEJ5F,IAFI,CAECuF,uBAAuB,yBAAvB,EAAkD,KAAK/C,aAAvD,CAFD,CAAP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAgCoB4D,YAAYY,iBAAiB;aAC1C,KAAKxE,aAAL,CACJ9B,IADI,CACCuG,QADD,EACwC,EAACb,sBAAD,EAAaY,gCAAb,EADxC,EAEJhH,IAFI,CAECuF,uBAAuB,+BAAvB,EAAwD,KAAK/C,aAA7D,CAFD,CAAP;;;;wCAKkB4D,YAAYc,oBAAoB;aAC3C,KAAK1E,aAAL,CACJ9B,IADI,CACCyG,QADD,EACqC,EAACf,sBAAD,EAAac,sCAAb,EADrC,EAEJlH,IAFI,CAECuF,uBAAuB,4BAAvB,EAAqD,KAAK/C,aAA1D,CAFD,CAAP;;;;EAjS2BF;;ACxB/B;;;AAGA,mBAAe;;;;;;;;;;;;;;;;;cAAA,wBAiBA8E,KAjBA,QAiB8B;QAAtBC,QAAsB,QAAtBA,QAAsB;QAAZC,SAAY,QAAZA,SAAY;;QACnCC,WAAWH,MAAMI,GAAN,CAAU5E,KAAV,CAAgB,GAAhB,CAAjB;QACM6E,WAAWF,SAAS,CAAT,CAAjB;QACM/G,QAAQ+G,SAAS,CAAT,UAAkBA,SAAS,CAAT,CAAlB,GAAkC,EAAhD;;;QAGMG,cAAcD,SAAS7E,KAAT,CAAe,GAAf,CAApB;;;QAGM+E,iBAAiBD,YAAY5a,MAAZ,GAAqB,CAA5C;;gBAEY6a,cAAZ,IAAiCD,YAAYC,cAAZ,CAAjC,SAAgEN,QAAhE,SAA4EC,SAA5E;;gBAEUI,YAAY/a,IAAZ,CAAiB,GAAjB,CAAV,GAAkC6T,KAAlC;;CA9BJ;;ACAA;;;;;IAIMoH;;;;;;;;;;2BACU;aACLC,YAAP;;;;EAFwBvF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACE5B;AACA,AAEA;;;;;;;;;;;IAUMlC;;;;;;;;gCAKe0H,QAAQC,eAAe;UAClCC,YAAY,IAAI9F,MAAJ,CAAW4F,MAAX,CAAlB;UACMvF,SAAS,IAAInC,MAAJ,CAAW4H,SAAX,EAAsBC,QAAtB,EAAuCF,aAAvC,CAAf;;aAEOD,MAAP,GAAgBE,SAAhB;;aAEOzF,MAAP;;;;;;;;;;kBAOUuF,MAAZ,EAAyE;QAArDI,kBAAqD,uEAAhCD,QAAgC;QAAfF,aAAe;;;QACjEpI,mBAAiBmI,OAAOK,MAAxB,iBAAN;;QAEMpI,UAAU;uBACG,YADH;uBAEGqI,OAFH;2CAGuBN,OAAOO;KAH9C;;QAMIN,aAAJ,EAAmB;cACT,cAAR,IAA0B,kBAA1B;cACQO,MAAR,GAAiB,kBAAjB;;WAEK9F,aAAL,GAAqB,IAAI0F,kBAAJ,CAAuBzZ,KAAvB,EAA8B;iBACxC,SAASmR,OAAT,CAAiBC,aAAjB,EAAgC;iBAChCkI,cAAcpI,GAAd,EAAmB;kBAClBlN,KAAKC,SAAL,CAAemN,aAAf,CADkB;oBAEhB,MAFgB;kBAGlB,MAHkB;;WAAnB,EAKJG,IALI,CAKC,UAACC,QAAD;mBAAcA,SAASC,IAAT,EAAd;WALD,CAAP;;OAFiB,CAArB;KAJF,MAcO;WACAsC,aAAL,GAAqB,IAAI0F,kBAAJ,CAAuBzZ,KAAvB,EAA8B;gBAAA;wBAEjC,EAACsR,gBAAD;OAFG,CAArB;;;SAMGwD,OAAL,GAAe,IAAIY,eAAJ,CAAoB,KAAK3B,aAAzB,CAAf;SACKsB,UAAL,GAAkB,IAAIe,kBAAJ,CAAuB,KAAKrC,aAA5B,CAAlB;SACK+F,IAAL,GAAY,IAAInD,YAAJ,CAAiB,KAAK5C,aAAtB,CAAZ;SACKmD,QAAL,GAAgB,IAAII,gBAAJ,CAAqB,KAAKvD,aAA1B,CAAhB;SACK4E,KAAL,GAAa,IAAIQ,aAAJ,CAAkB,KAAKpF,aAAvB,CAAb;;;;;;;;;;;;;;;;;;kCAcYgG,QAAQ;aACb,KAAKhG,aAAL,CAAmBtB,aAAnB,CAAiCsH,MAAjC,CAAP;;;;;;;;;;;;"}
\ No newline at end of file
diff --git a/index.es.js b/index.es.js
index c202eceb7..49a994c6c 100644
--- a/index.es.js
+++ b/index.es.js
@@ -2364,12 +2364,16 @@ function query(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2379,6 +2383,7 @@ function query(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2387,7 +2392,6 @@ function query(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2452,12 +2456,16 @@ function query$1(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2467,6 +2475,7 @@ function query$1(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2475,7 +2484,6 @@ function query$1(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2543,12 +2551,16 @@ function query$2(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2558,6 +2570,7 @@ function query$2(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2566,7 +2579,6 @@ function query$2(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2609,24 +2621,22 @@ function query$2(client) {
});
});
document.addQuery([variables.__defaultOperation__.first, variables.__defaultOperation__.query, variables.__defaultOperation__.sortKey, variables.__defaultOperation__.reverse], function (root) {
- root.add("shop", function (shop) {
- shop.add("products", {
- args: {
- first: variables.__defaultOperation__.first,
- query: variables.__defaultOperation__.query,
- sortKey: variables.__defaultOperation__.sortKey,
- reverse: variables.__defaultOperation__.reverse
- }
- }, function (products) {
- products.add("pageInfo", function (pageInfo) {
- pageInfo.add("hasNextPage");
- pageInfo.add("hasPreviousPage");
- });
- products.add("edges", function (edges) {
- edges.add("cursor");
- edges.add("node", function (node) {
- node.addFragment(spreads.ProductFragment);
- });
+ root.add("products", {
+ args: {
+ first: variables.__defaultOperation__.first,
+ query: variables.__defaultOperation__.query,
+ sortKey: variables.__defaultOperation__.sortKey,
+ reverse: variables.__defaultOperation__.reverse
+ }
+ }, function (products) {
+ products.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ products.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.addFragment(spreads.ProductFragment);
});
});
});
@@ -2645,12 +2655,16 @@ function query$3(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2660,6 +2674,7 @@ function query$3(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2668,7 +2683,6 @@ function query$3(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2711,14 +2725,12 @@ function query$3(client) {
});
});
document.addQuery([variables.__defaultOperation__.handle], function (root) {
- root.add("shop", function (shop) {
- shop.add("productByHandle", {
- args: {
- handle: variables.__defaultOperation__.handle
- }
- }, function (productByHandle) {
- productByHandle.addFragment(spreads.ProductFragment);
- });
+ root.add("productByHandle", {
+ args: {
+ handle: variables.__defaultOperation__.handle
+ }
+ }, function (productByHandle) {
+ productByHandle.addFragment(spreads.ProductFragment);
});
});
return document;
@@ -2756,7 +2768,7 @@ var ProductResource = function (_Resource) {
value: function fetchAll() {
var first = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 20;
- return this.graphQLClient.send(query$2, { first: first }).then(defaultResolver('shop.products')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
+ return this.graphQLClient.send(query$2, { first: first }).then(defaultResolver('products')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
}
/**
@@ -2811,7 +2823,7 @@ var ProductResource = function (_Resource) {
}, {
key: 'fetchByHandle',
value: function fetchByHandle(handle) {
- return this.graphQLClient.send(query$3, { handle: handle }).then(defaultResolver('shop.productByHandle')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
+ return this.graphQLClient.send(query$3, { handle: handle }).then(defaultResolver('productByHandle')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
}
/**
@@ -2847,7 +2859,7 @@ var ProductResource = function (_Resource) {
sortKey: sortKey,
query: query$$1,
reverse: reverse
- }).then(defaultResolver('shop.products')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
+ }).then(defaultResolver('products')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
}
}, {
key: 'helpers',
@@ -2873,7 +2885,9 @@ function query$4(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
@@ -2900,12 +2914,16 @@ function query$5(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2915,6 +2933,7 @@ function query$5(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2923,7 +2942,6 @@ function query$5(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2974,7 +2992,9 @@ function query$5(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
@@ -3027,29 +3047,29 @@ function query$6(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
document.addQuery([variables.__defaultOperation__.first, variables.__defaultOperation__.query, variables.__defaultOperation__.sortKey, variables.__defaultOperation__.reverse], function (root) {
- root.add("shop", function (shop) {
- shop.add("collections", {
- args: {
- first: variables.__defaultOperation__.first,
- query: variables.__defaultOperation__.query,
- sortKey: variables.__defaultOperation__.sortKey,
- reverse: variables.__defaultOperation__.reverse
- }
- }, function (collections) {
- collections.add("pageInfo", function (pageInfo) {
- pageInfo.add("hasNextPage");
- pageInfo.add("hasPreviousPage");
- });
- collections.add("edges", function (edges) {
- edges.add("cursor");
- edges.add("node", function (node) {
- node.addFragment(spreads.CollectionFragment);
- });
+ root.add("collections", {
+ args: {
+ first: variables.__defaultOperation__.first,
+ query: variables.__defaultOperation__.query,
+ sortKey: variables.__defaultOperation__.sortKey,
+ reverse: variables.__defaultOperation__.reverse
+ }
+ }, function (collections) {
+ collections.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ collections.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.addFragment(spreads.CollectionFragment);
});
});
});
@@ -3072,12 +3092,16 @@ function query$7(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3094,12 +3118,15 @@ function query$7(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -3108,7 +3135,6 @@ function query$7(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -3151,37 +3177,35 @@ function query$7(client) {
});
});
document.addQuery([variables.__defaultOperation__.first, variables.__defaultOperation__.query, variables.__defaultOperation__.sortKey, variables.__defaultOperation__.reverse, variables.__defaultOperation__.productsFirst], function (root) {
- root.add("shop", function (shop) {
- shop.add("collections", {
- args: {
- first: variables.__defaultOperation__.first,
- query: variables.__defaultOperation__.query,
- sortKey: variables.__defaultOperation__.sortKey,
- reverse: variables.__defaultOperation__.reverse
- }
- }, function (collections) {
- collections.add("pageInfo", function (pageInfo) {
- pageInfo.add("hasNextPage");
- pageInfo.add("hasPreviousPage");
- });
- collections.add("edges", function (edges) {
- edges.add("cursor");
- edges.add("node", function (node) {
- node.addFragment(spreads.CollectionFragment);
- node.add("products", {
- args: {
- first: variables.__defaultOperation__.productsFirst
- }
- }, function (products) {
- products.add("pageInfo", function (pageInfo) {
- pageInfo.add("hasNextPage");
- pageInfo.add("hasPreviousPage");
- });
- products.add("edges", function (edges) {
- edges.add("cursor");
- edges.add("node", function (node) {
- node.addFragment(spreads.ProductFragment);
- });
+ root.add("collections", {
+ args: {
+ first: variables.__defaultOperation__.first,
+ query: variables.__defaultOperation__.query,
+ sortKey: variables.__defaultOperation__.sortKey,
+ reverse: variables.__defaultOperation__.reverse
+ }
+ }, function (collections) {
+ collections.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ collections.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.addFragment(spreads.CollectionFragment);
+ node.add("products", {
+ args: {
+ first: variables.__defaultOperation__.productsFirst
+ }
+ }, function (products) {
+ products.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ products.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.addFragment(spreads.ProductFragment);
});
});
});
@@ -3203,12 +3227,16 @@ function query$8(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3218,6 +3246,7 @@ function query$8(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -3226,7 +3255,6 @@ function query$8(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -3277,7 +3305,9 @@ function query$8(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
@@ -3300,15 +3330,13 @@ function query$8(client) {
});
});
document.addQuery([variables.__defaultOperation__.handle], function (root) {
- root.add("shop", function (shop) {
- shop.add("collectionByHandle", {
- args: {
- handle: variables.__defaultOperation__.handle
- }
- }, function (collectionByHandle) {
- collectionByHandle.addFragment(spreads.CollectionFragment);
- collectionByHandle.addFragment(spreads.CollectionsProductsFragment);
- });
+ root.add("collectionByHandle", {
+ args: {
+ handle: variables.__defaultOperation__.handle
+ }
+ }, function (collectionByHandle) {
+ collectionByHandle.addFragment(spreads.CollectionFragment);
+ collectionByHandle.addFragment(spreads.CollectionsProductsFragment);
});
});
return document;
@@ -3346,7 +3374,7 @@ var CollectionResource = function (_Resource) {
value: function fetchAll() {
var first = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 20;
- return this.graphQLClient.send(query$6, { first: first }).then(defaultResolver('shop.collections'));
+ return this.graphQLClient.send(query$6, { first: first }).then(defaultResolver('collections'));
}
/**
@@ -3369,7 +3397,7 @@ var CollectionResource = function (_Resource) {
_ref$productsFirst = _ref.productsFirst,
productsFirst = _ref$productsFirst === undefined ? 20 : _ref$productsFirst;
- return this.graphQLClient.send(query$7, { first: first, productsFirst: productsFirst }).then(defaultResolver('shop.collections')).then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));
+ return this.graphQLClient.send(query$7, { first: first, productsFirst: productsFirst }).then(defaultResolver('collections')).then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));
}
/**
@@ -3424,7 +3452,7 @@ var CollectionResource = function (_Resource) {
}, {
key: 'fetchByHandle',
value: function fetchByHandle(handle) {
- return this.graphQLClient.send(query$8, { handle: handle }).then(defaultResolver('shop.collectionByHandle'));
+ return this.graphQLClient.send(query$8, { handle: handle }).then(defaultResolver('collectionByHandle'));
}
/**
@@ -3460,7 +3488,7 @@ var CollectionResource = function (_Resource) {
sortKey: sortKey,
query: query,
reverse: reverse
- }).then(defaultResolver('shop.collections'));
+ }).then(defaultResolver('collections'));
}
}]);
return CollectionResource;
@@ -3585,6 +3613,10 @@ function handleCheckoutMutation(mutationRootKey, client) {
return Promise.reject(new Error(JSON.stringify(errors)));
}
+ if (rootData && rootData.checkoutUserErrors && rootData.checkoutUserErrors.length) {
+ return Promise.reject(new Error(JSON.stringify(rootData.checkoutUserErrors)));
+ }
+
if (rootData && rootData.userErrors && rootData.userErrors.length) {
return Promise.reject(new Error(JSON.stringify(rootData.userErrors)));
}
@@ -3604,12 +3636,16 @@ function query$11(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3617,6 +3653,25 @@ function query$11(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -3639,7 +3694,9 @@ function query$11(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -3667,6 +3724,22 @@ function query$11(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -3740,6 +3813,15 @@ function query$11(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
@@ -3767,12 +3849,16 @@ function query$12(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3930,12 +4016,16 @@ function query$13(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3943,6 +4033,25 @@ function query$13(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -3953,6 +4062,11 @@ function query$13(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -3969,7 +4083,9 @@ function query$13(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -3997,6 +4113,22 @@ function query$13(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4070,6 +4202,15 @@ function query$13(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
@@ -4083,6 +4224,9 @@ function query$13(client) {
checkoutCreate.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
+ checkoutCreate.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
checkoutCreate.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
@@ -4103,12 +4247,16 @@ function query$14(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4116,6 +4264,25 @@ function query$14(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4142,7 +4309,9 @@ function query$14(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4170,6 +4339,22 @@ function query$14(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4243,6 +4428,15 @@ function query$14(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
@@ -4277,12 +4471,16 @@ function query$15(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4290,6 +4488,25 @@ function query$15(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4316,7 +4533,9 @@ function query$15(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4344,6 +4563,22 @@ function query$15(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4417,6 +4652,15 @@ function query$15(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
@@ -4445,18 +4689,22 @@ function query$16(client) {
var variables = {};
variables.__defaultOperation__ = {};
variables.__defaultOperation__.checkoutId = client.variable("checkoutId", "ID!");
- variables.__defaultOperation__.lineItems = client.variable("lineItems", "[CheckoutLineItemUpdateInput!]!");
+ variables.__defaultOperation__.lineItems = client.variable("lineItems", "[CheckoutLineItemInput!]!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4464,6 +4712,25 @@ function query$16(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4490,7 +4757,9 @@ function query$16(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4518,6 +4787,22 @@ function query$16(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4591,21 +4876,30 @@ function query$16(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
document.addMutation([variables.__defaultOperation__.checkoutId, variables.__defaultOperation__.lineItems], function (root) {
- root.add("checkoutLineItemsUpdate", {
+ root.add("checkoutLineItemsReplace", {
args: {
checkoutId: variables.__defaultOperation__.checkoutId,
lineItems: variables.__defaultOperation__.lineItems
}
- }, function (checkoutLineItemsUpdate) {
- checkoutLineItemsUpdate.add("userErrors", function (userErrors) {
+ }, function (checkoutLineItemsReplace) {
+ checkoutLineItemsReplace.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutLineItemsUpdate.add("checkout", function (checkout) {
+ checkoutLineItemsReplace.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -4617,20 +4911,24 @@ function query$17(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutAttributesUpdate = {};
- variables.checkoutAttributesUpdate.checkoutId = client.variable("checkoutId", "ID!");
- variables.checkoutAttributesUpdate.input = client.variable("input", "CheckoutAttributesUpdateInput!");
+ variables.__defaultOperation__ = {};
+ variables.__defaultOperation__.checkoutId = client.variable("checkoutId", "ID!");
+ variables.__defaultOperation__.lineItems = client.variable("lineItems", "[CheckoutLineItemUpdateInput!]!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4638,6 +4936,25 @@ function query$17(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4664,7 +4981,9 @@ function query$17(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4692,6 +5011,22 @@ function query$17(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4765,21 +5100,30 @@ function query$17(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutAttributesUpdate", [variables.checkoutAttributesUpdate.checkoutId, variables.checkoutAttributesUpdate.input], function (root) {
- root.add("checkoutAttributesUpdate", {
+ document.addMutation([variables.__defaultOperation__.checkoutId, variables.__defaultOperation__.lineItems], function (root) {
+ root.add("checkoutLineItemsUpdate", {
args: {
- checkoutId: variables.checkoutAttributesUpdate.checkoutId,
- input: variables.checkoutAttributesUpdate.input
+ checkoutId: variables.__defaultOperation__.checkoutId,
+ lineItems: variables.__defaultOperation__.lineItems
}
- }, function (checkoutAttributesUpdate) {
- checkoutAttributesUpdate.add("userErrors", function (userErrors) {
+ }, function (checkoutLineItemsUpdate) {
+ checkoutLineItemsUpdate.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutAttributesUpdate.add("checkout", function (checkout) {
+ checkoutLineItemsUpdate.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -4791,20 +5135,24 @@ function query$18(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutDiscountCodeApply = {};
- variables.checkoutDiscountCodeApply.discountCode = client.variable("discountCode", "String!");
- variables.checkoutDiscountCodeApply.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutAttributesUpdateV2 = {};
+ variables.checkoutAttributesUpdateV2.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutAttributesUpdateV2.input = client.variable("input", "CheckoutAttributesUpdateV2Input!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4812,6 +5160,25 @@ function query$18(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4822,6 +5189,11 @@ function query$18(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -4838,7 +5210,9 @@ function query$18(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4866,6 +5240,22 @@ function query$18(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4939,21 +5329,33 @@ function query$18(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutDiscountCodeApply", [variables.checkoutDiscountCodeApply.discountCode, variables.checkoutDiscountCodeApply.checkoutId], function (root) {
- root.add("checkoutDiscountCodeApply", {
+ document.addMutation("checkoutAttributesUpdateV2", [variables.checkoutAttributesUpdateV2.checkoutId, variables.checkoutAttributesUpdateV2.input], function (root) {
+ root.add("checkoutAttributesUpdateV2", {
args: {
- discountCode: variables.checkoutDiscountCodeApply.discountCode,
- checkoutId: variables.checkoutDiscountCodeApply.checkoutId
+ checkoutId: variables.checkoutAttributesUpdateV2.checkoutId,
+ input: variables.checkoutAttributesUpdateV2.input
}
- }, function (checkoutDiscountCodeApply) {
- checkoutDiscountCodeApply.add("userErrors", function (userErrors) {
+ }, function (checkoutAttributesUpdateV2) {
+ checkoutAttributesUpdateV2.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutDiscountCodeApply.add("checkout", function (checkout) {
+ checkoutAttributesUpdateV2.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
+ checkoutAttributesUpdateV2.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -4965,19 +5367,24 @@ function query$19(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutDiscountCodeRemove = {};
- variables.checkoutDiscountCodeRemove.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutDiscountCodeApplyV2 = {};
+ variables.checkoutDiscountCodeApplyV2.discountCode = client.variable("discountCode", "String!");
+ variables.checkoutDiscountCodeApplyV2.checkoutId = client.variable("checkoutId", "ID!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4985,6 +5392,25 @@ function query$19(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4995,6 +5421,11 @@ function query$19(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -5011,7 +5442,9 @@ function query$19(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -5039,6 +5472,22 @@ function query$19(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -5112,20 +5561,33 @@ function query$19(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutDiscountCodeRemove", [variables.checkoutDiscountCodeRemove.checkoutId], function (root) {
- root.add("checkoutDiscountCodeRemove", {
+ document.addMutation("checkoutDiscountCodeApplyV2", [variables.checkoutDiscountCodeApplyV2.discountCode, variables.checkoutDiscountCodeApplyV2.checkoutId], function (root) {
+ root.add("checkoutDiscountCodeApplyV2", {
args: {
- checkoutId: variables.checkoutDiscountCodeRemove.checkoutId
+ discountCode: variables.checkoutDiscountCodeApplyV2.discountCode,
+ checkoutId: variables.checkoutDiscountCodeApplyV2.checkoutId
}
- }, function (checkoutDiscountCodeRemove) {
- checkoutDiscountCodeRemove.add("userErrors", function (userErrors) {
+ }, function (checkoutDiscountCodeApplyV2) {
+ checkoutDiscountCodeApplyV2.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutDiscountCodeRemove.add("checkout", function (checkout) {
+ checkoutDiscountCodeApplyV2.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
+ checkoutDiscountCodeApplyV2.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -5137,20 +5599,23 @@ function query$20(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutShippingAddressUpdate = {};
- variables.checkoutShippingAddressUpdate.shippingAddress = client.variable("shippingAddress", "MailingAddressInput!");
- variables.checkoutShippingAddressUpdate.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutDiscountCodeRemove = {};
+ variables.checkoutDiscountCodeRemove.checkoutId = client.variable("checkoutId", "ID!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -5158,6 +5623,25 @@ function query$20(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -5168,6 +5652,11 @@ function query$20(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -5184,7 +5673,9 @@ function query$20(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -5212,6 +5703,22 @@ function query$20(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -5285,21 +5792,32 @@ function query$20(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutShippingAddressUpdate", [variables.checkoutShippingAddressUpdate.shippingAddress, variables.checkoutShippingAddressUpdate.checkoutId], function (root) {
- root.add("checkoutShippingAddressUpdate", {
+ document.addMutation("checkoutDiscountCodeRemove", [variables.checkoutDiscountCodeRemove.checkoutId], function (root) {
+ root.add("checkoutDiscountCodeRemove", {
args: {
- shippingAddress: variables.checkoutShippingAddressUpdate.shippingAddress,
- checkoutId: variables.checkoutShippingAddressUpdate.checkoutId
+ checkoutId: variables.checkoutDiscountCodeRemove.checkoutId
}
- }, function (checkoutShippingAddressUpdate) {
- checkoutShippingAddressUpdate.add("userErrors", function (userErrors) {
+ }, function (checkoutDiscountCodeRemove) {
+ checkoutDiscountCodeRemove.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutShippingAddressUpdate.add("checkout", function (checkout) {
+ checkoutDiscountCodeRemove.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
+ checkoutDiscountCodeRemove.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -5311,20 +5829,24 @@ function query$21(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutShippingLineUpdate = {};
- variables.checkoutShippingLineUpdate.checkoutId = client.variable("checkoutId", "ID!");
- variables.checkoutShippingLineUpdate.shippingRateHandle = client.variable("shippingRateHandle", "String!");
+ variables.checkoutEmailUpdateV2 = {};
+ variables.checkoutEmailUpdateV2.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutEmailUpdateV2.email = client.variable("email", "String!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -5332,6 +5854,25 @@ function query$21(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -5342,6 +5883,11 @@ function query$21(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -5358,7 +5904,9 @@ function query$21(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -5386,6 +5934,22 @@ function query$21(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -5459,21 +6023,33 @@ function query$21(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutShippingLineUpdate", [variables.checkoutShippingLineUpdate.checkoutId, variables.checkoutShippingLineUpdate.shippingRateHandle], function (root) {
- root.add("checkoutShippingLineUpdate", {
+ document.addMutation("checkoutEmailUpdateV2", [variables.checkoutEmailUpdateV2.checkoutId, variables.checkoutEmailUpdateV2.email], function (root) {
+ root.add("checkoutEmailUpdateV2", {
args: {
- checkoutId: variables.checkoutShippingLineUpdate.checkoutId,
- shippingRateHandle: variables.checkoutShippingLineUpdate.shippingRateHandle
+ checkoutId: variables.checkoutEmailUpdateV2.checkoutId,
+ email: variables.checkoutEmailUpdateV2.email
}
- }, function (checkoutShippingLineUpdate) {
- checkoutShippingLineUpdate.add("userErrors", function (userErrors) {
+ }, function (checkoutEmailUpdateV2) {
+ checkoutEmailUpdateV2.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutShippingLineUpdate.add("checkout", function (checkout) {
+ checkoutEmailUpdateV2.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
+ checkoutEmailUpdateV2.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -5481,82 +6057,534 @@ function query$21(client) {
return document;
}
-// GraphQL
-/**
- * The JS Buy SDK checkout resource
- * @class
- */
-
-var CheckoutResource = function (_Resource) {
- inherits$1(CheckoutResource, _Resource);
-
- function CheckoutResource() {
- classCallCheck$1(this, CheckoutResource);
- return possibleConstructorReturn$1(this, (CheckoutResource.__proto__ || Object.getPrototypeOf(CheckoutResource)).apply(this, arguments));
- }
-
- createClass$1(CheckoutResource, [{
- key: 'fetch',
-
-
- /**
- * Fetches a checkout by ID.
- *
- * @example
- * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {
- * // Do something with the checkout
- * });
- *
- * @param {String} id The id of the checkout to fetch.
- * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.
- */
- value: function fetch(id) {
- var _this2 = this;
-
- return this.graphQLClient.send(query$11, { id: id }).then(defaultResolver('node')).then(function (checkout) {
- return _this2.graphQLClient.fetchAllPages(checkout.lineItems, { pageSize: 250 }).then(function (lineItems) {
- checkout.attrs.lineItems = lineItems;
-
- return checkout;
- });
+function query$22(client) {
+ var document = client.document();
+ var spreads = {};
+ var variables = {};
+ variables.checkoutShippingAddressUpdate = {};
+ variables.checkoutShippingAddressUpdate.shippingAddress = client.variable("shippingAddress", "MailingAddressInput!");
+ variables.checkoutShippingAddressUpdate.checkoutId = client.variable("checkoutId", "ID!");
+ spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
+ root.add("id");
+ root.add("title");
+ root.add("price");
+ root.add("weight");
+ root.add("availableForSale", {
+ alias: "available"
+ });
+ root.add("sku");
+ root.add("compareAtPrice");
+ root.add("image", function (image) {
+ image.add("id");
+ image.add("originalSrc", {
+ alias: "src"
});
- }
-
- /**
- * Fetches a checkout by ID.
- *
- * @example
- * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {
- * // Do something with the checkout
- * });
- *
- * @param {String} id The id of the checkout to fetch.
- * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.
- */
-
- }, {
- key: 'fetchWithAddress',
- value: function fetchWithAddress(id) {
- var _this3 = this;
-
- return this.graphQLClient.send(query$12, { id: id }).then(defaultResolver('node')).then(function (checkout) {
- return _this3.graphQLClient.fetchAllPages(checkout.lineItems, { pageSize: 250 }).then(function (lineItems) {
- checkout.attrs.lineItems = lineItems;
-
- return checkout;
- });
+ image.add("altText");
+ });
+ root.add("selectedOptions", function (selectedOptions) {
+ selectedOptions.add("name");
+ selectedOptions.add("value");
+ });
+ });
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
+ spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
+ root.addFragment(spreads.VariantFragment);
+ root.add("product", function (product) {
+ product.add("id");
+ });
+ });
+ spreads.UserErrorFragment = document.defineFragment("UserErrorFragment", "UserError", function (root) {
+ root.add("field");
+ root.add("message");
+ });
+ spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
+ root.add("id");
+ root.add("address1");
+ root.add("address2");
+ root.add("city");
+ root.add("company");
+ root.add("country");
+ root.add("firstName");
+ root.add("formatted");
+ root.add("lastName");
+ root.add("latitude");
+ root.add("longitude");
+ root.add("phone");
+ root.add("province");
+ root.add("zip");
+ root.add("name");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
+ root.add("provinceCode");
+ });
+ spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
+ root.add("id");
+ root.add("ready");
+ root.add("requiresShipping");
+ root.add("availableShippingRates", function (availableShippingRates) {
+ availableShippingRates.add("ready");
+ availableShippingRates.add("shippingRates", function (shippingRates) {
+ shippingRates.add("handle");
+ shippingRates.add("price");
+ shippingRates.add("title");
});
- }
-
- /**
- * Creates a checkout.
- *
- * @example
- * const input = {
- * lineItems: [
- * {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}
- * ]
- * };
+ });
+ root.add("note");
+ root.add("paymentDue");
+ root.add("webUrl");
+ root.add("orderStatusUrl");
+ root.add("taxExempt");
+ root.add("taxesIncluded");
+ root.add("currencyCode");
+ root.add("totalTax");
+ root.add("subtotalPrice");
+ root.add("totalPrice");
+ root.add("completedAt");
+ root.add("createdAt");
+ root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
+ root.add("shippingAddress", function (shippingAddress) {
+ shippingAddress.addFragment(spreads.MailingAddressFragment);
+ });
+ root.add("shippingLine", function (shippingLine) {
+ shippingLine.add("handle");
+ shippingLine.add("price");
+ shippingLine.add("title");
+ });
+ root.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ root.add("order", function (order) {
+ order.add("id");
+ order.add("processedAt");
+ order.add("orderNumber");
+ order.add("subtotalPrice");
+ order.add("totalShippingPrice");
+ order.add("totalTax");
+ order.add("totalPrice");
+ order.add("currencyCode");
+ order.add("totalRefunded");
+ order.add("customerUrl");
+ order.add("shippingAddress", function (shippingAddress) {
+ shippingAddress.addFragment(spreads.MailingAddressFragment);
+ });
+ order.add("lineItems", {
+ args: {
+ first: 250
+ }
+ }, function (lineItems) {
+ lineItems.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ lineItems.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.add("title");
+ node.add("variant", function (variant) {
+ variant.addFragment(spreads.VariantWithProductFragment);
+ });
+ node.add("quantity");
+ node.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ });
+ });
+ });
+ });
+ root.add("lineItems", {
+ args: {
+ first: 250
+ }
+ }, function (lineItems) {
+ lineItems.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ lineItems.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.add("id");
+ node.add("title");
+ node.add("variant", function (variant) {
+ variant.addFragment(spreads.VariantWithProductFragment);
+ });
+ node.add("quantity");
+ node.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
+ });
+ });
+ });
+ document.addMutation("checkoutShippingAddressUpdate", [variables.checkoutShippingAddressUpdate.shippingAddress, variables.checkoutShippingAddressUpdate.checkoutId], function (root) {
+ root.add("checkoutShippingAddressUpdate", {
+ args: {
+ shippingAddress: variables.checkoutShippingAddressUpdate.shippingAddress,
+ checkoutId: variables.checkoutShippingAddressUpdate.checkoutId
+ }
+ }, function (checkoutShippingAddressUpdate) {
+ checkoutShippingAddressUpdate.add("userErrors", function (userErrors) {
+ userErrors.addFragment(spreads.UserErrorFragment);
+ });
+ checkoutShippingAddressUpdate.add("checkout", function (checkout) {
+ checkout.addFragment(spreads.CheckoutFragment);
+ });
+ });
+ });
+ return document;
+}
+
+function query$23(client) {
+ var document = client.document();
+ var spreads = {};
+ var variables = {};
+ variables.checkoutShippingLineUpdate = {};
+ variables.checkoutShippingLineUpdate.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutShippingLineUpdate.shippingRateHandle = client.variable("shippingRateHandle", "String!");
+ spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
+ root.add("id");
+ root.add("title");
+ root.add("price");
+ root.add("weight");
+ root.add("availableForSale", {
+ alias: "available"
+ });
+ root.add("sku");
+ root.add("compareAtPrice");
+ root.add("image", function (image) {
+ image.add("id");
+ image.add("originalSrc", {
+ alias: "src"
+ });
+ image.add("altText");
+ });
+ root.add("selectedOptions", function (selectedOptions) {
+ selectedOptions.add("name");
+ selectedOptions.add("value");
+ });
+ });
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
+ spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
+ root.addFragment(spreads.VariantFragment);
+ root.add("product", function (product) {
+ product.add("id");
+ });
+ });
+ spreads.UserErrorFragment = document.defineFragment("UserErrorFragment", "UserError", function (root) {
+ root.add("field");
+ root.add("message");
+ });
+ spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
+ root.add("id");
+ root.add("address1");
+ root.add("address2");
+ root.add("city");
+ root.add("company");
+ root.add("country");
+ root.add("firstName");
+ root.add("formatted");
+ root.add("lastName");
+ root.add("latitude");
+ root.add("longitude");
+ root.add("phone");
+ root.add("province");
+ root.add("zip");
+ root.add("name");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
+ root.add("provinceCode");
+ });
+ spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
+ root.add("id");
+ root.add("ready");
+ root.add("requiresShipping");
+ root.add("availableShippingRates", function (availableShippingRates) {
+ availableShippingRates.add("ready");
+ availableShippingRates.add("shippingRates", function (shippingRates) {
+ shippingRates.add("handle");
+ shippingRates.add("price");
+ shippingRates.add("title");
+ });
+ });
+ root.add("note");
+ root.add("paymentDue");
+ root.add("webUrl");
+ root.add("orderStatusUrl");
+ root.add("taxExempt");
+ root.add("taxesIncluded");
+ root.add("currencyCode");
+ root.add("totalTax");
+ root.add("subtotalPrice");
+ root.add("totalPrice");
+ root.add("completedAt");
+ root.add("createdAt");
+ root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
+ root.add("shippingAddress", function (shippingAddress) {
+ shippingAddress.addFragment(spreads.MailingAddressFragment);
+ });
+ root.add("shippingLine", function (shippingLine) {
+ shippingLine.add("handle");
+ shippingLine.add("price");
+ shippingLine.add("title");
+ });
+ root.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ root.add("order", function (order) {
+ order.add("id");
+ order.add("processedAt");
+ order.add("orderNumber");
+ order.add("subtotalPrice");
+ order.add("totalShippingPrice");
+ order.add("totalTax");
+ order.add("totalPrice");
+ order.add("currencyCode");
+ order.add("totalRefunded");
+ order.add("customerUrl");
+ order.add("shippingAddress", function (shippingAddress) {
+ shippingAddress.addFragment(spreads.MailingAddressFragment);
+ });
+ order.add("lineItems", {
+ args: {
+ first: 250
+ }
+ }, function (lineItems) {
+ lineItems.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ lineItems.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.add("title");
+ node.add("variant", function (variant) {
+ variant.addFragment(spreads.VariantWithProductFragment);
+ });
+ node.add("quantity");
+ node.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ });
+ });
+ });
+ });
+ root.add("lineItems", {
+ args: {
+ first: 250
+ }
+ }, function (lineItems) {
+ lineItems.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ lineItems.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.add("id");
+ node.add("title");
+ node.add("variant", function (variant) {
+ variant.addFragment(spreads.VariantWithProductFragment);
+ });
+ node.add("quantity");
+ node.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
+ });
+ });
+ });
+ document.addMutation("checkoutShippingLineUpdate", [variables.checkoutShippingLineUpdate.checkoutId, variables.checkoutShippingLineUpdate.shippingRateHandle], function (root) {
+ root.add("checkoutShippingLineUpdate", {
+ args: {
+ checkoutId: variables.checkoutShippingLineUpdate.checkoutId,
+ shippingRateHandle: variables.checkoutShippingLineUpdate.shippingRateHandle
+ }
+ }, function (checkoutShippingLineUpdate) {
+ checkoutShippingLineUpdate.add("userErrors", function (userErrors) {
+ userErrors.addFragment(spreads.UserErrorFragment);
+ });
+ checkoutShippingLineUpdate.add("checkout", function (checkout) {
+ checkout.addFragment(spreads.CheckoutFragment);
+ });
+ });
+ });
+ return document;
+}
+
+// GraphQL
+/**
+ * The JS Buy SDK checkout resource
+ * @class
+ */
+
+var CheckoutResource = function (_Resource) {
+ inherits$1(CheckoutResource, _Resource);
+
+ function CheckoutResource() {
+ classCallCheck$1(this, CheckoutResource);
+ return possibleConstructorReturn$1(this, (CheckoutResource.__proto__ || Object.getPrototypeOf(CheckoutResource)).apply(this, arguments));
+ }
+
+ createClass$1(CheckoutResource, [{
+ key: 'fetch',
+
+
+ /**
+ * Fetches a checkout by ID.
+ *
+ * @example
+ * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {
+ * // Do something with the checkout
+ * });
+ *
+ * @param {String} id The id of the checkout to fetch.
+ * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.
+ */
+ value: function fetch(id) {
+ var _this2 = this;
+
+ return this.graphQLClient.send(query$11, { id: id }).then(defaultResolver('node')).then(function (checkout) {
+ if (!checkout) {
+ return null;
+ }
+
+ return _this2.graphQLClient.fetchAllPages(checkout.lineItems, { pageSize: 250 }).then(function (lineItems) {
+ checkout.attrs.lineItems = lineItems;
+
+ return checkout;
+ });
+ });
+ }
+
+ /**
+ * Fetches a checkout by ID.
+ *
+ * @example
+ * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {
+ * // Do something with the checkout
+ * });
+ *
+ * @param {String} id The id of the checkout to fetch.
+ * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.
+ */
+
+ }, {
+ key: 'fetchWithAddress',
+ value: function fetchWithAddress(id) {
+ var _this3 = this;
+
+ return this.graphQLClient.send(query$12, { id: id }).then(defaultResolver('node')).then(function (checkout) {
+ return _this3.graphQLClient.fetchAllPages(checkout.lineItems, { pageSize: 250 }).then(function (lineItems) {
+ checkout.attrs.lineItems = lineItems;
+
+ return checkout;
+ });
+ });
+ }
+
+ /**
+ * Creates a checkout.
+ *
+ * @example
+ * const input = {
+ * lineItems: [
+ * {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}
+ * ]
+ * };
*
* client.checkout.create(input).then((checkout) => {
* // Do something with the newly created checkout
@@ -5603,7 +6631,29 @@ var CheckoutResource = function (_Resource) {
value: function updateAttributes(checkoutId) {
var input = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- return this.graphQLClient.send(query$17, { checkoutId: checkoutId, input: input }).then(handleCheckoutMutation('checkoutAttributesUpdate', this.graphQLClient));
+ return this.graphQLClient.send(query$18, { checkoutId: checkoutId, input: input }).then(handleCheckoutMutation('checkoutAttributesUpdateV2', this.graphQLClient));
+ }
+
+ /**
+ * Replaces the value of checkout's email address
+ *
+ * @example
+ * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
+ * const email = 'user@example.com';
+ *
+ * client.checkout.updateEmail(checkoutId, email).then((checkout) => {
+ * // Do something with the updated checkout
+ * });
+ *
+ * @param {String} checkoutId The ID of the checkout to update.
+ * @param {String} email The email address to apply to the checkout.
+ * @return {Promise|GraphModel} A promise resolving with the updated checkout.
+ */
+
+ }, {
+ key: 'updateEmail',
+ value: function updateEmail(checkoutId, email) {
+ return this.graphQLClient.send(query$21, { checkoutId: checkoutId, email: email }).then(handleCheckoutMutation('checkoutEmailUpdateV2', this.graphQLClient));
}
/**
@@ -5647,29 +6697,27 @@ var CheckoutResource = function (_Resource) {
}, {
key: 'addDiscount',
value: function addDiscount(checkoutId, discountCode) {
- return this.graphQLClient.send(query$18, { checkoutId: checkoutId, discountCode: discountCode }).then(handleCheckoutMutation('checkoutDiscountCodeApply', this.graphQLClient));
+ return this.graphQLClient.send(query$19, { checkoutId: checkoutId, discountCode: discountCode }).then(handleCheckoutMutation('checkoutDiscountCodeApplyV2', this.graphQLClient));
}
/**
- * Applies a discount to an existing checkout using a discount code.
+ * Removes a discount from an existing checkout.
*
* @example
* const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
- * const discountCode = 'best-discount-ever';
*
- * client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {
+ * client.checkout.removeDiscount(checkoutId).then((checkout) => {
* // Do something with the updated checkout
* });
*
* @param {String} checkoutId The ID of the checkout to add discount to.
- * @param {String} discountCode The discount code to apply to the checkout.
* @return {Promise|GraphModel} A promise resolving with the updated checkout.
*/
}, {
key: 'removeDiscount',
- value: function removeDiscount(checkoutId, discountCode) {
- return this.graphQLClient.send(query$19, { checkoutId: checkoutId, discountCode: discountCode }).then(handleCheckoutMutation('checkoutDiscountCodeRemove', this.graphQLClient));
+ value: function removeDiscount(checkoutId) {
+ return this.graphQLClient.send(query$20, { checkoutId: checkoutId }).then(handleCheckoutMutation('checkoutDiscountCodeRemove', this.graphQLClient));
}
/**
@@ -5694,6 +6742,28 @@ var CheckoutResource = function (_Resource) {
return this.graphQLClient.send(query$15, { checkoutId: checkoutId, lineItemIds: lineItemIds }).then(handleCheckoutMutation('checkoutLineItemsRemove', this.graphQLClient));
}
+ /**
+ * Replace line items on an existing checkout.
+ *
+ * @example
+ * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
+ * const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];
+ *
+ * client.checkout.replaceLineItems(checkoutId, lineItems).then((checkout) => {
+ * // Do something with the updated checkout
+ * });
+ *
+ * @param {String} checkoutId The ID of the checkout to add line items to.
+ * @param {Object[]} lineItems A list of line items to set on the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.
+ * @return {Promise|GraphModel} A promise resolving with the updated checkout.
+ */
+
+ }, {
+ key: 'replaceLineItems',
+ value: function replaceLineItems(checkoutId, lineItems) {
+ return this.graphQLClient.send(query$16, { checkoutId: checkoutId, lineItems: lineItems }).then(handleCheckoutMutation('checkoutLineItemsReplace', this.graphQLClient));
+ }
+
/**
* Updates line items on an existing checkout.
*
@@ -5719,7 +6789,7 @@ var CheckoutResource = function (_Resource) {
}, {
key: 'updateLineItems',
value: function updateLineItems(checkoutId, lineItems) {
- return this.graphQLClient.send(query$16, { checkoutId: checkoutId, lineItems: lineItems }).then(handleCheckoutMutation('checkoutLineItemsUpdate', this.graphQLClient));
+ return this.graphQLClient.send(query$17, { checkoutId: checkoutId, lineItems: lineItems }).then(handleCheckoutMutation('checkoutLineItemsUpdate', this.graphQLClient));
}
/**
@@ -5753,12 +6823,12 @@ var CheckoutResource = function (_Resource) {
}, {
key: 'updateShippingAddress',
value: function updateShippingAddress(checkoutId, shippingAddress) {
- return this.graphQLClient.send(query$20, { checkoutId: checkoutId, shippingAddress: shippingAddress }).then(handleCheckoutMutation('checkoutShippingAddressUpdate', this.graphQLClient));
+ return this.graphQLClient.send(query$22, { checkoutId: checkoutId, shippingAddress: shippingAddress }).then(handleCheckoutMutation('checkoutShippingAddressUpdate', this.graphQLClient));
}
}, {
key: 'updateShippingLines',
value: function updateShippingLines(checkoutId, shippingRateHandle) {
- return this.graphQLClient.send(query$21, { checkoutId: checkoutId, shippingRateHandle: shippingRateHandle }).then(handleCheckoutMutation('checkoutShippingLineUpdate', this.graphQLClient));
+ return this.graphQLClient.send(query$23, { checkoutId: checkoutId, shippingRateHandle: shippingRateHandle }).then(handleCheckoutMutation('checkoutShippingLineUpdate', this.graphQLClient));
}
}]);
return CheckoutResource;
@@ -5826,14 +6896,28 @@ var ImageResource = function (_Resource) {
return ImageResource;
}(Resource);
-var version = "1.6.0";
+var version = "2.0.0";
+
+var Boolean$1 = {
+ "name": "Boolean",
+ "kind": "SCALAR"
+};
+
+var String$1 = {
+ "name": "String",
+ "kind": "SCALAR"
+};
var QueryRoot = {
"name": "QueryRoot",
"kind": "OBJECT",
"fieldBaseTypes": {
+ "collectionByHandle": "Collection",
+ "collections": "CollectionConnection",
"node": "Node",
"nodes": "Node",
+ "productByHandle": "Product",
+ "products": "ProductConnection",
"shop": "Shop"
},
"implementsNode": false
@@ -5843,7 +6927,7 @@ var Node = {
"name": "Node",
"kind": "INTERFACE",
"fieldBaseTypes": {},
- "possibleTypes": ["AppliedGiftCard", "Article", "Blog", "Checkout", "CheckoutLineItem", "Collection", "Comment", "MailingAddress", "Order", "Payment", "Product", "ProductOption", "ProductVariant", "ShopPolicy"]
+ "possibleTypes": ["AppliedGiftCard", "Article", "Blog", "Checkout", "CheckoutLineItem", "Collection", "Comment", "MailingAddress", "Order", "Page", "Payment", "Product", "ProductOption", "ProductVariant", "ShopPolicy"]
};
var ID = {
@@ -5851,16 +6935,6 @@ var ID = {
"kind": "SCALAR"
};
-var String$1 = {
- "name": "String",
- "kind": "SCALAR"
-};
-
-var Boolean$1 = {
- "name": "Boolean",
- "kind": "SCALAR"
-};
-
var DateTime = {
"name": "DateTime",
"kind": "SCALAR"
@@ -5876,6 +6950,7 @@ var MailingAddress = {
"company": "String",
"country": "String",
"countryCode": "String",
+ "countryCodeV2": "CountryCode",
"firstName": "String",
"formatted": "String",
"id": "ID",
@@ -5896,6 +6971,11 @@ var Float = {
"kind": "SCALAR"
};
+var CountryCode = {
+ "name": "CountryCode",
+ "kind": "ENUM"
+};
+
var PageInfo = {
"name": "PageInfo",
"kind": "OBJECT",
@@ -5911,39 +6991,90 @@ var Int = {
"kind": "SCALAR"
};
-var Order = {
- "name": "Order",
- "kind": "OBJECT",
+var Order = {
+ "name": "Order",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "currencyCode": "CurrencyCode",
+ "customerUrl": "URL",
+ "id": "ID",
+ "lineItems": "OrderLineItemConnection",
+ "orderNumber": "Int",
+ "processedAt": "DateTime",
+ "shippingAddress": "MailingAddress",
+ "subtotalPrice": "Money",
+ "totalPrice": "Money",
+ "totalRefunded": "Money",
+ "totalShippingPrice": "Money",
+ "totalTax": "Money"
+ },
+ "implementsNode": true
+};
+
+var Money = {
+ "name": "Money",
+ "kind": "SCALAR"
+};
+
+var CurrencyCode = {
+ "name": "CurrencyCode",
+ "kind": "ENUM"
+};
+
+var URL = {
+ "name": "URL",
+ "kind": "SCALAR"
+};
+
+var DiscountAllocation = {
+ "name": "DiscountAllocation",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "allocatedAmount": "MoneyV2",
+ "discountApplication": "DiscountApplication"
+ },
+ "implementsNode": false
+};
+
+var MoneyV2 = {
+ "name": "MoneyV2",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "amount": "Decimal",
+ "currencyCode": "CurrencyCode"
+ },
+ "implementsNode": false
+};
+
+var Decimal = {
+ "name": "Decimal",
+ "kind": "SCALAR"
+};
+
+var DiscountApplication = {
+ "name": "DiscountApplication",
+ "kind": "INTERFACE",
"fieldBaseTypes": {
- "currencyCode": "CurrencyCode",
- "customerUrl": "URL",
- "id": "ID",
- "lineItems": "OrderLineItemConnection",
- "orderNumber": "Int",
- "processedAt": "DateTime",
- "shippingAddress": "MailingAddress",
- "subtotalPrice": "Money",
- "totalPrice": "Money",
- "totalRefunded": "Money",
- "totalShippingPrice": "Money",
- "totalTax": "Money"
+ "allocationMethod": "DiscountApplicationAllocationMethod",
+ "targetSelection": "DiscountApplicationTargetSelection",
+ "targetType": "DiscountApplicationTargetType"
},
- "implementsNode": true
+ "possibleTypes": ["AutomaticDiscountApplication", "DiscountCodeApplication", "ManualDiscountApplication", "ScriptDiscountApplication"]
};
-var Money = {
- "name": "Money",
- "kind": "SCALAR"
+var DiscountApplicationAllocationMethod = {
+ "name": "DiscountApplicationAllocationMethod",
+ "kind": "ENUM"
};
-var CurrencyCode = {
- "name": "CurrencyCode",
+var DiscountApplicationTargetSelection = {
+ "name": "DiscountApplicationTargetSelection",
"kind": "ENUM"
};
-var URL = {
- "name": "URL",
- "kind": "SCALAR"
+var DiscountApplicationTargetType = {
+ "name": "DiscountApplicationTargetType",
+ "kind": "ENUM"
};
var OrderLineItemConnection = {
@@ -5982,7 +7113,7 @@ var ProductVariant = {
"name": "ProductVariant",
"kind": "OBJECT",
"fieldBaseTypes": {
- "available": "Boolean",
+ "availableForSale": "Boolean",
"compareAtPrice": "Money",
"id": "ID",
"image": "Image",
@@ -6002,6 +7133,7 @@ var Image = {
"fieldBaseTypes": {
"altText": "String",
"id": "ID",
+ "originalSrc": "URL",
"src": "URL"
},
"implementsNode": false
@@ -6021,6 +7153,7 @@ var Product = {
"name": "Product",
"kind": "OBJECT",
"fieldBaseTypes": {
+ "availableForSale": "Boolean",
"createdAt": "DateTime",
"description": "String",
"descriptionHtml": "HTML",
@@ -6031,7 +7164,6 @@ var Product = {
"options": "ProductOption",
"productType": "String",
"publishedAt": "DateTime",
- "tags": "String",
"title": "String",
"updatedAt": "DateTime",
"variants": "ProductVariantConnection",
@@ -6161,20 +7293,122 @@ var Attribute = {
"implementsNode": false
};
+var DiscountApplicationConnection = {
+ "name": "DiscountApplicationConnection",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "edges": "DiscountApplicationEdge",
+ "pageInfo": "PageInfo"
+ },
+ "implementsNode": false
+};
+
+var DiscountApplicationEdge = {
+ "name": "DiscountApplicationEdge",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "node": "DiscountApplication"
+ },
+ "implementsNode": false
+};
+
+var Checkout = {
+ "name": "Checkout",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "availableShippingRates": "AvailableShippingRates",
+ "completedAt": "DateTime",
+ "createdAt": "DateTime",
+ "currencyCode": "CurrencyCode",
+ "customAttributes": "Attribute",
+ "discountApplications": "DiscountApplicationConnection",
+ "email": "String",
+ "id": "ID",
+ "lineItems": "CheckoutLineItemConnection",
+ "note": "String",
+ "order": "Order",
+ "orderStatusUrl": "URL",
+ "paymentDue": "Money",
+ "ready": "Boolean",
+ "requiresShipping": "Boolean",
+ "shippingAddress": "MailingAddress",
+ "shippingLine": "ShippingRate",
+ "subtotalPrice": "Money",
+ "taxExempt": "Boolean",
+ "taxesIncluded": "Boolean",
+ "totalPrice": "Money",
+ "totalTax": "Money",
+ "updatedAt": "DateTime",
+ "webUrl": "URL"
+ },
+ "implementsNode": true
+};
+
+var CheckoutLineItemConnection = {
+ "name": "CheckoutLineItemConnection",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "edges": "CheckoutLineItemEdge",
+ "pageInfo": "PageInfo"
+ },
+ "implementsNode": false
+};
+
+var CheckoutLineItemEdge = {
+ "name": "CheckoutLineItemEdge",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "cursor": "String",
+ "node": "CheckoutLineItem"
+ },
+ "implementsNode": false
+};
+
+var CheckoutLineItem = {
+ "name": "CheckoutLineItem",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "customAttributes": "Attribute",
+ "discountAllocations": "DiscountAllocation",
+ "id": "ID",
+ "quantity": "Int",
+ "title": "String",
+ "variant": "ProductVariant"
+ },
+ "implementsNode": true
+};
+
+var ShippingRate = {
+ "name": "ShippingRate",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "handle": "String",
+ "price": "Money",
+ "title": "String"
+ },
+ "implementsNode": false
+};
+
+var AvailableShippingRates = {
+ "name": "AvailableShippingRates",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "ready": "Boolean",
+ "shippingRates": "ShippingRate"
+ },
+ "implementsNode": false
+};
+
var Shop = {
"name": "Shop",
"kind": "OBJECT",
"fieldBaseTypes": {
- "collectionByHandle": "Collection",
- "collections": "CollectionConnection",
"currencyCode": "CurrencyCode",
"description": "String",
"moneyFormat": "String",
"name": "String",
"primaryDomain": "Domain",
"privacyPolicy": "ShopPolicy",
- "productByHandle": "Product",
- "products": "ProductConnection",
"refundPolicy": "ShopPolicy",
"termsOfService": "ShopPolicy"
},
@@ -6208,12 +7442,14 @@ var Mutation$1 = {
"name": "Mutation",
"kind": "OBJECT",
"fieldBaseTypes": {
- "checkoutAttributesUpdate": "CheckoutAttributesUpdatePayload",
+ "checkoutAttributesUpdateV2": "CheckoutAttributesUpdateV2Payload",
"checkoutCreate": "CheckoutCreatePayload",
+ "checkoutDiscountCodeApplyV2": "CheckoutDiscountCodeApplyV2Payload",
+ "checkoutDiscountCodeRemove": "CheckoutDiscountCodeRemovePayload",
+ "checkoutEmailUpdateV2": "CheckoutEmailUpdateV2Payload",
"checkoutLineItemsAdd": "CheckoutLineItemsAddPayload",
- "checkoutDiscountCodeApply": "CheckoutLineItemsAddPayload",
- "checkoutDiscountCodeRemove": "CheckoutLineItemsAddPayload",
"checkoutLineItemsRemove": "CheckoutLineItemsRemovePayload",
+ "checkoutLineItemsReplace": "CheckoutLineItemsReplacePayload",
"checkoutLineItemsUpdate": "CheckoutLineItemsUpdatePayload",
"checkoutShippingAddressUpdate": "CheckoutShippingAddressUpdatePayload",
"checkoutShippingLineUpdate": "CheckoutShippingLineUpdatePayload"
@@ -6221,6 +7457,7 @@ var Mutation$1 = {
"implementsNode": false,
"relayInputObjectBaseTypes": {
"checkoutAttributesUpdate": "CheckoutAttributesUpdateInput",
+ "checkoutAttributesUpdateV2": "CheckoutAttributesUpdateV2Input",
"checkoutCreate": "CheckoutCreateInput",
"customerAccessTokenCreate": "CustomerAccessTokenCreateInput",
"customerActivate": "CustomerActivateInput",
@@ -6229,16 +7466,6 @@ var Mutation$1 = {
}
};
-var CheckoutAttributesUpdatePayload = {
- "name": "CheckoutAttributesUpdatePayload",
- "kind": "OBJECT",
- "fieldBaseTypes": {
- "checkout": "Checkout",
- "userErrors": "UserError"
- },
- "implementsNode": false
-};
-
var UserError = {
"name": "UserError",
"kind": "OBJECT",
@@ -6249,95 +7476,82 @@ var UserError = {
"implementsNode": false
};
-var Checkout = {
- "name": "Checkout",
+var CheckoutShippingAddressUpdatePayload = {
+ "name": "CheckoutShippingAddressUpdatePayload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "availableShippingRates": "AvailableShippingRates",
- "completedAt": "DateTime",
- "createdAt": "DateTime",
- "currencyCode": "CurrencyCode",
- "customAttributes": "Attribute",
- "id": "ID",
- "lineItems": "CheckoutLineItemConnection",
- "note": "String",
- "order": "Order",
- "orderStatusUrl": "URL",
- "paymentDue": "Money",
- "ready": "Boolean",
- "requiresShipping": "Boolean",
- "shippingAddress": "MailingAddress",
- "shippingLine": "ShippingRate",
- "subtotalPrice": "Money",
- "taxExempt": "Boolean",
- "taxesIncluded": "Boolean",
- "totalPrice": "Money",
- "totalTax": "Money",
- "updatedAt": "DateTime",
- "webUrl": "URL"
+ "checkout": "Checkout",
+ "userErrors": "UserError"
},
- "implementsNode": true
+ "implementsNode": false
};
-var CheckoutLineItemConnection = {
- "name": "CheckoutLineItemConnection",
+var CheckoutAttributesUpdateV2Payload = {
+ "name": "CheckoutAttributesUpdateV2Payload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "edges": "CheckoutLineItemEdge",
- "pageInfo": "PageInfo"
+ "checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
+ "userErrors": "UserError"
},
"implementsNode": false
};
-var CheckoutLineItemEdge = {
- "name": "CheckoutLineItemEdge",
+var CheckoutUserError = {
+ "name": "CheckoutUserError",
"kind": "OBJECT",
"fieldBaseTypes": {
- "cursor": "String",
- "node": "CheckoutLineItem"
+ "code": "CheckoutErrorCode",
+ "field": "String",
+ "message": "String"
},
"implementsNode": false
};
-var CheckoutLineItem = {
- "name": "CheckoutLineItem",
+var CheckoutErrorCode = {
+ "name": "CheckoutErrorCode",
+ "kind": "ENUM"
+};
+
+var CheckoutDiscountCodeApplyV2Payload = {
+ "name": "CheckoutDiscountCodeApplyV2Payload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "customAttributes": "Attribute",
- "id": "ID",
- "quantity": "Int",
- "title": "String",
- "variant": "ProductVariant"
+ "checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
+ "userErrors": "UserError"
},
- "implementsNode": true
+ "implementsNode": false
};
-var ShippingRate = {
- "name": "ShippingRate",
+var CheckoutCreatePayload = {
+ "name": "CheckoutCreatePayload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "handle": "String",
- "price": "Money",
- "title": "String"
+ "checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
+ "userErrors": "UserError"
},
"implementsNode": false
};
-var AvailableShippingRates = {
- "name": "AvailableShippingRates",
+var CheckoutEmailUpdateV2Payload = {
+ "name": "CheckoutEmailUpdateV2Payload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "ready": "Boolean",
- "shippingRates": "ShippingRate"
+ "checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
+ "userErrors": "UserError"
},
"implementsNode": false
};
-var CheckoutCreatePayload = {
- "name": "CheckoutCreatePayload",
+var CheckoutDiscountCodeRemovePayload = {
+ "name": "CheckoutDiscountCodeRemovePayload",
"kind": "OBJECT",
"fieldBaseTypes": {
"checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
"userErrors": "UserError"
},
"implementsNode": false
@@ -6373,12 +7587,12 @@ var CheckoutLineItemsUpdatePayload = {
"implementsNode": false
};
-var CheckoutShippingAddressUpdatePayload = {
- "name": "CheckoutShippingAddressUpdatePayload",
+var CheckoutLineItemsReplacePayload = {
+ "name": "CheckoutLineItemsReplacePayload",
"kind": "OBJECT",
"fieldBaseTypes": {
"checkout": "Checkout",
- "userErrors": "UserError"
+ "userErrors": "CheckoutUserError"
},
"implementsNode": false
};
@@ -6393,23 +7607,69 @@ var CheckoutShippingLineUpdatePayload = {
"implementsNode": false
};
+var DiscountCodeApplication = {
+ "name": "DiscountCodeApplication",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "applicable": "Boolean",
+ "code": "String"
+ },
+ "implementsNode": false
+};
+
+var ManualDiscountApplication = {
+ "name": "ManualDiscountApplication",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "description": "String",
+ "title": "String"
+ },
+ "implementsNode": false
+};
+
+var ScriptDiscountApplication = {
+ "name": "ScriptDiscountApplication",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "description": "String"
+ },
+ "implementsNode": false
+};
+
+var AutomaticDiscountApplication = {
+ "name": "AutomaticDiscountApplication",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "title": "String"
+ },
+ "implementsNode": false
+};
+
var Types = {
types: {}
};
+Types.types["Boolean"] = Boolean$1;
+Types.types["String"] = String$1;
Types.types["QueryRoot"] = QueryRoot;
Types.types["Node"] = Node;
Types.types["ID"] = ID;
-Types.types["String"] = String$1;
-Types.types["Boolean"] = Boolean$1;
Types.types["DateTime"] = DateTime;
Types.types["MailingAddress"] = MailingAddress;
Types.types["Float"] = Float;
+Types.types["CountryCode"] = CountryCode;
Types.types["PageInfo"] = PageInfo;
Types.types["Int"] = Int;
Types.types["Order"] = Order;
Types.types["Money"] = Money;
Types.types["CurrencyCode"] = CurrencyCode;
Types.types["URL"] = URL;
+Types.types["DiscountAllocation"] = DiscountAllocation;
+Types.types["MoneyV2"] = MoneyV2;
+Types.types["Decimal"] = Decimal;
+Types.types["DiscountApplication"] = DiscountApplication;
+Types.types["DiscountApplicationAllocationMethod"] = DiscountApplicationAllocationMethod;
+Types.types["DiscountApplicationTargetSelection"] = DiscountApplicationTargetSelection;
+Types.types["DiscountApplicationTargetType"] = DiscountApplicationTargetType;
Types.types["OrderLineItemConnection"] = OrderLineItemConnection;
Types.types["OrderLineItemEdge"] = OrderLineItemEdge;
Types.types["OrderLineItem"] = OrderLineItem;
@@ -6429,24 +7689,36 @@ Types.types["ProductOption"] = ProductOption;
Types.types["ProductVariantConnection"] = ProductVariantConnection;
Types.types["ProductVariantEdge"] = ProductVariantEdge;
Types.types["Attribute"] = Attribute;
-Types.types["Shop"] = Shop;
-Types.types["Domain"] = Domain;
-Types.types["ShopPolicy"] = ShopPolicy;
-Types.types["Mutation"] = Mutation$1;
-Types.types["CheckoutAttributesUpdatePayload"] = CheckoutAttributesUpdatePayload;
-Types.types["UserError"] = UserError;
+Types.types["DiscountApplicationConnection"] = DiscountApplicationConnection;
+Types.types["DiscountApplicationEdge"] = DiscountApplicationEdge;
Types.types["Checkout"] = Checkout;
Types.types["CheckoutLineItemConnection"] = CheckoutLineItemConnection;
Types.types["CheckoutLineItemEdge"] = CheckoutLineItemEdge;
Types.types["CheckoutLineItem"] = CheckoutLineItem;
Types.types["ShippingRate"] = ShippingRate;
Types.types["AvailableShippingRates"] = AvailableShippingRates;
+Types.types["Shop"] = Shop;
+Types.types["Domain"] = Domain;
+Types.types["ShopPolicy"] = ShopPolicy;
+Types.types["Mutation"] = Mutation$1;
+Types.types["UserError"] = UserError;
+Types.types["CheckoutShippingAddressUpdatePayload"] = CheckoutShippingAddressUpdatePayload;
+Types.types["CheckoutAttributesUpdateV2Payload"] = CheckoutAttributesUpdateV2Payload;
+Types.types["CheckoutUserError"] = CheckoutUserError;
+Types.types["CheckoutErrorCode"] = CheckoutErrorCode;
+Types.types["CheckoutDiscountCodeApplyV2Payload"] = CheckoutDiscountCodeApplyV2Payload;
Types.types["CheckoutCreatePayload"] = CheckoutCreatePayload;
+Types.types["CheckoutEmailUpdateV2Payload"] = CheckoutEmailUpdateV2Payload;
+Types.types["CheckoutDiscountCodeRemovePayload"] = CheckoutDiscountCodeRemovePayload;
Types.types["CheckoutLineItemsAddPayload"] = CheckoutLineItemsAddPayload;
Types.types["CheckoutLineItemsRemovePayload"] = CheckoutLineItemsRemovePayload;
Types.types["CheckoutLineItemsUpdatePayload"] = CheckoutLineItemsUpdatePayload;
-Types.types["CheckoutShippingAddressUpdatePayload"] = CheckoutShippingAddressUpdatePayload;
+Types.types["CheckoutLineItemsReplacePayload"] = CheckoutLineItemsReplacePayload;
Types.types["CheckoutShippingLineUpdatePayload"] = CheckoutShippingLineUpdatePayload;
+Types.types["DiscountCodeApplication"] = DiscountCodeApplication;
+Types.types["ManualDiscountApplication"] = ManualDiscountApplication;
+Types.types["ScriptDiscountApplication"] = ScriptDiscountApplication;
+Types.types["AutomaticDiscountApplication"] = AutomaticDiscountApplication;
Types.queryType = "QueryRoot";
Types.mutationType = "Mutation";
Types.subscriptionType = null;
diff --git a/index.es.js.map b/index.es.js.map
index 34d3a4688..b00035754 100644
--- a/index.es.js.map
+++ b/index.es.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.es.js","sources":["node_modules/graphql-js-client/index.es.js","src/config.js","src/resource.js","src/default-resolver.js","src/fetch-resources-for-products.js","src/paginators.js","src/product-helpers.js","src/product-resource.js","src/collection-resource.js","src/shop-resource.js","src/handle-checkout-mutation.js","src/checkout-resource.js","src/image-helpers.js","src/image-resource.js","src/client.js"],"sourcesContent":["/*\nThe MIT License (MIT)\nCopyright (c) 2016 Shopify Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE\nOR OTHER DEALINGS IN THE SOFTWARE.\n\n\n*/\nfunction join() {\n for (var _len = arguments.length, fields = Array(_len), _key = 0; _key < _len; _key++) {\n fields[_key] = arguments[_key];\n }\n\n return fields.join(' ');\n}\n\nfunction isObject(value) {\n return Boolean(value) && Object.prototype.toString.call(value.valueOf()) === '[object Object]';\n}\n\nfunction deepFreezeCopyExcept(predicate, structure) {\n if (predicate(structure)) {\n return structure;\n } else if (isObject(structure)) {\n return Object.freeze(Object.keys(structure).reduce(function (copy, key) {\n copy[key] = deepFreezeCopyExcept(predicate, structure[key]);\n\n return copy;\n }, {}));\n } else if (Array.isArray(structure)) {\n return Object.freeze(structure.map(function (item) {\n return deepFreezeCopyExcept(predicate, item);\n }));\n } else {\n return structure;\n }\n}\n\nfunction schemaForType(typeBundle, typeName) {\n var type = typeBundle.types[typeName];\n\n if (type) {\n return type;\n }\n\n throw new Error(\"No type of \" + typeName + \" found in schema\");\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n\n\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nvar VariableDefinition = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#variable} to create a VariableDefinition.\n *\n * @param {String} name The name of the variable.\n * @param {String} type The GraphQL type of the variable.\n * @param {*} [defaultValue] The default value of the variable.\n */\n function VariableDefinition(name, type, defaultValue) {\n classCallCheck(this, VariableDefinition);\n\n this.name = name;\n this.type = type;\n this.defaultValue = defaultValue;\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the variable as an input value (e.g. `$variableName`).\n *\n * @return {String} The GraphQL query string for the variable as an input value.\n */\n\n\n createClass(VariableDefinition, [{\n key: 'toInputValueString',\n value: function toInputValueString() {\n return '$' + this.name;\n }\n\n /**\n * Returns the GraphQL query string for the variable (e.g. `$variableName:VariableType = defaultValue`).\n *\n * @return {String} The GraphQL query string for the variable.\n */\n\n }, {\n key: 'toString',\n value: function toString() {\n var defaultValueString = this.defaultValue ? ' = ' + formatInputValue(this.defaultValue) : '';\n\n return '$' + this.name + ':' + this.type + defaultValueString;\n }\n }]);\n return VariableDefinition;\n}();\n\nfunction isVariable(value) {\n return VariableDefinition.prototype.isPrototypeOf(value);\n}\n\nfunction variable(name, type, defaultValue) {\n return new VariableDefinition(name, type, defaultValue);\n}\n\nvar Enum = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#enum} to create an Enum.\n *\n * @param {String} key The key of the enum.\n */\n function Enum(key) {\n classCallCheck(this, Enum);\n\n this.key = key;\n }\n\n /**\n * Returns the GraphQL query string for the enum (e.g. `enumKey`).\n *\n * @return {String} The GraphQL query string for the enum.\n */\n\n\n createClass(Enum, [{\n key: \"toString\",\n value: function toString() {\n return this.key;\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n return this.key.valueOf();\n }\n }]);\n return Enum;\n}();\n\nvar enumFunction = (function (key) {\n return new Enum(key);\n});\n\nvar Scalar = function () {\n function Scalar(value) {\n classCallCheck(this, Scalar);\n\n this.value = value;\n }\n\n createClass(Scalar, [{\n key: \"toString\",\n value: function toString() {\n return this.value.toString();\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n return this.value.valueOf();\n }\n }, {\n key: \"unwrapped\",\n get: function get$$1() {\n return this.value;\n }\n }]);\n return Scalar;\n}();\n\nfunction formatInputValue(value) {\n if (VariableDefinition.prototype.isPrototypeOf(value)) {\n return value.toInputValueString();\n } else if (Enum.prototype.isPrototypeOf(value)) {\n return String(value);\n } else if (Scalar.prototype.isPrototypeOf(value)) {\n return JSON.stringify(value.valueOf());\n } else if (Array.isArray(value)) {\n return '[' + join.apply(undefined, toConsumableArray(value.map(formatInputValue))) + ']';\n } else if (isObject(value)) {\n return formatObject(value, '{', '}');\n } else {\n return JSON.stringify(value);\n }\n}\n\nfunction formatObject(value) {\n var openChar = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var closeChar = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n\n var argPairs = Object.keys(value).map(function (key) {\n return key + ': ' + formatInputValue(value[key]);\n });\n\n return '' + openChar + join.apply(undefined, toConsumableArray(argPairs)) + closeChar;\n}\n\nfunction formatArgs(args) {\n if (!Object.keys(args).length) {\n return '';\n }\n\n return ' (' + formatObject(args) + ')';\n}\n\n// eslint-disable-next-line no-empty-function\nvar noop = (function () {});\n\nvar Profiler = {\n trackTypeDependency: noop,\n trackFieldDependency: noop\n};\n\nvar trackTypeDependency = Profiler.trackTypeDependency;\nvar trackFieldDependency = Profiler.trackFieldDependency;\n\n\nfunction parseFieldCreationArgs(creationArgs) {\n var callback = noop;\n var options = {};\n var selectionSet = null;\n\n if (creationArgs.length === 2) {\n if (typeof creationArgs[1] === 'function') {\n var _creationArgs = slicedToArray(creationArgs, 2);\n\n options = _creationArgs[0];\n callback = _creationArgs[1];\n } else {\n var _creationArgs2 = slicedToArray(creationArgs, 2);\n\n options = _creationArgs2[0];\n selectionSet = _creationArgs2[1];\n }\n } else if (creationArgs.length === 1) {\n // SelectionSet is defined before this function is called since it's\n // called by SelectionSet\n // eslint-disable-next-line no-use-before-define\n if (SelectionSet.prototype.isPrototypeOf(creationArgs[0])) {\n selectionSet = creationArgs[0];\n } else if (typeof creationArgs[0] === 'function') {\n callback = creationArgs[0];\n } else {\n options = creationArgs[0];\n }\n }\n\n return { options: options, selectionSet: selectionSet, callback: callback };\n}\n\nvar emptyArgs = Object.freeze({});\n\nvar Field = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Fields are added to a selection by {@link SelectionSetBuilder#add}, {@link SelectionSetBuilder#addConnection}\n * and {@link SelectionSetBuilder#addInlineFragmentOn}.\n *\n * @param {String} name The name of the field.\n * @param {Object} [options] An options object containing:\n * @param {Object} [options.args] Arguments for the field.\n * @param {String} [options.alias] An alias for the field.\n * @param {SelectionSet} selectionSet The selection set on the field.\n */\n function Field(name, options, selectionSet) {\n classCallCheck(this, Field);\n\n this.name = name;\n this.alias = options.alias || null;\n this.responseKey = this.alias || this.name;\n this.args = options.args ? deepFreezeCopyExcept(isVariable, options.args) : emptyArgs;\n this.selectionSet = selectionSet;\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the Field (e.g. `catAlias: cat(size: 'small') { name }` or `name`).\n *\n * @return {String} The GraphQL query string for the Field.\n */\n\n\n createClass(Field, [{\n key: 'toString',\n value: function toString() {\n var aliasPrefix = this.alias ? this.alias + ': ' : '';\n\n return '' + aliasPrefix + this.name + formatArgs(this.args) + this.selectionSet;\n }\n }]);\n return Field;\n}();\n\n// This is an interface that defines a usage, and simplifies type checking\nvar Spread = function Spread() {\n classCallCheck(this, Spread);\n};\n\nvar InlineFragment = function (_Spread) {\n inherits(InlineFragment, _Spread);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link SelectionSetBuilder#addInlineFragmentOn} to create an InlineFragment.\n *\n * @param {String} typeName The type of the fragment.\n * @param {SelectionSet} selectionSet The selection set on the fragment.\n */\n function InlineFragment(typeName, selectionSet) {\n classCallCheck(this, InlineFragment);\n\n var _this = possibleConstructorReturn(this, (InlineFragment.__proto__ || Object.getPrototypeOf(InlineFragment)).call(this));\n\n _this.typeName = typeName;\n _this.selectionSet = selectionSet;\n Object.freeze(_this);\n return _this;\n }\n\n /**\n * Returns the GraphQL query string for the InlineFragment (e.g. `... on Cat { name }`).\n *\n * @return {String} The GraphQL query string for the InlineFragment.\n */\n\n\n createClass(InlineFragment, [{\n key: 'toString',\n value: function toString() {\n return '... on ' + this.typeName + this.selectionSet;\n }\n }]);\n return InlineFragment;\n}(Spread);\n\nvar FragmentSpread = function (_Spread2) {\n inherits(FragmentSpread, _Spread2);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Document#defineFragment} to create a FragmentSpread.\n *\n * @param {FragmentDefinition} fragmentDefinition The corresponding fragment definition.\n */\n function FragmentSpread(fragmentDefinition) {\n classCallCheck(this, FragmentSpread);\n\n var _this2 = possibleConstructorReturn(this, (FragmentSpread.__proto__ || Object.getPrototypeOf(FragmentSpread)).call(this));\n\n _this2.name = fragmentDefinition.name;\n _this2.selectionSet = fragmentDefinition.selectionSet;\n Object.freeze(_this2);\n return _this2;\n }\n\n /**\n * Returns the GraphQL query string for the FragmentSpread (e.g. `...catName`).\n *\n * @return {String} The GraphQL query string for the FragmentSpread.\n */\n\n\n createClass(FragmentSpread, [{\n key: 'toString',\n value: function toString() {\n return '...' + this.name;\n }\n }, {\n key: 'toDefinition',\n value: function toDefinition() {\n // eslint-disable-next-line no-use-before-define\n return new FragmentDefinition(this.name, this.selectionSet.typeSchema.name, this.selectionSet);\n }\n }]);\n return FragmentSpread;\n}(Spread);\n\nvar FragmentDefinition = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Document#defineFragment} to create a FragmentDefinition on a {@link Document}.\n *\n * @param {String} name The name of the fragment definition.\n * @param {String} typeName The type of the fragment.\n */\n function FragmentDefinition(name, typeName, selectionSet) {\n classCallCheck(this, FragmentDefinition);\n\n this.name = name;\n this.typeName = typeName;\n this.selectionSet = selectionSet;\n this.spread = new FragmentSpread(this);\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the FragmentDefinition (e.g. `fragment catName on Cat { name }`).\n *\n * @return {String} The GraphQL query string for the FragmentDefinition.\n */\n\n\n createClass(FragmentDefinition, [{\n key: 'toString',\n value: function toString() {\n return 'fragment ' + this.name + ' on ' + this.typeName + ' ' + this.selectionSet;\n }\n }]);\n return FragmentDefinition;\n}();\n\nfunction selectionsHaveIdField(selections) {\n return selections.some(function (fieldOrFragment) {\n if (Field.prototype.isPrototypeOf(fieldOrFragment)) {\n return fieldOrFragment.name === 'id';\n } else if (Spread.prototype.isPrototypeOf(fieldOrFragment) && fieldOrFragment.selectionSet.typeSchema.implementsNode) {\n return selectionsHaveIdField(fieldOrFragment.selectionSet.selections);\n }\n\n return false;\n });\n}\n\nfunction selectionsHaveTypenameField(selections) {\n return selections.some(function (fieldOrFragment) {\n if (Field.prototype.isPrototypeOf(fieldOrFragment)) {\n return fieldOrFragment.name === '__typename';\n } else if (Spread.prototype.isPrototypeOf(fieldOrFragment) && fieldOrFragment.selectionSet.typeSchema.implementsNode) {\n return selectionsHaveTypenameField(fieldOrFragment.selectionSet.selections);\n }\n\n return false;\n });\n}\n\nfunction indexSelectionsByResponseKey(selections) {\n function assignOrPush(obj, key, value) {\n if (Array.isArray(obj[key])) {\n obj[key].push(value);\n } else {\n obj[key] = [value];\n }\n }\n var unfrozenObject = selections.reduce(function (acc, selection) {\n if (selection.responseKey) {\n assignOrPush(acc, selection.responseKey, selection);\n } else {\n var responseKeys = Object.keys(selection.selectionSet.selectionsByResponseKey);\n\n responseKeys.forEach(function (responseKey) {\n assignOrPush(acc, responseKey, selection);\n });\n }\n\n return acc;\n }, {});\n\n Object.keys(unfrozenObject).forEach(function (key) {\n Object.freeze(unfrozenObject[key]);\n });\n\n return Object.freeze(unfrozenObject);\n}\n\n/**\n * Class that specifies the full selection of data to query.\n */\n\nvar SelectionSet = function () {\n\n /**\n * This constructor should not be invoked directly. SelectionSets are created when building queries/mutations.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {(Object|String)} type The type of the current selection.\n * @param {Function} builderFunction Callback function used to build the SelectionSet.\n * The callback takes a {@link SelectionSetBuilder} as its argument.\n */\n function SelectionSet(typeBundle, type, builderFunction) {\n classCallCheck(this, SelectionSet);\n\n\n if (typeof type === 'string') {\n this.typeSchema = schemaForType(typeBundle, type);\n } else {\n this.typeSchema = type;\n }\n\n trackTypeDependency(this.typeSchema.name);\n\n this.typeBundle = typeBundle;\n this.selections = [];\n if (builderFunction) {\n // eslint-disable-next-line no-use-before-define\n builderFunction(new SelectionSetBuilder(this.typeBundle, this.typeSchema, this.selections));\n }\n\n if (this.typeSchema.implementsNode || this.typeSchema.name === 'Node') {\n if (!selectionsHaveIdField(this.selections)) {\n this.selections.unshift(new Field('id', {}, new SelectionSet(typeBundle, 'ID')));\n }\n }\n\n if (this.typeSchema.kind === 'INTERFACE') {\n if (!selectionsHaveTypenameField(this.selections)) {\n this.selections.unshift(new Field('__typename', {}, new SelectionSet(typeBundle, 'String')));\n }\n }\n\n this.selectionsByResponseKey = indexSelectionsByResponseKey(this.selections);\n Object.freeze(this.selections);\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the SelectionSet (e.g. `{ cat { name } }`).\n *\n * @return {String} The GraphQL query string for the SelectionSet.\n */\n\n\n createClass(SelectionSet, [{\n key: 'toString',\n value: function toString() {\n if (this.typeSchema.kind === 'SCALAR' || this.typeSchema.kind === 'ENUM') {\n return '';\n } else {\n return ' { ' + join(this.selections) + ' }';\n }\n }\n }]);\n return SelectionSet;\n}();\n\nvar SelectionSetBuilder = function () {\n\n /**\n * This constructor should not be invoked directly. SelectionSetBuilders are created when building queries/mutations.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {Object} typeSchema The schema object for the type of the current selection.\n * @param {Field[]} selections The fields on the current selection.\n */\n function SelectionSetBuilder(typeBundle, typeSchema, selections) {\n classCallCheck(this, SelectionSetBuilder);\n\n this.typeBundle = typeBundle;\n this.typeSchema = typeSchema;\n this.selections = selections;\n }\n\n createClass(SelectionSetBuilder, [{\n key: 'hasSelectionWithResponseKey',\n value: function hasSelectionWithResponseKey(responseKey) {\n return this.selections.some(function (field) {\n return field.responseKey === responseKey;\n });\n }\n\n /**\n * Adds a field to be queried on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.add('cat', {args: {id: '123456'}, alias: 'meow'}, (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {SelectionSet|String} selectionOrFieldName The selection or name of the field to add.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{id: '123456'}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'add',\n value: function add(selectionOrFieldName) {\n var selection = void 0;\n\n if (Object.prototype.toString.call(selectionOrFieldName) === '[object String]') {\n trackFieldDependency(this.typeSchema.name, selectionOrFieldName);\n\n for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n selection = this.field.apply(this, [selectionOrFieldName].concat(rest));\n } else {\n if (Field.prototype.isPrototypeOf(selectionOrFieldName)) {\n trackFieldDependency(this.typeSchema.name, selectionOrFieldName.name);\n }\n\n selection = selectionOrFieldName;\n }\n\n if (selection.responseKey && this.hasSelectionWithResponseKey(selection.responseKey)) {\n throw new Error('The field name or alias \\'' + selection.responseKey + '\\' has already been added.');\n }\n this.selections.push(selection);\n }\n }, {\n key: 'field',\n value: function field(name) {\n for (var _len2 = arguments.length, creationArgs = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n creationArgs[_key2 - 1] = arguments[_key2];\n }\n\n var parsedArgs = parseFieldCreationArgs(creationArgs);\n var options = parsedArgs.options,\n callback = parsedArgs.callback;\n var selectionSet = parsedArgs.selectionSet;\n\n\n if (!selectionSet) {\n if (!this.typeSchema.fieldBaseTypes[name]) {\n throw new Error('No field of name \"' + name + '\" found on type \"' + this.typeSchema.name + '\" in schema');\n }\n\n var fieldBaseType = schemaForType(this.typeBundle, this.typeSchema.fieldBaseTypes[name]);\n\n selectionSet = new SelectionSet(this.typeBundle, fieldBaseType, callback);\n }\n\n return new Field(name, options, selectionSet);\n }\n\n /**\n * Creates an inline fragment.\n *\n * @access private\n * @param {String} typeName The type the inline fragment.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n * @return {InlineFragment} An inline fragment.\n */\n\n }, {\n key: 'inlineFragmentOn',\n value: function inlineFragmentOn(typeName) {\n var builderFunctionOrSelectionSet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var selectionSet = void 0;\n\n if (SelectionSet.prototype.isPrototypeOf(builderFunctionOrSelectionSet)) {\n selectionSet = builderFunctionOrSelectionSet;\n } else {\n selectionSet = new SelectionSet(this.typeBundle, schemaForType(this.typeBundle, typeName), builderFunctionOrSelectionSet);\n }\n\n return new InlineFragment(typeName, selectionSet);\n }\n\n /**\n * Adds a field to be queried on the current selection.\n *\n * @access private\n * @param {String} name The name of the field to add to the query.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{id: '123456'}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function} [callback] Callback which will be used to create a new {@link SelectionSet} for the field added.\n */\n\n }, {\n key: 'addField',\n value: function addField(name) {\n for (var _len3 = arguments.length, creationArgs = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n creationArgs[_key3 - 1] = arguments[_key3];\n }\n\n this.add.apply(this, [name].concat(creationArgs));\n }\n\n /**\n * Adds a connection to be queried on the current selection.\n * This adds all the fields necessary for pagination.\n *\n * @example\n * client.query((root) => {\n * root.add('cat', (cat) => {\n * cat.addConnection('friends', {args: {first: 10}, alias: 'coolCats'}, (friends) => {\n * friends.add('name');\n * });\n * });\n * });\n *\n * @param {String} name The name of the connection to add to the query.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{first: 10}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'addConnection',\n value: function addConnection(name) {\n for (var _len4 = arguments.length, creationArgs = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n creationArgs[_key4 - 1] = arguments[_key4];\n }\n\n var _parseFieldCreationAr = parseFieldCreationArgs(creationArgs),\n options = _parseFieldCreationAr.options,\n callback = _parseFieldCreationAr.callback,\n selectionSet = _parseFieldCreationAr.selectionSet;\n\n this.add(name, options, function (connection) {\n connection.add('pageInfo', {}, function (pageInfo) {\n pageInfo.add('hasNextPage');\n pageInfo.add('hasPreviousPage');\n });\n connection.add('edges', {}, function (edges) {\n edges.add('cursor');\n edges.addField('node', {}, selectionSet || callback); // This is bad. Don't do this\n });\n });\n }\n\n /**\n * Adds an inline fragment on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.add('animal', (animal) => {\n * animal.addInlineFragmentOn('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {String} typeName The name of the type of the inline fragment.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'addInlineFragmentOn',\n value: function addInlineFragmentOn(typeName) {\n var fieldTypeCb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n this.add(this.inlineFragmentOn(typeName, fieldTypeCb));\n }\n\n /**\n * Adds a fragment spread on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.addFragment(catFragmentSpread);\n * });\n *\n * @param {FragmentSpread} fragmentSpread The fragment spread to add.\n */\n\n }, {\n key: 'addFragment',\n value: function addFragment(fragmentSpread) {\n this.add(fragmentSpread);\n }\n }]);\n return SelectionSetBuilder;\n}();\n\nfunction parseArgs(args) {\n var name = void 0;\n var variables = void 0;\n var selectionSetCallback = void 0;\n\n if (args.length === 3) {\n var _args = slicedToArray(args, 3);\n\n name = _args[0];\n variables = _args[1];\n selectionSetCallback = _args[2];\n } else if (args.length === 2) {\n if (Object.prototype.toString.call(args[0]) === '[object String]') {\n name = args[0];\n variables = null;\n } else if (Array.isArray(args[0])) {\n variables = args[0];\n name = null;\n }\n\n selectionSetCallback = args[1];\n } else {\n selectionSetCallback = args[0];\n name = null;\n }\n\n return { name: name, variables: variables, selectionSetCallback: selectionSetCallback };\n}\n\nvar VariableDefinitions = function () {\n function VariableDefinitions(variableDefinitions) {\n classCallCheck(this, VariableDefinitions);\n\n this.variableDefinitions = variableDefinitions ? [].concat(toConsumableArray(variableDefinitions)) : [];\n Object.freeze(this.variableDefinitions);\n Object.freeze(this);\n }\n\n createClass(VariableDefinitions, [{\n key: 'toString',\n value: function toString() {\n if (this.variableDefinitions.length === 0) {\n return '';\n }\n\n return ' (' + join(this.variableDefinitions) + ') ';\n }\n }]);\n return VariableDefinitions;\n}();\n\n/**\n * Base class for {@link Query} and {@link Mutation}.\n * @abstract\n */\n\n\nvar Operation = function () {\n\n /**\n * This constructor should not be invoked. The subclasses {@link Query} and {@link Mutation} should be used instead.\n */\n function Operation(typeBundle, operationType) {\n classCallCheck(this, Operation);\n\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var _parseArgs = parseArgs(args),\n name = _parseArgs.name,\n variables = _parseArgs.variables,\n selectionSetCallback = _parseArgs.selectionSetCallback;\n\n this.typeBundle = typeBundle;\n this.name = name;\n this.variableDefinitions = new VariableDefinitions(variables);\n this.operationType = operationType;\n if (operationType === 'query') {\n this.selectionSet = new SelectionSet(typeBundle, typeBundle.queryType, selectionSetCallback);\n this.typeSchema = schemaForType(typeBundle, typeBundle.queryType);\n } else {\n this.selectionSet = new SelectionSet(typeBundle, typeBundle.mutationType, selectionSetCallback);\n this.typeSchema = schemaForType(typeBundle, typeBundle.mutationType);\n }\n Object.freeze(this);\n }\n\n /**\n * Whether the operation is anonymous (i.e. has no name).\n */\n\n\n createClass(Operation, [{\n key: 'toString',\n\n\n /**\n * Returns the GraphQL query or mutation string (e.g. `query myQuery { cat { name } }`).\n *\n * @return {String} The GraphQL query or mutation string.\n */\n value: function toString() {\n var nameString = this.name ? ' ' + this.name : '';\n\n return '' + this.operationType + nameString + this.variableDefinitions + this.selectionSet;\n }\n }, {\n key: 'isAnonymous',\n get: function get$$1() {\n return !this.name;\n }\n }]);\n return Operation;\n}();\n\n/**\n * GraphQL Query class.\n * @extends Operation\n */\n\nvar Query = function (_Operation) {\n inherits(Query, _Operation);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory functions {@link Client#query} or {@link Document#addQuery} to create a Query.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {String} [name] A name for the query.\n * @param {Object[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n */\n function Query(typeBundle) {\n var _ref;\n\n classCallCheck(this, Query);\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return possibleConstructorReturn(this, (_ref = Query.__proto__ || Object.getPrototypeOf(Query)).call.apply(_ref, [this, typeBundle, 'query'].concat(args)));\n }\n\n return Query;\n}(Operation);\n\n/**\n * GraphQL Mutation class.\n * @extends Operation\n */\n\nvar Mutation = function (_Operation) {\n inherits(Mutation, _Operation);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory functions {@link Client#mutation} or {@link Document#addMutation} to create a Mutation.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {String} [name] A name for the mutation.\n * @param {Object[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The mutation builder callback.\n * A {@link SelectionSet} is created using this callback.\n */\n function Mutation(typeBundle) {\n var _ref;\n\n classCallCheck(this, Mutation);\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return possibleConstructorReturn(this, (_ref = Mutation.__proto__ || Object.getPrototypeOf(Mutation)).call.apply(_ref, [this, typeBundle, 'mutation'].concat(args)));\n }\n\n return Mutation;\n}(Operation);\n\nfunction isAnonymous(operation) {\n return operation.isAnonymous;\n}\n\nfunction hasAnonymousOperations(operations) {\n return operations.some(isAnonymous);\n}\n\nfunction hasDuplicateOperationNames(operations) {\n var names = operations.map(function (operation) {\n return operation.name;\n });\n\n return names.reduce(function (hasDuplicates, name, index) {\n return hasDuplicates || names.indexOf(name) !== index;\n }, false);\n}\n\nfunction extractOperation(typeBundle, operationType) {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (Operation.prototype.isPrototypeOf(args[0])) {\n return args[0];\n }\n\n if (operationType === 'query') {\n return new (Function.prototype.bind.apply(Query, [null].concat([typeBundle], args)))();\n } else {\n return new (Function.prototype.bind.apply(Mutation, [null].concat([typeBundle], args)))();\n }\n}\n\nfunction isInvalidOperationCombination(operations) {\n if (operations.length === 1) {\n return false;\n }\n\n return hasAnonymousOperations(operations) || hasDuplicateOperationNames(operations);\n}\n\nfunction fragmentNameIsNotUnique(existingDefinitions, name) {\n return existingDefinitions.some(function (definition) {\n return definition.name === name;\n });\n}\n\nvar Document = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#document} to create a Document.\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n */\n function Document(typeBundle) {\n classCallCheck(this, Document);\n\n this.typeBundle = typeBundle;\n this.definitions = [];\n }\n\n /**\n * Returns the GraphQL query string for the Document (e.g. `query queryOne { ... } query queryTwo { ... }`).\n *\n * @return {String} The GraphQL query string for the Document.\n */\n\n\n createClass(Document, [{\n key: 'toString',\n value: function toString() {\n return join(this.definitions);\n }\n\n /**\n * Adds an operation to the Document.\n *\n * @private\n * @param {String} operationType The type of the operation. Either 'query' or 'mutation'.\n * @param {(Operation|String)} [query|queryName] Either an instance of an operation\n * object, or the name of an operation. Both are optional.\n * @param {Object[]} [variables] A list of variables in the operation. See {@link Client#variable}.\n * @param {Function} [callback] The query builder callback. If an operation\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addOperation',\n value: function addOperation(operationType) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n var operation = extractOperation.apply(undefined, [this.typeBundle, operationType].concat(args));\n\n if (isInvalidOperationCombination(this.operations.concat(operation))) {\n throw new Error('All operations must be uniquely named on a multi-operation document');\n }\n\n this.definitions.push(operation);\n }\n\n /**\n * Adds a query to the Document.\n *\n * @example\n * document.addQuery('myQuery', (root) => {\n * root.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {(Query|String)} [query|queryName] Either an instance of a query\n * object, or the name of a query. Both are optional.\n * @param {Object[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} [callback] The query builder callback. If a query\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addQuery',\n value: function addQuery() {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n this.addOperation.apply(this, ['query'].concat(args));\n }\n\n /**\n * Adds a mutation to the Document.\n *\n * @example\n * const input = client.variable('input', 'CatCreateInput!');\n *\n * document.addMutation('myMutation', [input], (root) => {\n * root.add('catCreate', {args: {input}}, (catCreate) => {\n * catCreate.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {(Mutation|String)} [mutation|mutationName] Either an instance of a mutation\n * object, or the name of a mutation. Both are optional.\n * @param {Object[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} [callback] The mutation builder callback. If a mutation\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addMutation',\n value: function addMutation() {\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n this.addOperation.apply(this, ['mutation'].concat(args));\n }\n\n /**\n * Defines a fragment on the Document.\n *\n * @param {String} name The name of the fragment.\n * @param {String} onType The type the fragment is on.\n * @param {Function} [builderFunction] The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {FragmentSpread} A {@link FragmentSpread} to be used with {@link SelectionSetBuilder#addFragment}.\n */\n\n }, {\n key: 'defineFragment',\n value: function defineFragment(name, onType, builderFunction) {\n if (fragmentNameIsNotUnique(this.fragmentDefinitions, name)) {\n throw new Error('All fragments must be uniquely named on a multi-fragment document');\n }\n\n var selectionSet = new SelectionSet(this.typeBundle, onType, builderFunction);\n var fragment = new FragmentDefinition(name, onType, selectionSet);\n\n this.definitions.push(fragment);\n\n return fragment.spread;\n }\n\n /**\n * All operations ({@link Query} and {@link Mutation}) on the Document.\n */\n\n }, {\n key: 'operations',\n get: function get$$1() {\n return this.definitions.filter(function (definition) {\n return Operation.prototype.isPrototypeOf(definition);\n });\n }\n\n /**\n * All {@link FragmentDefinition}s on the Document.\n */\n\n }, {\n key: 'fragmentDefinitions',\n get: function get$$1() {\n return this.definitions.filter(function (definition) {\n return FragmentDefinition.prototype.isPrototypeOf(definition);\n });\n }\n }]);\n return Document;\n}();\n\n/**\n * The base class used when deserializing response data.\n * Provides rich features, like functions to generate queries to refetch a node or fetch the next page.\n *\n * @class\n */\nvar GraphModel =\n\n/**\n * @param {Object} attrs Attributes on the GraphModel.\n */\nfunction GraphModel(attrs) {\n var _this = this;\n\n classCallCheck(this, GraphModel);\n\n Object.defineProperty(this, 'attrs', { value: attrs, enumerable: false });\n\n Object.keys(this.attrs).filter(function (key) {\n return !(key in _this);\n }).forEach(function (key) {\n var descriptor = void 0;\n\n if (attrs[key] === null) {\n descriptor = {\n enumerable: true,\n get: function get$$1() {\n return null;\n }\n };\n } else {\n descriptor = {\n enumerable: true,\n get: function get$$1() {\n return this.attrs[key].valueOf();\n }\n };\n }\n Object.defineProperty(_this, key, descriptor);\n });\n};\n\n/**\n * A registry of classes used to deserialize the response data. Uses {@link GraphModel} by default.\n */\n\nvar ClassRegistry = function () {\n function ClassRegistry() {\n classCallCheck(this, ClassRegistry);\n\n this.classStore = {};\n }\n\n /**\n * Registers a class for a GraphQL type in the registry.\n *\n * @param {Class} constructor The constructor of the class.\n * @param {String} type The GraphQL type of the object to deserialize into the class.\n */\n\n\n createClass(ClassRegistry, [{\n key: 'registerClassForType',\n value: function registerClassForType(constructor, type) {\n this.classStore[type] = constructor;\n }\n\n /**\n * Unregisters a class for a GraphQL type in the registry.\n *\n * @param {String} type The GraphQL type to unregister.\n */\n\n }, {\n key: 'unregisterClassForType',\n value: function unregisterClassForType(type) {\n delete this.classStore[type];\n }\n\n /**\n * Returns the class for the given GraphQL type.\n *\n * @param {String} type The GraphQL type to look up.\n * @return {Class|GraphModel} The class for the given GraphQL type. Defaults to {@link GraphModel} if no class is registered for the GraphQL type.\n */\n\n }, {\n key: 'classForType',\n value: function classForType(type) {\n return this.classStore[type] || GraphModel;\n }\n }]);\n return ClassRegistry;\n}();\n\nfunction isValue(arg) {\n return Object.prototype.toString.call(arg) !== '[object Null]' && Object.prototype.toString.call(arg) !== '[object Undefined]';\n}\n\nfunction isNodeContext(context) {\n return context.selection.selectionSet.typeSchema.implementsNode;\n}\n\nfunction isConnection(context) {\n return context.selection.selectionSet.typeSchema.name.endsWith('Connection');\n}\n\nfunction nearestNode(context) {\n if (context == null) {\n return null;\n } else if (isNodeContext(context)) {\n return context;\n } else {\n return nearestNode(context.parent);\n }\n}\n\nfunction contextsFromRoot(context) {\n if (context.parent) {\n return contextsFromRoot(context.parent).concat(context);\n } else {\n return [context];\n }\n}\n\nfunction contextsFromNearestNode(context) {\n if (context.selection.selectionSet.typeSchema.implementsNode) {\n return [context];\n } else {\n return contextsFromNearestNode(context.parent).concat(context);\n }\n}\n\nfunction initializeDocumentAndVars(currentContext, contextChain) {\n var lastInChain = contextChain[contextChain.length - 1];\n var first = lastInChain.selection.args.first;\n var variableDefinitions = Object.keys(lastInChain.selection.args).filter(function (key) {\n return isVariable(lastInChain.selection.args[key]);\n }).map(function (key) {\n return lastInChain.selection.args[key];\n });\n\n var firstVar = variableDefinitions.find(function (definition) {\n return definition.name === 'first';\n });\n\n if (!firstVar) {\n firstVar = variable('first', 'Int', first);\n variableDefinitions.push(firstVar);\n }\n\n var document = new Document(currentContext.selection.selectionSet.typeBundle);\n\n return [document, variableDefinitions, firstVar];\n}\n\nfunction addNextFieldTo(currentSelection, contextChain, path, cursor) {\n // There are always at least two. When we start, it's the root context, and the first set\n var nextContext = contextChain.shift();\n\n path.push(nextContext.selection.responseKey);\n\n if (contextChain.length) {\n currentSelection.add(nextContext.selection.name, { alias: nextContext.selection.alias, args: nextContext.selection.args }, function (newSelection) {\n addNextFieldTo(newSelection, contextChain, path, cursor);\n });\n } else {\n var edgesField = nextContext.selection.selectionSet.selections.find(function (field) {\n return field.name === 'edges';\n });\n var nodeField = edgesField.selectionSet.selections.find(function (field) {\n return field.name === 'node';\n });\n var first = void 0;\n\n if (isVariable(nextContext.selection.args.first)) {\n first = nextContext.selection.args.first;\n } else {\n first = variable('first', 'Int', nextContext.selection.args.first);\n }\n\n var options = {\n alias: nextContext.selection.alias,\n args: Object.assign({}, nextContext.selection.args, { after: cursor, first: first })\n };\n\n currentSelection.addConnection(nextContext.selection.name, options, nodeField.selectionSet);\n }\n}\n\nfunction collectFragments(selections) {\n return selections.reduce(function (fragmentDefinitions, field) {\n if (FragmentSpread.prototype.isPrototypeOf(field)) {\n fragmentDefinitions.push(field.toDefinition());\n }\n\n fragmentDefinitions.push.apply(fragmentDefinitions, toConsumableArray(collectFragments(field.selectionSet.selections)));\n\n return fragmentDefinitions;\n }, []);\n}\n\nfunction nextPageQueryAndPath(context, cursor) {\n var nearestNodeContext = nearestNode(context);\n\n if (nearestNodeContext) {\n return function () {\n var _document$definitions;\n\n var path = [];\n var nodeType = nearestNodeContext.selection.selectionSet.typeSchema;\n var nodeId = nearestNodeContext.responseData.id;\n var contextChain = contextsFromNearestNode(context);\n\n var _initializeDocumentAn = initializeDocumentAndVars(context, contextChain),\n _initializeDocumentAn2 = slicedToArray(_initializeDocumentAn, 2),\n document = _initializeDocumentAn2[0],\n variableDefinitions = _initializeDocumentAn2[1];\n\n document.addQuery(variableDefinitions, function (root) {\n path.push('node');\n root.add('node', { args: { id: nodeId } }, function (node) {\n node.addInlineFragmentOn(nodeType.name, function (fragment) {\n addNextFieldTo(fragment, contextChain.slice(1), path, cursor);\n });\n });\n });\n\n var fragments = collectFragments(document.operations[0].selectionSet.selections);\n\n (_document$definitions = document.definitions).unshift.apply(_document$definitions, toConsumableArray(fragments));\n\n return [document, path];\n };\n } else {\n return function () {\n var _document$definitions2;\n\n var path = [];\n var contextChain = contextsFromRoot(context);\n\n var _initializeDocumentAn3 = initializeDocumentAndVars(context, contextChain),\n _initializeDocumentAn4 = slicedToArray(_initializeDocumentAn3, 2),\n document = _initializeDocumentAn4[0],\n variableDefinitions = _initializeDocumentAn4[1];\n\n document.addQuery(variableDefinitions, function (root) {\n addNextFieldTo(root, contextChain.slice(1), path, cursor);\n });\n\n var fragments = collectFragments(document.operations[0].selectionSet.selections);\n\n (_document$definitions2 = document.definitions).unshift.apply(_document$definitions2, toConsumableArray(fragments));\n\n return [document, path];\n };\n }\n}\n\nfunction hasNextPage$1(connection, edge) {\n if (edge !== connection.edges[connection.edges.length - 1]) {\n return new Scalar(true);\n }\n\n return connection.pageInfo.hasNextPage;\n}\n\nfunction hasPreviousPage(connection, edge) {\n if (edge !== connection.edges[0]) {\n return new Scalar(true);\n }\n\n return connection.pageInfo.hasPreviousPage;\n}\n\nfunction transformConnections(variableValues) {\n return function (context, value) {\n if (isConnection(context)) {\n if (!(value.pageInfo && value.pageInfo.hasOwnProperty('hasNextPage') && value.pageInfo.hasOwnProperty('hasPreviousPage'))) {\n throw new Error('Connections must include the selections \"pageInfo { hasNextPage, hasPreviousPage }\".');\n }\n\n return value.edges.map(function (edge) {\n return Object.assign(edge.node, {\n nextPageQueryAndPath: nextPageQueryAndPath(context, edge.cursor),\n hasNextPage: hasNextPage$1(value, edge),\n hasPreviousPage: hasPreviousPage(value, edge),\n variableValues: variableValues\n });\n });\n } else {\n return value;\n }\n };\n}\n\n/* eslint-disable no-warning-comments */\nvar DecodingContext = function () {\n function DecodingContext(selection, responseData) {\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n classCallCheck(this, DecodingContext);\n\n this.selection = selection;\n this.responseData = responseData;\n this.parent = parent;\n Object.freeze(this);\n }\n\n createClass(DecodingContext, [{\n key: 'contextForObjectProperty',\n value: function contextForObjectProperty(responseKey) {\n var nestedSelections = this.selection.selectionSet.selectionsByResponseKey[responseKey];\n var nextSelection = nestedSelections && nestedSelections[0];\n var nextContext = void 0;\n\n // fragment spreads operate inside the current context, so we recurse to get the proper\n // selection set, but retain the current response context\n if (Spread.prototype.isPrototypeOf(nextSelection)) {\n nextContext = new DecodingContext(nextSelection, this.responseData, this.parent);\n } else {\n nextContext = new DecodingContext(nextSelection, this.responseData[responseKey], this);\n }\n\n if (!nextSelection) {\n throw new Error('Unexpected response key \"' + responseKey + '\", not found in selection set: ' + this.selection.selectionSet);\n }\n\n if (Field.prototype.isPrototypeOf(nextSelection)) {\n return nextContext;\n } else {\n return nextContext.contextForObjectProperty(responseKey);\n }\n }\n }, {\n key: 'contextForArrayItem',\n value: function contextForArrayItem(item) {\n return new DecodingContext(this.selection, item, this.parent);\n }\n }]);\n return DecodingContext;\n}();\n\nfunction decodeArrayItems(context, transformers) {\n return context.responseData.map(function (item) {\n return decodeContext(context.contextForArrayItem(item), transformers);\n });\n}\n\nfunction decodeObjectValues(context, transformers) {\n return Object.keys(context.responseData).reduce(function (acc, responseKey) {\n acc[responseKey] = decodeContext(context.contextForObjectProperty(responseKey), transformers);\n\n return acc;\n }, {});\n}\n\nfunction runTransformers(transformers, context, value) {\n return transformers.reduce(function (acc, transformer) {\n return transformer(context, acc);\n }, value);\n}\n\nfunction decodeContext(context, transformers) {\n var value = context.responseData;\n\n if (Array.isArray(value)) {\n value = decodeArrayItems(context, transformers);\n } else if (isObject(value)) {\n value = decodeObjectValues(context, transformers);\n }\n\n return runTransformers(transformers, context, value);\n}\n\nfunction generateRefetchQueries(context, value) {\n if (isValue(value) && isNodeContext(context)) {\n value.refetchQuery = function () {\n return new Query(context.selection.selectionSet.typeBundle, function (root) {\n root.add('node', { args: { id: context.responseData.id } }, function (node) {\n node.addInlineFragmentOn(context.selection.selectionSet.typeSchema.name, context.selection.selectionSet);\n });\n });\n };\n }\n\n return value;\n}\n\nfunction transformPojosToClassesWithRegistry(classRegistry) {\n return function transformPojosToClasses(context, value) {\n if (isObject(value)) {\n var Klass = classRegistry.classForType(context.selection.selectionSet.typeSchema.name);\n\n return new Klass(value);\n } else {\n return value;\n }\n };\n}\n\nfunction transformScalars(context, value) {\n if (isValue(value)) {\n if (context.selection.selectionSet.typeSchema.kind === 'SCALAR') {\n return new Scalar(value);\n } else if (context.selection.selectionSet.typeSchema.kind === 'ENUM') {\n return new Enum(value);\n }\n }\n\n return value;\n}\n\nfunction recordTypeInformation(context, value) {\n if (isValue(value)) {\n if (value.__typename) {\n value.type = schemaForType(context.selection.selectionSet.typeBundle, value.__typename);\n } else {\n value.type = context.selection.selectionSet.typeSchema;\n }\n }\n\n return value;\n}\n\nfunction defaultTransformers(_ref) {\n var _ref$classRegistry = _ref.classRegistry,\n classRegistry = _ref$classRegistry === undefined ? new ClassRegistry() : _ref$classRegistry,\n variableValues = _ref.variableValues;\n\n return [transformScalars, generateRefetchQueries, transformConnections(variableValues), recordTypeInformation, transformPojosToClassesWithRegistry(classRegistry)];\n}\n\n/**\n * A function used to decode the response data.\n *\n * @function decode\n * @param {SelectionSet} selection The selection set used to query the response data.\n * @param {Object} responseData The response data returned.\n * @param {Object} [options] Options to use when decoding including:\n * @param {ClassRegistry} [options.classRegistry] A class registry to use when deserializing the data into classes.\n * @return {GraphModel} The decoded response data.\n */\nfunction decode(selection, responseData) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var transformers = options.transformers || defaultTransformers(options);\n var context = new DecodingContext(selection, responseData);\n\n return decodeContext(context, transformers);\n}\n\nfunction httpFetcher(url) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return function fetcher(graphQLParams) {\n return fetch(url, _extends({\n body: JSON.stringify(graphQLParams),\n method: 'POST',\n mode: 'cors'\n }, options, {\n headers: _extends({\n 'Content-Type': 'application/json',\n Accept: 'application/json'\n }, options.headers)\n })).then(function (response) {\n return response.json();\n });\n };\n}\n\nfunction hasNextPage(paginatedModels) {\n return paginatedModels && paginatedModels.length && paginatedModels[paginatedModels.length - 1].hasNextPage;\n}\n\n/**\n * The Client class used to create and send GraphQL documents, fragments, queries and mutations.\n */\n\nvar Client = function () {\n\n /**\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {Object} options An options object. Must include either `url` and optional `fetcherOptions` OR a `fetcher` function.\n * @param {(String|Function)} options.url|fetcher Either the URL of the GraphQL API endpoint, or a custom fetcher function for further customization.\n * @param {Object} [options.fetcherOptions] Additional options to use with `fetch`, like headers. Do not specify this argument if `fetcher` is specified.\n * @param {ClassRegistry} [options.registry=new ClassRegistry()] A {@link ClassRegistry} used to decode the response data.\n */\n function Client(typeBundle, _ref) {\n var url = _ref.url,\n fetcherOptions = _ref.fetcherOptions,\n fetcher = _ref.fetcher,\n _ref$registry = _ref.registry,\n registry = _ref$registry === undefined ? new ClassRegistry() : _ref$registry;\n classCallCheck(this, Client);\n\n this.typeBundle = typeBundle;\n this.classRegistry = registry;\n\n if (url && fetcher) {\n throw new Error('Arguments not supported: supply either `url` and optional `fetcherOptions` OR use a `fetcher` function for further customization.');\n }\n\n if (url) {\n this.fetcher = httpFetcher(url, fetcherOptions);\n } else if (fetcher) {\n if (fetcherOptions) {\n throw new Error('Arguments not supported: when specifying your own `fetcher`, set options through it and not with `fetcherOptions`');\n }\n\n this.fetcher = fetcher;\n } else {\n throw new Error('Invalid arguments: one of `url` or `fetcher` is needed.');\n }\n }\n\n /**\n * Creates a GraphQL document.\n *\n * @example\n * const document = client.document();\n *\n * @return {Document} A GraphQL document.\n */\n\n\n createClass(Client, [{\n key: 'document',\n value: function document() {\n return new Document(this.typeBundle);\n }\n\n /**\n * Creates a GraphQL query.\n *\n * @example\n * const query = client.query('myQuery', (root) => {\n * root.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {String} [name] A name for the query.\n * @param {VariableDefinition[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {Query} A GraphQL query.\n */\n\n }, {\n key: 'query',\n value: function query() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return new (Function.prototype.bind.apply(Query, [null].concat([this.typeBundle], args)))();\n }\n\n /**\n * Creates a GraphQL mutation.\n *\n * @example\n * const input = client.variable('input', 'CatCreateInput!');\n *\n * const mutation = client.mutation('myMutation', [input], (root) => {\n * root.add('catCreate', {args: {input}}, (catCreate) => {\n * catCreate.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {String} [name] A name for the mutation.\n * @param {VariableDefinition[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The mutation builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {Mutation} A GraphQL mutation.\n */\n\n }, {\n key: 'mutation',\n value: function mutation() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return new (Function.prototype.bind.apply(Mutation, [null].concat([this.typeBundle], args)))();\n }\n\n /**\n * Sends a GraphQL operation (query or mutation) or a document.\n *\n * @example\n * client.send(query, {id: '12345'}).then((result) => {\n * // Do something with the returned result\n * console.log(result);\n * });\n *\n * @param {(Query|Mutation|Document|Function)} request The operation or document to send. If represented\n * as a function, it must return `Query`, `Mutation`, or `Document` and recieve the client as the only param.\n * @param {Object} [variableValues] The values for variables in the operation or document.\n * @param {Object} [otherProperties] Other properties to send with the query. For example, a custom operation name.\n * @return {Promise.} A promise resolving to an object containing the response data.\n */\n\n }, {\n key: 'send',\n value: function send(request) {\n var _this = this;\n\n var variableValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var otherProperties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n var operationOrDocument = void 0;\n\n if (Function.prototype.isPrototypeOf(request)) {\n operationOrDocument = request(this);\n } else {\n operationOrDocument = request;\n }\n\n var graphQLParams = { query: operationOrDocument.toString() };\n\n if (variableValues) {\n graphQLParams.variables = variableValues;\n }\n\n Object.assign(graphQLParams, otherProperties);\n\n var operation = void 0;\n\n if (Operation.prototype.isPrototypeOf(operationOrDocument)) {\n operation = operationOrDocument;\n } else {\n var document = operationOrDocument;\n\n if (document.operations.length === 1) {\n operation = document.operations[0];\n } else if (otherProperties.operationName) {\n operation = document.operations.find(function (documentOperation) {\n return documentOperation.name === otherProperties.operationName;\n });\n } else {\n throw new Error('\\n A document must contain exactly one operation, or an operationName\\n must be specified. Example:\\n\\n client.send(document, null, {operationName: \\'myFancyQuery\\'});\\n ');\n }\n }\n\n return this.fetcher(graphQLParams).then(function (response) {\n if (response.data) {\n response.model = decode(operation, response.data, {\n classRegistry: _this.classRegistry,\n variableValues: variableValues\n });\n }\n\n return response;\n });\n }\n\n /**\n * Fetches the next page of a paginated node or array of nodes.\n *\n * @example\n * client.fetchNextPage(node, {first: 10}).then((result) => {\n * // Do something with the next page\n * console.log(result);\n * });\n *\n * @param {(GraphModel|GraphModel[])} nodeOrNodes The node or list of nodes on which to fetch the next page.\n * @param {Object} [options] Options object containing:\n * @param {Integer} [options.first] The number of nodes to query on the next page. Defaults to the page size of the previous query.\n * @return {Promise.} A promise resolving with the next page of {@link GraphModel}s.\n */\n\n }, {\n key: 'fetchNextPage',\n value: function fetchNextPage(nodeOrNodes, options) {\n var node = void 0;\n\n if (Array.isArray(nodeOrNodes)) {\n node = nodeOrNodes[nodeOrNodes.length - 1];\n } else {\n node = nodeOrNodes;\n }\n\n var _node$nextPageQueryAn = node.nextPageQueryAndPath(),\n _node$nextPageQueryAn2 = slicedToArray(_node$nextPageQueryAn, 2),\n query = _node$nextPageQueryAn2[0],\n path = _node$nextPageQueryAn2[1];\n\n var variableValues = void 0;\n\n if (node.variableValues || options) {\n variableValues = Object.assign({}, node.variableValues, options);\n }\n\n return this.send(query, variableValues).then(function (response) {\n response.model = path.reduce(function (object, key) {\n return object[key];\n }, response.model);\n\n return response;\n });\n }\n\n /**\n * Fetches all subsequent pages of a paginated array of nodes.\n *\n * @example\n * client.fetchAllPages(nodes, {pageSize: 20}).then((result) => {\n * // Do something with all the models\n * console.log(result);\n * });\n *\n * @param {GraphModel[]} paginatedModels The list of nodes on which to fetch all pages.\n * @param {Object} options Options object containing:\n * @param {Integer} options.pageSize The number of nodes to query on each page.\n * @return {Promise.} A promise resolving with all pages of {@link GraphModel}s, including the original list.\n */\n\n }, {\n key: 'fetchAllPages',\n value: function fetchAllPages(paginatedModels, _ref2) {\n var _this2 = this;\n\n var pageSize = _ref2.pageSize;\n\n if (hasNextPage(paginatedModels)) {\n return this.fetchNextPage(paginatedModels, { first: pageSize }).then(function (_ref3) {\n var model = _ref3.model;\n\n var pages = paginatedModels.concat(model);\n\n return _this2.fetchAllPages(pages, { pageSize: pageSize });\n });\n }\n\n return Promise.resolve(paginatedModels);\n }\n\n /**\n * Refetches a {@link GraphModel} whose type implements `Node`.\n *\n * @example\n * client.refetch(node).then((result) => {\n * // Do something with the refetched node\n * console.log(result);\n * });\n *\n * @param {GraphModel} nodeType A {@link GraphModel} whose type implements `Node`.\n * @return {Promise.} The refetched {@link GraphModel}.\n */\n\n }, {\n key: 'refetch',\n value: function refetch(nodeType) {\n if (!nodeType) {\n throw new Error('\\'client#refetch\\' must be called with a non-null instance of a Node.');\n } else if (!nodeType.type.implementsNode) {\n throw new Error('\\'client#refetch\\' must be called with a type that implements Node. Received ' + nodeType.type.name + '.');\n }\n\n return this.send(nodeType.refetchQuery()).then(function (_ref4) {\n var model = _ref4.model;\n return model.node;\n });\n }\n\n /**\n * Creates a variable to be used in a {@link Query} or {@link Mutation}.\n *\n * @example\n * const idVariable = client.variable('id', 'ID!', '12345');\n *\n * @param {String} name The name of the variable.\n * @param {String} type The GraphQL type of the variable.\n * @param {*} [defaultValue] The default value of the variable.\n * @return {VariableDefinition} A variable object that can be used in a {@link Query} or {@link Mutation}.\n */\n\n }, {\n key: 'variable',\n value: function variable$$1(name, type, defaultValue) {\n return variable(name, type, defaultValue);\n }\n\n /**\n * Creates an enum to be used in a {@link Query} or {@link Mutation}.\n *\n * @example\n * const titleEnum = client.enum('TITLE');\n *\n * @param {String} key The key of the enum.\n * @return {Enum} An enum object that can be used in a {@link Query} or {@link Mutation}.\n */\n\n }, {\n key: 'enum',\n value: function _enum(key) {\n return enumFunction(key);\n }\n }]);\n return Client;\n}();\n\nexport { ClassRegistry, GraphModel, decode };export default Client;\n//# sourceMappingURL=index.es.js.map\n","/**\n * The class used to configure the JS Buy SDK Client.\n * @class\n */\nclass Config {\n\n /**\n * Properties that must be set on initializations\n * @attribute requiredProperties\n * @default ['storefrontAccessToken', 'domain']\n * @type Array\n * @private\n */\n get requiredProperties() {\n return [\n 'storefrontAccessToken',\n 'domain'\n ];\n }\n\n /**\n * Deprecated properties that map directly to required properties\n * @attribute deprecatedProperties\n * @default {'accessToken': 'storefrontAccessToken', 'apiKey': 'storefrontAccessToken'}\n * @type Object\n * @private\n */\n get deprecatedProperties() {\n return {\n accessToken: 'storefrontAccessToken',\n apiKey: 'storefrontAccessToken'\n };\n }\n\n /**\n * @constructs Config\n * @param {Object} attrs An object specifying the configuration. Requires the following properties:\n * @param {String} attrs.storefrontAccessToken The {@link https://help.shopify.com/api/reference/storefront_access_token|Storefront access token} for the shop.\n * @param {String} attrs.domain The `myshopify` domain for the shop (e.g. `graphql.myshopify.com`).\n */\n constructor(attrs) {\n Object.keys(this.deprecatedProperties).forEach((key) => {\n if (!attrs.hasOwnProperty(key)) { return; }\n // eslint-disable-next-line no-console\n console.warn(`[ShopifyBuy] Config property ${key} is deprecated as of v1.0, please use ${this.deprecatedProperties[key]} instead.`);\n attrs[this.deprecatedProperties[key]] = attrs[key];\n });\n\n this.requiredProperties.forEach((key) => {\n if (attrs.hasOwnProperty(key)) {\n this[key] = attrs[key];\n } else {\n throw new Error(`new Config() requires the option '${key}'`);\n }\n });\n }\n}\n\nexport default Config;\n","export default class Resource {\n constructor(client) {\n this.graphQLClient = client;\n }\n}\n","export const defaultErrors = [{message: 'an unknown error has occured.'}];\n\nexport default function defaultResolver(path) {\n const keys = path.split('.');\n\n return function({model, errors}) {\n return new Promise((resolve, reject) => {\n try {\n const result = keys.reduce((ref, key) => {\n return ref[key];\n }, model);\n\n resolve(result);\n } catch (_) {\n if (errors) {\n reject(errors);\n } else {\n reject(defaultErrors);\n }\n }\n });\n };\n}\n","export default function fetchResourcesForProducts(productOrProduct, client) {\n const products = [].concat(productOrProduct);\n\n return Promise.all(products.reduce((promiseAcc, product) => {\n // Fetch the rest of the images and variants for this product\n promiseAcc.push(client.fetchAllPages(product.images, {pageSize: 250}).then((images) => {\n product.attrs.images = images;\n }));\n\n promiseAcc.push(client.fetchAllPages(product.variants, {pageSize: 250}).then((variants) => {\n product.attrs.variants = variants;\n }));\n\n return promiseAcc;\n }, []));\n}\n","import fetchResourcesForProducts from './fetch-resources-for-products';\n\nexport function paginateProductConnectionsAndResolve(client) {\n return function(products) {\n return fetchResourcesForProducts(products, client).then(() => {\n return products;\n });\n };\n}\n\nexport function paginateCollectionsProductConnectionsAndResolve(client) {\n return function(collectionOrCollections) {\n const collections = [].concat(collectionOrCollections);\n\n return Promise.all(collections.reduce((promiseAcc, collection) => {\n return promiseAcc.concat(fetchResourcesForProducts(collection.products, client));\n }, [])).then(() => {\n return collectionOrCollections;\n });\n };\n}\n","/**\n * @namespace ProductHelpers\n */\nexport default {\n\n /**\n * Returns the variant of a product corresponding to the options given.\n *\n * @example\n * const selectedVariant = client.product.variantForOptions(product, {\n * size: \"Small\",\n * color: \"Red\"\n * });\n *\n * @memberof ProductHelpers\n * @method variantForOptions\n * @param {GraphModel} product The product to find the variant on. Must include `variants`.\n * @param {Object} options An object containing the options for the variant.\n * @return {GraphModel} The variant corresponding to the options given.\n */\n variantForOptions(product, options) {\n return product.variants.find((variant) => {\n return variant.selectedOptions.every((selectedOption) => {\n return options[selectedOption.name] === selectedOption.value.valueOf();\n });\n });\n }\n};\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport {paginateProductConnectionsAndResolve} from './paginators';\nimport productHelpers from './product-helpers';\n\n// GraphQL\nimport productNodeQuery from './graphql/productNodeQuery.graphql';\nimport productNodesQuery from './graphql/productNodesQuery.graphql';\nimport productConnectionQuery from './graphql/productConnectionQuery.graphql';\nimport productByHandleQuery from './graphql/productByHandleQuery.graphql';\n\n/**\n * The JS Buy SDK product resource\n * @class\n */\nclass ProductResource extends Resource {\n get helpers() {\n return productHelpers;\n }\n\n /**\n * Fetches all products on the shop.\n *\n * @example\n * client.product.fetchAll().then((products) => {\n * // Do something with the products\n * });\n *\n * @param {Int} [pageSize] The number of products to fetch per page\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the products.\n */\n fetchAll(first = 20) {\n return this.graphQLClient\n .send(productConnectionQuery, {first})\n .then(defaultResolver('shop.products'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single product by ID on the shop.\n *\n * @example\n * client.product.fetch('Xk9lM2JkNzFmNzIQ4NTIY4ZDFi9DaGVja291dC9lM2JkN==').then((product) => {\n * // Do something with the product\n * });\n *\n * @param {String} id The id of the product to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the product.\n */\n fetch(id) {\n return this.graphQLClient\n .send(productNodeQuery, {id})\n .then(defaultResolver('node'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches multiple products by ID on the shop.\n *\n * @example\n * const ids = ['Xk9lM2JkNzFmNzIQ4NTIY4ZDFi9DaGVja291dC9lM2JkN==', 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ='];\n * client.product.fetchMultiple(ids).then((products) => {\n * // Do something with the products\n * });\n *\n * @param {String[]} ids The ids of the products to fetch\n * @return {Promise|GraphModel[]} A promise resolving with a `GraphModel` of the product.\n */\n fetchMultiple(ids) {\n return this.graphQLClient\n .send(productNodesQuery, {ids})\n .then(defaultResolver('nodes'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single product by handle on the shop.\n *\n * @example\n * client.product.fetchByHandle('my-product').then((product) => {\n * // Do something with the product\n * });\n *\n * @param {String} handle The handle of the product to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the product.\n */\n fetchByHandle(handle) {\n return this.graphQLClient\n .send(productByHandleQuery, {handle})\n .then(defaultResolver('shop.productByHandle'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches all products on the shop that match the query.\n *\n * @example\n * client.product.fetchQuery({first: 20, sortKey: 'CREATED_AT', reverse: true}).then((products) => {\n * // Do something with the first 10 products sorted by title in ascending order\n * });\n *\n * @param {Object} [args] An object specifying the query data containing zero or more of:\n * @param {Int} [args.first=20] The relay `first` param. This specifies page size.\n * @param {String} [args.sortKey=ID] The key to sort results by. Available values are\n * documented as {@link https://help.shopify.com/api/storefront-api/reference/enum/productsortkeys|Product Sort Keys}.\n * @param {String} [args.query] A query string. See full documentation {@link https://help.shopify.com/api/storefront-api/reference/object/shop#products|here}\n * @param {Boolean} [args.reverse] Whether or not to reverse the sort order of the results\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the products.\n */\n fetchQuery({first = 20, sortKey = 'ID', query, reverse} = {}) {\n return this.graphQLClient\n .send(productConnectionQuery, {\n first,\n sortKey,\n query,\n reverse\n })\n .then(defaultResolver('shop.products'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n}\n\nexport default ProductResource;\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport {paginateCollectionsProductConnectionsAndResolve} from './paginators';\n\n// GraphQL\nimport collectionNodeQuery from './graphql/collectionNodeQuery.graphql';\nimport collectionNodeWithProductsQuery from './graphql/collectionNodeWithProductsQuery.graphql';\nimport collectionConnectionQuery from './graphql/collectionConnectionQuery.graphql';\nimport collectionConnectionWithProductsQuery from './graphql/collectionConnectionWithProductsQuery.graphql';\nimport collectionByHandleQuery from './graphql/collectionByHandleQuery.graphql';\n\n/**\n * The JS Buy SDK collection resource\n * @class\n */\nclass CollectionResource extends Resource {\n\n /**\n * Fetches all collections on the shop, not including products.\n * To fetch collections with products use [fetchAllsWithProducts]{@link Client#fetchAllsWithProducts}.\n *\n * @example\n * client.collection.fetchAll().then((collections) => {\n * // Do something with the collections\n * });\n *\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchAll(first = 20) {\n return this.graphQLClient\n .send(collectionConnectionQuery, {first})\n .then(defaultResolver('shop.collections'));\n }\n\n /**\n * Fetches all collections on the shop, including products.\n *\n * @example\n * client.collection.fetchAllWithProducts().then((collections) => {\n * // Do something with the collections\n * });\n *\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchAllWithProducts({first = 20, productsFirst = 20} = {}) {\n return this.graphQLClient\n .send(collectionConnectionWithProductsQuery, {first, productsFirst})\n .then(defaultResolver('shop.collections'))\n .then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single collection by ID on the shop, not including products.\n * To fetch the collection with products use [fetchWithProducts]{@link Client#fetchWithProducts}.\n *\n * @example\n * client.collection.fetch('Xk9lM2JkNzFmNzIQ4NTIY4ZDFiZTUyZTUwNTE2MDNhZjg==').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} id The id of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetch(id) {\n return this.graphQLClient\n .send(collectionNodeQuery, {id})\n .then(defaultResolver('node'));\n }\n\n /**\n * Fetches a single collection by ID on the shop, including products.\n *\n * @example\n * client.collection.fetchWithProducts('Xk9lM2JkNzFmNzIQ4NTIY4ZDFiZTUyZTUwNTE2MDNhZjg==').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} id The id of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetchWithProducts(id) {\n return this.graphQLClient\n .send(collectionNodeWithProductsQuery, {id})\n .then(defaultResolver('node'))\n .then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a collection by handle on the shop.\n *\n * @example\n * client.collection.fetchByHandle('my-collection').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} handle The handle of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetchByHandle(handle) {\n return this.graphQLClient\n .send(collectionByHandleQuery, {handle})\n .then(defaultResolver('shop.collectionByHandle'));\n }\n\n /**\n * Fetches all collections on the shop that match the query.\n *\n * @example\n * client.collection.fetchQuery({first: 20, sortKey: 'CREATED_AT', reverse: true}).then((collections) => {\n * // Do something with the first 10 collections sorted by title in ascending order\n * });\n *\n * @param {Object} [args] An object specifying the query data containing zero or more of:\n * @param {Int} [args.first=20] The relay `first` param. This specifies page size.\n * @param {String} [args.sortKey=ID] The key to sort results by. Available values are\n * documented as {@link https://help.shopify.com/api/storefront-api/reference/enum/collectionsortkeys|Collection Sort Keys}.\n * @param {String} [args.query] A query string. See full documentation {@link https://help.shopify.com/api/storefront-api/reference/object/shop#collections|here}\n * @param {Boolean} [args.reverse] Whether or not to reverse the sort order of the results\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchQuery({first = 20, sortKey = 'ID', query, reverse} = {}) {\n return this.graphQLClient.send(collectionConnectionQuery, {\n first,\n sortKey,\n query,\n reverse\n }).then(defaultResolver('shop.collections'));\n }\n}\nexport default CollectionResource;\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\n\n// GraphQL\nimport shopQuery from './graphql/shopQuery.graphql';\nimport shopPolicyQuery from './graphql/shopPolicyQuery.graphql';\n\n/**\n * The JS Buy SDK shop resource\n * @class\n */\nclass ShopResource extends Resource {\n\n /**\n * Fetches shop information (`currencyCode`, `description`, `moneyFormat`, `name`, and `primaryDomain`).\n * See the {@link https://help.shopify.com/api/storefront-api/reference/object/shop|Storefront API reference} for more information.\n *\n * @example\n * client.shop.fetchInfo().then((shop) => {\n * // Do something with the shop\n * });\n *\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the shop.\n */\n fetchInfo() {\n return this.graphQLClient\n .send(shopQuery)\n .then(defaultResolver('shop'));\n }\n\n /**\n * Fetches shop policies (privacy policy, terms of service and refund policy).\n *\n * @example\n * client.shop.fetchPolicies().then((shop) => {\n * // Do something with the shop\n * });\n *\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the shop.\n */\n fetchPolicies() {\n return this.graphQLClient\n .send(shopPolicyQuery)\n .then(defaultResolver('shop'));\n }\n}\n\nexport default ShopResource;\n","export default function handleCheckoutMutation(mutationRootKey, client) {\n return function({data, errors, model}) {\n const rootData = data[mutationRootKey];\n const rootModel = model[mutationRootKey];\n\n if (rootData && rootData.checkout) {\n return client.fetchAllPages(rootModel.checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n rootModel.checkout.attrs.lineItems = lineItems;\n rootModel.checkout.errors = errors;\n rootModel.checkout.userErrors = rootModel.userErrors;\n\n return rootModel.checkout;\n });\n }\n\n if (errors && errors.length) {\n return Promise.reject(new Error(JSON.stringify(errors)));\n }\n\n if (rootData && rootData.userErrors && rootData.userErrors.length) {\n return Promise.reject(new Error(JSON.stringify(rootData.userErrors)));\n }\n\n return Promise.reject(new Error(`The ${mutationRootKey} mutation failed due to an unknown error.`));\n };\n}\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport handleCheckoutMutation from './handle-checkout-mutation';\n\n// GraphQL\nimport checkoutNodeQuery from './graphql/checkoutNodeQuery.graphql';\nimport checkoutNodeQueryWithAddress from './graphql/checkoutNodeQueryWithAddress.graphql';\nimport checkoutCreateMutation from './graphql/checkoutCreateMutation.graphql';\nimport checkoutLineItemsAddMutation from './graphql/checkoutLineItemsAddMutation.graphql';\nimport checkoutLineItemsRemoveMutation from './graphql/checkoutLineItemsRemoveMutation.graphql';\nimport checkoutLineItemsUpdateMutation from './graphql/checkoutLineItemsUpdateMutation.graphql';\nimport checkoutAttributesUpdateMutation from './graphql/checkoutAttributesUpdateMutation.graphql';\nimport checkoutDiscountCodeApplyMutation from './graphql/checkoutDiscountCodeApplyMutation.graphql';\nimport checkoutDiscountCodeRemoveMutation from './graphql/checkoutDiscountCodeRemoveMutation.graphql';\nimport checkoutShippingAddressUpdateMutation from './graphql/checkoutShippingAddressUpdateMutation.graphql';\nimport checkoutShippingLineUpdateMutation from './graphql/checkoutShippingLineUpdateMutation.graphql';\n\n/**\n * The JS Buy SDK checkout resource\n * @class\n */\nclass CheckoutResource extends Resource {\n\n /**\n * Fetches a checkout by ID.\n *\n * @example\n * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {\n * // Do something with the checkout\n * });\n *\n * @param {String} id The id of the checkout to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.\n */\n fetch(id) {\n return this.graphQLClient\n .send(checkoutNodeQuery, {id})\n .then(defaultResolver('node'))\n .then((checkout) => {\n return this.graphQLClient.fetchAllPages(checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n checkout.attrs.lineItems = lineItems;\n\n return checkout;\n });\n });\n }\n\n /**\n * Fetches a checkout by ID.\n *\n * @example\n * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {\n * // Do something with the checkout\n * });\n *\n * @param {String} id The id of the checkout to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.\n */\n fetchWithAddress(id) {\n return this.graphQLClient\n .send(checkoutNodeQueryWithAddress, {id})\n .then(defaultResolver('node'))\n .then((checkout) => {\n return this.graphQLClient.fetchAllPages(checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n checkout.attrs.lineItems = lineItems;\n\n return checkout;\n });\n });\n }\n\n /**\n * Creates a checkout.\n *\n * @example\n * const input = {\n * lineItems: [\n * {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}\n * ]\n * };\n *\n * client.checkout.create(input).then((checkout) => {\n * // Do something with the newly created checkout\n * });\n *\n * @param {Object} [input] An input object containing zero or more of:\n * @param {String} [input.email] An email connected to the checkout.\n * @param {Object[]} [input.lineItems] A list of line items in the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @param {Object} [input.shippingAddress] A shipping address. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/mailingaddressinput|Storefront API reference} for valid input fields.\n * @param {String} [input.note] A note for the checkout.\n * @param {Object[]} [input.customAttributes] A list of custom attributes for the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/attributeinput|Storefront API reference} for valid input fields.\n * @return {Promise|GraphModel} A promise resolving with the created checkout.\n */\n create(input = {}) {\n return this.graphQLClient\n .send(checkoutCreateMutation, {input})\n .then(handleCheckoutMutation('checkoutCreate', this.graphQLClient));\n }\n\n /**\n * Replaces the value of checkout's custom attributes and/or note with values defined in the input\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const input = {customAttributes: [{key: \"MyKey\", value: \"MyValue\"}]};\n *\n * client.checkout.updateAttributes(checkoutId, input).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update.\n * @param {Object} [input] An input object containing zero or more of:\n * @param {Boolean} [input.allowPartialAddresses] An email connected to the checkout.\n * @param {Object[]} [input.customAttributes] A list of custom attributes for the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/attributeinput|Storefront API reference} for valid input fields.\n * @param {String} [input.note] A note for the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateAttributes(checkoutId, input = {}) {\n return this.graphQLClient\n .send(checkoutAttributesUpdateMutation, {checkoutId, input})\n .then(handleCheckoutMutation('checkoutAttributesUpdate', this.graphQLClient));\n }\n\n /**\n * Adds line items to an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];\n *\n * client.checkout.addLineItems(checkoutId, lineItems).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add line items to.\n * @param {Object[]} lineItems A list of line items to add to the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n addLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsAddMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsAdd', this.graphQLClient));\n }\n\n /**\n * Applies a discount to an existing checkout using a discount code.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const discountCode = 'best-discount-ever';\n *\n * client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add discount to.\n * @param {String} discountCode The discount code to apply to the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n addDiscount(checkoutId, discountCode) {\n return this.graphQLClient\n .send(checkoutDiscountCodeApplyMutation, {checkoutId, discountCode})\n .then(handleCheckoutMutation('checkoutDiscountCodeApply', this.graphQLClient));\n }\n\n /**\n * Applies a discount to an existing checkout using a discount code.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const discountCode = 'best-discount-ever';\n *\n * client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add discount to.\n * @param {String} discountCode The discount code to apply to the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n removeDiscount(checkoutId, discountCode) {\n return this.graphQLClient\n .send(checkoutDiscountCodeRemoveMutation, {checkoutId, discountCode})\n .then(handleCheckoutMutation('checkoutDiscountCodeRemove', this.graphQLClient));\n }\n\n /**\n * Removes line items from an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItemIds = ['TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU='];\n *\n * client.checkout.removeLineItems(checkoutId, lineItemIds).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to remove line items from.\n * @param {String[]} lineItemIds A list of the ids of line items to remove from the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n removeLineItems(checkoutId, lineItemIds) {\n return this.graphQLClient\n .send(checkoutLineItemsRemoveMutation, {checkoutId, lineItemIds})\n .then(handleCheckoutMutation('checkoutLineItemsRemove', this.graphQLClient));\n }\n\n /**\n * Updates line items on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [\n * {\n * id: 'TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU=',\n * quantity: 5,\n * variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg=='\n * }\n * ];\n *\n * client.checkout.updateLineItems(checkoutId, lineItems).then(checkout => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update a line item on.\n * @param {Object[]} lineItems A list of line item information to update. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineitemupdateinput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsUpdateMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsUpdate', this.graphQLClient));\n }\n\n /**\n * Updates shipping address on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const shippingAddress = {\n * address1: 'Chestnut Street 92',\n * address2: 'Apartment 2\"',\n * city: 'Louisville',\n * company: null,\n * country: 'United States',\n * firstName: 'Bob',\n * lastName: 'Norman',\n * phone: '555-625-1199',\n * province: 'Kentucky',\n * zip: '40202'\n * };\n *\n *\n * client.checkout.updateShippingAddress(checkoutId, shippingAddress).then(checkout => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update shipping address.\n * @param {Object} shippingAddress A shipping address.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateShippingAddress(checkoutId, shippingAddress) {\n return this.graphQLClient\n .send(checkoutShippingAddressUpdateMutation, {checkoutId, shippingAddress})\n .then(handleCheckoutMutation('checkoutShippingAddressUpdate', this.graphQLClient));\n }\n\n updateShippingLines(checkoutId, shippingRateHandle) {\n return this.graphQLClient\n .send(checkoutShippingLineUpdateMutation, {checkoutId, shippingRateHandle})\n .then(handleCheckoutMutation('checkoutShippingLineUpdate', this.graphQLClient));\n }\n}\n\nexport default CheckoutResource;\n","/**\n * @namespace ImageHelpers\n */\nexport default {\n\n /**\n * Generates the image src for a resized image with maximum dimensions `maxWidth` and `maxHeight`.\n * Images do not scale up.\n *\n * @example\n * const url = client.image.helpers.imageForSize(product.variants[0].image, {maxWidth: 50, maxHeight: 50});\n *\n * @memberof ImageHelpers\n * @method imageForSize\n * @param {Object} image The original image model to generate the image src for.\n * @param {Object} options An options object containing:\n * @param {Integer} options.maxWidth The maximum width for the image.\n * @param {Integer} options.maxHeight The maximum height for the image.\n * @return {String} The image src for the resized image.\n */\n imageForSize(image, {maxWidth, maxHeight}) {\n const splitUrl = image.src.split('?');\n const notQuery = splitUrl[0];\n const query = splitUrl[1] ? `?${splitUrl[1]}` : '';\n\n // Use the section before the query\n const imageTokens = notQuery.split('.');\n\n // Take the token before the file extension and append the dimensions\n const imagePathIndex = imageTokens.length - 2;\n\n imageTokens[imagePathIndex] = `${imageTokens[imagePathIndex]}_${maxWidth}x${maxHeight}`;\n\n return `${imageTokens.join('.')}${query}`;\n }\n};\n","import Resource from './resource';\nimport imageHelpers from './image-helpers';\n\n/**\n * The JS Buy SDK image resource\n * @class\n */\nclass ImageResource extends Resource {\n get helpers() {\n return imageHelpers;\n }\n}\n\nexport default ImageResource;\n","import GraphQLJSClient from './graphql-client';\nimport Config from './config';\nimport ProductResource from './product-resource';\nimport CollectionResource from './collection-resource';\nimport ShopResource from './shop-resource';\nimport CheckoutResource from './checkout-resource';\nimport ImageResource from './image-resource';\nimport {version} from '../package.json';\n\n// GraphQL\nimport types from '../schema.json';\n\n/**\n * The JS Buy SDK Client.\n * @class\n *\n * @property {ProductResource} product The property under which product fetching methods live.\n * @property {CollectionResource} collection The property under which collection fetching methods live.\n * @property {ShopResource} shop The property under which shop fetching methods live.\n * @property {CheckoutResource} checkout The property under which shop fetching and mutating methods live.\n * @property {ImageResource} image The property under which image helper methods live.\n */\nclass Client {\n\n /**\n * Primary entry point for building a new Client.\n */\n static buildClient(config, fetchFunction) {\n const newConfig = new Config(config);\n const client = new Client(newConfig, GraphQLJSClient, fetchFunction);\n\n client.config = newConfig;\n\n return client;\n }\n\n /**\n * @constructs Client\n * @param {Config} config An instance of {@link Config} used to configure the Client.\n */\n constructor(config, GraphQLClientClass = GraphQLJSClient, fetchFunction) {\n const url = `https://${config.domain}/api/graphql`;\n\n const headers = {\n 'X-SDK-Variant': 'javascript',\n 'X-SDK-Version': version,\n 'X-Shopify-Storefront-Access-Token': config.storefrontAccessToken\n };\n\n if (fetchFunction) {\n headers['Content-Type'] = 'application/json';\n headers.Accept = 'application/json';\n\n this.graphQLClient = new GraphQLClientClass(types, {\n fetcher: function fetcher(graphQLParams) {\n return fetchFunction(url, {\n body: JSON.stringify(graphQLParams),\n method: 'POST',\n mode: 'cors',\n headers\n }).then((response) => response.json());\n }\n });\n } else {\n this.graphQLClient = new GraphQLClientClass(types, {\n url,\n fetcherOptions: {headers}\n });\n }\n\n this.product = new ProductResource(this.graphQLClient);\n this.collection = new CollectionResource(this.graphQLClient);\n this.shop = new ShopResource(this.graphQLClient);\n this.checkout = new CheckoutResource(this.graphQLClient);\n this.image = new ImageResource(this.graphQLClient);\n }\n\n /**\n * Fetches the next page of models\n *\n * @example\n * client.fetchNextPage(products).then((nextProducts) => {\n * // Do something with the products\n * });\n *\n * @param {models} [Array] The paginated set to fetch the next page of\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the type provided.\n */\n fetchNextPage(models) {\n return this.graphQLClient.fetchNextPage(models);\n }\n}\n\nexport default Client;\n"],"names":["join","_len","arguments","length","fields","Array","_key","isObject","value","Boolean","Object","prototype","toString","call","valueOf","deepFreezeCopyExcept","predicate","structure","freeze","keys","reduce","copy","key","isArray","map","item","schemaForType","typeBundle","typeName","type","types","Error","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","i","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","_extends","assign","source","hasOwnProperty","inherits","subClass","superClass","create","setPrototypeOf","__proto__","possibleConstructorReturn","self","ReferenceError","slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","undefined","_i","Symbol","iterator","_s","next","done","push","err","toConsumableArray","arr2","from","VariableDefinition","name","defaultValue","toInputValueString","defaultValueString","formatInputValue","isVariable","isPrototypeOf","variable","Enum","enumFunction","Scalar","get$$1","String","JSON","stringify","apply","formatObject","openChar","closeChar","argPairs","formatArgs","args","noop","Profiler","trackTypeDependency","trackFieldDependency","parseFieldCreationArgs","creationArgs","callback","options","selectionSet","_creationArgs","_creationArgs2","SelectionSet","emptyArgs","Field","alias","responseKey","aliasPrefix","Spread","InlineFragment","_Spread","_this","getPrototypeOf","FragmentSpread","_Spread2","fragmentDefinition","_this2","toDefinition","FragmentDefinition","typeSchema","spread","selectionsHaveIdField","selections","some","fieldOrFragment","implementsNode","selectionsHaveTypenameField","indexSelectionsByResponseKey","assignOrPush","obj","unfrozenObject","acc","selection","responseKeys","selectionsByResponseKey","forEach","builderFunction","SelectionSetBuilder","unshift","kind","hasSelectionWithResponseKey","field","add","selectionOrFieldName","rest","concat","_len2","_key2","parsedArgs","fieldBaseTypes","fieldBaseType","inlineFragmentOn","builderFunctionOrSelectionSet","addField","_len3","_key3","addConnection","_len4","_key4","_parseFieldCreationAr","connection","pageInfo","edges","addInlineFragmentOn","fieldTypeCb","addFragment","fragmentSpread","parseArgs","variables","selectionSetCallback","_args","VariableDefinitions","variableDefinitions","Operation","operationType","_parseArgs","queryType","mutationType","nameString","Query","_Operation","_ref","Mutation","isAnonymous","operation","hasAnonymousOperations","operations","hasDuplicateOperationNames","names","hasDuplicates","index","indexOf","extractOperation","Function","bind","isInvalidOperationCombination","fragmentNameIsNotUnique","existingDefinitions","definition","Document","definitions","addOperation","addQuery","addMutation","defineFragment","onType","fragmentDefinitions","fragment","filter","GraphModel","attrs","ClassRegistry","classStore","registerClassForType","constructor","unregisterClassForType","classForType","isValue","arg","isNodeContext","context","isConnection","endsWith","nearestNode","parent","contextsFromRoot","contextsFromNearestNode","initializeDocumentAndVars","currentContext","contextChain","lastInChain","first","firstVar","find","document","addNextFieldTo","currentSelection","path","cursor","nextContext","shift","newSelection","edgesField","nodeField","after","collectFragments","nextPageQueryAndPath","nearestNodeContext","_document$definitions","nodeType","nodeId","responseData","id","_initializeDocumentAn","_initializeDocumentAn2","root","node","slice","fragments","_document$definitions2","_initializeDocumentAn3","_initializeDocumentAn4","hasNextPage$1","edge","hasNextPage","hasPreviousPage","transformConnections","variableValues","DecodingContext","contextForObjectProperty","nestedSelections","nextSelection","contextForArrayItem","decodeArrayItems","transformers","decodeContext","decodeObjectValues","runTransformers","transformer","generateRefetchQueries","refetchQuery","transformPojosToClassesWithRegistry","classRegistry","transformPojosToClasses","Klass","transformScalars","recordTypeInformation","__typename","defaultTransformers","_ref$classRegistry","decode","httpFetcher","url","fetcher","graphQLParams","fetch","headers","then","response","json","paginatedModels","Client","fetcherOptions","_ref$registry","registry","query","mutation","send","request","otherProperties","operationOrDocument","operationName","documentOperation","data","model","fetchNextPage","nodeOrNodes","_node$nextPageQueryAn","_node$nextPageQueryAn2","object","fetchAllPages","_ref2","pageSize","_ref3","pages","Promise","resolve","refetch","_ref4","variable$$1","_enum","Config","deprecatedProperties","warn","requiredProperties","Resource","client","graphQLClient","defaultErrors","message","defaultResolver","split","errors","reject","result","ref","_","fetchResourcesForProducts","productOrProduct","products","all","promiseAcc","product","images","variants","paginateProductConnectionsAndResolve","paginateCollectionsProductConnectionsAndResolve","collectionOrCollections","collections","collection","variant","selectedOptions","every","selectedOption","ProductResource","productConnectionQuery","productNodeQuery","ids","productNodesQuery","handle","productByHandleQuery","sortKey","reverse","productHelpers","CollectionResource","collectionConnectionQuery","productsFirst","collectionConnectionWithProductsQuery","collectionNodeQuery","collectionNodeWithProductsQuery","collectionByHandleQuery","ShopResource","shopQuery","shopPolicyQuery","handleCheckoutMutation","mutationRootKey","rootData","rootModel","checkout","lineItems","userErrors","CheckoutResource","checkoutNodeQuery","checkoutNodeQueryWithAddress","input","checkoutCreateMutation","checkoutId","checkoutAttributesUpdateMutation","checkoutLineItemsAddMutation","discountCode","checkoutDiscountCodeApplyMutation","checkoutDiscountCodeRemoveMutation","lineItemIds","checkoutLineItemsRemoveMutation","checkoutLineItemsUpdateMutation","shippingAddress","checkoutShippingAddressUpdateMutation","shippingRateHandle","checkoutShippingLineUpdateMutation","image","maxWidth","maxHeight","splitUrl","src","notQuery","imageTokens","imagePathIndex","ImageResource","imageHelpers","config","fetchFunction","newConfig","GraphQLJSClient","GraphQLClientClass","domain","version","storefrontAccessToken","Accept","shop","models"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,SAASA,IAAT,GAAgB;OACT,IAAIC,OAAOC,UAAUC,MAArB,EAA6BC,SAASC,MAAMJ,IAAN,CAAtC,EAAmDK,OAAO,CAA/D,EAAkEA,OAAOL,IAAzE,EAA+EK,MAA/E,EAAuF;WAC9EA,IAAP,IAAeJ,UAAUI,IAAV,CAAf;;;SAGKF,OAAOJ,IAAP,CAAY,GAAZ,CAAP;;;AAGF,SAASO,QAAT,CAAkBC,KAAlB,EAAyB;SAChBC,QAAQD,KAAR,KAAkBE,OAAOC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BL,MAAMM,OAAN,EAA/B,MAAoD,iBAA7E;;;AAGF,SAASC,oBAAT,CAA8BC,SAA9B,EAAyCC,SAAzC,EAAoD;MAC9CD,UAAUC,SAAV,CAAJ,EAA0B;WACjBA,SAAP;GADF,MAEO,IAAIV,SAASU,SAAT,CAAJ,EAAyB;WACvBP,OAAOQ,MAAP,CAAcR,OAAOS,IAAP,CAAYF,SAAZ,EAAuBG,MAAvB,CAA8B,UAAUC,IAAV,EAAgBC,GAAhB,EAAqB;WACjEA,GAAL,IAAYP,qBAAqBC,SAArB,EAAgCC,UAAUK,GAAV,CAAhC,CAAZ;;aAEOD,IAAP;KAHmB,EAIlB,EAJkB,CAAd,CAAP;GADK,MAMA,IAAIhB,MAAMkB,OAAN,CAAcN,SAAd,CAAJ,EAA8B;WAC5BP,OAAOQ,MAAP,CAAcD,UAAUO,GAAV,CAAc,UAAUC,IAAV,EAAgB;aAC1CV,qBAAqBC,SAArB,EAAgCS,IAAhC,CAAP;KADmB,CAAd,CAAP;GADK,MAIA;WACER,SAAP;;;;AAIJ,SAASS,aAAT,CAAuBC,UAAvB,EAAmCC,QAAnC,EAA6C;MACvCC,OAAOF,WAAWG,KAAX,CAAiBF,QAAjB,CAAX;;MAEIC,IAAJ,EAAU;WACDA,IAAP;;;QAGI,IAAIE,KAAJ,CAAU,gBAAgBH,QAAhB,GAA2B,kBAArC,CAAN;;;AAGF,IAAII,iBAAiB,SAAjBA,cAAiB,CAAUC,QAAV,EAAoBC,WAApB,EAAiC;MAChD,EAAED,oBAAoBC,WAAtB,CAAJ,EAAwC;UAChC,IAAIC,SAAJ,CAAc,mCAAd,CAAN;;CAFJ;;AAMA,IAAIC,cAAc,YAAY;WACnBC,gBAAT,CAA0BC,MAA1B,EAAkCC,KAAlC,EAAyC;SAClC,IAAIC,IAAI,CAAb,EAAgBA,IAAID,MAAMpC,MAA1B,EAAkCqC,GAAlC,EAAuC;UACjCC,aAAaF,MAAMC,CAAN,CAAjB;iBACWE,UAAX,GAAwBD,WAAWC,UAAX,IAAyB,KAAjD;iBACWC,YAAX,GAA0B,IAA1B;UACI,WAAWF,UAAf,EAA2BA,WAAWG,QAAX,GAAsB,IAAtB;aACpBC,cAAP,CAAsBP,MAAtB,EAA8BG,WAAWnB,GAAzC,EAA8CmB,UAA9C;;;;SAIG,UAAUP,WAAV,EAAuBY,UAAvB,EAAmCC,WAAnC,EAAgD;QACjDD,UAAJ,EAAgBT,iBAAiBH,YAAYvB,SAA7B,EAAwCmC,UAAxC;QACZC,WAAJ,EAAiBV,iBAAiBH,WAAjB,EAA8Ba,WAA9B;WACVb,WAAP;GAHF;CAXgB,EAAlB;;AAwBA,IAAIc,WAAWtC,OAAOuC,MAAP,IAAiB,UAAUX,MAAV,EAAkB;OAC3C,IAAIE,IAAI,CAAb,EAAgBA,IAAItC,UAAUC,MAA9B,EAAsCqC,GAAtC,EAA2C;QACrCU,SAAShD,UAAUsC,CAAV,CAAb;;SAEK,IAAIlB,GAAT,IAAgB4B,MAAhB,EAAwB;UAClBxC,OAAOC,SAAP,CAAiBwC,cAAjB,CAAgCtC,IAAhC,CAAqCqC,MAArC,EAA6C5B,GAA7C,CAAJ,EAAuD;eAC9CA,GAAP,IAAc4B,OAAO5B,GAAP,CAAd;;;;;SAKCgB,MAAP;CAXF;;AAgBA,IAAIc,WAAW,SAAXA,QAAW,CAAUC,QAAV,EAAoBC,UAApB,EAAgC;MACzC,OAAOA,UAAP,KAAsB,UAAtB,IAAoCA,eAAe,IAAvD,EAA6D;UACrD,IAAInB,SAAJ,CAAc,qEAAoEmB,UAApE,yCAAoEA,UAApE,EAAd,CAAN;;;WAGO3C,SAAT,GAAqBD,OAAO6C,MAAP,CAAcD,cAAcA,WAAW3C,SAAvC,EAAkD;iBACxD;aACJ0C,QADI;kBAEC,KAFD;gBAGD,IAHC;oBAIG;;GALG,CAArB;MAQIC,UAAJ,EAAgB5C,OAAO8C,cAAP,GAAwB9C,OAAO8C,cAAP,CAAsBH,QAAtB,EAAgCC,UAAhC,CAAxB,GAAsED,SAASI,SAAT,GAAqBH,UAA3F;CAblB;;AA0BA,IAAII,4BAA4B,SAA5BA,yBAA4B,CAAUC,IAAV,EAAgB9C,IAAhB,EAAsB;MAChD,CAAC8C,IAAL,EAAW;UACH,IAAIC,cAAJ,CAAmB,2DAAnB,CAAN;;;SAGK/C,SAAS,QAAOA,IAAP,yCAAOA,IAAP,OAAgB,QAAhB,IAA4B,OAAOA,IAAP,KAAgB,UAArD,IAAmEA,IAAnE,GAA0E8C,IAAjF;CALF;;AAYA,IAAIE,gBAAgB,YAAY;WACrBC,aAAT,CAAuBC,GAAvB,EAA4BvB,CAA5B,EAA+B;QACzBwB,OAAO,EAAX;QACIC,KAAK,IAAT;QACIC,KAAK,KAAT;QACIC,KAAKC,SAAT;;QAEI;WACG,IAAIC,KAAKN,IAAIO,OAAOC,QAAX,GAAT,EAAiCC,EAAtC,EAA0C,EAAEP,KAAK,CAACO,KAAKH,GAAGI,IAAH,EAAN,EAAiBC,IAAxB,CAA1C,EAAyET,KAAK,IAA9E,EAAoF;aAC7EU,IAAL,CAAUH,GAAGhE,KAAb;;YAEIgC,KAAKwB,KAAK7D,MAAL,KAAgBqC,CAAzB,EAA4B;;KAJhC,CAME,OAAOoC,GAAP,EAAY;WACP,IAAL;WACKA,GAAL;KARF,SASU;UACJ;YACE,CAACX,EAAD,IAAOI,GAAG,QAAH,CAAX,EAAyBA,GAAG,QAAH;OAD3B,SAEU;YACJH,EAAJ,EAAQ,MAAMC,EAAN;;;;WAILH,IAAP;;;SAGK,UAAUD,GAAV,EAAevB,CAAf,EAAkB;QACnBnC,MAAMkB,OAAN,CAAcwC,GAAd,CAAJ,EAAwB;aACfA,GAAP;KADF,MAEO,IAAIO,OAAOC,QAAP,IAAmB7D,OAAOqD,GAAP,CAAvB,EAAoC;aAClCD,cAAcC,GAAd,EAAmBvB,CAAnB,CAAP;KADK,MAEA;YACC,IAAIL,SAAJ,CAAc,sDAAd,CAAN;;GANJ;CA3BkB,EAApB;;AAkDA,IAAI0C,oBAAoB,SAApBA,iBAAoB,CAAUd,GAAV,EAAe;MACjC1D,MAAMkB,OAAN,CAAcwC,GAAd,CAAJ,EAAwB;SACjB,IAAIvB,IAAI,CAAR,EAAWsC,OAAOzE,MAAM0D,IAAI5D,MAAV,CAAvB,EAA0CqC,IAAIuB,IAAI5D,MAAlD,EAA0DqC,GAA1D;WAAoEA,CAAL,IAAUuB,IAAIvB,CAAJ,CAAV;KAE/D,OAAOsC,IAAP;GAHF,MAIO;WACEzE,MAAM0E,IAAN,CAAWhB,GAAX,CAAP;;CANJ;;AAUA,IAAIiB,qBAAqB,YAAY;;;;;;;;;;WAU1BA,kBAAT,CAA4BC,IAA5B,EAAkCpD,IAAlC,EAAwCqD,YAAxC,EAAsD;mBACrC,IAAf,EAAqBF,kBAArB;;SAEKC,IAAL,GAAYA,IAAZ;SACKpD,IAAL,GAAYA,IAAZ;SACKqD,YAAL,GAAoBA,YAApB;WACOhE,MAAP,CAAc,IAAd;;;;;;;;;cAUU8D,kBAAZ,EAAgC,CAAC;SAC1B,oBAD0B;WAExB,SAASG,kBAAT,GAA8B;aAC5B,MAAM,KAAKF,IAAlB;;;;;;;;;GAH4B,EAY7B;SACI,UADJ;WAEM,SAASrE,QAAT,GAAoB;UACrBwE,qBAAqB,KAAKF,YAAL,GAAoB,QAAQG,iBAAiB,KAAKH,YAAtB,CAA5B,GAAkE,EAA3F;;aAEO,MAAM,KAAKD,IAAX,GAAkB,GAAlB,GAAwB,KAAKpD,IAA7B,GAAoCuD,kBAA3C;;GAjB4B,CAAhC;SAoBOJ,kBAAP;CA9CuB,EAAzB;;AAiDA,SAASM,UAAT,CAAoB9E,KAApB,EAA2B;SAClBwE,mBAAmBrE,SAAnB,CAA6B4E,aAA7B,CAA2C/E,KAA3C,CAAP;;;AAGF,SAASgF,QAAT,CAAkBP,IAAlB,EAAwBpD,IAAxB,EAA8BqD,YAA9B,EAA4C;SACnC,IAAIF,kBAAJ,CAAuBC,IAAvB,EAA6BpD,IAA7B,EAAmCqD,YAAnC,CAAP;;;AAGF,IAAIO,OAAO,YAAY;;;;;;;;WAQZA,IAAT,CAAcnE,GAAd,EAAmB;mBACF,IAAf,EAAqBmE,IAArB;;SAEKnE,GAAL,GAAWA,GAAX;;;;;;;;;cAUUmE,IAAZ,EAAkB,CAAC;SACZ,UADY;WAEV,SAAS7E,QAAT,GAAoB;aAClB,KAAKU,GAAZ;;GAHc,EAKf;SACI,SADJ;WAEM,SAASR,OAAT,GAAmB;aACjB,KAAKQ,GAAL,CAASR,OAAT,EAAP;;GARc,CAAlB;SAWO2E,IAAP;CAhCS,EAAX;;AAmCA,IAAIC,eAAgB,SAAhBA,YAAgB,CAAUpE,GAAV,EAAe;SAC1B,IAAImE,IAAJ,CAASnE,GAAT,CAAP;CADF;;AAIA,IAAIqE,SAAS,YAAY;WACdA,MAAT,CAAgBnF,KAAhB,EAAuB;mBACN,IAAf,EAAqBmF,MAArB;;SAEKnF,KAAL,GAAaA,KAAb;;;cAGUmF,MAAZ,EAAoB,CAAC;SACd,UADc;WAEZ,SAAS/E,QAAT,GAAoB;aAClB,KAAKJ,KAAL,CAAWI,QAAX,EAAP;;GAHgB,EAKjB;SACI,SADJ;WAEM,SAASE,OAAT,GAAmB;aACjB,KAAKN,KAAL,CAAWM,OAAX,EAAP;;GARgB,EAUjB;SACI,WADJ;SAEI,SAAS8E,MAAT,GAAkB;aACd,KAAKpF,KAAZ;;GAbgB,CAApB;SAgBOmF,MAAP;CAvBW,EAAb;;AA0BA,SAASN,gBAAT,CAA0B7E,KAA1B,EAAiC;MAC3BwE,mBAAmBrE,SAAnB,CAA6B4E,aAA7B,CAA2C/E,KAA3C,CAAJ,EAAuD;WAC9CA,MAAM2E,kBAAN,EAAP;GADF,MAEO,IAAIM,KAAK9E,SAAL,CAAe4E,aAAf,CAA6B/E,KAA7B,CAAJ,EAAyC;WACvCqF,OAAOrF,KAAP,CAAP;GADK,MAEA,IAAImF,OAAOhF,SAAP,CAAiB4E,aAAjB,CAA+B/E,KAA/B,CAAJ,EAA2C;WACzCsF,KAAKC,SAAL,CAAevF,MAAMM,OAAN,EAAf,CAAP;GADK,MAEA,IAAIT,MAAMkB,OAAN,CAAcf,KAAd,CAAJ,EAA0B;WACxB,MAAMR,KAAKgG,KAAL,CAAW5B,SAAX,EAAsBS,kBAAkBrE,MAAMgB,GAAN,CAAU6D,gBAAV,CAAlB,CAAtB,CAAN,GAA8E,GAArF;GADK,MAEA,IAAI9E,SAASC,KAAT,CAAJ,EAAqB;WACnByF,aAAazF,KAAb,EAAoB,GAApB,EAAyB,GAAzB,CAAP;GADK,MAEA;WACEsF,KAAKC,SAAL,CAAevF,KAAf,CAAP;;;;AAIJ,SAASyF,YAAT,CAAsBzF,KAAtB,EAA6B;MACvB0F,WAAWhG,UAAUC,MAAV,GAAmB,CAAnB,IAAwBD,UAAU,CAAV,MAAiBkE,SAAzC,GAAqDlE,UAAU,CAAV,CAArD,GAAoE,EAAnF;MACIiG,YAAYjG,UAAUC,MAAV,GAAmB,CAAnB,IAAwBD,UAAU,CAAV,MAAiBkE,SAAzC,GAAqDlE,UAAU,CAAV,CAArD,GAAoE,EAApF;;MAEIkG,WAAW1F,OAAOS,IAAP,CAAYX,KAAZ,EAAmBgB,GAAnB,CAAuB,UAAUF,GAAV,EAAe;WAC5CA,MAAM,IAAN,GAAa+D,iBAAiB7E,MAAMc,GAAN,CAAjB,CAApB;GADa,CAAf;;SAIO,KAAK4E,QAAL,GAAgBlG,KAAKgG,KAAL,CAAW5B,SAAX,EAAsBS,kBAAkBuB,QAAlB,CAAtB,CAAhB,GAAqED,SAA5E;;;AAGF,SAASE,UAAT,CAAoBC,IAApB,EAA0B;MACpB,CAAC5F,OAAOS,IAAP,CAAYmF,IAAZ,EAAkBnG,MAAvB,EAA+B;WACtB,EAAP;;;SAGK,OAAO8F,aAAaK,IAAb,CAAP,GAA4B,GAAnC;;;;AAIF,IAAIC,OAAQ,SAARA,IAAQ,GAAY,EAAxB;;AAEA,IAAIC,WAAW;uBACQD,IADR;wBAESA;CAFxB;;AAKA,IAAIE,sBAAsBD,SAASC,mBAAnC;AACA,IAAIC,uBAAuBF,SAASE,oBAApC;;AAGA,SAASC,sBAAT,CAAgCC,YAAhC,EAA8C;MACxCC,WAAWN,IAAf;MACIO,UAAU,EAAd;MACIC,eAAe,IAAnB;;MAEIH,aAAazG,MAAb,KAAwB,CAA5B,EAA+B;QACzB,OAAOyG,aAAa,CAAb,CAAP,KAA2B,UAA/B,EAA2C;UACrCI,gBAAgBnD,cAAc+C,YAAd,EAA4B,CAA5B,CAApB;;gBAEUI,cAAc,CAAd,CAAV;iBACWA,cAAc,CAAd,CAAX;KAJF,MAKO;UACDC,iBAAiBpD,cAAc+C,YAAd,EAA4B,CAA5B,CAArB;;gBAEUK,eAAe,CAAf,CAAV;qBACeA,eAAe,CAAf,CAAf;;GAVJ,MAYO,IAAIL,aAAazG,MAAb,KAAwB,CAA5B,EAA+B;;;;QAIhC+G,aAAavG,SAAb,CAAuB4E,aAAvB,CAAqCqB,aAAa,CAAb,CAArC,CAAJ,EAA2D;qBAC1CA,aAAa,CAAb,CAAf;KADF,MAEO,IAAI,OAAOA,aAAa,CAAb,CAAP,KAA2B,UAA/B,EAA2C;iBACrCA,aAAa,CAAb,CAAX;KADK,MAEA;gBACKA,aAAa,CAAb,CAAV;;;;SAIG,EAAEE,SAASA,OAAX,EAAoBC,cAAcA,YAAlC,EAAgDF,UAAUA,QAA1D,EAAP;;;AAGF,IAAIM,YAAYzG,OAAOQ,MAAP,CAAc,EAAd,CAAhB;;AAEA,IAAIkG,QAAQ,YAAY;;;;;;;;;;;;;WAabA,KAAT,CAAenC,IAAf,EAAqB6B,OAArB,EAA8BC,YAA9B,EAA4C;mBAC3B,IAAf,EAAqBK,KAArB;;SAEKnC,IAAL,GAAYA,IAAZ;SACKoC,KAAL,GAAaP,QAAQO,KAAR,IAAiB,IAA9B;SACKC,WAAL,GAAmB,KAAKD,KAAL,IAAc,KAAKpC,IAAtC;SACKqB,IAAL,GAAYQ,QAAQR,IAAR,GAAevF,qBAAqBuE,UAArB,EAAiCwB,QAAQR,IAAzC,CAAf,GAAgEa,SAA5E;SACKJ,YAAL,GAAoBA,YAApB;WACO7F,MAAP,CAAc,IAAd;;;;;;;;;cAUUkG,KAAZ,EAAmB,CAAC;SACb,UADa;WAEX,SAASxG,QAAT,GAAoB;UACrB2G,cAAc,KAAKF,KAAL,GAAa,KAAKA,KAAL,GAAa,IAA1B,GAAiC,EAAnD;;aAEO,KAAKE,WAAL,GAAmB,KAAKtC,IAAxB,GAA+BoB,WAAW,KAAKC,IAAhB,CAA/B,GAAuD,KAAKS,YAAnE;;GALe,CAAnB;SAQOK,KAAP;CAvCU,EAAZ;;;AA2CA,IAAII,SAAS,SAASA,MAAT,GAAkB;iBACd,IAAf,EAAqBA,MAArB;CADF;;AAIA,IAAIC,iBAAiB,UAAUC,OAAV,EAAmB;WAC7BD,cAAT,EAAyBC,OAAzB;;;;;;;;;WASSD,cAAT,CAAwB7F,QAAxB,EAAkCmF,YAAlC,EAAgD;mBAC/B,IAAf,EAAqBU,cAArB;;QAEIE,QAAQjE,0BAA0B,IAA1B,EAAgC,CAAC+D,eAAehE,SAAf,IAA4B/C,OAAOkH,cAAP,CAAsBH,cAAtB,CAA7B,EAAoE5G,IAApE,CAAyE,IAAzE,CAAhC,CAAZ;;UAEMe,QAAN,GAAiBA,QAAjB;UACMmF,YAAN,GAAqBA,YAArB;WACO7F,MAAP,CAAcyG,KAAd;WACOA,KAAP;;;;;;;;;cAUUF,cAAZ,EAA4B,CAAC;SACtB,UADsB;WAEpB,SAAS7G,QAAT,GAAoB;aAClB,YAAY,KAAKgB,QAAjB,GAA4B,KAAKmF,YAAxC;;GAHwB,CAA5B;SAMOU,cAAP;CAlCmB,CAmCnBD,MAnCmB,CAArB;;AAqCA,IAAIK,iBAAiB,UAAUC,QAAV,EAAoB;WAC9BD,cAAT,EAAyBC,QAAzB;;;;;;;;WAQSD,cAAT,CAAwBE,kBAAxB,EAA4C;mBAC3B,IAAf,EAAqBF,cAArB;;QAEIG,SAAStE,0BAA0B,IAA1B,EAAgC,CAACmE,eAAepE,SAAf,IAA4B/C,OAAOkH,cAAP,CAAsBC,cAAtB,CAA7B,EAAoEhH,IAApE,CAAyE,IAAzE,CAAhC,CAAb;;WAEOoE,IAAP,GAAc8C,mBAAmB9C,IAAjC;WACO8B,YAAP,GAAsBgB,mBAAmBhB,YAAzC;WACO7F,MAAP,CAAc8G,MAAd;WACOA,MAAP;;;;;;;;;cAUUH,cAAZ,EAA4B,CAAC;SACtB,UADsB;WAEpB,SAASjH,QAAT,GAAoB;aAClB,QAAQ,KAAKqE,IAApB;;GAHwB,EAKzB;SACI,cADJ;WAEM,SAASgD,YAAT,GAAwB;;aAEtB,IAAIC,kBAAJ,CAAuB,KAAKjD,IAA5B,EAAkC,KAAK8B,YAAL,CAAkBoB,UAAlB,CAA6BlD,IAA/D,EAAqE,KAAK8B,YAA1E,CAAP;;GATwB,CAA5B;SAYOc,cAAP;CAvCmB,CAwCnBL,MAxCmB,CAArB;;AA0CA,IAAIU,qBAAqB,YAAY;;;;;;;;;WAS1BA,kBAAT,CAA4BjD,IAA5B,EAAkCrD,QAAlC,EAA4CmF,YAA5C,EAA0D;mBACzC,IAAf,EAAqBmB,kBAArB;;SAEKjD,IAAL,GAAYA,IAAZ;SACKrD,QAAL,GAAgBA,QAAhB;SACKmF,YAAL,GAAoBA,YAApB;SACKqB,MAAL,GAAc,IAAIP,cAAJ,CAAmB,IAAnB,CAAd;WACO3G,MAAP,CAAc,IAAd;;;;;;;;;cAUUgH,kBAAZ,EAAgC,CAAC;SAC1B,UAD0B;WAExB,SAAStH,QAAT,GAAoB;aAClB,cAAc,KAAKqE,IAAnB,GAA0B,MAA1B,GAAmC,KAAKrD,QAAxC,GAAmD,GAAnD,GAAyD,KAAKmF,YAArE;;GAH4B,CAAhC;SAMOmB,kBAAP;CAhCuB,EAAzB;;AAmCA,SAASG,qBAAT,CAA+BC,UAA/B,EAA2C;SAClCA,WAAWC,IAAX,CAAgB,UAAUC,eAAV,EAA2B;QAC5CpB,MAAMzG,SAAN,CAAgB4E,aAAhB,CAA8BiD,eAA9B,CAAJ,EAAoD;aAC3CA,gBAAgBvD,IAAhB,KAAyB,IAAhC;KADF,MAEO,IAAIuC,OAAO7G,SAAP,CAAiB4E,aAAjB,CAA+BiD,eAA/B,KAAmDA,gBAAgBzB,YAAhB,CAA6BoB,UAA7B,CAAwCM,cAA/F,EAA+G;aAC7GJ,sBAAsBG,gBAAgBzB,YAAhB,CAA6BuB,UAAnD,CAAP;;;WAGK,KAAP;GAPK,CAAP;;;AAWF,SAASI,2BAAT,CAAqCJ,UAArC,EAAiD;SACxCA,WAAWC,IAAX,CAAgB,UAAUC,eAAV,EAA2B;QAC5CpB,MAAMzG,SAAN,CAAgB4E,aAAhB,CAA8BiD,eAA9B,CAAJ,EAAoD;aAC3CA,gBAAgBvD,IAAhB,KAAyB,YAAhC;KADF,MAEO,IAAIuC,OAAO7G,SAAP,CAAiB4E,aAAjB,CAA+BiD,eAA/B,KAAmDA,gBAAgBzB,YAAhB,CAA6BoB,UAA7B,CAAwCM,cAA/F,EAA+G;aAC7GC,4BAA4BF,gBAAgBzB,YAAhB,CAA6BuB,UAAzD,CAAP;;;WAGK,KAAP;GAPK,CAAP;;;AAWF,SAASK,4BAAT,CAAsCL,UAAtC,EAAkD;WACvCM,YAAT,CAAsBC,GAAtB,EAA2BvH,GAA3B,EAAgCd,KAAhC,EAAuC;QACjCH,MAAMkB,OAAN,CAAcsH,IAAIvH,GAAJ,CAAd,CAAJ,EAA6B;UACvBA,GAAJ,EAASqD,IAAT,CAAcnE,KAAd;KADF,MAEO;UACDc,GAAJ,IAAW,CAACd,KAAD,CAAX;;;MAGAsI,iBAAiBR,WAAWlH,MAAX,CAAkB,UAAU2H,GAAV,EAAeC,SAAf,EAA0B;QAC3DA,UAAU1B,WAAd,EAA2B;mBACZyB,GAAb,EAAkBC,UAAU1B,WAA5B,EAAyC0B,SAAzC;KADF,MAEO;UACDC,eAAevI,OAAOS,IAAP,CAAY6H,UAAUjC,YAAV,CAAuBmC,uBAAnC,CAAnB;;mBAEaC,OAAb,CAAqB,UAAU7B,WAAV,EAAuB;qBAC7ByB,GAAb,EAAkBzB,WAAlB,EAA+B0B,SAA/B;OADF;;;WAKKD,GAAP;GAXmB,EAYlB,EAZkB,CAArB;;SAcO5H,IAAP,CAAY2H,cAAZ,EAA4BK,OAA5B,CAAoC,UAAU7H,GAAV,EAAe;WAC1CJ,MAAP,CAAc4H,eAAexH,GAAf,CAAd;GADF;;SAIOZ,OAAOQ,MAAP,CAAc4H,cAAd,CAAP;;;;;;;AAOF,IAAI5B,eAAe,YAAY;;;;;;;;;;WAUpBA,YAAT,CAAsBvF,UAAtB,EAAkCE,IAAlC,EAAwCuH,eAAxC,EAAyD;mBACxC,IAAf,EAAqBlC,YAArB;;QAGI,OAAOrF,IAAP,KAAgB,QAApB,EAA8B;WACvBsG,UAAL,GAAkBzG,cAAcC,UAAd,EAA0BE,IAA1B,CAAlB;KADF,MAEO;WACAsG,UAAL,GAAkBtG,IAAlB;;;wBAGkB,KAAKsG,UAAL,CAAgBlD,IAApC;;SAEKtD,UAAL,GAAkBA,UAAlB;SACK2G,UAAL,GAAkB,EAAlB;QACIc,eAAJ,EAAqB;;sBAEH,IAAIC,mBAAJ,CAAwB,KAAK1H,UAA7B,EAAyC,KAAKwG,UAA9C,EAA0D,KAAKG,UAA/D,CAAhB;;;QAGE,KAAKH,UAAL,CAAgBM,cAAhB,IAAkC,KAAKN,UAAL,CAAgBlD,IAAhB,KAAyB,MAA/D,EAAuE;UACjE,CAACoD,sBAAsB,KAAKC,UAA3B,CAAL,EAA6C;aACtCA,UAAL,CAAgBgB,OAAhB,CAAwB,IAAIlC,KAAJ,CAAU,IAAV,EAAgB,EAAhB,EAAoB,IAAIF,YAAJ,CAAiBvF,UAAjB,EAA6B,IAA7B,CAApB,CAAxB;;;;QAIA,KAAKwG,UAAL,CAAgBoB,IAAhB,KAAyB,WAA7B,EAA0C;UACpC,CAACb,4BAA4B,KAAKJ,UAAjC,CAAL,EAAmD;aAC5CA,UAAL,CAAgBgB,OAAhB,CAAwB,IAAIlC,KAAJ,CAAU,YAAV,EAAwB,EAAxB,EAA4B,IAAIF,YAAJ,CAAiBvF,UAAjB,EAA6B,QAA7B,CAA5B,CAAxB;;;;SAICuH,uBAAL,GAA+BP,6BAA6B,KAAKL,UAAlC,CAA/B;WACOpH,MAAP,CAAc,KAAKoH,UAAnB;WACOpH,MAAP,CAAc,IAAd;;;;;;;;;cAUUgG,YAAZ,EAA0B,CAAC;SACpB,UADoB;WAElB,SAAStG,QAAT,GAAoB;UACrB,KAAKuH,UAAL,CAAgBoB,IAAhB,KAAyB,QAAzB,IAAqC,KAAKpB,UAAL,CAAgBoB,IAAhB,KAAyB,MAAlE,EAA0E;eACjE,EAAP;OADF,MAEO;eACE,QAAQvJ,KAAK,KAAKsI,UAAV,CAAR,GAAgC,IAAvC;;;GANoB,CAA1B;SAUOpB,YAAP;CA/DiB,EAAnB;;AAkEA,IAAImC,sBAAsB,YAAY;;;;;;;;;WAS3BA,mBAAT,CAA6B1H,UAA7B,EAAyCwG,UAAzC,EAAqDG,UAArD,EAAiE;mBAChD,IAAf,EAAqBe,mBAArB;;SAEK1H,UAAL,GAAkBA,UAAlB;SACKwG,UAAL,GAAkBA,UAAlB;SACKG,UAAL,GAAkBA,UAAlB;;;cAGUe,mBAAZ,EAAiC,CAAC;SAC3B,6BAD2B;WAEzB,SAASG,2BAAT,CAAqClC,WAArC,EAAkD;aAChD,KAAKgB,UAAL,CAAgBC,IAAhB,CAAqB,UAAUkB,KAAV,EAAiB;eACpCA,MAAMnC,WAAN,KAAsBA,WAA7B;OADK,CAAP;;;;;;;;;;;;;;;;;;;;GAH6B,EAyB9B;SACI,KADJ;WAEM,SAASoC,GAAT,CAAaC,oBAAb,EAAmC;UACpCX,YAAY,KAAK,CAArB;;UAEItI,OAAOC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+B8I,oBAA/B,MAAyD,iBAA7D,EAAgF;6BACzD,KAAKxB,UAAL,CAAgBlD,IAArC,EAA2C0E,oBAA3C;;aAEK,IAAI1J,OAAOC,UAAUC,MAArB,EAA6ByJ,OAAOvJ,MAAMJ,OAAO,CAAP,GAAWA,OAAO,CAAlB,GAAsB,CAA5B,CAApC,EAAoEK,OAAO,CAAhF,EAAmFA,OAAOL,IAA1F,EAAgGK,MAAhG,EAAwG;eACjGA,OAAO,CAAZ,IAAiBJ,UAAUI,IAAV,CAAjB;;;oBAGU,KAAKmJ,KAAL,CAAWzD,KAAX,CAAiB,IAAjB,EAAuB,CAAC2D,oBAAD,EAAuBE,MAAvB,CAA8BD,IAA9B,CAAvB,CAAZ;OAPF,MAQO;YACDxC,MAAMzG,SAAN,CAAgB4E,aAAhB,CAA8BoE,oBAA9B,CAAJ,EAAyD;+BAClC,KAAKxB,UAAL,CAAgBlD,IAArC,EAA2C0E,qBAAqB1E,IAAhE;;;oBAGU0E,oBAAZ;;;UAGEX,UAAU1B,WAAV,IAAyB,KAAKkC,2BAAL,CAAiCR,UAAU1B,WAA3C,CAA7B,EAAsF;cAC9E,IAAIvF,KAAJ,CAAU,+BAA+BiH,UAAU1B,WAAzC,GAAuD,4BAAjE,CAAN;;WAEGgB,UAAL,CAAgB3D,IAAhB,CAAqBqE,SAArB;;GAjD6B,EAmD9B;SACI,OADJ;WAEM,SAASS,KAAT,CAAexE,IAAf,EAAqB;WACrB,IAAI6E,QAAQ5J,UAAUC,MAAtB,EAA8ByG,eAAevG,MAAMyJ,QAAQ,CAAR,GAAYA,QAAQ,CAApB,GAAwB,CAA9B,CAA7C,EAA+EC,QAAQ,CAA5F,EAA+FA,QAAQD,KAAvG,EAA8GC,OAA9G,EAAuH;qBACxGA,QAAQ,CAArB,IAA0B7J,UAAU6J,KAAV,CAA1B;;;UAGEC,aAAarD,uBAAuBC,YAAvB,CAAjB;UACIE,UAAUkD,WAAWlD,OAAzB;UACID,WAAWmD,WAAWnD,QAD1B;UAEIE,eAAeiD,WAAWjD,YAA9B;;UAGI,CAACA,YAAL,EAAmB;YACb,CAAC,KAAKoB,UAAL,CAAgB8B,cAAhB,CAA+BhF,IAA/B,CAAL,EAA2C;gBACnC,IAAIlD,KAAJ,CAAU,uBAAuBkD,IAAvB,GAA8B,mBAA9B,GAAoD,KAAKkD,UAAL,CAAgBlD,IAApE,GAA2E,aAArF,CAAN;;;YAGEiF,gBAAgBxI,cAAc,KAAKC,UAAnB,EAA+B,KAAKwG,UAAL,CAAgB8B,cAAhB,CAA+BhF,IAA/B,CAA/B,CAApB;;uBAEe,IAAIiC,YAAJ,CAAiB,KAAKvF,UAAtB,EAAkCuI,aAAlC,EAAiDrD,QAAjD,CAAf;;;aAGK,IAAIO,KAAJ,CAAUnC,IAAV,EAAgB6B,OAAhB,EAAyBC,YAAzB,CAAP;;;;;;;;;;;;GA1E6B,EAsF9B;SACI,kBADJ;WAEM,SAASoD,gBAAT,CAA0BvI,QAA1B,EAAoC;UACrCwI,gCAAgClK,UAAUC,MAAV,GAAmB,CAAnB,IAAwBD,UAAU,CAAV,MAAiBkE,SAAzC,GAAqDlE,UAAU,CAAV,CAArD,GAAoEqG,IAAxG;;UAEIQ,eAAe,KAAK,CAAxB;;UAEIG,aAAavG,SAAb,CAAuB4E,aAAvB,CAAqC6E,6BAArC,CAAJ,EAAyE;uBACxDA,6BAAf;OADF,MAEO;uBACU,IAAIlD,YAAJ,CAAiB,KAAKvF,UAAtB,EAAkCD,cAAc,KAAKC,UAAnB,EAA+BC,QAA/B,CAAlC,EAA4EwI,6BAA5E,CAAf;;;aAGK,IAAI3C,cAAJ,CAAmB7F,QAAnB,EAA6BmF,YAA7B,CAAP;;;;;;;;;;;;;;GAnG6B,EAiH9B;SACI,UADJ;WAEM,SAASsD,QAAT,CAAkBpF,IAAlB,EAAwB;WACxB,IAAIqF,QAAQpK,UAAUC,MAAtB,EAA8ByG,eAAevG,MAAMiK,QAAQ,CAAR,GAAYA,QAAQ,CAApB,GAAwB,CAA9B,CAA7C,EAA+EC,QAAQ,CAA5F,EAA+FA,QAAQD,KAAvG,EAA8GC,OAA9G,EAAuH;qBACxGA,QAAQ,CAArB,IAA0BrK,UAAUqK,KAAV,CAA1B;;;WAGGb,GAAL,CAAS1D,KAAT,CAAe,IAAf,EAAqB,CAACf,IAAD,EAAO4E,MAAP,CAAcjD,YAAd,CAArB;;;;;;;;;;;;;;;;;;;;;;;GAxH6B,EA+I9B;SACI,eADJ;WAEM,SAAS4D,aAAT,CAAuBvF,IAAvB,EAA6B;WAC7B,IAAIwF,QAAQvK,UAAUC,MAAtB,EAA8ByG,eAAevG,MAAMoK,QAAQ,CAAR,GAAYA,QAAQ,CAApB,GAAwB,CAA9B,CAA7C,EAA+EC,QAAQ,CAA5F,EAA+FA,QAAQD,KAAvG,EAA8GC,OAA9G,EAAuH;qBACxGA,QAAQ,CAArB,IAA0BxK,UAAUwK,KAAV,CAA1B;;;UAGEC,wBAAwBhE,uBAAuBC,YAAvB,CAA5B;UACIE,UAAU6D,sBAAsB7D,OADpC;UAEID,WAAW8D,sBAAsB9D,QAFrC;UAGIE,eAAe4D,sBAAsB5D,YAHzC;;WAKK2C,GAAL,CAASzE,IAAT,EAAe6B,OAAf,EAAwB,UAAU8D,UAAV,EAAsB;mBACjClB,GAAX,CAAe,UAAf,EAA2B,EAA3B,EAA+B,UAAUmB,QAAV,EAAoB;mBACxCnB,GAAT,CAAa,aAAb;mBACSA,GAAT,CAAa,iBAAb;SAFF;mBAIWA,GAAX,CAAe,OAAf,EAAwB,EAAxB,EAA4B,UAAUoB,KAAV,EAAiB;gBACrCpB,GAAN,CAAU,QAAV;gBACMW,QAAN,CAAe,MAAf,EAAuB,EAAvB,EAA2BtD,gBAAgBF,QAA3C,EAF2C;SAA7C;OALF;;;;;;;;;;;;;;;;;;;GA3J6B,EAuL9B;SACI,qBADJ;WAEM,SAASkE,mBAAT,CAA6BnJ,QAA7B,EAAuC;UACxCoJ,cAAc9K,UAAUC,MAAV,GAAmB,CAAnB,IAAwBD,UAAU,CAAV,MAAiBkE,SAAzC,GAAqDlE,UAAU,CAAV,CAArD,GAAoEqG,IAAtF;;WAEKmD,GAAL,CAAS,KAAKS,gBAAL,CAAsBvI,QAAtB,EAAgCoJ,WAAhC,CAAT;;;;;;;;;;;;;;GA5L6B,EA0M9B;SACI,aADJ;WAEM,SAASC,WAAT,CAAqBC,cAArB,EAAqC;WACrCxB,GAAL,CAASwB,cAAT;;GA7M6B,CAAjC;SAgNO7B,mBAAP;CAjOwB,EAA1B;;AAoOA,SAAS8B,SAAT,CAAmB7E,IAAnB,EAAyB;MACnBrB,OAAO,KAAK,CAAhB;MACImG,YAAY,KAAK,CAArB;MACIC,uBAAuB,KAAK,CAAhC;;MAEI/E,KAAKnG,MAAL,KAAgB,CAApB,EAAuB;QACjBmL,QAAQzH,cAAcyC,IAAd,EAAoB,CAApB,CAAZ;;WAEOgF,MAAM,CAAN,CAAP;gBACYA,MAAM,CAAN,CAAZ;2BACuBA,MAAM,CAAN,CAAvB;GALF,MAMO,IAAIhF,KAAKnG,MAAL,KAAgB,CAApB,EAAuB;QACxBO,OAAOC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+ByF,KAAK,CAAL,CAA/B,MAA4C,iBAAhD,EAAmE;aAC1DA,KAAK,CAAL,CAAP;kBACY,IAAZ;KAFF,MAGO,IAAIjG,MAAMkB,OAAN,CAAc+E,KAAK,CAAL,CAAd,CAAJ,EAA4B;kBACrBA,KAAK,CAAL,CAAZ;aACO,IAAP;;;2BAGqBA,KAAK,CAAL,CAAvB;GATK,MAUA;2BACkBA,KAAK,CAAL,CAAvB;WACO,IAAP;;;SAGK,EAAErB,MAAMA,IAAR,EAAcmG,WAAWA,SAAzB,EAAoCC,sBAAsBA,oBAA1D,EAAP;;;AAGF,IAAIE,sBAAsB,YAAY;WAC3BA,mBAAT,CAA6BC,mBAA7B,EAAkD;mBACjC,IAAf,EAAqBD,mBAArB;;SAEKC,mBAAL,GAA2BA,sBAAsB,GAAG3B,MAAH,CAAUhF,kBAAkB2G,mBAAlB,CAAV,CAAtB,GAA0E,EAArG;WACOtK,MAAP,CAAc,KAAKsK,mBAAnB;WACOtK,MAAP,CAAc,IAAd;;;cAGUqK,mBAAZ,EAAiC,CAAC;SAC3B,UAD2B;WAEzB,SAAS3K,QAAT,GAAoB;UACrB,KAAK4K,mBAAL,CAAyBrL,MAAzB,KAAoC,CAAxC,EAA2C;eAClC,EAAP;;;aAGK,OAAOH,KAAK,KAAKwL,mBAAV,CAAP,GAAwC,IAA/C;;GAP6B,CAAjC;SAUOD,mBAAP;CAnBwB,EAA1B;;;;;;;AA4BA,IAAIE,YAAY,YAAY;;;;;WAKjBA,SAAT,CAAmB9J,UAAnB,EAA+B+J,aAA/B,EAA8C;mBAC7B,IAAf,EAAqBD,SAArB;;SAEK,IAAIxL,OAAOC,UAAUC,MAArB,EAA6BmG,OAAOjG,MAAMJ,OAAO,CAAP,GAAWA,OAAO,CAAlB,GAAsB,CAA5B,CAApC,EAAoEK,OAAO,CAAhF,EAAmFA,OAAOL,IAA1F,EAAgGK,MAAhG,EAAwG;WACjGA,OAAO,CAAZ,IAAiBJ,UAAUI,IAAV,CAAjB;;;QAGEqL,aAAaR,UAAU7E,IAAV,CAAjB;QACIrB,OAAO0G,WAAW1G,IADtB;QAEImG,YAAYO,WAAWP,SAF3B;QAGIC,uBAAuBM,WAAWN,oBAHtC;;SAKK1J,UAAL,GAAkBA,UAAlB;SACKsD,IAAL,GAAYA,IAAZ;SACKuG,mBAAL,GAA2B,IAAID,mBAAJ,CAAwBH,SAAxB,CAA3B;SACKM,aAAL,GAAqBA,aAArB;QACIA,kBAAkB,OAAtB,EAA+B;WACxB3E,YAAL,GAAoB,IAAIG,YAAJ,CAAiBvF,UAAjB,EAA6BA,WAAWiK,SAAxC,EAAmDP,oBAAnD,CAApB;WACKlD,UAAL,GAAkBzG,cAAcC,UAAd,EAA0BA,WAAWiK,SAArC,CAAlB;KAFF,MAGO;WACA7E,YAAL,GAAoB,IAAIG,YAAJ,CAAiBvF,UAAjB,EAA6BA,WAAWkK,YAAxC,EAAsDR,oBAAtD,CAApB;WACKlD,UAAL,GAAkBzG,cAAcC,UAAd,EAA0BA,WAAWkK,YAArC,CAAlB;;WAEK3K,MAAP,CAAc,IAAd;;;;;;;cAQUuK,SAAZ,EAAuB,CAAC;SACjB,UADiB;;;;;;;WASf,SAAS7K,QAAT,GAAoB;UACrBkL,aAAa,KAAK7G,IAAL,GAAY,MAAM,KAAKA,IAAvB,GAA8B,EAA/C;;aAEO,KAAK,KAAKyG,aAAV,GAA0BI,UAA1B,GAAuC,KAAKN,mBAA5C,GAAkE,KAAKzE,YAA9E;;GAZmB,EAcpB;SACI,aADJ;SAEI,SAASnB,MAAT,GAAkB;aACd,CAAC,KAAKX,IAAb;;GAjBmB,CAAvB;SAoBOwG,SAAP;CAxDc,EAAhB;;;;;;;AAgEA,IAAIM,QAAQ,UAAUC,UAAV,EAAsB;WACvBD,KAAT,EAAgBC,UAAhB;;;;;;;;;;;;WAYSD,KAAT,CAAepK,UAAf,EAA2B;QACrBsK,IAAJ;;mBAEe,IAAf,EAAqBF,KAArB;;SAEK,IAAI9L,OAAOC,UAAUC,MAArB,EAA6BmG,OAAOjG,MAAMJ,OAAO,CAAP,GAAWA,OAAO,CAAlB,GAAsB,CAA5B,CAApC,EAAoEK,OAAO,CAAhF,EAAmFA,OAAOL,IAA1F,EAAgGK,MAAhG,EAAwG;WACjGA,OAAO,CAAZ,IAAiBJ,UAAUI,IAAV,CAAjB;;;WAGKoD,0BAA0B,IAA1B,EAAgC,CAACuI,OAAOF,MAAMtI,SAAN,IAAmB/C,OAAOkH,cAAP,CAAsBmE,KAAtB,CAA3B,EAAyDlL,IAAzD,CAA8DmF,KAA9D,CAAoEiG,IAApE,EAA0E,CAAC,IAAD,EAAOtK,UAAP,EAAmB,OAAnB,EAA4BkI,MAA5B,CAAmCvD,IAAnC,CAA1E,CAAhC,CAAP;;;SAGKyF,KAAP;CAzBU,CA0BVN,SA1BU,CAAZ;;;;;;;AAiCA,IAAIS,WAAW,UAAUF,UAAV,EAAsB;WAC1BE,QAAT,EAAmBF,UAAnB;;;;;;;;;;;;WAYSE,QAAT,CAAkBvK,UAAlB,EAA8B;QACxBsK,IAAJ;;mBAEe,IAAf,EAAqBC,QAArB;;SAEK,IAAIjM,OAAOC,UAAUC,MAArB,EAA6BmG,OAAOjG,MAAMJ,OAAO,CAAP,GAAWA,OAAO,CAAlB,GAAsB,CAA5B,CAApC,EAAoEK,OAAO,CAAhF,EAAmFA,OAAOL,IAA1F,EAAgGK,MAAhG,EAAwG;WACjGA,OAAO,CAAZ,IAAiBJ,UAAUI,IAAV,CAAjB;;;WAGKoD,0BAA0B,IAA1B,EAAgC,CAACuI,OAAOC,SAASzI,SAAT,IAAsB/C,OAAOkH,cAAP,CAAsBsE,QAAtB,CAA9B,EAA+DrL,IAA/D,CAAoEmF,KAApE,CAA0EiG,IAA1E,EAAgF,CAAC,IAAD,EAAOtK,UAAP,EAAmB,UAAnB,EAA+BkI,MAA/B,CAAsCvD,IAAtC,CAAhF,CAAhC,CAAP;;;SAGK4F,QAAP;CAzBa,CA0BbT,SA1Ba,CAAf;;AA4BA,SAASU,WAAT,CAAqBC,SAArB,EAAgC;SACvBA,UAAUD,WAAjB;;;AAGF,SAASE,sBAAT,CAAgCC,UAAhC,EAA4C;SACnCA,WAAW/D,IAAX,CAAgB4D,WAAhB,CAAP;;;AAGF,SAASI,0BAAT,CAAoCD,UAApC,EAAgD;MAC1CE,QAAQF,WAAW9K,GAAX,CAAe,UAAU4K,SAAV,EAAqB;WACvCA,UAAUnH,IAAjB;GADU,CAAZ;;SAIOuH,MAAMpL,MAAN,CAAa,UAAUqL,aAAV,EAAyBxH,IAAzB,EAA+ByH,KAA/B,EAAsC;WACjDD,iBAAiBD,MAAMG,OAAN,CAAc1H,IAAd,MAAwByH,KAAhD;GADK,EAEJ,KAFI,CAAP;;;AAKF,SAASE,gBAAT,CAA0BjL,UAA1B,EAAsC+J,aAAtC,EAAqD;OAC9C,IAAIzL,OAAOC,UAAUC,MAArB,EAA6BmG,OAAOjG,MAAMJ,OAAO,CAAP,GAAWA,OAAO,CAAlB,GAAsB,CAA5B,CAApC,EAAoEK,OAAO,CAAhF,EAAmFA,OAAOL,IAA1F,EAAgGK,MAAhG,EAAwG;SACjGA,OAAO,CAAZ,IAAiBJ,UAAUI,IAAV,CAAjB;;;MAGEmL,UAAU9K,SAAV,CAAoB4E,aAApB,CAAkCe,KAAK,CAAL,CAAlC,CAAJ,EAAgD;WACvCA,KAAK,CAAL,CAAP;;;MAGEoF,kBAAkB,OAAtB,EAA+B;WACtB,KAAKmB,SAASlM,SAAT,CAAmBmM,IAAnB,CAAwB9G,KAAxB,CAA8B+F,KAA9B,EAAqC,CAAC,IAAD,EAAOlC,MAAP,CAAc,CAAClI,UAAD,CAAd,EAA4B2E,IAA5B,CAArC,CAAL,GAAP;GADF,MAEO;WACE,KAAKuG,SAASlM,SAAT,CAAmBmM,IAAnB,CAAwB9G,KAAxB,CAA8BkG,QAA9B,EAAwC,CAAC,IAAD,EAAOrC,MAAP,CAAc,CAAClI,UAAD,CAAd,EAA4B2E,IAA5B,CAAxC,CAAL,GAAP;;;;AAIJ,SAASyG,6BAAT,CAAuCT,UAAvC,EAAmD;MAC7CA,WAAWnM,MAAX,KAAsB,CAA1B,EAA6B;WACpB,KAAP;;;SAGKkM,uBAAuBC,UAAvB,KAAsCC,2BAA2BD,UAA3B,CAA7C;;;AAGF,SAASU,uBAAT,CAAiCC,mBAAjC,EAAsDhI,IAAtD,EAA4D;SACnDgI,oBAAoB1E,IAApB,CAAyB,UAAU2E,UAAV,EAAsB;WAC7CA,WAAWjI,IAAX,KAAoBA,IAA3B;GADK,CAAP;;;AAKF,IAAIkI,WAAW,YAAY;;;;;;;WAOhBA,QAAT,CAAkBxL,UAAlB,EAA8B;mBACb,IAAf,EAAqBwL,QAArB;;SAEKxL,UAAL,GAAkBA,UAAlB;SACKyL,WAAL,GAAmB,EAAnB;;;;;;;;;cAUUD,QAAZ,EAAsB,CAAC;SAChB,UADgB;WAEd,SAASvM,QAAT,GAAoB;aAClBZ,KAAK,KAAKoN,WAAV,CAAP;;;;;;;;;;;;;;;;GAHkB,EAmBnB;SACI,cADJ;WAEM,SAASC,YAAT,CAAsB3B,aAAtB,EAAqC;WACrC,IAAI5B,QAAQ5J,UAAUC,MAAtB,EAA8BmG,OAAOjG,MAAMyJ,QAAQ,CAAR,GAAYA,QAAQ,CAApB,GAAwB,CAA9B,CAArC,EAAuEC,QAAQ,CAApF,EAAuFA,QAAQD,KAA/F,EAAsGC,OAAtG,EAA+G;aACxGA,QAAQ,CAAb,IAAkB7J,UAAU6J,KAAV,CAAlB;;;UAGEqC,YAAYQ,iBAAiB5G,KAAjB,CAAuB5B,SAAvB,EAAkC,CAAC,KAAKzC,UAAN,EAAkB+J,aAAlB,EAAiC7B,MAAjC,CAAwCvD,IAAxC,CAAlC,CAAhB;;UAEIyG,8BAA8B,KAAKT,UAAL,CAAgBzC,MAAhB,CAAuBuC,SAAvB,CAA9B,CAAJ,EAAsE;cAC9D,IAAIrK,KAAJ,CAAU,qEAAV,CAAN;;;WAGGqL,WAAL,CAAiBzI,IAAjB,CAAsByH,SAAtB;;;;;;;;;;;;;;;;;;;;;GAhCkB,EAqDnB;SACI,UADJ;WAEM,SAASkB,QAAT,GAAoB;WACpB,IAAIhD,QAAQpK,UAAUC,MAAtB,EAA8BmG,OAAOjG,MAAMiK,KAAN,CAArC,EAAmDC,QAAQ,CAAhE,EAAmEA,QAAQD,KAA3E,EAAkFC,OAAlF,EAA2F;aACpFA,KAAL,IAAcrK,UAAUqK,KAAV,CAAd;;;WAGG8C,YAAL,CAAkBrH,KAAlB,CAAwB,IAAxB,EAA8B,CAAC,OAAD,EAAU6D,MAAV,CAAiBvD,IAAjB,CAA9B;;;;;;;;;;;;;;;;;;;;;;;;;GA5DkB,EAqFnB;SACI,aADJ;WAEM,SAASiH,WAAT,GAAuB;WACvB,IAAI9C,QAAQvK,UAAUC,MAAtB,EAA8BmG,OAAOjG,MAAMoK,KAAN,CAArC,EAAmDC,QAAQ,CAAhE,EAAmEA,QAAQD,KAA3E,EAAkFC,OAAlF,EAA2F;aACpFA,KAAL,IAAcxK,UAAUwK,KAAV,CAAd;;;WAGG2C,YAAL,CAAkBrH,KAAlB,CAAwB,IAAxB,EAA8B,CAAC,UAAD,EAAa6D,MAAb,CAAoBvD,IAApB,CAA9B;;;;;;;;;;;;;GA5FkB,EAyGnB;SACI,gBADJ;WAEM,SAASkH,cAAT,CAAwBvI,IAAxB,EAA8BwI,MAA9B,EAAsCrE,eAAtC,EAAuD;UACxD4D,wBAAwB,KAAKU,mBAA7B,EAAkDzI,IAAlD,CAAJ,EAA6D;cACrD,IAAIlD,KAAJ,CAAU,mEAAV,CAAN;;;UAGEgF,eAAe,IAAIG,YAAJ,CAAiB,KAAKvF,UAAtB,EAAkC8L,MAAlC,EAA0CrE,eAA1C,CAAnB;UACIuE,WAAW,IAAIzF,kBAAJ,CAAuBjD,IAAvB,EAA6BwI,MAA7B,EAAqC1G,YAArC,CAAf;;WAEKqG,WAAL,CAAiBzI,IAAjB,CAAsBgJ,QAAtB;;aAEOA,SAASvF,MAAhB;;;;;;;GArHkB,EA4HnB;SACI,YADJ;SAEI,SAASxC,MAAT,GAAkB;aACd,KAAKwH,WAAL,CAAiBQ,MAAjB,CAAwB,UAAUV,UAAV,EAAsB;eAC5CzB,UAAU9K,SAAV,CAAoB4E,aAApB,CAAkC2H,UAAlC,CAAP;OADK,CAAP;;;;;;;GA/HkB,EAwInB;SACI,qBADJ;SAEI,SAAStH,MAAT,GAAkB;aACd,KAAKwH,WAAL,CAAiBQ,MAAjB,CAAwB,UAAUV,UAAV,EAAsB;eAC5ChF,mBAAmBvH,SAAnB,CAA6B4E,aAA7B,CAA2C2H,UAA3C,CAAP;OADK,CAAP;;GA3IkB,CAAtB;SAgJOC,QAAP;CArKa,EAAf;;;;;;;;AA8KA,IAAIU;;;;;AAKJ,SAASA,UAAT,CAAoBC,KAApB,EAA2B;MACrBnG,QAAQ,IAAZ;;iBAEe,IAAf,EAAqBkG,UAArB;;SAEOhL,cAAP,CAAsB,IAAtB,EAA4B,OAA5B,EAAqC,EAAErC,OAAOsN,KAAT,EAAgBpL,YAAY,KAA5B,EAArC;;SAEOvB,IAAP,CAAY,KAAK2M,KAAjB,EAAwBF,MAAxB,CAA+B,UAAUtM,GAAV,EAAe;WACrC,EAAEA,OAAOqG,KAAT,CAAP;GADF,EAEGwB,OAFH,CAEW,UAAU7H,GAAV,EAAe;QACpBmB,aAAa,KAAK,CAAtB;;QAEIqL,MAAMxM,GAAN,MAAe,IAAnB,EAAyB;mBACV;oBACC,IADD;aAEN,SAASsE,MAAT,GAAkB;iBACd,IAAP;;OAHJ;KADF,MAOO;mBACQ;oBACC,IADD;aAEN,SAASA,MAAT,GAAkB;iBACd,KAAKkI,KAAL,CAAWxM,GAAX,EAAgBR,OAAhB,EAAP;;OAHJ;;WAOK+B,cAAP,CAAsB8E,KAAtB,EAA6BrG,GAA7B,EAAkCmB,UAAlC;GApBF;CAZF;;;;;;AAwCA,IAAIsL,gBAAgB,YAAY;WACrBA,aAAT,GAAyB;mBACR,IAAf,EAAqBA,aAArB;;SAEKC,UAAL,GAAkB,EAAlB;;;;;;;;;;cAWUD,aAAZ,EAA2B,CAAC;SACrB,sBADqB;WAEnB,SAASE,oBAAT,CAA8BC,WAA9B,EAA2CrM,IAA3C,EAAiD;WACjDmM,UAAL,CAAgBnM,IAAhB,IAAwBqM,WAAxB;;;;;;;;;GAHuB,EAYxB;SACI,wBADJ;WAEM,SAASC,sBAAT,CAAgCtM,IAAhC,EAAsC;aACpC,KAAKmM,UAAL,CAAgBnM,IAAhB,CAAP;;;;;;;;;;GAfuB,EAyBxB;SACI,cADJ;WAEM,SAASuM,YAAT,CAAsBvM,IAAtB,EAA4B;aAC1B,KAAKmM,UAAL,CAAgBnM,IAAhB,KAAyBgM,UAAhC;;GA5BuB,CAA3B;SA+BOE,aAAP;CA9CkB,EAApB;;AAiDA,SAASM,OAAT,CAAiBC,GAAjB,EAAsB;SACb5N,OAAOC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+ByN,GAA/B,MAAwC,eAAxC,IAA2D5N,OAAOC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+ByN,GAA/B,MAAwC,oBAA1G;;;AAGF,SAASC,aAAT,CAAuBC,OAAvB,EAAgC;SACvBA,QAAQxF,SAAR,CAAkBjC,YAAlB,CAA+BoB,UAA/B,CAA0CM,cAAjD;;;AAGF,SAASgG,YAAT,CAAsBD,OAAtB,EAA+B;SACtBA,QAAQxF,SAAR,CAAkBjC,YAAlB,CAA+BoB,UAA/B,CAA0ClD,IAA1C,CAA+CyJ,QAA/C,CAAwD,YAAxD,CAAP;;;AAGF,SAASC,WAAT,CAAqBH,OAArB,EAA8B;MACxBA,WAAW,IAAf,EAAqB;WACZ,IAAP;GADF,MAEO,IAAID,cAAcC,OAAd,CAAJ,EAA4B;WAC1BA,OAAP;GADK,MAEA;WACEG,YAAYH,QAAQI,MAApB,CAAP;;;;AAIJ,SAASC,gBAAT,CAA0BL,OAA1B,EAAmC;MAC7BA,QAAQI,MAAZ,EAAoB;WACXC,iBAAiBL,QAAQI,MAAzB,EAAiC/E,MAAjC,CAAwC2E,OAAxC,CAAP;GADF,MAEO;WACE,CAACA,OAAD,CAAP;;;;AAIJ,SAASM,uBAAT,CAAiCN,OAAjC,EAA0C;MACpCA,QAAQxF,SAAR,CAAkBjC,YAAlB,CAA+BoB,UAA/B,CAA0CM,cAA9C,EAA8D;WACrD,CAAC+F,OAAD,CAAP;GADF,MAEO;WACEM,wBAAwBN,QAAQI,MAAhC,EAAwC/E,MAAxC,CAA+C2E,OAA/C,CAAP;;;;AAIJ,SAASO,yBAAT,CAAmCC,cAAnC,EAAmDC,YAAnD,EAAiE;MAC3DC,cAAcD,aAAaA,aAAa9O,MAAb,GAAsB,CAAnC,CAAlB;MACIgP,QAAQD,YAAYlG,SAAZ,CAAsB1C,IAAtB,CAA2B6I,KAAvC;MACI3D,sBAAsB9K,OAAOS,IAAP,CAAY+N,YAAYlG,SAAZ,CAAsB1C,IAAlC,EAAwCsH,MAAxC,CAA+C,UAAUtM,GAAV,EAAe;WAC/EgE,WAAW4J,YAAYlG,SAAZ,CAAsB1C,IAAtB,CAA2BhF,GAA3B,CAAX,CAAP;GADwB,EAEvBE,GAFuB,CAEnB,UAAUF,GAAV,EAAe;WACb4N,YAAYlG,SAAZ,CAAsB1C,IAAtB,CAA2BhF,GAA3B,CAAP;GAHwB,CAA1B;;MAMI8N,WAAW5D,oBAAoB6D,IAApB,CAAyB,UAAUnC,UAAV,EAAsB;WACrDA,WAAWjI,IAAX,KAAoB,OAA3B;GADa,CAAf;;MAII,CAACmK,QAAL,EAAe;eACF5J,SAAS,OAAT,EAAkB,KAAlB,EAAyB2J,KAAzB,CAAX;wBACoBxK,IAApB,CAAyByK,QAAzB;;;MAGEE,WAAW,IAAInC,QAAJ,CAAa6B,eAAehG,SAAf,CAAyBjC,YAAzB,CAAsCpF,UAAnD,CAAf;;SAEO,CAAC2N,QAAD,EAAW9D,mBAAX,EAAgC4D,QAAhC,CAAP;;;AAGF,SAASG,cAAT,CAAwBC,gBAAxB,EAA0CP,YAA1C,EAAwDQ,IAAxD,EAA8DC,MAA9D,EAAsE;;MAEhEC,cAAcV,aAAaW,KAAb,EAAlB;;OAEKjL,IAAL,CAAUgL,YAAY3G,SAAZ,CAAsB1B,WAAhC;;MAEI2H,aAAa9O,MAAjB,EAAyB;qBACNuJ,GAAjB,CAAqBiG,YAAY3G,SAAZ,CAAsB/D,IAA3C,EAAiD,EAAEoC,OAAOsI,YAAY3G,SAAZ,CAAsB3B,KAA/B,EAAsCf,MAAMqJ,YAAY3G,SAAZ,CAAsB1C,IAAlE,EAAjD,EAA2H,UAAUuJ,YAAV,EAAwB;qBAClIA,YAAf,EAA6BZ,YAA7B,EAA2CQ,IAA3C,EAAiDC,MAAjD;KADF;GADF,MAIO;QACDI,aAAaH,YAAY3G,SAAZ,CAAsBjC,YAAtB,CAAmCuB,UAAnC,CAA8C+G,IAA9C,CAAmD,UAAU5F,KAAV,EAAiB;aAC5EA,MAAMxE,IAAN,KAAe,OAAtB;KADe,CAAjB;QAGI8K,YAAYD,WAAW/I,YAAX,CAAwBuB,UAAxB,CAAmC+G,IAAnC,CAAwC,UAAU5F,KAAV,EAAiB;aAChEA,MAAMxE,IAAN,KAAe,MAAtB;KADc,CAAhB;QAGIkK,QAAQ,KAAK,CAAjB;;QAEI7J,WAAWqK,YAAY3G,SAAZ,CAAsB1C,IAAtB,CAA2B6I,KAAtC,CAAJ,EAAkD;cACxCQ,YAAY3G,SAAZ,CAAsB1C,IAAtB,CAA2B6I,KAAnC;KADF,MAEO;cACG3J,SAAS,OAAT,EAAkB,KAAlB,EAAyBmK,YAAY3G,SAAZ,CAAsB1C,IAAtB,CAA2B6I,KAApD,CAAR;;;QAGErI,UAAU;aACL6I,YAAY3G,SAAZ,CAAsB3B,KADjB;YAEN3G,OAAOuC,MAAP,CAAc,EAAd,EAAkB0M,YAAY3G,SAAZ,CAAsB1C,IAAxC,EAA8C,EAAE0J,OAAON,MAAT,EAAiBP,OAAOA,KAAxB,EAA9C;KAFR;;qBAKiB3E,aAAjB,CAA+BmF,YAAY3G,SAAZ,CAAsB/D,IAArD,EAA2D6B,OAA3D,EAAoEiJ,UAAUhJ,YAA9E;;;;AAIJ,SAASkJ,gBAAT,CAA0B3H,UAA1B,EAAsC;SAC7BA,WAAWlH,MAAX,CAAkB,UAAUsM,mBAAV,EAA+BjE,KAA/B,EAAsC;QACzD5B,eAAelH,SAAf,CAAyB4E,aAAzB,CAAuCkE,KAAvC,CAAJ,EAAmD;0BAC7B9E,IAApB,CAAyB8E,MAAMxB,YAAN,EAAzB;;;wBAGkBtD,IAApB,CAAyBqB,KAAzB,CAA+B0H,mBAA/B,EAAoD7I,kBAAkBoL,iBAAiBxG,MAAM1C,YAAN,CAAmBuB,UAApC,CAAlB,CAApD;;WAEOoF,mBAAP;GAPK,EAQJ,EARI,CAAP;;;AAWF,SAASwC,oBAAT,CAA8B1B,OAA9B,EAAuCkB,MAAvC,EAA+C;MACzCS,qBAAqBxB,YAAYH,OAAZ,CAAzB;;MAEI2B,kBAAJ,EAAwB;WACf,YAAY;UACbC,qBAAJ;;UAEIX,OAAO,EAAX;UACIY,WAAWF,mBAAmBnH,SAAnB,CAA6BjC,YAA7B,CAA0CoB,UAAzD;UACImI,SAASH,mBAAmBI,YAAnB,CAAgCC,EAA7C;UACIvB,eAAeH,wBAAwBN,OAAxB,CAAnB;;UAEIiC,wBAAwB1B,0BAA0BP,OAA1B,EAAmCS,YAAnC,CAA5B;UACIyB,yBAAyB7M,cAAc4M,qBAAd,EAAqC,CAArC,CAD7B;UAEInB,WAAWoB,uBAAuB,CAAvB,CAFf;UAGIlF,sBAAsBkF,uBAAuB,CAAvB,CAH1B;;eAKSpD,QAAT,CAAkB9B,mBAAlB,EAAuC,UAAUmF,IAAV,EAAgB;aAChDhM,IAAL,CAAU,MAAV;aACK+E,GAAL,CAAS,MAAT,EAAiB,EAAEpD,MAAM,EAAEkK,IAAIF,MAAN,EAAR,EAAjB,EAA2C,UAAUM,IAAV,EAAgB;eACpD7F,mBAAL,CAAyBsF,SAASpL,IAAlC,EAAwC,UAAU0I,QAAV,EAAoB;2BAC3CA,QAAf,EAAyBsB,aAAa4B,KAAb,CAAmB,CAAnB,CAAzB,EAAgDpB,IAAhD,EAAsDC,MAAtD;WADF;SADF;OAFF;;UASIoB,YAAYb,iBAAiBX,SAAShD,UAAT,CAAoB,CAApB,EAAuBvF,YAAvB,CAAoCuB,UAArD,CAAhB;;OAEC8H,wBAAwBd,SAASlC,WAAlC,EAA+C9D,OAA/C,CAAuDtD,KAAvD,CAA6DoK,qBAA7D,EAAoFvL,kBAAkBiM,SAAlB,CAApF;;aAEO,CAACxB,QAAD,EAAWG,IAAX,CAAP;KA1BF;GADF,MA6BO;WACE,YAAY;UACbsB,sBAAJ;;UAEItB,OAAO,EAAX;UACIR,eAAeJ,iBAAiBL,OAAjB,CAAnB;;UAEIwC,yBAAyBjC,0BAA0BP,OAA1B,EAAmCS,YAAnC,CAA7B;UACIgC,yBAAyBpN,cAAcmN,sBAAd,EAAsC,CAAtC,CAD7B;UAEI1B,WAAW2B,uBAAuB,CAAvB,CAFf;UAGIzF,sBAAsByF,uBAAuB,CAAvB,CAH1B;;eAKS3D,QAAT,CAAkB9B,mBAAlB,EAAuC,UAAUmF,IAAV,EAAgB;uBACtCA,IAAf,EAAqB1B,aAAa4B,KAAb,CAAmB,CAAnB,CAArB,EAA4CpB,IAA5C,EAAkDC,MAAlD;OADF;;UAIIoB,YAAYb,iBAAiBX,SAAShD,UAAT,CAAoB,CAApB,EAAuBvF,YAAvB,CAAoCuB,UAArD,CAAhB;;OAECyI,yBAAyBzB,SAASlC,WAAnC,EAAgD9D,OAAhD,CAAwDtD,KAAxD,CAA8D+K,sBAA9D,EAAsFlM,kBAAkBiM,SAAlB,CAAtF;;aAEO,CAACxB,QAAD,EAAWG,IAAX,CAAP;KAnBF;;;;AAwBJ,SAASyB,aAAT,CAAuBtG,UAAvB,EAAmCuG,IAAnC,EAAyC;MACnCA,SAASvG,WAAWE,KAAX,CAAiBF,WAAWE,KAAX,CAAiB3K,MAAjB,GAA0B,CAA3C,CAAb,EAA4D;WACnD,IAAIwF,MAAJ,CAAW,IAAX,CAAP;;;SAGKiF,WAAWC,QAAX,CAAoBuG,WAA3B;;;AAGF,SAASC,eAAT,CAAyBzG,UAAzB,EAAqCuG,IAArC,EAA2C;MACrCA,SAASvG,WAAWE,KAAX,CAAiB,CAAjB,CAAb,EAAkC;WACzB,IAAInF,MAAJ,CAAW,IAAX,CAAP;;;SAGKiF,WAAWC,QAAX,CAAoBwG,eAA3B;;;AAGF,SAASC,oBAAT,CAA8BC,cAA9B,EAA8C;SACrC,UAAU/C,OAAV,EAAmBhO,KAAnB,EAA0B;QAC3BiO,aAAaD,OAAb,CAAJ,EAA2B;UACrB,EAAEhO,MAAMqK,QAAN,IAAkBrK,MAAMqK,QAAN,CAAe1H,cAAf,CAA8B,aAA9B,CAAlB,IAAkE3C,MAAMqK,QAAN,CAAe1H,cAAf,CAA8B,iBAA9B,CAApE,CAAJ,EAA2H;cACnH,IAAIpB,KAAJ,CAAU,sFAAV,CAAN;;;aAGKvB,MAAMsK,KAAN,CAAYtJ,GAAZ,CAAgB,UAAU2P,IAAV,EAAgB;eAC9BzQ,OAAOuC,MAAP,CAAckO,KAAKP,IAAnB,EAAyB;gCACRV,qBAAqB1B,OAArB,EAA8B2C,KAAKzB,MAAnC,CADQ;uBAEjBwB,cAAc1Q,KAAd,EAAqB2Q,IAArB,CAFiB;2BAGbE,gBAAgB7Q,KAAhB,EAAuB2Q,IAAvB,CAHa;0BAIdI;SAJX,CAAP;OADK,CAAP;KALF,MAaO;aACE/Q,KAAP;;GAfJ;;;;AAqBF,IAAIgR,kBAAkB,YAAY;WACvBA,eAAT,CAAyBxI,SAAzB,EAAoCuH,YAApC,EAAkD;QAC5C3B,SAAS1O,UAAUC,MAAV,GAAmB,CAAnB,IAAwBD,UAAU,CAAV,MAAiBkE,SAAzC,GAAqDlE,UAAU,CAAV,CAArD,GAAoE,IAAjF;mBACe,IAAf,EAAqBsR,eAArB;;SAEKxI,SAAL,GAAiBA,SAAjB;SACKuH,YAAL,GAAoBA,YAApB;SACK3B,MAAL,GAAcA,MAAd;WACO1N,MAAP,CAAc,IAAd;;;cAGUsQ,eAAZ,EAA6B,CAAC;SACvB,0BADuB;WAErB,SAASC,wBAAT,CAAkCnK,WAAlC,EAA+C;UAChDoK,mBAAmB,KAAK1I,SAAL,CAAejC,YAAf,CAA4BmC,uBAA5B,CAAoD5B,WAApD,CAAvB;UACIqK,gBAAgBD,oBAAoBA,iBAAiB,CAAjB,CAAxC;UACI/B,cAAc,KAAK,CAAvB;;;;UAIInI,OAAO7G,SAAP,CAAiB4E,aAAjB,CAA+BoM,aAA/B,CAAJ,EAAmD;sBACnC,IAAIH,eAAJ,CAAoBG,aAApB,EAAmC,KAAKpB,YAAxC,EAAsD,KAAK3B,MAA3D,CAAd;OADF,MAEO;sBACS,IAAI4C,eAAJ,CAAoBG,aAApB,EAAmC,KAAKpB,YAAL,CAAkBjJ,WAAlB,CAAnC,EAAmE,IAAnE,CAAd;;;UAGE,CAACqK,aAAL,EAAoB;cACZ,IAAI5P,KAAJ,CAAU,8BAA8BuF,WAA9B,GAA4C,iCAA5C,GAAgF,KAAK0B,SAAL,CAAejC,YAAzG,CAAN;;;UAGEK,MAAMzG,SAAN,CAAgB4E,aAAhB,CAA8BoM,aAA9B,CAAJ,EAAkD;eACzChC,WAAP;OADF,MAEO;eACEA,YAAY8B,wBAAZ,CAAqCnK,WAArC,CAAP;;;GAtBuB,EAyB1B;SACI,qBADJ;WAEM,SAASsK,mBAAT,CAA6BnQ,IAA7B,EAAmC;aACjC,IAAI+P,eAAJ,CAAoB,KAAKxI,SAAzB,EAAoCvH,IAApC,EAA0C,KAAKmN,MAA/C,CAAP;;GA5ByB,CAA7B;SA+BO4C,eAAP;CA1CoB,EAAtB;;AA6CA,SAASK,gBAAT,CAA0BrD,OAA1B,EAAmCsD,YAAnC,EAAiD;SACxCtD,QAAQ+B,YAAR,CAAqB/O,GAArB,CAAyB,UAAUC,IAAV,EAAgB;WACvCsQ,cAAcvD,QAAQoD,mBAAR,CAA4BnQ,IAA5B,CAAd,EAAiDqQ,YAAjD,CAAP;GADK,CAAP;;;AAKF,SAASE,kBAAT,CAA4BxD,OAA5B,EAAqCsD,YAArC,EAAmD;SAC1CpR,OAAOS,IAAP,CAAYqN,QAAQ+B,YAApB,EAAkCnP,MAAlC,CAAyC,UAAU2H,GAAV,EAAezB,WAAf,EAA4B;QACtEA,WAAJ,IAAmByK,cAAcvD,QAAQiD,wBAAR,CAAiCnK,WAAjC,CAAd,EAA6DwK,YAA7D,CAAnB;;WAEO/I,GAAP;GAHK,EAIJ,EAJI,CAAP;;;AAOF,SAASkJ,eAAT,CAAyBH,YAAzB,EAAuCtD,OAAvC,EAAgDhO,KAAhD,EAAuD;SAC9CsR,aAAa1Q,MAAb,CAAoB,UAAU2H,GAAV,EAAemJ,WAAf,EAA4B;WAC9CA,YAAY1D,OAAZ,EAAqBzF,GAArB,CAAP;GADK,EAEJvI,KAFI,CAAP;;;AAKF,SAASuR,aAAT,CAAuBvD,OAAvB,EAAgCsD,YAAhC,EAA8C;MACxCtR,QAAQgO,QAAQ+B,YAApB;;MAEIlQ,MAAMkB,OAAN,CAAcf,KAAd,CAAJ,EAA0B;YAChBqR,iBAAiBrD,OAAjB,EAA0BsD,YAA1B,CAAR;GADF,MAEO,IAAIvR,SAASC,KAAT,CAAJ,EAAqB;YAClBwR,mBAAmBxD,OAAnB,EAA4BsD,YAA5B,CAAR;;;SAGKG,gBAAgBH,YAAhB,EAA8BtD,OAA9B,EAAuChO,KAAvC,CAAP;;;AAGF,SAAS2R,sBAAT,CAAgC3D,OAAhC,EAAyChO,KAAzC,EAAgD;MAC1C6N,QAAQ7N,KAAR,KAAkB+N,cAAcC,OAAd,CAAtB,EAA8C;UACtC4D,YAAN,GAAqB,YAAY;aACxB,IAAIrG,KAAJ,CAAUyC,QAAQxF,SAAR,CAAkBjC,YAAlB,CAA+BpF,UAAzC,EAAqD,UAAUgP,IAAV,EAAgB;aACrEjH,GAAL,CAAS,MAAT,EAAiB,EAAEpD,MAAM,EAAEkK,IAAIhC,QAAQ+B,YAAR,CAAqBC,EAA3B,EAAR,EAAjB,EAA4D,UAAUI,IAAV,EAAgB;eACrE7F,mBAAL,CAAyByD,QAAQxF,SAAR,CAAkBjC,YAAlB,CAA+BoB,UAA/B,CAA0ClD,IAAnE,EAAyEuJ,QAAQxF,SAAR,CAAkBjC,YAA3F;SADF;OADK,CAAP;KADF;;;SASKvG,KAAP;;;AAGF,SAAS6R,mCAAT,CAA6CC,aAA7C,EAA4D;SACnD,SAASC,uBAAT,CAAiC/D,OAAjC,EAA0ChO,KAA1C,EAAiD;QAClDD,SAASC,KAAT,CAAJ,EAAqB;UACfgS,QAAQF,cAAclE,YAAd,CAA2BI,QAAQxF,SAAR,CAAkBjC,YAAlB,CAA+BoB,UAA/B,CAA0ClD,IAArE,CAAZ;;aAEO,IAAIuN,KAAJ,CAAUhS,KAAV,CAAP;KAHF,MAIO;aACEA,KAAP;;GANJ;;;AAWF,SAASiS,gBAAT,CAA0BjE,OAA1B,EAAmChO,KAAnC,EAA0C;MACpC6N,QAAQ7N,KAAR,CAAJ,EAAoB;QACdgO,QAAQxF,SAAR,CAAkBjC,YAAlB,CAA+BoB,UAA/B,CAA0CoB,IAA1C,KAAmD,QAAvD,EAAiE;aACxD,IAAI5D,MAAJ,CAAWnF,KAAX,CAAP;KADF,MAEO,IAAIgO,QAAQxF,SAAR,CAAkBjC,YAAlB,CAA+BoB,UAA/B,CAA0CoB,IAA1C,KAAmD,MAAvD,EAA+D;aAC7D,IAAI9D,IAAJ,CAASjF,KAAT,CAAP;;;;SAIGA,KAAP;;;AAGF,SAASkS,qBAAT,CAA+BlE,OAA/B,EAAwChO,KAAxC,EAA+C;MACzC6N,QAAQ7N,KAAR,CAAJ,EAAoB;QACdA,MAAMmS,UAAV,EAAsB;YACd9Q,IAAN,GAAaH,cAAc8M,QAAQxF,SAAR,CAAkBjC,YAAlB,CAA+BpF,UAA7C,EAAyDnB,MAAMmS,UAA/D,CAAb;KADF,MAEO;YACC9Q,IAAN,GAAa2M,QAAQxF,SAAR,CAAkBjC,YAAlB,CAA+BoB,UAA5C;;;;SAIG3H,KAAP;;;AAGF,SAASoS,mBAAT,CAA6B3G,IAA7B,EAAmC;MAC7B4G,qBAAqB5G,KAAKqG,aAA9B;MACIA,gBAAgBO,uBAAuBzO,SAAvB,GAAmC,IAAI2J,aAAJ,EAAnC,GAAyD8E,kBAD7E;MAEItB,iBAAiBtF,KAAKsF,cAF1B;;SAIO,CAACkB,gBAAD,EAAmBN,sBAAnB,EAA2Cb,qBAAqBC,cAArB,CAA3C,EAAiFmB,qBAAjF,EAAwGL,oCAAoCC,aAApC,CAAxG,CAAP;;;;;;;;;;;;;AAaF,SAASQ,MAAT,CAAgB9J,SAAhB,EAA2BuH,YAA3B,EAAyC;MACnCzJ,UAAU5G,UAAUC,MAAV,GAAmB,CAAnB,IAAwBD,UAAU,CAAV,MAAiBkE,SAAzC,GAAqDlE,UAAU,CAAV,CAArD,GAAoE,EAAlF;;MAEI4R,eAAehL,QAAQgL,YAAR,IAAwBc,oBAAoB9L,OAApB,CAA3C;MACI0H,UAAU,IAAIgD,eAAJ,CAAoBxI,SAApB,EAA+BuH,YAA/B,CAAd;;SAEOwB,cAAcvD,OAAd,EAAuBsD,YAAvB,CAAP;;;AAGF,SAASiB,WAAT,CAAqBC,GAArB,EAA0B;MACpBlM,UAAU5G,UAAUC,MAAV,GAAmB,CAAnB,IAAwBD,UAAU,CAAV,MAAiBkE,SAAzC,GAAqDlE,UAAU,CAAV,CAArD,GAAoE,EAAlF;;SAEO,SAAS+S,OAAT,CAAiBC,aAAjB,EAAgC;WAC9BC,MAAMH,GAAN,EAAWhQ,SAAS;YACnB8C,KAAKC,SAAL,CAAemN,aAAf,CADmB;cAEjB,MAFiB;YAGnB;KAHU,EAIfpM,OAJe,EAIN;eACD9D,SAAS;wBACA,kBADA;gBAER;OAFD,EAGN8D,QAAQsM,OAHF;KALO,CAAX,EASHC,IATG,CASE,UAAUC,QAAV,EAAoB;aACpBA,SAASC,IAAT,EAAP;KAVK,CAAP;GADF;;;AAgBF,SAASnC,WAAT,CAAqBoC,eAArB,EAAsC;SAC7BA,mBAAmBA,gBAAgBrT,MAAnC,IAA6CqT,gBAAgBA,gBAAgBrT,MAAhB,GAAyB,CAAzC,EAA4CiR,WAAhG;;;;;;;AAOF,IAAIqC,WAAS,YAAY;;;;;;;;;WASdA,MAAT,CAAgB9R,UAAhB,EAA4BsK,IAA5B,EAAkC;QAC5B+G,MAAM/G,KAAK+G,GAAf;QACIU,iBAAiBzH,KAAKyH,cAD1B;QAEIT,UAAUhH,KAAKgH,OAFnB;QAGIU,gBAAgB1H,KAAK2H,QAHzB;QAIIA,WAAWD,kBAAkBvP,SAAlB,GAA8B,IAAI2J,aAAJ,EAA9B,GAAoD4F,aAJnE;mBAKe,IAAf,EAAqBF,MAArB;;SAEK9R,UAAL,GAAkBA,UAAlB;SACK2Q,aAAL,GAAqBsB,QAArB;;QAEIZ,OAAOC,OAAX,EAAoB;YACZ,IAAIlR,KAAJ,CAAU,mIAAV,CAAN;;;QAGEiR,GAAJ,EAAS;WACFC,OAAL,GAAeF,YAAYC,GAAZ,EAAiBU,cAAjB,CAAf;KADF,MAEO,IAAIT,OAAJ,EAAa;UACdS,cAAJ,EAAoB;cACZ,IAAI3R,KAAJ,CAAU,mHAAV,CAAN;;;WAGGkR,OAAL,GAAeA,OAAf;KALK,MAMA;YACC,IAAIlR,KAAJ,CAAU,yDAAV,CAAN;;;;;;;;;;;;;cAcQ0R,MAAZ,EAAoB,CAAC;SACd,UADc;WAEZ,SAASnE,QAAT,GAAoB;aAClB,IAAInC,QAAJ,CAAa,KAAKxL,UAAlB,CAAP;;;;;;;;;;;;;;;;;;;;GAHgB,EAuBjB;SACI,OADJ;WAEM,SAASkS,KAAT,GAAiB;WACjB,IAAI5T,OAAOC,UAAUC,MAArB,EAA6BmG,OAAOjG,MAAMJ,IAAN,CAApC,EAAiDK,OAAO,CAA7D,EAAgEA,OAAOL,IAAvE,EAA6EK,MAA7E,EAAqF;aAC9EA,IAAL,IAAaJ,UAAUI,IAAV,CAAb;;;aAGK,KAAKuM,SAASlM,SAAT,CAAmBmM,IAAnB,CAAwB9G,KAAxB,CAA8B+F,KAA9B,EAAqC,CAAC,IAAD,EAAOlC,MAAP,CAAc,CAAC,KAAKlI,UAAN,CAAd,EAAiC2E,IAAjC,CAArC,CAAL,GAAP;;;;;;;;;;;;;;;;;;;;;;;;GA9BgB,EAsDjB;SACI,UADJ;WAEM,SAASwN,QAAT,GAAoB;WACpB,IAAIhK,QAAQ5J,UAAUC,MAAtB,EAA8BmG,OAAOjG,MAAMyJ,KAAN,CAArC,EAAmDC,QAAQ,CAAhE,EAAmEA,QAAQD,KAA3E,EAAkFC,OAAlF,EAA2F;aACpFA,KAAL,IAAc7J,UAAU6J,KAAV,CAAd;;;aAGK,KAAK8C,SAASlM,SAAT,CAAmBmM,IAAnB,CAAwB9G,KAAxB,CAA8BkG,QAA9B,EAAwC,CAAC,IAAD,EAAOrC,MAAP,CAAc,CAAC,KAAKlI,UAAN,CAAd,EAAiC2E,IAAjC,CAAxC,CAAL,GAAP;;;;;;;;;;;;;;;;;;;GA7DgB,EAgFjB;SACI,MADJ;WAEM,SAASyN,IAAT,CAAcC,OAAd,EAAuB;UACxBrM,QAAQ,IAAZ;;UAEI4J,iBAAiBrR,UAAUC,MAAV,GAAmB,CAAnB,IAAwBD,UAAU,CAAV,MAAiBkE,SAAzC,GAAqDlE,UAAU,CAAV,CAArD,GAAoE,IAAzF;UACI+T,kBAAkB/T,UAAUC,MAAV,GAAmB,CAAnB,IAAwBD,UAAU,CAAV,MAAiBkE,SAAzC,GAAqDlE,UAAU,CAAV,CAArD,GAAoE,IAA1F;;UAEIgU,sBAAsB,KAAK,CAA/B;;UAEIrH,SAASlM,SAAT,CAAmB4E,aAAnB,CAAiCyO,OAAjC,CAAJ,EAA+C;8BACvBA,QAAQ,IAAR,CAAtB;OADF,MAEO;8BACiBA,OAAtB;;;UAGEd,gBAAgB,EAAEW,OAAOK,oBAAoBtT,QAApB,EAAT,EAApB;;UAEI2Q,cAAJ,EAAoB;sBACJnG,SAAd,GAA0BmG,cAA1B;;;aAGKtO,MAAP,CAAciQ,aAAd,EAA6Be,eAA7B;;UAEI7H,YAAY,KAAK,CAArB;;UAEIX,UAAU9K,SAAV,CAAoB4E,aAApB,CAAkC2O,mBAAlC,CAAJ,EAA4D;oBAC9CA,mBAAZ;OADF,MAEO;YACD5E,WAAW4E,mBAAf;;YAEI5E,SAAShD,UAAT,CAAoBnM,MAApB,KAA+B,CAAnC,EAAsC;sBACxBmP,SAAShD,UAAT,CAAoB,CAApB,CAAZ;SADF,MAEO,IAAI2H,gBAAgBE,aAApB,EAAmC;sBAC5B7E,SAAShD,UAAT,CAAoB+C,IAApB,CAAyB,UAAU+E,iBAAV,EAA6B;mBACzDA,kBAAkBnP,IAAlB,KAA2BgP,gBAAgBE,aAAlD;WADU,CAAZ;SADK,MAIA;gBACC,IAAIpS,KAAJ,CAAU,gNAAV,CAAN;;;;aAIG,KAAKkR,OAAL,CAAaC,aAAb,EAA4BG,IAA5B,CAAiC,UAAUC,QAAV,EAAoB;YACtDA,SAASe,IAAb,EAAmB;mBACRC,KAAT,GAAiBxB,OAAO1G,SAAP,EAAkBkH,SAASe,IAA3B,EAAiC;2BACjC1M,MAAM2K,aAD2B;4BAEhCf;WAFD,CAAjB;;;eAMK+B,QAAP;OARK,CAAP;;;;;;;;;;;;;;;;;;GA1HgB,EAqJjB;SACI,eADJ;WAEM,SAASiB,aAAT,CAAuBC,WAAvB,EAAoC1N,OAApC,EAA6C;UAC9C8J,OAAO,KAAK,CAAhB;;UAEIvQ,MAAMkB,OAAN,CAAciT,WAAd,CAAJ,EAAgC;eACvBA,YAAYA,YAAYrU,MAAZ,GAAqB,CAAjC,CAAP;OADF,MAEO;eACEqU,WAAP;;;UAGEC,wBAAwB7D,KAAKV,oBAAL,EAA5B;UACIwE,yBAAyB7Q,cAAc4Q,qBAAd,EAAqC,CAArC,CAD7B;UAEIZ,QAAQa,uBAAuB,CAAvB,CAFZ;UAGIjF,OAAOiF,uBAAuB,CAAvB,CAHX;;UAKInD,iBAAiB,KAAK,CAA1B;;UAEIX,KAAKW,cAAL,IAAuBzK,OAA3B,EAAoC;yBACjBpG,OAAOuC,MAAP,CAAc,EAAd,EAAkB2N,KAAKW,cAAvB,EAAuCzK,OAAvC,CAAjB;;;aAGK,KAAKiN,IAAL,CAAUF,KAAV,EAAiBtC,cAAjB,EAAiC8B,IAAjC,CAAsC,UAAUC,QAAV,EAAoB;iBACtDgB,KAAT,GAAiB7E,KAAKrO,MAAL,CAAY,UAAUuT,MAAV,EAAkBrT,GAAlB,EAAuB;iBAC3CqT,OAAOrT,GAAP,CAAP;SADe,EAEdgS,SAASgB,KAFK,CAAjB;;eAIOhB,QAAP;OALK,CAAP;;;;;;;;;;;;;;;;;;GA3KgB,EAmMjB;SACI,eADJ;WAEM,SAASsB,aAAT,CAAuBpB,eAAvB,EAAwCqB,KAAxC,EAA+C;UAChD7M,SAAS,IAAb;;UAEI8M,WAAWD,MAAMC,QAArB;;UAEI1D,YAAYoC,eAAZ,CAAJ,EAAkC;eACzB,KAAKe,aAAL,CAAmBf,eAAnB,EAAoC,EAAErE,OAAO2F,QAAT,EAApC,EAAyDzB,IAAzD,CAA8D,UAAU0B,KAAV,EAAiB;cAChFT,QAAQS,MAAMT,KAAlB;;cAEIU,QAAQxB,gBAAgB3J,MAAhB,CAAuByK,KAAvB,CAAZ;;iBAEOtM,OAAO4M,aAAP,CAAqBI,KAArB,EAA4B,EAAEF,UAAUA,QAAZ,EAA5B,CAAP;SALK,CAAP;;;aASKG,QAAQC,OAAR,CAAgB1B,eAAhB,CAAP;;;;;;;;;;;;;;;;GApNgB,EAoOjB;SACI,SADJ;WAEM,SAAS2B,OAAT,CAAiB9E,QAAjB,EAA2B;UAC5B,CAACA,QAAL,EAAe;cACP,IAAItO,KAAJ,CAAU,uEAAV,CAAN;OADF,MAEO,IAAI,CAACsO,SAASxO,IAAT,CAAc4G,cAAnB,EAAmC;cAClC,IAAI1G,KAAJ,CAAU,kFAAkFsO,SAASxO,IAAT,CAAcoD,IAAhG,GAAuG,GAAjH,CAAN;;;aAGK,KAAK8O,IAAL,CAAU1D,SAAS+B,YAAT,EAAV,EAAmCiB,IAAnC,CAAwC,UAAU+B,KAAV,EAAiB;YAC1Dd,QAAQc,MAAMd,KAAlB;eACOA,MAAM1D,IAAb;OAFK,CAAP;;;;;;;;;;;;;;;GA7OgB,EA+PjB;SACI,UADJ;WAEM,SAASyE,WAAT,CAAqBpQ,IAArB,EAA2BpD,IAA3B,EAAiCqD,YAAjC,EAA+C;aAC7CM,SAASP,IAAT,EAAepD,IAAf,EAAqBqD,YAArB,CAAP;;;;;;;;;;;;;GAlQgB,EA+QjB;SACI,MADJ;WAEM,SAASoQ,KAAT,CAAehU,GAAf,EAAoB;aAClBoE,aAAapE,GAAb,CAAP;;GAlRgB,CAApB;SAqROmS,MAAP;CApUW,EAAb;;ACxwDA;;;;IAIM8B;;;;;;;;;;;;2BASqB;aAChB,CACL,uBADK,EAEL,QAFK,CAAP;;;;;;;;;;;;;2BAayB;aAClB;qBACQ,uBADR;gBAEG;OAFV;;;;;;;;;;;;kBAYUzH,KAAZ,EAAmB;;;;;WACV3M,IAAP,CAAY,KAAKqU,oBAAjB,EAAuCrM,OAAvC,CAA+C,UAAC7H,GAAD,EAAS;UAClD,CAACwM,MAAM3K,cAAN,CAAqB7B,GAArB,CAAL,EAAgC;;;;cAExBmU,IAAR,mCAA6CnU,GAA7C,8CAAyF,MAAKkU,oBAAL,CAA0BlU,GAA1B,CAAzF;YACM,MAAKkU,oBAAL,CAA0BlU,GAA1B,CAAN,IAAwCwM,MAAMxM,GAAN,CAAxC;KAJF;;SAOKoU,kBAAL,CAAwBvM,OAAxB,CAAgC,UAAC7H,GAAD,EAAS;UACnCwM,MAAM3K,cAAN,CAAqB7B,GAArB,CAAJ,EAA+B;cACxBA,GAAL,IAAYwM,MAAMxM,GAAN,CAAZ;OADF,MAEO;cACC,IAAIS,KAAJ,yCAA+CT,GAA/C,QAAN;;KAJJ;;;;;;IChDiBqU,WACnB,kBAAYC,MAAZ,EAAoB;;;OACbC,aAAL,GAAqBD,MAArB;;;ACFG,IAAME,gBAAgB,CAAC,EAACC,SAAS,+BAAV,EAAD,CAAtB;;AAEP,AAAe,SAASC,eAAT,CAAyBvG,IAAzB,EAA+B;MACtCtO,OAAOsO,KAAKwG,KAAL,CAAW,GAAX,CAAb;;SAEO,gBAA0B;QAAhB3B,KAAgB,QAAhBA,KAAgB;QAAT4B,MAAS,QAATA,MAAS;;WACxB,IAAIjB,OAAJ,CAAY,UAACC,OAAD,EAAUiB,MAAV,EAAqB;UAClC;YACIC,SAASjV,KAAKC,MAAL,CAAY,UAACiV,GAAD,EAAM/U,GAAN,EAAc;iBAChC+U,IAAI/U,GAAJ,CAAP;SADa,EAEZgT,KAFY,CAAf;;gBAIQ8B,MAAR;OALF,CAME,OAAOE,CAAP,EAAU;YACNJ,MAAJ,EAAY;iBACHA,MAAP;SADF,MAEO;iBACEJ,aAAP;;;KAXC,CAAP;GADF;;;ACLa,SAASS,yBAAT,CAAmCC,gBAAnC,EAAqDZ,MAArD,EAA6D;MACpEa,WAAW,GAAG5M,MAAH,CAAU2M,gBAAV,CAAjB;;SAEOvB,QAAQyB,GAAR,CAAYD,SAASrV,MAAT,CAAgB,UAACuV,UAAD,EAAaC,OAAb,EAAyB;;eAE/CjS,IAAX,CAAgBiR,OAAOhB,aAAP,CAAqBgC,QAAQC,MAA7B,EAAqC,EAAC/B,UAAU,GAAX,EAArC,EAAsDzB,IAAtD,CAA2D,UAACwD,MAAD,EAAY;cAC7E/I,KAAR,CAAc+I,MAAd,GAAuBA,MAAvB;KADc,CAAhB;;eAIWlS,IAAX,CAAgBiR,OAAOhB,aAAP,CAAqBgC,QAAQE,QAA7B,EAAuC,EAAChC,UAAU,GAAX,EAAvC,EAAwDzB,IAAxD,CAA6D,UAACyD,QAAD,EAAc;cACjFhJ,KAAR,CAAcgJ,QAAd,GAAyBA,QAAzB;KADc,CAAhB;;WAIOH,UAAP;GAViB,EAWhB,EAXgB,CAAZ,CAAP;;;ACDK,SAASI,oCAAT,CAA8CnB,MAA9C,EAAsD;SACpD,UAASa,QAAT,EAAmB;WACjBF,0BAA0BE,QAA1B,EAAoCb,MAApC,EAA4CvC,IAA5C,CAAiD,YAAM;aACrDoD,QAAP;KADK,CAAP;GADF;;;AAOF,AAAO,SAASO,+CAAT,CAAyDpB,MAAzD,EAAiE;SAC/D,UAASqB,uBAAT,EAAkC;QACjCC,cAAc,GAAGrN,MAAH,CAAUoN,uBAAV,CAApB;;WAEOhC,QAAQyB,GAAR,CAAYQ,YAAY9V,MAAZ,CAAmB,UAACuV,UAAD,EAAaQ,UAAb,EAA4B;aACzDR,WAAW9M,MAAX,CAAkB0M,0BAA0BY,WAAWV,QAArC,EAA+Cb,MAA/C,CAAlB,CAAP;KADiB,EAEhB,EAFgB,CAAZ,EAECvC,IAFD,CAEM,YAAM;aACV4D,uBAAP;KAHK,CAAP;GAHF;;;ACXF;;;AAGA,qBAAe;;;;;;;;;;;;;;;;;mBAAA,6BAiBKL,OAjBL,EAiBc9P,OAjBd,EAiBuB;WAC3B8P,QAAQE,QAAR,CAAiBzH,IAAjB,CAAsB,UAAC+H,OAAD,EAAa;aACjCA,QAAQC,eAAR,CAAwBC,KAAxB,CAA8B,UAACC,cAAD,EAAoB;eAChDzQ,QAAQyQ,eAAetS,IAAvB,MAAiCsS,eAAe/W,KAAf,CAAqBM,OAArB,EAAxC;OADK,CAAP;KADK,CAAP;;CAlBJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACEA;AACA,AAKA;;;;;IAIM0W;;;;;;;;;;;;;;;;;;;;;;;+BAgBiB;UAAZrI,KAAY,uEAAJ,EAAI;;aACZ,KAAK0G,aAAL,CACJ9B,IADI,CACC0D,OADD,EACyB,EAACtI,YAAD,EADzB,EAEJkE,IAFI,CAEC2C,gBAAgB,eAAhB,CAFD,EAGJ3C,IAHI,CAGC0D,qCAAqC,KAAKlB,aAA1C,CAHD,CAAP;;;;;;;;;;;;;;;;;0BAiBIrF,IAAI;aACD,KAAKqF,aAAL,CACJ9B,IADI,CACC2D,KADD,EACmB,EAAClH,MAAD,EADnB,EAEJ6C,IAFI,CAEC2C,gBAAgB,MAAhB,CAFD,EAGJ3C,IAHI,CAGC0D,qCAAqC,KAAKlB,aAA1C,CAHD,CAAP;;;;;;;;;;;;;;;;;;kCAkBY8B,KAAK;aACV,KAAK9B,aAAL,CACJ9B,IADI,CACC6D,OADD,EACoB,EAACD,QAAD,EADpB,EAEJtE,IAFI,CAEC2C,gBAAgB,OAAhB,CAFD,EAGJ3C,IAHI,CAGC0D,qCAAqC,KAAKlB,aAA1C,CAHD,CAAP;;;;;;;;;;;;;;;;;kCAiBYgC,QAAQ;aACb,KAAKhC,aAAL,CACJ9B,IADI,CACC+D,OADD,EACuB,EAACD,cAAD,EADvB,EAEJxE,IAFI,CAEC2C,gBAAgB,sBAAhB,CAFD,EAGJ3C,IAHI,CAGC0D,qCAAqC,KAAKlB,aAA1C,CAHD,CAAP;;;;;;;;;;;;;;;;;;;;;;iCAsB4D;qFAAJ,EAAI;4BAAlD1G,KAAkD;UAAlDA,KAAkD,8BAA1C,EAA0C;8BAAtC4I,OAAsC;UAAtCA,OAAsC,gCAA5B,IAA4B;UAAtBlE,QAAsB,QAAtBA,KAAsB;UAAfmE,OAAe,QAAfA,OAAe;;aACrD,KAAKnC,aAAL,CACJ9B,IADI,CACC0D,OADD,EACyB;oBAAA;wBAAA;uBAAA;;OADzB,EAOJpE,IAPI,CAOC2C,gBAAgB,eAAhB,CAPD,EAQJ3C,IARI,CAQC0D,qCAAqC,KAAKlB,aAA1C,CARD,CAAP;;;;2BA9FY;aACLoC,cAAP;;;;EAF0BtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACX9B;AACA,AAMA;;;;;IAIMuC;;;;;;;;;;;;;;;;;;;;;;;+BAaiB;UAAZ/I,KAAY,uEAAJ,EAAI;;aACZ,KAAK0G,aAAL,CACJ9B,IADI,CACCoE,OADD,EAC4B,EAAChJ,YAAD,EAD5B,EAEJkE,IAFI,CAEC2C,gBAAgB,kBAAhB,CAFD,CAAP;;;;;;;;;;;;;;;;2CAe0D;qFAAJ,EAAI;4BAAtC7G,KAAsC;UAAtCA,KAAsC,8BAA9B,EAA8B;oCAA1BiJ,aAA0B;UAA1BA,aAA0B,sCAAV,EAAU;;aACnD,KAAKvC,aAAL,CACJ9B,IADI,CACCsE,OADD,EACwC,EAAClJ,YAAD,EAAQiJ,4BAAR,EADxC,EAEJ/E,IAFI,CAEC2C,gBAAgB,kBAAhB,CAFD,EAGJ3C,IAHI,CAGC2D,gDAAgD,KAAKnB,aAArD,CAHD,CAAP;;;;;;;;;;;;;;;;;;0BAkBIrF,IAAI;aACD,KAAKqF,aAAL,CACJ9B,IADI,CACCuE,OADD,EACsB,EAAC9H,MAAD,EADtB,EAEJ6C,IAFI,CAEC2C,gBAAgB,MAAhB,CAFD,CAAP;;;;;;;;;;;;;;;;;sCAgBgBxF,IAAI;aACb,KAAKqF,aAAL,CACJ9B,IADI,CACCwE,OADD,EACkC,EAAC/H,MAAD,EADlC,EAEJ6C,IAFI,CAEC2C,gBAAgB,MAAhB,CAFD,EAGJ3C,IAHI,CAGC2D,gDAAgD,KAAKnB,aAArD,CAHD,CAAP;;;;;;;;;;;;;;;;;kCAiBYgC,QAAQ;aACb,KAAKhC,aAAL,CACJ9B,IADI,CACCyE,OADD,EAC0B,EAACX,cAAD,EAD1B,EAEJxE,IAFI,CAEC2C,gBAAgB,yBAAhB,CAFD,CAAP;;;;;;;;;;;;;;;;;;;;;;iCAqB4D;sFAAJ,EAAI;8BAAlD7G,KAAkD;UAAlDA,KAAkD,+BAA1C,EAA0C;gCAAtC4I,OAAsC;UAAtCA,OAAsC,iCAA5B,IAA4B;UAAtBlE,KAAsB,SAAtBA,KAAsB;UAAfmE,OAAe,SAAfA,OAAe;;aACrD,KAAKnC,aAAL,CAAmB9B,IAAnB,CAAwBoE,OAAxB,EAAmD;oBAAA;wBAAA;oBAAA;;OAAnD,EAKJ9E,IALI,CAKC2C,gBAAgB,kBAAhB,CALD,CAAP;;;;EA1G6BL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZjC;AACA,AAGA;;;;;IAIM8C;;;;;;;;;;;;;;;;;;;;;;;gCAaQ;aACH,KAAK5C,aAAL,CACJ9B,IADI,CACC2E,OADD,EAEJrF,IAFI,CAEC2C,gBAAgB,MAAhB,CAFD,CAAP;;;;;;;;;;;;;;;;oCAec;aACP,KAAKH,aAAL,CACJ9B,IADI,CACC4E,QADD,EAEJtF,IAFI,CAEC2C,gBAAgB,MAAhB,CAFD,CAAP;;;;EA9BuBL;;ACXZ,SAASiD,sBAAT,CAAgCC,eAAhC,EAAiDjD,MAAjD,EAAyD;SAC/D,gBAAgC;QAAtBvB,IAAsB,QAAtBA,IAAsB;QAAhB6B,MAAgB,QAAhBA,MAAgB;QAAR5B,KAAQ,QAARA,KAAQ;;QAC/BwE,WAAWzE,KAAKwE,eAAL,CAAjB;QACME,YAAYzE,MAAMuE,eAAN,CAAlB;;QAEIC,YAAYA,SAASE,QAAzB,EAAmC;aAC1BpD,OAAOhB,aAAP,CAAqBmE,UAAUC,QAAV,CAAmBC,SAAxC,EAAmD,EAACnE,UAAU,GAAX,EAAnD,EAAoEzB,IAApE,CAAyE,UAAC4F,SAAD,EAAe;kBACnFD,QAAV,CAAmBlL,KAAnB,CAAyBmL,SAAzB,GAAqCA,SAArC;kBACUD,QAAV,CAAmB9C,MAAnB,GAA4BA,MAA5B;kBACU8C,QAAV,CAAmBE,UAAnB,GAAgCH,UAAUG,UAA1C;;eAEOH,UAAUC,QAAjB;OALK,CAAP;;;QASE9C,UAAUA,OAAO/V,MAArB,EAA6B;aACpB8U,QAAQkB,MAAR,CAAe,IAAIpU,KAAJ,CAAU+D,KAAKC,SAAL,CAAemQ,MAAf,CAAV,CAAf,CAAP;;;QAGE4C,YAAYA,SAASI,UAArB,IAAmCJ,SAASI,UAAT,CAAoB/Y,MAA3D,EAAmE;aAC1D8U,QAAQkB,MAAR,CAAe,IAAIpU,KAAJ,CAAU+D,KAAKC,SAAL,CAAe+S,SAASI,UAAxB,CAAV,CAAf,CAAP;;;WAGKjE,QAAQkB,MAAR,CAAe,IAAIpU,KAAJ,UAAiB8W,eAAjB,+CAAf,CAAP;GAtBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGF;AACA,AAYA;;;;;IAIMM;;;;;;;;;;;;;;;;;;;;;;;0BAaE3I,IAAI;;;aACD,KA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"}
\ No newline at end of file
+{"version":3,"file":"index.es.js","sources":["node_modules/graphql-js-client/index.es.js","src/config.js","src/resource.js","src/default-resolver.js","src/fetch-resources-for-products.js","src/paginators.js","src/product-helpers.js","src/product-resource.js","src/collection-resource.js","src/shop-resource.js","src/handle-checkout-mutation.js","src/checkout-resource.js","src/image-helpers.js","src/image-resource.js","src/client.js"],"sourcesContent":["/*\nThe MIT License (MIT)\nCopyright (c) 2016 Shopify Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE\nOR OTHER DEALINGS IN THE SOFTWARE.\n\n\n*/\nfunction join() {\n for (var _len = arguments.length, fields = Array(_len), _key = 0; _key < _len; _key++) {\n fields[_key] = arguments[_key];\n }\n\n return fields.join(' ');\n}\n\nfunction isObject(value) {\n return Boolean(value) && Object.prototype.toString.call(value.valueOf()) === '[object Object]';\n}\n\nfunction deepFreezeCopyExcept(predicate, structure) {\n if (predicate(structure)) {\n return structure;\n } else if (isObject(structure)) {\n return Object.freeze(Object.keys(structure).reduce(function (copy, key) {\n copy[key] = deepFreezeCopyExcept(predicate, structure[key]);\n\n return copy;\n }, {}));\n } else if (Array.isArray(structure)) {\n return Object.freeze(structure.map(function (item) {\n return deepFreezeCopyExcept(predicate, item);\n }));\n } else {\n return structure;\n }\n}\n\nfunction schemaForType(typeBundle, typeName) {\n var type = typeBundle.types[typeName];\n\n if (type) {\n return type;\n }\n\n throw new Error(\"No type of \" + typeName + \" found in schema\");\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n\n\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nvar VariableDefinition = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#variable} to create a VariableDefinition.\n *\n * @param {String} name The name of the variable.\n * @param {String} type The GraphQL type of the variable.\n * @param {*} [defaultValue] The default value of the variable.\n */\n function VariableDefinition(name, type, defaultValue) {\n classCallCheck(this, VariableDefinition);\n\n this.name = name;\n this.type = type;\n this.defaultValue = defaultValue;\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the variable as an input value (e.g. `$variableName`).\n *\n * @return {String} The GraphQL query string for the variable as an input value.\n */\n\n\n createClass(VariableDefinition, [{\n key: 'toInputValueString',\n value: function toInputValueString() {\n return '$' + this.name;\n }\n\n /**\n * Returns the GraphQL query string for the variable (e.g. `$variableName:VariableType = defaultValue`).\n *\n * @return {String} The GraphQL query string for the variable.\n */\n\n }, {\n key: 'toString',\n value: function toString() {\n var defaultValueString = this.defaultValue ? ' = ' + formatInputValue(this.defaultValue) : '';\n\n return '$' + this.name + ':' + this.type + defaultValueString;\n }\n }]);\n return VariableDefinition;\n}();\n\nfunction isVariable(value) {\n return VariableDefinition.prototype.isPrototypeOf(value);\n}\n\nfunction variable(name, type, defaultValue) {\n return new VariableDefinition(name, type, defaultValue);\n}\n\nvar Enum = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#enum} to create an Enum.\n *\n * @param {String} key The key of the enum.\n */\n function Enum(key) {\n classCallCheck(this, Enum);\n\n this.key = key;\n }\n\n /**\n * Returns the GraphQL query string for the enum (e.g. `enumKey`).\n *\n * @return {String} The GraphQL query string for the enum.\n */\n\n\n createClass(Enum, [{\n key: \"toString\",\n value: function toString() {\n return this.key;\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n return this.key.valueOf();\n }\n }]);\n return Enum;\n}();\n\nvar enumFunction = (function (key) {\n return new Enum(key);\n});\n\nvar Scalar = function () {\n function Scalar(value) {\n classCallCheck(this, Scalar);\n\n this.value = value;\n }\n\n createClass(Scalar, [{\n key: \"toString\",\n value: function toString() {\n return this.value.toString();\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n return this.value.valueOf();\n }\n }, {\n key: \"unwrapped\",\n get: function get$$1() {\n return this.value;\n }\n }]);\n return Scalar;\n}();\n\nfunction formatInputValue(value) {\n if (VariableDefinition.prototype.isPrototypeOf(value)) {\n return value.toInputValueString();\n } else if (Enum.prototype.isPrototypeOf(value)) {\n return String(value);\n } else if (Scalar.prototype.isPrototypeOf(value)) {\n return JSON.stringify(value.valueOf());\n } else if (Array.isArray(value)) {\n return '[' + join.apply(undefined, toConsumableArray(value.map(formatInputValue))) + ']';\n } else if (isObject(value)) {\n return formatObject(value, '{', '}');\n } else {\n return JSON.stringify(value);\n }\n}\n\nfunction formatObject(value) {\n var openChar = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var closeChar = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n\n var argPairs = Object.keys(value).map(function (key) {\n return key + ': ' + formatInputValue(value[key]);\n });\n\n return '' + openChar + join.apply(undefined, toConsumableArray(argPairs)) + closeChar;\n}\n\nfunction formatArgs(args) {\n if (!Object.keys(args).length) {\n return '';\n }\n\n return ' (' + formatObject(args) + ')';\n}\n\n// eslint-disable-next-line no-empty-function\nvar noop = (function () {});\n\nvar Profiler = {\n trackTypeDependency: noop,\n trackFieldDependency: noop\n};\n\nvar trackTypeDependency = Profiler.trackTypeDependency;\nvar trackFieldDependency = Profiler.trackFieldDependency;\n\n\nfunction parseFieldCreationArgs(creationArgs) {\n var callback = noop;\n var options = {};\n var selectionSet = null;\n\n if (creationArgs.length === 2) {\n if (typeof creationArgs[1] === 'function') {\n var _creationArgs = slicedToArray(creationArgs, 2);\n\n options = _creationArgs[0];\n callback = _creationArgs[1];\n } else {\n var _creationArgs2 = slicedToArray(creationArgs, 2);\n\n options = _creationArgs2[0];\n selectionSet = _creationArgs2[1];\n }\n } else if (creationArgs.length === 1) {\n // SelectionSet is defined before this function is called since it's\n // called by SelectionSet\n // eslint-disable-next-line no-use-before-define\n if (SelectionSet.prototype.isPrototypeOf(creationArgs[0])) {\n selectionSet = creationArgs[0];\n } else if (typeof creationArgs[0] === 'function') {\n callback = creationArgs[0];\n } else {\n options = creationArgs[0];\n }\n }\n\n return { options: options, selectionSet: selectionSet, callback: callback };\n}\n\nvar emptyArgs = Object.freeze({});\n\nvar Field = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Fields are added to a selection by {@link SelectionSetBuilder#add}, {@link SelectionSetBuilder#addConnection}\n * and {@link SelectionSetBuilder#addInlineFragmentOn}.\n *\n * @param {String} name The name of the field.\n * @param {Object} [options] An options object containing:\n * @param {Object} [options.args] Arguments for the field.\n * @param {String} [options.alias] An alias for the field.\n * @param {SelectionSet} selectionSet The selection set on the field.\n */\n function Field(name, options, selectionSet) {\n classCallCheck(this, Field);\n\n this.name = name;\n this.alias = options.alias || null;\n this.responseKey = this.alias || this.name;\n this.args = options.args ? deepFreezeCopyExcept(isVariable, options.args) : emptyArgs;\n this.selectionSet = selectionSet;\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the Field (e.g. `catAlias: cat(size: 'small') { name }` or `name`).\n *\n * @return {String} The GraphQL query string for the Field.\n */\n\n\n createClass(Field, [{\n key: 'toString',\n value: function toString() {\n var aliasPrefix = this.alias ? this.alias + ': ' : '';\n\n return '' + aliasPrefix + this.name + formatArgs(this.args) + this.selectionSet;\n }\n }]);\n return Field;\n}();\n\n// This is an interface that defines a usage, and simplifies type checking\nvar Spread = function Spread() {\n classCallCheck(this, Spread);\n};\n\nvar InlineFragment = function (_Spread) {\n inherits(InlineFragment, _Spread);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link SelectionSetBuilder#addInlineFragmentOn} to create an InlineFragment.\n *\n * @param {String} typeName The type of the fragment.\n * @param {SelectionSet} selectionSet The selection set on the fragment.\n */\n function InlineFragment(typeName, selectionSet) {\n classCallCheck(this, InlineFragment);\n\n var _this = possibleConstructorReturn(this, (InlineFragment.__proto__ || Object.getPrototypeOf(InlineFragment)).call(this));\n\n _this.typeName = typeName;\n _this.selectionSet = selectionSet;\n Object.freeze(_this);\n return _this;\n }\n\n /**\n * Returns the GraphQL query string for the InlineFragment (e.g. `... on Cat { name }`).\n *\n * @return {String} The GraphQL query string for the InlineFragment.\n */\n\n\n createClass(InlineFragment, [{\n key: 'toString',\n value: function toString() {\n return '... on ' + this.typeName + this.selectionSet;\n }\n }]);\n return InlineFragment;\n}(Spread);\n\nvar FragmentSpread = function (_Spread2) {\n inherits(FragmentSpread, _Spread2);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Document#defineFragment} to create a FragmentSpread.\n *\n * @param {FragmentDefinition} fragmentDefinition The corresponding fragment definition.\n */\n function FragmentSpread(fragmentDefinition) {\n classCallCheck(this, FragmentSpread);\n\n var _this2 = possibleConstructorReturn(this, (FragmentSpread.__proto__ || Object.getPrototypeOf(FragmentSpread)).call(this));\n\n _this2.name = fragmentDefinition.name;\n _this2.selectionSet = fragmentDefinition.selectionSet;\n Object.freeze(_this2);\n return _this2;\n }\n\n /**\n * Returns the GraphQL query string for the FragmentSpread (e.g. `...catName`).\n *\n * @return {String} The GraphQL query string for the FragmentSpread.\n */\n\n\n createClass(FragmentSpread, [{\n key: 'toString',\n value: function toString() {\n return '...' + this.name;\n }\n }, {\n key: 'toDefinition',\n value: function toDefinition() {\n // eslint-disable-next-line no-use-before-define\n return new FragmentDefinition(this.name, this.selectionSet.typeSchema.name, this.selectionSet);\n }\n }]);\n return FragmentSpread;\n}(Spread);\n\nvar FragmentDefinition = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Document#defineFragment} to create a FragmentDefinition on a {@link Document}.\n *\n * @param {String} name The name of the fragment definition.\n * @param {String} typeName The type of the fragment.\n */\n function FragmentDefinition(name, typeName, selectionSet) {\n classCallCheck(this, FragmentDefinition);\n\n this.name = name;\n this.typeName = typeName;\n this.selectionSet = selectionSet;\n this.spread = new FragmentSpread(this);\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the FragmentDefinition (e.g. `fragment catName on Cat { name }`).\n *\n * @return {String} The GraphQL query string for the FragmentDefinition.\n */\n\n\n createClass(FragmentDefinition, [{\n key: 'toString',\n value: function toString() {\n return 'fragment ' + this.name + ' on ' + this.typeName + ' ' + this.selectionSet;\n }\n }]);\n return FragmentDefinition;\n}();\n\nfunction selectionsHaveIdField(selections) {\n return selections.some(function (fieldOrFragment) {\n if (Field.prototype.isPrototypeOf(fieldOrFragment)) {\n return fieldOrFragment.name === 'id';\n } else if (Spread.prototype.isPrototypeOf(fieldOrFragment) && fieldOrFragment.selectionSet.typeSchema.implementsNode) {\n return selectionsHaveIdField(fieldOrFragment.selectionSet.selections);\n }\n\n return false;\n });\n}\n\nfunction selectionsHaveTypenameField(selections) {\n return selections.some(function (fieldOrFragment) {\n if (Field.prototype.isPrototypeOf(fieldOrFragment)) {\n return fieldOrFragment.name === '__typename';\n } else if (Spread.prototype.isPrototypeOf(fieldOrFragment) && fieldOrFragment.selectionSet.typeSchema.implementsNode) {\n return selectionsHaveTypenameField(fieldOrFragment.selectionSet.selections);\n }\n\n return false;\n });\n}\n\nfunction indexSelectionsByResponseKey(selections) {\n function assignOrPush(obj, key, value) {\n if (Array.isArray(obj[key])) {\n obj[key].push(value);\n } else {\n obj[key] = [value];\n }\n }\n var unfrozenObject = selections.reduce(function (acc, selection) {\n if (selection.responseKey) {\n assignOrPush(acc, selection.responseKey, selection);\n } else {\n var responseKeys = Object.keys(selection.selectionSet.selectionsByResponseKey);\n\n responseKeys.forEach(function (responseKey) {\n assignOrPush(acc, responseKey, selection);\n });\n }\n\n return acc;\n }, {});\n\n Object.keys(unfrozenObject).forEach(function (key) {\n Object.freeze(unfrozenObject[key]);\n });\n\n return Object.freeze(unfrozenObject);\n}\n\n/**\n * Class that specifies the full selection of data to query.\n */\n\nvar SelectionSet = function () {\n\n /**\n * This constructor should not be invoked directly. SelectionSets are created when building queries/mutations.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {(Object|String)} type The type of the current selection.\n * @param {Function} builderFunction Callback function used to build the SelectionSet.\n * The callback takes a {@link SelectionSetBuilder} as its argument.\n */\n function SelectionSet(typeBundle, type, builderFunction) {\n classCallCheck(this, SelectionSet);\n\n\n if (typeof type === 'string') {\n this.typeSchema = schemaForType(typeBundle, type);\n } else {\n this.typeSchema = type;\n }\n\n trackTypeDependency(this.typeSchema.name);\n\n this.typeBundle = typeBundle;\n this.selections = [];\n if (builderFunction) {\n // eslint-disable-next-line no-use-before-define\n builderFunction(new SelectionSetBuilder(this.typeBundle, this.typeSchema, this.selections));\n }\n\n if (this.typeSchema.implementsNode || this.typeSchema.name === 'Node') {\n if (!selectionsHaveIdField(this.selections)) {\n this.selections.unshift(new Field('id', {}, new SelectionSet(typeBundle, 'ID')));\n }\n }\n\n if (this.typeSchema.kind === 'INTERFACE') {\n if (!selectionsHaveTypenameField(this.selections)) {\n this.selections.unshift(new Field('__typename', {}, new SelectionSet(typeBundle, 'String')));\n }\n }\n\n this.selectionsByResponseKey = indexSelectionsByResponseKey(this.selections);\n Object.freeze(this.selections);\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the SelectionSet (e.g. `{ cat { name } }`).\n *\n * @return {String} The GraphQL query string for the SelectionSet.\n */\n\n\n createClass(SelectionSet, [{\n key: 'toString',\n value: function toString() {\n if (this.typeSchema.kind === 'SCALAR' || this.typeSchema.kind === 'ENUM') {\n return '';\n } else {\n return ' { ' + join(this.selections) + ' }';\n }\n }\n }]);\n return SelectionSet;\n}();\n\nvar SelectionSetBuilder = function () {\n\n /**\n * This constructor should not be invoked directly. SelectionSetBuilders are created when building queries/mutations.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {Object} typeSchema The schema object for the type of the current selection.\n * @param {Field[]} selections The fields on the current selection.\n */\n function SelectionSetBuilder(typeBundle, typeSchema, selections) {\n classCallCheck(this, SelectionSetBuilder);\n\n this.typeBundle = typeBundle;\n this.typeSchema = typeSchema;\n this.selections = selections;\n }\n\n createClass(SelectionSetBuilder, [{\n key: 'hasSelectionWithResponseKey',\n value: function hasSelectionWithResponseKey(responseKey) {\n return this.selections.some(function (field) {\n return field.responseKey === responseKey;\n });\n }\n\n /**\n * Adds a field to be queried on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.add('cat', {args: {id: '123456'}, alias: 'meow'}, (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {SelectionSet|String} selectionOrFieldName The selection or name of the field to add.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{id: '123456'}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'add',\n value: function add(selectionOrFieldName) {\n var selection = void 0;\n\n if (Object.prototype.toString.call(selectionOrFieldName) === '[object String]') {\n trackFieldDependency(this.typeSchema.name, selectionOrFieldName);\n\n for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n selection = this.field.apply(this, [selectionOrFieldName].concat(rest));\n } else {\n if (Field.prototype.isPrototypeOf(selectionOrFieldName)) {\n trackFieldDependency(this.typeSchema.name, selectionOrFieldName.name);\n }\n\n selection = selectionOrFieldName;\n }\n\n if (selection.responseKey && this.hasSelectionWithResponseKey(selection.responseKey)) {\n throw new Error('The field name or alias \\'' + selection.responseKey + '\\' has already been added.');\n }\n this.selections.push(selection);\n }\n }, {\n key: 'field',\n value: function field(name) {\n for (var _len2 = arguments.length, creationArgs = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n creationArgs[_key2 - 1] = arguments[_key2];\n }\n\n var parsedArgs = parseFieldCreationArgs(creationArgs);\n var options = parsedArgs.options,\n callback = parsedArgs.callback;\n var selectionSet = parsedArgs.selectionSet;\n\n\n if (!selectionSet) {\n if (!this.typeSchema.fieldBaseTypes[name]) {\n throw new Error('No field of name \"' + name + '\" found on type \"' + this.typeSchema.name + '\" in schema');\n }\n\n var fieldBaseType = schemaForType(this.typeBundle, this.typeSchema.fieldBaseTypes[name]);\n\n selectionSet = new SelectionSet(this.typeBundle, fieldBaseType, callback);\n }\n\n return new Field(name, options, selectionSet);\n }\n\n /**\n * Creates an inline fragment.\n *\n * @access private\n * @param {String} typeName The type the inline fragment.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n * @return {InlineFragment} An inline fragment.\n */\n\n }, {\n key: 'inlineFragmentOn',\n value: function inlineFragmentOn(typeName) {\n var builderFunctionOrSelectionSet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var selectionSet = void 0;\n\n if (SelectionSet.prototype.isPrototypeOf(builderFunctionOrSelectionSet)) {\n selectionSet = builderFunctionOrSelectionSet;\n } else {\n selectionSet = new SelectionSet(this.typeBundle, schemaForType(this.typeBundle, typeName), builderFunctionOrSelectionSet);\n }\n\n return new InlineFragment(typeName, selectionSet);\n }\n\n /**\n * Adds a field to be queried on the current selection.\n *\n * @access private\n * @param {String} name The name of the field to add to the query.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{id: '123456'}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function} [callback] Callback which will be used to create a new {@link SelectionSet} for the field added.\n */\n\n }, {\n key: 'addField',\n value: function addField(name) {\n for (var _len3 = arguments.length, creationArgs = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n creationArgs[_key3 - 1] = arguments[_key3];\n }\n\n this.add.apply(this, [name].concat(creationArgs));\n }\n\n /**\n * Adds a connection to be queried on the current selection.\n * This adds all the fields necessary for pagination.\n *\n * @example\n * client.query((root) => {\n * root.add('cat', (cat) => {\n * cat.addConnection('friends', {args: {first: 10}, alias: 'coolCats'}, (friends) => {\n * friends.add('name');\n * });\n * });\n * });\n *\n * @param {String} name The name of the connection to add to the query.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{first: 10}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'addConnection',\n value: function addConnection(name) {\n for (var _len4 = arguments.length, creationArgs = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n creationArgs[_key4 - 1] = arguments[_key4];\n }\n\n var _parseFieldCreationAr = parseFieldCreationArgs(creationArgs),\n options = _parseFieldCreationAr.options,\n callback = _parseFieldCreationAr.callback,\n selectionSet = _parseFieldCreationAr.selectionSet;\n\n this.add(name, options, function (connection) {\n connection.add('pageInfo', {}, function (pageInfo) {\n pageInfo.add('hasNextPage');\n pageInfo.add('hasPreviousPage');\n });\n connection.add('edges', {}, function (edges) {\n edges.add('cursor');\n edges.addField('node', {}, selectionSet || callback); // This is bad. Don't do this\n });\n });\n }\n\n /**\n * Adds an inline fragment on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.add('animal', (animal) => {\n * animal.addInlineFragmentOn('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {String} typeName The name of the type of the inline fragment.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'addInlineFragmentOn',\n value: function addInlineFragmentOn(typeName) {\n var fieldTypeCb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n this.add(this.inlineFragmentOn(typeName, fieldTypeCb));\n }\n\n /**\n * Adds a fragment spread on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.addFragment(catFragmentSpread);\n * });\n *\n * @param {FragmentSpread} fragmentSpread The fragment spread to add.\n */\n\n }, {\n key: 'addFragment',\n value: function addFragment(fragmentSpread) {\n this.add(fragmentSpread);\n }\n }]);\n return SelectionSetBuilder;\n}();\n\nfunction parseArgs(args) {\n var name = void 0;\n var variables = void 0;\n var selectionSetCallback = void 0;\n\n if (args.length === 3) {\n var _args = slicedToArray(args, 3);\n\n name = _args[0];\n variables = _args[1];\n selectionSetCallback = _args[2];\n } else if (args.length === 2) {\n if (Object.prototype.toString.call(args[0]) === '[object String]') {\n name = args[0];\n variables = null;\n } else if (Array.isArray(args[0])) {\n variables = args[0];\n name = null;\n }\n\n selectionSetCallback = args[1];\n } else {\n selectionSetCallback = args[0];\n name = null;\n }\n\n return { name: name, variables: variables, selectionSetCallback: selectionSetCallback };\n}\n\nvar VariableDefinitions = function () {\n function VariableDefinitions(variableDefinitions) {\n classCallCheck(this, VariableDefinitions);\n\n this.variableDefinitions = variableDefinitions ? [].concat(toConsumableArray(variableDefinitions)) : [];\n Object.freeze(this.variableDefinitions);\n Object.freeze(this);\n }\n\n createClass(VariableDefinitions, [{\n key: 'toString',\n value: function toString() {\n if (this.variableDefinitions.length === 0) {\n return '';\n }\n\n return ' (' + join(this.variableDefinitions) + ') ';\n }\n }]);\n return VariableDefinitions;\n}();\n\n/**\n * Base class for {@link Query} and {@link Mutation}.\n * @abstract\n */\n\n\nvar Operation = function () {\n\n /**\n * This constructor should not be invoked. The subclasses {@link Query} and {@link Mutation} should be used instead.\n */\n function Operation(typeBundle, operationType) {\n classCallCheck(this, Operation);\n\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var _parseArgs = parseArgs(args),\n name = _parseArgs.name,\n variables = _parseArgs.variables,\n selectionSetCallback = _parseArgs.selectionSetCallback;\n\n this.typeBundle = typeBundle;\n this.name = name;\n this.variableDefinitions = new VariableDefinitions(variables);\n this.operationType = operationType;\n if (operationType === 'query') {\n this.selectionSet = new SelectionSet(typeBundle, typeBundle.queryType, selectionSetCallback);\n this.typeSchema = schemaForType(typeBundle, typeBundle.queryType);\n } else {\n this.selectionSet = new SelectionSet(typeBundle, typeBundle.mutationType, selectionSetCallback);\n this.typeSchema = schemaForType(typeBundle, typeBundle.mutationType);\n }\n Object.freeze(this);\n }\n\n /**\n * Whether the operation is anonymous (i.e. has no name).\n */\n\n\n createClass(Operation, [{\n key: 'toString',\n\n\n /**\n * Returns the GraphQL query or mutation string (e.g. `query myQuery { cat { name } }`).\n *\n * @return {String} The GraphQL query or mutation string.\n */\n value: function toString() {\n var nameString = this.name ? ' ' + this.name : '';\n\n return '' + this.operationType + nameString + this.variableDefinitions + this.selectionSet;\n }\n }, {\n key: 'isAnonymous',\n get: function get$$1() {\n return !this.name;\n }\n }]);\n return Operation;\n}();\n\n/**\n * GraphQL Query class.\n * @extends Operation\n */\n\nvar Query = function (_Operation) {\n inherits(Query, _Operation);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory functions {@link Client#query} or {@link Document#addQuery} to create a Query.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {String} [name] A name for the query.\n * @param {Object[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n */\n function Query(typeBundle) {\n var _ref;\n\n classCallCheck(this, Query);\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return possibleConstructorReturn(this, (_ref = Query.__proto__ || Object.getPrototypeOf(Query)).call.apply(_ref, [this, typeBundle, 'query'].concat(args)));\n }\n\n return Query;\n}(Operation);\n\n/**\n * GraphQL Mutation class.\n * @extends Operation\n */\n\nvar Mutation = function (_Operation) {\n inherits(Mutation, _Operation);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory functions {@link Client#mutation} or {@link Document#addMutation} to create a Mutation.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {String} [name] A name for the mutation.\n * @param {Object[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The mutation builder callback.\n * A {@link SelectionSet} is created using this callback.\n */\n function Mutation(typeBundle) {\n var _ref;\n\n classCallCheck(this, Mutation);\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return possibleConstructorReturn(this, (_ref = Mutation.__proto__ || Object.getPrototypeOf(Mutation)).call.apply(_ref, [this, typeBundle, 'mutation'].concat(args)));\n }\n\n return Mutation;\n}(Operation);\n\nfunction isAnonymous(operation) {\n return operation.isAnonymous;\n}\n\nfunction hasAnonymousOperations(operations) {\n return operations.some(isAnonymous);\n}\n\nfunction hasDuplicateOperationNames(operations) {\n var names = operations.map(function (operation) {\n return operation.name;\n });\n\n return names.reduce(function (hasDuplicates, name, index) {\n return hasDuplicates || names.indexOf(name) !== index;\n }, false);\n}\n\nfunction extractOperation(typeBundle, operationType) {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (Operation.prototype.isPrototypeOf(args[0])) {\n return args[0];\n }\n\n if (operationType === 'query') {\n return new (Function.prototype.bind.apply(Query, [null].concat([typeBundle], args)))();\n } else {\n return new (Function.prototype.bind.apply(Mutation, [null].concat([typeBundle], args)))();\n }\n}\n\nfunction isInvalidOperationCombination(operations) {\n if (operations.length === 1) {\n return false;\n }\n\n return hasAnonymousOperations(operations) || hasDuplicateOperationNames(operations);\n}\n\nfunction fragmentNameIsNotUnique(existingDefinitions, name) {\n return existingDefinitions.some(function (definition) {\n return definition.name === name;\n });\n}\n\nvar Document = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#document} to create a Document.\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n */\n function Document(typeBundle) {\n classCallCheck(this, Document);\n\n this.typeBundle = typeBundle;\n this.definitions = [];\n }\n\n /**\n * Returns the GraphQL query string for the Document (e.g. `query queryOne { ... } query queryTwo { ... }`).\n *\n * @return {String} The GraphQL query string for the Document.\n */\n\n\n createClass(Document, [{\n key: 'toString',\n value: function toString() {\n return join(this.definitions);\n }\n\n /**\n * Adds an operation to the Document.\n *\n * @private\n * @param {String} operationType The type of the operation. Either 'query' or 'mutation'.\n * @param {(Operation|String)} [query|queryName] Either an instance of an operation\n * object, or the name of an operation. Both are optional.\n * @param {Object[]} [variables] A list of variables in the operation. See {@link Client#variable}.\n * @param {Function} [callback] The query builder callback. If an operation\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addOperation',\n value: function addOperation(operationType) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n var operation = extractOperation.apply(undefined, [this.typeBundle, operationType].concat(args));\n\n if (isInvalidOperationCombination(this.operations.concat(operation))) {\n throw new Error('All operations must be uniquely named on a multi-operation document');\n }\n\n this.definitions.push(operation);\n }\n\n /**\n * Adds a query to the Document.\n *\n * @example\n * document.addQuery('myQuery', (root) => {\n * root.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {(Query|String)} [query|queryName] Either an instance of a query\n * object, or the name of a query. Both are optional.\n * @param {Object[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} [callback] The query builder callback. If a query\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addQuery',\n value: function addQuery() {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n this.addOperation.apply(this, ['query'].concat(args));\n }\n\n /**\n * Adds a mutation to the Document.\n *\n * @example\n * const input = client.variable('input', 'CatCreateInput!');\n *\n * document.addMutation('myMutation', [input], (root) => {\n * root.add('catCreate', {args: {input}}, (catCreate) => {\n * catCreate.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {(Mutation|String)} [mutation|mutationName] Either an instance of a mutation\n * object, or the name of a mutation. Both are optional.\n * @param {Object[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} [callback] The mutation builder callback. If a mutation\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addMutation',\n value: function addMutation() {\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n this.addOperation.apply(this, ['mutation'].concat(args));\n }\n\n /**\n * Defines a fragment on the Document.\n *\n * @param {String} name The name of the fragment.\n * @param {String} onType The type the fragment is on.\n * @param {Function} [builderFunction] The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {FragmentSpread} A {@link FragmentSpread} to be used with {@link SelectionSetBuilder#addFragment}.\n */\n\n }, {\n key: 'defineFragment',\n value: function defineFragment(name, onType, builderFunction) {\n if (fragmentNameIsNotUnique(this.fragmentDefinitions, name)) {\n throw new Error('All fragments must be uniquely named on a multi-fragment document');\n }\n\n var selectionSet = new SelectionSet(this.typeBundle, onType, builderFunction);\n var fragment = new FragmentDefinition(name, onType, selectionSet);\n\n this.definitions.push(fragment);\n\n return fragment.spread;\n }\n\n /**\n * All operations ({@link Query} and {@link Mutation}) on the Document.\n */\n\n }, {\n key: 'operations',\n get: function get$$1() {\n return this.definitions.filter(function (definition) {\n return Operation.prototype.isPrototypeOf(definition);\n });\n }\n\n /**\n * All {@link FragmentDefinition}s on the Document.\n */\n\n }, {\n key: 'fragmentDefinitions',\n get: function get$$1() {\n return this.definitions.filter(function (definition) {\n return FragmentDefinition.prototype.isPrototypeOf(definition);\n });\n }\n }]);\n return Document;\n}();\n\n/**\n * The base class used when deserializing response data.\n * Provides rich features, like functions to generate queries to refetch a node or fetch the next page.\n *\n * @class\n */\nvar GraphModel =\n\n/**\n * @param {Object} attrs Attributes on the GraphModel.\n */\nfunction GraphModel(attrs) {\n var _this = this;\n\n classCallCheck(this, GraphModel);\n\n Object.defineProperty(this, 'attrs', { value: attrs, enumerable: false });\n\n Object.keys(this.attrs).filter(function (key) {\n return !(key in _this);\n }).forEach(function (key) {\n var descriptor = void 0;\n\n if (attrs[key] === null) {\n descriptor = {\n enumerable: true,\n get: function get$$1() {\n return null;\n }\n };\n } else {\n descriptor = {\n enumerable: true,\n get: function get$$1() {\n return this.attrs[key].valueOf();\n }\n };\n }\n Object.defineProperty(_this, key, descriptor);\n });\n};\n\n/**\n * A registry of classes used to deserialize the response data. Uses {@link GraphModel} by default.\n */\n\nvar ClassRegistry = function () {\n function ClassRegistry() {\n classCallCheck(this, ClassRegistry);\n\n this.classStore = {};\n }\n\n /**\n * Registers a class for a GraphQL type in the registry.\n *\n * @param {Class} constructor The constructor of the class.\n * @param {String} type The GraphQL type of the object to deserialize into the class.\n */\n\n\n createClass(ClassRegistry, [{\n key: 'registerClassForType',\n value: function registerClassForType(constructor, type) {\n this.classStore[type] = constructor;\n }\n\n /**\n * Unregisters a class for a GraphQL type in the registry.\n *\n * @param {String} type The GraphQL type to unregister.\n */\n\n }, {\n key: 'unregisterClassForType',\n value: function unregisterClassForType(type) {\n delete this.classStore[type];\n }\n\n /**\n * Returns the class for the given GraphQL type.\n *\n * @param {String} type The GraphQL type to look up.\n * @return {Class|GraphModel} The class for the given GraphQL type. Defaults to {@link GraphModel} if no class is registered for the GraphQL type.\n */\n\n }, {\n key: 'classForType',\n value: function classForType(type) {\n return this.classStore[type] || GraphModel;\n }\n }]);\n return ClassRegistry;\n}();\n\nfunction isValue(arg) {\n return Object.prototype.toString.call(arg) !== '[object Null]' && Object.prototype.toString.call(arg) !== '[object Undefined]';\n}\n\nfunction isNodeContext(context) {\n return context.selection.selectionSet.typeSchema.implementsNode;\n}\n\nfunction isConnection(context) {\n return context.selection.selectionSet.typeSchema.name.endsWith('Connection');\n}\n\nfunction nearestNode(context) {\n if (context == null) {\n return null;\n } else if (isNodeContext(context)) {\n return context;\n } else {\n return nearestNode(context.parent);\n }\n}\n\nfunction contextsFromRoot(context) {\n if (context.parent) {\n return contextsFromRoot(context.parent).concat(context);\n } else {\n return [context];\n }\n}\n\nfunction contextsFromNearestNode(context) {\n if (context.selection.selectionSet.typeSchema.implementsNode) {\n return [context];\n } else {\n return contextsFromNearestNode(context.parent).concat(context);\n }\n}\n\nfunction initializeDocumentAndVars(currentContext, contextChain) {\n var lastInChain = contextChain[contextChain.length - 1];\n var first = lastInChain.selection.args.first;\n var variableDefinitions = Object.keys(lastInChain.selection.args).filter(function (key) {\n return isVariable(lastInChain.selection.args[key]);\n }).map(function (key) {\n return lastInChain.selection.args[key];\n });\n\n var firstVar = variableDefinitions.find(function (definition) {\n return definition.name === 'first';\n });\n\n if (!firstVar) {\n firstVar = variable('first', 'Int', first);\n variableDefinitions.push(firstVar);\n }\n\n var document = new Document(currentContext.selection.selectionSet.typeBundle);\n\n return [document, variableDefinitions, firstVar];\n}\n\nfunction addNextFieldTo(currentSelection, contextChain, path, cursor) {\n // There are always at least two. When we start, it's the root context, and the first set\n var nextContext = contextChain.shift();\n\n path.push(nextContext.selection.responseKey);\n\n if (contextChain.length) {\n currentSelection.add(nextContext.selection.name, { alias: nextContext.selection.alias, args: nextContext.selection.args }, function (newSelection) {\n addNextFieldTo(newSelection, contextChain, path, cursor);\n });\n } else {\n var edgesField = nextContext.selection.selectionSet.selections.find(function (field) {\n return field.name === 'edges';\n });\n var nodeField = edgesField.selectionSet.selections.find(function (field) {\n return field.name === 'node';\n });\n var first = void 0;\n\n if (isVariable(nextContext.selection.args.first)) {\n first = nextContext.selection.args.first;\n } else {\n first = variable('first', 'Int', nextContext.selection.args.first);\n }\n\n var options = {\n alias: nextContext.selection.alias,\n args: Object.assign({}, nextContext.selection.args, { after: cursor, first: first })\n };\n\n currentSelection.addConnection(nextContext.selection.name, options, nodeField.selectionSet);\n }\n}\n\nfunction collectFragments(selections) {\n return selections.reduce(function (fragmentDefinitions, field) {\n if (FragmentSpread.prototype.isPrototypeOf(field)) {\n fragmentDefinitions.push(field.toDefinition());\n }\n\n fragmentDefinitions.push.apply(fragmentDefinitions, toConsumableArray(collectFragments(field.selectionSet.selections)));\n\n return fragmentDefinitions;\n }, []);\n}\n\nfunction nextPageQueryAndPath(context, cursor) {\n var nearestNodeContext = nearestNode(context);\n\n if (nearestNodeContext) {\n return function () {\n var _document$definitions;\n\n var path = [];\n var nodeType = nearestNodeContext.selection.selectionSet.typeSchema;\n var nodeId = nearestNodeContext.responseData.id;\n var contextChain = contextsFromNearestNode(context);\n\n var _initializeDocumentAn = initializeDocumentAndVars(context, contextChain),\n _initializeDocumentAn2 = slicedToArray(_initializeDocumentAn, 2),\n document = _initializeDocumentAn2[0],\n variableDefinitions = _initializeDocumentAn2[1];\n\n document.addQuery(variableDefinitions, function (root) {\n path.push('node');\n root.add('node', { args: { id: nodeId } }, function (node) {\n node.addInlineFragmentOn(nodeType.name, function (fragment) {\n addNextFieldTo(fragment, contextChain.slice(1), path, cursor);\n });\n });\n });\n\n var fragments = collectFragments(document.operations[0].selectionSet.selections);\n\n (_document$definitions = document.definitions).unshift.apply(_document$definitions, toConsumableArray(fragments));\n\n return [document, path];\n };\n } else {\n return function () {\n var _document$definitions2;\n\n var path = [];\n var contextChain = contextsFromRoot(context);\n\n var _initializeDocumentAn3 = initializeDocumentAndVars(context, contextChain),\n _initializeDocumentAn4 = slicedToArray(_initializeDocumentAn3, 2),\n document = _initializeDocumentAn4[0],\n variableDefinitions = _initializeDocumentAn4[1];\n\n document.addQuery(variableDefinitions, function (root) {\n addNextFieldTo(root, contextChain.slice(1), path, cursor);\n });\n\n var fragments = collectFragments(document.operations[0].selectionSet.selections);\n\n (_document$definitions2 = document.definitions).unshift.apply(_document$definitions2, toConsumableArray(fragments));\n\n return [document, path];\n };\n }\n}\n\nfunction hasNextPage$1(connection, edge) {\n if (edge !== connection.edges[connection.edges.length - 1]) {\n return new Scalar(true);\n }\n\n return connection.pageInfo.hasNextPage;\n}\n\nfunction hasPreviousPage(connection, edge) {\n if (edge !== connection.edges[0]) {\n return new Scalar(true);\n }\n\n return connection.pageInfo.hasPreviousPage;\n}\n\nfunction transformConnections(variableValues) {\n return function (context, value) {\n if (isConnection(context)) {\n if (!(value.pageInfo && value.pageInfo.hasOwnProperty('hasNextPage') && value.pageInfo.hasOwnProperty('hasPreviousPage'))) {\n throw new Error('Connections must include the selections \"pageInfo { hasNextPage, hasPreviousPage }\".');\n }\n\n return value.edges.map(function (edge) {\n return Object.assign(edge.node, {\n nextPageQueryAndPath: nextPageQueryAndPath(context, edge.cursor),\n hasNextPage: hasNextPage$1(value, edge),\n hasPreviousPage: hasPreviousPage(value, edge),\n variableValues: variableValues\n });\n });\n } else {\n return value;\n }\n };\n}\n\n/* eslint-disable no-warning-comments */\nvar DecodingContext = function () {\n function DecodingContext(selection, responseData) {\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n classCallCheck(this, DecodingContext);\n\n this.selection = selection;\n this.responseData = responseData;\n this.parent = parent;\n Object.freeze(this);\n }\n\n createClass(DecodingContext, [{\n key: 'contextForObjectProperty',\n value: function contextForObjectProperty(responseKey) {\n var nestedSelections = this.selection.selectionSet.selectionsByResponseKey[responseKey];\n var nextSelection = nestedSelections && nestedSelections[0];\n var nextContext = void 0;\n\n // fragment spreads operate inside the current context, so we recurse to get the proper\n // selection set, but retain the current response context\n if (Spread.prototype.isPrototypeOf(nextSelection)) {\n nextContext = new DecodingContext(nextSelection, this.responseData, this.parent);\n } else {\n nextContext = new DecodingContext(nextSelection, this.responseData[responseKey], this);\n }\n\n if (!nextSelection) {\n throw new Error('Unexpected response key \"' + responseKey + '\", not found in selection set: ' + this.selection.selectionSet);\n }\n\n if (Field.prototype.isPrototypeOf(nextSelection)) {\n return nextContext;\n } else {\n return nextContext.contextForObjectProperty(responseKey);\n }\n }\n }, {\n key: 'contextForArrayItem',\n value: function contextForArrayItem(item) {\n return new DecodingContext(this.selection, item, this.parent);\n }\n }]);\n return DecodingContext;\n}();\n\nfunction decodeArrayItems(context, transformers) {\n return context.responseData.map(function (item) {\n return decodeContext(context.contextForArrayItem(item), transformers);\n });\n}\n\nfunction decodeObjectValues(context, transformers) {\n return Object.keys(context.responseData).reduce(function (acc, responseKey) {\n acc[responseKey] = decodeContext(context.contextForObjectProperty(responseKey), transformers);\n\n return acc;\n }, {});\n}\n\nfunction runTransformers(transformers, context, value) {\n return transformers.reduce(function (acc, transformer) {\n return transformer(context, acc);\n }, value);\n}\n\nfunction decodeContext(context, transformers) {\n var value = context.responseData;\n\n if (Array.isArray(value)) {\n value = decodeArrayItems(context, transformers);\n } else if (isObject(value)) {\n value = decodeObjectValues(context, transformers);\n }\n\n return runTransformers(transformers, context, value);\n}\n\nfunction generateRefetchQueries(context, value) {\n if (isValue(value) && isNodeContext(context)) {\n value.refetchQuery = function () {\n return new Query(context.selection.selectionSet.typeBundle, function (root) {\n root.add('node', { args: { id: context.responseData.id } }, function (node) {\n node.addInlineFragmentOn(context.selection.selectionSet.typeSchema.name, context.selection.selectionSet);\n });\n });\n };\n }\n\n return value;\n}\n\nfunction transformPojosToClassesWithRegistry(classRegistry) {\n return function transformPojosToClasses(context, value) {\n if (isObject(value)) {\n var Klass = classRegistry.classForType(context.selection.selectionSet.typeSchema.name);\n\n return new Klass(value);\n } else {\n return value;\n }\n };\n}\n\nfunction transformScalars(context, value) {\n if (isValue(value)) {\n if (context.selection.selectionSet.typeSchema.kind === 'SCALAR') {\n return new Scalar(value);\n } else if (context.selection.selectionSet.typeSchema.kind === 'ENUM') {\n return new Enum(value);\n }\n }\n\n return value;\n}\n\nfunction recordTypeInformation(context, value) {\n if (isValue(value)) {\n if (value.__typename) {\n value.type = schemaForType(context.selection.selectionSet.typeBundle, value.__typename);\n } else {\n value.type = context.selection.selectionSet.typeSchema;\n }\n }\n\n return value;\n}\n\nfunction defaultTransformers(_ref) {\n var _ref$classRegistry = _ref.classRegistry,\n classRegistry = _ref$classRegistry === undefined ? new ClassRegistry() : _ref$classRegistry,\n variableValues = _ref.variableValues;\n\n return [transformScalars, generateRefetchQueries, transformConnections(variableValues), recordTypeInformation, transformPojosToClassesWithRegistry(classRegistry)];\n}\n\n/**\n * A function used to decode the response data.\n *\n * @function decode\n * @param {SelectionSet} selection The selection set used to query the response data.\n * @param {Object} responseData The response data returned.\n * @param {Object} [options] Options to use when decoding including:\n * @param {ClassRegistry} [options.classRegistry] A class registry to use when deserializing the data into classes.\n * @return {GraphModel} The decoded response data.\n */\nfunction decode(selection, responseData) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var transformers = options.transformers || defaultTransformers(options);\n var context = new DecodingContext(selection, responseData);\n\n return decodeContext(context, transformers);\n}\n\nfunction httpFetcher(url) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return function fetcher(graphQLParams) {\n return fetch(url, _extends({\n body: JSON.stringify(graphQLParams),\n method: 'POST',\n mode: 'cors'\n }, options, {\n headers: _extends({\n 'Content-Type': 'application/json',\n Accept: 'application/json'\n }, options.headers)\n })).then(function (response) {\n return response.json();\n });\n };\n}\n\nfunction hasNextPage(paginatedModels) {\n return paginatedModels && paginatedModels.length && paginatedModels[paginatedModels.length - 1].hasNextPage;\n}\n\n/**\n * The Client class used to create and send GraphQL documents, fragments, queries and mutations.\n */\n\nvar Client = function () {\n\n /**\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {Object} options An options object. Must include either `url` and optional `fetcherOptions` OR a `fetcher` function.\n * @param {(String|Function)} options.url|fetcher Either the URL of the GraphQL API endpoint, or a custom fetcher function for further customization.\n * @param {Object} [options.fetcherOptions] Additional options to use with `fetch`, like headers. Do not specify this argument if `fetcher` is specified.\n * @param {ClassRegistry} [options.registry=new ClassRegistry()] A {@link ClassRegistry} used to decode the response data.\n */\n function Client(typeBundle, _ref) {\n var url = _ref.url,\n fetcherOptions = _ref.fetcherOptions,\n fetcher = _ref.fetcher,\n _ref$registry = _ref.registry,\n registry = _ref$registry === undefined ? new ClassRegistry() : _ref$registry;\n classCallCheck(this, Client);\n\n this.typeBundle = typeBundle;\n this.classRegistry = registry;\n\n if (url && fetcher) {\n throw new Error('Arguments not supported: supply either `url` and optional `fetcherOptions` OR use a `fetcher` function for further customization.');\n }\n\n if (url) {\n this.fetcher = httpFetcher(url, fetcherOptions);\n } else if (fetcher) {\n if (fetcherOptions) {\n throw new Error('Arguments not supported: when specifying your own `fetcher`, set options through it and not with `fetcherOptions`');\n }\n\n this.fetcher = fetcher;\n } else {\n throw new Error('Invalid arguments: one of `url` or `fetcher` is needed.');\n }\n }\n\n /**\n * Creates a GraphQL document.\n *\n * @example\n * const document = client.document();\n *\n * @return {Document} A GraphQL document.\n */\n\n\n createClass(Client, [{\n key: 'document',\n value: function document() {\n return new Document(this.typeBundle);\n }\n\n /**\n * Creates a GraphQL query.\n *\n * @example\n * const query = client.query('myQuery', (root) => {\n * root.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {String} [name] A name for the query.\n * @param {VariableDefinition[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {Query} A GraphQL query.\n */\n\n }, {\n key: 'query',\n value: function query() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return new (Function.prototype.bind.apply(Query, [null].concat([this.typeBundle], args)))();\n }\n\n /**\n * Creates a GraphQL mutation.\n *\n * @example\n * const input = client.variable('input', 'CatCreateInput!');\n *\n * const mutation = client.mutation('myMutation', [input], (root) => {\n * root.add('catCreate', {args: {input}}, (catCreate) => {\n * catCreate.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {String} [name] A name for the mutation.\n * @param {VariableDefinition[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The mutation builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {Mutation} A GraphQL mutation.\n */\n\n }, {\n key: 'mutation',\n value: function mutation() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return new (Function.prototype.bind.apply(Mutation, [null].concat([this.typeBundle], args)))();\n }\n\n /**\n * Sends a GraphQL operation (query or mutation) or a document.\n *\n * @example\n * client.send(query, {id: '12345'}).then((result) => {\n * // Do something with the returned result\n * console.log(result);\n * });\n *\n * @param {(Query|Mutation|Document|Function)} request The operation or document to send. If represented\n * as a function, it must return `Query`, `Mutation`, or `Document` and recieve the client as the only param.\n * @param {Object} [variableValues] The values for variables in the operation or document.\n * @param {Object} [otherProperties] Other properties to send with the query. For example, a custom operation name.\n * @return {Promise.} A promise resolving to an object containing the response data.\n */\n\n }, {\n key: 'send',\n value: function send(request) {\n var _this = this;\n\n var variableValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var otherProperties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n var operationOrDocument = void 0;\n\n if (Function.prototype.isPrototypeOf(request)) {\n operationOrDocument = request(this);\n } else {\n operationOrDocument = request;\n }\n\n var graphQLParams = { query: operationOrDocument.toString() };\n\n if (variableValues) {\n graphQLParams.variables = variableValues;\n }\n\n Object.assign(graphQLParams, otherProperties);\n\n var operation = void 0;\n\n if (Operation.prototype.isPrototypeOf(operationOrDocument)) {\n operation = operationOrDocument;\n } else {\n var document = operationOrDocument;\n\n if (document.operations.length === 1) {\n operation = document.operations[0];\n } else if (otherProperties.operationName) {\n operation = document.operations.find(function (documentOperation) {\n return documentOperation.name === otherProperties.operationName;\n });\n } else {\n throw new Error('\\n A document must contain exactly one operation, or an operationName\\n must be specified. Example:\\n\\n client.send(document, null, {operationName: \\'myFancyQuery\\'});\\n ');\n }\n }\n\n return this.fetcher(graphQLParams).then(function (response) {\n if (response.data) {\n response.model = decode(operation, response.data, {\n classRegistry: _this.classRegistry,\n variableValues: variableValues\n });\n }\n\n return response;\n });\n }\n\n /**\n * Fetches the next page of a paginated node or array of nodes.\n *\n * @example\n * client.fetchNextPage(node, {first: 10}).then((result) => {\n * // Do something with the next page\n * console.log(result);\n * });\n *\n * @param {(GraphModel|GraphModel[])} nodeOrNodes The node or list of nodes on which to fetch the next page.\n * @param {Object} [options] Options object containing:\n * @param {Integer} [options.first] The number of nodes to query on the next page. Defaults to the page size of the previous query.\n * @return {Promise.} A promise resolving with the next page of {@link GraphModel}s.\n */\n\n }, {\n key: 'fetchNextPage',\n value: function fetchNextPage(nodeOrNodes, options) {\n var node = void 0;\n\n if (Array.isArray(nodeOrNodes)) {\n node = nodeOrNodes[nodeOrNodes.length - 1];\n } else {\n node = nodeOrNodes;\n }\n\n var _node$nextPageQueryAn = node.nextPageQueryAndPath(),\n _node$nextPageQueryAn2 = slicedToArray(_node$nextPageQueryAn, 2),\n query = _node$nextPageQueryAn2[0],\n path = _node$nextPageQueryAn2[1];\n\n var variableValues = void 0;\n\n if (node.variableValues || options) {\n variableValues = Object.assign({}, node.variableValues, options);\n }\n\n return this.send(query, variableValues).then(function (response) {\n response.model = path.reduce(function (object, key) {\n return object[key];\n }, response.model);\n\n return response;\n });\n }\n\n /**\n * Fetches all subsequent pages of a paginated array of nodes.\n *\n * @example\n * client.fetchAllPages(nodes, {pageSize: 20}).then((result) => {\n * // Do something with all the models\n * console.log(result);\n * });\n *\n * @param {GraphModel[]} paginatedModels The list of nodes on which to fetch all pages.\n * @param {Object} options Options object containing:\n * @param {Integer} options.pageSize The number of nodes to query on each page.\n * @return {Promise.} A promise resolving with all pages of {@link GraphModel}s, including the original list.\n */\n\n }, {\n key: 'fetchAllPages',\n value: function fetchAllPages(paginatedModels, _ref2) {\n var _this2 = this;\n\n var pageSize = _ref2.pageSize;\n\n if (hasNextPage(paginatedModels)) {\n return this.fetchNextPage(paginatedModels, { first: pageSize }).then(function (_ref3) {\n var model = _ref3.model;\n\n var pages = paginatedModels.concat(model);\n\n return _this2.fetchAllPages(pages, { pageSize: pageSize });\n });\n }\n\n return Promise.resolve(paginatedModels);\n }\n\n /**\n * Refetches a {@link GraphModel} whose type implements `Node`.\n *\n * @example\n * client.refetch(node).then((result) => {\n * // Do something with the refetched node\n * console.log(result);\n * });\n *\n * @param {GraphModel} nodeType A {@link GraphModel} whose type implements `Node`.\n * @return {Promise.} The refetched {@link GraphModel}.\n */\n\n }, {\n key: 'refetch',\n value: function refetch(nodeType) {\n if (!nodeType) {\n throw new Error('\\'client#refetch\\' must be called with a non-null instance of a Node.');\n } else if (!nodeType.type.implementsNode) {\n throw new Error('\\'client#refetch\\' must be called with a type that implements Node. Received ' + nodeType.type.name + '.');\n }\n\n return this.send(nodeType.refetchQuery()).then(function (_ref4) {\n var model = _ref4.model;\n return model.node;\n });\n }\n\n /**\n * Creates a variable to be used in a {@link Query} or {@link Mutation}.\n *\n * @example\n * const idVariable = client.variable('id', 'ID!', '12345');\n *\n * @param {String} name The name of the variable.\n * @param {String} type The GraphQL type of the variable.\n * @param {*} [defaultValue] The default value of the variable.\n * @return {VariableDefinition} A variable object that can be used in a {@link Query} or {@link Mutation}.\n */\n\n }, {\n key: 'variable',\n value: function variable$$1(name, type, defaultValue) {\n return variable(name, type, defaultValue);\n }\n\n /**\n * Creates an enum to be used in a {@link Query} or {@link Mutation}.\n *\n * @example\n * const titleEnum = client.enum('TITLE');\n *\n * @param {String} key The key of the enum.\n * @return {Enum} An enum object that can be used in a {@link Query} or {@link Mutation}.\n */\n\n }, {\n key: 'enum',\n value: function _enum(key) {\n return enumFunction(key);\n }\n }]);\n return Client;\n}();\n\nexport { ClassRegistry, GraphModel, decode };export default Client;\n//# sourceMappingURL=index.es.js.map\n","/**\n * The class used to configure the JS Buy SDK Client.\n * @class\n */\nclass Config {\n\n /**\n * Properties that must be set on initializations\n * @attribute requiredProperties\n * @default ['storefrontAccessToken', 'domain']\n * @type Array\n * @private\n */\n get requiredProperties() {\n return [\n 'storefrontAccessToken',\n 'domain'\n ];\n }\n\n /**\n * Deprecated properties that map directly to required properties\n * @attribute deprecatedProperties\n * @default {'accessToken': 'storefrontAccessToken', 'apiKey': 'storefrontAccessToken'}\n * @type Object\n * @private\n */\n get deprecatedProperties() {\n return {\n accessToken: 'storefrontAccessToken',\n apiKey: 'storefrontAccessToken'\n };\n }\n\n /**\n * @constructs Config\n * @param {Object} attrs An object specifying the configuration. Requires the following properties:\n * @param {String} attrs.storefrontAccessToken The {@link https://help.shopify.com/api/reference/storefront_access_token|Storefront access token} for the shop.\n * @param {String} attrs.domain The `myshopify` domain for the shop (e.g. `graphql.myshopify.com`).\n */\n constructor(attrs) {\n Object.keys(this.deprecatedProperties).forEach((key) => {\n if (!attrs.hasOwnProperty(key)) { return; }\n // eslint-disable-next-line no-console\n console.warn(`[ShopifyBuy] Config property ${key} is deprecated as of v1.0, please use ${this.deprecatedProperties[key]} instead.`);\n attrs[this.deprecatedProperties[key]] = attrs[key];\n });\n\n this.requiredProperties.forEach((key) => {\n if (attrs.hasOwnProperty(key)) {\n this[key] = attrs[key];\n } else {\n throw new Error(`new Config() requires the option '${key}'`);\n }\n });\n }\n}\n\nexport default Config;\n","export default class Resource {\n constructor(client) {\n this.graphQLClient = client;\n }\n}\n","export const defaultErrors = [{message: 'an unknown error has occured.'}];\n\nexport default function defaultResolver(path) {\n const keys = path.split('.');\n\n return function({model, errors}) {\n return new Promise((resolve, reject) => {\n try {\n const result = keys.reduce((ref, key) => {\n return ref[key];\n }, model);\n\n resolve(result);\n } catch (_) {\n if (errors) {\n reject(errors);\n } else {\n reject(defaultErrors);\n }\n }\n });\n };\n}\n","export default function fetchResourcesForProducts(productOrProduct, client) {\n const products = [].concat(productOrProduct);\n\n return Promise.all(products.reduce((promiseAcc, product) => {\n // Fetch the rest of the images and variants for this product\n promiseAcc.push(client.fetchAllPages(product.images, {pageSize: 250}).then((images) => {\n product.attrs.images = images;\n }));\n\n promiseAcc.push(client.fetchAllPages(product.variants, {pageSize: 250}).then((variants) => {\n product.attrs.variants = variants;\n }));\n\n return promiseAcc;\n }, []));\n}\n","import fetchResourcesForProducts from './fetch-resources-for-products';\n\nexport function paginateProductConnectionsAndResolve(client) {\n return function(products) {\n return fetchResourcesForProducts(products, client).then(() => {\n return products;\n });\n };\n}\n\nexport function paginateCollectionsProductConnectionsAndResolve(client) {\n return function(collectionOrCollections) {\n const collections = [].concat(collectionOrCollections);\n\n return Promise.all(collections.reduce((promiseAcc, collection) => {\n return promiseAcc.concat(fetchResourcesForProducts(collection.products, client));\n }, [])).then(() => {\n return collectionOrCollections;\n });\n };\n}\n","/**\n * @namespace ProductHelpers\n */\nexport default {\n\n /**\n * Returns the variant of a product corresponding to the options given.\n *\n * @example\n * const selectedVariant = client.product.variantForOptions(product, {\n * size: \"Small\",\n * color: \"Red\"\n * });\n *\n * @memberof ProductHelpers\n * @method variantForOptions\n * @param {GraphModel} product The product to find the variant on. Must include `variants`.\n * @param {Object} options An object containing the options for the variant.\n * @return {GraphModel} The variant corresponding to the options given.\n */\n variantForOptions(product, options) {\n return product.variants.find((variant) => {\n return variant.selectedOptions.every((selectedOption) => {\n return options[selectedOption.name] === selectedOption.value.valueOf();\n });\n });\n }\n};\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport {paginateProductConnectionsAndResolve} from './paginators';\nimport productHelpers from './product-helpers';\n\n// GraphQL\nimport productNodeQuery from './graphql/productNodeQuery.graphql';\nimport productNodesQuery from './graphql/productNodesQuery.graphql';\nimport productConnectionQuery from './graphql/productConnectionQuery.graphql';\nimport productByHandleQuery from './graphql/productByHandleQuery.graphql';\n\n/**\n * The JS Buy SDK product resource\n * @class\n */\nclass ProductResource extends Resource {\n get helpers() {\n return productHelpers;\n }\n\n /**\n * Fetches all products on the shop.\n *\n * @example\n * client.product.fetchAll().then((products) => {\n * // Do something with the products\n * });\n *\n * @param {Int} [pageSize] The number of products to fetch per page\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the products.\n */\n fetchAll(first = 20) {\n return this.graphQLClient\n .send(productConnectionQuery, {first})\n .then(defaultResolver('products'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single product by ID on the shop.\n *\n * @example\n * client.product.fetch('Xk9lM2JkNzFmNzIQ4NTIY4ZDFi9DaGVja291dC9lM2JkN==').then((product) => {\n * // Do something with the product\n * });\n *\n * @param {String} id The id of the product to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the product.\n */\n fetch(id) {\n return this.graphQLClient\n .send(productNodeQuery, {id})\n .then(defaultResolver('node'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches multiple products by ID on the shop.\n *\n * @example\n * const ids = ['Xk9lM2JkNzFmNzIQ4NTIY4ZDFi9DaGVja291dC9lM2JkN==', 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ='];\n * client.product.fetchMultiple(ids).then((products) => {\n * // Do something with the products\n * });\n *\n * @param {String[]} ids The ids of the products to fetch\n * @return {Promise|GraphModel[]} A promise resolving with a `GraphModel` of the product.\n */\n fetchMultiple(ids) {\n return this.graphQLClient\n .send(productNodesQuery, {ids})\n .then(defaultResolver('nodes'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single product by handle on the shop.\n *\n * @example\n * client.product.fetchByHandle('my-product').then((product) => {\n * // Do something with the product\n * });\n *\n * @param {String} handle The handle of the product to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the product.\n */\n fetchByHandle(handle) {\n return this.graphQLClient\n .send(productByHandleQuery, {handle})\n .then(defaultResolver('productByHandle'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches all products on the shop that match the query.\n *\n * @example\n * client.product.fetchQuery({first: 20, sortKey: 'CREATED_AT', reverse: true}).then((products) => {\n * // Do something with the first 10 products sorted by title in ascending order\n * });\n *\n * @param {Object} [args] An object specifying the query data containing zero or more of:\n * @param {Int} [args.first=20] The relay `first` param. This specifies page size.\n * @param {String} [args.sortKey=ID] The key to sort results by. Available values are\n * documented as {@link https://help.shopify.com/api/storefront-api/reference/enum/productsortkeys|Product Sort Keys}.\n * @param {String} [args.query] A query string. See full documentation {@link https://help.shopify.com/api/storefront-api/reference/object/shop#products|here}\n * @param {Boolean} [args.reverse] Whether or not to reverse the sort order of the results\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the products.\n */\n fetchQuery({first = 20, sortKey = 'ID', query, reverse} = {}) {\n return this.graphQLClient\n .send(productConnectionQuery, {\n first,\n sortKey,\n query,\n reverse\n })\n .then(defaultResolver('products'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n}\n\nexport default ProductResource;\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport {paginateCollectionsProductConnectionsAndResolve} from './paginators';\n\n// GraphQL\nimport collectionNodeQuery from './graphql/collectionNodeQuery.graphql';\nimport collectionNodeWithProductsQuery from './graphql/collectionNodeWithProductsQuery.graphql';\nimport collectionConnectionQuery from './graphql/collectionConnectionQuery.graphql';\nimport collectionConnectionWithProductsQuery from './graphql/collectionConnectionWithProductsQuery.graphql';\nimport collectionByHandleQuery from './graphql/collectionByHandleQuery.graphql';\n\n/**\n * The JS Buy SDK collection resource\n * @class\n */\nclass CollectionResource extends Resource {\n\n /**\n * Fetches all collections on the shop, not including products.\n * To fetch collections with products use [fetchAllsWithProducts]{@link Client#fetchAllsWithProducts}.\n *\n * @example\n * client.collection.fetchAll().then((collections) => {\n * // Do something with the collections\n * });\n *\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchAll(first = 20) {\n return this.graphQLClient\n .send(collectionConnectionQuery, {first})\n .then(defaultResolver('collections'));\n }\n\n /**\n * Fetches all collections on the shop, including products.\n *\n * @example\n * client.collection.fetchAllWithProducts().then((collections) => {\n * // Do something with the collections\n * });\n *\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchAllWithProducts({first = 20, productsFirst = 20} = {}) {\n return this.graphQLClient\n .send(collectionConnectionWithProductsQuery, {first, productsFirst})\n .then(defaultResolver('collections'))\n .then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single collection by ID on the shop, not including products.\n * To fetch the collection with products use [fetchWithProducts]{@link Client#fetchWithProducts}.\n *\n * @example\n * client.collection.fetch('Xk9lM2JkNzFmNzIQ4NTIY4ZDFiZTUyZTUwNTE2MDNhZjg==').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} id The id of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetch(id) {\n return this.graphQLClient\n .send(collectionNodeQuery, {id})\n .then(defaultResolver('node'));\n }\n\n /**\n * Fetches a single collection by ID on the shop, including products.\n *\n * @example\n * client.collection.fetchWithProducts('Xk9lM2JkNzFmNzIQ4NTIY4ZDFiZTUyZTUwNTE2MDNhZjg==').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} id The id of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetchWithProducts(id) {\n return this.graphQLClient\n .send(collectionNodeWithProductsQuery, {id})\n .then(defaultResolver('node'))\n .then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a collection by handle on the shop.\n *\n * @example\n * client.collection.fetchByHandle('my-collection').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} handle The handle of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetchByHandle(handle) {\n return this.graphQLClient\n .send(collectionByHandleQuery, {handle})\n .then(defaultResolver('collectionByHandle'));\n }\n\n /**\n * Fetches all collections on the shop that match the query.\n *\n * @example\n * client.collection.fetchQuery({first: 20, sortKey: 'CREATED_AT', reverse: true}).then((collections) => {\n * // Do something with the first 10 collections sorted by title in ascending order\n * });\n *\n * @param {Object} [args] An object specifying the query data containing zero or more of:\n * @param {Int} [args.first=20] The relay `first` param. This specifies page size.\n * @param {String} [args.sortKey=ID] The key to sort results by. Available values are\n * documented as {@link https://help.shopify.com/api/storefront-api/reference/enum/collectionsortkeys|Collection Sort Keys}.\n * @param {String} [args.query] A query string. See full documentation {@link https://help.shopify.com/api/storefront-api/reference/object/shop#collections|here}\n * @param {Boolean} [args.reverse] Whether or not to reverse the sort order of the results\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchQuery({first = 20, sortKey = 'ID', query, reverse} = {}) {\n return this.graphQLClient.send(collectionConnectionQuery, {\n first,\n sortKey,\n query,\n reverse\n }).then(defaultResolver('collections'));\n }\n}\nexport default CollectionResource;\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\n\n// GraphQL\nimport shopQuery from './graphql/shopQuery.graphql';\nimport shopPolicyQuery from './graphql/shopPolicyQuery.graphql';\n\n/**\n * The JS Buy SDK shop resource\n * @class\n */\nclass ShopResource extends Resource {\n\n /**\n * Fetches shop information (`currencyCode`, `description`, `moneyFormat`, `name`, and `primaryDomain`).\n * See the {@link https://help.shopify.com/api/storefront-api/reference/object/shop|Storefront API reference} for more information.\n *\n * @example\n * client.shop.fetchInfo().then((shop) => {\n * // Do something with the shop\n * });\n *\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the shop.\n */\n fetchInfo() {\n return this.graphQLClient\n .send(shopQuery)\n .then(defaultResolver('shop'));\n }\n\n /**\n * Fetches shop policies (privacy policy, terms of service and refund policy).\n *\n * @example\n * client.shop.fetchPolicies().then((shop) => {\n * // Do something with the shop\n * });\n *\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the shop.\n */\n fetchPolicies() {\n return this.graphQLClient\n .send(shopPolicyQuery)\n .then(defaultResolver('shop'));\n }\n}\n\nexport default ShopResource;\n","export default function handleCheckoutMutation(mutationRootKey, client) {\n return function({data, errors, model}) {\n const rootData = data[mutationRootKey];\n const rootModel = model[mutationRootKey];\n\n if (rootData && rootData.checkout) {\n return client.fetchAllPages(rootModel.checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n rootModel.checkout.attrs.lineItems = lineItems;\n rootModel.checkout.errors = errors;\n rootModel.checkout.userErrors = rootModel.userErrors;\n\n return rootModel.checkout;\n });\n }\n\n if (errors && errors.length) {\n return Promise.reject(new Error(JSON.stringify(errors)));\n }\n\n if (rootData && rootData.checkoutUserErrors && rootData.checkoutUserErrors.length) {\n return Promise.reject(new Error(JSON.stringify(rootData.checkoutUserErrors)));\n }\n\n if (rootData && rootData.userErrors && rootData.userErrors.length) {\n return Promise.reject(new Error(JSON.stringify(rootData.userErrors)));\n }\n\n return Promise.reject(new Error(`The ${mutationRootKey} mutation failed due to an unknown error.`));\n };\n}\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport handleCheckoutMutation from './handle-checkout-mutation';\n\n// GraphQL\nimport checkoutNodeQuery from './graphql/checkoutNodeQuery.graphql';\nimport checkoutNodeQueryWithAddress from './graphql/checkoutNodeQueryWithAddress.graphql';\nimport checkoutCreateMutation from './graphql/checkoutCreateMutation.graphql';\nimport checkoutLineItemsAddMutation from './graphql/checkoutLineItemsAddMutation.graphql';\nimport checkoutLineItemsRemoveMutation from './graphql/checkoutLineItemsRemoveMutation.graphql';\nimport checkoutLineItemsReplaceMutation from './graphql/checkoutLineItemsReplaceMutation.graphql';\nimport checkoutLineItemsUpdateMutation from './graphql/checkoutLineItemsUpdateMutation.graphql';\nimport checkoutAttributesUpdateV2Mutation from './graphql/checkoutAttributesUpdateV2Mutation.graphql';\nimport checkoutDiscountCodeApplyV2Mutation from './graphql/checkoutDiscountCodeApplyV2Mutation.graphql';\nimport checkoutDiscountCodeRemoveMutation from './graphql/checkoutDiscountCodeRemoveMutation.graphql';\nimport checkoutEmailUpdateV2Mutation from './graphql/checkoutEmailUpdateV2Mutation.graphql';\nimport checkoutShippingAddressUpdateMutation from './graphql/checkoutShippingAddressUpdateMutation.graphql';\nimport checkoutShippingLineUpdateMutation from './graphql/checkoutShippingLineUpdateMutation.graphql';\n\n\n/**\n * The JS Buy SDK checkout resource\n * @class\n */\nclass CheckoutResource extends Resource {\n\n /**\n * Fetches a checkout by ID.\n *\n * @example\n * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {\n * // Do something with the checkout\n * });\n *\n * @param {String} id The id of the checkout to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.\n */\n fetch(id) {\n return this.graphQLClient\n .send(checkoutNodeQuery, {id})\n .then(defaultResolver('node'))\n .then((checkout) => {\n if (!checkout) { return null; }\n\n return this.graphQLClient.fetchAllPages(checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n checkout.attrs.lineItems = lineItems;\n\n return checkout;\n });\n });\n }\n\n /**\n * Fetches a checkout by ID.\n *\n * @example\n * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {\n * // Do something with the checkout\n * });\n *\n * @param {String} id The id of the checkout to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.\n */\n fetchWithAddress(id) {\n return this.graphQLClient\n .send(checkoutNodeQueryWithAddress, {id})\n .then(defaultResolver('node'))\n .then((checkout) => {\n return this.graphQLClient.fetchAllPages(checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n checkout.attrs.lineItems = lineItems;\n\n return checkout;\n });\n });\n }\n\n /**\n * Creates a checkout.\n *\n * @example\n * const input = {\n * lineItems: [\n * {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}\n * ]\n * };\n *\n * client.checkout.create(input).then((checkout) => {\n * // Do something with the newly created checkout\n * });\n *\n * @param {Object} [input] An input object containing zero or more of:\n * @param {String} [input.email] An email connected to the checkout.\n * @param {Object[]} [input.lineItems] A list of line items in the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @param {Object} [input.shippingAddress] A shipping address. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/mailingaddressinput|Storefront API reference} for valid input fields.\n * @param {String} [input.note] A note for the checkout.\n * @param {Object[]} [input.customAttributes] A list of custom attributes for the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/attributeinput|Storefront API reference} for valid input fields.\n * @return {Promise|GraphModel} A promise resolving with the created checkout.\n */\n create(input = {}) {\n return this.graphQLClient\n .send(checkoutCreateMutation, {input})\n .then(handleCheckoutMutation('checkoutCreate', this.graphQLClient));\n }\n\n /**\n * Replaces the value of checkout's custom attributes and/or note with values defined in the input\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const input = {customAttributes: [{key: \"MyKey\", value: \"MyValue\"}]};\n *\n * client.checkout.updateAttributes(checkoutId, input).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update.\n * @param {Object} [input] An input object containing zero or more of:\n * @param {Boolean} [input.allowPartialAddresses] An email connected to the checkout.\n * @param {Object[]} [input.customAttributes] A list of custom attributes for the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/attributeinput|Storefront API reference} for valid input fields.\n * @param {String} [input.note] A note for the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateAttributes(checkoutId, input = {}) {\n return this.graphQLClient\n .send(checkoutAttributesUpdateV2Mutation, {checkoutId, input})\n .then(handleCheckoutMutation('checkoutAttributesUpdateV2', this.graphQLClient));\n }\n\n /**\n * Replaces the value of checkout's email address\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const email = 'user@example.com';\n *\n * client.checkout.updateEmail(checkoutId, email).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update.\n * @param {String} email The email address to apply to the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateEmail(checkoutId, email) {\n return this.graphQLClient\n .send(checkoutEmailUpdateV2Mutation, {checkoutId, email})\n .then(handleCheckoutMutation('checkoutEmailUpdateV2', this.graphQLClient));\n }\n\n /**\n * Adds line items to an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];\n *\n * client.checkout.addLineItems(checkoutId, lineItems).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add line items to.\n * @param {Object[]} lineItems A list of line items to add to the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n addLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsAddMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsAdd', this.graphQLClient));\n }\n\n /**\n * Applies a discount to an existing checkout using a discount code.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const discountCode = 'best-discount-ever';\n *\n * client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add discount to.\n * @param {String} discountCode The discount code to apply to the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n addDiscount(checkoutId, discountCode) {\n return this.graphQLClient\n .send(checkoutDiscountCodeApplyV2Mutation, {checkoutId, discountCode})\n .then(handleCheckoutMutation('checkoutDiscountCodeApplyV2', this.graphQLClient));\n }\n\n /**\n * Removes a discount from an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n *\n * client.checkout.removeDiscount(checkoutId).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add discount to.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n removeDiscount(checkoutId) {\n return this.graphQLClient\n .send(checkoutDiscountCodeRemoveMutation, {checkoutId})\n .then(handleCheckoutMutation('checkoutDiscountCodeRemove', this.graphQLClient));\n }\n\n /**\n * Removes line items from an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItemIds = ['TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU='];\n *\n * client.checkout.removeLineItems(checkoutId, lineItemIds).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to remove line items from.\n * @param {String[]} lineItemIds A list of the ids of line items to remove from the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n removeLineItems(checkoutId, lineItemIds) {\n return this.graphQLClient\n .send(checkoutLineItemsRemoveMutation, {checkoutId, lineItemIds})\n .then(handleCheckoutMutation('checkoutLineItemsRemove', this.graphQLClient));\n }\n\n /**\n * Replace line items on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];\n *\n * client.checkout.replaceLineItems(checkoutId, lineItems).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add line items to.\n * @param {Object[]} lineItems A list of line items to set on the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n replaceLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsReplaceMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsReplace', this.graphQLClient));\n }\n\n /**\n * Updates line items on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [\n * {\n * id: 'TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU=',\n * quantity: 5,\n * variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg=='\n * }\n * ];\n *\n * client.checkout.updateLineItems(checkoutId, lineItems).then(checkout => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update a line item on.\n * @param {Object[]} lineItems A list of line item information to update. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineitemupdateinput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsUpdateMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsUpdate', this.graphQLClient));\n }\n\n /**\n * Updates shipping address on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const shippingAddress = {\n * address1: 'Chestnut Street 92',\n * address2: 'Apartment 2\"',\n * city: 'Louisville',\n * company: null,\n * country: 'United States',\n * firstName: 'Bob',\n * lastName: 'Norman',\n * phone: '555-625-1199',\n * province: 'Kentucky',\n * zip: '40202'\n * };\n *\n *\n * client.checkout.updateShippingAddress(checkoutId, shippingAddress).then(checkout => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update shipping address.\n * @param {Object} shippingAddress A shipping address.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateShippingAddress(checkoutId, shippingAddress) {\n return this.graphQLClient\n .send(checkoutShippingAddressUpdateMutation, {checkoutId, shippingAddress})\n .then(handleCheckoutMutation('checkoutShippingAddressUpdate', this.graphQLClient));\n }\n\n updateShippingLines(checkoutId, shippingRateHandle) {\n return this.graphQLClient\n .send(checkoutShippingLineUpdateMutation, {checkoutId, shippingRateHandle})\n .then(handleCheckoutMutation('checkoutShippingLineUpdate', this.graphQLClient));\n }\n}\n\nexport default CheckoutResource;\n","/**\n * @namespace ImageHelpers\n */\nexport default {\n\n /**\n * Generates the image src for a resized image with maximum dimensions `maxWidth` and `maxHeight`.\n * Images do not scale up.\n *\n * @example\n * const url = client.image.helpers.imageForSize(product.variants[0].image, {maxWidth: 50, maxHeight: 50});\n *\n * @memberof ImageHelpers\n * @method imageForSize\n * @param {Object} image The original image model to generate the image src for.\n * @param {Object} options An options object containing:\n * @param {Integer} options.maxWidth The maximum width for the image.\n * @param {Integer} options.maxHeight The maximum height for the image.\n * @return {String} The image src for the resized image.\n */\n imageForSize(image, {maxWidth, maxHeight}) {\n const splitUrl = image.src.split('?');\n const notQuery = splitUrl[0];\n const query = splitUrl[1] ? `?${splitUrl[1]}` : '';\n\n // Use the section before the query\n const imageTokens = notQuery.split('.');\n\n // Take the token before the file extension and append the dimensions\n const imagePathIndex = imageTokens.length - 2;\n\n imageTokens[imagePathIndex] = `${imageTokens[imagePathIndex]}_${maxWidth}x${maxHeight}`;\n\n return `${imageTokens.join('.')}${query}`;\n }\n};\n","import Resource from './resource';\nimport imageHelpers from './image-helpers';\n\n/**\n * The JS Buy SDK image resource\n * @class\n */\nclass ImageResource extends Resource {\n get helpers() {\n return imageHelpers;\n }\n}\n\nexport default ImageResource;\n","import GraphQLJSClient from './graphql-client';\nimport Config from './config';\nimport ProductResource from './product-resource';\nimport CollectionResource from './collection-resource';\nimport ShopResource from './shop-resource';\nimport CheckoutResource from './checkout-resource';\nimport ImageResource from './image-resource';\nimport {version} from '../package.json';\n\n// GraphQL\nimport types from '../schema.json';\n\n/**\n * The JS Buy SDK Client.\n * @class\n *\n * @property {ProductResource} product The property under which product fetching methods live.\n * @property {CollectionResource} collection The property under which collection fetching methods live.\n * @property {ShopResource} shop The property under which shop fetching methods live.\n * @property {CheckoutResource} checkout The property under which shop fetching and mutating methods live.\n * @property {ImageResource} image The property under which image helper methods live.\n */\nclass Client {\n\n /**\n * Primary entry point for building a new Client.\n */\n static buildClient(config, fetchFunction) {\n const newConfig = new Config(config);\n const client = new Client(newConfig, GraphQLJSClient, fetchFunction);\n\n client.config = newConfig;\n\n return client;\n }\n\n /**\n * @constructs Client\n * @param {Config} config An instance of {@link Config} used to configure the Client.\n */\n constructor(config, GraphQLClientClass = GraphQLJSClient, fetchFunction) {\n const url = `https://${config.domain}/api/graphql`;\n\n const headers = {\n 'X-SDK-Variant': 'javascript',\n 'X-SDK-Version': version,\n 'X-Shopify-Storefront-Access-Token': config.storefrontAccessToken\n };\n\n if (fetchFunction) {\n headers['Content-Type'] = 'application/json';\n headers.Accept = 'application/json';\n\n this.graphQLClient = new GraphQLClientClass(types, {\n fetcher: function fetcher(graphQLParams) {\n return fetchFunction(url, {\n body: JSON.stringify(graphQLParams),\n method: 'POST',\n mode: 'cors',\n headers\n }).then((response) => response.json());\n }\n });\n } else {\n this.graphQLClient = new GraphQLClientClass(types, {\n url,\n fetcherOptions: {headers}\n });\n }\n\n this.product = new ProductResource(this.graphQLClient);\n this.collection = new CollectionResource(this.graphQLClient);\n this.shop = new ShopResource(this.graphQLClient);\n this.checkout = new CheckoutResource(this.graphQLClient);\n this.image = new ImageResource(this.graphQLClient);\n }\n\n /**\n * Fetches the next page of models\n *\n * @example\n * client.fetchNextPage(products).then((nextProducts) => {\n * // Do something with the products\n * });\n *\n * @param {models} [Array] The paginated set to fetch the next page of\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the type provided.\n */\n fetchNextPage(models) {\n return this.graphQLClient.fetchNextPage(models);\n }\n}\n\nexport default Client;\n"],"names":["join","_len","arguments","length","fields","Array","_key","isObject","value","Boolean","Object","prototype","toString","call","valueOf","deepFreezeCopyExcept","predicate","structure","freeze","keys","reduce","copy","key","isArray","map","item","schemaForType","typeBundle","typeName","type","types","Error","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","i","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","_extends","assign","source","hasOwnProperty","inherits","subClass","superClass","create","setPrototypeOf","__proto__","possibleConstructorReturn","self","ReferenceError","slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","undefined","_i","Symbol","iterator","_s","next","done","push","err","toConsumableArray","arr2","from","VariableDefinition","name","defaultValue","toInputValueString","defaultValueString","formatInputValue","isVariable","isPrototypeOf","variable","Enum","enumFunction","Scalar","get$$1","String","JSON","stringify","apply","formatObject","openChar","closeChar","argPairs","formatArgs","args","noop","Profiler","trackTypeDependency","trackFieldDependency","parseFieldCreationArgs","creationArgs","callback","options","selectionSet","_creationArgs","_creationArgs2","SelectionSet","emptyArgs","Field","alias","responseKey","aliasPrefix","Spread","InlineFragment","_Spread","_this","getPrototypeOf","FragmentSpread","_Spread2","fragmentDefinition","_this2","toDefinition","FragmentDefinition","typeSchema","spread","selectionsHaveIdField","selections","some","fieldOrFragment","implementsNode","selectionsHaveTypenameField","indexSelectionsByResponseKey","assignOrPush","obj","unfrozenObject","acc","selection","responseKeys","selectionsByResponseKey","forEach","builderFunction","SelectionSetBuilder","unshift","kind","hasSelectionWithResponseKey","field","add","selectionOrFieldName","rest","concat","_len2","_key2","parsedArgs","fieldBaseTypes","fieldBaseType","inlineFragmentOn","builderFunctionOrSelectionSet","addField","_len3","_key3","addConnection","_len4","_key4","_parseFieldCreationAr","connection","pageInfo","edges","addInlineFragmentOn","fieldTypeCb","addFragment","fragmentSpread","parseArgs","variables","selectionSetCallback","_args","VariableDefinitions","variableDefinitions","Operation","operationType","_parseArgs","queryType","mutationType","nameString","Query","_Operation","_ref","Mutation","isAnonymous","operation","hasAnonymousOperations","operations","hasDuplicateOperationNames","names","hasDuplicates","index","indexOf","extractOperation","Function","bind","isInvalidOperationCombination","fragmentNameIsNotUnique","existingDefinitions","definition","Document","definitions","addOperation","addQuery","addMutation","defineFragment","onType","fragmentDefinitions","fragment","filter","GraphModel","attrs","ClassRegistry","classStore","registerClassForType","constructor","unregisterClassForType","classForType","isValue","arg","isNodeContext","context","isConnection","endsWith","nearestNode","parent","contextsFromRoot","contextsFromNearestNode","initializeDocumentAndVars","currentContext","contextChain","lastInChain","first","firstVar","find","document","addNextFieldTo","currentSelection","path","cursor","nextContext","shift","newSelection","edgesField","nodeField","after","collectFragments","nextPageQueryAndPath","nearestNodeContext","_document$definitions","nodeType","nodeId","responseData","id","_initializeDocumentAn","_initializeDocumentAn2","root","node","slice","fragments","_document$definitions2","_initializeDocumentAn3","_initializeDocumentAn4","hasNextPage$1","edge","hasNextPage","hasPreviousPage","transformConnections","variableValues","DecodingContext","contextForObjectProperty","nestedSelections","nextSelection","contextForArrayItem","decodeArrayItems","transformers","decodeContext","decodeObjectValues","runTransformers","transformer","generateRefetchQueries","refetchQuery","transformPojosToClassesWithRegistry","classRegistry","transformPojosToClasses","Klass","transformScalars","recordTypeInformation","__typename","defaultTransformers","_ref$classRegistry","decode","httpFetcher","url","fetcher","graphQLParams","fetch","headers","then","response","json","paginatedModels","Client","fetcherOptions","_ref$registry","registry","query","mutation","send","request","otherProperties","operationOrDocument","operationName","documentOperation","data","model","fetchNextPage","nodeOrNodes","_node$nextPageQueryAn","_node$nextPageQueryAn2","object","fetchAllPages","_ref2","pageSize","_ref3","pages","Promise","resolve","refetch","_ref4","variable$$1","_enum","Config","deprecatedProperties","warn","requiredProperties","Resource","client","graphQLClient","defaultErrors","message","defaultResolver","split","errors","reject","result","ref","_","fetchResourcesForProducts","productOrProduct","products","all","promiseAcc","product","images","variants","paginateProductConnectionsAndResolve","paginateCollectionsProductConnectionsAndResolve","collectionOrCollections","collections","collection","variant","selectedOptions","every","selectedOption","ProductResource","productConnectionQuery","productNodeQuery","ids","productNodesQuery","handle","productByHandleQuery","sortKey","reverse","productHelpers","CollectionResource","collectionConnectionQuery","productsFirst","collectionConnectionWithProductsQuery","collectionNodeQuery","collectionNodeWithProductsQuery","collectionByHandleQuery","ShopResource","shopQuery","shopPolicyQuery","handleCheckoutMutation","mutationRootKey","rootData","rootModel","checkout","lineItems","userErrors","checkoutUserErrors","CheckoutResource","checkoutNodeQuery","checkoutNodeQueryWithAddress","input","checkoutCreateMutation","checkoutId","checkoutAttributesUpdateV2Mutation","email","checkoutEmailUpdateV2Mutation","checkoutLineItemsAddMutation","discountCode","checkoutDiscountCodeApplyV2Mutation","checkoutDiscountCodeRemoveMutation","lineItemIds","checkoutLineItemsRemoveMutation","checkoutLineItemsReplaceMutation","checkoutLineItemsUpdateMutation","shippingAddress","checkoutShippingAddressUpdateMutation","shippingRateHandle","checkoutShippingLineUpdateMutation","image","maxWidth","maxHeight","splitUrl","src","notQuery","imageTokens","imagePathIndex","ImageResource","imageHelpers","config","fetchFunction","newConfig","GraphQLJSClient","GraphQLClientClass","domain","version","storefrontAccessToken","Accept","shop","models"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
\ No newline at end of file
diff --git a/index.js b/index.js
index d2eeda9bf..e9e3b1895 100644
--- a/index.js
+++ b/index.js
@@ -2366,12 +2366,16 @@ function query(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2381,6 +2385,7 @@ function query(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2389,7 +2394,6 @@ function query(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2454,12 +2458,16 @@ function query$1(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2469,6 +2477,7 @@ function query$1(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2477,7 +2486,6 @@ function query$1(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2545,12 +2553,16 @@ function query$2(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2560,6 +2572,7 @@ function query$2(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2568,7 +2581,6 @@ function query$2(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2611,24 +2623,22 @@ function query$2(client) {
});
});
document.addQuery([variables.__defaultOperation__.first, variables.__defaultOperation__.query, variables.__defaultOperation__.sortKey, variables.__defaultOperation__.reverse], function (root) {
- root.add("shop", function (shop) {
- shop.add("products", {
- args: {
- first: variables.__defaultOperation__.first,
- query: variables.__defaultOperation__.query,
- sortKey: variables.__defaultOperation__.sortKey,
- reverse: variables.__defaultOperation__.reverse
- }
- }, function (products) {
- products.add("pageInfo", function (pageInfo) {
- pageInfo.add("hasNextPage");
- pageInfo.add("hasPreviousPage");
- });
- products.add("edges", function (edges) {
- edges.add("cursor");
- edges.add("node", function (node) {
- node.addFragment(spreads.ProductFragment);
- });
+ root.add("products", {
+ args: {
+ first: variables.__defaultOperation__.first,
+ query: variables.__defaultOperation__.query,
+ sortKey: variables.__defaultOperation__.sortKey,
+ reverse: variables.__defaultOperation__.reverse
+ }
+ }, function (products) {
+ products.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ products.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.addFragment(spreads.ProductFragment);
});
});
});
@@ -2647,12 +2657,16 @@ function query$3(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2662,6 +2676,7 @@ function query$3(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2670,7 +2685,6 @@ function query$3(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2713,14 +2727,12 @@ function query$3(client) {
});
});
document.addQuery([variables.__defaultOperation__.handle], function (root) {
- root.add("shop", function (shop) {
- shop.add("productByHandle", {
- args: {
- handle: variables.__defaultOperation__.handle
- }
- }, function (productByHandle) {
- productByHandle.addFragment(spreads.ProductFragment);
- });
+ root.add("productByHandle", {
+ args: {
+ handle: variables.__defaultOperation__.handle
+ }
+ }, function (productByHandle) {
+ productByHandle.addFragment(spreads.ProductFragment);
});
});
return document;
@@ -2758,7 +2770,7 @@ var ProductResource = function (_Resource) {
value: function fetchAll() {
var first = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 20;
- return this.graphQLClient.send(query$2, { first: first }).then(defaultResolver('shop.products')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
+ return this.graphQLClient.send(query$2, { first: first }).then(defaultResolver('products')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
}
/**
@@ -2813,7 +2825,7 @@ var ProductResource = function (_Resource) {
}, {
key: 'fetchByHandle',
value: function fetchByHandle(handle) {
- return this.graphQLClient.send(query$3, { handle: handle }).then(defaultResolver('shop.productByHandle')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
+ return this.graphQLClient.send(query$3, { handle: handle }).then(defaultResolver('productByHandle')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
}
/**
@@ -2849,7 +2861,7 @@ var ProductResource = function (_Resource) {
sortKey: sortKey,
query: query$$1,
reverse: reverse
- }).then(defaultResolver('shop.products')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
+ }).then(defaultResolver('products')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
}
}, {
key: 'helpers',
@@ -2875,7 +2887,9 @@ function query$4(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
@@ -2902,12 +2916,16 @@ function query$5(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2917,6 +2935,7 @@ function query$5(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2925,7 +2944,6 @@ function query$5(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2976,7 +2994,9 @@ function query$5(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
@@ -3029,29 +3049,29 @@ function query$6(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
document.addQuery([variables.__defaultOperation__.first, variables.__defaultOperation__.query, variables.__defaultOperation__.sortKey, variables.__defaultOperation__.reverse], function (root) {
- root.add("shop", function (shop) {
- shop.add("collections", {
- args: {
- first: variables.__defaultOperation__.first,
- query: variables.__defaultOperation__.query,
- sortKey: variables.__defaultOperation__.sortKey,
- reverse: variables.__defaultOperation__.reverse
- }
- }, function (collections) {
- collections.add("pageInfo", function (pageInfo) {
- pageInfo.add("hasNextPage");
- pageInfo.add("hasPreviousPage");
- });
- collections.add("edges", function (edges) {
- edges.add("cursor");
- edges.add("node", function (node) {
- node.addFragment(spreads.CollectionFragment);
- });
+ root.add("collections", {
+ args: {
+ first: variables.__defaultOperation__.first,
+ query: variables.__defaultOperation__.query,
+ sortKey: variables.__defaultOperation__.sortKey,
+ reverse: variables.__defaultOperation__.reverse
+ }
+ }, function (collections) {
+ collections.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ collections.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.addFragment(spreads.CollectionFragment);
});
});
});
@@ -3074,12 +3094,16 @@ function query$7(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3096,12 +3120,15 @@ function query$7(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -3110,7 +3137,6 @@ function query$7(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -3153,37 +3179,35 @@ function query$7(client) {
});
});
document.addQuery([variables.__defaultOperation__.first, variables.__defaultOperation__.query, variables.__defaultOperation__.sortKey, variables.__defaultOperation__.reverse, variables.__defaultOperation__.productsFirst], function (root) {
- root.add("shop", function (shop) {
- shop.add("collections", {
- args: {
- first: variables.__defaultOperation__.first,
- query: variables.__defaultOperation__.query,
- sortKey: variables.__defaultOperation__.sortKey,
- reverse: variables.__defaultOperation__.reverse
- }
- }, function (collections) {
- collections.add("pageInfo", function (pageInfo) {
- pageInfo.add("hasNextPage");
- pageInfo.add("hasPreviousPage");
- });
- collections.add("edges", function (edges) {
- edges.add("cursor");
- edges.add("node", function (node) {
- node.addFragment(spreads.CollectionFragment);
- node.add("products", {
- args: {
- first: variables.__defaultOperation__.productsFirst
- }
- }, function (products) {
- products.add("pageInfo", function (pageInfo) {
- pageInfo.add("hasNextPage");
- pageInfo.add("hasPreviousPage");
- });
- products.add("edges", function (edges) {
- edges.add("cursor");
- edges.add("node", function (node) {
- node.addFragment(spreads.ProductFragment);
- });
+ root.add("collections", {
+ args: {
+ first: variables.__defaultOperation__.first,
+ query: variables.__defaultOperation__.query,
+ sortKey: variables.__defaultOperation__.sortKey,
+ reverse: variables.__defaultOperation__.reverse
+ }
+ }, function (collections) {
+ collections.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ collections.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.addFragment(spreads.CollectionFragment);
+ node.add("products", {
+ args: {
+ first: variables.__defaultOperation__.productsFirst
+ }
+ }, function (products) {
+ products.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ products.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.addFragment(spreads.ProductFragment);
});
});
});
@@ -3205,12 +3229,16 @@ function query$8(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3220,6 +3248,7 @@ function query$8(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -3228,7 +3257,6 @@ function query$8(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -3279,7 +3307,9 @@ function query$8(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
@@ -3302,15 +3332,13 @@ function query$8(client) {
});
});
document.addQuery([variables.__defaultOperation__.handle], function (root) {
- root.add("shop", function (shop) {
- shop.add("collectionByHandle", {
- args: {
- handle: variables.__defaultOperation__.handle
- }
- }, function (collectionByHandle) {
- collectionByHandle.addFragment(spreads.CollectionFragment);
- collectionByHandle.addFragment(spreads.CollectionsProductsFragment);
- });
+ root.add("collectionByHandle", {
+ args: {
+ handle: variables.__defaultOperation__.handle
+ }
+ }, function (collectionByHandle) {
+ collectionByHandle.addFragment(spreads.CollectionFragment);
+ collectionByHandle.addFragment(spreads.CollectionsProductsFragment);
});
});
return document;
@@ -3348,7 +3376,7 @@ var CollectionResource = function (_Resource) {
value: function fetchAll() {
var first = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 20;
- return this.graphQLClient.send(query$6, { first: first }).then(defaultResolver('shop.collections'));
+ return this.graphQLClient.send(query$6, { first: first }).then(defaultResolver('collections'));
}
/**
@@ -3371,7 +3399,7 @@ var CollectionResource = function (_Resource) {
_ref$productsFirst = _ref.productsFirst,
productsFirst = _ref$productsFirst === undefined ? 20 : _ref$productsFirst;
- return this.graphQLClient.send(query$7, { first: first, productsFirst: productsFirst }).then(defaultResolver('shop.collections')).then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));
+ return this.graphQLClient.send(query$7, { first: first, productsFirst: productsFirst }).then(defaultResolver('collections')).then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));
}
/**
@@ -3426,7 +3454,7 @@ var CollectionResource = function (_Resource) {
}, {
key: 'fetchByHandle',
value: function fetchByHandle(handle) {
- return this.graphQLClient.send(query$8, { handle: handle }).then(defaultResolver('shop.collectionByHandle'));
+ return this.graphQLClient.send(query$8, { handle: handle }).then(defaultResolver('collectionByHandle'));
}
/**
@@ -3462,7 +3490,7 @@ var CollectionResource = function (_Resource) {
sortKey: sortKey,
query: query,
reverse: reverse
- }).then(defaultResolver('shop.collections'));
+ }).then(defaultResolver('collections'));
}
}]);
return CollectionResource;
@@ -3587,6 +3615,10 @@ function handleCheckoutMutation(mutationRootKey, client) {
return Promise.reject(new Error(JSON.stringify(errors)));
}
+ if (rootData && rootData.checkoutUserErrors && rootData.checkoutUserErrors.length) {
+ return Promise.reject(new Error(JSON.stringify(rootData.checkoutUserErrors)));
+ }
+
if (rootData && rootData.userErrors && rootData.userErrors.length) {
return Promise.reject(new Error(JSON.stringify(rootData.userErrors)));
}
@@ -3606,12 +3638,16 @@ function query$11(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3619,6 +3655,25 @@ function query$11(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -3641,7 +3696,9 @@ function query$11(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -3669,6 +3726,22 @@ function query$11(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -3742,6 +3815,15 @@ function query$11(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
@@ -3769,12 +3851,16 @@ function query$12(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3932,12 +4018,16 @@ function query$13(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3945,6 +4035,25 @@ function query$13(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -3955,6 +4064,11 @@ function query$13(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -3971,7 +4085,9 @@ function query$13(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -3999,6 +4115,22 @@ function query$13(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4072,6 +4204,15 @@ function query$13(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
@@ -4085,6 +4226,9 @@ function query$13(client) {
checkoutCreate.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
+ checkoutCreate.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
checkoutCreate.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
@@ -4105,12 +4249,16 @@ function query$14(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4118,6 +4266,25 @@ function query$14(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4144,7 +4311,9 @@ function query$14(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4172,6 +4341,22 @@ function query$14(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4245,6 +4430,15 @@ function query$14(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
@@ -4279,12 +4473,16 @@ function query$15(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4292,6 +4490,25 @@ function query$15(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4318,7 +4535,9 @@ function query$15(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4346,6 +4565,22 @@ function query$15(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4419,6 +4654,15 @@ function query$15(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
@@ -4447,18 +4691,22 @@ function query$16(client) {
var variables = {};
variables.__defaultOperation__ = {};
variables.__defaultOperation__.checkoutId = client.variable("checkoutId", "ID!");
- variables.__defaultOperation__.lineItems = client.variable("lineItems", "[CheckoutLineItemUpdateInput!]!");
+ variables.__defaultOperation__.lineItems = client.variable("lineItems", "[CheckoutLineItemInput!]!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4466,6 +4714,25 @@ function query$16(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4492,7 +4759,9 @@ function query$16(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4520,6 +4789,22 @@ function query$16(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4593,21 +4878,30 @@ function query$16(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
document.addMutation([variables.__defaultOperation__.checkoutId, variables.__defaultOperation__.lineItems], function (root) {
- root.add("checkoutLineItemsUpdate", {
+ root.add("checkoutLineItemsReplace", {
args: {
checkoutId: variables.__defaultOperation__.checkoutId,
lineItems: variables.__defaultOperation__.lineItems
}
- }, function (checkoutLineItemsUpdate) {
- checkoutLineItemsUpdate.add("userErrors", function (userErrors) {
+ }, function (checkoutLineItemsReplace) {
+ checkoutLineItemsReplace.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutLineItemsUpdate.add("checkout", function (checkout) {
+ checkoutLineItemsReplace.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -4619,20 +4913,24 @@ function query$17(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutAttributesUpdate = {};
- variables.checkoutAttributesUpdate.checkoutId = client.variable("checkoutId", "ID!");
- variables.checkoutAttributesUpdate.input = client.variable("input", "CheckoutAttributesUpdateInput!");
+ variables.__defaultOperation__ = {};
+ variables.__defaultOperation__.checkoutId = client.variable("checkoutId", "ID!");
+ variables.__defaultOperation__.lineItems = client.variable("lineItems", "[CheckoutLineItemUpdateInput!]!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4640,6 +4938,25 @@ function query$17(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4666,7 +4983,9 @@ function query$17(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4694,6 +5013,22 @@ function query$17(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4767,21 +5102,30 @@ function query$17(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutAttributesUpdate", [variables.checkoutAttributesUpdate.checkoutId, variables.checkoutAttributesUpdate.input], function (root) {
- root.add("checkoutAttributesUpdate", {
+ document.addMutation([variables.__defaultOperation__.checkoutId, variables.__defaultOperation__.lineItems], function (root) {
+ root.add("checkoutLineItemsUpdate", {
args: {
- checkoutId: variables.checkoutAttributesUpdate.checkoutId,
- input: variables.checkoutAttributesUpdate.input
+ checkoutId: variables.__defaultOperation__.checkoutId,
+ lineItems: variables.__defaultOperation__.lineItems
}
- }, function (checkoutAttributesUpdate) {
- checkoutAttributesUpdate.add("userErrors", function (userErrors) {
+ }, function (checkoutLineItemsUpdate) {
+ checkoutLineItemsUpdate.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutAttributesUpdate.add("checkout", function (checkout) {
+ checkoutLineItemsUpdate.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -4793,20 +5137,24 @@ function query$18(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutDiscountCodeApply = {};
- variables.checkoutDiscountCodeApply.discountCode = client.variable("discountCode", "String!");
- variables.checkoutDiscountCodeApply.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutAttributesUpdateV2 = {};
+ variables.checkoutAttributesUpdateV2.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutAttributesUpdateV2.input = client.variable("input", "CheckoutAttributesUpdateV2Input!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4814,6 +5162,25 @@ function query$18(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4824,6 +5191,11 @@ function query$18(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -4840,7 +5212,9 @@ function query$18(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4868,6 +5242,22 @@ function query$18(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4941,21 +5331,33 @@ function query$18(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutDiscountCodeApply", [variables.checkoutDiscountCodeApply.discountCode, variables.checkoutDiscountCodeApply.checkoutId], function (root) {
- root.add("checkoutDiscountCodeApply", {
+ document.addMutation("checkoutAttributesUpdateV2", [variables.checkoutAttributesUpdateV2.checkoutId, variables.checkoutAttributesUpdateV2.input], function (root) {
+ root.add("checkoutAttributesUpdateV2", {
args: {
- discountCode: variables.checkoutDiscountCodeApply.discountCode,
- checkoutId: variables.checkoutDiscountCodeApply.checkoutId
+ checkoutId: variables.checkoutAttributesUpdateV2.checkoutId,
+ input: variables.checkoutAttributesUpdateV2.input
}
- }, function (checkoutDiscountCodeApply) {
- checkoutDiscountCodeApply.add("userErrors", function (userErrors) {
+ }, function (checkoutAttributesUpdateV2) {
+ checkoutAttributesUpdateV2.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutDiscountCodeApply.add("checkout", function (checkout) {
+ checkoutAttributesUpdateV2.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
+ checkoutAttributesUpdateV2.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -4967,19 +5369,24 @@ function query$19(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutDiscountCodeRemove = {};
- variables.checkoutDiscountCodeRemove.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutDiscountCodeApplyV2 = {};
+ variables.checkoutDiscountCodeApplyV2.discountCode = client.variable("discountCode", "String!");
+ variables.checkoutDiscountCodeApplyV2.checkoutId = client.variable("checkoutId", "ID!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4987,6 +5394,25 @@ function query$19(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4997,6 +5423,11 @@ function query$19(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -5013,7 +5444,9 @@ function query$19(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -5041,6 +5474,22 @@ function query$19(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -5114,20 +5563,33 @@ function query$19(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutDiscountCodeRemove", [variables.checkoutDiscountCodeRemove.checkoutId], function (root) {
- root.add("checkoutDiscountCodeRemove", {
+ document.addMutation("checkoutDiscountCodeApplyV2", [variables.checkoutDiscountCodeApplyV2.discountCode, variables.checkoutDiscountCodeApplyV2.checkoutId], function (root) {
+ root.add("checkoutDiscountCodeApplyV2", {
args: {
- checkoutId: variables.checkoutDiscountCodeRemove.checkoutId
+ discountCode: variables.checkoutDiscountCodeApplyV2.discountCode,
+ checkoutId: variables.checkoutDiscountCodeApplyV2.checkoutId
}
- }, function (checkoutDiscountCodeRemove) {
- checkoutDiscountCodeRemove.add("userErrors", function (userErrors) {
+ }, function (checkoutDiscountCodeApplyV2) {
+ checkoutDiscountCodeApplyV2.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutDiscountCodeRemove.add("checkout", function (checkout) {
+ checkoutDiscountCodeApplyV2.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
+ checkoutDiscountCodeApplyV2.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -5139,20 +5601,23 @@ function query$20(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutShippingAddressUpdate = {};
- variables.checkoutShippingAddressUpdate.shippingAddress = client.variable("shippingAddress", "MailingAddressInput!");
- variables.checkoutShippingAddressUpdate.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutDiscountCodeRemove = {};
+ variables.checkoutDiscountCodeRemove.checkoutId = client.variable("checkoutId", "ID!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -5160,6 +5625,25 @@ function query$20(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -5170,6 +5654,11 @@ function query$20(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -5186,7 +5675,9 @@ function query$20(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -5214,6 +5705,22 @@ function query$20(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -5287,21 +5794,32 @@ function query$20(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutShippingAddressUpdate", [variables.checkoutShippingAddressUpdate.shippingAddress, variables.checkoutShippingAddressUpdate.checkoutId], function (root) {
- root.add("checkoutShippingAddressUpdate", {
+ document.addMutation("checkoutDiscountCodeRemove", [variables.checkoutDiscountCodeRemove.checkoutId], function (root) {
+ root.add("checkoutDiscountCodeRemove", {
args: {
- shippingAddress: variables.checkoutShippingAddressUpdate.shippingAddress,
- checkoutId: variables.checkoutShippingAddressUpdate.checkoutId
+ checkoutId: variables.checkoutDiscountCodeRemove.checkoutId
}
- }, function (checkoutShippingAddressUpdate) {
- checkoutShippingAddressUpdate.add("userErrors", function (userErrors) {
+ }, function (checkoutDiscountCodeRemove) {
+ checkoutDiscountCodeRemove.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutShippingAddressUpdate.add("checkout", function (checkout) {
+ checkoutDiscountCodeRemove.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
+ checkoutDiscountCodeRemove.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -5313,20 +5831,24 @@ function query$21(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutShippingLineUpdate = {};
- variables.checkoutShippingLineUpdate.checkoutId = client.variable("checkoutId", "ID!");
- variables.checkoutShippingLineUpdate.shippingRateHandle = client.variable("shippingRateHandle", "String!");
+ variables.checkoutEmailUpdateV2 = {};
+ variables.checkoutEmailUpdateV2.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutEmailUpdateV2.email = client.variable("email", "String!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -5334,6 +5856,25 @@ function query$21(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -5344,6 +5885,11 @@ function query$21(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -5360,7 +5906,9 @@ function query$21(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -5388,6 +5936,22 @@ function query$21(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -5461,21 +6025,33 @@ function query$21(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutShippingLineUpdate", [variables.checkoutShippingLineUpdate.checkoutId, variables.checkoutShippingLineUpdate.shippingRateHandle], function (root) {
- root.add("checkoutShippingLineUpdate", {
+ document.addMutation("checkoutEmailUpdateV2", [variables.checkoutEmailUpdateV2.checkoutId, variables.checkoutEmailUpdateV2.email], function (root) {
+ root.add("checkoutEmailUpdateV2", {
args: {
- checkoutId: variables.checkoutShippingLineUpdate.checkoutId,
- shippingRateHandle: variables.checkoutShippingLineUpdate.shippingRateHandle
+ checkoutId: variables.checkoutEmailUpdateV2.checkoutId,
+ email: variables.checkoutEmailUpdateV2.email
}
- }, function (checkoutShippingLineUpdate) {
- checkoutShippingLineUpdate.add("userErrors", function (userErrors) {
+ }, function (checkoutEmailUpdateV2) {
+ checkoutEmailUpdateV2.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutShippingLineUpdate.add("checkout", function (checkout) {
+ checkoutEmailUpdateV2.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
+ checkoutEmailUpdateV2.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -5483,82 +6059,534 @@ function query$21(client) {
return document;
}
-// GraphQL
-/**
- * The JS Buy SDK checkout resource
- * @class
- */
-
-var CheckoutResource = function (_Resource) {
- inherits$1(CheckoutResource, _Resource);
-
- function CheckoutResource() {
- classCallCheck$1(this, CheckoutResource);
- return possibleConstructorReturn$1(this, (CheckoutResource.__proto__ || Object.getPrototypeOf(CheckoutResource)).apply(this, arguments));
- }
-
- createClass$1(CheckoutResource, [{
- key: 'fetch',
-
-
- /**
- * Fetches a checkout by ID.
- *
- * @example
- * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {
- * // Do something with the checkout
- * });
- *
- * @param {String} id The id of the checkout to fetch.
- * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.
- */
- value: function fetch(id) {
- var _this2 = this;
-
- return this.graphQLClient.send(query$11, { id: id }).then(defaultResolver('node')).then(function (checkout) {
- return _this2.graphQLClient.fetchAllPages(checkout.lineItems, { pageSize: 250 }).then(function (lineItems) {
- checkout.attrs.lineItems = lineItems;
-
- return checkout;
- });
+function query$22(client) {
+ var document = client.document();
+ var spreads = {};
+ var variables = {};
+ variables.checkoutShippingAddressUpdate = {};
+ variables.checkoutShippingAddressUpdate.shippingAddress = client.variable("shippingAddress", "MailingAddressInput!");
+ variables.checkoutShippingAddressUpdate.checkoutId = client.variable("checkoutId", "ID!");
+ spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
+ root.add("id");
+ root.add("title");
+ root.add("price");
+ root.add("weight");
+ root.add("availableForSale", {
+ alias: "available"
+ });
+ root.add("sku");
+ root.add("compareAtPrice");
+ root.add("image", function (image) {
+ image.add("id");
+ image.add("originalSrc", {
+ alias: "src"
});
- }
-
- /**
- * Fetches a checkout by ID.
- *
- * @example
- * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {
- * // Do something with the checkout
- * });
- *
- * @param {String} id The id of the checkout to fetch.
- * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.
- */
-
- }, {
- key: 'fetchWithAddress',
- value: function fetchWithAddress(id) {
- var _this3 = this;
-
- return this.graphQLClient.send(query$12, { id: id }).then(defaultResolver('node')).then(function (checkout) {
- return _this3.graphQLClient.fetchAllPages(checkout.lineItems, { pageSize: 250 }).then(function (lineItems) {
- checkout.attrs.lineItems = lineItems;
-
- return checkout;
- });
+ image.add("altText");
+ });
+ root.add("selectedOptions", function (selectedOptions) {
+ selectedOptions.add("name");
+ selectedOptions.add("value");
+ });
+ });
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
+ spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
+ root.addFragment(spreads.VariantFragment);
+ root.add("product", function (product) {
+ product.add("id");
+ });
+ });
+ spreads.UserErrorFragment = document.defineFragment("UserErrorFragment", "UserError", function (root) {
+ root.add("field");
+ root.add("message");
+ });
+ spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
+ root.add("id");
+ root.add("address1");
+ root.add("address2");
+ root.add("city");
+ root.add("company");
+ root.add("country");
+ root.add("firstName");
+ root.add("formatted");
+ root.add("lastName");
+ root.add("latitude");
+ root.add("longitude");
+ root.add("phone");
+ root.add("province");
+ root.add("zip");
+ root.add("name");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
+ root.add("provinceCode");
+ });
+ spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
+ root.add("id");
+ root.add("ready");
+ root.add("requiresShipping");
+ root.add("availableShippingRates", function (availableShippingRates) {
+ availableShippingRates.add("ready");
+ availableShippingRates.add("shippingRates", function (shippingRates) {
+ shippingRates.add("handle");
+ shippingRates.add("price");
+ shippingRates.add("title");
});
- }
-
- /**
- * Creates a checkout.
- *
- * @example
- * const input = {
- * lineItems: [
- * {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}
- * ]
- * };
+ });
+ root.add("note");
+ root.add("paymentDue");
+ root.add("webUrl");
+ root.add("orderStatusUrl");
+ root.add("taxExempt");
+ root.add("taxesIncluded");
+ root.add("currencyCode");
+ root.add("totalTax");
+ root.add("subtotalPrice");
+ root.add("totalPrice");
+ root.add("completedAt");
+ root.add("createdAt");
+ root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
+ root.add("shippingAddress", function (shippingAddress) {
+ shippingAddress.addFragment(spreads.MailingAddressFragment);
+ });
+ root.add("shippingLine", function (shippingLine) {
+ shippingLine.add("handle");
+ shippingLine.add("price");
+ shippingLine.add("title");
+ });
+ root.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ root.add("order", function (order) {
+ order.add("id");
+ order.add("processedAt");
+ order.add("orderNumber");
+ order.add("subtotalPrice");
+ order.add("totalShippingPrice");
+ order.add("totalTax");
+ order.add("totalPrice");
+ order.add("currencyCode");
+ order.add("totalRefunded");
+ order.add("customerUrl");
+ order.add("shippingAddress", function (shippingAddress) {
+ shippingAddress.addFragment(spreads.MailingAddressFragment);
+ });
+ order.add("lineItems", {
+ args: {
+ first: 250
+ }
+ }, function (lineItems) {
+ lineItems.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ lineItems.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.add("title");
+ node.add("variant", function (variant) {
+ variant.addFragment(spreads.VariantWithProductFragment);
+ });
+ node.add("quantity");
+ node.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ });
+ });
+ });
+ });
+ root.add("lineItems", {
+ args: {
+ first: 250
+ }
+ }, function (lineItems) {
+ lineItems.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ lineItems.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.add("id");
+ node.add("title");
+ node.add("variant", function (variant) {
+ variant.addFragment(spreads.VariantWithProductFragment);
+ });
+ node.add("quantity");
+ node.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
+ });
+ });
+ });
+ document.addMutation("checkoutShippingAddressUpdate", [variables.checkoutShippingAddressUpdate.shippingAddress, variables.checkoutShippingAddressUpdate.checkoutId], function (root) {
+ root.add("checkoutShippingAddressUpdate", {
+ args: {
+ shippingAddress: variables.checkoutShippingAddressUpdate.shippingAddress,
+ checkoutId: variables.checkoutShippingAddressUpdate.checkoutId
+ }
+ }, function (checkoutShippingAddressUpdate) {
+ checkoutShippingAddressUpdate.add("userErrors", function (userErrors) {
+ userErrors.addFragment(spreads.UserErrorFragment);
+ });
+ checkoutShippingAddressUpdate.add("checkout", function (checkout) {
+ checkout.addFragment(spreads.CheckoutFragment);
+ });
+ });
+ });
+ return document;
+}
+
+function query$23(client) {
+ var document = client.document();
+ var spreads = {};
+ var variables = {};
+ variables.checkoutShippingLineUpdate = {};
+ variables.checkoutShippingLineUpdate.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutShippingLineUpdate.shippingRateHandle = client.variable("shippingRateHandle", "String!");
+ spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
+ root.add("id");
+ root.add("title");
+ root.add("price");
+ root.add("weight");
+ root.add("availableForSale", {
+ alias: "available"
+ });
+ root.add("sku");
+ root.add("compareAtPrice");
+ root.add("image", function (image) {
+ image.add("id");
+ image.add("originalSrc", {
+ alias: "src"
+ });
+ image.add("altText");
+ });
+ root.add("selectedOptions", function (selectedOptions) {
+ selectedOptions.add("name");
+ selectedOptions.add("value");
+ });
+ });
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
+ spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
+ root.addFragment(spreads.VariantFragment);
+ root.add("product", function (product) {
+ product.add("id");
+ });
+ });
+ spreads.UserErrorFragment = document.defineFragment("UserErrorFragment", "UserError", function (root) {
+ root.add("field");
+ root.add("message");
+ });
+ spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
+ root.add("id");
+ root.add("address1");
+ root.add("address2");
+ root.add("city");
+ root.add("company");
+ root.add("country");
+ root.add("firstName");
+ root.add("formatted");
+ root.add("lastName");
+ root.add("latitude");
+ root.add("longitude");
+ root.add("phone");
+ root.add("province");
+ root.add("zip");
+ root.add("name");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
+ root.add("provinceCode");
+ });
+ spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
+ root.add("id");
+ root.add("ready");
+ root.add("requiresShipping");
+ root.add("availableShippingRates", function (availableShippingRates) {
+ availableShippingRates.add("ready");
+ availableShippingRates.add("shippingRates", function (shippingRates) {
+ shippingRates.add("handle");
+ shippingRates.add("price");
+ shippingRates.add("title");
+ });
+ });
+ root.add("note");
+ root.add("paymentDue");
+ root.add("webUrl");
+ root.add("orderStatusUrl");
+ root.add("taxExempt");
+ root.add("taxesIncluded");
+ root.add("currencyCode");
+ root.add("totalTax");
+ root.add("subtotalPrice");
+ root.add("totalPrice");
+ root.add("completedAt");
+ root.add("createdAt");
+ root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
+ root.add("shippingAddress", function (shippingAddress) {
+ shippingAddress.addFragment(spreads.MailingAddressFragment);
+ });
+ root.add("shippingLine", function (shippingLine) {
+ shippingLine.add("handle");
+ shippingLine.add("price");
+ shippingLine.add("title");
+ });
+ root.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ root.add("order", function (order) {
+ order.add("id");
+ order.add("processedAt");
+ order.add("orderNumber");
+ order.add("subtotalPrice");
+ order.add("totalShippingPrice");
+ order.add("totalTax");
+ order.add("totalPrice");
+ order.add("currencyCode");
+ order.add("totalRefunded");
+ order.add("customerUrl");
+ order.add("shippingAddress", function (shippingAddress) {
+ shippingAddress.addFragment(spreads.MailingAddressFragment);
+ });
+ order.add("lineItems", {
+ args: {
+ first: 250
+ }
+ }, function (lineItems) {
+ lineItems.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ lineItems.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.add("title");
+ node.add("variant", function (variant) {
+ variant.addFragment(spreads.VariantWithProductFragment);
+ });
+ node.add("quantity");
+ node.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ });
+ });
+ });
+ });
+ root.add("lineItems", {
+ args: {
+ first: 250
+ }
+ }, function (lineItems) {
+ lineItems.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ lineItems.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.add("id");
+ node.add("title");
+ node.add("variant", function (variant) {
+ variant.addFragment(spreads.VariantWithProductFragment);
+ });
+ node.add("quantity");
+ node.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
+ });
+ });
+ });
+ document.addMutation("checkoutShippingLineUpdate", [variables.checkoutShippingLineUpdate.checkoutId, variables.checkoutShippingLineUpdate.shippingRateHandle], function (root) {
+ root.add("checkoutShippingLineUpdate", {
+ args: {
+ checkoutId: variables.checkoutShippingLineUpdate.checkoutId,
+ shippingRateHandle: variables.checkoutShippingLineUpdate.shippingRateHandle
+ }
+ }, function (checkoutShippingLineUpdate) {
+ checkoutShippingLineUpdate.add("userErrors", function (userErrors) {
+ userErrors.addFragment(spreads.UserErrorFragment);
+ });
+ checkoutShippingLineUpdate.add("checkout", function (checkout) {
+ checkout.addFragment(spreads.CheckoutFragment);
+ });
+ });
+ });
+ return document;
+}
+
+// GraphQL
+/**
+ * The JS Buy SDK checkout resource
+ * @class
+ */
+
+var CheckoutResource = function (_Resource) {
+ inherits$1(CheckoutResource, _Resource);
+
+ function CheckoutResource() {
+ classCallCheck$1(this, CheckoutResource);
+ return possibleConstructorReturn$1(this, (CheckoutResource.__proto__ || Object.getPrototypeOf(CheckoutResource)).apply(this, arguments));
+ }
+
+ createClass$1(CheckoutResource, [{
+ key: 'fetch',
+
+
+ /**
+ * Fetches a checkout by ID.
+ *
+ * @example
+ * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {
+ * // Do something with the checkout
+ * });
+ *
+ * @param {String} id The id of the checkout to fetch.
+ * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.
+ */
+ value: function fetch(id) {
+ var _this2 = this;
+
+ return this.graphQLClient.send(query$11, { id: id }).then(defaultResolver('node')).then(function (checkout) {
+ if (!checkout) {
+ return null;
+ }
+
+ return _this2.graphQLClient.fetchAllPages(checkout.lineItems, { pageSize: 250 }).then(function (lineItems) {
+ checkout.attrs.lineItems = lineItems;
+
+ return checkout;
+ });
+ });
+ }
+
+ /**
+ * Fetches a checkout by ID.
+ *
+ * @example
+ * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {
+ * // Do something with the checkout
+ * });
+ *
+ * @param {String} id The id of the checkout to fetch.
+ * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.
+ */
+
+ }, {
+ key: 'fetchWithAddress',
+ value: function fetchWithAddress(id) {
+ var _this3 = this;
+
+ return this.graphQLClient.send(query$12, { id: id }).then(defaultResolver('node')).then(function (checkout) {
+ return _this3.graphQLClient.fetchAllPages(checkout.lineItems, { pageSize: 250 }).then(function (lineItems) {
+ checkout.attrs.lineItems = lineItems;
+
+ return checkout;
+ });
+ });
+ }
+
+ /**
+ * Creates a checkout.
+ *
+ * @example
+ * const input = {
+ * lineItems: [
+ * {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}
+ * ]
+ * };
*
* client.checkout.create(input).then((checkout) => {
* // Do something with the newly created checkout
@@ -5605,7 +6633,29 @@ var CheckoutResource = function (_Resource) {
value: function updateAttributes(checkoutId) {
var input = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- return this.graphQLClient.send(query$17, { checkoutId: checkoutId, input: input }).then(handleCheckoutMutation('checkoutAttributesUpdate', this.graphQLClient));
+ return this.graphQLClient.send(query$18, { checkoutId: checkoutId, input: input }).then(handleCheckoutMutation('checkoutAttributesUpdateV2', this.graphQLClient));
+ }
+
+ /**
+ * Replaces the value of checkout's email address
+ *
+ * @example
+ * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
+ * const email = 'user@example.com';
+ *
+ * client.checkout.updateEmail(checkoutId, email).then((checkout) => {
+ * // Do something with the updated checkout
+ * });
+ *
+ * @param {String} checkoutId The ID of the checkout to update.
+ * @param {String} email The email address to apply to the checkout.
+ * @return {Promise|GraphModel} A promise resolving with the updated checkout.
+ */
+
+ }, {
+ key: 'updateEmail',
+ value: function updateEmail(checkoutId, email) {
+ return this.graphQLClient.send(query$21, { checkoutId: checkoutId, email: email }).then(handleCheckoutMutation('checkoutEmailUpdateV2', this.graphQLClient));
}
/**
@@ -5649,29 +6699,27 @@ var CheckoutResource = function (_Resource) {
}, {
key: 'addDiscount',
value: function addDiscount(checkoutId, discountCode) {
- return this.graphQLClient.send(query$18, { checkoutId: checkoutId, discountCode: discountCode }).then(handleCheckoutMutation('checkoutDiscountCodeApply', this.graphQLClient));
+ return this.graphQLClient.send(query$19, { checkoutId: checkoutId, discountCode: discountCode }).then(handleCheckoutMutation('checkoutDiscountCodeApplyV2', this.graphQLClient));
}
/**
- * Applies a discount to an existing checkout using a discount code.
+ * Removes a discount from an existing checkout.
*
* @example
* const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
- * const discountCode = 'best-discount-ever';
*
- * client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {
+ * client.checkout.removeDiscount(checkoutId).then((checkout) => {
* // Do something with the updated checkout
* });
*
* @param {String} checkoutId The ID of the checkout to add discount to.
- * @param {String} discountCode The discount code to apply to the checkout.
* @return {Promise|GraphModel} A promise resolving with the updated checkout.
*/
}, {
key: 'removeDiscount',
- value: function removeDiscount(checkoutId, discountCode) {
- return this.graphQLClient.send(query$19, { checkoutId: checkoutId, discountCode: discountCode }).then(handleCheckoutMutation('checkoutDiscountCodeRemove', this.graphQLClient));
+ value: function removeDiscount(checkoutId) {
+ return this.graphQLClient.send(query$20, { checkoutId: checkoutId }).then(handleCheckoutMutation('checkoutDiscountCodeRemove', this.graphQLClient));
}
/**
@@ -5696,6 +6744,28 @@ var CheckoutResource = function (_Resource) {
return this.graphQLClient.send(query$15, { checkoutId: checkoutId, lineItemIds: lineItemIds }).then(handleCheckoutMutation('checkoutLineItemsRemove', this.graphQLClient));
}
+ /**
+ * Replace line items on an existing checkout.
+ *
+ * @example
+ * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
+ * const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];
+ *
+ * client.checkout.replaceLineItems(checkoutId, lineItems).then((checkout) => {
+ * // Do something with the updated checkout
+ * });
+ *
+ * @param {String} checkoutId The ID of the checkout to add line items to.
+ * @param {Object[]} lineItems A list of line items to set on the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.
+ * @return {Promise|GraphModel} A promise resolving with the updated checkout.
+ */
+
+ }, {
+ key: 'replaceLineItems',
+ value: function replaceLineItems(checkoutId, lineItems) {
+ return this.graphQLClient.send(query$16, { checkoutId: checkoutId, lineItems: lineItems }).then(handleCheckoutMutation('checkoutLineItemsReplace', this.graphQLClient));
+ }
+
/**
* Updates line items on an existing checkout.
*
@@ -5721,7 +6791,7 @@ var CheckoutResource = function (_Resource) {
}, {
key: 'updateLineItems',
value: function updateLineItems(checkoutId, lineItems) {
- return this.graphQLClient.send(query$16, { checkoutId: checkoutId, lineItems: lineItems }).then(handleCheckoutMutation('checkoutLineItemsUpdate', this.graphQLClient));
+ return this.graphQLClient.send(query$17, { checkoutId: checkoutId, lineItems: lineItems }).then(handleCheckoutMutation('checkoutLineItemsUpdate', this.graphQLClient));
}
/**
@@ -5755,12 +6825,12 @@ var CheckoutResource = function (_Resource) {
}, {
key: 'updateShippingAddress',
value: function updateShippingAddress(checkoutId, shippingAddress) {
- return this.graphQLClient.send(query$20, { checkoutId: checkoutId, shippingAddress: shippingAddress }).then(handleCheckoutMutation('checkoutShippingAddressUpdate', this.graphQLClient));
+ return this.graphQLClient.send(query$22, { checkoutId: checkoutId, shippingAddress: shippingAddress }).then(handleCheckoutMutation('checkoutShippingAddressUpdate', this.graphQLClient));
}
}, {
key: 'updateShippingLines',
value: function updateShippingLines(checkoutId, shippingRateHandle) {
- return this.graphQLClient.send(query$21, { checkoutId: checkoutId, shippingRateHandle: shippingRateHandle }).then(handleCheckoutMutation('checkoutShippingLineUpdate', this.graphQLClient));
+ return this.graphQLClient.send(query$23, { checkoutId: checkoutId, shippingRateHandle: shippingRateHandle }).then(handleCheckoutMutation('checkoutShippingLineUpdate', this.graphQLClient));
}
}]);
return CheckoutResource;
@@ -5828,14 +6898,28 @@ var ImageResource = function (_Resource) {
return ImageResource;
}(Resource);
-var version = "1.6.0";
+var version = "2.0.0";
+
+var Boolean$1 = {
+ "name": "Boolean",
+ "kind": "SCALAR"
+};
+
+var String$1 = {
+ "name": "String",
+ "kind": "SCALAR"
+};
var QueryRoot = {
"name": "QueryRoot",
"kind": "OBJECT",
"fieldBaseTypes": {
+ "collectionByHandle": "Collection",
+ "collections": "CollectionConnection",
"node": "Node",
"nodes": "Node",
+ "productByHandle": "Product",
+ "products": "ProductConnection",
"shop": "Shop"
},
"implementsNode": false
@@ -5845,7 +6929,7 @@ var Node = {
"name": "Node",
"kind": "INTERFACE",
"fieldBaseTypes": {},
- "possibleTypes": ["AppliedGiftCard", "Article", "Blog", "Checkout", "CheckoutLineItem", "Collection", "Comment", "MailingAddress", "Order", "Payment", "Product", "ProductOption", "ProductVariant", "ShopPolicy"]
+ "possibleTypes": ["AppliedGiftCard", "Article", "Blog", "Checkout", "CheckoutLineItem", "Collection", "Comment", "MailingAddress", "Order", "Page", "Payment", "Product", "ProductOption", "ProductVariant", "ShopPolicy"]
};
var ID = {
@@ -5853,16 +6937,6 @@ var ID = {
"kind": "SCALAR"
};
-var String$1 = {
- "name": "String",
- "kind": "SCALAR"
-};
-
-var Boolean$1 = {
- "name": "Boolean",
- "kind": "SCALAR"
-};
-
var DateTime = {
"name": "DateTime",
"kind": "SCALAR"
@@ -5878,6 +6952,7 @@ var MailingAddress = {
"company": "String",
"country": "String",
"countryCode": "String",
+ "countryCodeV2": "CountryCode",
"firstName": "String",
"formatted": "String",
"id": "ID",
@@ -5898,6 +6973,11 @@ var Float = {
"kind": "SCALAR"
};
+var CountryCode = {
+ "name": "CountryCode",
+ "kind": "ENUM"
+};
+
var PageInfo = {
"name": "PageInfo",
"kind": "OBJECT",
@@ -5913,39 +6993,90 @@ var Int = {
"kind": "SCALAR"
};
-var Order = {
- "name": "Order",
- "kind": "OBJECT",
+var Order = {
+ "name": "Order",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "currencyCode": "CurrencyCode",
+ "customerUrl": "URL",
+ "id": "ID",
+ "lineItems": "OrderLineItemConnection",
+ "orderNumber": "Int",
+ "processedAt": "DateTime",
+ "shippingAddress": "MailingAddress",
+ "subtotalPrice": "Money",
+ "totalPrice": "Money",
+ "totalRefunded": "Money",
+ "totalShippingPrice": "Money",
+ "totalTax": "Money"
+ },
+ "implementsNode": true
+};
+
+var Money = {
+ "name": "Money",
+ "kind": "SCALAR"
+};
+
+var CurrencyCode = {
+ "name": "CurrencyCode",
+ "kind": "ENUM"
+};
+
+var URL = {
+ "name": "URL",
+ "kind": "SCALAR"
+};
+
+var DiscountAllocation = {
+ "name": "DiscountAllocation",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "allocatedAmount": "MoneyV2",
+ "discountApplication": "DiscountApplication"
+ },
+ "implementsNode": false
+};
+
+var MoneyV2 = {
+ "name": "MoneyV2",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "amount": "Decimal",
+ "currencyCode": "CurrencyCode"
+ },
+ "implementsNode": false
+};
+
+var Decimal = {
+ "name": "Decimal",
+ "kind": "SCALAR"
+};
+
+var DiscountApplication = {
+ "name": "DiscountApplication",
+ "kind": "INTERFACE",
"fieldBaseTypes": {
- "currencyCode": "CurrencyCode",
- "customerUrl": "URL",
- "id": "ID",
- "lineItems": "OrderLineItemConnection",
- "orderNumber": "Int",
- "processedAt": "DateTime",
- "shippingAddress": "MailingAddress",
- "subtotalPrice": "Money",
- "totalPrice": "Money",
- "totalRefunded": "Money",
- "totalShippingPrice": "Money",
- "totalTax": "Money"
+ "allocationMethod": "DiscountApplicationAllocationMethod",
+ "targetSelection": "DiscountApplicationTargetSelection",
+ "targetType": "DiscountApplicationTargetType"
},
- "implementsNode": true
+ "possibleTypes": ["AutomaticDiscountApplication", "DiscountCodeApplication", "ManualDiscountApplication", "ScriptDiscountApplication"]
};
-var Money = {
- "name": "Money",
- "kind": "SCALAR"
+var DiscountApplicationAllocationMethod = {
+ "name": "DiscountApplicationAllocationMethod",
+ "kind": "ENUM"
};
-var CurrencyCode = {
- "name": "CurrencyCode",
+var DiscountApplicationTargetSelection = {
+ "name": "DiscountApplicationTargetSelection",
"kind": "ENUM"
};
-var URL = {
- "name": "URL",
- "kind": "SCALAR"
+var DiscountApplicationTargetType = {
+ "name": "DiscountApplicationTargetType",
+ "kind": "ENUM"
};
var OrderLineItemConnection = {
@@ -5984,7 +7115,7 @@ var ProductVariant = {
"name": "ProductVariant",
"kind": "OBJECT",
"fieldBaseTypes": {
- "available": "Boolean",
+ "availableForSale": "Boolean",
"compareAtPrice": "Money",
"id": "ID",
"image": "Image",
@@ -6004,6 +7135,7 @@ var Image = {
"fieldBaseTypes": {
"altText": "String",
"id": "ID",
+ "originalSrc": "URL",
"src": "URL"
},
"implementsNode": false
@@ -6023,6 +7155,7 @@ var Product = {
"name": "Product",
"kind": "OBJECT",
"fieldBaseTypes": {
+ "availableForSale": "Boolean",
"createdAt": "DateTime",
"description": "String",
"descriptionHtml": "HTML",
@@ -6033,7 +7166,6 @@ var Product = {
"options": "ProductOption",
"productType": "String",
"publishedAt": "DateTime",
- "tags": "String",
"title": "String",
"updatedAt": "DateTime",
"variants": "ProductVariantConnection",
@@ -6163,20 +7295,122 @@ var Attribute = {
"implementsNode": false
};
+var DiscountApplicationConnection = {
+ "name": "DiscountApplicationConnection",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "edges": "DiscountApplicationEdge",
+ "pageInfo": "PageInfo"
+ },
+ "implementsNode": false
+};
+
+var DiscountApplicationEdge = {
+ "name": "DiscountApplicationEdge",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "node": "DiscountApplication"
+ },
+ "implementsNode": false
+};
+
+var Checkout = {
+ "name": "Checkout",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "availableShippingRates": "AvailableShippingRates",
+ "completedAt": "DateTime",
+ "createdAt": "DateTime",
+ "currencyCode": "CurrencyCode",
+ "customAttributes": "Attribute",
+ "discountApplications": "DiscountApplicationConnection",
+ "email": "String",
+ "id": "ID",
+ "lineItems": "CheckoutLineItemConnection",
+ "note": "String",
+ "order": "Order",
+ "orderStatusUrl": "URL",
+ "paymentDue": "Money",
+ "ready": "Boolean",
+ "requiresShipping": "Boolean",
+ "shippingAddress": "MailingAddress",
+ "shippingLine": "ShippingRate",
+ "subtotalPrice": "Money",
+ "taxExempt": "Boolean",
+ "taxesIncluded": "Boolean",
+ "totalPrice": "Money",
+ "totalTax": "Money",
+ "updatedAt": "DateTime",
+ "webUrl": "URL"
+ },
+ "implementsNode": true
+};
+
+var CheckoutLineItemConnection = {
+ "name": "CheckoutLineItemConnection",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "edges": "CheckoutLineItemEdge",
+ "pageInfo": "PageInfo"
+ },
+ "implementsNode": false
+};
+
+var CheckoutLineItemEdge = {
+ "name": "CheckoutLineItemEdge",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "cursor": "String",
+ "node": "CheckoutLineItem"
+ },
+ "implementsNode": false
+};
+
+var CheckoutLineItem = {
+ "name": "CheckoutLineItem",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "customAttributes": "Attribute",
+ "discountAllocations": "DiscountAllocation",
+ "id": "ID",
+ "quantity": "Int",
+ "title": "String",
+ "variant": "ProductVariant"
+ },
+ "implementsNode": true
+};
+
+var ShippingRate = {
+ "name": "ShippingRate",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "handle": "String",
+ "price": "Money",
+ "title": "String"
+ },
+ "implementsNode": false
+};
+
+var AvailableShippingRates = {
+ "name": "AvailableShippingRates",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "ready": "Boolean",
+ "shippingRates": "ShippingRate"
+ },
+ "implementsNode": false
+};
+
var Shop = {
"name": "Shop",
"kind": "OBJECT",
"fieldBaseTypes": {
- "collectionByHandle": "Collection",
- "collections": "CollectionConnection",
"currencyCode": "CurrencyCode",
"description": "String",
"moneyFormat": "String",
"name": "String",
"primaryDomain": "Domain",
"privacyPolicy": "ShopPolicy",
- "productByHandle": "Product",
- "products": "ProductConnection",
"refundPolicy": "ShopPolicy",
"termsOfService": "ShopPolicy"
},
@@ -6210,12 +7444,14 @@ var Mutation$1 = {
"name": "Mutation",
"kind": "OBJECT",
"fieldBaseTypes": {
- "checkoutAttributesUpdate": "CheckoutAttributesUpdatePayload",
+ "checkoutAttributesUpdateV2": "CheckoutAttributesUpdateV2Payload",
"checkoutCreate": "CheckoutCreatePayload",
+ "checkoutDiscountCodeApplyV2": "CheckoutDiscountCodeApplyV2Payload",
+ "checkoutDiscountCodeRemove": "CheckoutDiscountCodeRemovePayload",
+ "checkoutEmailUpdateV2": "CheckoutEmailUpdateV2Payload",
"checkoutLineItemsAdd": "CheckoutLineItemsAddPayload",
- "checkoutDiscountCodeApply": "CheckoutLineItemsAddPayload",
- "checkoutDiscountCodeRemove": "CheckoutLineItemsAddPayload",
"checkoutLineItemsRemove": "CheckoutLineItemsRemovePayload",
+ "checkoutLineItemsReplace": "CheckoutLineItemsReplacePayload",
"checkoutLineItemsUpdate": "CheckoutLineItemsUpdatePayload",
"checkoutShippingAddressUpdate": "CheckoutShippingAddressUpdatePayload",
"checkoutShippingLineUpdate": "CheckoutShippingLineUpdatePayload"
@@ -6223,6 +7459,7 @@ var Mutation$1 = {
"implementsNode": false,
"relayInputObjectBaseTypes": {
"checkoutAttributesUpdate": "CheckoutAttributesUpdateInput",
+ "checkoutAttributesUpdateV2": "CheckoutAttributesUpdateV2Input",
"checkoutCreate": "CheckoutCreateInput",
"customerAccessTokenCreate": "CustomerAccessTokenCreateInput",
"customerActivate": "CustomerActivateInput",
@@ -6231,16 +7468,6 @@ var Mutation$1 = {
}
};
-var CheckoutAttributesUpdatePayload = {
- "name": "CheckoutAttributesUpdatePayload",
- "kind": "OBJECT",
- "fieldBaseTypes": {
- "checkout": "Checkout",
- "userErrors": "UserError"
- },
- "implementsNode": false
-};
-
var UserError = {
"name": "UserError",
"kind": "OBJECT",
@@ -6251,95 +7478,82 @@ var UserError = {
"implementsNode": false
};
-var Checkout = {
- "name": "Checkout",
+var CheckoutShippingAddressUpdatePayload = {
+ "name": "CheckoutShippingAddressUpdatePayload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "availableShippingRates": "AvailableShippingRates",
- "completedAt": "DateTime",
- "createdAt": "DateTime",
- "currencyCode": "CurrencyCode",
- "customAttributes": "Attribute",
- "id": "ID",
- "lineItems": "CheckoutLineItemConnection",
- "note": "String",
- "order": "Order",
- "orderStatusUrl": "URL",
- "paymentDue": "Money",
- "ready": "Boolean",
- "requiresShipping": "Boolean",
- "shippingAddress": "MailingAddress",
- "shippingLine": "ShippingRate",
- "subtotalPrice": "Money",
- "taxExempt": "Boolean",
- "taxesIncluded": "Boolean",
- "totalPrice": "Money",
- "totalTax": "Money",
- "updatedAt": "DateTime",
- "webUrl": "URL"
+ "checkout": "Checkout",
+ "userErrors": "UserError"
},
- "implementsNode": true
+ "implementsNode": false
};
-var CheckoutLineItemConnection = {
- "name": "CheckoutLineItemConnection",
+var CheckoutAttributesUpdateV2Payload = {
+ "name": "CheckoutAttributesUpdateV2Payload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "edges": "CheckoutLineItemEdge",
- "pageInfo": "PageInfo"
+ "checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
+ "userErrors": "UserError"
},
"implementsNode": false
};
-var CheckoutLineItemEdge = {
- "name": "CheckoutLineItemEdge",
+var CheckoutUserError = {
+ "name": "CheckoutUserError",
"kind": "OBJECT",
"fieldBaseTypes": {
- "cursor": "String",
- "node": "CheckoutLineItem"
+ "code": "CheckoutErrorCode",
+ "field": "String",
+ "message": "String"
},
"implementsNode": false
};
-var CheckoutLineItem = {
- "name": "CheckoutLineItem",
+var CheckoutErrorCode = {
+ "name": "CheckoutErrorCode",
+ "kind": "ENUM"
+};
+
+var CheckoutDiscountCodeApplyV2Payload = {
+ "name": "CheckoutDiscountCodeApplyV2Payload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "customAttributes": "Attribute",
- "id": "ID",
- "quantity": "Int",
- "title": "String",
- "variant": "ProductVariant"
+ "checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
+ "userErrors": "UserError"
},
- "implementsNode": true
+ "implementsNode": false
};
-var ShippingRate = {
- "name": "ShippingRate",
+var CheckoutCreatePayload = {
+ "name": "CheckoutCreatePayload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "handle": "String",
- "price": "Money",
- "title": "String"
+ "checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
+ "userErrors": "UserError"
},
"implementsNode": false
};
-var AvailableShippingRates = {
- "name": "AvailableShippingRates",
+var CheckoutEmailUpdateV2Payload = {
+ "name": "CheckoutEmailUpdateV2Payload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "ready": "Boolean",
- "shippingRates": "ShippingRate"
+ "checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
+ "userErrors": "UserError"
},
"implementsNode": false
};
-var CheckoutCreatePayload = {
- "name": "CheckoutCreatePayload",
+var CheckoutDiscountCodeRemovePayload = {
+ "name": "CheckoutDiscountCodeRemovePayload",
"kind": "OBJECT",
"fieldBaseTypes": {
"checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
"userErrors": "UserError"
},
"implementsNode": false
@@ -6375,12 +7589,12 @@ var CheckoutLineItemsUpdatePayload = {
"implementsNode": false
};
-var CheckoutShippingAddressUpdatePayload = {
- "name": "CheckoutShippingAddressUpdatePayload",
+var CheckoutLineItemsReplacePayload = {
+ "name": "CheckoutLineItemsReplacePayload",
"kind": "OBJECT",
"fieldBaseTypes": {
"checkout": "Checkout",
- "userErrors": "UserError"
+ "userErrors": "CheckoutUserError"
},
"implementsNode": false
};
@@ -6395,23 +7609,69 @@ var CheckoutShippingLineUpdatePayload = {
"implementsNode": false
};
+var DiscountCodeApplication = {
+ "name": "DiscountCodeApplication",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "applicable": "Boolean",
+ "code": "String"
+ },
+ "implementsNode": false
+};
+
+var ManualDiscountApplication = {
+ "name": "ManualDiscountApplication",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "description": "String",
+ "title": "String"
+ },
+ "implementsNode": false
+};
+
+var ScriptDiscountApplication = {
+ "name": "ScriptDiscountApplication",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "description": "String"
+ },
+ "implementsNode": false
+};
+
+var AutomaticDiscountApplication = {
+ "name": "AutomaticDiscountApplication",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "title": "String"
+ },
+ "implementsNode": false
+};
+
var Types = {
types: {}
};
+Types.types["Boolean"] = Boolean$1;
+Types.types["String"] = String$1;
Types.types["QueryRoot"] = QueryRoot;
Types.types["Node"] = Node;
Types.types["ID"] = ID;
-Types.types["String"] = String$1;
-Types.types["Boolean"] = Boolean$1;
Types.types["DateTime"] = DateTime;
Types.types["MailingAddress"] = MailingAddress;
Types.types["Float"] = Float;
+Types.types["CountryCode"] = CountryCode;
Types.types["PageInfo"] = PageInfo;
Types.types["Int"] = Int;
Types.types["Order"] = Order;
Types.types["Money"] = Money;
Types.types["CurrencyCode"] = CurrencyCode;
Types.types["URL"] = URL;
+Types.types["DiscountAllocation"] = DiscountAllocation;
+Types.types["MoneyV2"] = MoneyV2;
+Types.types["Decimal"] = Decimal;
+Types.types["DiscountApplication"] = DiscountApplication;
+Types.types["DiscountApplicationAllocationMethod"] = DiscountApplicationAllocationMethod;
+Types.types["DiscountApplicationTargetSelection"] = DiscountApplicationTargetSelection;
+Types.types["DiscountApplicationTargetType"] = DiscountApplicationTargetType;
Types.types["OrderLineItemConnection"] = OrderLineItemConnection;
Types.types["OrderLineItemEdge"] = OrderLineItemEdge;
Types.types["OrderLineItem"] = OrderLineItem;
@@ -6431,24 +7691,36 @@ Types.types["ProductOption"] = ProductOption;
Types.types["ProductVariantConnection"] = ProductVariantConnection;
Types.types["ProductVariantEdge"] = ProductVariantEdge;
Types.types["Attribute"] = Attribute;
-Types.types["Shop"] = Shop;
-Types.types["Domain"] = Domain;
-Types.types["ShopPolicy"] = ShopPolicy;
-Types.types["Mutation"] = Mutation$1;
-Types.types["CheckoutAttributesUpdatePayload"] = CheckoutAttributesUpdatePayload;
-Types.types["UserError"] = UserError;
+Types.types["DiscountApplicationConnection"] = DiscountApplicationConnection;
+Types.types["DiscountApplicationEdge"] = DiscountApplicationEdge;
Types.types["Checkout"] = Checkout;
Types.types["CheckoutLineItemConnection"] = CheckoutLineItemConnection;
Types.types["CheckoutLineItemEdge"] = CheckoutLineItemEdge;
Types.types["CheckoutLineItem"] = CheckoutLineItem;
Types.types["ShippingRate"] = ShippingRate;
Types.types["AvailableShippingRates"] = AvailableShippingRates;
+Types.types["Shop"] = Shop;
+Types.types["Domain"] = Domain;
+Types.types["ShopPolicy"] = ShopPolicy;
+Types.types["Mutation"] = Mutation$1;
+Types.types["UserError"] = UserError;
+Types.types["CheckoutShippingAddressUpdatePayload"] = CheckoutShippingAddressUpdatePayload;
+Types.types["CheckoutAttributesUpdateV2Payload"] = CheckoutAttributesUpdateV2Payload;
+Types.types["CheckoutUserError"] = CheckoutUserError;
+Types.types["CheckoutErrorCode"] = CheckoutErrorCode;
+Types.types["CheckoutDiscountCodeApplyV2Payload"] = CheckoutDiscountCodeApplyV2Payload;
Types.types["CheckoutCreatePayload"] = CheckoutCreatePayload;
+Types.types["CheckoutEmailUpdateV2Payload"] = CheckoutEmailUpdateV2Payload;
+Types.types["CheckoutDiscountCodeRemovePayload"] = CheckoutDiscountCodeRemovePayload;
Types.types["CheckoutLineItemsAddPayload"] = CheckoutLineItemsAddPayload;
Types.types["CheckoutLineItemsRemovePayload"] = CheckoutLineItemsRemovePayload;
Types.types["CheckoutLineItemsUpdatePayload"] = CheckoutLineItemsUpdatePayload;
-Types.types["CheckoutShippingAddressUpdatePayload"] = CheckoutShippingAddressUpdatePayload;
+Types.types["CheckoutLineItemsReplacePayload"] = CheckoutLineItemsReplacePayload;
Types.types["CheckoutShippingLineUpdatePayload"] = CheckoutShippingLineUpdatePayload;
+Types.types["DiscountCodeApplication"] = DiscountCodeApplication;
+Types.types["ManualDiscountApplication"] = ManualDiscountApplication;
+Types.types["ScriptDiscountApplication"] = ScriptDiscountApplication;
+Types.types["AutomaticDiscountApplication"] = AutomaticDiscountApplication;
Types.queryType = "QueryRoot";
Types.mutationType = "Mutation";
Types.subscriptionType = null;
diff --git a/index.js.map b/index.js.map
index af08d37db..aa9054152 100644
--- a/index.js.map
+++ b/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sources":["node_modules/graphql-js-client/index.es.js","src/config.js","src/resource.js","src/default-resolver.js","src/fetch-resources-for-products.js","src/paginators.js","src/product-helpers.js","src/product-resource.js","src/collection-resource.js","src/shop-resource.js","src/handle-checkout-mutation.js","src/checkout-resource.js","src/image-helpers.js","src/image-resource.js","src/client.js"],"sourcesContent":["/*\nThe MIT License (MIT)\nCopyright (c) 2016 Shopify Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE\nOR OTHER DEALINGS IN THE SOFTWARE.\n\n\n*/\nfunction join() {\n for (var _len = arguments.length, fields = Array(_len), _key = 0; _key < _len; _key++) {\n fields[_key] = arguments[_key];\n }\n\n return fields.join(' ');\n}\n\nfunction isObject(value) {\n return Boolean(value) && Object.prototype.toString.call(value.valueOf()) === '[object Object]';\n}\n\nfunction deepFreezeCopyExcept(predicate, structure) {\n if (predicate(structure)) {\n return structure;\n } else if (isObject(structure)) {\n return Object.freeze(Object.keys(structure).reduce(function (copy, key) {\n copy[key] = deepFreezeCopyExcept(predicate, structure[key]);\n\n return copy;\n }, {}));\n } else if (Array.isArray(structure)) {\n return Object.freeze(structure.map(function (item) {\n return deepFreezeCopyExcept(predicate, item);\n }));\n } else {\n return structure;\n }\n}\n\nfunction schemaForType(typeBundle, typeName) {\n var type = typeBundle.types[typeName];\n\n if (type) {\n return type;\n }\n\n throw new Error(\"No type of \" + typeName + \" found in schema\");\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n\n\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nvar VariableDefinition = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#variable} to create a VariableDefinition.\n *\n * @param {String} name The name of the variable.\n * @param {String} type The GraphQL type of the variable.\n * @param {*} [defaultValue] The default value of the variable.\n */\n function VariableDefinition(name, type, defaultValue) {\n classCallCheck(this, VariableDefinition);\n\n this.name = name;\n this.type = type;\n this.defaultValue = defaultValue;\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the variable as an input value (e.g. `$variableName`).\n *\n * @return {String} The GraphQL query string for the variable as an input value.\n */\n\n\n createClass(VariableDefinition, [{\n key: 'toInputValueString',\n value: function toInputValueString() {\n return '$' + this.name;\n }\n\n /**\n * Returns the GraphQL query string for the variable (e.g. `$variableName:VariableType = defaultValue`).\n *\n * @return {String} The GraphQL query string for the variable.\n */\n\n }, {\n key: 'toString',\n value: function toString() {\n var defaultValueString = this.defaultValue ? ' = ' + formatInputValue(this.defaultValue) : '';\n\n return '$' + this.name + ':' + this.type + defaultValueString;\n }\n }]);\n return VariableDefinition;\n}();\n\nfunction isVariable(value) {\n return VariableDefinition.prototype.isPrototypeOf(value);\n}\n\nfunction variable(name, type, defaultValue) {\n return new VariableDefinition(name, type, defaultValue);\n}\n\nvar Enum = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#enum} to create an Enum.\n *\n * @param {String} key The key of the enum.\n */\n function Enum(key) {\n classCallCheck(this, Enum);\n\n this.key = key;\n }\n\n /**\n * Returns the GraphQL query string for the enum (e.g. `enumKey`).\n *\n * @return {String} The GraphQL query string for the enum.\n */\n\n\n createClass(Enum, [{\n key: \"toString\",\n value: function toString() {\n return this.key;\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n return this.key.valueOf();\n }\n }]);\n return Enum;\n}();\n\nvar enumFunction = (function (key) {\n return new Enum(key);\n});\n\nvar Scalar = function () {\n function Scalar(value) {\n classCallCheck(this, Scalar);\n\n this.value = value;\n }\n\n createClass(Scalar, [{\n key: \"toString\",\n value: function toString() {\n return this.value.toString();\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n return this.value.valueOf();\n }\n }, {\n key: \"unwrapped\",\n get: function get$$1() {\n return this.value;\n }\n }]);\n return Scalar;\n}();\n\nfunction formatInputValue(value) {\n if (VariableDefinition.prototype.isPrototypeOf(value)) {\n return value.toInputValueString();\n } else if (Enum.prototype.isPrototypeOf(value)) {\n return String(value);\n } else if (Scalar.prototype.isPrototypeOf(value)) {\n return JSON.stringify(value.valueOf());\n } else if (Array.isArray(value)) {\n return '[' + join.apply(undefined, toConsumableArray(value.map(formatInputValue))) + ']';\n } else if (isObject(value)) {\n return formatObject(value, '{', '}');\n } else {\n return JSON.stringify(value);\n }\n}\n\nfunction formatObject(value) {\n var openChar = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var closeChar = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n\n var argPairs = Object.keys(value).map(function (key) {\n return key + ': ' + formatInputValue(value[key]);\n });\n\n return '' + openChar + join.apply(undefined, toConsumableArray(argPairs)) + closeChar;\n}\n\nfunction formatArgs(args) {\n if (!Object.keys(args).length) {\n return '';\n }\n\n return ' (' + formatObject(args) + ')';\n}\n\n// eslint-disable-next-line no-empty-function\nvar noop = (function () {});\n\nvar Profiler = {\n trackTypeDependency: noop,\n trackFieldDependency: noop\n};\n\nvar trackTypeDependency = Profiler.trackTypeDependency;\nvar trackFieldDependency = Profiler.trackFieldDependency;\n\n\nfunction parseFieldCreationArgs(creationArgs) {\n var callback = noop;\n var options = {};\n var selectionSet = null;\n\n if (creationArgs.length === 2) {\n if (typeof creationArgs[1] === 'function') {\n var _creationArgs = slicedToArray(creationArgs, 2);\n\n options = _creationArgs[0];\n callback = _creationArgs[1];\n } else {\n var _creationArgs2 = slicedToArray(creationArgs, 2);\n\n options = _creationArgs2[0];\n selectionSet = _creationArgs2[1];\n }\n } else if (creationArgs.length === 1) {\n // SelectionSet is defined before this function is called since it's\n // called by SelectionSet\n // eslint-disable-next-line no-use-before-define\n if (SelectionSet.prototype.isPrototypeOf(creationArgs[0])) {\n selectionSet = creationArgs[0];\n } else if (typeof creationArgs[0] === 'function') {\n callback = creationArgs[0];\n } else {\n options = creationArgs[0];\n }\n }\n\n return { options: options, selectionSet: selectionSet, callback: callback };\n}\n\nvar emptyArgs = Object.freeze({});\n\nvar Field = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Fields are added to a selection by {@link SelectionSetBuilder#add}, {@link SelectionSetBuilder#addConnection}\n * and {@link SelectionSetBuilder#addInlineFragmentOn}.\n *\n * @param {String} name The name of the field.\n * @param {Object} [options] An options object containing:\n * @param {Object} [options.args] Arguments for the field.\n * @param {String} [options.alias] An alias for the field.\n * @param {SelectionSet} selectionSet The selection set on the field.\n */\n function Field(name, options, selectionSet) {\n classCallCheck(this, Field);\n\n this.name = name;\n this.alias = options.alias || null;\n this.responseKey = this.alias || this.name;\n this.args = options.args ? deepFreezeCopyExcept(isVariable, options.args) : emptyArgs;\n this.selectionSet = selectionSet;\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the Field (e.g. `catAlias: cat(size: 'small') { name }` or `name`).\n *\n * @return {String} The GraphQL query string for the Field.\n */\n\n\n createClass(Field, [{\n key: 'toString',\n value: function toString() {\n var aliasPrefix = this.alias ? this.alias + ': ' : '';\n\n return '' + aliasPrefix + this.name + formatArgs(this.args) + this.selectionSet;\n }\n }]);\n return Field;\n}();\n\n// This is an interface that defines a usage, and simplifies type checking\nvar Spread = function Spread() {\n classCallCheck(this, Spread);\n};\n\nvar InlineFragment = function (_Spread) {\n inherits(InlineFragment, _Spread);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link SelectionSetBuilder#addInlineFragmentOn} to create an InlineFragment.\n *\n * @param {String} typeName The type of the fragment.\n * @param {SelectionSet} selectionSet The selection set on the fragment.\n */\n function InlineFragment(typeName, selectionSet) {\n classCallCheck(this, InlineFragment);\n\n var _this = possibleConstructorReturn(this, (InlineFragment.__proto__ || Object.getPrototypeOf(InlineFragment)).call(this));\n\n _this.typeName = typeName;\n _this.selectionSet = selectionSet;\n Object.freeze(_this);\n return _this;\n }\n\n /**\n * Returns the GraphQL query string for the InlineFragment (e.g. `... on Cat { name }`).\n *\n * @return {String} The GraphQL query string for the InlineFragment.\n */\n\n\n createClass(InlineFragment, [{\n key: 'toString',\n value: function toString() {\n return '... on ' + this.typeName + this.selectionSet;\n }\n }]);\n return InlineFragment;\n}(Spread);\n\nvar FragmentSpread = function (_Spread2) {\n inherits(FragmentSpread, _Spread2);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Document#defineFragment} to create a FragmentSpread.\n *\n * @param {FragmentDefinition} fragmentDefinition The corresponding fragment definition.\n */\n function FragmentSpread(fragmentDefinition) {\n classCallCheck(this, FragmentSpread);\n\n var _this2 = possibleConstructorReturn(this, (FragmentSpread.__proto__ || Object.getPrototypeOf(FragmentSpread)).call(this));\n\n _this2.name = fragmentDefinition.name;\n _this2.selectionSet = fragmentDefinition.selectionSet;\n Object.freeze(_this2);\n return _this2;\n }\n\n /**\n * Returns the GraphQL query string for the FragmentSpread (e.g. `...catName`).\n *\n * @return {String} The GraphQL query string for the FragmentSpread.\n */\n\n\n createClass(FragmentSpread, [{\n key: 'toString',\n value: function toString() {\n return '...' + this.name;\n }\n }, {\n key: 'toDefinition',\n value: function toDefinition() {\n // eslint-disable-next-line no-use-before-define\n return new FragmentDefinition(this.name, this.selectionSet.typeSchema.name, this.selectionSet);\n }\n }]);\n return FragmentSpread;\n}(Spread);\n\nvar FragmentDefinition = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Document#defineFragment} to create a FragmentDefinition on a {@link Document}.\n *\n * @param {String} name The name of the fragment definition.\n * @param {String} typeName The type of the fragment.\n */\n function FragmentDefinition(name, typeName, selectionSet) {\n classCallCheck(this, FragmentDefinition);\n\n this.name = name;\n this.typeName = typeName;\n this.selectionSet = selectionSet;\n this.spread = new FragmentSpread(this);\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the FragmentDefinition (e.g. `fragment catName on Cat { name }`).\n *\n * @return {String} The GraphQL query string for the FragmentDefinition.\n */\n\n\n createClass(FragmentDefinition, [{\n key: 'toString',\n value: function toString() {\n return 'fragment ' + this.name + ' on ' + this.typeName + ' ' + this.selectionSet;\n }\n }]);\n return FragmentDefinition;\n}();\n\nfunction selectionsHaveIdField(selections) {\n return selections.some(function (fieldOrFragment) {\n if (Field.prototype.isPrototypeOf(fieldOrFragment)) {\n return fieldOrFragment.name === 'id';\n } else if (Spread.prototype.isPrototypeOf(fieldOrFragment) && fieldOrFragment.selectionSet.typeSchema.implementsNode) {\n return selectionsHaveIdField(fieldOrFragment.selectionSet.selections);\n }\n\n return false;\n });\n}\n\nfunction selectionsHaveTypenameField(selections) {\n return selections.some(function (fieldOrFragment) {\n if (Field.prototype.isPrototypeOf(fieldOrFragment)) {\n return fieldOrFragment.name === '__typename';\n } else if (Spread.prototype.isPrototypeOf(fieldOrFragment) && fieldOrFragment.selectionSet.typeSchema.implementsNode) {\n return selectionsHaveTypenameField(fieldOrFragment.selectionSet.selections);\n }\n\n return false;\n });\n}\n\nfunction indexSelectionsByResponseKey(selections) {\n function assignOrPush(obj, key, value) {\n if (Array.isArray(obj[key])) {\n obj[key].push(value);\n } else {\n obj[key] = [value];\n }\n }\n var unfrozenObject = selections.reduce(function (acc, selection) {\n if (selection.responseKey) {\n assignOrPush(acc, selection.responseKey, selection);\n } else {\n var responseKeys = Object.keys(selection.selectionSet.selectionsByResponseKey);\n\n responseKeys.forEach(function (responseKey) {\n assignOrPush(acc, responseKey, selection);\n });\n }\n\n return acc;\n }, {});\n\n Object.keys(unfrozenObject).forEach(function (key) {\n Object.freeze(unfrozenObject[key]);\n });\n\n return Object.freeze(unfrozenObject);\n}\n\n/**\n * Class that specifies the full selection of data to query.\n */\n\nvar SelectionSet = function () {\n\n /**\n * This constructor should not be invoked directly. SelectionSets are created when building queries/mutations.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {(Object|String)} type The type of the current selection.\n * @param {Function} builderFunction Callback function used to build the SelectionSet.\n * The callback takes a {@link SelectionSetBuilder} as its argument.\n */\n function SelectionSet(typeBundle, type, builderFunction) {\n classCallCheck(this, SelectionSet);\n\n\n if (typeof type === 'string') {\n this.typeSchema = schemaForType(typeBundle, type);\n } else {\n this.typeSchema = type;\n }\n\n trackTypeDependency(this.typeSchema.name);\n\n this.typeBundle = typeBundle;\n this.selections = [];\n if (builderFunction) {\n // eslint-disable-next-line no-use-before-define\n builderFunction(new SelectionSetBuilder(this.typeBundle, this.typeSchema, this.selections));\n }\n\n if (this.typeSchema.implementsNode || this.typeSchema.name === 'Node') {\n if (!selectionsHaveIdField(this.selections)) {\n this.selections.unshift(new Field('id', {}, new SelectionSet(typeBundle, 'ID')));\n }\n }\n\n if (this.typeSchema.kind === 'INTERFACE') {\n if (!selectionsHaveTypenameField(this.selections)) {\n this.selections.unshift(new Field('__typename', {}, new SelectionSet(typeBundle, 'String')));\n }\n }\n\n this.selectionsByResponseKey = indexSelectionsByResponseKey(this.selections);\n Object.freeze(this.selections);\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the SelectionSet (e.g. `{ cat { name } }`).\n *\n * @return {String} The GraphQL query string for the SelectionSet.\n */\n\n\n createClass(SelectionSet, [{\n key: 'toString',\n value: function toString() {\n if (this.typeSchema.kind === 'SCALAR' || this.typeSchema.kind === 'ENUM') {\n return '';\n } else {\n return ' { ' + join(this.selections) + ' }';\n }\n }\n }]);\n return SelectionSet;\n}();\n\nvar SelectionSetBuilder = function () {\n\n /**\n * This constructor should not be invoked directly. SelectionSetBuilders are created when building queries/mutations.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {Object} typeSchema The schema object for the type of the current selection.\n * @param {Field[]} selections The fields on the current selection.\n */\n function SelectionSetBuilder(typeBundle, typeSchema, selections) {\n classCallCheck(this, SelectionSetBuilder);\n\n this.typeBundle = typeBundle;\n this.typeSchema = typeSchema;\n this.selections = selections;\n }\n\n createClass(SelectionSetBuilder, [{\n key: 'hasSelectionWithResponseKey',\n value: function hasSelectionWithResponseKey(responseKey) {\n return this.selections.some(function (field) {\n return field.responseKey === responseKey;\n });\n }\n\n /**\n * Adds a field to be queried on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.add('cat', {args: {id: '123456'}, alias: 'meow'}, (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {SelectionSet|String} selectionOrFieldName The selection or name of the field to add.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{id: '123456'}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'add',\n value: function add(selectionOrFieldName) {\n var selection = void 0;\n\n if (Object.prototype.toString.call(selectionOrFieldName) === '[object String]') {\n trackFieldDependency(this.typeSchema.name, selectionOrFieldName);\n\n for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n selection = this.field.apply(this, [selectionOrFieldName].concat(rest));\n } else {\n if (Field.prototype.isPrototypeOf(selectionOrFieldName)) {\n trackFieldDependency(this.typeSchema.name, selectionOrFieldName.name);\n }\n\n selection = selectionOrFieldName;\n }\n\n if (selection.responseKey && this.hasSelectionWithResponseKey(selection.responseKey)) {\n throw new Error('The field name or alias \\'' + selection.responseKey + '\\' has already been added.');\n }\n this.selections.push(selection);\n }\n }, {\n key: 'field',\n value: function field(name) {\n for (var _len2 = arguments.length, creationArgs = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n creationArgs[_key2 - 1] = arguments[_key2];\n }\n\n var parsedArgs = parseFieldCreationArgs(creationArgs);\n var options = parsedArgs.options,\n callback = parsedArgs.callback;\n var selectionSet = parsedArgs.selectionSet;\n\n\n if (!selectionSet) {\n if (!this.typeSchema.fieldBaseTypes[name]) {\n throw new Error('No field of name \"' + name + '\" found on type \"' + this.typeSchema.name + '\" in schema');\n }\n\n var fieldBaseType = schemaForType(this.typeBundle, this.typeSchema.fieldBaseTypes[name]);\n\n selectionSet = new SelectionSet(this.typeBundle, fieldBaseType, callback);\n }\n\n return new Field(name, options, selectionSet);\n }\n\n /**\n * Creates an inline fragment.\n *\n * @access private\n * @param {String} typeName The type the inline fragment.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n * @return {InlineFragment} An inline fragment.\n */\n\n }, {\n key: 'inlineFragmentOn',\n value: function inlineFragmentOn(typeName) {\n var builderFunctionOrSelectionSet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var selectionSet = void 0;\n\n if (SelectionSet.prototype.isPrototypeOf(builderFunctionOrSelectionSet)) {\n selectionSet = builderFunctionOrSelectionSet;\n } else {\n selectionSet = new SelectionSet(this.typeBundle, schemaForType(this.typeBundle, typeName), builderFunctionOrSelectionSet);\n }\n\n return new InlineFragment(typeName, selectionSet);\n }\n\n /**\n * Adds a field to be queried on the current selection.\n *\n * @access private\n * @param {String} name The name of the field to add to the query.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{id: '123456'}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function} [callback] Callback which will be used to create a new {@link SelectionSet} for the field added.\n */\n\n }, {\n key: 'addField',\n value: function addField(name) {\n for (var _len3 = arguments.length, creationArgs = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n creationArgs[_key3 - 1] = arguments[_key3];\n }\n\n this.add.apply(this, [name].concat(creationArgs));\n }\n\n /**\n * Adds a connection to be queried on the current selection.\n * This adds all the fields necessary for pagination.\n *\n * @example\n * client.query((root) => {\n * root.add('cat', (cat) => {\n * cat.addConnection('friends', {args: {first: 10}, alias: 'coolCats'}, (friends) => {\n * friends.add('name');\n * });\n * });\n * });\n *\n * @param {String} name The name of the connection to add to the query.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{first: 10}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'addConnection',\n value: function addConnection(name) {\n for (var _len4 = arguments.length, creationArgs = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n creationArgs[_key4 - 1] = arguments[_key4];\n }\n\n var _parseFieldCreationAr = parseFieldCreationArgs(creationArgs),\n options = _parseFieldCreationAr.options,\n callback = _parseFieldCreationAr.callback,\n selectionSet = _parseFieldCreationAr.selectionSet;\n\n this.add(name, options, function (connection) {\n connection.add('pageInfo', {}, function (pageInfo) {\n pageInfo.add('hasNextPage');\n pageInfo.add('hasPreviousPage');\n });\n connection.add('edges', {}, function (edges) {\n edges.add('cursor');\n edges.addField('node', {}, selectionSet || callback); // This is bad. Don't do this\n });\n });\n }\n\n /**\n * Adds an inline fragment on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.add('animal', (animal) => {\n * animal.addInlineFragmentOn('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {String} typeName The name of the type of the inline fragment.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'addInlineFragmentOn',\n value: function addInlineFragmentOn(typeName) {\n var fieldTypeCb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n this.add(this.inlineFragmentOn(typeName, fieldTypeCb));\n }\n\n /**\n * Adds a fragment spread on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.addFragment(catFragmentSpread);\n * });\n *\n * @param {FragmentSpread} fragmentSpread The fragment spread to add.\n */\n\n }, {\n key: 'addFragment',\n value: function addFragment(fragmentSpread) {\n this.add(fragmentSpread);\n }\n }]);\n return SelectionSetBuilder;\n}();\n\nfunction parseArgs(args) {\n var name = void 0;\n var variables = void 0;\n var selectionSetCallback = void 0;\n\n if (args.length === 3) {\n var _args = slicedToArray(args, 3);\n\n name = _args[0];\n variables = _args[1];\n selectionSetCallback = _args[2];\n } else if (args.length === 2) {\n if (Object.prototype.toString.call(args[0]) === '[object String]') {\n name = args[0];\n variables = null;\n } else if (Array.isArray(args[0])) {\n variables = args[0];\n name = null;\n }\n\n selectionSetCallback = args[1];\n } else {\n selectionSetCallback = args[0];\n name = null;\n }\n\n return { name: name, variables: variables, selectionSetCallback: selectionSetCallback };\n}\n\nvar VariableDefinitions = function () {\n function VariableDefinitions(variableDefinitions) {\n classCallCheck(this, VariableDefinitions);\n\n this.variableDefinitions = variableDefinitions ? [].concat(toConsumableArray(variableDefinitions)) : [];\n Object.freeze(this.variableDefinitions);\n Object.freeze(this);\n }\n\n createClass(VariableDefinitions, [{\n key: 'toString',\n value: function toString() {\n if (this.variableDefinitions.length === 0) {\n return '';\n }\n\n return ' (' + join(this.variableDefinitions) + ') ';\n }\n }]);\n return VariableDefinitions;\n}();\n\n/**\n * Base class for {@link Query} and {@link Mutation}.\n * @abstract\n */\n\n\nvar Operation = function () {\n\n /**\n * This constructor should not be invoked. The subclasses {@link Query} and {@link Mutation} should be used instead.\n */\n function Operation(typeBundle, operationType) {\n classCallCheck(this, Operation);\n\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var _parseArgs = parseArgs(args),\n name = _parseArgs.name,\n variables = _parseArgs.variables,\n selectionSetCallback = _parseArgs.selectionSetCallback;\n\n this.typeBundle = typeBundle;\n this.name = name;\n this.variableDefinitions = new VariableDefinitions(variables);\n this.operationType = operationType;\n if (operationType === 'query') {\n this.selectionSet = new SelectionSet(typeBundle, typeBundle.queryType, selectionSetCallback);\n this.typeSchema = schemaForType(typeBundle, typeBundle.queryType);\n } else {\n this.selectionSet = new SelectionSet(typeBundle, typeBundle.mutationType, selectionSetCallback);\n this.typeSchema = schemaForType(typeBundle, typeBundle.mutationType);\n }\n Object.freeze(this);\n }\n\n /**\n * Whether the operation is anonymous (i.e. has no name).\n */\n\n\n createClass(Operation, [{\n key: 'toString',\n\n\n /**\n * Returns the GraphQL query or mutation string (e.g. `query myQuery { cat { name } }`).\n *\n * @return {String} The GraphQL query or mutation string.\n */\n value: function toString() {\n var nameString = this.name ? ' ' + this.name : '';\n\n return '' + this.operationType + nameString + this.variableDefinitions + this.selectionSet;\n }\n }, {\n key: 'isAnonymous',\n get: function get$$1() {\n return !this.name;\n }\n }]);\n return Operation;\n}();\n\n/**\n * GraphQL Query class.\n * @extends Operation\n */\n\nvar Query = function (_Operation) {\n inherits(Query, _Operation);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory functions {@link Client#query} or {@link Document#addQuery} to create a Query.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {String} [name] A name for the query.\n * @param {Object[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n */\n function Query(typeBundle) {\n var _ref;\n\n classCallCheck(this, Query);\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return possibleConstructorReturn(this, (_ref = Query.__proto__ || Object.getPrototypeOf(Query)).call.apply(_ref, [this, typeBundle, 'query'].concat(args)));\n }\n\n return Query;\n}(Operation);\n\n/**\n * GraphQL Mutation class.\n * @extends Operation\n */\n\nvar Mutation = function (_Operation) {\n inherits(Mutation, _Operation);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory functions {@link Client#mutation} or {@link Document#addMutation} to create a Mutation.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {String} [name] A name for the mutation.\n * @param {Object[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The mutation builder callback.\n * A {@link SelectionSet} is created using this callback.\n */\n function Mutation(typeBundle) {\n var _ref;\n\n classCallCheck(this, Mutation);\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return possibleConstructorReturn(this, (_ref = Mutation.__proto__ || Object.getPrototypeOf(Mutation)).call.apply(_ref, [this, typeBundle, 'mutation'].concat(args)));\n }\n\n return Mutation;\n}(Operation);\n\nfunction isAnonymous(operation) {\n return operation.isAnonymous;\n}\n\nfunction hasAnonymousOperations(operations) {\n return operations.some(isAnonymous);\n}\n\nfunction hasDuplicateOperationNames(operations) {\n var names = operations.map(function (operation) {\n return operation.name;\n });\n\n return names.reduce(function (hasDuplicates, name, index) {\n return hasDuplicates || names.indexOf(name) !== index;\n }, false);\n}\n\nfunction extractOperation(typeBundle, operationType) {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (Operation.prototype.isPrototypeOf(args[0])) {\n return args[0];\n }\n\n if (operationType === 'query') {\n return new (Function.prototype.bind.apply(Query, [null].concat([typeBundle], args)))();\n } else {\n return new (Function.prototype.bind.apply(Mutation, [null].concat([typeBundle], args)))();\n }\n}\n\nfunction isInvalidOperationCombination(operations) {\n if (operations.length === 1) {\n return false;\n }\n\n return hasAnonymousOperations(operations) || hasDuplicateOperationNames(operations);\n}\n\nfunction fragmentNameIsNotUnique(existingDefinitions, name) {\n return existingDefinitions.some(function (definition) {\n return definition.name === name;\n });\n}\n\nvar Document = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#document} to create a Document.\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n */\n function Document(typeBundle) {\n classCallCheck(this, Document);\n\n this.typeBundle = typeBundle;\n this.definitions = [];\n }\n\n /**\n * Returns the GraphQL query string for the Document (e.g. `query queryOne { ... } query queryTwo { ... }`).\n *\n * @return {String} The GraphQL query string for the Document.\n */\n\n\n createClass(Document, [{\n key: 'toString',\n value: function toString() {\n return join(this.definitions);\n }\n\n /**\n * Adds an operation to the Document.\n *\n * @private\n * @param {String} operationType The type of the operation. Either 'query' or 'mutation'.\n * @param {(Operation|String)} [query|queryName] Either an instance of an operation\n * object, or the name of an operation. Both are optional.\n * @param {Object[]} [variables] A list of variables in the operation. See {@link Client#variable}.\n * @param {Function} [callback] The query builder callback. If an operation\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addOperation',\n value: function addOperation(operationType) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n var operation = extractOperation.apply(undefined, [this.typeBundle, operationType].concat(args));\n\n if (isInvalidOperationCombination(this.operations.concat(operation))) {\n throw new Error('All operations must be uniquely named on a multi-operation document');\n }\n\n this.definitions.push(operation);\n }\n\n /**\n * Adds a query to the Document.\n *\n * @example\n * document.addQuery('myQuery', (root) => {\n * root.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {(Query|String)} [query|queryName] Either an instance of a query\n * object, or the name of a query. Both are optional.\n * @param {Object[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} [callback] The query builder callback. If a query\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addQuery',\n value: function addQuery() {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n this.addOperation.apply(this, ['query'].concat(args));\n }\n\n /**\n * Adds a mutation to the Document.\n *\n * @example\n * const input = client.variable('input', 'CatCreateInput!');\n *\n * document.addMutation('myMutation', [input], (root) => {\n * root.add('catCreate', {args: {input}}, (catCreate) => {\n * catCreate.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {(Mutation|String)} [mutation|mutationName] Either an instance of a mutation\n * object, or the name of a mutation. Both are optional.\n * @param {Object[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} [callback] The mutation builder callback. If a mutation\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addMutation',\n value: function addMutation() {\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n this.addOperation.apply(this, ['mutation'].concat(args));\n }\n\n /**\n * Defines a fragment on the Document.\n *\n * @param {String} name The name of the fragment.\n * @param {String} onType The type the fragment is on.\n * @param {Function} [builderFunction] The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {FragmentSpread} A {@link FragmentSpread} to be used with {@link SelectionSetBuilder#addFragment}.\n */\n\n }, {\n key: 'defineFragment',\n value: function defineFragment(name, onType, builderFunction) {\n if (fragmentNameIsNotUnique(this.fragmentDefinitions, name)) {\n throw new Error('All fragments must be uniquely named on a multi-fragment document');\n }\n\n var selectionSet = new SelectionSet(this.typeBundle, onType, builderFunction);\n var fragment = new FragmentDefinition(name, onType, selectionSet);\n\n this.definitions.push(fragment);\n\n return fragment.spread;\n }\n\n /**\n * All operations ({@link Query} and {@link Mutation}) on the Document.\n */\n\n }, {\n key: 'operations',\n get: function get$$1() {\n return this.definitions.filter(function (definition) {\n return Operation.prototype.isPrototypeOf(definition);\n });\n }\n\n /**\n * All {@link FragmentDefinition}s on the Document.\n */\n\n }, {\n key: 'fragmentDefinitions',\n get: function get$$1() {\n return this.definitions.filter(function (definition) {\n return FragmentDefinition.prototype.isPrototypeOf(definition);\n });\n }\n }]);\n return Document;\n}();\n\n/**\n * The base class used when deserializing response data.\n * Provides rich features, like functions to generate queries to refetch a node or fetch the next page.\n *\n * @class\n */\nvar GraphModel =\n\n/**\n * @param {Object} attrs Attributes on the GraphModel.\n */\nfunction GraphModel(attrs) {\n var _this = this;\n\n classCallCheck(this, GraphModel);\n\n Object.defineProperty(this, 'attrs', { value: attrs, enumerable: false });\n\n Object.keys(this.attrs).filter(function (key) {\n return !(key in _this);\n }).forEach(function (key) {\n var descriptor = void 0;\n\n if (attrs[key] === null) {\n descriptor = {\n enumerable: true,\n get: function get$$1() {\n return null;\n }\n };\n } else {\n descriptor = {\n enumerable: true,\n get: function get$$1() {\n return this.attrs[key].valueOf();\n }\n };\n }\n Object.defineProperty(_this, key, descriptor);\n });\n};\n\n/**\n * A registry of classes used to deserialize the response data. Uses {@link GraphModel} by default.\n */\n\nvar ClassRegistry = function () {\n function ClassRegistry() {\n classCallCheck(this, ClassRegistry);\n\n this.classStore = {};\n }\n\n /**\n * Registers a class for a GraphQL type in the registry.\n *\n * @param {Class} constructor The constructor of the class.\n * @param {String} type The GraphQL type of the object to deserialize into the class.\n */\n\n\n createClass(ClassRegistry, [{\n key: 'registerClassForType',\n value: function registerClassForType(constructor, type) {\n this.classStore[type] = constructor;\n }\n\n /**\n * Unregisters a class for a GraphQL type in the registry.\n *\n * @param {String} type The GraphQL type to unregister.\n */\n\n }, {\n key: 'unregisterClassForType',\n value: function unregisterClassForType(type) {\n delete this.classStore[type];\n }\n\n /**\n * Returns the class for the given GraphQL type.\n *\n * @param {String} type The GraphQL type to look up.\n * @return {Class|GraphModel} The class for the given GraphQL type. Defaults to {@link GraphModel} if no class is registered for the GraphQL type.\n */\n\n }, {\n key: 'classForType',\n value: function classForType(type) {\n return this.classStore[type] || GraphModel;\n }\n }]);\n return ClassRegistry;\n}();\n\nfunction isValue(arg) {\n return Object.prototype.toString.call(arg) !== '[object Null]' && Object.prototype.toString.call(arg) !== '[object Undefined]';\n}\n\nfunction isNodeContext(context) {\n return context.selection.selectionSet.typeSchema.implementsNode;\n}\n\nfunction isConnection(context) {\n return context.selection.selectionSet.typeSchema.name.endsWith('Connection');\n}\n\nfunction nearestNode(context) {\n if (context == null) {\n return null;\n } else if (isNodeContext(context)) {\n return context;\n } else {\n return nearestNode(context.parent);\n }\n}\n\nfunction contextsFromRoot(context) {\n if (context.parent) {\n return contextsFromRoot(context.parent).concat(context);\n } else {\n return [context];\n }\n}\n\nfunction contextsFromNearestNode(context) {\n if (context.selection.selectionSet.typeSchema.implementsNode) {\n return [context];\n } else {\n return contextsFromNearestNode(context.parent).concat(context);\n }\n}\n\nfunction initializeDocumentAndVars(currentContext, contextChain) {\n var lastInChain = contextChain[contextChain.length - 1];\n var first = lastInChain.selection.args.first;\n var variableDefinitions = Object.keys(lastInChain.selection.args).filter(function (key) {\n return isVariable(lastInChain.selection.args[key]);\n }).map(function (key) {\n return lastInChain.selection.args[key];\n });\n\n var firstVar = variableDefinitions.find(function (definition) {\n return definition.name === 'first';\n });\n\n if (!firstVar) {\n firstVar = variable('first', 'Int', first);\n variableDefinitions.push(firstVar);\n }\n\n var document = new Document(currentContext.selection.selectionSet.typeBundle);\n\n return [document, variableDefinitions, firstVar];\n}\n\nfunction addNextFieldTo(currentSelection, contextChain, path, cursor) {\n // There are always at least two. When we start, it's the root context, and the first set\n var nextContext = contextChain.shift();\n\n path.push(nextContext.selection.responseKey);\n\n if (contextChain.length) {\n currentSelection.add(nextContext.selection.name, { alias: nextContext.selection.alias, args: nextContext.selection.args }, function (newSelection) {\n addNextFieldTo(newSelection, contextChain, path, cursor);\n });\n } else {\n var edgesField = nextContext.selection.selectionSet.selections.find(function (field) {\n return field.name === 'edges';\n });\n var nodeField = edgesField.selectionSet.selections.find(function (field) {\n return field.name === 'node';\n });\n var first = void 0;\n\n if (isVariable(nextContext.selection.args.first)) {\n first = nextContext.selection.args.first;\n } else {\n first = variable('first', 'Int', nextContext.selection.args.first);\n }\n\n var options = {\n alias: nextContext.selection.alias,\n args: Object.assign({}, nextContext.selection.args, { after: cursor, first: first })\n };\n\n currentSelection.addConnection(nextContext.selection.name, options, nodeField.selectionSet);\n }\n}\n\nfunction collectFragments(selections) {\n return selections.reduce(function (fragmentDefinitions, field) {\n if (FragmentSpread.prototype.isPrototypeOf(field)) {\n fragmentDefinitions.push(field.toDefinition());\n }\n\n fragmentDefinitions.push.apply(fragmentDefinitions, toConsumableArray(collectFragments(field.selectionSet.selections)));\n\n return fragmentDefinitions;\n }, []);\n}\n\nfunction nextPageQueryAndPath(context, cursor) {\n var nearestNodeContext = nearestNode(context);\n\n if (nearestNodeContext) {\n return function () {\n var _document$definitions;\n\n var path = [];\n var nodeType = nearestNodeContext.selection.selectionSet.typeSchema;\n var nodeId = nearestNodeContext.responseData.id;\n var contextChain = contextsFromNearestNode(context);\n\n var _initializeDocumentAn = initializeDocumentAndVars(context, contextChain),\n _initializeDocumentAn2 = slicedToArray(_initializeDocumentAn, 2),\n document = _initializeDocumentAn2[0],\n variableDefinitions = _initializeDocumentAn2[1];\n\n document.addQuery(variableDefinitions, function (root) {\n path.push('node');\n root.add('node', { args: { id: nodeId } }, function (node) {\n node.addInlineFragmentOn(nodeType.name, function (fragment) {\n addNextFieldTo(fragment, contextChain.slice(1), path, cursor);\n });\n });\n });\n\n var fragments = collectFragments(document.operations[0].selectionSet.selections);\n\n (_document$definitions = document.definitions).unshift.apply(_document$definitions, toConsumableArray(fragments));\n\n return [document, path];\n };\n } else {\n return function () {\n var _document$definitions2;\n\n var path = [];\n var contextChain = contextsFromRoot(context);\n\n var _initializeDocumentAn3 = initializeDocumentAndVars(context, contextChain),\n _initializeDocumentAn4 = slicedToArray(_initializeDocumentAn3, 2),\n document = _initializeDocumentAn4[0],\n variableDefinitions = _initializeDocumentAn4[1];\n\n document.addQuery(variableDefinitions, function (root) {\n addNextFieldTo(root, contextChain.slice(1), path, cursor);\n });\n\n var fragments = collectFragments(document.operations[0].selectionSet.selections);\n\n (_document$definitions2 = document.definitions).unshift.apply(_document$definitions2, toConsumableArray(fragments));\n\n return [document, path];\n };\n }\n}\n\nfunction hasNextPage$1(connection, edge) {\n if (edge !== connection.edges[connection.edges.length - 1]) {\n return new Scalar(true);\n }\n\n return connection.pageInfo.hasNextPage;\n}\n\nfunction hasPreviousPage(connection, edge) {\n if (edge !== connection.edges[0]) {\n return new Scalar(true);\n }\n\n return connection.pageInfo.hasPreviousPage;\n}\n\nfunction transformConnections(variableValues) {\n return function (context, value) {\n if (isConnection(context)) {\n if (!(value.pageInfo && value.pageInfo.hasOwnProperty('hasNextPage') && value.pageInfo.hasOwnProperty('hasPreviousPage'))) {\n throw new Error('Connections must include the selections \"pageInfo { hasNextPage, hasPreviousPage }\".');\n }\n\n return value.edges.map(function (edge) {\n return Object.assign(edge.node, {\n nextPageQueryAndPath: nextPageQueryAndPath(context, edge.cursor),\n hasNextPage: hasNextPage$1(value, edge),\n hasPreviousPage: hasPreviousPage(value, edge),\n variableValues: variableValues\n });\n });\n } else {\n return value;\n }\n };\n}\n\n/* eslint-disable no-warning-comments */\nvar DecodingContext = function () {\n function DecodingContext(selection, responseData) {\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n classCallCheck(this, DecodingContext);\n\n this.selection = selection;\n this.responseData = responseData;\n this.parent = parent;\n Object.freeze(this);\n }\n\n createClass(DecodingContext, [{\n key: 'contextForObjectProperty',\n value: function contextForObjectProperty(responseKey) {\n var nestedSelections = this.selection.selectionSet.selectionsByResponseKey[responseKey];\n var nextSelection = nestedSelections && nestedSelections[0];\n var nextContext = void 0;\n\n // fragment spreads operate inside the current context, so we recurse to get the proper\n // selection set, but retain the current response context\n if (Spread.prototype.isPrototypeOf(nextSelection)) {\n nextContext = new DecodingContext(nextSelection, this.responseData, this.parent);\n } else {\n nextContext = new DecodingContext(nextSelection, this.responseData[responseKey], this);\n }\n\n if (!nextSelection) {\n throw new Error('Unexpected response key \"' + responseKey + '\", not found in selection set: ' + this.selection.selectionSet);\n }\n\n if (Field.prototype.isPrototypeOf(nextSelection)) {\n return nextContext;\n } else {\n return nextContext.contextForObjectProperty(responseKey);\n }\n }\n }, {\n key: 'contextForArrayItem',\n value: function contextForArrayItem(item) {\n return new DecodingContext(this.selection, item, this.parent);\n }\n }]);\n return DecodingContext;\n}();\n\nfunction decodeArrayItems(context, transformers) {\n return context.responseData.map(function (item) {\n return decodeContext(context.contextForArrayItem(item), transformers);\n });\n}\n\nfunction decodeObjectValues(context, transformers) {\n return Object.keys(context.responseData).reduce(function (acc, responseKey) {\n acc[responseKey] = decodeContext(context.contextForObjectProperty(responseKey), transformers);\n\n return acc;\n }, {});\n}\n\nfunction runTransformers(transformers, context, value) {\n return transformers.reduce(function (acc, transformer) {\n return transformer(context, acc);\n }, value);\n}\n\nfunction decodeContext(context, transformers) {\n var value = context.responseData;\n\n if (Array.isArray(value)) {\n value = decodeArrayItems(context, transformers);\n } else if (isObject(value)) {\n value = decodeObjectValues(context, transformers);\n }\n\n return runTransformers(transformers, context, value);\n}\n\nfunction generateRefetchQueries(context, value) {\n if (isValue(value) && isNodeContext(context)) {\n value.refetchQuery = function () {\n return new Query(context.selection.selectionSet.typeBundle, function (root) {\n root.add('node', { args: { id: context.responseData.id } }, function (node) {\n node.addInlineFragmentOn(context.selection.selectionSet.typeSchema.name, context.selection.selectionSet);\n });\n });\n };\n }\n\n return value;\n}\n\nfunction transformPojosToClassesWithRegistry(classRegistry) {\n return function transformPojosToClasses(context, value) {\n if (isObject(value)) {\n var Klass = classRegistry.classForType(context.selection.selectionSet.typeSchema.name);\n\n return new Klass(value);\n } else {\n return value;\n }\n };\n}\n\nfunction transformScalars(context, value) {\n if (isValue(value)) {\n if (context.selection.selectionSet.typeSchema.kind === 'SCALAR') {\n return new Scalar(value);\n } else if (context.selection.selectionSet.typeSchema.kind === 'ENUM') {\n return new Enum(value);\n }\n }\n\n return value;\n}\n\nfunction recordTypeInformation(context, value) {\n if (isValue(value)) {\n if (value.__typename) {\n value.type = schemaForType(context.selection.selectionSet.typeBundle, value.__typename);\n } else {\n value.type = context.selection.selectionSet.typeSchema;\n }\n }\n\n return value;\n}\n\nfunction defaultTransformers(_ref) {\n var _ref$classRegistry = _ref.classRegistry,\n classRegistry = _ref$classRegistry === undefined ? new ClassRegistry() : _ref$classRegistry,\n variableValues = _ref.variableValues;\n\n return [transformScalars, generateRefetchQueries, transformConnections(variableValues), recordTypeInformation, transformPojosToClassesWithRegistry(classRegistry)];\n}\n\n/**\n * A function used to decode the response data.\n *\n * @function decode\n * @param {SelectionSet} selection The selection set used to query the response data.\n * @param {Object} responseData The response data returned.\n * @param {Object} [options] Options to use when decoding including:\n * @param {ClassRegistry} [options.classRegistry] A class registry to use when deserializing the data into classes.\n * @return {GraphModel} The decoded response data.\n */\nfunction decode(selection, responseData) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var transformers = options.transformers || defaultTransformers(options);\n var context = new DecodingContext(selection, responseData);\n\n return decodeContext(context, transformers);\n}\n\nfunction httpFetcher(url) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return function fetcher(graphQLParams) {\n return fetch(url, _extends({\n body: JSON.stringify(graphQLParams),\n method: 'POST',\n mode: 'cors'\n }, options, {\n headers: _extends({\n 'Content-Type': 'application/json',\n Accept: 'application/json'\n }, options.headers)\n })).then(function (response) {\n return response.json();\n });\n };\n}\n\nfunction hasNextPage(paginatedModels) {\n return paginatedModels && paginatedModels.length && paginatedModels[paginatedModels.length - 1].hasNextPage;\n}\n\n/**\n * The Client class used to create and send GraphQL documents, fragments, queries and mutations.\n */\n\nvar Client = function () {\n\n /**\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {Object} options An options object. Must include either `url` and optional `fetcherOptions` OR a `fetcher` function.\n * @param {(String|Function)} options.url|fetcher Either the URL of the GraphQL API endpoint, or a custom fetcher function for further customization.\n * @param {Object} [options.fetcherOptions] Additional options to use with `fetch`, like headers. Do not specify this argument if `fetcher` is specified.\n * @param {ClassRegistry} [options.registry=new ClassRegistry()] A {@link ClassRegistry} used to decode the response data.\n */\n function Client(typeBundle, _ref) {\n var url = _ref.url,\n fetcherOptions = _ref.fetcherOptions,\n fetcher = _ref.fetcher,\n _ref$registry = _ref.registry,\n registry = _ref$registry === undefined ? new ClassRegistry() : _ref$registry;\n classCallCheck(this, Client);\n\n this.typeBundle = typeBundle;\n this.classRegistry = registry;\n\n if (url && fetcher) {\n throw new Error('Arguments not supported: supply either `url` and optional `fetcherOptions` OR use a `fetcher` function for further customization.');\n }\n\n if (url) {\n this.fetcher = httpFetcher(url, fetcherOptions);\n } else if (fetcher) {\n if (fetcherOptions) {\n throw new Error('Arguments not supported: when specifying your own `fetcher`, set options through it and not with `fetcherOptions`');\n }\n\n this.fetcher = fetcher;\n } else {\n throw new Error('Invalid arguments: one of `url` or `fetcher` is needed.');\n }\n }\n\n /**\n * Creates a GraphQL document.\n *\n * @example\n * const document = client.document();\n *\n * @return {Document} A GraphQL document.\n */\n\n\n createClass(Client, [{\n key: 'document',\n value: function document() {\n return new Document(this.typeBundle);\n }\n\n /**\n * Creates a GraphQL query.\n *\n * @example\n * const query = client.query('myQuery', (root) => {\n * root.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {String} [name] A name for the query.\n * @param {VariableDefinition[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {Query} A GraphQL query.\n */\n\n }, {\n key: 'query',\n value: function query() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return new (Function.prototype.bind.apply(Query, [null].concat([this.typeBundle], args)))();\n }\n\n /**\n * Creates a GraphQL mutation.\n *\n * @example\n * const input = client.variable('input', 'CatCreateInput!');\n *\n * const mutation = client.mutation('myMutation', [input], (root) => {\n * root.add('catCreate', {args: {input}}, (catCreate) => {\n * catCreate.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {String} [name] A name for the mutation.\n * @param {VariableDefinition[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The mutation builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {Mutation} A GraphQL mutation.\n */\n\n }, {\n key: 'mutation',\n value: function mutation() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return new (Function.prototype.bind.apply(Mutation, [null].concat([this.typeBundle], args)))();\n }\n\n /**\n * Sends a GraphQL operation (query or mutation) or a document.\n *\n * @example\n * client.send(query, {id: '12345'}).then((result) => {\n * // Do something with the returned result\n * console.log(result);\n * });\n *\n * @param {(Query|Mutation|Document|Function)} request The operation or document to send. If represented\n * as a function, it must return `Query`, `Mutation`, or `Document` and recieve the client as the only param.\n * @param {Object} [variableValues] The values for variables in the operation or document.\n * @param {Object} [otherProperties] Other properties to send with the query. For example, a custom operation name.\n * @return {Promise.} A promise resolving to an object containing the response data.\n */\n\n }, {\n key: 'send',\n value: function send(request) {\n var _this = this;\n\n var variableValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var otherProperties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n var operationOrDocument = void 0;\n\n if (Function.prototype.isPrototypeOf(request)) {\n operationOrDocument = request(this);\n } else {\n operationOrDocument = request;\n }\n\n var graphQLParams = { query: operationOrDocument.toString() };\n\n if (variableValues) {\n graphQLParams.variables = variableValues;\n }\n\n Object.assign(graphQLParams, otherProperties);\n\n var operation = void 0;\n\n if (Operation.prototype.isPrototypeOf(operationOrDocument)) {\n operation = operationOrDocument;\n } else {\n var document = operationOrDocument;\n\n if (document.operations.length === 1) {\n operation = document.operations[0];\n } else if (otherProperties.operationName) {\n operation = document.operations.find(function (documentOperation) {\n return documentOperation.name === otherProperties.operationName;\n });\n } else {\n throw new Error('\\n A document must contain exactly one operation, or an operationName\\n must be specified. Example:\\n\\n client.send(document, null, {operationName: \\'myFancyQuery\\'});\\n ');\n }\n }\n\n return this.fetcher(graphQLParams).then(function (response) {\n if (response.data) {\n response.model = decode(operation, response.data, {\n classRegistry: _this.classRegistry,\n variableValues: variableValues\n });\n }\n\n return response;\n });\n }\n\n /**\n * Fetches the next page of a paginated node or array of nodes.\n *\n * @example\n * client.fetchNextPage(node, {first: 10}).then((result) => {\n * // Do something with the next page\n * console.log(result);\n * });\n *\n * @param {(GraphModel|GraphModel[])} nodeOrNodes The node or list of nodes on which to fetch the next page.\n * @param {Object} [options] Options object containing:\n * @param {Integer} [options.first] The number of nodes to query on the next page. Defaults to the page size of the previous query.\n * @return {Promise.} A promise resolving with the next page of {@link GraphModel}s.\n */\n\n }, {\n key: 'fetchNextPage',\n value: function fetchNextPage(nodeOrNodes, options) {\n var node = void 0;\n\n if (Array.isArray(nodeOrNodes)) {\n node = nodeOrNodes[nodeOrNodes.length - 1];\n } else {\n node = nodeOrNodes;\n }\n\n var _node$nextPageQueryAn = node.nextPageQueryAndPath(),\n _node$nextPageQueryAn2 = slicedToArray(_node$nextPageQueryAn, 2),\n query = _node$nextPageQueryAn2[0],\n path = _node$nextPageQueryAn2[1];\n\n var variableValues = void 0;\n\n if (node.variableValues || options) {\n variableValues = Object.assign({}, node.variableValues, options);\n }\n\n return this.send(query, variableValues).then(function (response) {\n response.model = path.reduce(function (object, key) {\n return object[key];\n }, response.model);\n\n return response;\n });\n }\n\n /**\n * Fetches all subsequent pages of a paginated array of nodes.\n *\n * @example\n * client.fetchAllPages(nodes, {pageSize: 20}).then((result) => {\n * // Do something with all the models\n * console.log(result);\n * });\n *\n * @param {GraphModel[]} paginatedModels The list of nodes on which to fetch all pages.\n * @param {Object} options Options object containing:\n * @param {Integer} options.pageSize The number of nodes to query on each page.\n * @return {Promise.} A promise resolving with all pages of {@link GraphModel}s, including the original list.\n */\n\n }, {\n key: 'fetchAllPages',\n value: function fetchAllPages(paginatedModels, _ref2) {\n var _this2 = this;\n\n var pageSize = _ref2.pageSize;\n\n if (hasNextPage(paginatedModels)) {\n return this.fetchNextPage(paginatedModels, { first: pageSize }).then(function (_ref3) {\n var model = _ref3.model;\n\n var pages = paginatedModels.concat(model);\n\n return _this2.fetchAllPages(pages, { pageSize: pageSize });\n });\n }\n\n return Promise.resolve(paginatedModels);\n }\n\n /**\n * Refetches a {@link GraphModel} whose type implements `Node`.\n *\n * @example\n * client.refetch(node).then((result) => {\n * // Do something with the refetched node\n * console.log(result);\n * });\n *\n * @param {GraphModel} nodeType A {@link GraphModel} whose type implements `Node`.\n * @return {Promise.} The refetched {@link GraphModel}.\n */\n\n }, {\n key: 'refetch',\n value: function refetch(nodeType) {\n if (!nodeType) {\n throw new Error('\\'client#refetch\\' must be called with a non-null instance of a Node.');\n } else if (!nodeType.type.implementsNode) {\n throw new Error('\\'client#refetch\\' must be called with a type that implements Node. Received ' + nodeType.type.name + '.');\n }\n\n return this.send(nodeType.refetchQuery()).then(function (_ref4) {\n var model = _ref4.model;\n return model.node;\n });\n }\n\n /**\n * Creates a variable to be used in a {@link Query} or {@link Mutation}.\n *\n * @example\n * const idVariable = client.variable('id', 'ID!', '12345');\n *\n * @param {String} name The name of the variable.\n * @param {String} type The GraphQL type of the variable.\n * @param {*} [defaultValue] The default value of the variable.\n * @return {VariableDefinition} A variable object that can be used in a {@link Query} or {@link Mutation}.\n */\n\n }, {\n key: 'variable',\n value: function variable$$1(name, type, defaultValue) {\n return variable(name, type, defaultValue);\n }\n\n /**\n * Creates an enum to be used in a {@link Query} or {@link Mutation}.\n *\n * @example\n * const titleEnum = client.enum('TITLE');\n *\n * @param {String} key The key of the enum.\n * @return {Enum} An enum object that can be used in a {@link Query} or {@link Mutation}.\n */\n\n }, {\n key: 'enum',\n value: function _enum(key) {\n return enumFunction(key);\n }\n }]);\n return Client;\n}();\n\nexport { ClassRegistry, GraphModel, decode };export default Client;\n//# sourceMappingURL=index.es.js.map\n","/**\n * The class used to configure the JS Buy SDK Client.\n * @class\n */\nclass Config {\n\n /**\n * Properties that must be set on initializations\n * @attribute requiredProperties\n * @default ['storefrontAccessToken', 'domain']\n * @type Array\n * @private\n */\n get requiredProperties() {\n return [\n 'storefrontAccessToken',\n 'domain'\n ];\n }\n\n /**\n * Deprecated properties that map directly to required properties\n * @attribute deprecatedProperties\n * @default {'accessToken': 'storefrontAccessToken', 'apiKey': 'storefrontAccessToken'}\n * @type Object\n * @private\n */\n get deprecatedProperties() {\n return {\n accessToken: 'storefrontAccessToken',\n apiKey: 'storefrontAccessToken'\n };\n }\n\n /**\n * @constructs Config\n * @param {Object} attrs An object specifying the configuration. Requires the following properties:\n * @param {String} attrs.storefrontAccessToken The {@link https://help.shopify.com/api/reference/storefront_access_token|Storefront access token} for the shop.\n * @param {String} attrs.domain The `myshopify` domain for the shop (e.g. `graphql.myshopify.com`).\n */\n constructor(attrs) {\n Object.keys(this.deprecatedProperties).forEach((key) => {\n if (!attrs.hasOwnProperty(key)) { return; }\n // eslint-disable-next-line no-console\n console.warn(`[ShopifyBuy] Config property ${key} is deprecated as of v1.0, please use ${this.deprecatedProperties[key]} instead.`);\n attrs[this.deprecatedProperties[key]] = attrs[key];\n });\n\n this.requiredProperties.forEach((key) => {\n if (attrs.hasOwnProperty(key)) {\n this[key] = attrs[key];\n } else {\n throw new Error(`new Config() requires the option '${key}'`);\n }\n });\n }\n}\n\nexport default Config;\n","export default class Resource {\n constructor(client) {\n this.graphQLClient = client;\n }\n}\n","export const defaultErrors = [{message: 'an unknown error has occured.'}];\n\nexport default function defaultResolver(path) {\n const keys = path.split('.');\n\n return function({model, errors}) {\n return new Promise((resolve, reject) => {\n try {\n const result = keys.reduce((ref, key) => {\n return ref[key];\n }, model);\n\n resolve(result);\n } catch (_) {\n if (errors) {\n reject(errors);\n } else {\n reject(defaultErrors);\n }\n }\n });\n };\n}\n","export default function fetchResourcesForProducts(productOrProduct, client) {\n const products = [].concat(productOrProduct);\n\n return Promise.all(products.reduce((promiseAcc, product) => {\n // Fetch the rest of the images and variants for this product\n promiseAcc.push(client.fetchAllPages(product.images, {pageSize: 250}).then((images) => {\n product.attrs.images = images;\n }));\n\n promiseAcc.push(client.fetchAllPages(product.variants, {pageSize: 250}).then((variants) => {\n product.attrs.variants = variants;\n }));\n\n return promiseAcc;\n }, []));\n}\n","import fetchResourcesForProducts from './fetch-resources-for-products';\n\nexport function paginateProductConnectionsAndResolve(client) {\n return function(products) {\n return fetchResourcesForProducts(products, client).then(() => {\n return products;\n });\n };\n}\n\nexport function paginateCollectionsProductConnectionsAndResolve(client) {\n return function(collectionOrCollections) {\n const collections = [].concat(collectionOrCollections);\n\n return Promise.all(collections.reduce((promiseAcc, collection) => {\n return promiseAcc.concat(fetchResourcesForProducts(collection.products, client));\n }, [])).then(() => {\n return collectionOrCollections;\n });\n };\n}\n","/**\n * @namespace ProductHelpers\n */\nexport default {\n\n /**\n * Returns the variant of a product corresponding to the options given.\n *\n * @example\n * const selectedVariant = client.product.variantForOptions(product, {\n * size: \"Small\",\n * color: \"Red\"\n * });\n *\n * @memberof ProductHelpers\n * @method variantForOptions\n * @param {GraphModel} product The product to find the variant on. Must include `variants`.\n * @param {Object} options An object containing the options for the variant.\n * @return {GraphModel} The variant corresponding to the options given.\n */\n variantForOptions(product, options) {\n return product.variants.find((variant) => {\n return variant.selectedOptions.every((selectedOption) => {\n return options[selectedOption.name] === selectedOption.value.valueOf();\n });\n });\n }\n};\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport {paginateProductConnectionsAndResolve} from './paginators';\nimport productHelpers from './product-helpers';\n\n// GraphQL\nimport productNodeQuery from './graphql/productNodeQuery.graphql';\nimport productNodesQuery from './graphql/productNodesQuery.graphql';\nimport productConnectionQuery from './graphql/productConnectionQuery.graphql';\nimport productByHandleQuery from './graphql/productByHandleQuery.graphql';\n\n/**\n * The JS Buy SDK product resource\n * @class\n */\nclass ProductResource extends Resource {\n get helpers() {\n return productHelpers;\n }\n\n /**\n * Fetches all products on the shop.\n *\n * @example\n * client.product.fetchAll().then((products) => {\n * // Do something with the products\n * });\n *\n * @param {Int} [pageSize] The number of products to fetch per page\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the products.\n */\n fetchAll(first = 20) {\n return this.graphQLClient\n .send(productConnectionQuery, {first})\n .then(defaultResolver('shop.products'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single product by ID on the shop.\n *\n * @example\n * client.product.fetch('Xk9lM2JkNzFmNzIQ4NTIY4ZDFi9DaGVja291dC9lM2JkN==').then((product) => {\n * // Do something with the product\n * });\n *\n * @param {String} id The id of the product to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the product.\n */\n fetch(id) {\n return this.graphQLClient\n .send(productNodeQuery, {id})\n .then(defaultResolver('node'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches multiple products by ID on the shop.\n *\n * @example\n * const ids = ['Xk9lM2JkNzFmNzIQ4NTIY4ZDFi9DaGVja291dC9lM2JkN==', 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ='];\n * client.product.fetchMultiple(ids).then((products) => {\n * // Do something with the products\n * });\n *\n * @param {String[]} ids The ids of the products to fetch\n * @return {Promise|GraphModel[]} A promise resolving with a `GraphModel` of the product.\n */\n fetchMultiple(ids) {\n return this.graphQLClient\n .send(productNodesQuery, {ids})\n .then(defaultResolver('nodes'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single product by handle on the shop.\n *\n * @example\n * client.product.fetchByHandle('my-product').then((product) => {\n * // Do something with the product\n * });\n *\n * @param {String} handle The handle of the product to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the product.\n */\n fetchByHandle(handle) {\n return this.graphQLClient\n .send(productByHandleQuery, {handle})\n .then(defaultResolver('shop.productByHandle'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches all products on the shop that match the query.\n *\n * @example\n * client.product.fetchQuery({first: 20, sortKey: 'CREATED_AT', reverse: true}).then((products) => {\n * // Do something with the first 10 products sorted by title in ascending order\n * });\n *\n * @param {Object} [args] An object specifying the query data containing zero or more of:\n * @param {Int} [args.first=20] The relay `first` param. This specifies page size.\n * @param {String} [args.sortKey=ID] The key to sort results by. Available values are\n * documented as {@link https://help.shopify.com/api/storefront-api/reference/enum/productsortkeys|Product Sort Keys}.\n * @param {String} [args.query] A query string. See full documentation {@link https://help.shopify.com/api/storefront-api/reference/object/shop#products|here}\n * @param {Boolean} [args.reverse] Whether or not to reverse the sort order of the results\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the products.\n */\n fetchQuery({first = 20, sortKey = 'ID', query, reverse} = {}) {\n return this.graphQLClient\n .send(productConnectionQuery, {\n first,\n sortKey,\n query,\n reverse\n })\n .then(defaultResolver('shop.products'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n}\n\nexport default ProductResource;\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport {paginateCollectionsProductConnectionsAndResolve} from './paginators';\n\n// GraphQL\nimport collectionNodeQuery from './graphql/collectionNodeQuery.graphql';\nimport collectionNodeWithProductsQuery from './graphql/collectionNodeWithProductsQuery.graphql';\nimport collectionConnectionQuery from './graphql/collectionConnectionQuery.graphql';\nimport collectionConnectionWithProductsQuery from './graphql/collectionConnectionWithProductsQuery.graphql';\nimport collectionByHandleQuery from './graphql/collectionByHandleQuery.graphql';\n\n/**\n * The JS Buy SDK collection resource\n * @class\n */\nclass CollectionResource extends Resource {\n\n /**\n * Fetches all collections on the shop, not including products.\n * To fetch collections with products use [fetchAllsWithProducts]{@link Client#fetchAllsWithProducts}.\n *\n * @example\n * client.collection.fetchAll().then((collections) => {\n * // Do something with the collections\n * });\n *\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchAll(first = 20) {\n return this.graphQLClient\n .send(collectionConnectionQuery, {first})\n .then(defaultResolver('shop.collections'));\n }\n\n /**\n * Fetches all collections on the shop, including products.\n *\n * @example\n * client.collection.fetchAllWithProducts().then((collections) => {\n * // Do something with the collections\n * });\n *\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchAllWithProducts({first = 20, productsFirst = 20} = {}) {\n return this.graphQLClient\n .send(collectionConnectionWithProductsQuery, {first, productsFirst})\n .then(defaultResolver('shop.collections'))\n .then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single collection by ID on the shop, not including products.\n * To fetch the collection with products use [fetchWithProducts]{@link Client#fetchWithProducts}.\n *\n * @example\n * client.collection.fetch('Xk9lM2JkNzFmNzIQ4NTIY4ZDFiZTUyZTUwNTE2MDNhZjg==').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} id The id of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetch(id) {\n return this.graphQLClient\n .send(collectionNodeQuery, {id})\n .then(defaultResolver('node'));\n }\n\n /**\n * Fetches a single collection by ID on the shop, including products.\n *\n * @example\n * client.collection.fetchWithProducts('Xk9lM2JkNzFmNzIQ4NTIY4ZDFiZTUyZTUwNTE2MDNhZjg==').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} id The id of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetchWithProducts(id) {\n return this.graphQLClient\n .send(collectionNodeWithProductsQuery, {id})\n .then(defaultResolver('node'))\n .then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a collection by handle on the shop.\n *\n * @example\n * client.collection.fetchByHandle('my-collection').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} handle The handle of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetchByHandle(handle) {\n return this.graphQLClient\n .send(collectionByHandleQuery, {handle})\n .then(defaultResolver('shop.collectionByHandle'));\n }\n\n /**\n * Fetches all collections on the shop that match the query.\n *\n * @example\n * client.collection.fetchQuery({first: 20, sortKey: 'CREATED_AT', reverse: true}).then((collections) => {\n * // Do something with the first 10 collections sorted by title in ascending order\n * });\n *\n * @param {Object} [args] An object specifying the query data containing zero or more of:\n * @param {Int} [args.first=20] The relay `first` param. This specifies page size.\n * @param {String} [args.sortKey=ID] The key to sort results by. Available values are\n * documented as {@link https://help.shopify.com/api/storefront-api/reference/enum/collectionsortkeys|Collection Sort Keys}.\n * @param {String} [args.query] A query string. See full documentation {@link https://help.shopify.com/api/storefront-api/reference/object/shop#collections|here}\n * @param {Boolean} [args.reverse] Whether or not to reverse the sort order of the results\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchQuery({first = 20, sortKey = 'ID', query, reverse} = {}) {\n return this.graphQLClient.send(collectionConnectionQuery, {\n first,\n sortKey,\n query,\n reverse\n }).then(defaultResolver('shop.collections'));\n }\n}\nexport default CollectionResource;\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\n\n// GraphQL\nimport shopQuery from './graphql/shopQuery.graphql';\nimport shopPolicyQuery from './graphql/shopPolicyQuery.graphql';\n\n/**\n * The JS Buy SDK shop resource\n * @class\n */\nclass ShopResource extends Resource {\n\n /**\n * Fetches shop information (`currencyCode`, `description`, `moneyFormat`, `name`, and `primaryDomain`).\n * See the {@link https://help.shopify.com/api/storefront-api/reference/object/shop|Storefront API reference} for more information.\n *\n * @example\n * client.shop.fetchInfo().then((shop) => {\n * // Do something with the shop\n * });\n *\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the shop.\n */\n fetchInfo() {\n return this.graphQLClient\n .send(shopQuery)\n .then(defaultResolver('shop'));\n }\n\n /**\n * Fetches shop policies (privacy policy, terms of service and refund policy).\n *\n * @example\n * client.shop.fetchPolicies().then((shop) => {\n * // Do something with the shop\n * });\n *\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the shop.\n */\n fetchPolicies() {\n return this.graphQLClient\n .send(shopPolicyQuery)\n .then(defaultResolver('shop'));\n }\n}\n\nexport default ShopResource;\n","export default function handleCheckoutMutation(mutationRootKey, client) {\n return function({data, errors, model}) {\n const rootData = data[mutationRootKey];\n const rootModel = model[mutationRootKey];\n\n if (rootData && rootData.checkout) {\n return client.fetchAllPages(rootModel.checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n rootModel.checkout.attrs.lineItems = lineItems;\n rootModel.checkout.errors = errors;\n rootModel.checkout.userErrors = rootModel.userErrors;\n\n return rootModel.checkout;\n });\n }\n\n if (errors && errors.length) {\n return Promise.reject(new Error(JSON.stringify(errors)));\n }\n\n if (rootData && rootData.userErrors && rootData.userErrors.length) {\n return Promise.reject(new Error(JSON.stringify(rootData.userErrors)));\n }\n\n return Promise.reject(new Error(`The ${mutationRootKey} mutation failed due to an unknown error.`));\n };\n}\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport handleCheckoutMutation from './handle-checkout-mutation';\n\n// GraphQL\nimport checkoutNodeQuery from './graphql/checkoutNodeQuery.graphql';\nimport checkoutNodeQueryWithAddress from './graphql/checkoutNodeQueryWithAddress.graphql';\nimport checkoutCreateMutation from './graphql/checkoutCreateMutation.graphql';\nimport checkoutLineItemsAddMutation from './graphql/checkoutLineItemsAddMutation.graphql';\nimport checkoutLineItemsRemoveMutation from './graphql/checkoutLineItemsRemoveMutation.graphql';\nimport checkoutLineItemsUpdateMutation from './graphql/checkoutLineItemsUpdateMutation.graphql';\nimport checkoutAttributesUpdateMutation from './graphql/checkoutAttributesUpdateMutation.graphql';\nimport checkoutDiscountCodeApplyMutation from './graphql/checkoutDiscountCodeApplyMutation.graphql';\nimport checkoutDiscountCodeRemoveMutation from './graphql/checkoutDiscountCodeRemoveMutation.graphql';\nimport checkoutShippingAddressUpdateMutation from './graphql/checkoutShippingAddressUpdateMutation.graphql';\nimport checkoutShippingLineUpdateMutation from './graphql/checkoutShippingLineUpdateMutation.graphql';\n\n/**\n * The JS Buy SDK checkout resource\n * @class\n */\nclass CheckoutResource extends Resource {\n\n /**\n * Fetches a checkout by ID.\n *\n * @example\n * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {\n * // Do something with the checkout\n * });\n *\n * @param {String} id The id of the checkout to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.\n */\n fetch(id) {\n return this.graphQLClient\n .send(checkoutNodeQuery, {id})\n .then(defaultResolver('node'))\n .then((checkout) => {\n return this.graphQLClient.fetchAllPages(checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n checkout.attrs.lineItems = lineItems;\n\n return checkout;\n });\n });\n }\n\n /**\n * Fetches a checkout by ID.\n *\n * @example\n * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {\n * // Do something with the checkout\n * });\n *\n * @param {String} id The id of the checkout to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.\n */\n fetchWithAddress(id) {\n return this.graphQLClient\n .send(checkoutNodeQueryWithAddress, {id})\n .then(defaultResolver('node'))\n .then((checkout) => {\n return this.graphQLClient.fetchAllPages(checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n checkout.attrs.lineItems = lineItems;\n\n return checkout;\n });\n });\n }\n\n /**\n * Creates a checkout.\n *\n * @example\n * const input = {\n * lineItems: [\n * {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}\n * ]\n * };\n *\n * client.checkout.create(input).then((checkout) => {\n * // Do something with the newly created checkout\n * });\n *\n * @param {Object} [input] An input object containing zero or more of:\n * @param {String} [input.email] An email connected to the checkout.\n * @param {Object[]} [input.lineItems] A list of line items in the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @param {Object} [input.shippingAddress] A shipping address. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/mailingaddressinput|Storefront API reference} for valid input fields.\n * @param {String} [input.note] A note for the checkout.\n * @param {Object[]} [input.customAttributes] A list of custom attributes for the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/attributeinput|Storefront API reference} for valid input fields.\n * @return {Promise|GraphModel} A promise resolving with the created checkout.\n */\n create(input = {}) {\n return this.graphQLClient\n .send(checkoutCreateMutation, {input})\n .then(handleCheckoutMutation('checkoutCreate', this.graphQLClient));\n }\n\n /**\n * Replaces the value of checkout's custom attributes and/or note with values defined in the input\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const input = {customAttributes: [{key: \"MyKey\", value: \"MyValue\"}]};\n *\n * client.checkout.updateAttributes(checkoutId, input).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update.\n * @param {Object} [input] An input object containing zero or more of:\n * @param {Boolean} [input.allowPartialAddresses] An email connected to the checkout.\n * @param {Object[]} [input.customAttributes] A list of custom attributes for the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/attributeinput|Storefront API reference} for valid input fields.\n * @param {String} [input.note] A note for the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateAttributes(checkoutId, input = {}) {\n return this.graphQLClient\n .send(checkoutAttributesUpdateMutation, {checkoutId, input})\n .then(handleCheckoutMutation('checkoutAttributesUpdate', this.graphQLClient));\n }\n\n /**\n * Adds line items to an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];\n *\n * client.checkout.addLineItems(checkoutId, lineItems).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add line items to.\n * @param {Object[]} lineItems A list of line items to add to the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n addLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsAddMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsAdd', this.graphQLClient));\n }\n\n /**\n * Applies a discount to an existing checkout using a discount code.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const discountCode = 'best-discount-ever';\n *\n * client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add discount to.\n * @param {String} discountCode The discount code to apply to the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n addDiscount(checkoutId, discountCode) {\n return this.graphQLClient\n .send(checkoutDiscountCodeApplyMutation, {checkoutId, discountCode})\n .then(handleCheckoutMutation('checkoutDiscountCodeApply', this.graphQLClient));\n }\n\n /**\n * Applies a discount to an existing checkout using a discount code.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const discountCode = 'best-discount-ever';\n *\n * client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add discount to.\n * @param {String} discountCode The discount code to apply to the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n removeDiscount(checkoutId, discountCode) {\n return this.graphQLClient\n .send(checkoutDiscountCodeRemoveMutation, {checkoutId, discountCode})\n .then(handleCheckoutMutation('checkoutDiscountCodeRemove', this.graphQLClient));\n }\n\n /**\n * Removes line items from an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItemIds = ['TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU='];\n *\n * client.checkout.removeLineItems(checkoutId, lineItemIds).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to remove line items from.\n * @param {String[]} lineItemIds A list of the ids of line items to remove from the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n removeLineItems(checkoutId, lineItemIds) {\n return this.graphQLClient\n .send(checkoutLineItemsRemoveMutation, {checkoutId, lineItemIds})\n .then(handleCheckoutMutation('checkoutLineItemsRemove', this.graphQLClient));\n }\n\n /**\n * Updates line items on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [\n * {\n * id: 'TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU=',\n * quantity: 5,\n * variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg=='\n * }\n * ];\n *\n * client.checkout.updateLineItems(checkoutId, lineItems).then(checkout => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update a line item on.\n * @param {Object[]} lineItems A list of line item information to update. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineitemupdateinput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsUpdateMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsUpdate', this.graphQLClient));\n }\n\n /**\n * Updates shipping address on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const shippingAddress = {\n * address1: 'Chestnut Street 92',\n * address2: 'Apartment 2\"',\n * city: 'Louisville',\n * company: null,\n * country: 'United States',\n * firstName: 'Bob',\n * lastName: 'Norman',\n * phone: '555-625-1199',\n * province: 'Kentucky',\n * zip: '40202'\n * };\n *\n *\n * client.checkout.updateShippingAddress(checkoutId, shippingAddress).then(checkout => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update shipping address.\n * @param {Object} shippingAddress A shipping address.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateShippingAddress(checkoutId, shippingAddress) {\n return this.graphQLClient\n .send(checkoutShippingAddressUpdateMutation, {checkoutId, shippingAddress})\n .then(handleCheckoutMutation('checkoutShippingAddressUpdate', this.graphQLClient));\n }\n\n updateShippingLines(checkoutId, shippingRateHandle) {\n return this.graphQLClient\n .send(checkoutShippingLineUpdateMutation, {checkoutId, shippingRateHandle})\n .then(handleCheckoutMutation('checkoutShippingLineUpdate', this.graphQLClient));\n }\n}\n\nexport default CheckoutResource;\n","/**\n * @namespace ImageHelpers\n */\nexport default {\n\n /**\n * Generates the image src for a resized image with maximum dimensions `maxWidth` and `maxHeight`.\n * Images do not scale up.\n *\n * @example\n * const url = client.image.helpers.imageForSize(product.variants[0].image, {maxWidth: 50, maxHeight: 50});\n *\n * @memberof ImageHelpers\n * @method imageForSize\n * @param {Object} image The original image model to generate the image src for.\n * @param {Object} options An options object containing:\n * @param {Integer} options.maxWidth The maximum width for the image.\n * @param {Integer} options.maxHeight The maximum height for the image.\n * @return {String} The image src for the resized image.\n */\n imageForSize(image, {maxWidth, maxHeight}) {\n const splitUrl = image.src.split('?');\n const notQuery = splitUrl[0];\n const query = splitUrl[1] ? `?${splitUrl[1]}` : '';\n\n // Use the section before the query\n const imageTokens = notQuery.split('.');\n\n // Take the token before the file extension and append the dimensions\n const imagePathIndex = imageTokens.length - 2;\n\n imageTokens[imagePathIndex] = `${imageTokens[imagePathIndex]}_${maxWidth}x${maxHeight}`;\n\n return `${imageTokens.join('.')}${query}`;\n }\n};\n","import Resource from './resource';\nimport imageHelpers from './image-helpers';\n\n/**\n * The JS Buy SDK image resource\n * @class\n */\nclass ImageResource extends Resource {\n get helpers() {\n return imageHelpers;\n }\n}\n\nexport default ImageResource;\n","import GraphQLJSClient from './graphql-client';\nimport Config from './config';\nimport ProductResource from './product-resource';\nimport CollectionResource from './collection-resource';\nimport ShopResource from './shop-resource';\nimport CheckoutResource from './checkout-resource';\nimport ImageResource from './image-resource';\nimport {version} from '../package.json';\n\n// GraphQL\nimport types from '../schema.json';\n\n/**\n * The JS Buy SDK Client.\n * @class\n *\n * @property {ProductResource} product The property under which product fetching methods live.\n * @property {CollectionResource} collection The property under which collection fetching methods live.\n * @property {ShopResource} shop The property under which shop fetching methods live.\n * @property {CheckoutResource} checkout The property under which shop fetching and mutating methods live.\n * @property {ImageResource} image The property under which image helper methods live.\n */\nclass Client {\n\n /**\n * Primary entry point for building a new Client.\n */\n static buildClient(config, fetchFunction) {\n const newConfig = new Config(config);\n const client = new Client(newConfig, GraphQLJSClient, fetchFunction);\n\n client.config = newConfig;\n\n return client;\n }\n\n /**\n * @constructs Client\n * @param {Config} config An instance of {@link Config} used to configure the Client.\n */\n constructor(config, GraphQLClientClass = GraphQLJSClient, fetchFunction) {\n const url = `https://${config.domain}/api/graphql`;\n\n const headers = {\n 'X-SDK-Variant': 'javascript',\n 'X-SDK-Version': version,\n 'X-Shopify-Storefront-Access-Token': config.storefrontAccessToken\n };\n\n if (fetchFunction) {\n headers['Content-Type'] = 'application/json';\n headers.Accept = 'application/json';\n\n this.graphQLClient = new GraphQLClientClass(types, {\n fetcher: function fetcher(graphQLParams) {\n return fetchFunction(url, {\n body: JSON.stringify(graphQLParams),\n method: 'POST',\n mode: 'cors',\n headers\n }).then((response) => response.json());\n }\n });\n } else {\n this.graphQLClient = new GraphQLClientClass(types, {\n url,\n fetcherOptions: {headers}\n });\n }\n\n this.product = new ProductResource(this.graphQLClient);\n this.collection = new CollectionResource(this.graphQLClient);\n this.shop = new ShopResource(this.graphQLClient);\n this.checkout = new CheckoutResource(this.graphQLClient);\n this.image = new ImageResource(this.graphQLClient);\n }\n\n /**\n * Fetches the next page of models\n *\n * @example\n * client.fetchNextPage(products).then((nextProducts) => {\n * // Do something with the products\n * });\n *\n * @param {models} [Array] The paginated set to fetch the next page of\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the type provided.\n */\n fetchNextPage(models) {\n return this.graphQLClient.fetchNextPage(models);\n }\n}\n\nexport default Client;\n"],"names":["join","_len","arguments","length","fields","Array","_key","isObject","value","Boolean","Object","prototype","toString","call","valueOf","deepFreezeCopyExcept","predicate","structure","freeze","keys","reduce","copy","key","isArray","map","item","schemaForType","typeBundle","typeName","type","types","Error","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","i","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","_extends","assign","source","hasOwnProperty","inherits","subClass","superClass","create","setPrototypeOf","__proto__","possibleConstructorReturn","self","ReferenceError","slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","undefined","_i","Symbol","iterator","_s","next","done","push","err","toConsumableArray","arr2","from","VariableDefinition","name","defaultValue","toInputValueString","defaultValueString","formatInputValue","isVariable","isPrototypeOf","variable","Enum","enumFunction","Scalar","get$$1","String","JSON","stringify","apply","formatObject","openChar","closeChar","argPairs","formatArgs","args","noop","Profiler","trackTypeDependency","trackFieldDependency","parseFieldCreationArgs","creationArgs","callback","options","selectionSet","_creationArgs","_creationArgs2","SelectionSet","emptyArgs","Field","alias","responseKey","aliasPrefix","Spread","InlineFragment","_Spread","_this","getPrototypeOf","FragmentSpread","_Spread2","fragmentDefinition","_this2","toDefinition","FragmentDefinition","typeSchema","spread","selectionsHaveIdField","selections","some","fieldOrFragment","implementsNode","selectionsHaveTypenameField","indexSelectionsByResponseKey","assignOrPush","obj","unfrozenObject","acc","selection","responseKeys","selectionsByResponseKey","forEach","builderFunction","SelectionSetBuilder","unshift","kind","hasSelectionWithResponseKey","field","add","selectionOrFieldName","rest","concat","_len2","_key2","parsedArgs","fieldBaseTypes","fieldBaseType","inlineFragmentOn","builderFunctionOrSelectionSet","addField","_len3","_key3","addConnection","_len4","_key4","_parseFieldCreationAr","connection","pageInfo","edges","addInlineFragmentOn","fieldTypeCb","addFragment","fragmentSpread","parseArgs","variables","selectionSetCallback","_args","VariableDefinitions","variableDefinitions","Operation","operationType","_parseArgs","queryType","mutationType","nameString","Query","_Operation","_ref","Mutation","isAnonymous","operation","hasAnonymousOperations","operations","hasDuplicateOperationNames","names","hasDuplicates","index","indexOf","extractOperation","Function","bind","isInvalidOperationCombination","fragmentNameIsNotUnique","existingDefinitions","definition","Document","definitions","addOperation","addQuery","addMutation","defineFragment","onType","fragmentDefinitions","fragment","filter","GraphModel","attrs","ClassRegistry","classStore","registerClassForType","constructor","unregisterClassForType","classForType","isValue","arg","isNodeContext","context","isConnection","endsWith","nearestNode","parent","contextsFromRoot","contextsFromNearestNode","initializeDocumentAndVars","currentContext","contextChain","lastInChain","first","firstVar","find","document","addNextFieldTo","currentSelection","path","cursor","nextContext","shift","newSelection","edgesField","nodeField","after","collectFragments","nextPageQueryAndPath","nearestNodeContext","_document$definitions","nodeType","nodeId","responseData","id","_initializeDocumentAn","_initializeDocumentAn2","root","node","slice","fragments","_document$definitions2","_initializeDocumentAn3","_initializeDocumentAn4","hasNextPage$1","edge","hasNextPage","hasPreviousPage","transformConnections","variableValues","DecodingContext","contextForObjectProperty","nestedSelections","nextSelection","contextForArrayItem","decodeArrayItems","transformers","decodeContext","decodeObjectValues","runTransformers","transformer","generateRefetchQueries","refetchQuery","transformPojosToClassesWithRegistry","classRegistry","transformPojosToClasses","Klass","transformScalars","recordTypeInformation","__typename","defaultTransformers","_ref$classRegistry","decode","httpFetcher","url","fetcher","graphQLParams","fetch","headers","then","response","json","paginatedModels","Client","fetcherOptions","_ref$registry","registry","query","mutation","send","request","otherProperties","operationOrDocument","operationName","documentOperation","data","model","fetchNextPage","nodeOrNodes","_node$nextPageQueryAn","_node$nextPageQueryAn2","object","fetchAllPages","_ref2","pageSize","_ref3","pages","Promise","resolve","refetch","_ref4","variable$$1","_enum","Config","deprecatedProperties","warn","requiredProperties","Resource","client","graphQLClient","defaultErrors","message","defaultResolver","split","errors","reject","result","ref","_","fetchResourcesForProducts","productOrProduct","products","all","promiseAcc","product","images","variants","paginateProductConnectionsAndResolve","paginateCollectionsProductConnectionsAndResolve","collectionOrCollections","collections","collection","variant","selectedOptions","every","selectedOption","ProductResource","productConnectionQuery","productNodeQuery","ids","productNodesQuery","handle","productByHandleQuery","sortKey","reverse","productHelpers","CollectionResource","collectionConnectionQuery","productsFirst","collectionConnectionWithProductsQuery","collectionNodeQuery","collectionNodeWithProductsQuery","collectionByHandleQuery","ShopResource","shopQuery","shopPolicyQuery","handleCheckoutMutation","mutationRootKey","rootData","rootModel","checkout","lineItems","userErrors","CheckoutResource","checkoutNodeQuery","checkoutNodeQueryWithAddress","input","checkoutCreateMutation","checkoutId","checkoutAttributesUpdateMutation","checkoutLineItemsAddMutation","discountCode","checkoutDiscountCodeApplyMutation","checkoutDiscountCodeRemoveMutation","lineItemIds","checkoutLineItemsRemoveMutation","checkoutLineItemsUpdateMutation","shippingAddress","checkoutShippingAddressUpdateMutation","shippingRateHandle","checkoutShippingLineUpdateMutation","image","maxWidth","maxHeight","splitUrl","src","notQuery","imageTokens","imagePathIndex","ImageResource","imageHelpers","config","fetchFunction","newConfig","GraphQLJSClient","GraphQLClientClass","domain","version","storefrontAccessToken","Accept","shop","models"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGF;AACA,AAYA;;;;;IAIMM;;;;;;;;;;;;;;;;;;;;;;;0BAaE3I,IAAI;;;aACD,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"}
\ No newline at end of file
+{"version":3,"file":"index.js","sources":["node_modules/graphql-js-client/index.es.js","src/config.js","src/resource.js","src/default-resolver.js","src/fetch-resources-for-products.js","src/paginators.js","src/product-helpers.js","src/product-resource.js","src/collection-resource.js","src/shop-resource.js","src/handle-checkout-mutation.js","src/checkout-resource.js","src/image-helpers.js","src/image-resource.js","src/client.js"],"sourcesContent":["/*\nThe MIT License (MIT)\nCopyright (c) 2016 Shopify Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE\nOR OTHER DEALINGS IN THE SOFTWARE.\n\n\n*/\nfunction join() {\n for (var _len = arguments.length, fields = Array(_len), _key = 0; _key < _len; _key++) {\n fields[_key] = arguments[_key];\n }\n\n return fields.join(' ');\n}\n\nfunction isObject(value) {\n return Boolean(value) && Object.prototype.toString.call(value.valueOf()) === '[object Object]';\n}\n\nfunction deepFreezeCopyExcept(predicate, structure) {\n if (predicate(structure)) {\n return structure;\n } else if (isObject(structure)) {\n return Object.freeze(Object.keys(structure).reduce(function (copy, key) {\n copy[key] = deepFreezeCopyExcept(predicate, structure[key]);\n\n return copy;\n }, {}));\n } else if (Array.isArray(structure)) {\n return Object.freeze(structure.map(function (item) {\n return deepFreezeCopyExcept(predicate, item);\n }));\n } else {\n return structure;\n }\n}\n\nfunction schemaForType(typeBundle, typeName) {\n var type = typeBundle.types[typeName];\n\n if (type) {\n return type;\n }\n\n throw new Error(\"No type of \" + typeName + \" found in schema\");\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n\n\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nvar VariableDefinition = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#variable} to create a VariableDefinition.\n *\n * @param {String} name The name of the variable.\n * @param {String} type The GraphQL type of the variable.\n * @param {*} [defaultValue] The default value of the variable.\n */\n function VariableDefinition(name, type, defaultValue) {\n classCallCheck(this, VariableDefinition);\n\n this.name = name;\n this.type = type;\n this.defaultValue = defaultValue;\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the variable as an input value (e.g. `$variableName`).\n *\n * @return {String} The GraphQL query string for the variable as an input value.\n */\n\n\n createClass(VariableDefinition, [{\n key: 'toInputValueString',\n value: function toInputValueString() {\n return '$' + this.name;\n }\n\n /**\n * Returns the GraphQL query string for the variable (e.g. `$variableName:VariableType = defaultValue`).\n *\n * @return {String} The GraphQL query string for the variable.\n */\n\n }, {\n key: 'toString',\n value: function toString() {\n var defaultValueString = this.defaultValue ? ' = ' + formatInputValue(this.defaultValue) : '';\n\n return '$' + this.name + ':' + this.type + defaultValueString;\n }\n }]);\n return VariableDefinition;\n}();\n\nfunction isVariable(value) {\n return VariableDefinition.prototype.isPrototypeOf(value);\n}\n\nfunction variable(name, type, defaultValue) {\n return new VariableDefinition(name, type, defaultValue);\n}\n\nvar Enum = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#enum} to create an Enum.\n *\n * @param {String} key The key of the enum.\n */\n function Enum(key) {\n classCallCheck(this, Enum);\n\n this.key = key;\n }\n\n /**\n * Returns the GraphQL query string for the enum (e.g. `enumKey`).\n *\n * @return {String} The GraphQL query string for the enum.\n */\n\n\n createClass(Enum, [{\n key: \"toString\",\n value: function toString() {\n return this.key;\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n return this.key.valueOf();\n }\n }]);\n return Enum;\n}();\n\nvar enumFunction = (function (key) {\n return new Enum(key);\n});\n\nvar Scalar = function () {\n function Scalar(value) {\n classCallCheck(this, Scalar);\n\n this.value = value;\n }\n\n createClass(Scalar, [{\n key: \"toString\",\n value: function toString() {\n return this.value.toString();\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n return this.value.valueOf();\n }\n }, {\n key: \"unwrapped\",\n get: function get$$1() {\n return this.value;\n }\n }]);\n return Scalar;\n}();\n\nfunction formatInputValue(value) {\n if (VariableDefinition.prototype.isPrototypeOf(value)) {\n return value.toInputValueString();\n } else if (Enum.prototype.isPrototypeOf(value)) {\n return String(value);\n } else if (Scalar.prototype.isPrototypeOf(value)) {\n return JSON.stringify(value.valueOf());\n } else if (Array.isArray(value)) {\n return '[' + join.apply(undefined, toConsumableArray(value.map(formatInputValue))) + ']';\n } else if (isObject(value)) {\n return formatObject(value, '{', '}');\n } else {\n return JSON.stringify(value);\n }\n}\n\nfunction formatObject(value) {\n var openChar = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var closeChar = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n\n var argPairs = Object.keys(value).map(function (key) {\n return key + ': ' + formatInputValue(value[key]);\n });\n\n return '' + openChar + join.apply(undefined, toConsumableArray(argPairs)) + closeChar;\n}\n\nfunction formatArgs(args) {\n if (!Object.keys(args).length) {\n return '';\n }\n\n return ' (' + formatObject(args) + ')';\n}\n\n// eslint-disable-next-line no-empty-function\nvar noop = (function () {});\n\nvar Profiler = {\n trackTypeDependency: noop,\n trackFieldDependency: noop\n};\n\nvar trackTypeDependency = Profiler.trackTypeDependency;\nvar trackFieldDependency = Profiler.trackFieldDependency;\n\n\nfunction parseFieldCreationArgs(creationArgs) {\n var callback = noop;\n var options = {};\n var selectionSet = null;\n\n if (creationArgs.length === 2) {\n if (typeof creationArgs[1] === 'function') {\n var _creationArgs = slicedToArray(creationArgs, 2);\n\n options = _creationArgs[0];\n callback = _creationArgs[1];\n } else {\n var _creationArgs2 = slicedToArray(creationArgs, 2);\n\n options = _creationArgs2[0];\n selectionSet = _creationArgs2[1];\n }\n } else if (creationArgs.length === 1) {\n // SelectionSet is defined before this function is called since it's\n // called by SelectionSet\n // eslint-disable-next-line no-use-before-define\n if (SelectionSet.prototype.isPrototypeOf(creationArgs[0])) {\n selectionSet = creationArgs[0];\n } else if (typeof creationArgs[0] === 'function') {\n callback = creationArgs[0];\n } else {\n options = creationArgs[0];\n }\n }\n\n return { options: options, selectionSet: selectionSet, callback: callback };\n}\n\nvar emptyArgs = Object.freeze({});\n\nvar Field = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Fields are added to a selection by {@link SelectionSetBuilder#add}, {@link SelectionSetBuilder#addConnection}\n * and {@link SelectionSetBuilder#addInlineFragmentOn}.\n *\n * @param {String} name The name of the field.\n * @param {Object} [options] An options object containing:\n * @param {Object} [options.args] Arguments for the field.\n * @param {String} [options.alias] An alias for the field.\n * @param {SelectionSet} selectionSet The selection set on the field.\n */\n function Field(name, options, selectionSet) {\n classCallCheck(this, Field);\n\n this.name = name;\n this.alias = options.alias || null;\n this.responseKey = this.alias || this.name;\n this.args = options.args ? deepFreezeCopyExcept(isVariable, options.args) : emptyArgs;\n this.selectionSet = selectionSet;\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the Field (e.g. `catAlias: cat(size: 'small') { name }` or `name`).\n *\n * @return {String} The GraphQL query string for the Field.\n */\n\n\n createClass(Field, [{\n key: 'toString',\n value: function toString() {\n var aliasPrefix = this.alias ? this.alias + ': ' : '';\n\n return '' + aliasPrefix + this.name + formatArgs(this.args) + this.selectionSet;\n }\n }]);\n return Field;\n}();\n\n// This is an interface that defines a usage, and simplifies type checking\nvar Spread = function Spread() {\n classCallCheck(this, Spread);\n};\n\nvar InlineFragment = function (_Spread) {\n inherits(InlineFragment, _Spread);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link SelectionSetBuilder#addInlineFragmentOn} to create an InlineFragment.\n *\n * @param {String} typeName The type of the fragment.\n * @param {SelectionSet} selectionSet The selection set on the fragment.\n */\n function InlineFragment(typeName, selectionSet) {\n classCallCheck(this, InlineFragment);\n\n var _this = possibleConstructorReturn(this, (InlineFragment.__proto__ || Object.getPrototypeOf(InlineFragment)).call(this));\n\n _this.typeName = typeName;\n _this.selectionSet = selectionSet;\n Object.freeze(_this);\n return _this;\n }\n\n /**\n * Returns the GraphQL query string for the InlineFragment (e.g. `... on Cat { name }`).\n *\n * @return {String} The GraphQL query string for the InlineFragment.\n */\n\n\n createClass(InlineFragment, [{\n key: 'toString',\n value: function toString() {\n return '... on ' + this.typeName + this.selectionSet;\n }\n }]);\n return InlineFragment;\n}(Spread);\n\nvar FragmentSpread = function (_Spread2) {\n inherits(FragmentSpread, _Spread2);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Document#defineFragment} to create a FragmentSpread.\n *\n * @param {FragmentDefinition} fragmentDefinition The corresponding fragment definition.\n */\n function FragmentSpread(fragmentDefinition) {\n classCallCheck(this, FragmentSpread);\n\n var _this2 = possibleConstructorReturn(this, (FragmentSpread.__proto__ || Object.getPrototypeOf(FragmentSpread)).call(this));\n\n _this2.name = fragmentDefinition.name;\n _this2.selectionSet = fragmentDefinition.selectionSet;\n Object.freeze(_this2);\n return _this2;\n }\n\n /**\n * Returns the GraphQL query string for the FragmentSpread (e.g. `...catName`).\n *\n * @return {String} The GraphQL query string for the FragmentSpread.\n */\n\n\n createClass(FragmentSpread, [{\n key: 'toString',\n value: function toString() {\n return '...' + this.name;\n }\n }, {\n key: 'toDefinition',\n value: function toDefinition() {\n // eslint-disable-next-line no-use-before-define\n return new FragmentDefinition(this.name, this.selectionSet.typeSchema.name, this.selectionSet);\n }\n }]);\n return FragmentSpread;\n}(Spread);\n\nvar FragmentDefinition = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Document#defineFragment} to create a FragmentDefinition on a {@link Document}.\n *\n * @param {String} name The name of the fragment definition.\n * @param {String} typeName The type of the fragment.\n */\n function FragmentDefinition(name, typeName, selectionSet) {\n classCallCheck(this, FragmentDefinition);\n\n this.name = name;\n this.typeName = typeName;\n this.selectionSet = selectionSet;\n this.spread = new FragmentSpread(this);\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the FragmentDefinition (e.g. `fragment catName on Cat { name }`).\n *\n * @return {String} The GraphQL query string for the FragmentDefinition.\n */\n\n\n createClass(FragmentDefinition, [{\n key: 'toString',\n value: function toString() {\n return 'fragment ' + this.name + ' on ' + this.typeName + ' ' + this.selectionSet;\n }\n }]);\n return FragmentDefinition;\n}();\n\nfunction selectionsHaveIdField(selections) {\n return selections.some(function (fieldOrFragment) {\n if (Field.prototype.isPrototypeOf(fieldOrFragment)) {\n return fieldOrFragment.name === 'id';\n } else if (Spread.prototype.isPrototypeOf(fieldOrFragment) && fieldOrFragment.selectionSet.typeSchema.implementsNode) {\n return selectionsHaveIdField(fieldOrFragment.selectionSet.selections);\n }\n\n return false;\n });\n}\n\nfunction selectionsHaveTypenameField(selections) {\n return selections.some(function (fieldOrFragment) {\n if (Field.prototype.isPrototypeOf(fieldOrFragment)) {\n return fieldOrFragment.name === '__typename';\n } else if (Spread.prototype.isPrototypeOf(fieldOrFragment) && fieldOrFragment.selectionSet.typeSchema.implementsNode) {\n return selectionsHaveTypenameField(fieldOrFragment.selectionSet.selections);\n }\n\n return false;\n });\n}\n\nfunction indexSelectionsByResponseKey(selections) {\n function assignOrPush(obj, key, value) {\n if (Array.isArray(obj[key])) {\n obj[key].push(value);\n } else {\n obj[key] = [value];\n }\n }\n var unfrozenObject = selections.reduce(function (acc, selection) {\n if (selection.responseKey) {\n assignOrPush(acc, selection.responseKey, selection);\n } else {\n var responseKeys = Object.keys(selection.selectionSet.selectionsByResponseKey);\n\n responseKeys.forEach(function (responseKey) {\n assignOrPush(acc, responseKey, selection);\n });\n }\n\n return acc;\n }, {});\n\n Object.keys(unfrozenObject).forEach(function (key) {\n Object.freeze(unfrozenObject[key]);\n });\n\n return Object.freeze(unfrozenObject);\n}\n\n/**\n * Class that specifies the full selection of data to query.\n */\n\nvar SelectionSet = function () {\n\n /**\n * This constructor should not be invoked directly. SelectionSets are created when building queries/mutations.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {(Object|String)} type The type of the current selection.\n * @param {Function} builderFunction Callback function used to build the SelectionSet.\n * The callback takes a {@link SelectionSetBuilder} as its argument.\n */\n function SelectionSet(typeBundle, type, builderFunction) {\n classCallCheck(this, SelectionSet);\n\n\n if (typeof type === 'string') {\n this.typeSchema = schemaForType(typeBundle, type);\n } else {\n this.typeSchema = type;\n }\n\n trackTypeDependency(this.typeSchema.name);\n\n this.typeBundle = typeBundle;\n this.selections = [];\n if (builderFunction) {\n // eslint-disable-next-line no-use-before-define\n builderFunction(new SelectionSetBuilder(this.typeBundle, this.typeSchema, this.selections));\n }\n\n if (this.typeSchema.implementsNode || this.typeSchema.name === 'Node') {\n if (!selectionsHaveIdField(this.selections)) {\n this.selections.unshift(new Field('id', {}, new SelectionSet(typeBundle, 'ID')));\n }\n }\n\n if (this.typeSchema.kind === 'INTERFACE') {\n if (!selectionsHaveTypenameField(this.selections)) {\n this.selections.unshift(new Field('__typename', {}, new SelectionSet(typeBundle, 'String')));\n }\n }\n\n this.selectionsByResponseKey = indexSelectionsByResponseKey(this.selections);\n Object.freeze(this.selections);\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the SelectionSet (e.g. `{ cat { name } }`).\n *\n * @return {String} The GraphQL query string for the SelectionSet.\n */\n\n\n createClass(SelectionSet, [{\n key: 'toString',\n value: function toString() {\n if (this.typeSchema.kind === 'SCALAR' || this.typeSchema.kind === 'ENUM') {\n return '';\n } else {\n return ' { ' + join(this.selections) + ' }';\n }\n }\n }]);\n return SelectionSet;\n}();\n\nvar SelectionSetBuilder = function () {\n\n /**\n * This constructor should not be invoked directly. SelectionSetBuilders are created when building queries/mutations.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {Object} typeSchema The schema object for the type of the current selection.\n * @param {Field[]} selections The fields on the current selection.\n */\n function SelectionSetBuilder(typeBundle, typeSchema, selections) {\n classCallCheck(this, SelectionSetBuilder);\n\n this.typeBundle = typeBundle;\n this.typeSchema = typeSchema;\n this.selections = selections;\n }\n\n createClass(SelectionSetBuilder, [{\n key: 'hasSelectionWithResponseKey',\n value: function hasSelectionWithResponseKey(responseKey) {\n return this.selections.some(function (field) {\n return field.responseKey === responseKey;\n });\n }\n\n /**\n * Adds a field to be queried on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.add('cat', {args: {id: '123456'}, alias: 'meow'}, (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {SelectionSet|String} selectionOrFieldName The selection or name of the field to add.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{id: '123456'}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'add',\n value: function add(selectionOrFieldName) {\n var selection = void 0;\n\n if (Object.prototype.toString.call(selectionOrFieldName) === '[object String]') {\n trackFieldDependency(this.typeSchema.name, selectionOrFieldName);\n\n for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n selection = this.field.apply(this, [selectionOrFieldName].concat(rest));\n } else {\n if (Field.prototype.isPrototypeOf(selectionOrFieldName)) {\n trackFieldDependency(this.typeSchema.name, selectionOrFieldName.name);\n }\n\n selection = selectionOrFieldName;\n }\n\n if (selection.responseKey && this.hasSelectionWithResponseKey(selection.responseKey)) {\n throw new Error('The field name or alias \\'' + selection.responseKey + '\\' has already been added.');\n }\n this.selections.push(selection);\n }\n }, {\n key: 'field',\n value: function field(name) {\n for (var _len2 = arguments.length, creationArgs = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n creationArgs[_key2 - 1] = arguments[_key2];\n }\n\n var parsedArgs = parseFieldCreationArgs(creationArgs);\n var options = parsedArgs.options,\n callback = parsedArgs.callback;\n var selectionSet = parsedArgs.selectionSet;\n\n\n if (!selectionSet) {\n if (!this.typeSchema.fieldBaseTypes[name]) {\n throw new Error('No field of name \"' + name + '\" found on type \"' + this.typeSchema.name + '\" in schema');\n }\n\n var fieldBaseType = schemaForType(this.typeBundle, this.typeSchema.fieldBaseTypes[name]);\n\n selectionSet = new SelectionSet(this.typeBundle, fieldBaseType, callback);\n }\n\n return new Field(name, options, selectionSet);\n }\n\n /**\n * Creates an inline fragment.\n *\n * @access private\n * @param {String} typeName The type the inline fragment.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n * @return {InlineFragment} An inline fragment.\n */\n\n }, {\n key: 'inlineFragmentOn',\n value: function inlineFragmentOn(typeName) {\n var builderFunctionOrSelectionSet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var selectionSet = void 0;\n\n if (SelectionSet.prototype.isPrototypeOf(builderFunctionOrSelectionSet)) {\n selectionSet = builderFunctionOrSelectionSet;\n } else {\n selectionSet = new SelectionSet(this.typeBundle, schemaForType(this.typeBundle, typeName), builderFunctionOrSelectionSet);\n }\n\n return new InlineFragment(typeName, selectionSet);\n }\n\n /**\n * Adds a field to be queried on the current selection.\n *\n * @access private\n * @param {String} name The name of the field to add to the query.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{id: '123456'}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function} [callback] Callback which will be used to create a new {@link SelectionSet} for the field added.\n */\n\n }, {\n key: 'addField',\n value: function addField(name) {\n for (var _len3 = arguments.length, creationArgs = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n creationArgs[_key3 - 1] = arguments[_key3];\n }\n\n this.add.apply(this, [name].concat(creationArgs));\n }\n\n /**\n * Adds a connection to be queried on the current selection.\n * This adds all the fields necessary for pagination.\n *\n * @example\n * client.query((root) => {\n * root.add('cat', (cat) => {\n * cat.addConnection('friends', {args: {first: 10}, alias: 'coolCats'}, (friends) => {\n * friends.add('name');\n * });\n * });\n * });\n *\n * @param {String} name The name of the connection to add to the query.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{first: 10}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'addConnection',\n value: function addConnection(name) {\n for (var _len4 = arguments.length, creationArgs = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n creationArgs[_key4 - 1] = arguments[_key4];\n }\n\n var _parseFieldCreationAr = parseFieldCreationArgs(creationArgs),\n options = _parseFieldCreationAr.options,\n callback = _parseFieldCreationAr.callback,\n selectionSet = _parseFieldCreationAr.selectionSet;\n\n this.add(name, options, function (connection) {\n connection.add('pageInfo', {}, function (pageInfo) {\n pageInfo.add('hasNextPage');\n pageInfo.add('hasPreviousPage');\n });\n connection.add('edges', {}, function (edges) {\n edges.add('cursor');\n edges.addField('node', {}, selectionSet || callback); // This is bad. Don't do this\n });\n });\n }\n\n /**\n * Adds an inline fragment on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.add('animal', (animal) => {\n * animal.addInlineFragmentOn('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {String} typeName The name of the type of the inline fragment.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'addInlineFragmentOn',\n value: function addInlineFragmentOn(typeName) {\n var fieldTypeCb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n this.add(this.inlineFragmentOn(typeName, fieldTypeCb));\n }\n\n /**\n * Adds a fragment spread on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.addFragment(catFragmentSpread);\n * });\n *\n * @param {FragmentSpread} fragmentSpread The fragment spread to add.\n */\n\n }, {\n key: 'addFragment',\n value: function addFragment(fragmentSpread) {\n this.add(fragmentSpread);\n }\n }]);\n return SelectionSetBuilder;\n}();\n\nfunction parseArgs(args) {\n var name = void 0;\n var variables = void 0;\n var selectionSetCallback = void 0;\n\n if (args.length === 3) {\n var _args = slicedToArray(args, 3);\n\n name = _args[0];\n variables = _args[1];\n selectionSetCallback = _args[2];\n } else if (args.length === 2) {\n if (Object.prototype.toString.call(args[0]) === '[object String]') {\n name = args[0];\n variables = null;\n } else if (Array.isArray(args[0])) {\n variables = args[0];\n name = null;\n }\n\n selectionSetCallback = args[1];\n } else {\n selectionSetCallback = args[0];\n name = null;\n }\n\n return { name: name, variables: variables, selectionSetCallback: selectionSetCallback };\n}\n\nvar VariableDefinitions = function () {\n function VariableDefinitions(variableDefinitions) {\n classCallCheck(this, VariableDefinitions);\n\n this.variableDefinitions = variableDefinitions ? [].concat(toConsumableArray(variableDefinitions)) : [];\n Object.freeze(this.variableDefinitions);\n Object.freeze(this);\n }\n\n createClass(VariableDefinitions, [{\n key: 'toString',\n value: function toString() {\n if (this.variableDefinitions.length === 0) {\n return '';\n }\n\n return ' (' + join(this.variableDefinitions) + ') ';\n }\n }]);\n return VariableDefinitions;\n}();\n\n/**\n * Base class for {@link Query} and {@link Mutation}.\n * @abstract\n */\n\n\nvar Operation = function () {\n\n /**\n * This constructor should not be invoked. The subclasses {@link Query} and {@link Mutation} should be used instead.\n */\n function Operation(typeBundle, operationType) {\n classCallCheck(this, Operation);\n\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var _parseArgs = parseArgs(args),\n name = _parseArgs.name,\n variables = _parseArgs.variables,\n selectionSetCallback = _parseArgs.selectionSetCallback;\n\n this.typeBundle = typeBundle;\n this.name = name;\n this.variableDefinitions = new VariableDefinitions(variables);\n this.operationType = operationType;\n if (operationType === 'query') {\n this.selectionSet = new SelectionSet(typeBundle, typeBundle.queryType, selectionSetCallback);\n this.typeSchema = schemaForType(typeBundle, typeBundle.queryType);\n } else {\n this.selectionSet = new SelectionSet(typeBundle, typeBundle.mutationType, selectionSetCallback);\n this.typeSchema = schemaForType(typeBundle, typeBundle.mutationType);\n }\n Object.freeze(this);\n }\n\n /**\n * Whether the operation is anonymous (i.e. has no name).\n */\n\n\n createClass(Operation, [{\n key: 'toString',\n\n\n /**\n * Returns the GraphQL query or mutation string (e.g. `query myQuery { cat { name } }`).\n *\n * @return {String} The GraphQL query or mutation string.\n */\n value: function toString() {\n var nameString = this.name ? ' ' + this.name : '';\n\n return '' + this.operationType + nameString + this.variableDefinitions + this.selectionSet;\n }\n }, {\n key: 'isAnonymous',\n get: function get$$1() {\n return !this.name;\n }\n }]);\n return Operation;\n}();\n\n/**\n * GraphQL Query class.\n * @extends Operation\n */\n\nvar Query = function (_Operation) {\n inherits(Query, _Operation);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory functions {@link Client#query} or {@link Document#addQuery} to create a Query.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {String} [name] A name for the query.\n * @param {Object[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n */\n function Query(typeBundle) {\n var _ref;\n\n classCallCheck(this, Query);\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return possibleConstructorReturn(this, (_ref = Query.__proto__ || Object.getPrototypeOf(Query)).call.apply(_ref, [this, typeBundle, 'query'].concat(args)));\n }\n\n return Query;\n}(Operation);\n\n/**\n * GraphQL Mutation class.\n * @extends Operation\n */\n\nvar Mutation = function (_Operation) {\n inherits(Mutation, _Operation);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory functions {@link Client#mutation} or {@link Document#addMutation} to create a Mutation.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {String} [name] A name for the mutation.\n * @param {Object[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The mutation builder callback.\n * A {@link SelectionSet} is created using this callback.\n */\n function Mutation(typeBundle) {\n var _ref;\n\n classCallCheck(this, Mutation);\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return possibleConstructorReturn(this, (_ref = Mutation.__proto__ || Object.getPrototypeOf(Mutation)).call.apply(_ref, [this, typeBundle, 'mutation'].concat(args)));\n }\n\n return Mutation;\n}(Operation);\n\nfunction isAnonymous(operation) {\n return operation.isAnonymous;\n}\n\nfunction hasAnonymousOperations(operations) {\n return operations.some(isAnonymous);\n}\n\nfunction hasDuplicateOperationNames(operations) {\n var names = operations.map(function (operation) {\n return operation.name;\n });\n\n return names.reduce(function (hasDuplicates, name, index) {\n return hasDuplicates || names.indexOf(name) !== index;\n }, false);\n}\n\nfunction extractOperation(typeBundle, operationType) {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (Operation.prototype.isPrototypeOf(args[0])) {\n return args[0];\n }\n\n if (operationType === 'query') {\n return new (Function.prototype.bind.apply(Query, [null].concat([typeBundle], args)))();\n } else {\n return new (Function.prototype.bind.apply(Mutation, [null].concat([typeBundle], args)))();\n }\n}\n\nfunction isInvalidOperationCombination(operations) {\n if (operations.length === 1) {\n return false;\n }\n\n return hasAnonymousOperations(operations) || hasDuplicateOperationNames(operations);\n}\n\nfunction fragmentNameIsNotUnique(existingDefinitions, name) {\n return existingDefinitions.some(function (definition) {\n return definition.name === name;\n });\n}\n\nvar Document = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#document} to create a Document.\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n */\n function Document(typeBundle) {\n classCallCheck(this, Document);\n\n this.typeBundle = typeBundle;\n this.definitions = [];\n }\n\n /**\n * Returns the GraphQL query string for the Document (e.g. `query queryOne { ... } query queryTwo { ... }`).\n *\n * @return {String} The GraphQL query string for the Document.\n */\n\n\n createClass(Document, [{\n key: 'toString',\n value: function toString() {\n return join(this.definitions);\n }\n\n /**\n * Adds an operation to the Document.\n *\n * @private\n * @param {String} operationType The type of the operation. Either 'query' or 'mutation'.\n * @param {(Operation|String)} [query|queryName] Either an instance of an operation\n * object, or the name of an operation. Both are optional.\n * @param {Object[]} [variables] A list of variables in the operation. See {@link Client#variable}.\n * @param {Function} [callback] The query builder callback. If an operation\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addOperation',\n value: function addOperation(operationType) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n var operation = extractOperation.apply(undefined, [this.typeBundle, operationType].concat(args));\n\n if (isInvalidOperationCombination(this.operations.concat(operation))) {\n throw new Error('All operations must be uniquely named on a multi-operation document');\n }\n\n this.definitions.push(operation);\n }\n\n /**\n * Adds a query to the Document.\n *\n * @example\n * document.addQuery('myQuery', (root) => {\n * root.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {(Query|String)} [query|queryName] Either an instance of a query\n * object, or the name of a query. Both are optional.\n * @param {Object[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} [callback] The query builder callback. If a query\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addQuery',\n value: function addQuery() {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n this.addOperation.apply(this, ['query'].concat(args));\n }\n\n /**\n * Adds a mutation to the Document.\n *\n * @example\n * const input = client.variable('input', 'CatCreateInput!');\n *\n * document.addMutation('myMutation', [input], (root) => {\n * root.add('catCreate', {args: {input}}, (catCreate) => {\n * catCreate.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {(Mutation|String)} [mutation|mutationName] Either an instance of a mutation\n * object, or the name of a mutation. Both are optional.\n * @param {Object[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} [callback] The mutation builder callback. If a mutation\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addMutation',\n value: function addMutation() {\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n this.addOperation.apply(this, ['mutation'].concat(args));\n }\n\n /**\n * Defines a fragment on the Document.\n *\n * @param {String} name The name of the fragment.\n * @param {String} onType The type the fragment is on.\n * @param {Function} [builderFunction] The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {FragmentSpread} A {@link FragmentSpread} to be used with {@link SelectionSetBuilder#addFragment}.\n */\n\n }, {\n key: 'defineFragment',\n value: function defineFragment(name, onType, builderFunction) {\n if (fragmentNameIsNotUnique(this.fragmentDefinitions, name)) {\n throw new Error('All fragments must be uniquely named on a multi-fragment document');\n }\n\n var selectionSet = new SelectionSet(this.typeBundle, onType, builderFunction);\n var fragment = new FragmentDefinition(name, onType, selectionSet);\n\n this.definitions.push(fragment);\n\n return fragment.spread;\n }\n\n /**\n * All operations ({@link Query} and {@link Mutation}) on the Document.\n */\n\n }, {\n key: 'operations',\n get: function get$$1() {\n return this.definitions.filter(function (definition) {\n return Operation.prototype.isPrototypeOf(definition);\n });\n }\n\n /**\n * All {@link FragmentDefinition}s on the Document.\n */\n\n }, {\n key: 'fragmentDefinitions',\n get: function get$$1() {\n return this.definitions.filter(function (definition) {\n return FragmentDefinition.prototype.isPrototypeOf(definition);\n });\n }\n }]);\n return Document;\n}();\n\n/**\n * The base class used when deserializing response data.\n * Provides rich features, like functions to generate queries to refetch a node or fetch the next page.\n *\n * @class\n */\nvar GraphModel =\n\n/**\n * @param {Object} attrs Attributes on the GraphModel.\n */\nfunction GraphModel(attrs) {\n var _this = this;\n\n classCallCheck(this, GraphModel);\n\n Object.defineProperty(this, 'attrs', { value: attrs, enumerable: false });\n\n Object.keys(this.attrs).filter(function (key) {\n return !(key in _this);\n }).forEach(function (key) {\n var descriptor = void 0;\n\n if (attrs[key] === null) {\n descriptor = {\n enumerable: true,\n get: function get$$1() {\n return null;\n }\n };\n } else {\n descriptor = {\n enumerable: true,\n get: function get$$1() {\n return this.attrs[key].valueOf();\n }\n };\n }\n Object.defineProperty(_this, key, descriptor);\n });\n};\n\n/**\n * A registry of classes used to deserialize the response data. Uses {@link GraphModel} by default.\n */\n\nvar ClassRegistry = function () {\n function ClassRegistry() {\n classCallCheck(this, ClassRegistry);\n\n this.classStore = {};\n }\n\n /**\n * Registers a class for a GraphQL type in the registry.\n *\n * @param {Class} constructor The constructor of the class.\n * @param {String} type The GraphQL type of the object to deserialize into the class.\n */\n\n\n createClass(ClassRegistry, [{\n key: 'registerClassForType',\n value: function registerClassForType(constructor, type) {\n this.classStore[type] = constructor;\n }\n\n /**\n * Unregisters a class for a GraphQL type in the registry.\n *\n * @param {String} type The GraphQL type to unregister.\n */\n\n }, {\n key: 'unregisterClassForType',\n value: function unregisterClassForType(type) {\n delete this.classStore[type];\n }\n\n /**\n * Returns the class for the given GraphQL type.\n *\n * @param {String} type The GraphQL type to look up.\n * @return {Class|GraphModel} The class for the given GraphQL type. Defaults to {@link GraphModel} if no class is registered for the GraphQL type.\n */\n\n }, {\n key: 'classForType',\n value: function classForType(type) {\n return this.classStore[type] || GraphModel;\n }\n }]);\n return ClassRegistry;\n}();\n\nfunction isValue(arg) {\n return Object.prototype.toString.call(arg) !== '[object Null]' && Object.prototype.toString.call(arg) !== '[object Undefined]';\n}\n\nfunction isNodeContext(context) {\n return context.selection.selectionSet.typeSchema.implementsNode;\n}\n\nfunction isConnection(context) {\n return context.selection.selectionSet.typeSchema.name.endsWith('Connection');\n}\n\nfunction nearestNode(context) {\n if (context == null) {\n return null;\n } else if (isNodeContext(context)) {\n return context;\n } else {\n return nearestNode(context.parent);\n }\n}\n\nfunction contextsFromRoot(context) {\n if (context.parent) {\n return contextsFromRoot(context.parent).concat(context);\n } else {\n return [context];\n }\n}\n\nfunction contextsFromNearestNode(context) {\n if (context.selection.selectionSet.typeSchema.implementsNode) {\n return [context];\n } else {\n return contextsFromNearestNode(context.parent).concat(context);\n }\n}\n\nfunction initializeDocumentAndVars(currentContext, contextChain) {\n var lastInChain = contextChain[contextChain.length - 1];\n var first = lastInChain.selection.args.first;\n var variableDefinitions = Object.keys(lastInChain.selection.args).filter(function (key) {\n return isVariable(lastInChain.selection.args[key]);\n }).map(function (key) {\n return lastInChain.selection.args[key];\n });\n\n var firstVar = variableDefinitions.find(function (definition) {\n return definition.name === 'first';\n });\n\n if (!firstVar) {\n firstVar = variable('first', 'Int', first);\n variableDefinitions.push(firstVar);\n }\n\n var document = new Document(currentContext.selection.selectionSet.typeBundle);\n\n return [document, variableDefinitions, firstVar];\n}\n\nfunction addNextFieldTo(currentSelection, contextChain, path, cursor) {\n // There are always at least two. When we start, it's the root context, and the first set\n var nextContext = contextChain.shift();\n\n path.push(nextContext.selection.responseKey);\n\n if (contextChain.length) {\n currentSelection.add(nextContext.selection.name, { alias: nextContext.selection.alias, args: nextContext.selection.args }, function (newSelection) {\n addNextFieldTo(newSelection, contextChain, path, cursor);\n });\n } else {\n var edgesField = nextContext.selection.selectionSet.selections.find(function (field) {\n return field.name === 'edges';\n });\n var nodeField = edgesField.selectionSet.selections.find(function (field) {\n return field.name === 'node';\n });\n var first = void 0;\n\n if (isVariable(nextContext.selection.args.first)) {\n first = nextContext.selection.args.first;\n } else {\n first = variable('first', 'Int', nextContext.selection.args.first);\n }\n\n var options = {\n alias: nextContext.selection.alias,\n args: Object.assign({}, nextContext.selection.args, { after: cursor, first: first })\n };\n\n currentSelection.addConnection(nextContext.selection.name, options, nodeField.selectionSet);\n }\n}\n\nfunction collectFragments(selections) {\n return selections.reduce(function (fragmentDefinitions, field) {\n if (FragmentSpread.prototype.isPrototypeOf(field)) {\n fragmentDefinitions.push(field.toDefinition());\n }\n\n fragmentDefinitions.push.apply(fragmentDefinitions, toConsumableArray(collectFragments(field.selectionSet.selections)));\n\n return fragmentDefinitions;\n }, []);\n}\n\nfunction nextPageQueryAndPath(context, cursor) {\n var nearestNodeContext = nearestNode(context);\n\n if (nearestNodeContext) {\n return function () {\n var _document$definitions;\n\n var path = [];\n var nodeType = nearestNodeContext.selection.selectionSet.typeSchema;\n var nodeId = nearestNodeContext.responseData.id;\n var contextChain = contextsFromNearestNode(context);\n\n var _initializeDocumentAn = initializeDocumentAndVars(context, contextChain),\n _initializeDocumentAn2 = slicedToArray(_initializeDocumentAn, 2),\n document = _initializeDocumentAn2[0],\n variableDefinitions = _initializeDocumentAn2[1];\n\n document.addQuery(variableDefinitions, function (root) {\n path.push('node');\n root.add('node', { args: { id: nodeId } }, function (node) {\n node.addInlineFragmentOn(nodeType.name, function (fragment) {\n addNextFieldTo(fragment, contextChain.slice(1), path, cursor);\n });\n });\n });\n\n var fragments = collectFragments(document.operations[0].selectionSet.selections);\n\n (_document$definitions = document.definitions).unshift.apply(_document$definitions, toConsumableArray(fragments));\n\n return [document, path];\n };\n } else {\n return function () {\n var _document$definitions2;\n\n var path = [];\n var contextChain = contextsFromRoot(context);\n\n var _initializeDocumentAn3 = initializeDocumentAndVars(context, contextChain),\n _initializeDocumentAn4 = slicedToArray(_initializeDocumentAn3, 2),\n document = _initializeDocumentAn4[0],\n variableDefinitions = _initializeDocumentAn4[1];\n\n document.addQuery(variableDefinitions, function (root) {\n addNextFieldTo(root, contextChain.slice(1), path, cursor);\n });\n\n var fragments = collectFragments(document.operations[0].selectionSet.selections);\n\n (_document$definitions2 = document.definitions).unshift.apply(_document$definitions2, toConsumableArray(fragments));\n\n return [document, path];\n };\n }\n}\n\nfunction hasNextPage$1(connection, edge) {\n if (edge !== connection.edges[connection.edges.length - 1]) {\n return new Scalar(true);\n }\n\n return connection.pageInfo.hasNextPage;\n}\n\nfunction hasPreviousPage(connection, edge) {\n if (edge !== connection.edges[0]) {\n return new Scalar(true);\n }\n\n return connection.pageInfo.hasPreviousPage;\n}\n\nfunction transformConnections(variableValues) {\n return function (context, value) {\n if (isConnection(context)) {\n if (!(value.pageInfo && value.pageInfo.hasOwnProperty('hasNextPage') && value.pageInfo.hasOwnProperty('hasPreviousPage'))) {\n throw new Error('Connections must include the selections \"pageInfo { hasNextPage, hasPreviousPage }\".');\n }\n\n return value.edges.map(function (edge) {\n return Object.assign(edge.node, {\n nextPageQueryAndPath: nextPageQueryAndPath(context, edge.cursor),\n hasNextPage: hasNextPage$1(value, edge),\n hasPreviousPage: hasPreviousPage(value, edge),\n variableValues: variableValues\n });\n });\n } else {\n return value;\n }\n };\n}\n\n/* eslint-disable no-warning-comments */\nvar DecodingContext = function () {\n function DecodingContext(selection, responseData) {\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n classCallCheck(this, DecodingContext);\n\n this.selection = selection;\n this.responseData = responseData;\n this.parent = parent;\n Object.freeze(this);\n }\n\n createClass(DecodingContext, [{\n key: 'contextForObjectProperty',\n value: function contextForObjectProperty(responseKey) {\n var nestedSelections = this.selection.selectionSet.selectionsByResponseKey[responseKey];\n var nextSelection = nestedSelections && nestedSelections[0];\n var nextContext = void 0;\n\n // fragment spreads operate inside the current context, so we recurse to get the proper\n // selection set, but retain the current response context\n if (Spread.prototype.isPrototypeOf(nextSelection)) {\n nextContext = new DecodingContext(nextSelection, this.responseData, this.parent);\n } else {\n nextContext = new DecodingContext(nextSelection, this.responseData[responseKey], this);\n }\n\n if (!nextSelection) {\n throw new Error('Unexpected response key \"' + responseKey + '\", not found in selection set: ' + this.selection.selectionSet);\n }\n\n if (Field.prototype.isPrototypeOf(nextSelection)) {\n return nextContext;\n } else {\n return nextContext.contextForObjectProperty(responseKey);\n }\n }\n }, {\n key: 'contextForArrayItem',\n value: function contextForArrayItem(item) {\n return new DecodingContext(this.selection, item, this.parent);\n }\n }]);\n return DecodingContext;\n}();\n\nfunction decodeArrayItems(context, transformers) {\n return context.responseData.map(function (item) {\n return decodeContext(context.contextForArrayItem(item), transformers);\n });\n}\n\nfunction decodeObjectValues(context, transformers) {\n return Object.keys(context.responseData).reduce(function (acc, responseKey) {\n acc[responseKey] = decodeContext(context.contextForObjectProperty(responseKey), transformers);\n\n return acc;\n }, {});\n}\n\nfunction runTransformers(transformers, context, value) {\n return transformers.reduce(function (acc, transformer) {\n return transformer(context, acc);\n }, value);\n}\n\nfunction decodeContext(context, transformers) {\n var value = context.responseData;\n\n if (Array.isArray(value)) {\n value = decodeArrayItems(context, transformers);\n } else if (isObject(value)) {\n value = decodeObjectValues(context, transformers);\n }\n\n return runTransformers(transformers, context, value);\n}\n\nfunction generateRefetchQueries(context, value) {\n if (isValue(value) && isNodeContext(context)) {\n value.refetchQuery = function () {\n return new Query(context.selection.selectionSet.typeBundle, function (root) {\n root.add('node', { args: { id: context.responseData.id } }, function (node) {\n node.addInlineFragmentOn(context.selection.selectionSet.typeSchema.name, context.selection.selectionSet);\n });\n });\n };\n }\n\n return value;\n}\n\nfunction transformPojosToClassesWithRegistry(classRegistry) {\n return function transformPojosToClasses(context, value) {\n if (isObject(value)) {\n var Klass = classRegistry.classForType(context.selection.selectionSet.typeSchema.name);\n\n return new Klass(value);\n } else {\n return value;\n }\n };\n}\n\nfunction transformScalars(context, value) {\n if (isValue(value)) {\n if (context.selection.selectionSet.typeSchema.kind === 'SCALAR') {\n return new Scalar(value);\n } else if (context.selection.selectionSet.typeSchema.kind === 'ENUM') {\n return new Enum(value);\n }\n }\n\n return value;\n}\n\nfunction recordTypeInformation(context, value) {\n if (isValue(value)) {\n if (value.__typename) {\n value.type = schemaForType(context.selection.selectionSet.typeBundle, value.__typename);\n } else {\n value.type = context.selection.selectionSet.typeSchema;\n }\n }\n\n return value;\n}\n\nfunction defaultTransformers(_ref) {\n var _ref$classRegistry = _ref.classRegistry,\n classRegistry = _ref$classRegistry === undefined ? new ClassRegistry() : _ref$classRegistry,\n variableValues = _ref.variableValues;\n\n return [transformScalars, generateRefetchQueries, transformConnections(variableValues), recordTypeInformation, transformPojosToClassesWithRegistry(classRegistry)];\n}\n\n/**\n * A function used to decode the response data.\n *\n * @function decode\n * @param {SelectionSet} selection The selection set used to query the response data.\n * @param {Object} responseData The response data returned.\n * @param {Object} [options] Options to use when decoding including:\n * @param {ClassRegistry} [options.classRegistry] A class registry to use when deserializing the data into classes.\n * @return {GraphModel} The decoded response data.\n */\nfunction decode(selection, responseData) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var transformers = options.transformers || defaultTransformers(options);\n var context = new DecodingContext(selection, responseData);\n\n return decodeContext(context, transformers);\n}\n\nfunction httpFetcher(url) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return function fetcher(graphQLParams) {\n return fetch(url, _extends({\n body: JSON.stringify(graphQLParams),\n method: 'POST',\n mode: 'cors'\n }, options, {\n headers: _extends({\n 'Content-Type': 'application/json',\n Accept: 'application/json'\n }, options.headers)\n })).then(function (response) {\n return response.json();\n });\n };\n}\n\nfunction hasNextPage(paginatedModels) {\n return paginatedModels && paginatedModels.length && paginatedModels[paginatedModels.length - 1].hasNextPage;\n}\n\n/**\n * The Client class used to create and send GraphQL documents, fragments, queries and mutations.\n */\n\nvar Client = function () {\n\n /**\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {Object} options An options object. Must include either `url` and optional `fetcherOptions` OR a `fetcher` function.\n * @param {(String|Function)} options.url|fetcher Either the URL of the GraphQL API endpoint, or a custom fetcher function for further customization.\n * @param {Object} [options.fetcherOptions] Additional options to use with `fetch`, like headers. Do not specify this argument if `fetcher` is specified.\n * @param {ClassRegistry} [options.registry=new ClassRegistry()] A {@link ClassRegistry} used to decode the response data.\n */\n function Client(typeBundle, _ref) {\n var url = _ref.url,\n fetcherOptions = _ref.fetcherOptions,\n fetcher = _ref.fetcher,\n _ref$registry = _ref.registry,\n registry = _ref$registry === undefined ? new ClassRegistry() : _ref$registry;\n classCallCheck(this, Client);\n\n this.typeBundle = typeBundle;\n this.classRegistry = registry;\n\n if (url && fetcher) {\n throw new Error('Arguments not supported: supply either `url` and optional `fetcherOptions` OR use a `fetcher` function for further customization.');\n }\n\n if (url) {\n this.fetcher = httpFetcher(url, fetcherOptions);\n } else if (fetcher) {\n if (fetcherOptions) {\n throw new Error('Arguments not supported: when specifying your own `fetcher`, set options through it and not with `fetcherOptions`');\n }\n\n this.fetcher = fetcher;\n } else {\n throw new Error('Invalid arguments: one of `url` or `fetcher` is needed.');\n }\n }\n\n /**\n * Creates a GraphQL document.\n *\n * @example\n * const document = client.document();\n *\n * @return {Document} A GraphQL document.\n */\n\n\n createClass(Client, [{\n key: 'document',\n value: function document() {\n return new Document(this.typeBundle);\n }\n\n /**\n * Creates a GraphQL query.\n *\n * @example\n * const query = client.query('myQuery', (root) => {\n * root.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {String} [name] A name for the query.\n * @param {VariableDefinition[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {Query} A GraphQL query.\n */\n\n }, {\n key: 'query',\n value: function query() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return new (Function.prototype.bind.apply(Query, [null].concat([this.typeBundle], args)))();\n }\n\n /**\n * Creates a GraphQL mutation.\n *\n * @example\n * const input = client.variable('input', 'CatCreateInput!');\n *\n * const mutation = client.mutation('myMutation', [input], (root) => {\n * root.add('catCreate', {args: {input}}, (catCreate) => {\n * catCreate.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {String} [name] A name for the mutation.\n * @param {VariableDefinition[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The mutation builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {Mutation} A GraphQL mutation.\n */\n\n }, {\n key: 'mutation',\n value: function mutation() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return new (Function.prototype.bind.apply(Mutation, [null].concat([this.typeBundle], args)))();\n }\n\n /**\n * Sends a GraphQL operation (query or mutation) or a document.\n *\n * @example\n * client.send(query, {id: '12345'}).then((result) => {\n * // Do something with the returned result\n * console.log(result);\n * });\n *\n * @param {(Query|Mutation|Document|Function)} request The operation or document to send. If represented\n * as a function, it must return `Query`, `Mutation`, or `Document` and recieve the client as the only param.\n * @param {Object} [variableValues] The values for variables in the operation or document.\n * @param {Object} [otherProperties] Other properties to send with the query. For example, a custom operation name.\n * @return {Promise.} A promise resolving to an object containing the response data.\n */\n\n }, {\n key: 'send',\n value: function send(request) {\n var _this = this;\n\n var variableValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var otherProperties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n var operationOrDocument = void 0;\n\n if (Function.prototype.isPrototypeOf(request)) {\n operationOrDocument = request(this);\n } else {\n operationOrDocument = request;\n }\n\n var graphQLParams = { query: operationOrDocument.toString() };\n\n if (variableValues) {\n graphQLParams.variables = variableValues;\n }\n\n Object.assign(graphQLParams, otherProperties);\n\n var operation = void 0;\n\n if (Operation.prototype.isPrototypeOf(operationOrDocument)) {\n operation = operationOrDocument;\n } else {\n var document = operationOrDocument;\n\n if (document.operations.length === 1) {\n operation = document.operations[0];\n } else if (otherProperties.operationName) {\n operation = document.operations.find(function (documentOperation) {\n return documentOperation.name === otherProperties.operationName;\n });\n } else {\n throw new Error('\\n A document must contain exactly one operation, or an operationName\\n must be specified. Example:\\n\\n client.send(document, null, {operationName: \\'myFancyQuery\\'});\\n ');\n }\n }\n\n return this.fetcher(graphQLParams).then(function (response) {\n if (response.data) {\n response.model = decode(operation, response.data, {\n classRegistry: _this.classRegistry,\n variableValues: variableValues\n });\n }\n\n return response;\n });\n }\n\n /**\n * Fetches the next page of a paginated node or array of nodes.\n *\n * @example\n * client.fetchNextPage(node, {first: 10}).then((result) => {\n * // Do something with the next page\n * console.log(result);\n * });\n *\n * @param {(GraphModel|GraphModel[])} nodeOrNodes The node or list of nodes on which to fetch the next page.\n * @param {Object} [options] Options object containing:\n * @param {Integer} [options.first] The number of nodes to query on the next page. Defaults to the page size of the previous query.\n * @return {Promise.} A promise resolving with the next page of {@link GraphModel}s.\n */\n\n }, {\n key: 'fetchNextPage',\n value: function fetchNextPage(nodeOrNodes, options) {\n var node = void 0;\n\n if (Array.isArray(nodeOrNodes)) {\n node = nodeOrNodes[nodeOrNodes.length - 1];\n } else {\n node = nodeOrNodes;\n }\n\n var _node$nextPageQueryAn = node.nextPageQueryAndPath(),\n _node$nextPageQueryAn2 = slicedToArray(_node$nextPageQueryAn, 2),\n query = _node$nextPageQueryAn2[0],\n path = _node$nextPageQueryAn2[1];\n\n var variableValues = void 0;\n\n if (node.variableValues || options) {\n variableValues = Object.assign({}, node.variableValues, options);\n }\n\n return this.send(query, variableValues).then(function (response) {\n response.model = path.reduce(function (object, key) {\n return object[key];\n }, response.model);\n\n return response;\n });\n }\n\n /**\n * Fetches all subsequent pages of a paginated array of nodes.\n *\n * @example\n * client.fetchAllPages(nodes, {pageSize: 20}).then((result) => {\n * // Do something with all the models\n * console.log(result);\n * });\n *\n * @param {GraphModel[]} paginatedModels The list of nodes on which to fetch all pages.\n * @param {Object} options Options object containing:\n * @param {Integer} options.pageSize The number of nodes to query on each page.\n * @return {Promise.} A promise resolving with all pages of {@link GraphModel}s, including the original list.\n */\n\n }, {\n key: 'fetchAllPages',\n value: function fetchAllPages(paginatedModels, _ref2) {\n var _this2 = this;\n\n var pageSize = _ref2.pageSize;\n\n if (hasNextPage(paginatedModels)) {\n return this.fetchNextPage(paginatedModels, { first: pageSize }).then(function (_ref3) {\n var model = _ref3.model;\n\n var pages = paginatedModels.concat(model);\n\n return _this2.fetchAllPages(pages, { pageSize: pageSize });\n });\n }\n\n return Promise.resolve(paginatedModels);\n }\n\n /**\n * Refetches a {@link GraphModel} whose type implements `Node`.\n *\n * @example\n * client.refetch(node).then((result) => {\n * // Do something with the refetched node\n * console.log(result);\n * });\n *\n * @param {GraphModel} nodeType A {@link GraphModel} whose type implements `Node`.\n * @return {Promise.} The refetched {@link GraphModel}.\n */\n\n }, {\n key: 'refetch',\n value: function refetch(nodeType) {\n if (!nodeType) {\n throw new Error('\\'client#refetch\\' must be called with a non-null instance of a Node.');\n } else if (!nodeType.type.implementsNode) {\n throw new Error('\\'client#refetch\\' must be called with a type that implements Node. Received ' + nodeType.type.name + '.');\n }\n\n return this.send(nodeType.refetchQuery()).then(function (_ref4) {\n var model = _ref4.model;\n return model.node;\n });\n }\n\n /**\n * Creates a variable to be used in a {@link Query} or {@link Mutation}.\n *\n * @example\n * const idVariable = client.variable('id', 'ID!', '12345');\n *\n * @param {String} name The name of the variable.\n * @param {String} type The GraphQL type of the variable.\n * @param {*} [defaultValue] The default value of the variable.\n * @return {VariableDefinition} A variable object that can be used in a {@link Query} or {@link Mutation}.\n */\n\n }, {\n key: 'variable',\n value: function variable$$1(name, type, defaultValue) {\n return variable(name, type, defaultValue);\n }\n\n /**\n * Creates an enum to be used in a {@link Query} or {@link Mutation}.\n *\n * @example\n * const titleEnum = client.enum('TITLE');\n *\n * @param {String} key The key of the enum.\n * @return {Enum} An enum object that can be used in a {@link Query} or {@link Mutation}.\n */\n\n }, {\n key: 'enum',\n value: function _enum(key) {\n return enumFunction(key);\n }\n }]);\n return Client;\n}();\n\nexport { ClassRegistry, GraphModel, decode };export default Client;\n//# sourceMappingURL=index.es.js.map\n","/**\n * The class used to configure the JS Buy SDK Client.\n * @class\n */\nclass Config {\n\n /**\n * Properties that must be set on initializations\n * @attribute requiredProperties\n * @default ['storefrontAccessToken', 'domain']\n * @type Array\n * @private\n */\n get requiredProperties() {\n return [\n 'storefrontAccessToken',\n 'domain'\n ];\n }\n\n /**\n * Deprecated properties that map directly to required properties\n * @attribute deprecatedProperties\n * @default {'accessToken': 'storefrontAccessToken', 'apiKey': 'storefrontAccessToken'}\n * @type Object\n * @private\n */\n get deprecatedProperties() {\n return {\n accessToken: 'storefrontAccessToken',\n apiKey: 'storefrontAccessToken'\n };\n }\n\n /**\n * @constructs Config\n * @param {Object} attrs An object specifying the configuration. Requires the following properties:\n * @param {String} attrs.storefrontAccessToken The {@link https://help.shopify.com/api/reference/storefront_access_token|Storefront access token} for the shop.\n * @param {String} attrs.domain The `myshopify` domain for the shop (e.g. `graphql.myshopify.com`).\n */\n constructor(attrs) {\n Object.keys(this.deprecatedProperties).forEach((key) => {\n if (!attrs.hasOwnProperty(key)) { return; }\n // eslint-disable-next-line no-console\n console.warn(`[ShopifyBuy] Config property ${key} is deprecated as of v1.0, please use ${this.deprecatedProperties[key]} instead.`);\n attrs[this.deprecatedProperties[key]] = attrs[key];\n });\n\n this.requiredProperties.forEach((key) => {\n if (attrs.hasOwnProperty(key)) {\n this[key] = attrs[key];\n } else {\n throw new Error(`new Config() requires the option '${key}'`);\n }\n });\n }\n}\n\nexport default Config;\n","export default class Resource {\n constructor(client) {\n this.graphQLClient = client;\n }\n}\n","export const defaultErrors = [{message: 'an unknown error has occured.'}];\n\nexport default function defaultResolver(path) {\n const keys = path.split('.');\n\n return function({model, errors}) {\n return new Promise((resolve, reject) => {\n try {\n const result = keys.reduce((ref, key) => {\n return ref[key];\n }, model);\n\n resolve(result);\n } catch (_) {\n if (errors) {\n reject(errors);\n } else {\n reject(defaultErrors);\n }\n }\n });\n };\n}\n","export default function fetchResourcesForProducts(productOrProduct, client) {\n const products = [].concat(productOrProduct);\n\n return Promise.all(products.reduce((promiseAcc, product) => {\n // Fetch the rest of the images and variants for this product\n promiseAcc.push(client.fetchAllPages(product.images, {pageSize: 250}).then((images) => {\n product.attrs.images = images;\n }));\n\n promiseAcc.push(client.fetchAllPages(product.variants, {pageSize: 250}).then((variants) => {\n product.attrs.variants = variants;\n }));\n\n return promiseAcc;\n }, []));\n}\n","import fetchResourcesForProducts from './fetch-resources-for-products';\n\nexport function paginateProductConnectionsAndResolve(client) {\n return function(products) {\n return fetchResourcesForProducts(products, client).then(() => {\n return products;\n });\n };\n}\n\nexport function paginateCollectionsProductConnectionsAndResolve(client) {\n return function(collectionOrCollections) {\n const collections = [].concat(collectionOrCollections);\n\n return Promise.all(collections.reduce((promiseAcc, collection) => {\n return promiseAcc.concat(fetchResourcesForProducts(collection.products, client));\n }, [])).then(() => {\n return collectionOrCollections;\n });\n };\n}\n","/**\n * @namespace ProductHelpers\n */\nexport default {\n\n /**\n * Returns the variant of a product corresponding to the options given.\n *\n * @example\n * const selectedVariant = client.product.variantForOptions(product, {\n * size: \"Small\",\n * color: \"Red\"\n * });\n *\n * @memberof ProductHelpers\n * @method variantForOptions\n * @param {GraphModel} product The product to find the variant on. Must include `variants`.\n * @param {Object} options An object containing the options for the variant.\n * @return {GraphModel} The variant corresponding to the options given.\n */\n variantForOptions(product, options) {\n return product.variants.find((variant) => {\n return variant.selectedOptions.every((selectedOption) => {\n return options[selectedOption.name] === selectedOption.value.valueOf();\n });\n });\n }\n};\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport {paginateProductConnectionsAndResolve} from './paginators';\nimport productHelpers from './product-helpers';\n\n// GraphQL\nimport productNodeQuery from './graphql/productNodeQuery.graphql';\nimport productNodesQuery from './graphql/productNodesQuery.graphql';\nimport productConnectionQuery from './graphql/productConnectionQuery.graphql';\nimport productByHandleQuery from './graphql/productByHandleQuery.graphql';\n\n/**\n * The JS Buy SDK product resource\n * @class\n */\nclass ProductResource extends Resource {\n get helpers() {\n return productHelpers;\n }\n\n /**\n * Fetches all products on the shop.\n *\n * @example\n * client.product.fetchAll().then((products) => {\n * // Do something with the products\n * });\n *\n * @param {Int} [pageSize] The number of products to fetch per page\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the products.\n */\n fetchAll(first = 20) {\n return this.graphQLClient\n .send(productConnectionQuery, {first})\n .then(defaultResolver('products'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single product by ID on the shop.\n *\n * @example\n * client.product.fetch('Xk9lM2JkNzFmNzIQ4NTIY4ZDFi9DaGVja291dC9lM2JkN==').then((product) => {\n * // Do something with the product\n * });\n *\n * @param {String} id The id of the product to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the product.\n */\n fetch(id) {\n return this.graphQLClient\n .send(productNodeQuery, {id})\n .then(defaultResolver('node'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches multiple products by ID on the shop.\n *\n * @example\n * const ids = ['Xk9lM2JkNzFmNzIQ4NTIY4ZDFi9DaGVja291dC9lM2JkN==', 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ='];\n * client.product.fetchMultiple(ids).then((products) => {\n * // Do something with the products\n * });\n *\n * @param {String[]} ids The ids of the products to fetch\n * @return {Promise|GraphModel[]} A promise resolving with a `GraphModel` of the product.\n */\n fetchMultiple(ids) {\n return this.graphQLClient\n .send(productNodesQuery, {ids})\n .then(defaultResolver('nodes'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single product by handle on the shop.\n *\n * @example\n * client.product.fetchByHandle('my-product').then((product) => {\n * // Do something with the product\n * });\n *\n * @param {String} handle The handle of the product to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the product.\n */\n fetchByHandle(handle) {\n return this.graphQLClient\n .send(productByHandleQuery, {handle})\n .then(defaultResolver('productByHandle'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches all products on the shop that match the query.\n *\n * @example\n * client.product.fetchQuery({first: 20, sortKey: 'CREATED_AT', reverse: true}).then((products) => {\n * // Do something with the first 10 products sorted by title in ascending order\n * });\n *\n * @param {Object} [args] An object specifying the query data containing zero or more of:\n * @param {Int} [args.first=20] The relay `first` param. This specifies page size.\n * @param {String} [args.sortKey=ID] The key to sort results by. Available values are\n * documented as {@link https://help.shopify.com/api/storefront-api/reference/enum/productsortkeys|Product Sort Keys}.\n * @param {String} [args.query] A query string. See full documentation {@link https://help.shopify.com/api/storefront-api/reference/object/shop#products|here}\n * @param {Boolean} [args.reverse] Whether or not to reverse the sort order of the results\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the products.\n */\n fetchQuery({first = 20, sortKey = 'ID', query, reverse} = {}) {\n return this.graphQLClient\n .send(productConnectionQuery, {\n first,\n sortKey,\n query,\n reverse\n })\n .then(defaultResolver('products'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n}\n\nexport default ProductResource;\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport {paginateCollectionsProductConnectionsAndResolve} from './paginators';\n\n// GraphQL\nimport collectionNodeQuery from './graphql/collectionNodeQuery.graphql';\nimport collectionNodeWithProductsQuery from './graphql/collectionNodeWithProductsQuery.graphql';\nimport collectionConnectionQuery from './graphql/collectionConnectionQuery.graphql';\nimport collectionConnectionWithProductsQuery from './graphql/collectionConnectionWithProductsQuery.graphql';\nimport collectionByHandleQuery from './graphql/collectionByHandleQuery.graphql';\n\n/**\n * The JS Buy SDK collection resource\n * @class\n */\nclass CollectionResource extends Resource {\n\n /**\n * Fetches all collections on the shop, not including products.\n * To fetch collections with products use [fetchAllsWithProducts]{@link Client#fetchAllsWithProducts}.\n *\n * @example\n * client.collection.fetchAll().then((collections) => {\n * // Do something with the collections\n * });\n *\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchAll(first = 20) {\n return this.graphQLClient\n .send(collectionConnectionQuery, {first})\n .then(defaultResolver('collections'));\n }\n\n /**\n * Fetches all collections on the shop, including products.\n *\n * @example\n * client.collection.fetchAllWithProducts().then((collections) => {\n * // Do something with the collections\n * });\n *\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchAllWithProducts({first = 20, productsFirst = 20} = {}) {\n return this.graphQLClient\n .send(collectionConnectionWithProductsQuery, {first, productsFirst})\n .then(defaultResolver('collections'))\n .then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single collection by ID on the shop, not including products.\n * To fetch the collection with products use [fetchWithProducts]{@link Client#fetchWithProducts}.\n *\n * @example\n * client.collection.fetch('Xk9lM2JkNzFmNzIQ4NTIY4ZDFiZTUyZTUwNTE2MDNhZjg==').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} id The id of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetch(id) {\n return this.graphQLClient\n .send(collectionNodeQuery, {id})\n .then(defaultResolver('node'));\n }\n\n /**\n * Fetches a single collection by ID on the shop, including products.\n *\n * @example\n * client.collection.fetchWithProducts('Xk9lM2JkNzFmNzIQ4NTIY4ZDFiZTUyZTUwNTE2MDNhZjg==').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} id The id of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetchWithProducts(id) {\n return this.graphQLClient\n .send(collectionNodeWithProductsQuery, {id})\n .then(defaultResolver('node'))\n .then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a collection by handle on the shop.\n *\n * @example\n * client.collection.fetchByHandle('my-collection').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} handle The handle of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetchByHandle(handle) {\n return this.graphQLClient\n .send(collectionByHandleQuery, {handle})\n .then(defaultResolver('collectionByHandle'));\n }\n\n /**\n * Fetches all collections on the shop that match the query.\n *\n * @example\n * client.collection.fetchQuery({first: 20, sortKey: 'CREATED_AT', reverse: true}).then((collections) => {\n * // Do something with the first 10 collections sorted by title in ascending order\n * });\n *\n * @param {Object} [args] An object specifying the query data containing zero or more of:\n * @param {Int} [args.first=20] The relay `first` param. This specifies page size.\n * @param {String} [args.sortKey=ID] The key to sort results by. Available values are\n * documented as {@link https://help.shopify.com/api/storefront-api/reference/enum/collectionsortkeys|Collection Sort Keys}.\n * @param {String} [args.query] A query string. See full documentation {@link https://help.shopify.com/api/storefront-api/reference/object/shop#collections|here}\n * @param {Boolean} [args.reverse] Whether or not to reverse the sort order of the results\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchQuery({first = 20, sortKey = 'ID', query, reverse} = {}) {\n return this.graphQLClient.send(collectionConnectionQuery, {\n first,\n sortKey,\n query,\n reverse\n }).then(defaultResolver('collections'));\n }\n}\nexport default CollectionResource;\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\n\n// GraphQL\nimport shopQuery from './graphql/shopQuery.graphql';\nimport shopPolicyQuery from './graphql/shopPolicyQuery.graphql';\n\n/**\n * The JS Buy SDK shop resource\n * @class\n */\nclass ShopResource extends Resource {\n\n /**\n * Fetches shop information (`currencyCode`, `description`, `moneyFormat`, `name`, and `primaryDomain`).\n * See the {@link https://help.shopify.com/api/storefront-api/reference/object/shop|Storefront API reference} for more information.\n *\n * @example\n * client.shop.fetchInfo().then((shop) => {\n * // Do something with the shop\n * });\n *\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the shop.\n */\n fetchInfo() {\n return this.graphQLClient\n .send(shopQuery)\n .then(defaultResolver('shop'));\n }\n\n /**\n * Fetches shop policies (privacy policy, terms of service and refund policy).\n *\n * @example\n * client.shop.fetchPolicies().then((shop) => {\n * // Do something with the shop\n * });\n *\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the shop.\n */\n fetchPolicies() {\n return this.graphQLClient\n .send(shopPolicyQuery)\n .then(defaultResolver('shop'));\n }\n}\n\nexport default ShopResource;\n","export default function handleCheckoutMutation(mutationRootKey, client) {\n return function({data, errors, model}) {\n const rootData = data[mutationRootKey];\n const rootModel = model[mutationRootKey];\n\n if (rootData && rootData.checkout) {\n return client.fetchAllPages(rootModel.checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n rootModel.checkout.attrs.lineItems = lineItems;\n rootModel.checkout.errors = errors;\n rootModel.checkout.userErrors = rootModel.userErrors;\n\n return rootModel.checkout;\n });\n }\n\n if (errors && errors.length) {\n return Promise.reject(new Error(JSON.stringify(errors)));\n }\n\n if (rootData && rootData.checkoutUserErrors && rootData.checkoutUserErrors.length) {\n return Promise.reject(new Error(JSON.stringify(rootData.checkoutUserErrors)));\n }\n\n if (rootData && rootData.userErrors && rootData.userErrors.length) {\n return Promise.reject(new Error(JSON.stringify(rootData.userErrors)));\n }\n\n return Promise.reject(new Error(`The ${mutationRootKey} mutation failed due to an unknown error.`));\n };\n}\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport handleCheckoutMutation from './handle-checkout-mutation';\n\n// GraphQL\nimport checkoutNodeQuery from './graphql/checkoutNodeQuery.graphql';\nimport checkoutNodeQueryWithAddress from './graphql/checkoutNodeQueryWithAddress.graphql';\nimport checkoutCreateMutation from './graphql/checkoutCreateMutation.graphql';\nimport checkoutLineItemsAddMutation from './graphql/checkoutLineItemsAddMutation.graphql';\nimport checkoutLineItemsRemoveMutation from './graphql/checkoutLineItemsRemoveMutation.graphql';\nimport checkoutLineItemsReplaceMutation from './graphql/checkoutLineItemsReplaceMutation.graphql';\nimport checkoutLineItemsUpdateMutation from './graphql/checkoutLineItemsUpdateMutation.graphql';\nimport checkoutAttributesUpdateV2Mutation from './graphql/checkoutAttributesUpdateV2Mutation.graphql';\nimport checkoutDiscountCodeApplyV2Mutation from './graphql/checkoutDiscountCodeApplyV2Mutation.graphql';\nimport checkoutDiscountCodeRemoveMutation from './graphql/checkoutDiscountCodeRemoveMutation.graphql';\nimport checkoutEmailUpdateV2Mutation from './graphql/checkoutEmailUpdateV2Mutation.graphql';\nimport checkoutShippingAddressUpdateMutation from './graphql/checkoutShippingAddressUpdateMutation.graphql';\nimport checkoutShippingLineUpdateMutation from './graphql/checkoutShippingLineUpdateMutation.graphql';\n\n\n/**\n * The JS Buy SDK checkout resource\n * @class\n */\nclass CheckoutResource extends Resource {\n\n /**\n * Fetches a checkout by ID.\n *\n * @example\n * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {\n * // Do something with the checkout\n * });\n *\n * @param {String} id The id of the checkout to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.\n */\n fetch(id) {\n return this.graphQLClient\n .send(checkoutNodeQuery, {id})\n .then(defaultResolver('node'))\n .then((checkout) => {\n if (!checkout) { return null; }\n\n return this.graphQLClient.fetchAllPages(checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n checkout.attrs.lineItems = lineItems;\n\n return checkout;\n });\n });\n }\n\n /**\n * Fetches a checkout by ID.\n *\n * @example\n * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {\n * // Do something with the checkout\n * });\n *\n * @param {String} id The id of the checkout to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.\n */\n fetchWithAddress(id) {\n return this.graphQLClient\n .send(checkoutNodeQueryWithAddress, {id})\n .then(defaultResolver('node'))\n .then((checkout) => {\n return this.graphQLClient.fetchAllPages(checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n checkout.attrs.lineItems = lineItems;\n\n return checkout;\n });\n });\n }\n\n /**\n * Creates a checkout.\n *\n * @example\n * const input = {\n * lineItems: [\n * {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}\n * ]\n * };\n *\n * client.checkout.create(input).then((checkout) => {\n * // Do something with the newly created checkout\n * });\n *\n * @param {Object} [input] An input object containing zero or more of:\n * @param {String} [input.email] An email connected to the checkout.\n * @param {Object[]} [input.lineItems] A list of line items in the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @param {Object} [input.shippingAddress] A shipping address. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/mailingaddressinput|Storefront API reference} for valid input fields.\n * @param {String} [input.note] A note for the checkout.\n * @param {Object[]} [input.customAttributes] A list of custom attributes for the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/attributeinput|Storefront API reference} for valid input fields.\n * @return {Promise|GraphModel} A promise resolving with the created checkout.\n */\n create(input = {}) {\n return this.graphQLClient\n .send(checkoutCreateMutation, {input})\n .then(handleCheckoutMutation('checkoutCreate', this.graphQLClient));\n }\n\n /**\n * Replaces the value of checkout's custom attributes and/or note with values defined in the input\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const input = {customAttributes: [{key: \"MyKey\", value: \"MyValue\"}]};\n *\n * client.checkout.updateAttributes(checkoutId, input).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update.\n * @param {Object} [input] An input object containing zero or more of:\n * @param {Boolean} [input.allowPartialAddresses] An email connected to the checkout.\n * @param {Object[]} [input.customAttributes] A list of custom attributes for the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/attributeinput|Storefront API reference} for valid input fields.\n * @param {String} [input.note] A note for the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateAttributes(checkoutId, input = {}) {\n return this.graphQLClient\n .send(checkoutAttributesUpdateV2Mutation, {checkoutId, input})\n .then(handleCheckoutMutation('checkoutAttributesUpdateV2', this.graphQLClient));\n }\n\n /**\n * Replaces the value of checkout's email address\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const email = 'user@example.com';\n *\n * client.checkout.updateEmail(checkoutId, email).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update.\n * @param {String} email The email address to apply to the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateEmail(checkoutId, email) {\n return this.graphQLClient\n .send(checkoutEmailUpdateV2Mutation, {checkoutId, email})\n .then(handleCheckoutMutation('checkoutEmailUpdateV2', this.graphQLClient));\n }\n\n /**\n * Adds line items to an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];\n *\n * client.checkout.addLineItems(checkoutId, lineItems).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add line items to.\n * @param {Object[]} lineItems A list of line items to add to the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n addLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsAddMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsAdd', this.graphQLClient));\n }\n\n /**\n * Applies a discount to an existing checkout using a discount code.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const discountCode = 'best-discount-ever';\n *\n * client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add discount to.\n * @param {String} discountCode The discount code to apply to the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n addDiscount(checkoutId, discountCode) {\n return this.graphQLClient\n .send(checkoutDiscountCodeApplyV2Mutation, {checkoutId, discountCode})\n .then(handleCheckoutMutation('checkoutDiscountCodeApplyV2', this.graphQLClient));\n }\n\n /**\n * Removes a discount from an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n *\n * client.checkout.removeDiscount(checkoutId).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add discount to.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n removeDiscount(checkoutId) {\n return this.graphQLClient\n .send(checkoutDiscountCodeRemoveMutation, {checkoutId})\n .then(handleCheckoutMutation('checkoutDiscountCodeRemove', this.graphQLClient));\n }\n\n /**\n * Removes line items from an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItemIds = ['TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU='];\n *\n * client.checkout.removeLineItems(checkoutId, lineItemIds).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to remove line items from.\n * @param {String[]} lineItemIds A list of the ids of line items to remove from the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n removeLineItems(checkoutId, lineItemIds) {\n return this.graphQLClient\n .send(checkoutLineItemsRemoveMutation, {checkoutId, lineItemIds})\n .then(handleCheckoutMutation('checkoutLineItemsRemove', this.graphQLClient));\n }\n\n /**\n * Replace line items on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];\n *\n * client.checkout.replaceLineItems(checkoutId, lineItems).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add line items to.\n * @param {Object[]} lineItems A list of line items to set on the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n replaceLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsReplaceMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsReplace', this.graphQLClient));\n }\n\n /**\n * Updates line items on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [\n * {\n * id: 'TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU=',\n * quantity: 5,\n * variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg=='\n * }\n * ];\n *\n * client.checkout.updateLineItems(checkoutId, lineItems).then(checkout => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update a line item on.\n * @param {Object[]} lineItems A list of line item information to update. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineitemupdateinput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsUpdateMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsUpdate', this.graphQLClient));\n }\n\n /**\n * Updates shipping address on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const shippingAddress = {\n * address1: 'Chestnut Street 92',\n * address2: 'Apartment 2\"',\n * city: 'Louisville',\n * company: null,\n * country: 'United States',\n * firstName: 'Bob',\n * lastName: 'Norman',\n * phone: '555-625-1199',\n * province: 'Kentucky',\n * zip: '40202'\n * };\n *\n *\n * client.checkout.updateShippingAddress(checkoutId, shippingAddress).then(checkout => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update shipping address.\n * @param {Object} shippingAddress A shipping address.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateShippingAddress(checkoutId, shippingAddress) {\n return this.graphQLClient\n .send(checkoutShippingAddressUpdateMutation, {checkoutId, shippingAddress})\n .then(handleCheckoutMutation('checkoutShippingAddressUpdate', this.graphQLClient));\n }\n\n updateShippingLines(checkoutId, shippingRateHandle) {\n return this.graphQLClient\n .send(checkoutShippingLineUpdateMutation, {checkoutId, shippingRateHandle})\n .then(handleCheckoutMutation('checkoutShippingLineUpdate', this.graphQLClient));\n }\n}\n\nexport default CheckoutResource;\n","/**\n * @namespace ImageHelpers\n */\nexport default {\n\n /**\n * Generates the image src for a resized image with maximum dimensions `maxWidth` and `maxHeight`.\n * Images do not scale up.\n *\n * @example\n * const url = client.image.helpers.imageForSize(product.variants[0].image, {maxWidth: 50, maxHeight: 50});\n *\n * @memberof ImageHelpers\n * @method imageForSize\n * @param {Object} image The original image model to generate the image src for.\n * @param {Object} options An options object containing:\n * @param {Integer} options.maxWidth The maximum width for the image.\n * @param {Integer} options.maxHeight The maximum height for the image.\n * @return {String} The image src for the resized image.\n */\n imageForSize(image, {maxWidth, maxHeight}) {\n const splitUrl = image.src.split('?');\n const notQuery = splitUrl[0];\n const query = splitUrl[1] ? `?${splitUrl[1]}` : '';\n\n // Use the section before the query\n const imageTokens = notQuery.split('.');\n\n // Take the token before the file extension and append the dimensions\n const imagePathIndex = imageTokens.length - 2;\n\n imageTokens[imagePathIndex] = `${imageTokens[imagePathIndex]}_${maxWidth}x${maxHeight}`;\n\n return `${imageTokens.join('.')}${query}`;\n }\n};\n","import Resource from './resource';\nimport imageHelpers from './image-helpers';\n\n/**\n * The JS Buy SDK image resource\n * @class\n */\nclass ImageResource extends Resource {\n get helpers() {\n return imageHelpers;\n }\n}\n\nexport default ImageResource;\n","import GraphQLJSClient from './graphql-client';\nimport Config from './config';\nimport ProductResource from './product-resource';\nimport CollectionResource from './collection-resource';\nimport ShopResource from './shop-resource';\nimport CheckoutResource from './checkout-resource';\nimport ImageResource from './image-resource';\nimport {version} from '../package.json';\n\n// GraphQL\nimport types from '../schema.json';\n\n/**\n * The JS Buy SDK Client.\n * @class\n *\n * @property {ProductResource} product The property under which product fetching methods live.\n * @property {CollectionResource} collection The property under which collection fetching methods live.\n * @property {ShopResource} shop The property under which shop fetching methods live.\n * @property {CheckoutResource} checkout The property under which shop fetching and mutating methods live.\n * @property {ImageResource} image The property under which image helper methods live.\n */\nclass Client {\n\n /**\n * Primary entry point for building a new Client.\n */\n static buildClient(config, fetchFunction) {\n const newConfig = new Config(config);\n const client = new Client(newConfig, GraphQLJSClient, fetchFunction);\n\n client.config = newConfig;\n\n return client;\n }\n\n /**\n * @constructs Client\n * @param {Config} config An instance of {@link Config} used to configure the Client.\n */\n constructor(config, GraphQLClientClass = GraphQLJSClient, fetchFunction) {\n const url = `https://${config.domain}/api/graphql`;\n\n const headers = {\n 'X-SDK-Variant': 'javascript',\n 'X-SDK-Version': version,\n 'X-Shopify-Storefront-Access-Token': config.storefrontAccessToken\n };\n\n if (fetchFunction) {\n headers['Content-Type'] = 'application/json';\n headers.Accept = 'application/json';\n\n this.graphQLClient = new GraphQLClientClass(types, {\n fetcher: function fetcher(graphQLParams) {\n return fetchFunction(url, {\n body: JSON.stringify(graphQLParams),\n method: 'POST',\n mode: 'cors',\n headers\n }).then((response) => response.json());\n }\n });\n } else {\n this.graphQLClient = new GraphQLClientClass(types, {\n url,\n fetcherOptions: {headers}\n });\n }\n\n this.product = new ProductResource(this.graphQLClient);\n this.collection = new CollectionResource(this.graphQLClient);\n this.shop = new ShopResource(this.graphQLClient);\n this.checkout = new CheckoutResource(this.graphQLClient);\n this.image = new ImageResource(this.graphQLClient);\n }\n\n /**\n * Fetches the next page of models\n *\n * @example\n * client.fetchNextPage(products).then((nextProducts) => {\n * // Do something with the products\n * });\n *\n * @param {models} [Array] The paginated set to fetch the next page of\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the type provided.\n */\n fetchNextPage(models) {\n return this.graphQLClient.fetchNextPage(models);\n }\n}\n\nexport default Client;\n"],"names":["join","_len","arguments","length","fields","Array","_key","isObject","value","Boolean","Object","prototype","toString","call","valueOf","deepFreezeCopyExcept","predicate","structure","freeze","keys","reduce","copy","key","isArray","map","item","schemaForType","typeBundle","typeName","type","types","Error","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","i","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","_extends","assign","source","hasOwnProperty","inherits","subClass","superClass","create","setPrototypeOf","__proto__","possibleConstructorReturn","self","ReferenceError","slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","undefined","_i","Symbol","iterator","_s","next","done","push","err","toConsumableArray","arr2","from","VariableDefinition","name","defaultValue","toInputValueString","defaultValueString","formatInputValue","isVariable","isPrototypeOf","variable","Enum","enumFunction","Scalar","get$$1","String","JSON","stringify","apply","formatObject","openChar","closeChar","argPairs","formatArgs","args","noop","Profiler","trackTypeDependency","trackFieldDependency","parseFieldCreationArgs","creationArgs","callback","options","selectionSet","_creationArgs","_creationArgs2","SelectionSet","emptyArgs","Field","alias","responseKey","aliasPrefix","Spread","InlineFragment","_Spread","_this","getPrototypeOf","FragmentSpread","_Spread2","fragmentDefinition","_this2","toDefinition","FragmentDefinition","typeSchema","spread","selectionsHaveIdField","selections","some","fieldOrFragment","implementsNode","selectionsHaveTypenameField","indexSelectionsByResponseKey","assignOrPush","obj","unfrozenObject","acc","selection","responseKeys","selectionsByResponseKey","forEach","builderFunction","SelectionSetBuilder","unshift","kind","hasSelectionWithResponseKey","field","add","selectionOrFieldName","rest","concat","_len2","_key2","parsedArgs","fieldBaseTypes","fieldBaseType","inlineFragmentOn","builderFunctionOrSelectionSet","addField","_len3","_key3","addConnection","_len4","_key4","_parseFieldCreationAr","connection","pageInfo","edges","addInlineFragmentOn","fieldTypeCb","addFragment","fragmentSpread","parseArgs","variables","selectionSetCallback","_args","VariableDefinitions","variableDefinitions","Operation","operationType","_parseArgs","queryType","mutationType","nameString","Query","_Operation","_ref","Mutation","isAnonymous","operation","hasAnonymousOperations","operations","hasDuplicateOperationNames","names","hasDuplicates","index","indexOf","extractOperation","Function","bind","isInvalidOperationCombination","fragmentNameIsNotUnique","existingDefinitions","definition","Document","definitions","addOperation","addQuery","addMutation","defineFragment","onType","fragmentDefinitions","fragment","filter","GraphModel","attrs","ClassRegistry","classStore","registerClassForType","constructor","unregisterClassForType","classForType","isValue","arg","isNodeContext","context","isConnection","endsWith","nearestNode","parent","contextsFromRoot","contextsFromNearestNode","initializeDocumentAndVars","currentContext","contextChain","lastInChain","first","firstVar","find","document","addNextFieldTo","currentSelection","path","cursor","nextContext","shift","newSelection","edgesField","nodeField","after","collectFragments","nextPageQueryAndPath","nearestNodeContext","_document$definitions","nodeType","nodeId","responseData","id","_initializeDocumentAn","_initializeDocumentAn2","root","node","slice","fragments","_document$definitions2","_initializeDocumentAn3","_initializeDocumentAn4","hasNextPage$1","edge","hasNextPage","hasPreviousPage","transformConnections","variableValues","DecodingContext","contextForObjectProperty","nestedSelections","nextSelection","contextForArrayItem","decodeArrayItems","transformers","decodeContext","decodeObjectValues","runTransformers","transformer","generateRefetchQueries","refetchQuery","transformPojosToClassesWithRegistry","classRegistry","transformPojosToClasses","Klass","transformScalars","recordTypeInformation","__typename","defaultTransformers","_ref$classRegistry","decode","httpFetcher","url","fetcher","graphQLParams","fetch","headers","then","response","json","paginatedModels","Client","fetcherOptions","_ref$registry","registry","query","mutation","send","request","otherProperties","operationOrDocument","operationName","documentOperation","data","model","fetchNextPage","nodeOrNodes","_node$nextPageQueryAn","_node$nextPageQueryAn2","object","fetchAllPages","_ref2","pageSize","_ref3","pages","Promise","resolve","refetch","_ref4","variable$$1","_enum","Config","deprecatedProperties","warn","requiredProperties","Resource","client","graphQLClient","defaultErrors","message","defaultResolver","split","errors","reject","result","ref","_","fetchResourcesForProducts","productOrProduct","products","all","promiseAcc","product","images","variants","paginateProductConnectionsAndResolve","paginateCollectionsProductConnectionsAndResolve","collectionOrCollections","collections","collection","variant","selectedOptions","every","selectedOption","ProductResource","productConnectionQuery","productNodeQuery","ids","productNodesQuery","handle","productByHandleQuery","sortKey","reverse","productHelpers","CollectionResource","collectionConnectionQuery","productsFirst","collectionConnectionWithProductsQuery","collectionNodeQuery","collectionNodeWithProductsQuery","collectionByHandleQuery","ShopResource","shopQuery","shopPolicyQuery","handleCheckoutMutation","mutationRootKey","rootData","rootModel","checkout","lineItems","userErrors","checkoutUserErrors","CheckoutResource","checkoutNodeQuery","checkoutNodeQueryWithAddress","input","checkoutCreateMutation","checkoutId","checkoutAttributesUpdateV2Mutation","email","checkoutEmailUpdateV2Mutation","checkoutLineItemsAddMutation","discountCode","checkoutDiscountCodeApplyV2Mutation","checkoutDiscountCodeRemoveMutation","lineItemIds","checkoutLineItemsRemoveMutation","checkoutLineItemsReplaceMutation","checkoutLineItemsUpdateMutation","shippingAddress","checkoutShippingAddressUpdateMutation","shippingRateHandle","checkoutShippingLineUpdateMutation","image","maxWidth","maxHeight","splitUrl","src","notQuery","imageTokens","imagePathIndex","ImageResource","imageHelpers","config","fetchFunction","newConfig","GraphQLJSClient","GraphQLClientClass","domain","version","storefrontAccessToken","Accept","shop","models"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
\ No newline at end of file
diff --git a/index.umd.js b/index.umd.js
index ead161d06..ea2d642ed 100644
--- a/index.umd.js
+++ b/index.umd.js
@@ -2370,12 +2370,16 @@ function query(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2385,6 +2389,7 @@ function query(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2393,7 +2398,6 @@ function query(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2458,12 +2462,16 @@ function query$1(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2473,6 +2481,7 @@ function query$1(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2481,7 +2490,6 @@ function query$1(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2549,12 +2557,16 @@ function query$2(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2564,6 +2576,7 @@ function query$2(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2572,7 +2585,6 @@ function query$2(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2615,24 +2627,22 @@ function query$2(client) {
});
});
document.addQuery([variables.__defaultOperation__.first, variables.__defaultOperation__.query, variables.__defaultOperation__.sortKey, variables.__defaultOperation__.reverse], function (root) {
- root.add("shop", function (shop) {
- shop.add("products", {
- args: {
- first: variables.__defaultOperation__.first,
- query: variables.__defaultOperation__.query,
- sortKey: variables.__defaultOperation__.sortKey,
- reverse: variables.__defaultOperation__.reverse
- }
- }, function (products) {
- products.add("pageInfo", function (pageInfo) {
- pageInfo.add("hasNextPage");
- pageInfo.add("hasPreviousPage");
- });
- products.add("edges", function (edges) {
- edges.add("cursor");
- edges.add("node", function (node) {
- node.addFragment(spreads.ProductFragment);
- });
+ root.add("products", {
+ args: {
+ first: variables.__defaultOperation__.first,
+ query: variables.__defaultOperation__.query,
+ sortKey: variables.__defaultOperation__.sortKey,
+ reverse: variables.__defaultOperation__.reverse
+ }
+ }, function (products) {
+ products.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ products.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.addFragment(spreads.ProductFragment);
});
});
});
@@ -2651,12 +2661,16 @@ function query$3(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2666,6 +2680,7 @@ function query$3(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2674,7 +2689,6 @@ function query$3(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2717,14 +2731,12 @@ function query$3(client) {
});
});
document.addQuery([variables.__defaultOperation__.handle], function (root) {
- root.add("shop", function (shop) {
- shop.add("productByHandle", {
- args: {
- handle: variables.__defaultOperation__.handle
- }
- }, function (productByHandle) {
- productByHandle.addFragment(spreads.ProductFragment);
- });
+ root.add("productByHandle", {
+ args: {
+ handle: variables.__defaultOperation__.handle
+ }
+ }, function (productByHandle) {
+ productByHandle.addFragment(spreads.ProductFragment);
});
});
return document;
@@ -2762,7 +2774,7 @@ var ProductResource = function (_Resource) {
value: function fetchAll() {
var first = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 20;
- return this.graphQLClient.send(query$2, { first: first }).then(defaultResolver('shop.products')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
+ return this.graphQLClient.send(query$2, { first: first }).then(defaultResolver('products')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
}
/**
@@ -2817,7 +2829,7 @@ var ProductResource = function (_Resource) {
}, {
key: 'fetchByHandle',
value: function fetchByHandle(handle) {
- return this.graphQLClient.send(query$3, { handle: handle }).then(defaultResolver('shop.productByHandle')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
+ return this.graphQLClient.send(query$3, { handle: handle }).then(defaultResolver('productByHandle')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
}
/**
@@ -2853,7 +2865,7 @@ var ProductResource = function (_Resource) {
sortKey: sortKey,
query: query$$1,
reverse: reverse
- }).then(defaultResolver('shop.products')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
+ }).then(defaultResolver('products')).then(paginateProductConnectionsAndResolve(this.graphQLClient));
}
}, {
key: 'helpers',
@@ -2879,7 +2891,9 @@ function query$4(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
@@ -2906,12 +2920,16 @@ function query$5(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -2921,6 +2939,7 @@ function query$5(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -2929,7 +2948,6 @@ function query$5(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -2980,7 +2998,9 @@ function query$5(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
@@ -3033,29 +3053,29 @@ function query$6(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
document.addQuery([variables.__defaultOperation__.first, variables.__defaultOperation__.query, variables.__defaultOperation__.sortKey, variables.__defaultOperation__.reverse], function (root) {
- root.add("shop", function (shop) {
- shop.add("collections", {
- args: {
- first: variables.__defaultOperation__.first,
- query: variables.__defaultOperation__.query,
- sortKey: variables.__defaultOperation__.sortKey,
- reverse: variables.__defaultOperation__.reverse
- }
- }, function (collections) {
- collections.add("pageInfo", function (pageInfo) {
- pageInfo.add("hasNextPage");
- pageInfo.add("hasPreviousPage");
- });
- collections.add("edges", function (edges) {
- edges.add("cursor");
- edges.add("node", function (node) {
- node.addFragment(spreads.CollectionFragment);
- });
+ root.add("collections", {
+ args: {
+ first: variables.__defaultOperation__.first,
+ query: variables.__defaultOperation__.query,
+ sortKey: variables.__defaultOperation__.sortKey,
+ reverse: variables.__defaultOperation__.reverse
+ }
+ }, function (collections) {
+ collections.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ collections.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.addFragment(spreads.CollectionFragment);
});
});
});
@@ -3078,12 +3098,16 @@ function query$7(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3100,12 +3124,15 @@ function query$7(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -3114,7 +3141,6 @@ function query$7(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -3157,37 +3183,35 @@ function query$7(client) {
});
});
document.addQuery([variables.__defaultOperation__.first, variables.__defaultOperation__.query, variables.__defaultOperation__.sortKey, variables.__defaultOperation__.reverse, variables.__defaultOperation__.productsFirst], function (root) {
- root.add("shop", function (shop) {
- shop.add("collections", {
- args: {
- first: variables.__defaultOperation__.first,
- query: variables.__defaultOperation__.query,
- sortKey: variables.__defaultOperation__.sortKey,
- reverse: variables.__defaultOperation__.reverse
- }
- }, function (collections) {
- collections.add("pageInfo", function (pageInfo) {
- pageInfo.add("hasNextPage");
- pageInfo.add("hasPreviousPage");
- });
- collections.add("edges", function (edges) {
- edges.add("cursor");
- edges.add("node", function (node) {
- node.addFragment(spreads.CollectionFragment);
- node.add("products", {
- args: {
- first: variables.__defaultOperation__.productsFirst
- }
- }, function (products) {
- products.add("pageInfo", function (pageInfo) {
- pageInfo.add("hasNextPage");
- pageInfo.add("hasPreviousPage");
- });
- products.add("edges", function (edges) {
- edges.add("cursor");
- edges.add("node", function (node) {
- node.addFragment(spreads.ProductFragment);
- });
+ root.add("collections", {
+ args: {
+ first: variables.__defaultOperation__.first,
+ query: variables.__defaultOperation__.query,
+ sortKey: variables.__defaultOperation__.sortKey,
+ reverse: variables.__defaultOperation__.reverse
+ }
+ }, function (collections) {
+ collections.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ collections.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.addFragment(spreads.CollectionFragment);
+ node.add("products", {
+ args: {
+ first: variables.__defaultOperation__.productsFirst
+ }
+ }, function (products) {
+ products.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ products.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.addFragment(spreads.ProductFragment);
});
});
});
@@ -3209,12 +3233,16 @@ function query$8(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3224,6 +3252,7 @@ function query$8(client) {
});
spreads.ProductFragment = document.defineFragment("ProductFragment", "Product", function (root) {
root.add("id");
+ root.add("availableForSale");
root.add("createdAt");
root.add("updatedAt");
root.add("descriptionHtml");
@@ -3232,7 +3261,6 @@ function query$8(client) {
root.add("productType");
root.add("title");
root.add("vendor");
- root.add("tags");
root.add("publishedAt");
root.add("onlineStoreUrl");
root.add("options", function (options) {
@@ -3283,7 +3311,9 @@ function query$8(client) {
root.add("title");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
});
@@ -3306,15 +3336,13 @@ function query$8(client) {
});
});
document.addQuery([variables.__defaultOperation__.handle], function (root) {
- root.add("shop", function (shop) {
- shop.add("collectionByHandle", {
- args: {
- handle: variables.__defaultOperation__.handle
- }
- }, function (collectionByHandle) {
- collectionByHandle.addFragment(spreads.CollectionFragment);
- collectionByHandle.addFragment(spreads.CollectionsProductsFragment);
- });
+ root.add("collectionByHandle", {
+ args: {
+ handle: variables.__defaultOperation__.handle
+ }
+ }, function (collectionByHandle) {
+ collectionByHandle.addFragment(spreads.CollectionFragment);
+ collectionByHandle.addFragment(spreads.CollectionsProductsFragment);
});
});
return document;
@@ -3352,7 +3380,7 @@ var CollectionResource = function (_Resource) {
value: function fetchAll() {
var first = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 20;
- return this.graphQLClient.send(query$6, { first: first }).then(defaultResolver('shop.collections'));
+ return this.graphQLClient.send(query$6, { first: first }).then(defaultResolver('collections'));
}
/**
@@ -3375,7 +3403,7 @@ var CollectionResource = function (_Resource) {
_ref$productsFirst = _ref.productsFirst,
productsFirst = _ref$productsFirst === undefined ? 20 : _ref$productsFirst;
- return this.graphQLClient.send(query$7, { first: first, productsFirst: productsFirst }).then(defaultResolver('shop.collections')).then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));
+ return this.graphQLClient.send(query$7, { first: first, productsFirst: productsFirst }).then(defaultResolver('collections')).then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));
}
/**
@@ -3430,7 +3458,7 @@ var CollectionResource = function (_Resource) {
}, {
key: 'fetchByHandle',
value: function fetchByHandle(handle) {
- return this.graphQLClient.send(query$8, { handle: handle }).then(defaultResolver('shop.collectionByHandle'));
+ return this.graphQLClient.send(query$8, { handle: handle }).then(defaultResolver('collectionByHandle'));
}
/**
@@ -3466,7 +3494,7 @@ var CollectionResource = function (_Resource) {
sortKey: sortKey,
query: query,
reverse: reverse
- }).then(defaultResolver('shop.collections'));
+ }).then(defaultResolver('collections'));
}
}]);
return CollectionResource;
@@ -3591,6 +3619,10 @@ function handleCheckoutMutation(mutationRootKey, client) {
return Promise.reject(new Error(JSON.stringify(errors)));
}
+ if (rootData && rootData.checkoutUserErrors && rootData.checkoutUserErrors.length) {
+ return Promise.reject(new Error(JSON.stringify(rootData.checkoutUserErrors)));
+ }
+
if (rootData && rootData.userErrors && rootData.userErrors.length) {
return Promise.reject(new Error(JSON.stringify(rootData.userErrors)));
}
@@ -3610,12 +3642,16 @@ function query$11(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3623,6 +3659,25 @@ function query$11(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -3645,7 +3700,9 @@ function query$11(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -3673,6 +3730,22 @@ function query$11(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -3746,6 +3819,15 @@ function query$11(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
@@ -3773,12 +3855,16 @@ function query$12(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3936,12 +4022,16 @@ function query$13(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -3949,6 +4039,25 @@ function query$13(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -3959,6 +4068,11 @@ function query$13(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -3975,7 +4089,9 @@ function query$13(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4003,6 +4119,22 @@ function query$13(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4076,6 +4208,15 @@ function query$13(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
@@ -4089,6 +4230,9 @@ function query$13(client) {
checkoutCreate.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
+ checkoutCreate.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
checkoutCreate.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
@@ -4109,12 +4253,16 @@ function query$14(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4122,6 +4270,25 @@ function query$14(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4148,7 +4315,9 @@ function query$14(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4176,6 +4345,22 @@ function query$14(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4249,6 +4434,15 @@ function query$14(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
@@ -4283,12 +4477,16 @@ function query$15(client) {
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4296,6 +4494,25 @@ function query$15(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4322,7 +4539,9 @@ function query$15(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4350,6 +4569,22 @@ function query$15(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4423,6 +4658,15 @@ function query$15(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
@@ -4451,18 +4695,22 @@ function query$16(client) {
var variables = {};
variables.__defaultOperation__ = {};
variables.__defaultOperation__.checkoutId = client.variable("checkoutId", "ID!");
- variables.__defaultOperation__.lineItems = client.variable("lineItems", "[CheckoutLineItemUpdateInput!]!");
+ variables.__defaultOperation__.lineItems = client.variable("lineItems", "[CheckoutLineItemInput!]!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4470,6 +4718,25 @@ function query$16(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4496,7 +4763,9 @@ function query$16(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4524,6 +4793,22 @@ function query$16(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4597,21 +4882,30 @@ function query$16(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
document.addMutation([variables.__defaultOperation__.checkoutId, variables.__defaultOperation__.lineItems], function (root) {
- root.add("checkoutLineItemsUpdate", {
+ root.add("checkoutLineItemsReplace", {
args: {
checkoutId: variables.__defaultOperation__.checkoutId,
lineItems: variables.__defaultOperation__.lineItems
}
- }, function (checkoutLineItemsUpdate) {
- checkoutLineItemsUpdate.add("userErrors", function (userErrors) {
+ }, function (checkoutLineItemsReplace) {
+ checkoutLineItemsReplace.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutLineItemsUpdate.add("checkout", function (checkout) {
+ checkoutLineItemsReplace.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -4623,20 +4917,24 @@ function query$17(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutAttributesUpdate = {};
- variables.checkoutAttributesUpdate.checkoutId = client.variable("checkoutId", "ID!");
- variables.checkoutAttributesUpdate.input = client.variable("input", "CheckoutAttributesUpdateInput!");
+ variables.__defaultOperation__ = {};
+ variables.__defaultOperation__.checkoutId = client.variable("checkoutId", "ID!");
+ variables.__defaultOperation__.lineItems = client.variable("lineItems", "[CheckoutLineItemUpdateInput!]!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4644,6 +4942,25 @@ function query$17(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4670,7 +4987,9 @@ function query$17(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4698,6 +5017,22 @@ function query$17(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4771,21 +5106,30 @@ function query$17(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutAttributesUpdate", [variables.checkoutAttributesUpdate.checkoutId, variables.checkoutAttributesUpdate.input], function (root) {
- root.add("checkoutAttributesUpdate", {
+ document.addMutation([variables.__defaultOperation__.checkoutId, variables.__defaultOperation__.lineItems], function (root) {
+ root.add("checkoutLineItemsUpdate", {
args: {
- checkoutId: variables.checkoutAttributesUpdate.checkoutId,
- input: variables.checkoutAttributesUpdate.input
+ checkoutId: variables.__defaultOperation__.checkoutId,
+ lineItems: variables.__defaultOperation__.lineItems
}
- }, function (checkoutAttributesUpdate) {
- checkoutAttributesUpdate.add("userErrors", function (userErrors) {
+ }, function (checkoutLineItemsUpdate) {
+ checkoutLineItemsUpdate.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutAttributesUpdate.add("checkout", function (checkout) {
+ checkoutLineItemsUpdate.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -4797,20 +5141,24 @@ function query$18(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutDiscountCodeApply = {};
- variables.checkoutDiscountCodeApply.discountCode = client.variable("discountCode", "String!");
- variables.checkoutDiscountCodeApply.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutAttributesUpdateV2 = {};
+ variables.checkoutAttributesUpdateV2.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutAttributesUpdateV2.input = client.variable("input", "CheckoutAttributesUpdateV2Input!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4818,6 +5166,25 @@ function query$18(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -4828,6 +5195,11 @@ function query$18(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -4844,7 +5216,9 @@ function query$18(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -4872,6 +5246,22 @@ function query$18(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -4945,21 +5335,33 @@ function query$18(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutDiscountCodeApply", [variables.checkoutDiscountCodeApply.discountCode, variables.checkoutDiscountCodeApply.checkoutId], function (root) {
- root.add("checkoutDiscountCodeApply", {
+ document.addMutation("checkoutAttributesUpdateV2", [variables.checkoutAttributesUpdateV2.checkoutId, variables.checkoutAttributesUpdateV2.input], function (root) {
+ root.add("checkoutAttributesUpdateV2", {
args: {
- discountCode: variables.checkoutDiscountCodeApply.discountCode,
- checkoutId: variables.checkoutDiscountCodeApply.checkoutId
+ checkoutId: variables.checkoutAttributesUpdateV2.checkoutId,
+ input: variables.checkoutAttributesUpdateV2.input
}
- }, function (checkoutDiscountCodeApply) {
- checkoutDiscountCodeApply.add("userErrors", function (userErrors) {
+ }, function (checkoutAttributesUpdateV2) {
+ checkoutAttributesUpdateV2.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutDiscountCodeApply.add("checkout", function (checkout) {
+ checkoutAttributesUpdateV2.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
+ checkoutAttributesUpdateV2.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -4971,19 +5373,24 @@ function query$19(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutDiscountCodeRemove = {};
- variables.checkoutDiscountCodeRemove.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutDiscountCodeApplyV2 = {};
+ variables.checkoutDiscountCodeApplyV2.discountCode = client.variable("discountCode", "String!");
+ variables.checkoutDiscountCodeApplyV2.checkoutId = client.variable("checkoutId", "ID!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -4991,6 +5398,25 @@ function query$19(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -5001,6 +5427,11 @@ function query$19(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -5017,7 +5448,9 @@ function query$19(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -5045,6 +5478,22 @@ function query$19(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -5118,20 +5567,33 @@ function query$19(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutDiscountCodeRemove", [variables.checkoutDiscountCodeRemove.checkoutId], function (root) {
- root.add("checkoutDiscountCodeRemove", {
+ document.addMutation("checkoutDiscountCodeApplyV2", [variables.checkoutDiscountCodeApplyV2.discountCode, variables.checkoutDiscountCodeApplyV2.checkoutId], function (root) {
+ root.add("checkoutDiscountCodeApplyV2", {
args: {
- checkoutId: variables.checkoutDiscountCodeRemove.checkoutId
+ discountCode: variables.checkoutDiscountCodeApplyV2.discountCode,
+ checkoutId: variables.checkoutDiscountCodeApplyV2.checkoutId
}
- }, function (checkoutDiscountCodeRemove) {
- checkoutDiscountCodeRemove.add("userErrors", function (userErrors) {
+ }, function (checkoutDiscountCodeApplyV2) {
+ checkoutDiscountCodeApplyV2.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutDiscountCodeRemove.add("checkout", function (checkout) {
+ checkoutDiscountCodeApplyV2.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
+ checkoutDiscountCodeApplyV2.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -5143,20 +5605,23 @@ function query$20(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutShippingAddressUpdate = {};
- variables.checkoutShippingAddressUpdate.shippingAddress = client.variable("shippingAddress", "MailingAddressInput!");
- variables.checkoutShippingAddressUpdate.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutDiscountCodeRemove = {};
+ variables.checkoutDiscountCodeRemove.checkoutId = client.variable("checkoutId", "ID!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -5164,6 +5629,25 @@ function query$20(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -5174,6 +5658,11 @@ function query$20(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -5190,7 +5679,9 @@ function query$20(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -5218,6 +5709,22 @@ function query$20(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -5291,21 +5798,32 @@ function query$20(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutShippingAddressUpdate", [variables.checkoutShippingAddressUpdate.shippingAddress, variables.checkoutShippingAddressUpdate.checkoutId], function (root) {
- root.add("checkoutShippingAddressUpdate", {
+ document.addMutation("checkoutDiscountCodeRemove", [variables.checkoutDiscountCodeRemove.checkoutId], function (root) {
+ root.add("checkoutDiscountCodeRemove", {
args: {
- shippingAddress: variables.checkoutShippingAddressUpdate.shippingAddress,
- checkoutId: variables.checkoutShippingAddressUpdate.checkoutId
+ checkoutId: variables.checkoutDiscountCodeRemove.checkoutId
}
- }, function (checkoutShippingAddressUpdate) {
- checkoutShippingAddressUpdate.add("userErrors", function (userErrors) {
+ }, function (checkoutDiscountCodeRemove) {
+ checkoutDiscountCodeRemove.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutShippingAddressUpdate.add("checkout", function (checkout) {
+ checkoutDiscountCodeRemove.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
+ checkoutDiscountCodeRemove.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -5317,20 +5835,24 @@ function query$21(client) {
var document = client.document();
var spreads = {};
var variables = {};
- variables.checkoutShippingLineUpdate = {};
- variables.checkoutShippingLineUpdate.checkoutId = client.variable("checkoutId", "ID!");
- variables.checkoutShippingLineUpdate.shippingRateHandle = client.variable("shippingRateHandle", "String!");
+ variables.checkoutEmailUpdateV2 = {};
+ variables.checkoutEmailUpdateV2.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutEmailUpdateV2.email = client.variable("email", "String!");
spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
root.add("id");
root.add("title");
root.add("price");
root.add("weight");
- root.add("available");
+ root.add("availableForSale", {
+ alias: "available"
+ });
root.add("sku");
root.add("compareAtPrice");
root.add("image", function (image) {
image.add("id");
- image.add("src");
+ image.add("originalSrc", {
+ alias: "src"
+ });
image.add("altText");
});
root.add("selectedOptions", function (selectedOptions) {
@@ -5338,6 +5860,25 @@ function query$21(client) {
selectedOptions.add("value");
});
});
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
root.addFragment(spreads.VariantFragment);
root.add("product", function (product) {
@@ -5348,6 +5889,11 @@ function query$21(client) {
root.add("field");
root.add("message");
});
+ spreads.CheckoutUserErrorFragment = document.defineFragment("CheckoutUserErrorFragment", "CheckoutUserError", function (root) {
+ root.add("field");
+ root.add("message");
+ root.add("code");
+ });
spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
root.add("id");
root.add("address1");
@@ -5364,7 +5910,9 @@ function query$21(client) {
root.add("province");
root.add("zip");
root.add("name");
- root.add("countryCode");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
root.add("provinceCode");
});
spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
@@ -5392,6 +5940,22 @@ function query$21(client) {
root.add("completedAt");
root.add("createdAt");
root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
root.add("shippingAddress", function (shippingAddress) {
shippingAddress.addFragment(spreads.MailingAddressFragment);
});
@@ -5465,21 +6029,33 @@ function query$21(client) {
customAttributes.add("key");
customAttributes.add("value");
});
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
});
});
});
});
- document.addMutation("checkoutShippingLineUpdate", [variables.checkoutShippingLineUpdate.checkoutId, variables.checkoutShippingLineUpdate.shippingRateHandle], function (root) {
- root.add("checkoutShippingLineUpdate", {
+ document.addMutation("checkoutEmailUpdateV2", [variables.checkoutEmailUpdateV2.checkoutId, variables.checkoutEmailUpdateV2.email], function (root) {
+ root.add("checkoutEmailUpdateV2", {
args: {
- checkoutId: variables.checkoutShippingLineUpdate.checkoutId,
- shippingRateHandle: variables.checkoutShippingLineUpdate.shippingRateHandle
+ checkoutId: variables.checkoutEmailUpdateV2.checkoutId,
+ email: variables.checkoutEmailUpdateV2.email
}
- }, function (checkoutShippingLineUpdate) {
- checkoutShippingLineUpdate.add("userErrors", function (userErrors) {
+ }, function (checkoutEmailUpdateV2) {
+ checkoutEmailUpdateV2.add("userErrors", function (userErrors) {
userErrors.addFragment(spreads.UserErrorFragment);
});
- checkoutShippingLineUpdate.add("checkout", function (checkout) {
+ checkoutEmailUpdateV2.add("checkoutUserErrors", function (checkoutUserErrors) {
+ checkoutUserErrors.addFragment(spreads.CheckoutUserErrorFragment);
+ });
+ checkoutEmailUpdateV2.add("checkout", function (checkout) {
checkout.addFragment(spreads.CheckoutFragment);
});
});
@@ -5487,82 +6063,534 @@ function query$21(client) {
return document;
}
-// GraphQL
-/**
- * The JS Buy SDK checkout resource
- * @class
- */
-
-var CheckoutResource = function (_Resource) {
- inherits$1(CheckoutResource, _Resource);
-
- function CheckoutResource() {
- classCallCheck$1(this, CheckoutResource);
- return possibleConstructorReturn$1(this, (CheckoutResource.__proto__ || Object.getPrototypeOf(CheckoutResource)).apply(this, arguments));
- }
-
- createClass$1(CheckoutResource, [{
- key: 'fetch',
-
-
- /**
- * Fetches a checkout by ID.
- *
- * @example
- * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {
- * // Do something with the checkout
- * });
- *
- * @param {String} id The id of the checkout to fetch.
- * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.
- */
- value: function fetch(id) {
- var _this2 = this;
-
- return this.graphQLClient.send(query$11, { id: id }).then(defaultResolver('node')).then(function (checkout) {
- return _this2.graphQLClient.fetchAllPages(checkout.lineItems, { pageSize: 250 }).then(function (lineItems) {
- checkout.attrs.lineItems = lineItems;
-
- return checkout;
- });
+function query$22(client) {
+ var document = client.document();
+ var spreads = {};
+ var variables = {};
+ variables.checkoutShippingAddressUpdate = {};
+ variables.checkoutShippingAddressUpdate.shippingAddress = client.variable("shippingAddress", "MailingAddressInput!");
+ variables.checkoutShippingAddressUpdate.checkoutId = client.variable("checkoutId", "ID!");
+ spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
+ root.add("id");
+ root.add("title");
+ root.add("price");
+ root.add("weight");
+ root.add("availableForSale", {
+ alias: "available"
+ });
+ root.add("sku");
+ root.add("compareAtPrice");
+ root.add("image", function (image) {
+ image.add("id");
+ image.add("originalSrc", {
+ alias: "src"
});
- }
-
- /**
- * Fetches a checkout by ID.
- *
- * @example
- * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {
- * // Do something with the checkout
- * });
- *
- * @param {String} id The id of the checkout to fetch.
- * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.
- */
-
- }, {
- key: 'fetchWithAddress',
- value: function fetchWithAddress(id) {
- var _this3 = this;
-
- return this.graphQLClient.send(query$12, { id: id }).then(defaultResolver('node')).then(function (checkout) {
- return _this3.graphQLClient.fetchAllPages(checkout.lineItems, { pageSize: 250 }).then(function (lineItems) {
- checkout.attrs.lineItems = lineItems;
-
- return checkout;
- });
+ image.add("altText");
+ });
+ root.add("selectedOptions", function (selectedOptions) {
+ selectedOptions.add("name");
+ selectedOptions.add("value");
+ });
+ });
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
+ spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
+ root.addFragment(spreads.VariantFragment);
+ root.add("product", function (product) {
+ product.add("id");
+ });
+ });
+ spreads.UserErrorFragment = document.defineFragment("UserErrorFragment", "UserError", function (root) {
+ root.add("field");
+ root.add("message");
+ });
+ spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
+ root.add("id");
+ root.add("address1");
+ root.add("address2");
+ root.add("city");
+ root.add("company");
+ root.add("country");
+ root.add("firstName");
+ root.add("formatted");
+ root.add("lastName");
+ root.add("latitude");
+ root.add("longitude");
+ root.add("phone");
+ root.add("province");
+ root.add("zip");
+ root.add("name");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
+ root.add("provinceCode");
+ });
+ spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
+ root.add("id");
+ root.add("ready");
+ root.add("requiresShipping");
+ root.add("availableShippingRates", function (availableShippingRates) {
+ availableShippingRates.add("ready");
+ availableShippingRates.add("shippingRates", function (shippingRates) {
+ shippingRates.add("handle");
+ shippingRates.add("price");
+ shippingRates.add("title");
});
- }
-
- /**
- * Creates a checkout.
- *
- * @example
- * const input = {
- * lineItems: [
- * {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}
- * ]
- * };
+ });
+ root.add("note");
+ root.add("paymentDue");
+ root.add("webUrl");
+ root.add("orderStatusUrl");
+ root.add("taxExempt");
+ root.add("taxesIncluded");
+ root.add("currencyCode");
+ root.add("totalTax");
+ root.add("subtotalPrice");
+ root.add("totalPrice");
+ root.add("completedAt");
+ root.add("createdAt");
+ root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
+ root.add("shippingAddress", function (shippingAddress) {
+ shippingAddress.addFragment(spreads.MailingAddressFragment);
+ });
+ root.add("shippingLine", function (shippingLine) {
+ shippingLine.add("handle");
+ shippingLine.add("price");
+ shippingLine.add("title");
+ });
+ root.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ root.add("order", function (order) {
+ order.add("id");
+ order.add("processedAt");
+ order.add("orderNumber");
+ order.add("subtotalPrice");
+ order.add("totalShippingPrice");
+ order.add("totalTax");
+ order.add("totalPrice");
+ order.add("currencyCode");
+ order.add("totalRefunded");
+ order.add("customerUrl");
+ order.add("shippingAddress", function (shippingAddress) {
+ shippingAddress.addFragment(spreads.MailingAddressFragment);
+ });
+ order.add("lineItems", {
+ args: {
+ first: 250
+ }
+ }, function (lineItems) {
+ lineItems.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ lineItems.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.add("title");
+ node.add("variant", function (variant) {
+ variant.addFragment(spreads.VariantWithProductFragment);
+ });
+ node.add("quantity");
+ node.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ });
+ });
+ });
+ });
+ root.add("lineItems", {
+ args: {
+ first: 250
+ }
+ }, function (lineItems) {
+ lineItems.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ lineItems.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.add("id");
+ node.add("title");
+ node.add("variant", function (variant) {
+ variant.addFragment(spreads.VariantWithProductFragment);
+ });
+ node.add("quantity");
+ node.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
+ });
+ });
+ });
+ document.addMutation("checkoutShippingAddressUpdate", [variables.checkoutShippingAddressUpdate.shippingAddress, variables.checkoutShippingAddressUpdate.checkoutId], function (root) {
+ root.add("checkoutShippingAddressUpdate", {
+ args: {
+ shippingAddress: variables.checkoutShippingAddressUpdate.shippingAddress,
+ checkoutId: variables.checkoutShippingAddressUpdate.checkoutId
+ }
+ }, function (checkoutShippingAddressUpdate) {
+ checkoutShippingAddressUpdate.add("userErrors", function (userErrors) {
+ userErrors.addFragment(spreads.UserErrorFragment);
+ });
+ checkoutShippingAddressUpdate.add("checkout", function (checkout) {
+ checkout.addFragment(spreads.CheckoutFragment);
+ });
+ });
+ });
+ return document;
+}
+
+function query$23(client) {
+ var document = client.document();
+ var spreads = {};
+ var variables = {};
+ variables.checkoutShippingLineUpdate = {};
+ variables.checkoutShippingLineUpdate.checkoutId = client.variable("checkoutId", "ID!");
+ variables.checkoutShippingLineUpdate.shippingRateHandle = client.variable("shippingRateHandle", "String!");
+ spreads.VariantFragment = document.defineFragment("VariantFragment", "ProductVariant", function (root) {
+ root.add("id");
+ root.add("title");
+ root.add("price");
+ root.add("weight");
+ root.add("availableForSale", {
+ alias: "available"
+ });
+ root.add("sku");
+ root.add("compareAtPrice");
+ root.add("image", function (image) {
+ image.add("id");
+ image.add("originalSrc", {
+ alias: "src"
+ });
+ image.add("altText");
+ });
+ root.add("selectedOptions", function (selectedOptions) {
+ selectedOptions.add("name");
+ selectedOptions.add("value");
+ });
+ });
+ spreads.DiscountApplicationFragment = document.defineFragment("DiscountApplicationFragment", "DiscountApplication", function (root) {
+ root.add("targetSelection");
+ root.add("allocationMethod");
+ root.add("targetType");
+ root.addInlineFragmentOn("ManualDiscountApplication", function (ManualDiscountApplication) {
+ ManualDiscountApplication.add("title");
+ ManualDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("DiscountCodeApplication", function (DiscountCodeApplication) {
+ DiscountCodeApplication.add("code");
+ DiscountCodeApplication.add("applicable");
+ });
+ root.addInlineFragmentOn("ScriptDiscountApplication", function (ScriptDiscountApplication) {
+ ScriptDiscountApplication.add("description");
+ });
+ root.addInlineFragmentOn("AutomaticDiscountApplication", function (AutomaticDiscountApplication) {
+ AutomaticDiscountApplication.add("title");
+ });
+ });
+ spreads.VariantWithProductFragment = document.defineFragment("VariantWithProductFragment", "ProductVariant", function (root) {
+ root.addFragment(spreads.VariantFragment);
+ root.add("product", function (product) {
+ product.add("id");
+ });
+ });
+ spreads.UserErrorFragment = document.defineFragment("UserErrorFragment", "UserError", function (root) {
+ root.add("field");
+ root.add("message");
+ });
+ spreads.MailingAddressFragment = document.defineFragment("MailingAddressFragment", "MailingAddress", function (root) {
+ root.add("id");
+ root.add("address1");
+ root.add("address2");
+ root.add("city");
+ root.add("company");
+ root.add("country");
+ root.add("firstName");
+ root.add("formatted");
+ root.add("lastName");
+ root.add("latitude");
+ root.add("longitude");
+ root.add("phone");
+ root.add("province");
+ root.add("zip");
+ root.add("name");
+ root.add("countryCodeV2", {
+ alias: "countryCode"
+ });
+ root.add("provinceCode");
+ });
+ spreads.CheckoutFragment = document.defineFragment("CheckoutFragment", "Checkout", function (root) {
+ root.add("id");
+ root.add("ready");
+ root.add("requiresShipping");
+ root.add("availableShippingRates", function (availableShippingRates) {
+ availableShippingRates.add("ready");
+ availableShippingRates.add("shippingRates", function (shippingRates) {
+ shippingRates.add("handle");
+ shippingRates.add("price");
+ shippingRates.add("title");
+ });
+ });
+ root.add("note");
+ root.add("paymentDue");
+ root.add("webUrl");
+ root.add("orderStatusUrl");
+ root.add("taxExempt");
+ root.add("taxesIncluded");
+ root.add("currencyCode");
+ root.add("totalTax");
+ root.add("subtotalPrice");
+ root.add("totalPrice");
+ root.add("completedAt");
+ root.add("createdAt");
+ root.add("updatedAt");
+ root.add("email");
+ root.add("discountApplications", {
+ args: {
+ first: 10
+ }
+ }, function (discountApplications) {
+ discountApplications.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ discountApplications.add("edges", function (edges) {
+ edges.add("node", function (node) {
+ node.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
+ root.add("shippingAddress", function (shippingAddress) {
+ shippingAddress.addFragment(spreads.MailingAddressFragment);
+ });
+ root.add("shippingLine", function (shippingLine) {
+ shippingLine.add("handle");
+ shippingLine.add("price");
+ shippingLine.add("title");
+ });
+ root.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ root.add("order", function (order) {
+ order.add("id");
+ order.add("processedAt");
+ order.add("orderNumber");
+ order.add("subtotalPrice");
+ order.add("totalShippingPrice");
+ order.add("totalTax");
+ order.add("totalPrice");
+ order.add("currencyCode");
+ order.add("totalRefunded");
+ order.add("customerUrl");
+ order.add("shippingAddress", function (shippingAddress) {
+ shippingAddress.addFragment(spreads.MailingAddressFragment);
+ });
+ order.add("lineItems", {
+ args: {
+ first: 250
+ }
+ }, function (lineItems) {
+ lineItems.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ lineItems.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.add("title");
+ node.add("variant", function (variant) {
+ variant.addFragment(spreads.VariantWithProductFragment);
+ });
+ node.add("quantity");
+ node.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ });
+ });
+ });
+ });
+ root.add("lineItems", {
+ args: {
+ first: 250
+ }
+ }, function (lineItems) {
+ lineItems.add("pageInfo", function (pageInfo) {
+ pageInfo.add("hasNextPage");
+ pageInfo.add("hasPreviousPage");
+ });
+ lineItems.add("edges", function (edges) {
+ edges.add("cursor");
+ edges.add("node", function (node) {
+ node.add("id");
+ node.add("title");
+ node.add("variant", function (variant) {
+ variant.addFragment(spreads.VariantWithProductFragment);
+ });
+ node.add("quantity");
+ node.add("customAttributes", function (customAttributes) {
+ customAttributes.add("key");
+ customAttributes.add("value");
+ });
+ node.add("discountAllocations", function (discountAllocations) {
+ discountAllocations.add("allocatedAmount", function (allocatedAmount) {
+ allocatedAmount.add("amount");
+ allocatedAmount.add("currencyCode");
+ });
+ discountAllocations.add("discountApplication", function (discountApplication) {
+ discountApplication.addFragment(spreads.DiscountApplicationFragment);
+ });
+ });
+ });
+ });
+ });
+ });
+ document.addMutation("checkoutShippingLineUpdate", [variables.checkoutShippingLineUpdate.checkoutId, variables.checkoutShippingLineUpdate.shippingRateHandle], function (root) {
+ root.add("checkoutShippingLineUpdate", {
+ args: {
+ checkoutId: variables.checkoutShippingLineUpdate.checkoutId,
+ shippingRateHandle: variables.checkoutShippingLineUpdate.shippingRateHandle
+ }
+ }, function (checkoutShippingLineUpdate) {
+ checkoutShippingLineUpdate.add("userErrors", function (userErrors) {
+ userErrors.addFragment(spreads.UserErrorFragment);
+ });
+ checkoutShippingLineUpdate.add("checkout", function (checkout) {
+ checkout.addFragment(spreads.CheckoutFragment);
+ });
+ });
+ });
+ return document;
+}
+
+// GraphQL
+/**
+ * The JS Buy SDK checkout resource
+ * @class
+ */
+
+var CheckoutResource = function (_Resource) {
+ inherits$1(CheckoutResource, _Resource);
+
+ function CheckoutResource() {
+ classCallCheck$1(this, CheckoutResource);
+ return possibleConstructorReturn$1(this, (CheckoutResource.__proto__ || Object.getPrototypeOf(CheckoutResource)).apply(this, arguments));
+ }
+
+ createClass$1(CheckoutResource, [{
+ key: 'fetch',
+
+
+ /**
+ * Fetches a checkout by ID.
+ *
+ * @example
+ * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {
+ * // Do something with the checkout
+ * });
+ *
+ * @param {String} id The id of the checkout to fetch.
+ * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.
+ */
+ value: function fetch(id) {
+ var _this2 = this;
+
+ return this.graphQLClient.send(query$11, { id: id }).then(defaultResolver('node')).then(function (checkout) {
+ if (!checkout) {
+ return null;
+ }
+
+ return _this2.graphQLClient.fetchAllPages(checkout.lineItems, { pageSize: 250 }).then(function (lineItems) {
+ checkout.attrs.lineItems = lineItems;
+
+ return checkout;
+ });
+ });
+ }
+
+ /**
+ * Fetches a checkout by ID.
+ *
+ * @example
+ * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {
+ * // Do something with the checkout
+ * });
+ *
+ * @param {String} id The id of the checkout to fetch.
+ * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.
+ */
+
+ }, {
+ key: 'fetchWithAddress',
+ value: function fetchWithAddress(id) {
+ var _this3 = this;
+
+ return this.graphQLClient.send(query$12, { id: id }).then(defaultResolver('node')).then(function (checkout) {
+ return _this3.graphQLClient.fetchAllPages(checkout.lineItems, { pageSize: 250 }).then(function (lineItems) {
+ checkout.attrs.lineItems = lineItems;
+
+ return checkout;
+ });
+ });
+ }
+
+ /**
+ * Creates a checkout.
+ *
+ * @example
+ * const input = {
+ * lineItems: [
+ * {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}
+ * ]
+ * };
*
* client.checkout.create(input).then((checkout) => {
* // Do something with the newly created checkout
@@ -5609,7 +6637,29 @@ var CheckoutResource = function (_Resource) {
value: function updateAttributes(checkoutId) {
var input = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- return this.graphQLClient.send(query$17, { checkoutId: checkoutId, input: input }).then(handleCheckoutMutation('checkoutAttributesUpdate', this.graphQLClient));
+ return this.graphQLClient.send(query$18, { checkoutId: checkoutId, input: input }).then(handleCheckoutMutation('checkoutAttributesUpdateV2', this.graphQLClient));
+ }
+
+ /**
+ * Replaces the value of checkout's email address
+ *
+ * @example
+ * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
+ * const email = 'user@example.com';
+ *
+ * client.checkout.updateEmail(checkoutId, email).then((checkout) => {
+ * // Do something with the updated checkout
+ * });
+ *
+ * @param {String} checkoutId The ID of the checkout to update.
+ * @param {String} email The email address to apply to the checkout.
+ * @return {Promise|GraphModel} A promise resolving with the updated checkout.
+ */
+
+ }, {
+ key: 'updateEmail',
+ value: function updateEmail(checkoutId, email) {
+ return this.graphQLClient.send(query$21, { checkoutId: checkoutId, email: email }).then(handleCheckoutMutation('checkoutEmailUpdateV2', this.graphQLClient));
}
/**
@@ -5653,29 +6703,27 @@ var CheckoutResource = function (_Resource) {
}, {
key: 'addDiscount',
value: function addDiscount(checkoutId, discountCode) {
- return this.graphQLClient.send(query$18, { checkoutId: checkoutId, discountCode: discountCode }).then(handleCheckoutMutation('checkoutDiscountCodeApply', this.graphQLClient));
+ return this.graphQLClient.send(query$19, { checkoutId: checkoutId, discountCode: discountCode }).then(handleCheckoutMutation('checkoutDiscountCodeApplyV2', this.graphQLClient));
}
/**
- * Applies a discount to an existing checkout using a discount code.
+ * Removes a discount from an existing checkout.
*
* @example
* const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
- * const discountCode = 'best-discount-ever';
*
- * client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {
+ * client.checkout.removeDiscount(checkoutId).then((checkout) => {
* // Do something with the updated checkout
* });
*
* @param {String} checkoutId The ID of the checkout to add discount to.
- * @param {String} discountCode The discount code to apply to the checkout.
* @return {Promise|GraphModel} A promise resolving with the updated checkout.
*/
}, {
key: 'removeDiscount',
- value: function removeDiscount(checkoutId, discountCode) {
- return this.graphQLClient.send(query$19, { checkoutId: checkoutId, discountCode: discountCode }).then(handleCheckoutMutation('checkoutDiscountCodeRemove', this.graphQLClient));
+ value: function removeDiscount(checkoutId) {
+ return this.graphQLClient.send(query$20, { checkoutId: checkoutId }).then(handleCheckoutMutation('checkoutDiscountCodeRemove', this.graphQLClient));
}
/**
@@ -5700,6 +6748,28 @@ var CheckoutResource = function (_Resource) {
return this.graphQLClient.send(query$15, { checkoutId: checkoutId, lineItemIds: lineItemIds }).then(handleCheckoutMutation('checkoutLineItemsRemove', this.graphQLClient));
}
+ /**
+ * Replace line items on an existing checkout.
+ *
+ * @example
+ * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
+ * const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];
+ *
+ * client.checkout.replaceLineItems(checkoutId, lineItems).then((checkout) => {
+ * // Do something with the updated checkout
+ * });
+ *
+ * @param {String} checkoutId The ID of the checkout to add line items to.
+ * @param {Object[]} lineItems A list of line items to set on the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.
+ * @return {Promise|GraphModel} A promise resolving with the updated checkout.
+ */
+
+ }, {
+ key: 'replaceLineItems',
+ value: function replaceLineItems(checkoutId, lineItems) {
+ return this.graphQLClient.send(query$16, { checkoutId: checkoutId, lineItems: lineItems }).then(handleCheckoutMutation('checkoutLineItemsReplace', this.graphQLClient));
+ }
+
/**
* Updates line items on an existing checkout.
*
@@ -5725,7 +6795,7 @@ var CheckoutResource = function (_Resource) {
}, {
key: 'updateLineItems',
value: function updateLineItems(checkoutId, lineItems) {
- return this.graphQLClient.send(query$16, { checkoutId: checkoutId, lineItems: lineItems }).then(handleCheckoutMutation('checkoutLineItemsUpdate', this.graphQLClient));
+ return this.graphQLClient.send(query$17, { checkoutId: checkoutId, lineItems: lineItems }).then(handleCheckoutMutation('checkoutLineItemsUpdate', this.graphQLClient));
}
/**
@@ -5759,12 +6829,12 @@ var CheckoutResource = function (_Resource) {
}, {
key: 'updateShippingAddress',
value: function updateShippingAddress(checkoutId, shippingAddress) {
- return this.graphQLClient.send(query$20, { checkoutId: checkoutId, shippingAddress: shippingAddress }).then(handleCheckoutMutation('checkoutShippingAddressUpdate', this.graphQLClient));
+ return this.graphQLClient.send(query$22, { checkoutId: checkoutId, shippingAddress: shippingAddress }).then(handleCheckoutMutation('checkoutShippingAddressUpdate', this.graphQLClient));
}
}, {
key: 'updateShippingLines',
value: function updateShippingLines(checkoutId, shippingRateHandle) {
- return this.graphQLClient.send(query$21, { checkoutId: checkoutId, shippingRateHandle: shippingRateHandle }).then(handleCheckoutMutation('checkoutShippingLineUpdate', this.graphQLClient));
+ return this.graphQLClient.send(query$23, { checkoutId: checkoutId, shippingRateHandle: shippingRateHandle }).then(handleCheckoutMutation('checkoutShippingLineUpdate', this.graphQLClient));
}
}]);
return CheckoutResource;
@@ -5832,14 +6902,28 @@ var ImageResource = function (_Resource) {
return ImageResource;
}(Resource);
-var version = "1.6.0";
+var version = "2.0.0";
+
+var Boolean$1 = {
+ "name": "Boolean",
+ "kind": "SCALAR"
+};
+
+var String$1 = {
+ "name": "String",
+ "kind": "SCALAR"
+};
var QueryRoot = {
"name": "QueryRoot",
"kind": "OBJECT",
"fieldBaseTypes": {
+ "collectionByHandle": "Collection",
+ "collections": "CollectionConnection",
"node": "Node",
"nodes": "Node",
+ "productByHandle": "Product",
+ "products": "ProductConnection",
"shop": "Shop"
},
"implementsNode": false
@@ -5849,7 +6933,7 @@ var Node = {
"name": "Node",
"kind": "INTERFACE",
"fieldBaseTypes": {},
- "possibleTypes": ["AppliedGiftCard", "Article", "Blog", "Checkout", "CheckoutLineItem", "Collection", "Comment", "MailingAddress", "Order", "Payment", "Product", "ProductOption", "ProductVariant", "ShopPolicy"]
+ "possibleTypes": ["AppliedGiftCard", "Article", "Blog", "Checkout", "CheckoutLineItem", "Collection", "Comment", "MailingAddress", "Order", "Page", "Payment", "Product", "ProductOption", "ProductVariant", "ShopPolicy"]
};
var ID = {
@@ -5857,16 +6941,6 @@ var ID = {
"kind": "SCALAR"
};
-var String$1 = {
- "name": "String",
- "kind": "SCALAR"
-};
-
-var Boolean$1 = {
- "name": "Boolean",
- "kind": "SCALAR"
-};
-
var DateTime = {
"name": "DateTime",
"kind": "SCALAR"
@@ -5882,6 +6956,7 @@ var MailingAddress = {
"company": "String",
"country": "String",
"countryCode": "String",
+ "countryCodeV2": "CountryCode",
"firstName": "String",
"formatted": "String",
"id": "ID",
@@ -5902,6 +6977,11 @@ var Float = {
"kind": "SCALAR"
};
+var CountryCode = {
+ "name": "CountryCode",
+ "kind": "ENUM"
+};
+
var PageInfo = {
"name": "PageInfo",
"kind": "OBJECT",
@@ -5917,39 +6997,90 @@ var Int = {
"kind": "SCALAR"
};
-var Order = {
- "name": "Order",
- "kind": "OBJECT",
+var Order = {
+ "name": "Order",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "currencyCode": "CurrencyCode",
+ "customerUrl": "URL",
+ "id": "ID",
+ "lineItems": "OrderLineItemConnection",
+ "orderNumber": "Int",
+ "processedAt": "DateTime",
+ "shippingAddress": "MailingAddress",
+ "subtotalPrice": "Money",
+ "totalPrice": "Money",
+ "totalRefunded": "Money",
+ "totalShippingPrice": "Money",
+ "totalTax": "Money"
+ },
+ "implementsNode": true
+};
+
+var Money = {
+ "name": "Money",
+ "kind": "SCALAR"
+};
+
+var CurrencyCode = {
+ "name": "CurrencyCode",
+ "kind": "ENUM"
+};
+
+var URL = {
+ "name": "URL",
+ "kind": "SCALAR"
+};
+
+var DiscountAllocation = {
+ "name": "DiscountAllocation",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "allocatedAmount": "MoneyV2",
+ "discountApplication": "DiscountApplication"
+ },
+ "implementsNode": false
+};
+
+var MoneyV2 = {
+ "name": "MoneyV2",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "amount": "Decimal",
+ "currencyCode": "CurrencyCode"
+ },
+ "implementsNode": false
+};
+
+var Decimal = {
+ "name": "Decimal",
+ "kind": "SCALAR"
+};
+
+var DiscountApplication = {
+ "name": "DiscountApplication",
+ "kind": "INTERFACE",
"fieldBaseTypes": {
- "currencyCode": "CurrencyCode",
- "customerUrl": "URL",
- "id": "ID",
- "lineItems": "OrderLineItemConnection",
- "orderNumber": "Int",
- "processedAt": "DateTime",
- "shippingAddress": "MailingAddress",
- "subtotalPrice": "Money",
- "totalPrice": "Money",
- "totalRefunded": "Money",
- "totalShippingPrice": "Money",
- "totalTax": "Money"
+ "allocationMethod": "DiscountApplicationAllocationMethod",
+ "targetSelection": "DiscountApplicationTargetSelection",
+ "targetType": "DiscountApplicationTargetType"
},
- "implementsNode": true
+ "possibleTypes": ["AutomaticDiscountApplication", "DiscountCodeApplication", "ManualDiscountApplication", "ScriptDiscountApplication"]
};
-var Money = {
- "name": "Money",
- "kind": "SCALAR"
+var DiscountApplicationAllocationMethod = {
+ "name": "DiscountApplicationAllocationMethod",
+ "kind": "ENUM"
};
-var CurrencyCode = {
- "name": "CurrencyCode",
+var DiscountApplicationTargetSelection = {
+ "name": "DiscountApplicationTargetSelection",
"kind": "ENUM"
};
-var URL = {
- "name": "URL",
- "kind": "SCALAR"
+var DiscountApplicationTargetType = {
+ "name": "DiscountApplicationTargetType",
+ "kind": "ENUM"
};
var OrderLineItemConnection = {
@@ -5988,7 +7119,7 @@ var ProductVariant = {
"name": "ProductVariant",
"kind": "OBJECT",
"fieldBaseTypes": {
- "available": "Boolean",
+ "availableForSale": "Boolean",
"compareAtPrice": "Money",
"id": "ID",
"image": "Image",
@@ -6008,6 +7139,7 @@ var Image = {
"fieldBaseTypes": {
"altText": "String",
"id": "ID",
+ "originalSrc": "URL",
"src": "URL"
},
"implementsNode": false
@@ -6027,6 +7159,7 @@ var Product = {
"name": "Product",
"kind": "OBJECT",
"fieldBaseTypes": {
+ "availableForSale": "Boolean",
"createdAt": "DateTime",
"description": "String",
"descriptionHtml": "HTML",
@@ -6037,7 +7170,6 @@ var Product = {
"options": "ProductOption",
"productType": "String",
"publishedAt": "DateTime",
- "tags": "String",
"title": "String",
"updatedAt": "DateTime",
"variants": "ProductVariantConnection",
@@ -6167,20 +7299,122 @@ var Attribute = {
"implementsNode": false
};
+var DiscountApplicationConnection = {
+ "name": "DiscountApplicationConnection",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "edges": "DiscountApplicationEdge",
+ "pageInfo": "PageInfo"
+ },
+ "implementsNode": false
+};
+
+var DiscountApplicationEdge = {
+ "name": "DiscountApplicationEdge",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "node": "DiscountApplication"
+ },
+ "implementsNode": false
+};
+
+var Checkout = {
+ "name": "Checkout",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "availableShippingRates": "AvailableShippingRates",
+ "completedAt": "DateTime",
+ "createdAt": "DateTime",
+ "currencyCode": "CurrencyCode",
+ "customAttributes": "Attribute",
+ "discountApplications": "DiscountApplicationConnection",
+ "email": "String",
+ "id": "ID",
+ "lineItems": "CheckoutLineItemConnection",
+ "note": "String",
+ "order": "Order",
+ "orderStatusUrl": "URL",
+ "paymentDue": "Money",
+ "ready": "Boolean",
+ "requiresShipping": "Boolean",
+ "shippingAddress": "MailingAddress",
+ "shippingLine": "ShippingRate",
+ "subtotalPrice": "Money",
+ "taxExempt": "Boolean",
+ "taxesIncluded": "Boolean",
+ "totalPrice": "Money",
+ "totalTax": "Money",
+ "updatedAt": "DateTime",
+ "webUrl": "URL"
+ },
+ "implementsNode": true
+};
+
+var CheckoutLineItemConnection = {
+ "name": "CheckoutLineItemConnection",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "edges": "CheckoutLineItemEdge",
+ "pageInfo": "PageInfo"
+ },
+ "implementsNode": false
+};
+
+var CheckoutLineItemEdge = {
+ "name": "CheckoutLineItemEdge",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "cursor": "String",
+ "node": "CheckoutLineItem"
+ },
+ "implementsNode": false
+};
+
+var CheckoutLineItem = {
+ "name": "CheckoutLineItem",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "customAttributes": "Attribute",
+ "discountAllocations": "DiscountAllocation",
+ "id": "ID",
+ "quantity": "Int",
+ "title": "String",
+ "variant": "ProductVariant"
+ },
+ "implementsNode": true
+};
+
+var ShippingRate = {
+ "name": "ShippingRate",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "handle": "String",
+ "price": "Money",
+ "title": "String"
+ },
+ "implementsNode": false
+};
+
+var AvailableShippingRates = {
+ "name": "AvailableShippingRates",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "ready": "Boolean",
+ "shippingRates": "ShippingRate"
+ },
+ "implementsNode": false
+};
+
var Shop = {
"name": "Shop",
"kind": "OBJECT",
"fieldBaseTypes": {
- "collectionByHandle": "Collection",
- "collections": "CollectionConnection",
"currencyCode": "CurrencyCode",
"description": "String",
"moneyFormat": "String",
"name": "String",
"primaryDomain": "Domain",
"privacyPolicy": "ShopPolicy",
- "productByHandle": "Product",
- "products": "ProductConnection",
"refundPolicy": "ShopPolicy",
"termsOfService": "ShopPolicy"
},
@@ -6214,12 +7448,14 @@ var Mutation$1 = {
"name": "Mutation",
"kind": "OBJECT",
"fieldBaseTypes": {
- "checkoutAttributesUpdate": "CheckoutAttributesUpdatePayload",
+ "checkoutAttributesUpdateV2": "CheckoutAttributesUpdateV2Payload",
"checkoutCreate": "CheckoutCreatePayload",
+ "checkoutDiscountCodeApplyV2": "CheckoutDiscountCodeApplyV2Payload",
+ "checkoutDiscountCodeRemove": "CheckoutDiscountCodeRemovePayload",
+ "checkoutEmailUpdateV2": "CheckoutEmailUpdateV2Payload",
"checkoutLineItemsAdd": "CheckoutLineItemsAddPayload",
- "checkoutDiscountCodeApply": "CheckoutLineItemsAddPayload",
- "checkoutDiscountCodeRemove": "CheckoutLineItemsAddPayload",
"checkoutLineItemsRemove": "CheckoutLineItemsRemovePayload",
+ "checkoutLineItemsReplace": "CheckoutLineItemsReplacePayload",
"checkoutLineItemsUpdate": "CheckoutLineItemsUpdatePayload",
"checkoutShippingAddressUpdate": "CheckoutShippingAddressUpdatePayload",
"checkoutShippingLineUpdate": "CheckoutShippingLineUpdatePayload"
@@ -6227,6 +7463,7 @@ var Mutation$1 = {
"implementsNode": false,
"relayInputObjectBaseTypes": {
"checkoutAttributesUpdate": "CheckoutAttributesUpdateInput",
+ "checkoutAttributesUpdateV2": "CheckoutAttributesUpdateV2Input",
"checkoutCreate": "CheckoutCreateInput",
"customerAccessTokenCreate": "CustomerAccessTokenCreateInput",
"customerActivate": "CustomerActivateInput",
@@ -6235,16 +7472,6 @@ var Mutation$1 = {
}
};
-var CheckoutAttributesUpdatePayload = {
- "name": "CheckoutAttributesUpdatePayload",
- "kind": "OBJECT",
- "fieldBaseTypes": {
- "checkout": "Checkout",
- "userErrors": "UserError"
- },
- "implementsNode": false
-};
-
var UserError = {
"name": "UserError",
"kind": "OBJECT",
@@ -6255,95 +7482,82 @@ var UserError = {
"implementsNode": false
};
-var Checkout = {
- "name": "Checkout",
+var CheckoutShippingAddressUpdatePayload = {
+ "name": "CheckoutShippingAddressUpdatePayload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "availableShippingRates": "AvailableShippingRates",
- "completedAt": "DateTime",
- "createdAt": "DateTime",
- "currencyCode": "CurrencyCode",
- "customAttributes": "Attribute",
- "id": "ID",
- "lineItems": "CheckoutLineItemConnection",
- "note": "String",
- "order": "Order",
- "orderStatusUrl": "URL",
- "paymentDue": "Money",
- "ready": "Boolean",
- "requiresShipping": "Boolean",
- "shippingAddress": "MailingAddress",
- "shippingLine": "ShippingRate",
- "subtotalPrice": "Money",
- "taxExempt": "Boolean",
- "taxesIncluded": "Boolean",
- "totalPrice": "Money",
- "totalTax": "Money",
- "updatedAt": "DateTime",
- "webUrl": "URL"
+ "checkout": "Checkout",
+ "userErrors": "UserError"
},
- "implementsNode": true
+ "implementsNode": false
};
-var CheckoutLineItemConnection = {
- "name": "CheckoutLineItemConnection",
+var CheckoutAttributesUpdateV2Payload = {
+ "name": "CheckoutAttributesUpdateV2Payload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "edges": "CheckoutLineItemEdge",
- "pageInfo": "PageInfo"
+ "checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
+ "userErrors": "UserError"
},
"implementsNode": false
};
-var CheckoutLineItemEdge = {
- "name": "CheckoutLineItemEdge",
+var CheckoutUserError = {
+ "name": "CheckoutUserError",
"kind": "OBJECT",
"fieldBaseTypes": {
- "cursor": "String",
- "node": "CheckoutLineItem"
+ "code": "CheckoutErrorCode",
+ "field": "String",
+ "message": "String"
},
"implementsNode": false
};
-var CheckoutLineItem = {
- "name": "CheckoutLineItem",
+var CheckoutErrorCode = {
+ "name": "CheckoutErrorCode",
+ "kind": "ENUM"
+};
+
+var CheckoutDiscountCodeApplyV2Payload = {
+ "name": "CheckoutDiscountCodeApplyV2Payload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "customAttributes": "Attribute",
- "id": "ID",
- "quantity": "Int",
- "title": "String",
- "variant": "ProductVariant"
+ "checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
+ "userErrors": "UserError"
},
- "implementsNode": true
+ "implementsNode": false
};
-var ShippingRate = {
- "name": "ShippingRate",
+var CheckoutCreatePayload = {
+ "name": "CheckoutCreatePayload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "handle": "String",
- "price": "Money",
- "title": "String"
+ "checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
+ "userErrors": "UserError"
},
"implementsNode": false
};
-var AvailableShippingRates = {
- "name": "AvailableShippingRates",
+var CheckoutEmailUpdateV2Payload = {
+ "name": "CheckoutEmailUpdateV2Payload",
"kind": "OBJECT",
"fieldBaseTypes": {
- "ready": "Boolean",
- "shippingRates": "ShippingRate"
+ "checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
+ "userErrors": "UserError"
},
"implementsNode": false
};
-var CheckoutCreatePayload = {
- "name": "CheckoutCreatePayload",
+var CheckoutDiscountCodeRemovePayload = {
+ "name": "CheckoutDiscountCodeRemovePayload",
"kind": "OBJECT",
"fieldBaseTypes": {
"checkout": "Checkout",
+ "checkoutUserErrors": "CheckoutUserError",
"userErrors": "UserError"
},
"implementsNode": false
@@ -6379,12 +7593,12 @@ var CheckoutLineItemsUpdatePayload = {
"implementsNode": false
};
-var CheckoutShippingAddressUpdatePayload = {
- "name": "CheckoutShippingAddressUpdatePayload",
+var CheckoutLineItemsReplacePayload = {
+ "name": "CheckoutLineItemsReplacePayload",
"kind": "OBJECT",
"fieldBaseTypes": {
"checkout": "Checkout",
- "userErrors": "UserError"
+ "userErrors": "CheckoutUserError"
},
"implementsNode": false
};
@@ -6399,23 +7613,69 @@ var CheckoutShippingLineUpdatePayload = {
"implementsNode": false
};
+var DiscountCodeApplication = {
+ "name": "DiscountCodeApplication",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "applicable": "Boolean",
+ "code": "String"
+ },
+ "implementsNode": false
+};
+
+var ManualDiscountApplication = {
+ "name": "ManualDiscountApplication",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "description": "String",
+ "title": "String"
+ },
+ "implementsNode": false
+};
+
+var ScriptDiscountApplication = {
+ "name": "ScriptDiscountApplication",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "description": "String"
+ },
+ "implementsNode": false
+};
+
+var AutomaticDiscountApplication = {
+ "name": "AutomaticDiscountApplication",
+ "kind": "OBJECT",
+ "fieldBaseTypes": {
+ "title": "String"
+ },
+ "implementsNode": false
+};
+
var Types = {
types: {}
};
+Types.types["Boolean"] = Boolean$1;
+Types.types["String"] = String$1;
Types.types["QueryRoot"] = QueryRoot;
Types.types["Node"] = Node;
Types.types["ID"] = ID;
-Types.types["String"] = String$1;
-Types.types["Boolean"] = Boolean$1;
Types.types["DateTime"] = DateTime;
Types.types["MailingAddress"] = MailingAddress;
Types.types["Float"] = Float;
+Types.types["CountryCode"] = CountryCode;
Types.types["PageInfo"] = PageInfo;
Types.types["Int"] = Int;
Types.types["Order"] = Order;
Types.types["Money"] = Money;
Types.types["CurrencyCode"] = CurrencyCode;
Types.types["URL"] = URL;
+Types.types["DiscountAllocation"] = DiscountAllocation;
+Types.types["MoneyV2"] = MoneyV2;
+Types.types["Decimal"] = Decimal;
+Types.types["DiscountApplication"] = DiscountApplication;
+Types.types["DiscountApplicationAllocationMethod"] = DiscountApplicationAllocationMethod;
+Types.types["DiscountApplicationTargetSelection"] = DiscountApplicationTargetSelection;
+Types.types["DiscountApplicationTargetType"] = DiscountApplicationTargetType;
Types.types["OrderLineItemConnection"] = OrderLineItemConnection;
Types.types["OrderLineItemEdge"] = OrderLineItemEdge;
Types.types["OrderLineItem"] = OrderLineItem;
@@ -6435,24 +7695,36 @@ Types.types["ProductOption"] = ProductOption;
Types.types["ProductVariantConnection"] = ProductVariantConnection;
Types.types["ProductVariantEdge"] = ProductVariantEdge;
Types.types["Attribute"] = Attribute;
-Types.types["Shop"] = Shop;
-Types.types["Domain"] = Domain;
-Types.types["ShopPolicy"] = ShopPolicy;
-Types.types["Mutation"] = Mutation$1;
-Types.types["CheckoutAttributesUpdatePayload"] = CheckoutAttributesUpdatePayload;
-Types.types["UserError"] = UserError;
+Types.types["DiscountApplicationConnection"] = DiscountApplicationConnection;
+Types.types["DiscountApplicationEdge"] = DiscountApplicationEdge;
Types.types["Checkout"] = Checkout;
Types.types["CheckoutLineItemConnection"] = CheckoutLineItemConnection;
Types.types["CheckoutLineItemEdge"] = CheckoutLineItemEdge;
Types.types["CheckoutLineItem"] = CheckoutLineItem;
Types.types["ShippingRate"] = ShippingRate;
Types.types["AvailableShippingRates"] = AvailableShippingRates;
+Types.types["Shop"] = Shop;
+Types.types["Domain"] = Domain;
+Types.types["ShopPolicy"] = ShopPolicy;
+Types.types["Mutation"] = Mutation$1;
+Types.types["UserError"] = UserError;
+Types.types["CheckoutShippingAddressUpdatePayload"] = CheckoutShippingAddressUpdatePayload;
+Types.types["CheckoutAttributesUpdateV2Payload"] = CheckoutAttributesUpdateV2Payload;
+Types.types["CheckoutUserError"] = CheckoutUserError;
+Types.types["CheckoutErrorCode"] = CheckoutErrorCode;
+Types.types["CheckoutDiscountCodeApplyV2Payload"] = CheckoutDiscountCodeApplyV2Payload;
Types.types["CheckoutCreatePayload"] = CheckoutCreatePayload;
+Types.types["CheckoutEmailUpdateV2Payload"] = CheckoutEmailUpdateV2Payload;
+Types.types["CheckoutDiscountCodeRemovePayload"] = CheckoutDiscountCodeRemovePayload;
Types.types["CheckoutLineItemsAddPayload"] = CheckoutLineItemsAddPayload;
Types.types["CheckoutLineItemsRemovePayload"] = CheckoutLineItemsRemovePayload;
Types.types["CheckoutLineItemsUpdatePayload"] = CheckoutLineItemsUpdatePayload;
-Types.types["CheckoutShippingAddressUpdatePayload"] = CheckoutShippingAddressUpdatePayload;
+Types.types["CheckoutLineItemsReplacePayload"] = CheckoutLineItemsReplacePayload;
Types.types["CheckoutShippingLineUpdatePayload"] = CheckoutShippingLineUpdatePayload;
+Types.types["DiscountCodeApplication"] = DiscountCodeApplication;
+Types.types["ManualDiscountApplication"] = ManualDiscountApplication;
+Types.types["ScriptDiscountApplication"] = ScriptDiscountApplication;
+Types.types["AutomaticDiscountApplication"] = AutomaticDiscountApplication;
Types.queryType = "QueryRoot";
Types.mutationType = "Mutation";
Types.subscriptionType = null;
diff --git a/index.umd.js.map b/index.umd.js.map
index 5c67c5856..4ef7837e5 100644
--- a/index.umd.js.map
+++ b/index.umd.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.umd.js","sources":["node_modules/graphql-js-client/index.es.js","src/config.js","src/resource.js","src/default-resolver.js","src/fetch-resources-for-products.js","src/paginators.js","src/product-helpers.js","src/product-resource.js","src/collection-resource.js","src/shop-resource.js","src/handle-checkout-mutation.js","src/checkout-resource.js","src/image-helpers.js","src/image-resource.js","src/client.js"],"sourcesContent":["/*\nThe MIT License (MIT)\nCopyright (c) 2016 Shopify Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE\nOR OTHER DEALINGS IN THE SOFTWARE.\n\n\n*/\nfunction join() {\n for (var _len = arguments.length, fields = Array(_len), _key = 0; _key < _len; _key++) {\n fields[_key] = arguments[_key];\n }\n\n return fields.join(' ');\n}\n\nfunction isObject(value) {\n return Boolean(value) && Object.prototype.toString.call(value.valueOf()) === '[object Object]';\n}\n\nfunction deepFreezeCopyExcept(predicate, structure) {\n if (predicate(structure)) {\n return structure;\n } else if (isObject(structure)) {\n return Object.freeze(Object.keys(structure).reduce(function (copy, key) {\n copy[key] = deepFreezeCopyExcept(predicate, structure[key]);\n\n return copy;\n }, {}));\n } else if (Array.isArray(structure)) {\n return Object.freeze(structure.map(function (item) {\n return deepFreezeCopyExcept(predicate, item);\n }));\n } else {\n return structure;\n }\n}\n\nfunction schemaForType(typeBundle, typeName) {\n var type = typeBundle.types[typeName];\n\n if (type) {\n return type;\n }\n\n throw new Error(\"No type of \" + typeName + \" found in schema\");\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n\n\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nvar VariableDefinition = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#variable} to create a VariableDefinition.\n *\n * @param {String} name The name of the variable.\n * @param {String} type The GraphQL type of the variable.\n * @param {*} [defaultValue] The default value of the variable.\n */\n function VariableDefinition(name, type, defaultValue) {\n classCallCheck(this, VariableDefinition);\n\n this.name = name;\n this.type = type;\n this.defaultValue = defaultValue;\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the variable as an input value (e.g. `$variableName`).\n *\n * @return {String} The GraphQL query string for the variable as an input value.\n */\n\n\n createClass(VariableDefinition, [{\n key: 'toInputValueString',\n value: function toInputValueString() {\n return '$' + this.name;\n }\n\n /**\n * Returns the GraphQL query string for the variable (e.g. `$variableName:VariableType = defaultValue`).\n *\n * @return {String} The GraphQL query string for the variable.\n */\n\n }, {\n key: 'toString',\n value: function toString() {\n var defaultValueString = this.defaultValue ? ' = ' + formatInputValue(this.defaultValue) : '';\n\n return '$' + this.name + ':' + this.type + defaultValueString;\n }\n }]);\n return VariableDefinition;\n}();\n\nfunction isVariable(value) {\n return VariableDefinition.prototype.isPrototypeOf(value);\n}\n\nfunction variable(name, type, defaultValue) {\n return new VariableDefinition(name, type, defaultValue);\n}\n\nvar Enum = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#enum} to create an Enum.\n *\n * @param {String} key The key of the enum.\n */\n function Enum(key) {\n classCallCheck(this, Enum);\n\n this.key = key;\n }\n\n /**\n * Returns the GraphQL query string for the enum (e.g. `enumKey`).\n *\n * @return {String} The GraphQL query string for the enum.\n */\n\n\n createClass(Enum, [{\n key: \"toString\",\n value: function toString() {\n return this.key;\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n return this.key.valueOf();\n }\n }]);\n return Enum;\n}();\n\nvar enumFunction = (function (key) {\n return new Enum(key);\n});\n\nvar Scalar = function () {\n function Scalar(value) {\n classCallCheck(this, Scalar);\n\n this.value = value;\n }\n\n createClass(Scalar, [{\n key: \"toString\",\n value: function toString() {\n return this.value.toString();\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n return this.value.valueOf();\n }\n }, {\n key: \"unwrapped\",\n get: function get$$1() {\n return this.value;\n }\n }]);\n return Scalar;\n}();\n\nfunction formatInputValue(value) {\n if (VariableDefinition.prototype.isPrototypeOf(value)) {\n return value.toInputValueString();\n } else if (Enum.prototype.isPrototypeOf(value)) {\n return String(value);\n } else if (Scalar.prototype.isPrototypeOf(value)) {\n return JSON.stringify(value.valueOf());\n } else if (Array.isArray(value)) {\n return '[' + join.apply(undefined, toConsumableArray(value.map(formatInputValue))) + ']';\n } else if (isObject(value)) {\n return formatObject(value, '{', '}');\n } else {\n return JSON.stringify(value);\n }\n}\n\nfunction formatObject(value) {\n var openChar = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var closeChar = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n\n var argPairs = Object.keys(value).map(function (key) {\n return key + ': ' + formatInputValue(value[key]);\n });\n\n return '' + openChar + join.apply(undefined, toConsumableArray(argPairs)) + closeChar;\n}\n\nfunction formatArgs(args) {\n if (!Object.keys(args).length) {\n return '';\n }\n\n return ' (' + formatObject(args) + ')';\n}\n\n// eslint-disable-next-line no-empty-function\nvar noop = (function () {});\n\nvar Profiler = {\n trackTypeDependency: noop,\n trackFieldDependency: noop\n};\n\nvar trackTypeDependency = Profiler.trackTypeDependency;\nvar trackFieldDependency = Profiler.trackFieldDependency;\n\n\nfunction parseFieldCreationArgs(creationArgs) {\n var callback = noop;\n var options = {};\n var selectionSet = null;\n\n if (creationArgs.length === 2) {\n if (typeof creationArgs[1] === 'function') {\n var _creationArgs = slicedToArray(creationArgs, 2);\n\n options = _creationArgs[0];\n callback = _creationArgs[1];\n } else {\n var _creationArgs2 = slicedToArray(creationArgs, 2);\n\n options = _creationArgs2[0];\n selectionSet = _creationArgs2[1];\n }\n } else if (creationArgs.length === 1) {\n // SelectionSet is defined before this function is called since it's\n // called by SelectionSet\n // eslint-disable-next-line no-use-before-define\n if (SelectionSet.prototype.isPrototypeOf(creationArgs[0])) {\n selectionSet = creationArgs[0];\n } else if (typeof creationArgs[0] === 'function') {\n callback = creationArgs[0];\n } else {\n options = creationArgs[0];\n }\n }\n\n return { options: options, selectionSet: selectionSet, callback: callback };\n}\n\nvar emptyArgs = Object.freeze({});\n\nvar Field = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Fields are added to a selection by {@link SelectionSetBuilder#add}, {@link SelectionSetBuilder#addConnection}\n * and {@link SelectionSetBuilder#addInlineFragmentOn}.\n *\n * @param {String} name The name of the field.\n * @param {Object} [options] An options object containing:\n * @param {Object} [options.args] Arguments for the field.\n * @param {String} [options.alias] An alias for the field.\n * @param {SelectionSet} selectionSet The selection set on the field.\n */\n function Field(name, options, selectionSet) {\n classCallCheck(this, Field);\n\n this.name = name;\n this.alias = options.alias || null;\n this.responseKey = this.alias || this.name;\n this.args = options.args ? deepFreezeCopyExcept(isVariable, options.args) : emptyArgs;\n this.selectionSet = selectionSet;\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the Field (e.g. `catAlias: cat(size: 'small') { name }` or `name`).\n *\n * @return {String} The GraphQL query string for the Field.\n */\n\n\n createClass(Field, [{\n key: 'toString',\n value: function toString() {\n var aliasPrefix = this.alias ? this.alias + ': ' : '';\n\n return '' + aliasPrefix + this.name + formatArgs(this.args) + this.selectionSet;\n }\n }]);\n return Field;\n}();\n\n// This is an interface that defines a usage, and simplifies type checking\nvar Spread = function Spread() {\n classCallCheck(this, Spread);\n};\n\nvar InlineFragment = function (_Spread) {\n inherits(InlineFragment, _Spread);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link SelectionSetBuilder#addInlineFragmentOn} to create an InlineFragment.\n *\n * @param {String} typeName The type of the fragment.\n * @param {SelectionSet} selectionSet The selection set on the fragment.\n */\n function InlineFragment(typeName, selectionSet) {\n classCallCheck(this, InlineFragment);\n\n var _this = possibleConstructorReturn(this, (InlineFragment.__proto__ || Object.getPrototypeOf(InlineFragment)).call(this));\n\n _this.typeName = typeName;\n _this.selectionSet = selectionSet;\n Object.freeze(_this);\n return _this;\n }\n\n /**\n * Returns the GraphQL query string for the InlineFragment (e.g. `... on Cat { name }`).\n *\n * @return {String} The GraphQL query string for the InlineFragment.\n */\n\n\n createClass(InlineFragment, [{\n key: 'toString',\n value: function toString() {\n return '... on ' + this.typeName + this.selectionSet;\n }\n }]);\n return InlineFragment;\n}(Spread);\n\nvar FragmentSpread = function (_Spread2) {\n inherits(FragmentSpread, _Spread2);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Document#defineFragment} to create a FragmentSpread.\n *\n * @param {FragmentDefinition} fragmentDefinition The corresponding fragment definition.\n */\n function FragmentSpread(fragmentDefinition) {\n classCallCheck(this, FragmentSpread);\n\n var _this2 = possibleConstructorReturn(this, (FragmentSpread.__proto__ || Object.getPrototypeOf(FragmentSpread)).call(this));\n\n _this2.name = fragmentDefinition.name;\n _this2.selectionSet = fragmentDefinition.selectionSet;\n Object.freeze(_this2);\n return _this2;\n }\n\n /**\n * Returns the GraphQL query string for the FragmentSpread (e.g. `...catName`).\n *\n * @return {String} The GraphQL query string for the FragmentSpread.\n */\n\n\n createClass(FragmentSpread, [{\n key: 'toString',\n value: function toString() {\n return '...' + this.name;\n }\n }, {\n key: 'toDefinition',\n value: function toDefinition() {\n // eslint-disable-next-line no-use-before-define\n return new FragmentDefinition(this.name, this.selectionSet.typeSchema.name, this.selectionSet);\n }\n }]);\n return FragmentSpread;\n}(Spread);\n\nvar FragmentDefinition = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Document#defineFragment} to create a FragmentDefinition on a {@link Document}.\n *\n * @param {String} name The name of the fragment definition.\n * @param {String} typeName The type of the fragment.\n */\n function FragmentDefinition(name, typeName, selectionSet) {\n classCallCheck(this, FragmentDefinition);\n\n this.name = name;\n this.typeName = typeName;\n this.selectionSet = selectionSet;\n this.spread = new FragmentSpread(this);\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the FragmentDefinition (e.g. `fragment catName on Cat { name }`).\n *\n * @return {String} The GraphQL query string for the FragmentDefinition.\n */\n\n\n createClass(FragmentDefinition, [{\n key: 'toString',\n value: function toString() {\n return 'fragment ' + this.name + ' on ' + this.typeName + ' ' + this.selectionSet;\n }\n }]);\n return FragmentDefinition;\n}();\n\nfunction selectionsHaveIdField(selections) {\n return selections.some(function (fieldOrFragment) {\n if (Field.prototype.isPrototypeOf(fieldOrFragment)) {\n return fieldOrFragment.name === 'id';\n } else if (Spread.prototype.isPrototypeOf(fieldOrFragment) && fieldOrFragment.selectionSet.typeSchema.implementsNode) {\n return selectionsHaveIdField(fieldOrFragment.selectionSet.selections);\n }\n\n return false;\n });\n}\n\nfunction selectionsHaveTypenameField(selections) {\n return selections.some(function (fieldOrFragment) {\n if (Field.prototype.isPrototypeOf(fieldOrFragment)) {\n return fieldOrFragment.name === '__typename';\n } else if (Spread.prototype.isPrototypeOf(fieldOrFragment) && fieldOrFragment.selectionSet.typeSchema.implementsNode) {\n return selectionsHaveTypenameField(fieldOrFragment.selectionSet.selections);\n }\n\n return false;\n });\n}\n\nfunction indexSelectionsByResponseKey(selections) {\n function assignOrPush(obj, key, value) {\n if (Array.isArray(obj[key])) {\n obj[key].push(value);\n } else {\n obj[key] = [value];\n }\n }\n var unfrozenObject = selections.reduce(function (acc, selection) {\n if (selection.responseKey) {\n assignOrPush(acc, selection.responseKey, selection);\n } else {\n var responseKeys = Object.keys(selection.selectionSet.selectionsByResponseKey);\n\n responseKeys.forEach(function (responseKey) {\n assignOrPush(acc, responseKey, selection);\n });\n }\n\n return acc;\n }, {});\n\n Object.keys(unfrozenObject).forEach(function (key) {\n Object.freeze(unfrozenObject[key]);\n });\n\n return Object.freeze(unfrozenObject);\n}\n\n/**\n * Class that specifies the full selection of data to query.\n */\n\nvar SelectionSet = function () {\n\n /**\n * This constructor should not be invoked directly. SelectionSets are created when building queries/mutations.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {(Object|String)} type The type of the current selection.\n * @param {Function} builderFunction Callback function used to build the SelectionSet.\n * The callback takes a {@link SelectionSetBuilder} as its argument.\n */\n function SelectionSet(typeBundle, type, builderFunction) {\n classCallCheck(this, SelectionSet);\n\n\n if (typeof type === 'string') {\n this.typeSchema = schemaForType(typeBundle, type);\n } else {\n this.typeSchema = type;\n }\n\n trackTypeDependency(this.typeSchema.name);\n\n this.typeBundle = typeBundle;\n this.selections = [];\n if (builderFunction) {\n // eslint-disable-next-line no-use-before-define\n builderFunction(new SelectionSetBuilder(this.typeBundle, this.typeSchema, this.selections));\n }\n\n if (this.typeSchema.implementsNode || this.typeSchema.name === 'Node') {\n if (!selectionsHaveIdField(this.selections)) {\n this.selections.unshift(new Field('id', {}, new SelectionSet(typeBundle, 'ID')));\n }\n }\n\n if (this.typeSchema.kind === 'INTERFACE') {\n if (!selectionsHaveTypenameField(this.selections)) {\n this.selections.unshift(new Field('__typename', {}, new SelectionSet(typeBundle, 'String')));\n }\n }\n\n this.selectionsByResponseKey = indexSelectionsByResponseKey(this.selections);\n Object.freeze(this.selections);\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the SelectionSet (e.g. `{ cat { name } }`).\n *\n * @return {String} The GraphQL query string for the SelectionSet.\n */\n\n\n createClass(SelectionSet, [{\n key: 'toString',\n value: function toString() {\n if (this.typeSchema.kind === 'SCALAR' || this.typeSchema.kind === 'ENUM') {\n return '';\n } else {\n return ' { ' + join(this.selections) + ' }';\n }\n }\n }]);\n return SelectionSet;\n}();\n\nvar SelectionSetBuilder = function () {\n\n /**\n * This constructor should not be invoked directly. SelectionSetBuilders are created when building queries/mutations.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {Object} typeSchema The schema object for the type of the current selection.\n * @param {Field[]} selections The fields on the current selection.\n */\n function SelectionSetBuilder(typeBundle, typeSchema, selections) {\n classCallCheck(this, SelectionSetBuilder);\n\n this.typeBundle = typeBundle;\n this.typeSchema = typeSchema;\n this.selections = selections;\n }\n\n createClass(SelectionSetBuilder, [{\n key: 'hasSelectionWithResponseKey',\n value: function hasSelectionWithResponseKey(responseKey) {\n return this.selections.some(function (field) {\n return field.responseKey === responseKey;\n });\n }\n\n /**\n * Adds a field to be queried on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.add('cat', {args: {id: '123456'}, alias: 'meow'}, (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {SelectionSet|String} selectionOrFieldName The selection or name of the field to add.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{id: '123456'}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'add',\n value: function add(selectionOrFieldName) {\n var selection = void 0;\n\n if (Object.prototype.toString.call(selectionOrFieldName) === '[object String]') {\n trackFieldDependency(this.typeSchema.name, selectionOrFieldName);\n\n for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n selection = this.field.apply(this, [selectionOrFieldName].concat(rest));\n } else {\n if (Field.prototype.isPrototypeOf(selectionOrFieldName)) {\n trackFieldDependency(this.typeSchema.name, selectionOrFieldName.name);\n }\n\n selection = selectionOrFieldName;\n }\n\n if (selection.responseKey && this.hasSelectionWithResponseKey(selection.responseKey)) {\n throw new Error('The field name or alias \\'' + selection.responseKey + '\\' has already been added.');\n }\n this.selections.push(selection);\n }\n }, {\n key: 'field',\n value: function field(name) {\n for (var _len2 = arguments.length, creationArgs = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n creationArgs[_key2 - 1] = arguments[_key2];\n }\n\n var parsedArgs = parseFieldCreationArgs(creationArgs);\n var options = parsedArgs.options,\n callback = parsedArgs.callback;\n var selectionSet = parsedArgs.selectionSet;\n\n\n if (!selectionSet) {\n if (!this.typeSchema.fieldBaseTypes[name]) {\n throw new Error('No field of name \"' + name + '\" found on type \"' + this.typeSchema.name + '\" in schema');\n }\n\n var fieldBaseType = schemaForType(this.typeBundle, this.typeSchema.fieldBaseTypes[name]);\n\n selectionSet = new SelectionSet(this.typeBundle, fieldBaseType, callback);\n }\n\n return new Field(name, options, selectionSet);\n }\n\n /**\n * Creates an inline fragment.\n *\n * @access private\n * @param {String} typeName The type the inline fragment.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n * @return {InlineFragment} An inline fragment.\n */\n\n }, {\n key: 'inlineFragmentOn',\n value: function inlineFragmentOn(typeName) {\n var builderFunctionOrSelectionSet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var selectionSet = void 0;\n\n if (SelectionSet.prototype.isPrototypeOf(builderFunctionOrSelectionSet)) {\n selectionSet = builderFunctionOrSelectionSet;\n } else {\n selectionSet = new SelectionSet(this.typeBundle, schemaForType(this.typeBundle, typeName), builderFunctionOrSelectionSet);\n }\n\n return new InlineFragment(typeName, selectionSet);\n }\n\n /**\n * Adds a field to be queried on the current selection.\n *\n * @access private\n * @param {String} name The name of the field to add to the query.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{id: '123456'}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function} [callback] Callback which will be used to create a new {@link SelectionSet} for the field added.\n */\n\n }, {\n key: 'addField',\n value: function addField(name) {\n for (var _len3 = arguments.length, creationArgs = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n creationArgs[_key3 - 1] = arguments[_key3];\n }\n\n this.add.apply(this, [name].concat(creationArgs));\n }\n\n /**\n * Adds a connection to be queried on the current selection.\n * This adds all the fields necessary for pagination.\n *\n * @example\n * client.query((root) => {\n * root.add('cat', (cat) => {\n * cat.addConnection('friends', {args: {first: 10}, alias: 'coolCats'}, (friends) => {\n * friends.add('name');\n * });\n * });\n * });\n *\n * @param {String} name The name of the connection to add to the query.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{first: 10}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'addConnection',\n value: function addConnection(name) {\n for (var _len4 = arguments.length, creationArgs = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n creationArgs[_key4 - 1] = arguments[_key4];\n }\n\n var _parseFieldCreationAr = parseFieldCreationArgs(creationArgs),\n options = _parseFieldCreationAr.options,\n callback = _parseFieldCreationAr.callback,\n selectionSet = _parseFieldCreationAr.selectionSet;\n\n this.add(name, options, function (connection) {\n connection.add('pageInfo', {}, function (pageInfo) {\n pageInfo.add('hasNextPage');\n pageInfo.add('hasPreviousPage');\n });\n connection.add('edges', {}, function (edges) {\n edges.add('cursor');\n edges.addField('node', {}, selectionSet || callback); // This is bad. Don't do this\n });\n });\n }\n\n /**\n * Adds an inline fragment on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.add('animal', (animal) => {\n * animal.addInlineFragmentOn('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {String} typeName The name of the type of the inline fragment.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'addInlineFragmentOn',\n value: function addInlineFragmentOn(typeName) {\n var fieldTypeCb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n this.add(this.inlineFragmentOn(typeName, fieldTypeCb));\n }\n\n /**\n * Adds a fragment spread on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.addFragment(catFragmentSpread);\n * });\n *\n * @param {FragmentSpread} fragmentSpread The fragment spread to add.\n */\n\n }, {\n key: 'addFragment',\n value: function addFragment(fragmentSpread) {\n this.add(fragmentSpread);\n }\n }]);\n return SelectionSetBuilder;\n}();\n\nfunction parseArgs(args) {\n var name = void 0;\n var variables = void 0;\n var selectionSetCallback = void 0;\n\n if (args.length === 3) {\n var _args = slicedToArray(args, 3);\n\n name = _args[0];\n variables = _args[1];\n selectionSetCallback = _args[2];\n } else if (args.length === 2) {\n if (Object.prototype.toString.call(args[0]) === '[object String]') {\n name = args[0];\n variables = null;\n } else if (Array.isArray(args[0])) {\n variables = args[0];\n name = null;\n }\n\n selectionSetCallback = args[1];\n } else {\n selectionSetCallback = args[0];\n name = null;\n }\n\n return { name: name, variables: variables, selectionSetCallback: selectionSetCallback };\n}\n\nvar VariableDefinitions = function () {\n function VariableDefinitions(variableDefinitions) {\n classCallCheck(this, VariableDefinitions);\n\n this.variableDefinitions = variableDefinitions ? [].concat(toConsumableArray(variableDefinitions)) : [];\n Object.freeze(this.variableDefinitions);\n Object.freeze(this);\n }\n\n createClass(VariableDefinitions, [{\n key: 'toString',\n value: function toString() {\n if (this.variableDefinitions.length === 0) {\n return '';\n }\n\n return ' (' + join(this.variableDefinitions) + ') ';\n }\n }]);\n return VariableDefinitions;\n}();\n\n/**\n * Base class for {@link Query} and {@link Mutation}.\n * @abstract\n */\n\n\nvar Operation = function () {\n\n /**\n * This constructor should not be invoked. The subclasses {@link Query} and {@link Mutation} should be used instead.\n */\n function Operation(typeBundle, operationType) {\n classCallCheck(this, Operation);\n\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var _parseArgs = parseArgs(args),\n name = _parseArgs.name,\n variables = _parseArgs.variables,\n selectionSetCallback = _parseArgs.selectionSetCallback;\n\n this.typeBundle = typeBundle;\n this.name = name;\n this.variableDefinitions = new VariableDefinitions(variables);\n this.operationType = operationType;\n if (operationType === 'query') {\n this.selectionSet = new SelectionSet(typeBundle, typeBundle.queryType, selectionSetCallback);\n this.typeSchema = schemaForType(typeBundle, typeBundle.queryType);\n } else {\n this.selectionSet = new SelectionSet(typeBundle, typeBundle.mutationType, selectionSetCallback);\n this.typeSchema = schemaForType(typeBundle, typeBundle.mutationType);\n }\n Object.freeze(this);\n }\n\n /**\n * Whether the operation is anonymous (i.e. has no name).\n */\n\n\n createClass(Operation, [{\n key: 'toString',\n\n\n /**\n * Returns the GraphQL query or mutation string (e.g. `query myQuery { cat { name } }`).\n *\n * @return {String} The GraphQL query or mutation string.\n */\n value: function toString() {\n var nameString = this.name ? ' ' + this.name : '';\n\n return '' + this.operationType + nameString + this.variableDefinitions + this.selectionSet;\n }\n }, {\n key: 'isAnonymous',\n get: function get$$1() {\n return !this.name;\n }\n }]);\n return Operation;\n}();\n\n/**\n * GraphQL Query class.\n * @extends Operation\n */\n\nvar Query = function (_Operation) {\n inherits(Query, _Operation);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory functions {@link Client#query} or {@link Document#addQuery} to create a Query.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {String} [name] A name for the query.\n * @param {Object[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n */\n function Query(typeBundle) {\n var _ref;\n\n classCallCheck(this, Query);\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return possibleConstructorReturn(this, (_ref = Query.__proto__ || Object.getPrototypeOf(Query)).call.apply(_ref, [this, typeBundle, 'query'].concat(args)));\n }\n\n return Query;\n}(Operation);\n\n/**\n * GraphQL Mutation class.\n * @extends Operation\n */\n\nvar Mutation = function (_Operation) {\n inherits(Mutation, _Operation);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory functions {@link Client#mutation} or {@link Document#addMutation} to create a Mutation.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {String} [name] A name for the mutation.\n * @param {Object[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The mutation builder callback.\n * A {@link SelectionSet} is created using this callback.\n */\n function Mutation(typeBundle) {\n var _ref;\n\n classCallCheck(this, Mutation);\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return possibleConstructorReturn(this, (_ref = Mutation.__proto__ || Object.getPrototypeOf(Mutation)).call.apply(_ref, [this, typeBundle, 'mutation'].concat(args)));\n }\n\n return Mutation;\n}(Operation);\n\nfunction isAnonymous(operation) {\n return operation.isAnonymous;\n}\n\nfunction hasAnonymousOperations(operations) {\n return operations.some(isAnonymous);\n}\n\nfunction hasDuplicateOperationNames(operations) {\n var names = operations.map(function (operation) {\n return operation.name;\n });\n\n return names.reduce(function (hasDuplicates, name, index) {\n return hasDuplicates || names.indexOf(name) !== index;\n }, false);\n}\n\nfunction extractOperation(typeBundle, operationType) {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (Operation.prototype.isPrototypeOf(args[0])) {\n return args[0];\n }\n\n if (operationType === 'query') {\n return new (Function.prototype.bind.apply(Query, [null].concat([typeBundle], args)))();\n } else {\n return new (Function.prototype.bind.apply(Mutation, [null].concat([typeBundle], args)))();\n }\n}\n\nfunction isInvalidOperationCombination(operations) {\n if (operations.length === 1) {\n return false;\n }\n\n return hasAnonymousOperations(operations) || hasDuplicateOperationNames(operations);\n}\n\nfunction fragmentNameIsNotUnique(existingDefinitions, name) {\n return existingDefinitions.some(function (definition) {\n return definition.name === name;\n });\n}\n\nvar Document = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#document} to create a Document.\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n */\n function Document(typeBundle) {\n classCallCheck(this, Document);\n\n this.typeBundle = typeBundle;\n this.definitions = [];\n }\n\n /**\n * Returns the GraphQL query string for the Document (e.g. `query queryOne { ... } query queryTwo { ... }`).\n *\n * @return {String} The GraphQL query string for the Document.\n */\n\n\n createClass(Document, [{\n key: 'toString',\n value: function toString() {\n return join(this.definitions);\n }\n\n /**\n * Adds an operation to the Document.\n *\n * @private\n * @param {String} operationType The type of the operation. Either 'query' or 'mutation'.\n * @param {(Operation|String)} [query|queryName] Either an instance of an operation\n * object, or the name of an operation. Both are optional.\n * @param {Object[]} [variables] A list of variables in the operation. See {@link Client#variable}.\n * @param {Function} [callback] The query builder callback. If an operation\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addOperation',\n value: function addOperation(operationType) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n var operation = extractOperation.apply(undefined, [this.typeBundle, operationType].concat(args));\n\n if (isInvalidOperationCombination(this.operations.concat(operation))) {\n throw new Error('All operations must be uniquely named on a multi-operation document');\n }\n\n this.definitions.push(operation);\n }\n\n /**\n * Adds a query to the Document.\n *\n * @example\n * document.addQuery('myQuery', (root) => {\n * root.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {(Query|String)} [query|queryName] Either an instance of a query\n * object, or the name of a query. Both are optional.\n * @param {Object[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} [callback] The query builder callback. If a query\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addQuery',\n value: function addQuery() {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n this.addOperation.apply(this, ['query'].concat(args));\n }\n\n /**\n * Adds a mutation to the Document.\n *\n * @example\n * const input = client.variable('input', 'CatCreateInput!');\n *\n * document.addMutation('myMutation', [input], (root) => {\n * root.add('catCreate', {args: {input}}, (catCreate) => {\n * catCreate.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {(Mutation|String)} [mutation|mutationName] Either an instance of a mutation\n * object, or the name of a mutation. Both are optional.\n * @param {Object[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} [callback] The mutation builder callback. If a mutation\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addMutation',\n value: function addMutation() {\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n this.addOperation.apply(this, ['mutation'].concat(args));\n }\n\n /**\n * Defines a fragment on the Document.\n *\n * @param {String} name The name of the fragment.\n * @param {String} onType The type the fragment is on.\n * @param {Function} [builderFunction] The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {FragmentSpread} A {@link FragmentSpread} to be used with {@link SelectionSetBuilder#addFragment}.\n */\n\n }, {\n key: 'defineFragment',\n value: function defineFragment(name, onType, builderFunction) {\n if (fragmentNameIsNotUnique(this.fragmentDefinitions, name)) {\n throw new Error('All fragments must be uniquely named on a multi-fragment document');\n }\n\n var selectionSet = new SelectionSet(this.typeBundle, onType, builderFunction);\n var fragment = new FragmentDefinition(name, onType, selectionSet);\n\n this.definitions.push(fragment);\n\n return fragment.spread;\n }\n\n /**\n * All operations ({@link Query} and {@link Mutation}) on the Document.\n */\n\n }, {\n key: 'operations',\n get: function get$$1() {\n return this.definitions.filter(function (definition) {\n return Operation.prototype.isPrototypeOf(definition);\n });\n }\n\n /**\n * All {@link FragmentDefinition}s on the Document.\n */\n\n }, {\n key: 'fragmentDefinitions',\n get: function get$$1() {\n return this.definitions.filter(function (definition) {\n return FragmentDefinition.prototype.isPrototypeOf(definition);\n });\n }\n }]);\n return Document;\n}();\n\n/**\n * The base class used when deserializing response data.\n * Provides rich features, like functions to generate queries to refetch a node or fetch the next page.\n *\n * @class\n */\nvar GraphModel =\n\n/**\n * @param {Object} attrs Attributes on the GraphModel.\n */\nfunction GraphModel(attrs) {\n var _this = this;\n\n classCallCheck(this, GraphModel);\n\n Object.defineProperty(this, 'attrs', { value: attrs, enumerable: false });\n\n Object.keys(this.attrs).filter(function (key) {\n return !(key in _this);\n }).forEach(function (key) {\n var descriptor = void 0;\n\n if (attrs[key] === null) {\n descriptor = {\n enumerable: true,\n get: function get$$1() {\n return null;\n }\n };\n } else {\n descriptor = {\n enumerable: true,\n get: function get$$1() {\n return this.attrs[key].valueOf();\n }\n };\n }\n Object.defineProperty(_this, key, descriptor);\n });\n};\n\n/**\n * A registry of classes used to deserialize the response data. Uses {@link GraphModel} by default.\n */\n\nvar ClassRegistry = function () {\n function ClassRegistry() {\n classCallCheck(this, ClassRegistry);\n\n this.classStore = {};\n }\n\n /**\n * Registers a class for a GraphQL type in the registry.\n *\n * @param {Class} constructor The constructor of the class.\n * @param {String} type The GraphQL type of the object to deserialize into the class.\n */\n\n\n createClass(ClassRegistry, [{\n key: 'registerClassForType',\n value: function registerClassForType(constructor, type) {\n this.classStore[type] = constructor;\n }\n\n /**\n * Unregisters a class for a GraphQL type in the registry.\n *\n * @param {String} type The GraphQL type to unregister.\n */\n\n }, {\n key: 'unregisterClassForType',\n value: function unregisterClassForType(type) {\n delete this.classStore[type];\n }\n\n /**\n * Returns the class for the given GraphQL type.\n *\n * @param {String} type The GraphQL type to look up.\n * @return {Class|GraphModel} The class for the given GraphQL type. Defaults to {@link GraphModel} if no class is registered for the GraphQL type.\n */\n\n }, {\n key: 'classForType',\n value: function classForType(type) {\n return this.classStore[type] || GraphModel;\n }\n }]);\n return ClassRegistry;\n}();\n\nfunction isValue(arg) {\n return Object.prototype.toString.call(arg) !== '[object Null]' && Object.prototype.toString.call(arg) !== '[object Undefined]';\n}\n\nfunction isNodeContext(context) {\n return context.selection.selectionSet.typeSchema.implementsNode;\n}\n\nfunction isConnection(context) {\n return context.selection.selectionSet.typeSchema.name.endsWith('Connection');\n}\n\nfunction nearestNode(context) {\n if (context == null) {\n return null;\n } else if (isNodeContext(context)) {\n return context;\n } else {\n return nearestNode(context.parent);\n }\n}\n\nfunction contextsFromRoot(context) {\n if (context.parent) {\n return contextsFromRoot(context.parent).concat(context);\n } else {\n return [context];\n }\n}\n\nfunction contextsFromNearestNode(context) {\n if (context.selection.selectionSet.typeSchema.implementsNode) {\n return [context];\n } else {\n return contextsFromNearestNode(context.parent).concat(context);\n }\n}\n\nfunction initializeDocumentAndVars(currentContext, contextChain) {\n var lastInChain = contextChain[contextChain.length - 1];\n var first = lastInChain.selection.args.first;\n var variableDefinitions = Object.keys(lastInChain.selection.args).filter(function (key) {\n return isVariable(lastInChain.selection.args[key]);\n }).map(function (key) {\n return lastInChain.selection.args[key];\n });\n\n var firstVar = variableDefinitions.find(function (definition) {\n return definition.name === 'first';\n });\n\n if (!firstVar) {\n firstVar = variable('first', 'Int', first);\n variableDefinitions.push(firstVar);\n }\n\n var document = new Document(currentContext.selection.selectionSet.typeBundle);\n\n return [document, variableDefinitions, firstVar];\n}\n\nfunction addNextFieldTo(currentSelection, contextChain, path, cursor) {\n // There are always at least two. When we start, it's the root context, and the first set\n var nextContext = contextChain.shift();\n\n path.push(nextContext.selection.responseKey);\n\n if (contextChain.length) {\n currentSelection.add(nextContext.selection.name, { alias: nextContext.selection.alias, args: nextContext.selection.args }, function (newSelection) {\n addNextFieldTo(newSelection, contextChain, path, cursor);\n });\n } else {\n var edgesField = nextContext.selection.selectionSet.selections.find(function (field) {\n return field.name === 'edges';\n });\n var nodeField = edgesField.selectionSet.selections.find(function (field) {\n return field.name === 'node';\n });\n var first = void 0;\n\n if (isVariable(nextContext.selection.args.first)) {\n first = nextContext.selection.args.first;\n } else {\n first = variable('first', 'Int', nextContext.selection.args.first);\n }\n\n var options = {\n alias: nextContext.selection.alias,\n args: Object.assign({}, nextContext.selection.args, { after: cursor, first: first })\n };\n\n currentSelection.addConnection(nextContext.selection.name, options, nodeField.selectionSet);\n }\n}\n\nfunction collectFragments(selections) {\n return selections.reduce(function (fragmentDefinitions, field) {\n if (FragmentSpread.prototype.isPrototypeOf(field)) {\n fragmentDefinitions.push(field.toDefinition());\n }\n\n fragmentDefinitions.push.apply(fragmentDefinitions, toConsumableArray(collectFragments(field.selectionSet.selections)));\n\n return fragmentDefinitions;\n }, []);\n}\n\nfunction nextPageQueryAndPath(context, cursor) {\n var nearestNodeContext = nearestNode(context);\n\n if (nearestNodeContext) {\n return function () {\n var _document$definitions;\n\n var path = [];\n var nodeType = nearestNodeContext.selection.selectionSet.typeSchema;\n var nodeId = nearestNodeContext.responseData.id;\n var contextChain = contextsFromNearestNode(context);\n\n var _initializeDocumentAn = initializeDocumentAndVars(context, contextChain),\n _initializeDocumentAn2 = slicedToArray(_initializeDocumentAn, 2),\n document = _initializeDocumentAn2[0],\n variableDefinitions = _initializeDocumentAn2[1];\n\n document.addQuery(variableDefinitions, function (root) {\n path.push('node');\n root.add('node', { args: { id: nodeId } }, function (node) {\n node.addInlineFragmentOn(nodeType.name, function (fragment) {\n addNextFieldTo(fragment, contextChain.slice(1), path, cursor);\n });\n });\n });\n\n var fragments = collectFragments(document.operations[0].selectionSet.selections);\n\n (_document$definitions = document.definitions).unshift.apply(_document$definitions, toConsumableArray(fragments));\n\n return [document, path];\n };\n } else {\n return function () {\n var _document$definitions2;\n\n var path = [];\n var contextChain = contextsFromRoot(context);\n\n var _initializeDocumentAn3 = initializeDocumentAndVars(context, contextChain),\n _initializeDocumentAn4 = slicedToArray(_initializeDocumentAn3, 2),\n document = _initializeDocumentAn4[0],\n variableDefinitions = _initializeDocumentAn4[1];\n\n document.addQuery(variableDefinitions, function (root) {\n addNextFieldTo(root, contextChain.slice(1), path, cursor);\n });\n\n var fragments = collectFragments(document.operations[0].selectionSet.selections);\n\n (_document$definitions2 = document.definitions).unshift.apply(_document$definitions2, toConsumableArray(fragments));\n\n return [document, path];\n };\n }\n}\n\nfunction hasNextPage$1(connection, edge) {\n if (edge !== connection.edges[connection.edges.length - 1]) {\n return new Scalar(true);\n }\n\n return connection.pageInfo.hasNextPage;\n}\n\nfunction hasPreviousPage(connection, edge) {\n if (edge !== connection.edges[0]) {\n return new Scalar(true);\n }\n\n return connection.pageInfo.hasPreviousPage;\n}\n\nfunction transformConnections(variableValues) {\n return function (context, value) {\n if (isConnection(context)) {\n if (!(value.pageInfo && value.pageInfo.hasOwnProperty('hasNextPage') && value.pageInfo.hasOwnProperty('hasPreviousPage'))) {\n throw new Error('Connections must include the selections \"pageInfo { hasNextPage, hasPreviousPage }\".');\n }\n\n return value.edges.map(function (edge) {\n return Object.assign(edge.node, {\n nextPageQueryAndPath: nextPageQueryAndPath(context, edge.cursor),\n hasNextPage: hasNextPage$1(value, edge),\n hasPreviousPage: hasPreviousPage(value, edge),\n variableValues: variableValues\n });\n });\n } else {\n return value;\n }\n };\n}\n\n/* eslint-disable no-warning-comments */\nvar DecodingContext = function () {\n function DecodingContext(selection, responseData) {\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n classCallCheck(this, DecodingContext);\n\n this.selection = selection;\n this.responseData = responseData;\n this.parent = parent;\n Object.freeze(this);\n }\n\n createClass(DecodingContext, [{\n key: 'contextForObjectProperty',\n value: function contextForObjectProperty(responseKey) {\n var nestedSelections = this.selection.selectionSet.selectionsByResponseKey[responseKey];\n var nextSelection = nestedSelections && nestedSelections[0];\n var nextContext = void 0;\n\n // fragment spreads operate inside the current context, so we recurse to get the proper\n // selection set, but retain the current response context\n if (Spread.prototype.isPrototypeOf(nextSelection)) {\n nextContext = new DecodingContext(nextSelection, this.responseData, this.parent);\n } else {\n nextContext = new DecodingContext(nextSelection, this.responseData[responseKey], this);\n }\n\n if (!nextSelection) {\n throw new Error('Unexpected response key \"' + responseKey + '\", not found in selection set: ' + this.selection.selectionSet);\n }\n\n if (Field.prototype.isPrototypeOf(nextSelection)) {\n return nextContext;\n } else {\n return nextContext.contextForObjectProperty(responseKey);\n }\n }\n }, {\n key: 'contextForArrayItem',\n value: function contextForArrayItem(item) {\n return new DecodingContext(this.selection, item, this.parent);\n }\n }]);\n return DecodingContext;\n}();\n\nfunction decodeArrayItems(context, transformers) {\n return context.responseData.map(function (item) {\n return decodeContext(context.contextForArrayItem(item), transformers);\n });\n}\n\nfunction decodeObjectValues(context, transformers) {\n return Object.keys(context.responseData).reduce(function (acc, responseKey) {\n acc[responseKey] = decodeContext(context.contextForObjectProperty(responseKey), transformers);\n\n return acc;\n }, {});\n}\n\nfunction runTransformers(transformers, context, value) {\n return transformers.reduce(function (acc, transformer) {\n return transformer(context, acc);\n }, value);\n}\n\nfunction decodeContext(context, transformers) {\n var value = context.responseData;\n\n if (Array.isArray(value)) {\n value = decodeArrayItems(context, transformers);\n } else if (isObject(value)) {\n value = decodeObjectValues(context, transformers);\n }\n\n return runTransformers(transformers, context, value);\n}\n\nfunction generateRefetchQueries(context, value) {\n if (isValue(value) && isNodeContext(context)) {\n value.refetchQuery = function () {\n return new Query(context.selection.selectionSet.typeBundle, function (root) {\n root.add('node', { args: { id: context.responseData.id } }, function (node) {\n node.addInlineFragmentOn(context.selection.selectionSet.typeSchema.name, context.selection.selectionSet);\n });\n });\n };\n }\n\n return value;\n}\n\nfunction transformPojosToClassesWithRegistry(classRegistry) {\n return function transformPojosToClasses(context, value) {\n if (isObject(value)) {\n var Klass = classRegistry.classForType(context.selection.selectionSet.typeSchema.name);\n\n return new Klass(value);\n } else {\n return value;\n }\n };\n}\n\nfunction transformScalars(context, value) {\n if (isValue(value)) {\n if (context.selection.selectionSet.typeSchema.kind === 'SCALAR') {\n return new Scalar(value);\n } else if (context.selection.selectionSet.typeSchema.kind === 'ENUM') {\n return new Enum(value);\n }\n }\n\n return value;\n}\n\nfunction recordTypeInformation(context, value) {\n if (isValue(value)) {\n if (value.__typename) {\n value.type = schemaForType(context.selection.selectionSet.typeBundle, value.__typename);\n } else {\n value.type = context.selection.selectionSet.typeSchema;\n }\n }\n\n return value;\n}\n\nfunction defaultTransformers(_ref) {\n var _ref$classRegistry = _ref.classRegistry,\n classRegistry = _ref$classRegistry === undefined ? new ClassRegistry() : _ref$classRegistry,\n variableValues = _ref.variableValues;\n\n return [transformScalars, generateRefetchQueries, transformConnections(variableValues), recordTypeInformation, transformPojosToClassesWithRegistry(classRegistry)];\n}\n\n/**\n * A function used to decode the response data.\n *\n * @function decode\n * @param {SelectionSet} selection The selection set used to query the response data.\n * @param {Object} responseData The response data returned.\n * @param {Object} [options] Options to use when decoding including:\n * @param {ClassRegistry} [options.classRegistry] A class registry to use when deserializing the data into classes.\n * @return {GraphModel} The decoded response data.\n */\nfunction decode(selection, responseData) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var transformers = options.transformers || defaultTransformers(options);\n var context = new DecodingContext(selection, responseData);\n\n return decodeContext(context, transformers);\n}\n\nfunction httpFetcher(url) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return function fetcher(graphQLParams) {\n return fetch(url, _extends({\n body: JSON.stringify(graphQLParams),\n method: 'POST',\n mode: 'cors'\n }, options, {\n headers: _extends({\n 'Content-Type': 'application/json',\n Accept: 'application/json'\n }, options.headers)\n })).then(function (response) {\n return response.json();\n });\n };\n}\n\nfunction hasNextPage(paginatedModels) {\n return paginatedModels && paginatedModels.length && paginatedModels[paginatedModels.length - 1].hasNextPage;\n}\n\n/**\n * The Client class used to create and send GraphQL documents, fragments, queries and mutations.\n */\n\nvar Client = function () {\n\n /**\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {Object} options An options object. Must include either `url` and optional `fetcherOptions` OR a `fetcher` function.\n * @param {(String|Function)} options.url|fetcher Either the URL of the GraphQL API endpoint, or a custom fetcher function for further customization.\n * @param {Object} [options.fetcherOptions] Additional options to use with `fetch`, like headers. Do not specify this argument if `fetcher` is specified.\n * @param {ClassRegistry} [options.registry=new ClassRegistry()] A {@link ClassRegistry} used to decode the response data.\n */\n function Client(typeBundle, _ref) {\n var url = _ref.url,\n fetcherOptions = _ref.fetcherOptions,\n fetcher = _ref.fetcher,\n _ref$registry = _ref.registry,\n registry = _ref$registry === undefined ? new ClassRegistry() : _ref$registry;\n classCallCheck(this, Client);\n\n this.typeBundle = typeBundle;\n this.classRegistry = registry;\n\n if (url && fetcher) {\n throw new Error('Arguments not supported: supply either `url` and optional `fetcherOptions` OR use a `fetcher` function for further customization.');\n }\n\n if (url) {\n this.fetcher = httpFetcher(url, fetcherOptions);\n } else if (fetcher) {\n if (fetcherOptions) {\n throw new Error('Arguments not supported: when specifying your own `fetcher`, set options through it and not with `fetcherOptions`');\n }\n\n this.fetcher = fetcher;\n } else {\n throw new Error('Invalid arguments: one of `url` or `fetcher` is needed.');\n }\n }\n\n /**\n * Creates a GraphQL document.\n *\n * @example\n * const document = client.document();\n *\n * @return {Document} A GraphQL document.\n */\n\n\n createClass(Client, [{\n key: 'document',\n value: function document() {\n return new Document(this.typeBundle);\n }\n\n /**\n * Creates a GraphQL query.\n *\n * @example\n * const query = client.query('myQuery', (root) => {\n * root.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {String} [name] A name for the query.\n * @param {VariableDefinition[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {Query} A GraphQL query.\n */\n\n }, {\n key: 'query',\n value: function query() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return new (Function.prototype.bind.apply(Query, [null].concat([this.typeBundle], args)))();\n }\n\n /**\n * Creates a GraphQL mutation.\n *\n * @example\n * const input = client.variable('input', 'CatCreateInput!');\n *\n * const mutation = client.mutation('myMutation', [input], (root) => {\n * root.add('catCreate', {args: {input}}, (catCreate) => {\n * catCreate.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {String} [name] A name for the mutation.\n * @param {VariableDefinition[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The mutation builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {Mutation} A GraphQL mutation.\n */\n\n }, {\n key: 'mutation',\n value: function mutation() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return new (Function.prototype.bind.apply(Mutation, [null].concat([this.typeBundle], args)))();\n }\n\n /**\n * Sends a GraphQL operation (query or mutation) or a document.\n *\n * @example\n * client.send(query, {id: '12345'}).then((result) => {\n * // Do something with the returned result\n * console.log(result);\n * });\n *\n * @param {(Query|Mutation|Document|Function)} request The operation or document to send. If represented\n * as a function, it must return `Query`, `Mutation`, or `Document` and recieve the client as the only param.\n * @param {Object} [variableValues] The values for variables in the operation or document.\n * @param {Object} [otherProperties] Other properties to send with the query. For example, a custom operation name.\n * @return {Promise.} A promise resolving to an object containing the response data.\n */\n\n }, {\n key: 'send',\n value: function send(request) {\n var _this = this;\n\n var variableValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var otherProperties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n var operationOrDocument = void 0;\n\n if (Function.prototype.isPrototypeOf(request)) {\n operationOrDocument = request(this);\n } else {\n operationOrDocument = request;\n }\n\n var graphQLParams = { query: operationOrDocument.toString() };\n\n if (variableValues) {\n graphQLParams.variables = variableValues;\n }\n\n Object.assign(graphQLParams, otherProperties);\n\n var operation = void 0;\n\n if (Operation.prototype.isPrototypeOf(operationOrDocument)) {\n operation = operationOrDocument;\n } else {\n var document = operationOrDocument;\n\n if (document.operations.length === 1) {\n operation = document.operations[0];\n } else if (otherProperties.operationName) {\n operation = document.operations.find(function (documentOperation) {\n return documentOperation.name === otherProperties.operationName;\n });\n } else {\n throw new Error('\\n A document must contain exactly one operation, or an operationName\\n must be specified. Example:\\n\\n client.send(document, null, {operationName: \\'myFancyQuery\\'});\\n ');\n }\n }\n\n return this.fetcher(graphQLParams).then(function (response) {\n if (response.data) {\n response.model = decode(operation, response.data, {\n classRegistry: _this.classRegistry,\n variableValues: variableValues\n });\n }\n\n return response;\n });\n }\n\n /**\n * Fetches the next page of a paginated node or array of nodes.\n *\n * @example\n * client.fetchNextPage(node, {first: 10}).then((result) => {\n * // Do something with the next page\n * console.log(result);\n * });\n *\n * @param {(GraphModel|GraphModel[])} nodeOrNodes The node or list of nodes on which to fetch the next page.\n * @param {Object} [options] Options object containing:\n * @param {Integer} [options.first] The number of nodes to query on the next page. Defaults to the page size of the previous query.\n * @return {Promise.} A promise resolving with the next page of {@link GraphModel}s.\n */\n\n }, {\n key: 'fetchNextPage',\n value: function fetchNextPage(nodeOrNodes, options) {\n var node = void 0;\n\n if (Array.isArray(nodeOrNodes)) {\n node = nodeOrNodes[nodeOrNodes.length - 1];\n } else {\n node = nodeOrNodes;\n }\n\n var _node$nextPageQueryAn = node.nextPageQueryAndPath(),\n _node$nextPageQueryAn2 = slicedToArray(_node$nextPageQueryAn, 2),\n query = _node$nextPageQueryAn2[0],\n path = _node$nextPageQueryAn2[1];\n\n var variableValues = void 0;\n\n if (node.variableValues || options) {\n variableValues = Object.assign({}, node.variableValues, options);\n }\n\n return this.send(query, variableValues).then(function (response) {\n response.model = path.reduce(function (object, key) {\n return object[key];\n }, response.model);\n\n return response;\n });\n }\n\n /**\n * Fetches all subsequent pages of a paginated array of nodes.\n *\n * @example\n * client.fetchAllPages(nodes, {pageSize: 20}).then((result) => {\n * // Do something with all the models\n * console.log(result);\n * });\n *\n * @param {GraphModel[]} paginatedModels The list of nodes on which to fetch all pages.\n * @param {Object} options Options object containing:\n * @param {Integer} options.pageSize The number of nodes to query on each page.\n * @return {Promise.} A promise resolving with all pages of {@link GraphModel}s, including the original list.\n */\n\n }, {\n key: 'fetchAllPages',\n value: function fetchAllPages(paginatedModels, _ref2) {\n var _this2 = this;\n\n var pageSize = _ref2.pageSize;\n\n if (hasNextPage(paginatedModels)) {\n return this.fetchNextPage(paginatedModels, { first: pageSize }).then(function (_ref3) {\n var model = _ref3.model;\n\n var pages = paginatedModels.concat(model);\n\n return _this2.fetchAllPages(pages, { pageSize: pageSize });\n });\n }\n\n return Promise.resolve(paginatedModels);\n }\n\n /**\n * Refetches a {@link GraphModel} whose type implements `Node`.\n *\n * @example\n * client.refetch(node).then((result) => {\n * // Do something with the refetched node\n * console.log(result);\n * });\n *\n * @param {GraphModel} nodeType A {@link GraphModel} whose type implements `Node`.\n * @return {Promise.} The refetched {@link GraphModel}.\n */\n\n }, {\n key: 'refetch',\n value: function refetch(nodeType) {\n if (!nodeType) {\n throw new Error('\\'client#refetch\\' must be called with a non-null instance of a Node.');\n } else if (!nodeType.type.implementsNode) {\n throw new Error('\\'client#refetch\\' must be called with a type that implements Node. Received ' + nodeType.type.name + '.');\n }\n\n return this.send(nodeType.refetchQuery()).then(function (_ref4) {\n var model = _ref4.model;\n return model.node;\n });\n }\n\n /**\n * Creates a variable to be used in a {@link Query} or {@link Mutation}.\n *\n * @example\n * const idVariable = client.variable('id', 'ID!', '12345');\n *\n * @param {String} name The name of the variable.\n * @param {String} type The GraphQL type of the variable.\n * @param {*} [defaultValue] The default value of the variable.\n * @return {VariableDefinition} A variable object that can be used in a {@link Query} or {@link Mutation}.\n */\n\n }, {\n key: 'variable',\n value: function variable$$1(name, type, defaultValue) {\n return variable(name, type, defaultValue);\n }\n\n /**\n * Creates an enum to be used in a {@link Query} or {@link Mutation}.\n *\n * @example\n * const titleEnum = client.enum('TITLE');\n *\n * @param {String} key The key of the enum.\n * @return {Enum} An enum object that can be used in a {@link Query} or {@link Mutation}.\n */\n\n }, {\n key: 'enum',\n value: function _enum(key) {\n return enumFunction(key);\n }\n }]);\n return Client;\n}();\n\nexport { ClassRegistry, GraphModel, decode };export default Client;\n//# sourceMappingURL=index.es.js.map\n","/**\n * The class used to configure the JS Buy SDK Client.\n * @class\n */\nclass Config {\n\n /**\n * Properties that must be set on initializations\n * @attribute requiredProperties\n * @default ['storefrontAccessToken', 'domain']\n * @type Array\n * @private\n */\n get requiredProperties() {\n return [\n 'storefrontAccessToken',\n 'domain'\n ];\n }\n\n /**\n * Deprecated properties that map directly to required properties\n * @attribute deprecatedProperties\n * @default {'accessToken': 'storefrontAccessToken', 'apiKey': 'storefrontAccessToken'}\n * @type Object\n * @private\n */\n get deprecatedProperties() {\n return {\n accessToken: 'storefrontAccessToken',\n apiKey: 'storefrontAccessToken'\n };\n }\n\n /**\n * @constructs Config\n * @param {Object} attrs An object specifying the configuration. Requires the following properties:\n * @param {String} attrs.storefrontAccessToken The {@link https://help.shopify.com/api/reference/storefront_access_token|Storefront access token} for the shop.\n * @param {String} attrs.domain The `myshopify` domain for the shop (e.g. `graphql.myshopify.com`).\n */\n constructor(attrs) {\n Object.keys(this.deprecatedProperties).forEach((key) => {\n if (!attrs.hasOwnProperty(key)) { return; }\n // eslint-disable-next-line no-console\n console.warn(`[ShopifyBuy] Config property ${key} is deprecated as of v1.0, please use ${this.deprecatedProperties[key]} instead.`);\n attrs[this.deprecatedProperties[key]] = attrs[key];\n });\n\n this.requiredProperties.forEach((key) => {\n if (attrs.hasOwnProperty(key)) {\n this[key] = attrs[key];\n } else {\n throw new Error(`new Config() requires the option '${key}'`);\n }\n });\n }\n}\n\nexport default Config;\n","export default class Resource {\n constructor(client) {\n this.graphQLClient = client;\n }\n}\n","export const defaultErrors = [{message: 'an unknown error has occured.'}];\n\nexport default function defaultResolver(path) {\n const keys = path.split('.');\n\n return function({model, errors}) {\n return new Promise((resolve, reject) => {\n try {\n const result = keys.reduce((ref, key) => {\n return ref[key];\n }, model);\n\n resolve(result);\n } catch (_) {\n if (errors) {\n reject(errors);\n } else {\n reject(defaultErrors);\n }\n }\n });\n };\n}\n","export default function fetchResourcesForProducts(productOrProduct, client) {\n const products = [].concat(productOrProduct);\n\n return Promise.all(products.reduce((promiseAcc, product) => {\n // Fetch the rest of the images and variants for this product\n promiseAcc.push(client.fetchAllPages(product.images, {pageSize: 250}).then((images) => {\n product.attrs.images = images;\n }));\n\n promiseAcc.push(client.fetchAllPages(product.variants, {pageSize: 250}).then((variants) => {\n product.attrs.variants = variants;\n }));\n\n return promiseAcc;\n }, []));\n}\n","import fetchResourcesForProducts from './fetch-resources-for-products';\n\nexport function paginateProductConnectionsAndResolve(client) {\n return function(products) {\n return fetchResourcesForProducts(products, client).then(() => {\n return products;\n });\n };\n}\n\nexport function paginateCollectionsProductConnectionsAndResolve(client) {\n return function(collectionOrCollections) {\n const collections = [].concat(collectionOrCollections);\n\n return Promise.all(collections.reduce((promiseAcc, collection) => {\n return promiseAcc.concat(fetchResourcesForProducts(collection.products, client));\n }, [])).then(() => {\n return collectionOrCollections;\n });\n };\n}\n","/**\n * @namespace ProductHelpers\n */\nexport default {\n\n /**\n * Returns the variant of a product corresponding to the options given.\n *\n * @example\n * const selectedVariant = client.product.variantForOptions(product, {\n * size: \"Small\",\n * color: \"Red\"\n * });\n *\n * @memberof ProductHelpers\n * @method variantForOptions\n * @param {GraphModel} product The product to find the variant on. Must include `variants`.\n * @param {Object} options An object containing the options for the variant.\n * @return {GraphModel} The variant corresponding to the options given.\n */\n variantForOptions(product, options) {\n return product.variants.find((variant) => {\n return variant.selectedOptions.every((selectedOption) => {\n return options[selectedOption.name] === selectedOption.value.valueOf();\n });\n });\n }\n};\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport {paginateProductConnectionsAndResolve} from './paginators';\nimport productHelpers from './product-helpers';\n\n// GraphQL\nimport productNodeQuery from './graphql/productNodeQuery.graphql';\nimport productNodesQuery from './graphql/productNodesQuery.graphql';\nimport productConnectionQuery from './graphql/productConnectionQuery.graphql';\nimport productByHandleQuery from './graphql/productByHandleQuery.graphql';\n\n/**\n * The JS Buy SDK product resource\n * @class\n */\nclass ProductResource extends Resource {\n get helpers() {\n return productHelpers;\n }\n\n /**\n * Fetches all products on the shop.\n *\n * @example\n * client.product.fetchAll().then((products) => {\n * // Do something with the products\n * });\n *\n * @param {Int} [pageSize] The number of products to fetch per page\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the products.\n */\n fetchAll(first = 20) {\n return this.graphQLClient\n .send(productConnectionQuery, {first})\n .then(defaultResolver('shop.products'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single product by ID on the shop.\n *\n * @example\n * client.product.fetch('Xk9lM2JkNzFmNzIQ4NTIY4ZDFi9DaGVja291dC9lM2JkN==').then((product) => {\n * // Do something with the product\n * });\n *\n * @param {String} id The id of the product to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the product.\n */\n fetch(id) {\n return this.graphQLClient\n .send(productNodeQuery, {id})\n .then(defaultResolver('node'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches multiple products by ID on the shop.\n *\n * @example\n * const ids = ['Xk9lM2JkNzFmNzIQ4NTIY4ZDFi9DaGVja291dC9lM2JkN==', 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ='];\n * client.product.fetchMultiple(ids).then((products) => {\n * // Do something with the products\n * });\n *\n * @param {String[]} ids The ids of the products to fetch\n * @return {Promise|GraphModel[]} A promise resolving with a `GraphModel` of the product.\n */\n fetchMultiple(ids) {\n return this.graphQLClient\n .send(productNodesQuery, {ids})\n .then(defaultResolver('nodes'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single product by handle on the shop.\n *\n * @example\n * client.product.fetchByHandle('my-product').then((product) => {\n * // Do something with the product\n * });\n *\n * @param {String} handle The handle of the product to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the product.\n */\n fetchByHandle(handle) {\n return this.graphQLClient\n .send(productByHandleQuery, {handle})\n .then(defaultResolver('shop.productByHandle'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches all products on the shop that match the query.\n *\n * @example\n * client.product.fetchQuery({first: 20, sortKey: 'CREATED_AT', reverse: true}).then((products) => {\n * // Do something with the first 10 products sorted by title in ascending order\n * });\n *\n * @param {Object} [args] An object specifying the query data containing zero or more of:\n * @param {Int} [args.first=20] The relay `first` param. This specifies page size.\n * @param {String} [args.sortKey=ID] The key to sort results by. Available values are\n * documented as {@link https://help.shopify.com/api/storefront-api/reference/enum/productsortkeys|Product Sort Keys}.\n * @param {String} [args.query] A query string. See full documentation {@link https://help.shopify.com/api/storefront-api/reference/object/shop#products|here}\n * @param {Boolean} [args.reverse] Whether or not to reverse the sort order of the results\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the products.\n */\n fetchQuery({first = 20, sortKey = 'ID', query, reverse} = {}) {\n return this.graphQLClient\n .send(productConnectionQuery, {\n first,\n sortKey,\n query,\n reverse\n })\n .then(defaultResolver('shop.products'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n}\n\nexport default ProductResource;\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport {paginateCollectionsProductConnectionsAndResolve} from './paginators';\n\n// GraphQL\nimport collectionNodeQuery from './graphql/collectionNodeQuery.graphql';\nimport collectionNodeWithProductsQuery from './graphql/collectionNodeWithProductsQuery.graphql';\nimport collectionConnectionQuery from './graphql/collectionConnectionQuery.graphql';\nimport collectionConnectionWithProductsQuery from './graphql/collectionConnectionWithProductsQuery.graphql';\nimport collectionByHandleQuery from './graphql/collectionByHandleQuery.graphql';\n\n/**\n * The JS Buy SDK collection resource\n * @class\n */\nclass CollectionResource extends Resource {\n\n /**\n * Fetches all collections on the shop, not including products.\n * To fetch collections with products use [fetchAllsWithProducts]{@link Client#fetchAllsWithProducts}.\n *\n * @example\n * client.collection.fetchAll().then((collections) => {\n * // Do something with the collections\n * });\n *\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchAll(first = 20) {\n return this.graphQLClient\n .send(collectionConnectionQuery, {first})\n .then(defaultResolver('shop.collections'));\n }\n\n /**\n * Fetches all collections on the shop, including products.\n *\n * @example\n * client.collection.fetchAllWithProducts().then((collections) => {\n * // Do something with the collections\n * });\n *\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchAllWithProducts({first = 20, productsFirst = 20} = {}) {\n return this.graphQLClient\n .send(collectionConnectionWithProductsQuery, {first, productsFirst})\n .then(defaultResolver('shop.collections'))\n .then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single collection by ID on the shop, not including products.\n * To fetch the collection with products use [fetchWithProducts]{@link Client#fetchWithProducts}.\n *\n * @example\n * client.collection.fetch('Xk9lM2JkNzFmNzIQ4NTIY4ZDFiZTUyZTUwNTE2MDNhZjg==').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} id The id of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetch(id) {\n return this.graphQLClient\n .send(collectionNodeQuery, {id})\n .then(defaultResolver('node'));\n }\n\n /**\n * Fetches a single collection by ID on the shop, including products.\n *\n * @example\n * client.collection.fetchWithProducts('Xk9lM2JkNzFmNzIQ4NTIY4ZDFiZTUyZTUwNTE2MDNhZjg==').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} id The id of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetchWithProducts(id) {\n return this.graphQLClient\n .send(collectionNodeWithProductsQuery, {id})\n .then(defaultResolver('node'))\n .then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a collection by handle on the shop.\n *\n * @example\n * client.collection.fetchByHandle('my-collection').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} handle The handle of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetchByHandle(handle) {\n return this.graphQLClient\n .send(collectionByHandleQuery, {handle})\n .then(defaultResolver('shop.collectionByHandle'));\n }\n\n /**\n * Fetches all collections on the shop that match the query.\n *\n * @example\n * client.collection.fetchQuery({first: 20, sortKey: 'CREATED_AT', reverse: true}).then((collections) => {\n * // Do something with the first 10 collections sorted by title in ascending order\n * });\n *\n * @param {Object} [args] An object specifying the query data containing zero or more of:\n * @param {Int} [args.first=20] The relay `first` param. This specifies page size.\n * @param {String} [args.sortKey=ID] The key to sort results by. Available values are\n * documented as {@link https://help.shopify.com/api/storefront-api/reference/enum/collectionsortkeys|Collection Sort Keys}.\n * @param {String} [args.query] A query string. See full documentation {@link https://help.shopify.com/api/storefront-api/reference/object/shop#collections|here}\n * @param {Boolean} [args.reverse] Whether or not to reverse the sort order of the results\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchQuery({first = 20, sortKey = 'ID', query, reverse} = {}) {\n return this.graphQLClient.send(collectionConnectionQuery, {\n first,\n sortKey,\n query,\n reverse\n }).then(defaultResolver('shop.collections'));\n }\n}\nexport default CollectionResource;\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\n\n// GraphQL\nimport shopQuery from './graphql/shopQuery.graphql';\nimport shopPolicyQuery from './graphql/shopPolicyQuery.graphql';\n\n/**\n * The JS Buy SDK shop resource\n * @class\n */\nclass ShopResource extends Resource {\n\n /**\n * Fetches shop information (`currencyCode`, `description`, `moneyFormat`, `name`, and `primaryDomain`).\n * See the {@link https://help.shopify.com/api/storefront-api/reference/object/shop|Storefront API reference} for more information.\n *\n * @example\n * client.shop.fetchInfo().then((shop) => {\n * // Do something with the shop\n * });\n *\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the shop.\n */\n fetchInfo() {\n return this.graphQLClient\n .send(shopQuery)\n .then(defaultResolver('shop'));\n }\n\n /**\n * Fetches shop policies (privacy policy, terms of service and refund policy).\n *\n * @example\n * client.shop.fetchPolicies().then((shop) => {\n * // Do something with the shop\n * });\n *\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the shop.\n */\n fetchPolicies() {\n return this.graphQLClient\n .send(shopPolicyQuery)\n .then(defaultResolver('shop'));\n }\n}\n\nexport default ShopResource;\n","export default function handleCheckoutMutation(mutationRootKey, client) {\n return function({data, errors, model}) {\n const rootData = data[mutationRootKey];\n const rootModel = model[mutationRootKey];\n\n if (rootData && rootData.checkout) {\n return client.fetchAllPages(rootModel.checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n rootModel.checkout.attrs.lineItems = lineItems;\n rootModel.checkout.errors = errors;\n rootModel.checkout.userErrors = rootModel.userErrors;\n\n return rootModel.checkout;\n });\n }\n\n if (errors && errors.length) {\n return Promise.reject(new Error(JSON.stringify(errors)));\n }\n\n if (rootData && rootData.userErrors && rootData.userErrors.length) {\n return Promise.reject(new Error(JSON.stringify(rootData.userErrors)));\n }\n\n return Promise.reject(new Error(`The ${mutationRootKey} mutation failed due to an unknown error.`));\n };\n}\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport handleCheckoutMutation from './handle-checkout-mutation';\n\n// GraphQL\nimport checkoutNodeQuery from './graphql/checkoutNodeQuery.graphql';\nimport checkoutNodeQueryWithAddress from './graphql/checkoutNodeQueryWithAddress.graphql';\nimport checkoutCreateMutation from './graphql/checkoutCreateMutation.graphql';\nimport checkoutLineItemsAddMutation from './graphql/checkoutLineItemsAddMutation.graphql';\nimport checkoutLineItemsRemoveMutation from './graphql/checkoutLineItemsRemoveMutation.graphql';\nimport checkoutLineItemsUpdateMutation from './graphql/checkoutLineItemsUpdateMutation.graphql';\nimport checkoutAttributesUpdateMutation from './graphql/checkoutAttributesUpdateMutation.graphql';\nimport checkoutDiscountCodeApplyMutation from './graphql/checkoutDiscountCodeApplyMutation.graphql';\nimport checkoutDiscountCodeRemoveMutation from './graphql/checkoutDiscountCodeRemoveMutation.graphql';\nimport checkoutShippingAddressUpdateMutation from './graphql/checkoutShippingAddressUpdateMutation.graphql';\nimport checkoutShippingLineUpdateMutation from './graphql/checkoutShippingLineUpdateMutation.graphql';\n\n/**\n * The JS Buy SDK checkout resource\n * @class\n */\nclass CheckoutResource extends Resource {\n\n /**\n * Fetches a checkout by ID.\n *\n * @example\n * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {\n * // Do something with the checkout\n * });\n *\n * @param {String} id The id of the checkout to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.\n */\n fetch(id) {\n return this.graphQLClient\n .send(checkoutNodeQuery, {id})\n .then(defaultResolver('node'))\n .then((checkout) => {\n return this.graphQLClient.fetchAllPages(checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n checkout.attrs.lineItems = lineItems;\n\n return checkout;\n });\n });\n }\n\n /**\n * Fetches a checkout by ID.\n *\n * @example\n * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {\n * // Do something with the checkout\n * });\n *\n * @param {String} id The id of the checkout to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.\n */\n fetchWithAddress(id) {\n return this.graphQLClient\n .send(checkoutNodeQueryWithAddress, {id})\n .then(defaultResolver('node'))\n .then((checkout) => {\n return this.graphQLClient.fetchAllPages(checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n checkout.attrs.lineItems = lineItems;\n\n return checkout;\n });\n });\n }\n\n /**\n * Creates a checkout.\n *\n * @example\n * const input = {\n * lineItems: [\n * {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}\n * ]\n * };\n *\n * client.checkout.create(input).then((checkout) => {\n * // Do something with the newly created checkout\n * });\n *\n * @param {Object} [input] An input object containing zero or more of:\n * @param {String} [input.email] An email connected to the checkout.\n * @param {Object[]} [input.lineItems] A list of line items in the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @param {Object} [input.shippingAddress] A shipping address. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/mailingaddressinput|Storefront API reference} for valid input fields.\n * @param {String} [input.note] A note for the checkout.\n * @param {Object[]} [input.customAttributes] A list of custom attributes for the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/attributeinput|Storefront API reference} for valid input fields.\n * @return {Promise|GraphModel} A promise resolving with the created checkout.\n */\n create(input = {}) {\n return this.graphQLClient\n .send(checkoutCreateMutation, {input})\n .then(handleCheckoutMutation('checkoutCreate', this.graphQLClient));\n }\n\n /**\n * Replaces the value of checkout's custom attributes and/or note with values defined in the input\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const input = {customAttributes: [{key: \"MyKey\", value: \"MyValue\"}]};\n *\n * client.checkout.updateAttributes(checkoutId, input).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update.\n * @param {Object} [input] An input object containing zero or more of:\n * @param {Boolean} [input.allowPartialAddresses] An email connected to the checkout.\n * @param {Object[]} [input.customAttributes] A list of custom attributes for the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/attributeinput|Storefront API reference} for valid input fields.\n * @param {String} [input.note] A note for the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateAttributes(checkoutId, input = {}) {\n return this.graphQLClient\n .send(checkoutAttributesUpdateMutation, {checkoutId, input})\n .then(handleCheckoutMutation('checkoutAttributesUpdate', this.graphQLClient));\n }\n\n /**\n * Adds line items to an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];\n *\n * client.checkout.addLineItems(checkoutId, lineItems).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add line items to.\n * @param {Object[]} lineItems A list of line items to add to the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n addLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsAddMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsAdd', this.graphQLClient));\n }\n\n /**\n * Applies a discount to an existing checkout using a discount code.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const discountCode = 'best-discount-ever';\n *\n * client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add discount to.\n * @param {String} discountCode The discount code to apply to the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n addDiscount(checkoutId, discountCode) {\n return this.graphQLClient\n .send(checkoutDiscountCodeApplyMutation, {checkoutId, discountCode})\n .then(handleCheckoutMutation('checkoutDiscountCodeApply', this.graphQLClient));\n }\n\n /**\n * Applies a discount to an existing checkout using a discount code.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const discountCode = 'best-discount-ever';\n *\n * client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add discount to.\n * @param {String} discountCode The discount code to apply to the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n removeDiscount(checkoutId, discountCode) {\n return this.graphQLClient\n .send(checkoutDiscountCodeRemoveMutation, {checkoutId, discountCode})\n .then(handleCheckoutMutation('checkoutDiscountCodeRemove', this.graphQLClient));\n }\n\n /**\n * Removes line items from an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItemIds = ['TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU='];\n *\n * client.checkout.removeLineItems(checkoutId, lineItemIds).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to remove line items from.\n * @param {String[]} lineItemIds A list of the ids of line items to remove from the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n removeLineItems(checkoutId, lineItemIds) {\n return this.graphQLClient\n .send(checkoutLineItemsRemoveMutation, {checkoutId, lineItemIds})\n .then(handleCheckoutMutation('checkoutLineItemsRemove', this.graphQLClient));\n }\n\n /**\n * Updates line items on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [\n * {\n * id: 'TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU=',\n * quantity: 5,\n * variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg=='\n * }\n * ];\n *\n * client.checkout.updateLineItems(checkoutId, lineItems).then(checkout => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update a line item on.\n * @param {Object[]} lineItems A list of line item information to update. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineitemupdateinput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsUpdateMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsUpdate', this.graphQLClient));\n }\n\n /**\n * Updates shipping address on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const shippingAddress = {\n * address1: 'Chestnut Street 92',\n * address2: 'Apartment 2\"',\n * city: 'Louisville',\n * company: null,\n * country: 'United States',\n * firstName: 'Bob',\n * lastName: 'Norman',\n * phone: '555-625-1199',\n * province: 'Kentucky',\n * zip: '40202'\n * };\n *\n *\n * client.checkout.updateShippingAddress(checkoutId, shippingAddress).then(checkout => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update shipping address.\n * @param {Object} shippingAddress A shipping address.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateShippingAddress(checkoutId, shippingAddress) {\n return this.graphQLClient\n .send(checkoutShippingAddressUpdateMutation, {checkoutId, shippingAddress})\n .then(handleCheckoutMutation('checkoutShippingAddressUpdate', this.graphQLClient));\n }\n\n updateShippingLines(checkoutId, shippingRateHandle) {\n return this.graphQLClient\n .send(checkoutShippingLineUpdateMutation, {checkoutId, shippingRateHandle})\n .then(handleCheckoutMutation('checkoutShippingLineUpdate', this.graphQLClient));\n }\n}\n\nexport default CheckoutResource;\n","/**\n * @namespace ImageHelpers\n */\nexport default {\n\n /**\n * Generates the image src for a resized image with maximum dimensions `maxWidth` and `maxHeight`.\n * Images do not scale up.\n *\n * @example\n * const url = client.image.helpers.imageForSize(product.variants[0].image, {maxWidth: 50, maxHeight: 50});\n *\n * @memberof ImageHelpers\n * @method imageForSize\n * @param {Object} image The original image model to generate the image src for.\n * @param {Object} options An options object containing:\n * @param {Integer} options.maxWidth The maximum width for the image.\n * @param {Integer} options.maxHeight The maximum height for the image.\n * @return {String} The image src for the resized image.\n */\n imageForSize(image, {maxWidth, maxHeight}) {\n const splitUrl = image.src.split('?');\n const notQuery = splitUrl[0];\n const query = splitUrl[1] ? `?${splitUrl[1]}` : '';\n\n // Use the section before the query\n const imageTokens = notQuery.split('.');\n\n // Take the token before the file extension and append the dimensions\n const imagePathIndex = imageTokens.length - 2;\n\n imageTokens[imagePathIndex] = `${imageTokens[imagePathIndex]}_${maxWidth}x${maxHeight}`;\n\n return `${imageTokens.join('.')}${query}`;\n }\n};\n","import Resource from './resource';\nimport imageHelpers from './image-helpers';\n\n/**\n * The JS Buy SDK image resource\n * @class\n */\nclass ImageResource extends Resource {\n get helpers() {\n return imageHelpers;\n }\n}\n\nexport default ImageResource;\n","import GraphQLJSClient from './graphql-client';\nimport Config from './config';\nimport ProductResource from './product-resource';\nimport CollectionResource from './collection-resource';\nimport ShopResource from './shop-resource';\nimport CheckoutResource from './checkout-resource';\nimport ImageResource from './image-resource';\nimport {version} from '../package.json';\n\n// GraphQL\nimport types from '../schema.json';\n\n/**\n * The JS Buy SDK Client.\n * @class\n *\n * @property {ProductResource} product The property under which product fetching methods live.\n * @property {CollectionResource} collection The property under which collection fetching methods live.\n * @property {ShopResource} shop The property under which shop fetching methods live.\n * @property {CheckoutResource} checkout The property under which shop fetching and mutating methods live.\n * @property {ImageResource} image The property under which image helper methods live.\n */\nclass Client {\n\n /**\n * Primary entry point for building a new Client.\n */\n static buildClient(config, fetchFunction) {\n const newConfig = new Config(config);\n const client = new Client(newConfig, GraphQLJSClient, fetchFunction);\n\n client.config = newConfig;\n\n return client;\n }\n\n /**\n * @constructs Client\n * @param {Config} config An instance of {@link Config} used to configure the Client.\n */\n constructor(config, GraphQLClientClass = GraphQLJSClient, fetchFunction) {\n const url = `https://${config.domain}/api/graphql`;\n\n const headers = {\n 'X-SDK-Variant': 'javascript',\n 'X-SDK-Version': version,\n 'X-Shopify-Storefront-Access-Token': config.storefrontAccessToken\n };\n\n if (fetchFunction) {\n headers['Content-Type'] = 'application/json';\n headers.Accept = 'application/json';\n\n this.graphQLClient = new GraphQLClientClass(types, {\n fetcher: function fetcher(graphQLParams) {\n return fetchFunction(url, {\n body: JSON.stringify(graphQLParams),\n method: 'POST',\n mode: 'cors',\n headers\n }).then((response) => response.json());\n }\n });\n } else {\n this.graphQLClient = new GraphQLClientClass(types, {\n url,\n fetcherOptions: {headers}\n });\n }\n\n this.product = new ProductResource(this.graphQLClient);\n this.collection = new CollectionResource(this.graphQLClient);\n this.shop = new ShopResource(this.graphQLClient);\n this.checkout = new CheckoutResource(this.graphQLClient);\n this.image = new ImageResource(this.graphQLClient);\n }\n\n /**\n * Fetches the next page of models\n *\n * @example\n * client.fetchNextPage(products).then((nextProducts) => {\n * // Do something with the products\n * });\n *\n * @param {models} [Array] The paginated set to fetch the next page of\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the type provided.\n */\n fetchNextPage(models) {\n return this.graphQLClient.fetchNextPage(models);\n }\n}\n\nexport default Client;\n"],"names":["join","_len","arguments","length","fields","Array","_key","isObject","value","Boolean","Object","prototype","toString","call","valueOf","deepFreezeCopyExcept","predicate","structure","freeze","keys","reduce","copy","key","isArray","map","item","schemaForType","typeBundle","typeName","type","types","Error","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","i","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","_extends","assign","source","hasOwnProperty","inherits","subClass","superClass","create","setPrototypeOf","__proto__","possibleConstructorReturn","self","ReferenceError","slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","undefined","_i","Symbol","iterator","_s","next","done","push","err","toConsumableArray","arr2","from","VariableDefinition","name","defaultValue","toInputValueString","defaultValueString","formatInputValue","isVariable","isPrototypeOf","variable","Enum","enumFunction","Scalar","get$$1","String","JSON","stringify","apply","formatObject","openChar","closeChar","argPairs","formatArgs","args","noop","Profiler","trackTypeDependency","trackFieldDependency","parseFieldCreationArgs","creationArgs","callback","options","selectionSet","_creationArgs","_creationArgs2","SelectionSet","emptyArgs","Field","alias","responseKey","aliasPrefix","Spread","InlineFragment","_Spread","_this","getPrototypeOf","FragmentSpread","_Spread2","fragmentDefinition","_this2","toDefinition","FragmentDefinition","typeSchema","spread","selectionsHaveIdField","selections","some","fieldOrFragment","implementsNode","selectionsHaveTypenameField","indexSelectionsByResponseKey","assignOrPush","obj","unfrozenObject","acc","selection","responseKeys","selectionsByResponseKey","forEach","builderFunction","SelectionSetBuilder","unshift","kind","hasSelectionWithResponseKey","field","add","selectionOrFieldName","rest","concat","_len2","_key2","parsedArgs","fieldBaseTypes","fieldBaseType","inlineFragmentOn","builderFunctionOrSelectionSet","addField","_len3","_key3","addConnection","_len4","_key4","_parseFieldCreationAr","connection","pageInfo","edges","addInlineFragmentOn","fieldTypeCb","addFragment","fragmentSpread","parseArgs","variables","selectionSetCallback","_args","VariableDefinitions","variableDefinitions","Operation","operationType","_parseArgs","queryType","mutationType","nameString","Query","_Operation","_ref","Mutation","isAnonymous","operation","hasAnonymousOperations","operations","hasDuplicateOperationNames","names","hasDuplicates","index","indexOf","extractOperation","Function","bind","isInvalidOperationCombination","fragmentNameIsNotUnique","existingDefinitions","definition","Document","definitions","addOperation","addQuery","addMutation","defineFragment","onType","fragmentDefinitions","fragment","filter","GraphModel","attrs","ClassRegistry","classStore","registerClassForType","constructor","unregisterClassForType","classForType","isValue","arg","isNodeContext","context","isConnection","endsWith","nearestNode","parent","contextsFromRoot","contextsFromNearestNode","initializeDocumentAndVars","currentContext","contextChain","lastInChain","first","firstVar","find","document","addNextFieldTo","currentSelection","path","cursor","nextContext","shift","newSelection","edgesField","nodeField","after","collectFragments","nextPageQueryAndPath","nearestNodeContext","_document$definitions","nodeType","nodeId","responseData","id","_initializeDocumentAn","_initializeDocumentAn2","root","node","slice","fragments","_document$definitions2","_initializeDocumentAn3","_initializeDocumentAn4","hasNextPage$1","edge","hasNextPage","hasPreviousPage","transformConnections","variableValues","DecodingContext","contextForObjectProperty","nestedSelections","nextSelection","contextForArrayItem","decodeArrayItems","transformers","decodeContext","decodeObjectValues","runTransformers","transformer","generateRefetchQueries","refetchQuery","transformPojosToClassesWithRegistry","classRegistry","transformPojosToClasses","Klass","transformScalars","recordTypeInformation","__typename","defaultTransformers","_ref$classRegistry","decode","httpFetcher","url","fetcher","graphQLParams","fetch","headers","then","response","json","paginatedModels","Client","fetcherOptions","_ref$registry","registry","query","mutation","send","request","otherProperties","operationOrDocument","operationName","documentOperation","data","model","fetchNextPage","nodeOrNodes","_node$nextPageQueryAn","_node$nextPageQueryAn2","object","fetchAllPages","_ref2","pageSize","_ref3","pages","Promise","resolve","refetch","_ref4","variable$$1","_enum","Config","deprecatedProperties","warn","requiredProperties","Resource","client","graphQLClient","defaultErrors","message","defaultResolver","split","errors","reject","result","ref","_","fetchResourcesForProducts","productOrProduct","products","all","promiseAcc","product","images","variants","paginateProductConnectionsAndResolve","paginateCollectionsProductConnectionsAndResolve","collectionOrCollections","collections","collection","variant","selectedOptions","every","selectedOption","ProductResource","productConnectionQuery","productNodeQuery","ids","productNodesQuery","handle","productByHandleQuery","sortKey","reverse","productHelpers","CollectionResource","collectionConnectionQuery","productsFirst","collectionConnectionWithProductsQuery","collectionNodeQuery","collectionNodeWithProductsQuery","collectionByHandleQuery","ShopResource","shopQuery","shopPolicyQuery","handleCheckoutMutation","mutationRootKey","rootData","rootModel","checkout","lineItems","userErrors","CheckoutResource","checkoutNodeQuery","checkoutNodeQueryWithAddress","input","checkoutCreateMutation","checkoutId","checkoutAttributesUpdateMutation","checkoutLineItemsAddMutation","discountCode","checkoutDiscountCodeApplyMutation","checkoutDiscountCodeRemoveMutation","lineItemIds","checkoutLineItemsRemoveMutation","checkoutLineItemsUpdateMutation","shippingAddress","checkoutShippingAddressUpdateMutation","shippingRateHandle","checkoutShippingLineUpdateMutation","image","maxWidth","maxHeight","splitUrl","src","notQuery","imageTokens","imagePathIndex","ImageResource","imageHelpers","config","fetchFunction","newConfig","GraphQLJSClient","GraphQLClientClass","domain","version","storefrontAccessToken","Accept","shop","models"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGF;AACA,AAYA;;;;;IAIMM;;;;;;;;;;;;;;;;;;;;;;;0BAaE3I,IAAI;;;a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"}
\ No newline at end of file
+{"version":3,"file":"index.umd.js","sources":["node_modules/graphql-js-client/index.es.js","src/config.js","src/resource.js","src/default-resolver.js","src/fetch-resources-for-products.js","src/paginators.js","src/product-helpers.js","src/product-resource.js","src/collection-resource.js","src/shop-resource.js","src/handle-checkout-mutation.js","src/checkout-resource.js","src/image-helpers.js","src/image-resource.js","src/client.js"],"sourcesContent":["/*\nThe MIT License (MIT)\nCopyright (c) 2016 Shopify Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE\nOR OTHER DEALINGS IN THE SOFTWARE.\n\n\n*/\nfunction join() {\n for (var _len = arguments.length, fields = Array(_len), _key = 0; _key < _len; _key++) {\n fields[_key] = arguments[_key];\n }\n\n return fields.join(' ');\n}\n\nfunction isObject(value) {\n return Boolean(value) && Object.prototype.toString.call(value.valueOf()) === '[object Object]';\n}\n\nfunction deepFreezeCopyExcept(predicate, structure) {\n if (predicate(structure)) {\n return structure;\n } else if (isObject(structure)) {\n return Object.freeze(Object.keys(structure).reduce(function (copy, key) {\n copy[key] = deepFreezeCopyExcept(predicate, structure[key]);\n\n return copy;\n }, {}));\n } else if (Array.isArray(structure)) {\n return Object.freeze(structure.map(function (item) {\n return deepFreezeCopyExcept(predicate, item);\n }));\n } else {\n return structure;\n }\n}\n\nfunction schemaForType(typeBundle, typeName) {\n var type = typeBundle.types[typeName];\n\n if (type) {\n return type;\n }\n\n throw new Error(\"No type of \" + typeName + \" found in schema\");\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n\n\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nvar VariableDefinition = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#variable} to create a VariableDefinition.\n *\n * @param {String} name The name of the variable.\n * @param {String} type The GraphQL type of the variable.\n * @param {*} [defaultValue] The default value of the variable.\n */\n function VariableDefinition(name, type, defaultValue) {\n classCallCheck(this, VariableDefinition);\n\n this.name = name;\n this.type = type;\n this.defaultValue = defaultValue;\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the variable as an input value (e.g. `$variableName`).\n *\n * @return {String} The GraphQL query string for the variable as an input value.\n */\n\n\n createClass(VariableDefinition, [{\n key: 'toInputValueString',\n value: function toInputValueString() {\n return '$' + this.name;\n }\n\n /**\n * Returns the GraphQL query string for the variable (e.g. `$variableName:VariableType = defaultValue`).\n *\n * @return {String} The GraphQL query string for the variable.\n */\n\n }, {\n key: 'toString',\n value: function toString() {\n var defaultValueString = this.defaultValue ? ' = ' + formatInputValue(this.defaultValue) : '';\n\n return '$' + this.name + ':' + this.type + defaultValueString;\n }\n }]);\n return VariableDefinition;\n}();\n\nfunction isVariable(value) {\n return VariableDefinition.prototype.isPrototypeOf(value);\n}\n\nfunction variable(name, type, defaultValue) {\n return new VariableDefinition(name, type, defaultValue);\n}\n\nvar Enum = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#enum} to create an Enum.\n *\n * @param {String} key The key of the enum.\n */\n function Enum(key) {\n classCallCheck(this, Enum);\n\n this.key = key;\n }\n\n /**\n * Returns the GraphQL query string for the enum (e.g. `enumKey`).\n *\n * @return {String} The GraphQL query string for the enum.\n */\n\n\n createClass(Enum, [{\n key: \"toString\",\n value: function toString() {\n return this.key;\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n return this.key.valueOf();\n }\n }]);\n return Enum;\n}();\n\nvar enumFunction = (function (key) {\n return new Enum(key);\n});\n\nvar Scalar = function () {\n function Scalar(value) {\n classCallCheck(this, Scalar);\n\n this.value = value;\n }\n\n createClass(Scalar, [{\n key: \"toString\",\n value: function toString() {\n return this.value.toString();\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n return this.value.valueOf();\n }\n }, {\n key: \"unwrapped\",\n get: function get$$1() {\n return this.value;\n }\n }]);\n return Scalar;\n}();\n\nfunction formatInputValue(value) {\n if (VariableDefinition.prototype.isPrototypeOf(value)) {\n return value.toInputValueString();\n } else if (Enum.prototype.isPrototypeOf(value)) {\n return String(value);\n } else if (Scalar.prototype.isPrototypeOf(value)) {\n return JSON.stringify(value.valueOf());\n } else if (Array.isArray(value)) {\n return '[' + join.apply(undefined, toConsumableArray(value.map(formatInputValue))) + ']';\n } else if (isObject(value)) {\n return formatObject(value, '{', '}');\n } else {\n return JSON.stringify(value);\n }\n}\n\nfunction formatObject(value) {\n var openChar = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var closeChar = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n\n var argPairs = Object.keys(value).map(function (key) {\n return key + ': ' + formatInputValue(value[key]);\n });\n\n return '' + openChar + join.apply(undefined, toConsumableArray(argPairs)) + closeChar;\n}\n\nfunction formatArgs(args) {\n if (!Object.keys(args).length) {\n return '';\n }\n\n return ' (' + formatObject(args) + ')';\n}\n\n// eslint-disable-next-line no-empty-function\nvar noop = (function () {});\n\nvar Profiler = {\n trackTypeDependency: noop,\n trackFieldDependency: noop\n};\n\nvar trackTypeDependency = Profiler.trackTypeDependency;\nvar trackFieldDependency = Profiler.trackFieldDependency;\n\n\nfunction parseFieldCreationArgs(creationArgs) {\n var callback = noop;\n var options = {};\n var selectionSet = null;\n\n if (creationArgs.length === 2) {\n if (typeof creationArgs[1] === 'function') {\n var _creationArgs = slicedToArray(creationArgs, 2);\n\n options = _creationArgs[0];\n callback = _creationArgs[1];\n } else {\n var _creationArgs2 = slicedToArray(creationArgs, 2);\n\n options = _creationArgs2[0];\n selectionSet = _creationArgs2[1];\n }\n } else if (creationArgs.length === 1) {\n // SelectionSet is defined before this function is called since it's\n // called by SelectionSet\n // eslint-disable-next-line no-use-before-define\n if (SelectionSet.prototype.isPrototypeOf(creationArgs[0])) {\n selectionSet = creationArgs[0];\n } else if (typeof creationArgs[0] === 'function') {\n callback = creationArgs[0];\n } else {\n options = creationArgs[0];\n }\n }\n\n return { options: options, selectionSet: selectionSet, callback: callback };\n}\n\nvar emptyArgs = Object.freeze({});\n\nvar Field = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Fields are added to a selection by {@link SelectionSetBuilder#add}, {@link SelectionSetBuilder#addConnection}\n * and {@link SelectionSetBuilder#addInlineFragmentOn}.\n *\n * @param {String} name The name of the field.\n * @param {Object} [options] An options object containing:\n * @param {Object} [options.args] Arguments for the field.\n * @param {String} [options.alias] An alias for the field.\n * @param {SelectionSet} selectionSet The selection set on the field.\n */\n function Field(name, options, selectionSet) {\n classCallCheck(this, Field);\n\n this.name = name;\n this.alias = options.alias || null;\n this.responseKey = this.alias || this.name;\n this.args = options.args ? deepFreezeCopyExcept(isVariable, options.args) : emptyArgs;\n this.selectionSet = selectionSet;\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the Field (e.g. `catAlias: cat(size: 'small') { name }` or `name`).\n *\n * @return {String} The GraphQL query string for the Field.\n */\n\n\n createClass(Field, [{\n key: 'toString',\n value: function toString() {\n var aliasPrefix = this.alias ? this.alias + ': ' : '';\n\n return '' + aliasPrefix + this.name + formatArgs(this.args) + this.selectionSet;\n }\n }]);\n return Field;\n}();\n\n// This is an interface that defines a usage, and simplifies type checking\nvar Spread = function Spread() {\n classCallCheck(this, Spread);\n};\n\nvar InlineFragment = function (_Spread) {\n inherits(InlineFragment, _Spread);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link SelectionSetBuilder#addInlineFragmentOn} to create an InlineFragment.\n *\n * @param {String} typeName The type of the fragment.\n * @param {SelectionSet} selectionSet The selection set on the fragment.\n */\n function InlineFragment(typeName, selectionSet) {\n classCallCheck(this, InlineFragment);\n\n var _this = possibleConstructorReturn(this, (InlineFragment.__proto__ || Object.getPrototypeOf(InlineFragment)).call(this));\n\n _this.typeName = typeName;\n _this.selectionSet = selectionSet;\n Object.freeze(_this);\n return _this;\n }\n\n /**\n * Returns the GraphQL query string for the InlineFragment (e.g. `... on Cat { name }`).\n *\n * @return {String} The GraphQL query string for the InlineFragment.\n */\n\n\n createClass(InlineFragment, [{\n key: 'toString',\n value: function toString() {\n return '... on ' + this.typeName + this.selectionSet;\n }\n }]);\n return InlineFragment;\n}(Spread);\n\nvar FragmentSpread = function (_Spread2) {\n inherits(FragmentSpread, _Spread2);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Document#defineFragment} to create a FragmentSpread.\n *\n * @param {FragmentDefinition} fragmentDefinition The corresponding fragment definition.\n */\n function FragmentSpread(fragmentDefinition) {\n classCallCheck(this, FragmentSpread);\n\n var _this2 = possibleConstructorReturn(this, (FragmentSpread.__proto__ || Object.getPrototypeOf(FragmentSpread)).call(this));\n\n _this2.name = fragmentDefinition.name;\n _this2.selectionSet = fragmentDefinition.selectionSet;\n Object.freeze(_this2);\n return _this2;\n }\n\n /**\n * Returns the GraphQL query string for the FragmentSpread (e.g. `...catName`).\n *\n * @return {String} The GraphQL query string for the FragmentSpread.\n */\n\n\n createClass(FragmentSpread, [{\n key: 'toString',\n value: function toString() {\n return '...' + this.name;\n }\n }, {\n key: 'toDefinition',\n value: function toDefinition() {\n // eslint-disable-next-line no-use-before-define\n return new FragmentDefinition(this.name, this.selectionSet.typeSchema.name, this.selectionSet);\n }\n }]);\n return FragmentSpread;\n}(Spread);\n\nvar FragmentDefinition = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Document#defineFragment} to create a FragmentDefinition on a {@link Document}.\n *\n * @param {String} name The name of the fragment definition.\n * @param {String} typeName The type of the fragment.\n */\n function FragmentDefinition(name, typeName, selectionSet) {\n classCallCheck(this, FragmentDefinition);\n\n this.name = name;\n this.typeName = typeName;\n this.selectionSet = selectionSet;\n this.spread = new FragmentSpread(this);\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the FragmentDefinition (e.g. `fragment catName on Cat { name }`).\n *\n * @return {String} The GraphQL query string for the FragmentDefinition.\n */\n\n\n createClass(FragmentDefinition, [{\n key: 'toString',\n value: function toString() {\n return 'fragment ' + this.name + ' on ' + this.typeName + ' ' + this.selectionSet;\n }\n }]);\n return FragmentDefinition;\n}();\n\nfunction selectionsHaveIdField(selections) {\n return selections.some(function (fieldOrFragment) {\n if (Field.prototype.isPrototypeOf(fieldOrFragment)) {\n return fieldOrFragment.name === 'id';\n } else if (Spread.prototype.isPrototypeOf(fieldOrFragment) && fieldOrFragment.selectionSet.typeSchema.implementsNode) {\n return selectionsHaveIdField(fieldOrFragment.selectionSet.selections);\n }\n\n return false;\n });\n}\n\nfunction selectionsHaveTypenameField(selections) {\n return selections.some(function (fieldOrFragment) {\n if (Field.prototype.isPrototypeOf(fieldOrFragment)) {\n return fieldOrFragment.name === '__typename';\n } else if (Spread.prototype.isPrototypeOf(fieldOrFragment) && fieldOrFragment.selectionSet.typeSchema.implementsNode) {\n return selectionsHaveTypenameField(fieldOrFragment.selectionSet.selections);\n }\n\n return false;\n });\n}\n\nfunction indexSelectionsByResponseKey(selections) {\n function assignOrPush(obj, key, value) {\n if (Array.isArray(obj[key])) {\n obj[key].push(value);\n } else {\n obj[key] = [value];\n }\n }\n var unfrozenObject = selections.reduce(function (acc, selection) {\n if (selection.responseKey) {\n assignOrPush(acc, selection.responseKey, selection);\n } else {\n var responseKeys = Object.keys(selection.selectionSet.selectionsByResponseKey);\n\n responseKeys.forEach(function (responseKey) {\n assignOrPush(acc, responseKey, selection);\n });\n }\n\n return acc;\n }, {});\n\n Object.keys(unfrozenObject).forEach(function (key) {\n Object.freeze(unfrozenObject[key]);\n });\n\n return Object.freeze(unfrozenObject);\n}\n\n/**\n * Class that specifies the full selection of data to query.\n */\n\nvar SelectionSet = function () {\n\n /**\n * This constructor should not be invoked directly. SelectionSets are created when building queries/mutations.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {(Object|String)} type The type of the current selection.\n * @param {Function} builderFunction Callback function used to build the SelectionSet.\n * The callback takes a {@link SelectionSetBuilder} as its argument.\n */\n function SelectionSet(typeBundle, type, builderFunction) {\n classCallCheck(this, SelectionSet);\n\n\n if (typeof type === 'string') {\n this.typeSchema = schemaForType(typeBundle, type);\n } else {\n this.typeSchema = type;\n }\n\n trackTypeDependency(this.typeSchema.name);\n\n this.typeBundle = typeBundle;\n this.selections = [];\n if (builderFunction) {\n // eslint-disable-next-line no-use-before-define\n builderFunction(new SelectionSetBuilder(this.typeBundle, this.typeSchema, this.selections));\n }\n\n if (this.typeSchema.implementsNode || this.typeSchema.name === 'Node') {\n if (!selectionsHaveIdField(this.selections)) {\n this.selections.unshift(new Field('id', {}, new SelectionSet(typeBundle, 'ID')));\n }\n }\n\n if (this.typeSchema.kind === 'INTERFACE') {\n if (!selectionsHaveTypenameField(this.selections)) {\n this.selections.unshift(new Field('__typename', {}, new SelectionSet(typeBundle, 'String')));\n }\n }\n\n this.selectionsByResponseKey = indexSelectionsByResponseKey(this.selections);\n Object.freeze(this.selections);\n Object.freeze(this);\n }\n\n /**\n * Returns the GraphQL query string for the SelectionSet (e.g. `{ cat { name } }`).\n *\n * @return {String} The GraphQL query string for the SelectionSet.\n */\n\n\n createClass(SelectionSet, [{\n key: 'toString',\n value: function toString() {\n if (this.typeSchema.kind === 'SCALAR' || this.typeSchema.kind === 'ENUM') {\n return '';\n } else {\n return ' { ' + join(this.selections) + ' }';\n }\n }\n }]);\n return SelectionSet;\n}();\n\nvar SelectionSetBuilder = function () {\n\n /**\n * This constructor should not be invoked directly. SelectionSetBuilders are created when building queries/mutations.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {Object} typeSchema The schema object for the type of the current selection.\n * @param {Field[]} selections The fields on the current selection.\n */\n function SelectionSetBuilder(typeBundle, typeSchema, selections) {\n classCallCheck(this, SelectionSetBuilder);\n\n this.typeBundle = typeBundle;\n this.typeSchema = typeSchema;\n this.selections = selections;\n }\n\n createClass(SelectionSetBuilder, [{\n key: 'hasSelectionWithResponseKey',\n value: function hasSelectionWithResponseKey(responseKey) {\n return this.selections.some(function (field) {\n return field.responseKey === responseKey;\n });\n }\n\n /**\n * Adds a field to be queried on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.add('cat', {args: {id: '123456'}, alias: 'meow'}, (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {SelectionSet|String} selectionOrFieldName The selection or name of the field to add.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{id: '123456'}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'add',\n value: function add(selectionOrFieldName) {\n var selection = void 0;\n\n if (Object.prototype.toString.call(selectionOrFieldName) === '[object String]') {\n trackFieldDependency(this.typeSchema.name, selectionOrFieldName);\n\n for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n selection = this.field.apply(this, [selectionOrFieldName].concat(rest));\n } else {\n if (Field.prototype.isPrototypeOf(selectionOrFieldName)) {\n trackFieldDependency(this.typeSchema.name, selectionOrFieldName.name);\n }\n\n selection = selectionOrFieldName;\n }\n\n if (selection.responseKey && this.hasSelectionWithResponseKey(selection.responseKey)) {\n throw new Error('The field name or alias \\'' + selection.responseKey + '\\' has already been added.');\n }\n this.selections.push(selection);\n }\n }, {\n key: 'field',\n value: function field(name) {\n for (var _len2 = arguments.length, creationArgs = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n creationArgs[_key2 - 1] = arguments[_key2];\n }\n\n var parsedArgs = parseFieldCreationArgs(creationArgs);\n var options = parsedArgs.options,\n callback = parsedArgs.callback;\n var selectionSet = parsedArgs.selectionSet;\n\n\n if (!selectionSet) {\n if (!this.typeSchema.fieldBaseTypes[name]) {\n throw new Error('No field of name \"' + name + '\" found on type \"' + this.typeSchema.name + '\" in schema');\n }\n\n var fieldBaseType = schemaForType(this.typeBundle, this.typeSchema.fieldBaseTypes[name]);\n\n selectionSet = new SelectionSet(this.typeBundle, fieldBaseType, callback);\n }\n\n return new Field(name, options, selectionSet);\n }\n\n /**\n * Creates an inline fragment.\n *\n * @access private\n * @param {String} typeName The type the inline fragment.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n * @return {InlineFragment} An inline fragment.\n */\n\n }, {\n key: 'inlineFragmentOn',\n value: function inlineFragmentOn(typeName) {\n var builderFunctionOrSelectionSet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var selectionSet = void 0;\n\n if (SelectionSet.prototype.isPrototypeOf(builderFunctionOrSelectionSet)) {\n selectionSet = builderFunctionOrSelectionSet;\n } else {\n selectionSet = new SelectionSet(this.typeBundle, schemaForType(this.typeBundle, typeName), builderFunctionOrSelectionSet);\n }\n\n return new InlineFragment(typeName, selectionSet);\n }\n\n /**\n * Adds a field to be queried on the current selection.\n *\n * @access private\n * @param {String} name The name of the field to add to the query.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{id: '123456'}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function} [callback] Callback which will be used to create a new {@link SelectionSet} for the field added.\n */\n\n }, {\n key: 'addField',\n value: function addField(name) {\n for (var _len3 = arguments.length, creationArgs = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n creationArgs[_key3 - 1] = arguments[_key3];\n }\n\n this.add.apply(this, [name].concat(creationArgs));\n }\n\n /**\n * Adds a connection to be queried on the current selection.\n * This adds all the fields necessary for pagination.\n *\n * @example\n * client.query((root) => {\n * root.add('cat', (cat) => {\n * cat.addConnection('friends', {args: {first: 10}, alias: 'coolCats'}, (friends) => {\n * friends.add('name');\n * });\n * });\n * });\n *\n * @param {String} name The name of the connection to add to the query.\n * @param {Object} [options] Options on the query including:\n * @param {Object} [options.args] Arguments on the query (e.g. `{first: 10}`).\n * @param {String} [options.alias] Alias for the field being added.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'addConnection',\n value: function addConnection(name) {\n for (var _len4 = arguments.length, creationArgs = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n creationArgs[_key4 - 1] = arguments[_key4];\n }\n\n var _parseFieldCreationAr = parseFieldCreationArgs(creationArgs),\n options = _parseFieldCreationAr.options,\n callback = _parseFieldCreationAr.callback,\n selectionSet = _parseFieldCreationAr.selectionSet;\n\n this.add(name, options, function (connection) {\n connection.add('pageInfo', {}, function (pageInfo) {\n pageInfo.add('hasNextPage');\n pageInfo.add('hasPreviousPage');\n });\n connection.add('edges', {}, function (edges) {\n edges.add('cursor');\n edges.addField('node', {}, selectionSet || callback); // This is bad. Don't do this\n });\n });\n }\n\n /**\n * Adds an inline fragment on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.add('animal', (animal) => {\n * animal.addInlineFragmentOn('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {String} typeName The name of the type of the inline fragment.\n * @param {Function|SelectionSet} [callbackOrSelectionSet] Either a callback which will be used to create a new {@link SelectionSet}, or an existing {@link SelectionSet}.\n */\n\n }, {\n key: 'addInlineFragmentOn',\n value: function addInlineFragmentOn(typeName) {\n var fieldTypeCb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n this.add(this.inlineFragmentOn(typeName, fieldTypeCb));\n }\n\n /**\n * Adds a fragment spread on the current selection.\n *\n * @example\n * client.query((root) => {\n * root.addFragment(catFragmentSpread);\n * });\n *\n * @param {FragmentSpread} fragmentSpread The fragment spread to add.\n */\n\n }, {\n key: 'addFragment',\n value: function addFragment(fragmentSpread) {\n this.add(fragmentSpread);\n }\n }]);\n return SelectionSetBuilder;\n}();\n\nfunction parseArgs(args) {\n var name = void 0;\n var variables = void 0;\n var selectionSetCallback = void 0;\n\n if (args.length === 3) {\n var _args = slicedToArray(args, 3);\n\n name = _args[0];\n variables = _args[1];\n selectionSetCallback = _args[2];\n } else if (args.length === 2) {\n if (Object.prototype.toString.call(args[0]) === '[object String]') {\n name = args[0];\n variables = null;\n } else if (Array.isArray(args[0])) {\n variables = args[0];\n name = null;\n }\n\n selectionSetCallback = args[1];\n } else {\n selectionSetCallback = args[0];\n name = null;\n }\n\n return { name: name, variables: variables, selectionSetCallback: selectionSetCallback };\n}\n\nvar VariableDefinitions = function () {\n function VariableDefinitions(variableDefinitions) {\n classCallCheck(this, VariableDefinitions);\n\n this.variableDefinitions = variableDefinitions ? [].concat(toConsumableArray(variableDefinitions)) : [];\n Object.freeze(this.variableDefinitions);\n Object.freeze(this);\n }\n\n createClass(VariableDefinitions, [{\n key: 'toString',\n value: function toString() {\n if (this.variableDefinitions.length === 0) {\n return '';\n }\n\n return ' (' + join(this.variableDefinitions) + ') ';\n }\n }]);\n return VariableDefinitions;\n}();\n\n/**\n * Base class for {@link Query} and {@link Mutation}.\n * @abstract\n */\n\n\nvar Operation = function () {\n\n /**\n * This constructor should not be invoked. The subclasses {@link Query} and {@link Mutation} should be used instead.\n */\n function Operation(typeBundle, operationType) {\n classCallCheck(this, Operation);\n\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var _parseArgs = parseArgs(args),\n name = _parseArgs.name,\n variables = _parseArgs.variables,\n selectionSetCallback = _parseArgs.selectionSetCallback;\n\n this.typeBundle = typeBundle;\n this.name = name;\n this.variableDefinitions = new VariableDefinitions(variables);\n this.operationType = operationType;\n if (operationType === 'query') {\n this.selectionSet = new SelectionSet(typeBundle, typeBundle.queryType, selectionSetCallback);\n this.typeSchema = schemaForType(typeBundle, typeBundle.queryType);\n } else {\n this.selectionSet = new SelectionSet(typeBundle, typeBundle.mutationType, selectionSetCallback);\n this.typeSchema = schemaForType(typeBundle, typeBundle.mutationType);\n }\n Object.freeze(this);\n }\n\n /**\n * Whether the operation is anonymous (i.e. has no name).\n */\n\n\n createClass(Operation, [{\n key: 'toString',\n\n\n /**\n * Returns the GraphQL query or mutation string (e.g. `query myQuery { cat { name } }`).\n *\n * @return {String} The GraphQL query or mutation string.\n */\n value: function toString() {\n var nameString = this.name ? ' ' + this.name : '';\n\n return '' + this.operationType + nameString + this.variableDefinitions + this.selectionSet;\n }\n }, {\n key: 'isAnonymous',\n get: function get$$1() {\n return !this.name;\n }\n }]);\n return Operation;\n}();\n\n/**\n * GraphQL Query class.\n * @extends Operation\n */\n\nvar Query = function (_Operation) {\n inherits(Query, _Operation);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory functions {@link Client#query} or {@link Document#addQuery} to create a Query.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {String} [name] A name for the query.\n * @param {Object[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n */\n function Query(typeBundle) {\n var _ref;\n\n classCallCheck(this, Query);\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return possibleConstructorReturn(this, (_ref = Query.__proto__ || Object.getPrototypeOf(Query)).call.apply(_ref, [this, typeBundle, 'query'].concat(args)));\n }\n\n return Query;\n}(Operation);\n\n/**\n * GraphQL Mutation class.\n * @extends Operation\n */\n\nvar Mutation = function (_Operation) {\n inherits(Mutation, _Operation);\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory functions {@link Client#mutation} or {@link Document#addMutation} to create a Mutation.\n *\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {String} [name] A name for the mutation.\n * @param {Object[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The mutation builder callback.\n * A {@link SelectionSet} is created using this callback.\n */\n function Mutation(typeBundle) {\n var _ref;\n\n classCallCheck(this, Mutation);\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return possibleConstructorReturn(this, (_ref = Mutation.__proto__ || Object.getPrototypeOf(Mutation)).call.apply(_ref, [this, typeBundle, 'mutation'].concat(args)));\n }\n\n return Mutation;\n}(Operation);\n\nfunction isAnonymous(operation) {\n return operation.isAnonymous;\n}\n\nfunction hasAnonymousOperations(operations) {\n return operations.some(isAnonymous);\n}\n\nfunction hasDuplicateOperationNames(operations) {\n var names = operations.map(function (operation) {\n return operation.name;\n });\n\n return names.reduce(function (hasDuplicates, name, index) {\n return hasDuplicates || names.indexOf(name) !== index;\n }, false);\n}\n\nfunction extractOperation(typeBundle, operationType) {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (Operation.prototype.isPrototypeOf(args[0])) {\n return args[0];\n }\n\n if (operationType === 'query') {\n return new (Function.prototype.bind.apply(Query, [null].concat([typeBundle], args)))();\n } else {\n return new (Function.prototype.bind.apply(Mutation, [null].concat([typeBundle], args)))();\n }\n}\n\nfunction isInvalidOperationCombination(operations) {\n if (operations.length === 1) {\n return false;\n }\n\n return hasAnonymousOperations(operations) || hasDuplicateOperationNames(operations);\n}\n\nfunction fragmentNameIsNotUnique(existingDefinitions, name) {\n return existingDefinitions.some(function (definition) {\n return definition.name === name;\n });\n}\n\nvar Document = function () {\n\n /**\n * This constructor should not be invoked directly.\n * Use the factory function {@link Client#document} to create a Document.\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n */\n function Document(typeBundle) {\n classCallCheck(this, Document);\n\n this.typeBundle = typeBundle;\n this.definitions = [];\n }\n\n /**\n * Returns the GraphQL query string for the Document (e.g. `query queryOne { ... } query queryTwo { ... }`).\n *\n * @return {String} The GraphQL query string for the Document.\n */\n\n\n createClass(Document, [{\n key: 'toString',\n value: function toString() {\n return join(this.definitions);\n }\n\n /**\n * Adds an operation to the Document.\n *\n * @private\n * @param {String} operationType The type of the operation. Either 'query' or 'mutation'.\n * @param {(Operation|String)} [query|queryName] Either an instance of an operation\n * object, or the name of an operation. Both are optional.\n * @param {Object[]} [variables] A list of variables in the operation. See {@link Client#variable}.\n * @param {Function} [callback] The query builder callback. If an operation\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addOperation',\n value: function addOperation(operationType) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n var operation = extractOperation.apply(undefined, [this.typeBundle, operationType].concat(args));\n\n if (isInvalidOperationCombination(this.operations.concat(operation))) {\n throw new Error('All operations must be uniquely named on a multi-operation document');\n }\n\n this.definitions.push(operation);\n }\n\n /**\n * Adds a query to the Document.\n *\n * @example\n * document.addQuery('myQuery', (root) => {\n * root.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {(Query|String)} [query|queryName] Either an instance of a query\n * object, or the name of a query. Both are optional.\n * @param {Object[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} [callback] The query builder callback. If a query\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addQuery',\n value: function addQuery() {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n this.addOperation.apply(this, ['query'].concat(args));\n }\n\n /**\n * Adds a mutation to the Document.\n *\n * @example\n * const input = client.variable('input', 'CatCreateInput!');\n *\n * document.addMutation('myMutation', [input], (root) => {\n * root.add('catCreate', {args: {input}}, (catCreate) => {\n * catCreate.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {(Mutation|String)} [mutation|mutationName] Either an instance of a mutation\n * object, or the name of a mutation. Both are optional.\n * @param {Object[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} [callback] The mutation builder callback. If a mutation\n * instance is passed, this callback will be ignored.\n * A {@link SelectionSet} is created using this callback.\n */\n\n }, {\n key: 'addMutation',\n value: function addMutation() {\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n this.addOperation.apply(this, ['mutation'].concat(args));\n }\n\n /**\n * Defines a fragment on the Document.\n *\n * @param {String} name The name of the fragment.\n * @param {String} onType The type the fragment is on.\n * @param {Function} [builderFunction] The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {FragmentSpread} A {@link FragmentSpread} to be used with {@link SelectionSetBuilder#addFragment}.\n */\n\n }, {\n key: 'defineFragment',\n value: function defineFragment(name, onType, builderFunction) {\n if (fragmentNameIsNotUnique(this.fragmentDefinitions, name)) {\n throw new Error('All fragments must be uniquely named on a multi-fragment document');\n }\n\n var selectionSet = new SelectionSet(this.typeBundle, onType, builderFunction);\n var fragment = new FragmentDefinition(name, onType, selectionSet);\n\n this.definitions.push(fragment);\n\n return fragment.spread;\n }\n\n /**\n * All operations ({@link Query} and {@link Mutation}) on the Document.\n */\n\n }, {\n key: 'operations',\n get: function get$$1() {\n return this.definitions.filter(function (definition) {\n return Operation.prototype.isPrototypeOf(definition);\n });\n }\n\n /**\n * All {@link FragmentDefinition}s on the Document.\n */\n\n }, {\n key: 'fragmentDefinitions',\n get: function get$$1() {\n return this.definitions.filter(function (definition) {\n return FragmentDefinition.prototype.isPrototypeOf(definition);\n });\n }\n }]);\n return Document;\n}();\n\n/**\n * The base class used when deserializing response data.\n * Provides rich features, like functions to generate queries to refetch a node or fetch the next page.\n *\n * @class\n */\nvar GraphModel =\n\n/**\n * @param {Object} attrs Attributes on the GraphModel.\n */\nfunction GraphModel(attrs) {\n var _this = this;\n\n classCallCheck(this, GraphModel);\n\n Object.defineProperty(this, 'attrs', { value: attrs, enumerable: false });\n\n Object.keys(this.attrs).filter(function (key) {\n return !(key in _this);\n }).forEach(function (key) {\n var descriptor = void 0;\n\n if (attrs[key] === null) {\n descriptor = {\n enumerable: true,\n get: function get$$1() {\n return null;\n }\n };\n } else {\n descriptor = {\n enumerable: true,\n get: function get$$1() {\n return this.attrs[key].valueOf();\n }\n };\n }\n Object.defineProperty(_this, key, descriptor);\n });\n};\n\n/**\n * A registry of classes used to deserialize the response data. Uses {@link GraphModel} by default.\n */\n\nvar ClassRegistry = function () {\n function ClassRegistry() {\n classCallCheck(this, ClassRegistry);\n\n this.classStore = {};\n }\n\n /**\n * Registers a class for a GraphQL type in the registry.\n *\n * @param {Class} constructor The constructor of the class.\n * @param {String} type The GraphQL type of the object to deserialize into the class.\n */\n\n\n createClass(ClassRegistry, [{\n key: 'registerClassForType',\n value: function registerClassForType(constructor, type) {\n this.classStore[type] = constructor;\n }\n\n /**\n * Unregisters a class for a GraphQL type in the registry.\n *\n * @param {String} type The GraphQL type to unregister.\n */\n\n }, {\n key: 'unregisterClassForType',\n value: function unregisterClassForType(type) {\n delete this.classStore[type];\n }\n\n /**\n * Returns the class for the given GraphQL type.\n *\n * @param {String} type The GraphQL type to look up.\n * @return {Class|GraphModel} The class for the given GraphQL type. Defaults to {@link GraphModel} if no class is registered for the GraphQL type.\n */\n\n }, {\n key: 'classForType',\n value: function classForType(type) {\n return this.classStore[type] || GraphModel;\n }\n }]);\n return ClassRegistry;\n}();\n\nfunction isValue(arg) {\n return Object.prototype.toString.call(arg) !== '[object Null]' && Object.prototype.toString.call(arg) !== '[object Undefined]';\n}\n\nfunction isNodeContext(context) {\n return context.selection.selectionSet.typeSchema.implementsNode;\n}\n\nfunction isConnection(context) {\n return context.selection.selectionSet.typeSchema.name.endsWith('Connection');\n}\n\nfunction nearestNode(context) {\n if (context == null) {\n return null;\n } else if (isNodeContext(context)) {\n return context;\n } else {\n return nearestNode(context.parent);\n }\n}\n\nfunction contextsFromRoot(context) {\n if (context.parent) {\n return contextsFromRoot(context.parent).concat(context);\n } else {\n return [context];\n }\n}\n\nfunction contextsFromNearestNode(context) {\n if (context.selection.selectionSet.typeSchema.implementsNode) {\n return [context];\n } else {\n return contextsFromNearestNode(context.parent).concat(context);\n }\n}\n\nfunction initializeDocumentAndVars(currentContext, contextChain) {\n var lastInChain = contextChain[contextChain.length - 1];\n var first = lastInChain.selection.args.first;\n var variableDefinitions = Object.keys(lastInChain.selection.args).filter(function (key) {\n return isVariable(lastInChain.selection.args[key]);\n }).map(function (key) {\n return lastInChain.selection.args[key];\n });\n\n var firstVar = variableDefinitions.find(function (definition) {\n return definition.name === 'first';\n });\n\n if (!firstVar) {\n firstVar = variable('first', 'Int', first);\n variableDefinitions.push(firstVar);\n }\n\n var document = new Document(currentContext.selection.selectionSet.typeBundle);\n\n return [document, variableDefinitions, firstVar];\n}\n\nfunction addNextFieldTo(currentSelection, contextChain, path, cursor) {\n // There are always at least two. When we start, it's the root context, and the first set\n var nextContext = contextChain.shift();\n\n path.push(nextContext.selection.responseKey);\n\n if (contextChain.length) {\n currentSelection.add(nextContext.selection.name, { alias: nextContext.selection.alias, args: nextContext.selection.args }, function (newSelection) {\n addNextFieldTo(newSelection, contextChain, path, cursor);\n });\n } else {\n var edgesField = nextContext.selection.selectionSet.selections.find(function (field) {\n return field.name === 'edges';\n });\n var nodeField = edgesField.selectionSet.selections.find(function (field) {\n return field.name === 'node';\n });\n var first = void 0;\n\n if (isVariable(nextContext.selection.args.first)) {\n first = nextContext.selection.args.first;\n } else {\n first = variable('first', 'Int', nextContext.selection.args.first);\n }\n\n var options = {\n alias: nextContext.selection.alias,\n args: Object.assign({}, nextContext.selection.args, { after: cursor, first: first })\n };\n\n currentSelection.addConnection(nextContext.selection.name, options, nodeField.selectionSet);\n }\n}\n\nfunction collectFragments(selections) {\n return selections.reduce(function (fragmentDefinitions, field) {\n if (FragmentSpread.prototype.isPrototypeOf(field)) {\n fragmentDefinitions.push(field.toDefinition());\n }\n\n fragmentDefinitions.push.apply(fragmentDefinitions, toConsumableArray(collectFragments(field.selectionSet.selections)));\n\n return fragmentDefinitions;\n }, []);\n}\n\nfunction nextPageQueryAndPath(context, cursor) {\n var nearestNodeContext = nearestNode(context);\n\n if (nearestNodeContext) {\n return function () {\n var _document$definitions;\n\n var path = [];\n var nodeType = nearestNodeContext.selection.selectionSet.typeSchema;\n var nodeId = nearestNodeContext.responseData.id;\n var contextChain = contextsFromNearestNode(context);\n\n var _initializeDocumentAn = initializeDocumentAndVars(context, contextChain),\n _initializeDocumentAn2 = slicedToArray(_initializeDocumentAn, 2),\n document = _initializeDocumentAn2[0],\n variableDefinitions = _initializeDocumentAn2[1];\n\n document.addQuery(variableDefinitions, function (root) {\n path.push('node');\n root.add('node', { args: { id: nodeId } }, function (node) {\n node.addInlineFragmentOn(nodeType.name, function (fragment) {\n addNextFieldTo(fragment, contextChain.slice(1), path, cursor);\n });\n });\n });\n\n var fragments = collectFragments(document.operations[0].selectionSet.selections);\n\n (_document$definitions = document.definitions).unshift.apply(_document$definitions, toConsumableArray(fragments));\n\n return [document, path];\n };\n } else {\n return function () {\n var _document$definitions2;\n\n var path = [];\n var contextChain = contextsFromRoot(context);\n\n var _initializeDocumentAn3 = initializeDocumentAndVars(context, contextChain),\n _initializeDocumentAn4 = slicedToArray(_initializeDocumentAn3, 2),\n document = _initializeDocumentAn4[0],\n variableDefinitions = _initializeDocumentAn4[1];\n\n document.addQuery(variableDefinitions, function (root) {\n addNextFieldTo(root, contextChain.slice(1), path, cursor);\n });\n\n var fragments = collectFragments(document.operations[0].selectionSet.selections);\n\n (_document$definitions2 = document.definitions).unshift.apply(_document$definitions2, toConsumableArray(fragments));\n\n return [document, path];\n };\n }\n}\n\nfunction hasNextPage$1(connection, edge) {\n if (edge !== connection.edges[connection.edges.length - 1]) {\n return new Scalar(true);\n }\n\n return connection.pageInfo.hasNextPage;\n}\n\nfunction hasPreviousPage(connection, edge) {\n if (edge !== connection.edges[0]) {\n return new Scalar(true);\n }\n\n return connection.pageInfo.hasPreviousPage;\n}\n\nfunction transformConnections(variableValues) {\n return function (context, value) {\n if (isConnection(context)) {\n if (!(value.pageInfo && value.pageInfo.hasOwnProperty('hasNextPage') && value.pageInfo.hasOwnProperty('hasPreviousPage'))) {\n throw new Error('Connections must include the selections \"pageInfo { hasNextPage, hasPreviousPage }\".');\n }\n\n return value.edges.map(function (edge) {\n return Object.assign(edge.node, {\n nextPageQueryAndPath: nextPageQueryAndPath(context, edge.cursor),\n hasNextPage: hasNextPage$1(value, edge),\n hasPreviousPage: hasPreviousPage(value, edge),\n variableValues: variableValues\n });\n });\n } else {\n return value;\n }\n };\n}\n\n/* eslint-disable no-warning-comments */\nvar DecodingContext = function () {\n function DecodingContext(selection, responseData) {\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n classCallCheck(this, DecodingContext);\n\n this.selection = selection;\n this.responseData = responseData;\n this.parent = parent;\n Object.freeze(this);\n }\n\n createClass(DecodingContext, [{\n key: 'contextForObjectProperty',\n value: function contextForObjectProperty(responseKey) {\n var nestedSelections = this.selection.selectionSet.selectionsByResponseKey[responseKey];\n var nextSelection = nestedSelections && nestedSelections[0];\n var nextContext = void 0;\n\n // fragment spreads operate inside the current context, so we recurse to get the proper\n // selection set, but retain the current response context\n if (Spread.prototype.isPrototypeOf(nextSelection)) {\n nextContext = new DecodingContext(nextSelection, this.responseData, this.parent);\n } else {\n nextContext = new DecodingContext(nextSelection, this.responseData[responseKey], this);\n }\n\n if (!nextSelection) {\n throw new Error('Unexpected response key \"' + responseKey + '\", not found in selection set: ' + this.selection.selectionSet);\n }\n\n if (Field.prototype.isPrototypeOf(nextSelection)) {\n return nextContext;\n } else {\n return nextContext.contextForObjectProperty(responseKey);\n }\n }\n }, {\n key: 'contextForArrayItem',\n value: function contextForArrayItem(item) {\n return new DecodingContext(this.selection, item, this.parent);\n }\n }]);\n return DecodingContext;\n}();\n\nfunction decodeArrayItems(context, transformers) {\n return context.responseData.map(function (item) {\n return decodeContext(context.contextForArrayItem(item), transformers);\n });\n}\n\nfunction decodeObjectValues(context, transformers) {\n return Object.keys(context.responseData).reduce(function (acc, responseKey) {\n acc[responseKey] = decodeContext(context.contextForObjectProperty(responseKey), transformers);\n\n return acc;\n }, {});\n}\n\nfunction runTransformers(transformers, context, value) {\n return transformers.reduce(function (acc, transformer) {\n return transformer(context, acc);\n }, value);\n}\n\nfunction decodeContext(context, transformers) {\n var value = context.responseData;\n\n if (Array.isArray(value)) {\n value = decodeArrayItems(context, transformers);\n } else if (isObject(value)) {\n value = decodeObjectValues(context, transformers);\n }\n\n return runTransformers(transformers, context, value);\n}\n\nfunction generateRefetchQueries(context, value) {\n if (isValue(value) && isNodeContext(context)) {\n value.refetchQuery = function () {\n return new Query(context.selection.selectionSet.typeBundle, function (root) {\n root.add('node', { args: { id: context.responseData.id } }, function (node) {\n node.addInlineFragmentOn(context.selection.selectionSet.typeSchema.name, context.selection.selectionSet);\n });\n });\n };\n }\n\n return value;\n}\n\nfunction transformPojosToClassesWithRegistry(classRegistry) {\n return function transformPojosToClasses(context, value) {\n if (isObject(value)) {\n var Klass = classRegistry.classForType(context.selection.selectionSet.typeSchema.name);\n\n return new Klass(value);\n } else {\n return value;\n }\n };\n}\n\nfunction transformScalars(context, value) {\n if (isValue(value)) {\n if (context.selection.selectionSet.typeSchema.kind === 'SCALAR') {\n return new Scalar(value);\n } else if (context.selection.selectionSet.typeSchema.kind === 'ENUM') {\n return new Enum(value);\n }\n }\n\n return value;\n}\n\nfunction recordTypeInformation(context, value) {\n if (isValue(value)) {\n if (value.__typename) {\n value.type = schemaForType(context.selection.selectionSet.typeBundle, value.__typename);\n } else {\n value.type = context.selection.selectionSet.typeSchema;\n }\n }\n\n return value;\n}\n\nfunction defaultTransformers(_ref) {\n var _ref$classRegistry = _ref.classRegistry,\n classRegistry = _ref$classRegistry === undefined ? new ClassRegistry() : _ref$classRegistry,\n variableValues = _ref.variableValues;\n\n return [transformScalars, generateRefetchQueries, transformConnections(variableValues), recordTypeInformation, transformPojosToClassesWithRegistry(classRegistry)];\n}\n\n/**\n * A function used to decode the response data.\n *\n * @function decode\n * @param {SelectionSet} selection The selection set used to query the response data.\n * @param {Object} responseData The response data returned.\n * @param {Object} [options] Options to use when decoding including:\n * @param {ClassRegistry} [options.classRegistry] A class registry to use when deserializing the data into classes.\n * @return {GraphModel} The decoded response data.\n */\nfunction decode(selection, responseData) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var transformers = options.transformers || defaultTransformers(options);\n var context = new DecodingContext(selection, responseData);\n\n return decodeContext(context, transformers);\n}\n\nfunction httpFetcher(url) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return function fetcher(graphQLParams) {\n return fetch(url, _extends({\n body: JSON.stringify(graphQLParams),\n method: 'POST',\n mode: 'cors'\n }, options, {\n headers: _extends({\n 'Content-Type': 'application/json',\n Accept: 'application/json'\n }, options.headers)\n })).then(function (response) {\n return response.json();\n });\n };\n}\n\nfunction hasNextPage(paginatedModels) {\n return paginatedModels && paginatedModels.length && paginatedModels[paginatedModels.length - 1].hasNextPage;\n}\n\n/**\n * The Client class used to create and send GraphQL documents, fragments, queries and mutations.\n */\n\nvar Client = function () {\n\n /**\n * @param {Object} typeBundle A set of ES6 modules generated by {@link https://github.com/Shopify/graphql-js-schema|graphql-js-schema}.\n * @param {Object} options An options object. Must include either `url` and optional `fetcherOptions` OR a `fetcher` function.\n * @param {(String|Function)} options.url|fetcher Either the URL of the GraphQL API endpoint, or a custom fetcher function for further customization.\n * @param {Object} [options.fetcherOptions] Additional options to use with `fetch`, like headers. Do not specify this argument if `fetcher` is specified.\n * @param {ClassRegistry} [options.registry=new ClassRegistry()] A {@link ClassRegistry} used to decode the response data.\n */\n function Client(typeBundle, _ref) {\n var url = _ref.url,\n fetcherOptions = _ref.fetcherOptions,\n fetcher = _ref.fetcher,\n _ref$registry = _ref.registry,\n registry = _ref$registry === undefined ? new ClassRegistry() : _ref$registry;\n classCallCheck(this, Client);\n\n this.typeBundle = typeBundle;\n this.classRegistry = registry;\n\n if (url && fetcher) {\n throw new Error('Arguments not supported: supply either `url` and optional `fetcherOptions` OR use a `fetcher` function for further customization.');\n }\n\n if (url) {\n this.fetcher = httpFetcher(url, fetcherOptions);\n } else if (fetcher) {\n if (fetcherOptions) {\n throw new Error('Arguments not supported: when specifying your own `fetcher`, set options through it and not with `fetcherOptions`');\n }\n\n this.fetcher = fetcher;\n } else {\n throw new Error('Invalid arguments: one of `url` or `fetcher` is needed.');\n }\n }\n\n /**\n * Creates a GraphQL document.\n *\n * @example\n * const document = client.document();\n *\n * @return {Document} A GraphQL document.\n */\n\n\n createClass(Client, [{\n key: 'document',\n value: function document() {\n return new Document(this.typeBundle);\n }\n\n /**\n * Creates a GraphQL query.\n *\n * @example\n * const query = client.query('myQuery', (root) => {\n * root.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n *\n * @param {String} [name] A name for the query.\n * @param {VariableDefinition[]} [variables] A list of variables in the query. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The query builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {Query} A GraphQL query.\n */\n\n }, {\n key: 'query',\n value: function query() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return new (Function.prototype.bind.apply(Query, [null].concat([this.typeBundle], args)))();\n }\n\n /**\n * Creates a GraphQL mutation.\n *\n * @example\n * const input = client.variable('input', 'CatCreateInput!');\n *\n * const mutation = client.mutation('myMutation', [input], (root) => {\n * root.add('catCreate', {args: {input}}, (catCreate) => {\n * catCreate.add('cat', (cat) => {\n * cat.add('name');\n * });\n * });\n * });\n *\n * @param {String} [name] A name for the mutation.\n * @param {VariableDefinition[]} [variables] A list of variables in the mutation. See {@link Client#variable}.\n * @param {Function} selectionSetCallback The mutation builder callback.\n * A {@link SelectionSet} is created using this callback.\n * @return {Mutation} A GraphQL mutation.\n */\n\n }, {\n key: 'mutation',\n value: function mutation() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return new (Function.prototype.bind.apply(Mutation, [null].concat([this.typeBundle], args)))();\n }\n\n /**\n * Sends a GraphQL operation (query or mutation) or a document.\n *\n * @example\n * client.send(query, {id: '12345'}).then((result) => {\n * // Do something with the returned result\n * console.log(result);\n * });\n *\n * @param {(Query|Mutation|Document|Function)} request The operation or document to send. If represented\n * as a function, it must return `Query`, `Mutation`, or `Document` and recieve the client as the only param.\n * @param {Object} [variableValues] The values for variables in the operation or document.\n * @param {Object} [otherProperties] Other properties to send with the query. For example, a custom operation name.\n * @return {Promise.} A promise resolving to an object containing the response data.\n */\n\n }, {\n key: 'send',\n value: function send(request) {\n var _this = this;\n\n var variableValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var otherProperties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n var operationOrDocument = void 0;\n\n if (Function.prototype.isPrototypeOf(request)) {\n operationOrDocument = request(this);\n } else {\n operationOrDocument = request;\n }\n\n var graphQLParams = { query: operationOrDocument.toString() };\n\n if (variableValues) {\n graphQLParams.variables = variableValues;\n }\n\n Object.assign(graphQLParams, otherProperties);\n\n var operation = void 0;\n\n if (Operation.prototype.isPrototypeOf(operationOrDocument)) {\n operation = operationOrDocument;\n } else {\n var document = operationOrDocument;\n\n if (document.operations.length === 1) {\n operation = document.operations[0];\n } else if (otherProperties.operationName) {\n operation = document.operations.find(function (documentOperation) {\n return documentOperation.name === otherProperties.operationName;\n });\n } else {\n throw new Error('\\n A document must contain exactly one operation, or an operationName\\n must be specified. Example:\\n\\n client.send(document, null, {operationName: \\'myFancyQuery\\'});\\n ');\n }\n }\n\n return this.fetcher(graphQLParams).then(function (response) {\n if (response.data) {\n response.model = decode(operation, response.data, {\n classRegistry: _this.classRegistry,\n variableValues: variableValues\n });\n }\n\n return response;\n });\n }\n\n /**\n * Fetches the next page of a paginated node or array of nodes.\n *\n * @example\n * client.fetchNextPage(node, {first: 10}).then((result) => {\n * // Do something with the next page\n * console.log(result);\n * });\n *\n * @param {(GraphModel|GraphModel[])} nodeOrNodes The node or list of nodes on which to fetch the next page.\n * @param {Object} [options] Options object containing:\n * @param {Integer} [options.first] The number of nodes to query on the next page. Defaults to the page size of the previous query.\n * @return {Promise.} A promise resolving with the next page of {@link GraphModel}s.\n */\n\n }, {\n key: 'fetchNextPage',\n value: function fetchNextPage(nodeOrNodes, options) {\n var node = void 0;\n\n if (Array.isArray(nodeOrNodes)) {\n node = nodeOrNodes[nodeOrNodes.length - 1];\n } else {\n node = nodeOrNodes;\n }\n\n var _node$nextPageQueryAn = node.nextPageQueryAndPath(),\n _node$nextPageQueryAn2 = slicedToArray(_node$nextPageQueryAn, 2),\n query = _node$nextPageQueryAn2[0],\n path = _node$nextPageQueryAn2[1];\n\n var variableValues = void 0;\n\n if (node.variableValues || options) {\n variableValues = Object.assign({}, node.variableValues, options);\n }\n\n return this.send(query, variableValues).then(function (response) {\n response.model = path.reduce(function (object, key) {\n return object[key];\n }, response.model);\n\n return response;\n });\n }\n\n /**\n * Fetches all subsequent pages of a paginated array of nodes.\n *\n * @example\n * client.fetchAllPages(nodes, {pageSize: 20}).then((result) => {\n * // Do something with all the models\n * console.log(result);\n * });\n *\n * @param {GraphModel[]} paginatedModels The list of nodes on which to fetch all pages.\n * @param {Object} options Options object containing:\n * @param {Integer} options.pageSize The number of nodes to query on each page.\n * @return {Promise.} A promise resolving with all pages of {@link GraphModel}s, including the original list.\n */\n\n }, {\n key: 'fetchAllPages',\n value: function fetchAllPages(paginatedModels, _ref2) {\n var _this2 = this;\n\n var pageSize = _ref2.pageSize;\n\n if (hasNextPage(paginatedModels)) {\n return this.fetchNextPage(paginatedModels, { first: pageSize }).then(function (_ref3) {\n var model = _ref3.model;\n\n var pages = paginatedModels.concat(model);\n\n return _this2.fetchAllPages(pages, { pageSize: pageSize });\n });\n }\n\n return Promise.resolve(paginatedModels);\n }\n\n /**\n * Refetches a {@link GraphModel} whose type implements `Node`.\n *\n * @example\n * client.refetch(node).then((result) => {\n * // Do something with the refetched node\n * console.log(result);\n * });\n *\n * @param {GraphModel} nodeType A {@link GraphModel} whose type implements `Node`.\n * @return {Promise.} The refetched {@link GraphModel}.\n */\n\n }, {\n key: 'refetch',\n value: function refetch(nodeType) {\n if (!nodeType) {\n throw new Error('\\'client#refetch\\' must be called with a non-null instance of a Node.');\n } else if (!nodeType.type.implementsNode) {\n throw new Error('\\'client#refetch\\' must be called with a type that implements Node. Received ' + nodeType.type.name + '.');\n }\n\n return this.send(nodeType.refetchQuery()).then(function (_ref4) {\n var model = _ref4.model;\n return model.node;\n });\n }\n\n /**\n * Creates a variable to be used in a {@link Query} or {@link Mutation}.\n *\n * @example\n * const idVariable = client.variable('id', 'ID!', '12345');\n *\n * @param {String} name The name of the variable.\n * @param {String} type The GraphQL type of the variable.\n * @param {*} [defaultValue] The default value of the variable.\n * @return {VariableDefinition} A variable object that can be used in a {@link Query} or {@link Mutation}.\n */\n\n }, {\n key: 'variable',\n value: function variable$$1(name, type, defaultValue) {\n return variable(name, type, defaultValue);\n }\n\n /**\n * Creates an enum to be used in a {@link Query} or {@link Mutation}.\n *\n * @example\n * const titleEnum = client.enum('TITLE');\n *\n * @param {String} key The key of the enum.\n * @return {Enum} An enum object that can be used in a {@link Query} or {@link Mutation}.\n */\n\n }, {\n key: 'enum',\n value: function _enum(key) {\n return enumFunction(key);\n }\n }]);\n return Client;\n}();\n\nexport { ClassRegistry, GraphModel, decode };export default Client;\n//# sourceMappingURL=index.es.js.map\n","/**\n * The class used to configure the JS Buy SDK Client.\n * @class\n */\nclass Config {\n\n /**\n * Properties that must be set on initializations\n * @attribute requiredProperties\n * @default ['storefrontAccessToken', 'domain']\n * @type Array\n * @private\n */\n get requiredProperties() {\n return [\n 'storefrontAccessToken',\n 'domain'\n ];\n }\n\n /**\n * Deprecated properties that map directly to required properties\n * @attribute deprecatedProperties\n * @default {'accessToken': 'storefrontAccessToken', 'apiKey': 'storefrontAccessToken'}\n * @type Object\n * @private\n */\n get deprecatedProperties() {\n return {\n accessToken: 'storefrontAccessToken',\n apiKey: 'storefrontAccessToken'\n };\n }\n\n /**\n * @constructs Config\n * @param {Object} attrs An object specifying the configuration. Requires the following properties:\n * @param {String} attrs.storefrontAccessToken The {@link https://help.shopify.com/api/reference/storefront_access_token|Storefront access token} for the shop.\n * @param {String} attrs.domain The `myshopify` domain for the shop (e.g. `graphql.myshopify.com`).\n */\n constructor(attrs) {\n Object.keys(this.deprecatedProperties).forEach((key) => {\n if (!attrs.hasOwnProperty(key)) { return; }\n // eslint-disable-next-line no-console\n console.warn(`[ShopifyBuy] Config property ${key} is deprecated as of v1.0, please use ${this.deprecatedProperties[key]} instead.`);\n attrs[this.deprecatedProperties[key]] = attrs[key];\n });\n\n this.requiredProperties.forEach((key) => {\n if (attrs.hasOwnProperty(key)) {\n this[key] = attrs[key];\n } else {\n throw new Error(`new Config() requires the option '${key}'`);\n }\n });\n }\n}\n\nexport default Config;\n","export default class Resource {\n constructor(client) {\n this.graphQLClient = client;\n }\n}\n","export const defaultErrors = [{message: 'an unknown error has occured.'}];\n\nexport default function defaultResolver(path) {\n const keys = path.split('.');\n\n return function({model, errors}) {\n return new Promise((resolve, reject) => {\n try {\n const result = keys.reduce((ref, key) => {\n return ref[key];\n }, model);\n\n resolve(result);\n } catch (_) {\n if (errors) {\n reject(errors);\n } else {\n reject(defaultErrors);\n }\n }\n });\n };\n}\n","export default function fetchResourcesForProducts(productOrProduct, client) {\n const products = [].concat(productOrProduct);\n\n return Promise.all(products.reduce((promiseAcc, product) => {\n // Fetch the rest of the images and variants for this product\n promiseAcc.push(client.fetchAllPages(product.images, {pageSize: 250}).then((images) => {\n product.attrs.images = images;\n }));\n\n promiseAcc.push(client.fetchAllPages(product.variants, {pageSize: 250}).then((variants) => {\n product.attrs.variants = variants;\n }));\n\n return promiseAcc;\n }, []));\n}\n","import fetchResourcesForProducts from './fetch-resources-for-products';\n\nexport function paginateProductConnectionsAndResolve(client) {\n return function(products) {\n return fetchResourcesForProducts(products, client).then(() => {\n return products;\n });\n };\n}\n\nexport function paginateCollectionsProductConnectionsAndResolve(client) {\n return function(collectionOrCollections) {\n const collections = [].concat(collectionOrCollections);\n\n return Promise.all(collections.reduce((promiseAcc, collection) => {\n return promiseAcc.concat(fetchResourcesForProducts(collection.products, client));\n }, [])).then(() => {\n return collectionOrCollections;\n });\n };\n}\n","/**\n * @namespace ProductHelpers\n */\nexport default {\n\n /**\n * Returns the variant of a product corresponding to the options given.\n *\n * @example\n * const selectedVariant = client.product.variantForOptions(product, {\n * size: \"Small\",\n * color: \"Red\"\n * });\n *\n * @memberof ProductHelpers\n * @method variantForOptions\n * @param {GraphModel} product The product to find the variant on. Must include `variants`.\n * @param {Object} options An object containing the options for the variant.\n * @return {GraphModel} The variant corresponding to the options given.\n */\n variantForOptions(product, options) {\n return product.variants.find((variant) => {\n return variant.selectedOptions.every((selectedOption) => {\n return options[selectedOption.name] === selectedOption.value.valueOf();\n });\n });\n }\n};\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport {paginateProductConnectionsAndResolve} from './paginators';\nimport productHelpers from './product-helpers';\n\n// GraphQL\nimport productNodeQuery from './graphql/productNodeQuery.graphql';\nimport productNodesQuery from './graphql/productNodesQuery.graphql';\nimport productConnectionQuery from './graphql/productConnectionQuery.graphql';\nimport productByHandleQuery from './graphql/productByHandleQuery.graphql';\n\n/**\n * The JS Buy SDK product resource\n * @class\n */\nclass ProductResource extends Resource {\n get helpers() {\n return productHelpers;\n }\n\n /**\n * Fetches all products on the shop.\n *\n * @example\n * client.product.fetchAll().then((products) => {\n * // Do something with the products\n * });\n *\n * @param {Int} [pageSize] The number of products to fetch per page\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the products.\n */\n fetchAll(first = 20) {\n return this.graphQLClient\n .send(productConnectionQuery, {first})\n .then(defaultResolver('products'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single product by ID on the shop.\n *\n * @example\n * client.product.fetch('Xk9lM2JkNzFmNzIQ4NTIY4ZDFi9DaGVja291dC9lM2JkN==').then((product) => {\n * // Do something with the product\n * });\n *\n * @param {String} id The id of the product to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the product.\n */\n fetch(id) {\n return this.graphQLClient\n .send(productNodeQuery, {id})\n .then(defaultResolver('node'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches multiple products by ID on the shop.\n *\n * @example\n * const ids = ['Xk9lM2JkNzFmNzIQ4NTIY4ZDFi9DaGVja291dC9lM2JkN==', 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzc4NTc5ODkzODQ='];\n * client.product.fetchMultiple(ids).then((products) => {\n * // Do something with the products\n * });\n *\n * @param {String[]} ids The ids of the products to fetch\n * @return {Promise|GraphModel[]} A promise resolving with a `GraphModel` of the product.\n */\n fetchMultiple(ids) {\n return this.graphQLClient\n .send(productNodesQuery, {ids})\n .then(defaultResolver('nodes'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single product by handle on the shop.\n *\n * @example\n * client.product.fetchByHandle('my-product').then((product) => {\n * // Do something with the product\n * });\n *\n * @param {String} handle The handle of the product to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the product.\n */\n fetchByHandle(handle) {\n return this.graphQLClient\n .send(productByHandleQuery, {handle})\n .then(defaultResolver('productByHandle'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches all products on the shop that match the query.\n *\n * @example\n * client.product.fetchQuery({first: 20, sortKey: 'CREATED_AT', reverse: true}).then((products) => {\n * // Do something with the first 10 products sorted by title in ascending order\n * });\n *\n * @param {Object} [args] An object specifying the query data containing zero or more of:\n * @param {Int} [args.first=20] The relay `first` param. This specifies page size.\n * @param {String} [args.sortKey=ID] The key to sort results by. Available values are\n * documented as {@link https://help.shopify.com/api/storefront-api/reference/enum/productsortkeys|Product Sort Keys}.\n * @param {String} [args.query] A query string. See full documentation {@link https://help.shopify.com/api/storefront-api/reference/object/shop#products|here}\n * @param {Boolean} [args.reverse] Whether or not to reverse the sort order of the results\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the products.\n */\n fetchQuery({first = 20, sortKey = 'ID', query, reverse} = {}) {\n return this.graphQLClient\n .send(productConnectionQuery, {\n first,\n sortKey,\n query,\n reverse\n })\n .then(defaultResolver('products'))\n .then(paginateProductConnectionsAndResolve(this.graphQLClient));\n }\n}\n\nexport default ProductResource;\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport {paginateCollectionsProductConnectionsAndResolve} from './paginators';\n\n// GraphQL\nimport collectionNodeQuery from './graphql/collectionNodeQuery.graphql';\nimport collectionNodeWithProductsQuery from './graphql/collectionNodeWithProductsQuery.graphql';\nimport collectionConnectionQuery from './graphql/collectionConnectionQuery.graphql';\nimport collectionConnectionWithProductsQuery from './graphql/collectionConnectionWithProductsQuery.graphql';\nimport collectionByHandleQuery from './graphql/collectionByHandleQuery.graphql';\n\n/**\n * The JS Buy SDK collection resource\n * @class\n */\nclass CollectionResource extends Resource {\n\n /**\n * Fetches all collections on the shop, not including products.\n * To fetch collections with products use [fetchAllsWithProducts]{@link Client#fetchAllsWithProducts}.\n *\n * @example\n * client.collection.fetchAll().then((collections) => {\n * // Do something with the collections\n * });\n *\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchAll(first = 20) {\n return this.graphQLClient\n .send(collectionConnectionQuery, {first})\n .then(defaultResolver('collections'));\n }\n\n /**\n * Fetches all collections on the shop, including products.\n *\n * @example\n * client.collection.fetchAllWithProducts().then((collections) => {\n * // Do something with the collections\n * });\n *\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchAllWithProducts({first = 20, productsFirst = 20} = {}) {\n return this.graphQLClient\n .send(collectionConnectionWithProductsQuery, {first, productsFirst})\n .then(defaultResolver('collections'))\n .then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a single collection by ID on the shop, not including products.\n * To fetch the collection with products use [fetchWithProducts]{@link Client#fetchWithProducts}.\n *\n * @example\n * client.collection.fetch('Xk9lM2JkNzFmNzIQ4NTIY4ZDFiZTUyZTUwNTE2MDNhZjg==').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} id The id of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetch(id) {\n return this.graphQLClient\n .send(collectionNodeQuery, {id})\n .then(defaultResolver('node'));\n }\n\n /**\n * Fetches a single collection by ID on the shop, including products.\n *\n * @example\n * client.collection.fetchWithProducts('Xk9lM2JkNzFmNzIQ4NTIY4ZDFiZTUyZTUwNTE2MDNhZjg==').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} id The id of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetchWithProducts(id) {\n return this.graphQLClient\n .send(collectionNodeWithProductsQuery, {id})\n .then(defaultResolver('node'))\n .then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));\n }\n\n /**\n * Fetches a collection by handle on the shop.\n *\n * @example\n * client.collection.fetchByHandle('my-collection').then((collection) => {\n * // Do something with the collection\n * });\n *\n * @param {String} handle The handle of the collection to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the collection.\n */\n fetchByHandle(handle) {\n return this.graphQLClient\n .send(collectionByHandleQuery, {handle})\n .then(defaultResolver('collectionByHandle'));\n }\n\n /**\n * Fetches all collections on the shop that match the query.\n *\n * @example\n * client.collection.fetchQuery({first: 20, sortKey: 'CREATED_AT', reverse: true}).then((collections) => {\n * // Do something with the first 10 collections sorted by title in ascending order\n * });\n *\n * @param {Object} [args] An object specifying the query data containing zero or more of:\n * @param {Int} [args.first=20] The relay `first` param. This specifies page size.\n * @param {String} [args.sortKey=ID] The key to sort results by. Available values are\n * documented as {@link https://help.shopify.com/api/storefront-api/reference/enum/collectionsortkeys|Collection Sort Keys}.\n * @param {String} [args.query] A query string. See full documentation {@link https://help.shopify.com/api/storefront-api/reference/object/shop#collections|here}\n * @param {Boolean} [args.reverse] Whether or not to reverse the sort order of the results\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the collections.\n */\n fetchQuery({first = 20, sortKey = 'ID', query, reverse} = {}) {\n return this.graphQLClient.send(collectionConnectionQuery, {\n first,\n sortKey,\n query,\n reverse\n }).then(defaultResolver('collections'));\n }\n}\nexport default CollectionResource;\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\n\n// GraphQL\nimport shopQuery from './graphql/shopQuery.graphql';\nimport shopPolicyQuery from './graphql/shopPolicyQuery.graphql';\n\n/**\n * The JS Buy SDK shop resource\n * @class\n */\nclass ShopResource extends Resource {\n\n /**\n * Fetches shop information (`currencyCode`, `description`, `moneyFormat`, `name`, and `primaryDomain`).\n * See the {@link https://help.shopify.com/api/storefront-api/reference/object/shop|Storefront API reference} for more information.\n *\n * @example\n * client.shop.fetchInfo().then((shop) => {\n * // Do something with the shop\n * });\n *\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the shop.\n */\n fetchInfo() {\n return this.graphQLClient\n .send(shopQuery)\n .then(defaultResolver('shop'));\n }\n\n /**\n * Fetches shop policies (privacy policy, terms of service and refund policy).\n *\n * @example\n * client.shop.fetchPolicies().then((shop) => {\n * // Do something with the shop\n * });\n *\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the shop.\n */\n fetchPolicies() {\n return this.graphQLClient\n .send(shopPolicyQuery)\n .then(defaultResolver('shop'));\n }\n}\n\nexport default ShopResource;\n","export default function handleCheckoutMutation(mutationRootKey, client) {\n return function({data, errors, model}) {\n const rootData = data[mutationRootKey];\n const rootModel = model[mutationRootKey];\n\n if (rootData && rootData.checkout) {\n return client.fetchAllPages(rootModel.checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n rootModel.checkout.attrs.lineItems = lineItems;\n rootModel.checkout.errors = errors;\n rootModel.checkout.userErrors = rootModel.userErrors;\n\n return rootModel.checkout;\n });\n }\n\n if (errors && errors.length) {\n return Promise.reject(new Error(JSON.stringify(errors)));\n }\n\n if (rootData && rootData.checkoutUserErrors && rootData.checkoutUserErrors.length) {\n return Promise.reject(new Error(JSON.stringify(rootData.checkoutUserErrors)));\n }\n\n if (rootData && rootData.userErrors && rootData.userErrors.length) {\n return Promise.reject(new Error(JSON.stringify(rootData.userErrors)));\n }\n\n return Promise.reject(new Error(`The ${mutationRootKey} mutation failed due to an unknown error.`));\n };\n}\n","import Resource from './resource';\nimport defaultResolver from './default-resolver';\nimport handleCheckoutMutation from './handle-checkout-mutation';\n\n// GraphQL\nimport checkoutNodeQuery from './graphql/checkoutNodeQuery.graphql';\nimport checkoutNodeQueryWithAddress from './graphql/checkoutNodeQueryWithAddress.graphql';\nimport checkoutCreateMutation from './graphql/checkoutCreateMutation.graphql';\nimport checkoutLineItemsAddMutation from './graphql/checkoutLineItemsAddMutation.graphql';\nimport checkoutLineItemsRemoveMutation from './graphql/checkoutLineItemsRemoveMutation.graphql';\nimport checkoutLineItemsReplaceMutation from './graphql/checkoutLineItemsReplaceMutation.graphql';\nimport checkoutLineItemsUpdateMutation from './graphql/checkoutLineItemsUpdateMutation.graphql';\nimport checkoutAttributesUpdateV2Mutation from './graphql/checkoutAttributesUpdateV2Mutation.graphql';\nimport checkoutDiscountCodeApplyV2Mutation from './graphql/checkoutDiscountCodeApplyV2Mutation.graphql';\nimport checkoutDiscountCodeRemoveMutation from './graphql/checkoutDiscountCodeRemoveMutation.graphql';\nimport checkoutEmailUpdateV2Mutation from './graphql/checkoutEmailUpdateV2Mutation.graphql';\nimport checkoutShippingAddressUpdateMutation from './graphql/checkoutShippingAddressUpdateMutation.graphql';\nimport checkoutShippingLineUpdateMutation from './graphql/checkoutShippingLineUpdateMutation.graphql';\n\n\n/**\n * The JS Buy SDK checkout resource\n * @class\n */\nclass CheckoutResource extends Resource {\n\n /**\n * Fetches a checkout by ID.\n *\n * @example\n * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {\n * // Do something with the checkout\n * });\n *\n * @param {String} id The id of the checkout to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.\n */\n fetch(id) {\n return this.graphQLClient\n .send(checkoutNodeQuery, {id})\n .then(defaultResolver('node'))\n .then((checkout) => {\n if (!checkout) { return null; }\n\n return this.graphQLClient.fetchAllPages(checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n checkout.attrs.lineItems = lineItems;\n\n return checkout;\n });\n });\n }\n\n /**\n * Fetches a checkout by ID.\n *\n * @example\n * client.checkout.fetch('FlZj9rZXlN5MDY4ZDFiZTUyZTUwNTE2MDNhZjg=').then((checkout) => {\n * // Do something with the checkout\n * });\n *\n * @param {String} id The id of the checkout to fetch.\n * @return {Promise|GraphModel} A promise resolving with a `GraphModel` of the checkout.\n */\n fetchWithAddress(id) {\n return this.graphQLClient\n .send(checkoutNodeQueryWithAddress, {id})\n .then(defaultResolver('node'))\n .then((checkout) => {\n return this.graphQLClient.fetchAllPages(checkout.lineItems, {pageSize: 250}).then((lineItems) => {\n checkout.attrs.lineItems = lineItems;\n\n return checkout;\n });\n });\n }\n\n /**\n * Creates a checkout.\n *\n * @example\n * const input = {\n * lineItems: [\n * {variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}\n * ]\n * };\n *\n * client.checkout.create(input).then((checkout) => {\n * // Do something with the newly created checkout\n * });\n *\n * @param {Object} [input] An input object containing zero or more of:\n * @param {String} [input.email] An email connected to the checkout.\n * @param {Object[]} [input.lineItems] A list of line items in the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @param {Object} [input.shippingAddress] A shipping address. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/mailingaddressinput|Storefront API reference} for valid input fields.\n * @param {String} [input.note] A note for the checkout.\n * @param {Object[]} [input.customAttributes] A list of custom attributes for the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/attributeinput|Storefront API reference} for valid input fields.\n * @return {Promise|GraphModel} A promise resolving with the created checkout.\n */\n create(input = {}) {\n return this.graphQLClient\n .send(checkoutCreateMutation, {input})\n .then(handleCheckoutMutation('checkoutCreate', this.graphQLClient));\n }\n\n /**\n * Replaces the value of checkout's custom attributes and/or note with values defined in the input\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const input = {customAttributes: [{key: \"MyKey\", value: \"MyValue\"}]};\n *\n * client.checkout.updateAttributes(checkoutId, input).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update.\n * @param {Object} [input] An input object containing zero or more of:\n * @param {Boolean} [input.allowPartialAddresses] An email connected to the checkout.\n * @param {Object[]} [input.customAttributes] A list of custom attributes for the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/attributeinput|Storefront API reference} for valid input fields.\n * @param {String} [input.note] A note for the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateAttributes(checkoutId, input = {}) {\n return this.graphQLClient\n .send(checkoutAttributesUpdateV2Mutation, {checkoutId, input})\n .then(handleCheckoutMutation('checkoutAttributesUpdateV2', this.graphQLClient));\n }\n\n /**\n * Replaces the value of checkout's email address\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const email = 'user@example.com';\n *\n * client.checkout.updateEmail(checkoutId, email).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update.\n * @param {String} email The email address to apply to the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateEmail(checkoutId, email) {\n return this.graphQLClient\n .send(checkoutEmailUpdateV2Mutation, {checkoutId, email})\n .then(handleCheckoutMutation('checkoutEmailUpdateV2', this.graphQLClient));\n }\n\n /**\n * Adds line items to an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];\n *\n * client.checkout.addLineItems(checkoutId, lineItems).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add line items to.\n * @param {Object[]} lineItems A list of line items to add to the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n addLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsAddMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsAdd', this.graphQLClient));\n }\n\n /**\n * Applies a discount to an existing checkout using a discount code.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const discountCode = 'best-discount-ever';\n *\n * client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add discount to.\n * @param {String} discountCode The discount code to apply to the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n addDiscount(checkoutId, discountCode) {\n return this.graphQLClient\n .send(checkoutDiscountCodeApplyV2Mutation, {checkoutId, discountCode})\n .then(handleCheckoutMutation('checkoutDiscountCodeApplyV2', this.graphQLClient));\n }\n\n /**\n * Removes a discount from an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n *\n * client.checkout.removeDiscount(checkoutId).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add discount to.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n removeDiscount(checkoutId) {\n return this.graphQLClient\n .send(checkoutDiscountCodeRemoveMutation, {checkoutId})\n .then(handleCheckoutMutation('checkoutDiscountCodeRemove', this.graphQLClient));\n }\n\n /**\n * Removes line items from an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItemIds = ['TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU='];\n *\n * client.checkout.removeLineItems(checkoutId, lineItemIds).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to remove line items from.\n * @param {String[]} lineItemIds A list of the ids of line items to remove from the checkout.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n removeLineItems(checkoutId, lineItemIds) {\n return this.graphQLClient\n .send(checkoutLineItemsRemoveMutation, {checkoutId, lineItemIds})\n .then(handleCheckoutMutation('checkoutLineItemsRemove', this.graphQLClient));\n }\n\n /**\n * Replace line items on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];\n *\n * client.checkout.replaceLineItems(checkoutId, lineItems).then((checkout) => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to add line items to.\n * @param {Object[]} lineItems A list of line items to set on the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n replaceLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsReplaceMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsReplace', this.graphQLClient));\n }\n\n /**\n * Updates line items on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const lineItems = [\n * {\n * id: 'TViZGE5Y2U1ZDFhY2FiMmM2YT9rZXk9NTc2YjBhODcwNWIxYzg0YjE5ZjRmZGQ5NjczNGVkZGU=',\n * quantity: 5,\n * variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg=='\n * }\n * ];\n *\n * client.checkout.updateLineItems(checkoutId, lineItems).then(checkout => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update a line item on.\n * @param {Object[]} lineItems A list of line item information to update. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineitemupdateinput|Storefront API reference} for valid input fields for each line item.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateLineItems(checkoutId, lineItems) {\n return this.graphQLClient\n .send(checkoutLineItemsUpdateMutation, {checkoutId, lineItems})\n .then(handleCheckoutMutation('checkoutLineItemsUpdate', this.graphQLClient));\n }\n\n /**\n * Updates shipping address on an existing checkout.\n *\n * @example\n * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';\n * const shippingAddress = {\n * address1: 'Chestnut Street 92',\n * address2: 'Apartment 2\"',\n * city: 'Louisville',\n * company: null,\n * country: 'United States',\n * firstName: 'Bob',\n * lastName: 'Norman',\n * phone: '555-625-1199',\n * province: 'Kentucky',\n * zip: '40202'\n * };\n *\n *\n * client.checkout.updateShippingAddress(checkoutId, shippingAddress).then(checkout => {\n * // Do something with the updated checkout\n * });\n *\n * @param {String} checkoutId The ID of the checkout to update shipping address.\n * @param {Object} shippingAddress A shipping address.\n * @return {Promise|GraphModel} A promise resolving with the updated checkout.\n */\n updateShippingAddress(checkoutId, shippingAddress) {\n return this.graphQLClient\n .send(checkoutShippingAddressUpdateMutation, {checkoutId, shippingAddress})\n .then(handleCheckoutMutation('checkoutShippingAddressUpdate', this.graphQLClient));\n }\n\n updateShippingLines(checkoutId, shippingRateHandle) {\n return this.graphQLClient\n .send(checkoutShippingLineUpdateMutation, {checkoutId, shippingRateHandle})\n .then(handleCheckoutMutation('checkoutShippingLineUpdate', this.graphQLClient));\n }\n}\n\nexport default CheckoutResource;\n","/**\n * @namespace ImageHelpers\n */\nexport default {\n\n /**\n * Generates the image src for a resized image with maximum dimensions `maxWidth` and `maxHeight`.\n * Images do not scale up.\n *\n * @example\n * const url = client.image.helpers.imageForSize(product.variants[0].image, {maxWidth: 50, maxHeight: 50});\n *\n * @memberof ImageHelpers\n * @method imageForSize\n * @param {Object} image The original image model to generate the image src for.\n * @param {Object} options An options object containing:\n * @param {Integer} options.maxWidth The maximum width for the image.\n * @param {Integer} options.maxHeight The maximum height for the image.\n * @return {String} The image src for the resized image.\n */\n imageForSize(image, {maxWidth, maxHeight}) {\n const splitUrl = image.src.split('?');\n const notQuery = splitUrl[0];\n const query = splitUrl[1] ? `?${splitUrl[1]}` : '';\n\n // Use the section before the query\n const imageTokens = notQuery.split('.');\n\n // Take the token before the file extension and append the dimensions\n const imagePathIndex = imageTokens.length - 2;\n\n imageTokens[imagePathIndex] = `${imageTokens[imagePathIndex]}_${maxWidth}x${maxHeight}`;\n\n return `${imageTokens.join('.')}${query}`;\n }\n};\n","import Resource from './resource';\nimport imageHelpers from './image-helpers';\n\n/**\n * The JS Buy SDK image resource\n * @class\n */\nclass ImageResource extends Resource {\n get helpers() {\n return imageHelpers;\n }\n}\n\nexport default ImageResource;\n","import GraphQLJSClient from './graphql-client';\nimport Config from './config';\nimport ProductResource from './product-resource';\nimport CollectionResource from './collection-resource';\nimport ShopResource from './shop-resource';\nimport CheckoutResource from './checkout-resource';\nimport ImageResource from './image-resource';\nimport {version} from '../package.json';\n\n// GraphQL\nimport types from '../schema.json';\n\n/**\n * The JS Buy SDK Client.\n * @class\n *\n * @property {ProductResource} product The property under which product fetching methods live.\n * @property {CollectionResource} collection The property under which collection fetching methods live.\n * @property {ShopResource} shop The property under which shop fetching methods live.\n * @property {CheckoutResource} checkout The property under which shop fetching and mutating methods live.\n * @property {ImageResource} image The property under which image helper methods live.\n */\nclass Client {\n\n /**\n * Primary entry point for building a new Client.\n */\n static buildClient(config, fetchFunction) {\n const newConfig = new Config(config);\n const client = new Client(newConfig, GraphQLJSClient, fetchFunction);\n\n client.config = newConfig;\n\n return client;\n }\n\n /**\n * @constructs Client\n * @param {Config} config An instance of {@link Config} used to configure the Client.\n */\n constructor(config, GraphQLClientClass = GraphQLJSClient, fetchFunction) {\n const url = `https://${config.domain}/api/graphql`;\n\n const headers = {\n 'X-SDK-Variant': 'javascript',\n 'X-SDK-Version': version,\n 'X-Shopify-Storefront-Access-Token': config.storefrontAccessToken\n };\n\n if (fetchFunction) {\n headers['Content-Type'] = 'application/json';\n headers.Accept = 'application/json';\n\n this.graphQLClient = new GraphQLClientClass(types, {\n fetcher: function fetcher(graphQLParams) {\n return fetchFunction(url, {\n body: JSON.stringify(graphQLParams),\n method: 'POST',\n mode: 'cors',\n headers\n }).then((response) => response.json());\n }\n });\n } else {\n this.graphQLClient = new GraphQLClientClass(types, {\n url,\n fetcherOptions: {headers}\n });\n }\n\n this.product = new ProductResource(this.graphQLClient);\n this.collection = new CollectionResource(this.graphQLClient);\n this.shop = new ShopResource(this.graphQLClient);\n this.checkout = new CheckoutResource(this.graphQLClient);\n this.image = new ImageResource(this.graphQLClient);\n }\n\n /**\n * Fetches the next page of models\n *\n * @example\n * client.fetchNextPage(products).then((nextProducts) => {\n * // Do something with the products\n * });\n *\n * @param {models} [Array] The paginated set to fetch the next page of\n * @return {Promise|GraphModel[]} A promise resolving with an array of `GraphModel`s of the type provided.\n */\n fetchNextPage(models) {\n return this.graphQLClient.fetchNextPage(models);\n }\n}\n\nexport default Client;\n"],"names":["join","_len","arguments","length","fields","Array","_key","isObject","value","Boolean","Object","prototype","toString","call","valueOf","deepFreezeCopyExcept","predicate","structure","freeze","keys","reduce","copy","key","isArray","map","item","schemaForType","typeBundle","typeName","type","types","Error","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","i","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","_extends","assign","source","hasOwnProperty","inherits","subClass","superClass","create","setPrototypeOf","__proto__","possibleConstructorReturn","self","ReferenceError","slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","undefined","_i","Symbol","iterator","_s","next","done","push","err","toConsumableArray","arr2","from","VariableDefinition","name","defaultValue","toInputValueString","defaultValueString","formatInputValue","isVariable","isPrototypeOf","variable","Enum","enumFunction","Scalar","get$$1","String","JSON","stringify","apply","formatObject","openChar","closeChar","argPairs","formatArgs","args","noop","Profiler","trackTypeDependency","trackFieldDependency","parseFieldCreationArgs","creationArgs","callback","options","selectionSet","_creationArgs","_creationArgs2","SelectionSet","emptyArgs","Field","alias","responseKey","aliasPrefix","Spread","InlineFragment","_Spread","_this","getPrototypeOf","FragmentSpread","_Spread2","fragmentDefinition","_this2","toDefinition","FragmentDefinition","typeSchema","spread","selectionsHaveIdField","selections","some","fieldOrFragment","implementsNode","selectionsHaveTypenameField","indexSelectionsByResponseKey","assignOrPush","obj","unfrozenObject","acc","selection","responseKeys","selectionsByResponseKey","forEach","builderFunction","SelectionSetBuilder","unshift","kind","hasSelectionWithResponseKey","field","add","selectionOrFieldName","rest","concat","_len2","_key2","parsedArgs","fieldBaseTypes","fieldBaseType","inlineFragmentOn","builderFunctionOrSelectionSet","addField","_len3","_key3","addConnection","_len4","_key4","_parseFieldCreationAr","connection","pageInfo","edges","addInlineFragmentOn","fieldTypeCb","addFragment","fragmentSpread","parseArgs","variables","selectionSetCallback","_args","VariableDefinitions","variableDefinitions","Operation","operationType","_parseArgs","queryType","mutationType","nameString","Query","_Operation","_ref","Mutation","isAnonymous","operation","hasAnonymousOperations","operations","hasDuplicateOperationNames","names","hasDuplicates","index","indexOf","extractOperation","Function","bind","isInvalidOperationCombination","fragmentNameIsNotUnique","existingDefinitions","definition","Document","definitions","addOperation","addQuery","addMutation","defineFragment","onType","fragmentDefinitions","fragment","filter","GraphModel","attrs","ClassRegistry","classStore","registerClassForType","constructor","unregisterClassForType","classForType","isValue","arg","isNodeContext","context","isConnection","endsWith","nearestNode","parent","contextsFromRoot","contextsFromNearestNode","initializeDocumentAndVars","currentContext","contextChain","lastInChain","first","firstVar","find","document","addNextFieldTo","currentSelection","path","cursor","nextContext","shift","newSelection","edgesField","nodeField","after","collectFragments","nextPageQueryAndPath","nearestNodeContext","_document$definitions","nodeType","nodeId","responseData","id","_initializeDocumentAn","_initializeDocumentAn2","root","node","slice","fragments","_document$definitions2","_initializeDocumentAn3","_initializeDocumentAn4","hasNextPage$1","edge","hasNextPage","hasPreviousPage","transformConnections","variableValues","DecodingContext","contextForObjectProperty","nestedSelections","nextSelection","contextForArrayItem","decodeArrayItems","transformers","decodeContext","decodeObjectValues","runTransformers","transformer","generateRefetchQueries","refetchQuery","transformPojosToClassesWithRegistry","classRegistry","transformPojosToClasses","Klass","transformScalars","recordTypeInformation","__typename","defaultTransformers","_ref$classRegistry","decode","httpFetcher","url","fetcher","graphQLParams","fetch","headers","then","response","json","paginatedModels","Client","fetcherOptions","_ref$registry","registry","query","mutation","send","request","otherProperties","operationOrDocument","operationName","documentOperation","data","model","fetchNextPage","nodeOrNodes","_node$nextPageQueryAn","_node$nextPageQueryAn2","object","fetchAllPages","_ref2","pageSize","_ref3","pages","Promise","resolve","refetch","_ref4","variable$$1","_enum","Config","deprecatedProperties","warn","requiredProperties","Resource","client","graphQLClient","defaultErrors","message","defaultResolver","split","errors","reject","result","ref","_","fetchResourcesForProducts","productOrProduct","products","all","promiseAcc","product","images","variants","paginateProductConnectionsAndResolve","paginateCollectionsProductConnectionsAndResolve","collectionOrCollections","collections","collection","variant","selectedOptions","every","selectedOption","ProductResource","productConnectionQuery","productNodeQuery","ids","productNodesQuery","handle","productByHandleQuery","sortKey","reverse","productHelpers","CollectionResource","collectionConnectionQuery","productsFirst","collectionConnectionWithProductsQuery","collectionNodeQuery","collectionNodeWithProductsQuery","collectionByHandleQuery","ShopResource","shopQuery","shopPolicyQuery","handleCheckoutMutation","mutationRootKey","rootData","rootModel","checkout","lineItems","userErrors","checkoutUserErrors","CheckoutResource","checkoutNodeQuery","checkoutNodeQueryWithAddress","input","checkoutCreateMutation","checkoutId","checkoutAttributesUpdateV2Mutation","email","checkoutEmailUpdateV2Mutation","checkoutLineItemsAddMutation","discountCode","checkoutDiscountCodeApplyV2Mutation","checkoutDiscountCodeRemoveMutation","lineItemIds","checkoutLineItemsRemoveMutation","checkoutLineItemsReplaceMutation","checkoutLineItemsUpdateMutation","shippingAddress","checkoutShippingAddressUpdateMutation","shippingRateHandle","checkoutShippingLineUpdateMutation","image","maxWidth","maxHeight","splitUrl","src","notQuery","imageTokens","imagePathIndex","ImageResource","imageHelpers","config","fetchFunction","newConfig","GraphQLJSClient","GraphQLClientClass","domain","version","storefrontAccessToken","Accept","shop","models"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
\ No newline at end of file
diff --git a/index.umd.min.js b/index.umd.min.js
index 14818ab7a..14f616ff0 100644
--- a/index.umd.min.js
+++ b/index.umd.min.js
@@ -22,4 +22,4 @@ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
-(function(e,d){'object'==typeof exports&&'undefined'!=typeof module?module.exports=d():'function'==typeof define&&define.amd?define(d):e.ShopifyBuy=d()})(this,function(){'use strict';function e(){for(var e=arguments.length,d=Array(e),a=0;a=0.5.1"
+ }
+ },
+ "fd-slicer": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
+ "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
+ "dev": true,
+ "requires": {
+ "pend": "~1.2.0"
+ }
+ },
+ "fetch-mock": {
+ "version": "5.12.2",
+ "resolved": "https://registry.npmjs.org/fetch-mock/-/fetch-mock-5.12.2.tgz",
+ "integrity": "sha1-B/3mtx9xgyi0zpuByCp8EcBdl0g=",
+ "dev": true,
+ "requires": {
+ "glob-to-regexp": "^0.3.0",
+ "node-fetch": "^1.3.3",
+ "path-to-regexp": "^1.7.0"
+ }
+ },
+ "figures": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5",
+ "object-assign": "^4.1.0"
+ }
+ },
+ "file-entry-cache": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
+ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^1.2.1",
+ "object-assign": "^4.0.1"
+ }
+ },
+ "file-set": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/file-set/-/file-set-2.0.1.tgz",
+ "integrity": "sha512-XgOUUpgR6FbbfYcniLw0qm1Am7PnNYIAkd+eXxRt42LiYhjaso0WiuQ+VmrNdtwotyM+cLCfZ56AZrySP3QnKA==",
+ "dev": true,
+ "requires": {
+ "array-back": "^2.0.0",
+ "glob": "^7.1.3"
+ }
+ },
+ "file-type": {
+ "version": "3.9.0",
+ "resolved": "http://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
+ "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
+ "dev": true
+ },
+ "filename-regex": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
+ "dev": true
+ },
+ "filename-reserved-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz",
+ "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=",
+ "dev": true
+ },
+ "filenamify": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz",
+ "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=",
+ "dev": true,
+ "requires": {
+ "filename-reserved-regex": "^1.0.0",
+ "strip-outer": "^1.0.0",
+ "trim-repeated": "^1.0.0"
+ }
+ },
+ "filesize": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
+ "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==",
+ "dev": true
+ },
+ "fill-range": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
+ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
+ "dev": true,
+ "requires": {
+ "is-number": "^2.1.0",
+ "isobject": "^2.0.0",
+ "randomatic": "^3.0.0",
+ "repeat-element": "^1.1.2",
+ "repeat-string": "^1.5.2"
+ }
+ },
+ "find-replace": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-2.0.1.tgz",
+ "integrity": "sha512-LzDo3Fpa30FLIBsh6DCDnMN1KW2g4QKkqKmejlImgWY67dDFPX/x9Kh/op/GK522DchQXEvDi/wD48HKW49XOQ==",
+ "dev": true,
+ "requires": {
+ "array-back": "^2.0.0",
+ "test-value": "^3.0.0"
+ }
+ },
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "first-chunk-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
+ "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
+ "dev": true
+ },
+ "flat-cache": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
+ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
+ "dev": true,
+ "requires": {
+ "circular-json": "^0.3.1",
+ "del": "^2.0.2",
+ "graceful-fs": "^4.1.2",
+ "write": "^0.2.1"
+ }
+ },
+ "follow-redirects": {
+ "version": "1.5.9",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.9.tgz",
+ "integrity": "sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==",
+ "dev": true,
+ "requires": {
+ "debug": "=3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "for-own": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.1"
+ }
+ },
+ "foreach": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
+ "dev": true
+ },
+ "forever-agent": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz",
+ "integrity": "sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz",
+ "integrity": "sha1-Jvi8JtpkQOKZy9z7aQNcT3em5GY=",
+ "dev": true,
+ "requires": {
+ "async": "~0.9.0",
+ "combined-stream": "~0.0.4",
+ "mime-types": "~2.0.3"
+ },
+ "dependencies": {
+ "async": {
+ "version": "0.9.2",
+ "resolved": "http://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
+ "dev": true
+ },
+ "mime-db": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz",
+ "integrity": "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz",
+ "integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=",
+ "dev": true,
+ "requires": {
+ "mime-db": "~1.12.0"
+ }
+ }
+ }
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
+ "requires": {
+ "map-cache": "^0.2.2"
+ }
+ },
+ "fs-constants": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+ "dev": true
+ },
+ "fs-exists-sync": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz",
+ "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=",
+ "dev": true
+ },
+ "fs-extra": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
+ "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^2.1.0",
+ "klaw": "^1.0.0"
+ }
+ },
+ "fs-readdir-recursive": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz",
+ "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==",
+ "dev": true
+ },
+ "fs-then-native": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fs-then-native/-/fs-then-native-2.0.0.tgz",
+ "integrity": "sha1-GaEk2U2QwiyOBF8ujdbr6jbUjGc=",
+ "dev": true
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
+ "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "nan": "^2.9.2",
+ "node-pre-gyp": "^0.10.0"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "dev": true,
+ "optional": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+ "dev": true,
+ "optional": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz",
+ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "chownr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz",
+ "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=",
+ "dev": true,
+ "optional": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "dev": true,
+ "optional": true
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "deep-extend": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz",
+ "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==",
+ "dev": true,
+ "optional": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "dev": true,
+ "optional": true
+ },
+ "detect-libc": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
+ "dev": true,
+ "optional": true
+ },
+ "fs-minipass": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz",
+ "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minipass": "^2.2.1"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true,
+ "optional": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+ "dev": true,
+ "optional": true
+ },
+ "iconv-lite": {
+ "version": "0.4.21",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz",
+ "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "ignore-walk": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz",
+ "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minimatch": "^3.0.4"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "dev": true,
+ "optional": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true,
+ "optional": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
+ },
+ "minipass": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz",
+ "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.1",
+ "yallist": "^3.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz",
+ "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minipass": "^2.2.1"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true,
+ "optional": true
+ },
+ "needle": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.0.tgz",
+ "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "debug": "^2.1.2",
+ "iconv-lite": "^0.4.4",
+ "sax": "^1.2.4"
+ }
+ },
+ "node-pre-gyp": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz",
+ "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "detect-libc": "^1.0.2",
+ "mkdirp": "^0.5.1",
+ "needle": "^2.2.0",
+ "nopt": "^4.0.1",
+ "npm-packlist": "^1.1.6",
+ "npmlog": "^4.0.2",
+ "rc": "^1.1.7",
+ "rimraf": "^2.6.1",
+ "semver": "^5.3.0",
+ "tar": "^4"
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
+ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "abbrev": "1",
+ "osenv": "^0.1.4"
+ }
+ },
+ "npm-bundled": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz",
+ "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==",
+ "dev": true,
+ "optional": true
+ },
+ "npm-packlist": {
+ "version": "1.1.10",
+ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz",
+ "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ignore-walk": "^3.0.1",
+ "npm-bundled": "^1.0.1"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true,
+ "optional": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true,
+ "optional": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true,
+ "optional": true
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true,
+ "optional": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
+ "dev": true,
+ "optional": true
+ },
+ "rc": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz",
+ "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "deep-extend": "^0.5.1",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "glob": "^7.0.5"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
+ "dev": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true,
+ "optional": true
+ },
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+ "dev": true,
+ "optional": true
+ },
+ "semver": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
+ "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
+ "dev": true,
+ "optional": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "dev": true,
+ "optional": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true,
+ "optional": true
+ },
+ "tar": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.1.tgz",
+ "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chownr": "^1.0.1",
+ "fs-minipass": "^1.2.5",
+ "minipass": "^2.2.4",
+ "minizlib": "^1.1.0",
+ "mkdirp": "^0.5.0",
+ "safe-buffer": "^5.1.1",
+ "yallist": "^3.0.2"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true,
+ "optional": true
+ },
+ "wide-align": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
+ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "string-width": "^1.0.2"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "yallist": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz",
+ "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=",
+ "dev": true
+ }
+ }
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "fwd-stream": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/fwd-stream/-/fwd-stream-1.0.4.tgz",
+ "integrity": "sha1-7Sgcq+1G/uz5Ie4y3ExQs3KsfPo=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "~1.0.26-4"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
+ }
+ },
+ "generate-function": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz",
+ "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",
+ "dev": true,
+ "requires": {
+ "is-property": "^1.0.2"
+ }
+ },
+ "generate-object-property": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
+ "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
+ "dev": true,
+ "requires": {
+ "is-property": "^1.0.0"
+ }
+ },
+ "get-proxy": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz",
+ "integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=",
+ "dev": true,
+ "requires": {
+ "rc": "^1.1.2"
+ }
+ },
+ "get-stdin": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz",
+ "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=",
+ "dev": true
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+ "dev": true
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "glob": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-base": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "dev": true,
+ "requires": {
+ "glob-parent": "^2.0.0",
+ "is-glob": "^2.0.0"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^2.0.0"
+ }
+ },
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^1.0.0"
+ }
+ }
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ }
+ },
+ "glob-stream": {
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz",
+ "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=",
+ "dev": true,
+ "requires": {
+ "extend": "^3.0.0",
+ "glob": "^5.0.3",
+ "glob-parent": "^3.0.0",
+ "micromatch": "^2.3.7",
+ "ordered-read-streams": "^0.3.0",
+ "through2": "^0.6.0",
+ "to-absolute-glob": "^0.1.1",
+ "unique-stream": "^2.0.2"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "5.0.15",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+ "dev": true,
+ "requires": {
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "2 || 3",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ }
+ }
+ },
+ "glob-to-regexp": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
+ "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
+ "dev": true
+ },
+ "global-modules": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
+ "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
+ "dev": true,
+ "requires": {
+ "global-prefix": "^0.1.4",
+ "is-windows": "^0.2.0"
+ }
+ },
+ "global-prefix": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
+ "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
+ "dev": true,
+ "requires": {
+ "homedir-polyfill": "^1.0.0",
+ "ini": "^1.3.4",
+ "is-windows": "^0.2.0",
+ "which": "^1.2.12"
+ }
+ },
+ "globals": {
+ "version": "9.18.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+ "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
+ "dev": true
+ },
+ "globby": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
+ "dev": true,
+ "requires": {
+ "array-union": "^1.0.1",
+ "arrify": "^1.0.0",
+ "glob": "^7.0.3",
+ "object-assign": "^4.0.1",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "glogg": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz",
+ "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==",
+ "dev": true,
+ "requires": {
+ "sparkles": "^1.0.0"
+ }
+ },
+ "got": {
+ "version": "5.7.1",
+ "resolved": "http://registry.npmjs.org/got/-/got-5.7.1.tgz",
+ "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=",
+ "dev": true,
+ "requires": {
+ "create-error-class": "^3.0.1",
+ "duplexer2": "^0.1.4",
+ "is-redirect": "^1.0.0",
+ "is-retry-allowed": "^1.0.0",
+ "is-stream": "^1.0.0",
+ "lowercase-keys": "^1.0.0",
+ "node-status-codes": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "parse-json": "^2.1.0",
+ "pinkie-promise": "^2.0.0",
+ "read-all-stream": "^3.0.0",
+ "readable-stream": "^2.0.5",
+ "timed-out": "^3.0.0",
+ "unzip-response": "^1.0.2",
+ "url-parse-lax": "^1.0.0"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "graceful-readlink": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+ "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
+ "dev": true
+ },
+ "graphql": {
+ "version": "0.7.0",
+ "resolved": "http://registry.npmjs.org/graphql/-/graphql-0.7.0.tgz",
+ "integrity": "sha1-VwFJKDjtxsZzwYQHXrjwaxGn5FE=",
+ "dev": true,
+ "requires": {
+ "iterall": "1.0.2"
+ }
+ },
+ "graphql-js-client": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/graphql-js-client/-/graphql-js-client-0.9.2.tgz",
+ "integrity": "sha512-l//xNDoMP303GpjVrkbJudF0jTiH1xQJ/WwYmMMgLvAMCaUDt7C3tPZVIFqeuAss4jyyaJC3oqrFhqB59UqhAw==",
+ "dev": true
+ },
+ "graphql-js-client-compiler": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/graphql-js-client-compiler/-/graphql-js-client-compiler-0.2.0.tgz",
+ "integrity": "sha512-xqygOT7dygoka9QeFX1Khvgtp5Hjt9NW51lwYGR7b9J9qP2Ej5RQj39M8DRSZccU+zvWSiUR8wcY97HDyKeNQg==",
+ "dev": true,
+ "requires": {
+ "babel-generator": "6.25.0",
+ "babel-types": "6.25.0",
+ "command-line-usage": "4.0.0",
+ "graphql": "0.10.3",
+ "graphql-js-client": "0.7.0",
+ "graphql-js-schema": "0.7.1",
+ "graphql-to-js-client-builder": "1.0.0",
+ "minimist": "1.2.0",
+ "mkdirp": "0.5.1"
+ },
+ "dependencies": {
+ "ansi-escape-sequences": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-3.0.0.tgz",
+ "integrity": "sha1-HBg5S2r5t2/5pjUJ+kl2af0s5T4=",
+ "dev": true,
+ "requires": {
+ "array-back": "^1.0.3"
+ }
+ },
+ "array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
+ "dev": true,
+ "requires": {
+ "typical": "^2.6.0"
+ }
+ },
+ "babel-generator": {
+ "version": "6.25.0",
+ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz",
+ "integrity": "sha1-M6GvcNXyiQrrRlpKd5PB32qeqfw=",
+ "dev": true,
+ "requires": {
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.25.0",
+ "detect-indent": "^4.0.0",
+ "jsesc": "^1.3.0",
+ "lodash": "^4.2.0",
+ "source-map": "^0.5.0",
+ "trim-right": "^1.0.1"
+ }
+ },
+ "babel-types": {
+ "version": "6.25.0",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz",
+ "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "esutils": "^2.0.2",
+ "lodash": "^4.2.0",
+ "to-fast-properties": "^1.0.1"
+ }
+ },
+ "command-line-usage": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-4.0.0.tgz",
+ "integrity": "sha1-gWsyeItY+f66RNHm2sYPyuspteo=",
+ "dev": true,
+ "requires": {
+ "ansi-escape-sequences": "^3.0.0",
+ "array-back": "^1.0.4",
+ "table-layout": "^0.4.0",
+ "typical": "^2.6.0"
+ }
+ },
+ "graphql": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.10.3.tgz",
+ "integrity": "sha1-wxOv1VGOZzNRvuGPtj4qDkh0B6s=",
+ "dev": true,
+ "requires": {
+ "iterall": "^1.1.0"
+ }
+ },
+ "graphql-js-client": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/graphql-js-client/-/graphql-js-client-0.7.0.tgz",
+ "integrity": "sha512-Qb4EDM2s4JVeDVnm1evH8Q7GMR8qwj+jZJFqXsZ8BijADBkr8y9SX1Qd+JP0kdvDSIvQPZ3ePVc0v+lVxwlxSA==",
+ "dev": true
+ },
+ "iterall": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.2.2.tgz",
+ "integrity": "sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA==",
+ "dev": true
+ }
+ }
+ },
+ "graphql-js-schema": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/graphql-js-schema/-/graphql-js-schema-0.7.1.tgz",
+ "integrity": "sha512-bGexqMmJ0lu9SSi0oVa3A+iA0T81q07vgBzFbuO6OT+TY13QEA9Dbo7+uisSmf4O1DKhdWxjIVGGTalA9rCPEQ==",
+ "dev": true,
+ "requires": {
+ "babel-generator": "6.16.0",
+ "babel-template": "6.16.0",
+ "babel-types": "6.16.0",
+ "babylon": "6.11.2",
+ "get-stdin": "5.0.1",
+ "lodash.kebabcase": "4.1.1",
+ "minimist": "1.2.0",
+ "mkdirp": "0.5.1",
+ "rollup": "0.36.3",
+ "tmp": "0.0.29"
+ },
+ "dependencies": {
+ "babel-generator": {
+ "version": "6.16.0",
+ "resolved": "http://registry.npmjs.org/babel-generator/-/babel-generator-6.16.0.tgz",
+ "integrity": "sha1-LDjuYmma3OJl8KMs4YosIc8Pyng=",
+ "dev": true,
+ "requires": {
+ "babel-messages": "^6.8.0",
+ "babel-runtime": "^6.9.0",
+ "babel-types": "^6.16.0",
+ "detect-indent": "^3.0.1",
+ "jsesc": "^1.3.0",
+ "lodash": "^4.2.0",
+ "source-map": "^0.5.0"
+ }
+ },
+ "babel-template": {
+ "version": "6.16.0",
+ "resolved": "http://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz",
+ "integrity": "sha1-4UndGp8Do1+BfdvE0EgZiOfryMo=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.9.0",
+ "babel-traverse": "^6.16.0",
+ "babel-types": "^6.16.0",
+ "babylon": "^6.11.0",
+ "lodash": "^4.2.0"
+ }
+ },
+ "babel-types": {
+ "version": "6.16.0",
+ "resolved": "http://registry.npmjs.org/babel-types/-/babel-types-6.16.0.tgz",
+ "integrity": "sha1-ccyh2+Uzd2YiXFwZMHHo68vP/P4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.9.1",
+ "esutils": "^2.0.2",
+ "lodash": "^4.2.0",
+ "to-fast-properties": "^1.0.1"
+ }
+ },
+ "babylon": {
+ "version": "6.11.2",
+ "resolved": "http://registry.npmjs.org/babylon/-/babylon-6.11.2.tgz",
+ "integrity": "sha1-OmQ2H+3ubZ+CdqmrwMiKnlI3/3o=",
+ "dev": true
+ },
+ "detect-indent": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-3.0.1.tgz",
+ "integrity": "sha1-ncXl3bzu+DJXZLlFGwK8bVQIT3U=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "^4.0.1",
+ "minimist": "^1.1.0",
+ "repeating": "^1.1.0"
+ },
+ "dependencies": {
+ "get-stdin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+ "dev": true
+ }
+ }
+ },
+ "repeating": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz",
+ "integrity": "sha1-PUEUIYh3U3SU+X93+Xhfq4EPpKw=",
+ "dev": true,
+ "requires": {
+ "is-finite": "^1.0.0"
+ }
+ },
+ "rollup": {
+ "version": "0.36.3",
+ "resolved": "http://registry.npmjs.org/rollup/-/rollup-0.36.3.tgz",
+ "integrity": "sha1-yJrEeYKJJP+PacHURUHLTqL8Efw=",
+ "dev": true,
+ "requires": {
+ "source-map-support": "^0.4.0"
+ }
+ }
+ }
+ },
+ "graphql-js-schema-fetch": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/graphql-js-schema-fetch/-/graphql-js-schema-fetch-1.1.2.tgz",
+ "integrity": "sha1-hTpv2O88E5LqTl6TtWfCdPYZeCY=",
+ "dev": true,
+ "requires": {
+ "graphql": "0.7.0",
+ "minimist": "1.2.0",
+ "node-fetch": "1.6.3"
+ },
+ "dependencies": {
+ "node-fetch": {
+ "version": "1.6.3",
+ "resolved": "http://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz",
+ "integrity": "sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=",
+ "dev": true,
+ "requires": {
+ "encoding": "^0.1.11",
+ "is-stream": "^1.0.1"
+ }
+ }
+ }
+ },
+ "graphql-to-js-client-builder": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/graphql-to-js-client-builder/-/graphql-to-js-client-builder-1.0.0.tgz",
+ "integrity": "sha512-p8tBj7nZ53ZoWBQIhnrJ0xxSxu7F8NFNrLxKQMgjLT20Lnz+YN3kPtfxE0OV43PIDTnr/thjKkUSjXo7D7aB+A==",
+ "dev": true,
+ "requires": {
+ "babel-generator": "6.24.1",
+ "babel-types": "6.24.1",
+ "graphql": "0.9.6"
+ },
+ "dependencies": {
+ "babel-generator": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.24.1.tgz",
+ "integrity": "sha1-5xX0hsWN7SVknYiJRNUqoHxdlJc=",
+ "dev": true,
+ "requires": {
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1",
+ "detect-indent": "^4.0.0",
+ "jsesc": "^1.3.0",
+ "lodash": "^4.2.0",
+ "source-map": "^0.5.0",
+ "trim-right": "^1.0.1"
+ }
+ },
+ "babel-types": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.24.1.tgz",
+ "integrity": "sha1-oTaHncFbNga9oNkMH8dDBML/CXU=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "esutils": "^2.0.2",
+ "lodash": "^4.2.0",
+ "to-fast-properties": "^1.0.1"
+ }
+ },
+ "graphql": {
+ "version": "0.9.6",
+ "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.9.6.tgz",
+ "integrity": "sha1-UUQh6dIlwp38j9MFRZq65YgV7yw=",
+ "dev": true,
+ "requires": {
+ "iterall": "^1.0.0"
+ }
+ }
+ }
+ },
+ "growl": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
+ "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",
+ "dev": true
+ },
+ "gulp-decompress": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz",
+ "integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=",
+ "dev": true,
+ "requires": {
+ "archive-type": "^3.0.0",
+ "decompress": "^3.0.0",
+ "gulp-util": "^3.0.1",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "gulp-rename": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.4.0.tgz",
+ "integrity": "sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg==",
+ "dev": true
+ },
+ "gulp-sourcemaps": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",
+ "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=",
+ "dev": true,
+ "requires": {
+ "convert-source-map": "^1.1.1",
+ "graceful-fs": "^4.1.2",
+ "strip-bom": "^2.0.0",
+ "through2": "^2.0.0",
+ "vinyl": "^1.0.0"
+ },
+ "dependencies": {
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "^0.2.0"
+ }
+ },
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.1.5",
+ "xtend": "~4.0.1"
+ }
+ }
+ }
+ },
+ "gulp-util": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
+ "dev": true,
+ "requires": {
+ "array-differ": "^1.0.0",
+ "array-uniq": "^1.0.2",
+ "beeper": "^1.0.0",
+ "chalk": "^1.0.0",
+ "dateformat": "^2.0.0",
+ "fancy-log": "^1.1.0",
+ "gulplog": "^1.0.0",
+ "has-gulplog": "^0.1.0",
+ "lodash._reescape": "^3.0.0",
+ "lodash._reevaluate": "^3.0.0",
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.template": "^3.0.0",
+ "minimist": "^1.1.0",
+ "multipipe": "^0.1.2",
+ "object-assign": "^3.0.0",
+ "replace-ext": "0.0.1",
+ "through2": "^2.0.0",
+ "vinyl": "^0.5.0"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
+ "dev": true
+ },
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.1.5",
+ "xtend": "~4.0.1"
+ }
+ },
+ "vinyl": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
+ "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
+ "dev": true,
+ "requires": {
+ "clone": "^1.0.0",
+ "clone-stats": "^0.0.1",
+ "replace-ext": "0.0.1"
+ }
+ }
+ }
+ },
+ "gulplog": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
+ "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
+ "dev": true,
+ "requires": {
+ "glogg": "^1.0.0"
+ }
+ },
+ "handlebars": {
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz",
+ "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==",
+ "dev": true,
+ "requires": {
+ "async": "^2.5.0",
+ "optimist": "^0.6.1",
+ "source-map": "^0.6.1",
+ "uglify-js": "^3.1.4"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz",
+ "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==",
+ "dev": true,
+ "requires": {
+ "ajv": "^5.3.0",
+ "har-schema": "^2.0.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "5.5.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+ "dev": true,
+ "requires": {
+ "co": "^4.6.0",
+ "fast-deep-equal": "^1.0.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.3.0"
+ }
+ }
+ }
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "has-glob": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/has-glob/-/has-glob-0.1.1.tgz",
+ "integrity": "sha1-omHEwqbGZ+DHe3AKfyl8Oe86pYk=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^2.0.1"
+ },
+ "dependencies": {
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^1.0.0"
+ }
+ }
+ }
+ },
+ "has-gulplog": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
+ "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
+ "dev": true,
+ "requires": {
+ "sparkles": "^1.0.0"
+ }
+ },
+ "has-symbol-support-x": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz",
+ "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==",
+ "dev": true
+ },
+ "has-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+ "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
+ "dev": true
+ },
+ "has-to-string-tag-x": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz",
+ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==",
+ "dev": true,
+ "requires": {
+ "has-symbol-support-x": "^1.4.1"
+ }
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "hash-base": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "hash.js": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz",
+ "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "minimalistic-assert": "^1.0.1"
+ }
+ },
+ "hawk": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz",
+ "integrity": "sha1-h81JH5tG5OKurKM1QWdmiF0tHtk=",
+ "dev": true,
+ "requires": {
+ "boom": "0.4.x",
+ "cryptiles": "0.2.x",
+ "hoek": "0.9.x",
+ "sntp": "0.2.x"
+ }
+ },
+ "he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+ "dev": true
+ },
+ "hmac-drbg": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+ "dev": true,
+ "requires": {
+ "hash.js": "^1.0.3",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.1"
+ }
+ },
+ "hoek": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz",
+ "integrity": "sha1-PTIkYrrfB3Fup+uFuviAec3c5QU=",
+ "dev": true
+ },
+ "home-or-tmp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
+ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.1"
+ }
+ },
+ "homedir-polyfill": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
+ "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
+ "dev": true,
+ "requires": {
+ "parse-passwd": "^1.0.0"
+ }
+ },
+ "http-parser-js": {
+ "version": "0.4.13",
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz",
+ "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=",
+ "dev": true
+ },
+ "http-proxy": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
+ "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
+ "dev": true,
+ "requires": {
+ "eventemitter3": "^3.0.0",
+ "follow-redirects": "^1.0.0",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "http-server": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/http-server/-/http-server-0.10.0.tgz",
+ "integrity": "sha1-sqRGsWqduH7TxiK6m+sbCFsSNKc=",
+ "dev": true,
+ "requires": {
+ "colors": "1.0.3",
+ "corser": "~2.0.0",
+ "ecstatic": "^2.0.0",
+ "http-proxy": "^1.8.1",
+ "opener": "~1.4.0",
+ "optimist": "0.6.x",
+ "portfinder": "^1.0.13",
+ "union": "~0.4.3"
+ }
+ },
+ "http-signature": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz",
+ "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=",
+ "dev": true,
+ "requires": {
+ "asn1": "0.1.11",
+ "assert-plus": "^0.1.5",
+ "ctype": "0.5.3"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "idb-wrapper": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/idb-wrapper/-/idb-wrapper-1.7.2.tgz",
+ "integrity": "sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg==",
+ "dev": true
+ },
+ "ieee754": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
+ "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==",
+ "dev": true
+ },
+ "ignore": {
+ "version": "3.3.10",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
+ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
+ "dev": true
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "in-publish": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
+ "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
+ "dev": true
+ },
+ "indexof": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "dev": true
+ },
+ "inquirer": {
+ "version": "0.12.0",
+ "resolved": "http://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz",
+ "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^1.1.0",
+ "ansi-regex": "^2.0.0",
+ "chalk": "^1.0.0",
+ "cli-cursor": "^1.0.1",
+ "cli-width": "^2.0.0",
+ "figures": "^1.3.5",
+ "lodash": "^4.3.0",
+ "readline2": "^1.0.1",
+ "run-async": "^0.1.0",
+ "rx-lite": "^3.1.2",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.0",
+ "through": "^2.3.6"
+ }
+ },
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "ip-regex": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz",
+ "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=",
+ "dev": true
+ },
+ "is": {
+ "version": "0.2.7",
+ "resolved": "http://registry.npmjs.org/is/-/is-0.2.7.tgz",
+ "integrity": "sha1-OzSixI81mXLzUEKEkZOucmS2NWI=",
+ "dev": true
+ },
+ "is-absolute": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz",
+ "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=",
+ "dev": true,
+ "requires": {
+ "is-relative": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-binary-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^1.0.0"
+ }
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
+ },
+ "is-bzip2": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz",
+ "integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
+ "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
+ "dev": true
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "is-date-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
+ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
+ "dev": true
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "is-dotfile": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
+ "dev": true
+ },
+ "is-equal-shallow": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+ "dev": true,
+ "requires": {
+ "is-primitive": "^2.0.0"
+ }
+ },
+ "is-error": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.1.tgz",
+ "integrity": "sha1-aEqW2EB2V3yY9M20DG0mpRI78Zw=",
+ "dev": true
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-finite": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ },
+ "is-gzip": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz",
+ "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=",
+ "dev": true
+ },
+ "is-invalid-path": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz",
+ "integrity": "sha1-MHqFWzzxqTi0TqcNLGEQYFNxTzQ=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^2.0.0"
+ },
+ "dependencies": {
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^1.0.0"
+ }
+ }
+ }
+ },
+ "is-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+ "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
+ "dev": true
+ },
+ "is-my-ip-valid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz",
+ "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==",
+ "dev": true
+ },
+ "is-my-json-valid": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.19.0.tgz",
+ "integrity": "sha512-mG0f/unGX1HZ5ep4uhRaPOS8EkAY8/j6mDRMJrutq4CqhoJWYp7qAlonIPy3TV7p3ju4TK9fo/PbnoksWmsp5Q==",
+ "dev": true,
+ "requires": {
+ "generate-function": "^2.0.0",
+ "generate-object-property": "^1.1.0",
+ "is-my-ip-valid": "^1.0.0",
+ "jsonpointer": "^4.0.0",
+ "xtend": "^4.0.0"
+ }
+ },
+ "is-natural-number": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz",
+ "integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=",
+ "dev": true
+ },
+ "is-number": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "is-obj": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
+ },
+ "is-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz",
+ "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=",
+ "dev": true
+ },
+ "is-path-cwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+ "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
+ "dev": true
+ },
+ "is-path-in-cwd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
+ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
+ "dev": true,
+ "requires": {
+ "is-path-inside": "^1.0.0"
+ }
+ },
+ "is-path-inside": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
+ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+ "dev": true,
+ "requires": {
+ "path-is-inside": "^1.0.1"
+ }
+ },
+ "is-plain-obj": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+ "dev": true
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "is-posix-bracket": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+ "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
+ "dev": true
+ },
+ "is-primitive": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
+ "dev": true
+ },
+ "is-property": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
+ "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
+ "dev": true
+ },
+ "is-redirect": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
+ "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
+ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.1"
+ }
+ },
+ "is-relative": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz",
+ "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=",
+ "dev": true
+ },
+ "is-resolvable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
+ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
+ "dev": true
+ },
+ "is-retry-allowed": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
+ "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=",
+ "dev": true
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "is-symbol": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
+ "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
+ "dev": true,
+ "requires": {
+ "has-symbols": "^1.0.0"
+ }
+ },
+ "is-tar": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz",
+ "integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=",
+ "dev": true
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
+ },
+ "is-url": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
+ "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==",
+ "dev": true
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
+ },
+ "is-valid-glob": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
+ "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=",
+ "dev": true
+ },
+ "is-valid-path": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz",
+ "integrity": "sha1-EQ+f90w39mPh7HkV60UfLbk6yd8=",
+ "dev": true,
+ "requires": {
+ "is-invalid-path": "^0.1.0"
+ }
+ },
+ "is-windows": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
+ "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=",
+ "dev": true
+ },
+ "is-zip": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz",
+ "integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "isbuffer": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/isbuffer/-/isbuffer-0.0.0.tgz",
+ "integrity": "sha1-OMFG2d9Si4v5sHAcPUPPEt8/w5s=",
+ "dev": true
+ },
+ "isemail": {
+ "version": "2.2.1",
+ "resolved": "http://registry.npmjs.org/isemail/-/isemail-2.2.1.tgz",
+ "integrity": "sha1-A1PT2aYpUQgMJiwqoKQrjqjp4qY=",
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true
+ },
+ "isurl": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz",
+ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==",
+ "dev": true,
+ "requires": {
+ "has-to-string-tag-x": "^1.2.0",
+ "is-object": "^1.0.1"
+ }
+ },
+ "items": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/items/-/items-2.1.1.tgz",
+ "integrity": "sha1-i9FtnIOxlSneWuoyGsqtp4NkoZg=",
+ "dev": true
+ },
+ "iterall": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.0.2.tgz",
+ "integrity": "sha1-QaLpbOntpeYcdn7l3DEjc7sEbpE=",
+ "dev": true
+ },
+ "jmespath": {
+ "version": "0.15.0",
+ "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz",
+ "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=",
+ "dev": true
+ },
+ "joi": {
+ "version": "9.2.0",
+ "resolved": "http://registry.npmjs.org/joi/-/joi-9.2.0.tgz",
+ "integrity": "sha1-M4WseQGSEwy+Iw6ALsAskhW7/to=",
+ "dev": true,
+ "requires": {
+ "hoek": "4.x.x",
+ "isemail": "2.x.x",
+ "items": "2.x.x",
+ "moment": "2.x.x",
+ "topo": "2.x.x"
+ },
+ "dependencies": {
+ "hoek": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz",
+ "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==",
+ "dev": true
+ }
+ }
+ },
+ "jquery": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.2.1.tgz",
+ "integrity": "sha1-XE2d5lKvbNCncBVKYxu6ErAVx4c=",
+ "dev": true
+ },
+ "js-string-escape": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz",
+ "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=",
+ "dev": true
+ },
+ "js-tokens": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
+ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "js2xmlparser": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz",
+ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=",
+ "dev": true,
+ "requires": {
+ "xmlcreate": "^1.0.1"
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "dev": true
+ },
+ "jsdoc": {
+ "version": "3.5.5",
+ "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz",
+ "integrity": "sha512-6PxB65TAU4WO0Wzyr/4/YhlGovXl0EVYfpKbpSroSj0qBxT4/xod/l40Opkm38dRHRdQgdeY836M0uVnJQG7kg==",
+ "dev": true,
+ "requires": {
+ "babylon": "7.0.0-beta.19",
+ "bluebird": "~3.5.0",
+ "catharsis": "~0.8.9",
+ "escape-string-regexp": "~1.0.5",
+ "js2xmlparser": "~3.0.0",
+ "klaw": "~2.0.0",
+ "marked": "~0.3.6",
+ "mkdirp": "~0.5.1",
+ "requizzle": "~0.2.1",
+ "strip-json-comments": "~2.0.1",
+ "taffydb": "2.6.2",
+ "underscore": "~1.8.3"
+ },
+ "dependencies": {
+ "babylon": {
+ "version": "7.0.0-beta.19",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz",
+ "integrity": "sha512-Vg0C9s/REX6/WIXN37UKpv5ZhRi6A4pjHlpkE34+8/a6c2W1Q692n3hmc+SZG5lKRnaExLUbxtJ1SVT+KaCQ/A==",
+ "dev": true
+ },
+ "klaw": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz",
+ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.9"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true
+ }
+ }
+ },
+ "jsdoc-api": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-4.0.3.tgz",
+ "integrity": "sha512-dfYq9JgB+XahY0XfSEw93PmXmocjwYcvJ5aMuQUJ/OdDRGWamf2SSOk3W06Bsj8qdjp/UdefzqpP/mpwsvHuvA==",
+ "dev": true,
+ "requires": {
+ "array-back": "^2.0.0",
+ "cache-point": "^0.4.1",
+ "collect-all": "^1.0.3",
+ "file-set": "^2.0.0",
+ "fs-then-native": "^2.0.0",
+ "jsdoc": "~3.5.5",
+ "object-to-spawn-args": "^1.1.1",
+ "temp-path": "^1.0.0",
+ "walk-back": "^3.0.0"
+ }
+ },
+ "jsdoc-export-default-interop": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/jsdoc-export-default-interop/-/jsdoc-export-default-interop-0.3.1.tgz",
+ "integrity": "sha1-Ri+p+bSiqwag9NBiQUPQLlui0F8=",
+ "dev": true,
+ "requires": {
+ "in-publish": "^2.0.0",
+ "lodash": "^4.0.1"
+ }
+ },
+ "jsdoc-parse": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-3.0.1.tgz",
+ "integrity": "sha512-btZLp4wYl90vcAfgk4hoGQbO17iBVrhh3LJRMKZNtZgniO3F8H2CjxXld0owBIB1XxN+j3bAcWZnZKMnSj3iMA==",
+ "dev": true,
+ "requires": {
+ "array-back": "^2.0.0",
+ "lodash.omit": "^4.5.0",
+ "lodash.pick": "^4.4.0",
+ "reduce-extract": "^1.0.0",
+ "sort-array": "^2.0.0",
+ "test-value": "^3.0.0"
+ }
+ },
+ "jsdoc-to-markdown": {
+ "version": "3.1.0-1",
+ "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-3.1.0-1.tgz",
+ "integrity": "sha512-n7xTOJT89JbCs3biMrNBvYiAIgxLQszs/1kKDEcJ1nh9hSvUbBh+w+TTcMF6bgqF76fowVJWpCh90zdZYOTT8w==",
+ "dev": true,
+ "requires": {
+ "array-back": "^2.0.0",
+ "command-line-tool": "^0.8.0",
+ "config-master": "^3.1.0",
+ "dmd": "^3.0.9",
+ "jsdoc-api": "^4.0.1",
+ "jsdoc-parse": "^3.0.1",
+ "walk-back": "^3.0.0"
+ }
+ },
+ "jsesc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+ "dev": true
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
+ "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
+ "dev": true
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "dev": true,
+ "requires": {
+ "jsonify": "~0.0.0"
+ }
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true
+ },
+ "json3": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
+ "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
+ "dev": true
+ },
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+ "dev": true
+ },
+ "jsonfile": {
+ "version": "2.4.0",
+ "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true
+ },
+ "jsonpointer": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
+ "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
+ "dev": true
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "jsx-ast-utils": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz",
+ "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ },
+ "klaw": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
+ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.9"
+ }
+ },
+ "lazy-cache": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
+ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
+ "dev": true,
+ "requires": {
+ "set-getter": "^0.1.0"
+ }
+ },
+ "lazystream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
+ "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.0.5"
+ }
+ },
+ "level-blobs": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/level-blobs/-/level-blobs-0.1.7.tgz",
+ "integrity": "sha1-mrm5e7mfHtv594o0M+Ie1WOGva8=",
+ "dev": true,
+ "requires": {
+ "level-peek": "1.0.6",
+ "once": "^1.3.0",
+ "readable-stream": "^1.0.26-4"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
+ }
+ },
+ "level-filesystem": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/level-filesystem/-/level-filesystem-1.2.0.tgz",
+ "integrity": "sha1-oArKmRnEpN+v3KaoEI0iWq3/Y7M=",
+ "dev": true,
+ "requires": {
+ "concat-stream": "^1.4.4",
+ "errno": "^0.1.1",
+ "fwd-stream": "^1.0.4",
+ "level-blobs": "^0.1.7",
+ "level-peek": "^1.0.6",
+ "level-sublevel": "^5.2.0",
+ "octal": "^1.0.0",
+ "once": "^1.3.0",
+ "xtend": "^2.2.0"
+ },
+ "dependencies": {
+ "xtend": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.2.0.tgz",
+ "integrity": "sha1-7vax8ZjByN6vrYsXZaBNrUoBxak=",
+ "dev": true
+ }
+ }
+ },
+ "level-fix-range": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npmjs.org/level-fix-range/-/level-fix-range-1.0.2.tgz",
+ "integrity": "sha1-vxW5Fa422EcMgh6IPd95zRZCCCg=",
+ "dev": true
+ },
+ "level-hooks": {
+ "version": "4.5.0",
+ "resolved": "http://registry.npmjs.org/level-hooks/-/level-hooks-4.5.0.tgz",
+ "integrity": "sha1-G5rmGSKTDzMF0aYfxNg8gQLA3ZM=",
+ "dev": true,
+ "requires": {
+ "string-range": "~1.2"
+ }
+ },
+ "level-js": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/level-js/-/level-js-2.2.4.tgz",
+ "integrity": "sha1-vAVfQYBjXUSJtWHJSG+jcOjBFpc=",
+ "dev": true,
+ "requires": {
+ "abstract-leveldown": "~0.12.0",
+ "idb-wrapper": "^1.5.0",
+ "isbuffer": "~0.0.0",
+ "ltgt": "^2.1.2",
+ "typedarray-to-buffer": "~1.0.0",
+ "xtend": "~2.1.2"
+ },
+ "dependencies": {
+ "object-keys": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz",
+ "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=",
+ "dev": true
+ },
+ "xtend": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
+ "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=",
+ "dev": true,
+ "requires": {
+ "object-keys": "~0.4.0"
+ }
+ }
+ }
+ },
+ "level-peek": {
+ "version": "1.0.6",
+ "resolved": "http://registry.npmjs.org/level-peek/-/level-peek-1.0.6.tgz",
+ "integrity": "sha1-vsUccqgu5GTTNkNMfIdsP8vM538=",
+ "dev": true,
+ "requires": {
+ "level-fix-range": "~1.0.2"
+ }
+ },
+ "level-sublevel": {
+ "version": "5.2.3",
+ "resolved": "http://registry.npmjs.org/level-sublevel/-/level-sublevel-5.2.3.tgz",
+ "integrity": "sha1-dEwSxy0ucr543eO5tc2E1iGRQTo=",
+ "dev": true,
+ "requires": {
+ "level-fix-range": "2.0",
+ "level-hooks": ">=4.4.0 <5",
+ "string-range": "~1.2.1",
+ "xtend": "~2.0.4"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "0.1.19",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-0.1.19.tgz",
+ "integrity": "sha1-YT+2hjmyaklKxTJT4Vsaa9iK2oU=",
+ "dev": true
+ },
+ "is-object": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/is-object/-/is-object-0.1.2.tgz",
+ "integrity": "sha1-AO+8CIFsM8/ErIJR0TLhDcZQmNc=",
+ "dev": true
+ },
+ "level-fix-range": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npmjs.org/level-fix-range/-/level-fix-range-2.0.0.tgz",
+ "integrity": "sha1-xBfWIVlEIVGhnZojZ4aPFyTC1Ug=",
+ "dev": true,
+ "requires": {
+ "clone": "~0.1.9"
+ }
+ },
+ "object-keys": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.2.0.tgz",
+ "integrity": "sha1-zd7AKZiwkb5CvxA1rjLknxy26mc=",
+ "dev": true,
+ "requires": {
+ "foreach": "~2.0.1",
+ "indexof": "~0.0.1",
+ "is": "~0.2.6"
+ }
+ },
+ "xtend": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.0.6.tgz",
+ "integrity": "sha1-XqZXptukRwacLlnFihE4ywxebO4=",
+ "dev": true,
+ "requires": {
+ "is-object": "~0.1.2",
+ "object-keys": "~0.2.0"
+ }
+ }
+ }
+ },
+ "levelup": {
+ "version": "0.18.6",
+ "resolved": "https://registry.npmjs.org/levelup/-/levelup-0.18.6.tgz",
+ "integrity": "sha1-5qAcsIlhbI7MApHCqb0/DETj5es=",
+ "dev": true,
+ "requires": {
+ "bl": "~0.8.1",
+ "deferred-leveldown": "~0.2.0",
+ "errno": "~0.1.1",
+ "prr": "~0.0.0",
+ "readable-stream": "~1.0.26",
+ "semver": "~2.3.1",
+ "xtend": "~3.0.0"
+ },
+ "dependencies": {
+ "bl": {
+ "version": "0.8.2",
+ "resolved": "http://registry.npmjs.org/bl/-/bl-0.8.2.tgz",
+ "integrity": "sha1-yba8oI0bwuoA/Ir7Txpf0eHGbk4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "~1.0.26"
+ }
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "prr": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz",
+ "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "semver": {
+ "version": "2.3.2",
+ "resolved": "http://registry.npmjs.org/semver/-/semver-2.3.2.tgz",
+ "integrity": "sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI=",
+ "dev": true
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ },
+ "xtend": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz",
+ "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=",
+ "dev": true
+ }
+ }
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "livereload-js": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz",
+ "integrity": "sha512-j1R0/FeGa64Y+NmqfZhyoVRzcFlOZ8sNlKzHjh4VvLULFACZhn68XrX5DFg2FhMvSMJmROuFxRSa560ECWKBMg==",
+ "dev": true
+ },
+ "lodash": {
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
+ "dev": true
+ },
+ "lodash._baseassign": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
+ "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=",
+ "dev": true,
+ "requires": {
+ "lodash._basecopy": "^3.0.0",
+ "lodash.keys": "^3.0.0"
+ }
+ },
+ "lodash._basecopy": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
+ "dev": true
+ },
+ "lodash._basecreate": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz",
+ "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=",
+ "dev": true
+ },
+ "lodash._basetostring": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
+ "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
+ "dev": true
+ },
+ "lodash._basevalues": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
+ "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
+ "dev": true
+ },
+ "lodash._getnative": {
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
+ "dev": true
+ },
+ "lodash._isiterateecall": {
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+ "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
+ "dev": true
+ },
+ "lodash._reescape": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
+ "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
+ "dev": true
+ },
+ "lodash._reevaluate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
+ "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
+ "dev": true
+ },
+ "lodash._reinterpolate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
+ "dev": true
+ },
+ "lodash._root": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
+ "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
+ "dev": true
+ },
+ "lodash.assign": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+ "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
+ "dev": true
+ },
+ "lodash.camelcase": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
+ "dev": true
+ },
+ "lodash.cond": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz",
+ "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=",
+ "dev": true
+ },
+ "lodash.create": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
+ "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=",
+ "dev": true,
+ "requires": {
+ "lodash._baseassign": "^3.0.0",
+ "lodash._basecreate": "^3.0.0",
+ "lodash._isiterateecall": "^3.0.0"
+ }
+ },
+ "lodash.endswith": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/lodash.endswith/-/lodash.endswith-4.2.1.tgz",
+ "integrity": "sha1-/tWawXOO0+I27dcGTsRWRIs3vAk=",
+ "dev": true
+ },
+ "lodash.escape": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
+ "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
+ "dev": true,
+ "requires": {
+ "lodash._root": "^3.0.0"
+ }
+ },
+ "lodash.find": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz",
+ "integrity": "sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=",
+ "dev": true
+ },
+ "lodash.findindex": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.findindex/-/lodash.findindex-4.6.0.tgz",
+ "integrity": "sha1-oyRd7mH7m24GJLU1ElYku2nBEQY=",
+ "dev": true
+ },
+ "lodash.foreach": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz",
+ "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=",
+ "dev": true
+ },
+ "lodash.isarguments": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
+ "dev": true
+ },
+ "lodash.isarray": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+ "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
+ "dev": true
+ },
+ "lodash.isequal": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
+ "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
+ "dev": true
+ },
+ "lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
+ "dev": true
+ },
+ "lodash.kebabcase": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
+ "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=",
+ "dev": true
+ },
+ "lodash.keys": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
+ "dev": true,
+ "requires": {
+ "lodash._getnative": "^3.0.0",
+ "lodash.isarguments": "^3.0.0",
+ "lodash.isarray": "^3.0.0"
+ }
+ },
+ "lodash.omit": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz",
+ "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=",
+ "dev": true
+ },
+ "lodash.padend": {
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz",
+ "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=",
+ "dev": true
+ },
+ "lodash.pick": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
+ "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=",
+ "dev": true
+ },
+ "lodash.pickby": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz",
+ "integrity": "sha1-feoh2MGNdwOifHBMFdO4SmfjOv8=",
+ "dev": true
+ },
+ "lodash.restparam": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+ "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
+ "dev": true
+ },
+ "lodash.some": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz",
+ "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=",
+ "dev": true
+ },
+ "lodash.sumby": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.sumby/-/lodash.sumby-4.6.0.tgz",
+ "integrity": "sha1-fYdzfdshbaL35efNLdnEA6eIc0Y=",
+ "dev": true
+ },
+ "lodash.template": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
+ "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
+ "dev": true,
+ "requires": {
+ "lodash._basecopy": "^3.0.0",
+ "lodash._basetostring": "^3.0.0",
+ "lodash._basevalues": "^3.0.0",
+ "lodash._isiterateecall": "^3.0.0",
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.escape": "^3.0.0",
+ "lodash.keys": "^3.0.0",
+ "lodash.restparam": "^3.0.0",
+ "lodash.templatesettings": "^3.0.0"
+ }
+ },
+ "lodash.templatesettings": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
+ "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.escape": "^3.0.0"
+ }
+ },
+ "loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dev": true,
+ "requires": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ }
+ },
+ "lowercase-keys": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
+ "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
+ "dev": true
+ },
+ "ltgt": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz",
+ "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=",
+ "dev": true
+ },
+ "magic-string": {
+ "version": "0.19.1",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.19.1.tgz",
+ "integrity": "sha1-FNdoATyvLsj96hakmvgvw3fnUgE=",
+ "dev": true,
+ "requires": {
+ "vlq": "^0.2.1"
+ }
+ },
+ "make-dir": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
+ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
+ "requires": {
+ "object-visit": "^1.0.0"
+ }
+ },
+ "marked": {
+ "version": "0.3.19",
+ "resolved": "http://registry.npmjs.org/marked/-/marked-0.3.19.tgz",
+ "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==",
+ "dev": true
+ },
+ "matched": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/matched/-/matched-0.4.4.tgz",
+ "integrity": "sha1-Vte36xgDPwz5vFLrIJD6x9weifo=",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "async-array-reduce": "^0.2.0",
+ "extend-shallow": "^2.0.1",
+ "fs-exists-sync": "^0.1.0",
+ "glob": "^7.0.5",
+ "has-glob": "^0.1.1",
+ "is-valid-glob": "^0.3.0",
+ "lazy-cache": "^2.0.1",
+ "resolve-dir": "^0.1.0"
+ }
+ },
+ "math-random": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz",
+ "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=",
+ "dev": true
+ },
+ "md5.js": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
+ "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
+ "dev": true,
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "merge": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz",
+ "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=",
+ "dev": true
+ },
+ "merge-stream": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
+ "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.0.1"
+ }
+ },
+ "micromatch": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^2.0.0",
+ "array-unique": "^0.2.1",
+ "braces": "^1.8.2",
+ "expand-brackets": "^0.1.4",
+ "extglob": "^0.3.1",
+ "filename-regex": "^2.0.0",
+ "is-extglob": "^1.0.0",
+ "is-glob": "^2.0.1",
+ "kind-of": "^3.0.2",
+ "normalize-path": "^2.0.1",
+ "object.omit": "^2.0.0",
+ "parse-glob": "^3.0.4",
+ "regex-cache": "^0.4.2"
+ },
+ "dependencies": {
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^1.0.0"
+ }
+ }
+ }
+ },
+ "miller-rabin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.0.0",
+ "brorand": "^1.0.1"
+ }
+ },
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "dev": true
+ },
+ "mime-db": {
+ "version": "1.30.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz",
+ "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.17",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
+ "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
+ "dev": true,
+ "requires": {
+ "mime-db": "~1.30.0"
+ }
+ },
+ "mimic-response": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
+ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "dev": true
+ },
+ "minimalistic-assert": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+ "dev": true
+ },
+ "minimalistic-crypto-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "mixin-deep": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
+ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
+ }
+ }
+ },
+ "mkdirp2": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp2/-/mkdirp2-1.0.4.tgz",
+ "integrity": "sha512-Q2PKB4ZR4UPtjLl76JfzlgSCUZhSV1AXQgAZa1qt5RiaALFjP/CDrGvFBrOz7Ck6McPcwMAxTsJvWOUjOU8XMw==",
+ "dev": true
+ },
+ "mocha": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.0.tgz",
+ "integrity": "sha512-pIU2PJjrPYvYRqVpjXzj76qltO9uBYI7woYAMoxbSefsa+vqAfptjoeevd6bUgwD0mPIO+hv9f7ltvsNreL2PA==",
+ "dev": true,
+ "requires": {
+ "browser-stdout": "1.3.0",
+ "commander": "2.9.0",
+ "debug": "2.6.8",
+ "diff": "3.2.0",
+ "escape-string-regexp": "1.0.5",
+ "glob": "7.1.1",
+ "growl": "1.9.2",
+ "json3": "3.3.2",
+ "lodash.create": "3.1.1",
+ "mkdirp": "0.5.1",
+ "supports-color": "3.1.2"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.9.0",
+ "resolved": "http://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
+ "dev": true,
+ "requires": {
+ "graceful-readlink": ">= 1.0.0"
+ }
+ },
+ "debug": {
+ "version": "2.6.8",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+ "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.2",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
+ "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "module-details-from-path": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz",
+ "integrity": "sha1-EUyUlnPiqKNenTV4hSeqN7Z52is=",
+ "dev": true
+ },
+ "moment": {
+ "version": "2.22.2",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz",
+ "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "multimatch": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz",
+ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=",
+ "dev": true,
+ "requires": {
+ "array-differ": "^1.0.0",
+ "array-union": "^1.0.1",
+ "arrify": "^1.0.0",
+ "minimatch": "^3.0.0"
+ }
+ },
+ "multipipe": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
+ "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
+ "dev": true,
+ "requires": {
+ "duplexer2": "0.0.2"
+ },
+ "dependencies": {
+ "duplexer2": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
+ "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "~1.1.9"
+ }
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
+ }
+ },
+ "mute-stream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
+ "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=",
+ "dev": true
+ },
+ "nan": {
+ "version": "2.11.1",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz",
+ "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==",
+ "dev": true,
+ "optional": true
+ },
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ }
+ },
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ },
+ "is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ }
+ }
+ },
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
+ },
+ "next-tick": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
+ "dev": true
+ },
+ "node-fetch": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.2.tgz",
+ "integrity": "sha512-xZZUq2yDhKMIn/UgG5q//IZSNLJIwW2QxS14CNH5spuiXkITM2pUitjdq58yLSaU7m4M0wBNaM2Gh/ggY4YJig==",
+ "dev": true,
+ "requires": {
+ "encoding": "^0.1.11",
+ "is-stream": "^1.0.1"
+ }
+ },
+ "node-jq": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/node-jq/-/node-jq-0.7.0.tgz",
+ "integrity": "sha512-5oMKLqc1KF+1K8cm84NyDP8ZBT2lo8H7tDC7Xiywj295ukEmE9Wo8XDIKz/ehmJAcVwAPWFg40pLfuZjWJmcfg==",
+ "dev": true,
+ "requires": {
+ "bin-build": "^2.2.0",
+ "download": "^6.0.0",
+ "is-valid-path": "^0.1.1",
+ "strip-eof": "^1.0.0",
+ "tempfile": "^2.0.0"
+ }
+ },
+ "node-status-codes": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz",
+ "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=",
+ "dev": true
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ },
+ "npm-conf": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz",
+ "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==",
+ "dev": true,
+ "requires": {
+ "config-chain": "^1.1.11",
+ "pify": "^3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.5.0.tgz",
+ "integrity": "sha1-12f1FpMlYg6rLgh+8MRy53PbZGE=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
+ "requires": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "object-get": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/object-get/-/object-get-2.1.0.tgz",
+ "integrity": "sha1-ciu9tgA576R8rTxtws5RqFwCxa4=",
+ "dev": true
+ },
+ "object-keys": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
+ "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==",
+ "dev": true
+ },
+ "object-to-spawn-args": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-to-spawn-args/-/object-to-spawn-args-1.1.1.tgz",
+ "integrity": "sha1-d9qIJ/Bz0BHJ4bFz+JV4FHAkZ4U=",
+ "dev": true
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "object.getownpropertydescriptors": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
+ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.5.1"
+ }
+ },
+ "object.omit": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "dev": true,
+ "requires": {
+ "for-own": "^0.1.4",
+ "is-extendable": "^0.1.1"
+ }
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "octal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/octal/-/octal-1.0.0.tgz",
+ "integrity": "sha1-Y+cWKmjvvrniE1iNWOmJ0eXEUws=",
+ "dev": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
+ "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
+ "dev": true
+ },
+ "opener": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz",
+ "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=",
+ "dev": true
+ },
+ "optimist": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "dev": true,
+ "requires": {
+ "minimist": "~0.0.1",
+ "wordwrap": "~0.0.2"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.10",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
+ "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
+ "dev": true
+ },
+ "wordwrap": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+ "dev": true
+ }
+ }
+ },
+ "optionator": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+ "dev": true,
+ "requires": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.4",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "wordwrap": "~1.0.0"
+ }
+ },
+ "ordered-read-streams": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",
+ "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=",
+ "dev": true,
+ "requires": {
+ "is-stream": "^1.0.1",
+ "readable-stream": "^2.0.1"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ },
+ "p-cancelable": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz",
+ "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==",
+ "dev": true
+ },
+ "p-event": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz",
+ "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=",
+ "dev": true,
+ "requires": {
+ "p-timeout": "^1.1.1"
+ }
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "p-timeout": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz",
+ "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=",
+ "dev": true,
+ "requires": {
+ "p-finally": "^1.0.0"
+ }
+ },
+ "parse-asn1": {
+ "version": "5.1.1",
+ "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
+ "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
+ "dev": true,
+ "requires": {
+ "asn1.js": "^4.0.0",
+ "browserify-aes": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.0",
+ "pbkdf2": "^3.0.3"
+ }
+ },
+ "parse-glob": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+ "dev": true,
+ "requires": {
+ "glob-base": "^0.3.0",
+ "is-dotfile": "^1.0.0",
+ "is-extglob": "^1.0.0",
+ "is-glob": "^2.0.0"
+ },
+ "dependencies": {
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^1.0.0"
+ }
+ }
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "parse-passwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
+ "dev": true
+ },
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
+ },
+ "path-dirname": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-is-inside": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+ "dev": true
+ },
+ "path-to-regexp": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
+ "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
+ "dev": true,
+ "requires": {
+ "isarray": "0.0.1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ }
+ }
+ },
+ "pbkdf2": {
+ "version": "3.0.17",
+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
+ "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
+ "dev": true,
+ "requires": {
+ "create-hash": "^1.1.2",
+ "create-hmac": "^1.1.4",
+ "ripemd160": "^2.0.1",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "pend": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
+ "dev": true
+ },
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "dev": true
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "^2.0.0"
+ }
+ },
+ "pkg-dir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
+ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
+ "dev": true,
+ "requires": {
+ "find-up": "^1.0.0"
+ }
+ },
+ "pkg-up": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz",
+ "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=",
+ "dev": true,
+ "requires": {
+ "find-up": "^1.0.0"
+ }
+ },
+ "pluralize": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz",
+ "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=",
+ "dev": true
+ },
+ "portfinder": {
+ "version": "1.0.17",
+ "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.17.tgz",
+ "integrity": "sha512-syFcRIRzVI1BoEFOCaAiizwDolh1S1YXSodsVhncbhjzjZQulhczNRbqnUl9N31Q4dKGOXsNDqxC2BWBgSMqeQ==",
+ "dev": true,
+ "requires": {
+ "async": "^1.5.2",
+ "debug": "^2.2.0",
+ "mkdirp": "0.5.x"
+ },
+ "dependencies": {
+ "async": {
+ "version": "1.5.2",
+ "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
+ }
+ }
+ },
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
+ },
+ "prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "dev": true
+ },
+ "prepend-http": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
+ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
+ "dev": true
+ },
+ "preserve": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+ "dev": true
+ },
+ "private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+ "dev": true
+ },
+ "process-es6": {
+ "version": "0.11.6",
+ "resolved": "https://registry.npmjs.org/process-es6/-/process-es6-0.11.6.tgz",
+ "integrity": "sha1-xrs4n5qVH4K9TrFpYAEFvS/5x3g=",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
+ "dev": true
+ },
+ "progress": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
+ "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
+ "dev": true
+ },
+ "proto-list": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
+ "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
+ "dev": true
+ },
+ "prr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
+ "dev": true
+ },
+ "psl": {
+ "version": "1.1.29",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
+ "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==",
+ "dev": true
+ },
+ "public-encrypt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
+ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "parse-asn1": "^5.0.0",
+ "randombytes": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "punycode": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+ "dev": true
+ },
+ "qs": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz",
+ "integrity": "sha1-6eha2+ddoLvkyOBHaghikPhjtAQ=",
+ "dev": true
+ },
+ "querystring": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+ "dev": true
+ },
+ "ramda": {
+ "version": "0.21.0",
+ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz",
+ "integrity": "sha1-oAGr7bP/YQd9T/HVd9RN536NCjU=",
+ "dev": true
+ },
+ "randomatic": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz",
+ "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^4.0.0",
+ "kind-of": "^6.0.0",
+ "math-random": "^1.0.1"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ }
+ }
+ },
+ "randombytes": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
+ "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "randomfill": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
+ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+ "dev": true,
+ "requires": {
+ "randombytes": "^2.0.5",
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "raw-body": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
+ "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=",
+ "dev": true,
+ "requires": {
+ "bytes": "1",
+ "string_decoder": "0.10"
+ },
+ "dependencies": {
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
+ }
+ },
+ "rc": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "dev": true,
+ "requires": {
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true
+ }
+ }
+ },
+ "read-all-stream": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
+ "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "^2.0.0",
+ "readable-stream": "^2.0.0"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "readdirp": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
+ "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "micromatch": "^3.1.10",
+ "readable-stream": "^2.0.2"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ }
+ },
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ }
+ }
+ },
+ "readline2": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz",
+ "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "mute-stream": "0.0.5"
+ }
+ },
+ "reduce-extract": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/reduce-extract/-/reduce-extract-1.0.0.tgz",
+ "integrity": "sha1-Z/I4W+2mUGG19fQxJmLosIDKFSU=",
+ "dev": true,
+ "requires": {
+ "test-value": "^1.0.1"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
+ "dev": true,
+ "requires": {
+ "typical": "^2.6.0"
+ }
+ },
+ "test-value": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/test-value/-/test-value-1.1.0.tgz",
+ "integrity": "sha1-oJE29y7AQ9J8iTcHwrFZv6196T8=",
+ "dev": true,
+ "requires": {
+ "array-back": "^1.0.2",
+ "typical": "^2.4.2"
+ }
+ }
+ }
+ },
+ "reduce-flatten": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz",
+ "integrity": "sha1-JYx479FT3fk8tWEjf2EYTzaW4yc=",
+ "dev": true
+ },
+ "reduce-unique": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/reduce-unique/-/reduce-unique-1.0.0.tgz",
+ "integrity": "sha1-flhrz4ek4ytter2Cd/rWzeyfSAM=",
+ "dev": true
+ },
+ "reduce-without": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/reduce-without/-/reduce-without-1.0.1.tgz",
+ "integrity": "sha1-aK0OrRGFXJo31OglbBW7+Hly/Iw=",
+ "dev": true,
+ "requires": {
+ "test-value": "^2.0.0"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
+ "dev": true,
+ "requires": {
+ "typical": "^2.6.0"
+ }
+ },
+ "test-value": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz",
+ "integrity": "sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=",
+ "dev": true,
+ "requires": {
+ "array-back": "^1.0.3",
+ "typical": "^2.6.0"
+ }
+ }
+ }
+ },
+ "regenerate": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
+ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
+ "dev": true
+ },
+ "regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+ "dev": true
+ },
+ "regenerator-transform": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
+ "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.18.0",
+ "babel-types": "^6.19.0",
+ "private": "^0.1.6"
+ }
+ },
+ "regex-cache": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
+ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
+ "dev": true,
+ "requires": {
+ "is-equal-shallow": "^0.1.3"
+ }
+ },
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ }
+ },
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "regexpu-core": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
+ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.2.1",
+ "regjsgen": "^0.2.0",
+ "regjsparser": "^0.1.4"
+ }
+ },
+ "regjsgen": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+ "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
+ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+ "dev": true,
+ "requires": {
+ "jsesc": "~0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ }
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "repeating": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "dev": true,
+ "requires": {
+ "is-finite": "^1.0.0"
+ }
+ },
+ "replace-ext": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
+ "dev": true
+ },
+ "req-all": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/req-all/-/req-all-0.1.0.tgz",
+ "integrity": "sha1-EwBR4qzligLqy/ydRIV3pzapJzo=",
+ "dev": true
+ },
+ "request": {
+ "version": "2.51.0",
+ "resolved": "http://registry.npmjs.org/request/-/request-2.51.0.tgz",
+ "integrity": "sha1-NdALvswBLlX5B7G9ng29V3v+8m4=",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "~0.5.0",
+ "bl": "~0.9.0",
+ "caseless": "~0.8.0",
+ "combined-stream": "~0.0.5",
+ "forever-agent": "~0.5.0",
+ "form-data": "~0.2.0",
+ "hawk": "1.1.1",
+ "http-signature": "~0.10.0",
+ "json-stringify-safe": "~5.0.0",
+ "mime-types": "~1.0.1",
+ "node-uuid": "~1.4.0",
+ "oauth-sign": "~0.5.0",
+ "qs": "~2.3.1",
+ "stringstream": "~0.0.4",
+ "tough-cookie": ">=0.12.0",
+ "tunnel-agent": "~0.4.0"
+ },
+ "dependencies": {
+ "bl": {
+ "version": "0.9.5",
+ "resolved": "http://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
+ "integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "~1.0.26"
+ }
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz",
+ "integrity": "sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=",
+ "dev": true
+ },
+ "node-uuid": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
+ "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
+ }
+ },
+ "require-relative": {
+ "version": "0.8.7",
+ "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz",
+ "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=",
+ "dev": true
+ },
+ "require-uncached": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
+ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
+ "dev": true,
+ "requires": {
+ "caller-path": "^0.1.0",
+ "resolve-from": "^1.0.0"
+ }
+ },
+ "requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
+ "dev": true
+ },
+ "requizzle": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz",
+ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=",
+ "dev": true,
+ "requires": {
+ "underscore": "~1.6.0"
+ },
+ "dependencies": {
+ "underscore": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
+ "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=",
+ "dev": true
+ }
+ }
+ },
+ "resolve": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
+ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
+ "dev": true,
+ "requires": {
+ "path-parse": "^1.0.5"
+ }
+ },
+ "resolve-dir": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
+ "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "^1.2.2",
+ "global-modules": "^0.2.3"
+ }
+ },
+ "resolve-from": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
+ "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
+ "dev": true
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
+ },
+ "restore-cursor": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
+ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
+ "dev": true,
+ "requires": {
+ "exit-hook": "^1.0.0",
+ "onetime": "^1.0.0"
+ }
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
+ "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
+ "dev": true,
+ "requires": {
+ "glob": "^7.0.5"
+ }
+ },
+ "ripemd160": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
+ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
+ "dev": true,
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1"
+ }
+ },
+ "rollup": {
+ "version": "0.47.6",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.47.6.tgz",
+ "integrity": "sha512-bH3eWh7MzbiKTQcHQN7Ievqbs/yY7T+ZcJYboBYkp7BkRlAr2DXHPfiqlvlEH/M95giEBpinHEi/s9CVIgYT6w==",
+ "dev": true
+ },
+ "rollup-plugin-babel": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-3.0.2.tgz",
+ "integrity": "sha512-ALGPBFtwJZcYHsNPM6RGJlEncTzAARPvZOGjNPZgDe5hS5t6sJGjiOWibEFVEz5LQN7S7spvCBILaS4N1Cql2w==",
+ "dev": true,
+ "requires": {
+ "rollup-pluginutils": "^1.5.0"
+ },
+ "dependencies": {
+ "rollup-pluginutils": {
+ "version": "1.5.2",
+ "resolved": "http://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz",
+ "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=",
+ "dev": true,
+ "requires": {
+ "estree-walker": "^0.2.1",
+ "minimatch": "^3.0.2"
+ }
+ }
+ }
+ },
+ "rollup-plugin-commonjs": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.1.0.tgz",
+ "integrity": "sha512-mxLU0oCZPakY+o1P9OeVG+yT7bGOFyRQf6pk3xden2+sEG2NP40CrKWw1h/BHZuK7yegRcOJMCfr/uzLmodrGQ==",
+ "dev": true,
+ "requires": {
+ "acorn": "^4.0.1",
+ "estree-walker": "^0.3.0",
+ "magic-string": "^0.19.0",
+ "resolve": "^1.1.7",
+ "rollup-pluginutils": "^2.0.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "4.0.13",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
+ "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
+ "dev": true
+ },
+ "estree-walker": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.3.1.tgz",
+ "integrity": "sha1-5rGlHPcpJSTnI3wxLl/mZgwc4ao=",
+ "dev": true
+ }
+ }
+ },
+ "rollup-plugin-graphql-js-client-compiler": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-graphql-js-client-compiler/-/rollup-plugin-graphql-js-client-compiler-0.2.0.tgz",
+ "integrity": "sha512-3wC77mD62XeUijvfxTlMNkyjmKh3Lg4I0wgqWcJ/l1ZXnvTJ3q5X5Sgb15gCwBK57lNJP21zRh6CZTcVM20yAw==",
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2",
+ "graphql-js-client-compiler": "0.2.0",
+ "rollup-pluginutils": "2.0.1"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ }
+ }
+ },
+ "rollup-plugin-json": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-json/-/rollup-plugin-json-2.3.0.tgz",
+ "integrity": "sha512-W45nZH7lmXgkSR/DkeyF4ks0YWFrMysdjUT049gTuAg+lwUEDBKI2+PztqW8UDSMlXCAeEONsLzpDDyBy9m+9A==",
+ "dev": true,
+ "requires": {
+ "rollup-pluginutils": "^2.0.1"
+ }
+ },
+ "rollup-plugin-multi-entry": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npmjs.org/rollup-plugin-multi-entry/-/rollup-plugin-multi-entry-2.0.1.tgz",
+ "integrity": "sha1-Szrqjdxa/Jt/n/v7FEHATvOQcbQ=",
+ "dev": true,
+ "requires": {
+ "matched": "^0.4.3"
+ }
+ },
+ "rollup-plugin-node-builtins": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-node-builtins/-/rollup-plugin-node-builtins-2.1.2.tgz",
+ "integrity": "sha1-JKH+1KQyV7a2Q3HYq8bOGrFFl+k=",
+ "dev": true,
+ "requires": {
+ "browserify-fs": "^1.0.0",
+ "buffer-es6": "^4.9.2",
+ "crypto-browserify": "^3.11.0",
+ "process-es6": "^0.11.2"
+ },
+ "dependencies": {
+ "crypto-browserify": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+ "dev": true,
+ "requires": {
+ "browserify-cipher": "^1.0.0",
+ "browserify-sign": "^4.0.0",
+ "create-ecdh": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.0",
+ "diffie-hellman": "^5.0.0",
+ "inherits": "^2.0.1",
+ "pbkdf2": "^3.0.3",
+ "public-encrypt": "^4.0.0",
+ "randombytes": "^2.0.0",
+ "randomfill": "^1.0.3"
+ }
+ }
+ }
+ },
+ "rollup-plugin-node-globals": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npmjs.org/rollup-plugin-node-globals/-/rollup-plugin-node-globals-1.1.0.tgz",
+ "integrity": "sha1-fv2NYR0TJzeCnoBOn1H1CWKvRR8=",
+ "dev": true,
+ "requires": {
+ "acorn": "^4.0.1",
+ "buffer-es6": "^4.9.1",
+ "estree-walker": "^0.2.1",
+ "magic-string": "^0.16.0",
+ "process-es6": "^0.11.3",
+ "rollup-pluginutils": "^1.5.2"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "4.0.13",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
+ "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
+ "dev": true
+ },
+ "magic-string": {
+ "version": "0.16.0",
+ "resolved": "http://registry.npmjs.org/magic-string/-/magic-string-0.16.0.tgz",
+ "integrity": "sha1-lw67DacZMwEoX7GqZQ85vdgetFo=",
+ "dev": true,
+ "requires": {
+ "vlq": "^0.2.1"
+ }
+ },
+ "rollup-pluginutils": {
+ "version": "1.5.2",
+ "resolved": "http://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz",
+ "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=",
+ "dev": true,
+ "requires": {
+ "estree-walker": "^0.2.1",
+ "minimatch": "^3.0.2"
+ }
+ }
+ }
+ },
+ "rollup-plugin-node-resolve": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz",
+ "integrity": "sha1-i4l8TDAw1QASd7BRSyXSygloPuA=",
+ "dev": true,
+ "requires": {
+ "browser-resolve": "^1.11.0",
+ "builtin-modules": "^1.1.0",
+ "is-module": "^1.0.0",
+ "resolve": "^1.1.6"
+ }
+ },
+ "rollup-plugin-remap": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-remap/-/rollup-plugin-remap-0.0.3.tgz",
+ "integrity": "sha1-y/atjehTKWHPK0iXMRfMiEw6APo=",
+ "dev": true,
+ "requires": {
+ "rollup-pluginutils": "1.5.2"
+ },
+ "dependencies": {
+ "rollup-pluginutils": {
+ "version": "1.5.2",
+ "resolved": "http://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz",
+ "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=",
+ "dev": true,
+ "requires": {
+ "estree-walker": "^0.2.1",
+ "minimatch": "^3.0.2"
+ }
+ }
+ }
+ },
+ "rollup-plugin-sizes": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-sizes/-/rollup-plugin-sizes-0.4.0.tgz",
+ "integrity": "sha1-LWDE3Sqf56GUyeavL9fRtka6JIU=",
+ "dev": true,
+ "requires": {
+ "filesize": "^3.5.10",
+ "lodash.foreach": "^4.5.0",
+ "lodash.sumby": "^4.6.0",
+ "module-details-from-path": "^1.0.3"
+ }
+ },
+ "rollup-pluginutils": {
+ "version": "2.0.1",
+ "resolved": "http://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.0.1.tgz",
+ "integrity": "sha1-fslbNXP2VDpGpkYb2afFRFJdD8A=",
+ "dev": true,
+ "requires": {
+ "estree-walker": "^0.3.0",
+ "micromatch": "^2.3.11"
+ },
+ "dependencies": {
+ "estree-walker": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.3.1.tgz",
+ "integrity": "sha1-5rGlHPcpJSTnI3wxLl/mZgwc4ao=",
+ "dev": true
+ }
+ }
+ },
+ "rollup-watch": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/rollup-watch/-/rollup-watch-4.3.1.tgz",
+ "integrity": "sha512-6yjnIwfjpSrqA8IafyIu7fsEyeImNR4aDjA1bQ7KWeVuiA+Clfsx8+PGQkyABWIQzmauQ//tIJ5wAxLXsXs8qQ==",
+ "dev": true,
+ "requires": {
+ "chokidar": "^1.7.0",
+ "require-relative": "0.8.7",
+ "rollup-pluginutils": "^2.0.1"
+ }
+ },
+ "run-async": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
+ "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0"
+ }
+ },
+ "rx": {
+ "version": "2.3.24",
+ "resolved": "https://registry.npmjs.org/rx/-/rx-2.3.24.tgz",
+ "integrity": "sha1-FPlQpCF9fjXapxu8vljv9o6ksrc=",
+ "dev": true
+ },
+ "rx-lite": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
+ "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=",
+ "dev": true
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
+ "safe-json-parse": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz",
+ "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=",
+ "dev": true
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "sax": {
+ "version": "1.2.1",
+ "resolved": "http://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
+ "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=",
+ "dev": true
+ },
+ "seek-bzip": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz",
+ "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=",
+ "dev": true,
+ "requires": {
+ "commander": "~2.8.1"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.8.1",
+ "resolved": "http://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
+ "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
+ "dev": true,
+ "requires": {
+ "graceful-readlink": ">= 1.0.0"
+ }
+ }
+ }
+ },
+ "selenium-standalone": {
+ "version": "5.5.0",
+ "resolved": "http://registry.npmjs.org/selenium-standalone/-/selenium-standalone-5.5.0.tgz",
+ "integrity": "sha1-AFhPSQ+TxSK0lzeHXAhPHvA3SFA=",
+ "dev": true,
+ "requires": {
+ "async": "1.2.1",
+ "commander": "2.6.0",
+ "lodash": "3.9.3",
+ "minimist": "1.1.0",
+ "mkdirp": "0.5.0",
+ "progress": "1.1.8",
+ "request": "2.51.0",
+ "urijs": "1.16.1",
+ "which": "1.1.1",
+ "yauzl": "^2.5.0"
+ },
+ "dependencies": {
+ "async": {
+ "version": "1.2.1",
+ "resolved": "http://registry.npmjs.org/async/-/async-1.2.1.tgz",
+ "integrity": "sha1-pIFqF81f9RbfosdpikUzabl5DeA=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "3.9.3",
+ "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.9.3.tgz",
+ "integrity": "sha1-AVnoaDL+/8bWHYUrEqlTuZSWvTI=",
+ "dev": true
+ },
+ "minimist": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.1.0.tgz",
+ "integrity": "sha1-zfIl6ImPhAolje1E/JF3Z3Cv3JM=",
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "0.5.0",
+ "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
+ "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=",
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
+ }
+ }
+ },
+ "which": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.1.1.tgz",
+ "integrity": "sha1-nOUSRZlGFm4SwIPwjsBzOA/Iy7s=",
+ "dev": true,
+ "requires": {
+ "is-absolute": "^0.1.7"
+ }
+ }
+ }
+ },
+ "semver": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
+ "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
+ "dev": true
+ },
+ "set-getter": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz",
+ "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=",
+ "dev": true,
+ "requires": {
+ "to-object-path": "^0.3.0"
+ }
+ },
+ "set-immediate-shim": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
+ "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
+ "dev": true
+ },
+ "set-value": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
+ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ }
+ },
+ "sha.js": {
+ "version": "2.4.11",
+ "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "shelljs": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz",
+ "integrity": "sha1-7GIRvtGSBEIIj+D3Cyg3Iy7SyKg=",
+ "dev": true
+ },
+ "slash": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+ "dev": true
+ },
+ "slice-ansi": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
+ "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=",
+ "dev": true
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.2.0"
+ }
+ },
+ "sntp": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz",
+ "integrity": "sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=",
+ "dev": true,
+ "requires": {
+ "hoek": "0.9.x"
+ }
+ },
+ "sort-array": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/sort-array/-/sort-array-2.0.0.tgz",
+ "integrity": "sha1-OKnG2if9fRR7QuYFVPKBGHtN9HI=",
+ "dev": true,
+ "requires": {
+ "array-back": "^1.0.4",
+ "object-get": "^2.1.0",
+ "typical": "^2.6.0"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
+ "dev": true,
+ "requires": {
+ "typical": "^2.6.0"
+ }
+ }
+ }
+ },
+ "sort-keys": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
+ "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+ "dev": true,
+ "requires": {
+ "is-plain-obj": "^1.0.0"
+ }
+ },
+ "sort-keys-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz",
+ "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=",
+ "dev": true,
+ "requires": {
+ "sort-keys": "^1.0.0"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "source-map-resolve": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
+ "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+ "dev": true,
+ "requires": {
+ "atob": "^2.1.1",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "source-map-support": {
+ "version": "0.4.18",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
+ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+ "dev": true,
+ "requires": {
+ "source-map": "^0.5.6"
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
+ },
+ "sparkles": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
+ "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==",
+ "dev": true
+ },
+ "spawn-command": {
+ "version": "0.0.2-1",
+ "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz",
+ "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=",
+ "dev": true
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ }
+ },
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "sshpk": {
+ "version": "1.15.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.1.tgz",
+ "integrity": "sha512-mSdgNUaidk+dRU5MhYtN9zebdzF2iG0cNPWy8HG+W8y+fT1JnSkh0fzzpjOa0L7P8i1Rscz38t0h4gPcKz43xA==",
+ "dev": true,
+ "requires": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ },
+ "dependencies": {
+ "asn1": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "stat-mode": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz",
+ "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=",
+ "dev": true
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "stream-combiner2": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+ "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
+ "dev": true,
+ "requires": {
+ "duplexer2": "~0.1.0",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "stream-connect": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/stream-connect/-/stream-connect-1.0.2.tgz",
+ "integrity": "sha1-GLyB8u2zW4tdmoAJIAqYUxRCipc=",
+ "dev": true,
+ "requires": {
+ "array-back": "^1.0.2"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
+ "dev": true,
+ "requires": {
+ "typical": "^2.6.0"
+ }
+ }
+ }
+ },
+ "stream-shift": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
+ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
+ "dev": true
+ },
+ "stream-via": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/stream-via/-/stream-via-1.0.4.tgz",
+ "integrity": "sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==",
+ "dev": true
+ },
+ "string-range": {
+ "version": "1.2.2",
+ "resolved": "http://registry.npmjs.org/string-range/-/string-range-1.2.2.tgz",
+ "integrity": "sha1-qJPtNH5yKZvIO++78qaSqNI51d0=",
+ "dev": true
+ },
+ "string-template": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
+ "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "stringstream": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz",
+ "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
+ "strip-bom-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz",
+ "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=",
+ "dev": true,
+ "requires": {
+ "first-chunk-stream": "^1.0.0",
+ "strip-bom": "^2.0.0"
+ },
+ "dependencies": {
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "^0.2.0"
+ }
+ }
+ }
+ },
+ "strip-dirs": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz",
+ "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.0.0",
+ "get-stdin": "^4.0.1",
+ "is-absolute": "^0.1.5",
+ "is-natural-number": "^2.0.0",
+ "minimist": "^1.1.0",
+ "sum-up": "^1.0.1"
+ },
+ "dependencies": {
+ "get-stdin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+ "dev": true
+ }
+ }
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
+ },
+ "strip-json-comments": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
+ "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=",
+ "dev": true
+ },
+ "strip-outer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
+ "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.2"
+ }
+ },
+ "sum-up": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz",
+ "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ },
+ "table": {
+ "version": "3.8.3",
+ "resolved": "http://registry.npmjs.org/table/-/table-3.8.3.tgz",
+ "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=",
+ "dev": true,
+ "requires": {
+ "ajv": "^4.7.0",
+ "ajv-keywords": "^1.0.0",
+ "chalk": "^1.1.1",
+ "lodash": "^4.0.0",
+ "slice-ansi": "0.0.4",
+ "string-width": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
+ "table-layout": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.4.tgz",
+ "integrity": "sha512-uNaR3SRMJwfdp9OUr36eyEi6LLsbcTqTO/hfTsNviKsNeyMBPICJCC7QXRF3+07bAP6FRwA8rczJPBqXDc0CkQ==",
+ "dev": true,
+ "requires": {
+ "array-back": "^2.0.0",
+ "deep-extend": "~0.6.0",
+ "lodash.padend": "^4.6.1",
+ "typical": "^2.6.1",
+ "wordwrapjs": "^3.0.0"
+ }
+ },
+ "taffydb": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz",
+ "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=",
+ "dev": true
+ },
+ "tar-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
+ "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
+ "dev": true,
+ "requires": {
+ "bl": "^1.0.0",
+ "buffer-alloc": "^1.2.0",
+ "end-of-stream": "^1.0.0",
+ "fs-constants": "^1.0.0",
+ "readable-stream": "^2.3.0",
+ "to-buffer": "^1.1.1",
+ "xtend": "^4.0.0"
+ }
+ },
+ "temp-dir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
+ "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=",
+ "dev": true
+ },
+ "temp-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/temp-path/-/temp-path-1.0.0.tgz",
+ "integrity": "sha1-JLFUOXOrRCiW2a02fdnL2/r+kYs=",
+ "dev": true
+ },
+ "tempfile": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz",
+ "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=",
+ "dev": true,
+ "requires": {
+ "temp-dir": "^1.0.0",
+ "uuid": "^3.0.1"
+ }
+ },
+ "test-value": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/test-value/-/test-value-3.0.0.tgz",
+ "integrity": "sha512-sVACdAWcZkSU9x7AOmJo5TqE+GyNJknHaHsMrR6ZnhjVlVN9Yx6FjHrsKZ3BjIpPCT68zYesPWkakrNupwfOTQ==",
+ "dev": true,
+ "requires": {
+ "array-back": "^2.0.0",
+ "typical": "^2.6.1"
+ }
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "dev": true
+ },
+ "through2": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": ">=1.0.33-1 <1.1.0-0",
+ "xtend": ">=4.0.0 <4.1.0-0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
+ }
+ },
+ "through2-filter": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
+ "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
+ "dev": true,
+ "requires": {
+ "through2": "~2.0.0",
+ "xtend": "~4.0.0"
+ },
+ "dependencies": {
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.1.5",
+ "xtend": "~4.0.1"
+ }
+ }
+ }
+ },
+ "time-stamp": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
+ "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
+ "dev": true
+ },
+ "timed-out": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz",
+ "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=",
+ "dev": true
+ },
+ "tiny-lr": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.0.5.tgz",
+ "integrity": "sha512-YrxUSiMgOVh3PnAqtdAUQuUVEVRnqcRCxJ3BHrl/aaWV2fplKKB60oClM0GH2Gio2hcXvkxMUxsC/vXZrQePlg==",
+ "dev": true,
+ "requires": {
+ "body": "^5.1.0",
+ "debug": "~2.6.7",
+ "faye-websocket": "~0.10.0",
+ "livereload-js": "^2.2.2",
+ "object-assign": "^4.1.0",
+ "qs": "^6.4.0"
+ },
+ "dependencies": {
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+ "dev": true
+ }
+ }
+ },
+ "tmp": {
+ "version": "0.0.29",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz",
+ "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=",
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "~1.0.1"
+ }
+ },
+ "to-absolute-glob": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz",
+ "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1"
+ }
+ },
+ "to-buffer": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
+ "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+ "dev": true
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ }
+ },
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ }
+ }
+ }
+ },
+ "topo": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz",
+ "integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=",
+ "dev": true,
+ "requires": {
+ "hoek": "4.x.x"
+ },
+ "dependencies": {
+ "hoek": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz",
+ "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==",
+ "dev": true
+ }
+ }
+ },
+ "tough-cookie": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
+ "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
+ "dev": true,
+ "requires": {
+ "psl": "^1.1.24",
+ "punycode": "^1.4.1"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ }
+ }
+ },
+ "tree-kill": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz",
+ "integrity": "sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg==",
+ "dev": true
+ },
+ "trim-repeated": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
+ "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.2"
+ }
+ },
+ "trim-right": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "dev": true
+ },
+ "tunnel-agent": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
+ "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
+ "dev": true
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "dev": true
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+ "dev": true
+ },
+ "typedarray-to-buffer": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-1.0.4.tgz",
+ "integrity": "sha1-m7i6DoQfs/TPH+fCRenz+opf6Zw=",
+ "dev": true
+ },
+ "typical": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz",
+ "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=",
+ "dev": true
+ },
+ "uglify-js": {
+ "version": "3.4.9",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz",
+ "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "commander": "~2.17.1",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.17.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
+ "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
+ "dev": true,
+ "optional": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "unbzip2-stream": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.1.tgz",
+ "integrity": "sha512-fIZnvdjblYs7Cru/xC6tCPVhz7JkYcVQQkePwMLyQELzYTds2Xn8QefPVnvdVhhZqubxNA1cASXEH5wcK0Bucw==",
+ "dev": true,
+ "requires": {
+ "buffer": "^3.0.1",
+ "through": "^2.3.6"
+ },
+ "dependencies": {
+ "base64-js": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
+ "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=",
+ "dev": true
+ },
+ "buffer": {
+ "version": "3.6.0",
+ "resolved": "http://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz",
+ "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=",
+ "dev": true,
+ "requires": {
+ "base64-js": "0.0.8",
+ "ieee754": "^1.1.4",
+ "isarray": "^1.0.0"
+ }
+ }
+ }
+ },
+ "underscore": {
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
+ "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=",
+ "dev": true
+ },
+ "underscore-contrib": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz",
+ "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=",
+ "dev": true,
+ "requires": {
+ "underscore": "1.6.0"
+ },
+ "dependencies": {
+ "underscore": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
+ "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=",
+ "dev": true
+ }
+ }
+ },
+ "union": {
+ "version": "0.4.6",
+ "resolved": "https://registry.npmjs.org/union/-/union-0.4.6.tgz",
+ "integrity": "sha1-GY+9rrolTniLDvy2MLwR8kopWeA=",
+ "dev": true,
+ "requires": {
+ "qs": "~2.3.3"
+ }
+ },
+ "union-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
+ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^0.4.3"
+ },
+ "dependencies": {
+ "set-value": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
+ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.1",
+ "to-object-path": "^0.3.0"
+ }
+ }
+ }
+ },
+ "unique-stream": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
+ "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
+ "dev": true,
+ "requires": {
+ "json-stable-stringify": "^1.0.0",
+ "through2-filter": "^2.0.0"
+ }
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
+ "requires": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "unzip-response": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
+ "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=",
+ "dev": true
+ },
+ "urijs": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.16.1.tgz",
+ "integrity": "sha1-hZrTGJD1+VKHJ76J8ZMslPtHMeI=",
+ "dev": true
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "url": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
+ "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=",
+ "dev": true,
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ }
+ },
+ "url-join": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz",
+ "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=",
+ "dev": true
+ },
+ "url-parse-lax": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
+ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
+ "dev": true,
+ "requires": {
+ "prepend-http": "^1.0.1"
+ }
+ },
+ "url-regex": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz",
+ "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=",
+ "dev": true,
+ "requires": {
+ "ip-regex": "^1.0.1"
+ }
+ },
+ "url-to-options": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz",
+ "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=",
+ "dev": true
+ },
+ "use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true
+ },
+ "user-home": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
+ "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=",
+ "dev": true,
+ "requires": {
+ "os-homedir": "^1.0.0"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "util.promisify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
+ "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "object.getownpropertydescriptors": "^2.0.3"
+ }
+ },
+ "uuid": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
+ "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==",
+ "dev": true
+ },
+ "vali-date": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
+ "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=",
+ "dev": true
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "vinyl": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+ "dev": true,
+ "requires": {
+ "clone": "^1.0.0",
+ "clone-stats": "^0.0.1",
+ "replace-ext": "0.0.1"
+ }
+ },
+ "vinyl-assign": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz",
+ "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.0.1",
+ "readable-stream": "^2.0.0"
+ }
+ },
+ "vinyl-fs": {
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz",
+ "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=",
+ "dev": true,
+ "requires": {
+ "duplexify": "^3.2.0",
+ "glob-stream": "^5.3.2",
+ "graceful-fs": "^4.0.0",
+ "gulp-sourcemaps": "1.6.0",
+ "is-valid-glob": "^0.3.0",
+ "lazystream": "^1.0.0",
+ "lodash.isequal": "^4.0.0",
+ "merge-stream": "^1.0.0",
+ "mkdirp": "^0.5.0",
+ "object-assign": "^4.0.0",
+ "readable-stream": "^2.0.4",
+ "strip-bom": "^2.0.0",
+ "strip-bom-stream": "^1.0.0",
+ "through2": "^2.0.0",
+ "through2-filter": "^2.0.0",
+ "vali-date": "^1.0.0",
+ "vinyl": "^1.0.0"
+ },
+ "dependencies": {
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "^0.2.0"
+ }
+ },
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.1.5",
+ "xtend": "~4.0.1"
+ }
+ }
+ }
+ },
+ "vlq": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz",
+ "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==",
+ "dev": true
+ },
+ "wait-on": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-2.0.2.tgz",
+ "integrity": "sha1-CoT9BwJMb8Joyw6r5YW+IXqvK6o=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.1",
+ "joi": "^9.2.0",
+ "minimist": "^1.2.0",
+ "request": "^2.78.0",
+ "rx": "^4.1.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "dev": true
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "dev": true
+ },
+ "combined-stream": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
+ "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
+ "dev": true,
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "dev": true
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
+ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "1.0.6",
+ "mime-types": "^2.1.12"
+ },
+ "dependencies": {
+ "combined-stream": {
+ "version": "1.0.6",
+ "resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
+ "dev": true,
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ }
+ }
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
+ "mime-db": {
+ "version": "1.36.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz",
+ "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.20",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz",
+ "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==",
+ "dev": true,
+ "requires": {
+ "mime-db": "~1.36.0"
+ }
+ },
+ "oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "dev": true
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+ "dev": true
+ },
+ "request": {
+ "version": "2.88.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
+ "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.0",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.4.3",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ }
+ },
+ "rx": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
+ "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=",
+ "dev": true
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "uuid": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
+ "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
+ "dev": true
+ }
+ }
+ },
+ "walk-back": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-3.0.0.tgz",
+ "integrity": "sha1-I1h4ejXakQMtrV6S+AsSNw2HlcU=",
+ "dev": true
+ },
+ "ware": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz",
+ "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=",
+ "dev": true,
+ "requires": {
+ "wrap-fn": "^0.1.0"
+ }
+ },
+ "websocket-driver": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
+ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
+ "dev": true,
+ "requires": {
+ "http-parser-js": ">=0.4.0",
+ "websocket-extensions": ">=0.1.1"
+ }
+ },
+ "websocket-extensions": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
+ "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
+ "dev": true
+ },
+ "whatwg-fetch": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz",
+ "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=",
+ "dev": true
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "wordwrap": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "dev": true
+ },
+ "wordwrapjs": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz",
+ "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==",
+ "dev": true,
+ "requires": {
+ "reduce-flatten": "^1.0.1",
+ "typical": "^2.6.1"
+ }
+ },
+ "wrap-fn": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz",
+ "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=",
+ "dev": true,
+ "requires": {
+ "co": "3.1.0"
+ },
+ "dependencies": {
+ "co": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz",
+ "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=",
+ "dev": true
+ }
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "write": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
+ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
+ "dev": true,
+ "requires": {
+ "mkdirp": "^0.5.1"
+ }
+ },
+ "xml2js": {
+ "version": "0.4.17",
+ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz",
+ "integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=",
+ "dev": true,
+ "requires": {
+ "sax": ">=0.6.0",
+ "xmlbuilder": "^4.1.0"
+ }
+ },
+ "xmlbuilder": {
+ "version": "4.2.1",
+ "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz",
+ "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.0.0"
+ }
+ },
+ "xmlcreate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz",
+ "integrity": "sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8=",
+ "dev": true
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ },
+ "yargs-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
+ "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^3.0.0"
+ }
+ },
+ "yauzl": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
+ "dev": true,
+ "requires": {
+ "buffer-crc32": "~0.2.3",
+ "fd-slicer": "~1.1.0"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
index 83bfadbe5..72d5fc63b 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "shopify-buy",
- "version": "1.6.0",
+ "version": "2.0.0",
"description": "The JS Buy SDK is a lightweight library that allows you to build ecommerce into any website. It is based on Shopify's API and provides the ability to retrieve products and collections from your shop, add products to a cart, and checkout.",
"main": "index.js",
"jsnext:main": "index.es.js",
diff --git a/schema.json b/schema.json
index 59a519348..4edff766d 100644
--- a/schema.json
+++ b/schema.json
@@ -9,52 +9,131 @@
},
"subscriptionType": null,
"types": [
+ {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "description": "Represents `true` or `false` values.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "SCALAR",
+ "name": "String",
+ "description": "Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
{
"kind": "OBJECT",
"name": "QueryRoot",
- "description":
- "The schema’s entry-point for queries. This acts as the public, top-level API from which all queries must start.",
+ "description": "The schema’s entry-point for queries. This acts as the public, top-level API from which all queries must start.",
"fields": [
{
- "name": "customer",
- "description": null,
+ "name": "articles",
+ "description": "List of the shop's articles.",
"args": [
{
- "name": "customerAccessToken",
- "description": "The customer access token",
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ },
+ {
+ "name": "sortKey",
+ "description": "Sort the underlying list by the given key.",
+ "type": {
+ "kind": "ENUM",
+ "name": "ArticleSortKeys",
+ "ofType": null
+ },
+ "defaultValue": "ID"
+ },
+ {
+ "name": "query",
+ "description": "Supported filter parameters:\n - `author`\n - `blog_title`\n - `created_at`\n - `tag`\n - `updated_at`\n\nSee the detailed [search syntax](https://help.shopify.com/api/getting-started/search-syntax).\n",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
"defaultValue": null
}
],
"type": {
- "kind": "OBJECT",
- "name": "Customer",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ArticleConnection",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "node",
- "description": null,
+ "name": "blogByHandle",
+ "description": "Find a blog by its handle.",
"args": [
{
- "name": "id",
- "description": null,
+ "name": "handle",
+ "description": "The handle of the blog.",
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "String",
"ofType": null
}
},
@@ -62,229 +141,164 @@
}
],
"type": {
- "kind": "INTERFACE",
- "name": "Node",
+ "kind": "OBJECT",
+ "name": "Blog",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "nodes",
- "description": null,
+ "name": "blogs",
+ "description": "List of the shop's blogs.",
"args": [
{
- "name": "ids",
- "description": null,
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- }
- }
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
},
"defaultValue": null
- }
- ],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "INTERFACE",
- "name": "Node",
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
"ofType": null
- }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ },
+ {
+ "name": "sortKey",
+ "description": "Sort the underlying list by the given key.",
+ "type": {
+ "kind": "ENUM",
+ "name": "BlogSortKeys",
+ "ofType": null
+ },
+ "defaultValue": "ID"
+ },
+ {
+ "name": "query",
+ "description": "Supported filter parameters:\n - `created_at`\n - `handle`\n - `title`\n - `updated_at`\n\nSee the detailed [search syntax](https://help.shopify.com/api/getting-started/search-syntax).\n",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
}
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "shop",
- "description": null,
- "args": [],
+ ],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "Shop",
+ "name": "BlogConnection",
"ofType": null
}
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "INTERFACE",
- "name": "Node",
- "description": "An object with an ID to support global identification.",
- "fields": [
+ },
{
- "name": "id",
- "description": "Globally unique identifier.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
+ "name": "collectionByHandle",
+ "description": "Find a collection by its handle.",
+ "args": [
+ {
+ "name": "handle",
+ "description": "The handle of the collection.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
}
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Collection",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": null,
- "enumValues": null,
- "possibleTypes": [
+ },
{
- "kind": "OBJECT",
- "name": "AppliedGiftCard",
- "ofType": null
- },
- {
- "kind": "OBJECT",
- "name": "Article",
- "ofType": null
- },
- {
- "kind": "OBJECT",
- "name": "Blog",
- "ofType": null
- },
- {
- "kind": "OBJECT",
- "name": "Checkout",
- "ofType": null
- },
- {
- "kind": "OBJECT",
- "name": "CheckoutLineItem",
- "ofType": null
- },
- {
- "kind": "OBJECT",
- "name": "Collection",
- "ofType": null
- },
- {
- "kind": "OBJECT",
- "name": "Comment",
- "ofType": null
- },
- {
- "kind": "OBJECT",
- "name": "MailingAddress",
- "ofType": null
- },
- {
- "kind": "OBJECT",
- "name": "Order",
- "ofType": null
- },
- {
- "kind": "OBJECT",
- "name": "Payment",
- "ofType": null
- },
- {
- "kind": "OBJECT",
- "name": "Product",
- "ofType": null
- },
- {
- "kind": "OBJECT",
- "name": "ProductOption",
- "ofType": null
- },
- {
- "kind": "OBJECT",
- "name": "ProductVariant",
- "ofType": null
- },
- {
- "kind": "OBJECT",
- "name": "ShopPolicy",
- "ofType": null
- }
- ]
- },
- {
- "kind": "SCALAR",
- "name": "ID",
- "description": "Represents a unique identifier. It is often used to refetch an object or as key for a cache.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "Customer",
- "description":
- "A customer represents a customer account with the shop. Customer accounts store contact information for the customer, saving logged-in customers the trouble of having to provide it at every checkout.",
- "fields": [
- {
- "name": "acceptsMarketing",
- "description": "Indicates whether the customer has consented to be sent marketing material via email.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "addresses",
- "description": "A list of addresses for the customer.",
+ "name": "collections",
+ "description": "List of the shop’s collections.",
"args": [
{
"name": "first",
- "description": null,
+ "description": "Returns up to the first `n` elements from the list.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
},
"defaultValue": null
},
{
"name": "after",
- "description": null,
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -294,13 +308,33 @@
},
{
"name": "reverse",
- "description": null,
+ "description": "Reverse the order of the underlying list.",
"type": {
"kind": "SCALAR",
"name": "Boolean",
"ofType": null
},
"defaultValue": "false"
+ },
+ {
+ "name": "sortKey",
+ "description": "Sort the underlying list by the given key.",
+ "type": {
+ "kind": "ENUM",
+ "name": "CollectionSortKeys",
+ "ofType": null
+ },
+ "defaultValue": "ID"
+ },
+ {
+ "name": "query",
+ "description": "Supported filter parameters:\n - `collection_type`\n - `title`\n - `updated_at`\n\nSee the detailed [search syntax](https://help.shopify.com/api/getting-started/search-syntax).\n",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
}
],
"type": {
@@ -308,7 +342,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "MailingAddressConnection",
+ "name": "CollectionConnection",
"ofType": null
}
},
@@ -316,83 +350,210 @@
"deprecationReason": null
},
{
- "name": "createdAt",
- "description": "The date and time when the customer was created.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "DateTime",
- "ofType": null
+ "name": "customer",
+ "description": null,
+ "args": [
+ {
+ "name": "customerAccessToken",
+ "description": "The customer access token",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
}
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Customer",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "defaultAddress",
- "description": "The customer’s default address.",
- "args": [],
+ "name": "node",
+ "description": null,
+ "args": [
+ {
+ "name": "id",
+ "description": "The ID of the Node to return.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
"type": {
- "kind": "OBJECT",
- "name": "MailingAddress",
+ "kind": "INTERFACE",
+ "name": "Node",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "displayName",
- "description": "The customer’s name, email or phone number.",
- "args": [],
+ "name": "nodes",
+ "description": null,
+ "args": [
+ {
+ "name": "ids",
+ "description": "The IDs of the Nodes to return.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "defaultValue": null
+ }
+ ],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "INTERFACE",
+ "name": "Node",
+ "ofType": null
+ }
}
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "email",
- "description": "The customer’s email address.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "firstName",
- "description": "The customer’s first name.",
- "args": [],
+ "name": "pageByHandle",
+ "description": "Find a page by its handle.",
+ "args": [
+ {
+ "name": "handle",
+ "description": "The handle of the page.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
"type": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "OBJECT",
+ "name": "Page",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "id",
- "description": "A unique identifier for the customer.",
- "args": [],
+ "name": "pages",
+ "description": "List of the shop's pages.",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ },
+ {
+ "name": "sortKey",
+ "description": "Sort the underlying list by the given key.",
+ "type": {
+ "kind": "ENUM",
+ "name": "PageSortKeys",
+ "ofType": null
+ },
+ "defaultValue": "ID"
+ },
+ {
+ "name": "query",
+ "description": "Supported filter parameters:\n - `created_at`\n - `handle`\n - `title`\n - `updated_at`\n\nSee the detailed [search syntax](https://help.shopify.com/api/getting-started/search-syntax).\n",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "ID",
+ "kind": "OBJECT",
+ "name": "PageConnection",
"ofType": null
}
},
@@ -400,24 +561,70 @@
"deprecationReason": null
},
{
- "name": "lastName",
- "description": "The customer’s last name.",
- "args": [],
+ "name": "productByHandle",
+ "description": "Find a product by its handle.",
+ "args": [
+ {
+ "name": "handle",
+ "description": "The handle of the product.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
"type": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "OBJECT",
+ "name": "Product",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "orders",
- "description": "The orders associated with the customer.",
+ "name": "productTags",
+ "description": "Tags added to products.\nAdditional access scope required: unauthenticated_read_product_tags.\n",
"args": [
{
"name": "first",
- "description": null,
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "StringConnection",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "productTypes",
+ "description": "List of the shop’s product types.",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -428,10 +635,37 @@
}
},
"defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "StringConnection",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "products",
+ "description": "List of the shop’s products.",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
},
{
"name": "after",
- "description": null,
+ "description": "Returns the elements that come after the specified cursor.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -440,8 +674,18 @@
"defaultValue": null
},
{
- "name": "query",
- "description": "Supported filter parameters:\n - `processed_at`",
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -449,25 +693,35 @@
},
"defaultValue": null
},
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ },
{
"name": "sortKey",
- "description": null,
+ "description": "Sort the underlying list by the given key.",
"type": {
"kind": "ENUM",
- "name": "OrderSortKeys",
+ "name": "ProductSortKeys",
"ofType": null
},
"defaultValue": "ID"
},
{
- "name": "reverse",
- "description": null,
+ "name": "query",
+ "description": "Supported filter parameters:\n - `created_at`\n - `product_type`\n - `tag`\n - `title`\n - `updated_at`\n - `variants.price`\n - `vendor`\n\nSee the detailed [search syntax](https://help.shopify.com/api/getting-started/search-syntax).\n",
"type": {
"kind": "SCALAR",
- "name": "Boolean",
+ "name": "String",
"ofType": null
},
- "defaultValue": "false"
+ "defaultValue": null
}
],
"type": {
@@ -475,7 +729,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "OrderConnection",
+ "name": "ProductConnection",
"ofType": null
}
},
@@ -483,27 +737,42 @@
"deprecationReason": null
},
{
- "name": "phone",
- "description": "The customer’s phone number.",
+ "name": "shop",
+ "description": null,
"args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Shop",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INTERFACE",
+ "name": "Node",
+ "description": "An object with an ID to support global identification.",
+ "fields": [
{
- "name": "updatedAt",
- "description": "The date and time when the customer information was updated.",
+ "name": "id",
+ "description": "Globally unique identifier.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "DateTime",
+ "name": "ID",
"ofType": null
}
},
@@ -512,35 +781,90 @@
}
],
"inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "SCALAR",
- "name": "String",
- "description":
- "Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.",
- "fields": null,
- "inputFields": null,
"interfaces": null,
"enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "SCALAR",
- "name": "Boolean",
- "description": "Represents `true` or `false` values.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": null,
- "possibleTypes": null
+ "possibleTypes": [
+ {
+ "kind": "OBJECT",
+ "name": "AppliedGiftCard",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Article",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Blog",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutLineItem",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Collection",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Comment",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "MailingAddress",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Order",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Page",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Payment",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Product",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ProductOption",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ProductVariant",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ShopPolicy",
+ "ofType": null
+ }
+ ]
},
{
"kind": "SCALAR",
- "name": "DateTime",
- "description": "An ISO-8601 encoded UTC date string.",
+ "name": "ID",
+ "description": "Represents a unique identifier. It is often used to refetch an object or as key for a cache.",
"fields": null,
"inputFields": null,
"interfaces": null,
@@ -549,72 +873,139 @@
},
{
"kind": "OBJECT",
- "name": "MailingAddress",
- "description": "Represents a mailing address for customers and shipping.",
+ "name": "Customer",
+ "description": "A customer represents a customer account with the shop. Customer accounts store contact information for the customer, saving logged-in customers the trouble of having to provide it at every checkout.",
"fields": [
{
- "name": "address1",
- "description": null,
+ "name": "acceptsMarketing",
+ "description": "Indicates whether the customer has consented to be sent marketing material via email.",
"args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "address2",
- "description": null,
- "args": [],
+ "name": "addresses",
+ "description": "A list of addresses for the customer.",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ }
+ ],
"type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "MailingAddressConnection",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "city",
- "description": null,
+ "name": "createdAt",
+ "description": "The date and time when the customer was created.",
"args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "DateTime",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "company",
- "description": null,
+ "name": "defaultAddress",
+ "description": "The customer’s default address.",
"args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "OBJECT",
+ "name": "MailingAddress",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "country",
- "description": null,
+ "name": "displayName",
+ "description": "The customer’s name, email or phone number.",
"args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "countryCode",
- "description": null,
+ "name": "email",
+ "description": "The customer’s email address.",
"args": [],
"type": {
"kind": "SCALAR",
@@ -626,7 +1017,7 @@
},
{
"name": "firstName",
- "description": null,
+ "description": "The customer’s first name.",
"args": [],
"type": {
"kind": "SCALAR",
@@ -637,72 +1028,126 @@
"deprecationReason": null
},
{
- "name": "formatted",
- "description": null,
- "args": [
- {
- "name": "withName",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "defaultValue": "false"
- },
- {
- "name": "withCompany",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "defaultValue": "true"
- }
- ],
+ "name": "id",
+ "description": "A unique identifier for the customer.",
+ "args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- }
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
}
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "formattedArea",
- "description": null,
+ "name": "lastIncompleteCheckout",
+ "description": "The customer's most recently updated, incomplete checkout.",
"args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "OBJECT",
+ "name": "Checkout",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "id",
- "description": "Globally unique identifier.",
+ "name": "lastName",
+ "description": "The customer’s last name.",
"args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "orders",
+ "description": "The orders associated with the customer.",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ },
+ {
+ "name": "sortKey",
+ "description": "Sort the underlying list by the given key.",
+ "type": {
+ "kind": "ENUM",
+ "name": "OrderSortKeys",
+ "ofType": null
+ },
+ "defaultValue": "ID"
+ },
+ {
+ "name": "query",
+ "description": "Supported filter parameters:\n - `processed_at`\n\nSee the detailed [search syntax](https://help.shopify.com/api/getting-started/search-syntax).\n",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "OrderConnection",
"ofType": null
}
},
@@ -710,8 +1155,8 @@
"deprecationReason": null
},
{
- "name": "lastName",
- "description": null,
+ "name": "phone",
+ "description": "The customer’s phone number.",
"args": [],
"type": {
"kind": "SCALAR",
@@ -722,32 +1167,93 @@
"deprecationReason": null
},
{
- "name": "latitude",
- "description": null,
+ "name": "tags",
+ "description": "A list of tags assigned to the customer.\nAdditional access scope required: unauthenticated_read_customer_tags.\n",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "updatedAt",
+ "description": "The date and time when the customer information was updated.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "DateTime",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "SCALAR",
+ "name": "DateTime",
+ "description": "An ISO-8601 encoded UTC date time string.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "MailingAddress",
+ "description": "Represents a mailing address for customers and shipping.",
+ "fields": [
+ {
+ "name": "address1",
+ "description": "The first line of the address. Typically the street address or PO Box number.\n",
"args": [],
"type": {
"kind": "SCALAR",
- "name": "Float",
+ "name": "String",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "longitude",
- "description": null,
+ "name": "address2",
+ "description": "The second line of the address. Typically the number of the apartment, suite, or unit.\n",
"args": [],
"type": {
"kind": "SCALAR",
- "name": "Float",
+ "name": "String",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "name",
- "description": null,
+ "name": "city",
+ "description": "The name of the city, district, village, or town.\n",
"args": [],
"type": {
"kind": "SCALAR",
@@ -758,8 +1264,8 @@
"deprecationReason": null
},
{
- "name": "phone",
- "description": null,
+ "name": "company",
+ "description": "The name of the customer's company or organization.\n",
"args": [],
"type": {
"kind": "SCALAR",
@@ -770,8 +1276,8 @@
"deprecationReason": null
},
{
- "name": "province",
- "description": null,
+ "name": "country",
+ "description": "The name of the country.\n",
"args": [],
"type": {
"kind": "SCALAR",
@@ -782,20 +1288,32 @@
"deprecationReason": null
},
{
- "name": "provinceCode",
- "description": null,
+ "name": "countryCode",
+ "description": "The two-letter code for the country of the address.\n\nFor example, US.\n",
"args": [],
"type": {
"kind": "SCALAR",
"name": "String",
"ofType": null
},
+ "isDeprecated": true,
+ "deprecationReason": "Use `countryCodeV2` instead"
+ },
+ {
+ "name": "countryCodeV2",
+ "description": "The two-letter code for the country of the address.\n\nFor example, US.\n",
+ "args": [],
+ "type": {
+ "kind": "ENUM",
+ "name": "CountryCode",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "zip",
- "description": null,
+ "name": "firstName",
+ "description": "The first name of the customer.",
"args": [],
"type": {
"kind": "SCALAR",
@@ -804,39 +1322,32 @@
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [
- {
- "kind": "INTERFACE",
- "name": "Node",
- "ofType": null
- }
- ],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "SCALAR",
- "name": "Float",
- "description":
- "Represents signed double-precision fractional values as specified by [IEEE 754](http://en.wikipedia.org/wiki/IEEE_floating_point).",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "MailingAddressConnection",
- "description": null,
- "fields": [
+ },
{
- "name": "edges",
- "description": "A list of edges.",
- "args": [],
+ "name": "formatted",
+ "description": "A formatted version of the address, customized by the provided arguments.",
+ "args": [
+ {
+ "name": "withName",
+ "description": "Whether to include the customer's name in the formatted address.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ },
+ {
+ "name": "withCompany",
+ "description": "Whether to include the customer's company in the formatted address.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "true"
+ }
+ ],
"type": {
"kind": "NON_NULL",
"name": null,
@@ -847,8 +1358,8 @@
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "OBJECT",
- "name": "MailingAddressEdge",
+ "kind": "SCALAR",
+ "name": "String",
"ofType": null
}
}
@@ -858,2917 +1369,1608 @@
"deprecationReason": null
},
{
- "name": "pageInfo",
- "description": "Information to aid in pagination.",
+ "name": "formattedArea",
+ "description": "A comma-separated list of the values for city, province, and country.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "Globally unique identifier.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "OBJECT",
- "name": "PageInfo",
+ "kind": "SCALAR",
+ "name": "ID",
"ofType": null
}
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "PageInfo",
- "description": "Information about pagination in a connection.",
- "fields": [
+ },
{
- "name": "hasNextPage",
- "description": "Indicates if there are more pages to fetch.",
+ "name": "lastName",
+ "description": "The last name of the customer.",
"args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "hasPreviousPage",
- "description": "Indicates if there are any pages prior to the current page.",
+ "name": "latitude",
+ "description": "The latitude coordinate of the customer address.",
"args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "Float",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "MailingAddressEdge",
- "description": null,
- "fields": [
+ },
{
- "name": "cursor",
- "description": "A cursor for use in pagination.",
+ "name": "longitude",
+ "description": "The longitude coordinate of the customer address.",
"args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "Float",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "node",
- "description": "The item at the end of MailingAddressEdge.",
+ "name": "name",
+ "description": "The full name of the customer, based on firstName and lastName.\n",
"args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "MailingAddress",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "SCALAR",
- "name": "Int",
- "description":
- "Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "OrderConnection",
- "description": null,
- "fields": [
+ },
{
- "name": "edges",
- "description": "A list of edges.",
+ "name": "phone",
+ "description": "A unique phone number for the customer.\n\nFormatted using E.164 standard. For example, _+16135551111_.\n",
"args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "OrderEdge",
- "ofType": null
- }
- }
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "pageInfo",
- "description": "Information to aid in pagination.",
+ "name": "province",
+ "description": "The region of the address, such as the province, state, or district.",
"args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "PageInfo",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "OrderEdge",
- "description": null,
- "fields": [
+ },
{
- "name": "cursor",
- "description": "A cursor for use in pagination.",
+ "name": "provinceCode",
+ "description": "The two-letter code for the region.\n\nFor example, ON.\n",
"args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "node",
- "description": "The item at the end of OrderEdge.",
+ "name": "zip",
+ "description": "The zip or postal code of the address.",
"args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "Order",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
}
],
"inputFields": null,
- "interfaces": [],
+ "interfaces": [
+ {
+ "kind": "INTERFACE",
+ "name": "Node",
+ "ofType": null
+ }
+ ],
"enumValues": null,
"possibleTypes": null
},
{
- "kind": "OBJECT",
- "name": "Order",
- "description":
- "An order is a customer’s completed request to purchase one or more products from a shop. An order is created when a customer completes the checkout process, during which time they provides an email address, billing address and payment information.",
- "fields": [
+ "kind": "SCALAR",
+ "name": "Float",
+ "description": "Represents signed double-precision fractional values as specified by [IEEE 754](http://en.wikipedia.org/wiki/IEEE_floating_point).",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "CountryCode",
+ "description": "ISO 3166-1 alpha-2 country codes with some differences.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
{
- "name": "currencyCode",
- "description": "The code of the currency used for the payment.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "ENUM",
- "name": "CurrencyCode",
- "ofType": null
- }
- },
+ "name": "AF",
+ "description": "Afghanistan.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "customerLocale",
- "description": "The locale code in which this specific order happened.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
+ "name": "AX",
+ "description": "Aland Islands.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "customerUrl",
- "description": "The order’s URL for a customer.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "URL",
- "ofType": null
- },
+ "name": "AL",
+ "description": "Albania.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "email",
- "description": "The customer's email address.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
+ "name": "DZ",
+ "description": "Algeria.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "id",
- "description": "Globally unique identifier.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
+ "name": "AD",
+ "description": "Andorra.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "lineItems",
- "description": "List of the order’s line items.",
- "args": [
- {
- "name": "first",
- "description": null,
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "after",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "reverse",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "defaultValue": "false"
- }
- ],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "OrderLineItemConnection",
- "ofType": null
- }
- },
+ "name": "AO",
+ "description": "Angola.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "orderNumber",
- "description": "A unique numeric identifier for the order for use by shop owner and customer.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- }
- },
+ "name": "AI",
+ "description": "Anguilla.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "phone",
- "description": "The customer's phone number.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
+ "name": "AG",
+ "description": "Antigua And Barbuda.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "processedAt",
- "description":
- "The date and time when the order was imported.\nThis value can be set to dates in the past when importing from other systems.\nIf no value is provided, it will be auto-generated based on current date and time.\n",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "DateTime",
- "ofType": null
- }
- },
+ "name": "AR",
+ "description": "Argentina.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "shippingAddress",
- "description": "The address to where the order will be shipped.",
- "args": [],
- "type": {
- "kind": "OBJECT",
- "name": "MailingAddress",
- "ofType": null
- },
+ "name": "AM",
+ "description": "Armenia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "subtotalPrice",
- "description": "Price of the order before shipping and taxes.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "Money",
- "ofType": null
- },
+ "name": "AW",
+ "description": "Aruba.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "totalPrice",
- "description":
- "The sum of all the prices of all the items in the order, taxes and discounts included (must be positive).",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Money",
- "ofType": null
- }
- },
+ "name": "AU",
+ "description": "Australia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "totalRefunded",
- "description": "The total amount that has been refunded.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Money",
- "ofType": null
- }
- },
+ "name": "AT",
+ "description": "Austria.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "totalShippingPrice",
- "description": "The total cost of shipping.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Money",
- "ofType": null
- }
- },
+ "name": "AZ",
+ "description": "Azerbaijan.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "totalTax",
- "description": "The total cost of taxes.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "Money",
- "ofType": null
- },
+ "name": "BS",
+ "description": "Bahamas.",
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [
- {
- "kind": "INTERFACE",
- "name": "Node",
- "ofType": null
- }
- ],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "SCALAR",
- "name": "Money",
- "description": "A monetary value string.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "ENUM",
- "name": "CurrencyCode",
- "description": "Currency codes",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": [
+ },
{
- "name": "USD",
- "description": "United States Dollars (USD)",
+ "name": "BH",
+ "description": "Bahrain.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "EUR",
- "description": "Euro (EUR)",
+ "name": "BD",
+ "description": "Bangladesh.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GBP",
- "description": "United Kingdom Pounds (GBP)",
+ "name": "BB",
+ "description": "Barbados.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CAD",
- "description": "Canadian Dollars (CAD)",
+ "name": "BY",
+ "description": "Belarus.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AFN",
- "description": "Afghan Afghani (AFN)",
+ "name": "BE",
+ "description": "Belgium.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ALL",
- "description": "Albanian Lek (ALL)",
+ "name": "BZ",
+ "description": "Belize.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "DZD",
- "description": "Algerian Dinar (DZD)",
+ "name": "BJ",
+ "description": "Benin.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AOA",
- "description": "Angolan Kwanza (AOA)",
+ "name": "BM",
+ "description": "Bermuda.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ARS",
- "description": "Argentine Pesos (ARS)",
+ "name": "BT",
+ "description": "Bhutan.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AMD",
- "description": "Armenian Dram (AMD)",
+ "name": "BO",
+ "description": "Bolivia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AWG",
- "description": "Aruban Florin (AWG)",
+ "name": "BQ",
+ "description": "Bonaire, Sint Eustatius and Saba.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AUD",
- "description": "Australian Dollars (AUD)",
+ "name": "BA",
+ "description": "Bosnia And Herzegovina.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BBD",
- "description": "Barbadian Dollar (BBD)",
+ "name": "BW",
+ "description": "Botswana.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AZN",
- "description": "Azerbaijani Manat (AZN)",
+ "name": "BV",
+ "description": "Bouvet Island.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BDT",
- "description": "Bangladesh Taka (BDT)",
+ "name": "BR",
+ "description": "Brazil.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BSD",
- "description": "Bahamian Dollar (BSD)",
+ "name": "IO",
+ "description": "British Indian Ocean Territory.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BHD",
- "description": "Bahraini Dinar (BHD)",
+ "name": "BN",
+ "description": "Brunei.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BYR",
- "description": "Belarusian Ruble (BYR)",
+ "name": "BG",
+ "description": "Bulgaria.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BZD",
- "description": "Belize Dollar (BZD)",
+ "name": "BF",
+ "description": "Burkina Faso.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BTN",
- "description": "Bhutanese Ngultrum (BTN)",
+ "name": "BI",
+ "description": "Burundi.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BAM",
- "description": "Bosnia and Herzegovina Convertible Mark (BAM)",
+ "name": "KH",
+ "description": "Cambodia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BRL",
- "description": "Brazilian Real (BRL)",
+ "name": "CA",
+ "description": "Canada.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BOB",
- "description": "Bolivian Boliviano (BOB)",
+ "name": "CV",
+ "description": "Cape Verde.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BWP",
- "description": "Botswana Pula (BWP)",
+ "name": "KY",
+ "description": "Cayman Islands.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BND",
- "description": "Brunei Dollar (BND)",
+ "name": "CF",
+ "description": "Central African Republic.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BGN",
- "description": "Bulgarian Lev (BGN)",
+ "name": "TD",
+ "description": "Chad.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MMK",
- "description": "Burmese Kyat (MMK)",
+ "name": "CL",
+ "description": "Chile.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "KHR",
- "description": "Cambodian Riel",
+ "name": "CN",
+ "description": "China.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CVE",
- "description": "Cape Verdean escudo (CVE)",
+ "name": "CX",
+ "description": "Christmas Island.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "KYD",
- "description": "Cayman Dollars (KYD)",
+ "name": "CC",
+ "description": "Cocos (Keeling) Islands.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "XAF",
- "description": "Central African CFA Franc (XAF)",
+ "name": "CO",
+ "description": "Colombia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CLP",
- "description": "Chilean Peso (CLP)",
+ "name": "KM",
+ "description": "Comoros.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CNY",
- "description": "Chinese Yuan Renminbi (CNY)",
+ "name": "CG",
+ "description": "Congo.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "COP",
- "description": "Colombian Peso (COP)",
+ "name": "CD",
+ "description": "Congo, The Democratic Republic Of The.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "KMF",
- "description": "Comorian Franc (KMF)",
+ "name": "CK",
+ "description": "Cook Islands.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CDF",
- "description": "Congolese franc (CDF)",
+ "name": "CR",
+ "description": "Costa Rica.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CRC",
- "description": "Costa Rican Colones (CRC)",
+ "name": "HR",
+ "description": "Croatia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "HRK",
- "description": "Croatian Kuna (HRK)",
+ "name": "CU",
+ "description": "Cuba.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CZK",
- "description": "Czech Koruny (CZK)",
+ "name": "CW",
+ "description": "Curaçao.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "DKK",
- "description": "Danish Kroner (DKK)",
+ "name": "CY",
+ "description": "Cyprus.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "DOP",
- "description": "Dominican Peso (DOP)",
+ "name": "CZ",
+ "description": "Czech Republic.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "XCD",
- "description": "East Caribbean Dollar (XCD)",
+ "name": "CI",
+ "description": "Côte d'Ivoire.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "EGP",
- "description": "Egyptian Pound (EGP)",
+ "name": "DK",
+ "description": "Denmark.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ETB",
- "description": "Ethiopian Birr (ETB)",
+ "name": "DJ",
+ "description": "Djibouti.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "XPF",
- "description": "CFP Franc (XPF)",
+ "name": "DM",
+ "description": "Dominica.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "FJD",
- "description": "Fijian Dollars (FJD)",
+ "name": "DO",
+ "description": "Dominican Republic.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GMD",
- "description": "Gambian Dalasi (GMD)",
+ "name": "EC",
+ "description": "Ecuador.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GHS",
- "description": "Ghanaian Cedi (GHS)",
+ "name": "EG",
+ "description": "Egypt.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GTQ",
- "description": "Guatemalan Quetzal (GTQ)",
+ "name": "SV",
+ "description": "El Salvador.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GYD",
- "description": "Guyanese Dollar (GYD)",
+ "name": "GQ",
+ "description": "Equatorial Guinea.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GEL",
- "description": "Georgian Lari (GEL)",
+ "name": "ER",
+ "description": "Eritrea.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "HTG",
- "description": "Haitian Gourde (HTG)",
+ "name": "EE",
+ "description": "Estonia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "HNL",
- "description": "Honduran Lempira (HNL)",
+ "name": "ET",
+ "description": "Ethiopia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "HKD",
- "description": "Hong Kong Dollars (HKD)",
+ "name": "FK",
+ "description": "Falkland Islands (Malvinas).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "HUF",
- "description": "Hungarian Forint (HUF)",
+ "name": "FO",
+ "description": "Faroe Islands.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ISK",
- "description": "Icelandic Kronur (ISK)",
+ "name": "FJ",
+ "description": "Fiji.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "INR",
- "description": "Indian Rupees (INR)",
+ "name": "FI",
+ "description": "Finland.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "IDR",
- "description": "Indonesian Rupiah (IDR)",
+ "name": "FR",
+ "description": "France.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ILS",
- "description": "Israeli New Shekel (NIS)",
+ "name": "GF",
+ "description": "French Guiana.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "JMD",
- "description": "Jamaican Dollars (JMD)",
+ "name": "PF",
+ "description": "French Polynesia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "JPY",
- "description": "Japanese Yen (JPY)",
+ "name": "TF",
+ "description": "French Southern Territories.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "JEP",
- "description": "Jersey Pound",
+ "name": "GA",
+ "description": "Gabon.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "JOD",
- "description": "Jordanian Dinar (JOD)",
+ "name": "GM",
+ "description": "Gambia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "KZT",
- "description": "Kazakhstani Tenge (KZT)",
+ "name": "GE",
+ "description": "Georgia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "KES",
- "description": "Kenyan Shilling (KES)",
+ "name": "DE",
+ "description": "Germany.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "KWD",
- "description": "Kuwaiti Dinar (KWD)",
+ "name": "GH",
+ "description": "Ghana.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "KGS",
- "description": "Kyrgyzstani Som (KGS)",
+ "name": "GI",
+ "description": "Gibraltar.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "LAK",
- "description": "Laotian Kip (LAK)",
+ "name": "GR",
+ "description": "Greece.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "LVL",
- "description": "Latvian Lati (LVL)",
+ "name": "GL",
+ "description": "Greenland.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "LBP",
- "description": "Lebanese Pounds (LBP)",
+ "name": "GD",
+ "description": "Grenada.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "LSL",
- "description": "Lesotho Loti (LSL)",
+ "name": "GP",
+ "description": "Guadeloupe.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "LRD",
- "description": "Liberian Dollar (LRD)",
+ "name": "GT",
+ "description": "Guatemala.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "LTL",
- "description": "Lithuanian Litai (LTL)",
+ "name": "GG",
+ "description": "Guernsey.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MGA",
- "description": "Malagasy Ariary (MGA)",
+ "name": "GN",
+ "description": "Guinea.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MKD",
- "description": "Macedonia Denar (MKD)",
+ "name": "GW",
+ "description": "Guinea Bissau.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MOP",
- "description": "Macanese Pataca (MOP)",
+ "name": "GY",
+ "description": "Guyana.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MWK",
- "description": "Malawian Kwacha (MWK)",
+ "name": "HT",
+ "description": "Haiti.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MVR",
- "description": "Maldivian Rufiyaa (MVR)",
+ "name": "HM",
+ "description": "Heard Island And Mcdonald Islands.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MXN",
- "description": "Mexican Pesos (MXN)",
+ "name": "VA",
+ "description": "Holy See (Vatican City State).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MYR",
- "description": "Malaysian Ringgits (MYR)",
+ "name": "HN",
+ "description": "Honduras.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MUR",
- "description": "Mauritian Rupee (MUR)",
+ "name": "HK",
+ "description": "Hong Kong.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MDL",
- "description": "Moldovan Leu (MDL)",
+ "name": "HU",
+ "description": "Hungary.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MAD",
- "description": "Moroccan Dirham",
+ "name": "IS",
+ "description": "Iceland.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MNT",
- "description": "Mongolian Tugrik",
+ "name": "IN",
+ "description": "India.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MZN",
- "description": "Mozambican Metical",
+ "name": "ID",
+ "description": "Indonesia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "NAD",
- "description": "Namibian Dollar",
+ "name": "IR",
+ "description": "Iran, Islamic Republic Of.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "NPR",
- "description": "Nepalese Rupee (NPR)",
+ "name": "IQ",
+ "description": "Iraq.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ANG",
- "description": "Netherlands Antillean Guilder",
+ "name": "IE",
+ "description": "Ireland.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "NZD",
- "description": "New Zealand Dollars (NZD)",
+ "name": "IM",
+ "description": "Isle Of Man.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "NIO",
- "description": "Nicaraguan Córdoba (NIO)",
+ "name": "IL",
+ "description": "Israel.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "NGN",
- "description": "Nigerian Naira (NGN)",
+ "name": "IT",
+ "description": "Italy.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "NOK",
- "description": "Norwegian Kroner (NOK)",
+ "name": "JM",
+ "description": "Jamaica.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "OMR",
- "description": "Omani Rial (OMR)",
+ "name": "JP",
+ "description": "Japan.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PKR",
- "description": "Pakistani Rupee (PKR)",
+ "name": "JE",
+ "description": "Jersey.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PGK",
- "description": "Papua New Guinean Kina (PGK)",
+ "name": "JO",
+ "description": "Jordan.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PYG",
- "description": "Paraguayan Guarani (PYG)",
+ "name": "KZ",
+ "description": "Kazakhstan.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PEN",
- "description": "Peruvian Nuevo Sol (PEN)",
+ "name": "KE",
+ "description": "Kenya.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PHP",
- "description": "Philippine Peso (PHP)",
+ "name": "KI",
+ "description": "Kiribati.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PLN",
- "description": "Polish Zlotych (PLN)",
+ "name": "KP",
+ "description": "Korea, Democratic People's Republic Of.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "QAR",
- "description": "Qatari Rial (QAR)",
+ "name": "XK",
+ "description": "Kosovo.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "RON",
- "description": "Romanian Lei (RON)",
+ "name": "KW",
+ "description": "Kuwait.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "RUB",
- "description": "Russian Rubles (RUB)",
+ "name": "KG",
+ "description": "Kyrgyzstan.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "RWF",
- "description": "Rwandan Franc (RWF)",
+ "name": "LA",
+ "description": "Lao People's Democratic Republic.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "WST",
- "description": "Samoan Tala (WST)",
+ "name": "LV",
+ "description": "Latvia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SAR",
- "description": "Saudi Riyal (SAR)",
+ "name": "LB",
+ "description": "Lebanon.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "STD",
- "description": "Sao Tome And Principe Dobra (STD)",
+ "name": "LS",
+ "description": "Lesotho.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "RSD",
- "description": "Serbian dinar (RSD)",
+ "name": "LR",
+ "description": "Liberia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SCR",
- "description": "Seychellois Rupee (SCR)",
+ "name": "LY",
+ "description": "Libyan Arab Jamahiriya.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SGD",
- "description": "Singapore Dollars (SGD)",
+ "name": "LI",
+ "description": "Liechtenstein.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SDG",
- "description": "Sudanese Pound (SDG)",
+ "name": "LT",
+ "description": "Lithuania.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SYP",
- "description": "Syrian Pound (SYP)",
+ "name": "LU",
+ "description": "Luxembourg.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ZAR",
- "description": "South African Rand (ZAR)",
+ "name": "MO",
+ "description": "Macao.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "KRW",
- "description": "South Korean Won (KRW)",
+ "name": "MK",
+ "description": "Macedonia, Republic Of.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SSP",
- "description": "South Sudanese Pound (SSP)",
+ "name": "MG",
+ "description": "Madagascar.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SBD",
- "description": "Solomon Islands Dollar (SBD)",
+ "name": "MW",
+ "description": "Malawi.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "LKR",
- "description": "Sri Lankan Rupees (LKR)",
+ "name": "MY",
+ "description": "Malaysia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SRD",
- "description": "Surinamese Dollar (SRD)",
+ "name": "MV",
+ "description": "Maldives.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SEK",
- "description": "Swedish Kronor (SEK)",
+ "name": "ML",
+ "description": "Mali.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CHF",
- "description": "Swiss Francs (CHF)",
+ "name": "MT",
+ "description": "Malta.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TWD",
- "description": "Taiwan Dollars (TWD)",
+ "name": "MQ",
+ "description": "Martinique.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "THB",
- "description": "Thai baht (THB)",
+ "name": "MR",
+ "description": "Mauritania.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TZS",
- "description": "Tanzanian Shilling (TZS)",
+ "name": "MU",
+ "description": "Mauritius.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TTD",
- "description": "Trinidad and Tobago Dollars (TTD)",
+ "name": "YT",
+ "description": "Mayotte.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TND",
- "description": "Tunisian Dinar (TND)",
+ "name": "MX",
+ "description": "Mexico.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TRY",
- "description": "Turkish Lira (TRY)",
+ "name": "MD",
+ "description": "Moldova, Republic of.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TMT",
- "description": "Turkmenistani Manat (TMT)",
+ "name": "MC",
+ "description": "Monaco.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "UGX",
- "description": "Ugandan Shilling (UGX)",
+ "name": "MN",
+ "description": "Mongolia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "UAH",
- "description": "Ukrainian Hryvnia (UAH)",
+ "name": "ME",
+ "description": "Montenegro.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AED",
- "description": "United Arab Emirates Dirham (AED)",
+ "name": "MS",
+ "description": "Montserrat.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "UYU",
- "description": "Uruguayan Pesos (UYU)",
+ "name": "MA",
+ "description": "Morocco.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "UZS",
- "description": "Uzbekistan som (UZS)",
+ "name": "MZ",
+ "description": "Mozambique.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "VUV",
- "description": "Vanuatu Vatu (VUV)",
+ "name": "MM",
+ "description": "Myanmar.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "VEF",
- "description": "Venezuelan Bolivares (VEF)",
+ "name": "NA",
+ "description": "Namibia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "VND",
- "description": "Vietnamese đồng (VND)",
+ "name": "NR",
+ "description": "Nauru.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "XOF",
- "description": "West African CFA franc (XOF)",
+ "name": "NP",
+ "description": "Nepal.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "YER",
- "description": "Yemeni Rial (YER)",
+ "name": "NL",
+ "description": "Netherlands.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ZMW",
- "description": "Zambian Kwacha (ZMW)",
+ "name": "AN",
+ "description": "Netherlands Antilles.",
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "possibleTypes": null
- },
- {
- "kind": "SCALAR",
- "name": "URL",
- "description": "An RFC 3986 and RFC 3987 compliant URI string.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "OrderLineItemConnection",
- "description": null,
- "fields": [
+ },
{
- "name": "edges",
- "description": "A list of edges.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "OrderLineItemEdge",
- "ofType": null
- }
- }
- }
- },
+ "name": "NC",
+ "description": "New Caledonia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "pageInfo",
- "description": "Information to aid in pagination.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "PageInfo",
- "ofType": null
- }
- },
+ "name": "NZ",
+ "description": "New Zealand.",
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "OrderLineItemEdge",
- "description": null,
- "fields": [
+ },
{
- "name": "cursor",
- "description": "A cursor for use in pagination.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
+ "name": "NI",
+ "description": "Nicaragua.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "node",
- "description": "The item at the end of OrderLineItemEdge.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "OrderLineItem",
- "ofType": null
- }
- },
+ "name": "NE",
+ "description": "Niger.",
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "OrderLineItem",
- "description":
- "Represents a single line in an order. There is one line item for each distinct product variant.",
- "fields": [
+ },
{
- "name": "customAttributes",
- "description": "List of custom attributes associated to the line item.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "Attribute",
- "ofType": null
- }
- }
- }
- },
+ "name": "NG",
+ "description": "Nigeria.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "quantity",
- "description": "The number of products variants associated to the line item.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- }
- },
+ "name": "NU",
+ "description": "Niue.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "title",
- "description": "The title of the product combined with title of the variant.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
+ "name": "NF",
+ "description": "Norfolk Island.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "variant",
- "description": "The product variant object associated to the line item.",
- "args": [],
- "type": {
- "kind": "OBJECT",
- "name": "ProductVariant",
- "ofType": null
- },
+ "name": "NO",
+ "description": "Norway.",
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "ProductVariant",
- "description":
- "A product variant represents a different version of a product, such as differing sizes or differing colors.",
- "fields": [
+ },
{
- "name": "available",
- "description": "Indicates if the product variant is in stock.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "isDeprecated": true,
- "deprecationReason": "Use `availableForSale` instead"
+ "name": "OM",
+ "description": "Oman.",
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "availableForSale",
- "description": "Indicates if the product variant is available for sale.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- }
- },
+ "name": "PK",
+ "description": "Pakistan.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "compareAtPrice",
- "description":
- "The compare at price of the variant. This can be used to mark a variant as on sale, when `compareAtPrice` is higher than `price`.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "Money",
- "ofType": null
- },
+ "name": "PS",
+ "description": "Palestinian Territory, Occupied.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "id",
- "description": "Globally unique identifier.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
+ "name": "PA",
+ "description": "Panama.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "image",
- "description": "Image associated with the product variant.",
- "args": [
- {
- "name": "maxWidth",
- "description": "Image width in pixels between 1 and 2048",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "maxHeight",
- "description": "Image height in pixels between 1 and 2048",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "crop",
- "description": "If specified, crop the image keeping the specified region",
- "type": {
- "kind": "ENUM",
- "name": "CropRegion",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "scale",
- "description": "Image size multiplier retina displays. Must be between 1 and 3",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": "1"
- }
- ],
- "type": {
- "kind": "OBJECT",
- "name": "Image",
- "ofType": null
- },
+ "name": "PG",
+ "description": "Papua New Guinea.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "price",
- "description": "The product variant’s price.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Money",
- "ofType": null
- }
- },
+ "name": "PY",
+ "description": "Paraguay.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "product",
- "description": "The product object that the product variant belongs to.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "Product",
- "ofType": null
- }
- },
+ "name": "PE",
+ "description": "Peru.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "selectedOptions",
- "description": "List of product options applied to the variant.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "SelectedOption",
- "ofType": null
- }
- }
- }
- },
+ "name": "PH",
+ "description": "Philippines.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "sku",
- "description": "The SKU (Stock Keeping Unit) associated with the variant.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
+ "name": "PN",
+ "description": "Pitcairn.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "title",
- "description": "The product variant’s title.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
+ "name": "PL",
+ "description": "Poland.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "weight",
- "description": "The weight of the product variant in the unit system specified with `weight_unit`.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "Float",
- "ofType": null
- },
+ "name": "PT",
+ "description": "Portugal.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "weightUnit",
- "description": "Unit of measurement for weight.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "ENUM",
- "name": "WeightUnit",
- "ofType": null
- }
- },
+ "name": "QA",
+ "description": "Qatar.",
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [
+ },
{
- "kind": "INTERFACE",
- "name": "Node",
- "ofType": null
- }
- ],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "ENUM",
- "name": "WeightUnit",
- "description": "Units of measurements for weight.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": [
+ "name": "CM",
+ "description": "Republic of Cameroon.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
{
- "name": "KILOGRAMS",
- "description": "1 equals 1000 grams",
+ "name": "RE",
+ "description": "Reunion.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GRAMS",
- "description": "Metric system unit of mass",
+ "name": "RO",
+ "description": "Romania.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "POUNDS",
- "description": "1 equals 16 ounces",
+ "name": "RU",
+ "description": "Russia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "OUNCES",
- "description": "Imperial system unit of mass",
+ "name": "RW",
+ "description": "Rwanda.",
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "Image",
- "description": "Represents an image resource.",
- "fields": [
+ },
{
- "name": "altText",
- "description": "A word or phrase to share the nature or contents of an image.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
+ "name": "BL",
+ "description": "Saint Barthélemy.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "id",
- "description": "A unique identifier for the image.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- },
+ "name": "SH",
+ "description": "Saint Helena.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "src",
- "description": "The location of the image as a URL.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "URL",
- "ofType": null
- }
- },
+ "name": "KN",
+ "description": "Saint Kitts And Nevis.",
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "ENUM",
- "name": "CropRegion",
- "description": "The part of the image that should remain after cropping.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": [
+ },
{
- "name": "CENTER",
- "description": "Keep the center of the image",
+ "name": "LC",
+ "description": "Saint Lucia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TOP",
- "description": "Keep the top of the image",
+ "name": "MF",
+ "description": "Saint Martin.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BOTTOM",
- "description": "Keep the bottom of the image",
+ "name": "PM",
+ "description": "Saint Pierre And Miquelon.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "LEFT",
- "description": "Keep the left of the image",
+ "name": "WS",
+ "description": "Samoa.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "RIGHT",
- "description": "Keep the right of the image",
+ "name": "SM",
+ "description": "San Marino.",
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "SelectedOption",
- "description":
- "Custom properties that a shop owner can use to define product variants.\nMultiple options can exist. Options are represented as: option1, option2, option3, etc.\n",
- "fields": [
+ },
{
- "name": "name",
- "description": "The product option’s name.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
+ "name": "ST",
+ "description": "Sao Tome And Principe.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "value",
- "description": "The product option’s value.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
+ "name": "SA",
+ "description": "Saudi Arabia.",
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "Product",
- "description":
- "A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be. \nFor example, a digital download (such as a movie, music or ebook file) also qualifies as a product, as do services (such as equipment rental, work for hire, customization of another product or an extended warranty).",
- "fields": [
+ },
{
- "name": "collections",
- "description": "List of collections a product belongs to.",
- "args": [
- {
- "name": "first",
- "description": null,
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "after",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "reverse",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "defaultValue": "false"
- }
- ],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "CollectionConnection",
- "ofType": null
- }
- },
+ "name": "SN",
+ "description": "Senegal.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "createdAt",
- "description": "The date and time when the product was created.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "DateTime",
- "ofType": null
- }
- },
+ "name": "RS",
+ "description": "Serbia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "description",
- "description": "Stripped description of the product, single line with HTML tags removed.",
- "args": [
- {
- "name": "truncateAt",
- "description": "Truncates string after the given length.",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": null
- }
- ],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
+ "name": "SC",
+ "description": "Seychelles.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "descriptionHtml",
- "description": "The description of the product, complete with HTML formatting.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "HTML",
- "ofType": null
- }
- },
+ "name": "SL",
+ "description": "Sierra Leone.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "handle",
- "description":
- "A human-friendly unique string for the Product automatically generated from its title.\nThey are used by the Liquid templating language to refer to objects.\n",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
+ "name": "SG",
+ "description": "Singapore.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "id",
- "description": "Globally unique identifier.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
+ "name": "SX",
+ "description": "Sint Maarten.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "images",
- "description": "List of images associated with the product.",
- "args": [
- {
- "name": "first",
- "description": null,
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "after",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "sortKey",
- "description": null,
- "type": {
- "kind": "ENUM",
- "name": "ProductImageSortKeys",
- "ofType": null
- },
- "defaultValue": "POSITION"
- },
- {
- "name": "reverse",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "defaultValue": "false"
- },
- {
- "name": "maxWidth",
- "description": "Image width in pixels between 1 and 2048",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "maxHeight",
- "description": "Image height in pixels between 1 and 2048",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "crop",
- "description": "If specified, crop the image keeping the specified region",
- "type": {
- "kind": "ENUM",
- "name": "CropRegion",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "scale",
- "description": "Image size multiplier retina displays. Must be between 1 and 3",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": "1"
- }
- ],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "ImageConnection",
- "ofType": null
- }
- },
+ "name": "SK",
+ "description": "Slovakia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "onlineStoreUrl",
- "description":
- "The online store URL for the product.\nA value of `null` indicates that the product is not published to the Online Store sales channel.\n",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "URL",
- "ofType": null
- },
+ "name": "SI",
+ "description": "Slovenia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "options",
- "description": "Lst of custom product options (maximum of 3 per product).",
- "args": [
- {
- "name": "first",
- "description": "Truncate the array result to this size",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": null
- }
- ],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "ProductOption",
- "ofType": null
- }
- }
- }
- },
+ "name": "SB",
+ "description": "Solomon Islands.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "productType",
- "description":
- "A categorization that a product can be tagged with, commonly used for filtering and searching.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
+ "name": "SO",
+ "description": "Somalia.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "publishedAt",
- "description": "The date and time when the product was published to the channel.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "DateTime",
- "ofType": null
- }
- },
+ "name": "ZA",
+ "description": "South Africa.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "tags",
- "description":
- "A categorization that a product can be tagged with, commonly used for filtering and searching.\nEach comma-separated tag has a character limit of 255.\n",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- }
- }
- },
+ "name": "GS",
+ "description": "South Georgia And The South Sandwich Islands.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "title",
- "description": "The product’s title.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
+ "name": "KR",
+ "description": "South Korea.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "updatedAt",
- "description": "The date and time when the product was last modified.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "DateTime",
- "ofType": null
- }
- },
+ "name": "SS",
+ "description": "South Sudan.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "variantBySelectedOptions",
- "description":
- "Find a product’s variant based on its selected options.\nThis is useful for converting a user’s selection of product options into a single matching variant.\nIf there is not a variant for the selected options, `null` will be returned.\n",
- "args": [
- {
- "name": "selectedOptions",
- "description": null,
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "INPUT_OBJECT",
- "name": "SelectedOptionInput",
- "ofType": null
- }
- }
- }
- },
- "defaultValue": null
- }
- ],
- "type": {
- "kind": "OBJECT",
- "name": "ProductVariant",
- "ofType": null
- },
+ "name": "ES",
+ "description": "Spain.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "variants",
- "description": "List of the product’s variants.",
- "args": [
- {
- "name": "first",
- "description": null,
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "after",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "reverse",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "defaultValue": "false"
- }
- ],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "ProductVariantConnection",
- "ofType": null
- }
- },
+ "name": "LK",
+ "description": "Sri Lanka.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "vendor",
- "description": "The product’s vendor name.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
+ "name": "VC",
+ "description": "St. Vincent.",
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [
+ },
{
- "kind": "INTERFACE",
- "name": "Node",
- "ofType": null
- }
- ],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "CollectionConnection",
- "description": null,
- "fields": [
+ "name": "SD",
+ "description": "Sudan.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
{
- "name": "edges",
- "description": "A list of edges.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "CollectionEdge",
- "ofType": null
- }
- }
- }
- },
+ "name": "SR",
+ "description": "Suriname.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "pageInfo",
- "description": "Information to aid in pagination.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "PageInfo",
- "ofType": null
- }
- },
+ "name": "SJ",
+ "description": "Svalbard And Jan Mayen.",
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "CollectionEdge",
- "description": null,
- "fields": [
+ },
{
- "name": "cursor",
- "description": "A cursor for use in pagination.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
+ "name": "SZ",
+ "description": "Swaziland.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "node",
- "description": "The item at the end of CollectionEdge.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "Collection",
- "ofType": null
- }
- },
+ "name": "SE",
+ "description": "Sweden.",
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "Collection",
- "description":
- "A collection represents a grouping of products that a shop owner can create to organize them or make their shops easier to browse.",
- "fields": [
+ },
{
- "name": "description",
- "description": "Stripped description of the collection, single line with HTML tags removed.",
- "args": [
- {
- "name": "truncateAt",
- "description": "Truncates string after the given length.",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": null
- }
- ],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
+ "name": "CH",
+ "description": "Switzerland.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "descriptionHtml",
- "description": "The description of the collection, complete with HTML formatting.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "HTML",
- "ofType": null
- }
- },
+ "name": "SY",
+ "description": "Syria.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "handle",
- "description":
- "A human-friendly unique string for the collection automatically generated from its title.\nLimit of 255 characters.\n",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
+ "name": "TW",
+ "description": "Taiwan.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "id",
- "description": "Globally unique identifier.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
+ "name": "TJ",
+ "description": "Tajikistan.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "image",
- "description": "Image associated with the collection.",
- "args": [
- {
- "name": "maxWidth",
- "description": "Image width in pixels between 1 and 2048",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "maxHeight",
- "description": "Image height in pixels between 1 and 2048",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "crop",
- "description": "If specified, crop the image keeping the specified region",
- "type": {
- "kind": "ENUM",
- "name": "CropRegion",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "scale",
- "description": "Image size multiplier retina displays. Must be between 1 and 3",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": "1"
- }
- ],
- "type": {
- "kind": "OBJECT",
- "name": "Image",
- "ofType": null
- },
+ "name": "TZ",
+ "description": "Tanzania, United Republic Of.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "products",
- "description": "List of products in the collection.",
- "args": [
- {
- "name": "first",
- "description": null,
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "after",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "sortKey",
- "description": null,
- "type": {
- "kind": "ENUM",
- "name": "ProductCollectionSortKeys",
- "ofType": null
- },
- "defaultValue": "COLLECTION_DEFAULT"
- },
- {
- "name": "reverse",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "defaultValue": "false"
- }
- ],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "ProductConnection",
- "ofType": null
- }
- },
+ "name": "TH",
+ "description": "Thailand.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "title",
- "description": "The collection’s name. Limit of 255 characters.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
+ "name": "TL",
+ "description": "Timor Leste.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "updatedAt",
- "description": "The date and time when the collection was last modified.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "DateTime",
- "ofType": null
- }
- },
+ "name": "TG",
+ "description": "Togo.",
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [
- {
- "kind": "INTERFACE",
- "name": "Node",
- "ofType": null
- }
- ],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "SCALAR",
- "name": "HTML",
- "description": "A string containing HTML code.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "ProductConnection",
- "description": null,
- "fields": [
+ },
{
- "name": "edges",
- "description": "A list of edges.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "ProductEdge",
- "ofType": null
- }
- }
- }
- },
+ "name": "TK",
+ "description": "Tokelau.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "pageInfo",
- "description": "Information to aid in pagination.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "PageInfo",
- "ofType": null
- }
- },
+ "name": "TO",
+ "description": "Tonga.",
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "ProductEdge",
- "description": null,
- "fields": [
+ },
{
- "name": "cursor",
- "description": "A cursor for use in pagination.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
+ "name": "TT",
+ "description": "Trinidad and Tobago.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "node",
- "description": "The item at the end of ProductEdge.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "Product",
- "ofType": null
- }
- },
+ "name": "TN",
+ "description": "Tunisia.",
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "ENUM",
- "name": "ProductCollectionSortKeys",
- "description": "The set of valid sort keys for the products query.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": [
+ },
{
- "name": "MANUAL",
- "description": null,
+ "name": "TR",
+ "description": "Turkey.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BEST_SELLING",
- "description": null,
+ "name": "TM",
+ "description": "Turkmenistan.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TITLE",
- "description": null,
+ "name": "TC",
+ "description": "Turks and Caicos Islands.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PRICE",
- "description": null,
+ "name": "TV",
+ "description": "Tuvalu.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CREATED",
- "description": null,
+ "name": "UG",
+ "description": "Uganda.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "COLLECTION_DEFAULT",
- "description": null,
+ "name": "UA",
+ "description": "Ukraine.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ID",
- "description": null,
+ "name": "AE",
+ "description": "United Arab Emirates.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "RELEVANCE",
- "description": null,
+ "name": "GB",
+ "description": "United Kingdom.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "US",
+ "description": "United States.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "UM",
+ "description": "United States Minor Outlying Islands.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "UY",
+ "description": "Uruguay.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "UZ",
+ "description": "Uzbekistan.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "VU",
+ "description": "Vanuatu.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "VE",
+ "description": "Venezuela.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "VN",
+ "description": "Vietnam.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "VG",
+ "description": "Virgin Islands, British.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "WF",
+ "description": "Wallis And Futuna.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "EH",
+ "description": "Western Sahara.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "YE",
+ "description": "Yemen.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ZM",
+ "description": "Zambia.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ZW",
+ "description": "Zimbabwe.",
"isDeprecated": false,
"deprecationReason": null
}
@@ -3777,7 +2979,7 @@
},
{
"kind": "OBJECT",
- "name": "ImageConnection",
+ "name": "MailingAddressConnection",
"description": null,
"fields": [
{
@@ -3795,7 +2997,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "ImageEdge",
+ "name": "MailingAddressEdge",
"ofType": null
}
}
@@ -3828,19 +3030,19 @@
},
{
"kind": "OBJECT",
- "name": "ImageEdge",
- "description": null,
+ "name": "PageInfo",
+ "description": "Information about pagination in a connection.",
"fields": [
{
- "name": "cursor",
- "description": "A cursor for use in pagination.",
+ "name": "hasNextPage",
+ "description": "Indicates if there are more pages to fetch.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "String",
+ "name": "Boolean",
"ofType": null
}
},
@@ -3848,15 +3050,15 @@
"deprecationReason": null
},
{
- "name": "node",
- "description": "The item at the end of ImageEdge.",
+ "name": "hasPreviousPage",
+ "description": "Indicates if there are any pages prior to the current page.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "OBJECT",
- "name": "Image",
+ "kind": "SCALAR",
+ "name": "Boolean",
"ofType": null
}
},
@@ -3869,105 +3071,14 @@
"enumValues": null,
"possibleTypes": null
},
- {
- "kind": "ENUM",
- "name": "ProductImageSortKeys",
- "description": "The set of valid sort keys for the images query.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": [
- {
- "name": "CREATED_AT",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "POSITION",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "ID",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "RELEVANCE",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- }
- ],
- "possibleTypes": null
- },
- {
- "kind": "INPUT_OBJECT",
- "name": "SelectedOptionInput",
- "description": "Specifies the input fields required for a selected option.",
- "fields": null,
- "inputFields": [
- {
- "name": "name",
- "description": "The product option’s name.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "value",
- "description": "The product option’s value.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
- "defaultValue": null
- }
- ],
- "interfaces": null,
- "enumValues": null,
- "possibleTypes": null
- },
{
"kind": "OBJECT",
- "name": "ProductOption",
- "description":
- "Custom product property names like \"Size\", \"Color\", and \"Material\".\nProducts are based on permutations of these options.\nA product may have a maximum of 3 options.\n255 characters limit each.\n",
+ "name": "MailingAddressEdge",
+ "description": null,
"fields": [
{
- "name": "id",
- "description": "Globally unique identifier.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "name",
- "description": "The product option’s name.",
+ "name": "cursor",
+ "description": "A cursor for use in pagination.",
"args": [],
"type": {
"kind": "NON_NULL",
@@ -3982,24 +3093,16 @@
"deprecationReason": null
},
{
- "name": "values",
- "description": "The corresponding value to the product option name.",
+ "name": "node",
+ "description": "The item at the end of MailingAddressEdge.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- }
+ "kind": "OBJECT",
+ "name": "MailingAddress",
+ "ofType": null
}
},
"isDeprecated": false,
@@ -4007,19 +3110,23 @@
}
],
"inputFields": null,
- "interfaces": [
- {
- "kind": "INTERFACE",
- "name": "Node",
- "ofType": null
- }
- ],
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "SCALAR",
+ "name": "Int",
+ "description": "Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
"enumValues": null,
"possibleTypes": null
},
{
"kind": "OBJECT",
- "name": "ProductVariantConnection",
+ "name": "OrderConnection",
"description": null,
"fields": [
{
@@ -4037,7 +3144,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "ProductVariantEdge",
+ "name": "OrderEdge",
"ofType": null
}
}
@@ -4070,7 +3177,7 @@
},
{
"kind": "OBJECT",
- "name": "ProductVariantEdge",
+ "name": "OrderEdge",
"description": null,
"fields": [
{
@@ -4091,14 +3198,14 @@
},
{
"name": "node",
- "description": "The item at the end of ProductVariantEdge.",
+ "description": "The item at the end of OrderEdge.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "ProductVariant",
+ "name": "Order",
"ofType": null
}
},
@@ -4113,19 +3220,19 @@
},
{
"kind": "OBJECT",
- "name": "Attribute",
- "description": "Represents a generic custom attribute.",
+ "name": "Order",
+ "description": "An order is a customer’s completed request to purchase one or more products from a shop. An order is created when a customer completes the checkout process, during which time they provides an email address, billing address and payment information.",
"fields": [
{
- "name": "key",
- "description": "Key or name of the attribute.",
+ "name": "currencyCode",
+ "description": "The code of the currency used for the payment.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "ENUM",
+ "name": "CurrencyCode",
"ofType": null
}
},
@@ -4133,8 +3240,8 @@
"deprecationReason": null
},
{
- "name": "value",
- "description": "Value of the attribute.",
+ "name": "customerLocale",
+ "description": "The locale code in which this specific order happened.",
"args": [],
"type": {
"kind": "SCALAR",
@@ -4143,74 +3250,36 @@
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "ENUM",
- "name": "OrderSortKeys",
- "description": "The set of valid sort keys for the orders query.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": [
- {
- "name": "PROCESSED_AT",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "TOTAL_PRICE",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
},
{
- "name": "ID",
- "description": null,
+ "name": "customerUrl",
+ "description": "The unique URL that the customer can use to access the order.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "URL",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "RELEVANCE",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- }
- ],
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "Shop",
- "description": "Shop represents a collection of the general settings and information about the shop.",
- "fields": [
- {
- "name": "articles",
- "description": "List of the shop' articles.",
+ "name": "discountApplications",
+ "description": "Discounts that have been applied on the order.",
"args": [
{
"name": "first",
- "description": null,
+ "description": "Returns up to the first `n` elements from the list.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
},
"defaultValue": null
},
{
"name": "after",
- "description": null,
+ "description": "Returns the elements that come after the specified cursor.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -4219,29 +3288,28 @@
"defaultValue": null
},
{
- "name": "query",
- "description":
- "Supported filter parameters:\n - `author`\n - `updated_at`\n - `created_at`\n - `blog_title`\n - `tag`",
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
"type": {
"kind": "SCALAR",
- "name": "String",
+ "name": "Int",
"ofType": null
},
"defaultValue": null
},
{
- "name": "sortKey",
- "description": null,
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
"type": {
- "kind": "ENUM",
- "name": "ArticleSortKeys",
+ "kind": "SCALAR",
+ "name": "String",
"ofType": null
},
- "defaultValue": "ID"
+ "defaultValue": null
},
{
"name": "reverse",
- "description": null,
+ "description": "Reverse the order of the underlying list.",
"type": {
"kind": "SCALAR",
"name": "Boolean",
@@ -4255,7 +3323,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "ArticleConnection",
+ "name": "DiscountApplicationConnection",
"ofType": null
}
},
@@ -4263,141 +3331,50 @@
"deprecationReason": null
},
{
- "name": "blogs",
- "description": "List of the shop' blogs.",
- "args": [
- {
- "name": "first",
- "description": null,
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "after",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "query",
- "description":
- "Supported filter parameters:\n - `handle`\n - `title`\n - `updated_at`\n - `created_at`",
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "sortKey",
- "description": null,
- "type": {
- "kind": "ENUM",
- "name": "BlogSortKeys",
- "ofType": null
- },
- "defaultValue": "ID"
- },
- {
- "name": "reverse",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "defaultValue": "false"
- }
- ],
+ "name": "email",
+ "description": "The customer's email address.",
+ "args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "BlogConnection",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "cardVaultUrl",
- "description": "The url pointing to the endpoint to vault credit cards.",
+ "name": "id",
+ "description": "Globally unique identifier.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "URL",
+ "name": "ID",
"ofType": null
}
},
- "isDeprecated": true,
- "deprecationReason": "Use `paymentSettings` instead"
- },
- {
- "name": "collectionByHandle",
- "description": "Find a collection by its handle.",
- "args": [
- {
- "name": "handle",
- "description": null,
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
- "defaultValue": null
- }
- ],
- "type": {
- "kind": "OBJECT",
- "name": "Collection",
- "ofType": null
- },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "collections",
- "description": "List of the shop’s collections.",
+ "name": "lineItems",
+ "description": "List of the order’s line items.",
"args": [
{
"name": "first",
- "description": null,
+ "description": "Returns up to the first `n` elements from the list.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
},
"defaultValue": null
},
{
"name": "after",
- "description": null,
+ "description": "Returns the elements that come after the specified cursor.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -4406,28 +3383,28 @@
"defaultValue": null
},
{
- "name": "query",
- "description": "Supported filter parameters:\n - `title`\n - `collection_type`\n - `updated_at`",
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
"type": {
"kind": "SCALAR",
- "name": "String",
+ "name": "Int",
"ofType": null
},
"defaultValue": null
},
{
- "name": "sortKey",
- "description": null,
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
"type": {
- "kind": "ENUM",
- "name": "CollectionSortKeys",
+ "kind": "SCALAR",
+ "name": "String",
"ofType": null
},
- "defaultValue": "ID"
+ "defaultValue": null
},
{
"name": "reverse",
- "description": null,
+ "description": "Reverse the order of the underlying list.",
"type": {
"kind": "SCALAR",
"name": "Boolean",
@@ -4441,7 +3418,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "CollectionConnection",
+ "name": "OrderLineItemConnection",
"ofType": null
}
},
@@ -4449,43 +3426,31 @@
"deprecationReason": null
},
{
- "name": "currencyCode",
- "description": "The three-letter code for the currency that the shop accepts.",
+ "name": "name",
+ "description": "Unique identifier for the order that appears on the order.\nFor example, _#1000_ or _Store1001.\n",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "ENUM",
- "name": "CurrencyCode",
+ "kind": "SCALAR",
+ "name": "String",
"ofType": null
}
},
- "isDeprecated": true,
- "deprecationReason": "Use `paymentSettings` instead"
- },
- {
- "name": "description",
- "description": "A description of the shop.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "moneyFormat",
- "description": "A string representing the way currency is formatted when the currency isn’t specified.",
+ "name": "orderNumber",
+ "description": "A unique numeric identifier for the order for use by shop owner and customer.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "String",
+ "name": "Int",
"ofType": null
}
},
@@ -4493,15 +3458,27 @@
"deprecationReason": null
},
{
- "name": "name",
- "description": "The shop’s name.",
+ "name": "phone",
+ "description": "The customer's phone number.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "processedAt",
+ "description": "The date and time when the order was imported.\nThis value can be set to dates in the past when importing from other systems.\nIf no value is provided, it will be auto-generated based on current date and time.\n",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "String",
+ "name": "DateTime",
"ofType": null
}
},
@@ -4509,101 +3486,51 @@
"deprecationReason": null
},
{
- "name": "paymentSettings",
- "description": "Settings related to payments.",
+ "name": "shippingAddress",
+ "description": "The address to where the order will be shipped.",
"args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "PaymentSettings",
- "ofType": null
- }
+ "kind": "OBJECT",
+ "name": "MailingAddress",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "primaryDomain",
- "description": "The shop’s primary domain.",
+ "name": "shippingDiscountAllocations",
+ "description": "The discounts that have been allocated onto the shipping line by discount applications.\n",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "OBJECT",
- "name": "Domain",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "privacyPolicy",
- "description": "The shop’s privacy policy.",
- "args": [],
- "type": {
- "kind": "OBJECT",
- "name": "ShopPolicy",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "productByHandle",
- "description": "Find a product by its handle.",
- "args": [
- {
- "name": "handle",
- "description": null,
- "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "OBJECT",
+ "name": "DiscountAllocation",
"ofType": null
}
- },
- "defaultValue": null
+ }
}
- ],
- "type": {
- "kind": "OBJECT",
- "name": "Product",
- "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "productTypes",
- "description": "List of the shop’s product types.",
- "args": [
- {
- "name": "first",
- "description": null,
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- }
- },
- "defaultValue": null
- }
- ],
+ "name": "statusUrl",
+ "description": "The unique URL for the order's status page.",
+ "args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "OBJECT",
- "name": "StringConnection",
+ "kind": "SCALAR",
+ "name": "URL",
"ofType": null
}
},
@@ -4611,142 +3538,42 @@
"deprecationReason": null
},
{
- "name": "products",
- "description": "List of the shop’s products.",
+ "name": "subtotalPrice",
+ "description": "Price of the order before shipping and taxes.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Money",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "successfulFulfillments",
+ "description": "List of the order’s successful fulfillments.",
"args": [
{
"name": "first",
- "description": null,
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "after",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "query",
- "description":
- "Supported filter parameters:\n - `title`\n - `product_type`\n - `vendor`\n - `created_at`\n - `updated_at`\n - `tag`",
+ "description": "Truncate the array result to this size.",
"type": {
"kind": "SCALAR",
- "name": "String",
+ "name": "Int",
"ofType": null
},
"defaultValue": null
- },
- {
- "name": "sortKey",
- "description": null,
- "type": {
- "kind": "ENUM",
- "name": "ProductSortKeys",
- "ofType": null
- },
- "defaultValue": "ID"
- },
- {
- "name": "reverse",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "defaultValue": "false"
}
],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "ProductConnection",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "refundPolicy",
- "description": "The shop’s refund policy.",
- "args": [],
- "type": {
- "kind": "OBJECT",
- "name": "ShopPolicy",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "shopifyPaymentsAccountId",
- "description": "The shop’s Shopify Payments account id.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "isDeprecated": true,
- "deprecationReason": "Use `paymentSettings` instead"
- },
- {
- "name": "termsOfService",
- "description": "The shop’s terms of service.",
- "args": [],
- "type": {
- "kind": "OBJECT",
- "name": "ShopPolicy",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "PaymentSettings",
- "description": "Settings related to payments.",
- "fields": [
- {
- "name": "acceptedCardBrands",
- "description": "List of the card brands which the shop accepts.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
+ "kind": "LIST",
"name": null,
"ofType": {
- "kind": "LIST",
+ "kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "ENUM",
- "name": "CardBrand",
- "ofType": null
- }
+ "kind": "OBJECT",
+ "name": "Fulfillment",
+ "ofType": null
}
}
},
@@ -4754,15 +3581,15 @@
"deprecationReason": null
},
{
- "name": "cardVaultUrl",
- "description": "The url pointing to the endpoint to vault credit cards.",
+ "name": "totalPrice",
+ "description": "The sum of all the prices of all the items in the order, taxes and discounts included (must be positive).",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "URL",
+ "name": "Money",
"ofType": null
}
},
@@ -4770,15 +3597,15 @@
"deprecationReason": null
},
{
- "name": "countryCode",
- "description": "The country where the shop is located.",
+ "name": "totalRefunded",
+ "description": "The total amount that has been refunded.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "ENUM",
- "name": "CountryCode",
+ "kind": "SCALAR",
+ "name": "Money",
"ofType": null
}
},
@@ -4786,15 +3613,15 @@
"deprecationReason": null
},
{
- "name": "currencyCode",
- "description": "The three-letter code for the currency that the shop accepts.",
+ "name": "totalShippingPrice",
+ "description": "The total cost of shipping.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "ENUM",
- "name": "CurrencyCode",
+ "kind": "SCALAR",
+ "name": "Money",
"ofType": null
}
},
@@ -4802,1671 +3629,2709 @@
"deprecationReason": null
},
{
- "name": "shopifyPaymentsAccountId",
- "description": "The shop’s Shopify Payments account id.",
+ "name": "totalTax",
+ "description": "The total cost of taxes.",
"args": [],
"type": {
"kind": "SCALAR",
- "name": "String",
+ "name": "Money",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
{
- "name": "supportedDigitalWallets",
- "description": "List of the digital wallets which the shop supports.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "ENUM",
- "name": "DigitalWallet",
- "ofType": null
- }
- }
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
+ "kind": "INTERFACE",
+ "name": "Node",
+ "ofType": null
}
],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "SCALAR",
+ "name": "Money",
+ "description": "A monetary value string.",
+ "fields": null,
"inputFields": null,
- "interfaces": [],
+ "interfaces": null,
"enumValues": null,
"possibleTypes": null
},
{
"kind": "ENUM",
- "name": "CountryCode",
- "description": "ISO 3166-1 alpha-2 country codes with some differences.",
+ "name": "CurrencyCode",
+ "description": "Currency codes",
"fields": null,
"inputFields": null,
"interfaces": null,
"enumValues": [
{
- "name": "CA",
- "description": "Canada",
+ "name": "USD",
+ "description": "United States Dollars (USD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "US",
- "description": "United States",
+ "name": "EUR",
+ "description": "Euro (EUR).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GB",
- "description": "United Kingdom",
+ "name": "GBP",
+ "description": "United Kingdom Pounds (GBP).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AF",
- "description": "Afghanistan",
+ "name": "CAD",
+ "description": "Canadian Dollars (CAD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AL",
- "description": "Albania",
+ "name": "AFN",
+ "description": "Afghan Afghani (AFN).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "DZ",
- "description": "Algeria",
+ "name": "ALL",
+ "description": "Albanian Lek (ALL).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AD",
- "description": "Andorra",
+ "name": "DZD",
+ "description": "Algerian Dinar (DZD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AO",
- "description": "Angola",
+ "name": "AOA",
+ "description": "Angolan Kwanza (AOA).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AG",
- "description": "Antigua And Barbuda",
+ "name": "ARS",
+ "description": "Argentine Pesos (ARS).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AR",
- "description": "Argentina",
+ "name": "AMD",
+ "description": "Armenian Dram (AMD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AM",
- "description": "Armenia",
+ "name": "AWG",
+ "description": "Aruban Florin (AWG).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AW",
- "description": "Aruba",
+ "name": "AUD",
+ "description": "Australian Dollars (AUD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AU",
- "description": "Australia",
+ "name": "BBD",
+ "description": "Barbadian Dollar (BBD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AT",
- "description": "Austria",
+ "name": "AZN",
+ "description": "Azerbaijani Manat (AZN).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AZ",
- "description": "Azerbaijan",
+ "name": "BDT",
+ "description": "Bangladesh Taka (BDT).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BS",
- "description": "Bahamas",
+ "name": "BSD",
+ "description": "Bahamian Dollar (BSD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BH",
- "description": "Bahrain",
+ "name": "BHD",
+ "description": "Bahraini Dinar (BHD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BD",
- "description": "Bangladesh",
+ "name": "BIF",
+ "description": "Burundian Franc (BIF).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BB",
- "description": "Barbados",
+ "name": "BYR",
+ "description": "Belarusian Ruble (BYR).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BY",
- "description": "Belarus",
+ "name": "BZD",
+ "description": "Belize Dollar (BZD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BE",
- "description": "Belgium",
+ "name": "BTN",
+ "description": "Bhutanese Ngultrum (BTN).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BZ",
- "description": "Belize",
+ "name": "BAM",
+ "description": "Bosnia and Herzegovina Convertible Mark (BAM).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BJ",
- "description": "Benin",
+ "name": "BRL",
+ "description": "Brazilian Real (BRL).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BM",
- "description": "Bermuda",
+ "name": "BOB",
+ "description": "Bolivian Boliviano (BOB).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BT",
- "description": "Bhutan",
+ "name": "BWP",
+ "description": "Botswana Pula (BWP).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BO",
- "description": "Bolivia",
+ "name": "BND",
+ "description": "Brunei Dollar (BND).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BA",
- "description": "Bosnia And Herzegovina",
+ "name": "BGN",
+ "description": "Bulgarian Lev (BGN).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BW",
- "description": "Botswana",
+ "name": "MMK",
+ "description": "Burmese Kyat (MMK).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BR",
- "description": "Brazil",
+ "name": "KHR",
+ "description": "Cambodian Riel.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BN",
- "description": "Brunei",
+ "name": "CVE",
+ "description": "Cape Verdean escudo (CVE).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BG",
- "description": "Bulgaria",
+ "name": "KYD",
+ "description": "Cayman Dollars (KYD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "NC",
- "description": "New Caledonia",
+ "name": "XAF",
+ "description": "Central African CFA Franc (XAF).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "KH",
- "description": "Cambodia",
+ "name": "CLP",
+ "description": "Chilean Peso (CLP).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CM",
- "description": "Republic of Cameroon",
+ "name": "CNY",
+ "description": "Chinese Yuan Renminbi (CNY).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CV",
- "description": "Cape Verde",
+ "name": "COP",
+ "description": "Colombian Peso (COP).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "KY",
- "description": "Cayman Islands",
+ "name": "KMF",
+ "description": "Comorian Franc (KMF).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CL",
- "description": "Chile",
+ "name": "CDF",
+ "description": "Congolese franc (CDF).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CN",
- "description": "China",
+ "name": "CRC",
+ "description": "Costa Rican Colones (CRC).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CO",
- "description": "Colombia",
+ "name": "HRK",
+ "description": "Croatian Kuna (HRK).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "KM",
- "description": "Comoros",
+ "name": "CZK",
+ "description": "Czech Koruny (CZK).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CG",
- "description": "Congo",
+ "name": "DKK",
+ "description": "Danish Kroner (DKK).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CD",
- "description": "Congo, The Democratic Republic Of The",
+ "name": "DOP",
+ "description": "Dominican Peso (DOP).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CR",
- "description": "Costa Rica",
+ "name": "XCD",
+ "description": "East Caribbean Dollar (XCD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CI",
- "description": "Côte d'Ivoire",
+ "name": "EGP",
+ "description": "Egyptian Pound (EGP).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "HR",
- "description": "Croatia",
+ "name": "ETB",
+ "description": "Ethiopian Birr (ETB).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CW",
- "description": "Curaçao",
+ "name": "XPF",
+ "description": "CFP Franc (XPF).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CY",
- "description": "Cyprus",
+ "name": "FJD",
+ "description": "Fijian Dollars (FJD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CZ",
- "description": "Czech Republic",
+ "name": "GMD",
+ "description": "Gambian Dalasi (GMD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "DK",
- "description": "Denmark",
+ "name": "GHS",
+ "description": "Ghanaian Cedi (GHS).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "DM",
- "description": "Dominica",
+ "name": "GTQ",
+ "description": "Guatemalan Quetzal (GTQ).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "DO",
- "description": "Dominican Republic",
+ "name": "GYD",
+ "description": "Guyanese Dollar (GYD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "EC",
- "description": "Ecuador",
+ "name": "GEL",
+ "description": "Georgian Lari (GEL).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "EG",
- "description": "Egypt",
+ "name": "HTG",
+ "description": "Haitian Gourde (HTG).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SV",
- "description": "El Salvador",
+ "name": "HNL",
+ "description": "Honduran Lempira (HNL).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "EE",
- "description": "Estonia",
+ "name": "HKD",
+ "description": "Hong Kong Dollars (HKD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ET",
- "description": "Ethiopia",
+ "name": "HUF",
+ "description": "Hungarian Forint (HUF).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GQ",
- "description": "Equatorial Guinea",
+ "name": "ISK",
+ "description": "Icelandic Kronur (ISK).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "FO",
- "description": "Faroe Islands",
+ "name": "INR",
+ "description": "Indian Rupees (INR).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "FJ",
- "description": "Fiji",
+ "name": "IDR",
+ "description": "Indonesian Rupiah (IDR).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "FI",
- "description": "Finland",
+ "name": "ILS",
+ "description": "Israeli New Shekel (NIS).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "FR",
- "description": "France",
+ "name": "IQD",
+ "description": "Iraqi Dinar (IQD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PF",
- "description": "French Polynesia",
+ "name": "JMD",
+ "description": "Jamaican Dollars (JMD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GA",
- "description": "Gabon",
+ "name": "JPY",
+ "description": "Japanese Yen (JPY).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GM",
- "description": "Gambia",
+ "name": "JEP",
+ "description": "Jersey Pound.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GE",
- "description": "Georgia",
+ "name": "JOD",
+ "description": "Jordanian Dinar (JOD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "DE",
- "description": "Germany",
+ "name": "KZT",
+ "description": "Kazakhstani Tenge (KZT).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GH",
- "description": "Ghana",
+ "name": "KES",
+ "description": "Kenyan Shilling (KES).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GI",
- "description": "Gibraltar",
+ "name": "KWD",
+ "description": "Kuwaiti Dinar (KWD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GR",
- "description": "Greece",
+ "name": "KGS",
+ "description": "Kyrgyzstani Som (KGS).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GL",
- "description": "Greenland",
+ "name": "LAK",
+ "description": "Laotian Kip (LAK).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GD",
- "description": "Grenada",
+ "name": "LVL",
+ "description": "Latvian Lati (LVL).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GP",
- "description": "Guadeloupe",
+ "name": "LBP",
+ "description": "Lebanese Pounds (LBP).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GT",
- "description": "Guatemala",
+ "name": "LSL",
+ "description": "Lesotho Loti (LSL).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GG",
- "description": "Guernsey",
+ "name": "LRD",
+ "description": "Liberian Dollar (LRD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GY",
- "description": "Guyana",
+ "name": "LTL",
+ "description": "Lithuanian Litai (LTL).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "HT",
- "description": "Haiti",
+ "name": "MGA",
+ "description": "Malagasy Ariary (MGA).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "HN",
- "description": "Honduras",
+ "name": "MKD",
+ "description": "Macedonia Denar (MKD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "HK",
- "description": "Hong Kong",
+ "name": "MOP",
+ "description": "Macanese Pataca (MOP).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "HU",
- "description": "Hungary",
+ "name": "MWK",
+ "description": "Malawian Kwacha (MWK).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "IS",
- "description": "Iceland",
+ "name": "MVR",
+ "description": "Maldivian Rufiyaa (MVR).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "IN",
- "description": "India",
+ "name": "MXN",
+ "description": "Mexican Pesos (MXN).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ID",
- "description": "Indonesia",
+ "name": "MYR",
+ "description": "Malaysian Ringgits (MYR).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "IE",
- "description": "Ireland",
+ "name": "MUR",
+ "description": "Mauritian Rupee (MUR).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "IM",
- "description": "Isle Of Man",
+ "name": "MDL",
+ "description": "Moldovan Leu (MDL).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "IL",
- "description": "Israel",
+ "name": "MAD",
+ "description": "Moroccan Dirham.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "IT",
- "description": "Italy",
+ "name": "MNT",
+ "description": "Mongolian Tugrik.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "JM",
- "description": "Jamaica",
+ "name": "MZN",
+ "description": "Mozambican Metical.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "JP",
- "description": "Japan",
+ "name": "NAD",
+ "description": "Namibian Dollar.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "JE",
- "description": "Jersey",
+ "name": "NPR",
+ "description": "Nepalese Rupee (NPR).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "JO",
- "description": "Jordan",
+ "name": "ANG",
+ "description": "Netherlands Antillean Guilder.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "KZ",
- "description": "Kazakhstan",
+ "name": "NZD",
+ "description": "New Zealand Dollars (NZD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "KE",
- "description": "Kenya",
+ "name": "NIO",
+ "description": "Nicaraguan Córdoba (NIO).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "XK",
- "description": "Kosovo",
+ "name": "NGN",
+ "description": "Nigerian Naira (NGN).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "KW",
- "description": "Kuwait",
+ "name": "NOK",
+ "description": "Norwegian Kroner (NOK).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "KG",
- "description": "Kyrgyzstan",
+ "name": "OMR",
+ "description": "Omani Rial (OMR).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "LA",
- "description": "Lao People's Democratic Republic",
+ "name": "PKR",
+ "description": "Pakistani Rupee (PKR).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "LV",
- "description": "Latvia",
+ "name": "PGK",
+ "description": "Papua New Guinean Kina (PGK).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "LB",
- "description": "Lebanon",
+ "name": "PYG",
+ "description": "Paraguayan Guarani (PYG).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "LS",
- "description": "Lesotho",
+ "name": "PEN",
+ "description": "Peruvian Nuevo Sol (PEN).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "LR",
- "description": "Liberia",
+ "name": "PHP",
+ "description": "Philippine Peso (PHP).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "LI",
- "description": "Liechtenstein",
+ "name": "PLN",
+ "description": "Polish Zlotych (PLN).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "LT",
- "description": "Lithuania",
+ "name": "QAR",
+ "description": "Qatari Rial (QAR).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "LU",
- "description": "Luxembourg",
+ "name": "RON",
+ "description": "Romanian Lei (RON).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MO",
- "description": "Macao",
+ "name": "RUB",
+ "description": "Russian Rubles (RUB).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MK",
- "description": "Macedonia, Republic Of",
+ "name": "RWF",
+ "description": "Rwandan Franc (RWF).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MG",
- "description": "Madagascar",
+ "name": "WST",
+ "description": "Samoan Tala (WST).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MW",
- "description": "Malawi",
+ "name": "SAR",
+ "description": "Saudi Riyal (SAR).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MY",
- "description": "Malaysia",
+ "name": "STD",
+ "description": "Sao Tome And Principe Dobra (STD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MV",
- "description": "Maldives",
+ "name": "RSD",
+ "description": "Serbian dinar (RSD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MT",
- "description": "Malta",
+ "name": "SCR",
+ "description": "Seychellois Rupee (SCR).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MQ",
- "description": "Martinique",
+ "name": "SGD",
+ "description": "Singapore Dollars (SGD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MU",
- "description": "Mauritius",
+ "name": "SDG",
+ "description": "Sudanese Pound (SDG).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "YT",
- "description": "Mayotte",
+ "name": "SYP",
+ "description": "Syrian Pound (SYP).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MX",
- "description": "Mexico",
+ "name": "ZAR",
+ "description": "South African Rand (ZAR).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MD",
- "description": "Moldova, Republic of",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "MC",
- "description": "Monaco",
+ "name": "KRW",
+ "description": "South Korean Won (KRW).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MN",
- "description": "Mongolia",
+ "name": "SSP",
+ "description": "South Sudanese Pound (SSP).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ME",
- "description": "Montenegro",
+ "name": "SBD",
+ "description": "Solomon Islands Dollar (SBD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MA",
- "description": "Morocco",
+ "name": "LKR",
+ "description": "Sri Lankan Rupees (LKR).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MZ",
- "description": "Mozambique",
+ "name": "SRD",
+ "description": "Surinamese Dollar (SRD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MM",
- "description": "Myanmar",
+ "name": "SZL",
+ "description": "Swazi Lilangeni (SZL).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "NA",
- "description": "Namibia",
+ "name": "SEK",
+ "description": "Swedish Kronor (SEK).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "NP",
- "description": "Nepal",
+ "name": "CHF",
+ "description": "Swiss Francs (CHF).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AN",
- "description": "Netherlands Antilles",
+ "name": "TWD",
+ "description": "Taiwan Dollars (TWD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "NL",
- "description": "Netherlands",
+ "name": "THB",
+ "description": "Thai baht (THB).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "NZ",
- "description": "New Zealand",
+ "name": "TZS",
+ "description": "Tanzanian Shilling (TZS).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "NI",
- "description": "Nicaragua",
+ "name": "TTD",
+ "description": "Trinidad and Tobago Dollars (TTD).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "NE",
- "description": "Niger",
+ "name": "TND",
+ "description": "Tunisian Dinar (TND).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "NG",
- "description": "Nigeria",
+ "name": "TRY",
+ "description": "Turkish Lira (TRY).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "NO",
- "description": "Norway",
+ "name": "TMT",
+ "description": "Turkmenistani Manat (TMT).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "OM",
- "description": "Oman",
+ "name": "UGX",
+ "description": "Ugandan Shilling (UGX).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PK",
- "description": "Pakistan",
+ "name": "UAH",
+ "description": "Ukrainian Hryvnia (UAH).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PS",
- "description": "Palestinian Territory, Occupied",
+ "name": "AED",
+ "description": "United Arab Emirates Dirham (AED).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PA",
- "description": "Panama",
+ "name": "UYU",
+ "description": "Uruguayan Pesos (UYU).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PG",
- "description": "Papua New Guinea",
+ "name": "UZS",
+ "description": "Uzbekistan som (UZS).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PY",
- "description": "Paraguay",
+ "name": "VUV",
+ "description": "Vanuatu Vatu (VUV).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PE",
- "description": "Peru",
+ "name": "VEF",
+ "description": "Venezuelan Bolivares (VEF).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PH",
- "description": "Philippines",
+ "name": "VND",
+ "description": "Vietnamese đồng (VND).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PL",
- "description": "Poland",
+ "name": "XOF",
+ "description": "West African CFA franc (XOF).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PT",
- "description": "Portugal",
+ "name": "YER",
+ "description": "Yemeni Rial (YER).",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "QA",
- "description": "Qatar",
+ "name": "ZMW",
+ "description": "Zambian Kwacha (ZMW).",
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "SCALAR",
+ "name": "URL",
+ "description": "An RFC 3986 and RFC 3987 compliant URI string.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "DiscountAllocation",
+ "description": "An amount discounting the line that has been allocated by a discount.\n",
+ "fields": [
{
- "name": "RE",
- "description": "Reunion",
+ "name": "allocatedAmount",
+ "description": "Amount of discount allocated.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "MoneyV2",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "RO",
- "description": "Romania",
+ "name": "discountApplication",
+ "description": "The discount this allocated amount originated from.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INTERFACE",
+ "name": "DiscountApplication",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "MoneyV2",
+ "description": "A monetary value with currency.\n\nTo format currencies, combine this type's amount and currencyCode fields with your client's locale.\n\nFor example, in JavaScript you could use Intl.NumberFormat:\n\n```js\nnew Intl.NumberFormat(locale, {\n style: 'currency',\n currency: currencyCode\n}).format(amount);\n```\n\nOther formatting libraries include:\n\n* iOS - [NumberFormatter](https://developer.apple.com/documentation/foundation/numberformatter)\n* Android - [NumberFormat](https://developer.android.com/reference/java/text/NumberFormat.html)\n* PHP - [NumberFormatter](http://php.net/manual/en/class.numberformatter.php)\n\nFor a more general solution, the [Unicode CLDR number formatting database] is available with many implementations\n(such as [TwitterCldr](https://github.com/twitter/twitter-cldr-rb)).\n",
+ "fields": [
{
- "name": "RU",
- "description": "Russia",
+ "name": "amount",
+ "description": "Decimal money amount.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Decimal",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "RW",
- "description": "Rwanda",
+ "name": "currencyCode",
+ "description": "Currency of the money.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "CurrencyCode",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "SCALAR",
+ "name": "Decimal",
+ "description": "A signed decimal number, which supports arbitrary precision and is serialized as a string.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INTERFACE",
+ "name": "DiscountApplication",
+ "description": "Discount applications capture the intentions of a discount source at\nthe time of application.\n",
+ "fields": [
{
- "name": "KN",
- "description": "Saint Kitts And Nevis",
+ "name": "allocationMethod",
+ "description": "The method by which the discount's value is allocated to its entitled items.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "DiscountApplicationAllocationMethod",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "LC",
- "description": "Saint Lucia",
+ "name": "targetSelection",
+ "description": "Which lines of targetType that the discount is allocated over.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "DiscountApplicationTargetSelection",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "MF",
- "description": "Saint Martin",
+ "name": "targetType",
+ "description": "The type of line that the discount is applicable towards.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "DiscountApplicationTargetType",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ST",
- "description": "Sao Tome And Principe",
+ "name": "value",
+ "description": "The value of the discount application.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "UNION",
+ "name": "PricingValue",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": [
{
- "name": "WS",
- "description": "Samoa",
- "isDeprecated": false,
- "deprecationReason": null
+ "kind": "OBJECT",
+ "name": "AutomaticDiscountApplication",
+ "ofType": null
},
{
- "name": "SA",
- "description": "Saudi Arabia",
- "isDeprecated": false,
- "deprecationReason": null
+ "kind": "OBJECT",
+ "name": "DiscountCodeApplication",
+ "ofType": null
},
{
- "name": "SN",
- "description": "Senegal",
- "isDeprecated": false,
- "deprecationReason": null
+ "kind": "OBJECT",
+ "name": "ManualDiscountApplication",
+ "ofType": null
},
{
- "name": "RS",
- "description": "Serbia",
- "isDeprecated": false,
- "deprecationReason": null
- },
+ "kind": "OBJECT",
+ "name": "ScriptDiscountApplication",
+ "ofType": null
+ }
+ ]
+ },
+ {
+ "kind": "ENUM",
+ "name": "DiscountApplicationAllocationMethod",
+ "description": "The method by which the discount's value is allocated onto its entitled lines.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
{
- "name": "SC",
- "description": "Seychelles",
+ "name": "ACROSS",
+ "description": "The value is spread across all entitled lines.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SG",
- "description": "Singapore",
+ "name": "EACH",
+ "description": "The value is applied onto every entitled line.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SX",
- "description": "Sint Maarten",
+ "name": "ONE",
+ "description": "The value is specifically applied onto a particular line.",
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "DiscountApplicationTargetSelection",
+ "description": "Which lines on the order that the discount is allocated over, of the type\ndefined by the Discount Application's target_type.\n",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
{
- "name": "SK",
- "description": "Slovakia",
+ "name": "ALL",
+ "description": "The discount is allocated onto all the lines.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SI",
- "description": "Slovenia",
+ "name": "ENTITLED",
+ "description": "The discount is allocated onto only the lines it is entitled for.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SB",
- "description": "Solomon Islands",
+ "name": "EXPLICIT",
+ "description": "The discount is allocated onto explicitly chosen lines.",
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "DiscountApplicationTargetType",
+ "description": "The type of line (i.e. line item or shipping line) on an order that the discount is applicable towards.\n",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
{
- "name": "ZA",
- "description": "South Africa",
+ "name": "LINE_ITEM",
+ "description": "The discount applies onto line items.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "KR",
- "description": "South Korea",
+ "name": "SHIPPING_LINE",
+ "description": "The discount applies onto shipping lines.",
"isDeprecated": false,
"deprecationReason": null
- },
- {
- "name": "SS",
- "description": "South Sudan",
- "isDeprecated": false,
- "deprecationReason": null
- },
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "UNION",
+ "name": "PricingValue",
+ "description": "The value of the pricing object.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": [
{
- "name": "ES",
- "description": "Spain",
- "isDeprecated": false,
- "deprecationReason": null
+ "kind": "OBJECT",
+ "name": "PricingPercentageValue",
+ "ofType": null
},
{
- "name": "LK",
- "description": "Sri Lanka",
- "isDeprecated": false,
- "deprecationReason": null
- },
+ "kind": "OBJECT",
+ "name": "MoneyV2",
+ "ofType": null
+ }
+ ]
+ },
+ {
+ "kind": "OBJECT",
+ "name": "PricingPercentageValue",
+ "description": "The value of the percentage pricing object.",
+ "fields": [
{
- "name": "VC",
- "description": "St. Vincent",
+ "name": "percentage",
+ "description": "The percentage value of the object.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Float",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "OrderLineItemConnection",
+ "description": null,
+ "fields": [
{
- "name": "SD",
- "description": "Sudan",
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "OrderLineItemEdge",
+ "ofType": null
+ }
+ }
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SR",
- "description": "Suriname",
+ "name": "pageInfo",
+ "description": "Information to aid in pagination.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "OrderLineItemEdge",
+ "description": null,
+ "fields": [
{
- "name": "SE",
- "description": "Sweden",
+ "name": "cursor",
+ "description": "A cursor for use in pagination.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CH",
- "description": "Switzerland",
+ "name": "node",
+ "description": "The item at the end of OrderLineItemEdge.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "OrderLineItem",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "OrderLineItem",
+ "description": "Represents a single line in an order. There is one line item for each distinct product variant.",
+ "fields": [
{
- "name": "SY",
- "description": "Syria",
+ "name": "customAttributes",
+ "description": "List of custom attributes associated to the line item.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Attribute",
+ "ofType": null
+ }
+ }
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TW",
- "description": "Taiwan",
+ "name": "discountAllocations",
+ "description": "The discounts that have been allocated onto the order line item by discount applications.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "DiscountAllocation",
+ "ofType": null
+ }
+ }
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TZ",
- "description": "Tanzania, United Republic Of",
+ "name": "quantity",
+ "description": "The number of products variants associated to the line item.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TH",
- "description": "Thailand",
+ "name": "title",
+ "description": "The title of the product combined with title of the variant.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TT",
- "description": "Trinidad and Tobago",
+ "name": "variant",
+ "description": "The product variant object associated to the line item.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "ProductVariant",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ProductVariant",
+ "description": "A product variant represents a different version of a product, such as differing sizes or differing colors.",
+ "fields": [
+ {
+ "name": "available",
+ "description": "Indicates if the product variant is in stock.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `availableForSale` instead"
},
{
- "name": "TN",
- "description": "Tunisia",
+ "name": "availableForSale",
+ "description": "Indicates if the product variant is available for sale.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TR",
- "description": "Turkey",
+ "name": "compareAtPrice",
+ "description": "The compare at price of the variant. This can be used to mark a variant as on sale, when `compareAtPrice` is higher than `price`.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Money",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TM",
- "description": "Turkmenistan",
+ "name": "id",
+ "description": "Globally unique identifier.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TC",
- "description": "Turks and Caicos Islands",
+ "name": "image",
+ "description": "Image associated with the product variant. This field falls back to the product image if no image is available.",
+ "args": [
+ {
+ "name": "maxWidth",
+ "description": "Image width in pixels between 1 and 2048. This argument is deprecated: Use `maxWidth` on `Image.transformedSrc` instead.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "maxHeight",
+ "description": "Image height in pixels between 1 and 2048. This argument is deprecated: Use `maxHeight` on `Image.transformedSrc` instead.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "crop",
+ "description": "Crops the image according to the specified region. This argument is deprecated: Use `crop` on `Image.transformedSrc` instead.",
+ "type": {
+ "kind": "ENUM",
+ "name": "CropRegion",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "scale",
+ "description": "Image size multiplier for high-resolution retina displays. Must be between 1 and 3. This argument is deprecated: Use `scale` on `Image.transformedSrc` instead.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": "1"
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Image",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "UG",
- "description": "Uganda",
+ "name": "presentmentPrices",
+ "description": "List of prices and compare-at prices in the presentment currencies for this shop.",
+ "args": [
+ {
+ "name": "presentmentCurrencies",
+ "description": "The presentment currencies prices should return in.",
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "CurrencyCode",
+ "ofType": null
+ }
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ProductVariantPricePairConnection",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "UA",
- "description": "Ukraine",
+ "name": "price",
+ "description": "The product variant’s price.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Money",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AE",
- "description": "United Arab Emirates",
+ "name": "product",
+ "description": "The product object that the product variant belongs to.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Product",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "UY",
- "description": "Uruguay",
+ "name": "selectedOptions",
+ "description": "List of product options applied to the variant.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "SelectedOption",
+ "ofType": null
+ }
+ }
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "UZ",
- "description": "Uzbekistan",
+ "name": "sku",
+ "description": "The SKU (stock keeping unit) associated with the variant.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "VU",
- "description": "Vanuatu",
+ "name": "title",
+ "description": "The product variant’s title.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "VE",
- "description": "Venezuela",
+ "name": "weight",
+ "description": "The weight of the product variant in the unit system specified with `weight_unit`.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Float",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "VN",
- "description": "Vietnam",
+ "name": "weightUnit",
+ "description": "Unit of measurement for weight.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "WeightUnit",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
{
- "name": "VG",
- "description": "Virgin Islands, British",
- "isDeprecated": false,
- "deprecationReason": null
- },
+ "kind": "INTERFACE",
+ "name": "Node",
+ "ofType": null
+ }
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "WeightUnit",
+ "description": "Units of measurement for weight.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
{
- "name": "YE",
- "description": "Yemen",
+ "name": "KILOGRAMS",
+ "description": "1 kilogram equals 1000 grams.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ZM",
- "description": "Zambia",
+ "name": "GRAMS",
+ "description": "Metric system unit of mass.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ZW",
- "description": "Zimbabwe",
+ "name": "POUNDS",
+ "description": "1 pound equals 16 ounces.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "AX",
- "description": "Aland Islands",
+ "name": "OUNCES",
+ "description": "Imperial system unit of mass.",
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ProductVariantPricePairConnection",
+ "description": null,
+ "fields": [
{
- "name": "AI",
- "description": "Anguilla",
- "isDeprecated": false,
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ProductVariantPricePairEdge",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BV",
- "description": "Bouvet Island",
+ "name": "pageInfo",
+ "description": "Information to aid in pagination.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ProductVariantPricePairEdge",
+ "description": null,
+ "fields": [
{
- "name": "IO",
- "description": "British Indian Ocean Territory",
+ "name": "cursor",
+ "description": "A cursor for use in pagination.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "BF",
- "description": "Burkina Faso",
+ "name": "node",
+ "description": "The item at the end of ProductVariantPricePairEdge.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ProductVariantPricePair",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ProductVariantPricePair",
+ "description": "The compare-at price and price of a variant sharing a currency.\n",
+ "fields": [
{
- "name": "BI",
- "description": "Burundi",
+ "name": "compareAtPrice",
+ "description": "The compare-at price of the variant with associated currency.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "MoneyV2",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CF",
- "description": "Central African Republic",
+ "name": "price",
+ "description": "The price of the variant with associated currency.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "MoneyV2",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Image",
+ "description": "Represents an image resource.",
+ "fields": [
{
- "name": "TD",
- "description": "Chad",
+ "name": "altText",
+ "description": "A word or phrase to share the nature or contents of an image.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CX",
- "description": "Christmas Island",
+ "name": "id",
+ "description": "A unique identifier for the image.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CC",
- "description": "Cocos (Keeling) Islands",
+ "name": "originalSrc",
+ "description": "The location of the original (untransformed) image as a URL.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "URL",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CK",
- "description": "Cook Islands",
+ "name": "src",
+ "description": "The location of the image as a URL.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "URL",
+ "ofType": null
+ }
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Previously an image had a single `src` field. This could either return the original image\nlocation or a URL that contained transformations such as sizing or scale.\n\nThese transformations were specified by arguments on the parent field.\n\nNow an image has two distinct URL fields: `originalSrc` and `transformedSrc`.\n\n* `originalSrc` - the original, untransformed image URL\n* `transformedSrc` - the image URL with transformations included\n\nTo migrate to the new fields, image transformations should be moved from the parent field to `transformedSrc`.\n\nBefore:\n```graphql\n{\n shop {\n productImages(maxWidth: 200, scale: 2) {\n edges {\n node {\n src\n }\n }\n }\n }\n}\n```\n\nAfter:\n```graphql\n{\n shop {\n productImages {\n edges {\n node {\n transformedSrc(maxWidth: 200, scale: 2)\n }\n }\n }\n }\n}\n```\n"
+ },
+ {
+ "name": "transformedSrc",
+ "description": "The location of the transformed image as a URL.\n\nAll transformation arguments are considered \"best-effort\". If they can be applied to an image, they will be.\nOtherwise any transformations which an image type does not support will be ignored.\n",
+ "args": [
+ {
+ "name": "maxWidth",
+ "description": "Image width in pixels between 1 and 5760.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "maxHeight",
+ "description": "Image height in pixels between 1 and 5760.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "crop",
+ "description": "Crops the image according to the specified region.",
+ "type": {
+ "kind": "ENUM",
+ "name": "CropRegion",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "scale",
+ "description": "Image size multiplier for high-resolution retina displays. Must be between 1 and 3.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": "1"
+ },
+ {
+ "name": "preferredContentType",
+ "description": "Best effort conversion of image into content type (SVG -> PNG, Anything -> JGP, Anything -> WEBP are supported).",
+ "type": {
+ "kind": "ENUM",
+ "name": "ImageContentType",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "URL",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "CropRegion",
+ "description": "The part of the image that should remain after cropping.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
{
- "name": "CU",
- "description": "Cuba",
+ "name": "CENTER",
+ "description": "Keep the center of the image",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "DJ",
- "description": "Djibouti",
+ "name": "TOP",
+ "description": "Keep the top of the image",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ER",
- "description": "Eritrea",
+ "name": "BOTTOM",
+ "description": "Keep the bottom of the image",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "FK",
- "description": "Falkland Islands (Malvinas)",
+ "name": "LEFT",
+ "description": "Keep the left of the image",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GF",
- "description": "French Guiana",
+ "name": "RIGHT",
+ "description": "Keep the right of the image",
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "ImageContentType",
+ "description": "List of supported image content types.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
{
- "name": "TF",
- "description": "French Southern Territories",
+ "name": "PNG",
+ "description": null,
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GN",
- "description": "Guinea",
+ "name": "JPG",
+ "description": null,
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GW",
- "description": "Guinea Bissau",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "HM",
- "description": "Heard Island And Mcdonald Islands",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "VA",
- "description": "Holy See (Vatican City State)",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "IR",
- "description": "Iran, Islamic Republic Of",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "IQ",
- "description": "Iraq",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "KI",
- "description": "Kiribati",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "KP",
- "description": "Korea, Democratic People's Republic Of",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "LY",
- "description": "Libyan Arab Jamahiriya",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "ML",
- "description": "Mali",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "MR",
- "description": "Mauritania",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "MS",
- "description": "Montserrat",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "NR",
- "description": "Nauru",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "NU",
- "description": "Niue",
+ "name": "WEBP",
+ "description": null,
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "SelectedOption",
+ "description": "Custom properties that a shop owner can use to define product variants.\nMultiple options can exist. Options are represented as: option1, option2, option3, etc.\n",
+ "fields": [
{
- "name": "NF",
- "description": "Norfolk Island",
+ "name": "name",
+ "description": "The product option’s name.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PN",
- "description": "Pitcairn",
+ "name": "value",
+ "description": "The product option’s value.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Product",
+ "description": "A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be.\nFor example, a digital download (such as a movie, music or ebook file) also qualifies as a product, as do services (such as equipment rental, work for hire, customization of another product or an extended warranty).",
+ "fields": [
{
- "name": "BL",
- "description": "Saint Barthélemy",
+ "name": "availableForSale",
+ "description": "Indicates if at least one product variant is available for sale.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SH",
- "description": "Saint Helena",
+ "name": "collections",
+ "description": "List of collections a product belongs to.",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CollectionConnection",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "PM",
- "description": "Saint Pierre And Miquelon",
+ "name": "createdAt",
+ "description": "The date and time when the product was created.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "DateTime",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SM",
- "description": "San Marino",
+ "name": "description",
+ "description": "Stripped description of the product, single line with HTML tags removed.",
+ "args": [
+ {
+ "name": "truncateAt",
+ "description": "Truncates string after the given length.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SL",
- "description": "Sierra Leone",
+ "name": "descriptionHtml",
+ "description": "The description of the product, complete with HTML formatting.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "HTML",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SO",
- "description": "Somalia",
+ "name": "handle",
+ "description": "A human-friendly unique string for the Product automatically generated from its title.\nThey are used by the Liquid templating language to refer to objects.\n",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "GS",
- "description": "South Georgia And The South Sandwich Islands",
+ "name": "id",
+ "description": "Globally unique identifier.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "SJ",
- "description": "Svalbard And Jan Mayen",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "SZ",
- "description": "Swaziland",
+ "name": "images",
+ "description": "List of images associated with the product.",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ },
+ {
+ "name": "sortKey",
+ "description": "Sort the underlying list by the given key.",
+ "type": {
+ "kind": "ENUM",
+ "name": "ProductImageSortKeys",
+ "ofType": null
+ },
+ "defaultValue": "POSITION"
+ },
+ {
+ "name": "maxWidth",
+ "description": "Image width in pixels between 1 and 2048. This argument is deprecated: Use `maxWidth` on `Image.transformedSrc` instead.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "maxHeight",
+ "description": "Image height in pixels between 1 and 2048. This argument is deprecated: Use `maxHeight` on `Image.transformedSrc` instead.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "crop",
+ "description": "Crops the image according to the specified region. This argument is deprecated: Use `crop` on `Image.transformedSrc` instead.",
+ "type": {
+ "kind": "ENUM",
+ "name": "CropRegion",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "scale",
+ "description": "Image size multiplier for high-resolution retina displays. Must be between 1 and 3. This argument is deprecated: Use `scale` on `Image.transformedSrc` instead.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": "1"
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ImageConnection",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TJ",
- "description": "Tajikistan",
+ "name": "onlineStoreUrl",
+ "description": "The online store URL for the product.\nA value of `null` indicates that the product is not published to the Online Store sales channel.\n",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "URL",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TL",
- "description": "Timor Leste",
+ "name": "options",
+ "description": "List of custom product options (maximum of 3 per product).",
+ "args": [
+ {
+ "name": "first",
+ "description": "Truncate the array result to this size.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ProductOption",
+ "ofType": null
+ }
+ }
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TG",
- "description": "Togo",
+ "name": "priceRange",
+ "description": "The price range.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ProductPriceRange",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TK",
- "description": "Tokelau",
+ "name": "productType",
+ "description": "A categorization that a product can be tagged with, commonly used for filtering and searching.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TO",
- "description": "Tonga",
+ "name": "publishedAt",
+ "description": "The date and time when the product was published to the channel.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "DateTime",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TV",
- "description": "Tuvalu",
+ "name": "tags",
+ "description": "A categorization that a product can be tagged with, commonly used for filtering and searching.\nAdditional access scope required for private apps: unauthenticated_read_product_tags.\n",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ }
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "UM",
- "description": "United States Minor Outlying Islands",
+ "name": "title",
+ "description": "The product’s title.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "WF",
- "description": "Wallis And Futuna",
+ "name": "updatedAt",
+ "description": "The date and time when the product was last modified.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "DateTime",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "EH",
- "description": "Western Sahara",
- "isDeprecated": false,
- "deprecationReason": null
- }
- ],
- "possibleTypes": null
- },
- {
- "kind": "ENUM",
- "name": "CardBrand",
- "description": "Card brand, such as Visa or Mastercard, which can be used for payments.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": [
- {
- "name": "VISA",
- "description": "Visa",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "MASTERCARD",
- "description": "Mastercard",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "DISCOVER",
- "description": "Discover",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "AMERICAN_EXPRESS",
- "description": "American Express",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "DINERS_CLUB",
- "description": "Diners Club",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "JCB",
- "description": "JCB",
- "isDeprecated": false,
- "deprecationReason": null
- }
- ],
- "possibleTypes": null
- },
- {
- "kind": "ENUM",
- "name": "DigitalWallet",
- "description": "Digital wallet, such as Apple Pay, which can be used for accelerated checkouts.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": [
- {
- "name": "APPLE_PAY",
- "description": "Apple Pay",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "ANDROID_PAY",
- "description": "Android Pay",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "SHOPIFY_PAY",
- "description": "Shopify Pay",
- "isDeprecated": false,
- "deprecationReason": null
- }
- ],
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "Domain",
- "description": "Represents a web address.",
- "fields": [
- {
- "name": "host",
- "description": "The host name of the domain (eg: `example.com`).",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "sslEnabled",
- "description": "Whether SSL is enabled or not.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- }
- },
+ "name": "variantBySelectedOptions",
+ "description": "Find a product’s variant based on its selected options.\nThis is useful for converting a user’s selection of product options into a single matching variant.\nIf there is not a variant for the selected options, `null` will be returned.\n",
+ "args": [
+ {
+ "name": "selectedOptions",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "SelectedOptionInput",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "ProductVariant",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "url",
- "description": "The URL of the domain (eg: `https://example.com`).",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "URL",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "ShopPolicy",
- "description":
- "Policy that a merchant has configured for their store, such as their refund or privacy policy.",
- "fields": [
- {
- "name": "body",
- "description": "Policy text, maximum size of 64kb.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "name": "variants",
+ "description": "List of the product’s variants.",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ },
+ {
+ "name": "sortKey",
+ "description": "Sort the underlying list by the given key.",
+ "type": {
+ "kind": "ENUM",
+ "name": "ProductVariantSortKeys",
+ "ofType": null
+ },
+ "defaultValue": "POSITION"
}
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "id",
- "description": "Globally unique identifier.",
- "args": [],
+ ],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "ID",
+ "kind": "OBJECT",
+ "name": "ProductVariantConnection",
"ofType": null
}
},
@@ -6474,8 +6339,8 @@
"deprecationReason": null
},
{
- "name": "title",
- "description": "Policy’s title.",
+ "name": "vendor",
+ "description": "The product’s vendor name.",
"args": [],
"type": {
"kind": "NON_NULL",
@@ -6488,22 +6353,6 @@
},
"isDeprecated": false,
"deprecationReason": null
- },
- {
- "name": "url",
- "description": "Public URL to the policy.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "URL",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
}
],
"inputFields": null,
@@ -6519,7 +6368,7 @@
},
{
"kind": "OBJECT",
- "name": "BlogConnection",
+ "name": "CollectionConnection",
"description": null,
"fields": [
{
@@ -6537,7 +6386,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "BlogEdge",
+ "name": "CollectionEdge",
"ofType": null
}
}
@@ -6570,7 +6419,7 @@
},
{
"kind": "OBJECT",
- "name": "BlogEdge",
+ "name": "CollectionEdge",
"description": null,
"fields": [
{
@@ -6591,14 +6440,14 @@
},
{
"name": "node",
- "description": "The item at the end of BlogEdge.",
+ "description": "The item at the end of CollectionEdge.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "Blog",
+ "name": "Collection",
"ofType": null
}
},
@@ -6613,54 +6462,62 @@
},
{
"kind": "OBJECT",
- "name": "Blog",
- "description": null,
+ "name": "Collection",
+ "description": "A collection represents a grouping of products that a shop owner can create to organize them or make their shops easier to browse.",
"fields": [
{
- "name": "articles",
- "description": "List of the blog's articles.",
+ "name": "description",
+ "description": "Stripped description of the collection, single line with HTML tags removed.",
"args": [
{
- "name": "first",
- "description": null,
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "after",
- "description": null,
+ "name": "truncateAt",
+ "description": "Truncates string after the given length.",
"type": {
"kind": "SCALAR",
- "name": "String",
+ "name": "Int",
"ofType": null
},
"defaultValue": null
- },
- {
- "name": "reverse",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "defaultValue": "false"
}
],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "OBJECT",
- "name": "ArticleConnection",
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "descriptionHtml",
+ "description": "The description of the collection, complete with HTML formatting.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "HTML",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "handle",
+ "description": "A human-friendly unique string for the collection automatically generated from its title.\nLimit of 255 characters.\n",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
"ofType": null
}
},
@@ -6683,9 +6540,139 @@
"isDeprecated": false,
"deprecationReason": null
},
+ {
+ "name": "image",
+ "description": "Image associated with the collection.",
+ "args": [
+ {
+ "name": "maxWidth",
+ "description": "Image width in pixels between 1 and 2048. This argument is deprecated: Use `maxWidth` on `Image.transformedSrc` instead.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "maxHeight",
+ "description": "Image height in pixels between 1 and 2048. This argument is deprecated: Use `maxHeight` on `Image.transformedSrc` instead.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "crop",
+ "description": "Crops the image according to the specified region. This argument is deprecated: Use `crop` on `Image.transformedSrc` instead.",
+ "type": {
+ "kind": "ENUM",
+ "name": "CropRegion",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "scale",
+ "description": "Image size multiplier for high-resolution retina displays. Must be between 1 and 3. This argument is deprecated: Use `scale` on `Image.transformedSrc` instead.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": "1"
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Image",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "products",
+ "description": "List of products in the collection.",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ },
+ {
+ "name": "sortKey",
+ "description": "Sort the underlying list by the given key.",
+ "type": {
+ "kind": "ENUM",
+ "name": "ProductCollectionSortKeys",
+ "ofType": null
+ },
+ "defaultValue": "COLLECTION_DEFAULT"
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ProductConnection",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
{
"name": "title",
- "description": "The blogs’s title.",
+ "description": "The collection’s name. Limit of 255 characters.",
"args": [],
"type": {
"kind": "NON_NULL",
@@ -6700,15 +6687,15 @@
"deprecationReason": null
},
{
- "name": "url",
- "description": "The url pointing to the blog accessible from the web.",
+ "name": "updatedAt",
+ "description": "The date and time when the collection was last modified.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "URL",
+ "name": "DateTime",
"ofType": null
}
},
@@ -6727,9 +6714,19 @@
"enumValues": null,
"possibleTypes": null
},
+ {
+ "kind": "SCALAR",
+ "name": "HTML",
+ "description": "A string containing HTML code.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
{
"kind": "OBJECT",
- "name": "ArticleConnection",
+ "name": "ProductConnection",
"description": null,
"fields": [
{
@@ -6747,7 +6744,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "ArticleEdge",
+ "name": "ProductEdge",
"ofType": null
}
}
@@ -6780,7 +6777,7 @@
},
{
"kind": "OBJECT",
- "name": "ArticleEdge",
+ "name": "ProductEdge",
"description": null,
"fields": [
{
@@ -6801,14 +6798,14 @@
},
{
"name": "node",
- "description": "The item at the end of ArticleEdge.",
+ "description": "The item at the end of ProductEdge.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "Article",
+ "name": "Product",
"ofType": null
}
},
@@ -6822,259 +6819,72 @@
"possibleTypes": null
},
{
- "kind": "OBJECT",
- "name": "Article",
- "description": null,
- "fields": [
+ "kind": "ENUM",
+ "name": "ProductCollectionSortKeys",
+ "description": "The set of valid sort keys for the products query.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
{
- "name": "author",
- "description": "The article's author.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "ArticleAuthor",
- "ofType": null
- }
- },
+ "name": "TITLE",
+ "description": "Sort by the `title` value.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "blog",
- "description": "The blog that the article belongs to.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "Blog",
- "ofType": null
- }
- },
+ "name": "PRICE",
+ "description": "Sort by the `price` value.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "comments",
- "description": "List of comments posted on the article.",
- "args": [
- {
- "name": "first",
- "description": null,
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "after",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "reverse",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "defaultValue": "false"
- }
- ],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "CommentConnection",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "content",
- "description": "Stripped content of the article, single line with HTML tags removed.",
- "args": [
- {
- "name": "truncateAt",
- "description": "Truncates string after the given length.",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": null
- }
- ],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "contentHtml",
- "description": "The content of the article, complete with HTML formatting.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "HTML",
- "ofType": null
- }
- },
+ "name": "BEST_SELLING",
+ "description": "Sort by the `best-selling` value.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "excerpt",
- "description": "Stripped excerpt of the article, single line with HTML tags removed.",
- "args": [
- {
- "name": "truncateAt",
- "description": "Truncates string after the given length.",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": null
- }
- ],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
+ "name": "CREATED",
+ "description": "Sort by the `created` value.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "excerptHtml",
- "description": "The excerpt of the article, complete with HTML formatting.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "HTML",
- "ofType": null
- },
+ "name": "ID",
+ "description": "Sort by the `id` value.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "id",
- "description": "Globally unique identifier.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
+ "name": "MANUAL",
+ "description": "Sort by the `manual` value.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "image",
- "description": "The image associated with the article.",
- "args": [
- {
- "name": "maxWidth",
- "description": "Image width in pixels between 1 and 2048",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "maxHeight",
- "description": "Image height in pixels between 1 and 2048",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "crop",
- "description": "If specified, crop the image keeping the specified region",
- "type": {
- "kind": "ENUM",
- "name": "CropRegion",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "scale",
- "description": "Image size multiplier retina displays. Must be between 1 and 3",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": "1"
- }
- ],
- "type": {
- "kind": "OBJECT",
- "name": "Image",
- "ofType": null
- },
+ "name": "COLLECTION_DEFAULT",
+ "description": "Sort by the `collection-default` value.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "publishedAt",
- "description": "The date and time when the article was published.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "DateTime",
- "ofType": null
- }
- },
+ "name": "RELEVANCE",
+ "description": "During a search (i.e. when the `query` parameter has been specified on the connection) this sorts the\nresults by relevance to the search term(s). When no search query is specified, this sort key is not\ndeterministic and should not be used.\n",
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ImageConnection",
+ "description": null,
+ "fields": [
{
- "name": "tags",
- "description": "A categorization that a article can be tagged with.",
+ "name": "edges",
+ "description": "A list of edges.",
"args": [],
"type": {
"kind": "NON_NULL",
@@ -7086,8 +6896,8 @@
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "OBJECT",
+ "name": "ImageEdge",
"ofType": null
}
}
@@ -7097,31 +6907,15 @@
"deprecationReason": null
},
{
- "name": "title",
- "description": "The article’s name.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "url",
- "description": "The url pointing to the article accessible from the web.",
+ "name": "pageInfo",
+ "description": "Information to aid in pagination.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "URL",
+ "kind": "OBJECT",
+ "name": "PageInfo",
"ofType": null
}
},
@@ -7130,36 +6924,18 @@
}
],
"inputFields": null,
- "interfaces": [
- {
- "kind": "INTERFACE",
- "name": "Node",
- "ofType": null
- }
- ],
+ "interfaces": [],
"enumValues": null,
"possibleTypes": null
},
{
"kind": "OBJECT",
- "name": "ArticleAuthor",
+ "name": "ImageEdge",
"description": null,
"fields": [
{
- "name": "bio",
- "description": "The author's bio.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "email",
- "description": "The author’s email.",
+ "name": "cursor",
+ "description": "A cursor for use in pagination.",
"args": [],
"type": {
"kind": "NON_NULL",
@@ -7174,98 +6950,93 @@
"deprecationReason": null
},
{
- "name": "firstName",
- "description": "The author's first name.",
+ "name": "node",
+ "description": "The item at the end of ImageEdge.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "OBJECT",
+ "name": "Image",
+ "ofType": null
}
},
"isDeprecated": false,
"deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "ProductImageSortKeys",
+ "description": "The set of valid sort keys for the images query.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "CREATED_AT",
+ "description": "Sort by the `created_at` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "lastName",
- "description": "The author's last name.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
+ "name": "POSITION",
+ "description": "Sort by the `position` value.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "name",
- "description": "The author's full name",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
+ "name": "ID",
+ "description": "Sort by the `id` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "RELEVANCE",
+ "description": "During a search (i.e. when the `query` parameter has been specified on the connection) this sorts the\nresults by relevance to the search term(s). When no search query is specified, this sort key is not\ndeterministic and should not be used.\n",
"isDeprecated": false,
"deprecationReason": null
}
],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
"possibleTypes": null
},
{
"kind": "OBJECT",
- "name": "CommentConnection",
- "description": null,
+ "name": "ProductPriceRange",
+ "description": "The price range of the product.",
"fields": [
{
- "name": "edges",
- "description": "A list of edges.",
+ "name": "maxVariantPrice",
+ "description": "The highest variant's price.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "CommentEdge",
- "ofType": null
- }
- }
+ "kind": "OBJECT",
+ "name": "MoneyV2",
+ "ofType": null
}
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "pageInfo",
- "description": "Information to aid in pagination.",
+ "name": "minVariantPrice",
+ "description": "The lowest variant's price.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "PageInfo",
+ "name": "MoneyV2",
"ofType": null
}
},
@@ -7279,14 +7050,14 @@
"possibleTypes": null
},
{
- "kind": "OBJECT",
- "name": "CommentEdge",
- "description": null,
- "fields": [
+ "kind": "INPUT_OBJECT",
+ "name": "SelectedOptionInput",
+ "description": "Specifies the input fields required for a selected option.",
+ "fields": null,
+ "inputFields": [
{
- "name": "cursor",
- "description": "A cursor for use in pagination.",
- "args": [],
+ "name": "name",
+ "description": "The product option’s name.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -7296,46 +7067,42 @@
"ofType": null
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "node",
- "description": "The item at the end of CommentEdge.",
- "args": [],
+ "name": "value",
+ "description": "The product option’s value.",
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "OBJECT",
- "name": "Comment",
+ "kind": "SCALAR",
+ "name": "String",
"ofType": null
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
}
],
- "inputFields": null,
- "interfaces": [],
+ "interfaces": null,
"enumValues": null,
"possibleTypes": null
},
{
"kind": "OBJECT",
- "name": "Comment",
- "description": null,
+ "name": "ProductOption",
+ "description": "Custom product property names like \"Size\", \"Color\", and \"Material\".\nProducts are based on permutations of these options.\nA product may have a maximum of 3 options.\n255 characters limit each.\n",
"fields": [
{
- "name": "author",
- "description": "The comment’s author.",
+ "name": "id",
+ "description": "Globally unique identifier.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "OBJECT",
- "name": "CommentAuthor",
+ "kind": "SCALAR",
+ "name": "ID",
"ofType": null
}
},
@@ -7343,20 +7110,9 @@
"deprecationReason": null
},
{
- "name": "content",
- "description": "Stripped content of the comment, single line with HTML tags removed.",
- "args": [
- {
- "name": "truncateAt",
- "description": "Truncates string after the given length.",
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": null
- }
- ],
+ "name": "name",
+ "description": "The product option’s name.",
+ "args": [],
"type": {
"kind": "NON_NULL",
"name": null,
@@ -7370,31 +7126,80 @@
"deprecationReason": null
},
{
- "name": "contentHtml",
- "description": "The content of the comment, complete with HTML formatting.",
+ "name": "values",
+ "description": "The corresponding value to the product option name.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "HTML",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+ {
+ "kind": "INTERFACE",
+ "name": "Node",
+ "ofType": null
+ }
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ProductVariantConnection",
+ "description": null,
+ "fields": [
+ {
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ProductVariantEdge",
+ "ofType": null
+ }
+ }
}
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "id",
- "description": "Globally unique identifier.",
+ "name": "pageInfo",
+ "description": "Information to aid in pagination.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "ID",
+ "kind": "OBJECT",
+ "name": "PageInfo",
"ofType": null
}
},
@@ -7403,24 +7208,18 @@
}
],
"inputFields": null,
- "interfaces": [
- {
- "kind": "INTERFACE",
- "name": "Node",
- "ofType": null
- }
- ],
+ "interfaces": [],
"enumValues": null,
"possibleTypes": null
},
{
"kind": "OBJECT",
- "name": "CommentAuthor",
+ "name": "ProductVariantEdge",
"description": null,
"fields": [
{
- "name": "email",
- "description": "The author's email.",
+ "name": "cursor",
+ "description": "A cursor for use in pagination.",
"args": [],
"type": {
"kind": "NON_NULL",
@@ -7435,15 +7234,15 @@
"deprecationReason": null
},
{
- "name": "name",
- "description": "The author’s name.",
+ "name": "node",
+ "description": "The item at the end of ProductVariantEdge.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "OBJECT",
+ "name": "ProductVariant",
"ofType": null
}
},
@@ -7458,33 +7257,39 @@
},
{
"kind": "ENUM",
- "name": "BlogSortKeys",
- "description": "The set of valid sort keys for the blogs query.",
+ "name": "ProductVariantSortKeys",
+ "description": "The set of valid sort keys for the variants query.",
"fields": null,
"inputFields": null,
"interfaces": null,
"enumValues": [
{
- "name": "HANDLE",
- "description": null,
+ "name": "TITLE",
+ "description": "Sort by the `title` value.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "TITLE",
- "description": null,
+ "name": "SKU",
+ "description": "Sort by the `sku` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "POSITION",
+ "description": "Sort by the `position` value.",
"isDeprecated": false,
"deprecationReason": null
},
{
"name": "ID",
- "description": null,
+ "description": "Sort by the `id` value.",
"isDeprecated": false,
"deprecationReason": null
},
{
"name": "RELEVANCE",
- "description": null,
+ "description": "During a search (i.e. when the `query` parameter has been specified on the connection) this sorts the\nresults by relevance to the search term(s). When no search query is specified, this sort key is not\ndeterministic and should not be used.\n",
"isDeprecated": false,
"deprecationReason": null
}
@@ -7492,143 +7297,207 @@
"possibleTypes": null
},
{
- "kind": "ENUM",
- "name": "ArticleSortKeys",
- "description": "The set of valid sort keys for the articles query.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": [
- {
- "name": "TITLE",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
+ "kind": "OBJECT",
+ "name": "Attribute",
+ "description": "Represents a generic custom attribute.",
+ "fields": [
{
- "name": "BLOG_TITLE",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "AUTHOR",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "UPDATED_AT",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "ID",
- "description": null,
+ "name": "key",
+ "description": "Key or name of the attribute.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "RELEVANCE",
- "description": null,
+ "name": "value",
+ "description": "Value of the attribute.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
}
],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
"possibleTypes": null
},
{
- "kind": "ENUM",
- "name": "CollectionSortKeys",
- "description": "The set of valid sort keys for the collections query.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": [
- {
- "name": "TITLE",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
+ "kind": "OBJECT",
+ "name": "Fulfillment",
+ "description": "Represents a single fulfillment in an order.",
+ "fields": [
{
- "name": "UPDATED_AT",
- "description": null,
+ "name": "fulfillmentLineItems",
+ "description": "List of the fulfillment's line items.",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "FulfillmentLineItemConnection",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ID",
- "description": null,
+ "name": "trackingCompany",
+ "description": "The name of the tracking company.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "RELEVANCE",
- "description": null,
+ "name": "trackingInfo",
+ "description": "Tracking information associated with the fulfillment,\nsuch as the tracking number and tracking URL.\n",
+ "args": [
+ {
+ "name": "first",
+ "description": "Truncate the array result to this size.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "FulfillmentTrackingInfo",
+ "ofType": null
+ }
+ }
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
}
],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
"possibleTypes": null
},
{
- "kind": "ENUM",
- "name": "ProductSortKeys",
- "description": "The set of valid sort keys for the products query.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": [
- {
- "name": "TITLE",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "PRODUCT_TYPE",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "VENDOR",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "UPDATED_AT",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "CREATED_AT",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
+ "kind": "OBJECT",
+ "name": "FulfillmentTrackingInfo",
+ "description": "Tracking information associated with the fulfillment.",
+ "fields": [
{
- "name": "ID",
- "description": null,
+ "name": "number",
+ "description": "The tracking number of the fulfillment.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "RELEVANCE",
- "description": null,
+ "name": "url",
+ "description": "The URL to track the fulfillment.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "URL",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
}
],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
"possibleTypes": null
},
{
"kind": "OBJECT",
- "name": "StringConnection",
+ "name": "FulfillmentLineItemConnection",
"description": null,
"fields": [
{
@@ -7646,7 +7515,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "StringEdge",
+ "name": "FulfillmentLineItemEdge",
"ofType": null
}
}
@@ -7679,7 +7548,7 @@
},
{
"kind": "OBJECT",
- "name": "StringEdge",
+ "name": "FulfillmentLineItemEdge",
"description": null,
"fields": [
{
@@ -7700,14 +7569,14 @@
},
{
"name": "node",
- "description": "The item at the end of StringEdge.",
+ "description": "The item at the end of FulfillmentLineItemEdge.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "OBJECT",
+ "name": "FulfillmentLineItem",
"ofType": null
}
},
@@ -7722,463 +7591,478 @@
},
{
"kind": "OBJECT",
- "name": "Mutation",
- "description":
- "The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start.",
+ "name": "FulfillmentLineItem",
+ "description": "Represents a single line item in a fulfillment. There is at most one fulfillment line item for each order line item.",
"fields": [
{
- "name": "checkoutAttributesUpdate",
- "description": "Updates the attributes of a checkout.",
- "args": [
- {
- "name": "checkoutId",
- "description": "The ID of the checkout.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "input",
- "description": null,
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "INPUT_OBJECT",
- "name": "CheckoutAttributesUpdateInput",
- "ofType": null
- }
- },
- "defaultValue": null
- }
- ],
+ "name": "lineItem",
+ "description": "The associated order's line item.",
+ "args": [],
"type": {
- "kind": "OBJECT",
- "name": "CheckoutAttributesUpdatePayload",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "OrderLineItem",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "checkoutCompleteFree",
- "description": null,
- "args": [
- {
- "name": "checkoutId",
- "description": "The ID of the checkout.",
- "type": {
+ "name": "quantity",
+ "description": "The amount fulfilled in this fulfillment.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "DiscountApplicationConnection",
+ "description": null,
+ "fields": [
+ {
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "ID",
+ "kind": "OBJECT",
+ "name": "DiscountApplicationEdge",
"ofType": null
}
- },
- "defaultValue": null
+ }
}
- ],
- "type": {
- "kind": "OBJECT",
- "name": "CheckoutCompleteFreePayload",
- "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "checkoutCompleteWithCreditCard",
- "description": "Completes a checkout using a credit card token from Shopify's Vault.",
- "args": [
- {
- "name": "checkoutId",
- "description": "The ID of the checkout.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "payment",
- "description": null,
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "INPUT_OBJECT",
- "name": "CreditCardPaymentInput",
- "ofType": null
- }
- },
- "defaultValue": null
+ "name": "pageInfo",
+ "description": "Information to aid in pagination.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "ofType": null
}
- ],
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "DiscountApplicationEdge",
+ "description": null,
+ "fields": [
+ {
+ "name": "cursor",
+ "description": "A cursor for use in pagination.",
+ "args": [],
"type": {
- "kind": "OBJECT",
- "name": "CheckoutCompleteWithCreditCardPayload",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "checkoutCompleteWithTokenizedPayment",
- "description": "Completes a checkout with a tokenized payment.",
- "args": [
- {
- "name": "checkoutId",
- "description": "The ID of the checkout.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "payment",
- "description": null,
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "INPUT_OBJECT",
- "name": "TokenizedPaymentInput",
- "ofType": null
- }
- },
- "defaultValue": null
- }
- ],
+ "name": "node",
+ "description": "The item at the end of DiscountApplicationEdge.",
+ "args": [],
"type": {
- "kind": "OBJECT",
- "name": "CheckoutCompleteWithTokenizedPaymentPayload",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INTERFACE",
+ "name": "DiscountApplication",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "OrderSortKeys",
+ "description": "The set of valid sort keys for the orders query.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "PROCESSED_AT",
+ "description": "Sort by the `processed_at` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "checkoutCreate",
- "description": "Creates a new checkout.",
- "args": [
- {
- "name": "input",
- "description": null,
- "type": {
+ "name": "TOTAL_PRICE",
+ "description": "Sort by the `total_price` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ID",
+ "description": "Sort by the `id` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "RELEVANCE",
+ "description": "During a search (i.e. when the `query` parameter has been specified on the connection) this sorts the\nresults by relevance to the search term(s). When no search query is specified, this sort key is not\ndeterministic and should not be used.\n",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "description": "A container for all the information required to checkout items and pay.",
+ "fields": [
+ {
+ "name": "appliedGiftCards",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "INPUT_OBJECT",
- "name": "CheckoutCreateInput",
+ "kind": "OBJECT",
+ "name": "AppliedGiftCard",
"ofType": null
}
- },
- "defaultValue": null
+ }
}
- ],
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "availableShippingRates",
+ "description": "The available shipping rates for this Checkout.\nShould only be used when checkout `requiresShipping` is `true` and\nthe shipping address is valid.\n",
+ "args": [],
"type": {
"kind": "OBJECT",
- "name": "CheckoutCreatePayload",
+ "name": "AvailableShippingRates",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "checkoutCustomerAssociate",
- "description": "Associates a customer to the checkout.",
- "args": [
- {
- "name": "checkoutId",
- "description": "The ID of the checkout.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "customerAccessToken",
- "description": "The customer access token of the customer to associate.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
- "defaultValue": null
- }
- ],
+ "name": "completedAt",
+ "description": "The date and time when the checkout was completed.",
+ "args": [],
"type": {
- "kind": "OBJECT",
- "name": "CheckoutCustomerAssociatePayload",
+ "kind": "SCALAR",
+ "name": "DateTime",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "checkoutCustomerDisassociate",
- "description": "Disassociates the current checkout customer from the checkout.",
- "args": [
- {
- "name": "checkoutId",
- "description": "The ID of the checkout.",
- "type": {
+ "name": "createdAt",
+ "description": "The date and time when the checkout was created.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "DateTime",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "currencyCode",
+ "description": "The currency code for the Checkout.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "CurrencyCode",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "customAttributes",
+ "description": "A list of extra information that is added to the checkout.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "ID",
+ "kind": "OBJECT",
+ "name": "Attribute",
"ofType": null
}
- },
- "defaultValue": null
+ }
}
- ],
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "customer",
+ "description": "The customer associated with the checkout.",
+ "args": [],
"type": {
"kind": "OBJECT",
- "name": "CheckoutCustomerDisassociatePayload",
+ "name": "Customer",
"ofType": null
},
- "isDeprecated": false,
- "deprecationReason": null
+ "isDeprecated": true,
+ "deprecationReason": "This field will always return null. If you have an authentication token for the customer, you can use the `customer` field on the query root to retrieve it."
},
{
- "name": "checkoutEmailUpdate",
- "description": "Updates the email on an existing checkout.",
+ "name": "discountApplications",
+ "description": "Discounts that have been applied on the checkout.",
"args": [
{
- "name": "checkoutId",
- "description": "The ID of the checkout.",
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
},
"defaultValue": null
},
{
- "name": "email",
- "description": "The email to update the checkout with.",
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
"defaultValue": null
- }
- ],
- "type": {
- "kind": "OBJECT",
- "name": "CheckoutEmailUpdatePayload",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "checkoutGiftCardApply",
- "description": "Applies a gift card to an existing checkout using a gift card code.",
- "args": [
+ },
{
- "name": "giftCardCode",
- "description": "The code of the gift card to apply on the checkout.",
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
},
"defaultValue": null
},
{
- "name": "checkoutId",
- "description": "The ID of the checkout.",
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
"defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
}
],
"type": {
- "kind": "OBJECT",
- "name": "CheckoutGiftCardApplyPayload",
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "DiscountApplicationConnection",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "email",
+ "description": "The email attached to this checkout.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "checkoutGiftCardRemove",
- "description": "Removes an applied gift card from the checkout.",
+ "name": "id",
+ "description": "Globally unique identifier.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "lineItems",
+ "description": "A list of line item objects, each one containing information about an item in the checkout.",
"args": [
{
- "name": "appliedGiftCardId",
- "description": "The ID of the Applied Gift Card to remove from the Checkout",
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
},
"defaultValue": null
},
{
- "name": "checkoutId",
- "description": "The ID of the Checkout",
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
"defaultValue": null
- }
- ],
- "type": {
- "kind": "OBJECT",
- "name": "CheckoutGiftCardRemovePayload",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "checkoutLineItemsAdd",
- "description": "Adds a list of line items to a checkout.",
- "args": [
+ },
{
- "name": "lineItems",
- "description": "A list of line item objects to add to the checkout.",
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "INPUT_OBJECT",
- "name": "CheckoutLineItemInput",
- "ofType": null
- }
- }
- }
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
},
"defaultValue": null
},
{
- "name": "checkoutId",
- "description": "The ID of the checkout.",
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
"defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
}
],
"type": {
- "kind": "OBJECT",
- "name": "CheckoutLineItemsAddPayload",
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CheckoutLineItemConnection",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "note",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "checkoutDiscountCodeApply",
- "description": "Adds a list of line items to a checkout.",
- "args": [
- {
- "name": "checkoutId",
- "description": "The ID of the checkout.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "discountCode",
- "description": "Discount Code.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
- "defaultValue": null
- }
- ],
+ "name": "order",
+ "description": "The resulting order from a paid checkout.",
+ "args": [],
"type": {
"kind": "OBJECT",
- "name": "CheckoutLineItemsAddPayload",
+ "name": "Order",
"ofType": null
},
"isDeprecated": false,
@@ -8211,579 +8095,6295 @@
"deprecationReason": null
},
{
- "name": "checkoutLineItemsRemove",
- "description": "Removes line items from an existing checkout",
- "args": [
- {
- "name": "checkoutId",
- "description": "the checkout on which to remove line items",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "lineItemIds",
- "description": "line item ids to remove",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- }
- }
- },
- "defaultValue": null
+ "name": "orderStatusUrl",
+ "description": "The Order Status Page for this Checkout, null when checkout is not completed.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "URL",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "paymentDue",
+ "description": "The amount left to be paid. This is equal to the cost of the line items, taxes and shipping minus discounts and gift cards.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Money",
+ "ofType": null
}
- ],
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ready",
+ "description": "Whether or not the Checkout is ready and can be completed. Checkouts may have asynchronous operations that can take time to finish. If you want to complete a checkout or ensure all the fields are populated and up to date, polling is required until the value is true. ",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "requiresShipping",
+ "description": "States whether or not the fulfillment requires shipping.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "shippingAddress",
+ "description": "The shipping address to where the line items will be shipped.",
+ "args": [],
"type": {
"kind": "OBJECT",
- "name": "CheckoutLineItemsRemovePayload",
+ "name": "MailingAddress",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "checkoutLineItemsUpdate",
- "description": "Updates line items on a checkout.",
- "args": [
- {
- "name": "checkoutId",
- "description": "the checkout on which to update line items.",
- "type": {
+ "name": "shippingDiscountAllocations",
+ "description": "The discounts that have been allocated onto the shipping line by discount applications.\n",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "ID",
+ "kind": "OBJECT",
+ "name": "DiscountAllocation",
"ofType": null
}
- },
- "defaultValue": null
- },
- {
- "name": "lineItems",
- "description": "line items to update.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "INPUT_OBJECT",
- "name": "CheckoutLineItemUpdateInput",
- "ofType": null
- }
- }
- }
- },
- "defaultValue": null
+ }
}
- ],
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "shippingLine",
+ "description": "Once a shipping rate is selected by the customer it is transitioned to a `shipping_line` object.",
+ "args": [],
"type": {
"kind": "OBJECT",
- "name": "CheckoutLineItemsUpdatePayload",
+ "name": "ShippingRate",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "checkoutShippingAddressUpdate",
- "description": "Updates the shipping address of an existing checkout.",
- "args": [
- {
- "name": "shippingAddress",
- "description": "The shipping address to where the line items will be shipped.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "INPUT_OBJECT",
- "name": "MailingAddressInput",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "checkoutId",
- "description": "The ID of the checkout.",
- "type": {
+ "name": "subtotalPrice",
+ "description": "Price of the checkout before shipping and taxes.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Money",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "taxExempt",
+ "description": "Specifies if the Checkout is tax exempt.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "taxesIncluded",
+ "description": "Specifies if taxes are included in the line item and shipping line prices.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "totalPrice",
+ "description": "The sum of all the prices of all the items in the checkout, taxes and discounts included.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Money",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "totalTax",
+ "description": "The sum of all the taxes applied to the line items and shipping lines in the checkout.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Money",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "updatedAt",
+ "description": "The date and time when the checkout was last updated.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "DateTime",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "webUrl",
+ "description": "The url pointing to the checkout accessible from the web.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "URL",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+ {
+ "kind": "INTERFACE",
+ "name": "Node",
+ "ofType": null
+ }
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutLineItemConnection",
+ "description": null,
+ "fields": [
+ {
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "ID",
+ "kind": "OBJECT",
+ "name": "CheckoutLineItemEdge",
"ofType": null
}
- },
- "defaultValue": null
+ }
}
- ],
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "pageInfo",
+ "description": "Information to aid in pagination.",
+ "args": [],
"type": {
- "kind": "OBJECT",
- "name": "CheckoutShippingAddressUpdatePayload",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutLineItemEdge",
+ "description": null,
+ "fields": [
+ {
+ "name": "cursor",
+ "description": "A cursor for use in pagination.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "checkoutShippingLineUpdate",
- "description": "Updates the shipping lines on an existing checkout.",
- "args": [
- {
- "name": "checkoutId",
- "description": "The ID of the checkout.",
- "type": {
+ "name": "node",
+ "description": "The item at the end of CheckoutLineItemEdge.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CheckoutLineItem",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutLineItem",
+ "description": "A single line item in the checkout, grouped by variant and attributes.",
+ "fields": [
+ {
+ "name": "customAttributes",
+ "description": "Extra information in the form of an array of Key-Value pairs about the line item.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "ID",
+ "kind": "OBJECT",
+ "name": "Attribute",
"ofType": null
}
- },
- "defaultValue": null
- },
- {
- "name": "shippingRateHandle",
- "description":
- "A concatenation of a Checkout’s shipping provider, price, and title, enabling the customer to select the availableShippingRates.",
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "discountAllocations",
+ "description": "The discounts that have been allocated onto the checkout line item by discount applications.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "DiscountAllocation",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "Globally unique identifier.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "quantity",
+ "description": "The quantity of the line item.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "title",
+ "description": "Title of the line item. Defaults to the product's title.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "variant",
+ "description": "Product variant of the line item.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "ProductVariant",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+ {
+ "kind": "INTERFACE",
+ "name": "Node",
+ "ofType": null
+ }
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ShippingRate",
+ "description": "A shipping rate to be applied to a checkout.",
+ "fields": [
+ {
+ "name": "handle",
+ "description": "Human-readable unique identifier for this shipping rate.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "price",
+ "description": "Price of this shipping rate.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Money",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "title",
+ "description": "Title of this shipping rate.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "AvailableShippingRates",
+ "description": "A collection of available shipping rates for a checkout.",
+ "fields": [
+ {
+ "name": "ready",
+ "description": "Whether or not the shipping rates are ready.\nThe `shippingRates` field is `null` when this value is `false`.\nThis field should be polled until its value becomes `true`.\n",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "shippingRates",
+ "description": "The fetched shipping rates. `null` until the `ready` field is `true`.",
+ "args": [],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ShippingRate",
+ "ofType": null
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "AppliedGiftCard",
+ "description": "Details about the gift card used on the checkout.",
+ "fields": [
+ {
+ "name": "amountUsed",
+ "description": "The amount that was used taken from the Gift Card by applying it.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Money",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "balance",
+ "description": "The amount left on the Gift Card.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Money",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "Globally unique identifier.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "lastCharacters",
+ "description": "The last characters of the Gift Card code",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+ {
+ "kind": "INTERFACE",
+ "name": "Node",
+ "ofType": null
+ }
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Shop",
+ "description": "Shop represents a collection of the general settings and information about the shop.",
+ "fields": [
+ {
+ "name": "articles",
+ "description": "List of the shop' articles.",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ },
+ {
+ "name": "sortKey",
+ "description": "Sort the underlying list by the given key.",
+ "type": {
+ "kind": "ENUM",
+ "name": "ArticleSortKeys",
+ "ofType": null
+ },
+ "defaultValue": "ID"
+ },
+ {
+ "name": "query",
+ "description": "Supported filter parameters:\n - `author`\n - `blog_title`\n - `created_at`\n - `tag`\n - `updated_at`\n\nSee the detailed [search syntax](https://help.shopify.com/api/getting-started/search-syntax).\n",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ArticleConnection",
+ "ofType": null
+ }
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `QueryRoot.articles` instead."
+ },
+ {
+ "name": "blogs",
+ "description": "List of the shop' blogs.",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ },
+ {
+ "name": "sortKey",
+ "description": "Sort the underlying list by the given key.",
+ "type": {
+ "kind": "ENUM",
+ "name": "BlogSortKeys",
+ "ofType": null
+ },
+ "defaultValue": "ID"
+ },
+ {
+ "name": "query",
+ "description": "Supported filter parameters:\n - `created_at`\n - `handle`\n - `title`\n - `updated_at`\n\nSee the detailed [search syntax](https://help.shopify.com/api/getting-started/search-syntax).\n",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "BlogConnection",
+ "ofType": null
+ }
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `QueryRoot.blogs` instead."
+ },
+ {
+ "name": "collectionByHandle",
+ "description": "Find a collection by its handle.",
+ "args": [
+ {
+ "name": "handle",
+ "description": "The handle of the collection.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Collection",
+ "ofType": null
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `QueryRoot.collectionByHandle` instead."
+ },
+ {
+ "name": "collections",
+ "description": "List of the shop’s collections.",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ },
+ {
+ "name": "sortKey",
+ "description": "Sort the underlying list by the given key.",
+ "type": {
+ "kind": "ENUM",
+ "name": "CollectionSortKeys",
+ "ofType": null
+ },
+ "defaultValue": "ID"
+ },
+ {
+ "name": "query",
+ "description": "Supported filter parameters:\n - `collection_type`\n - `title`\n - `updated_at`\n\nSee the detailed [search syntax](https://help.shopify.com/api/getting-started/search-syntax).\n",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CollectionConnection",
+ "ofType": null
+ }
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `QueryRoot.collections` instead."
+ },
+ {
+ "name": "currencyCode",
+ "description": "The three-letter code for the currency that the shop accepts.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "CurrencyCode",
+ "ofType": null
+ }
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `paymentSettings` instead"
+ },
+ {
+ "name": "description",
+ "description": "A description of the shop.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "moneyFormat",
+ "description": "A string representing the way currency is formatted when the currency isn’t specified.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "name",
+ "description": "The shop’s name.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "paymentSettings",
+ "description": "Settings related to payments.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PaymentSettings",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "primaryDomain",
+ "description": "The shop’s primary domain.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Domain",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "privacyPolicy",
+ "description": "The shop’s privacy policy.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "ShopPolicy",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "productByHandle",
+ "description": "Find a product by its handle.",
+ "args": [
+ {
+ "name": "handle",
+ "description": "The handle of the product.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Product",
+ "ofType": null
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `QueryRoot.productByHandle` instead."
+ },
+ {
+ "name": "productTags",
+ "description": "Tags added to products.\nAdditional access scope required: unauthenticated_read_product_tags.\n",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "StringConnection",
+ "ofType": null
+ }
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `QueryRoot.productTags` instead."
+ },
+ {
+ "name": "productTypes",
+ "description": "List of the shop’s product types.",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "StringConnection",
+ "ofType": null
+ }
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `QueryRoot.productTypes` instead."
+ },
+ {
+ "name": "products",
+ "description": "List of the shop’s products.",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ },
+ {
+ "name": "sortKey",
+ "description": "Sort the underlying list by the given key.",
+ "type": {
+ "kind": "ENUM",
+ "name": "ProductSortKeys",
+ "ofType": null
+ },
+ "defaultValue": "ID"
+ },
+ {
+ "name": "query",
+ "description": "Supported filter parameters:\n - `created_at`\n - `product_type`\n - `tag`\n - `title`\n - `updated_at`\n - `variants.price`\n - `vendor`\n\nSee the detailed [search syntax](https://help.shopify.com/api/getting-started/search-syntax).\n",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ProductConnection",
+ "ofType": null
+ }
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `QueryRoot.products` instead."
+ },
+ {
+ "name": "refundPolicy",
+ "description": "The shop’s refund policy.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "ShopPolicy",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "shipsToCountries",
+ "description": "Countries that the shop ships to.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "CountryCode",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "shopifyPaymentsAccountId",
+ "description": "The shop’s Shopify Payments account id.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `paymentSettings` instead"
+ },
+ {
+ "name": "termsOfService",
+ "description": "The shop’s terms of service.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "ShopPolicy",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "PaymentSettings",
+ "description": "Settings related to payments.",
+ "fields": [
+ {
+ "name": "acceptedCardBrands",
+ "description": "List of the card brands which the shop accepts.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "CardBrand",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "cardVaultUrl",
+ "description": "The url pointing to the endpoint to vault credit cards.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "URL",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "countryCode",
+ "description": "The country where the shop is located.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "CountryCode",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "currencyCode",
+ "description": "The three-letter code for the currency that the shop accepts.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "CurrencyCode",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "shopifyPaymentsAccountId",
+ "description": "The shop’s Shopify Payments account id.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "supportedDigitalWallets",
+ "description": "List of the digital wallets which the shop supports.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "DigitalWallet",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "CardBrand",
+ "description": "Card brand, such as Visa or Mastercard, which can be used for payments.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "VISA",
+ "description": "Visa",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "MASTERCARD",
+ "description": "Mastercard",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "DISCOVER",
+ "description": "Discover",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "AMERICAN_EXPRESS",
+ "description": "American Express",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "DINERS_CLUB",
+ "description": "Diners Club",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "JCB",
+ "description": "JCB",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "DigitalWallet",
+ "description": "Digital wallet, such as Apple Pay, which can be used for accelerated checkouts.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "APPLE_PAY",
+ "description": "Apple Pay",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ANDROID_PAY",
+ "description": "Android Pay",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "GOOGLE_PAY",
+ "description": "Google Pay",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "SHOPIFY_PAY",
+ "description": "Shopify Pay",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Domain",
+ "description": "Represents a web address.",
+ "fields": [
+ {
+ "name": "host",
+ "description": "The host name of the domain (eg: `example.com`).",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "sslEnabled",
+ "description": "Whether SSL is enabled or not.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "url",
+ "description": "The URL of the domain (eg: `https://example.com`).",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "URL",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ShopPolicy",
+ "description": "Policy that a merchant has configured for their store, such as their refund or privacy policy.",
+ "fields": [
+ {
+ "name": "body",
+ "description": "Policy text, maximum size of 64kb.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "Globally unique identifier.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "title",
+ "description": "Policy’s title.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "url",
+ "description": "Public URL to the policy.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "URL",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+ {
+ "kind": "INTERFACE",
+ "name": "Node",
+ "ofType": null
+ }
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "BlogConnection",
+ "description": null,
+ "fields": [
+ {
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "BlogEdge",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "pageInfo",
+ "description": "Information to aid in pagination.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "BlogEdge",
+ "description": null,
+ "fields": [
+ {
+ "name": "cursor",
+ "description": "A cursor for use in pagination.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "node",
+ "description": "The item at the end of BlogEdge.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Blog",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Blog",
+ "description": null,
+ "fields": [
+ {
+ "name": "articleByHandle",
+ "description": "Find an article by its handle.",
+ "args": [
+ {
+ "name": "handle",
+ "description": "The handle of the article.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Article",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "articles",
+ "description": "List of the blog's articles.",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ArticleConnection",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "authors",
+ "description": "The authors who have contributed to the blog.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ArticleAuthor",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "handle",
+ "description": "A human-friendly unique string for the Blog automatically generated from its title.\n",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "Globally unique identifier.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "title",
+ "description": "The blogs’s title.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "url",
+ "description": "The url pointing to the blog accessible from the web.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "URL",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+ {
+ "kind": "INTERFACE",
+ "name": "Node",
+ "ofType": null
+ }
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Article",
+ "description": null,
+ "fields": [
+ {
+ "name": "author",
+ "description": "The article's author.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ArticleAuthor",
+ "ofType": null
+ }
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `authorV2` instead"
+ },
+ {
+ "name": "authorV2",
+ "description": "The article's author.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "ArticleAuthor",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "blog",
+ "description": "The blog that the article belongs to.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Blog",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "comments",
+ "description": "List of comments posted on the article.",
+ "args": [
+ {
+ "name": "first",
+ "description": "Returns up to the first `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns up to the last `n` elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "reverse",
+ "description": "Reverse the order of the underlying list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CommentConnection",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "content",
+ "description": "Stripped content of the article, single line with HTML tags removed.",
+ "args": [
+ {
+ "name": "truncateAt",
+ "description": "Truncates string after the given length.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "contentHtml",
+ "description": "The content of the article, complete with HTML formatting.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "HTML",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "excerpt",
+ "description": "Stripped excerpt of the article, single line with HTML tags removed.",
+ "args": [
+ {
+ "name": "truncateAt",
+ "description": "Truncates string after the given length.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "excerptHtml",
+ "description": "The excerpt of the article, complete with HTML formatting.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "HTML",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "handle",
+ "description": "A human-friendly unique string for the Article automatically generated from its title.\n",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "Globally unique identifier.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "image",
+ "description": "The image associated with the article.",
+ "args": [
+ {
+ "name": "maxWidth",
+ "description": "Image width in pixels between 1 and 2048. This argument is deprecated: Use `maxWidth` on `Image.transformedSrc` instead.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "maxHeight",
+ "description": "Image height in pixels between 1 and 2048. This argument is deprecated: Use `maxHeight` on `Image.transformedSrc` instead.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "crop",
+ "description": "Crops the image according to the specified region. This argument is deprecated: Use `crop` on `Image.transformedSrc` instead.",
+ "type": {
+ "kind": "ENUM",
+ "name": "CropRegion",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "scale",
+ "description": "Image size multiplier for high-resolution retina displays. Must be between 1 and 3. This argument is deprecated: Use `scale` on `Image.transformedSrc` instead.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": "1"
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Image",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "publishedAt",
+ "description": "The date and time when the article was published.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "DateTime",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "tags",
+ "description": "A categorization that a article can be tagged with.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "title",
+ "description": "The article’s name.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "url",
+ "description": "The url pointing to the article accessible from the web.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "URL",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+ {
+ "kind": "INTERFACE",
+ "name": "Node",
+ "ofType": null
+ }
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ArticleAuthor",
+ "description": null,
+ "fields": [
+ {
+ "name": "bio",
+ "description": "The author's bio.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "email",
+ "description": "The author’s email.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "firstName",
+ "description": "The author's first name.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "lastName",
+ "description": "The author's last name.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "name",
+ "description": "The author's full name.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CommentConnection",
+ "description": null,
+ "fields": [
+ {
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CommentEdge",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "pageInfo",
+ "description": "Information to aid in pagination.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CommentEdge",
+ "description": null,
+ "fields": [
+ {
+ "name": "cursor",
+ "description": "A cursor for use in pagination.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "node",
+ "description": "The item at the end of CommentEdge.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Comment",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Comment",
+ "description": null,
+ "fields": [
+ {
+ "name": "author",
+ "description": "The comment’s author.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CommentAuthor",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "content",
+ "description": "Stripped content of the comment, single line with HTML tags removed.",
+ "args": [
+ {
+ "name": "truncateAt",
+ "description": "Truncates string after the given length.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "contentHtml",
+ "description": "The content of the comment, complete with HTML formatting.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "HTML",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "Globally unique identifier.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+ {
+ "kind": "INTERFACE",
+ "name": "Node",
+ "ofType": null
+ }
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CommentAuthor",
+ "description": null,
+ "fields": [
+ {
+ "name": "email",
+ "description": "The author's email.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "name",
+ "description": "The author’s name.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ArticleConnection",
+ "description": null,
+ "fields": [
+ {
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ArticleEdge",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "pageInfo",
+ "description": "Information to aid in pagination.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ArticleEdge",
+ "description": null,
+ "fields": [
+ {
+ "name": "cursor",
+ "description": "A cursor for use in pagination.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "node",
+ "description": "The item at the end of ArticleEdge.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Article",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "BlogSortKeys",
+ "description": "The set of valid sort keys for the blogs query.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "HANDLE",
+ "description": "Sort by the `handle` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "TITLE",
+ "description": "Sort by the `title` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ID",
+ "description": "Sort by the `id` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "RELEVANCE",
+ "description": "During a search (i.e. when the `query` parameter has been specified on the connection) this sorts the\nresults by relevance to the search term(s). When no search query is specified, this sort key is not\ndeterministic and should not be used.\n",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "ArticleSortKeys",
+ "description": "The set of valid sort keys for the articles query.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "TITLE",
+ "description": "Sort by the `title` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "BLOG_TITLE",
+ "description": "Sort by the `blog_title` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "AUTHOR",
+ "description": "Sort by the `author` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "UPDATED_AT",
+ "description": "Sort by the `updated_at` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "PUBLISHED_AT",
+ "description": "Sort by the `published_at` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ID",
+ "description": "Sort by the `id` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "RELEVANCE",
+ "description": "During a search (i.e. when the `query` parameter has been specified on the connection) this sorts the\nresults by relevance to the search term(s). When no search query is specified, this sort key is not\ndeterministic and should not be used.\n",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "CollectionSortKeys",
+ "description": "The set of valid sort keys for the collections query.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "TITLE",
+ "description": "Sort by the `title` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "UPDATED_AT",
+ "description": "Sort by the `updated_at` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ID",
+ "description": "Sort by the `id` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "RELEVANCE",
+ "description": "During a search (i.e. when the `query` parameter has been specified on the connection) this sorts the\nresults by relevance to the search term(s). When no search query is specified, this sort key is not\ndeterministic and should not be used.\n",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "ProductSortKeys",
+ "description": "The set of valid sort keys for the products query.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "TITLE",
+ "description": "Sort by the `title` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "PRODUCT_TYPE",
+ "description": "Sort by the `product_type` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "VENDOR",
+ "description": "Sort by the `vendor` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "UPDATED_AT",
+ "description": "Sort by the `updated_at` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "CREATED_AT",
+ "description": "Sort by the `created_at` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "BEST_SELLING",
+ "description": "Sort by the `best_selling` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "PRICE",
+ "description": "Sort by the `price` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ID",
+ "description": "Sort by the `id` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "RELEVANCE",
+ "description": "During a search (i.e. when the `query` parameter has been specified on the connection) this sorts the\nresults by relevance to the search term(s). When no search query is specified, this sort key is not\ndeterministic and should not be used.\n",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "StringConnection",
+ "description": null,
+ "fields": [
+ {
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "StringEdge",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "pageInfo",
+ "description": "Information to aid in pagination.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "StringEdge",
+ "description": null,
+ "fields": [
+ {
+ "name": "cursor",
+ "description": "A cursor for use in pagination.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "node",
+ "description": "The item at the end of StringEdge.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Page",
+ "description": "Shopify merchants can create pages to hold static HTML content. Each Page object represents a custom page on the online store.",
+ "fields": [
+ {
+ "name": "body",
+ "description": "The description of the page, complete with HTML formatting.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "HTML",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "bodySummary",
+ "description": "Summary of the page body.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "createdAt",
+ "description": "The timestamp of the page creation.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "DateTime",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "handle",
+ "description": "A human-friendly unique string for the page automatically generated from its title.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "Globally unique identifier.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "title",
+ "description": "The title of the page.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "updatedAt",
+ "description": "The timestamp of the latest page update.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "DateTime",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "url",
+ "description": "The url pointing to the page accessible from the web.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "URL",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+ {
+ "kind": "INTERFACE",
+ "name": "Node",
+ "ofType": null
+ }
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "PageConnection",
+ "description": null,
+ "fields": [
+ {
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageEdge",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "pageInfo",
+ "description": "Information to aid in pagination.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "PageEdge",
+ "description": null,
+ "fields": [
+ {
+ "name": "cursor",
+ "description": "A cursor for use in pagination.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "node",
+ "description": "The item at the end of PageEdge.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Page",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "PageSortKeys",
+ "description": "The set of valid sort keys for the pages query.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "TITLE",
+ "description": "Sort by the `title` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "UPDATED_AT",
+ "description": "Sort by the `updated_at` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ID",
+ "description": "Sort by the `id` value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "RELEVANCE",
+ "description": "During a search (i.e. when the `query` parameter has been specified on the connection) this sorts the\nresults by relevance to the search term(s). When no search query is specified, this sort key is not\ndeterministic and should not be used.\n",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Mutation",
+ "description": "The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start.",
+ "fields": [
+ {
+ "name": "checkoutAttributesUpdate",
+ "description": "Updates the attributes of a checkout.",
+ "args": [
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "CheckoutAttributesUpdateInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutAttributesUpdatePayload",
+ "ofType": null
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutAttributesUpdateV2` instead"
+ },
+ {
+ "name": "checkoutAttributesUpdateV2",
+ "description": "Updates the attributes of a checkout.",
+ "args": [
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "input",
+ "description": "The checkout attributes to update.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "CheckoutAttributesUpdateV2Input",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutAttributesUpdateV2Payload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutCompleteFree",
+ "description": null,
+ "args": [
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutCompleteFreePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutCompleteWithCreditCard",
+ "description": "Completes a checkout using a credit card token from Shopify's Vault.",
+ "args": [
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "payment",
+ "description": "The credit card info to apply as a payment.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "CreditCardPaymentInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutCompleteWithCreditCardPayload",
+ "ofType": null
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutCompleteWithCreditCardV2` instead"
+ },
+ {
+ "name": "checkoutCompleteWithCreditCardV2",
+ "description": "Completes a checkout using a credit card token from Shopify's Vault.",
+ "args": [
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "payment",
+ "description": "The credit card info to apply as a payment.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "CreditCardPaymentInputV2",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutCompleteWithCreditCardV2Payload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutCompleteWithTokenizedPayment",
+ "description": "Completes a checkout with a tokenized payment.",
+ "args": [
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "payment",
+ "description": "The info to apply as a tokenized payment.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "TokenizedPaymentInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutCompleteWithTokenizedPaymentPayload",
+ "ofType": null
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutCompleteWithTokenizedPaymentV2` instead"
+ },
+ {
+ "name": "checkoutCompleteWithTokenizedPaymentV2",
+ "description": "Completes a checkout with a tokenized payment.",
+ "args": [
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "payment",
+ "description": "The info to apply as a tokenized payment.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "TokenizedPaymentInputV2",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutCompleteWithTokenizedPaymentV2Payload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutCreate",
+ "description": "Creates a new checkout.",
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "CheckoutCreateInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutCreatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutCustomerAssociate",
+ "description": "Associates a customer to the checkout.",
+ "args": [
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "customerAccessToken",
+ "description": "The customer access token of the customer to associate.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutCustomerAssociatePayload",
+ "ofType": null
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutCustomerAssociateV2` instead"
+ },
+ {
+ "name": "checkoutCustomerAssociateV2",
+ "description": "Associates a customer to the checkout.",
+ "args": [
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "customerAccessToken",
+ "description": "The customer access token of the customer to associate.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutCustomerAssociateV2Payload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutCustomerDisassociate",
+ "description": "Disassociates the current checkout customer from the checkout.",
+ "args": [
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutCustomerDisassociatePayload",
+ "ofType": null
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutCustomerDisassociateV2` instead"
+ },
+ {
+ "name": "checkoutCustomerDisassociateV2",
+ "description": "Disassociates the current checkout customer from the checkout.",
+ "args": [
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutCustomerDisassociateV2Payload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutDiscountCodeApply",
+ "description": "Applies a discount to an existing checkout using a discount code.",
+ "args": [
+ {
+ "name": "discountCode",
+ "description": "The discount code to apply to the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutDiscountCodeApplyPayload",
+ "ofType": null
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutDiscountCodeApplyV2` instead"
+ },
+ {
+ "name": "checkoutDiscountCodeApplyV2",
+ "description": "Applies a discount to an existing checkout using a discount code.",
+ "args": [
+ {
+ "name": "discountCode",
+ "description": "The discount code to apply to the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutDiscountCodeApplyV2Payload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutDiscountCodeRemove",
+ "description": "Removes the applied discount from an existing checkout.",
+ "args": [
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutDiscountCodeRemovePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutEmailUpdate",
+ "description": "Updates the email on an existing checkout.",
+ "args": [
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "email",
+ "description": "The email to update the checkout with.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutEmailUpdatePayload",
+ "ofType": null
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutEmailUpdateV2` instead"
+ },
+ {
+ "name": "checkoutEmailUpdateV2",
+ "description": "Updates the email on an existing checkout.",
+ "args": [
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "email",
+ "description": "The email to update the checkout with.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutEmailUpdateV2Payload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutGiftCardApply",
+ "description": "Applies a gift card to an existing checkout using a gift card code. This will replace all currently applied gift cards.",
+ "args": [
+ {
+ "name": "giftCardCode",
+ "description": "The code of the gift card to apply on the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutGiftCardApplyPayload",
+ "ofType": null
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutGiftCardsAppend` instead"
+ },
+ {
+ "name": "checkoutGiftCardRemove",
+ "description": "Removes an applied gift card from the checkout.",
+ "args": [
+ {
+ "name": "appliedGiftCardId",
+ "description": "The ID of the Applied Gift Card to remove from the Checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutGiftCardRemovePayload",
+ "ofType": null
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutGiftCardRemoveV2` instead"
+ },
+ {
+ "name": "checkoutGiftCardRemoveV2",
+ "description": "Removes an applied gift card from the checkout.",
+ "args": [
+ {
+ "name": "appliedGiftCardId",
+ "description": "The ID of the Applied Gift Card to remove from the Checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutGiftCardRemoveV2Payload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutGiftCardsAppend",
+ "description": "Appends gift cards to an existing checkout.",
+ "args": [
+ {
+ "name": "giftCardCodes",
+ "description": "A list of gift card codes to append to the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutGiftCardsAppendPayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutLineItemsAdd",
+ "description": "Adds a list of line items to a checkout.",
+ "args": [
+ {
+ "name": "lineItems",
+ "description": "A list of line item objects to add to the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "CheckoutLineItemInput",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutLineItemsAddPayload",
+ "ofType": null
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutLineItemsReplace` instead"
+ },
+ {
+ "name": "checkoutLineItemsRemove",
+ "description": "Removes line items from an existing checkout",
+ "args": [
+ {
+ "name": "checkoutId",
+ "description": "the checkout on which to remove line items",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "lineItemIds",
+ "description": "line item ids to remove",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutLineItemsRemovePayload",
+ "ofType": null
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutLineItemsReplace` instead"
+ },
+ {
+ "name": "checkoutLineItemsReplace",
+ "description": "Sets a list of line items to a checkout.",
+ "args": [
+ {
+ "name": "lineItems",
+ "description": "A list of line item objects to set on the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "CheckoutLineItemInput",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutLineItemsReplacePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutLineItemsUpdate",
+ "description": "Updates line items on a checkout.",
+ "args": [
+ {
+ "name": "checkoutId",
+ "description": "the checkout on which to update line items.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "lineItems",
+ "description": "line items to update.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "CheckoutLineItemUpdateInput",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutLineItemsUpdatePayload",
+ "ofType": null
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutLineItemsReplace` instead"
+ },
+ {
+ "name": "checkoutShippingAddressUpdate",
+ "description": "Updates the shipping address of an existing checkout.",
+ "args": [
+ {
+ "name": "shippingAddress",
+ "description": "The shipping address to where the line items will be shipped.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "MailingAddressInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutShippingAddressUpdatePayload",
+ "ofType": null
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutShippingAddressUpdateV2` instead"
+ },
+ {
+ "name": "checkoutShippingAddressUpdateV2",
+ "description": "Updates the shipping address of an existing checkout.",
+ "args": [
+ {
+ "name": "shippingAddress",
+ "description": "The shipping address to where the line items will be shipped.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "MailingAddressInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutShippingAddressUpdateV2Payload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutShippingLineUpdate",
+ "description": "Updates the shipping lines on an existing checkout.",
+ "args": [
+ {
+ "name": "checkoutId",
+ "description": "The ID of the checkout.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "shippingRateHandle",
+ "description": "A concatenation of a Checkout’s shipping provider, price, and title, enabling the customer to select the availableShippingRates.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CheckoutShippingLineUpdatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "customerAccessTokenCreate",
+ "description": "Creates a customer access token.\nThe customer access token is required to modify the customer object in any way.\n",
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "CustomerAccessTokenCreateInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CustomerAccessTokenCreatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "customerAccessTokenDelete",
+ "description": "Permanently destroys a customer access token.",
+ "args": [
+ {
+ "name": "customerAccessToken",
+ "description": "The access token used to identify the customer.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CustomerAccessTokenDeletePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "customerAccessTokenRenew",
+ "description": "Renews a customer access token.\n\nAccess token renewal must happen *before* a token expires.\nIf a token has already expired, a new one should be created instead via `customerAccessTokenCreate`.\n",
+ "args": [
+ {
+ "name": "customerAccessToken",
+ "description": "The access token used to identify the customer.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CustomerAccessTokenRenewPayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "customerActivate",
+ "description": "Activates a customer.",
+ "args": [
+ {
+ "name": "id",
+ "description": "Specifies the customer to activate.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "CustomerActivateInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CustomerActivatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "customerAddressCreate",
+ "description": "Creates a new address for a customer.",
+ "args": [
+ {
+ "name": "customerAccessToken",
+ "description": "The access token used to identify the customer.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "address",
+ "description": "The customer mailing address to create.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "MailingAddressInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CustomerAddressCreatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "customerAddressDelete",
+ "description": "Permanently deletes the address of an existing customer.",
+ "args": [
+ {
+ "name": "id",
+ "description": "Specifies the address to delete.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "customerAccessToken",
+ "description": "The access token used to identify the customer.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CustomerAddressDeletePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "customerAddressUpdate",
+ "description": "Updates the address of an existing customer.",
+ "args": [
+ {
+ "name": "customerAccessToken",
+ "description": "The access token used to identify the customer.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "id",
+ "description": "Specifies the customer address to update.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "address",
+ "description": "The customer’s mailing address.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "MailingAddressInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CustomerAddressUpdatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "customerCreate",
+ "description": "Creates a new customer.",
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "CustomerCreateInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CustomerCreatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "customerDefaultAddressUpdate",
+ "description": "Updates the default address of an existing customer.",
+ "args": [
+ {
+ "name": "customerAccessToken",
+ "description": "The access token used to identify the customer.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "addressId",
+ "description": "ID of the address to set as the new default for the customer.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CustomerDefaultAddressUpdatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "customerRecover",
+ "description": "Sends a reset password email to the customer, as the first step in the reset password process.",
+ "args": [
+ {
+ "name": "email",
+ "description": "The email address of the customer to recover.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CustomerRecoverPayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "customerReset",
+ "description": "Resets a customer’s password with a token received from `CustomerRecover`.",
+ "args": [
+ {
+ "name": "id",
+ "description": "Specifies the customer to reset.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "CustomerResetInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CustomerResetPayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "customerResetByUrl",
+ "description": "Resets a customer’s password with the reset password url received from `CustomerRecover`.",
+ "args": [
+ {
+ "name": "resetUrl",
+ "description": "The customer's reset password url.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "URL",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "password",
+ "description": "New password that will be set as part of the reset password process.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CustomerResetByUrlPayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "customerUpdate",
+ "description": "Updates an existing customer.",
+ "args": [
+ {
+ "name": "customerAccessToken",
+ "description": "The access token used to identify the customer.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "customer",
+ "description": "The customer object input.",
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "INPUT_OBJECT",
+ "name": "CustomerUpdateInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CustomerUpdatePayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutAttributesUpdatePayload",
+ "description": "Return type for `checkoutAttributesUpdate` mutation.",
+ "fields": [
+ {
+ "name": "checkout",
+ "description": "The updated checkout object.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "description": "Represents an error in the input of a mutation.",
+ "fields": [
+ {
+ "name": "field",
+ "description": "Path to the input field which caused the error.",
+ "args": [],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "message",
+ "description": "The error message.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+ {
+ "kind": "INTERFACE",
+ "name": "DisplayableError",
+ "ofType": null
+ }
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INTERFACE",
+ "name": "DisplayableError",
+ "description": "Represents an error in the input of a mutation.",
+ "fields": [
+ {
+ "name": "field",
+ "description": "Path to the input field which caused the error.",
+ "args": [],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "message",
+ "description": "The error message.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": [
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutUserError",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CustomerUserError",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ ]
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "CheckoutAttributesUpdateInput",
+ "description": "Specifies the fields required to update a checkout's attributes.",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "note",
+ "description": "The text of an optional note that a shop owner can attach to the checkout.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "customAttributes",
+ "description": "A list of extra information that is added to the checkout.",
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "AttributeInput",
+ "ofType": null
+ }
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "allowPartialAddresses",
+ "description": "Allows setting partial addresses on a Checkout, skipping the full validation of attributes.\nThe required attributes are city, province, and country.\nFull validation of the addresses is still done at complete time.\n",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ }
+ ],
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "AttributeInput",
+ "description": "Specifies the input fields required for an attribute.",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "key",
+ "description": "Key or name of the attribute.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "value",
+ "description": "Value of the attribute.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutCompleteWithCreditCardPayload",
+ "description": "Return type for `checkoutCompleteWithCreditCard` mutation.",
+ "fields": [
+ {
+ "name": "checkout",
+ "description": "The checkout on which the payment was applied.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "payment",
+ "description": "A representation of the attempted payment.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Payment",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Payment",
+ "description": "A payment applied to a checkout.",
+ "fields": [
+ {
+ "name": "amount",
+ "description": "The amount of the payment.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Money",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "billingAddress",
+ "description": "The billing address for the payment.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "MailingAddress",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkout",
+ "description": "The checkout to which the payment belongs.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "creditCard",
+ "description": "The credit card used for the payment in the case of direct payments.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CreditCard",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "errorMessage",
+ "description": "An message describing a processing error during asynchronous processing.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": "Globally unique identifier.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "idempotencyKey",
+ "description": "A client-side generated token to identify a payment and perform idempotent operations.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ready",
+ "description": "Whether or not the payment is still processing asynchronously.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "test",
+ "description": "A flag to indicate if the payment is to be done in test mode for gateways that support it.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "transaction",
+ "description": "The actual transaction recorded by Shopify after having processed the payment with the gateway.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Transaction",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+ {
+ "kind": "INTERFACE",
+ "name": "Node",
+ "ofType": null
+ }
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CreditCard",
+ "description": "Credit card information used for a payment.",
+ "fields": [
+ {
+ "name": "brand",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "expiryMonth",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "expiryYear",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "firstDigits",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "firstName",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "lastDigits",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "lastName",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "maskedNumber",
+ "description": "Masked credit card number with only the last 4 digits displayed",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Transaction",
+ "description": "An object representing exchange of money for a product or service.",
+ "fields": [
+ {
+ "name": "amount",
+ "description": "The amount of money that the transaction was for.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Money",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "kind",
+ "description": "The kind of the transaction.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "TransactionKind",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "status",
+ "description": "The status of the transaction",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "TransactionStatus",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "test",
+ "description": "Whether the transaction was done in test mode or not",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "TransactionKind",
+ "description": null,
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "SALE",
+ "description": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "CAPTURE",
+ "description": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "AUTHORIZATION",
+ "description": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "EMV_AUTHORIZATION",
+ "description": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "CHANGE",
+ "description": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "TransactionStatus",
+ "description": null,
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "PENDING",
+ "description": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "SUCCESS",
+ "description": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "FAILURE",
+ "description": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ERROR",
+ "description": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "CreditCardPaymentInput",
+ "description": "Specifies the fields required to complete a checkout with\na Shopify vaulted credit card payment.\n",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "amount",
+ "description": "The amount of the payment.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Money",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "idempotencyKey",
+ "description": "A unique client generated key used to avoid duplicate charges. When a duplicate payment is found, the original is returned instead of creating a new one.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "billingAddress",
+ "description": "The billing address for the payment.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "MailingAddressInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "vaultId",
+ "description": "The ID returned by Shopify's Card Vault.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "test",
+ "description": "Executes the payment in test mode if possible. Defaults to `false`.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ }
+ ],
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "MailingAddressInput",
+ "description": "Specifies the fields accepted to create or update a mailing address.",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "address1",
+ "description": null,
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "address2",
+ "description": null,
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "city",
+ "description": null,
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "company",
+ "description": null,
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "country",
+ "description": null,
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "firstName",
+ "description": null,
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "lastName",
+ "description": null,
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "phone",
+ "description": null,
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "province",
+ "description": null,
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "zip",
+ "description": null,
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutCompleteWithTokenizedPaymentPayload",
+ "description": "Return type for `checkoutCompleteWithTokenizedPayment` mutation.",
+ "fields": [
+ {
+ "name": "checkout",
+ "description": "The checkout on which the payment was applied.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "payment",
+ "description": "A representation of the attempted payment.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Payment",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
"ofType": null
}
- },
- "defaultValue": null
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "TokenizedPaymentInput",
+ "description": "Specifies the fields required to complete a checkout with\na tokenized payment.\n",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "amount",
+ "description": "The amount of the payment.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Money",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "idempotencyKey",
+ "description": "A unique client generated key used to avoid duplicate charges. When a duplicate payment is found, the original is returned instead of creating a new one.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "billingAddress",
+ "description": "The billing address for the payment.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "MailingAddressInput",
+ "ofType": null
}
- ],
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "type",
+ "description": "The type of payment token.",
"type": {
- "kind": "OBJECT",
- "name": "CheckoutShippingLineUpdatePayload",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "customerAccessTokenCreate",
- "description":
- "Creates a customer access token.\nThe customer access token is required to modify the customer object in any way.\n",
- "args": [
- {
- "name": "input",
- "description": null,
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "INPUT_OBJECT",
- "name": "CustomerAccessTokenCreateInput",
- "ofType": null
- }
- },
- "defaultValue": null
+ "name": "paymentData",
+ "description": "A simple string or JSON containing the required payment data for the tokenized payment.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
}
- ],
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "test",
+ "description": "Executes the payment in test mode if possible. Defaults to `false`.",
"type": {
- "kind": "OBJECT",
- "name": "CustomerAccessTokenCreatePayload",
+ "kind": "SCALAR",
+ "name": "Boolean",
"ofType": null
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": "false"
},
{
- "name": "customerAccessTokenDelete",
- "description": "Permanently destroys a customer access token.",
- "args": [
- {
- "name": "customerAccessToken",
- "description": "The access token used to identify the customer.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
- "defaultValue": null
- }
- ],
+ "name": "identifier",
+ "description": "Public Hash Key used for AndroidPay payments only.",
"type": {
- "kind": "OBJECT",
- "name": "CustomerAccessTokenDeletePayload",
+ "kind": "SCALAR",
+ "name": "String",
"ofType": null
},
+ "defaultValue": null
+ }
+ ],
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutCustomerAssociatePayload",
+ "description": "Return type for `checkoutCustomerAssociate` mutation.",
+ "fields": [
+ {
+ "name": "checkout",
+ "description": "The updated checkout object.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "customerAccessTokenRenew",
- "description": "Renews a customer access token.",
- "args": [
- {
- "name": "customerAccessToken",
- "description": "The access token used to identify the customer.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
- "defaultValue": null
- }
- ],
+ "name": "customer",
+ "description": "The associated customer object.",
+ "args": [],
"type": {
"kind": "OBJECT",
- "name": "CustomerAccessTokenRenewPayload",
+ "name": "Customer",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "customerActivate",
- "description": "Activates a customer.",
- "args": [
- {
- "name": "id",
- "description": "Specifies the customer to activate.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "input",
- "description": null,
- "type": {
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "INPUT_OBJECT",
- "name": "CustomerActivateInput",
+ "kind": "OBJECT",
+ "name": "UserError",
"ofType": null
}
- },
- "defaultValue": null
+ }
}
- ],
- "type": {
- "kind": "OBJECT",
- "name": "CustomerActivatePayload",
- "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutCustomerDisassociatePayload",
+ "description": "Return type for `checkoutCustomerDisassociate` mutation.",
+ "fields": [
{
- "name": "customerAddressCreate",
- "description": "Creates a new address for a customer.",
- "args": [
- {
- "name": "customerAccessToken",
- "description": "The access token used to identify the customer.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "address",
- "description": "The customer mailing address to create.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "INPUT_OBJECT",
- "name": "MailingAddressInput",
- "ofType": null
- }
- },
- "defaultValue": null
- }
- ],
+ "name": "checkout",
+ "description": "The updated checkout object.",
+ "args": [],
"type": {
- "kind": "OBJECT",
- "name": "CustomerAddressCreatePayload",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "customerAddressDelete",
- "description": "Permanently deletes the address of an existing customer.",
- "args": [
- {
- "name": "id",
- "description": "Specifies the address to delete.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "customerAccessToken",
- "description": "The access token used to identify the customer.",
- "type": {
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "OBJECT",
+ "name": "UserError",
"ofType": null
}
- },
- "defaultValue": null
+ }
}
- ],
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutDiscountCodeApplyPayload",
+ "description": "Return type for `checkoutDiscountCodeApply` mutation.",
+ "fields": [
+ {
+ "name": "checkout",
+ "description": "The updated checkout object.",
+ "args": [],
"type": {
- "kind": "OBJECT",
- "name": "CustomerAddressDeletePayload",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "customerAddressUpdate",
- "description": "Updates the address of an existing customer.",
- "args": [
- {
- "name": "customerAccessToken",
- "description": "The access token used to identify the customer.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "id",
- "description": "Specifies the customer address to update.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "address",
- "description": "The customer’s mailing address.",
- "type": {
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "INPUT_OBJECT",
- "name": "MailingAddressInput",
+ "kind": "OBJECT",
+ "name": "UserError",
"ofType": null
}
- },
- "defaultValue": null
+ }
}
- ],
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutEmailUpdatePayload",
+ "description": "Return type for `checkoutEmailUpdate` mutation.",
+ "fields": [
+ {
+ "name": "checkout",
+ "description": "The checkout object with the updated email.",
+ "args": [],
"type": {
- "kind": "OBJECT",
- "name": "CustomerAddressUpdatePayload",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "customerCreate",
- "description": "Creates a new customer.",
- "args": [
- {
- "name": "input",
- "description": null,
- "type": {
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "INPUT_OBJECT",
- "name": "CustomerCreateInput",
+ "kind": "OBJECT",
+ "name": "UserError",
"ofType": null
}
- },
- "defaultValue": null
+ }
}
- ],
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutGiftCardApplyPayload",
+ "description": "Return type for `checkoutGiftCardApply` mutation.",
+ "fields": [
+ {
+ "name": "checkout",
+ "description": "The updated checkout object.",
+ "args": [],
"type": {
- "kind": "OBJECT",
- "name": "CustomerCreatePayload",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "customerRecover",
- "description":
- "Sends a reset password email to the customer, as the first step in the reset password process.",
- "args": [
- {
- "name": "email",
- "description": "The email address of the customer to recover.",
- "type": {
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "OBJECT",
+ "name": "UserError",
"ofType": null
}
- },
- "defaultValue": null
+ }
}
- ],
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutGiftCardRemovePayload",
+ "description": "Return type for `checkoutGiftCardRemove` mutation.",
+ "fields": [
+ {
+ "name": "checkout",
+ "description": "The updated checkout object.",
+ "args": [],
"type": {
- "kind": "OBJECT",
- "name": "CustomerRecoverPayload",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "customerReset",
- "description": "Resets a customer’s password with a token received from `CustomerRecover`.",
- "args": [
- {
- "name": "id",
- "description": "Specifies the customer to reset.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "input",
- "description": null,
- "type": {
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "INPUT_OBJECT",
- "name": "CustomerResetInput",
+ "kind": "OBJECT",
+ "name": "UserError",
"ofType": null
}
- },
- "defaultValue": null
+ }
}
- ],
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutShippingAddressUpdatePayload",
+ "description": "Return type for `checkoutShippingAddressUpdate` mutation.",
+ "fields": [
+ {
+ "name": "checkout",
+ "description": "The updated checkout object.",
+ "args": [],
"type": {
- "kind": "OBJECT",
- "name": "CustomerResetPayload",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "customerUpdate",
- "description": "Updates an existing customer.",
- "args": [
- {
- "name": "customerAccessToken",
- "description": "The access token used to identify the customer.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
- "defaultValue": null
- },
- {
- "name": "customer",
- "description": "The customer object input.",
- "type": {
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "INPUT_OBJECT",
- "name": "CustomerUpdateInput",
+ "kind": "OBJECT",
+ "name": "UserError",
"ofType": null
}
- },
- "defaultValue": null
+ }
}
- ],
- "type": {
- "kind": "OBJECT",
- "name": "CustomerUpdatePayload",
- "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
@@ -8796,20 +14396,40 @@
},
{
"kind": "OBJECT",
- "name": "CheckoutAttributesUpdatePayload",
- "description": null,
+ "name": "CheckoutAttributesUpdateV2Payload",
+ "description": "Return type for `checkoutAttributesUpdateV2` mutation.",
"fields": [
{
"name": "checkout",
"description": "The updated checkout object.",
"args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutUserErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "OBJECT",
- "name": "Checkout",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CheckoutUserError",
+ "ofType": null
+ }
+ }
}
},
"isDeprecated": false,
@@ -8836,24 +14456,248 @@
}
}
},
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutUserErrors` instead"
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutUserError",
+ "description": "Represents an error that happens during execution of a checkout mutation.",
+ "fields": [
+ {
+ "name": "code",
+ "description": "Error code to uniquely identify the error.",
+ "args": [],
+ "type": {
+ "kind": "ENUM",
+ "name": "CheckoutErrorCode",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "field",
+ "description": "Path to the input field which caused the error.",
+ "args": [],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "message",
+ "description": "The error message.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+ {
+ "kind": "INTERFACE",
+ "name": "DisplayableError",
+ "ofType": null
+ }
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "CheckoutErrorCode",
+ "description": "Possible error codes that could be returned by a checkout mutation.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "BLANK",
+ "description": "Input value is blank.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "INVALID",
+ "description": "Input value is invalid.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "TOO_LONG",
+ "description": "Input value is too long.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "PRESENT",
+ "description": "Input value is not present.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "LESS_THAN",
+ "description": "Input value should be less than maximum allowed value.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ALREADY_COMPLETED",
+ "description": "Checkout is already completed.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "LOCKED",
+ "description": "Checkout is locked.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "NOT_SUPPORTED",
+ "description": "Input value is not supported.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "INVALID_FOR_COUNTRY_AND_PROVINCE",
+ "description": "Input Zip is invalid for country and province provided.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "INVALID_STATE_IN_COUNTRY",
+ "description": "Invalid state in country.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "INVALID_PROVINCE_IN_COUNTRY",
+ "description": "Invalid province in country.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "INVALID_REGION_IN_COUNTRY",
+ "description": "Invalid region in country.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "SHIPPING_RATE_EXPIRED",
+ "description": "Shipping rate expired.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "GIFT_CARD_UNUSABLE",
+ "description": "Gift card unusable.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "CART_DOES_NOT_MEET_DISCOUNT_REQUIREMENTS_NOTICE",
+ "description": "Cart does not meet discount requirements notice.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "DISCOUNT_EXPIRED",
+ "description": "Discount expired.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "DISCOUNT_DISABLED",
+ "description": "Discount disabled.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "DISCOUNT_LIMIT_REACHED",
+ "description": "Discount limit reached.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "DISCOUNT_NOT_FOUND",
+ "description": "Discount not found.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "CUSTOMER_ALREADY_USED_ONCE_PER_CUSTOMER_DISCOUNT_NOTICE",
+ "description": "Customer already used once per customer discount notice.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "EMPTY",
+ "description": "Checkout is already completed.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "NOT_ENOUGH_IN_STOCK",
+ "description": "Not enough in stock.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "MISSING_PAYMENT_INPUT",
+ "description": "Missing payment input.",
"isDeprecated": false,
"deprecationReason": null
}
],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
"possibleTypes": null
},
{
- "kind": "OBJECT",
- "name": "UserError",
- "description": "Represents an error in the input of a mutation.",
- "fields": [
+ "kind": "INPUT_OBJECT",
+ "name": "CheckoutAttributesUpdateV2Input",
+ "description": "Specifies the fields required to update a checkout's attributes.",
+ "fields": null,
+ "inputFields": [
{
- "name": "field",
- "description": "Path to input field which caused the error.",
- "args": [],
+ "name": "note",
+ "description": "The text of an optional note that a shop owner can attach to the checkout.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "customAttributes",
+ "description": "A list of extra information that is added to the checkout.",
"type": {
"kind": "LIST",
"name": null,
@@ -8861,126 +14705,49 @@
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "INPUT_OBJECT",
+ "name": "AttributeInput",
"ofType": null
}
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "message",
- "description": "The error message.",
- "args": [],
+ "name": "allowPartialAddresses",
+ "description": "Allows setting partial addresses on a Checkout, skipping the full validation of attributes.\nThe required attributes are city, province, and country.\nFull validation of the addresses is still done at complete time.\n",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": "false"
}
],
- "inputFields": null,
- "interfaces": [],
+ "interfaces": null,
"enumValues": null,
"possibleTypes": null
},
{
"kind": "OBJECT",
- "name": "Checkout",
- "description": "A container for all the information required to checkout items and pay.",
+ "name": "CheckoutCompleteWithCreditCardV2Payload",
+ "description": "Return type for `checkoutCompleteWithCreditCardV2` mutation.",
"fields": [
{
- "name": "appliedGiftCards",
- "description": null,
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "AppliedGiftCard",
- "ofType": null
- }
- }
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "availableShippingRates",
- "description":
- "The available shipping rates for this Checkout.\nShould only be used when checkout `requiresShipping` is `true` and\nthe shipping address is valid.\n",
+ "name": "checkout",
+ "description": "The checkout on which the payment was applied.",
"args": [],
"type": {
"kind": "OBJECT",
- "name": "AvailableShippingRates",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "completedAt",
- "description": "The date and time when the checkout was completed.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "DateTime",
+ "name": "Checkout",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "createdAt",
- "description": "The date and time when the checkout was created.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "DateTime",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "currencyCode",
- "description": "The currency code for the Checkout.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "ENUM",
- "name": "CurrencyCode",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "customAttributes",
- "description": "A list of extra information that is added to the checkout.",
+ "name": "checkoutUserErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
@@ -8993,7 +14760,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "Attribute",
+ "name": "CheckoutUserError",
"ofType": null
}
}
@@ -9003,341 +14770,426 @@
"deprecationReason": null
},
{
- "name": "customer",
- "description": "The customer associated with the checkout.",
+ "name": "payment",
+ "description": "A representation of the attempted payment.",
"args": [],
"type": {
"kind": "OBJECT",
- "name": "Customer",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "email",
- "description": "The email attached to this checkout.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
+ "name": "Payment",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "id",
- "description": "Globally unique identifier.",
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "lineItems",
- "description":
- "A list of line item objects, each one containing information about an item in the checkout.",
- "args": [
- {
- "name": "first",
- "description": null,
- "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "Int",
+ "kind": "OBJECT",
+ "name": "UserError",
"ofType": null
}
- },
- "defaultValue": null
- },
- {
- "name": "after",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "reverse",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "defaultValue": "false"
+ }
}
- ],
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutUserErrors` instead"
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "CreditCardPaymentInputV2",
+ "description": "Specifies the fields required to complete a checkout with\na Shopify vaulted credit card payment.\n",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "paymentAmount",
+ "description": "The amount and currency of the payment.",
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "OBJECT",
- "name": "CheckoutLineItemConnection",
+ "kind": "INPUT_OBJECT",
+ "name": "MoneyInput",
"ofType": null
}
},
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "note",
- "description": null,
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "order",
- "description": "The resulting order from a paid checkout.",
- "args": [],
- "type": {
- "kind": "OBJECT",
- "name": "Order",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "orderStatusUrl",
- "description": "The Order Status Page for this Checkout, null when checkout is not completed.",
- "args": [],
+ "name": "idempotencyKey",
+ "description": "A unique client generated key used to avoid duplicate charges. When a duplicate payment is found, the original is returned instead of creating a new one.",
"type": {
- "kind": "SCALAR",
- "name": "URL",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "paymentDue",
- "description":
- "The amount left to be paid. This is equal to the cost of the line items, taxes and shipping minus discounts and gift cards.",
- "args": [],
+ "name": "billingAddress",
+ "description": "The billing address for the payment.",
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "Money",
+ "kind": "INPUT_OBJECT",
+ "name": "MailingAddressInput",
"ofType": null
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "ready",
- "description":
- "Whether or not the Checkout is ready and can be completed. Checkouts may have asynchronous operations that can take time to finish. If you want to complete a checkout or ensure all the fields are populated and up to date, polling is required until the value is true. ",
- "args": [],
+ "name": "vaultId",
+ "description": "The ID returned by Shopify's Card Vault.",
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "Boolean",
+ "name": "String",
"ofType": null
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "requiresShipping",
- "description": "States whether or not the fulfillment requires shipping.",
- "args": [],
+ "name": "test",
+ "description": "Executes the payment in test mode if possible. Defaults to `false`.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ }
+ ],
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "MoneyInput",
+ "description": "Specifies the fields for a monetary value with currency.",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "amount",
+ "description": "Decimal money amount.",
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "Boolean",
+ "name": "Decimal",
"ofType": null
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "shippingAddress",
- "description": "The shipping address to where the line items will be shipped.",
+ "name": "currencyCode",
+ "description": "Currency of the money.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "CurrencyCode",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutCompleteWithTokenizedPaymentV2Payload",
+ "description": "Return type for `checkoutCompleteWithTokenizedPaymentV2` mutation.",
+ "fields": [
+ {
+ "name": "checkout",
+ "description": "The checkout on which the payment was applied.",
"args": [],
"type": {
"kind": "OBJECT",
- "name": "MailingAddress",
+ "name": "Checkout",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "shippingLine",
- "description":
- "Once a shipping rate is selected by the customer it is transitioned to a `shipping_line` object.",
+ "name": "payment",
+ "description": "A representation of the attempted payment.",
"args": [],
"type": {
"kind": "OBJECT",
- "name": "ShippingRate",
+ "name": "Payment",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "subtotalPrice",
- "description": "Price of the checkout before shipping, taxes, and discounts.",
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "Money",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
}
},
"isDeprecated": false,
"deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "TokenizedPaymentInputV2",
+ "description": "Specifies the fields required to complete a checkout with\na tokenized payment.\n",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "paymentAmount",
+ "description": "The amount and currency of the payment.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "MoneyInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
},
{
- "name": "taxExempt",
- "description": "Specifies if the Checkout is tax exempt.",
- "args": [],
+ "name": "idempotencyKey",
+ "description": "A unique client generated key used to avoid duplicate charges. When a duplicate payment is found, the original is returned instead of creating a new one.",
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "Boolean",
+ "name": "String",
"ofType": null
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "taxesIncluded",
- "description": "Specifies if taxes are included in the line item and shipping line prices.",
- "args": [],
+ "name": "billingAddress",
+ "description": "The billing address for the payment.",
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "Boolean",
+ "kind": "INPUT_OBJECT",
+ "name": "MailingAddressInput",
"ofType": null
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "totalPrice",
- "description":
- "The sum of all the prices of all the items in the checkout, taxes and discounts included.",
- "args": [],
+ "name": "type",
+ "description": "The type of payment token.",
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "Money",
+ "name": "String",
"ofType": null
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "totalTax",
- "description": "The sum of all the taxes applied to the line items and shipping lines in the checkout.",
- "args": [],
+ "name": "paymentData",
+ "description": "A simple string or JSON containing the required payment data for the tokenized payment.",
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "Money",
+ "name": "String",
"ofType": null
}
},
+ "defaultValue": null
+ },
+ {
+ "name": "test",
+ "description": "Executes the payment in test mode if possible. Defaults to `false`.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ },
+ {
+ "name": "identifier",
+ "description": "Public Hash Key used for AndroidPay payments only.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutCustomerAssociateV2Payload",
+ "description": "Return type for `checkoutCustomerAssociateV2` mutation.",
+ "fields": [
+ {
+ "name": "checkout",
+ "description": "The updated checkout object.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "updatedAt",
- "description": "The date and time when the checkout was last updated.",
+ "name": "checkoutUserErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "DateTime",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CheckoutUserError",
+ "ofType": null
+ }
+ }
}
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "webUrl",
- "description": "The url pointing to the checkout accessible from the web.",
+ "name": "customer",
+ "description": "The associated customer object.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Customer",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "URL",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutUserErrors` instead"
}
],
"inputFields": null,
- "interfaces": [
- {
- "kind": "INTERFACE",
- "name": "Node",
- "ofType": null
- }
- ],
+ "interfaces": [],
"enumValues": null,
"possibleTypes": null
},
{
"kind": "OBJECT",
- "name": "CheckoutLineItemConnection",
- "description": null,
+ "name": "CheckoutCustomerDisassociateV2Payload",
+ "description": "Return type for `checkoutCustomerDisassociateV2` mutation.",
"fields": [
{
- "name": "edges",
- "description": "A list of edges.",
+ "name": "checkout",
+ "description": "The updated checkout object.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutUserErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
@@ -9350,7 +15202,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "CheckoutLineItemEdge",
+ "name": "CheckoutUserError",
"ofType": null
}
}
@@ -9360,20 +15212,28 @@
"deprecationReason": null
},
{
- "name": "pageInfo",
- "description": "Information to aid in pagination.",
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "OBJECT",
- "name": "PageInfo",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutUserErrors` instead"
}
],
"inputFields": null,
@@ -9383,40 +15243,68 @@
},
{
"kind": "OBJECT",
- "name": "CheckoutLineItemEdge",
- "description": null,
+ "name": "CheckoutDiscountCodeApplyV2Payload",
+ "description": "Return type for `checkoutDiscountCodeApplyV2` mutation.",
"fields": [
{
- "name": "cursor",
- "description": "A cursor for use in pagination.",
+ "name": "checkout",
+ "description": "The updated checkout object.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutUserErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CheckoutUserError",
+ "ofType": null
+ }
+ }
}
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "node",
- "description": "The item at the end of CheckoutLineItemEdge.",
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "OBJECT",
- "name": "CheckoutLineItem",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutUserErrors` instead"
}
],
"inputFields": null,
@@ -9426,12 +15314,24 @@
},
{
"kind": "OBJECT",
- "name": "CheckoutLineItem",
- "description": "A single line item in the checkout, grouped by variant and attributes.",
+ "name": "CheckoutCompleteFreePayload",
+ "description": "Return type for `checkoutCompleteFree` mutation.",
"fields": [
{
- "name": "customAttributes",
- "description": "Extra information in the form of an array of Key-Value pairs about the line item.",
+ "name": "checkout",
+ "description": "The updated checkout object.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutUserErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
@@ -9444,7 +15344,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "Attribute",
+ "name": "CheckoutUserError",
"ofType": null
}
}
@@ -9454,162 +15354,163 @@
"deprecationReason": null
},
{
- "name": "id",
- "description": "Globally unique identifier.",
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
}
},
- "isDeprecated": false,
- "deprecationReason": null
- },
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutUserErrors` instead"
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutCreatePayload",
+ "description": "Return type for `checkoutCreate` mutation.",
+ "fields": [
{
- "name": "quantity",
- "description": "The quantity of the line item.",
+ "name": "checkout",
+ "description": "The new checkout object.",
"args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- }
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "title",
- "description": "Title of the line item. Defaults to the product's title.",
+ "name": "checkoutUserErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CheckoutUserError",
+ "ofType": null
+ }
+ }
}
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "variant",
- "description": "Product variant of the line item.",
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
- "kind": "OBJECT",
- "name": "ProductVariant",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
+ }
},
- "isDeprecated": false,
- "deprecationReason": null
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutUserErrors` instead"
}
],
"inputFields": null,
- "interfaces": [
- {
- "kind": "INTERFACE",
- "name": "Node",
- "ofType": null
- }
- ],
+ "interfaces": [],
"enumValues": null,
"possibleTypes": null
},
{
- "kind": "OBJECT",
- "name": "ShippingRate",
- "description": "A shipping rate to be applied to a checkout.",
- "fields": [
+ "kind": "INPUT_OBJECT",
+ "name": "CheckoutCreateInput",
+ "description": "Specifies the fields required to create a checkout.",
+ "fields": null,
+ "inputFields": [
{
- "name": "handle",
- "description": "Human-readable unique identifier for this shipping rate.",
- "args": [],
+ "name": "email",
+ "description": "The email with which the customer wants to checkout.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "price",
- "description": "Price of this shipping rate.",
- "args": [],
+ "name": "lineItems",
+ "description": "A list of line item objects, each one containing information about an item in the checkout.",
"type": {
- "kind": "NON_NULL",
+ "kind": "LIST",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "Money",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "CheckoutLineItemInput",
+ "ofType": null
+ }
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "title",
- "description": "Title of this shipping rate.",
- "args": [],
+ "name": "shippingAddress",
+ "description": "The shipping address to where the line items will be shipped.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
+ "kind": "INPUT_OBJECT",
+ "name": "MailingAddressInput",
+ "ofType": null
},
- "isDeprecated": false,
- "deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "AvailableShippingRates",
- "description": "A collection of available shipping rates for a checkout.",
- "fields": [
+ "defaultValue": null
+ },
{
- "name": "ready",
- "description":
- "Whether or not the shipping rates are ready.\nThe `shippingRates` field is `null` when this value is `false`.\nThis field should be polled until its value becomes `true`.\n",
- "args": [],
+ "name": "note",
+ "description": "The text of an optional note that a shop owner can attach to the checkout.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "shippingRates",
- "description": "The fetched shipping rates. `null` until the `ready` field is `true`.",
- "args": [],
+ "name": "customAttributes",
+ "description": "A list of extra information that is added to the checkout.",
"type": {
"kind": "LIST",
"name": null,
@@ -9617,62 +15518,70 @@
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "OBJECT",
- "name": "ShippingRate",
+ "kind": "INPUT_OBJECT",
+ "name": "AttributeInput",
"ofType": null
}
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
+ },
+ {
+ "name": "allowPartialAddresses",
+ "description": "Allows setting partial addresses on a Checkout, skipping the full validation of attributes.\nThe required attributes are city, province, and country.\nFull validation of addresses is still done at complete time.\n",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": null
}
],
- "inputFields": null,
- "interfaces": [],
+ "interfaces": null,
"enumValues": null,
"possibleTypes": null
},
{
- "kind": "OBJECT",
- "name": "AppliedGiftCard",
- "description": "Details about the gift card used on the checkout.",
- "fields": [
+ "kind": "INPUT_OBJECT",
+ "name": "CheckoutLineItemInput",
+ "description": "Specifies the input fields to create a line item on a checkout.",
+ "fields": null,
+ "inputFields": [
{
- "name": "amountUsed",
- "description": "The amount that was used taken from the Gift Card by applying it.",
- "args": [],
+ "name": "customAttributes",
+ "description": "Extra information in the form of an array of Key-Value pairs about the line item.",
"type": {
- "kind": "NON_NULL",
+ "kind": "LIST",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "Money",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "AttributeInput",
+ "ofType": null
+ }
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "balance",
- "description": "The amount left on the Gift Card.",
- "args": [],
+ "name": "quantity",
+ "description": "The quantity of the line item.",
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "Money",
+ "name": "Int",
"ofType": null
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "id",
- "description": "Globally unique identifier.",
- "args": [],
+ "name": "variantId",
+ "description": "The identifier of the product variant for the line item.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -9682,130 +15591,159 @@
"ofType": null
}
},
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "lastCharacters",
- "description": "The last characters of the Gift Card code",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [
- {
- "kind": "INTERFACE",
- "name": "Node",
- "ofType": null
+ "defaultValue": null
}
],
+ "interfaces": null,
"enumValues": null,
"possibleTypes": null
},
{
- "kind": "INPUT_OBJECT",
- "name": "CheckoutAttributesUpdateInput",
- "description": "Specifies the fields required to update a checkout's attributes.\n",
- "fields": null,
- "inputFields": [
+ "kind": "OBJECT",
+ "name": "CheckoutEmailUpdateV2Payload",
+ "description": "Return type for `checkoutEmailUpdateV2` mutation.",
+ "fields": [
{
- "name": "note",
- "description": "The text of an optional note that a shop owner can attach to the checkout.",
+ "name": "checkout",
+ "description": "The checkout object with the updated email.",
+ "args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "OBJECT",
+ "name": "Checkout",
"ofType": null
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "customAttributes",
- "description": "A list of extra information that is added to the checkout.",
+ "name": "checkoutUserErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
"type": {
- "kind": "LIST",
+ "kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "NON_NULL",
+ "kind": "LIST",
"name": null,
"ofType": {
- "kind": "INPUT_OBJECT",
- "name": "AttributeInput",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CheckoutUserError",
+ "ofType": null
+ }
}
}
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "allowPartialAddresses",
- "description":
- "Allows setting partial addresses on a Checkout, skipping the full validation of attributes.\nThe required attributes are city, province, and country.\nFull validation of the addresses is still done at complete time.\n",
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
"type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
+ }
},
- "defaultValue": "false"
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutUserErrors` instead"
}
],
- "interfaces": null,
+ "inputFields": null,
+ "interfaces": [],
"enumValues": null,
"possibleTypes": null
},
{
- "kind": "INPUT_OBJECT",
- "name": "AttributeInput",
- "description": "Specifies the input fields required for an attribute.",
- "fields": null,
- "inputFields": [
+ "kind": "OBJECT",
+ "name": "CheckoutDiscountCodeRemovePayload",
+ "description": "Return type for `checkoutDiscountCodeRemove` mutation.",
+ "fields": [
{
- "name": "key",
- "description": null,
+ "name": "checkout",
+ "description": "The updated checkout object.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "checkoutUserErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CheckoutUserError",
+ "ofType": null
+ }
+ }
}
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "value",
- "description": null,
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
}
},
- "defaultValue": null
+ "isDeprecated": true,
+ "deprecationReason": "Use `checkoutUserErrors` instead"
}
],
- "interfaces": null,
+ "inputFields": null,
+ "interfaces": [],
"enumValues": null,
"possibleTypes": null
},
{
"kind": "OBJECT",
- "name": "CheckoutCompleteFreePayload",
- "description": null,
+ "name": "CheckoutGiftCardsAppendPayload",
+ "description": "Return type for `checkoutGiftCardsAppend` mutation.",
"fields": [
{
"name": "checkout",
@@ -9851,32 +15789,16 @@
},
{
"kind": "OBJECT",
- "name": "CheckoutCompleteWithCreditCardPayload",
- "description": null,
+ "name": "CheckoutGiftCardRemoveV2Payload",
+ "description": "Return type for `checkoutGiftCardRemoveV2` mutation.",
"fields": [
{
"name": "checkout",
- "description": "The checkout on which the payment was applied.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "Checkout",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "payment",
- "description": "A representation of the attempted payment.",
+ "description": "The updated checkout object.",
"args": [],
"type": {
"kind": "OBJECT",
- "name": "Payment",
+ "name": "Checkout",
"ofType": null
},
"isDeprecated": false,
@@ -9914,334 +15836,287 @@
},
{
"kind": "OBJECT",
- "name": "Payment",
- "description": "A payment applied to a checkout.",
+ "name": "CheckoutLineItemsAddPayload",
+ "description": "Return type for `checkoutLineItemsAdd` mutation.",
"fields": [
- {
- "name": "amount",
- "description": "The amount of the payment.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Money",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "billingAddress",
- "description": "The billing address for the payment.",
- "args": [],
- "type": {
- "kind": "OBJECT",
- "name": "MailingAddress",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
{
"name": "checkout",
- "description": "The checkout to which the payment belongs.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "Checkout",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "creditCard",
- "description": "The credit card used for the payment in the case of direct payments.",
+ "description": "The updated checkout object.",
"args": [],
"type": {
"kind": "OBJECT",
- "name": "CreditCard",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "errorMessage",
- "description": "An message describing a processing error during asynchronous processing.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
+ "name": "Checkout",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "id",
- "description": "Globally unique identifier.",
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "ID",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
}
},
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutLineItemsRemovePayload",
+ "description": "Return type for `checkoutLineItemsRemove` mutation.",
+ "fields": [
{
- "name": "idempotencyKey",
- "description": "A client-side generated token to identify a payment and perform idempotent operations.",
+ "name": "checkout",
+ "description": null,
"args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "OBJECT",
+ "name": "Checkout",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ready",
- "description": "Whether or not the payment is still processing asynchronously.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "test",
- "description":
- "A flag to indicate if the payment is to be done in test mode for gateways that support it.",
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
}
},
"isDeprecated": false,
"deprecationReason": null
- },
- {
- "name": "transaction",
- "description":
- "The actual transaction recorded by Shopify after having processed the payment with the gateway.",
- "args": [],
- "type": {
- "kind": "OBJECT",
- "name": "Transaction",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
}
],
"inputFields": null,
- "interfaces": [
- {
- "kind": "INTERFACE",
- "name": "Node",
- "ofType": null
- }
- ],
+ "interfaces": [],
"enumValues": null,
"possibleTypes": null
},
{
"kind": "OBJECT",
- "name": "CreditCard",
- "description": "Credit card information used for a payment.",
+ "name": "CheckoutLineItemsUpdatePayload",
+ "description": "Return type for `checkoutLineItemsUpdate` mutation.",
"fields": [
{
- "name": "brand",
- "description": null,
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "expiryMonth",
- "description": null,
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "expiryYear",
- "description": null,
+ "name": "checkout",
+ "description": "The updated checkout object.",
"args": [],
"type": {
- "kind": "SCALAR",
- "name": "Int",
+ "kind": "OBJECT",
+ "name": "Checkout",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "firstDigits",
- "description": null,
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
+ }
},
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "CheckoutLineItemUpdateInput",
+ "description": "Specifies the input fields to update a line item on the checkout.",
+ "fields": null,
+ "inputFields": [
{
- "name": "firstName",
+ "name": "id",
"description": null,
- "args": [],
"type": {
"kind": "SCALAR",
- "name": "String",
+ "name": "ID",
"ofType": null
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "lastDigits",
- "description": null,
- "args": [],
+ "name": "variantId",
+ "description": "The variant identifier of the line item.",
"type": {
"kind": "SCALAR",
- "name": "String",
+ "name": "ID",
"ofType": null
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "lastName",
- "description": null,
- "args": [],
+ "name": "quantity",
+ "description": "The quantity of the line item.",
"type": {
"kind": "SCALAR",
- "name": "String",
+ "name": "Int",
"ofType": null
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
},
{
- "name": "maskedNumber",
- "description": "Masked credit card number with only the last 4 digits displayed",
- "args": [],
+ "name": "customAttributes",
+ "description": "Extra information in the form of an array of Key-Value pairs about the line item.",
"type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "AttributeInput",
+ "ofType": null
+ }
+ }
},
- "isDeprecated": false,
- "deprecationReason": null
+ "defaultValue": null
}
],
- "inputFields": null,
- "interfaces": [],
+ "interfaces": null,
"enumValues": null,
"possibleTypes": null
},
{
"kind": "OBJECT",
- "name": "Transaction",
- "description": "An object representing exchange of money for a product or service.",
+ "name": "CheckoutLineItemsReplacePayload",
+ "description": "Return type for `checkoutLineItemsReplace` mutation.",
"fields": [
{
- "name": "amount",
- "description": "The amount of money that the transaction was for.",
+ "name": "checkout",
+ "description": "The updated checkout object.",
"args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Money",
- "ofType": null
- }
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "kind",
- "description": "The kind of the transaction.",
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "ENUM",
- "name": "TransactionKind",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CheckoutUserError",
+ "ofType": null
+ }
+ }
}
},
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CheckoutShippingAddressUpdateV2Payload",
+ "description": "Return type for `checkoutShippingAddressUpdateV2` mutation.",
+ "fields": [
{
- "name": "status",
- "description": "The status of the transaction",
+ "name": "checkout",
+ "description": "The updated checkout object.",
"args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "ENUM",
- "name": "TransactionStatus",
- "ofType": null
- }
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "test",
- "description": "Whether the transaction was done in test mode or not",
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
}
},
"isDeprecated": false,
@@ -10254,134 +16129,164 @@
"possibleTypes": null
},
{
- "kind": "ENUM",
- "name": "TransactionKind",
- "description": null,
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": [
- {
- "name": "SALE",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "CAPTURE",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "AUTHORIZATION",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
+ "kind": "OBJECT",
+ "name": "CheckoutShippingLineUpdatePayload",
+ "description": "Return type for `checkoutShippingLineUpdate` mutation.",
+ "fields": [
{
- "name": "EMV_AUTHORIZATION",
- "description": null,
+ "name": "checkout",
+ "description": "The updated checkout object.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Checkout",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "CHANGE",
- "description": null,
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
}
],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
"possibleTypes": null
},
{
- "kind": "ENUM",
- "name": "TransactionStatus",
- "description": null,
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": [
- {
- "name": "PENDING",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "SUCCESS",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- },
+ "kind": "OBJECT",
+ "name": "CustomerAccessTokenCreatePayload",
+ "description": "Return type for `customerAccessTokenCreate` mutation.",
+ "fields": [
{
- "name": "FAILURE",
- "description": null,
+ "name": "customerAccessToken",
+ "description": "The newly created customer access token object.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CustomerAccessToken",
+ "ofType": null
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ERROR",
- "description": null,
- "isDeprecated": false,
- "deprecationReason": null
- }
- ],
- "possibleTypes": null
- },
- {
- "kind": "INPUT_OBJECT",
- "name": "CreditCardPaymentInput",
- "description":
- "Specifies the fields required to complete a checkout with\na Shopify vaulted credit card payment.\n",
- "fields": null,
- "inputFields": [
- {
- "name": "amount",
- "description": "The amount of the payment.",
+ "name": "customerUserErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "Money",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CustomerUserError",
+ "ofType": null
+ }
+ }
}
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "idempotencyKey",
- "description":
- "A unique client generated key used to avoid duplicate charges. When a duplicate payment is found, the original is returned instead of creating a new one.",
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
}
},
- "defaultValue": null
+ "isDeprecated": true,
+ "deprecationReason": "Use `customerUserErrors` instead"
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CustomerUserError",
+ "description": "Represents an error that happens during execution of a customer mutation.",
+ "fields": [
+ {
+ "name": "code",
+ "description": "Error code to uniquely identify the error.",
+ "args": [],
+ "type": {
+ "kind": "ENUM",
+ "name": "CustomerErrorCode",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "billingAddress",
- "description": "The billing address for the payment.",
+ "name": "field",
+ "description": "Path to the input field which caused the error.",
+ "args": [],
"type": {
- "kind": "NON_NULL",
+ "kind": "LIST",
"name": null,
"ofType": {
- "kind": "INPUT_OBJECT",
- "name": "MailingAddressInput",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
}
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "vaultId",
- "description": "The ID returned by Shopify's Card Vault.",
+ "name": "message",
+ "description": "The error message.",
+ "args": [],
"type": {
"kind": "NON_NULL",
"name": null,
@@ -10391,221 +16296,119 @@
"ofType": null
}
},
- "defaultValue": null
- },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
{
- "name": "test",
- "description": "Executes the payment in test mode if possible. Defaults to `false`.",
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "defaultValue": "false"
+ "kind": "INTERFACE",
+ "name": "DisplayableError",
+ "ofType": null
}
],
- "interfaces": null,
"enumValues": null,
"possibleTypes": null
},
{
- "kind": "INPUT_OBJECT",
- "name": "MailingAddressInput",
- "description": "Specifies the fields accepted to create or update a mailing address.",
+ "kind": "ENUM",
+ "name": "CustomerErrorCode",
+ "description": "Possible error codes that could be returned by a customer mutation.",
"fields": null,
- "inputFields": [
- {
- "name": "address1",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
- },
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
{
- "name": "address2",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
+ "name": "BLANK",
+ "description": "Input value is blank.",
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "city",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
+ "name": "INVALID",
+ "description": "Input value is invalid.",
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "company",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
+ "name": "TAKEN",
+ "description": "Input value is already taken.",
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "country",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
+ "name": "TOO_LONG",
+ "description": "Input value is too long.",
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "firstName",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
+ "name": "TOO_SHORT",
+ "description": "Input value is too short.",
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "lastName",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
+ "name": "UNIDENTIFIED_CUSTOMER",
+ "description": "Unidentified customer.",
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "phone",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
+ "name": "CUSTOMER_DISABLED",
+ "description": "Customer is disabled.",
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "province",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
+ "name": "PASSWORD_STARTS_OR_ENDS_WITH_WHITESPACE",
+ "description": "Input password starts or ends with whitespace.",
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "zip",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
- }
- ],
- "interfaces": null,
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "CheckoutCompleteWithTokenizedPaymentPayload",
- "description": null,
- "fields": [
- {
- "name": "checkout",
- "description": "The checkout on which the payment was applied.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "Checkout",
- "ofType": null
- }
- },
+ "name": "CONTAINS_HTML_TAGS",
+ "description": "Input contains HTML tags.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "payment",
- "description": "A representation of the attempted payment.",
- "args": [],
- "type": {
- "kind": "OBJECT",
- "name": "Payment",
- "ofType": null
- },
+ "name": "CONTAINS_URL",
+ "description": "Input contains URL.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "userErrors",
- "description": "List of errors that occurred executing the mutation.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "UserError",
- "ofType": null
- }
- }
- }
- },
+ "name": "TOKEN_INVALID",
+ "description": "Invalid activation token.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ALREADY_ENABLED",
+ "description": "Customer already enabled.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "NOT_FOUND",
+ "description": "Address does not exist.",
"isDeprecated": false,
"deprecationReason": null
}
],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
"possibleTypes": null
},
{
- "kind": "INPUT_OBJECT",
- "name": "TokenizedPaymentInput",
- "description": "Specifies the fields required to complete a checkout with\na tokenized payment.\n",
- "fields": null,
- "inputFields": [
- {
- "name": "amount",
- "description": "The amount of the payment.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "Money",
- "ofType": null
- }
- },
- "defaultValue": null
- },
+ "kind": "OBJECT",
+ "name": "CustomerAccessToken",
+ "description": "A CustomerAccessToken represents the unique token required to make modifications to the customer object.",
+ "fields": [
{
- "name": "idempotencyKey",
- "description":
- "A unique client generated key used to avoid duplicate charges. When a duplicate payment is found, the original is returned instead of creating a new one.",
+ "name": "accessToken",
+ "description": "The customer’s access token.",
+ "args": [],
"type": {
"kind": "NON_NULL",
"name": null,
@@ -10615,25 +16418,40 @@
"ofType": null
}
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "billingAddress",
- "description": "The billing address for the payment.",
+ "name": "expiresAt",
+ "description": "The date and time when the customer access token expires.",
+ "args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "INPUT_OBJECT",
- "name": "MailingAddressInput",
+ "kind": "SCALAR",
+ "name": "DateTime",
"ofType": null
}
},
- "defaultValue": null
- },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "CustomerAccessTokenCreateInput",
+ "description": "Specifies the input fields required to create a customer access token.",
+ "fields": null,
+ "inputFields": [
{
- "name": "type",
- "description": "The type of payment token.",
+ "name": "email",
+ "description": "The email associated to the customer.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -10646,8 +16464,8 @@
"defaultValue": null
},
{
- "name": "paymentData",
- "description": "A simple string or JSON containing the required payment data for the tokenized payment.",
+ "name": "password",
+ "description": "The login password to be used by the customer.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -10658,26 +16476,6 @@
}
},
"defaultValue": null
- },
- {
- "name": "test",
- "description": "Executes the payment in test mode if possible. Defaults to `false`.",
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "defaultValue": "false"
- },
- {
- "name": "identifier",
- "description": "Public Hash Key used for AndroidPay payments only.",
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
}
],
"interfaces": null,
@@ -10686,16 +16484,28 @@
},
{
"kind": "OBJECT",
- "name": "CheckoutCreatePayload",
- "description": null,
+ "name": "CustomerAccessTokenDeletePayload",
+ "description": "Return type for `customerAccessTokenDelete` mutation.",
"fields": [
{
- "name": "checkout",
- "description": "The new checkout object.",
+ "name": "deletedAccessToken",
+ "description": "The destroyed access token.",
"args": [],
"type": {
- "kind": "OBJECT",
- "name": "Checkout",
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "deletedCustomerAccessTokenId",
+ "description": "ID of the destroyed customer access token.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
"ofType": null
},
"isDeprecated": false,
@@ -10732,141 +16542,164 @@
"possibleTypes": null
},
{
- "kind": "INPUT_OBJECT",
- "name": "CheckoutCreateInput",
- "description": "Specifies the fields required to create a checkout.\n",
- "fields": null,
- "inputFields": [
+ "kind": "OBJECT",
+ "name": "CustomerAccessTokenRenewPayload",
+ "description": "Return type for `customerAccessTokenRenew` mutation.",
+ "fields": [
{
- "name": "email",
- "description": "The email with which the customer wants to checkout.",
+ "name": "customerAccessToken",
+ "description": "The renewed customer access token object.",
+ "args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "OBJECT",
+ "name": "CustomerAccessToken",
"ofType": null
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "lineItems",
- "description":
- "A list of line item objects, each one containing information about an item in the checkout.",
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
"type": {
- "kind": "LIST",
+ "kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "NON_NULL",
+ "kind": "LIST",
"name": null,
"ofType": {
- "kind": "INPUT_OBJECT",
- "name": "CheckoutLineItemInput",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
}
}
},
- "defaultValue": null
- },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "CustomerActivatePayload",
+ "description": "Return type for `customerActivate` mutation.",
+ "fields": [
{
- "name": "shippingAddress",
- "description": "The shipping address to where the line items will be shipped.",
+ "name": "customer",
+ "description": "The customer object.",
+ "args": [],
"type": {
- "kind": "INPUT_OBJECT",
- "name": "MailingAddressInput",
+ "kind": "OBJECT",
+ "name": "Customer",
"ofType": null
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "note",
- "description": "The text of an optional note that a shop owner can attach to the checkout.",
+ "name": "customerAccessToken",
+ "description": "A newly created customer access token object for the customer.",
+ "args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "OBJECT",
+ "name": "CustomerAccessToken",
"ofType": null
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "customAttributes",
- "description": "A list of extra information that is added to the checkout.",
+ "name": "customerUserErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
"type": {
- "kind": "LIST",
+ "kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "NON_NULL",
+ "kind": "LIST",
"name": null,
"ofType": {
- "kind": "INPUT_OBJECT",
- "name": "AttributeInput",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CustomerUserError",
+ "ofType": null
+ }
}
}
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "allowPartialAddresses",
- "description":
- "Allows setting partial addresses on a Checkout, skipping the full validation of attributes.\nThe required attributes are city, province, and country.\nFull validation of addresses is still done at complete time.\n",
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "defaultValue": null
- }
- ],
- "interfaces": null,
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "INPUT_OBJECT",
- "name": "CheckoutLineItemInput",
- "description": "Specifies the input fields to create a line item on a checkout.",
- "fields": null,
- "inputFields": [
- {
- "name": "customAttributes",
- "description": "Extra information in the form of an array of Key-Value pairs about the line item.",
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
"type": {
- "kind": "LIST",
+ "kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "NON_NULL",
+ "kind": "LIST",
"name": null,
"ofType": {
- "kind": "INPUT_OBJECT",
- "name": "AttributeInput",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
}
}
},
- "defaultValue": null
- },
+ "isDeprecated": true,
+ "deprecationReason": "Use `customerUserErrors` instead"
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "CustomerActivateInput",
+ "description": "Specifies the input fields required to activate a customer.",
+ "fields": null,
+ "inputFields": [
{
- "name": "quantity",
- "description": "The quantity of the line item.",
+ "name": "activationToken",
+ "description": "The activation token required to activate the customer.",
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "Int",
+ "name": "String",
"ofType": null
}
},
"defaultValue": null
},
{
- "name": "variantId",
- "description": "The identifier of the product variant for the line item.",
+ "name": "password",
+ "description": "New password that will be set during activation.",
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "String",
"ofType": null
}
},
@@ -10879,27 +16712,23 @@
},
{
"kind": "OBJECT",
- "name": "CheckoutCustomerAssociatePayload",
- "description": null,
+ "name": "CustomerAddressCreatePayload",
+ "description": "Return type for `customerAddressCreate` mutation.",
"fields": [
{
- "name": "checkout",
- "description": "The updated checkout object.",
+ "name": "customerAddress",
+ "description": "The new customer address object.",
"args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "Checkout",
- "ofType": null
- }
+ "kind": "OBJECT",
+ "name": "MailingAddress",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "userErrors",
+ "name": "customerUserErrors",
"description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
@@ -10913,7 +16742,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "UserError",
+ "name": "CustomerUserError",
"ofType": null
}
}
@@ -10921,33 +16750,6 @@
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "CheckoutCustomerDisassociatePayload",
- "description": null,
- "fields": [
- {
- "name": "checkout",
- "description": "The updated checkout object.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "Checkout",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
},
{
"name": "userErrors",
@@ -10970,8 +16772,8 @@
}
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "isDeprecated": true,
+ "deprecationReason": "Use `customerUserErrors` instead"
}
],
"inputFields": null,
@@ -10981,27 +16783,11 @@
},
{
"kind": "OBJECT",
- "name": "CheckoutEmailUpdatePayload",
- "description": null,
+ "name": "CustomerAddressDeletePayload",
+ "description": "Return type for `customerAddressDelete` mutation.",
"fields": [
{
- "name": "checkout",
- "description": "The checkout object with the updated email.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "Checkout",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "userErrors",
+ "name": "customerUserErrors",
"description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
@@ -11015,7 +16801,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "UserError",
+ "name": "CustomerUserError",
"ofType": null
}
}
@@ -11023,30 +16809,15 @@
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "CheckoutGiftCardApplyPayload",
- "description": null,
- "fields": [
+ },
{
- "name": "checkout",
- "description": "The updated checkout object.",
+ "name": "deletedCustomerAddressId",
+ "description": "ID of the deleted customer address.",
"args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "Checkout",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
@@ -11072,8 +16843,8 @@
}
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "isDeprecated": true,
+ "deprecationReason": "Use `customerUserErrors` instead"
}
],
"inputFields": null,
@@ -11083,27 +16854,23 @@
},
{
"kind": "OBJECT",
- "name": "CheckoutGiftCardRemovePayload",
- "description": null,
+ "name": "CustomerAddressUpdatePayload",
+ "description": "Return type for `customerAddressUpdate` mutation.",
"fields": [
{
- "name": "checkout",
- "description": "The updated checkout object.",
+ "name": "customerAddress",
+ "description": "The customer’s updated mailing address.",
"args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "Checkout",
- "ofType": null
- }
+ "kind": "OBJECT",
+ "name": "MailingAddress",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "userErrors",
+ "name": "customerUserErrors",
"description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
@@ -11117,7 +16884,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "UserError",
+ "name": "CustomerUserError",
"ofType": null
}
}
@@ -11125,29 +16892,6 @@
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "CheckoutLineItemsAddPayload",
- "description": null,
- "fields": [
- {
- "name": "checkout",
- "description": "The updated checkout object.",
- "args": [],
- "type": {
- "kind": "OBJECT",
- "name": "Checkout",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
},
{
"name": "userErrors",
@@ -11170,8 +16914,8 @@
}
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "isDeprecated": true,
+ "deprecationReason": "Use `customerUserErrors` instead"
}
],
"inputFields": null,
@@ -11181,23 +16925,23 @@
},
{
"kind": "OBJECT",
- "name": "CheckoutLineItemsRemovePayload",
- "description": null,
+ "name": "CustomerCreatePayload",
+ "description": "Return type for `customerCreate` mutation.",
"fields": [
{
- "name": "checkout",
- "description": null,
+ "name": "customer",
+ "description": "The created customer object.",
"args": [],
"type": {
"kind": "OBJECT",
- "name": "Checkout",
+ "name": "Customer",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "userErrors",
+ "name": "customerUserErrors",
"description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
@@ -11211,7 +16955,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "UserError",
+ "name": "CustomerUserError",
"ofType": null
}
}
@@ -11219,29 +16963,6 @@
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "CheckoutLineItemsUpdatePayload",
- "description": null,
- "fields": [
- {
- "name": "checkout",
- "description": "The updated checkout object.",
- "args": [],
- "type": {
- "kind": "OBJECT",
- "name": "Checkout",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
},
{
"name": "userErrors",
@@ -11264,8 +16985,8 @@
}
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "isDeprecated": true,
+ "deprecationReason": "Use `customerUserErrors` instead"
}
],
"inputFields": null,
@@ -11275,57 +16996,77 @@
},
{
"kind": "INPUT_OBJECT",
- "name": "CheckoutLineItemUpdateInput",
- "description": "Specifies the input fields to update a line item on the checkout.",
+ "name": "CustomerCreateInput",
+ "description": "Specifies the fields required to create a new Customer.",
"fields": null,
"inputFields": [
{
- "name": "id",
- "description": null,
+ "name": "firstName",
+ "description": "The customer’s first name.",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "String",
"ofType": null
},
"defaultValue": null
},
{
- "name": "variantId",
- "description": "The variant identifier of the line item.",
+ "name": "lastName",
+ "description": "The customer’s last name.",
"type": {
"kind": "SCALAR",
- "name": "ID",
+ "name": "String",
"ofType": null
},
"defaultValue": null
},
{
- "name": "quantity",
- "description": "The quantity of the line item.",
+ "name": "email",
+ "description": "The customer’s email.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "phone",
+ "description": "The customer’s phone number.",
"type": {
"kind": "SCALAR",
- "name": "Int",
+ "name": "String",
"ofType": null
},
"defaultValue": null
},
{
- "name": "customAttributes",
- "description": "Extra information in the form of an array of Key-Value pairs about the line item.",
+ "name": "password",
+ "description": "The login password used by the customer.",
"type": {
- "kind": "LIST",
+ "kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "INPUT_OBJECT",
- "name": "AttributeInput",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
}
},
"defaultValue": null
+ },
+ {
+ "name": "acceptsMarketing",
+ "description": "Indicates whether the customer has consented to be sent marketing material via email.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": null
}
],
"interfaces": null,
@@ -11334,20 +17075,40 @@
},
{
"kind": "OBJECT",
- "name": "CheckoutShippingAddressUpdatePayload",
- "description": null,
+ "name": "CustomerDefaultAddressUpdatePayload",
+ "description": "Return type for `customerDefaultAddressUpdate` mutation.",
"fields": [
{
- "name": "checkout",
- "description": "The updated checkout object.",
+ "name": "customer",
+ "description": "The updated customer object.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Customer",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "customerUserErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "OBJECT",
- "name": "Checkout",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CustomerUserError",
+ "ofType": null
+ }
+ }
}
},
"isDeprecated": false,
@@ -11374,8 +17135,8 @@
}
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "isDeprecated": true,
+ "deprecationReason": "Use `customerUserErrors` instead"
}
],
"inputFields": null,
@@ -11385,17 +17146,29 @@
},
{
"kind": "OBJECT",
- "name": "CheckoutShippingLineUpdatePayload",
- "description": null,
+ "name": "CustomerRecoverPayload",
+ "description": "Return type for `customerRecover` mutation.",
"fields": [
{
- "name": "checkout",
- "description": "The updated checkout object.",
+ "name": "customerUserErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
- "kind": "OBJECT",
- "name": "Checkout",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CustomerUserError",
+ "ofType": null
+ }
+ }
+ }
},
"isDeprecated": false,
"deprecationReason": null
@@ -11421,8 +17194,8 @@
}
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "isDeprecated": true,
+ "deprecationReason": "Use `customerUserErrors` instead"
}
],
"inputFields": null,
@@ -11432,12 +17205,24 @@
},
{
"kind": "OBJECT",
- "name": "CustomerAccessTokenCreatePayload",
- "description": null,
+ "name": "CustomerResetPayload",
+ "description": "Return type for `customerReset` mutation.",
"fields": [
+ {
+ "name": "customer",
+ "description": "The customer object which was reset.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Customer",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
{
"name": "customerAccessToken",
- "description": "The newly created customer access token object.",
+ "description": "A newly created customer access token object for the customer.",
"args": [],
"type": {
"kind": "OBJECT",
@@ -11448,7 +17233,7 @@
"deprecationReason": null
},
{
- "name": "userErrors",
+ "name": "customerUserErrors",
"description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
@@ -11462,7 +17247,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "UserError",
+ "name": "CustomerUserError",
"ofType": null
}
}
@@ -11470,50 +17255,30 @@
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "CustomerAccessToken",
- "description":
- "A CustomerAccessToken represents the unique token required to make modifications to the customer object.",
- "fields": [
- {
- "name": "accessToken",
- "description": "The customer’s access token.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
},
{
- "name": "expiresAt",
- "description": "The date and time when the customer access token expires.",
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "DateTime",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "isDeprecated": true,
+ "deprecationReason": "Use `customerUserErrors` instead"
}
],
"inputFields": null,
@@ -11523,13 +17288,13 @@
},
{
"kind": "INPUT_OBJECT",
- "name": "CustomerAccessTokenCreateInput",
- "description": "Specifies the input fields required to create a customer access token.",
+ "name": "CustomerResetInput",
+ "description": "Specifies the fields required to reset a Customer’s password.",
"fields": null,
"inputFields": [
{
- "name": "email",
- "description": "The email associated to the customer.",
+ "name": "resetToken",
+ "description": "The reset token required to reset the customer’s password.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -11543,7 +17308,7 @@
},
{
"name": "password",
- "description": "The login password to be used by the customer.",
+ "description": "New password that will be set as part of the reset password process.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -11562,35 +17327,35 @@
},
{
"kind": "OBJECT",
- "name": "CustomerAccessTokenDeletePayload",
- "description": null,
+ "name": "CustomerResetByUrlPayload",
+ "description": "Return type for `customerResetByUrl` mutation.",
"fields": [
{
- "name": "deletedAccessToken",
- "description": "The destroyed access token.",
+ "name": "customer",
+ "description": "The customer object which was reset.",
"args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "OBJECT",
+ "name": "Customer",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "deletedCustomerAccessTokenId",
- "description": "ID of the destroyed customer access token.",
+ "name": "customerAccessToken",
+ "description": "A newly created customer access token object for the customer.",
"args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "OBJECT",
+ "name": "CustomerAccessToken",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "userErrors",
+ "name": "customerUserErrors",
"description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
@@ -11604,7 +17369,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "UserError",
+ "name": "CustomerUserError",
"ofType": null
}
}
@@ -11612,29 +17377,6 @@
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "CustomerAccessTokenRenewPayload",
- "description": null,
- "fields": [
- {
- "name": "customerAccessToken",
- "description": "The renewed customer access token object.",
- "args": [],
- "type": {
- "kind": "OBJECT",
- "name": "CustomerAccessToken",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
},
{
"name": "userErrors",
@@ -11657,8 +17399,8 @@
}
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "isDeprecated": true,
+ "deprecationReason": "Use `customerUserErrors` instead"
}
],
"inputFields": null,
@@ -11668,12 +17410,12 @@
},
{
"kind": "OBJECT",
- "name": "CustomerActivatePayload",
- "description": null,
+ "name": "CustomerUpdatePayload",
+ "description": "Return type for `customerUpdate` mutation.",
"fields": [
{
"name": "customer",
- "description": "The customer object.",
+ "description": "The updated customer object.",
"args": [],
"type": {
"kind": "OBJECT",
@@ -11684,7 +17426,19 @@
"deprecationReason": null
},
{
- "name": "userErrors",
+ "name": "customerAccessToken",
+ "description": "The newly created customer access token. If the customer's password is updated, all previous access tokens\n(including the one used to perform this mutation) become invalid, and a new token is generated.\n",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "CustomerAccessToken",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "customerUserErrors",
"description": "List of errors that occurred executing the mutation.",
"args": [],
"type": {
@@ -11698,7 +17452,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "UserError",
+ "name": "CustomerUserError",
"ofType": null
}
}
@@ -11706,6 +17460,30 @@
},
"isDeprecated": false,
"deprecationReason": null
+ },
+ {
+ "name": "userErrors",
+ "description": "List of errors that occurred executing the mutation.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserError",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `customerUserErrors` instead"
}
],
"inputFields": null,
@@ -11715,21 +17493,47 @@
},
{
"kind": "INPUT_OBJECT",
- "name": "CustomerActivateInput",
- "description": "Specifies the input fields required to activate a customer.",
+ "name": "CustomerUpdateInput",
+ "description": "Specifies the fields required to update the Customer information.",
"fields": null,
"inputFields": [
{
- "name": "activationToken",
- "description": "The activation token required to activate the customer",
+ "name": "firstName",
+ "description": "The customer’s first name.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "lastName",
+ "description": "The customer’s last name.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "email",
+ "description": "The customer’s email.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "phone",
+ "description": "The customer’s phone number.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
"defaultValue": null
},
@@ -11737,13 +17541,19 @@
"name": "password",
"description": "The login password used by the customer.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "acceptsMarketing",
+ "description": "Indicates whether the customer has consented to be sent marketing material via email.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
},
"defaultValue": null
}
@@ -11754,24 +17564,12 @@
},
{
"kind": "OBJECT",
- "name": "CustomerAddressCreatePayload",
- "description": null,
+ "name": "__Schema",
+ "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",
"fields": [
{
- "name": "customerAddress",
- "description": "The new customer address object.",
- "args": [],
- "type": {
- "kind": "OBJECT",
- "name": "MailingAddress",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "userErrors",
- "description": "List of errors that occurred executing the mutation.",
+ "name": "directives",
+ "description": "A list of all directives supported by this server.",
"args": [],
"type": {
"kind": "NON_NULL",
@@ -11784,7 +17582,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "UserError",
+ "name": "__Directive",
"ofType": null
}
}
@@ -11792,80 +17590,50 @@
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "CustomerAddressDeletePayload",
- "description": null,
- "fields": [
+ },
{
- "name": "deletedCustomerAddressId",
- "description": "ID of the deleted customer address.",
+ "name": "mutationType",
+ "description": "If this server supports mutation, the type that mutation operations will be rooted at.",
"args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "OBJECT",
+ "name": "__Type",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "userErrors",
- "description": "List of errors that occurred executing the mutation.",
+ "name": "queryType",
+ "description": "The type that query operations will be rooted at.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "UserError",
- "ofType": null
- }
- }
+ "kind": "OBJECT",
+ "name": "__Type",
+ "ofType": null
}
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "CustomerAddressUpdatePayload",
- "description": null,
- "fields": [
+ },
{
- "name": "customerAddress",
- "description": "The customer’s updated mailing address.",
+ "name": "subscriptionType",
+ "description": "If this server support subscription, the type that subscription operations will be rooted at.",
"args": [],
"type": {
"kind": "OBJECT",
- "name": "MailingAddress",
+ "name": "__Type",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "userErrors",
- "description": "List of errors that occurred executing the mutation.",
+ "name": "types",
+ "description": "A list of all types supported by this server.",
"args": [],
"type": {
"kind": "NON_NULL",
@@ -11878,7 +17646,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "UserError",
+ "name": "__Type",
"ofType": null
}
}
@@ -11895,271 +17663,221 @@
},
{
"kind": "OBJECT",
- "name": "CustomerCreatePayload",
- "description": null,
+ "name": "__Type",
+ "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",
"fields": [
{
- "name": "customer",
- "description": "The created customer object.",
+ "name": "description",
+ "description": null,
"args": [],
"type": {
- "kind": "OBJECT",
- "name": "Customer",
+ "kind": "SCALAR",
+ "name": "String",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "userErrors",
- "description": "List of errors that occurred executing the mutation.",
- "args": [],
+ "name": "enumValues",
+ "description": null,
+ "args": [
+ {
+ "name": "includeDeprecated",
+ "description": null,
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ }
+ ],
"type": {
- "kind": "NON_NULL",
+ "kind": "LIST",
"name": null,
"ofType": {
- "kind": "LIST",
+ "kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "UserError",
- "ofType": null
- }
+ "kind": "OBJECT",
+ "name": "__EnumValue",
+ "ofType": null
}
}
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "INPUT_OBJECT",
- "name": "CustomerCreateInput",
- "description": "Specifies the fields required to create a new Customer.",
- "fields": null,
- "inputFields": [
- {
- "name": "firstName",
- "description": "The customer’s first name.",
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
},
{
- "name": "lastName",
- "description": "The customer’s last name.",
+ "name": "fields",
+ "description": null,
+ "args": [
+ {
+ "name": "includeDeprecated",
+ "description": null,
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ }
+ ],
"type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "__Field",
+ "ofType": null
+ }
+ }
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "email",
- "description": "The customer’s email.",
+ "name": "inputFields",
+ "description": null,
+ "args": [],
"type": {
- "kind": "NON_NULL",
+ "kind": "LIST",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "__InputValue",
+ "ofType": null
+ }
}
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "phone",
- "description": "The customer’s phone number.",
+ "name": "interfaces",
+ "description": null,
+ "args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "__Type",
+ "ofType": null
+ }
+ }
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "password",
- "description": "The login password used by the customer.",
+ "name": "kind",
+ "description": null,
+ "args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "ENUM",
+ "name": "__TypeKind",
"ofType": null
}
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "acceptsMarketing",
- "description": "Indicates whether the customer has consented to be sent marketing material via email.",
+ "name": "name",
+ "description": null,
+ "args": [],
"type": {
"kind": "SCALAR",
- "name": "Boolean",
+ "name": "String",
"ofType": null
},
- "defaultValue": null
- }
- ],
- "interfaces": null,
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "CustomerRecoverPayload",
- "description": null,
- "fields": [
- {
- "name": "userErrors",
- "description": "List of errors that occurred executing the mutation.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "UserError",
- "ofType": null
- }
- }
- }
- },
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "CustomerResetPayload",
- "description": null,
- "fields": [
+ },
{
- "name": "customer",
- "description": "The customer object which was reset.",
+ "name": "ofType",
+ "description": null,
"args": [],
"type": {
"kind": "OBJECT",
- "name": "Customer",
+ "name": "__Type",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "userErrors",
- "description": "List of errors that occurred executing the mutation.",
+ "name": "possibleTypes",
+ "description": null,
"args": [],
"type": {
- "kind": "NON_NULL",
+ "kind": "LIST",
"name": null,
"ofType": {
- "kind": "LIST",
+ "kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "UserError",
- "ofType": null
- }
+ "kind": "OBJECT",
+ "name": "__Type",
+ "ofType": null
}
}
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "INPUT_OBJECT",
- "name": "CustomerResetInput",
- "description": "Specifies the fields required to reset a Customer’s password.",
- "fields": null,
- "inputFields": [
- {
- "name": "resetToken",
- "description": "The reset token required to reset the customer’s password.",
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
- "defaultValue": null
},
{
- "name": "password",
- "description": "New password that will be set as part of the reset password process.",
+ "name": "requiredAccess",
+ "description": null,
+ "args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
}
],
- "interfaces": null,
+ "inputFields": null,
+ "interfaces": [],
"enumValues": null,
"possibleTypes": null
},
{
"kind": "OBJECT",
- "name": "CustomerUpdatePayload",
- "description": null,
+ "name": "__Field",
+ "description": "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",
"fields": [
{
- "name": "customer",
- "description": "The updated customer object.",
+ "name": "accessRestrictedReason",
+ "description": null,
"args": [],
"type": {
- "kind": "OBJECT",
- "name": "Customer",
+ "kind": "SCALAR",
+ "name": "String",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "userErrors",
- "description": "List of errors that occurred executing the mutation.",
+ "name": "args",
+ "description": null,
"args": [],
"type": {
"kind": "NON_NULL",
@@ -12172,7 +17890,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "UserError",
+ "name": "__InputValue",
"ofType": null
}
}
@@ -12180,93 +17898,121 @@
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "INPUT_OBJECT",
- "name": "CustomerUpdateInput",
- "description": "Specifies the fields required to update the Customer information.",
- "fields": null,
- "inputFields": [
+ },
{
- "name": "firstName",
- "description": "The customer’s first name.",
+ "name": "deprecationReason",
+ "description": null,
+ "args": [],
"type": {
"kind": "SCALAR",
"name": "String",
"ofType": null
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "lastName",
- "description": "The customer’s last name.",
+ "name": "description",
+ "description": null,
+ "args": [],
"type": {
"kind": "SCALAR",
"name": "String",
"ofType": null
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "email",
- "description": "The customer’s email.",
+ "name": "isAccessRestricted",
+ "description": null,
+ "args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "phone",
- "description": "The customer’s phone number.",
+ "name": "isDeprecated",
+ "description": null,
+ "args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "password",
- "description": "The login password used by the customer.",
+ "name": "name",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "requiredAccess",
+ "description": null,
+ "args": [],
"type": {
"kind": "SCALAR",
"name": "String",
"ofType": null
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "acceptsMarketing",
- "description": "Indicates whether the customer has consented to be sent marketing material via email.",
+ "name": "type",
+ "description": null,
+ "args": [],
"type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "__Type",
+ "ofType": null
+ }
},
- "defaultValue": null
+ "isDeprecated": false,
+ "deprecationReason": null
}
],
- "interfaces": null,
+ "inputFields": null,
+ "interfaces": [],
"enumValues": null,
"possibleTypes": null
},
{
"kind": "OBJECT",
- "name": "__Schema",
- "description":
- "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",
+ "name": "__Directive",
+ "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.",
"fields": [
{
- "name": "directives",
- "description": "A list of all directives supported by this server.",
+ "name": "args",
+ "description": null,
"args": [],
"type": {
"kind": "NON_NULL",
@@ -12279,7 +18025,7 @@
"name": null,
"ofType": {
"kind": "OBJECT",
- "name": "__Directive",
+ "name": "__InputValue",
"ofType": null
}
}
@@ -12289,69 +18035,104 @@
"deprecationReason": null
},
{
- "name": "mutationType",
- "description": "If this server supports mutation, the type that mutation operations will be rooted at.",
+ "name": "description",
+ "description": null,
"args": [],
"type": {
- "kind": "OBJECT",
- "name": "__Type",
+ "kind": "SCALAR",
+ "name": "String",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "queryType",
- "description": "The type that query operations will be rooted at.",
+ "name": "locations",
+ "description": null,
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "OBJECT",
- "name": "__Type",
- "ofType": null
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "__DirectiveLocation",
+ "ofType": null
+ }
+ }
}
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "subscriptionType",
- "description":
- "If this server support subscription, the type that subscription operations will be rooted at.",
+ "name": "name",
+ "description": null,
"args": [],
"type": {
- "kind": "OBJECT",
- "name": "__Type",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "types",
- "description": "A list of all types supported by this server.",
+ "name": "onField",
+ "description": null,
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "__Type",
- "ofType": null
- }
- }
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
}
},
- "isDeprecated": false,
- "deprecationReason": null
+ "isDeprecated": true,
+ "deprecationReason": "Use `locations`."
+ },
+ {
+ "name": "onFragment",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `locations`."
+ },
+ {
+ "name": "onOperation",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": true,
+ "deprecationReason": "Use `locations`."
}
],
"inputFields": null,
@@ -12361,12 +18142,11 @@
},
{
"kind": "OBJECT",
- "name": "__Type",
- "description":
- "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",
+ "name": "__EnumValue",
+ "description": "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",
"fields": [
{
- "name": "description",
+ "name": "deprecationReason",
"description": null,
"args": [],
"type": {
@@ -12378,125 +18158,74 @@
"deprecationReason": null
},
{
- "name": "enumValues",
- "description": null,
- "args": [
- {
- "name": "includeDeprecated",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "defaultValue": "false"
- }
- ],
- "type": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "__EnumValue",
- "ofType": null
- }
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "fields",
+ "name": "description",
"description": null,
- "args": [
- {
- "name": "includeDeprecated",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "Boolean",
- "ofType": null
- },
- "defaultValue": "false"
- }
- ],
+ "args": [],
"type": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "__Field",
- "ofType": null
- }
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "inputFields",
+ "name": "isDeprecated",
"description": null,
"args": [],
"type": {
- "kind": "LIST",
+ "kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "__InputValue",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
}
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "interfaces",
+ "name": "name",
"description": null,
"args": [],
"type": {
- "kind": "LIST",
+ "kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "__Type",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
}
},
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "__InputValue",
+ "description": "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",
+ "fields": [
{
- "name": "kind",
- "description": null,
+ "name": "defaultValue",
+ "description": "A GraphQL-formatted string representing the default value for this input value.",
"args": [],
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "ENUM",
- "name": "__TypeKind",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "name",
+ "name": "description",
"description": null,
"args": [],
"type": {
@@ -12508,32 +18237,32 @@
"deprecationReason": null
},
{
- "name": "ofType",
+ "name": "name",
"description": null,
"args": [],
"type": {
- "kind": "OBJECT",
- "name": "__Type",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "possibleTypes",
+ "name": "type",
"description": null,
"args": [],
"type": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "__Type",
- "ofType": null
- }
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "__Type",
+ "ofType": null
}
},
"isDeprecated": false,
@@ -12605,81 +18334,139 @@
"possibleTypes": null
},
{
- "kind": "OBJECT",
- "name": "__Field",
- "description":
- "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",
- "fields": [
+ "kind": "ENUM",
+ "name": "__DirectiveLocation",
+ "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
{
- "name": "accessRestrictedReason",
- "description": null,
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
+ "name": "QUERY",
+ "description": "Location adjacent to a query operation.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "args",
- "description": null,
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "__InputValue",
- "ofType": null
- }
- }
- }
- },
+ "name": "MUTATION",
+ "description": "Location adjacent to a mutation operation.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "deprecationReason",
- "description": null,
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
+ "name": "SUBSCRIPTION",
+ "description": "Location adjacent to a subscription operation.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "description",
- "description": null,
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
+ "name": "FIELD",
+ "description": "Location adjacent to a field.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "isAccessRestricted",
- "description": null,
+ "name": "FRAGMENT_DEFINITION",
+ "description": "Location adjacent to a fragment definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "FRAGMENT_SPREAD",
+ "description": "Location adjacent to a fragment spread.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "INLINE_FRAGMENT",
+ "description": "Location adjacent to an inline fragment.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "SCHEMA",
+ "description": "Location adjacent to a schema definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "SCALAR",
+ "description": "Location adjacent to a scalar definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "OBJECT",
+ "description": "Location adjacent to an object type definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "FIELD_DEFINITION",
+ "description": "Location adjacent to a field definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ARGUMENT_DEFINITION",
+ "description": "Location adjacent to an argument definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "INTERFACE",
+ "description": "Location adjacent to an interface definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "UNION",
+ "description": "Location adjacent to a union definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ENUM",
+ "description": "Location adjacent to an enum definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ENUM_VALUE",
+ "description": "Location adjacent to an enum value definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "INPUT_OBJECT",
+ "description": "Location adjacent to an input object type definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "INPUT_FIELD_DEFINITION",
+ "description": "Location adjacent to an input object field definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "DiscountCodeApplication",
+ "description": "Discount code applications capture the intentions of a discount code at\nthe time that it is applied.\n",
+ "fields": [
+ {
+ "name": "allocationMethod",
+ "description": "The method by which the discount's value is allocated to its entitled items.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "Boolean",
+ "kind": "ENUM",
+ "name": "DiscountApplicationAllocationMethod",
"ofType": null
}
},
@@ -12687,8 +18474,8 @@
"deprecationReason": null
},
{
- "name": "isDeprecated",
- "description": null,
+ "name": "applicable",
+ "description": "Specifies whether the discount code was applied successfully.",
"args": [],
"type": {
"kind": "NON_NULL",
@@ -12703,8 +18490,8 @@
"deprecationReason": null
},
{
- "name": "name",
- "description": null,
+ "name": "code",
+ "description": "The string identifying the discount code that was used at the time of application.",
"args": [],
"type": {
"kind": "NON_NULL",
@@ -12719,67 +18506,31 @@
"deprecationReason": null
},
{
- "name": "type",
- "description": null,
+ "name": "targetSelection",
+ "description": "Which lines of targetType that the discount is allocated over.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "OBJECT",
- "name": "__Type",
+ "kind": "ENUM",
+ "name": "DiscountApplicationTargetSelection",
"ofType": null
}
},
"isDeprecated": false,
"deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "__InputValue",
- "description":
- "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",
- "fields": [
- {
- "name": "defaultValue",
- "description": "A GraphQL-formatted string representing the default value for this input value.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "description",
- "description": null,
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
},
{
- "name": "name",
- "description": null,
+ "name": "targetType",
+ "description": "The type of line that the discount is applicable towards.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "ENUM",
+ "name": "DiscountApplicationTargetType",
"ofType": null
}
},
@@ -12787,15 +18538,15 @@
"deprecationReason": null
},
{
- "name": "type",
- "description": null,
+ "name": "value",
+ "description": "The value of the discount application.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "OBJECT",
- "name": "__Type",
+ "kind": "UNION",
+ "name": "PricingValue",
"ofType": null
}
},
@@ -12804,31 +18555,40 @@
}
],
"inputFields": null,
- "interfaces": [],
+ "interfaces": [
+ {
+ "kind": "INTERFACE",
+ "name": "DiscountApplication",
+ "ofType": null
+ }
+ ],
"enumValues": null,
"possibleTypes": null
},
{
"kind": "OBJECT",
- "name": "__EnumValue",
- "description":
- "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",
+ "name": "ManualDiscountApplication",
+ "description": "Manual discount applications capture the intentions of a discount that was manually created.\n",
"fields": [
{
- "name": "deprecationReason",
- "description": null,
+ "name": "allocationMethod",
+ "description": "The method by which the discount's value is allocated to its entitled items.",
"args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "DiscountApplicationAllocationMethod",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
"name": "description",
- "description": null,
+ "description": "The description of the application.",
"args": [],
"type": {
"kind": "SCALAR",
@@ -12839,15 +18599,47 @@
"deprecationReason": null
},
{
- "name": "isDeprecated",
- "description": null,
+ "name": "targetSelection",
+ "description": "Which lines of targetType that the discount is allocated over.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "DiscountApplicationTargetSelection",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "targetType",
+ "description": "The type of line that the discount is applicable towards.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "DiscountApplicationTargetType",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "title",
+ "description": "The title of the application.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
- "name": "Boolean",
+ "name": "String",
"ofType": null
}
},
@@ -12855,15 +18647,15 @@
"deprecationReason": null
},
{
- "name": "name",
- "description": null,
+ "name": "value",
+ "description": "The value of the discount application.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "UNION",
+ "name": "PricingValue",
"ofType": null
}
},
@@ -12872,35 +18664,32 @@
}
],
"inputFields": null,
- "interfaces": [],
+ "interfaces": [
+ {
+ "kind": "INTERFACE",
+ "name": "DiscountApplication",
+ "ofType": null
+ }
+ ],
"enumValues": null,
"possibleTypes": null
},
{
"kind": "OBJECT",
- "name": "__Directive",
- "description":
- "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.",
+ "name": "ScriptDiscountApplication",
+ "description": "Script discount applications capture the intentions of a discount that\nwas created by a Shopify Script.\n",
"fields": [
{
- "name": "args",
- "description": null,
+ "name": "allocationMethod",
+ "description": "The method by which the discount's value is allocated to its entitled items.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "__InputValue",
- "ofType": null
- }
- }
+ "kind": "ENUM",
+ "name": "DiscountApplicationAllocationMethod",
+ "ofType": null
}
},
"isDeprecated": false,
@@ -12908,50 +18697,46 @@
},
{
"name": "description",
- "description": null,
+ "description": "The description of the application as defined by the Script.",
"args": [],
"type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "locations",
- "description": null,
+ "name": "targetSelection",
+ "description": "Which lines of targetType that the discount is allocated over.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "ENUM",
- "name": "__DirectiveLocation",
- "ofType": null
- }
- }
+ "kind": "ENUM",
+ "name": "DiscountApplicationTargetSelection",
+ "ofType": null
}
},
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "name",
- "description": null,
+ "name": "targetType",
+ "description": "The type of line that the discount is applicable towards.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "String",
+ "kind": "ENUM",
+ "name": "DiscountApplicationTargetType",
"ofType": null
}
},
@@ -12959,177 +18744,128 @@
"deprecationReason": null
},
{
- "name": "onField",
- "description": null,
+ "name": "value",
+ "description": "The value of the discount application.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "Boolean",
+ "kind": "UNION",
+ "name": "PricingValue",
"ofType": null
}
},
- "isDeprecated": true,
- "deprecationReason": "Use `locations`."
- },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
{
- "name": "onFragment",
- "description": null,
+ "kind": "INTERFACE",
+ "name": "DiscountApplication",
+ "ofType": null
+ }
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "AutomaticDiscountApplication",
+ "description": "Automatic discount applications capture the intentions of a discount that was automatically applied.\n",
+ "fields": [
+ {
+ "name": "allocationMethod",
+ "description": "The method by which the discount's value is allocated to its entitled items.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "Boolean",
+ "kind": "ENUM",
+ "name": "DiscountApplicationAllocationMethod",
"ofType": null
}
},
- "isDeprecated": true,
- "deprecationReason": "Use `locations`."
+ "isDeprecated": false,
+ "deprecationReason": null
},
{
- "name": "onOperation",
- "description": null,
+ "name": "targetSelection",
+ "description": "Which lines of targetType that the discount is allocated over.",
"args": [],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
- "kind": "SCALAR",
- "name": "Boolean",
+ "kind": "ENUM",
+ "name": "DiscountApplicationTargetSelection",
"ofType": null
}
},
- "isDeprecated": true,
- "deprecationReason": "Use `locations`."
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "ENUM",
- "name": "__DirectiveLocation",
- "description":
- "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": [
- {
- "name": "QUERY",
- "description": "Location adjacent to a query operation.",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "MUTATION",
- "description": "Location adjacent to a mutation operation.",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "SUBSCRIPTION",
- "description": "Location adjacent to a subscription operation.",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "FIELD",
- "description": "Location adjacent to a field.",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "FRAGMENT_DEFINITION",
- "description": "Location adjacent to a fragment definition.",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "FRAGMENT_SPREAD",
- "description": "Location adjacent to a fragment spread.",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "INLINE_FRAGMENT",
- "description": "Location adjacent to an inline fragment.",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "SCHEMA",
- "description": "Location adjacent to a schema definition.",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "SCALAR",
- "description": "Location adjacent to a scalar definition.",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "OBJECT",
- "description": "Location adjacent to an object type definition.",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "FIELD_DEFINITION",
- "description": "Location adjacent to a field definition.",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "ARGUMENT_DEFINITION",
- "description": "Location adjacent to an argument definition.",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "INTERFACE",
- "description": "Location adjacent to an interface definition.",
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "UNION",
- "description": "Location adjacent to a union definition.",
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ENUM",
- "description": "Location adjacent to an enum definition.",
+ "name": "targetType",
+ "description": "The type of line that the discount is applicable towards.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "DiscountApplicationTargetType",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "ENUM_VALUE",
- "description": "Location adjacent to an enum value definition.",
+ "name": "title",
+ "description": "The title of the application.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
},
{
- "name": "INPUT_OBJECT",
- "description": "Location adjacent to an input object type definition.",
+ "name": "value",
+ "description": "The value of the discount application.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "UNION",
+ "name": "PricingValue",
+ "ofType": null
+ }
+ },
"isDeprecated": false,
"deprecationReason": null
- },
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
{
- "name": "INPUT_FIELD_DEFINITION",
- "description": "Location adjacent to an input object field definition.",
- "isDeprecated": false,
- "deprecationReason": null
+ "kind": "INTERFACE",
+ "name": "DiscountApplication",
+ "ofType": null
}
],
+ "enumValues": null,
"possibleTypes": null
}
],
@@ -13137,7 +18873,11 @@
{
"name": "include",
"description": "Directs the executor to include this field or fragment only when the `if` argument is true.",
- "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"],
+ "locations": [
+ "FIELD",
+ "FRAGMENT_SPREAD",
+ "INLINE_FRAGMENT"
+ ],
"args": [
{
"name": "if",
@@ -13158,7 +18898,11 @@
{
"name": "skip",
"description": "Directs the executor to skip this field or fragment when the `if` argument is true.",
- "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"],
+ "locations": [
+ "FIELD",
+ "FRAGMENT_SPREAD",
+ "INLINE_FRAGMENT"
+ ],
"args": [
{
"name": "if",
@@ -13179,12 +18923,14 @@
{
"name": "deprecated",
"description": "Marks an element of a GraphQL schema as no longer supported.",
- "locations": ["FIELD_DEFINITION", "ENUM_VALUE"],
+ "locations": [
+ "FIELD_DEFINITION",
+ "ENUM_VALUE"
+ ],
"args": [
{
"name": "reason",
- "description":
- "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted in [Markdown](https://daringfireball.net/projects/markdown/).",
+ "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted in [Markdown](https://daringfireball.net/projects/markdown/).",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -13197,7 +18943,9 @@
{
"name": "accessRestricted",
"description": "Marks an element of a GraphQL schema as having restricted access.",
- "locations": ["FIELD_DEFINITION"],
+ "locations": [
+ "FIELD_DEFINITION"
+ ],
"args": [
{
"name": "reason",
diff --git a/service.yml b/service.yml
index abf8d64bf..b44d46275 100644
--- a/service.yml
+++ b/service.yml
@@ -1,4 +1,3 @@
# https://services.shopify.io/services/js-buy-sdk/production
-director: stergios14
owners: [minasmart]
classification: library
diff --git a/src/checkout-resource.js b/src/checkout-resource.js
index 37aad8445..6eeb4f8a9 100644
--- a/src/checkout-resource.js
+++ b/src/checkout-resource.js
@@ -8,13 +8,16 @@ import checkoutNodeQueryWithAddress from './graphql/checkoutNodeQueryWithAddress
import checkoutCreateMutation from './graphql/checkoutCreateMutation.graphql';
import checkoutLineItemsAddMutation from './graphql/checkoutLineItemsAddMutation.graphql';
import checkoutLineItemsRemoveMutation from './graphql/checkoutLineItemsRemoveMutation.graphql';
+import checkoutLineItemsReplaceMutation from './graphql/checkoutLineItemsReplaceMutation.graphql';
import checkoutLineItemsUpdateMutation from './graphql/checkoutLineItemsUpdateMutation.graphql';
-import checkoutAttributesUpdateMutation from './graphql/checkoutAttributesUpdateMutation.graphql';
-import checkoutDiscountCodeApplyMutation from './graphql/checkoutDiscountCodeApplyMutation.graphql';
+import checkoutAttributesUpdateV2Mutation from './graphql/checkoutAttributesUpdateV2Mutation.graphql';
+import checkoutDiscountCodeApplyV2Mutation from './graphql/checkoutDiscountCodeApplyV2Mutation.graphql';
import checkoutDiscountCodeRemoveMutation from './graphql/checkoutDiscountCodeRemoveMutation.graphql';
+import checkoutEmailUpdateV2Mutation from './graphql/checkoutEmailUpdateV2Mutation.graphql';
import checkoutShippingAddressUpdateMutation from './graphql/checkoutShippingAddressUpdateMutation.graphql';
import checkoutShippingLineUpdateMutation from './graphql/checkoutShippingLineUpdateMutation.graphql';
+
/**
* The JS Buy SDK checkout resource
* @class
@@ -37,6 +40,8 @@ class CheckoutResource extends Resource {
.send(checkoutNodeQuery, {id})
.then(defaultResolver('node'))
.then((checkout) => {
+ if (!checkout) { return null; }
+
return this.graphQLClient.fetchAllPages(checkout.lineItems, {pageSize: 250}).then((lineItems) => {
checkout.attrs.lineItems = lineItems;
@@ -117,8 +122,29 @@ class CheckoutResource extends Resource {
*/
updateAttributes(checkoutId, input = {}) {
return this.graphQLClient
- .send(checkoutAttributesUpdateMutation, {checkoutId, input})
- .then(handleCheckoutMutation('checkoutAttributesUpdate', this.graphQLClient));
+ .send(checkoutAttributesUpdateV2Mutation, {checkoutId, input})
+ .then(handleCheckoutMutation('checkoutAttributesUpdateV2', this.graphQLClient));
+ }
+
+ /**
+ * Replaces the value of checkout's email address
+ *
+ * @example
+ * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
+ * const email = 'user@example.com';
+ *
+ * client.checkout.updateEmail(checkoutId, email).then((checkout) => {
+ * // Do something with the updated checkout
+ * });
+ *
+ * @param {String} checkoutId The ID of the checkout to update.
+ * @param {String} email The email address to apply to the checkout.
+ * @return {Promise|GraphModel} A promise resolving with the updated checkout.
+ */
+ updateEmail(checkoutId, email) {
+ return this.graphQLClient
+ .send(checkoutEmailUpdateV2Mutation, {checkoutId, email})
+ .then(handleCheckoutMutation('checkoutEmailUpdateV2', this.graphQLClient));
}
/**
@@ -159,8 +185,8 @@ class CheckoutResource extends Resource {
*/
addDiscount(checkoutId, discountCode) {
return this.graphQLClient
- .send(checkoutDiscountCodeApplyMutation, {checkoutId, discountCode})
- .then(handleCheckoutMutation('checkoutDiscountCodeApply', this.graphQLClient));
+ .send(checkoutDiscountCodeApplyV2Mutation, {checkoutId, discountCode})
+ .then(handleCheckoutMutation('checkoutDiscountCodeApplyV2', this.graphQLClient));
}
/**
@@ -203,6 +229,27 @@ class CheckoutResource extends Resource {
.then(handleCheckoutMutation('checkoutLineItemsRemove', this.graphQLClient));
}
+ /**
+ * Replace line items on an existing checkout.
+ *
+ * @example
+ * const checkoutId = 'Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4Yjc4N=';
+ * const lineItems = [{variantId: 'Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC8yOTEwNjAyMjc5Mg==', quantity: 5}];
+ *
+ * client.checkout.replaceLineItems(checkoutId, lineItems).then((checkout) => {
+ * // Do something with the updated checkout
+ * });
+ *
+ * @param {String} checkoutId The ID of the checkout to add line items to.
+ * @param {Object[]} lineItems A list of line items to set on the checkout. See the {@link https://help.shopify.com/api/storefront-api/reference/input_object/checkoutlineiteminput|Storefront API reference} for valid input fields for each line item.
+ * @return {Promise|GraphModel} A promise resolving with the updated checkout.
+ */
+ replaceLineItems(checkoutId, lineItems) {
+ return this.graphQLClient
+ .send(checkoutLineItemsReplaceMutation, {checkoutId, lineItems})
+ .then(handleCheckoutMutation('checkoutLineItemsReplace', this.graphQLClient));
+ }
+
/**
* Updates line items on an existing checkout.
*
diff --git a/src/collection-resource.js b/src/collection-resource.js
index 43d833e82..90c92e7de 100644
--- a/src/collection-resource.js
+++ b/src/collection-resource.js
@@ -29,7 +29,7 @@ class CollectionResource extends Resource {
fetchAll(first = 20) {
return this.graphQLClient
.send(collectionConnectionQuery, {first})
- .then(defaultResolver('shop.collections'));
+ .then(defaultResolver('collections'));
}
/**
@@ -45,7 +45,7 @@ class CollectionResource extends Resource {
fetchAllWithProducts({first = 20, productsFirst = 20} = {}) {
return this.graphQLClient
.send(collectionConnectionWithProductsQuery, {first, productsFirst})
- .then(defaultResolver('shop.collections'))
+ .then(defaultResolver('collections'))
.then(paginateCollectionsProductConnectionsAndResolve(this.graphQLClient));
}
@@ -99,7 +99,7 @@ class CollectionResource extends Resource {
fetchByHandle(handle) {
return this.graphQLClient
.send(collectionByHandleQuery, {handle})
- .then(defaultResolver('shop.collectionByHandle'));
+ .then(defaultResolver('collectionByHandle'));
}
/**
@@ -124,7 +124,7 @@ class CollectionResource extends Resource {
sortKey,
query,
reverse
- }).then(defaultResolver('shop.collections'));
+ }).then(defaultResolver('collections'));
}
}
export default CollectionResource;
diff --git a/src/graphql/CheckoutFragment.graphql b/src/graphql/CheckoutFragment.graphql
index d86be2b71..f641685ef 100644
--- a/src/graphql/CheckoutFragment.graphql
+++ b/src/graphql/CheckoutFragment.graphql
@@ -14,7 +14,7 @@ fragment MailingAddressFragment on MailingAddress {
province
zip
name
- countryCode
+ countryCode: countryCodeV2
provinceCode
}
@@ -43,6 +43,18 @@ fragment CheckoutFragment on Checkout {
completedAt
createdAt
updatedAt
+ email
+ discountApplications(first: 10) {
+ pageInfo {
+ hasNextPage
+ hasPreviousPage
+ }
+ edges {
+ node {
+ ...DiscountApplicationFragment
+ }
+ }
+ }
shippingAddress {
...MailingAddressFragment
}
@@ -108,6 +120,15 @@ fragment CheckoutFragment on Checkout {
key
value
}
+ discountAllocations {
+ allocatedAmount {
+ amount
+ currencyCode
+ }
+ discountApplication {
+ ...DiscountApplicationFragment
+ }
+ }
}
}
}
diff --git a/src/graphql/CheckoutUserErrorFragment.graphql b/src/graphql/CheckoutUserErrorFragment.graphql
new file mode 100644
index 000000000..c94a2d5c2
--- /dev/null
+++ b/src/graphql/CheckoutUserErrorFragment.graphql
@@ -0,0 +1,5 @@
+fragment CheckoutUserErrorFragment on CheckoutUserError {
+ field
+ message
+ code
+}
diff --git a/src/graphql/CollectionFragment.graphql b/src/graphql/CollectionFragment.graphql
index ba121fa17..9f061b2b9 100644
--- a/src/graphql/CollectionFragment.graphql
+++ b/src/graphql/CollectionFragment.graphql
@@ -7,7 +7,7 @@ fragment CollectionFragment on Collection {
title
image {
id
- src
+ src: originalSrc
altText
}
}
diff --git a/src/graphql/DiscountApplicationFragment.graphql b/src/graphql/DiscountApplicationFragment.graphql
new file mode 100644
index 000000000..611c02e1d
--- /dev/null
+++ b/src/graphql/DiscountApplicationFragment.graphql
@@ -0,0 +1,19 @@
+fragment DiscountApplicationFragment on DiscountApplication {
+ targetSelection
+ allocationMethod
+ targetType
+ ... on ManualDiscountApplication {
+ title
+ description
+ }
+ ... on DiscountCodeApplication {
+ code
+ applicable
+ }
+ ... on ScriptDiscountApplication {
+ description
+ }
+ ... on AutomaticDiscountApplication {
+ title
+ }
+}
diff --git a/src/graphql/ProductFragment.graphql b/src/graphql/ProductFragment.graphql
index b51a01ee6..aec232efb 100644
--- a/src/graphql/ProductFragment.graphql
+++ b/src/graphql/ProductFragment.graphql
@@ -1,5 +1,6 @@
fragment ProductFragment on Product {
id
+ availableForSale
createdAt
updatedAt
descriptionHtml
@@ -8,7 +9,6 @@ fragment ProductFragment on Product {
productType
title
vendor
- tags
publishedAt
onlineStoreUrl
options {
diff --git a/src/graphql/VariantFragment.graphql b/src/graphql/VariantFragment.graphql
index 5a8aaa2e1..dbc65f964 100644
--- a/src/graphql/VariantFragment.graphql
+++ b/src/graphql/VariantFragment.graphql
@@ -3,12 +3,12 @@ fragment VariantFragment on ProductVariant {
title
price
weight
- available
+ available: availableForSale
sku
compareAtPrice
image {
id
- src
+ src: originalSrc
altText
}
selectedOptions {
diff --git a/src/graphql/checkoutAttributesUpdateMutation.graphql b/src/graphql/checkoutAttributesUpdateMutation.graphql
deleted file mode 100644
index cc9a38de2..000000000
--- a/src/graphql/checkoutAttributesUpdateMutation.graphql
+++ /dev/null
@@ -1,10 +0,0 @@
-mutation checkoutAttributesUpdate($checkoutId: ID!, $input: CheckoutAttributesUpdateInput!) {
- checkoutAttributesUpdate(checkoutId: $checkoutId, input: $input) {
- userErrors {
- ...UserErrorFragment
- }
- checkout {
- ...CheckoutFragment
- }
- }
-}
diff --git a/src/graphql/checkoutAttributesUpdateV2Mutation.graphql b/src/graphql/checkoutAttributesUpdateV2Mutation.graphql
new file mode 100644
index 000000000..c4c402577
--- /dev/null
+++ b/src/graphql/checkoutAttributesUpdateV2Mutation.graphql
@@ -0,0 +1,13 @@
+mutation checkoutAttributesUpdateV2($checkoutId: ID!, $input: CheckoutAttributesUpdateV2Input!) {
+ checkoutAttributesUpdateV2(checkoutId: $checkoutId, input: $input) {
+ userErrors {
+ ...UserErrorFragment
+ }
+ checkoutUserErrors {
+ ...CheckoutUserErrorFragment
+ }
+ checkout {
+ ...CheckoutFragment
+ }
+ }
+}
diff --git a/src/graphql/checkoutCreateMutation.graphql b/src/graphql/checkoutCreateMutation.graphql
index fd6a9a0d3..9eab19eb8 100644
--- a/src/graphql/checkoutCreateMutation.graphql
+++ b/src/graphql/checkoutCreateMutation.graphql
@@ -3,6 +3,9 @@ mutation ($input: CheckoutCreateInput!) {
userErrors {
...UserErrorFragment
}
+ checkoutUserErrors {
+ ...CheckoutUserErrorFragment
+ }
checkout {
...CheckoutFragment
}
diff --git a/src/graphql/checkoutDiscountCodeApplyMutation.graphql b/src/graphql/checkoutDiscountCodeApplyMutation.graphql
deleted file mode 100644
index 7a2bda1aa..000000000
--- a/src/graphql/checkoutDiscountCodeApplyMutation.graphql
+++ /dev/null
@@ -1,10 +0,0 @@
-mutation checkoutDiscountCodeApply($discountCode: String!, $checkoutId: ID!) {
- checkoutDiscountCodeApply(discountCode: $discountCode, checkoutId: $checkoutId) {
- userErrors {
- ...UserErrorFragment
- }
- checkout {
- ...CheckoutFragment
- }
- }
-}
diff --git a/src/graphql/checkoutDiscountCodeApplyV2Mutation.graphql b/src/graphql/checkoutDiscountCodeApplyV2Mutation.graphql
new file mode 100644
index 000000000..99db577c7
--- /dev/null
+++ b/src/graphql/checkoutDiscountCodeApplyV2Mutation.graphql
@@ -0,0 +1,13 @@
+mutation checkoutDiscountCodeApplyV2($discountCode: String!, $checkoutId: ID!) {
+ checkoutDiscountCodeApplyV2(discountCode: $discountCode, checkoutId: $checkoutId) {
+ userErrors {
+ ...UserErrorFragment
+ }
+ checkoutUserErrors {
+ ...CheckoutUserErrorFragment
+ }
+ checkout {
+ ...CheckoutFragment
+ }
+ }
+}
diff --git a/src/graphql/checkoutDiscountCodeRemoveMutation.graphql b/src/graphql/checkoutDiscountCodeRemoveMutation.graphql
index c5c1fdcdd..bf94b228c 100644
--- a/src/graphql/checkoutDiscountCodeRemoveMutation.graphql
+++ b/src/graphql/checkoutDiscountCodeRemoveMutation.graphql
@@ -3,6 +3,9 @@ mutation checkoutDiscountCodeRemove($checkoutId: ID!) {
userErrors {
...UserErrorFragment
}
+ checkoutUserErrors {
+ ...CheckoutUserErrorFragment
+ }
checkout {
...CheckoutFragment
}
diff --git a/src/graphql/checkoutEmailUpdateV2Mutation.graphql b/src/graphql/checkoutEmailUpdateV2Mutation.graphql
new file mode 100644
index 000000000..b74b60b0b
--- /dev/null
+++ b/src/graphql/checkoutEmailUpdateV2Mutation.graphql
@@ -0,0 +1,13 @@
+mutation checkoutEmailUpdateV2($checkoutId: ID!, $email: String!) {
+ checkoutEmailUpdateV2(checkoutId: $checkoutId, email: $email) {
+ userErrors {
+ ...UserErrorFragment
+ }
+ checkoutUserErrors {
+ ...CheckoutUserErrorFragment
+ }
+ checkout {
+ ...CheckoutFragment
+ }
+ }
+}
diff --git a/src/graphql/checkoutLineItemsReplaceMutation.graphql b/src/graphql/checkoutLineItemsReplaceMutation.graphql
new file mode 100644
index 000000000..b348cc0aa
--- /dev/null
+++ b/src/graphql/checkoutLineItemsReplaceMutation.graphql
@@ -0,0 +1,10 @@
+mutation ($checkoutId: ID!, $lineItems: [CheckoutLineItemInput!]!) {
+ checkoutLineItemsReplace(checkoutId: $checkoutId, lineItems: $lineItems) {
+ userErrors {
+ ...UserErrorFragment
+ }
+ checkout {
+ ...CheckoutFragment
+ }
+ }
+}
diff --git a/src/graphql/collectionByHandleQuery.graphql b/src/graphql/collectionByHandleQuery.graphql
index dc3324656..6c737738f 100644
--- a/src/graphql/collectionByHandleQuery.graphql
+++ b/src/graphql/collectionByHandleQuery.graphql
@@ -1,8 +1,6 @@
query ($handle: String!) {
- shop {
- collectionByHandle(handle: $handle) {
- ...CollectionFragment
- ...CollectionsProductsFragment
- }
+ collectionByHandle(handle: $handle) {
+ ...CollectionFragment
+ ...CollectionsProductsFragment
}
}
diff --git a/src/graphql/collectionConnectionQuery.graphql b/src/graphql/collectionConnectionQuery.graphql
index 1c08477a5..ba94cc311 100644
--- a/src/graphql/collectionConnectionQuery.graphql
+++ b/src/graphql/collectionConnectionQuery.graphql
@@ -1,15 +1,13 @@
query ($first: Int!, $query: String, $sortKey: CollectionSortKeys, $reverse: Boolean) {
- shop {
- collections(first: $first, query: $query, sortKey: $sortKey, reverse: $reverse) {
- pageInfo {
- hasNextPage
- hasPreviousPage
- }
- edges {
- cursor
- node {
- ...CollectionFragment
- }
+ collections(first: $first, query: $query, sortKey: $sortKey, reverse: $reverse) {
+ pageInfo {
+ hasNextPage
+ hasPreviousPage
+ }
+ edges {
+ cursor
+ node {
+ ...CollectionFragment
}
}
}
diff --git a/src/graphql/collectionConnectionWithProductsQuery.graphql b/src/graphql/collectionConnectionWithProductsQuery.graphql
index 2df15a989..6562c7cec 100644
--- a/src/graphql/collectionConnectionWithProductsQuery.graphql
+++ b/src/graphql/collectionConnectionWithProductsQuery.graphql
@@ -5,26 +5,24 @@ query (
$reverse: Boolean,
$productsFirst: Int!
) {
- shop {
- collections(first: $first, query: $query, sortKey: $sortKey, reverse: $reverse) {
- pageInfo {
- hasNextPage
- hasPreviousPage
- }
- edges {
- cursor
- node {
- ...CollectionFragment
- products(first: $productsFirst) {
- pageInfo {
- hasNextPage
- hasPreviousPage
- }
- edges {
- cursor
- node {
- ...ProductFragment
- }
+ collections(first: $first, query: $query, sortKey: $sortKey, reverse: $reverse) {
+ pageInfo {
+ hasNextPage
+ hasPreviousPage
+ }
+ edges {
+ cursor
+ node {
+ ...CollectionFragment
+ products(first: $productsFirst) {
+ pageInfo {
+ hasNextPage
+ hasPreviousPage
+ }
+ edges {
+ cursor
+ node {
+ ...ProductFragment
}
}
}
diff --git a/src/graphql/productByHandleQuery.graphql b/src/graphql/productByHandleQuery.graphql
index ab75f88f0..cadaa002e 100644
--- a/src/graphql/productByHandleQuery.graphql
+++ b/src/graphql/productByHandleQuery.graphql
@@ -1,7 +1,5 @@
query ($handle: String!) {
- shop {
- productByHandle(handle: $handle) {
- ...ProductFragment
- }
+ productByHandle(handle: $handle) {
+ ...ProductFragment
}
}
diff --git a/src/graphql/productConnectionQuery.graphql b/src/graphql/productConnectionQuery.graphql
index 2c3ad99f0..9b5226f29 100644
--- a/src/graphql/productConnectionQuery.graphql
+++ b/src/graphql/productConnectionQuery.graphql
@@ -1,15 +1,13 @@
query ($first: Int!, $query: String, $sortKey: ProductSortKeys, $reverse: Boolean) {
- shop {
- products(first: $first, query: $query, sortKey: $sortKey, reverse: $reverse) {
- pageInfo {
- hasNextPage
- hasPreviousPage
- }
- edges {
- cursor
- node {
- ...ProductFragment
- }
+ products(first: $first, query: $query, sortKey: $sortKey, reverse: $reverse) {
+ pageInfo {
+ hasNextPage
+ hasPreviousPage
+ }
+ edges {
+ cursor
+ node {
+ ...ProductFragment
}
}
}
diff --git a/src/handle-checkout-mutation.js b/src/handle-checkout-mutation.js
index e8007c0b1..728f9185c 100644
--- a/src/handle-checkout-mutation.js
+++ b/src/handle-checkout-mutation.js
@@ -17,6 +17,10 @@ export default function handleCheckoutMutation(mutationRootKey, client) {
return Promise.reject(new Error(JSON.stringify(errors)));
}
+ if (rootData && rootData.checkoutUserErrors && rootData.checkoutUserErrors.length) {
+ return Promise.reject(new Error(JSON.stringify(rootData.checkoutUserErrors)));
+ }
+
if (rootData && rootData.userErrors && rootData.userErrors.length) {
return Promise.reject(new Error(JSON.stringify(rootData.userErrors)));
}
diff --git a/src/product-resource.js b/src/product-resource.js
index b5ddfed95..a3a4caae1 100644
--- a/src/product-resource.js
+++ b/src/product-resource.js
@@ -32,7 +32,7 @@ class ProductResource extends Resource {
fetchAll(first = 20) {
return this.graphQLClient
.send(productConnectionQuery, {first})
- .then(defaultResolver('shop.products'))
+ .then(defaultResolver('products'))
.then(paginateProductConnectionsAndResolve(this.graphQLClient));
}
@@ -87,7 +87,7 @@ class ProductResource extends Resource {
fetchByHandle(handle) {
return this.graphQLClient
.send(productByHandleQuery, {handle})
- .then(defaultResolver('shop.productByHandle'))
+ .then(defaultResolver('productByHandle'))
.then(paginateProductConnectionsAndResolve(this.graphQLClient));
}
@@ -115,7 +115,7 @@ class ProductResource extends Resource {
query,
reverse
})
- .then(defaultResolver('shop.products'))
+ .then(defaultResolver('products'))
.then(paginateProductConnectionsAndResolve(this.graphQLClient));
}
}
diff --git a/test/client-checkout-integration-test.js b/test/client-checkout-integration-test.js
index 790d93e7d..4400d9b8d 100644
--- a/test/client-checkout-integration-test.js
+++ b/test/client-checkout-integration-test.js
@@ -4,13 +4,18 @@ import fetchMock from './isomorphic-fetch-mock'; // eslint-disable-line import/n
// fixtures
import checkoutFixture from '../fixtures/checkout-fixture';
+import checkoutNullFixture from '../fixtures/node-null-fixture';
import checkoutCreateFixture from '../fixtures/checkout-create-fixture';
import checkoutCreateWithPaginatedLineItemsFixture from '../fixtures/checkout-create-with-paginated-line-items-fixture';
import {secondPageLineItemsFixture, thirdPageLineItemsFixture} from '../fixtures/paginated-line-items-fixture';
import checkoutLineItemsAddFixture from '../fixtures/checkout-line-items-add-fixture';
import checkoutLineItemsUpdateFixture from '../fixtures/checkout-line-items-update-fixture';
import checkoutLineItemsRemoveFixture from '../fixtures/checkout-line-items-remove-fixture';
-import checkoutUpdateAttributesFixture from '../fixtures/checkout-update-custom-attrs-fixture';
+import checkoutLineItemsReplaceFixture from '../fixtures/checkout-line-items-replace-fixture';
+import checkoutUpdateAttributesV2Fixture from '../fixtures/checkout-update-custom-attrs-fixture';
+import checkoutUpdateEmailV2Fixture from '../fixtures/checkout-update-email-fixture';
+import checkoutDiscountCodeApplyV2Fixture from '../fixtures/checkout-discount-code-apply-fixture';
+import checkoutDiscountCodeRemoveFixture from '../fixtures/checkout-discount-code-remove-fixture';
suite('client-checkout-integration-test', () => {
const domain = 'client-integration-tests.myshopify.io';
@@ -42,6 +47,17 @@ suite('client-checkout-integration-test', () => {
});
});
+ test('it resolves with null on Client.checkout#fetch for a bad checkoutId', () => {
+ fetchMock.postOnce(apiUrl, checkoutNullFixture);
+
+ const checkoutId = checkoutFixture.data.node.id;
+
+ return client.checkout.fetch(checkoutId).then((checkout) => {
+ assert.equal(checkout, null);
+ assert.ok(fetchMock.done());
+ });
+ });
+
test('it resolves with a checkout on Client.checkout#create', () => {
const input = {
lineItems: [
@@ -72,12 +88,27 @@ suite('client-checkout-integration-test', () => {
]
};
- fetchMock.postOnce(apiUrl, checkoutUpdateAttributesFixture);
+ fetchMock.postOnce(apiUrl, checkoutUpdateAttributesV2Fixture);
return client.checkout.updateAttributes(checkoutId, input).then((checkout) => {
- assert.equal(checkout.id, checkoutUpdateAttributesFixture.data.checkoutAttributesUpdate.checkout.id);
- assert.equal(checkout.customAttributes[0].key, checkoutUpdateAttributesFixture.data.checkoutAttributesUpdate.checkout.customAttributes[0].key);
- assert.equal(checkout.customAttributes[0].value, checkoutUpdateAttributesFixture.data.checkoutAttributesUpdate.checkout.customAttributes[0].value);
+ assert.equal(checkout.id, checkoutUpdateAttributesV2Fixture.data.checkoutAttributesUpdateV2.checkout.id);
+ assert.equal(checkout.customAttributes[0].key, checkoutUpdateAttributesV2Fixture.data.checkoutAttributesUpdateV2.checkout.customAttributes[0].key);
+ assert.equal(checkout.customAttributes[0].value, checkoutUpdateAttributesV2Fixture.data.checkoutAttributesUpdateV2.checkout.customAttributes[0].value);
+ assert.ok(fetchMock.done());
+ });
+ });
+
+ test('it resolves with a checkout on Client.checkout#email_update', () => {
+ const checkoutId = 'Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=';
+ const input = {
+ email: 'user@example.com'
+ };
+
+ fetchMock.postOnce(apiUrl, checkoutUpdateEmailV2Fixture);
+
+ return client.checkout.updateEmail(checkoutId, input).then((checkout) => {
+ assert.equal(checkout.id, checkoutUpdateEmailV2Fixture.data.checkoutEmailUpdateV2.checkout.id);
+ assert.equal(checkout.email, checkoutUpdateEmailV2Fixture.data.checkoutEmailUpdateV2.checkout.email);
assert.ok(fetchMock.done());
});
});
@@ -97,6 +128,21 @@ suite('client-checkout-integration-test', () => {
});
});
+ test('it resolves with a checkout on Client.checkout#replaceLineItems', () => {
+ const checkoutId = checkoutLineItemsReplaceFixture.data.checkoutLineItemsReplace.checkout.id;
+ const lineItems = [
+ {variantId: 'id1', quantity: 5},
+ {variantId: 'id2', quantity: 2}
+ ];
+
+ fetchMock.postOnce(apiUrl, checkoutLineItemsReplaceFixture);
+
+ return client.checkout.replaceLineItems(checkoutId, lineItems).then((checkout) => {
+ assert.equal(checkout.id, checkoutId);
+ assert.ok(fetchMock.done());
+ });
+ });
+
test('it resolves with a checkout on Client.checkout#updateLineItems', () => {
fetchMock.postOnce(apiUrl, checkoutLineItemsUpdateFixture);
@@ -126,6 +172,63 @@ suite('client-checkout-integration-test', () => {
});
});
+ test('it resolves with a checkout on Client.checkout#addDiscount', () => {
+ fetchMock.postOnce(apiUrl, checkoutDiscountCodeApplyV2Fixture);
+
+ const checkoutId = checkoutDiscountCodeApplyV2Fixture.data.checkoutDiscountCodeApplyV2.checkout.id;
+ const discountCode = 'TENPERCENTOFF';
+
+ return client.checkout.addDiscount(checkoutId, discountCode).then((checkout) => {
+ assert.equal(checkout.id, checkoutId);
+ assert.ok(fetchMock.done());
+ });
+ });
+
+ test('it resolves with checkoutUserErrors on Client.checkout#addDiscount with an invalid code', () => {
+ const checkoutDiscountCodeApplyV2WithCheckoutUserErrorsFixture = {
+ data: {
+ checkoutDiscountCodeApplyV2: {
+ checkoutUserErrors: [
+ {
+ message: 'Discount code Unable to find a valid discount matching the code entered',
+ field: ['discountCode'],
+ code: 'DISCOUNT_NOT_FOUND'
+ }
+ ],
+ userErrors: [
+ {
+ message: 'Discount code Unable to find a valid discount matching the code entered',
+ field: ['discountCode']
+ }
+ ],
+ checkout: null
+ }
+ }
+ };
+
+ fetchMock.postOnce(apiUrl, checkoutDiscountCodeApplyV2WithCheckoutUserErrorsFixture);
+
+ const checkoutId = checkoutDiscountCodeApplyV2Fixture.data.checkoutDiscountCodeApplyV2.checkout.id;
+ const discountCode = 'INVALIDCODE';
+
+ return client.checkout.addDiscount(checkoutId, discountCode).then(() => {
+ assert.ok(false, 'Promise should not resolve');
+ }).catch((error) => {
+ assert.equal(error.message, '[{"message":"Discount code Unable to find a valid discount matching the code entered","field":["discountCode"],"code":"DISCOUNT_NOT_FOUND"}]');
+ });
+ });
+
+ test('it resolves with a checkout on Client.checkout#removeDiscount', () => {
+ fetchMock.postOnce(apiUrl, checkoutDiscountCodeRemoveFixture);
+
+ const checkoutId = checkoutDiscountCodeRemoveFixture.data.checkoutDiscountCodeRemove.checkout.id;
+
+ return client.checkout.removeDiscount(checkoutId).then((checkout) => {
+ assert.equal(checkout.id, checkoutId);
+ assert.ok(fetchMock.done());
+ });
+ });
+
test('it fetches all paginated line items on the checkout on any checkout mutation', () => {
const input = {
lineItems: [
diff --git a/test/client-integration-test.js b/test/client-integration-test.js
index 860ef2e05..78efcf894 100644
--- a/test/client-integration-test.js
+++ b/test/client-integration-test.js
@@ -3,10 +3,10 @@ import Client from '../src/client';
import fetchMock from './isomorphic-fetch-mock'; // eslint-disable-line import/no-unresolved
// fixtures
-import shopWithProductsFixture from '../fixtures/shop-with-products-fixture';
+import shopWithProductsFixture from '../fixtures/query-products-fixture';
import singleProductFixture from '../fixtures/product-fixture';
import multipleProductsFixture from '../fixtures/multiple-products-fixture';
-import shopWithCollectionsFixture from '../fixtures/shop-with-collections-fixture';
+import shopWithCollectionsFixture from '../fixtures/query-collections-fixture';
import singleCollectionFixture from '../fixtures/collection-fixture';
import productWithPaginatedImagesFixture from '../fixtures/product-with-paginated-images-fixture';
import {secondPageImagesFixture, thirdPageImagesFixture, fourthPageImagesFixture, fifthPageImagesFixture} from '../fixtures/paginated-images-fixtures';
@@ -15,8 +15,8 @@ import {secondPageVariantsFixture, thirdPageVariantsFixture} from '../fixtures/p
import productByHandleFixture from '../fixtures/product-by-handle-fixture';
import collectionByHandleFixture from '../fixtures/collection-by-handle-fixture';
import collectionWithProductsFixture from '../fixtures/collection-with-products-fixture';
-import shopWithCollectionsWithPaginationFixture from '../fixtures/shop-with-collections-with-pagination-fixture';
-import shopWithCollectionsWithProductsFixture from '../fixtures/shop-with-collections-with-products-fixture';
+import shopWithCollectionsWithPaginationFixture from '../fixtures/query-collections-with-pagination-fixture';
+import shopWithCollectionsWithProductsFixture from '../fixtures/query-collections-with-products-fixture';
import shopInfoFixture from '../fixtures/shop-info-fixture';
import shopPoliciesFixture from '../fixtures/shop-policies-fixture';
@@ -46,8 +46,8 @@ suite('client-integration-test', () => {
assert.ok(Array.isArray(products), 'products is an array');
assert.equal(products.length, 2, 'there are two products');
- assert.equal(products[0].id, shopWithProductsFixture.data.shop.products.edges[0].node.id);
- assert.equal(products[1].id, shopWithProductsFixture.data.shop.products.edges[1].node.id);
+ assert.equal(products[0].id, shopWithProductsFixture.data.products.edges[0].node.id);
+ assert.equal(products[1].id, shopWithProductsFixture.data.products.edges[1].node.id);
assert.ok(fetchMock.done());
});
});
@@ -89,7 +89,7 @@ suite('client-integration-test', () => {
assert.ok(Array.isArray(images), 'images is an array');
// Each image page fixture only contains 1 image rather than 20 for simplicity
assert.equal(images.length, 3, 'all three pages of images are returned');
- assert.equal(images[0].id, productWithPaginatedImagesFixture.data.shop.products.edges[0].node.images.edges[0].node.id);
+ assert.equal(images[0].id, productWithPaginatedImagesFixture.data.products.edges[0].node.images.edges[0].node.id);
assert.equal(images[1].id, secondPageImagesFixture.data.node.images.edges[0].node.id);
assert.equal(images[2].id, thirdPageImagesFixture.data.node.images.edges[0].node.id);
assert.ok(fetchMock.done());
@@ -138,10 +138,10 @@ suite('client-integration-test', () => {
test('it can fetch a product by handle through Client.product#fetchByHandle', () => {
fetchMock.postOnce(apiUrl, productByHandleFixture);
- const handle = productByHandleFixture.data.shop.productByHandle.handle;
+ const handle = productByHandleFixture.data.productByHandle.handle;
return client.product.fetchByHandle(handle).then((product) => {
- assert.equal(product.id, productByHandleFixture.data.shop.productByHandle.id);
+ assert.equal(product.id, productByHandleFixture.data.productByHandle.id);
assert.equal(product.handle, handle);
assert.ok(fetchMock.done());
});
@@ -152,8 +152,8 @@ suite('client-integration-test', () => {
return client.product.fetchQuery({}).then((products) => {
assert.equal(products.length, 2);
- assert.equal(products[0].id, shopWithProductsFixture.data.shop.products.edges[0].node.id);
- assert.equal(products[1].id, shopWithProductsFixture.data.shop.products.edges[1].node.id);
+ assert.equal(products[0].id, shopWithProductsFixture.data.products.edges[0].node.id);
+ assert.equal(products[1].id, shopWithProductsFixture.data.products.edges[1].node.id);
assert.ok(fetchMock.done());
});
});
@@ -165,8 +165,8 @@ suite('client-integration-test', () => {
assert.ok(Array.isArray(collections), 'collections is an array');
assert.equal(collections.length, 2, 'there are two collections');
- assert.equal(collections[0].id, shopWithCollectionsFixture.data.shop.collections.edges[0].node.id);
- assert.equal(collections[1].id, shopWithCollectionsFixture.data.shop.collections.edges[1].node.id);
+ assert.equal(collections[0].id, shopWithCollectionsFixture.data.collections.edges[0].node.id);
+ assert.equal(collections[1].id, shopWithCollectionsFixture.data.collections.edges[1].node.id);
assert.ok(fetchMock.done());
});
});
@@ -186,10 +186,10 @@ suite('client-integration-test', () => {
test('it can fetch a collection by handle through Client.collection#fetchByHandle', () => {
fetchMock.postOnce(apiUrl, collectionByHandleFixture);
- const handle = collectionByHandleFixture.data.shop.collectionByHandle.handle;
+ const handle = collectionByHandleFixture.data.collectionByHandle.handle;
return client.collection.fetchByHandle(handle).then((collection) => {
- assert.equal(collection.id, collectionByHandleFixture.data.shop.collectionByHandle.id);
+ assert.equal(collection.id, collectionByHandleFixture.data.collectionByHandle.id);
assert.equal(collection.handle, handle);
assert.ok(fetchMock.done());
});
@@ -200,8 +200,8 @@ suite('client-integration-test', () => {
return client.collection.fetchQuery({}).then((collections) => {
assert.equal(collections.length, 2);
- assert.equal(collections[0].id, shopWithCollectionsFixture.data.shop.collections.edges[0].node.id);
- assert.equal(collections[1].id, shopWithCollectionsFixture.data.shop.collections.edges[1].node.id);
+ assert.equal(collections[0].id, shopWithCollectionsFixture.data.collections.edges[0].node.id);
+ assert.equal(collections[1].id, shopWithCollectionsFixture.data.collections.edges[1].node.id);
assert.ok(fetchMock.done());
});
});
@@ -212,8 +212,8 @@ suite('client-integration-test', () => {
return client.collection.fetchAllWithProducts().then((collections) => {
assert.ok(Array.isArray(collections), 'collections is an array');
assert.equal(collections.length, 2, 'there are two collections');
- assert.equal(collections[0].id, shopWithCollectionsWithProductsFixture.data.shop.collections.edges[0].node.id);
- assert.equal(collections[1].id, shopWithCollectionsWithProductsFixture.data.shop.collections.edges[1].node.id);
+ assert.equal(collections[0].id, shopWithCollectionsWithProductsFixture.data.collections.edges[0].node.id);
+ assert.equal(collections[1].id, shopWithCollectionsWithProductsFixture.data.collections.edges[1].node.id);
assert.ok(fetchMock.done());
});
});
diff --git a/test/lint-test.js b/test/lint-test.js
index c8afd928d..ad2f8e471 100644
--- a/test/lint-test.js
+++ b/test/lint-test.js
@@ -1 +1,22 @@
import 'lint-tests'; // eslint-disable-line
+
+import assert from 'assert';
+import Client from '../src/client';
+
+suite('manual-lint-test', () => {
+ const config = {
+ domain: 'sendmecats.myshopify.com',
+ storefrontAccessToken: 'abc123'
+ };
+
+ test('it has pageInfo on all relay connection types', () => {
+ const client = Client.buildClient(config);
+ const objectTypes = client.graphQLClient.typeBundle.types;
+
+ Object.keys(objectTypes)
+ .filter((key) => key.includes('Connection'))
+ .forEach((key) => {
+ assert.equal(objectTypes[key].fieldBaseTypes.pageInfo, 'PageInfo');
+ });
+ });
+});
diff --git a/yarn.lock b/yarn.lock
index 24e7f1bee..3c6cca055 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3,40 +3,56 @@
abbrev@1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f"
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
+ integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
abstract-leveldown@~0.12.0, abstract-leveldown@~0.12.1:
version "0.12.4"
resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz#29e18e632e60e4e221d5810247852a63d7b2e410"
+ integrity sha1-KeGOYy5g5OIh1YECR4UqY9ey5BA=
dependencies:
xtend "~3.0.0"
acorn-jsx@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
+ integrity sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=
dependencies:
acorn "^3.0.4"
acorn@4.0.4:
version "4.0.4"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a"
+ integrity sha1-F6jWp6bE71OLgU7Jq6wneSk78wo=
acorn@^3.0.4:
version "3.3.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
+ integrity sha1-ReN/s56No/JbruP/U2niu18iAXo=
acorn@^4.0.1:
version "4.0.11"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0"
+ integrity sha1-7c2jvZN+dVZBDULtWGD2c5nHlMA=
ajv-keywords@^1.0.0:
version "1.5.1"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
+ integrity sha1-MU3QpLM2j609/NxU7eYXG4htrzw=
-ajv@^4.7.0, ajv@^4.9.1:
+ajv@^4.7.0:
version "4.11.5"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.5.tgz#b6ee74657b993a01dce44b7944d56f485828d5bd"
+ integrity sha1-tu50ZXuZOgHc5Et5RNVvSFgo1b0=
+ dependencies:
+ co "^4.6.0"
+ json-stable-stringify "^1.0.1"
+
+ajv@^4.9.1:
+ version "4.11.8"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
+ integrity sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=
dependencies:
co "^4.6.0"
json-stable-stringify "^1.0.1"
@@ -44,6 +60,7 @@ ajv@^4.7.0, ajv@^4.9.1:
align-text@^0.1.1, align-text@^0.1.3:
version "0.1.4"
resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
+ integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=
dependencies:
kind-of "^3.0.2"
longest "^1.0.1"
@@ -52,43 +69,57 @@ align-text@^0.1.1, align-text@^0.1.3:
amdefine@>=0.0.4:
version "1.0.1"
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
+ integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=
ansi-escape-sequences@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-3.0.0.tgz#1c18394b6af9b76ff9a63509fa497669fd2ce53e"
+ integrity sha1-HBg5S2r5t2/5pjUJ+kl2af0s5T4=
dependencies:
array-back "^1.0.3"
ansi-escapes@^1.1.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
+ integrity sha1-06ioOzGapneTZisT52HHkRQiMG4=
ansi-regex@^0.2.0, ansi-regex@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9"
+ integrity sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+ integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
+
+ansi-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+ integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
ansi-styles@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de"
+ integrity sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=
ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+ integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
anymatch@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507"
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a"
+ integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==
dependencies:
- arrify "^1.0.0"
micromatch "^2.1.5"
+ normalize-path "^2.0.0"
app-usage-stats@^0.5.0:
version "0.5.1"
resolved "https://registry.yarnpkg.com/app-usage-stats/-/app-usage-stats-0.5.1.tgz#6547c5db9bab0aa5f5b2c560eacc8af20d0ab13b"
+ integrity sha1-ZUfF25urCqX1ssVg6syK8g0KsTs=
dependencies:
array-back "^1.0.4"
home-path "^1.0.3"
@@ -96,79 +127,104 @@ app-usage-stats@^0.5.0:
usage-stats "^0.9.0"
aproba@^1.0.3:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab"
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
+ integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
archive-type@^3.0.0, archive-type@^3.0.1:
version "3.2.0"
resolved "https://registry.yarnpkg.com/archive-type/-/archive-type-3.2.0.tgz#9cd9c006957ebe95fadad5bd6098942a813737f6"
+ integrity sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=
dependencies:
file-type "^3.1.0"
are-we-there-yet@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3"
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
+ integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==
dependencies:
delegates "^1.0.0"
- readable-stream "^2.0.0 || ^1.1.13"
+ readable-stream "^2.0.6"
argparse@^1.0.7:
version "1.0.9"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"
+ integrity sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=
dependencies:
sprintf-js "~1.0.2"
arr-diff@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
+ integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=
dependencies:
arr-flatten "^1.0.1"
-arr-flatten@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b"
+arr-diff@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
+ integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
+
+arr-flatten@^1.0.1, arr-flatten@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
+ integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
arr-union@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
+ integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
array-back@^1.0.2, array-back@^1.0.3, array-back@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/array-back/-/array-back-1.0.4.tgz#644ba7f095f7ffcf7c43b5f0dc39d3c1f03c063b"
+ integrity sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=
dependencies:
typical "^2.6.0"
array-back@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/array-back/-/array-back-2.0.0.tgz#6877471d51ecc9c9bfa6136fb6c7d5fe69748022"
+ integrity sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==
dependencies:
typical "^2.6.1"
array-differ@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
+ integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=
array-union@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
+ integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=
dependencies:
array-uniq "^1.0.1"
array-uniq@^1.0.1, array-uniq@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
+ integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=
array-unique@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
+ integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=
+
+array-unique@^0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
+ integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
arrify@^1.0.0, arrify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
+ integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
asn1.js@^4.0.0:
version "4.9.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40"
+ integrity sha1-SLokC0WpKA6UdImQull9IWYX/UA=
dependencies:
bn.js "^4.0.0"
inherits "^2.0.1"
@@ -177,58 +233,84 @@ asn1.js@^4.0.0:
asn1@0.1.11:
version "0.1.11"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.1.11.tgz#559be18376d08a4ec4dbe80877d27818639b2df7"
+ integrity sha1-VZvhg3bQik7E2+gId9J4GGObLfc=
asn1@~0.2.3:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
+ integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
+ dependencies:
+ safer-buffer "~2.1.0"
assert-plus@1.0.0, assert-plus@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+ integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
assert-plus@^0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.1.5.tgz#ee74009413002d84cec7219c6ac811812e723160"
+ integrity sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=
assert-plus@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
+ integrity sha1-104bh+ev/A24qttwIfP+SBAasjQ=
+
+assign-symbols@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
+ integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
async-array-reduce@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/async-array-reduce/-/async-array-reduce-0.2.1.tgz#c8be010a2b5cd00dea96c81116034693dfdd82d1"
+ integrity sha1-yL4BCitc0A3qlsgRFgNGk9/dgtE=
async-each-series@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-1.1.0.tgz#f42fd8155d38f21a5b8ea07c28e063ed1700b138"
+ integrity sha1-9C/YFV048hpbjqB8KOBj7RcAsTg=
async-each@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
+ integrity sha1-GdOGodntxufByF04iu28xW0zYC0=
async@1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/async/-/async-1.2.1.tgz#a4816a17cd5ff516dfa2c7698a453369b9790de0"
+ integrity sha1-pIFqF81f9RbfosdpikUzabl5DeA=
async@^1.4.0, async@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
+ integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=
async@~0.2.6:
version "0.2.10"
resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
+ integrity sha1-trvgsGdLnXGXCMo43owjfLUmw9E=
async@~0.9.0:
version "0.9.0"
resolved "https://registry.yarnpkg.com/async/-/async-0.9.0.tgz#ac3613b1da9bed1b47510bb4651b8931e47146c7"
+ integrity sha1-rDYTsdqb7RtHUQu0ZRuJMeRxRsc=
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
+
+atob@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
+ integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
aws-sdk@2.162.0:
version "2.162.0"
resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.162.0.tgz#1b16215fc9b599ba7cd2cfe7ce050c7f934381a6"
+ integrity sha1-GxYhX8m1mbp80s/nzgUMf5NDgaY=
dependencies:
buffer "4.9.1"
crypto-browserify "1.0.9"
@@ -244,18 +326,22 @@ aws-sdk@2.162.0:
aws-sign2@~0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.5.0.tgz#c57103f7a17fc037f02d7c2e64b602ea223f7d63"
+ integrity sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=
aws-sign2@~0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
+ integrity sha1-FDQt0428yU0OW4fXY81jYSwOeU8=
aws4@^1.2.1:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
+ integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
babel-code-frame@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
+ integrity sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=
dependencies:
chalk "^1.1.0"
esutils "^2.0.2"
@@ -264,6 +350,7 @@ babel-code-frame@^6.22.0:
babel-code-frame@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
+ integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
dependencies:
chalk "^1.1.3"
esutils "^2.0.2"
@@ -272,6 +359,7 @@ babel-code-frame@^6.26.0:
babel-core@6.26.0, babel-core@^6.24.1, babel-core@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8"
+ integrity sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=
dependencies:
babel-code-frame "^6.26.0"
babel-generator "^6.26.0"
@@ -296,6 +384,7 @@ babel-core@6.26.0, babel-core@^6.24.1, babel-core@^6.26.0:
babel-eslint@6.1.x:
version "6.1.2"
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-6.1.2.tgz#5293419fe3672d66598d327da9694567ba6a5f2f"
+ integrity sha1-UpNBn+NnLWZZjTJ9qWlFZ7pqXy8=
dependencies:
babel-traverse "^6.0.20"
babel-types "^6.0.19"
@@ -306,6 +395,7 @@ babel-eslint@6.1.x:
babel-generator@6.16.0:
version "6.16.0"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.16.0.tgz#2c38ee62699adce265f0a32ce18a2c21cf0fca78"
+ integrity sha1-LDjuYmma3OJl8KMs4YosIc8Pyng=
dependencies:
babel-messages "^6.8.0"
babel-runtime "^6.9.0"
@@ -318,6 +408,7 @@ babel-generator@6.16.0:
babel-generator@6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497"
+ integrity sha1-5xX0hsWN7SVknYiJRNUqoHxdlJc=
dependencies:
babel-messages "^6.23.0"
babel-runtime "^6.22.0"
@@ -331,6 +422,7 @@ babel-generator@6.24.1:
babel-generator@6.25.0:
version "6.25.0"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.25.0.tgz#33a1af70d5f2890aeb465a4a7793c1df6a9ea9fc"
+ integrity sha1-M6GvcNXyiQrrRlpKd5PB32qeqfw=
dependencies:
babel-messages "^6.23.0"
babel-runtime "^6.22.0"
@@ -344,6 +436,7 @@ babel-generator@6.25.0:
babel-generator@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5"
+ integrity sha1-rBriAHC3n248odMmlhMFN3TyDcU=
dependencies:
babel-messages "^6.23.0"
babel-runtime "^6.26.0"
@@ -357,6 +450,7 @@ babel-generator@^6.26.0:
babel-helper-builder-binary-assignment-operator-visitor@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664"
+ integrity sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=
dependencies:
babel-helper-explode-assignable-expression "^6.24.1"
babel-runtime "^6.22.0"
@@ -365,6 +459,7 @@ babel-helper-builder-binary-assignment-operator-visitor@^6.24.1:
babel-helper-call-delegate@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d"
+ integrity sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=
dependencies:
babel-helper-hoist-variables "^6.24.1"
babel-runtime "^6.22.0"
@@ -374,6 +469,7 @@ babel-helper-call-delegate@^6.24.1:
babel-helper-define-map@^6.24.1:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f"
+ integrity sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=
dependencies:
babel-helper-function-name "^6.24.1"
babel-runtime "^6.26.0"
@@ -383,10 +479,12 @@ babel-helper-define-map@^6.24.1:
babel-helper-evaluate-path@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.2.0.tgz#0bb2eb01996c0cef53c5e8405e999fe4a0244c08"
+ integrity sha512-0EK9TUKMxHL549hWDPkQoS7R0Ozg1CDLheVBHYds2B2qoAvmr9ejY3zOXFsrICK73TN7bPhU14PBeKc8jcBTwg==
babel-helper-explode-assignable-expression@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa"
+ integrity sha1-8luCz33BBDPFX3BZLVdGQArCLKo=
dependencies:
babel-runtime "^6.22.0"
babel-traverse "^6.24.1"
@@ -395,10 +493,12 @@ babel-helper-explode-assignable-expression@^6.24.1:
babel-helper-flip-expressions@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.2.0.tgz#160d2090a3d9f9c64a750905321a0bc218f884ec"
+ integrity sha512-rAsPA1pWBc7e2E6HepkP2e1sXugT+Oq/VCqhyuHJ8aJ2d/ifwnJfd4Qxjm21qlW43AN8tqaeByagKK6wECFMSw==
babel-helper-function-name@^6.22.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz#25742d67175c8903dbe4b6cb9d9e1fcb8dcf23a6"
+ integrity sha1-JXQtZxdciQPb5LbLnZ4fy43PI6Y=
dependencies:
babel-helper-get-function-arity "^6.22.0"
babel-runtime "^6.22.0"
@@ -409,6 +509,7 @@ babel-helper-function-name@^6.22.0:
babel-helper-function-name@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
+ integrity sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=
dependencies:
babel-helper-get-function-arity "^6.24.1"
babel-runtime "^6.22.0"
@@ -419,6 +520,7 @@ babel-helper-function-name@^6.24.1:
babel-helper-get-function-arity@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce"
+ integrity sha1-C+tGStadxzR0EKxq3p8DpQY09c4=
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.22.0"
@@ -426,6 +528,7 @@ babel-helper-get-function-arity@^6.22.0:
babel-helper-get-function-arity@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
+ integrity sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
@@ -433,6 +536,7 @@ babel-helper-get-function-arity@^6.24.1:
babel-helper-hoist-variables@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76"
+ integrity sha1-HssnaJydJVE+rbyZFKc/VAi+enY=
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
@@ -440,18 +544,22 @@ babel-helper-hoist-variables@^6.24.1:
babel-helper-is-nodes-equiv@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz#34e9b300b1479ddd98ec77ea0bbe9342dfe39684"
+ integrity sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=
babel-helper-is-void-0@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-helper-is-void-0/-/babel-helper-is-void-0-0.2.0.tgz#6ed0ada8a9b1c5b6e88af6b47c1b3b5c080860eb"
+ integrity sha512-Axj1AYuD0E3Dl7nT3KxROP7VekEofz3XtEljzURf3fABalLpr8PamtgLFt+zuxtaCxRf9iuZmbAMMYWri5Bazw==
babel-helper-mark-eval-scopes@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.2.0.tgz#7648aaf2ec92aae9b09a20ad91e8df5e1fcc94b2"
+ integrity sha512-KJuwrOUcHbvbh6he4xRXZFLaivK9DF9o3CrvpWnK1Wp0B+1ANYABXBMgwrnNFIDK/AvicxQ9CNr8wsgivlp4Aw==
babel-helper-optimise-call-expression@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.23.0.tgz#f3ee7eed355b4282138b33d02b78369e470622f5"
+ integrity sha1-8+5+7TVbQoITizPQK3g2nkcGIvU=
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.23.0"
@@ -459,6 +567,7 @@ babel-helper-optimise-call-expression@^6.23.0:
babel-helper-optimise-call-expression@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257"
+ integrity sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
@@ -466,6 +575,7 @@ babel-helper-optimise-call-expression@^6.24.1:
babel-helper-regex@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz#79f532be1647b1f0ee3474b5f5c3da58001d247d"
+ integrity sha1-efUyvhZHsfDuNHS19cPaWAAdJH0=
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.22.0"
@@ -474,6 +584,7 @@ babel-helper-regex@^6.22.0:
babel-helper-remap-async-to-generator@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b"
+ integrity sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=
dependencies:
babel-helper-function-name "^6.24.1"
babel-runtime "^6.22.0"
@@ -484,10 +595,12 @@ babel-helper-remap-async-to-generator@^6.24.1:
babel-helper-remove-or-void@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.2.0.tgz#8e46ad5b30560d57d7510b3fd93f332ee7c67386"
+ integrity sha512-1Z41upf/XR+PwY7Nd+F15Jo5BiQi5205ZXUuKed3yoyQgDkMyoM7vAdjEJS/T+M6jy32sXjskMUgms4zeiVtRA==
babel-helper-replace-supers@^6.22.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.23.0.tgz#eeaf8ad9b58ec4337ca94223bacdca1f8d9b4bfd"
+ integrity sha1-7q+K2bWOxDN8qUIjus3KH42bS/0=
dependencies:
babel-helper-optimise-call-expression "^6.23.0"
babel-messages "^6.23.0"
@@ -499,6 +612,7 @@ babel-helper-replace-supers@^6.22.0:
babel-helper-replace-supers@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a"
+ integrity sha1-v22/5Dk40XNpohPKiov3S2qQqxo=
dependencies:
babel-helper-optimise-call-expression "^6.24.1"
babel-messages "^6.23.0"
@@ -510,10 +624,12 @@ babel-helper-replace-supers@^6.24.1:
babel-helper-to-multiple-sequence-expressions@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.2.0.tgz#d1a419634c6cb301f27858c659167cfee0a9d318"
+ integrity sha512-ij9lpfdP3+Zc/7kNwa+NXbTrUlsYEWPwt/ugmQO0qflzLrveTIkbfOqQztvitk81aG5NblYDQXDlRohzu3oa8Q==
babel-helpers@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
+ integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=
dependencies:
babel-runtime "^6.22.0"
babel-template "^6.24.1"
@@ -521,12 +637,14 @@ babel-helpers@^6.24.1:
babel-messages@^6.23.0, babel-messages@^6.8.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
+ integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=
dependencies:
babel-runtime "^6.22.0"
babel-minify@0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-minify/-/babel-minify-0.2.0.tgz#36d381fee4002d7949dd5d796e74800336057d67"
+ integrity sha512-4IrZciOMJ3Vj/EHb1hSqEFj03alx0HbwkQUu0LXf6dEP9bx0AcwPL2eSi1L1I2FDhvpDuo/7lbJPvK73M2VdJw==
dependencies:
babel-core "^6.24.1"
babel-preset-minify "^0.2.0"
@@ -538,30 +656,35 @@ babel-minify@0.2.0:
babel-plugin-check-es2015-constants@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
+ integrity sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-external-helpers@6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz#2285f48b02bd5dede85175caf8c62e86adccefa1"
+ integrity sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-minify-builtins@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.2.0.tgz#317f824b0907210b6348671bb040ca072e2e0c82"
+ integrity sha512-4i+8ntaS8gwVUcOz5y+zE+55OVOl2nTbmHV51D4wAIiKcRI8U5K//ip1GHfhsgk/NJrrHK7h97Oy5jpqt0Iixg==
dependencies:
babel-helper-evaluate-path "^0.2.0"
babel-plugin-minify-constant-folding@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.2.0.tgz#8c70b528b2eb7c13e94d95c8789077d4cdbc3970"
+ integrity sha512-B3ffQBEUQ8ydlIkYv2MkZtTCbV7FAkWAV7NkyhcXlGpD10PaCxNGQ/B9oguXGowR1m16Q5nGhvNn8Pkn1MO6Hw==
dependencies:
babel-helper-evaluate-path "^0.2.0"
babel-plugin-minify-dead-code-elimination@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.2.0.tgz#e8025ee10a1e5e4f202633a6928ce892c33747e3"
+ integrity sha512-zE7y3pRyzA4zK5nBou0kTcwUTSQ/AiFrynt1cIEYN7vcO2gS9ZFZoI0aO9JYLUdct5fsC1vfB35408yrzTyVfg==
dependencies:
babel-helper-evaluate-path "^0.2.0"
babel-helper-mark-eval-scopes "^0.2.0"
@@ -571,36 +694,43 @@ babel-plugin-minify-dead-code-elimination@^0.2.0:
babel-plugin-minify-flip-comparisons@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.2.0.tgz#0c9c8e93155c8f09dedad8118b634c259f709ef5"
+ integrity sha512-QOqXSEmD/LhT3LpM1WCyzAGcQZYYKJF7oOHvS6QbpomHenydrV53DMdPX2mK01icBExKZcJAHF209wvDBa+CSg==
dependencies:
babel-helper-is-void-0 "^0.2.0"
babel-plugin-minify-guarded-expressions@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.2.0.tgz#8a8c950040fce3e258a12e6eb21eab94ad7235ab"
+ integrity sha512-5+NSPdRQ9mnrHaA+zFj+D5OzmSiv90EX5zGH6cWQgR/OUqmCHSDqgTRPFvOctgpo8MJyO7Rt7ajs2UfLnlAwYg==
dependencies:
babel-helper-flip-expressions "^0.2.0"
babel-plugin-minify-infinity@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.2.0.tgz#30960c615ddbc657c045bb00a1d8eb4af257cf03"
+ integrity sha512-U694vrla1lN6vDHWGrR832t3a/A2eh+kyl019LxEE2+sS4VTydyOPRsAOIYAdJegWRA4cMX1lm9azAN0cLIr8g==
babel-plugin-minify-mangle-names@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.2.0.tgz#719892297ff0106a6ec1a4b0fc062f1f8b6a8529"
+ integrity sha512-Gixuak1/CO7VCdjn15/8Bxe/QsAtDG4zPbnsNoe1mIJGCIH/kcmSjFhMlGJtXDQZd6EKzeMfA5WmX9+jvGRefw==
dependencies:
babel-helper-mark-eval-scopes "^0.2.0"
babel-plugin-minify-numeric-literals@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.2.0.tgz#5746e851700167a380c05e93f289a7070459a0d1"
+ integrity sha512-VcLpb+r1YS7+RIOXdRsFVLLqoh22177USpHf+JM/g1nZbzdqENmfd5v534MLAbRErhbz6SyK+NQViVzVtBxu8g==
babel-plugin-minify-replace@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.2.0.tgz#3c1f06bc4e6d3e301eacb763edc1be611efc39b0"
+ integrity sha512-SEW6zoSVxh3OH6E1LCgyhhTWMnCv+JIRu5h5IlJDA11tU4ZeSF7uPQcO4vN/o52+FssRB26dmzJ/8D+z0QPg5Q==
babel-plugin-minify-simplify@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.2.0.tgz#21ceec4857100c5476d7cef121f351156e5c9bc0"
+ integrity sha512-Mj3Mwy2zVosMfXDWXZrQH5/uMAyfJdmDQ1NVqit+ArbHC3LlXVzptuyC1JxTyai/wgFvjLaichm/7vSUshkWqw==
dependencies:
babel-helper-flip-expressions "^0.2.0"
babel-helper-is-nodes-equiv "^0.0.1"
@@ -609,24 +739,29 @@ babel-plugin-minify-simplify@^0.2.0:
babel-plugin-minify-type-constructors@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.2.0.tgz#7f3b6458be0863cfd59e9985bed6d134aa7a2e17"
+ integrity sha512-NiOvvA9Pq6bki6nP4BayXwT5GZadw7DJFDDzHmkpnOQpENWe8RtHtKZM44MG1R6EQ5XxgbLdsdhswIzTkFlO5g==
dependencies:
babel-helper-is-void-0 "^0.2.0"
babel-plugin-syntax-async-functions@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
+ integrity sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=
babel-plugin-syntax-exponentiation-operator@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de"
+ integrity sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=
babel-plugin-syntax-trailing-function-commas@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3"
+ integrity sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=
babel-plugin-transform-async-to-generator@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761"
+ integrity sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=
dependencies:
babel-helper-remap-async-to-generator "^6.24.1"
babel-plugin-syntax-async-functions "^6.8.0"
@@ -635,18 +770,21 @@ babel-plugin-transform-async-to-generator@^6.22.0:
babel-plugin-transform-es2015-arrow-functions@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
+ integrity sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-block-scoped-functions@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141"
+ integrity sha1-u8UbSflk1wy42OC5ToICRs46YUE=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-block-scoping@^6.23.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f"
+ integrity sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=
dependencies:
babel-runtime "^6.26.0"
babel-template "^6.26.0"
@@ -657,6 +795,7 @@ babel-plugin-transform-es2015-block-scoping@^6.23.0:
babel-plugin-transform-es2015-classes@^6.23.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db"
+ integrity sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=
dependencies:
babel-helper-define-map "^6.24.1"
babel-helper-function-name "^6.24.1"
@@ -671,6 +810,7 @@ babel-plugin-transform-es2015-classes@^6.23.0:
babel-plugin-transform-es2015-computed-properties@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz#7c383e9629bba4820c11b0425bdd6290f7f057e7"
+ integrity sha1-fDg+lim7pIIMEbBCW91ikPfwV+c=
dependencies:
babel-runtime "^6.22.0"
babel-template "^6.22.0"
@@ -678,12 +818,14 @@ babel-plugin-transform-es2015-computed-properties@^6.22.0:
babel-plugin-transform-es2015-destructuring@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
+ integrity sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-duplicate-keys@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz#672397031c21610d72dd2bbb0ba9fb6277e1c36b"
+ integrity sha1-ZyOXAxwhYQ1y3Su7C6n7Ynfhw2s=
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.22.0"
@@ -691,12 +833,14 @@ babel-plugin-transform-es2015-duplicate-keys@^6.22.0:
babel-plugin-transform-es2015-for-of@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691"
+ integrity sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-function-name@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz#f5fcc8b09093f9a23c76ac3d9e392c3ec4b77104"
+ integrity sha1-9fzIsJCT+aI8dqw9njksPsS3cQQ=
dependencies:
babel-helper-function-name "^6.22.0"
babel-runtime "^6.22.0"
@@ -705,12 +849,14 @@ babel-plugin-transform-es2015-function-name@^6.22.0:
babel-plugin-transform-es2015-literals@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e"
+ integrity sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154"
+ integrity sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=
dependencies:
babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
babel-runtime "^6.22.0"
@@ -719,6 +865,7 @@ babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015
babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a"
+ integrity sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=
dependencies:
babel-plugin-transform-strict-mode "^6.24.1"
babel-runtime "^6.26.0"
@@ -728,6 +875,7 @@ babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-e
babel-plugin-transform-es2015-modules-systemjs@^6.23.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23"
+ integrity sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=
dependencies:
babel-helper-hoist-variables "^6.24.1"
babel-runtime "^6.22.0"
@@ -736,6 +884,7 @@ babel-plugin-transform-es2015-modules-systemjs@^6.23.0:
babel-plugin-transform-es2015-modules-umd@^6.23.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468"
+ integrity sha1-rJl+YoXNGO1hdq22B9YCNErThGg=
dependencies:
babel-plugin-transform-es2015-modules-amd "^6.24.1"
babel-runtime "^6.22.0"
@@ -744,6 +893,7 @@ babel-plugin-transform-es2015-modules-umd@^6.23.0:
babel-plugin-transform-es2015-object-super@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz#daa60e114a042ea769dd53fe528fc82311eb98fc"
+ integrity sha1-2qYOEUoELqdp3VP+Uo/IIxHrmPw=
dependencies:
babel-helper-replace-supers "^6.22.0"
babel-runtime "^6.22.0"
@@ -751,6 +901,7 @@ babel-plugin-transform-es2015-object-super@^6.22.0:
babel-plugin-transform-es2015-parameters@^6.23.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b"
+ integrity sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=
dependencies:
babel-helper-call-delegate "^6.24.1"
babel-helper-get-function-arity "^6.24.1"
@@ -762,6 +913,7 @@ babel-plugin-transform-es2015-parameters@^6.23.0:
babel-plugin-transform-es2015-shorthand-properties@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz#8ba776e0affaa60bff21e921403b8a652a2ff723"
+ integrity sha1-i6d24K/6pgv/IekhQDuKZSov9yM=
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.22.0"
@@ -769,12 +921,14 @@ babel-plugin-transform-es2015-shorthand-properties@^6.22.0:
babel-plugin-transform-es2015-spread@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
+ integrity sha1-1taKmfia7cRTbIGlQujdnxdG+NE=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-sticky-regex@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz#ab316829e866ee3f4b9eb96939757d19a5bc4593"
+ integrity sha1-qzFoKehm7j9LnrlpOXV9GaW8RZM=
dependencies:
babel-helper-regex "^6.22.0"
babel-runtime "^6.22.0"
@@ -783,18 +937,21 @@ babel-plugin-transform-es2015-sticky-regex@^6.22.0:
babel-plugin-transform-es2015-template-literals@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d"
+ integrity sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-typeof-symbol@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372"
+ integrity sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-unicode-regex@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz#8d9cc27e7ee1decfe65454fb986452a04a613d20"
+ integrity sha1-jZzCfn7h3s/mVFT7mGRSoEphPSA=
dependencies:
babel-helper-regex "^6.22.0"
babel-runtime "^6.22.0"
@@ -803,6 +960,7 @@ babel-plugin-transform-es2015-unicode-regex@^6.22.0:
babel-plugin-transform-exponentiation-operator@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e"
+ integrity sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=
dependencies:
babel-helper-builder-binary-assignment-operator-visitor "^6.24.1"
babel-plugin-syntax-exponentiation-operator "^6.8.0"
@@ -811,56 +969,68 @@ babel-plugin-transform-exponentiation-operator@^6.22.0:
babel-plugin-transform-inline-consecutive-adds@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.2.0.tgz#15dae78921057f4004f8eafd79e15ddc5f12f426"
+ integrity sha512-GlhOuLOQ28ua9prg0hT33HslCrEmz9xWXy9ZNZSACppCyRxxRW+haYtRgm7uYXCcd0q8ggCWD2pfWEJp5iiZfQ==
babel-plugin-transform-member-expression-literals@^6.8.5:
version "6.8.5"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.8.5.tgz#e06ae305cf48d819822e93a70d79269f04d89eec"
+ integrity sha512-Ux3ligf+ukzWaCbBYOstDuFBhRgMiJHlpJBKV4P47qtzVkd0lg1ddPj9fqIJqAM0n+CvxipyrZrnNnw3CdtQCg==
babel-plugin-transform-merge-sibling-variables@^6.8.6:
version "6.8.6"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.8.6.tgz#6d21efa5ee4981f71657fae716f9594bb2622aef"
+ integrity sha512-o5Jioq553HtEAUN5uty7ELJMenXIxHI3PIs1yLqYWYQwP6mg6IPVAJ+U7i4zr9XGF/kb2RGsdehglGTV+vngqA==
babel-plugin-transform-minify-booleans@^6.8.3:
version "6.8.3"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.8.3.tgz#5906ed776d3718250519abf1bace44b0b613ddf9"
+ integrity sha512-bPbUhkeN2Nc0KH0/A19GwQGj8w+CvdJzyu8t59VoEDgsNMQ9Bopzi5DrVkrSsVjbYUaZpzq/DYLrH+wD5K2Tig==
babel-plugin-transform-property-literals@^6.8.5:
version "6.8.5"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.8.5.tgz#67ed5930b34805443452c8b9690c7ebe1e206c40"
+ integrity sha512-MmiQsQ5AcIaRZMJD0zY5C4H3xuHm06/nWgtOsz7AXV44VEIXIlPiJ39IFYJ4Qx67/fEm8zJAedzR8t+B7d10Bg==
dependencies:
esutils "^2.0.2"
babel-plugin-transform-regenerator@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz#65740593a319c44522157538d690b84094617ea6"
+ integrity sha1-ZXQFk6MZxEUiFXU41pC4QJRhfqY=
dependencies:
regenerator-transform "0.9.8"
babel-plugin-transform-regexp-constructors@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.2.0.tgz#6aa5dd0acc515db4be929bbcec4ed4c946c534a3"
+ integrity sha512-7IsQ6aQx6LAaOqy97/PthTf+5Nx9grZww3r6E62IdWe76Yr8KsuwVjxzqSPQvESJqTE3EMADQ9S0RtwWDGNG9Q==
babel-plugin-transform-remove-console@^6.8.5:
version "6.8.5"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.8.5.tgz#fde9d2d3d725530b0fadd8d31078402410386810"
+ integrity sha512-uuCKvtweCyIvvC8fi92EcWRtO2Kt5KMNMRK6BhpDXdeb3sxvGM7453RSmgeu4DlKns3OlvY9Ep5Q9m5a7RQAgg==
babel-plugin-transform-remove-debugger@^6.8.5:
version "6.8.5"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.8.5.tgz#809584d412bf918f071fdf41e1fdb15ea89cdcd5"
+ integrity sha512-InDQDdHPOLJKM+G6oXrEesf+P29QFBmcTXID+TAvZziVz+38xe2VO/Bn3FcRcRtnOOycbgsJkUNp9jIK+ist6g==
babel-plugin-transform-remove-undefined@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.2.0.tgz#94f052062054c707e8d094acefe79416b63452b1"
+ integrity sha512-O8v57tPMHkp89kA4ZfQEYds/pzgvz/QYerBJjIuL5/Jc7RnvMVRA5gJY9zFKP7WayW8WOSBV4vh8Y8FJRio+ow==
dependencies:
babel-helper-evaluate-path "^0.2.0"
babel-plugin-transform-simplify-comparison-operators@^6.8.5:
version "6.8.5"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.8.5.tgz#a838786baf40cc33a93b95ae09e05591227e43bf"
+ integrity sha512-B3HlBZb+Uq86nRj5yNPO6pJ3noEdqHvzYkEYoUWtrsWTv48ZIRatYlumoOiif/v8llF13YjYjx9zhyznDx+N9g==
babel-plugin-transform-strict-mode@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
+ integrity sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
@@ -868,10 +1038,12 @@ babel-plugin-transform-strict-mode@^6.24.1:
babel-plugin-transform-undefined-to-void@^6.8.3:
version "6.8.3"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.8.3.tgz#fc52707f6ee1ddc71bb91b0d314fbefdeef9beb4"
+ integrity sha512-goYwp8dMrzHD6x9GjZ2M85Mk2vxf1h85CnUgAjfftUnlJvzF4uj5MrbReHBTbjQ96C8CuRzvhYZ3tv8H3Sc1ZA==
babel-preset-env@1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.0.tgz#2de1c782a780a0a5d605d199c957596da43c44e4"
+ integrity sha512-OVgtQRuOZKckrILgMA5rvctvFZPv72Gua9Rt006AiPoB0DJKGN07UmaQA+qRrYgK71MVct8fFhT0EyNWYorVew==
dependencies:
babel-plugin-check-es2015-constants "^6.22.0"
babel-plugin-syntax-trailing-function-commas "^6.22.0"
@@ -907,6 +1079,7 @@ babel-preset-env@1.6.0:
babel-preset-minify@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/babel-preset-minify/-/babel-preset-minify-0.2.0.tgz#006566552d9b83834472273f306c0131062a0acc"
+ integrity sha512-mR8Q44RmMzm18bM2Lqd9uiPopzk5GDCtVuquNbLFmX6lOKnqWoenaNBxnWW0UhBFC75lEHTIgNGCbnsRI0pJVw==
dependencies:
babel-plugin-minify-builtins "^0.2.0"
babel-plugin-minify-constant-folding "^0.2.0"
@@ -935,6 +1108,7 @@ babel-preset-minify@^0.2.0:
babel-register@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
+ integrity sha1-btAhFz4vy0htestFxgCahW9kcHE=
dependencies:
babel-core "^6.26.0"
babel-runtime "^6.26.0"
@@ -947,6 +1121,7 @@ babel-register@^6.26.0:
babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.9.0, babel-runtime@^6.9.1:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
+ integrity sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.10.0"
@@ -954,6 +1129,7 @@ babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.9.0, babel-runtim
babel-runtime@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
+ integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
@@ -961,6 +1137,7 @@ babel-runtime@^6.26.0:
babel-template@6.16.0:
version "6.16.0"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.16.0.tgz#e149dd1a9f03a35f817ddbc4d0481988e7ebc8ca"
+ integrity sha1-4UndGp8Do1+BfdvE0EgZiOfryMo=
dependencies:
babel-runtime "^6.9.0"
babel-traverse "^6.16.0"
@@ -971,6 +1148,7 @@ babel-template@6.16.0:
babel-template@^6.22.0, babel-template@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.23.0.tgz#04d4f270adbb3aa704a8143ae26faa529238e638"
+ integrity sha1-BNTycK27OqcEqBQ64m+qUpI45jg=
dependencies:
babel-runtime "^6.22.0"
babel-traverse "^6.23.0"
@@ -981,6 +1159,7 @@ babel-template@^6.22.0, babel-template@^6.23.0:
babel-template@^6.24.1, babel-template@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
+ integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=
dependencies:
babel-runtime "^6.26.0"
babel-traverse "^6.26.0"
@@ -991,6 +1170,7 @@ babel-template@^6.24.1, babel-template@^6.26.0:
babel-traverse@^6.0.20, babel-traverse@^6.16.0, babel-traverse@^6.23.0:
version "6.23.1"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.23.1.tgz#d3cb59010ecd06a97d81310065f966b699e14f48"
+ integrity sha1-08tZAQ7NBql9gTEAZflmtpnhT0g=
dependencies:
babel-code-frame "^6.22.0"
babel-messages "^6.23.0"
@@ -1005,6 +1185,7 @@ babel-traverse@^6.0.20, babel-traverse@^6.16.0, babel-traverse@^6.23.0:
babel-traverse@^6.24.1, babel-traverse@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
+ integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=
dependencies:
babel-code-frame "^6.26.0"
babel-messages "^6.23.0"
@@ -1019,6 +1200,7 @@ babel-traverse@^6.24.1, babel-traverse@^6.26.0:
babel-types@6.16.0:
version "6.16.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.16.0.tgz#71cca1dbe5337766225c5c193071e8ebcbcffcfe"
+ integrity sha1-ccyh2+Uzd2YiXFwZMHHo68vP/P4=
dependencies:
babel-runtime "^6.9.1"
esutils "^2.0.2"
@@ -1028,6 +1210,7 @@ babel-types@6.16.0:
babel-types@6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975"
+ integrity sha1-oTaHncFbNga9oNkMH8dDBML/CXU=
dependencies:
babel-runtime "^6.22.0"
esutils "^2.0.2"
@@ -1037,6 +1220,7 @@ babel-types@6.24.1:
babel-types@6.25.0:
version "6.25.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e"
+ integrity sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=
dependencies:
babel-runtime "^6.22.0"
esutils "^2.0.2"
@@ -1046,6 +1230,7 @@ babel-types@6.25.0:
babel-types@^6.0.19, babel-types@^6.16.0, babel-types@^6.19.0, babel-types@^6.22.0, babel-types@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.23.0.tgz#bb17179d7538bad38cd0c9e115d340f77e7e9acf"
+ integrity sha1-uxcXnXU4utOM0MnhFdNA935+ms8=
dependencies:
babel-runtime "^6.22.0"
esutils "^2.0.2"
@@ -1055,6 +1240,7 @@ babel-types@^6.0.19, babel-types@^6.16.0, babel-types@^6.19.0, babel-types@^6.22
babel-types@^6.24.1, babel-types@^6.25.0, babel-types@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
+ integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
dependencies:
babel-runtime "^6.26.0"
esutils "^2.0.2"
@@ -1064,52 +1250,72 @@ babel-types@^6.24.1, babel-types@^6.25.0, babel-types@^6.26.0:
babel@6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel/-/babel-6.23.0.tgz#d0d1e7d803e974765beea3232d4e153c0efb90f4"
+ integrity sha1-0NHn2APpdHZb7qMjLU4VPA77kPQ=
babylon@6.11.2, babylon@^6.11.0:
version "6.11.2"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.11.2.tgz#3a64361fedee6d9f8276a9abc0c88a9e5237ff7a"
+ integrity sha1-OmQ2H+3ubZ+CdqmrwMiKnlI3/3o=
babylon@7.0.0-beta.19:
version "7.0.0-beta.19"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.19.tgz#e928c7e807e970e0536b078ab3e0c48f9e052503"
+ integrity sha512-Vg0C9s/REX6/WIXN37UKpv5ZhRi6A4pjHlpkE34+8/a6c2W1Q692n3hmc+SZG5lKRnaExLUbxtJ1SVT+KaCQ/A==
babylon@^6.0.18, babylon@^6.15.0:
version "6.16.1"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3"
+ integrity sha1-MMWiL0gZeKnn+M399JaxHZS0BNM=
babylon@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
-
-balanced-match@^0.4.1:
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
+ integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
balanced-match@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+ integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
base64-js@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978"
+ integrity sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=
base64-js@^1.0.2:
version "1.2.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886"
+ integrity sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==
+
+base@^0.11.1:
+ version "0.11.2"
+ resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
+ integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
+ dependencies:
+ cache-base "^1.0.1"
+ class-utils "^0.3.5"
+ component-emitter "^1.2.1"
+ define-property "^1.0.0"
+ isobject "^3.0.1"
+ mixin-deep "^1.2.0"
+ pascalcase "^0.1.1"
bcrypt-pbkdf@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
+ integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
dependencies:
tweetnacl "^0.14.3"
beeper@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809"
+ integrity sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=
bin-build@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/bin-build/-/bin-build-2.2.0.tgz#11f8dd61f70ffcfa2bdcaa5b46f5e8fedd4221cc"
+ integrity sha1-EfjdYfcP/Por3KpbRvXo/t1CIcw=
dependencies:
archive-type "^3.0.1"
decompress "^3.0.0"
@@ -1120,44 +1326,45 @@ bin-build@^2.2.0:
url-regex "^3.0.0"
binary-extensions@^1.0.0:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz#c2d780f53d45bba8317a8902d4ceeaf3a6385b14"
+ integrity sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==
bl@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.0.tgz#1397e7ec42c5f5dc387470c500e34a9f6be9ea98"
+ integrity sha1-E5fn7ELF9dw4dHDFAONKn2vp6pg=
dependencies:
readable-stream "^2.0.5"
bl@~0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/bl/-/bl-0.8.2.tgz#c9b6bca08d1bc2ea00fc8afb4f1a5fd1e1c66e4e"
+ integrity sha1-yba8oI0bwuoA/Ir7Txpf0eHGbk4=
dependencies:
readable-stream "~1.0.26"
bl@~0.9.0:
version "0.9.5"
resolved "https://registry.yarnpkg.com/bl/-/bl-0.9.5.tgz#c06b797af085ea00bc527afc8efcf11de2232054"
+ integrity sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=
dependencies:
readable-stream "~1.0.26"
-block-stream@*:
- version "0.0.9"
- resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
- dependencies:
- inherits "~2.0.0"
-
bluebird@~3.5.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c"
+ integrity sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
version "4.11.6"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215"
+ integrity sha1-UzRK2xRhehP26N0s4okF0cC6MhU=
body@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz#e4ba0ce410a46936323367609ecb4e6553125069"
+ integrity sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=
dependencies:
continuable-cache "^0.3.1"
error "^7.0.0"
@@ -1167,25 +1374,29 @@ body@^5.1.0:
boom@0.4.x:
version "0.4.2"
resolved "https://registry.yarnpkg.com/boom/-/boom-0.4.2.tgz#7a636e9ded4efcefb19cef4947a3c67dfaee911b"
+ integrity sha1-emNune1O/O+xnO9JR6PGffrukRs=
dependencies:
hoek "0.9.x"
boom@2.x.x:
version "2.10.1"
resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
+ integrity sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=
dependencies:
hoek "2.x.x"
brace-expansion@^1.0.0:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9"
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
dependencies:
- balanced-match "^0.4.1"
+ balanced-match "^1.0.0"
concat-map "0.0.1"
brace-expansion@^1.1.7:
version "1.1.8"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
+ integrity sha1-wHshHHyVLsH479Uad+8NHTmQopI=
dependencies:
balanced-match "^1.0.0"
concat-map "0.0.1"
@@ -1193,28 +1404,49 @@ brace-expansion@^1.1.7:
braces@^1.8.2:
version "1.8.5"
resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
+ integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=
dependencies:
expand-range "^1.8.1"
preserve "^0.2.0"
repeat-element "^1.1.2"
+braces@^2.3.1:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
+ integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
+ dependencies:
+ arr-flatten "^1.1.0"
+ array-unique "^0.3.2"
+ extend-shallow "^2.0.1"
+ fill-range "^4.0.0"
+ isobject "^3.0.1"
+ repeat-element "^1.1.2"
+ snapdragon "^0.8.1"
+ snapdragon-node "^2.0.1"
+ split-string "^3.0.2"
+ to-regex "^3.0.1"
+
brorand@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
+ integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
browser-resolve@^1.11.0:
version "1.11.2"
resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce"
+ integrity sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=
dependencies:
resolve "1.1.7"
browser-stdout@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f"
+ integrity sha1-81HTKWnTL6XXpVZxVCY9korjvR8=
browserify-aes@^1.0.0, browserify-aes@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a"
+ integrity sha1-Xncl297x/Vkw1OurSFZ85FHEigo=
dependencies:
buffer-xor "^1.0.2"
cipher-base "^1.0.0"
@@ -1225,6 +1457,7 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4:
browserify-cipher@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a"
+ integrity sha1-mYgkSHS/XtTijalWZtzWasj8Njo=
dependencies:
browserify-aes "^1.0.4"
browserify-des "^1.0.0"
@@ -1233,6 +1466,7 @@ browserify-cipher@^1.0.0:
browserify-des@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd"
+ integrity sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=
dependencies:
cipher-base "^1.0.1"
des.js "^1.0.0"
@@ -1241,6 +1475,7 @@ browserify-des@^1.0.0:
browserify-fs@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/browserify-fs/-/browserify-fs-1.0.0.tgz#f075aa8a729d4d1716d066620e386fcc1311a96f"
+ integrity sha1-8HWqinKdTRcW0GZiDjhvzBMRqW8=
dependencies:
level-filesystem "^1.0.1"
level-js "^2.1.3"
@@ -1249,6 +1484,7 @@ browserify-fs@^1.0.0:
browserify-rsa@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
+ integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=
dependencies:
bn.js "^4.1.0"
randombytes "^2.0.1"
@@ -1256,6 +1492,7 @@ browserify-rsa@^4.0.0:
browserify-sign@^4.0.0:
version "4.0.4"
resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
+ integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=
dependencies:
bn.js "^4.1.1"
browserify-rsa "^4.0.0"
@@ -1268,6 +1505,7 @@ browserify-sign@^4.0.0:
browserslist@^2.1.2:
version "2.4.0"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.4.0.tgz#693ee93d01e66468a6348da5498e011f578f87f8"
+ integrity sha512-aM2Gt4x9bVlCUteADBS6JP0F+2tMWKM1jQzUulVROtdFWFIcIVvY76AJbr7GDqy0eDhn+PcnpzzivGxY4qiaKQ==
dependencies:
caniuse-lite "^1.0.30000718"
electron-to-chromium "^1.3.18"
@@ -1275,22 +1513,27 @@ browserslist@^2.1.2:
buf-compare@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/buf-compare/-/buf-compare-1.0.1.tgz#fef28da8b8113a0a0db4430b0b6467b69730b34a"
+ integrity sha1-/vKNqLgROgoNtEMLC2Rntpcws0o=
buffer-crc32@~0.2.3:
version "0.2.13"
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
+ integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
buffer-es6@^4.9.1, buffer-es6@^4.9.2:
version "4.9.3"
resolved "https://registry.yarnpkg.com/buffer-es6/-/buffer-es6-4.9.3.tgz#f26347b82df76fd37e18bcb5288c4970cfd5c404"
+ integrity sha1-8mNHuC33b9N+GLy1KIxJcM/VxAQ=
buffer-shims@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
+ integrity sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=
buffer-to-vinyl@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz#00f15faee3ab7a1dda2cde6d9121bffdd07b2262"
+ integrity sha1-APFfruOreh3aLN5tkSG//dB7ImI=
dependencies:
file-type "^3.1.0"
readable-stream "^2.0.2"
@@ -1300,10 +1543,12 @@ buffer-to-vinyl@^1.0.0:
buffer-xor@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
+ integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
buffer@4.9.1:
version "4.9.1"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
+ integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=
dependencies:
base64-js "^1.0.2"
ieee754 "^1.1.4"
@@ -1312,6 +1557,7 @@ buffer@4.9.1:
buffer@^3.0.1:
version "3.6.0"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-3.6.0.tgz#a72c936f77b96bf52f5f7e7b467180628551defb"
+ integrity sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=
dependencies:
base64-js "0.0.8"
ieee754 "^1.1.4"
@@ -1320,14 +1566,32 @@ buffer@^3.0.1:
builtin-modules@^1.1.0, builtin-modules@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
+ integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=
bytes@1:
version "1.0.0"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8"
+ integrity sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=
+
+cache-base@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
+ integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
+ dependencies:
+ collection-visit "^1.0.0"
+ component-emitter "^1.2.1"
+ get-value "^2.0.6"
+ has-value "^1.0.0"
+ isobject "^3.0.1"
+ set-value "^2.0.0"
+ to-object-path "^0.3.0"
+ union-value "^1.0.0"
+ unset-value "^1.0.0"
cache-point@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/cache-point/-/cache-point-0.4.0.tgz#2797f68055970757c87e89b464978e74e11047b0"
+ integrity sha1-J5f2gFWXB1fIfom0ZJeOdOEQR7A=
dependencies:
array-back "^1.0.4"
fs-then-native "^2.0.0"
@@ -1336,6 +1600,7 @@ cache-point@^0.4.0:
cache-point@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/cache-point/-/cache-point-0.4.1.tgz#cc8c9cbd99d90d7b0c66910cd33d77a1aab8840e"
+ integrity sha512-4TgWfe9SF+bUy5cCql8gWHqKNrviufNwSYxLjf2utB0pY4+bdcuFwMmY1hDB+67Gz/L1vmhFNhePAjJTFBtV+Q==
dependencies:
array-back "^2.0.0"
fs-then-native "^2.0.0"
@@ -1344,46 +1609,56 @@ cache-point@^0.4.1:
caller-path@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
+ integrity sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=
dependencies:
callsites "^0.2.0"
callsites@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
+ integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=
camelcase@^1.0.2:
version "1.2.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
+ integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=
camelcase@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
+ integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo=
caniuse-lite@^1.0.30000718:
version "1.0.30000733"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000733.tgz#ebfc48254117cc0c66197a4536cb4397a6cfbccd"
+ integrity sha1-6/xIJUEXzAxmGXpFNstDl6bPvM0=
capture-stack-trace@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d"
+ integrity sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+ integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
caseless@~0.8.0:
version "0.8.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.8.0.tgz#5bca2881d41437f54b2407ebe34888c7b9ad4f7d"
+ integrity sha1-W8oogdQUN/VLJAfr40iIx7mtT30=
catharsis@~0.8.9:
version "0.8.9"
resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.8.9.tgz#98cc890ca652dd2ef0e70b37925310ff9e90fc8b"
+ integrity sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=
dependencies:
underscore-contrib "~0.3.0"
caw@^1.0.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/caw/-/caw-1.2.0.tgz#ffb226fe7efc547288dc62ee3e97073c212d1034"
+ integrity sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=
dependencies:
get-proxy "^1.0.1"
is-obj "^1.0.0"
@@ -1393,6 +1668,7 @@ caw@^1.0.1:
caw@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/caw/-/caw-2.0.1.tgz#6c3ca071fc194720883c2dc5da9b074bfc7e9e95"
+ integrity sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==
dependencies:
get-proxy "^2.0.0"
isurl "^1.0.0-alpha5"
@@ -1402,6 +1678,7 @@ caw@^2.0.0:
center-align@^0.1.1:
version "0.1.3"
resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
+ integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60=
dependencies:
align-text "^0.1.3"
lazy-cache "^1.0.3"
@@ -1409,6 +1686,7 @@ center-align@^0.1.1:
chalk@0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174"
+ integrity sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=
dependencies:
ansi-styles "^1.1.0"
escape-string-regexp "^1.0.0"
@@ -1419,6 +1697,7 @@ chalk@0.5.1:
chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+ integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
dependencies:
ansi-styles "^2.2.1"
escape-string-regexp "^1.0.2"
@@ -1429,6 +1708,7 @@ chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
chokidar@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
+ integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=
dependencies:
anymatch "^1.3.0"
async-each "^1.0.0"
@@ -1441,29 +1721,49 @@ chokidar@^1.7.0:
optionalDependencies:
fsevents "^1.0.0"
+chownr@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494"
+ integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==
+
cipher-base@^1.0.0, cipher-base@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07"
+ integrity sha1-7qvxlEGc6QDaMBjCB9IS8qbfCgc=
dependencies:
inherits "^2.0.1"
circular-json@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
+ integrity sha1-vos2rvzN6LPKeqLWr8B6NyQsDS0=
+
+class-utils@^0.3.5:
+ version "0.3.6"
+ resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
+ integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
+ dependencies:
+ arr-union "^3.1.0"
+ define-property "^0.2.5"
+ isobject "^3.0.0"
+ static-extend "^0.1.1"
cli-cursor@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
+ integrity sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=
dependencies:
restore-cursor "^1.0.1"
cli-width@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a"
+ integrity sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=
cliui@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
+ integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=
dependencies:
center-align "^0.1.1"
right-align "^0.1.1"
@@ -1472,57 +1772,77 @@ cliui@^2.1.0:
clone-stats@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1"
+ integrity sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=
clone@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f"
+ integrity sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=
clone@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149"
+ integrity sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=
clone@~0.1.9:
version "0.1.19"
resolved "https://registry.yarnpkg.com/clone/-/clone-0.1.19.tgz#613fb68639b26a494ac53253e15b1a6bd88ada85"
+ integrity sha1-YT+2hjmyaklKxTJT4Vsaa9iK2oU=
co@3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/co/-/co-3.1.0.tgz#4ea54ea5a08938153185e15210c68d9092bc1b78"
+ integrity sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=
co@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+ integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=
code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+ integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
collect-all@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/collect-all/-/collect-all-1.0.3.tgz#1abcc20448b58a1447487fcf34130e9512b0acf8"
+ integrity sha512-0y0rBgoX8IzIjBAUnO73SEtSb4Mhk3IoceWJq5zZSxb9mWORhWH8xLYo4EDSOE1jRBk1LhmfjqWFFt10h/+MEA==
dependencies:
stream-connect "^1.0.2"
stream-via "^1.0.4"
+collection-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
+ integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
+ dependencies:
+ map-visit "^1.0.0"
+ object-visit "^1.0.0"
+
colors@1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
+ integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=
combined-stream@^1.0.5, combined-stream@~1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828"
+ integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==
dependencies:
delayed-stream "~1.0.0"
combined-stream@~0.0.4, combined-stream@~0.0.5:
version "0.0.7"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-0.0.7.tgz#0137e657baa5a7541c57ac37ac5fc07d73b4dc1f"
+ integrity sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=
dependencies:
delayed-stream "0.0.5"
command-line-args@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-4.0.2.tgz#a99c2f28ceabcf26ac56d38e78b600ea3b57e650"
+ integrity sha1-qZwvKM6rzyasVtOOeLYA6jtX5lA=
dependencies:
array-back "^1.0.4"
find-replace "^1.0.3"
@@ -1531,6 +1851,7 @@ command-line-args@^4.0.1:
command-line-tool@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/command-line-tool/-/command-line-tool-0.7.0.tgz#ca80792ae2069cf7caa562c0cbc2cd11811122a0"
+ integrity sha1-yoB5KuIGnPfKpWLAy8LNEYERIqA=
dependencies:
ansi-escape-sequences "^3.0.0"
array-back "^1.0.4"
@@ -1541,6 +1862,7 @@ command-line-tool@^0.7.0:
command-line-usage@4.0.0, command-line-usage@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-4.0.0.tgz#816b32788b58f9feba44d1e6dac60fcaeb29b5ea"
+ integrity sha1-gWsyeItY+f66RNHm2sYPyuspteo=
dependencies:
ansi-escape-sequences "^3.0.0"
array-back "^1.0.4"
@@ -1550,30 +1872,41 @@ command-line-usage@4.0.0, command-line-usage@^4.0.0:
commander@2.6.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.6.0.tgz#9df7e52fb2a0cb0fb89058ee80c3104225f37e1d"
+ integrity sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=
commander@2.9.0:
version "2.9.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
+ integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=
dependencies:
graceful-readlink ">= 1.0.0"
commander@~2.8.1:
version "2.8.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4"
+ integrity sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=
dependencies:
graceful-readlink ">= 1.0.0"
common-sequence@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/common-sequence/-/common-sequence-1.0.2.tgz#30e07f3f8f6f7f9b3dee854f20b2d39eee086de8"
+ integrity sha1-MOB/P49vf5s97oVPILLTnu4Ibeg=
+
+component-emitter@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
+ integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
concat-stream@^1.4.4, concat-stream@^1.4.6, concat-stream@^1.4.7:
version "1.6.0"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
+ integrity sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=
dependencies:
inherits "^2.0.3"
readable-stream "^2.2.2"
@@ -1582,6 +1915,7 @@ concat-stream@^1.4.4, concat-stream@^1.4.6, concat-stream@^1.4.7:
concurrently@3.5.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-3.5.0.tgz#8cf1b7707a6916a78a4ff5b77bb04dec54b379b2"
+ integrity sha1-jPG3cHppFqeKT/W3e7BN7FSzebI=
dependencies:
chalk "0.5.1"
commander "2.6.0"
@@ -1595,6 +1929,7 @@ concurrently@3.5.0:
config-chain@^1.1.11:
version "1.1.11"
resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2"
+ integrity sha1-q6CXR9++TD5w52am5BWG4YWfxvI=
dependencies:
ini "^1.3.4"
proto-list "~1.2.1"
@@ -1602,32 +1937,44 @@ config-chain@^1.1.11:
config-master@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/config-master/-/config-master-3.1.0.tgz#667663590505a283bf26a484d68489d74c5485da"
+ integrity sha1-ZnZjWQUFooO/JqSE1oSJ10xUhdo=
dependencies:
walk-back "^2.0.1"
console-control-strings@^1.0.0, console-control-strings@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
+ integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
contains-path@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
+ integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=
content-disposition@^0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
+ integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ=
continuable-cache@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/continuable-cache/-/continuable-cache-0.3.1.tgz#bd727a7faed77e71ff3985ac93351a912733ad0f"
+ integrity sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=
convert-source-map@^1.1.1, convert-source-map@^1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5"
+ integrity sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=
+
+copy-descriptor@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
+ integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
core-assert@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/core-assert/-/core-assert-0.2.1.tgz#f85e2cf9bfed28f773cc8b3fa5c5b69bdc02fe3f"
+ integrity sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=
dependencies:
buf-compare "^1.0.0"
is-error "^2.2.0"
@@ -1635,22 +1982,27 @@ core-assert@^0.2.0:
core-js@^2.0.0, core-js@^2.4.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
+ integrity sha1-TekR5mew6ukSTjQlS1OupvxhjT4=
core-js@^2.4.1, core-js@^2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.0.tgz#569c050918be6486b3837552028ae0466b717086"
+ integrity sha1-VpwFCRi+ZIazg3VSAorgRmtxcIY=
-core-util-is@~1.0.0:
+core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+ integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
corser@~2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87"
+ integrity sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=
create-ecdh@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d"
+ integrity sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=
dependencies:
bn.js "^4.1.0"
elliptic "^6.0.0"
@@ -1658,12 +2010,14 @@ create-ecdh@^4.0.0:
create-error-class@^3.0.1:
version "3.0.2"
resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
+ integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=
dependencies:
capture-stack-trace "^1.0.0"
create-hash@^1.1.0, create-hash@^1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.2.tgz#51210062d7bb7479f6c65bb41a92208b1d61abad"
+ integrity sha1-USEAYte7dHn2xlu0GpIgix1hq60=
dependencies:
cipher-base "^1.0.1"
inherits "^2.0.1"
@@ -1673,6 +2027,7 @@ create-hash@^1.1.0, create-hash@^1.1.1:
create-hmac@^1.1.0, create-hmac@^1.1.2:
version "1.1.4"
resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.4.tgz#d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170"
+ integrity sha1-0/tLolPriz9W456i+8uK90e9MXA=
dependencies:
create-hash "^1.1.0"
inherits "^2.0.1"
@@ -1680,22 +2035,26 @@ create-hmac@^1.1.0, create-hmac@^1.1.2:
cryptiles@0.2.x:
version "0.2.2"
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-0.2.2.tgz#ed91ff1f17ad13d3748288594f8a48a0d26f325c"
+ integrity sha1-7ZH/HxetE9N0gohZT4pIoNJvMlw=
dependencies:
boom "0.4.x"
cryptiles@2.x.x:
version "2.0.5"
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
+ integrity sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=
dependencies:
boom "2.x.x"
crypto-browserify@1.0.9:
version "1.0.9"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-1.0.9.tgz#cc5449685dfb85eb11c9828acc7cb87ab5bbfcc0"
+ integrity sha1-zFRJaF37hesRyYKKzHy4erW7/MA=
crypto-browserify@^3.11.0:
version "3.11.0"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522"
+ integrity sha1-NlKgkGq5sqfgw85mpAjpV6JIVSI=
dependencies:
browserify-cipher "^1.0.0"
browserify-sign "^4.0.0"
@@ -1711,56 +2070,79 @@ crypto-browserify@^3.11.0:
ctype@0.5.3:
version "0.5.3"
resolved "https://registry.yarnpkg.com/ctype/-/ctype-0.5.3.tgz#82c18c2461f74114ef16c135224ad0b9144ca12f"
+ integrity sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=
d@1:
version "1.0.0"
resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f"
+ integrity sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=
dependencies:
es5-ext "^0.10.9"
damerau-levenshtein@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514"
+ integrity sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
dependencies:
assert-plus "^1.0.0"
date-fns@^1.23.0:
version "1.28.5"
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.28.5.tgz#257cfc45d322df45ef5658665967ee841cd73faf"
+ integrity sha1-JXz8RdMi30XvVlhmWWfuhBzXP68=
dateformat@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17"
+ integrity sha1-J0Pjq7XD/CRi5SfcpEXgTp9N7hc=
debug@2.6.8, debug@^2.6.8, debug@~2.6.7:
version "2.6.8"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
+ integrity sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=
dependencies:
ms "2.0.0"
-debug@^2.1.1, debug@^2.2.0:
+debug@^2.1.1:
version "2.6.3"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.3.tgz#0f7eb8c30965ec08c72accfa0130c8b79984141d"
+ integrity sha1-D364wwll7AjHKsz6ATDIt5mEFB0=
dependencies:
ms "0.7.2"
+debug@^2.1.2, debug@^2.2.0, debug@^2.3.3:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ dependencies:
+ ms "2.0.0"
+
decamelize@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+ integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
+
+decode-uri-component@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
+ integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
decompress-response@^3.2.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
+ integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=
dependencies:
mimic-response "^1.0.0"
decompress-tar@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-3.1.0.tgz#217c789f9b94450efaadc5c5e537978fc333c466"
+ integrity sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=
dependencies:
is-tar "^1.0.0"
object-assign "^2.0.0"
@@ -1772,6 +2154,7 @@ decompress-tar@^3.0.0:
decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1"
+ integrity sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==
dependencies:
file-type "^5.2.0"
is-stream "^1.1.0"
@@ -1780,6 +2163,7 @@ decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1:
decompress-tarbz2@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz#8b23935681355f9f189d87256a0f8bdd96d9666d"
+ integrity sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=
dependencies:
is-bzip2 "^1.0.0"
object-assign "^2.0.0"
@@ -1792,6 +2176,7 @@ decompress-tarbz2@^3.0.0:
decompress-tarbz2@^4.0.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b"
+ integrity sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==
dependencies:
decompress-tar "^4.1.0"
file-type "^6.1.0"
@@ -1802,6 +2187,7 @@ decompress-tarbz2@^4.0.0:
decompress-targz@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-3.1.0.tgz#b2c13df98166268991b715d6447f642e9696f5a0"
+ integrity sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=
dependencies:
is-gzip "^1.0.0"
object-assign "^2.0.0"
@@ -1813,6 +2199,7 @@ decompress-targz@^3.0.0:
decompress-targz@^4.0.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee"
+ integrity sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==
dependencies:
decompress-tar "^4.1.1"
file-type "^5.2.0"
@@ -1821,6 +2208,7 @@ decompress-targz@^4.0.0:
decompress-unzip@^3.0.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-3.4.0.tgz#61475b4152066bbe3fee12f9d629d15fe6478eeb"
+ integrity sha1-YUdbQVIGa74/7hL51inRX+ZHjus=
dependencies:
is-zip "^1.0.0"
read-all-stream "^3.0.0"
@@ -1833,6 +2221,7 @@ decompress-unzip@^3.0.0:
decompress-unzip@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69"
+ integrity sha1-3qrM39FK6vhVePczroIQ+bSEj2k=
dependencies:
file-type "^3.8.0"
get-stream "^2.2.0"
@@ -1842,6 +2231,7 @@ decompress-unzip@^4.0.1:
decompress@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/decompress/-/decompress-3.0.0.tgz#af1dd50d06e3bfc432461d37de11b38c0d991bed"
+ integrity sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=
dependencies:
buffer-to-vinyl "^1.0.0"
concat-stream "^1.4.6"
@@ -1856,6 +2246,7 @@ decompress@^3.0.0:
decompress@^4.0.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.0.tgz#7aedd85427e5a92dacfe55674a7c505e96d01f9d"
+ integrity sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=
dependencies:
decompress-tar "^4.0.0"
decompress-tarbz2 "^4.0.0"
@@ -1866,40 +2257,79 @@ decompress@^4.0.0:
pify "^2.3.0"
strip-dirs "^2.0.0"
-deep-extend@~0.4.0, deep-extend@~0.4.1:
+deep-extend@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
+ integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
+
+deep-extend@~0.4.0:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
+ integrity sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=
+
+deep-extend@~0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253"
+ integrity sha1-7+QRPQgIX05vlod1mBD4B0aeIlM=
deep-is@~0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
+ integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
deep-strict-equal@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/deep-strict-equal/-/deep-strict-equal-0.2.0.tgz#4a078147a8ab57f6a0d4f5547243cd22f44eb4e4"
+ integrity sha1-SgeBR6irV/ag1PVUckPNIvROtOQ=
dependencies:
core-assert "^0.2.0"
defer-promise@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/defer-promise/-/defer-promise-1.0.1.tgz#1ca6ffeddbcef1715dd7aae25c7616f9ae22932f"
+ integrity sha1-HKb/7dvO8XFd16riXHYW+a4iky8=
deferred-leveldown@~0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz#2cef1f111e1c57870d8bbb8af2650e587cd2f5b4"
+ integrity sha1-LO8fER4cV4cNi7uK8mUOWHzS9bQ=
dependencies:
abstract-leveldown "~0.12.1"
define-properties@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
+ integrity sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=
dependencies:
foreach "^2.0.5"
object-keys "^1.0.8"
+define-property@^0.2.5:
+ version "0.2.5"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
+ integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
+ dependencies:
+ is-descriptor "^0.1.0"
+
+define-property@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
+ integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
+ dependencies:
+ is-descriptor "^1.0.0"
+
+define-property@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
+ integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
+ dependencies:
+ is-descriptor "^1.0.2"
+ isobject "^3.0.1"
+
del@^2.0.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
+ integrity sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=
dependencies:
globby "^5.0.0"
is-path-cwd "^1.0.0"
@@ -1912,18 +2342,22 @@ del@^2.0.2:
delayed-stream@0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-0.0.5.tgz#d4b1f43a93e8296dfe02694f4680bc37a313c73f"
+ integrity sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
delegates@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+ integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
des.js@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
+ integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=
dependencies:
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
@@ -1931,6 +2365,7 @@ des.js@^1.0.0:
detect-indent@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-3.0.1.tgz#9dc5e5ddbceef8325764b9451b02bc6d54084f75"
+ integrity sha1-ncXl3bzu+DJXZLlFGwK8bVQIT3U=
dependencies:
get-stdin "^4.0.1"
minimist "^1.1.0"
@@ -1939,16 +2374,24 @@ detect-indent@^3.0.1:
detect-indent@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
+ integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg=
dependencies:
repeating "^2.0.0"
+detect-libc@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
+ integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
+
diff@3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9"
+ integrity sha1-yc45Okt8vQsFinJck98pkCeGj/k=
diffie-hellman@^5.0.0:
version "5.0.2"
resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e"
+ integrity sha1-tYNXOScM/ias9jIJn97SoH8gnl4=
dependencies:
bn.js "^4.1.0"
miller-rabin "^4.0.0"
@@ -1957,6 +2400,7 @@ diffie-hellman@^5.0.0:
dmd@^3.0.6:
version "3.0.6"
resolved "https://registry.yarnpkg.com/dmd/-/dmd-3.0.6.tgz#94c0e0fb88d1cb6b82837595053de7919c753c25"
+ integrity sha1-lMDg+4jRy2uCg3WVBT3nkZx1PCU=
dependencies:
array-back "^1.0.4"
cache-point "^0.4.0"
@@ -1974,6 +2418,7 @@ dmd@^3.0.6:
doctrine@1.2.x:
version "1.2.3"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.2.3.tgz#6aec6bbd62cf89dd498cae70c0ed9f49da873a6a"
+ integrity sha1-auxrvWLPid1JjK5wwO2fSdqHOmo=
dependencies:
esutils "^2.0.2"
isarray "^1.0.0"
@@ -1981,6 +2426,7 @@ doctrine@1.2.x:
doctrine@^1.2.2:
version "1.5.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
+ integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=
dependencies:
esutils "^2.0.2"
isarray "^1.0.0"
@@ -1988,6 +2434,7 @@ doctrine@^1.2.2:
download@^4.1.2:
version "4.4.3"
resolved "https://registry.yarnpkg.com/download/-/download-4.4.3.tgz#aa55fdad392d95d4b68e8c2be03e0c2aa21ba9ac"
+ integrity sha1-qlX9rTktldS2jowr4D4MKqIbqaw=
dependencies:
caw "^1.0.1"
concat-stream "^1.4.7"
@@ -2008,6 +2455,7 @@ download@^4.1.2:
download@^6.0.0:
version "6.2.5"
resolved "https://registry.yarnpkg.com/download/-/download-6.2.5.tgz#acd6a542e4cd0bb42ca70cfc98c9e43b07039714"
+ integrity sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==
dependencies:
caw "^2.0.0"
content-disposition "^0.5.2"
@@ -2024,22 +2472,26 @@ download@^6.0.0:
duplexer2@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
+ integrity sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=
dependencies:
readable-stream "~1.1.9"
duplexer2@^0.1.4, duplexer2@~0.1.0:
version "0.1.4"
resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
+ integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=
dependencies:
readable-stream "^2.0.2"
duplexer3@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
+ integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
duplexify@^3.2.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.0.tgz#1aa773002e1578457e9d9d4a50b0ccaaebcbd604"
+ integrity sha1-GqdzAC4VeEV+nZ1KULDMquvL1gQ=
dependencies:
end-of-stream "1.0.0"
inherits "^2.0.1"
@@ -2049,19 +2501,23 @@ duplexify@^3.2.0:
each-async@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/each-async/-/each-async-1.1.1.tgz#dee5229bdf0ab6ba2012a395e1b869abf8813473"
+ integrity sha1-3uUim98KtrogEqOV4bhpq/iBNHM=
dependencies:
onetime "^1.0.0"
set-immediate-shim "^1.0.0"
ecc-jsbn@~0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
+ integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
dependencies:
jsbn "~0.1.0"
+ safer-buffer "^2.1.0"
ecstatic@^2.0.0:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ecstatic/-/ecstatic-2.2.1.tgz#b5087fad439dd9dd49d31e18131454817fe87769"
+ integrity sha512-ztE4WqheoWLh3wv+HQwy7dACnvNY620coWpa+XqY6R2cVWgaAT2lUISU1Uf7JpdLLJCURktJOaA9av2AOzsyYQ==
dependencies:
he "^1.1.1"
mime "^1.2.11"
@@ -2071,10 +2527,12 @@ ecstatic@^2.0.0:
electron-to-chromium@^1.3.18:
version "1.3.21"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.21.tgz#a967ebdcfe8ed0083fc244d1894022a8e8113ea2"
+ integrity sha1-qWfr3P6O0Ag/wkTRiUAiqOgRPqI=
elliptic@^6.0.0:
version "6.4.0"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
+ integrity sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=
dependencies:
bn.js "^4.4.0"
brorand "^1.0.1"
@@ -2087,42 +2545,49 @@ elliptic@^6.0.0:
encoding@^0.1.11:
version "0.1.12"
resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
+ integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=
dependencies:
iconv-lite "~0.4.13"
end-of-stream@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.0.0.tgz#d4596e702734a93e40e9af864319eabd99ff2f0e"
+ integrity sha1-1FlucCc0qT5A6a+GQxnqvZn/Lw4=
dependencies:
once "~1.3.0"
end-of-stream@^1.0.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.0.tgz#7a90d833efda6cfa6eac0f4949dbb0fad3a63206"
+ integrity sha1-epDYM+/abPpurA9JSduw+tOmMgY=
dependencies:
once "^1.4.0"
enhance-visitors@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/enhance-visitors/-/enhance-visitors-1.0.0.tgz#aa945d05da465672a1ebd38fee2ed3da8518e95a"
+ integrity sha1-qpRdBdpGVnKh69OP7i7T2oUY6Vo=
dependencies:
lodash "^4.13.1"
errno@^0.1.1, errno@~0.1.1:
version "0.1.4"
resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d"
+ integrity sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=
dependencies:
prr "~0.0.0"
error-ex@^1.2.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
+ integrity sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=
dependencies:
is-arrayish "^0.2.1"
error@^7.0.0:
version "7.0.2"
resolved "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz#a5f75fff4d9926126ddac0ea5dc38e689153cb02"
+ integrity sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=
dependencies:
string-template "~0.2.1"
xtend "~4.0.0"
@@ -2130,6 +2595,7 @@ error@^7.0.0:
es-abstract@^1.5.1:
version "1.10.0"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864"
+ integrity sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==
dependencies:
es-to-primitive "^1.1.1"
function-bind "^1.1.1"
@@ -2140,6 +2606,7 @@ es-abstract@^1.5.1:
es-to-primitive@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d"
+ integrity sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=
dependencies:
is-callable "^1.1.1"
is-date-object "^1.0.1"
@@ -2148,6 +2615,7 @@ es-to-primitive@^1.1.1:
es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14:
version "0.10.15"
resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.15.tgz#c330a5934c1ee21284a7c081a86e5fd937c91ea6"
+ integrity sha1-wzClk0we4hKEp8CBqG5f2TfJHqY=
dependencies:
es6-iterator "2"
es6-symbol "~3.1"
@@ -2155,6 +2623,7 @@ es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14:
es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512"
+ integrity sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=
dependencies:
d "1"
es5-ext "^0.10.14"
@@ -2163,6 +2632,7 @@ es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1:
es6-map@^0.1.3:
version "0.1.5"
resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0"
+ integrity sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=
dependencies:
d "1"
es5-ext "~0.10.14"
@@ -2174,6 +2644,7 @@ es6-map@^0.1.3:
es6-set@^0.1.4, es6-set@~0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1"
+ integrity sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=
dependencies:
d "1"
es5-ext "~0.10.14"
@@ -2184,6 +2655,7 @@ es6-set@^0.1.4, es6-set@~0.1.5:
es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
+ integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=
dependencies:
d "1"
es5-ext "~0.10.14"
@@ -2191,6 +2663,7 @@ es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbo
es6-weak-map@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f"
+ integrity sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=
dependencies:
d "1"
es5-ext "^0.10.14"
@@ -2200,10 +2673,12 @@ es6-weak-map@^2.0.1:
escape-string-regexp@1.0.5, escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5, escape-string-regexp@~1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
escope@^3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
+ integrity sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=
dependencies:
es6-map "^0.1.3"
es6-weak-map "^2.0.1"
@@ -2213,6 +2688,7 @@ escope@^3.6.0:
eslint-import-resolver-node@^0.2.0:
version "0.2.3"
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c"
+ integrity sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=
dependencies:
debug "^2.2.0"
object-assign "^4.0.1"
@@ -2221,6 +2697,7 @@ eslint-import-resolver-node@^0.2.0:
eslint-plugin-ava@3.0.x:
version "3.0.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-ava/-/eslint-plugin-ava-3.0.0.tgz#ddb5fc7280d79663aacf72bf77987e18d54e57e9"
+ integrity sha1-3bX8coDXlmOqz3K/d5h+GNVOV+k=
dependencies:
arrify "^1.0.1"
deep-strict-equal "^0.2.0"
@@ -2234,20 +2711,24 @@ eslint-plugin-ava@3.0.x:
eslint-plugin-babel@3.3.x:
version "3.3.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-babel/-/eslint-plugin-babel-3.3.0.tgz#2f494aedcf6f4aa4e75b9155980837bc1fbde193"
+ integrity sha1-L0lK7c9vSqTnW5FVmAg3vB+94ZM=
eslint-plugin-chai-expect@1.1.x:
version "1.1.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-chai-expect/-/eslint-plugin-chai-expect-1.1.1.tgz#cd640b8b38cf6c3abcc378673b7b173b99ddc70a"
+ integrity sha1-zWQLizjPbDq8w3hnO3sXO5ndxwo=
eslint-plugin-flowtype@2.7.x:
version "2.7.2"
resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.7.2.tgz#acd0841fd2c55f86b69f54ce93234d0bd87894a9"
+ integrity sha1-rNCEH9LFX4a2n1TOkyNNC9h4lKk=
dependencies:
lodash "^4.9.0"
eslint-plugin-import@1.13.x:
version "1.13.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-1.13.0.tgz#0e89ed868396d09122e307edf6db37881cfdddd7"
+ integrity sha1-DonthoOW0JEi4wft9ts3iBz93dc=
dependencies:
builtin-modules "^1.1.1"
contains-path "^0.1.0"
@@ -2267,6 +2748,7 @@ eslint-plugin-import@1.13.x:
eslint-plugin-jsx-a11y@2.1.x:
version "2.1.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.1.0.tgz#759524b8d7161d849a77a91735a3974dd1cfc32b"
+ integrity sha1-dZUkuNcWHYSad6kXNaOXTdHPwys=
dependencies:
damerau-levenshtein "^1.0.0"
jsx-ast-utils "^1.0.0"
@@ -2275,18 +2757,21 @@ eslint-plugin-jsx-a11y@2.1.x:
eslint-plugin-lodash@1.10.x:
version "1.10.3"
resolved "https://registry.yarnpkg.com/eslint-plugin-lodash/-/eslint-plugin-lodash-1.10.3.tgz#a341e3386b6eb4e4b7addcf43c3a7f944f38551d"
+ integrity sha1-o0HjOGtutOS3rdz0PDp/lE84VR0=
dependencies:
lodash "^4.9.0"
eslint-plugin-mocha@4.3.x:
version "4.3.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-4.3.0.tgz#84075b96fc37fe967d29b86022853a14ff252cc3"
+ integrity sha1-hAdblvw3/pZ9KbhgIoU6FP8lLMM=
dependencies:
ramda "^0.21.0"
eslint-plugin-node@2.0.x:
version "2.0.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-2.0.0.tgz#d49dc427cedc0df436238cdcb06acd961fa38de5"
+ integrity sha1-1J3EJ87cDfQ2I4zcsGrNlh+jjeU=
dependencies:
ignore "^3.0.11"
minimatch "^3.0.2"
@@ -2297,10 +2782,12 @@ eslint-plugin-node@2.0.x:
eslint-plugin-promise@2.0.x:
version "2.0.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-2.0.1.tgz#a9759cefa5e38ab11bb2ef65a04ef042309aa0a4"
+ integrity sha1-qXWc76XjirEbsu9loE7wQjCaoKQ=
eslint-plugin-react@6.1.x:
version "6.1.2"
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.1.2.tgz#d6022bd9bce448e517a003abc6409e7ca1800c68"
+ integrity sha1-1gIr2bzkSOUXoAOrxkCefKGADGg=
dependencies:
doctrine "^1.2.2"
jsx-ast-utils "^1.3.1"
@@ -2308,6 +2795,7 @@ eslint-plugin-react@6.1.x:
eslint-plugin-shopify@14.0.0:
version "14.0.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-shopify/-/eslint-plugin-shopify-14.0.0.tgz#4aa6ca872377c729e510a6704a9180f0ed3a0f6f"
+ integrity sha1-SqbKhyN3xynlEKZwSpGA8O06D28=
dependencies:
babel-eslint "6.1.x"
eslint-plugin-ava "3.0.x"
@@ -2327,10 +2815,12 @@ eslint-plugin-shopify@14.0.0:
eslint-plugin-sort-class-members@1.0.x:
version "1.0.2"
resolved "https://registry.yarnpkg.com/eslint-plugin-sort-class-members/-/eslint-plugin-sort-class-members-1.0.2.tgz#b2f74c47d5a4940c541eb573c5bc2ae1cb778610"
+ integrity sha1-svdMR9WklAxUHrVzxbwq4ct3hhA=
eslint-test-generator@1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/eslint-test-generator/-/eslint-test-generator-1.0.5.tgz#f8a2a280e8fffbd2d550e53d68079772daeff8e3"
+ integrity sha1-+KKigOj/+9LVUOU9aAeXctrv+OM=
dependencies:
eslint "3.3.x"
glob "^7.0.5"
@@ -2340,6 +2830,7 @@ eslint-test-generator@1.0.5:
eslint@3.3.x:
version "3.3.1"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.3.1.tgz#ed4ba34be175e2286c90a42ff636bf5e26d50968"
+ integrity sha1-7UujS+F14ihskKQv9ja/XibVCWg=
dependencies:
chalk "^1.1.3"
concat-stream "^1.4.6"
@@ -2378,6 +2869,7 @@ eslint@3.3.x:
eslint@3.8.1:
version "3.8.1"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.8.1.tgz#7d02db44cd5aaf4fa7aa489e1f083baa454342ba"
+ integrity sha1-fQLbRM1ar0+nqkieHwg7qkVDQro=
dependencies:
chalk "^1.1.3"
concat-stream "^1.4.6"
@@ -2416,6 +2908,7 @@ eslint@3.8.1:
espree@^3.1.3, espree@^3.1.6, espree@^3.3.1:
version "3.4.0"
resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d"
+ integrity sha1-QWVvpWKOBCh4Al70Z+ePEly4bh0=
dependencies:
acorn "4.0.4"
acorn-jsx "^3.0.0"
@@ -2423,16 +2916,19 @@ espree@^3.1.3, espree@^3.1.6, espree@^3.3.1:
esprima@^3.1.1:
version "3.1.3"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
+ integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=
espurify@^1.5.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.7.0.tgz#1c5cf6cbccc32e6f639380bd4f991fab9ba9d226"
+ integrity sha1-HFz2y8zDLm9jk4C9T5kfq5up0iY=
dependencies:
core-js "^2.0.0"
esrecurse@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220"
+ integrity sha1-RxO2U2rffyrE8yfVWed1a/9kgiA=
dependencies:
estraverse "~4.1.0"
object-assign "^4.0.1"
@@ -2440,26 +2936,37 @@ esrecurse@^4.1.0:
estraverse@^4.1.1, estraverse@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
+ integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=
estraverse@~4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2"
+ integrity sha1-9srKcokzqFDvkGYdDheYK6RxEaI=
estree-walker@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e"
+ integrity sha1-va/oCVOD2EFNXcLs9MkXO225QS4=
estree-walker@^0.3.0:
version "0.3.1"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.3.1.tgz#e6b1a51cf7292524e7237c312e5fe6660c1ce1aa"
+ integrity sha1-5rGlHPcpJSTnI3wxLl/mZgwc4ao=
+
+estree-walker@^0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39"
+ integrity sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==
esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
+ integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
event-emitter@~0.3.5:
version "0.3.5"
resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
+ integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=
dependencies:
d "1"
es5-ext "~0.10.14"
@@ -2467,20 +2974,24 @@ event-emitter@~0.3.5:
eventemitter3@1.x.x:
version "1.2.0"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
+ integrity sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=
events@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
+ integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=
evp_bytestokey@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53"
+ integrity sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=
dependencies:
create-hash "^1.1.1"
exec-series@^1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/exec-series/-/exec-series-1.0.3.tgz#6d257a9beac482a872c7783bc8615839fc77143a"
+ integrity sha1-bSV6m+rEgqhyx3g7yGFYOfx3FDo=
dependencies:
async-each-series "^1.1.0"
object-assign "^4.1.0"
@@ -2488,38 +2999,58 @@ exec-series@^1.0.0:
exit-hook@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
+ integrity sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=
expand-brackets@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
+ integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=
dependencies:
is-posix-bracket "^0.1.0"
+expand-brackets@^2.1.4:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
+ integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
+ dependencies:
+ debug "^2.3.3"
+ define-property "^0.2.5"
+ extend-shallow "^2.0.1"
+ posix-character-classes "^0.1.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
expand-range@^1.8.1:
version "1.8.2"
resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
+ integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=
dependencies:
fill-range "^2.1.0"
expand-tilde@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449"
+ integrity sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=
dependencies:
os-homedir "^1.0.1"
expect.js@0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/expect.js/-/expect.js-0.3.1.tgz#b0a59a0d2eff5437544ebf0ceaa6015841d09b5b"
+ integrity sha1-sKWaDS7/VDdUTr8M6qYBWEHQm1s=
ext-list@^2.0.0:
version "2.2.2"
resolved "https://registry.yarnpkg.com/ext-list/-/ext-list-2.2.2.tgz#0b98e64ed82f5acf0f2931babf69212ef52ddd37"
+ integrity sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==
dependencies:
mime-db "^1.28.0"
ext-name@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/ext-name/-/ext-name-5.0.0.tgz#70781981d183ee15d13993c8822045c506c8f0a6"
+ integrity sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==
dependencies:
ext-list "^2.0.0"
sort-keys-length "^1.0.0"
@@ -2527,26 +3058,63 @@ ext-name@^5.0.0:
extend-shallow@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+ integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
dependencies:
is-extendable "^0.1.0"
-extend@^3.0.0, extend@~3.0.0:
+extend-shallow@^3.0.0, extend-shallow@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
+ integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
+ dependencies:
+ assign-symbols "^1.0.0"
+ is-extendable "^1.0.1"
+
+extend@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4"
+ integrity sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=
+
+extend@~3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
extglob@^0.3.1:
version "0.3.2"
resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
+ integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=
dependencies:
is-extglob "^1.0.0"
-extsprintf@1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
+extglob@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
+ integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
+ dependencies:
+ array-unique "^0.3.2"
+ define-property "^1.0.0"
+ expand-brackets "^2.1.4"
+ extend-shallow "^2.0.1"
+ fragment-cache "^0.2.1"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+extsprintf@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+ integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
+
+extsprintf@^1.2.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
+ integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
fancy-log@^1.1.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.0.tgz#45be17d02bb9917d60ccffd4995c999e6c8c9948"
+ integrity sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=
dependencies:
chalk "^1.1.1"
time-stamp "^1.0.0"
@@ -2554,28 +3122,33 @@ fancy-log@^1.1.0:
fast-levenshtein@~2.0.4:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+ integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
faye-websocket@~0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
+ integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=
dependencies:
websocket-driver ">=0.5.1"
fd-slicer@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
+ integrity sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=
dependencies:
pend "~1.2.0"
feature-detect-es6@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/feature-detect-es6/-/feature-detect-es6-1.3.1.tgz#f888736af9cb0c91f55663bfa4762eb96ee7047f"
+ integrity sha1-+IhzavnLDJH1VmO/pHYuuW7nBH8=
dependencies:
array-back "^1.0.3"
fetch-mock@5.12.2:
version "5.12.2"
resolved "https://registry.yarnpkg.com/fetch-mock/-/fetch-mock-5.12.2.tgz#07fde6b71f718328b4ce9b81c82a7c11c05d9748"
+ integrity sha1-B/3mtx9xgyi0zpuByCp8EcBdl0g=
dependencies:
glob-to-regexp "^0.3.0"
node-fetch "^1.3.3"
@@ -2584,6 +3157,7 @@ fetch-mock@5.12.2:
figures@^1.3.5:
version "1.7.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
+ integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=
dependencies:
escape-string-regexp "^1.0.5"
object-assign "^4.1.0"
@@ -2591,6 +3165,7 @@ figures@^1.3.5:
file-entry-cache@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-1.3.1.tgz#44c61ea607ae4be9c1402f41f44270cbfe334ff8"
+ integrity sha1-RMYepgeuS+nBQC9B9EJwy/4zT/g=
dependencies:
flat-cache "^1.2.1"
object-assign "^4.0.1"
@@ -2598,6 +3173,7 @@ file-entry-cache@^1.3.1:
file-entry-cache@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
+ integrity sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=
dependencies:
flat-cache "^1.2.1"
object-assign "^4.0.1"
@@ -2605,6 +3181,7 @@ file-entry-cache@^2.0.0:
file-set@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/file-set/-/file-set-1.1.1.tgz#d3ec70c080ec8f18f204ba1de106780c9056926b"
+ integrity sha1-0+xwwIDsjxjyBLod4QZ4DJBWkms=
dependencies:
array-back "^1.0.3"
glob "^7.1.0"
@@ -2612,30 +3189,37 @@ file-set@^1.1.1:
file-type@5.2.0, file-type@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6"
+ integrity sha1-LdvqfHP/42No365J3DOMBYwritY=
file-type@^3.1.0, file-type@^3.8.0:
version "3.9.0"
resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9"
+ integrity sha1-JXoHg4TR24CHvESdEH1SpSZyuek=
file-type@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.1.0.tgz#5a7dba98138fa0abec7afc43e5a9a0b2aac729f1"
+ integrity sha1-Wn26mBOPoKvsevxD5amgsqrHKfE=
filename-regex@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775"
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
+ integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=
filename-reserved-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz#e61cf805f0de1c984567d0386dc5df50ee5af7e4"
+ integrity sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=
filename-reserved-regex@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229"
+ integrity sha1-q/c9+rc10EVECr/qLZHzieu/oik=
filenamify@^1.0.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-1.2.1.tgz#a9f2ffd11c503bed300015029272378f1f1365a5"
+ integrity sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=
dependencies:
filename-reserved-regex "^1.0.0"
strip-outer "^1.0.0"
@@ -2644,6 +3228,7 @@ filenamify@^1.0.1:
filenamify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-2.0.0.tgz#bd162262c0b6e94bfbcdcf19a3bbb3764f785695"
+ integrity sha1-vRYiYsC26Uv7zc8Zo7uzdk94VpU=
dependencies:
filename-reserved-regex "^2.0.0"
strip-outer "^1.0.0"
@@ -2652,20 +3237,33 @@ filenamify@^2.0.0:
filesize@^3.5.10:
version "3.5.10"
resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.10.tgz#fc8fa23ddb4ef9e5e0ab6e1e64f679a24a56761f"
+ integrity sha1-/I+iPdtO+eXgq24eZPZ5okpWdh8=
fill-range@^2.1.0:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565"
+ integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==
dependencies:
is-number "^2.1.0"
isobject "^2.0.0"
- randomatic "^1.1.3"
+ randomatic "^3.0.0"
repeat-element "^1.1.2"
repeat-string "^1.5.2"
+fill-range@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
+ integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
+ to-regex-range "^2.1.0"
+
find-replace@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-1.0.3.tgz#b88e7364d2d9c959559f388c66670d6130441fa0"
+ integrity sha1-uI5zZNLZyVlVnziMZmcNYTBEH6A=
dependencies:
array-back "^1.0.4"
test-value "^2.1.0"
@@ -2673,6 +3271,7 @@ find-replace@^1.0.3:
find-up@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
+ integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=
dependencies:
path-exists "^2.0.0"
pinkie-promise "^2.0.0"
@@ -2680,115 +3279,130 @@ find-up@^1.0.0:
first-chunk-stream@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e"
+ integrity sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=
flat-cache@^1.2.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96"
+ integrity sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=
dependencies:
circular-json "^0.3.1"
del "^2.0.2"
graceful-fs "^4.1.2"
write "^0.2.1"
-for-in@^1.0.1:
+for-in@^1.0.1, for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+ integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
for-own@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
+ integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=
dependencies:
for-in "^1.0.1"
foreach@^2.0.5, foreach@~2.0.1:
version "2.0.5"
resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
+ integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k=
forever-agent@~0.5.0:
version "0.5.2"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.5.2.tgz#6d0e09c4921f94a27f63d3b49c5feff1ea4c5130"
+ integrity sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+ integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
form-data@~0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-0.2.0.tgz#26f8bc26da6440e299cbdcfb69035c4f77a6e466"
+ integrity sha1-Jvi8JtpkQOKZy9z7aQNcT3em5GY=
dependencies:
async "~0.9.0"
combined-stream "~0.0.4"
mime-types "~2.0.3"
form-data@~2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4"
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1"
+ integrity sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.5"
mime-types "^2.1.12"
+fragment-cache@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
+ integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
+ dependencies:
+ map-cache "^0.2.2"
+
fs-exists-sync@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add"
+ integrity sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=
fs-extra@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950"
+ integrity sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=
dependencies:
graceful-fs "^4.1.2"
jsonfile "^2.1.0"
klaw "^1.0.0"
+fs-minipass@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
+ integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==
+ dependencies:
+ minipass "^2.2.1"
+
fs-readdir-recursive@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27"
+ integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==
fs-then-native@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fs-then-native/-/fs-then-native-2.0.0.tgz#19a124d94d90c22c8e045f2e8dd6ebea36d48c67"
+ integrity sha1-GaEk2U2QwiyOBF8ujdbr6jbUjGc=
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
fsevents@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff"
- dependencies:
- nan "^2.3.0"
- node-pre-gyp "^0.6.29"
-
-fstream-ignore@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105"
- dependencies:
- fstream "^1.0.0"
- inherits "2"
- minimatch "^3.0.0"
-
-fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2:
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426"
+ integrity sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==
dependencies:
- graceful-fs "^4.1.2"
- inherits "~2.0.0"
- mkdirp ">=0.5 0"
- rimraf "2"
+ nan "^2.9.2"
+ node-pre-gyp "^0.10.0"
function-bind@^1.0.2, function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
fwd-stream@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/fwd-stream/-/fwd-stream-1.0.4.tgz#ed281cabed46feecf921ee32dc4c50b372ac7cfa"
+ integrity sha1-7Sgcq+1G/uz5Ie4y3ExQs3KsfPo=
dependencies:
readable-stream "~1.0.26-4"
-gauge@~2.7.1:
- version "2.7.3"
- resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09"
+gauge@~2.7.3:
+ version "2.7.4"
+ resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
+ integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
dependencies:
aproba "^1.0.3"
console-control-strings "^1.0.0"
@@ -2802,36 +3416,43 @@ gauge@~2.7.1:
generate-function@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74"
+ integrity sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=
generate-object-property@^1.1.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
+ integrity sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=
dependencies:
is-property "^1.0.0"
get-proxy@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/get-proxy/-/get-proxy-1.1.0.tgz#894854491bc591b0f147d7ae570f5c678b7256eb"
+ integrity sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=
dependencies:
rc "^1.1.2"
get-proxy@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/get-proxy/-/get-proxy-2.1.0.tgz#349f2b4d91d44c4d4d4e9cba2ad90143fac5ef93"
+ integrity sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==
dependencies:
npm-conf "^1.1.0"
get-stdin@5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398"
+ integrity sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=
get-stdin@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
+ integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
get-stream@^2.2.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de"
+ integrity sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=
dependencies:
object-assign "^4.0.1"
pinkie-promise "^2.0.0"
@@ -2839,16 +3460,24 @@ get-stream@^2.2.0:
get-stream@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
+ integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
+
+get-value@^2.0.3, get-value@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
+ integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
getpass@^0.1.1:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6"
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
dependencies:
assert-plus "^1.0.0"
glob-base@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
+ integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=
dependencies:
glob-parent "^2.0.0"
is-glob "^2.0.0"
@@ -2856,12 +3485,14 @@ glob-base@^0.3.0:
glob-parent@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
+ integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=
dependencies:
is-glob "^2.0.0"
glob-parent@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
+ integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=
dependencies:
is-glob "^3.1.0"
path-dirname "^1.0.0"
@@ -2869,6 +3500,7 @@ glob-parent@^3.0.0:
glob-stream@^5.3.2:
version "5.3.5"
resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22"
+ integrity sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=
dependencies:
extend "^3.0.0"
glob "^5.0.3"
@@ -2882,10 +3514,12 @@ glob-stream@^5.3.2:
glob-to-regexp@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
+ integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=
-glob@7.1.1, glob@^7.0.3, glob@^7.0.5, glob@^7.1.0:
+glob@7.1.1, glob@^7.0.3, glob@^7.1.0:
version "7.1.1"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
+ integrity sha1-gFIR3wT6rxxjo2ADBs31reULLsg=
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@@ -2897,6 +3531,7 @@ glob@7.1.1, glob@^7.0.3, glob@^7.0.5, glob@^7.1.0:
glob@7.1.2:
version "7.1.2"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
+ integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@@ -2908,6 +3543,7 @@ glob@7.1.2:
glob@^5.0.3:
version "5.0.15"
resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
+ integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=
dependencies:
inflight "^1.0.4"
inherits "2"
@@ -2915,9 +3551,22 @@ glob@^5.0.3:
once "^1.3.0"
path-is-absolute "^1.0.0"
+glob@^7.0.5:
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
+ integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
global-modules@^0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d"
+ integrity sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=
dependencies:
global-prefix "^0.1.4"
is-windows "^0.2.0"
@@ -2925,6 +3574,7 @@ global-modules@^0.2.3:
global-prefix@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f"
+ integrity sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=
dependencies:
homedir-polyfill "^1.0.0"
ini "^1.3.4"
@@ -2934,14 +3584,17 @@ global-prefix@^0.1.4:
globals@^9.0.0, globals@^9.2.0:
version "9.17.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286"
+ integrity sha1-DAymltm5u2lNLlRwvTd3fKrVAoY=
globals@^9.18.0:
version "9.18.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
+ integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
globby@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
+ integrity sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=
dependencies:
array-union "^1.0.1"
arrify "^1.0.0"
@@ -2953,12 +3606,14 @@ globby@^5.0.0:
glogg@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5"
+ integrity sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=
dependencies:
sparkles "^1.0.0"
got@^5.0.0:
version "5.7.1"
resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35"
+ integrity sha1-X4FjWmHkplifGAVp6k44FoClHzU=
dependencies:
create-error-class "^3.0.1"
duplexer2 "^0.1.4"
@@ -2979,6 +3634,7 @@ got@^5.0.0:
got@^7.0.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a"
+ integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==
dependencies:
decompress-response "^3.2.0"
duplexer3 "^0.1.4"
@@ -2995,17 +3651,25 @@ got@^7.0.0:
url-parse-lax "^1.0.0"
url-to-options "^1.0.1"
-graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
+graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
version "4.1.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
+ integrity sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=
+
+graceful-fs@^4.1.11, graceful-fs@^4.1.2:
+ version "4.1.15"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
+ integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
"graceful-readlink@>= 1.0.0":
version "1.0.1"
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
+ integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=
graphql-js-client-compiler@0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/graphql-js-client-compiler/-/graphql-js-client-compiler-0.2.0.tgz#44caf9ef87740eaab76704b182a2eee5b9f6c445"
+ integrity sha512-xqygOT7dygoka9QeFX1Khvgtp5Hjt9NW51lwYGR7b9J9qP2Ej5RQj39M8DRSZccU+zvWSiUR8wcY97HDyKeNQg==
dependencies:
babel-generator "6.25.0"
babel-types "6.25.0"
@@ -3020,14 +3684,17 @@ graphql-js-client-compiler@0.2.0:
graphql-js-client@0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/graphql-js-client/-/graphql-js-client-0.7.0.tgz#6d6006680c4e6eaf2e4d284d430b0fae687de154"
+ integrity sha512-Qb4EDM2s4JVeDVnm1evH8Q7GMR8qwj+jZJFqXsZ8BijADBkr8y9SX1Qd+JP0kdvDSIvQPZ3ePVc0v+lVxwlxSA==
graphql-js-client@0.9.2:
version "0.9.2"
resolved "https://registry.yarnpkg.com/graphql-js-client/-/graphql-js-client-0.9.2.tgz#dba572d2feefcc84075e1aad1f95e69a5128270d"
+ integrity sha512-l//xNDoMP303GpjVrkbJudF0jTiH1xQJ/WwYmMMgLvAMCaUDt7C3tPZVIFqeuAss4jyyaJC3oqrFhqB59UqhAw==
graphql-js-schema-fetch@1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/graphql-js-schema-fetch/-/graphql-js-schema-fetch-1.1.2.tgz#853a6fd8ef3c1392ea4e5e93b567c274f6197826"
+ integrity sha1-hTpv2O88E5LqTl6TtWfCdPYZeCY=
dependencies:
graphql "0.7.0"
minimist "1.2.0"
@@ -3036,6 +3703,7 @@ graphql-js-schema-fetch@1.1.2:
graphql-js-schema@0.7.1:
version "0.7.1"
resolved "https://registry.yarnpkg.com/graphql-js-schema/-/graphql-js-schema-0.7.1.tgz#365ab02769ca3f49fdc1086a67ff6284e32c8c19"
+ integrity sha512-bGexqMmJ0lu9SSi0oVa3A+iA0T81q07vgBzFbuO6OT+TY13QEA9Dbo7+uisSmf4O1DKhdWxjIVGGTalA9rCPEQ==
dependencies:
babel-generator "6.16.0"
babel-template "6.16.0"
@@ -3051,6 +3719,7 @@ graphql-js-schema@0.7.1:
graphql-to-js-client-builder@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/graphql-to-js-client-builder/-/graphql-to-js-client-builder-1.0.0.tgz#3660e1c1a89422b926b913f3cf72e07fd8b3e99d"
+ integrity sha512-p8tBj7nZ53ZoWBQIhnrJ0xxSxu7F8NFNrLxKQMgjLT20Lnz+YN3kPtfxE0OV43PIDTnr/thjKkUSjXo7D7aB+A==
dependencies:
babel-generator "6.24.1"
babel-types "6.24.1"
@@ -3059,28 +3728,33 @@ graphql-to-js-client-builder@1.0.0:
graphql@0.10.3:
version "0.10.3"
resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.10.3.tgz#c313afd5518e673351bee18fb63e2a0e487407ab"
+ integrity sha1-wxOv1VGOZzNRvuGPtj4qDkh0B6s=
dependencies:
iterall "^1.1.0"
graphql@0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.7.0.tgz#5701492838edc6c673c184075eb8f06b11a7e451"
+ integrity sha1-VwFJKDjtxsZzwYQHXrjwaxGn5FE=
dependencies:
iterall "1.0.2"
graphql@0.9.6:
version "0.9.6"
resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.9.6.tgz#514421e9d225c29dfc8fd305459abae58815ef2c"
+ integrity sha1-UUQh6dIlwp38j9MFRZq65YgV7yw=
dependencies:
iterall "^1.0.0"
growl@1.9.2:
version "1.9.2"
resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f"
+ integrity sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=
gulp-decompress@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/gulp-decompress/-/gulp-decompress-1.2.0.tgz#8eeb65a5e015f8ed8532cafe28454960626f0dc7"
+ integrity sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=
dependencies:
archive-type "^3.0.0"
decompress "^3.0.0"
@@ -3090,10 +3764,12 @@ gulp-decompress@^1.2.0:
gulp-rename@^1.2.0:
version "1.2.2"
resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.2.2.tgz#3ad4428763f05e2764dec1c67d868db275687817"
+ integrity sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=
gulp-sourcemaps@1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz#b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c"
+ integrity sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=
dependencies:
convert-source-map "^1.1.1"
graceful-fs "^4.1.2"
@@ -3104,6 +3780,7 @@ gulp-sourcemaps@1.6.0:
gulp-util@^3.0.1:
version "3.0.8"
resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f"
+ integrity sha1-AFTh50RQLifATBh8PsxQXdVLu08=
dependencies:
array-differ "^1.0.0"
array-uniq "^1.0.2"
@@ -3127,12 +3804,14 @@ gulp-util@^3.0.1:
gulplog@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5"
+ integrity sha1-4oxNRdBey77YGDY86PnFkmIp/+U=
dependencies:
glogg "^1.0.0"
handlebars@3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-3.0.3.tgz#0e09651a2f0fb3c949160583710d551f92e6d2ad"
+ integrity sha1-DgllGi8Ps8lJFgWDcQ1VH5Lm0q0=
dependencies:
optimist "^0.6.1"
source-map "^0.1.40"
@@ -3142,6 +3821,7 @@ handlebars@3.0.3:
handlebars@^4.0.5:
version "4.0.6"
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7"
+ integrity sha1-LORISFBTf5yXqAJtU5m5NcTtTtc=
dependencies:
async "^1.4.0"
optimist "^0.6.1"
@@ -3152,10 +3832,12 @@ handlebars@^4.0.5:
har-schema@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
+ integrity sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=
har-validator@~4.2.1:
version "4.2.1"
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
+ integrity sha1-M0gdDxu/9gDdID11gSpqX7oALio=
dependencies:
ajv "^4.9.1"
har-schema "^1.0.5"
@@ -3163,60 +3845,102 @@ har-validator@~4.2.1:
has-ansi@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-0.1.0.tgz#84f265aae8c0e6a88a12d7022894b7568894c62e"
+ integrity sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=
dependencies:
ansi-regex "^0.2.0"
has-ansi@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+ integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
dependencies:
ansi-regex "^2.0.0"
has-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
+ integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=
has-glob@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/has-glob/-/has-glob-0.1.1.tgz#a261c4c2a6c667e0c77b700a7f297c39ef3aa589"
+ integrity sha1-omHEwqbGZ+DHe3AKfyl8Oe86pYk=
dependencies:
is-glob "^2.0.1"
has-gulplog@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce"
+ integrity sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=
dependencies:
sparkles "^1.0.0"
has-symbol-support-x@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.0.tgz#442d89b1d0ac6cf5ff2f7b916ee539869b93a256"
+ integrity sha512-F1NtLDtW9NyUrS3faUcI1yVFHCTXyzPb1jfrZBQi5NHxFPlXxZnFLFGzfA2DsdmgCxv2MZ0+bfcgC4EZTmk4SQ==
has-to-string-tag-x@^1.2.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.0.tgz#49d7bcde85c2409be38ac327e3e119a451657c7b"
+ integrity sha512-R3OdOP9j6AH5hS1yXeu9wAS+iKSZQx/CC6aMdN6WiaqPlBoA2S+47MtoMsZgKr2m0eAJ+73WWGX0RaFFE5XWKA==
dependencies:
has-symbol-support-x "^1.4.0"
has-unicode@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
+ integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
+
+has-value@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
+ integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
+ dependencies:
+ get-value "^2.0.3"
+ has-values "^0.1.4"
+ isobject "^2.0.0"
+
+has-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
+ integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
+ dependencies:
+ get-value "^2.0.6"
+ has-values "^1.0.0"
+ isobject "^3.0.0"
+
+has-values@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
+ integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
+
+has-values@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
+ integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
+ dependencies:
+ is-number "^3.0.0"
+ kind-of "^4.0.0"
has@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
+ integrity sha1-hGFzP1OLCDfJNh45qauelwTcLyg=
dependencies:
function-bind "^1.0.2"
hash.js@^1.0.0, hash.js@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573"
+ integrity sha1-EzL/ABVsCg/92CNgE9B7d6BFFXM=
dependencies:
inherits "^2.0.1"
hawk@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/hawk/-/hawk-1.1.1.tgz#87cd491f9b46e4e2aeaca335416766885d2d1ed9"
+ integrity sha1-h81JH5tG5OKurKM1QWdmiF0tHtk=
dependencies:
boom "0.4.x"
cryptiles "0.2.x"
@@ -3226,6 +3950,7 @@ hawk@1.1.1:
hawk@~3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
+ integrity sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=
dependencies:
boom "2.x.x"
cryptiles "2.x.x"
@@ -3235,10 +3960,12 @@ hawk@~3.1.3:
he@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
+ integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0=
hmac-drbg@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.0.tgz#3db471f45aae4a994a0688322171f51b8b91bee5"
+ integrity sha1-PbRx9FquSplKBogyIXH1G4uRvuU=
dependencies:
hash.js "^1.0.3"
minimalistic-assert "^1.0.0"
@@ -3247,18 +3974,22 @@ hmac-drbg@^1.0.0:
hoek@0.9.x:
version "0.9.1"
resolved "https://registry.yarnpkg.com/hoek/-/hoek-0.9.1.tgz#3d322462badf07716ea7eb85baf88079cddce505"
+ integrity sha1-PTIkYrrfB3Fup+uFuviAec3c5QU=
hoek@2.x.x:
version "2.16.3"
resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
+ integrity sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=
hoek@4.x.x:
version "4.2.0"
resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d"
+ integrity sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==
home-or-tmp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
+ integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg=
dependencies:
os-homedir "^1.0.0"
os-tmpdir "^1.0.1"
@@ -3266,16 +3997,19 @@ home-or-tmp@^2.0.0:
home-path@^1.0.3:
version "1.0.5"
resolved "https://registry.yarnpkg.com/home-path/-/home-path-1.0.5.tgz#788b29815b12d53bacf575648476e6f9041d133f"
+ integrity sha1-eIspgVsS1Tus9XVkhHbm+QQdEz8=
homedir-polyfill@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc"
+ integrity sha1-TCu8inWJmP7r9e1oWA921GdotLw=
dependencies:
parse-passwd "^1.0.0"
http-proxy@^1.8.1:
version "1.16.2"
resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742"
+ integrity sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=
dependencies:
eventemitter3 "1.x.x"
requires-port "1.x.x"
@@ -3283,6 +4017,7 @@ http-proxy@^1.8.1:
http-server@0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/http-server/-/http-server-0.10.0.tgz#b2a446b16a9db87ed3c622ba9beb1b085b1234a7"
+ integrity sha1-sqRGsWqduH7TxiK6m+sbCFsSNKc=
dependencies:
colors "1.0.3"
corser "~2.0.0"
@@ -3296,6 +4031,7 @@ http-server@0.10.0:
http-signature@~0.10.0:
version "0.10.1"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-0.10.1.tgz#4fbdac132559aa8323121e540779c0a012b27e66"
+ integrity sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=
dependencies:
asn1 "0.1.11"
assert-plus "^0.1.5"
@@ -3304,57 +4040,88 @@ http-signature@~0.10.0:
http-signature@~1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
+ integrity sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=
dependencies:
assert-plus "^0.2.0"
jsprim "^1.2.2"
sshpk "^1.7.0"
+iconv-lite@^0.4.4:
+ version "0.4.24"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
+
iconv-lite@~0.4.13:
version "0.4.15"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
+ integrity sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=
idb-wrapper@^1.5.0:
version "1.7.1"
resolved "https://registry.yarnpkg.com/idb-wrapper/-/idb-wrapper-1.7.1.tgz#6a32670122e173a84ecc5cfa9668fa2ceb221b04"
+ integrity sha1-ajJnASLhc6hOzFz6lmj6LOsiGwQ=
ieee754@^1.1.4:
version "1.1.8"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
+ integrity sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=
+
+ignore-walk@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
+ integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==
+ dependencies:
+ minimatch "^3.0.4"
ignore@^3.0.11, ignore@^3.1.2, ignore@^3.1.5:
version "3.2.6"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.6.tgz#26e8da0644be0bb4cb39516f6c79f0e0f4ffe48c"
+ integrity sha1-JujaBkS+C7TLOVFvbHnw4PT/5Iw=
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
in-publish@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51"
+ integrity sha1-4g/146KvwmkDILbcVSaCqcf631E=
indexof@~0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
+ integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
dependencies:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1:
+inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+ integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
-ini@^1.3.4, ini@~1.3.0:
+ini@^1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
+ integrity sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=
+
+ini@~1.3.0:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
+ integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
inquirer@^0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e"
+ integrity sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=
dependencies:
ansi-escapes "^1.1.0"
ansi-regex "^2.0.0"
@@ -3373,116 +4140,193 @@ inquirer@^0.12.0:
invariant@^2.2.0, invariant@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
+ integrity sha1-nh9WrArNtr8wMwbzOL47IErmA2A=
dependencies:
loose-envify "^1.0.0"
ip-regex@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd"
+ integrity sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=
is-absolute@^0.1.5, is-absolute@^0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.1.7.tgz#847491119fccb5fb436217cc737f7faad50f603f"
+ integrity sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=
dependencies:
is-relative "^0.1.0"
+is-accessor-descriptor@^0.1.6:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
+ integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-accessor-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
+ integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
+ dependencies:
+ kind-of "^6.0.0"
+
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+ integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
is-binary-path@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+ integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=
dependencies:
binary-extensions "^1.0.0"
-is-buffer@^1.0.2:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
+is-buffer@^1.1.5:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+ integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
is-bzip2@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-bzip2/-/is-bzip2-1.0.0.tgz#5ee58eaa5a2e9c80e21407bedf23ae5ac091b3fc"
+ integrity sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=
is-callable@^1.1.1, is-callable@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
+ integrity sha1-hut1OSgF3cM69xySoO7fdO52BLI=
+
+is-data-descriptor@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
+ integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-data-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
+ integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
+ dependencies:
+ kind-of "^6.0.0"
is-date-object@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
+ integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=
-is-dotfile@^1.0.0:
+is-descriptor@^0.1.0:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
+ integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
+ dependencies:
+ is-accessor-descriptor "^0.1.6"
+ is-data-descriptor "^0.1.4"
+ kind-of "^5.0.0"
+
+is-descriptor@^1.0.0, is-descriptor@^1.0.2:
version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d"
+ resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
+ integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
+ dependencies:
+ is-accessor-descriptor "^1.0.0"
+ is-data-descriptor "^1.0.0"
+ kind-of "^6.0.2"
+
+is-dotfile@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
+ integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=
is-equal-shallow@^0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
+ integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=
dependencies:
is-primitive "^2.0.0"
is-error@^2.2.0:
version "2.2.1"
resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.1.tgz#684a96d84076577c98f4cdb40c6d26a5123bf19c"
+ integrity sha1-aEqW2EB2V3yY9M20DG0mpRI78Zw=
is-extendable@^0.1.0, is-extendable@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+ integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
+
+is-extendable@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
+ integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
+ dependencies:
+ is-plain-object "^2.0.4"
is-extglob@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
+ integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=
is-extglob@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
is-finite@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
+ integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=
dependencies:
number-is-nan "^1.0.0"
is-fullwidth-code-point@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+ integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
dependencies:
number-is-nan "^1.0.0"
is-fullwidth-code-point@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+ integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
is-glob@^2.0.0, is-glob@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
+ integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=
dependencies:
is-extglob "^1.0.0"
is-glob@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
+ integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
dependencies:
is-extglob "^2.1.0"
is-gzip@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83"
+ integrity sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=
is-invalid-path@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/is-invalid-path/-/is-invalid-path-0.1.0.tgz#307a855b3cf1a938b44ea70d2c61106053714f34"
+ integrity sha1-MHqFWzzxqTi0TqcNLGEQYFNxTzQ=
dependencies:
is-glob "^2.0.0"
is-module@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
+ integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=
is-my-json-valid@^2.10.0:
version "2.16.0"
resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693"
+ integrity sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=
dependencies:
generate-function "^2.0.0"
generate-object-property "^1.1.0"
@@ -3492,164 +4336,230 @@ is-my-json-valid@^2.10.0:
is-natural-number@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-2.1.1.tgz#7d4c5728377ef386c3e194a9911bf57c6dc335e7"
+ integrity sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=
is-natural-number@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8"
+ integrity sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=
-is-number@^2.0.2, is-number@^2.1.0:
+is-number@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
+ integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-number@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
+ integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
dependencies:
kind-of "^3.0.2"
+is-number@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
+ integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==
+
is-obj@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
+ integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
is-object@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470"
+ integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA=
is-object@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/is-object/-/is-object-0.1.2.tgz#00efbc08816c33cfc4ac8251d132e10dc65098d7"
+ integrity sha1-AO+8CIFsM8/ErIJR0TLhDcZQmNc=
is-path-cwd@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
+ integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=
is-path-in-cwd@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc"
+ integrity sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=
dependencies:
is-path-inside "^1.0.0"
is-path-inside@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f"
+ integrity sha1-/AbloWg/vaE95mev9xe7wQpI838=
dependencies:
path-is-inside "^1.0.1"
is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
+ integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
+
+is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
+ integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
+ dependencies:
+ isobject "^3.0.1"
is-posix-bracket@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
+ integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=
is-primitive@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
+ integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU=
is-property@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
+ integrity sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=
is-redirect@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
+ integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=
is-regex@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
+ integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=
dependencies:
has "^1.0.1"
is-relative@^0.1.0:
version "0.1.3"
resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.1.3.tgz#905fee8ae86f45b3ec614bc3c15c869df0876e82"
+ integrity sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=
is-resolvable@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62"
+ integrity sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=
dependencies:
tryit "^1.0.1"
is-retry-allowed@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34"
+ integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=
is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+ integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
is-symbol@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
+ integrity sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=
is-tar@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-tar/-/is-tar-1.0.0.tgz#2f6b2e1792c1f5bb36519acaa9d65c0d26fe853d"
+ integrity sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=
is-typedarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+ integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
is-url@^1.2.0:
version "1.2.2"
resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26"
+ integrity sha1-SYkFpZO/R8wtnn9zg3K792lsfyY=
is-utf8@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+ integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
is-valid-glob@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-0.3.0.tgz#d4b55c69f51886f9b65c70d6c2622d37e29f48fe"
+ integrity sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=
is-valid-path@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-valid-path/-/is-valid-path-0.1.1.tgz#110f9ff74c37f663e1ec7915eb451f2db93ac9df"
+ integrity sha1-EQ+f90w39mPh7HkV60UfLbk6yd8=
dependencies:
is-invalid-path "^0.1.0"
is-windows@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c"
+ integrity sha1-3hqm1j6indJIc3tp8f+LgALSEIw=
+
+is-windows@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
+ integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
is-zip@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-zip/-/is-zip-1.0.0.tgz#47b0a8ff4d38a76431ccfd99a8e15a4c86ba2325"
+ integrity sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=
is@~0.2.6:
version "0.2.7"
resolved "https://registry.yarnpkg.com/is/-/is-0.2.7.tgz#3b34a2c48f359972f35042849193ae7264b63562"
+ integrity sha1-OzSixI81mXLzUEKEkZOucmS2NWI=
isarray@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+ integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+ integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
isbuffer@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/isbuffer/-/isbuffer-0.0.0.tgz#38c146d9df528b8bf9b0701c3d43cf12df3fc39b"
+ integrity sha1-OMFG2d9Si4v5sHAcPUPPEt8/w5s=
isemail@2.x.x:
version "2.2.1"
resolved "https://registry.yarnpkg.com/isemail/-/isemail-2.2.1.tgz#0353d3d9a62951080c262c2aa0a42b8ea8e9e2a6"
+ integrity sha1-A1PT2aYpUQgMJiwqoKQrjqjp4qY=
isexe@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
isobject@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+ integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
dependencies:
isarray "1.0.0"
+isobject@^3.0.0, isobject@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
+ integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
+
isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+ integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
isurl@^1.0.0-alpha5:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67"
+ integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==
dependencies:
has-to-string-tag-x "^1.2.0"
is-object "^1.0.1"
@@ -3657,28 +4567,27 @@ isurl@^1.0.0-alpha5:
items@2.x.x:
version "2.1.1"
resolved "https://registry.yarnpkg.com/items/-/items-2.1.1.tgz#8bd16d9c83b19529de5aea321acaada78364a198"
+ integrity sha1-i9FtnIOxlSneWuoyGsqtp4NkoZg=
iterall@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.0.2.tgz#41a2e96ce9eda5e61c767ee5dc312373bb046e91"
+ integrity sha1-QaLpbOntpeYcdn7l3DEjc7sEbpE=
iterall@^1.0.0, iterall@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.1.1.tgz#f7f0af11e9a04ec6426260f5019d9fcca4d50214"
+ integrity sha1-9/CvEemgTsZCYmD1AZ2fzKTVAhQ=
jmespath@0.15.0:
version "0.15.0"
resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217"
-
-jodid25519@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967"
- dependencies:
- jsbn "~0.1.0"
+ integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=
joi@^9.2.0:
version "9.2.0"
resolved "https://registry.yarnpkg.com/joi/-/joi-9.2.0.tgz#3385ac790192130cbe230e802ec02c9215bbfeda"
+ integrity sha1-M4WseQGSEwy+Iw6ALsAskhW7/to=
dependencies:
hoek "4.x.x"
isemail "2.x.x"
@@ -3689,22 +4598,27 @@ joi@^9.2.0:
jquery@3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.2.1.tgz#5c4d9de652af6cd0a770154a631bba12b015c787"
+ integrity sha1-XE2d5lKvbNCncBVKYxu6ErAVx4c=
js-string-escape@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef"
+ integrity sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=
js-tokens@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
+ integrity sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=
js-tokens@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
+ integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
js-yaml@^3.5.1:
version "3.8.2"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.2.tgz#02d3e2c0f6beab20248d412c352203827d786721"
+ integrity sha1-AtPiwPa+qyAkjUEsNSIDgn14ZyE=
dependencies:
argparse "^1.0.7"
esprima "^3.1.1"
@@ -3712,16 +4626,19 @@ js-yaml@^3.5.1:
js2xmlparser@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-3.0.0.tgz#3fb60eaa089c5440f9319f51760ccd07e2499733"
+ integrity sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=
dependencies:
xmlcreate "^1.0.1"
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+ integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
jsdoc-api@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/jsdoc-api/-/jsdoc-api-4.0.0.tgz#eaa881654f5af2401b68c36130329166c0e55eba"
+ integrity sha512-S518NDIdh17dpNeI82WUFLbJt2OidZLMhuZuY67m2NZFGce0zw3er1UjHuL0QD3cdDCrZOBBmnRnHclCKxApMA==
dependencies:
array-back "^2.0.0"
cache-point "^0.4.1"
@@ -3736,6 +4653,7 @@ jsdoc-api@^4.0.0:
jsdoc-export-default-interop@0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/jsdoc-export-default-interop/-/jsdoc-export-default-interop-0.3.1.tgz#462fa9f9b4a2ab06a0f4d0624143d02e5ba2d05f"
+ integrity sha1-Ri+p+bSiqwag9NBiQUPQLlui0F8=
dependencies:
in-publish "^2.0.0"
lodash "^4.0.1"
@@ -3743,6 +4661,7 @@ jsdoc-export-default-interop@0.3.1:
jsdoc-parse@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/jsdoc-parse/-/jsdoc-parse-3.0.0.tgz#271531d88f19df2520b1632a7f6c989441a87fde"
+ integrity sha1-JxUx2I8Z3yUgsWMqf2yYlEGof94=
dependencies:
array-back "^1.0.4"
lodash.omit "^4.5.0"
@@ -3754,6 +4673,7 @@ jsdoc-parse@^3.0.0:
jsdoc-to-markdown@next:
version "3.1.0-0"
resolved "https://registry.yarnpkg.com/jsdoc-to-markdown/-/jsdoc-to-markdown-3.1.0-0.tgz#36139cdd45cce9e53a591c96f070f6b1a6f34c8f"
+ integrity sha512-DYQDbrZCo1DWeP2ktLX2DNLpx/7+2mL12hNOsmphrSId939IPM0kdDnIzT3poPiQy/EqP++O87hPb5y8mem5YQ==
dependencies:
array-back "^2.0.0"
command-line-tool "^0.7.0"
@@ -3767,12 +4687,14 @@ jsdoc-to-markdown@next:
jsdoc2md-stats@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/jsdoc2md-stats/-/jsdoc2md-stats-2.0.1.tgz#bd8343734cfe69ea8050a17931251293f0d9047b"
+ integrity sha1-vYNDc0z+aeqAUKF5MSUSk/DZBHs=
dependencies:
app-usage-stats "^0.5.0"
jsdoc@3.5.5, jsdoc@^3.5.3:
version "3.5.5"
resolved "https://registry.yarnpkg.com/jsdoc/-/jsdoc-3.5.5.tgz#484521b126e81904d632ff83ec9aaa096708fa4d"
+ integrity sha512-6PxB65TAU4WO0Wzyr/4/YhlGovXl0EVYfpKbpSroSj0qBxT4/xod/l40Opkm38dRHRdQgdeY836M0uVnJQG7kg==
dependencies:
babylon "7.0.0-beta.19"
bluebird "~3.5.0"
@@ -3790,99 +4712,135 @@ jsdoc@3.5.5, jsdoc@^3.5.3:
jsesc@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
+ integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s=
jsesc@~0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
+ integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
json-schema@0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+ integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
+ integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=
dependencies:
jsonify "~0.0.0"
json-stringify-safe@~5.0.0, json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+ integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
json3@3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
+ integrity sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=
json5@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
+ integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=
jsonfile@^2.1.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
+ integrity sha1-NzaitCi4e72gzIO1P6PWM6NcKug=
optionalDependencies:
graceful-fs "^4.1.6"
jsonify@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
+ integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=
jsonpointer@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
+ integrity sha1-T9kss04OnbPInIYi7PUfm5eMbLk=
jsprim@^1.2.2:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918"
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
+ integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
dependencies:
assert-plus "1.0.0"
- extsprintf "1.0.2"
+ extsprintf "1.3.0"
json-schema "0.2.3"
- verror "1.3.6"
+ verror "1.10.0"
jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.1:
version "1.4.0"
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.0.tgz#5afe38868f56bc8cc7aeaef0100ba8c75bd12591"
+ integrity sha1-Wv44ho9WvIzHrq7wEAuox1vRJZE=
dependencies:
object-assign "^4.1.0"
-kind-of@^3.0.2:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47"
+kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+ integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
dependencies:
- is-buffer "^1.0.2"
+ is-buffer "^1.1.5"
+
+kind-of@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
+ integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
+ integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
+
+kind-of@^6.0.0, kind-of@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
+ integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==
klaw@^1.0.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
+ integrity sha1-QIhDO0azsbolnXh4XY6W9zugJDk=
optionalDependencies:
graceful-fs "^4.1.9"
klaw@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/klaw/-/klaw-2.0.0.tgz#59c128e0dc5ce410201151194eeb9cbf858650f6"
+ integrity sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=
dependencies:
graceful-fs "^4.1.9"
lazy-cache@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
+ integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4=
lazy-cache@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264"
+ integrity sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=
dependencies:
set-getter "^0.1.0"
lazystream@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4"
+ integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=
dependencies:
readable-stream "^2.0.5"
level-blobs@^0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/level-blobs/-/level-blobs-0.1.7.tgz#9ab9b97bb99f1edbf9f78a3433e21ed56386bdaf"
+ integrity sha1-mrm5e7mfHtv594o0M+Ie1WOGva8=
dependencies:
level-peek "1.0.6"
once "^1.3.0"
@@ -3891,6 +4849,7 @@ level-blobs@^0.1.7:
level-filesystem@^1.0.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/level-filesystem/-/level-filesystem-1.2.0.tgz#a00aca9919c4a4dfafdca6a8108d225aadff63b3"
+ integrity sha1-oArKmRnEpN+v3KaoEI0iWq3/Y7M=
dependencies:
concat-stream "^1.4.4"
errno "^0.1.1"
@@ -3905,22 +4864,26 @@ level-filesystem@^1.0.1:
level-fix-range@2.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/level-fix-range/-/level-fix-range-2.0.0.tgz#c417d62159442151a19d9a2367868f1724c2d548"
+ integrity sha1-xBfWIVlEIVGhnZojZ4aPFyTC1Ug=
dependencies:
clone "~0.1.9"
level-fix-range@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/level-fix-range/-/level-fix-range-1.0.2.tgz#bf15b915ae36d8470c821e883ddf79cd16420828"
+ integrity sha1-vxW5Fa422EcMgh6IPd95zRZCCCg=
"level-hooks@>=4.4.0 <5":
version "4.5.0"
resolved "https://registry.yarnpkg.com/level-hooks/-/level-hooks-4.5.0.tgz#1b9ae61922930f3305d1a61fc4d83c8102c0dd93"
+ integrity sha1-G5rmGSKTDzMF0aYfxNg8gQLA3ZM=
dependencies:
string-range "~1.2"
level-js@^2.1.3:
version "2.2.4"
resolved "https://registry.yarnpkg.com/level-js/-/level-js-2.2.4.tgz#bc055f4180635d4489b561c9486fa370e8c11697"
+ integrity sha1-vAVfQYBjXUSJtWHJSG+jcOjBFpc=
dependencies:
abstract-leveldown "~0.12.0"
idb-wrapper "^1.5.0"
@@ -3932,12 +4895,14 @@ level-js@^2.1.3:
level-peek@1.0.6, level-peek@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/level-peek/-/level-peek-1.0.6.tgz#bec51c72a82ee464d336434c7c876c3fcbcce77f"
+ integrity sha1-vsUccqgu5GTTNkNMfIdsP8vM538=
dependencies:
level-fix-range "~1.0.2"
level-sublevel@^5.2.0:
version "5.2.3"
resolved "https://registry.yarnpkg.com/level-sublevel/-/level-sublevel-5.2.3.tgz#744c12c72d2e72be78dde3b9b5cd84d62191413a"
+ integrity sha1-dEwSxy0ucr543eO5tc2E1iGRQTo=
dependencies:
level-fix-range "2.0"
level-hooks ">=4.4.0 <5"
@@ -3947,6 +4912,7 @@ level-sublevel@^5.2.0:
levelup@^0.18.2:
version "0.18.6"
resolved "https://registry.yarnpkg.com/levelup/-/levelup-0.18.6.tgz#e6a01cb089616c8ecc0291c2a9bd3f0c44e3e5eb"
+ integrity sha1-5qAcsIlhbI7MApHCqb0/DETj5es=
dependencies:
bl "~0.8.1"
deferred-leveldown "~0.2.0"
@@ -3959,6 +4925,7 @@ levelup@^0.18.2:
levn@^0.3.0, levn@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
+ integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
dependencies:
prelude-ls "~1.1.2"
type-check "~0.3.2"
@@ -3966,10 +4933,12 @@ levn@^0.3.0, levn@~0.3.0:
livereload-js@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.2.2.tgz#6c87257e648ab475bc24ea257457edcc1f8d0bc2"
+ integrity sha1-bIclfmSKtHW8JOoldFftzB+NC8I=
lodash._baseassign@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e"
+ integrity sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=
dependencies:
lodash._basecopy "^3.0.0"
lodash.keys "^3.0.0"
@@ -3977,54 +4946,67 @@ lodash._baseassign@^3.0.0:
lodash._basecopy@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
+ integrity sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=
lodash._basecreate@^3.0.0:
version "3.0.3"
resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821"
+ integrity sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=
lodash._basetostring@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5"
+ integrity sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=
lodash._basevalues@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7"
+ integrity sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=
lodash._getnative@^3.0.0:
version "3.9.1"
resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
+ integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=
lodash._isiterateecall@^3.0.0:
version "3.0.9"
resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
+ integrity sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=
lodash._reescape@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a"
+ integrity sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=
lodash._reevaluate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed"
+ integrity sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=
lodash._reinterpolate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
+ integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=
lodash._root@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
+ integrity sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=
lodash.assign@^4.0.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
+ integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=
lodash.cond@^4.3.0:
version "4.5.2"
resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5"
+ integrity sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=
lodash.create@3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7"
+ integrity sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=
dependencies:
lodash._baseassign "^3.0.0"
lodash._basecreate "^3.0.0"
@@ -4033,48 +5015,59 @@ lodash.create@3.1.1:
lodash.endswith@^4.0.1:
version "4.2.1"
resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09"
+ integrity sha1-/tWawXOO0+I27dcGTsRWRIs3vAk=
lodash.escape@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698"
+ integrity sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=
dependencies:
lodash._root "^3.0.0"
lodash.find@^4.3.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1"
+ integrity sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=
lodash.findindex@^4.3.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.findindex/-/lodash.findindex-4.6.0.tgz#a3245dee61fb9b6e0624b535125624bb69c11106"
+ integrity sha1-oyRd7mH7m24GJLU1ElYku2nBEQY=
lodash.foreach@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53"
+ integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=
lodash.isarguments@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
+ integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=
lodash.isarray@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
+ integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=
lodash.isequal@^4.0.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
+ integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA=
lodash.isplainobject@^4.0.6:
version "4.0.6"
resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
+ integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=
lodash.kebabcase@4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36"
+ integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY=
lodash.keys@^3.0.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
+ integrity sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=
dependencies:
lodash._getnative "^3.0.0"
lodash.isarguments "^3.0.0"
@@ -4083,34 +5076,42 @@ lodash.keys@^3.0.0:
lodash.omit@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60"
+ integrity sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=
lodash.padend@^4.6.1:
version "4.6.1"
resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e"
+ integrity sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=
lodash.pick@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
+ integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=
lodash.pickby@^4.0.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff"
+ integrity sha1-feoh2MGNdwOifHBMFdO4SmfjOv8=
lodash.restparam@^3.0.0:
version "3.6.1"
resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
+ integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=
lodash.some@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
+ integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=
lodash.sumby@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.sumby/-/lodash.sumby-4.6.0.tgz#7d87737ddb216da2f7e5e7cd2dd9c403a7887346"
+ integrity sha1-fYdzfdshbaL35efNLdnEA6eIc0Y=
lodash.template@^3.0.0:
version "3.6.2"
resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f"
+ integrity sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=
dependencies:
lodash._basecopy "^3.0.0"
lodash._basetostring "^3.0.0"
@@ -4125,6 +5126,7 @@ lodash.template@^3.0.0:
lodash.templatesettings@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5"
+ integrity sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=
dependencies:
lodash._reinterpolate "^3.0.0"
lodash.escape "^3.0.0"
@@ -4132,54 +5134,77 @@ lodash.templatesettings@^3.0.0:
lodash@3.9.3:
version "3.9.3"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.9.3.tgz#0159e86832feffc6d61d852b12a953b99496bd32"
+ integrity sha1-AVnoaDL+/8bWHYUrEqlTuZSWvTI=
lodash@^4.0.0, lodash@^4.0.1, lodash@^4.13.1, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.9.0:
version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
+ integrity sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=
longest@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
+ integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=
loose-envify@^1.0.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
+ integrity sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=
dependencies:
js-tokens "^3.0.0"
lowercase-keys@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306"
+ integrity sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=
ltgt@^2.1.2:
version "2.2.0"
resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.0.tgz#b65ba5fcb349a29924c8e333f7c6a5562f2e4842"
+ integrity sha1-tlul/LNJopkkyOMz98alVi8uSEI=
magic-string@^0.16.0:
version "0.16.0"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.16.0.tgz#970ebb0da7193301285fb1aa650f39bdd81eb45a"
+ integrity sha1-lw67DacZMwEoX7GqZQ85vdgetFo=
dependencies:
vlq "^0.2.1"
magic-string@^0.19.0:
version "0.19.1"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.19.1.tgz#14d768013caf2ec8fdea16a49af82fc377e75201"
+ integrity sha1-FNdoATyvLsj96hakmvgvw3fnUgE=
dependencies:
vlq "^0.2.1"
make-dir@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978"
+ integrity sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=
dependencies:
pify "^2.3.0"
+map-cache@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
+ integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
+
+map-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
+ integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
+ dependencies:
+ object-visit "^1.0.0"
+
marked@^0.3.6, marked@~0.3.6:
version "0.3.6"
resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7"
+ integrity sha1-ssbGGPzOzk74bE/Gy4p8v1rtqNc=
matched@^0.4.3:
version "0.4.4"
resolved "https://registry.yarnpkg.com/matched/-/matched-0.4.4.tgz#56d7b7eb18033f0cf9bc52eb2090fac7dc1e89fa"
+ integrity sha1-Vte36xgDPwz5vFLrIJD6x9weifo=
dependencies:
arr-union "^3.1.0"
async-array-reduce "^0.2.0"
@@ -4191,19 +5216,27 @@ matched@^0.4.3:
lazy-cache "^2.0.1"
resolve-dir "^0.1.0"
+math-random@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac"
+ integrity sha1-izqsWIuKZuSXXjzepn97sylgH6w=
+
merge-stream@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
+ integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=
dependencies:
readable-stream "^2.0.1"
merge@1.x:
version "1.2.0"
resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da"
+ integrity sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=
micromatch@^2.1.5, micromatch@^2.3.11, micromatch@^2.3.7:
version "2.3.11"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
+ integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=
dependencies:
arr-diff "^2.0.0"
array-unique "^0.2.1"
@@ -4219,9 +5252,29 @@ micromatch@^2.1.5, micromatch@^2.3.11, micromatch@^2.3.7:
parse-glob "^3.0.4"
regex-cache "^0.4.2"
+micromatch@^3.1.10:
+ version "3.1.10"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
+ integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
+ dependencies:
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ braces "^2.3.1"
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ extglob "^2.0.4"
+ fragment-cache "^0.2.1"
+ kind-of "^6.0.2"
+ nanomatch "^1.2.9"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.2"
+
miller-rabin@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d"
+ integrity sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=
dependencies:
bn.js "^4.0.0"
brorand "^1.0.1"
@@ -4229,100 +5282,144 @@ miller-rabin@^4.0.0:
mime-db@^1.28.0:
version "1.29.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.29.0.tgz#48d26d235589651704ac5916ca06001914266878"
+ integrity sha1-SNJtI1WJZRcErFkWygYAGRQmaHg=
mime-db@~1.12.0:
version "1.12.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz#3d0c63180f458eb10d325aaa37d7c58ae312e9d7"
-
-mime-db@~1.27.0:
- version "1.27.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
+ integrity sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=
mime-db@~1.30.0:
version "1.30.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01"
+ integrity sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=
+
+mime-db@~1.37.0:
+ version "1.37.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8"
+ integrity sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==
mime-types@2.1.17:
version "2.1.17"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a"
+ integrity sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=
dependencies:
mime-db "~1.30.0"
mime-types@^2.1.12, mime-types@~2.1.7:
- version "2.1.15"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed"
+ version "2.1.21"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96"
+ integrity sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==
dependencies:
- mime-db "~1.27.0"
+ mime-db "~1.37.0"
mime-types@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-1.0.2.tgz#995ae1392ab8affcbfcb2641dd054e943c0d5dce"
+ integrity sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=
mime-types@~2.0.3:
version "2.0.14"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.0.14.tgz#310e159db23e077f8bb22b748dabfa4957140aa6"
+ integrity sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=
dependencies:
mime-db "~1.12.0"
mime@^1.2.11:
version "1.3.4"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
+ integrity sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=
mimic-response@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.0.tgz#df3d3652a73fded6b9b0b24146e6fd052353458e"
+ integrity sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4=
minimalistic-assert@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
+ integrity sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=
minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
+ integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
-"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2:
+"minimatch@2 || 3":
version "3.0.3"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
+ integrity sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=
dependencies:
brace-expansion "^1.0.0"
-minimatch@^3.0.4:
+minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
dependencies:
brace-expansion "^1.1.7"
minimist@0.0.8, minimist@~0.0.1:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
+ integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
minimist@1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.0.tgz#cdf225e8898f840a258ded44fc91776770afdc93"
+ integrity sha1-zfIl6ImPhAolje1E/JF3Z3Cv3JM=
minimist@1.2.0, minimist@^1.1.0, minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
+ integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
+
+minipass@^2.2.1, minipass@^2.3.4:
+ version "2.3.5"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848"
+ integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==
+ dependencies:
+ safe-buffer "^5.1.2"
+ yallist "^3.0.0"
+
+minizlib@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.0.tgz#59517387478fd98d8017ed0299c6cb16cbd12da3"
+ integrity sha512-vQhkoouK/oKRVuFJynustmW3wrqZEXOrfbVVirvOVeglH4TNvIkcqiyojlIbbZYYDJZSbEKEXmDudg+tyRkm6g==
+ dependencies:
+ minipass "^2.2.1"
+
+mixin-deep@^1.2.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe"
+ integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==
+ dependencies:
+ for-in "^1.0.2"
+ is-extendable "^1.0.1"
mkdirp2@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/mkdirp2/-/mkdirp2-1.0.3.tgz#cc8dd8265f1f06e2d8f5b10b6e52f4e050bed21b"
+ integrity sha1-zI3YJl8fBuLY9bELblL04FC+0hs=
mkdirp@0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.0.tgz#1d73076a6df986cd9344e15e71fcc05a4c9abf12"
+ integrity sha1-HXMHam35hs2TROFecfzAWkyavxI=
dependencies:
minimist "0.0.8"
-mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
+mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
+ integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
dependencies:
minimist "0.0.8"
mocha@3.5.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.5.0.tgz#1328567d2717f997030f8006234bce9b8cd72465"
+ integrity sha512-pIU2PJjrPYvYRqVpjXzj76qltO9uBYI7woYAMoxbSefsa+vqAfptjoeevd6bUgwD0mPIO+hv9f7ltvsNreL2PA==
dependencies:
browser-stdout "1.3.0"
commander "2.9.0"
@@ -4339,22 +5436,27 @@ mocha@3.5.0:
module-details-from-path@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b"
+ integrity sha1-EUyUlnPiqKNenTV4hSeqN7Z52is=
moment@2.x.x:
version "2.18.1"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f"
+ integrity sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8=
ms@0.7.2:
version "0.7.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
+ integrity sha1-riXPJRKziFodldfwN4aNhDESR2U=
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
multimatch@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b"
+ integrity sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=
dependencies:
array-differ "^1.0.0"
array-union "^1.0.1"
@@ -4364,24 +5466,55 @@ multimatch@^2.1.0:
multipipe@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b"
+ integrity sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=
dependencies:
duplexer2 "0.0.2"
mute-stream@0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
-
-nan@^2.3.0:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2"
+ integrity sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=
+
+nan@^2.9.2:
+ version "2.11.1"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.11.1.tgz#90e22bccb8ca57ea4cd37cc83d3819b52eea6766"
+ integrity sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==
+
+nanomatch@^1.2.9:
+ version "1.2.13"
+ resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
+ integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
+ dependencies:
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ fragment-cache "^0.2.1"
+ is-windows "^1.0.2"
+ kind-of "^6.0.2"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+ integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
+
+needle@^2.2.1:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e"
+ integrity sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA==
+ dependencies:
+ debug "^2.1.2"
+ iconv-lite "^0.4.4"
+ sax "^1.2.4"
node-fetch@1.6.3, node-fetch@^1.3.3:
version "1.6.3"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
+ integrity sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=
dependencies:
encoding "^0.1.11"
is-stream "^1.0.1"
@@ -4389,6 +5522,7 @@ node-fetch@1.6.3, node-fetch@^1.3.3:
node-fetch@1.7.2:
version "1.7.2"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.2.tgz#c54e9aac57e432875233525f3c891c4159ffefd7"
+ integrity sha512-xZZUq2yDhKMIn/UgG5q//IZSNLJIwW2QxS14CNH5spuiXkITM2pUitjdq58yLSaU7m4M0wBNaM2Gh/ggY4YJig==
dependencies:
encoding "^0.1.11"
is-stream "^1.0.1"
@@ -4396,6 +5530,7 @@ node-fetch@1.7.2:
node-jq@0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/node-jq/-/node-jq-0.7.0.tgz#a3c19922228ce3dc65de8ce5b9d7c4ff3b64dabc"
+ integrity sha512-5oMKLqc1KF+1K8cm84NyDP8ZBT2lo8H7tDC7Xiywj295ukEmE9Wo8XDIKz/ehmJAcVwAPWFg40pLfuZjWJmcfg==
dependencies:
bin-build "^2.2.0"
download "^6.0.0"
@@ -4403,92 +5538,131 @@ node-jq@0.7.0:
strip-eof "^1.0.0"
tempfile "^2.0.0"
-node-pre-gyp@^0.6.29:
- version "0.6.34"
- resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz#94ad1c798a11d7fc67381b50d47f8cc18d9799f7"
+node-pre-gyp@^0.10.0:
+ version "0.10.3"
+ resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc"
+ integrity sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A==
dependencies:
+ detect-libc "^1.0.2"
mkdirp "^0.5.1"
+ needle "^2.2.1"
nopt "^4.0.1"
+ npm-packlist "^1.1.6"
npmlog "^4.0.2"
- rc "^1.1.7"
- request "^2.81.0"
+ rc "^1.2.7"
rimraf "^2.6.1"
semver "^5.3.0"
- tar "^2.2.1"
- tar-pack "^3.4.0"
+ tar "^4"
node-status-codes@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f"
+ integrity sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=
node-uuid@~1.4.0:
version "1.4.8"
resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907"
+ integrity sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=
nopt@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
+ integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=
dependencies:
abbrev "1"
osenv "^0.1.4"
-normalize-path@^2.0.1:
+normalize-path@^2.0.0, normalize-path@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+ integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
dependencies:
remove-trailing-separator "^1.0.1"
+npm-bundled@^1.0.1:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979"
+ integrity sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g==
+
npm-conf@^1.1.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.2.tgz#170a2c48a0c6ad0495f03f87aec2da11ef47a525"
+ integrity sha512-dotwbpwVzfNB/2EF3A2wjK5tEMLggKfuA/8TG6WvBB1Zrv+JsvF7E8ei9B/HGq211st/GwXFbREcNJvJ1eySUQ==
dependencies:
config-chain "^1.1.11"
pify "^3.0.0"
+npm-packlist@^1.1.6:
+ version "1.1.12"
+ resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.12.tgz#22bde2ebc12e72ca482abd67afc51eb49377243a"
+ integrity sha512-WJKFOVMeAlsU/pjXuqVdzU0WfgtIBCupkEVwn+1Y0ERAbUfWw8R4GjgVbaKnUjRoD2FoQbHOCbOyT5Mbs9Lw4g==
+ dependencies:
+ ignore-walk "^3.0.1"
+ npm-bundled "^1.0.1"
+
npmlog@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f"
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
+ integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
dependencies:
are-we-there-yet "~1.1.2"
console-control-strings "~1.1.0"
- gauge "~2.7.1"
+ gauge "~2.7.3"
set-blocking "~2.0.0"
number-is-nan@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+ integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
oauth-sign@~0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.5.0.tgz#d767f5169325620eab2e087ef0c472e773db6461"
+ integrity sha1-12f1FpMlYg6rLgh+8MRy53PbZGE=
oauth-sign@~0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
+ integrity sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=
object-assign@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa"
+ integrity sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=
object-assign@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
+ integrity sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=
object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+ integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
+
+object-copy@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
+ integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
+ dependencies:
+ copy-descriptor "^0.1.0"
+ define-property "^0.2.5"
+ kind-of "^3.0.3"
object-get@^2.0.4, object-get@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/object-get/-/object-get-2.1.0.tgz#722bbdb60039efa47cad3c6dc2ce51a85c02c5ae"
+ integrity sha1-ciu9tgA576R8rTxtws5RqFwCxa4=
object-keys@^1.0.8:
version "1.0.11"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
+ integrity sha1-xUYBd4rVYPEULODgG8yotW0TQm0=
object-keys@~0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.2.0.tgz#cddec02998b091be42bf1035ae32e49f1cb6ea67"
+ integrity sha1-zd7AKZiwkb5CvxA1rjLknxy26mc=
dependencies:
foreach "~2.0.1"
indexof "~0.0.1"
@@ -4497,14 +5671,24 @@ object-keys@~0.2.0:
object-keys@~0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336"
+ integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=
object-to-spawn-args@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/object-to-spawn-args/-/object-to-spawn-args-1.1.1.tgz#77da8827f073d011c9e1b173f895781470246785"
+ integrity sha1-d9qIJ/Bz0BHJ4bFz+JV4FHAkZ4U=
+
+object-visit@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
+ integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
+ dependencies:
+ isobject "^3.0.0"
object.getownpropertydescriptors@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16"
+ integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=
dependencies:
define-properties "^1.1.2"
es-abstract "^1.5.1"
@@ -4512,37 +5696,51 @@ object.getownpropertydescriptors@^2.0.3:
object.omit@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
+ integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=
dependencies:
for-own "^0.1.4"
is-extendable "^0.1.1"
+object.pick@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
+ integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
+ dependencies:
+ isobject "^3.0.1"
+
octal@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/octal/-/octal-1.0.0.tgz#63e7162a68efbeb9e213588d58e989d1e5c4530b"
+ integrity sha1-Y+cWKmjvvrniE1iNWOmJ0eXEUws=
-once@^1.3.0, once@^1.3.3, once@^1.4.0:
+once@^1.3.0, once@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
dependencies:
wrappy "1"
once@~1.3.0:
version "1.3.3"
resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20"
+ integrity sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=
dependencies:
wrappy "1"
onetime@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
+ integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=
opener@~1.4.0:
version "1.4.3"
resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8"
+ integrity sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=
optimist@0.6.x, optimist@^0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
+ integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY=
dependencies:
minimist "~0.0.1"
wordwrap "~0.0.2"
@@ -4550,12 +5748,14 @@ optimist@0.6.x, optimist@^0.6.1:
optimist@~0.3.5:
version "0.3.7"
resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.3.7.tgz#c90941ad59e4273328923074d2cf2e7cbc6ec0d9"
+ integrity sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=
dependencies:
wordwrap "~0.0.2"
optionator@^0.8.1, optionator@^0.8.2:
version "0.8.2"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
+ integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=
dependencies:
deep-is "~0.1.3"
fast-levenshtein "~2.0.4"
@@ -4567,6 +5767,7 @@ optionator@^0.8.1, optionator@^0.8.2:
ordered-read-streams@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz#7137e69b3298bb342247a1bbee3881c80e2fd78b"
+ integrity sha1-cTfmmzKYuzQiR6G77jiByA4v14s=
dependencies:
is-stream "^1.0.1"
readable-stream "^2.0.1"
@@ -4574,14 +5775,17 @@ ordered-read-streams@^0.3.0:
os-homedir@^1.0.0, os-homedir@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+ integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+ integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
osenv@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
+ integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
dependencies:
os-homedir "^1.0.0"
os-tmpdir "^1.0.0"
@@ -4589,26 +5793,31 @@ osenv@^0.1.4:
p-cancelable@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa"
+ integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==
p-event@^1.0.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/p-event/-/p-event-1.3.0.tgz#8e6b4f4f65c72bc5b6fe28b75eda874f96a4a085"
+ integrity sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=
dependencies:
p-timeout "^1.1.1"
p-finally@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+ integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
p-timeout@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.0.tgz#9820f99434c5817868b4f34809ee5291660d5b6c"
+ integrity sha1-mCD5lDTFgXhotPNICe5SkWYNW2w=
dependencies:
p-finally "^1.0.0"
parse-asn1@^5.0.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712"
+ integrity sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=
dependencies:
asn1.js "^4.0.0"
browserify-aes "^1.0.0"
@@ -4619,6 +5828,7 @@ parse-asn1@^5.0.0:
parse-glob@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
+ integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw=
dependencies:
glob-base "^0.3.0"
is-dotfile "^1.0.0"
@@ -4628,136 +5838,180 @@ parse-glob@^3.0.4:
parse-json@^2.1.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+ integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
dependencies:
error-ex "^1.2.0"
parse-passwd@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
+ integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
+
+pascalcase@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
+ integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
path-dirname@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
+ integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=
path-exists@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
+ integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=
dependencies:
pinkie-promise "^2.0.0"
path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
path-is-inside@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
+ integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=
path-parse@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
+ integrity sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=
path-to-regexp@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d"
+ integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=
dependencies:
isarray "0.0.1"
pbkdf2@^3.0.3:
version "3.0.9"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693"
+ integrity sha1-8sSyWmAAWLPDdzwIbDfbvuH/5pM=
dependencies:
create-hmac "^1.1.2"
pend@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
+ integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=
performance-now@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
+ integrity sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=
pify@^2.0.0, pify@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+ integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
pify@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
+ integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
pinkie-promise@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+ integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o=
dependencies:
pinkie "^2.0.0"
pinkie@^2.0.0:
version "2.0.4"
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+ integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
pkg-dir@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
+ integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q=
dependencies:
find-up "^1.0.0"
pkg-up@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26"
+ integrity sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=
dependencies:
find-up "^1.0.0"
pluralize@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45"
+ integrity sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=
portfinder@^1.0.13:
version "1.0.13"
resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9"
+ integrity sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=
dependencies:
async "^1.5.2"
debug "^2.2.0"
mkdirp "0.5.x"
+posix-character-classes@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
+ integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
+
prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
+ integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
prepend-http@^1.0.1:
version "1.0.4"
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
+ integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
preserve@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
+ integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=
private@^0.1.6, private@^0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1"
+ integrity sha1-aM5eih7woju1cMwoU3tTMqumPvE=
process-es6@^0.11.2, process-es6@^0.11.3:
version "0.11.6"
resolved "https://registry.yarnpkg.com/process-es6/-/process-es6-0.11.6.tgz#c6bb389f9a951f82bd4eb169600105bd2ff9c778"
+ integrity sha1-xrs4n5qVH4K9TrFpYAEFvS/5x3g=
process-nextick-args@~1.0.6:
version "1.0.7"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
+ integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=
+
+process-nextick-args@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
+ integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==
progress@1.1.8, progress@^1.1.8:
version "1.1.8"
resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
+ integrity sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=
proto-list@~1.2.1:
version "1.2.4"
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
+ integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=
prr@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
+ integrity sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=
public-encrypt@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6"
+ integrity sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=
dependencies:
bn.js "^4.1.0"
browserify-rsa "^4.0.0"
@@ -4768,61 +6022,84 @@ public-encrypt@^4.0.0:
punycode@1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
+ integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
punycode@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+ integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
qs@^6.4.0:
version "6.5.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.0.tgz#8d04954d364def3efc55b5a0793e1e2c8b1e6e49"
+ integrity sha512-fjVFjW9yhqMhVGwRExCXLhJKrLlkYSaxNWdyc9rmHlrVZbk35YHH312dFd7191uQeXkI3mKLZTIbSvIeFwFemg==
qs@~2.3.1, qs@~2.3.3:
version "2.3.3"
resolved "https://registry.yarnpkg.com/qs/-/qs-2.3.3.tgz#e9e85adbe75da0bbe4c8e0476a086290f863b404"
+ integrity sha1-6eha2+ddoLvkyOBHaghikPhjtAQ=
qs@~6.4.0:
version "6.4.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
+ integrity sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=
querystring@0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
+ integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
ramda@^0.21.0:
version "0.21.0"
resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.21.0.tgz#a001abedb3ff61077d4ff1d577d44de77e8d0a35"
+ integrity sha1-oAGr7bP/YQd9T/HVd9RN536NCjU=
-randomatic@^1.1.3:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb"
+randomatic@^3.0.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed"
+ integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==
dependencies:
- is-number "^2.0.2"
- kind-of "^3.0.2"
+ is-number "^4.0.0"
+ kind-of "^6.0.0"
+ math-random "^1.0.1"
randombytes@^2.0.0, randombytes@^2.0.1:
version "2.0.3"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec"
+ integrity sha1-Z0yZdgkBw8QRJ3GjHlIdw0nMCew=
raw-body@~1.1.0:
version "1.1.7"
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz#1d027c2bfa116acc6623bca8f00016572a87d425"
+ integrity sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=
dependencies:
bytes "1"
string_decoder "0.10"
-rc@^1.1.2, rc@^1.1.7:
+rc@^1.1.2:
version "1.2.0"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.0.tgz#c7de973b7b46297c041366b2fd3d2363b1697c66"
+ integrity sha1-x96XO3tGKXwEE2ay/T0jY7FpfGY=
dependencies:
deep-extend "~0.4.0"
ini "~1.3.0"
minimist "^1.2.0"
strip-json-comments "~2.0.1"
+rc@^1.2.7:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
+ integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
+ dependencies:
+ deep-extend "^0.6.0"
+ ini "~1.3.0"
+ minimist "^1.2.0"
+ strip-json-comments "~2.0.1"
+
read-all-stream@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa"
+ integrity sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=
dependencies:
pinkie-promise "^2.0.0"
readable-stream "^2.0.0"
@@ -4830,6 +6107,7 @@ read-all-stream@^3.0.0:
"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.26, readable-stream@~1.0.26-4:
version "1.0.34"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
+ integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.1"
@@ -4839,15 +6117,17 @@ read-all-stream@^3.0.0:
readable-stream@^1.0.26-4, readable-stream@~1.1.9:
version "1.1.14"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
+ integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.1"
isarray "0.0.1"
string_decoder "~0.10.x"
-readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2:
+readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.2.2:
version "2.2.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.6.tgz#8b43aed76e71483938d12a8d46c6cf1a00b1f816"
+ integrity sha1-i0Ou125xSDk40SqNRsbPGgCx+BY=
dependencies:
buffer-shims "^1.0.0"
core-util-is "~1.0.0"
@@ -4857,18 +6137,32 @@ readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.
string_decoder "~0.10.x"
util-deprecate "~1.0.1"
+readable-stream@^2.0.2, readable-stream@^2.0.6:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
+ integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
readdirp@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
+ integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==
dependencies:
- graceful-fs "^4.1.2"
- minimatch "^3.0.2"
+ graceful-fs "^4.1.11"
+ micromatch "^3.1.10"
readable-stream "^2.0.2"
- set-immediate-shim "^1.0.1"
readline2@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
+ integrity sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=
dependencies:
code-point-at "^1.0.0"
is-fullwidth-code-point "^1.0.0"
@@ -4877,53 +6171,70 @@ readline2@^1.0.1:
reduce-extract@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/reduce-extract/-/reduce-extract-1.0.0.tgz#67f2385beda65061b5f5f4312662e8b080ca1525"
+ integrity sha1-Z/I4W+2mUGG19fQxJmLosIDKFSU=
dependencies:
test-value "^1.0.1"
reduce-flatten@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-1.0.1.tgz#258c78efd153ddf93cb561237f61184f3696e327"
+ integrity sha1-JYx479FT3fk8tWEjf2EYTzaW4yc=
reduce-unique@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/reduce-unique/-/reduce-unique-1.0.0.tgz#7e586bcf87a4e32b6d7abd8277fad6cdec9f4803"
+ integrity sha1-flhrz4ek4ytter2Cd/rWzeyfSAM=
reduce-without@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/reduce-without/-/reduce-without-1.0.1.tgz#68ad0ead11855c9a37d4e8256c15bbf87972fc8c"
+ integrity sha1-aK0OrRGFXJo31OglbBW7+Hly/Iw=
dependencies:
test-value "^2.0.0"
regenerate@^1.2.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260"
+ integrity sha1-0ZQcZ7rUN+G+dkM63Vs4X5WxkmA=
regenerator-runtime@^0.10.0:
version "0.10.3"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz#8c4367a904b51ea62a908ac310bf99ff90a82a3e"
+ integrity sha1-jENnqQS1HqYqkIrDEL+Z/5CoKj4=
regenerator-runtime@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1"
+ integrity sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==
regenerator-transform@0.9.8:
version "0.9.8"
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c"
+ integrity sha1-D4i7K8A5Mt23trcxLmgHjwECbWw=
dependencies:
babel-runtime "^6.18.0"
babel-types "^6.19.0"
private "^0.1.6"
regex-cache@^0.4.2:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145"
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
+ integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==
dependencies:
is-equal-shallow "^0.1.3"
- is-primitive "^2.0.0"
+
+regex-not@^1.0.0, regex-not@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
+ integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
+ dependencies:
+ extend-shallow "^3.0.2"
+ safe-regex "^1.1.0"
regexpu-core@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
+ integrity sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=
dependencies:
regenerate "^1.2.1"
regjsgen "^0.2.0"
@@ -4932,48 +6243,58 @@ regexpu-core@^2.0.0:
regjsgen@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
+ integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=
regjsparser@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
+ integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=
dependencies:
jsesc "~0.5.0"
remove-trailing-separator@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4"
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
+ integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
repeat-element@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
+ integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==
-repeat-string@^1.5.2:
+repeat-string@^1.5.2, repeat-string@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+ integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
repeating@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/repeating/-/repeating-1.1.3.tgz#3d4114218877537494f97f77f9785fab810fa4ac"
+ integrity sha1-PUEUIYh3U3SU+X93+Xhfq4EPpKw=
dependencies:
is-finite "^1.0.0"
repeating@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+ integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
dependencies:
is-finite "^1.0.0"
replace-ext@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924"
+ integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=
req-all@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/req-all/-/req-all-0.1.0.tgz#130051e2ace58a02eacbfc9d448577a736a9273a"
+ integrity sha1-EwBR4qzligLqy/ydRIV3pzapJzo=
req-then@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/req-then/-/req-then-0.5.1.tgz#31c6e0b56f4ddd2acd6de0ba1bcea77b6079dfdf"
+ integrity sha1-McbgtW9N3SrNbeC6G86ne2B5398=
dependencies:
array-back "^1.0.3"
defer-promise "^1.0.0"
@@ -4984,6 +6305,7 @@ req-then@^0.5.1:
request@2.51.0:
version "2.51.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.51.0.tgz#35d00bbecc012e55f907b1bd9e0dbd577bfef26e"
+ integrity sha1-NdALvswBLlX5B7G9ng29V3v+8m4=
dependencies:
aws-sign2 "~0.5.0"
bl "~0.9.0"
@@ -5002,9 +6324,10 @@ request@2.51.0:
tough-cookie ">=0.12.0"
tunnel-agent "~0.4.0"
-request@^2.78.0, request@^2.81.0:
+request@^2.78.0:
version "2.81.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
+ integrity sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=
dependencies:
aws-sign2 "~0.6.0"
aws4 "^1.2.1"
@@ -5032,10 +6355,12 @@ request@^2.78.0, request@^2.81.0:
require-relative@0.8.7:
version "0.8.7"
resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de"
+ integrity sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=
require-uncached@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
+ integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=
dependencies:
caller-path "^0.1.0"
resolve-from "^1.0.0"
@@ -5043,16 +6368,19 @@ require-uncached@^1.0.2:
requires-port@1.x.x:
version "1.0.0"
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
+ integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
requizzle@~0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/requizzle/-/requizzle-0.2.1.tgz#6943c3530c4d9a7e46f1cddd51c158fc670cdbde"
+ integrity sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=
dependencies:
underscore "~1.6.0"
resolve-dir@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e"
+ integrity sha1-shklmlYC+sXFxJatiUpujMQwJh4=
dependencies:
expand-tilde "^1.2.2"
global-modules "^0.2.3"
@@ -5060,55 +6388,82 @@ resolve-dir@^0.1.0:
resolve-from@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
+ integrity sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=
+
+resolve-url@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
+ integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
resolve@1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
+ integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
resolve@^1.1.6, resolve@^1.1.7:
version "1.3.2"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.2.tgz#1f0442c9e0cbb8136e87b9305f932f46c7f28235"
+ integrity sha1-HwRCyeDLuBNuh7kwX5MvRsfygjU=
dependencies:
path-parse "^1.0.5"
restore-cursor@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
+ integrity sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=
dependencies:
exit-hook "^1.0.0"
onetime "^1.0.0"
+ret@~0.1.10:
+ version "0.1.15"
+ resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+ integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
+
right-align@^0.1.1:
version "0.1.3"
resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
+ integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8=
dependencies:
align-text "^0.1.1"
-rimraf@2, rimraf@2.6.1, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.1:
+rimraf@2.6.1, rimraf@^2.2.8:
version "2.6.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
+ integrity sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=
dependencies:
glob "^7.0.5"
rimraf@^2.2.6:
version "2.5.4"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04"
+ integrity sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=
+ dependencies:
+ glob "^7.0.5"
+
+rimraf@^2.6.1:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
+ integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==
dependencies:
glob "^7.0.5"
ripemd160@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e"
+ integrity sha1-k6S71JQrxXS2mo+lfHHeEOzKfW4=
rollup-plugin-babel@3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-3.0.2.tgz#a2765dea0eaa8aece351c983573300d17497495b"
+ integrity sha512-ALGPBFtwJZcYHsNPM6RGJlEncTzAARPvZOGjNPZgDe5hS5t6sJGjiOWibEFVEz5LQN7S7spvCBILaS4N1Cql2w==
dependencies:
rollup-pluginutils "^1.5.0"
rollup-plugin-commonjs@8.1.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.1.0.tgz#8ac9a87e6ea4c0d136e3e0e25ef41058957622b0"
+ integrity sha512-mxLU0oCZPakY+o1P9OeVG+yT7bGOFyRQf6pk3xden2+sEG2NP40CrKWw1h/BHZuK7yegRcOJMCfr/uzLmodrGQ==
dependencies:
acorn "^4.0.1"
estree-walker "^0.3.0"
@@ -5119,6 +6474,7 @@ rollup-plugin-commonjs@8.1.0:
rollup-plugin-graphql-js-client-compiler@0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/rollup-plugin-graphql-js-client-compiler/-/rollup-plugin-graphql-js-client-compiler-0.2.0.tgz#77d02e87c65c3f56274f8e7e04a0ab21e5fcd9cc"
+ integrity sha512-3wC77mD62XeUijvfxTlMNkyjmKh3Lg4I0wgqWcJ/l1ZXnvTJ3q5X5Sgb15gCwBK57lNJP21zRh6CZTcVM20yAw==
dependencies:
glob "7.1.2"
graphql-js-client-compiler "0.2.0"
@@ -5127,18 +6483,21 @@ rollup-plugin-graphql-js-client-compiler@0.2.0:
rollup-plugin-json@2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/rollup-plugin-json/-/rollup-plugin-json-2.3.0.tgz#3c07a452c1b5391be28006fbfff3644056ce0add"
+ integrity sha512-W45nZH7lmXgkSR/DkeyF4ks0YWFrMysdjUT049gTuAg+lwUEDBKI2+PztqW8UDSMlXCAeEONsLzpDDyBy9m+9A==
dependencies:
rollup-pluginutils "^2.0.1"
rollup-plugin-multi-entry@2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/rollup-plugin-multi-entry/-/rollup-plugin-multi-entry-2.0.1.tgz#4b3aea8ddc5afc9b7f9ffbfb1441c04ef39071b4"
+ integrity sha1-Szrqjdxa/Jt/n/v7FEHATvOQcbQ=
dependencies:
matched "^0.4.3"
rollup-plugin-node-builtins@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/rollup-plugin-node-builtins/-/rollup-plugin-node-builtins-2.1.2.tgz#24a1fed4a43257b6b64371d8abc6ce1ab14597e9"
+ integrity sha1-JKH+1KQyV7a2Q3HYq8bOGrFFl+k=
dependencies:
browserify-fs "^1.0.0"
buffer-es6 "^4.9.2"
@@ -5148,6 +6507,7 @@ rollup-plugin-node-builtins@2.1.2:
rollup-plugin-node-globals@1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/rollup-plugin-node-globals/-/rollup-plugin-node-globals-1.1.0.tgz#7efd8d611d132737829e804e9f51f50962af451f"
+ integrity sha1-fv2NYR0TJzeCnoBOn1H1CWKvRR8=
dependencies:
acorn "^4.0.1"
buffer-es6 "^4.9.1"
@@ -5159,6 +6519,7 @@ rollup-plugin-node-globals@1.1.0:
rollup-plugin-node-resolve@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz#8b897c4c3030d5001277b0514b25d2ca09683ee0"
+ integrity sha1-i4l8TDAw1QASd7BRSyXSygloPuA=
dependencies:
browser-resolve "^1.11.0"
builtin-modules "^1.1.0"
@@ -5168,12 +6529,14 @@ rollup-plugin-node-resolve@3.0.0:
rollup-plugin-remap@0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/rollup-plugin-remap/-/rollup-plugin-remap-0.0.3.tgz#cbf6ad8de8532961cf2b48973117cc884c3a00fa"
+ integrity sha1-y/atjehTKWHPK0iXMRfMiEw6APo=
dependencies:
rollup-pluginutils "1.5.2"
rollup-plugin-sizes@0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/rollup-plugin-sizes/-/rollup-plugin-sizes-0.4.0.tgz#2d60c4dd2a9fe7a194c9e6af2fd7d1b646ba2485"
+ integrity sha1-LWDE3Sqf56GUyeavL9fRtka6JIU=
dependencies:
filesize "^3.5.10"
lodash.foreach "^4.5.0"
@@ -5183,20 +6546,31 @@ rollup-plugin-sizes@0.4.0:
rollup-pluginutils@1.5.2, rollup-pluginutils@^1.5.0, rollup-pluginutils@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408"
+ integrity sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=
dependencies:
estree-walker "^0.2.1"
minimatch "^3.0.2"
-rollup-pluginutils@2.0.1, rollup-pluginutils@^2.0.1:
+rollup-pluginutils@2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.0.1.tgz#7ec95b3573f6543a46a6461bd9a7c544525d0fc0"
+ integrity sha1-fslbNXP2VDpGpkYb2afFRFJdD8A=
dependencies:
estree-walker "^0.3.0"
micromatch "^2.3.11"
+rollup-pluginutils@^2.0.1:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.3.3.tgz#3aad9b1eb3e7fe8262820818840bf091e5ae6794"
+ integrity sha512-2XZwja7b6P5q4RZ5FhyX1+f46xi1Z3qBKigLRZ6VTZjwbN0K1IFGMlwm06Uu0Emcre2Z63l77nq/pzn+KxIEoA==
+ dependencies:
+ estree-walker "^0.5.2"
+ micromatch "^2.3.11"
+
rollup-watch@4.3.1:
version "4.3.1"
resolved "https://registry.yarnpkg.com/rollup-watch/-/rollup-watch-4.3.1.tgz#5aa1eaeab787addf368905d102b39d6fc5ce4a8b"
+ integrity sha512-6yjnIwfjpSrqA8IafyIu7fsEyeImNR4aDjA1bQ7KWeVuiA+Clfsx8+PGQkyABWIQzmauQ//tIJ5wAxLXsXs8qQ==
dependencies:
chokidar "^1.7.0"
require-relative "0.8.7"
@@ -5205,56 +6579,80 @@ rollup-watch@4.3.1:
rollup@0.36.3:
version "0.36.3"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.36.3.tgz#c89ac479828924ff8f69c1d44541cb4ea2fc11fc"
+ integrity sha1-yJrEeYKJJP+PacHURUHLTqL8Efw=
dependencies:
source-map-support "^0.4.0"
rollup@0.47.6:
version "0.47.6"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.47.6.tgz#83b90a1890dd3321a3f8d0b2bd216e88483f33de"
+ integrity sha512-bH3eWh7MzbiKTQcHQN7Ievqbs/yY7T+ZcJYboBYkp7BkRlAr2DXHPfiqlvlEH/M95giEBpinHEi/s9CVIgYT6w==
run-async@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389"
+ integrity sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=
dependencies:
once "^1.3.0"
rx-lite@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
+ integrity sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=
rx@2.3.24:
version "2.3.24"
resolved "https://registry.yarnpkg.com/rx/-/rx-2.3.24.tgz#14f950a4217d7e35daa71bbcbe58eff68ea4b2b7"
+ integrity sha1-FPlQpCF9fjXapxu8vljv9o6ksrc=
rx@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782"
+ integrity sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=
-safe-buffer@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
+safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
safe-json-parse@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57"
+ integrity sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=
+
+safe-regex@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
+ integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
+ dependencies:
+ ret "~0.1.10"
+
+"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
sax@1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a"
+ integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o=
-sax@>=0.6.0:
+sax@>=0.6.0, sax@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
+ integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
seek-bzip@^1.0.3, seek-bzip@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc"
+ integrity sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=
dependencies:
commander "~2.8.1"
selenium-standalone@5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/selenium-standalone/-/selenium-standalone-5.5.0.tgz#00584f490f93c522b49737875c084f1ef0374850"
+ integrity sha1-AFhPSQ+TxSK0lzeHXAhPHvA3SFA=
dependencies:
async "1.2.1"
commander "2.6.0"
@@ -5270,66 +6668,130 @@ selenium-standalone@5.5.0:
semver@5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.2.0.tgz#281995b80c1448209415ddbc4cf50c269cef55c5"
+ integrity sha1-KBmVuAwUSCCUFd28TPUMJpzvVcU=
semver@^5.3.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
+ version "5.6.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004"
+ integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==
semver@~2.3.1:
version "2.3.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-2.3.2.tgz#b9848f25d6cf36333073ec9ef8856d42f1233e52"
+ integrity sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI=
set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+ integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
set-getter@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376"
+ integrity sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=
dependencies:
to-object-path "^0.3.0"
-set-immediate-shim@^1.0.0, set-immediate-shim@^1.0.1:
+set-immediate-shim@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
+ integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=
+
+set-value@^0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1"
+ integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE=
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-extendable "^0.1.1"
+ is-plain-object "^2.0.1"
+ to-object-path "^0.3.0"
+
+set-value@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274"
+ integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-extendable "^0.1.1"
+ is-plain-object "^2.0.3"
+ split-string "^3.0.1"
sha.js@^2.3.6:
version "2.4.8"
resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f"
+ integrity sha1-NwaMLEdra69ALRSknGf1l5IfY08=
dependencies:
inherits "^2.0.1"
shelljs@^0.6.0:
version "0.6.1"
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.1.tgz#ec6211bed1920442088fe0f70b2837232ed2c8a8"
+ integrity sha1-7GIRvtGSBEIIj+D3Cyg3Iy7SyKg=
signal-exit@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+ integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
slash@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
+ integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
slice-ansi@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
+ integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=
+
+snapdragon-node@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
+ integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
+ dependencies:
+ define-property "^1.0.0"
+ isobject "^3.0.0"
+ snapdragon-util "^3.0.1"
+
+snapdragon-util@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
+ integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
+ dependencies:
+ kind-of "^3.2.0"
+
+snapdragon@^0.8.1:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
+ integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
+ dependencies:
+ base "^0.11.1"
+ debug "^2.2.0"
+ define-property "^0.2.5"
+ extend-shallow "^2.0.1"
+ map-cache "^0.2.2"
+ source-map "^0.5.6"
+ source-map-resolve "^0.5.0"
+ use "^3.1.0"
sntp@0.2.x:
version "0.2.4"
resolved "https://registry.yarnpkg.com/sntp/-/sntp-0.2.4.tgz#fb885f18b0f3aad189f824862536bceeec750900"
+ integrity sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=
dependencies:
hoek "0.9.x"
sntp@1.x.x:
version "1.0.9"
resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
+ integrity sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=
dependencies:
hoek "2.x.x"
sort-array@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/sort-array/-/sort-array-1.1.1.tgz#9032f6f0be284eecb12af98a3db02612828a66d1"
+ integrity sha1-kDL28L4oTuyxKvmKPbAmEoKKZtE=
dependencies:
array-back "^1.0.3"
object-get "^2.0.4"
@@ -5338,77 +6800,120 @@ sort-array@^1.1.1:
sort-keys-length@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188"
+ integrity sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=
dependencies:
sort-keys "^1.0.0"
sort-keys@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
+ integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0=
dependencies:
is-plain-obj "^1.0.0"
+source-map-resolve@^0.5.0:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259"
+ integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==
+ dependencies:
+ atob "^2.1.1"
+ decode-uri-component "^0.2.0"
+ resolve-url "^0.2.1"
+ source-map-url "^0.4.0"
+ urix "^0.1.0"
+
source-map-support@^0.4.0:
version "0.4.14"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.14.tgz#9d4463772598b86271b4f523f6c1f4e02a7d6aef"
+ integrity sha1-nURjdyWYuGJxtPUj9sH04Cp9au8=
dependencies:
source-map "^0.5.6"
source-map-support@^0.4.15:
version "0.4.16"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.16.tgz#16fecf98212467d017d586a2af68d628b9421cd8"
+ integrity sha512-A6vlydY7H/ljr4L2UOhDSajQdZQ6dMD7cLH0pzwcmwLyc9u8PNI4WGtnfDDzX7uzGL6c/T+ORL97Zlh+S4iOrg==
dependencies:
source-map "^0.5.6"
+source-map-url@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
+ integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
+
source-map@^0.1.40, source-map@~0.1.7:
version "0.1.43"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346"
+ integrity sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=
dependencies:
amdefine ">=0.0.4"
source-map@^0.4.4:
version "0.4.4"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
+ integrity sha1-66T12pwNyZneaAMti092FzZSA2s=
dependencies:
amdefine ">=0.0.4"
source-map@^0.5.0, source-map@^0.5.6, source-map@~0.5.1:
version "0.5.6"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
+ integrity sha1-dc449SvwczxafwwRjYEzSiu19BI=
sparkles@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3"
+ integrity sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=
spawn-command@^0.0.2-1:
version "0.0.2"
resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2.tgz#9544e1a43ca045f8531aac1a48cb29bdae62338e"
+ integrity sha1-lUThpDygRfhTGqwaSMspva5iM44=
+
+split-string@^3.0.1, split-string@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
+ integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
+ dependencies:
+ extend-shallow "^3.0.0"
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+ integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
sshpk@^1.7.0:
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.11.0.tgz#2d8d5ebb4a6fab28ffba37fa62a90f4a3ea59d77"
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.15.2.tgz#c946d6bd9b1a39d0e8635763f5242d6ed6dcb629"
+ integrity sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==
dependencies:
asn1 "~0.2.3"
assert-plus "^1.0.0"
- dashdash "^1.12.0"
- getpass "^0.1.1"
- optionalDependencies:
bcrypt-pbkdf "^1.0.0"
+ dashdash "^1.12.0"
ecc-jsbn "~0.1.1"
- jodid25519 "^1.0.0"
+ getpass "^0.1.1"
jsbn "~0.1.0"
+ safer-buffer "^2.0.2"
tweetnacl "~0.14.0"
stat-mode@^0.2.0:
version "0.2.2"
resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-0.2.2.tgz#e6c80b623123d7d80cf132ce538f346289072502"
+ integrity sha1-5sgLYjEj19gM8TLOU480YokHJQI=
+
+static-extend@^0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
+ integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
+ dependencies:
+ define-property "^0.2.5"
+ object-copy "^0.1.0"
stream-combiner2@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe"
+ integrity sha1-+02KFCDqNidk4hrUeAOXvry0HL4=
dependencies:
duplexer2 "~0.1.0"
readable-stream "^2.0.2"
@@ -5416,36 +6921,51 @@ stream-combiner2@^1.1.1:
stream-connect@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/stream-connect/-/stream-connect-1.0.2.tgz#18bc81f2edb35b8b5d9a8009200a985314428a97"
+ integrity sha1-GLyB8u2zW4tdmoAJIAqYUxRCipc=
dependencies:
array-back "^1.0.2"
stream-shift@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
+ integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=
stream-via@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/stream-via/-/stream-via-1.0.4.tgz#8dccbb0ac909328eb8bc8e2a4bd3934afdaf606c"
+ integrity sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==
string-range@~1.2, string-range@~1.2.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/string-range/-/string-range-1.2.2.tgz#a893ed347e72299bc83befbbf2a692a8d239d5dd"
+ integrity sha1-qJPtNH5yKZvIO++78qaSqNI51d0=
string-template@~0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add"
+ integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=
string-width@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+ integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
dependencies:
code-point-at "^1.0.0"
is-fullwidth-code-point "^1.0.0"
strip-ansi "^3.0.0"
+"string-width@^1.0.2 || 2":
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
+ integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^4.0.0"
+
string-width@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e"
+ integrity sha1-Y1xUNsxypuDDh87KJ41OLuxSaH4=
dependencies:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^3.0.0"
@@ -5453,26 +6973,45 @@ string-width@^2.0.0:
string_decoder@0.10, string_decoder@~0.10.x:
version "0.10.31"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
+ integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
+
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+ dependencies:
+ safe-buffer "~5.1.0"
stringstream@~0.0.4:
- version "0.0.5"
- resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz#7880225b0d4ad10e30927d167a1d6f2fd3b33a72"
+ integrity sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==
strip-ansi@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.3.0.tgz#25f48ea22ca79187f3174a4db8759347bb126220"
+ integrity sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=
dependencies:
ansi-regex "^0.2.1"
strip-ansi@^3.0.0, strip-ansi@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
dependencies:
ansi-regex "^2.0.0"
+strip-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
+ dependencies:
+ ansi-regex "^3.0.0"
+
strip-bom-stream@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee"
+ integrity sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=
dependencies:
first-chunk-stream "^1.0.0"
strip-bom "^2.0.0"
@@ -5480,16 +7019,19 @@ strip-bom-stream@^1.0.0:
strip-bom@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
dependencies:
is-utf8 "^0.2.0"
strip-bom@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+ integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
strip-dirs@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-1.1.1.tgz#960bbd1287844f3975a4558aa103a8255e2456a0"
+ integrity sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=
dependencies:
chalk "^1.0.0"
get-stdin "^4.0.1"
@@ -5501,56 +7043,67 @@ strip-dirs@^1.0.0:
strip-dirs@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.0.0.tgz#610cdb2928200da0004f41dcb90fc95cd919a0b6"
+ integrity sha1-YQzbKSggDaAAT0HcuQ/JXNkZoLY=
dependencies:
is-natural-number "^4.0.1"
strip-eof@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
+ integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
strip-json-comments@~1.0.1:
version "1.0.4"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"
+ integrity sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=
strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+ integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
strip-outer@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.0.tgz#aac0ba60d2e90c5d4f275fd8869fd9a2d310ffb8"
+ integrity sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g=
dependencies:
escape-string-regexp "^1.0.2"
sum-up@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sum-up/-/sum-up-1.0.3.tgz#1c661f667057f63bcb7875aa1438bc162525156e"
+ integrity sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=
dependencies:
chalk "^1.0.0"
supports-color@3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5"
+ integrity sha1-cqJiiU2dQIuVbKBf83su2KbiotU=
dependencies:
has-flag "^1.0.0"
supports-color@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a"
+ integrity sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+ integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
supports-color@^3.2.3:
version "3.2.3"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
+ integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=
dependencies:
has-flag "^1.0.0"
table-layout@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-0.4.0.tgz#c70ff0455d9add63b91f7c15a77926295c0e0e7d"
+ integrity sha1-xw/wRV2a3WO5H3wVp3kmKVwODn0=
dependencies:
array-back "^1.0.4"
deep-extend "~0.4.1"
@@ -5561,6 +7114,7 @@ table-layout@^0.4.0:
table@^3.7.8:
version "3.8.3"
resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
+ integrity sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=
dependencies:
ajv "^4.7.0"
ajv-keywords "^1.0.0"
@@ -5572,23 +7126,12 @@ table@^3.7.8:
taffydb@2.6.2:
version "2.6.2"
resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz#7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268"
-
-tar-pack@^3.4.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984"
- dependencies:
- debug "^2.2.0"
- fstream "^1.0.10"
- fstream-ignore "^1.0.5"
- once "^1.3.3"
- readable-stream "^2.1.4"
- rimraf "^2.5.1"
- tar "^2.2.1"
- uid-number "^0.0.6"
+ integrity sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=
tar-stream@^1.1.1:
version "1.5.2"
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.2.tgz#fbc6c6e83c1a19d4cb48c7d96171fc248effc7bf"
+ integrity sha1-+8bG6DwaGdTLSMfZYXH8JI7/x78=
dependencies:
bl "^1.0.0"
end-of-stream "^1.0.0"
@@ -5598,31 +7141,40 @@ tar-stream@^1.1.1:
tar-stream@^1.5.2:
version "1.5.4"
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.4.tgz#36549cf04ed1aee9b2a30c0143252238daf94016"
+ integrity sha1-NlSc8E7RrumyowwBQyUiONr5QBY=
dependencies:
bl "^1.0.0"
end-of-stream "^1.0.0"
readable-stream "^2.0.0"
xtend "^4.0.0"
-tar@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
+tar@^4:
+ version "4.4.8"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d"
+ integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==
dependencies:
- block-stream "*"
- fstream "^1.0.2"
- inherits "2"
+ chownr "^1.1.1"
+ fs-minipass "^1.2.5"
+ minipass "^2.3.4"
+ minizlib "^1.1.1"
+ mkdirp "^0.5.0"
+ safe-buffer "^5.1.2"
+ yallist "^3.0.2"
temp-dir@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d"
+ integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=
temp-path@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/temp-path/-/temp-path-1.0.0.tgz#24b1543973ab442896d9ad367dd9cbdbfafe918b"
+ integrity sha1-JLFUOXOrRCiW2a02fdnL2/r+kYs=
tempfile@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2"
+ integrity sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=
dependencies:
os-tmpdir "^1.0.0"
uuid "^2.0.1"
@@ -5630,6 +7182,7 @@ tempfile@^1.0.0:
tempfile@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-2.0.0.tgz#6b0446856a9b1114d1856ffcbe509cccb0977265"
+ integrity sha1-awRGhWqbERTRhW/8vlCczLCXcmU=
dependencies:
temp-dir "^1.0.0"
uuid "^3.0.1"
@@ -5637,6 +7190,7 @@ tempfile@^2.0.0:
test-value@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/test-value/-/test-value-1.1.0.tgz#a09136f72ec043d27c893707c2b159bfad7de93f"
+ integrity sha1-oJE29y7AQ9J8iTcHwrFZv6196T8=
dependencies:
array-back "^1.0.2"
typical "^2.4.2"
@@ -5644,6 +7198,7 @@ test-value@^1.0.1:
test-value@^2.0.0, test-value@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/test-value/-/test-value-2.1.0.tgz#11da6ff670f3471a73b625ca4f3fdcf7bb748291"
+ integrity sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=
dependencies:
array-back "^1.0.3"
typical "^2.6.0"
@@ -5651,10 +7206,12 @@ test-value@^2.0.0, test-value@^2.1.0:
text-table@~0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+ integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
through2-filter@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec"
+ integrity sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=
dependencies:
through2 "~2.0.0"
xtend "~4.0.0"
@@ -5662,6 +7219,7 @@ through2-filter@^2.0.0:
through2@^0.6.0, through2@^0.6.1:
version "0.6.5"
resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48"
+ integrity sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=
dependencies:
readable-stream ">=1.0.33-1 <1.1.0-0"
xtend ">=4.0.0 <4.1.0-0"
@@ -5669,6 +7227,7 @@ through2@^0.6.0, through2@^0.6.1:
through2@^2.0.0, through2@~2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
+ integrity sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=
dependencies:
readable-stream "^2.1.5"
xtend "~4.0.1"
@@ -5676,22 +7235,27 @@ through2@^2.0.0, through2@~2.0.0:
through@^2.3.6:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+ integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
time-stamp@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151"
+ integrity sha1-n0vSNVnJNllm8zAtu6KwfGuZsVE=
timed-out@^3.0.0:
version "3.1.3"
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217"
+ integrity sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=
timed-out@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
+ integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=
tiny-lr@1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.0.5.tgz#21f40bf84ebd1f853056680375eef1670c334112"
+ integrity sha512-YrxUSiMgOVh3PnAqtdAUQuUVEVRnqcRCxJ3BHrl/aaWV2fplKKB60oClM0GH2Gio2hcXvkxMUxsC/vXZrQePlg==
dependencies:
body "^5.1.0"
debug "~2.6.7"
@@ -5703,98 +7267,143 @@ tiny-lr@1.0.5:
tmp@0.0.29:
version "0.0.29"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0"
+ integrity sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=
dependencies:
os-tmpdir "~1.0.1"
to-absolute-glob@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz#1cdfa472a9ef50c239ee66999b662ca0eb39937f"
+ integrity sha1-HN+kcqnvUMI57maZm2YsoOs5k38=
dependencies:
extend-shallow "^2.0.1"
to-fast-properties@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320"
+ integrity sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=
to-fast-properties@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
+ integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
to-object-path@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
+ integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
dependencies:
kind-of "^3.0.2"
+to-regex-range@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
+ integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
+ dependencies:
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
+
+to-regex@^3.0.1, to-regex@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
+ integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
+ dependencies:
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ regex-not "^1.0.2"
+ safe-regex "^1.1.0"
+
topo@2.x.x:
version "2.0.2"
resolved "https://registry.yarnpkg.com/topo/-/topo-2.0.2.tgz#cd5615752539057c0dc0491a621c3bc6fbe1d182"
+ integrity sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=
dependencies:
hoek "4.x.x"
-tough-cookie@>=0.12.0, tough-cookie@~2.3.0:
+tough-cookie@>=0.12.0:
version "2.3.2"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
+ integrity sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=
+ dependencies:
+ punycode "^1.4.1"
+
+tough-cookie@~2.3.0:
+ version "2.3.4"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655"
+ integrity sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==
dependencies:
punycode "^1.4.1"
tree-kill@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.1.0.tgz#c963dcf03722892ec59cba569e940b71954d1729"
+ integrity sha1-yWPc8DciiS7FnLpWnpQLcZVNFyk=
trim-repeated@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21"
+ integrity sha1-42RqLqTokTEr9+rObPsFOAvAHCE=
dependencies:
escape-string-regexp "^1.0.2"
trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
+ integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
tryit@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb"
+ integrity sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=
tunnel-agent@^0.4.0, tunnel-agent@~0.4.0:
version "0.4.3"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"
+ integrity sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=
tunnel-agent@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+ integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
dependencies:
safe-buffer "^5.0.1"
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
version "0.14.5"
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+ integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
type-check@~0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
+ integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
dependencies:
prelude-ls "~1.1.2"
typedarray-to-buffer@~1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-1.0.4.tgz#9bb8ba0e841fb3f4cf1fe7c245e9f3fa8a5fe99c"
+ integrity sha1-m7i6DoQfs/TPH+fCRenz+opf6Zw=
typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+ integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
typical@^2.4.2, typical@^2.6.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.0.tgz#89d51554ab139848a65bcc2c8772f8fb450c40ed"
+ integrity sha1-idUVVKsTmEimW8wsh3L4+0UMQO0=
typical@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz#5c080e5d661cbbe38259d2e70a3c7253e873881d"
+ integrity sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=
uglify-js@^2.6:
version "2.8.18"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.18.tgz#925d14bae48ab62d1883b41afe6e2261662adb8e"
+ integrity sha1-kl0UuuSKti0Yg7Qa/m4iYWYq244=
dependencies:
source-map "~0.5.1"
yargs "~3.10.0"
@@ -5804,6 +7413,7 @@ uglify-js@^2.6:
uglify-js@~2.3:
version "2.3.6"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.3.6.tgz#fa0984770b428b7a9b2a8058f46355d14fef211a"
+ integrity sha1-+gmEdwtCi3qbKoBY9GNV0U/vIRo=
dependencies:
async "~0.2.6"
optimist "~0.3.5"
@@ -5812,14 +7422,12 @@ uglify-js@~2.3:
uglify-to-browserify@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
-
-uid-number@^0.0.6:
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
+ integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc=
unbzip2-stream@^1.0.9:
version "1.2.5"
resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz#73a033a567bbbde59654b193c44d48a7e4f43c47"
+ integrity sha512-izD3jxT8xkzwtXRUZjtmRwKnZoeECrfZ8ra/ketwOcusbZEp4mjULMnJOCfTDZBgGQAAY1AJ/IgxcwkavcX9Og==
dependencies:
buffer "^3.0.1"
through "^2.3.6"
@@ -5827,61 +7435,96 @@ unbzip2-stream@^1.0.9:
underscore-contrib@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/underscore-contrib/-/underscore-contrib-0.3.0.tgz#665b66c24783f8fa2b18c9f8cbb0e2c7d48c26c7"
+ integrity sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=
dependencies:
underscore "1.6.0"
underscore@1.6.0, underscore@~1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8"
+ integrity sha1-izixDKze9jM3uLJOT/htRa6lKag=
underscore@~1.8.3:
version "1.8.3"
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022"
+ integrity sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=
+
+union-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"
+ integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=
+ dependencies:
+ arr-union "^3.1.0"
+ get-value "^2.0.6"
+ is-extendable "^0.1.1"
+ set-value "^0.4.3"
union@~0.4.3:
version "0.4.6"
resolved "https://registry.yarnpkg.com/union/-/union-0.4.6.tgz#198fbdaeba254e788b0efcb630bc11f24a2959e0"
+ integrity sha1-GY+9rrolTniLDvy2MLwR8kopWeA=
dependencies:
qs "~2.3.3"
unique-stream@^2.0.2:
version "2.2.1"
resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369"
+ integrity sha1-WqADz76Uxf+GbE59ZouxxNuts2k=
dependencies:
json-stable-stringify "^1.0.0"
through2-filter "^2.0.0"
+unset-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
+ integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
+ dependencies:
+ has-value "^0.3.1"
+ isobject "^3.0.0"
+
unzip-response@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe"
+ integrity sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=
urijs@1.16.1:
version "1.16.1"
resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.16.1.tgz#859ad31890f5f9528727be89f1932c94fb4731e2"
+ integrity sha1-hZrTGJD1+VKHJ76J8ZMslPtHMeI=
+
+urix@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
+ integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
url-join@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/url-join/-/url-join-2.0.2.tgz#c072756967ad24b8b59e5741551caac78f50b8b7"
+ integrity sha1-wHJ1aWetJLi1nldBVRyqx49QuLc=
url-parse-lax@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
+ integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=
dependencies:
prepend-http "^1.0.1"
url-regex@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-3.2.0.tgz#dbad1e0c9e29e105dd0b1f09f6862f7fdb482724"
+ integrity sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=
dependencies:
ip-regex "^1.0.1"
url-to-options@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9"
+ integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=
url@0.10.3:
version "0.10.3"
resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64"
+ integrity sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=
dependencies:
punycode "1.3.2"
querystring "0.2.0"
@@ -5889,6 +7532,7 @@ url@0.10.3:
usage-stats@^0.9.0:
version "0.9.0"
resolved "https://registry.yarnpkg.com/usage-stats/-/usage-stats-0.9.0.tgz#a763f6116859f769925e75b5f92e4e3b47a374fd"
+ integrity sha1-p2P2EWhZ92mSXnW1+S5OO0ejdP0=
dependencies:
array-back "^1.0.4"
home-path "^1.0.3"
@@ -5897,19 +7541,27 @@ usage-stats@^0.9.0:
typical "^2.6.0"
uuid "^3.0.1"
+use@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
+ integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
+
user-home@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f"
+ integrity sha1-nHC/2Babwdy/SGBODwS4tJzenp8=
dependencies:
os-homedir "^1.0.0"
util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
util.promisify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030"
+ integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==
dependencies:
define-properties "^1.1.2"
object.getownpropertydescriptors "^2.0.3"
@@ -5917,28 +7569,41 @@ util.promisify@^1.0.0:
uuid@3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04"
+ integrity sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==
uuid@^2.0.1:
version "2.0.3"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
+ integrity sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=
-uuid@^3.0.0, uuid@^3.0.1:
+uuid@^3.0.0:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
+ integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
+
+uuid@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
+ integrity sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=
vali-date@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6"
+ integrity sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=
-verror@1.3.6:
- version "1.3.6"
- resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c"
+verror@1.10.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
dependencies:
- extsprintf "1.0.2"
+ assert-plus "^1.0.0"
+ core-util-is "1.0.2"
+ extsprintf "^1.2.0"
vinyl-assign@^1.0.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/vinyl-assign/-/vinyl-assign-1.2.1.tgz#4d198891b5515911d771a8cd9c5480a46a074a45"
+ integrity sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=
dependencies:
object-assign "^4.0.1"
readable-stream "^2.0.0"
@@ -5946,6 +7611,7 @@ vinyl-assign@^1.0.1:
vinyl-fs@^2.2.0:
version "2.4.4"
resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-2.4.4.tgz#be6ff3270cb55dfd7d3063640de81f25d7532239"
+ integrity sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=
dependencies:
duplexify "^3.2.0"
glob-stream "^5.3.2"
@@ -5968,6 +7634,7 @@ vinyl-fs@^2.2.0:
vinyl@^0.4.3:
version "0.4.6"
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847"
+ integrity sha1-LzVsh6VQolVGHza76ypbqL94SEc=
dependencies:
clone "^0.2.0"
clone-stats "^0.0.1"
@@ -5975,6 +7642,7 @@ vinyl@^0.4.3:
vinyl@^0.5.0:
version "0.5.3"
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde"
+ integrity sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=
dependencies:
clone "^1.0.0"
clone-stats "^0.0.1"
@@ -5983,6 +7651,7 @@ vinyl@^0.5.0:
vinyl@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884"
+ integrity sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=
dependencies:
clone "^1.0.0"
clone-stats "^0.0.1"
@@ -5991,10 +7660,12 @@ vinyl@^1.0.0:
vlq@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.1.tgz#14439d711891e682535467f8587c5630e4222a6c"
+ integrity sha1-FEOdcRiR5oJTVGf4WHxWMOQiKmw=
wait-on@2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-2.0.2.tgz#0a84fd07024c6fc268cb0eabe585be217aaf2baa"
+ integrity sha1-CoT9BwJMb8Joyw6r5YW+IXqvK6o=
dependencies:
core-js "^2.4.1"
joi "^9.2.0"
@@ -6005,68 +7676,82 @@ wait-on@2.0.2:
walk-back@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/walk-back/-/walk-back-2.0.1.tgz#554e2a9d874fac47a8cb006bf44c2f0c4998a0a4"
+ integrity sha1-VU4qnYdPrEeoywBr9EwvDEmYoKQ=
walk-back@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/walk-back/-/walk-back-3.0.0.tgz#2358787a35da91032dad5e92f80b12370d8795c5"
+ integrity sha1-I1h4ejXakQMtrV6S+AsSNw2HlcU=
ware@^1.2.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/ware/-/ware-1.3.0.tgz#d1b14f39d2e2cb4ab8c4098f756fe4b164e473d4"
+ integrity sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=
dependencies:
wrap-fn "^0.1.0"
websocket-driver@>=0.5.1:
version "0.6.5"
resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36"
+ integrity sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=
dependencies:
websocket-extensions ">=0.1.1"
websocket-extensions@>=0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz#76899499c184b6ef754377c2dbb0cd6cb55d29e7"
+ integrity sha1-domUmcGEtu91Q3fC27DNbLVdKec=
whatwg-fetch@2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
+ integrity sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=
which@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.1.1.tgz#9ce512459946166e12c083f08ec073380fc8cbbb"
+ integrity sha1-nOUSRZlGFm4SwIPwjsBzOA/Iy7s=
dependencies:
is-absolute "^0.1.7"
which@^1.2.12:
version "1.2.14"
resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5"
+ integrity sha1-mofEN48D6CfOyvGs31bHNsAcFOU=
dependencies:
isexe "^2.0.0"
wide-align@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad"
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
+ integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
dependencies:
- string-width "^1.0.1"
+ string-width "^1.0.2 || 2"
window-size@0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
+ integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=
wordwrap@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
+ integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=
wordwrap@~0.0.2:
version "0.0.3"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
+ integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc=
wordwrap@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
+ integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
wordwrapjs@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-2.0.0.tgz#ab55f695e6118da93858fdd70c053d1c5e01ac20"
+ integrity sha1-q1X2leYRjak4WP3XDAU9HF4BrCA=
dependencies:
array-back "^1.0.3"
feature-detect-es6 "^1.3.1"
@@ -6076,22 +7761,26 @@ wordwrapjs@^2.0.0:
wrap-fn@^0.1.0:
version "0.1.5"
resolved "https://registry.yarnpkg.com/wrap-fn/-/wrap-fn-0.1.5.tgz#f21b6e41016ff4a7e31720dbc63a09016bdf9845"
+ integrity sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=
dependencies:
co "3.1.0"
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
write@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
+ integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=
dependencies:
mkdirp "^0.5.1"
xml2js@0.4.17:
version "0.4.17"
resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.17.tgz#17be93eaae3f3b779359c795b419705a8817e868"
+ integrity sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=
dependencies:
sax ">=0.6.0"
xmlbuilder "^4.1.0"
@@ -6099,24 +7788,29 @@ xml2js@0.4.17:
xmlbuilder@4.2.1, xmlbuilder@^4.1.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5"
+ integrity sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=
dependencies:
lodash "^4.0.0"
xmlcreate@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/xmlcreate/-/xmlcreate-1.0.2.tgz#fa6bf762a60a413fb3dd8f4b03c5b269238d308f"
+ integrity sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8=
"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
+ integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68=
xtend@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.2.0.tgz#eef6b1f198c1c8deafad8b1765a04dad4a01c5a9"
+ integrity sha1-7vax8ZjByN6vrYsXZaBNrUoBxak=
xtend@~2.0.4:
version "2.0.6"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.0.6.tgz#5ea657a6dba447069c2e59c58a1138cb0c5e6cee"
+ integrity sha1-XqZXptukRwacLlnFihE4ywxebO4=
dependencies:
is-object "~0.1.2"
object-keys "~0.2.0"
@@ -6124,22 +7818,31 @@ xtend@~2.0.4:
xtend@~2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b"
+ integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os=
dependencies:
object-keys "~0.4.0"
xtend@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-3.0.0.tgz#5cce7407baf642cba7becda568111c493f59665a"
+ integrity sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=
+
+yallist@^3.0.0, yallist@^3.0.2:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"
+ integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==
yargs-parser@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
+ integrity sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=
dependencies:
camelcase "^3.0.0"
yargs@~3.10.0:
version "3.10.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
+ integrity sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=
dependencies:
camelcase "^1.0.2"
cliui "^2.1.0"
@@ -6149,6 +7852,7 @@ yargs@~3.10.0:
yauzl@^2.2.1, yauzl@^2.5.0:
version "2.7.0"
resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.7.0.tgz#e21d847868b496fc29eaec23ee87fdd33e9b2bce"
+ integrity sha1-4h2EeGi0lvwp6uwj7of90z6bK84=
dependencies:
buffer-crc32 "~0.2.3"
fd-slicer "~1.0.1"
@@ -6156,6 +7860,7 @@ yauzl@^2.2.1, yauzl@^2.5.0:
yauzl@^2.4.2:
version "2.8.0"
resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.8.0.tgz#79450aff22b2a9c5a41ef54e02db907ccfbf9ee2"
+ integrity sha1-eUUK/yKyqcWkHvVOAtuQfM+/nuI=
dependencies:
buffer-crc32 "~0.2.3"
fd-slicer "~1.0.1"