@shopify/hydrogen-react 0.0.0-next-022e862 → 0.0.0-next-c23a62a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dev/CartProvider.js +20 -20
- package/dist/dev/CartProvider.js.map +1 -1
- package/dist/dev/Metafield.js +8 -2
- package/dist/dev/Metafield.js.map +1 -1
- package/dist/dev/Metafield.mjs +6 -0
- package/dist/dev/Metafield.mjs.map +1 -1
- package/dist/dev/ModelViewer.js +4 -4
- package/dist/dev/ModelViewer.js.map +1 -1
- package/dist/dev/ProductProvider.js +14 -14
- package/dist/dev/ProductProvider.js.map +1 -1
- package/dist/dev/ShopifyProvider.js +4 -4
- package/dist/dev/ShopifyProvider.js.map +1 -1
- package/dist/dev/Video.js +2 -2
- package/dist/dev/_virtual/index.js +5 -0
- package/dist/dev/_virtual/index.js.map +1 -0
- package/dist/dev/_virtual/index.mjs +5 -0
- package/dist/dev/_virtual/index.mjs.map +1 -0
- package/dist/dev/_virtual/index2.js +5 -0
- package/dist/dev/_virtual/index2.js.map +1 -0
- package/dist/dev/_virtual/index2.mjs +5 -0
- package/dist/dev/_virtual/index2.mjs.map +1 -0
- package/dist/dev/_virtual/use-sync-external-store-shim.development.js +5 -0
- package/dist/dev/_virtual/use-sync-external-store-shim.development.js.map +1 -0
- package/dist/dev/_virtual/use-sync-external-store-shim.development.mjs +5 -0
- package/dist/dev/_virtual/use-sync-external-store-shim.development.mjs.map +1 -0
- package/dist/dev/_virtual/use-sync-external-store-shim.production.min.js +5 -0
- package/dist/dev/_virtual/use-sync-external-store-shim.production.min.js.map +1 -0
- package/dist/dev/_virtual/use-sync-external-store-shim.production.min.mjs +5 -0
- package/dist/dev/_virtual/use-sync-external-store-shim.production.min.mjs.map +1 -0
- package/dist/dev/_virtual/with-selector.development.js +5 -0
- package/dist/dev/_virtual/with-selector.development.js.map +1 -0
- package/dist/dev/_virtual/with-selector.development.mjs +5 -0
- package/dist/dev/_virtual/with-selector.development.mjs.map +1 -0
- package/dist/dev/_virtual/with-selector.js +5 -0
- package/dist/dev/_virtual/with-selector.js.map +1 -0
- package/dist/dev/_virtual/with-selector.mjs +5 -0
- package/dist/dev/_virtual/with-selector.mjs.map +1 -0
- package/dist/dev/_virtual/with-selector.production.min.js +5 -0
- package/dist/dev/_virtual/with-selector.production.min.js.map +1 -0
- package/dist/dev/_virtual/with-selector.production.min.mjs +5 -0
- package/dist/dev/_virtual/with-selector.production.min.mjs.map +1 -0
- package/dist/dev/cart-hooks.js +4 -4
- package/dist/dev/cart-hooks.js.map +1 -1
- package/dist/dev/cart-hooks.mjs +3 -3
- package/dist/dev/cart-hooks.mjs.map +1 -1
- package/dist/dev/index.js +2 -0
- package/dist/dev/index.js.map +1 -1
- package/dist/dev/index.mjs +2 -0
- package/dist/dev/index.mjs.map +1 -1
- package/dist/dev/load-script.js +3 -3
- package/dist/dev/load-script.js.map +1 -1
- package/dist/dev/metafield-parser.js +105 -0
- package/dist/dev/metafield-parser.js.map +1 -0
- package/dist/dev/metafield-parser.mjs +105 -0
- package/dist/dev/metafield-parser.mjs.map +1 -0
- package/dist/dev/node_modules/@xstate/fsm/es/index.js +158 -0
- package/dist/dev/node_modules/@xstate/fsm/es/index.js.map +1 -0
- package/dist/dev/node_modules/@xstate/fsm/es/index.mjs +159 -0
- package/dist/dev/node_modules/@xstate/fsm/es/index.mjs.map +1 -0
- package/dist/dev/node_modules/@xstate/react/es/fsm.js +94 -0
- package/dist/dev/node_modules/@xstate/react/es/fsm.js.map +1 -0
- package/dist/dev/node_modules/@xstate/react/es/fsm.mjs +94 -0
- package/dist/dev/node_modules/@xstate/react/es/fsm.mjs.map +1 -0
- package/dist/dev/node_modules/@xstate/react/es/useConstant.js +30 -0
- package/dist/dev/node_modules/@xstate/react/es/useConstant.js.map +1 -0
- package/dist/dev/node_modules/@xstate/react/es/useConstant.mjs +12 -0
- package/dist/dev/node_modules/@xstate/react/es/useConstant.mjs.map +1 -0
- package/dist/dev/node_modules/ts-expect/dist/index.js +13 -0
- package/dist/dev/node_modules/ts-expect/dist/index.js.map +1 -0
- package/dist/dev/node_modules/ts-expect/dist/index.mjs +15 -0
- package/dist/dev/node_modules/ts-expect/dist/index.mjs.map +1 -0
- package/dist/dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js +5 -0
- package/dist/dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js.map +1 -0
- package/dist/dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs +6 -0
- package/dist/dev/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs.map +1 -0
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +107 -0
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +1 -0
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs +105 -0
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -0
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +74 -0
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +1 -0
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs +72 -0
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -0
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +138 -0
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -0
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs +136 -0
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -0
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js +60 -0
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js.map +1 -0
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs +58 -0
- package/dist/dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -0
- package/dist/dev/node_modules/use-sync-external-store/shim/index.js +21 -0
- package/dist/dev/node_modules/use-sync-external-store/shim/index.js.map +1 -0
- package/dist/dev/node_modules/use-sync-external-store/shim/index.mjs +21 -0
- package/dist/dev/node_modules/use-sync-external-store/shim/index.mjs.map +1 -0
- package/dist/dev/node_modules/use-sync-external-store/shim/with-selector.js +12 -0
- package/dist/dev/node_modules/use-sync-external-store/shim/with-selector.js.map +1 -0
- package/dist/dev/node_modules/use-sync-external-store/shim/with-selector.mjs +11 -0
- package/dist/dev/node_modules/use-sync-external-store/shim/with-selector.mjs.map +1 -0
- package/dist/dev/node_modules/worktop/cookie/index.js +27 -0
- package/dist/dev/node_modules/worktop/cookie/index.js.map +1 -0
- package/dist/dev/node_modules/worktop/cookie/index.mjs +27 -0
- package/dist/dev/node_modules/worktop/cookie/index.mjs.map +1 -0
- package/dist/dev/useCartAPIStateMachine.js +12 -12
- package/dist/dev/useCartAPIStateMachine.js.map +1 -1
- package/dist/dev/useCartAPIStateMachine.mjs +8 -8
- package/dist/dev/useCartAPIStateMachine.mjs.map +1 -1
- package/dist/dev/useCartActions.js +11 -11
- package/dist/dev/useCartActions.js.map +1 -1
- package/dist/dev/useMoney.js +5 -5
- package/dist/dev/useMoney.js.map +1 -1
- package/dist/prod/CartProvider.js +20 -20
- package/dist/prod/CartProvider.js.map +1 -1
- package/dist/prod/Metafield.js +2 -2
- package/dist/prod/Metafield.js.map +1 -1
- package/dist/prod/Metafield.mjs.map +1 -1
- package/dist/prod/ModelViewer.js +4 -4
- package/dist/prod/ModelViewer.js.map +1 -1
- package/dist/prod/ProductProvider.js +14 -14
- package/dist/prod/ProductProvider.js.map +1 -1
- package/dist/prod/ShopifyProvider.js +4 -4
- package/dist/prod/ShopifyProvider.js.map +1 -1
- package/dist/prod/Video.js +2 -2
- package/dist/prod/_virtual/index.js +5 -0
- package/dist/prod/_virtual/index.js.map +1 -0
- package/dist/prod/_virtual/index.mjs +5 -0
- package/dist/prod/_virtual/index.mjs.map +1 -0
- package/dist/prod/_virtual/index2.js +5 -0
- package/dist/prod/_virtual/index2.js.map +1 -0
- package/dist/prod/_virtual/index2.mjs +5 -0
- package/dist/prod/_virtual/index2.mjs.map +1 -0
- package/dist/prod/_virtual/use-sync-external-store-shim.development.js +5 -0
- package/dist/prod/_virtual/use-sync-external-store-shim.development.js.map +1 -0
- package/dist/prod/_virtual/use-sync-external-store-shim.development.mjs +5 -0
- package/dist/prod/_virtual/use-sync-external-store-shim.development.mjs.map +1 -0
- package/dist/prod/_virtual/use-sync-external-store-shim.production.min.js +5 -0
- package/dist/prod/_virtual/use-sync-external-store-shim.production.min.js.map +1 -0
- package/dist/prod/_virtual/use-sync-external-store-shim.production.min.mjs +5 -0
- package/dist/prod/_virtual/use-sync-external-store-shim.production.min.mjs.map +1 -0
- package/dist/prod/_virtual/with-selector.development.js +5 -0
- package/dist/prod/_virtual/with-selector.development.js.map +1 -0
- package/dist/prod/_virtual/with-selector.development.mjs +5 -0
- package/dist/prod/_virtual/with-selector.development.mjs.map +1 -0
- package/dist/prod/_virtual/with-selector.js +5 -0
- package/dist/prod/_virtual/with-selector.js.map +1 -0
- package/dist/prod/_virtual/with-selector.mjs +5 -0
- package/dist/prod/_virtual/with-selector.mjs.map +1 -0
- package/dist/prod/_virtual/with-selector.production.min.js +5 -0
- package/dist/prod/_virtual/with-selector.production.min.js.map +1 -0
- package/dist/prod/_virtual/with-selector.production.min.mjs +5 -0
- package/dist/prod/_virtual/with-selector.production.min.mjs.map +1 -0
- package/dist/prod/cart-hooks.js +4 -4
- package/dist/prod/cart-hooks.js.map +1 -1
- package/dist/prod/cart-hooks.mjs +3 -3
- package/dist/prod/cart-hooks.mjs.map +1 -1
- package/dist/prod/index.js +2 -0
- package/dist/prod/index.js.map +1 -1
- package/dist/prod/index.mjs +2 -0
- package/dist/prod/index.mjs.map +1 -1
- package/dist/prod/load-script.js +3 -3
- package/dist/prod/load-script.js.map +1 -1
- package/dist/prod/metafield-parser.js +116 -0
- package/dist/prod/metafield-parser.js.map +1 -0
- package/dist/prod/metafield-parser.mjs +116 -0
- package/dist/prod/metafield-parser.mjs.map +1 -0
- package/dist/prod/node_modules/@xstate/fsm/es/index.js +158 -0
- package/dist/prod/node_modules/@xstate/fsm/es/index.js.map +1 -0
- package/dist/prod/node_modules/@xstate/fsm/es/index.mjs +159 -0
- package/dist/prod/node_modules/@xstate/fsm/es/index.mjs.map +1 -0
- package/dist/prod/node_modules/@xstate/react/es/fsm.js +94 -0
- package/dist/prod/node_modules/@xstate/react/es/fsm.js.map +1 -0
- package/dist/prod/node_modules/@xstate/react/es/fsm.mjs +94 -0
- package/dist/prod/node_modules/@xstate/react/es/fsm.mjs.map +1 -0
- package/dist/prod/node_modules/@xstate/react/es/useConstant.js +30 -0
- package/dist/prod/node_modules/@xstate/react/es/useConstant.js.map +1 -0
- package/dist/prod/node_modules/@xstate/react/es/useConstant.mjs +12 -0
- package/dist/prod/node_modules/@xstate/react/es/useConstant.mjs.map +1 -0
- package/dist/prod/node_modules/ts-expect/dist/index.js +13 -0
- package/dist/prod/node_modules/ts-expect/dist/index.js.map +1 -0
- package/dist/prod/node_modules/ts-expect/dist/index.mjs +15 -0
- package/dist/prod/node_modules/ts-expect/dist/index.mjs.map +1 -0
- package/dist/prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js +5 -0
- package/dist/prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js.map +1 -0
- package/dist/prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs +6 -0
- package/dist/prod/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.mjs.map +1 -0
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +107 -0
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +1 -0
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs +105 -0
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.mjs.map +1 -0
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +74 -0
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +1 -0
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs +72 -0
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.mjs.map +1 -0
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +138 -0
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -0
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs +136 -0
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +1 -0
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js +60 -0
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js.map +1 -0
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs +58 -0
- package/dist/prod/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.mjs.map +1 -0
- package/dist/prod/node_modules/use-sync-external-store/shim/index.js +21 -0
- package/dist/prod/node_modules/use-sync-external-store/shim/index.js.map +1 -0
- package/dist/prod/node_modules/use-sync-external-store/shim/index.mjs +21 -0
- package/dist/prod/node_modules/use-sync-external-store/shim/index.mjs.map +1 -0
- package/dist/prod/node_modules/use-sync-external-store/shim/with-selector.js +12 -0
- package/dist/prod/node_modules/use-sync-external-store/shim/with-selector.js.map +1 -0
- package/dist/prod/node_modules/use-sync-external-store/shim/with-selector.mjs +11 -0
- package/dist/prod/node_modules/use-sync-external-store/shim/with-selector.mjs.map +1 -0
- package/dist/prod/node_modules/worktop/cookie/index.js +27 -0
- package/dist/prod/node_modules/worktop/cookie/index.js.map +1 -0
- package/dist/prod/node_modules/worktop/cookie/index.mjs +27 -0
- package/dist/prod/node_modules/worktop/cookie/index.mjs.map +1 -0
- package/dist/prod/useCartAPIStateMachine.js +12 -12
- package/dist/prod/useCartAPIStateMachine.js.map +1 -1
- package/dist/prod/useCartAPIStateMachine.mjs +8 -8
- package/dist/prod/useCartAPIStateMachine.mjs.map +1 -1
- package/dist/prod/useCartActions.js +11 -11
- package/dist/prod/useCartActions.js.map +1 -1
- package/dist/prod/useMoney.js +5 -5
- package/dist/prod/useMoney.js.map +1 -1
- package/dist/types/Metafield.d.ts +3 -0
- package/dist/types/index.d.cts +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/metafield-parser.d.ts +222 -0
- package/dist/umd/hydrogen-react.dev.js +114 -0
- package/dist/umd/hydrogen-react.dev.js.map +1 -1
- package/dist/umd/hydrogen-react.prod.js +17 -17
- package/dist/umd/hydrogen-react.prod.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import type { Collection, GenericFile, Metafield as MetafieldBaseType, MoneyV2, Page, Product, ProductVariant } from './storefront-api-types.js';
|
|
2
|
+
import type { PartialDeep, Simplify } from 'type-fest';
|
|
3
|
+
/**
|
|
4
|
+
* A temporary function that will be renamed to `parseMetafield()` in a future release.
|
|
5
|
+
*
|
|
6
|
+
* A function that uses `metafield.type` to parse the Metafield's `value` or `reference` or `references` (depending on the `type`) and put it in `metafield.parsedValue`
|
|
7
|
+
*
|
|
8
|
+
* TypeScript developers can use the type `ParsedMetafields` from this package to get the returned object's type correct. For example:
|
|
9
|
+
*
|
|
10
|
+
* ```
|
|
11
|
+
* metafieldParser<ParsedMetafields['boolean']>({type: 'boolean', value: 'false'}
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare function metafieldParser<ReturnGeneric>(metafield: PartialDeep<MetafieldBaseType, {
|
|
15
|
+
recurseIntoArrays: true;
|
|
16
|
+
}>): ReturnGeneric;
|
|
17
|
+
export declare const allMetafieldTypesArray: readonly ["boolean", "collection_reference", "color", "date", "date_time", "dimension", "file_reference", "json", "money", "multi_line_text_field", "number_decimal", "number_integer", "page_reference", "product_reference", "rating", "single_line_text_field", "url", "variant_reference", "volume", "weight", "list.collection_reference", "list.color", "list.date", "list.date_time", "list.dimension", "list.file_reference", "list.number_integer", "list.number_decimal", "list.page_reference", "list.product_reference", "list.rating", "list.single_line_text_field", "list.url", "list.variant_reference", "list.volume", "list.weight"];
|
|
18
|
+
/** A union of all the supported `metafield.type`s */
|
|
19
|
+
export declare type MetafieldTypeTypes = typeof allMetafieldTypesArray[number];
|
|
20
|
+
/**
|
|
21
|
+
* A mapping of a Metafield's `type` to the TypeScript type that is returned from `metafieldParser()`
|
|
22
|
+
* For example, when using `metafieldParser()`, the type will be correctly returned when used like the following:
|
|
23
|
+
*
|
|
24
|
+
* ```
|
|
25
|
+
* const parsedMetafield = metafieldParser<ParsedMetafields['boolean']>(metafield);`
|
|
26
|
+
* ```
|
|
27
|
+
* `parsedMetafield.parsedValue`'s type is now `boolean`
|
|
28
|
+
*/
|
|
29
|
+
export declare type ParsedMetafields<ExtraTypeGeneric = void> = {
|
|
30
|
+
/** A Metafield that's been parsed, with a `parsedValue` of `boolean` */
|
|
31
|
+
boolean: Simplify<BooleanParsedMetafield>;
|
|
32
|
+
/** A Metafield that's been parsed, with a `parsedValue` of a `Collection` object (as defined by the Storefront API) */
|
|
33
|
+
collection_reference: Simplify<CollectionParsedRefMetafield>;
|
|
34
|
+
/** A Metafield that's been parsed, with a `parsedValue` of type `string` */
|
|
35
|
+
color: Simplify<ColorParsedMetafield>;
|
|
36
|
+
/** A Metafield that's been parsed, with a `parsedValue` of type `Date` */
|
|
37
|
+
date: Simplify<DatesParsedMetafield>;
|
|
38
|
+
/** A Metafield that's been parsed, with a `parsedValue` of type `Date` */
|
|
39
|
+
date_time: Simplify<DatesParsedMetafield>;
|
|
40
|
+
/** A Metafield that's been parsed, with a `parsedValue` of type `Measurement` */
|
|
41
|
+
dimension: Simplify<MeasurementParsedMetafield>;
|
|
42
|
+
/** A Metafield that's been parsed, with a `parsedValue` of a `GenericFile` object (as defined by the Storefront API) */
|
|
43
|
+
file_reference: Simplify<FileRefParsedMetafield>;
|
|
44
|
+
/**
|
|
45
|
+
* A Metafield that's been parsed, with a `parsedValue` of type `unknown`, unless you pass in the type as a generic. For example:
|
|
46
|
+
*
|
|
47
|
+
* ```
|
|
48
|
+
* ParsedMetafields<MyJsonType>['json']
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
json: Simplify<JsonParsedMetafield<ExtraTypeGeneric>>;
|
|
52
|
+
/** A Metafield that's been parsed, with a `parsedValue` of type `Money` */
|
|
53
|
+
money: Simplify<MoneyParsedMetafield>;
|
|
54
|
+
/** A Metafield that's been parsed, with a `parsedValue` of type `string` */
|
|
55
|
+
multi_line_text_field: Simplify<TextParsedMetafield>;
|
|
56
|
+
/** A Metafield that's been parsed, with a `parsedValue` of type `number` */
|
|
57
|
+
number_decimal: Simplify<NumberParsedMetafield>;
|
|
58
|
+
/** A Metafield that's been parsed, with a `parsedValue` of type `number` */
|
|
59
|
+
number_integer: Simplify<NumberParsedMetafield>;
|
|
60
|
+
/** A Metafield that's been parsed, with a `parsedValue` of a `Page` object (as defined by the Storefront API) */
|
|
61
|
+
page_reference: Simplify<PageParsedRefMetafield>;
|
|
62
|
+
/** A Metafield that's been parsed, with a `parsedValue` of a `Product` object (as defined by the Storefront API) */
|
|
63
|
+
product_reference: Simplify<ProductParsedRefMetafield>;
|
|
64
|
+
/** A Metafield that's been parsed, with a `parsedValue` of type `Rating` */
|
|
65
|
+
rating: Simplify<RatingParsedMetafield>;
|
|
66
|
+
/** A Metafield that's been parsed, with a `parsedValue` of type `string` */
|
|
67
|
+
single_line_text_field: Simplify<TextParsedMetafield>;
|
|
68
|
+
/** A Metafield that's been parsed, with a `parsedValue` of type `string` */
|
|
69
|
+
url: Simplify<TextParsedMetafield>;
|
|
70
|
+
/** A Metafield that's been parsed, with a `parsedValue` of a `ProductVariant` object (as defined by the Storefront API) */
|
|
71
|
+
variant_reference: Simplify<VariantParsedRefMetafield>;
|
|
72
|
+
/** A Metafield that's been parsed, with a `parsedValue` of type `Measurement` */
|
|
73
|
+
volume: Simplify<MeasurementParsedMetafield>;
|
|
74
|
+
/** A Metafield that's been parsed, with a `parsedValue` of type `Measurement` */
|
|
75
|
+
weight: Simplify<MeasurementParsedMetafield>;
|
|
76
|
+
/** A Metafield that's been parsed, with a `parsedValue` of an array of `Collection` objects (as defined by the Storefront API) */
|
|
77
|
+
'list.collection_reference': Simplify<CollectionListParsedRefMetafield>;
|
|
78
|
+
/** A Metafield that's been parsed, with a `parsedValue` of an array of strings */
|
|
79
|
+
'list.color': Simplify<ColorListParsedMetafield>;
|
|
80
|
+
/** A Metafield that's been parsed, with a `parsedValue` of an array of Date objects */
|
|
81
|
+
'list.date': Simplify<DatesListParsedMetafield>;
|
|
82
|
+
/** A Metafield that's been parsed, with a `parsedValue` of an array of Date objects */
|
|
83
|
+
'list.date_time': Simplify<DatesListParsedMetafield>;
|
|
84
|
+
/** A Metafield that's been parsed, with a `parsedValue` of an array of `Measurement` objects */
|
|
85
|
+
'list.dimension': Simplify<MeasurementListParsedMetafield>;
|
|
86
|
+
/** A Metafield that's been parsed, with a `parsedValue` of an array of `GenericFile` objects (as defined by the Storefront API) */
|
|
87
|
+
'list.file_reference': Simplify<FileListParsedRefMetafield>;
|
|
88
|
+
/** A Metafield that's been parsed, with a `parsedValue` of an array of numbers */
|
|
89
|
+
'list.number_integer': Simplify<NumberListParsedMetafield>;
|
|
90
|
+
/** A Metafield that's been parsed, with a `parsedValue` of an array of numbers */
|
|
91
|
+
'list.number_decimal': Simplify<NumberListParsedMetafield>;
|
|
92
|
+
/** A Metafield that's been parsed, with a `parsedValue` of an array of `Page` objects (as defined by the Storefront API) */
|
|
93
|
+
'list.page_reference': Simplify<PageListParsedRefMetafield>;
|
|
94
|
+
/** A Metafield that's been parsed, with a `parsedValue` of an array of `Product` objects (as defined by the Storefront API) */
|
|
95
|
+
'list.product_reference': Simplify<ProductListParsedRefMetafield>;
|
|
96
|
+
/** A Metafield that's been parsed, with a `parsedValue` of an array of `Rating`s */
|
|
97
|
+
'list.rating': Simplify<RatingListParsedMetafield>;
|
|
98
|
+
/** A Metafield that's been parsed, with a `parsedValue` of an array of strings */
|
|
99
|
+
'list.single_line_text_field': Simplify<TextListParsedMetafield>;
|
|
100
|
+
/** A Metafield that's been parsed, with a `parsedValue` of an array of strings */
|
|
101
|
+
'list.url': Simplify<TextListParsedMetafield>;
|
|
102
|
+
/** A Metafield that's been parsed, with a `parsedValue` of an array of `ProductVariant` objects (as defined by the Storefront API) */
|
|
103
|
+
'list.variant_reference': Simplify<VariantListParsedRefMetafield>;
|
|
104
|
+
/** A Metafield that's been parsed, with a `parsedValue` of an array of `Measurement`s */
|
|
105
|
+
'list.volume': Simplify<MeasurementListParsedMetafield>;
|
|
106
|
+
/** A Metafield that's been parsed, with a `parsedValue` of an array of `Measurement`s */
|
|
107
|
+
'list.weight': Simplify<MeasurementListParsedMetafield>;
|
|
108
|
+
};
|
|
109
|
+
interface ParsedBase extends MetafieldBaseType {
|
|
110
|
+
type: MetafieldTypeTypes;
|
|
111
|
+
parsedValue: unknown;
|
|
112
|
+
}
|
|
113
|
+
interface BooleanParsedMetafield extends ParsedBase {
|
|
114
|
+
type: 'boolean';
|
|
115
|
+
parsedValue: boolean | null;
|
|
116
|
+
}
|
|
117
|
+
declare type CollectionParsedRefMetafield = MetafieldBaseType & {
|
|
118
|
+
type: 'collection_reference';
|
|
119
|
+
parsedValue: Collection | null;
|
|
120
|
+
};
|
|
121
|
+
declare type ColorParsedMetafield = MetafieldBaseType & {
|
|
122
|
+
type: 'color';
|
|
123
|
+
parsedValue: string | null;
|
|
124
|
+
};
|
|
125
|
+
declare type DatesParsedMetafield = MetafieldBaseType & {
|
|
126
|
+
type: 'date' | 'date_time';
|
|
127
|
+
parsedValue: Date | null;
|
|
128
|
+
};
|
|
129
|
+
declare type MeasurementParsedMetafield = MetafieldBaseType & {
|
|
130
|
+
type: 'dimension' | 'weight' | 'volume';
|
|
131
|
+
parsedValue: Measurement | null;
|
|
132
|
+
};
|
|
133
|
+
declare type FileRefParsedMetafield = MetafieldBaseType & {
|
|
134
|
+
type: 'file_reference';
|
|
135
|
+
parsedValue: GenericFile | null;
|
|
136
|
+
};
|
|
137
|
+
declare type JsonParsedMetafield<JsonTypeGeneric = void> = MetafieldBaseType & {
|
|
138
|
+
type: 'json';
|
|
139
|
+
parsedValue: JsonTypeGeneric extends void ? unknown : JsonTypeGeneric | null;
|
|
140
|
+
};
|
|
141
|
+
declare type MoneyParsedMetafield = MetafieldBaseType & {
|
|
142
|
+
type: 'money';
|
|
143
|
+
parsedValue: MoneyV2 | null;
|
|
144
|
+
};
|
|
145
|
+
declare type TextParsedMetafield = MetafieldBaseType & {
|
|
146
|
+
type: 'single_line_text_field' | 'multi_line_text_field' | 'url';
|
|
147
|
+
parsedValue: string | null;
|
|
148
|
+
};
|
|
149
|
+
declare type NumberParsedMetafield = MetafieldBaseType & {
|
|
150
|
+
type: 'number_decimal' | 'number_integer';
|
|
151
|
+
parsedValue: number | null;
|
|
152
|
+
};
|
|
153
|
+
declare type PageParsedRefMetafield = MetafieldBaseType & {
|
|
154
|
+
type: 'page_reference';
|
|
155
|
+
parsedValue: Page | null;
|
|
156
|
+
};
|
|
157
|
+
declare type ProductParsedRefMetafield = MetafieldBaseType & {
|
|
158
|
+
type: 'product_reference';
|
|
159
|
+
parsedValue: Product | null;
|
|
160
|
+
};
|
|
161
|
+
declare type RatingParsedMetafield = MetafieldBaseType & {
|
|
162
|
+
type: 'rating';
|
|
163
|
+
parsedValue: Rating | null;
|
|
164
|
+
};
|
|
165
|
+
declare type VariantParsedRefMetafield = MetafieldBaseType & {
|
|
166
|
+
type: 'variant_reference';
|
|
167
|
+
parsedValue: ProductVariant | null;
|
|
168
|
+
};
|
|
169
|
+
declare type CollectionListParsedRefMetafield = MetafieldBaseType & {
|
|
170
|
+
type: 'list.collection_reference';
|
|
171
|
+
parsedValue: Array<Collection> | null;
|
|
172
|
+
};
|
|
173
|
+
declare type ColorListParsedMetafield = MetafieldBaseType & {
|
|
174
|
+
type: 'list.color';
|
|
175
|
+
parsedValue: Array<string> | null;
|
|
176
|
+
};
|
|
177
|
+
declare type DatesListParsedMetafield = MetafieldBaseType & {
|
|
178
|
+
type: 'list.date' | 'list.date_time';
|
|
179
|
+
parsedValue: Array<Date> | null;
|
|
180
|
+
};
|
|
181
|
+
declare type MeasurementListParsedMetafield = MetafieldBaseType & {
|
|
182
|
+
type: 'list.dimension' | 'list.weight' | 'list.volume';
|
|
183
|
+
parsedValue: Array<Measurement> | null;
|
|
184
|
+
};
|
|
185
|
+
declare type FileListParsedRefMetafield = MetafieldBaseType & {
|
|
186
|
+
type: 'list.file_reference';
|
|
187
|
+
parsedValue: Array<GenericFile> | null;
|
|
188
|
+
};
|
|
189
|
+
declare type TextListParsedMetafield = MetafieldBaseType & {
|
|
190
|
+
type: 'list.single_line_text_field' | 'list.url';
|
|
191
|
+
parsedValue: Array<string> | null;
|
|
192
|
+
};
|
|
193
|
+
declare type NumberListParsedMetafield = MetafieldBaseType & {
|
|
194
|
+
type: 'list.number_decimal' | 'list.number_integer';
|
|
195
|
+
parsedValue: Array<number> | null;
|
|
196
|
+
};
|
|
197
|
+
declare type PageListParsedRefMetafield = MetafieldBaseType & {
|
|
198
|
+
type: 'list.page_reference';
|
|
199
|
+
parsedValue: Array<Page> | null;
|
|
200
|
+
};
|
|
201
|
+
declare type ProductListParsedRefMetafield = MetafieldBaseType & {
|
|
202
|
+
type: 'list.product_reference';
|
|
203
|
+
parsedValue: Array<Product> | null;
|
|
204
|
+
};
|
|
205
|
+
declare type RatingListParsedMetafield = MetafieldBaseType & {
|
|
206
|
+
type: 'list.rating';
|
|
207
|
+
parsedValue: Array<Rating> | null;
|
|
208
|
+
};
|
|
209
|
+
declare type VariantListParsedRefMetafield = MetafieldBaseType & {
|
|
210
|
+
type: 'list.variant_reference';
|
|
211
|
+
parsedValue: Array<ProductVariant> | null;
|
|
212
|
+
};
|
|
213
|
+
export declare type Measurement = {
|
|
214
|
+
unit: string;
|
|
215
|
+
value: number;
|
|
216
|
+
};
|
|
217
|
+
export interface Rating {
|
|
218
|
+
value: number;
|
|
219
|
+
scale_min: number;
|
|
220
|
+
scale_max: number;
|
|
221
|
+
}
|
|
222
|
+
export {};
|
|
@@ -2548,6 +2548,9 @@ fragment ImageFragment on Image {
|
|
|
2548
2548
|
}, (_i = parsedMetafield.value) == null ? void 0 : _i.toString());
|
|
2549
2549
|
}
|
|
2550
2550
|
function parseMetafield(metafield) {
|
|
2551
|
+
{
|
|
2552
|
+
console.info(`'parseMetafield()' will have a breaking change in a future version; its behavior will match that of 'metafieldParser()'`);
|
|
2553
|
+
}
|
|
2551
2554
|
if (!metafield) {
|
|
2552
2555
|
{
|
|
2553
2556
|
console.warn(`'parseMetafield' was not passed any value for the 'metafield' argument`);
|
|
@@ -2563,6 +2566,9 @@ fragment ImageFragment on Image {
|
|
|
2563
2566
|
};
|
|
2564
2567
|
}
|
|
2565
2568
|
function parseMetafieldValue(metafield) {
|
|
2569
|
+
{
|
|
2570
|
+
console.info(`'parseMetafieldValue()' will be removed in a future version`);
|
|
2571
|
+
}
|
|
2566
2572
|
if (!metafield) {
|
|
2567
2573
|
return null;
|
|
2568
2574
|
}
|
|
@@ -2690,6 +2696,113 @@ fragment ImageFragment on Image {
|
|
|
2690
2696
|
throw new Error(`Unit not supported: ${unit}`);
|
|
2691
2697
|
}
|
|
2692
2698
|
}
|
|
2699
|
+
var dist = {};
|
|
2700
|
+
Object.defineProperty(dist, "__esModule", { value: true });
|
|
2701
|
+
dist.expectNever = expectType_1 = dist.expectType = void 0;
|
|
2702
|
+
const expectType = (value) => void 0;
|
|
2703
|
+
var expectType_1 = dist.expectType = expectType;
|
|
2704
|
+
const expectNever = (value) => {
|
|
2705
|
+
throw new TypeError("Unexpected value: " + value);
|
|
2706
|
+
};
|
|
2707
|
+
dist.expectNever = expectNever;
|
|
2708
|
+
function metafieldParser(metafield) {
|
|
2709
|
+
var _a, _b, _c, _d;
|
|
2710
|
+
if (!metafield.type) {
|
|
2711
|
+
const noTypeError = `metafieldParser(): The 'type' field is required in order to parse the Metafield.`;
|
|
2712
|
+
{
|
|
2713
|
+
throw new Error(noTypeError);
|
|
2714
|
+
}
|
|
2715
|
+
}
|
|
2716
|
+
switch (metafield.type) {
|
|
2717
|
+
case "boolean":
|
|
2718
|
+
return {
|
|
2719
|
+
...metafield,
|
|
2720
|
+
parsedValue: metafield.value === "true"
|
|
2721
|
+
};
|
|
2722
|
+
case "collection_reference":
|
|
2723
|
+
case "file_reference":
|
|
2724
|
+
case "page_reference":
|
|
2725
|
+
case "product_reference":
|
|
2726
|
+
case "variant_reference":
|
|
2727
|
+
return {
|
|
2728
|
+
...metafield,
|
|
2729
|
+
parsedValue: metafield.reference
|
|
2730
|
+
};
|
|
2731
|
+
case "color":
|
|
2732
|
+
case "multi_line_text_field":
|
|
2733
|
+
case "single_line_text_field":
|
|
2734
|
+
case "url":
|
|
2735
|
+
return {
|
|
2736
|
+
...metafield,
|
|
2737
|
+
parsedValue: metafield.value
|
|
2738
|
+
};
|
|
2739
|
+
case "dimension":
|
|
2740
|
+
case "money":
|
|
2741
|
+
case "json":
|
|
2742
|
+
case "rating":
|
|
2743
|
+
case "volume":
|
|
2744
|
+
case "weight":
|
|
2745
|
+
case "list.color":
|
|
2746
|
+
case "list.dimension":
|
|
2747
|
+
case "list.number_integer":
|
|
2748
|
+
case "list.number_decimal":
|
|
2749
|
+
case "list.rating":
|
|
2750
|
+
case "list.single_line_text_field":
|
|
2751
|
+
case "list.url":
|
|
2752
|
+
case "list.volume":
|
|
2753
|
+
case "list.weight": {
|
|
2754
|
+
let parsedValue = null;
|
|
2755
|
+
try {
|
|
2756
|
+
parsedValue = parseJSON((_a = metafield.value) != null ? _a : "");
|
|
2757
|
+
} catch (err) {
|
|
2758
|
+
const parseError = `metafieldParser(): attempted to JSON.parse the 'metafield.value' property, but failed.`;
|
|
2759
|
+
{
|
|
2760
|
+
throw new Error(parseError);
|
|
2761
|
+
}
|
|
2762
|
+
}
|
|
2763
|
+
return {
|
|
2764
|
+
...metafield,
|
|
2765
|
+
parsedValue
|
|
2766
|
+
};
|
|
2767
|
+
}
|
|
2768
|
+
case "date":
|
|
2769
|
+
case "date_time":
|
|
2770
|
+
return {
|
|
2771
|
+
...metafield,
|
|
2772
|
+
parsedValue: new Date((_b = metafield.value) != null ? _b : "")
|
|
2773
|
+
};
|
|
2774
|
+
case "list.date":
|
|
2775
|
+
case "list.date_time": {
|
|
2776
|
+
const jsonParseValue = parseJSON((_c = metafield == null ? void 0 : metafield.value) != null ? _c : "");
|
|
2777
|
+
return {
|
|
2778
|
+
...metafield,
|
|
2779
|
+
parsedValue: jsonParseValue.map((dateString) => new Date(dateString))
|
|
2780
|
+
};
|
|
2781
|
+
}
|
|
2782
|
+
case "number_decimal":
|
|
2783
|
+
case "number_integer":
|
|
2784
|
+
return {
|
|
2785
|
+
...metafield,
|
|
2786
|
+
parsedValue: Number(metafield.value)
|
|
2787
|
+
};
|
|
2788
|
+
case "list.collection_reference":
|
|
2789
|
+
case "list.file_reference":
|
|
2790
|
+
case "list.page_reference":
|
|
2791
|
+
case "list.product_reference":
|
|
2792
|
+
case "list.variant_reference":
|
|
2793
|
+
return {
|
|
2794
|
+
...metafield,
|
|
2795
|
+
parsedValue: flattenConnection((_d = metafield.references) != null ? _d : void 0)
|
|
2796
|
+
};
|
|
2797
|
+
default: {
|
|
2798
|
+
const typeNotFoundError = `metafieldParser(): the 'metafield.type' you passed in is not supported. Your type: "${metafield.type}". If you believe this is an error, please open an issue on GitHub.`;
|
|
2799
|
+
{
|
|
2800
|
+
throw new Error(typeNotFoundError);
|
|
2801
|
+
}
|
|
2802
|
+
}
|
|
2803
|
+
}
|
|
2804
|
+
}
|
|
2805
|
+
expectType_1(true);
|
|
2693
2806
|
function useMoney(money) {
|
|
2694
2807
|
const {
|
|
2695
2808
|
locale
|
|
@@ -3167,6 +3280,7 @@ fragment ImageFragment on Image {
|
|
|
3167
3280
|
exports2.Video = Video;
|
|
3168
3281
|
exports2.createStorefrontClient = createStorefrontClient;
|
|
3169
3282
|
exports2.flattenConnection = flattenConnection;
|
|
3283
|
+
exports2.metafieldParser = metafieldParser;
|
|
3170
3284
|
exports2.parseMetafield = parseMetafield;
|
|
3171
3285
|
exports2.parseMetafieldValue = parseMetafieldValue;
|
|
3172
3286
|
exports2.useCart = useCart;
|