@vtex/faststore 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/catalog.json +161 -20
  3. package/dist/cli/UnreachableCaseError-Crd168Vu.js +10 -0
  4. package/dist/cli/UnreachableCaseError-Crd168Vu.js.map +1 -0
  5. package/dist/cli/cacheControl-CEojH_TM.js +158 -0
  6. package/dist/cli/cacheControl-CEojH_TM.js.map +1 -0
  7. package/dist/cli/cachePolicy-m2vASMRW.js +26 -0
  8. package/dist/cli/cachePolicy-m2vASMRW.js.map +1 -0
  9. package/dist/cli/computeCoreSchemaHash-DPJZj-qJ.js +10 -0
  10. package/dist/cli/computeCoreSchemaHash-DPJZj-qJ.js.map +1 -0
  11. package/dist/cli/default-BCQHcwbL.js +253 -0
  12. package/dist/cli/default-BCQHcwbL.js.map +1 -0
  13. package/dist/cli/disableSuggestions-yO9UqiWn.js +21 -0
  14. package/dist/cli/disableSuggestions-yO9UqiWn.js.map +1 -0
  15. package/dist/cli/dist-C1JhdHfo.js +2001 -0
  16. package/dist/cli/dist-C1JhdHfo.js.map +1 -0
  17. package/dist/cli/graphql-DG9thCDG.js +14589 -0
  18. package/dist/cli/graphql-DG9thCDG.js.map +1 -0
  19. package/dist/cli/index.d.ts +350 -0
  20. package/dist/cli/index.js +35047 -0
  21. package/dist/cli/index.js.map +1 -0
  22. package/dist/cli/index.min-BsIHDfFK.js +613 -0
  23. package/dist/cli/index.min-BsIHDfFK.js.map +1 -0
  24. package/dist/cli/inlineTrace-uLgOJ3TH.js +52 -0
  25. package/dist/cli/inlineTrace-uLgOJ3TH.js.map +1 -0
  26. package/dist/cli/internalPlugin-DnuwN4_4.js +11 -0
  27. package/dist/cli/internalPlugin-DnuwN4_4.js.map +1 -0
  28. package/dist/cli/packageVersion-DQAnIEil.js +6 -0
  29. package/dist/cli/packageVersion-DQAnIEil.js.map +1 -0
  30. package/dist/cli/rolldown-runtime-BMI-E3GI.js +44 -0
  31. package/dist/cli/schemaIsSubgraph-DoGh3OYj.js +17 -0
  32. package/dist/cli/schemaIsSubgraph-DoGh3OYj.js.map +1 -0
  33. package/dist/cli/schemaReporting-K-me-3-v.js +199 -0
  34. package/dist/cli/schemaReporting-K-me-3-v.js.map +1 -0
  35. package/dist/cli/server-runtime.js +49859 -0
  36. package/dist/cli/server-runtime.js.map +1 -0
  37. package/dist/cli/traceTreeBuilder-BIcV2U7b.js +9118 -0
  38. package/dist/cli/traceTreeBuilder-BIcV2U7b.js.map +1 -0
  39. package/dist/cli/usageReporting-Bpl8vSZX.js +10201 -0
  40. package/dist/cli/usageReporting-Bpl8vSZX.js.map +1 -0
  41. package/dist/cli/v4-CBhFvC49.js +42 -0
  42. package/dist/cli/v4-CBhFvC49.js.map +1 -0
  43. package/dist/components.d.ts +5 -3
  44. package/dist/components.js +5 -3
  45. package/dist/content-types.json +93 -0
  46. package/dist/core/dist/define-component.d.ts +37 -0
  47. package/dist/core/dist/index.d.ts +2 -2
  48. package/dist/docs/account-entry-point.md +1 -1
  49. package/dist/docs/account-menu-identity.md +160 -0
  50. package/dist/docs/account-menu.md +106 -23
  51. package/dist/docs/avatar.md +103 -0
  52. package/dist/docs/my-account-profile.md +1 -1
  53. package/dist/docs/product-shelf.md +20 -13
  54. package/dist/index.d.ts +2 -2
  55. package/dist/internal/client.js +1 -1
  56. package/dist/internal/content.d.ts +2 -2
  57. package/dist/internal/server.d.ts +4 -1
  58. package/dist/internal/server.js +4 -1
  59. package/dist/matter/account-access-gate/account-access-gate.js.map +1 -1
  60. package/dist/matter/account-entry-point/account-entry-point.js +1 -1
  61. package/dist/matter/account-entry-point/account-entry-point.js.map +1 -1
  62. package/dist/matter/account-menu/account-menu.d.ts +70 -0
  63. package/dist/matter/account-menu/account-menu.js +201 -9
  64. package/dist/matter/account-menu/account-menu.js.map +1 -1
  65. package/dist/matter/account-menu/sign-out-failure.js +50 -0
  66. package/dist/matter/account-menu/sign-out-failure.js.map +1 -0
  67. package/dist/matter/account-menu-identity/account-menu-identity.d.ts +21 -0
  68. package/dist/matter/account-menu-identity/account-menu-identity.js +88 -0
  69. package/dist/matter/account-menu-identity/account-menu-identity.js.map +1 -0
  70. package/dist/matter/card-entry/card-entry.js +1 -0
  71. package/dist/matter/card-entry/card-entry.js.map +1 -1
  72. package/dist/matter/cart/cart.js +1 -1
  73. package/dist/matter/client-preferences/client-preferences-fieldset.js +2 -2
  74. package/dist/matter/client-profile-form/client-profile-fieldset.js +2 -2
  75. package/dist/matter/identity-summary/identity-summary.js +2 -1
  76. package/dist/matter/identity-summary/identity-summary.js.map +1 -1
  77. package/dist/matter/my-account-profile/my-account-profile.d.ts +3 -0
  78. package/dist/matter/my-account-profile/my-account-profile.js +2 -1
  79. package/dist/matter/my-account-profile/my-account-profile.js.map +1 -1
  80. package/dist/matter/payment/payment-controller.js +1 -0
  81. package/dist/matter/payment/payment-controller.js.map +1 -1
  82. package/dist/matter/payment/payment.js +1 -0
  83. package/dist/matter/payment/payment.js.map +1 -1
  84. package/dist/matter/product-shelf/product-shelf.d.ts +61 -31
  85. package/dist/matter/product-shelf/product-shelf.js +157 -57
  86. package/dist/matter/product-shelf/product-shelf.js.map +1 -1
  87. package/dist/matter/saved-cards/saved-cards.js +1 -0
  88. package/dist/matter/saved-cards/saved-cards.js.map +1 -1
  89. package/dist/matter/shipping-address/shipping-address.js +2 -2
  90. package/dist/particles/avatar/avatar.d.ts +17 -0
  91. package/dist/particles/avatar/avatar.js +65 -0
  92. package/dist/particles/avatar/avatar.js.map +1 -0
  93. package/dist/schema.graphql +65 -26
  94. package/dist/sdk/analytics/use-analytics-actions.js +2 -1
  95. package/dist/sdk/analytics/use-analytics-actions.js.map +1 -1
  96. package/dist/sdk/cart/use-cart-actions.js +9 -8
  97. package/dist/sdk/cart/use-cart-actions.js.map +1 -1
  98. package/dist/sdk/cart/use-cart-validate-on-open.js +2 -1
  99. package/dist/sdk/cart/use-cart-validate-on-open.js.map +1 -1
  100. package/dist/sdk/content/create-content-runtime.d.ts +22 -1
  101. package/dist/sdk/content/create-content-runtime.js +89 -1
  102. package/dist/sdk/content/create-content-runtime.js.map +1 -1
  103. package/dist/sdk/data/empty-content-value.js +16 -0
  104. package/dist/sdk/data/empty-content-value.js.map +1 -0
  105. package/dist/sdk/data/hot-data-provider.js +2 -1
  106. package/dist/sdk/data/hot-data-provider.js.map +1 -1
  107. package/dist/sdk/data/index.js +2 -2
  108. package/dist/sdk/data/reactive-list-item-data-provider.js +2 -2
  109. package/dist/sdk/data/variables-from-content.d.ts +43 -0
  110. package/dist/sdk/data/variables-from-content.js +57 -0
  111. package/dist/sdk/data/variables-from-content.js.map +1 -0
  112. package/dist/sdk/generated/gql.js +2 -1
  113. package/dist/sdk/generated/gql.js.map +1 -1
  114. package/dist/sdk/generated/graphql.js +85 -1
  115. package/dist/sdk/generated/graphql.js.map +1 -1
  116. package/dist/sdk/identity/use-identity-actions.js +5 -4
  117. package/dist/sdk/identity/use-identity-actions.js.map +1 -1
  118. package/dist/sdk/payment/use-payment-actions.js +1 -1
  119. package/dist/sdk/payment/use-place-order.js +1 -1
  120. package/dist/sdk/region/use-region-actions.js +2 -1
  121. package/dist/sdk/region/use-region-actions.js.map +1 -1
  122. package/dist/sdk/session/read-server-session.d.ts +21 -0
  123. package/dist/sdk/session/read-server-session.js +61 -0
  124. package/dist/sdk/session/read-server-session.js.map +1 -0
  125. package/dist/sdk/session/use-session-actions.js +5 -4
  126. package/dist/sdk/session/use-session-actions.js.map +1 -1
  127. package/dist/sdk/session/use-session-revalidation.js +2 -1
  128. package/dist/sdk/session/use-session-revalidation.js.map +1 -1
  129. package/dist/sdk/shipping/use-shipping-actions.js +3 -2
  130. package/dist/sdk/shipping/use-shipping-actions.js.map +1 -1
  131. package/dist/utils/safe-href.d.ts +11 -0
  132. package/package.json +13 -2
package/CHANGELOG.md CHANGED
@@ -4,6 +4,62 @@ Every published version of `@vtex/faststore` has a section here. From `0.0.2` on
4
4
  written when its release pull request opens, and reviewed alongside the API delta that justifies the
5
5
  version.
6
6
 
7
+ ## 0.0.7
8
+
9
+ **Removed from `./components`.** The `ProductShelf` variables API is gone: `buildProductShelfVariables`,
10
+ `ProductsFilterInput` and `ProductShelfVariables`. `ProductShelfConfig` loses `itemsPerPage` and
11
+ `specifications`, and `first`, `sort` and `availableOnly` are now required on it.
12
+ `ProductShelfContextValue.variables` is now `config`. The `specifications` filter has no replacement,
13
+ so a shelf can no longer filter by custom attributes. `ProductShelfRootProps` takes
14
+ `Partial<ProductShelfConfig>` and an optional `itemsPerPage`, so every prop of `ProductShelfRoot` stays
15
+ optional.
16
+
17
+ **Changed in `./components`.** `ProductShelfRoot` reads its configuration from the store's content first.
18
+ The `ProductShelfContent` content type, the `$content` prop and `PRODUCT_SHELF_SORT_MAP` carry it. The
19
+ merchant's value wins per field, and the prop is the default. A store with no `cms` binding sees no
20
+ change.
21
+
22
+ `AccountEntryPoint` now links to `/pvt/account`, and the default sections of `AccountMenu` link to
23
+ `/pvt/profile`, `/pvt/orders`, `/pvt/address`, `/pvt/payments` and `/pvt/security`. They pointed under
24
+ `/account` before. No signature changes, but a store that authored its account pages under `account`
25
+ must move them under `pvt`, or these links point at routes that do not exist.
26
+
27
+ **Added to `./components`.** `AccountMenu` gains the `IndexRedirect` and `SignOut` parts, each with its
28
+ `*Definition`, `*Props` and content type (`AccountMenuIndexRedirectContent`,
29
+ `AccountMenuSignOutContent`). `AccountMenuIdentity` renders the signed-in shopper's identity from
30
+ `AccountMenuIdentityData` (`id`, `firstName`, `lastName`, `email`), with `AccountMenuIdentitySkeleton`
31
+ and its `*Definition` and `*Props` exports. `Avatar` joins the particles, with `AvatarDefinition` and
32
+ `AvatarProps`.
33
+
34
+ **Added to `.` and `./components`.** `ComponentDefinition` gains two optional fields. `hardened: true`
35
+ is the author's claim that a component is hardened for card data; nothing verifies it. `variables`
36
+ binds the variables of the component's fragment to its content or its props. `VariableBinding` and
37
+ `VariableBindings` are new exports of `.`. `CardEntry`, `PaymentSectionController`,
38
+ `PaymentSectionRoot` and `SavedCardCvvField` carry the marker.
39
+
40
+ **Added to `./cli`.** The entry is new. It folds `@vtex/fs-graphql` into `@vtex/faststore`
41
+ and exports `buildExtension`, `runDev`, `runDevWatch`, `validateExtension`, `lintExtension`,
42
+ `buildSubgraph`, `printSubgraphSdl`, `resolveDeclarationEntry`, `templates`, `CompileError`,
43
+ `ValidationGateError` and their types. `typescript` becomes an optional peer dependency. Only the
44
+ capability lint and the type-check in `buildExtension` need it. Without it, those two fail with an
45
+ error that names the package.
46
+
47
+ `./client` and `./graphql` have no signature change. `./internal/server` adds `readServerSession` and
48
+ `resolveSignInHref`, and `./internal/content` adds `readContentItem`. Only generated code calls them.
49
+
50
+ In the Internal set, `@vtex/sukima` implements the page model. A page document now declares its
51
+ access, discovery, bindings and aliases, content kind, standard name and variants. From them the
52
+ compiler derives routing, gates `pvt` pages behind a server session read, emits Article and FAQPage
53
+ JSON-LD from the content kind, writes a page manifest and exposes a rule catalog to the store editor.
54
+ It reads a page's item by slug and binds `$content` on content-form pages, and it retires
55
+ `dataSources` with coded diagnostics. Fragment variables come from content or props, which is what
56
+ the `ProductShelfRoot` change above relies on. `global.json` takes a `responseHeaders` block that the
57
+ generated app writes into its `next.config.ts`.
58
+
59
+ Three checks are new, and each can fail a build that passed before: a card-bearing component placed
60
+ without the `hardened` marker, a store-authored SVG icon that is unsafe, and a store-authored prop
61
+ name that is not valid in the generated TSX.
62
+
7
63
  ## 0.0.6
8
64
 
9
65
  **Removed from `./components`.** The `ClientProfileForm` family is gone: the `ClientProfileForm`
package/dist/catalog.json CHANGED
@@ -335,6 +335,30 @@
335
335
  "guideline": "Closes the alert dialog when clicked. Use it for the cancel control inside AlertDialogPopup. The confirm control is a separate Button that runs the consumer action.",
336
336
  "docPath": "src/particles/alert-dialog/alert-dialog.md"
337
337
  },
338
+ "Avatar": {
339
+ "name": "Avatar",
340
+ "importPath": "@vtex/faststore/components",
341
+ "editor": {
342
+ "label": "Avatar",
343
+ "category": "content"
344
+ },
345
+ "schema": {
346
+ "name": {
347
+ "type": "string",
348
+ "label": "Name"
349
+ },
350
+ "src": {
351
+ "type": "string",
352
+ "label": "Image URL"
353
+ },
354
+ "alt": {
355
+ "type": "string",
356
+ "label": "Alt Text"
357
+ }
358
+ },
359
+ "guideline": "A person or account marker: an image with an initials fallback derived from `name`. Decorative unless `alt` is set, so give it an `alt` whenever no adjacent text names the person. Style it through data-fs-avatar.",
360
+ "docPath": "src/particles/avatar/avatar.md"
361
+ },
338
362
  "Badge": {
339
363
  "name": "Badge",
340
364
  "importPath": "@vtex/faststore/components",
@@ -3675,6 +3699,83 @@
3675
3699
  "guideline": "The account menu's navigation landmark and its items, and nothing else — it surrounds the items alone so the section's own content stays outside the navigation region. Author the label: a landmark with no accessible name is one a screen-reader user cannot tell from any other. The current section carries aria-current, page for the section itself and true for a page inside it, with data-fs-account-menu-item-current beside it as a style target and never as the only signal. When the list scrolls, the current item is brought into view on mount and on every route change. Must be a descendant of AccountMenuRoot.",
3676
3700
  "docPath": "src/matter/account-menu/account-menu.md"
3677
3701
  },
3702
+ "AccountMenuIndexRedirect": {
3703
+ "name": "AccountMenuIndexRedirect",
3704
+ "importPath": "@vtex/faststore/components",
3705
+ "contentTypeId": "account-menu-index-redirect",
3706
+ "requiresContext": "account-menu",
3707
+ "editor": {
3708
+ "label": "Account Menu Index Redirect",
3709
+ "category": "navigation"
3710
+ },
3711
+ "schema": {
3712
+ "loadingLabel": {
3713
+ "type": "string",
3714
+ "label": "Loading Announcement"
3715
+ },
3716
+ "emptyMessage": {
3717
+ "type": "string",
3718
+ "default": "No account section is configured.",
3719
+ "label": "No Section Message"
3720
+ }
3721
+ },
3722
+ "guideline": "The whole of the account's root page: it replaces the current history entry with the first section of the merchant's list that stays in the account, skipping one marked external, one whose destination was refused or is not site-relative, and the root itself. It shows the access gate's loading look until the section opens. A list with no such section leaves the root terminal — no navigation, and the no-section message in its place — rather than falling back to the library's defaults. Place it alone on the /pvt/account page, inside AccountMenuRoot and under AccountAccessGate, which the my-account layout provides; never on a section's own page, which it would navigate away from.",
3723
+ "docPath": "src/matter/account-menu/account-menu.md"
3724
+ },
3725
+ "AccountMenuSignOut": {
3726
+ "name": "AccountMenuSignOut",
3727
+ "importPath": "@vtex/faststore/components",
3728
+ "contentTypeId": "account-menu-sign-out",
3729
+ "actions": {
3730
+ "session": [
3731
+ "logout"
3732
+ ]
3733
+ },
3734
+ "editor": {
3735
+ "label": "Account Menu Sign Out",
3736
+ "category": "navigation"
3737
+ },
3738
+ "schema": {
3739
+ "label": {
3740
+ "type": "string",
3741
+ "default": "Sign out",
3742
+ "label": "Label"
3743
+ },
3744
+ "errorMessage": {
3745
+ "type": "string",
3746
+ "default": "We couldn't sign you out. Please try again.",
3747
+ "label": "Sign-out Failed Message"
3748
+ }
3749
+ },
3750
+ "guideline": "The account sidebar's way out: it dispatches $actions.session.logout, tells AccountAccessGate the departure is deliberate so the gate stands down instead of sending the shopper to sign in, and then loads the storefront home as a new document, which is what keeps the account out of the client router's cache. A logout that reports an error keeps the shopper on the account page with the failure message rather than landing a still-signed-in shopper on the home page. Compose it inside AccountMenuRoot beside AccountMenuList, under the gate the my-account layout provides — the back-forward cache is the gate's to revalidate, not this control's.",
3751
+ "docPath": "src/matter/account-menu/account-menu.md"
3752
+ },
3753
+ "AccountMenuIdentity": {
3754
+ "name": "AccountMenuIdentity",
3755
+ "importPath": "@vtex/faststore/components",
3756
+ "fragment": "\n fragment AccountMenuIdentityData on Query {\n customerProfile {\n __typename\n id\n firstName\n lastName\n email\n }\n }\n",
3757
+ "fetchStrategy": "reactive",
3758
+ "requiresContext": "session",
3759
+ "skeleton": "AccountMenuIdentitySkeleton",
3760
+ "editor": {
3761
+ "label": "Account Menu Identity",
3762
+ "category": "identity"
3763
+ },
3764
+ "schema": {},
3765
+ "guideline": "The shopper's name and initials avatar, read reactively from the persistent profile. Compose it in the my-account layout, never on a page, so its fragment joins the layout's query, which runs in the browser where the shopper's cookie is; place it under AccountAccessGate, inside AccountMenuRoot beside AccountMenuList and never inside it, so it stays outside the navigation landmark. It reads the session, so a SessionRoot must be an ancestor. It renders a skeleton until the layout's query settles, and nothing for a session that is not loggedIn, for a read that returned no profile, or for a profile with neither a name nor an email. Style it through data-fs-account-menu-identity, and hide it below the md breakpoint with the store's swatch.",
3766
+ "docPath": "src/matter/account-menu-identity/account-menu-identity.md"
3767
+ },
3768
+ "AccountMenuIdentitySkeleton": {
3769
+ "name": "AccountMenuIdentitySkeleton",
3770
+ "importPath": "@vtex/faststore/components",
3771
+ "editor": {
3772
+ "label": "Account Menu Identity Skeleton",
3773
+ "category": "identity"
3774
+ },
3775
+ "schema": {},
3776
+ "guideline": "Loading placeholder rendered by AccountMenuIdentity while the profile is unresolved. Declares no context requirement — it renders before the matter has anything to show.",
3777
+ "docPath": "src/matter/account-menu-identity/account-menu-identity.md"
3778
+ },
3678
3779
  "BillingAddress": {
3679
3780
  "name": "BillingAddress",
3680
3781
  "importPath": "@vtex/faststore/components",
@@ -3885,6 +3986,7 @@
3885
3986
  "name": "CardEntry",
3886
3987
  "importPath": "@vtex/faststore/components",
3887
3988
  "requiresContext": "card-capture",
3989
+ "hardened": true,
3888
3990
  "editor": {
3889
3991
  "label": "Card Entry",
3890
3992
  "category": "commerce"
@@ -6044,6 +6146,7 @@
6044
6146
  "payment",
6045
6147
  "card-capture"
6046
6148
  ],
6149
+ "hardened": true,
6047
6150
  "editor": {
6048
6151
  "label": "Payment Section Controller",
6049
6152
  "category": "commerce"
@@ -6114,6 +6217,7 @@
6114
6217
  "payment",
6115
6218
  "card-capture"
6116
6219
  ],
6220
+ "hardened": true,
6117
6221
  "editor": {
6118
6222
  "label": "Payment Section",
6119
6223
  "category": "commerce"
@@ -6883,24 +6987,74 @@
6883
6987
  "ProductShelfRoot": {
6884
6988
  "name": "ProductShelfRoot",
6885
6989
  "importPath": "@vtex/faststore/components",
6886
- "fragment": "\n fragment ProductShelfData on Query {\n products(first: 12, orderBy: { field: RELEVANCE, direction: DESC }) {\n edges {\n node {\n id\n title\n slug\n routeSlug\n images(first: 1) {\n edges {\n node {\n url\n altText\n }\n }\n }\n variants(first: 1) {\n edges {\n node {\n availableForSale\n quantityAvailable\n price {\n amount\n currencyCode\n }\n compareAtPrice {\n amount\n currencyCode\n }\n sellers {\n isDefault\n offer {\n price {\n amount\n currencyCode\n }\n listPrice {\n amount\n currencyCode\n }\n spotPrice {\n amount\n currencyCode\n }\n tax {\n amount\n currencyCode\n }\n taxPercentage\n availableQuantity\n }\n }\n }\n }\n }\n }\n }\n totalCount\n }\n }\n",
6990
+ "fragment": "\n fragment ProductShelfData on Query {\n products(\n first: $first\n orderBy: $orderBy\n filter: {\n categoryIds: $categoryId\n brandIds: $brandId\n collectionId: $collectionId\n searchTerm: $searchTerm\n availableOnly: $availableOnly\n }\n ) {\n edges {\n node {\n id\n title\n slug\n routeSlug\n images(first: 1) {\n edges {\n node {\n url\n altText\n }\n }\n }\n variants(first: 1) {\n edges {\n node {\n availableForSale\n quantityAvailable\n price {\n amount\n currencyCode\n }\n compareAtPrice {\n amount\n currencyCode\n }\n sellers {\n isDefault\n offer {\n price {\n amount\n currencyCode\n }\n listPrice {\n amount\n currencyCode\n }\n spotPrice {\n amount\n currencyCode\n }\n tax {\n amount\n currencyCode\n }\n taxPercentage\n availableQuantity\n }\n }\n }\n }\n }\n }\n }\n totalCount\n }\n }\n",
6887
6991
  "fetchStrategy": "lazy",
6888
6992
  "skeleton": "ProductShelfSkeleton",
6993
+ "contentTypeId": "product-shelf",
6994
+ "variables": {
6995
+ "orderBy": {
6996
+ "from": "sort",
6997
+ "values": {
6998
+ "relevance": {
6999
+ "field": "RELEVANCE",
7000
+ "direction": "DESC"
7001
+ },
7002
+ "price_asc": {
7003
+ "field": "PRICE",
7004
+ "direction": "ASC"
7005
+ },
7006
+ "price_desc": {
7007
+ "field": "PRICE",
7008
+ "direction": "DESC"
7009
+ },
7010
+ "name_asc": {
7011
+ "field": "TITLE",
7012
+ "direction": "ASC"
7013
+ },
7014
+ "name_desc": {
7015
+ "field": "TITLE",
7016
+ "direction": "DESC"
7017
+ },
7018
+ "release": {
7019
+ "field": "RELEASE_DATE",
7020
+ "direction": "DESC"
7021
+ },
7022
+ "orders": {
7023
+ "field": "BEST_SELLING",
7024
+ "direction": "DESC"
7025
+ },
7026
+ "discount": {
7027
+ "field": "RELEVANCE",
7028
+ "direction": "DESC"
7029
+ }
7030
+ }
7031
+ }
7032
+ },
6889
7033
  "editor": {
6890
7034
  "label": "Product Shelf Root",
6891
7035
  "category": "commerce"
6892
7036
  },
6893
7037
  "providesContext": "product-shelf",
6894
7038
  "schema": {
6895
- "first": {
7039
+ "itemsPerPage": {
6896
7040
  "type": "number",
6897
7041
  "default": 5,
6898
- "label": "Number of Products"
7042
+ "label": "Items Per Page"
6899
7043
  },
6900
- "itemsPerPage": {
7044
+ "usePriceWithTaxes": {
7045
+ "type": "boolean",
7046
+ "default": false,
7047
+ "label": "Use Price With Taxes"
7048
+ },
7049
+ "taxesLabel": {
7050
+ "type": "string",
7051
+ "default": "Tax included",
7052
+ "label": "Taxes Label"
7053
+ },
7054
+ "first": {
6901
7055
  "type": "number",
6902
7056
  "default": 5,
6903
- "label": "Items Per Page"
7057
+ "label": "Number of Products"
6904
7058
  },
6905
7059
  "sort": {
6906
7060
  "type": [
@@ -6932,27 +7086,13 @@
6932
7086
  "type": "string",
6933
7087
  "label": "Collection ID"
6934
7088
  },
6935
- "specifications": {
6936
- "type": "array",
6937
- "label": "Specification Filters"
6938
- },
6939
7089
  "availableOnly": {
6940
7090
  "type": "boolean",
6941
7091
  "default": false,
6942
7092
  "label": "Available Only"
6943
- },
6944
- "usePriceWithTaxes": {
6945
- "type": "boolean",
6946
- "default": false,
6947
- "label": "Use Price With Taxes"
6948
- },
6949
- "taxesLabel": {
6950
- "type": "string",
6951
- "default": "Tax included",
6952
- "label": "Taxes Label"
6953
7093
  }
6954
7094
  },
6955
- "guideline": "Data-owning root of a facet-sourced product shelf. Owns a products(filter:) fragment and receives $data lazily. Compose as: ProductShelfRoot > (ProductShelfHeading + CarouselRoot > (ProductShelfItems + CarouselPrevious + CarouselNext + CarouselBullets)). Compose ProductShelfHeading with the title as its children to render a heading; set the source with categoryId / brandId / collectionId / searchTerm / specifications and tune first, sort, availableOnly. Renders a skeleton while loading and nothing when the result is empty. Bind itemsPerPage to the CarouselRoot so paging matches the shelf config. See product-shelf.md.",
7095
+ "guideline": "Data-owning root of a facet-sourced product shelf. Owns a products(first:, orderBy:, filter:) fragment whose variables bind to this element: the merchant fills them in the CMS (content model product-shelf) and the props of the same name are the defaults. Receives $data lazily. Compose as: ProductShelfRoot > (ProductShelfHeading + CarouselRoot > (ProductShelfItems + CarouselPrevious + CarouselNext + CarouselBullets)). Compose ProductShelfHeading with the title as its children to render a heading; set the source with categoryId / brandId / collectionId / searchTerm and tune first, sort, availableOnly. Renders a skeleton while loading and nothing when the result is empty. Bind itemsPerPage to the CarouselRoot so paging matches the shelf config. See product-shelf.md.",
6956
7096
  "docPath": "src/matter/product-shelf/product-shelf.md"
6957
7097
  },
6958
7098
  "ProductShelfItems": {
@@ -7250,6 +7390,7 @@
7250
7390
  "sendPayments"
7251
7391
  ]
7252
7392
  },
7393
+ "hardened": true,
7253
7394
  "editor": {
7254
7395
  "label": "Saved Card CVV Field",
7255
7396
  "category": "commerce"
@@ -0,0 +1,10 @@
1
+ //#region ../../node_modules/.pnpm/@apollo+server@5.5.0_graphql@16.13.1/node_modules/@apollo/server/dist/esm/utils/UnreachableCaseError.js
2
+ var UnreachableCaseError = class extends Error {
3
+ constructor(val) {
4
+ super(`Unreachable case: ${val}`);
5
+ }
6
+ };
7
+ //#endregion
8
+ export { UnreachableCaseError as t };
9
+
10
+ //# sourceMappingURL=UnreachableCaseError-Crd168Vu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnreachableCaseError-Crd168Vu.js","names":[],"sources":["../../../../node_modules/.pnpm/@apollo+server@5.5.0_graphql@16.13.1/node_modules/@apollo/server/dist/esm/utils/UnreachableCaseError.js"],"sourcesContent":["export class UnreachableCaseError extends Error {\n constructor(val) {\n super(`Unreachable case: ${val}`);\n }\n}\n//# sourceMappingURL=UnreachableCaseError.js.map"],"x_google_ignoreList":[0],"mappings":";AAAA,IAAa,uBAAb,cAA0C,MAAM;CAC5C,YAAY,KAAK;EACb,MAAM,qBAAqB,KAAK;CACpC;AACJ"}
@@ -0,0 +1,158 @@
1
+ import { t as require_graphql } from "./graphql-DG9thCDG.js";
2
+ import { t as newCachePolicy } from "./cachePolicy-m2vASMRW.js";
3
+ import { t as internalPlugin } from "./internalPlugin-DnuwN4_4.js";
4
+ import { t as L } from "./index.min-BsIHDfFK.js";
5
+ //#region ../../node_modules/.pnpm/@apollo+server@5.5.0_graphql@16.13.1/node_modules/@apollo/server/dist/esm/plugin/cacheControl/index.js
6
+ var import_graphql = require_graphql();
7
+ function ApolloServerPluginCacheControl(options = Object.create(null)) {
8
+ let typeAnnotationCache;
9
+ let fieldAnnotationCache;
10
+ return internalPlugin({
11
+ __internal_plugin_id__: "CacheControl",
12
+ __is_disabled_plugin__: false,
13
+ async serverWillStart({ schema }) {
14
+ typeAnnotationCache = new L({ max: Object.values(schema.getTypeMap()).filter(import_graphql.isCompositeType).length });
15
+ fieldAnnotationCache = new L({ max: Object.values(schema.getTypeMap()).filter(import_graphql.isObjectType).flatMap((t) => Object.values(t.getFields())).length + Object.values(schema.getTypeMap()).filter(import_graphql.isInterfaceType).flatMap((t) => Object.values(t.getFields())).length });
16
+ },
17
+ async requestDidStart(requestContext) {
18
+ function memoizedCacheAnnotationFromType(t) {
19
+ const existing = typeAnnotationCache.get(t);
20
+ if (existing) return existing;
21
+ const annotation = cacheAnnotationFromType(t);
22
+ typeAnnotationCache.set(t, annotation);
23
+ return annotation;
24
+ }
25
+ function memoizedCacheAnnotationFromField(field) {
26
+ const existing = fieldAnnotationCache.get(field);
27
+ if (existing) return existing;
28
+ const annotation = cacheAnnotationFromField(field);
29
+ fieldAnnotationCache.set(field, annotation);
30
+ return annotation;
31
+ }
32
+ const defaultMaxAge = options.defaultMaxAge ?? 0;
33
+ const calculateHttpHeaders = options.calculateHttpHeaders ?? true;
34
+ const { __testing__cacheHints } = options;
35
+ return {
36
+ async executionDidStart() {
37
+ if (isRestricted(requestContext.overallCachePolicy)) {
38
+ const fakeFieldPolicy = newCachePolicy();
39
+ return { willResolveField({ info }) {
40
+ info.cacheControl = {
41
+ setCacheHint: (dynamicHint) => {
42
+ fakeFieldPolicy.replace(dynamicHint);
43
+ },
44
+ cacheHint: fakeFieldPolicy,
45
+ cacheHintFromType: memoizedCacheAnnotationFromType
46
+ };
47
+ } };
48
+ }
49
+ return { willResolveField({ info }) {
50
+ const fieldPolicy = newCachePolicy();
51
+ let inheritMaxAge = false;
52
+ const targetType = (0, import_graphql.getNamedType)(info.returnType);
53
+ if ((0, import_graphql.isCompositeType)(targetType)) {
54
+ const typeAnnotation = memoizedCacheAnnotationFromType(targetType);
55
+ fieldPolicy.replace(typeAnnotation);
56
+ inheritMaxAge = !!typeAnnotation.inheritMaxAge;
57
+ }
58
+ const fieldAnnotation = memoizedCacheAnnotationFromField(info.parentType.getFields()[info.fieldName]);
59
+ if (fieldAnnotation.inheritMaxAge && fieldPolicy.maxAge === void 0) {
60
+ inheritMaxAge = true;
61
+ if (fieldAnnotation.scope) fieldPolicy.replace({ scope: fieldAnnotation.scope });
62
+ } else fieldPolicy.replace(fieldAnnotation);
63
+ info.cacheControl = {
64
+ setCacheHint: (dynamicHint) => {
65
+ fieldPolicy.replace(dynamicHint);
66
+ },
67
+ cacheHint: fieldPolicy,
68
+ cacheHintFromType: memoizedCacheAnnotationFromType
69
+ };
70
+ return () => {
71
+ if (fieldPolicy.maxAge === void 0 && ((0, import_graphql.isCompositeType)(targetType) && !inheritMaxAge || !info.path.prev)) fieldPolicy.restrict({ maxAge: defaultMaxAge });
72
+ if (__testing__cacheHints && isRestricted(fieldPolicy)) {
73
+ const path = (0, import_graphql.responsePathAsArray)(info.path).join(".");
74
+ if (__testing__cacheHints.has(path)) throw Error("shouldn't happen: addHint should only be called once per path");
75
+ __testing__cacheHints.set(path, {
76
+ maxAge: fieldPolicy.maxAge,
77
+ scope: fieldPolicy.scope
78
+ });
79
+ }
80
+ requestContext.overallCachePolicy.restrict(fieldPolicy);
81
+ };
82
+ } };
83
+ },
84
+ async willSendResponse(requestContext) {
85
+ if (!calculateHttpHeaders) return;
86
+ const { response, overallCachePolicy } = requestContext;
87
+ const existingCacheControlHeader = parseExistingCacheControlHeader(response.http.headers.get("cache-control"));
88
+ if (existingCacheControlHeader.kind === "unparsable") return;
89
+ const cachePolicy = newCachePolicy();
90
+ cachePolicy.replace(overallCachePolicy);
91
+ if (existingCacheControlHeader.kind === "parsable-and-cacheable") cachePolicy.restrict(existingCacheControlHeader.hint);
92
+ const policyIfCacheable = cachePolicy.policyIfCacheable();
93
+ if (policyIfCacheable && existingCacheControlHeader.kind !== "uncacheable" && response.body.kind === "single" && !response.body.singleResult.errors) response.http.headers.set("cache-control", `max-age=${policyIfCacheable.maxAge}, ${policyIfCacheable.scope.toLowerCase()}`);
94
+ else if (calculateHttpHeaders !== "if-cacheable") response.http.headers.set("cache-control", CACHE_CONTROL_HEADER_UNCACHEABLE);
95
+ }
96
+ };
97
+ }
98
+ });
99
+ }
100
+ const CACHE_CONTROL_HEADER_CACHEABLE_REGEXP = /^max-age=(\d+), (public|private)$/;
101
+ const CACHE_CONTROL_HEADER_UNCACHEABLE = "no-store";
102
+ function parseExistingCacheControlHeader(header) {
103
+ if (!header) return { kind: "no-header" };
104
+ if (header === CACHE_CONTROL_HEADER_UNCACHEABLE) return { kind: "uncacheable" };
105
+ const match = CACHE_CONTROL_HEADER_CACHEABLE_REGEXP.exec(header);
106
+ if (!match) return { kind: "unparsable" };
107
+ return {
108
+ kind: "parsable-and-cacheable",
109
+ hint: {
110
+ maxAge: +match[1],
111
+ scope: match[2] === "public" ? "PUBLIC" : "PRIVATE"
112
+ }
113
+ };
114
+ }
115
+ function cacheAnnotationFromDirectives(directives) {
116
+ if (!directives) return void 0;
117
+ const cacheControlDirective = directives.find((directive) => directive.name.value === "cacheControl");
118
+ if (!cacheControlDirective) return void 0;
119
+ if (!cacheControlDirective.arguments) return void 0;
120
+ const maxAgeArgument = cacheControlDirective.arguments.find((argument) => argument.name.value === "maxAge");
121
+ const scopeArgument = cacheControlDirective.arguments.find((argument) => argument.name.value === "scope");
122
+ const inheritMaxAgeArgument = cacheControlDirective.arguments.find((argument) => argument.name.value === "inheritMaxAge");
123
+ const scopeString = scopeArgument?.value?.kind === "EnumValue" ? scopeArgument.value.value : void 0;
124
+ const scope = scopeString === "PUBLIC" || scopeString === "PRIVATE" ? scopeString : void 0;
125
+ if (inheritMaxAgeArgument?.value?.kind === "BooleanValue" && inheritMaxAgeArgument.value.value) return {
126
+ inheritMaxAge: true,
127
+ scope
128
+ };
129
+ return {
130
+ maxAge: maxAgeArgument?.value?.kind === "IntValue" ? parseInt(maxAgeArgument.value.value) : void 0,
131
+ scope
132
+ };
133
+ }
134
+ function cacheAnnotationFromType(t) {
135
+ if (t.astNode) {
136
+ const hint = cacheAnnotationFromDirectives(t.astNode.directives);
137
+ if (hint) return hint;
138
+ }
139
+ if (t.extensionASTNodes) for (const node of t.extensionASTNodes) {
140
+ const hint = cacheAnnotationFromDirectives(node.directives);
141
+ if (hint) return hint;
142
+ }
143
+ return {};
144
+ }
145
+ function cacheAnnotationFromField(field) {
146
+ if (field.astNode) {
147
+ const hint = cacheAnnotationFromDirectives(field.astNode.directives);
148
+ if (hint) return hint;
149
+ }
150
+ return {};
151
+ }
152
+ function isRestricted(hint) {
153
+ return hint.maxAge !== void 0 || hint.scope !== void 0;
154
+ }
155
+ //#endregion
156
+ export { ApolloServerPluginCacheControl };
157
+
158
+ //# sourceMappingURL=cacheControl-CEojH_TM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheControl-CEojH_TM.js","names":["LRUCache","isCompositeType","isObjectType","isInterfaceType","getNamedType","responsePathAsArray"],"sources":["../../../../node_modules/.pnpm/@apollo+server@5.5.0_graphql@16.13.1/node_modules/@apollo/server/dist/esm/plugin/cacheControl/index.js"],"sourcesContent":["import { getNamedType, isCompositeType, isInterfaceType, isObjectType, responsePathAsArray, } from 'graphql';\nimport { newCachePolicy } from '../../cachePolicy.js';\nimport { internalPlugin } from '../../internalPlugin.js';\nimport { LRUCache } from 'lru-cache';\nexport function ApolloServerPluginCacheControl(options = Object.create(null)) {\n let typeAnnotationCache;\n let fieldAnnotationCache;\n return internalPlugin({\n __internal_plugin_id__: 'CacheControl',\n __is_disabled_plugin__: false,\n async serverWillStart({ schema }) {\n typeAnnotationCache = new LRUCache({\n max: Object.values(schema.getTypeMap()).filter(isCompositeType)\n .length,\n });\n fieldAnnotationCache = new LRUCache({\n max: Object.values(schema.getTypeMap())\n .filter(isObjectType)\n .flatMap((t) => Object.values(t.getFields())).length +\n Object.values(schema.getTypeMap())\n .filter(isInterfaceType)\n .flatMap((t) => Object.values(t.getFields())).length,\n });\n return undefined;\n },\n async requestDidStart(requestContext) {\n function memoizedCacheAnnotationFromType(t) {\n const existing = typeAnnotationCache.get(t);\n if (existing) {\n return existing;\n }\n const annotation = cacheAnnotationFromType(t);\n typeAnnotationCache.set(t, annotation);\n return annotation;\n }\n function memoizedCacheAnnotationFromField(field) {\n const existing = fieldAnnotationCache.get(field);\n if (existing) {\n return existing;\n }\n const annotation = cacheAnnotationFromField(field);\n fieldAnnotationCache.set(field, annotation);\n return annotation;\n }\n const defaultMaxAge = options.defaultMaxAge ?? 0;\n const calculateHttpHeaders = options.calculateHttpHeaders ?? true;\n const { __testing__cacheHints } = options;\n return {\n async executionDidStart() {\n if (isRestricted(requestContext.overallCachePolicy)) {\n const fakeFieldPolicy = newCachePolicy();\n return {\n willResolveField({ info }) {\n info.cacheControl = {\n setCacheHint: (dynamicHint) => {\n fakeFieldPolicy.replace(dynamicHint);\n },\n cacheHint: fakeFieldPolicy,\n cacheHintFromType: memoizedCacheAnnotationFromType,\n };\n },\n };\n }\n return {\n willResolveField({ info }) {\n const fieldPolicy = newCachePolicy();\n let inheritMaxAge = false;\n const targetType = getNamedType(info.returnType);\n if (isCompositeType(targetType)) {\n const typeAnnotation = memoizedCacheAnnotationFromType(targetType);\n fieldPolicy.replace(typeAnnotation);\n inheritMaxAge = !!typeAnnotation.inheritMaxAge;\n }\n const fieldAnnotation = memoizedCacheAnnotationFromField(info.parentType.getFields()[info.fieldName]);\n if (fieldAnnotation.inheritMaxAge &&\n fieldPolicy.maxAge === undefined) {\n inheritMaxAge = true;\n if (fieldAnnotation.scope) {\n fieldPolicy.replace({ scope: fieldAnnotation.scope });\n }\n }\n else {\n fieldPolicy.replace(fieldAnnotation);\n }\n info.cacheControl = {\n setCacheHint: (dynamicHint) => {\n fieldPolicy.replace(dynamicHint);\n },\n cacheHint: fieldPolicy,\n cacheHintFromType: memoizedCacheAnnotationFromType,\n };\n return () => {\n if (fieldPolicy.maxAge === undefined &&\n ((isCompositeType(targetType) && !inheritMaxAge) ||\n !info.path.prev)) {\n fieldPolicy.restrict({ maxAge: defaultMaxAge });\n }\n if (__testing__cacheHints && isRestricted(fieldPolicy)) {\n const path = responsePathAsArray(info.path).join('.');\n if (__testing__cacheHints.has(path)) {\n throw Error(\"shouldn't happen: addHint should only be called once per path\");\n }\n __testing__cacheHints.set(path, {\n maxAge: fieldPolicy.maxAge,\n scope: fieldPolicy.scope,\n });\n }\n requestContext.overallCachePolicy.restrict(fieldPolicy);\n };\n },\n };\n },\n async willSendResponse(requestContext) {\n if (!calculateHttpHeaders) {\n return;\n }\n const { response, overallCachePolicy } = requestContext;\n const existingCacheControlHeader = parseExistingCacheControlHeader(response.http.headers.get('cache-control'));\n if (existingCacheControlHeader.kind === 'unparsable') {\n return;\n }\n const cachePolicy = newCachePolicy();\n cachePolicy.replace(overallCachePolicy);\n if (existingCacheControlHeader.kind === 'parsable-and-cacheable') {\n cachePolicy.restrict(existingCacheControlHeader.hint);\n }\n const policyIfCacheable = cachePolicy.policyIfCacheable();\n if (policyIfCacheable &&\n existingCacheControlHeader.kind !== 'uncacheable' &&\n response.body.kind === 'single' &&\n !response.body.singleResult.errors) {\n response.http.headers.set('cache-control', `max-age=${policyIfCacheable.maxAge}, ${policyIfCacheable.scope.toLowerCase()}`);\n }\n else if (calculateHttpHeaders !== 'if-cacheable') {\n response.http.headers.set('cache-control', CACHE_CONTROL_HEADER_UNCACHEABLE);\n }\n },\n };\n },\n });\n}\nconst CACHE_CONTROL_HEADER_CACHEABLE_REGEXP = /^max-age=(\\d+), (public|private)$/;\nconst CACHE_CONTROL_HEADER_UNCACHEABLE = 'no-store';\nfunction parseExistingCacheControlHeader(header) {\n if (!header) {\n return { kind: 'no-header' };\n }\n if (header === CACHE_CONTROL_HEADER_UNCACHEABLE) {\n return { kind: 'uncacheable' };\n }\n const match = CACHE_CONTROL_HEADER_CACHEABLE_REGEXP.exec(header);\n if (!match) {\n return { kind: 'unparsable' };\n }\n return {\n kind: 'parsable-and-cacheable',\n hint: {\n maxAge: +match[1],\n scope: match[2] === 'public' ? 'PUBLIC' : 'PRIVATE',\n },\n };\n}\nfunction cacheAnnotationFromDirectives(directives) {\n if (!directives)\n return undefined;\n const cacheControlDirective = directives.find((directive) => directive.name.value === 'cacheControl');\n if (!cacheControlDirective)\n return undefined;\n if (!cacheControlDirective.arguments)\n return undefined;\n const maxAgeArgument = cacheControlDirective.arguments.find((argument) => argument.name.value === 'maxAge');\n const scopeArgument = cacheControlDirective.arguments.find((argument) => argument.name.value === 'scope');\n const inheritMaxAgeArgument = cacheControlDirective.arguments.find((argument) => argument.name.value === 'inheritMaxAge');\n const scopeString = scopeArgument?.value?.kind === 'EnumValue'\n ? scopeArgument.value.value\n : undefined;\n const scope = scopeString === 'PUBLIC' || scopeString === 'PRIVATE'\n ? scopeString\n : undefined;\n if (inheritMaxAgeArgument?.value?.kind === 'BooleanValue' &&\n inheritMaxAgeArgument.value.value) {\n return { inheritMaxAge: true, scope };\n }\n return {\n maxAge: maxAgeArgument?.value?.kind === 'IntValue'\n ? parseInt(maxAgeArgument.value.value)\n : undefined,\n scope,\n };\n}\nfunction cacheAnnotationFromType(t) {\n if (t.astNode) {\n const hint = cacheAnnotationFromDirectives(t.astNode.directives);\n if (hint) {\n return hint;\n }\n }\n if (t.extensionASTNodes) {\n for (const node of t.extensionASTNodes) {\n const hint = cacheAnnotationFromDirectives(node.directives);\n if (hint) {\n return hint;\n }\n }\n }\n return {};\n}\nfunction cacheAnnotationFromField(field) {\n if (field.astNode) {\n const hint = cacheAnnotationFromDirectives(field.astNode.directives);\n if (hint) {\n return hint;\n }\n }\n return {};\n}\nfunction isRestricted(hint) {\n return hint.maxAge !== undefined || hint.scope !== undefined;\n}\n//# sourceMappingURL=index.js.map"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ //#region ../../node_modules/.pnpm/@apollo+server@5.5.0_graphql@16.13.1/node_modules/@apollo/server/dist/esm/cachePolicy.js
2
+ function newCachePolicy() {
3
+ return {
4
+ maxAge: void 0,
5
+ scope: void 0,
6
+ restrict(hint) {
7
+ if (hint.maxAge !== void 0 && (this.maxAge === void 0 || hint.maxAge < this.maxAge)) this.maxAge = hint.maxAge;
8
+ if (hint.scope !== void 0 && this.scope !== "PRIVATE") this.scope = hint.scope;
9
+ },
10
+ replace(hint) {
11
+ if (hint.maxAge !== void 0) this.maxAge = hint.maxAge;
12
+ if (hint.scope !== void 0) this.scope = hint.scope;
13
+ },
14
+ policyIfCacheable() {
15
+ if (this.maxAge === void 0 || this.maxAge === 0) return null;
16
+ return {
17
+ maxAge: this.maxAge,
18
+ scope: this.scope ?? "PUBLIC"
19
+ };
20
+ }
21
+ };
22
+ }
23
+ //#endregion
24
+ export { newCachePolicy as t };
25
+
26
+ //# sourceMappingURL=cachePolicy-m2vASMRW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cachePolicy-m2vASMRW.js","names":[],"sources":["../../../../node_modules/.pnpm/@apollo+server@5.5.0_graphql@16.13.1/node_modules/@apollo/server/dist/esm/cachePolicy.js"],"sourcesContent":["export function newCachePolicy() {\n return {\n maxAge: undefined,\n scope: undefined,\n restrict(hint) {\n if (hint.maxAge !== undefined &&\n (this.maxAge === undefined || hint.maxAge < this.maxAge)) {\n this.maxAge = hint.maxAge;\n }\n if (hint.scope !== undefined && this.scope !== 'PRIVATE') {\n this.scope = hint.scope;\n }\n },\n replace(hint) {\n if (hint.maxAge !== undefined) {\n this.maxAge = hint.maxAge;\n }\n if (hint.scope !== undefined) {\n this.scope = hint.scope;\n }\n },\n policyIfCacheable() {\n if (this.maxAge === undefined || this.maxAge === 0) {\n return null;\n }\n return { maxAge: this.maxAge, scope: this.scope ?? 'PUBLIC' };\n },\n };\n}\n//# sourceMappingURL=cachePolicy.js.map"],"x_google_ignoreList":[0],"mappings":";AAAA,SAAgB,iBAAiB;CAC7B,OAAO;EACH,QAAQ,KAAA;EACR,OAAO,KAAA;EACP,SAAS,MAAM;GACX,IAAI,KAAK,WAAW,KAAA,MACf,KAAK,WAAW,KAAA,KAAa,KAAK,SAAS,KAAK,SACjD,KAAK,SAAS,KAAK;GAEvB,IAAI,KAAK,UAAU,KAAA,KAAa,KAAK,UAAU,WAC3C,KAAK,QAAQ,KAAK;EAE1B;EACA,QAAQ,MAAM;GACV,IAAI,KAAK,WAAW,KAAA,GAChB,KAAK,SAAS,KAAK;GAEvB,IAAI,KAAK,UAAU,KAAA,GACf,KAAK,QAAQ,KAAK;EAE1B;EACA,oBAAoB;GAChB,IAAI,KAAK,WAAW,KAAA,KAAa,KAAK,WAAW,GAC7C,OAAO;GAEX,OAAO;IAAE,QAAQ,KAAK;IAAQ,OAAO,KAAK,SAAS;GAAS;EAChE;CACJ;AACJ"}
@@ -0,0 +1,10 @@
1
+ import { t as require_dist } from "./dist-C1JhdHfo.js";
2
+ //#region ../../node_modules/.pnpm/@apollo+server@5.5.0_graphql@16.13.1/node_modules/@apollo/server/dist/esm/utils/computeCoreSchemaHash.js
3
+ var import_dist = require_dist();
4
+ function computeCoreSchemaHash(schema) {
5
+ return (0, import_dist.createHash)("sha256").update(schema).digest("hex");
6
+ }
7
+ //#endregion
8
+ export { computeCoreSchemaHash as t };
9
+
10
+ //# sourceMappingURL=computeCoreSchemaHash-DPJZj-qJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeCoreSchemaHash-DPJZj-qJ.js","names":["createHash"],"sources":["../../../../node_modules/.pnpm/@apollo+server@5.5.0_graphql@16.13.1/node_modules/@apollo/server/dist/esm/utils/computeCoreSchemaHash.js"],"sourcesContent":["import { createHash } from '@apollo/utils.createhash';\nexport function computeCoreSchemaHash(schema) {\n return createHash('sha256').update(schema).digest('hex');\n}\n//# sourceMappingURL=computeCoreSchemaHash.js.map"],"x_google_ignoreList":[0],"mappings":";;;AACA,SAAgB,sBAAsB,QAAQ;CAC1C,QAAA,GAAOA,YAAAA,WAAAA,CAAW,QAAQ,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,OAAO,KAAK;AAC3D"}