@replohq/sdk 1.22.0 → 2.0.0

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 (117) hide show
  1. package/_vendor/replo-utils/lib/json.mjs +4 -5
  2. package/_vendor/replo-utils/lib/misc.mjs +4 -3
  3. package/_vendor/replo-utils/lib/object.d.ts +16 -1
  4. package/_vendor/replo-utils/lib/object.mjs +3 -4
  5. package/_vendor/schemas/contentEntry.mjs +3 -3
  6. package/_vendor/schemas/contentManifest.mjs +6 -6
  7. package/_vendor/schemas/errors.d.ts +3 -43
  8. package/_vendor/schemas/{money.d.ts → moneyFormat.d.ts} +1 -8
  9. package/_vendor/schemas/{money.mjs → moneyFormat.mjs} +5 -16
  10. package/_vendor/schemas/reploError.d.ts +43 -0
  11. package/_vendor/schemas/routing/locale.mjs +6 -4
  12. package/_vendor/schemas/routing/rules.mjs +6 -4
  13. package/analytics/analytics-sink.d.ts +126 -14
  14. package/analytics/combine-sinks.js +36 -13
  15. package/analytics/hooks/use-product-viewed-analytics.d.ts +1 -17
  16. package/analytics/hooks/use-product-viewed-analytics.js +5 -14
  17. package/analytics/legacy-checkout.d.ts +2 -0
  18. package/analytics/legacy-checkout.js +26 -0
  19. package/analytics/sinks/converge-event-mapper.d.ts +10 -11
  20. package/analytics/sinks/converge-event-mapper.js +50 -133
  21. package/analytics/sinks/converge-sink.d.ts +8 -7
  22. package/analytics/sinks/converge-sink.js +21 -3
  23. package/analytics/sinks/elevar-sink.d.ts +9 -7
  24. package/analytics/sinks/elevar-sink.js +37 -128
  25. package/analytics/sinks/ga4-sink.d.ts +9 -8
  26. package/analytics/sinks/ga4-sink.js +9 -8
  27. package/analytics/sinks/intelligems-sink.d.ts +9 -8
  28. package/analytics/sinks/intelligems-sink.js +3 -1
  29. package/analytics/sinks/meta-sink.d.ts +5 -4
  30. package/analytics/sinks/meta-sink.js +7 -3
  31. package/analytics/sinks/northbeam-sink.d.ts +1 -0
  32. package/analytics/sinks/northbeam-sink.js +2 -0
  33. package/analytics/sinks/pinterest-sink.d.ts +7 -6
  34. package/analytics/sinks/pinterest-sink.js +14 -20
  35. package/analytics/sinks/reddit-sink.d.ts +8 -7
  36. package/analytics/sinks/reddit-sink.js +13 -20
  37. package/analytics/sinks/replo-sink.d.ts +21 -9
  38. package/analytics/sinks/replo-sink.js +37 -39
  39. package/analytics/sinks/snapchat-sink.d.ts +6 -5
  40. package/analytics/sinks/snapchat-sink.js +8 -8
  41. package/analytics/sinks/tiktok-sink.d.ts +8 -7
  42. package/analytics/sinks/tiktok-sink.js +10 -15
  43. package/analytics/sinks/window-sink.d.ts +11 -9
  44. package/analytics/sinks/window-sink.js +5 -1
  45. package/analytics/sinks/x-sink.d.ts +5 -4
  46. package/analytics/sinks/x-sink.js +19 -50
  47. package/analytics/test-fixtures.d.ts +5 -0
  48. package/analytics/test-fixtures.js +18 -0
  49. package/analytics/utils/analytics-products.d.ts +0 -30
  50. package/analytics/utils/analytics-products.js +1 -51
  51. package/analytics/utils/collection-analytics.d.ts +2 -15
  52. package/analytics/utils/collection-analytics.js +14 -18
  53. package/analytics/utils/product-analytics.d.ts +23 -0
  54. package/analytics/utils/product-analytics.js +21 -0
  55. package/cart/hooks/use-add-to-cart.js +1 -1
  56. package/cart/utils/cart-analytics.d.ts +3 -23
  57. package/cart/utils/cart-analytics.js +1 -1
  58. package/cart/utils/cart-utils.js +1 -1
  59. package/cart/utils/variant-to-cart-line.js +1 -1
  60. package/chunk-CKRRL66R.mjs +28 -0
  61. package/{chunk-VVB7BEDE.mjs → chunk-O4QBR4QC.mjs} +9 -4
  62. package/{chunk-EUIVDITZ.mjs → chunk-OPKMOW43.mjs} +1 -1
  63. package/{chunk-C37TXOGI.mjs → chunk-PSYP2DYM.mjs} +1 -1
  64. package/{chunk-ACQS4AG5.mjs → chunk-TTEBDCWT.mjs} +272 -109
  65. package/{chunk-HFKL4ZR5.mjs → chunk-XGXJOHUY.mjs} +2 -1
  66. package/{chunk-AQG3256R.mjs → chunk-XSMYSAKY.mjs} +0 -26
  67. package/{chunk-SSBIMQES.mjs → chunk-XWWFRIXV.mjs} +36 -99
  68. package/chunk-ZPDXVFCR.mjs +66 -0
  69. package/hooks/use-formatted-price.js +1 -1
  70. package/lib/buildMetadata.js +3 -3
  71. package/loaders/collection-loader.js +8 -6
  72. package/loaders/collection-products-loader.js +8 -6
  73. package/loaders/contentful-entries-loader.js +5 -3
  74. package/loaders/contentful-entry-loader.js +5 -3
  75. package/loaders/integration-loader-schemas.d.ts +260 -0
  76. package/loaders/integration-loader-schemas.js +55 -0
  77. package/loaders/invoke-loader.d.ts +5 -0
  78. package/loaders/invoke-loader.js +1 -1
  79. package/loaders/judgeme-review-aggregate-loader.d.ts +1 -1
  80. package/loaders/judgeme-review-aggregate-loader.js +10 -6
  81. package/loaders/judgeme-reviews-loader.d.ts +1 -1
  82. package/loaders/judgeme-reviews-loader.js +5 -3
  83. package/loaders/kaching-bundles-loader.js +5 -3
  84. package/loaders/levanta-product-loader.js +8 -6
  85. package/loaders/loox-review-aggregate-loader.d.ts +1 -1
  86. package/loaders/loox-review-aggregate-loader.js +10 -6
  87. package/loaders/loox-reviews-loader.d.ts +1 -1
  88. package/loaders/loox-reviews-loader.js +8 -6
  89. package/loaders/metaobject-loader.js +5 -3
  90. package/loaders/metaobjects-loader.js +5 -3
  91. package/loaders/okendo-review-aggregate-loader.d.ts +2 -7
  92. package/loaders/okendo-review-aggregate-loader.js +8 -12
  93. package/loaders/okendo-reviews-loader.d.ts +2 -42
  94. package/loaders/okendo-reviews-loader.js +5 -8
  95. package/loaders/product-loader.js +5 -3
  96. package/loaders/rebuy-recommendations-loader.d.ts +2 -167
  97. package/loaders/rebuy-recommendations-loader.js +8 -10
  98. package/loaders/reviews-io-review-aggregate-loader.d.ts +1 -1
  99. package/loaders/reviews-io-review-aggregate-loader.js +5 -3
  100. package/loaders/reviews-io-reviews-loader.d.ts +1 -1
  101. package/loaders/reviews-io-reviews-loader.js +7 -3
  102. package/loaders/shopify-integration-details-loader.js +10 -6
  103. package/loaders/smile-earning-rules-loader.d.ts +2 -8
  104. package/loaders/smile-earning-rules-loader.js +8 -16
  105. package/loaders/smile-rewards-loader.d.ts +2 -8
  106. package/loaders/smile-rewards-loader.js +8 -16
  107. package/loaders/smile-vip-tiers-loader.d.ts +2 -7
  108. package/loaders/smile-vip-tiers-loader.js +8 -15
  109. package/loaders/statsig-experiment-loader.js +5 -3
  110. package/loaders/yotpo-review-aggregate-loader.d.ts +1 -1
  111. package/loaders/yotpo-review-aggregate-loader.js +10 -6
  112. package/loaders/yotpo-reviews-loader.d.ts +1 -1
  113. package/loaders/yotpo-reviews-loader.js +5 -3
  114. package/money.d.ts +1 -1
  115. package/money.js +1 -1
  116. package/package.json +8 -4
  117. package/chunk-CQYCPDPI.mjs +0 -166
@@ -1,9 +1,13 @@
1
- import { Symbol_default, MapCache_default, getAllKeysIn_default, identity_default, isArray_default, isObject_default, isIndex_default, assignValue_default, isObjectLike_default, keys_default, Stack_default, baseGetTag_default, isLength_default, isArguments_default, getTag_default, isBuffer_default, isTypedArray_default, eq_default, Uint8Array_default, getAllKeys_default } from './chunk-SSBIMQES.mjs';
2
-
3
- function arrayMap(array, iteratee) {
4
- var index = -1, length = array == null ? 0 : array.length, result = Array(length);
1
+ import { CONTENT_SEO_VALUE_KEYS, CONTENT_RELATED_VALUE_STORAGE_KEY, CONTENT_PRIVATE_VALUE_KEYS, LEGACY_CONTENT_ENTRY_STATUSES, isContentPrivateValueKey, getContentFieldValueSchema } from './chunk-RQ76VK3L.mjs';
2
+ import { MapCache_default, getAllKeysIn_default, identity_default, isIndex_default, assignValue_default, keys_default, Stack_default, isLength_default, isArguments_default, getTag_default, isBuffer_default, isTypedArray_default, eq_default, Uint8Array_default, getAllKeys_default } from './chunk-XWWFRIXV.mjs';
3
+ import { Symbol_default, isArray_default, isObject_default, isObjectLike_default, baseGetTag_default } from './chunk-ZPDXVFCR.mjs';
4
+ import { stringify, parseDocument } from 'yaml';
5
+ import * as z2 from 'zod';
6
+
7
+ function arrayMap(array2, iteratee) {
8
+ var index = -1, length = array2 == null ? 0 : array2.length, result = Array(length);
5
9
  while (++index < length) {
6
- result[index] = iteratee(array[index], index, array);
10
+ result[index] = iteratee(array2[index], index, array2);
7
11
  }
8
12
  return result;
9
13
  }
@@ -32,10 +36,10 @@ SetCache.prototype.add = SetCache.prototype.push = setCacheAdd_default;
32
36
  SetCache.prototype.has = setCacheHas_default;
33
37
  var SetCache_default = SetCache;
34
38
 
35
- function arraySome(array, predicate) {
36
- var index = -1, length = array == null ? 0 : array.length;
39
+ function arraySome(array2, predicate) {
40
+ var index = -1, length = array2 == null ? 0 : array2.length;
37
41
  while (++index < length) {
38
- if (predicate(array[index], index, array)) {
42
+ if (predicate(array2[index], index, array2)) {
39
43
  return true;
40
44
  }
41
45
  }
@@ -50,23 +54,23 @@ var cacheHas_default = cacheHas;
50
54
 
51
55
  var COMPARE_PARTIAL_FLAG = 1;
52
56
  var COMPARE_UNORDERED_FLAG = 2;
53
- function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
54
- var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length;
57
+ function equalArrays(array2, other, bitmask, customizer, equalFunc, stack) {
58
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array2.length, othLength = other.length;
55
59
  if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
56
60
  return false;
57
61
  }
58
- var arrStacked = stack.get(array);
62
+ var arrStacked = stack.get(array2);
59
63
  var othStacked = stack.get(other);
60
64
  if (arrStacked && othStacked) {
61
- return arrStacked == other && othStacked == array;
65
+ return arrStacked == other && othStacked == array2;
62
66
  }
63
67
  var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache_default() : void 0;
64
- stack.set(array, other);
65
- stack.set(other, array);
68
+ stack.set(array2, other);
69
+ stack.set(other, array2);
66
70
  while (++index < arrLength) {
67
- var arrValue = array[index], othValue = other[index];
71
+ var arrValue = array2[index], othValue = other[index];
68
72
  if (customizer) {
69
- var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);
73
+ var compared = isPartial ? customizer(othValue, arrValue, index, other, array2, stack) : customizer(arrValue, othValue, index, array2, other, stack);
70
74
  }
71
75
  if (compared !== void 0) {
72
76
  if (compared) {
@@ -89,7 +93,7 @@ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
89
93
  break;
90
94
  }
91
95
  }
92
- stack["delete"](array);
96
+ stack["delete"](array2);
93
97
  stack["delete"](other);
94
98
  return result;
95
99
  }
@@ -128,48 +132,48 @@ var arrayBufferTag = "[object ArrayBuffer]";
128
132
  var dataViewTag = "[object DataView]";
129
133
  var symbolProto = Symbol_default ? Symbol_default.prototype : void 0;
130
134
  var symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
131
- function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
135
+ function equalByTag(object2, other, tag, bitmask, customizer, equalFunc, stack) {
132
136
  switch (tag) {
133
137
  case dataViewTag:
134
- if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
138
+ if (object2.byteLength != other.byteLength || object2.byteOffset != other.byteOffset) {
135
139
  return false;
136
140
  }
137
- object = object.buffer;
141
+ object2 = object2.buffer;
138
142
  other = other.buffer;
139
143
  case arrayBufferTag:
140
- if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array_default(object), new Uint8Array_default(other))) {
144
+ if (object2.byteLength != other.byteLength || !equalFunc(new Uint8Array_default(object2), new Uint8Array_default(other))) {
141
145
  return false;
142
146
  }
143
147
  return true;
144
148
  case boolTag:
145
149
  case dateTag:
146
150
  case numberTag:
147
- return eq_default(+object, +other);
151
+ return eq_default(+object2, +other);
148
152
  case errorTag:
149
- return object.name == other.name && object.message == other.message;
153
+ return object2.name == other.name && object2.message == other.message;
150
154
  case regexpTag:
151
155
  case stringTag:
152
- return object == other + "";
156
+ return object2 == other + "";
153
157
  case mapTag:
154
158
  var convert = mapToArray_default;
155
159
  case setTag:
156
160
  var isPartial = bitmask & COMPARE_PARTIAL_FLAG2;
157
161
  convert || (convert = setToArray_default);
158
- if (object.size != other.size && !isPartial) {
162
+ if (object2.size != other.size && !isPartial) {
159
163
  return false;
160
164
  }
161
- var stacked = stack.get(object);
165
+ var stacked = stack.get(object2);
162
166
  if (stacked) {
163
167
  return stacked == other;
164
168
  }
165
169
  bitmask |= COMPARE_UNORDERED_FLAG2;
166
- stack.set(object, other);
167
- var result = equalArrays_default(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
168
- stack["delete"](object);
170
+ stack.set(object2, other);
171
+ var result = equalArrays_default(convert(object2), convert(other), bitmask, customizer, equalFunc, stack);
172
+ stack["delete"](object2);
169
173
  return result;
170
174
  case symbolTag:
171
175
  if (symbolValueOf) {
172
- return symbolValueOf.call(object) == symbolValueOf.call(other);
176
+ return symbolValueOf.call(object2) == symbolValueOf.call(other);
173
177
  }
174
178
  }
175
179
  return false;
@@ -179,8 +183,8 @@ var equalByTag_default = equalByTag;
179
183
  var COMPARE_PARTIAL_FLAG3 = 1;
180
184
  var objectProto = Object.prototype;
181
185
  var hasOwnProperty = objectProto.hasOwnProperty;
182
- function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
183
- var isPartial = bitmask & COMPARE_PARTIAL_FLAG3, objProps = getAllKeys_default(object), objLength = objProps.length, othProps = getAllKeys_default(other), othLength = othProps.length;
186
+ function equalObjects(object2, other, bitmask, customizer, equalFunc, stack) {
187
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG3, objProps = getAllKeys_default(object2), objLength = objProps.length, othProps = getAllKeys_default(other), othLength = othProps.length;
184
188
  if (objLength != othLength && !isPartial) {
185
189
  return false;
186
190
  }
@@ -191,20 +195,20 @@ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
191
195
  return false;
192
196
  }
193
197
  }
194
- var objStacked = stack.get(object);
198
+ var objStacked = stack.get(object2);
195
199
  var othStacked = stack.get(other);
196
200
  if (objStacked && othStacked) {
197
- return objStacked == other && othStacked == object;
201
+ return objStacked == other && othStacked == object2;
198
202
  }
199
203
  var result = true;
200
- stack.set(object, other);
201
- stack.set(other, object);
204
+ stack.set(object2, other);
205
+ stack.set(other, object2);
202
206
  var skipCtor = isPartial;
203
207
  while (++index < objLength) {
204
208
  key = objProps[index];
205
- var objValue = object[key], othValue = other[key];
209
+ var objValue = object2[key], othValue = other[key];
206
210
  if (customizer) {
207
- var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);
211
+ var compared = isPartial ? customizer(othValue, objValue, key, other, object2, stack) : customizer(objValue, othValue, key, object2, other, stack);
208
212
  }
209
213
  if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
210
214
  result = false;
@@ -213,12 +217,12 @@ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
213
217
  skipCtor || (skipCtor = key == "constructor");
214
218
  }
215
219
  if (result && !skipCtor) {
216
- var objCtor = object.constructor, othCtor = other.constructor;
217
- if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
220
+ var objCtor = object2.constructor, othCtor = other.constructor;
221
+ if (objCtor != othCtor && ("constructor" in object2 && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
218
222
  result = false;
219
223
  }
220
224
  }
221
- stack["delete"](object);
225
+ stack["delete"](object2);
222
226
  stack["delete"](other);
223
227
  return result;
224
228
  }
@@ -230,12 +234,12 @@ var arrayTag = "[object Array]";
230
234
  var objectTag = "[object Object]";
231
235
  var objectProto2 = Object.prototype;
232
236
  var hasOwnProperty2 = objectProto2.hasOwnProperty;
233
- function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
234
- var objIsArr = isArray_default(object), othIsArr = isArray_default(other), objTag = objIsArr ? arrayTag : getTag_default(object), othTag = othIsArr ? arrayTag : getTag_default(other);
237
+ function baseIsEqualDeep(object2, other, bitmask, customizer, equalFunc, stack) {
238
+ var objIsArr = isArray_default(object2), othIsArr = isArray_default(other), objTag = objIsArr ? arrayTag : getTag_default(object2), othTag = othIsArr ? arrayTag : getTag_default(other);
235
239
  objTag = objTag == argsTag ? objectTag : objTag;
236
240
  othTag = othTag == argsTag ? objectTag : othTag;
237
241
  var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag;
238
- if (isSameTag && isBuffer_default(object)) {
242
+ if (isSameTag && isBuffer_default(object2)) {
239
243
  if (!isBuffer_default(other)) {
240
244
  return false;
241
245
  }
@@ -244,12 +248,12 @@ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
244
248
  }
245
249
  if (isSameTag && !objIsObj) {
246
250
  stack || (stack = new Stack_default());
247
- return objIsArr || isTypedArray_default(object) ? equalArrays_default(object, other, bitmask, customizer, equalFunc, stack) : equalByTag_default(object, other, objTag, bitmask, customizer, equalFunc, stack);
251
+ return objIsArr || isTypedArray_default(object2) ? equalArrays_default(object2, other, bitmask, customizer, equalFunc, stack) : equalByTag_default(object2, other, objTag, bitmask, customizer, equalFunc, stack);
248
252
  }
249
253
  if (!(bitmask & COMPARE_PARTIAL_FLAG4)) {
250
- var objIsWrapped = objIsObj && hasOwnProperty2.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty2.call(other, "__wrapped__");
254
+ var objIsWrapped = objIsObj && hasOwnProperty2.call(object2, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty2.call(other, "__wrapped__");
251
255
  if (objIsWrapped || othIsWrapped) {
252
- var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
256
+ var objUnwrapped = objIsWrapped ? object2.value() : object2, othUnwrapped = othIsWrapped ? other.value() : other;
253
257
  stack || (stack = new Stack_default());
254
258
  return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
255
259
  }
@@ -258,7 +262,7 @@ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
258
262
  return false;
259
263
  }
260
264
  stack || (stack = new Stack_default());
261
- return equalObjects_default(object, other, bitmask, customizer, equalFunc, stack);
265
+ return equalObjects_default(object2, other, bitmask, customizer, equalFunc, stack);
262
266
  }
263
267
  var baseIsEqualDeep_default = baseIsEqualDeep;
264
268
 
@@ -275,29 +279,29 @@ var baseIsEqual_default = baseIsEqual;
275
279
 
276
280
  var COMPARE_PARTIAL_FLAG5 = 1;
277
281
  var COMPARE_UNORDERED_FLAG3 = 2;
278
- function baseIsMatch(object, source, matchData, customizer) {
282
+ function baseIsMatch(object2, source, matchData, customizer) {
279
283
  var index = matchData.length, length = index, noCustomizer = !customizer;
280
- if (object == null) {
284
+ if (object2 == null) {
281
285
  return !length;
282
286
  }
283
- object = Object(object);
287
+ object2 = Object(object2);
284
288
  while (index--) {
285
289
  var data = matchData[index];
286
- if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) {
290
+ if (noCustomizer && data[2] ? data[1] !== object2[data[0]] : !(data[0] in object2)) {
287
291
  return false;
288
292
  }
289
293
  }
290
294
  while (++index < length) {
291
295
  data = matchData[index];
292
- var key = data[0], objValue = object[key], srcValue = data[1];
296
+ var key = data[0], objValue = object2[key], srcValue = data[1];
293
297
  if (noCustomizer && data[2]) {
294
- if (objValue === void 0 && !(key in object)) {
298
+ if (objValue === void 0 && !(key in object2)) {
295
299
  return false;
296
300
  }
297
301
  } else {
298
302
  var stack = new Stack_default();
299
303
  if (customizer) {
300
- var result = customizer(objValue, srcValue, key, object, source, stack);
304
+ var result = customizer(objValue, srcValue, key, object2, source, stack);
301
305
  }
302
306
  if (!(result === void 0 ? baseIsEqual_default(srcValue, objValue, COMPARE_PARTIAL_FLAG5 | COMPARE_UNORDERED_FLAG3, customizer, stack) : result)) {
303
307
  return false;
@@ -313,10 +317,10 @@ function isStrictComparable(value) {
313
317
  }
314
318
  var isStrictComparable_default = isStrictComparable;
315
319
 
316
- function getMatchData(object) {
317
- var result = keys_default(object), length = result.length;
320
+ function getMatchData(object2) {
321
+ var result = keys_default(object2), length = result.length;
318
322
  while (length--) {
319
- var key = result[length], value = object[key];
323
+ var key = result[length], value = object2[key];
320
324
  result[length] = [key, value, isStrictComparable_default(value)];
321
325
  }
322
326
  return result;
@@ -324,11 +328,11 @@ function getMatchData(object) {
324
328
  var getMatchData_default = getMatchData;
325
329
 
326
330
  function matchesStrictComparable(key, srcValue) {
327
- return function(object) {
328
- if (object == null) {
331
+ return function(object2) {
332
+ if (object2 == null) {
329
333
  return false;
330
334
  }
331
- return object[key] === srcValue && (srcValue !== void 0 || key in Object(object));
335
+ return object2[key] === srcValue && (srcValue !== void 0 || key in Object(object2));
332
336
  };
333
337
  }
334
338
  var matchesStrictComparable_default = matchesStrictComparable;
@@ -338,8 +342,8 @@ function baseMatches(source) {
338
342
  if (matchData.length == 1 && matchData[0][2]) {
339
343
  return matchesStrictComparable_default(matchData[0][0], matchData[0][1]);
340
344
  }
341
- return function(object) {
342
- return object === source || baseIsMatch_default(object, source, matchData);
345
+ return function(object2) {
346
+ return object2 === source || baseIsMatch_default(object2, source, matchData);
343
347
  };
344
348
  }
345
349
  var baseMatches_default = baseMatches;
@@ -352,7 +356,7 @@ var isSymbol_default = isSymbol;
352
356
 
353
357
  var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;
354
358
  var reIsPlainProp = /^\w*$/;
355
- function isKey(value, object) {
359
+ function isKey(value, object2) {
356
360
  if (isArray_default(value)) {
357
361
  return false;
358
362
  }
@@ -360,7 +364,7 @@ function isKey(value, object) {
360
364
  if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol_default(value)) {
361
365
  return true;
362
366
  }
363
- return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
367
+ return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object2 != null && value in Object(object2);
364
368
  }
365
369
  var isKey_default = isKey;
366
370
 
@@ -399,12 +403,12 @@ var memoizeCapped_default = memoizeCapped;
399
403
 
400
404
  var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
401
405
  var reEscapeChar = /\\(\\)?/g;
402
- var stringToPath = memoizeCapped_default(function(string) {
406
+ var stringToPath = memoizeCapped_default(function(string3) {
403
407
  var result = [];
404
- if (string.charCodeAt(0) === 46) {
408
+ if (string3.charCodeAt(0) === 46) {
405
409
  result.push("");
406
410
  }
407
- string.replace(rePropName, function(match, number, quote, subString) {
411
+ string3.replace(rePropName, function(match, number, quote, subString) {
408
412
  result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match);
409
413
  });
410
414
  return result;
@@ -432,11 +436,11 @@ function toString(value) {
432
436
  }
433
437
  var toString_default = toString;
434
438
 
435
- function castPath(value, object) {
439
+ function castPath(value, object2) {
436
440
  if (isArray_default(value)) {
437
441
  return value;
438
442
  }
439
- return isKey_default(value, object) ? [value] : stringToPath_default(toString_default(value));
443
+ return isKey_default(value, object2) ? [value] : stringToPath_default(toString_default(value));
440
444
  }
441
445
  var castPath_default = castPath;
442
446
  function toKey(value) {
@@ -448,47 +452,47 @@ function toKey(value) {
448
452
  }
449
453
  var toKey_default = toKey;
450
454
 
451
- function baseGet(object, path) {
452
- path = castPath_default(path, object);
455
+ function baseGet(object2, path) {
456
+ path = castPath_default(path, object2);
453
457
  var index = 0, length = path.length;
454
- while (object != null && index < length) {
455
- object = object[toKey_default(path[index++])];
458
+ while (object2 != null && index < length) {
459
+ object2 = object2[toKey_default(path[index++])];
456
460
  }
457
- return index && index == length ? object : void 0;
461
+ return index && index == length ? object2 : void 0;
458
462
  }
459
463
  var baseGet_default = baseGet;
460
464
 
461
- function get(object, path, defaultValue) {
462
- var result = object == null ? void 0 : baseGet_default(object, path);
465
+ function get(object2, path, defaultValue) {
466
+ var result = object2 == null ? void 0 : baseGet_default(object2, path);
463
467
  return result === void 0 ? defaultValue : result;
464
468
  }
465
469
  var get_default = get;
466
470
 
467
- function baseHasIn(object, key) {
468
- return object != null && key in Object(object);
471
+ function baseHasIn(object2, key) {
472
+ return object2 != null && key in Object(object2);
469
473
  }
470
474
  var baseHasIn_default = baseHasIn;
471
475
 
472
- function hasPath(object, path, hasFunc) {
473
- path = castPath_default(path, object);
476
+ function hasPath(object2, path, hasFunc) {
477
+ path = castPath_default(path, object2);
474
478
  var index = -1, length = path.length, result = false;
475
479
  while (++index < length) {
476
480
  var key = toKey_default(path[index]);
477
- if (!(result = object != null && hasFunc(object, key))) {
481
+ if (!(result = object2 != null && hasFunc(object2, key))) {
478
482
  break;
479
483
  }
480
- object = object[key];
484
+ object2 = object2[key];
481
485
  }
482
486
  if (result || ++index != length) {
483
487
  return result;
484
488
  }
485
- length = object == null ? 0 : object.length;
486
- return !!length && isLength_default(length) && isIndex_default(key, length) && (isArray_default(object) || isArguments_default(object));
489
+ length = object2 == null ? 0 : object2.length;
490
+ return !!length && isLength_default(length) && isIndex_default(key, length) && (isArray_default(object2) || isArguments_default(object2));
487
491
  }
488
492
  var hasPath_default = hasPath;
489
493
 
490
- function hasIn(object, path) {
491
- return object != null && hasPath_default(object, path, baseHasIn_default);
494
+ function hasIn(object2, path) {
495
+ return object2 != null && hasPath_default(object2, path, baseHasIn_default);
492
496
  }
493
497
  var hasIn_default = hasIn;
494
498
 
@@ -498,23 +502,23 @@ function baseMatchesProperty(path, srcValue) {
498
502
  if (isKey_default(path) && isStrictComparable_default(srcValue)) {
499
503
  return matchesStrictComparable_default(toKey_default(path), srcValue);
500
504
  }
501
- return function(object) {
502
- var objValue = get_default(object, path);
503
- return objValue === void 0 && objValue === srcValue ? hasIn_default(object, path) : baseIsEqual_default(srcValue, objValue, COMPARE_PARTIAL_FLAG6 | COMPARE_UNORDERED_FLAG4);
505
+ return function(object2) {
506
+ var objValue = get_default(object2, path);
507
+ return objValue === void 0 && objValue === srcValue ? hasIn_default(object2, path) : baseIsEqual_default(srcValue, objValue, COMPARE_PARTIAL_FLAG6 | COMPARE_UNORDERED_FLAG4);
504
508
  };
505
509
  }
506
510
  var baseMatchesProperty_default = baseMatchesProperty;
507
511
 
508
512
  function baseProperty(key) {
509
- return function(object) {
510
- return object == null ? void 0 : object[key];
513
+ return function(object2) {
514
+ return object2 == null ? void 0 : object2[key];
511
515
  };
512
516
  }
513
517
  var baseProperty_default = baseProperty;
514
518
 
515
519
  function basePropertyDeep(path) {
516
- return function(object) {
517
- return baseGet_default(object, path);
520
+ return function(object2) {
521
+ return baseGet_default(object2, path);
518
522
  };
519
523
  }
520
524
  var basePropertyDeep_default = basePropertyDeep;
@@ -538,16 +542,16 @@ function baseIteratee(value) {
538
542
  }
539
543
  var baseIteratee_default = baseIteratee;
540
544
 
541
- function baseSet(object, path, value, customizer) {
542
- if (!isObject_default(object)) {
543
- return object;
545
+ function baseSet(object2, path, value, customizer) {
546
+ if (!isObject_default(object2)) {
547
+ return object2;
544
548
  }
545
- path = castPath_default(path, object);
546
- var index = -1, length = path.length, lastIndex = length - 1, nested = object;
549
+ path = castPath_default(path, object2);
550
+ var index = -1, length = path.length, lastIndex = length - 1, nested = object2;
547
551
  while (nested != null && ++index < length) {
548
552
  var key = toKey_default(path[index]), newValue = value;
549
553
  if (key === "__proto__" || key === "constructor" || key === "prototype") {
550
- return object;
554
+ return object2;
551
555
  }
552
556
  if (index != lastIndex) {
553
557
  var objValue = nested[key];
@@ -559,34 +563,193 @@ function baseSet(object, path, value, customizer) {
559
563
  assignValue_default(nested, key, newValue);
560
564
  nested = nested[key];
561
565
  }
562
- return object;
566
+ return object2;
563
567
  }
564
568
  var baseSet_default = baseSet;
565
569
 
566
- function basePickBy(object, paths, predicate) {
570
+ function basePickBy(object2, paths, predicate) {
567
571
  var index = -1, length = paths.length, result = {};
568
572
  while (++index < length) {
569
- var path = paths[index], value = baseGet_default(object, path);
573
+ var path = paths[index], value = baseGet_default(object2, path);
570
574
  if (predicate(value, path)) {
571
- baseSet_default(result, castPath_default(path, object), value);
575
+ baseSet_default(result, castPath_default(path, object2), value);
572
576
  }
573
577
  }
574
578
  return result;
575
579
  }
576
580
  var basePickBy_default = basePickBy;
577
581
 
578
- function pickBy(object, predicate) {
579
- if (object == null) {
582
+ function pickBy(object2, predicate) {
583
+ if (object2 == null) {
580
584
  return {};
581
585
  }
582
- var props = arrayMap_default(getAllKeysIn_default(object), function(prop) {
586
+ var props = arrayMap_default(getAllKeysIn_default(object2), function(prop) {
583
587
  return [prop];
584
588
  });
585
589
  predicate = baseIteratee_default(predicate);
586
- return basePickBy_default(object, props, function(value, path) {
590
+ return basePickBy_default(object2, props, function(value, path) {
587
591
  return predicate(value, path[0]);
588
592
  });
589
593
  }
590
594
  var pickBy_default = pickBy;
595
+ var frontmatterDataSchema = z2.record(z2.string(), z2.unknown());
596
+ var CONTENT_FRONTMATTER_PATTERN = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?/u;
597
+ function parseContentFrontmatterYaml(yamlText) {
598
+ try {
599
+ const document = parseDocument(yamlText, {
600
+ merge: false,
601
+ schema: "core",
602
+ strict: true,
603
+ uniqueKeys: true
604
+ });
605
+ if (document.errors.length > 0) {
606
+ return null;
607
+ }
608
+ const parsed = frontmatterDataSchema.safeParse(
609
+ document.toJS({ maxAliasCount: 20 })
610
+ );
611
+ return parsed.success ? parsed.data : null;
612
+ } catch {
613
+ return null;
614
+ }
615
+ }
616
+ function parseContentFrontmatter(raw) {
617
+ const match = raw.match(CONTENT_FRONTMATTER_PATTERN);
618
+ if (!match) {
619
+ return null;
620
+ }
621
+ const values = parseContentFrontmatterYaml(match[1] ?? "");
622
+ if (values === null) {
623
+ return null;
624
+ }
625
+ return {
626
+ values,
627
+ body: raw.slice(match[0].length).replace(/^\r?\n/u, "")
628
+ };
629
+ }
630
+ var CONTENT_MANAGED_ENTRY_VALUE_KEYS = [
631
+ "slug",
632
+ "title",
633
+ "status",
634
+ "author",
635
+ "authorInitials",
636
+ "excerpt",
637
+ "coverImage",
638
+ "coverImageAlt",
639
+ "tags",
640
+ "updatedAt",
641
+ "publishedAt",
642
+ "archivedAt",
643
+ ...CONTENT_SEO_VALUE_KEYS,
644
+ CONTENT_RELATED_VALUE_STORAGE_KEY,
645
+ ...CONTENT_PRIVATE_VALUE_KEYS
646
+ ];
647
+ var contentEntryFrontmatterSchema = z2.object({
648
+ slug: z2.unknown().optional(),
649
+ title: z2.string().nullish(),
650
+ author: z2.string().nullish(),
651
+ authorInitials: z2.string().nullish(),
652
+ excerpt: z2.string().nullish(),
653
+ coverImage: z2.string().nullish(),
654
+ coverImageAlt: z2.string().nullish(),
655
+ tags: z2.array(z2.string()).nullish(),
656
+ updatedAt: z2.string().nullish(),
657
+ publishedAt: z2.string().nullish(),
658
+ archivedAt: z2.string().nullish(),
659
+ seoTitle: z2.string().nullish(),
660
+ seoDescription: z2.string().nullish(),
661
+ related: z2.array(z2.string()).nullish(),
662
+ scratchpad: z2.unknown().optional(),
663
+ backlinks: z2.unknown().optional()
664
+ }).passthrough();
665
+ function parseContentEntryDocument(raw) {
666
+ const frontmatter = parseContentFrontmatter(raw);
667
+ if (!frontmatter) {
668
+ return {
669
+ status: "invalid",
670
+ message: "Entry frontmatter is missing or contains invalid YAML."
671
+ };
672
+ }
673
+ const parsedValues = contentEntryFrontmatterSchema.safeParse(
674
+ frontmatter.values
675
+ );
676
+ if (!parsedValues.success) {
677
+ const issue = parsedValues.error.issues[0];
678
+ const field = issue?.path.join(".");
679
+ return {
680
+ status: "invalid",
681
+ message: `${field ? `Invalid ${field}: ` : ""}${issue?.message ?? "Invalid entry fields."}`
682
+ };
683
+ }
684
+ return {
685
+ status: "ready",
686
+ document: {
687
+ values: parsedValues.data,
688
+ body: frontmatter.body
689
+ }
690
+ };
691
+ }
692
+ function serializeContentEntryDocument({
693
+ values,
694
+ body
695
+ }) {
696
+ const yamlText = stringify(values).replace(/\n+$/u, "");
697
+ const normalizedBody = `${body.replace(/\s+$/u, "")}
698
+ `;
699
+ return `---
700
+ ${yamlText}
701
+ ---
702
+
703
+ ${normalizedBody}`;
704
+ }
705
+ function getContentRenderableEntryValues({
706
+ document,
707
+ slug
708
+ }) {
709
+ const publicFrontmatterValues = pickBy_default(document.values, (_value, fieldId) => {
710
+ return !isContentPrivateValueKey(fieldId);
711
+ });
712
+ return {
713
+ ...publicFrontmatterValues,
714
+ relatedContent: publicFrontmatterValues[CONTENT_RELATED_VALUE_STORAGE_KEY] ?? [],
715
+ body: document.body,
716
+ slug
717
+ };
718
+ }
719
+ function convertLegacyContentEntryDocument(raw) {
720
+ const parsed = parseContentEntryDocument(raw);
721
+ if (parsed.status === "invalid") {
722
+ return null;
723
+ }
724
+ const { status, archivedAt, ...values } = parsed.document.values;
725
+ if (status === void 0 && archivedAt === void 0) {
726
+ return { legacyStatus: null, content: raw };
727
+ }
728
+ return {
729
+ legacyStatus: LEGACY_CONTENT_ENTRY_STATUSES.find((candidate) => candidate === status) ?? "draft",
730
+ content: serializeContentEntryDocument({
731
+ values,
732
+ body: parsed.document.body
733
+ })
734
+ };
735
+ }
736
+ function getContentEntryFieldValidationIssues({
737
+ fields,
738
+ values,
739
+ requireRequiredFields
740
+ }) {
741
+ return fields.flatMap((field) => {
742
+ if (!field.enabled || isContentPrivateValueKey(field.id)) {
743
+ return [];
744
+ }
745
+ const value = values[field.id];
746
+ const isMissing = value === void 0 || value === null || value === "";
747
+ if (isMissing) {
748
+ return requireRequiredFields && field.required ? [{ fieldId: field.id, message: "Required value is missing." }] : [];
749
+ }
750
+ const parsedValue = getContentFieldValueSchema(field.type).safeParse(value);
751
+ return parsedValue.success ? [] : [{ fieldId: field.id, message: "Value has the wrong format." }];
752
+ });
753
+ }
591
754
 
592
- export { pickBy_default };
755
+ export { CONTENT_MANAGED_ENTRY_VALUE_KEYS, contentEntryFrontmatterSchema, convertLegacyContentEntryDocument, getContentEntryFieldValidationIssues, getContentRenderableEntryValues, parseContentEntryDocument, serializeContentEntryDocument };