@prismicio/mock 0.1.1 → 0.3.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 (488) hide show
  1. package/README.md +1 -1
  2. package/dist/api/createAPIMockFactory.cjs +40 -0
  3. package/dist/api/createAPIMockFactory.cjs.map +1 -0
  4. package/dist/api/createAPIMockFactory.d.ts +23 -0
  5. package/dist/api/createAPIMockFactory.js +40 -0
  6. package/dist/api/createAPIMockFactory.js.map +1 -0
  7. package/dist/api/index.cjs +10 -672
  8. package/dist/api/index.cjs.map +1 -1
  9. package/dist/api/index.d.ts +8 -82
  10. package/dist/api/index.js +9 -671
  11. package/dist/api/index.js.map +1 -1
  12. package/dist/api/query.cjs +23 -0
  13. package/dist/api/query.cjs.map +1 -0
  14. package/dist/api/query.d.ts +8 -0
  15. package/dist/api/query.js +23 -0
  16. package/dist/api/query.js.map +1 -0
  17. package/dist/api/ref.cjs +37 -0
  18. package/dist/api/ref.cjs.map +1 -0
  19. package/dist/api/ref.d.ts +12 -0
  20. package/dist/api/ref.js +20 -0
  21. package/dist/api/ref.js.map +1 -0
  22. package/dist/api/repository.cjs +58 -0
  23. package/dist/api/repository.cjs.map +1 -0
  24. package/dist/api/repository.d.ts +7 -0
  25. package/dist/api/repository.js +41 -0
  26. package/dist/api/repository.js.map +1 -0
  27. package/dist/api/tags.cjs +14 -0
  28. package/dist/api/tags.cjs.map +1 -0
  29. package/dist/api/tags.d.ts +4 -0
  30. package/dist/api/tags.js +14 -0
  31. package/dist/api/tags.js.map +1 -0
  32. package/dist/constants.d.ts +2 -0
  33. package/dist/createMockFactory.cjs +33 -0
  34. package/dist/createMockFactory.cjs.map +1 -0
  35. package/dist/createMockFactory.d.ts +22 -0
  36. package/dist/createMockFactory.js +33 -0
  37. package/dist/createMockFactory.js.map +1 -0
  38. package/dist/index.cjs +19 -1988
  39. package/dist/index.cjs.map +1 -1
  40. package/dist/index.d.ts +7 -688
  41. package/dist/index.js +19 -1950
  42. package/dist/index.js.map +1 -1
  43. package/dist/lib/PRNG.cjs +55 -0
  44. package/dist/lib/PRNG.cjs.map +1 -0
  45. package/dist/lib/PRNG.d.ts +48 -0
  46. package/dist/lib/PRNG.js +55 -0
  47. package/dist/lib/PRNG.js.map +1 -0
  48. package/dist/lib/buildAlternativeLanguage.cjs +12 -0
  49. package/dist/lib/buildAlternativeLanguage.cjs.map +1 -0
  50. package/dist/lib/buildAlternativeLanguage.d.ts +6 -0
  51. package/dist/lib/buildAlternativeLanguage.js +12 -0
  52. package/dist/lib/buildAlternativeLanguage.js.map +1 -0
  53. package/dist/lib/buildContentRelationshipField.cjs +35 -0
  54. package/dist/lib/buildContentRelationshipField.cjs.map +1 -0
  55. package/dist/lib/buildContentRelationshipField.d.ts +6 -0
  56. package/dist/lib/buildContentRelationshipField.js +18 -0
  57. package/dist/lib/buildContentRelationshipField.js.map +1 -0
  58. package/dist/lib/buildEmbedField.cjs +13 -0
  59. package/dist/lib/buildEmbedField.cjs.map +1 -0
  60. package/dist/lib/buildEmbedField.d.ts +19 -0
  61. package/dist/lib/buildEmbedField.js +13 -0
  62. package/dist/lib/buildEmbedField.js.map +1 -0
  63. package/dist/lib/buildImageFieldImage.cjs +50 -0
  64. package/dist/lib/buildImageFieldImage.cjs.map +1 -0
  65. package/dist/lib/buildImageFieldImage.d.ts +15 -0
  66. package/dist/lib/buildImageFieldImage.js +33 -0
  67. package/dist/lib/buildImageFieldImage.js.map +1 -0
  68. package/dist/lib/createFaker.cjs +83 -0
  69. package/dist/lib/createFaker.cjs.map +1 -0
  70. package/dist/lib/createFaker.d.ts +24 -0
  71. package/dist/lib/createFaker.js +83 -0
  72. package/dist/lib/createFaker.js.map +1 -0
  73. package/dist/lib/generateCustomTypeId.cjs +27 -0
  74. package/dist/lib/generateCustomTypeId.cjs.map +1 -0
  75. package/dist/lib/generateCustomTypeId.d.ts +11 -0
  76. package/dist/lib/generateCustomTypeId.js +10 -0
  77. package/dist/lib/generateCustomTypeId.js.map +1 -0
  78. package/dist/lib/generateFieldId.cjs +27 -0
  79. package/dist/lib/generateFieldId.cjs.map +1 -0
  80. package/dist/lib/generateFieldId.d.ts +11 -0
  81. package/dist/lib/generateFieldId.js +10 -0
  82. package/dist/lib/generateFieldId.js.map +1 -0
  83. package/dist/lib/generateTags.cjs +27 -0
  84. package/dist/lib/generateTags.cjs.map +1 -0
  85. package/dist/lib/generateTags.d.ts +14 -0
  86. package/dist/lib/generateTags.js +10 -0
  87. package/dist/lib/generateTags.js.map +1 -0
  88. package/dist/lib/getMockEmbedData.cjs +88 -0
  89. package/dist/lib/getMockEmbedData.cjs.map +1 -0
  90. package/dist/lib/getMockEmbedData.d.ts +11 -0
  91. package/dist/lib/getMockEmbedData.js +88 -0
  92. package/dist/lib/getMockEmbedData.js.map +1 -0
  93. package/dist/lib/getMockImageData.cjs +91 -0
  94. package/dist/lib/getMockImageData.cjs.map +1 -0
  95. package/dist/lib/getMockImageData.d.ts +11 -0
  96. package/dist/lib/getMockImageData.js +91 -0
  97. package/dist/lib/getMockImageData.js.map +1 -0
  98. package/dist/lib/lorem.cjs +45 -0
  99. package/dist/lib/lorem.cjs.map +1 -0
  100. package/dist/lib/lorem.d.ts +49 -0
  101. package/dist/lib/lorem.js +45 -0
  102. package/dist/lib/lorem.js.map +1 -0
  103. package/dist/lib/valueForModel.cjs +191 -0
  104. package/dist/lib/valueForModel.cjs.map +1 -0
  105. package/dist/lib/valueForModel.d.ts +15 -0
  106. package/dist/lib/valueForModel.js +174 -0
  107. package/dist/lib/valueForModel.js.map +1 -0
  108. package/dist/lib/valueForModelMap.cjs +93 -0
  109. package/dist/lib/valueForModelMap.cjs.map +1 -0
  110. package/dist/lib/valueForModelMap.d.ts +37 -0
  111. package/dist/lib/valueForModelMap.js +76 -0
  112. package/dist/lib/valueForModelMap.js.map +1 -0
  113. package/dist/model/boolean.cjs +34 -0
  114. package/dist/model/boolean.cjs.map +1 -0
  115. package/dist/model/boolean.d.ts +4 -0
  116. package/dist/model/boolean.js +16 -0
  117. package/dist/model/boolean.js.map +1 -0
  118. package/dist/model/buildMockGroupFieldMap.cjs +51 -0
  119. package/dist/model/buildMockGroupFieldMap.cjs.map +1 -0
  120. package/dist/model/buildMockGroupFieldMap.d.ts +3 -0
  121. package/dist/model/buildMockGroupFieldMap.js +51 -0
  122. package/dist/model/buildMockGroupFieldMap.js.map +1 -0
  123. package/dist/model/color.cjs +35 -0
  124. package/dist/model/color.cjs.map +1 -0
  125. package/dist/model/color.d.ts +4 -0
  126. package/dist/model/color.js +17 -0
  127. package/dist/model/color.js.map +1 -0
  128. package/dist/model/contentRelationship.cjs +38 -0
  129. package/dist/model/contentRelationship.cjs.map +1 -0
  130. package/dist/model/contentRelationship.d.ts +7 -0
  131. package/dist/model/contentRelationship.js +20 -0
  132. package/dist/model/contentRelationship.js.map +1 -0
  133. package/dist/model/createModelMockFactory.cjs +124 -0
  134. package/dist/model/createModelMockFactory.cjs.map +1 -0
  135. package/dist/model/createModelMockFactory.d.ts +64 -0
  136. package/dist/model/createModelMockFactory.js +124 -0
  137. package/dist/model/createModelMockFactory.js.map +1 -0
  138. package/dist/model/customType.cjs +46 -0
  139. package/dist/model/customType.cjs.map +1 -0
  140. package/dist/model/customType.d.ts +17 -0
  141. package/dist/model/customType.js +29 -0
  142. package/dist/model/customType.js.map +1 -0
  143. package/dist/model/date.cjs +35 -0
  144. package/dist/model/date.cjs.map +1 -0
  145. package/dist/model/date.d.ts +4 -0
  146. package/dist/model/date.js +17 -0
  147. package/dist/model/date.js.map +1 -0
  148. package/dist/model/embed.cjs +35 -0
  149. package/dist/model/embed.cjs.map +1 -0
  150. package/dist/model/embed.d.ts +4 -0
  151. package/dist/model/embed.js +17 -0
  152. package/dist/model/embed.js.map +1 -0
  153. package/dist/model/geoPoint.cjs +34 -0
  154. package/dist/model/geoPoint.cjs.map +1 -0
  155. package/dist/model/geoPoint.d.ts +4 -0
  156. package/dist/model/geoPoint.js +16 -0
  157. package/dist/model/geoPoint.js.map +1 -0
  158. package/dist/model/group.cjs +35 -0
  159. package/dist/model/group.cjs.map +1 -0
  160. package/dist/model/group.d.ts +6 -0
  161. package/dist/model/group.js +17 -0
  162. package/dist/model/group.js.map +1 -0
  163. package/dist/model/image.cjs +46 -0
  164. package/dist/model/image.cjs.map +1 -0
  165. package/dist/model/image.d.ts +7 -0
  166. package/dist/model/image.js +28 -0
  167. package/dist/model/image.js.map +1 -0
  168. package/dist/model/index.cjs +54 -725
  169. package/dist/model/index.cjs.map +1 -1
  170. package/dist/model/index.d.ts +26 -220
  171. package/dist/model/index.js +39 -710
  172. package/dist/model/index.js.map +1 -1
  173. package/dist/model/integration.cjs +35 -0
  174. package/dist/model/integration.cjs.map +1 -0
  175. package/dist/model/integration.d.ts +6 -0
  176. package/dist/model/integration.js +17 -0
  177. package/dist/model/integration.js.map +1 -0
  178. package/dist/model/keyText.cjs +35 -0
  179. package/dist/model/keyText.cjs.map +1 -0
  180. package/dist/model/keyText.d.ts +4 -0
  181. package/dist/model/keyText.js +17 -0
  182. package/dist/model/keyText.js.map +1 -0
  183. package/dist/model/link.cjs +37 -0
  184. package/dist/model/link.cjs.map +1 -0
  185. package/dist/model/link.d.ts +13 -0
  186. package/dist/model/link.js +19 -0
  187. package/dist/model/link.js.map +1 -0
  188. package/dist/model/linkToMedia.cjs +36 -0
  189. package/dist/model/linkToMedia.cjs.map +1 -0
  190. package/dist/model/linkToMedia.d.ts +4 -0
  191. package/dist/model/linkToMedia.js +18 -0
  192. package/dist/model/linkToMedia.js.map +1 -0
  193. package/dist/model/number.cjs +35 -0
  194. package/dist/model/number.cjs.map +1 -0
  195. package/dist/model/number.d.ts +4 -0
  196. package/dist/model/number.js +17 -0
  197. package/dist/model/number.js.map +1 -0
  198. package/dist/model/richText.cjs +55 -0
  199. package/dist/model/richText.cjs.map +1 -0
  200. package/dist/model/richText.d.ts +6 -0
  201. package/dist/model/richText.js +37 -0
  202. package/dist/model/richText.js.map +1 -0
  203. package/dist/model/select.cjs +37 -0
  204. package/dist/model/select.cjs.map +1 -0
  205. package/dist/model/select.d.ts +7 -0
  206. package/dist/model/select.js +19 -0
  207. package/dist/model/select.js.map +1 -0
  208. package/dist/model/sharedSlice.cjs +42 -0
  209. package/dist/model/sharedSlice.cjs.map +1 -0
  210. package/dist/model/sharedSlice.d.ts +8 -0
  211. package/dist/model/sharedSlice.js +24 -0
  212. package/dist/model/sharedSlice.js.map +1 -0
  213. package/dist/model/sharedSliceChoice.cjs +27 -0
  214. package/dist/model/sharedSliceChoice.cjs.map +1 -0
  215. package/dist/model/sharedSliceChoice.d.ts +2 -0
  216. package/dist/model/sharedSliceChoice.js +10 -0
  217. package/dist/model/sharedSliceChoice.js.map +1 -0
  218. package/dist/model/sharedSliceVariation.cjs +45 -0
  219. package/dist/model/sharedSliceVariation.cjs.map +1 -0
  220. package/dist/model/sharedSliceVariation.d.ts +9 -0
  221. package/dist/model/sharedSliceVariation.js +28 -0
  222. package/dist/model/sharedSliceVariation.js.map +1 -0
  223. package/dist/model/slice.cjs +37 -0
  224. package/dist/model/slice.cjs.map +1 -0
  225. package/dist/model/slice.d.ts +7 -0
  226. package/dist/model/slice.js +19 -0
  227. package/dist/model/slice.js.map +1 -0
  228. package/dist/model/sliceZone.cjs +39 -0
  229. package/dist/model/sliceZone.cjs.map +1 -0
  230. package/dist/model/sliceZone.d.ts +6 -0
  231. package/dist/model/sliceZone.js +22 -0
  232. package/dist/model/sliceZone.js.map +1 -0
  233. package/dist/model/timestamp.cjs +35 -0
  234. package/dist/model/timestamp.cjs.map +1 -0
  235. package/dist/model/timestamp.d.ts +4 -0
  236. package/dist/model/timestamp.js +17 -0
  237. package/dist/model/timestamp.js.map +1 -0
  238. package/dist/model/title.cjs +45 -0
  239. package/dist/model/title.cjs.map +1 -0
  240. package/dist/model/title.d.ts +4 -0
  241. package/dist/model/title.js +27 -0
  242. package/dist/model/title.js.map +1 -0
  243. package/dist/model/uid.cjs +35 -0
  244. package/dist/model/uid.cjs.map +1 -0
  245. package/dist/model/uid.d.ts +4 -0
  246. package/dist/model/uid.js +17 -0
  247. package/dist/model/uid.js.map +1 -0
  248. package/dist/types.d.ts +77 -0
  249. package/dist/value/boolean.cjs +9 -0
  250. package/dist/value/boolean.cjs.map +1 -0
  251. package/dist/value/boolean.d.ts +4 -0
  252. package/dist/value/boolean.js +9 -0
  253. package/dist/value/boolean.js.map +1 -0
  254. package/dist/value/color.cjs +9 -0
  255. package/dist/value/color.cjs.map +1 -0
  256. package/dist/value/color.d.ts +5 -0
  257. package/dist/value/color.js +9 -0
  258. package/dist/value/color.js.map +1 -0
  259. package/dist/value/contentRelationship.cjs +63 -0
  260. package/dist/value/contentRelationship.cjs.map +1 -0
  261. package/dist/value/contentRelationship.d.ts +11 -0
  262. package/dist/value/contentRelationship.js +46 -0
  263. package/dist/value/contentRelationship.js.map +1 -0
  264. package/dist/value/createValueMockFactory.cjs +119 -0
  265. package/dist/value/createValueMockFactory.cjs.map +1 -0
  266. package/dist/value/createValueMockFactory.d.ts +63 -0
  267. package/dist/value/createValueMockFactory.js +119 -0
  268. package/dist/value/createValueMockFactory.js.map +1 -0
  269. package/dist/value/customType.cjs +66 -0
  270. package/dist/value/customType.cjs.map +1 -0
  271. package/dist/value/customType.d.ts +9 -0
  272. package/dist/value/customType.js +48 -0
  273. package/dist/value/customType.js.map +1 -0
  274. package/dist/value/date.cjs +15 -0
  275. package/dist/value/date.cjs.map +1 -0
  276. package/dist/value/date.d.ts +6 -0
  277. package/dist/value/date.js +15 -0
  278. package/dist/value/date.js.map +1 -0
  279. package/dist/value/document.d.ts +1 -0
  280. package/dist/value/embed.cjs +17 -0
  281. package/dist/value/embed.cjs.map +1 -0
  282. package/dist/value/embed.d.ts +9 -0
  283. package/dist/value/embed.js +17 -0
  284. package/dist/value/embed.js.map +1 -0
  285. package/dist/value/geoPoint.cjs +12 -0
  286. package/dist/value/geoPoint.cjs.map +1 -0
  287. package/dist/value/geoPoint.d.ts +5 -0
  288. package/dist/value/geoPoint.js +12 -0
  289. package/dist/value/geoPoint.js.map +1 -0
  290. package/dist/value/group.cjs +24 -0
  291. package/dist/value/group.cjs.map +1 -0
  292. package/dist/value/group.d.ts +9 -0
  293. package/dist/value/group.js +24 -0
  294. package/dist/value/group.js.map +1 -0
  295. package/dist/value/image.cjs +34 -0
  296. package/dist/value/image.cjs.map +1 -0
  297. package/dist/value/image.d.ts +5 -0
  298. package/dist/value/image.js +34 -0
  299. package/dist/value/image.js.map +1 -0
  300. package/dist/value/index.cjs +49 -1492
  301. package/dist/value/index.cjs.map +1 -1
  302. package/dist/value/index.d.ts +48 -260
  303. package/dist/value/index.js +48 -1491
  304. package/dist/value/index.js.map +1 -1
  305. package/dist/value/integration.cjs +8 -0
  306. package/dist/value/integration.cjs.map +1 -0
  307. package/dist/value/integration.d.ts +7 -0
  308. package/dist/value/integration.js +8 -0
  309. package/dist/value/integration.js.map +1 -0
  310. package/dist/value/keyText.cjs +27 -0
  311. package/dist/value/keyText.cjs.map +1 -0
  312. package/dist/value/keyText.d.ts +5 -0
  313. package/dist/value/keyText.js +10 -0
  314. package/dist/value/keyText.js.map +1 -0
  315. package/dist/value/link.cjs +65 -0
  316. package/dist/value/link.cjs.map +1 -0
  317. package/dist/value/link.d.ts +13 -0
  318. package/dist/value/link.js +48 -0
  319. package/dist/value/link.js.map +1 -0
  320. package/dist/value/linkToMedia.cjs +43 -0
  321. package/dist/value/linkToMedia.cjs.map +1 -0
  322. package/dist/value/linkToMedia.d.ts +6 -0
  323. package/dist/value/linkToMedia.js +25 -0
  324. package/dist/value/linkToMedia.js.map +1 -0
  325. package/dist/value/number.cjs +9 -0
  326. package/dist/value/number.cjs.map +1 -0
  327. package/dist/value/number.d.ts +5 -0
  328. package/dist/value/number.js +9 -0
  329. package/dist/value/number.js.map +1 -0
  330. package/dist/value/richText/embed.cjs +34 -0
  331. package/dist/value/richText/embed.cjs.map +1 -0
  332. package/dist/value/richText/embed.d.ts +5 -0
  333. package/dist/value/richText/embed.js +17 -0
  334. package/dist/value/richText/embed.js.map +1 -0
  335. package/dist/value/richText/heading.cjs +72 -0
  336. package/dist/value/richText/heading.cjs.map +1 -0
  337. package/dist/value/richText/heading.d.ts +22 -0
  338. package/dist/value/richText/heading.js +54 -0
  339. package/dist/value/richText/heading.js.map +1 -0
  340. package/dist/value/richText/image.cjs +41 -0
  341. package/dist/value/richText/image.cjs.map +1 -0
  342. package/dist/value/richText/image.d.ts +5 -0
  343. package/dist/value/richText/image.js +24 -0
  344. package/dist/value/richText/image.js.map +1 -0
  345. package/dist/value/richText/index.cjs +91 -0
  346. package/dist/value/richText/index.cjs.map +1 -0
  347. package/dist/value/richText/index.d.ts +22 -0
  348. package/dist/value/richText/index.js +74 -0
  349. package/dist/value/richText/index.js.map +1 -0
  350. package/dist/value/richText/list.cjs +52 -0
  351. package/dist/value/richText/list.cjs.map +1 -0
  352. package/dist/value/richText/list.d.ts +21 -0
  353. package/dist/value/richText/list.js +34 -0
  354. package/dist/value/richText/list.js.map +1 -0
  355. package/dist/value/richText/oList.cjs +52 -0
  356. package/dist/value/richText/oList.cjs.map +1 -0
  357. package/dist/value/richText/oList.d.ts +21 -0
  358. package/dist/value/richText/oList.js +34 -0
  359. package/dist/value/richText/oList.js.map +1 -0
  360. package/dist/value/richText/paragraph.cjs +47 -0
  361. package/dist/value/richText/paragraph.cjs.map +1 -0
  362. package/dist/value/richText/paragraph.d.ts +18 -0
  363. package/dist/value/richText/paragraph.js +29 -0
  364. package/dist/value/richText/paragraph.js.map +1 -0
  365. package/dist/value/richText/preformatted.cjs +47 -0
  366. package/dist/value/richText/preformatted.cjs.map +1 -0
  367. package/dist/value/richText/preformatted.d.ts +18 -0
  368. package/dist/value/richText/preformatted.js +29 -0
  369. package/dist/value/richText/preformatted.js.map +1 -0
  370. package/dist/value/select.cjs +18 -0
  371. package/dist/value/select.cjs.map +1 -0
  372. package/dist/value/select.d.ts +5 -0
  373. package/dist/value/select.js +18 -0
  374. package/dist/value/select.js.map +1 -0
  375. package/dist/value/sharedSlice.cjs +20 -0
  376. package/dist/value/sharedSlice.cjs.map +1 -0
  377. package/dist/value/sharedSlice.d.ts +5 -0
  378. package/dist/value/sharedSlice.js +20 -0
  379. package/dist/value/sharedSlice.js.map +1 -0
  380. package/dist/value/sharedSliceVariation.cjs +32 -0
  381. package/dist/value/sharedSliceVariation.cjs.map +1 -0
  382. package/dist/value/sharedSliceVariation.d.ts +11 -0
  383. package/dist/value/sharedSliceVariation.js +32 -0
  384. package/dist/value/sharedSliceVariation.js.map +1 -0
  385. package/dist/value/slice.cjs +49 -0
  386. package/dist/value/slice.cjs.map +1 -0
  387. package/dist/value/slice.d.ts +11 -0
  388. package/dist/value/slice.js +32 -0
  389. package/dist/value/slice.js.map +1 -0
  390. package/dist/value/sliceZone.cjs +70 -0
  391. package/dist/value/sliceZone.cjs.map +1 -0
  392. package/dist/value/sliceZone.d.ts +10 -0
  393. package/dist/value/sliceZone.js +53 -0
  394. package/dist/value/sliceZone.js.map +1 -0
  395. package/dist/value/timestamp.cjs +25 -0
  396. package/dist/value/timestamp.cjs.map +1 -0
  397. package/dist/value/timestamp.d.ts +8 -0
  398. package/dist/value/timestamp.js +25 -0
  399. package/dist/value/timestamp.js.map +1 -0
  400. package/dist/value/title.cjs +21 -0
  401. package/dist/value/title.cjs.map +1 -0
  402. package/dist/value/title.d.ts +8 -0
  403. package/dist/value/title.js +21 -0
  404. package/dist/value/title.js.map +1 -0
  405. package/dist/value/uid.cjs +27 -0
  406. package/dist/value/uid.cjs.map +1 -0
  407. package/dist/value/uid.d.ts +4 -0
  408. package/dist/value/uid.js +10 -0
  409. package/dist/value/uid.js.map +1 -0
  410. package/package.json +23 -20
  411. package/src/api/createAPIMockFactory.ts +2 -2
  412. package/src/api/query.ts +4 -4
  413. package/src/api/ref.ts +3 -3
  414. package/src/api/repository.ts +4 -4
  415. package/src/api/tags.ts +2 -2
  416. package/src/lib/PRNG.ts +88 -0
  417. package/src/lib/buildAlternativeLanguage.ts +4 -4
  418. package/src/lib/buildContentRelationshipField.ts +5 -5
  419. package/src/lib/buildEmbedField.ts +19 -20
  420. package/src/lib/buildImageFieldImage.ts +7 -7
  421. package/src/lib/createFaker.ts +7 -8
  422. package/src/lib/lorem.ts +1 -2
  423. package/src/lib/valueForModel.ts +27 -27
  424. package/src/lib/valueForModelMap.ts +26 -26
  425. package/src/model/boolean.ts +3 -3
  426. package/src/model/buildMockGroupFieldMap.ts +2 -2
  427. package/src/model/color.ts +3 -3
  428. package/src/model/contentRelationship.ts +4 -4
  429. package/src/model/createModelMockFactory.ts +8 -13
  430. package/src/model/customType.ts +13 -13
  431. package/src/model/date.ts +3 -3
  432. package/src/model/embed.ts +3 -3
  433. package/src/model/geoPoint.ts +3 -3
  434. package/src/model/group.ts +3 -3
  435. package/src/model/image.ts +3 -3
  436. package/src/model/index.ts +1 -1
  437. package/src/model/{integrationFields.ts → integration.ts} +6 -6
  438. package/src/model/keyText.ts +3 -3
  439. package/src/model/link.ts +3 -3
  440. package/src/model/linkToMedia.ts +4 -4
  441. package/src/model/number.ts +3 -3
  442. package/src/model/richText.ts +21 -21
  443. package/src/model/select.ts +3 -3
  444. package/src/model/sharedSlice.ts +5 -5
  445. package/src/model/sharedSliceChoice.ts +3 -3
  446. package/src/model/sharedSliceVariation.ts +2 -2
  447. package/src/model/slice.ts +5 -5
  448. package/src/model/sliceZone.ts +8 -8
  449. package/src/model/timestamp.ts +3 -3
  450. package/src/model/title.ts +3 -3
  451. package/src/model/uid.ts +3 -3
  452. package/src/types.ts +95 -95
  453. package/src/value/boolean.ts +4 -4
  454. package/src/value/color.ts +7 -7
  455. package/src/value/contentRelationship.ts +12 -12
  456. package/src/value/createValueMockFactory.ts +47 -50
  457. package/src/value/customType.ts +10 -10
  458. package/src/value/date.ts +7 -7
  459. package/src/value/embed.ts +10 -10
  460. package/src/value/geoPoint.ts +7 -7
  461. package/src/value/group.ts +7 -7
  462. package/src/value/image.ts +8 -8
  463. package/src/value/index.ts +2 -2
  464. package/src/value/integration.ts +32 -0
  465. package/src/value/keyText.ts +7 -7
  466. package/src/value/link.ts +25 -25
  467. package/src/value/linkToMedia.ts +9 -9
  468. package/src/value/number.ts +7 -7
  469. package/src/value/richText/embed.ts +3 -3
  470. package/src/value/richText/heading.ts +19 -19
  471. package/src/value/richText/image.ts +3 -3
  472. package/src/value/richText/index.ts +23 -23
  473. package/src/value/richText/list.ts +3 -3
  474. package/src/value/richText/oList.ts +3 -3
  475. package/src/value/richText/paragraph.ts +3 -3
  476. package/src/value/richText/preformatted.ts +3 -3
  477. package/src/value/select.ts +8 -8
  478. package/src/value/sharedSlice.ts +3 -3
  479. package/src/value/sharedSliceVariation.ts +3 -3
  480. package/src/value/slice.ts +3 -3
  481. package/src/value/sliceZone.ts +8 -8
  482. package/src/value/timestamp.ts +7 -7
  483. package/src/value/title.ts +7 -7
  484. package/src/value/uid.ts +4 -4
  485. package/dist/api/index.d.ts.map +0 -1
  486. package/dist/model/index.d.ts.map +0 -1
  487. package/dist/value/index.d.ts.map +0 -1
  488. package/src/value/integrationFields.ts +0 -32
@@ -0,0 +1,48 @@
1
+ /**
2
+ * The following code is a modified version of Prando from `zeh/prando` on
3
+ * GitHub.
4
+ *
5
+ * Source:
6
+ * https://github.com/zeh/prando/blob/acc2a3c09df12a41b5c82fbf44e49e070e6f60ac/src/Prando.ts
7
+ *
8
+ * The MIT License (MIT)
9
+ *
10
+ * Copyright (c) 2016 Zeh Fernando
11
+ *
12
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ * of this software and associated documentation files (the "Software"), to deal
14
+ * in the Software without restriction, including without limitation the rights
15
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ * copies of the Software, and to permit persons to whom the Software is
17
+ * furnished to do so, subject to the following conditions:
18
+ *
19
+ * The above copyright notice and this permission notice shall be included in
20
+ * all copies or substantial portions of the Software.
21
+ *
22
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ * SOFTWARE.
29
+ */
30
+ /**
31
+ * Pseudorandom number generator.
32
+ */
33
+ export declare class PRNG {
34
+ private _value;
35
+ /**
36
+ * Generate a new pseudo-random number generator.
37
+ *
38
+ * @param seed - A number or string seed that determines which pseudo-random
39
+ * number sequence will be created.
40
+ */
41
+ constructor(seed: number | string);
42
+ /**
43
+ * Generates a pseudo-random number.
44
+ *
45
+ * @returns The generated pseudo-random number.
46
+ */
47
+ next(): number;
48
+ }
@@ -0,0 +1,55 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => {
4
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ return value;
6
+ };
7
+ const MIN = -2147483648;
8
+ const MAX = 2147483647;
9
+ const xorshift = (value) => {
10
+ value ^= value << 13;
11
+ value ^= value >> 17;
12
+ value ^= value << 5;
13
+ return value;
14
+ };
15
+ class PRNG {
16
+ /**
17
+ * Generate a new pseudo-random number generator.
18
+ *
19
+ * @param seed - A number or string seed that determines which pseudo-random
20
+ * number sequence will be created.
21
+ */
22
+ constructor(seed) {
23
+ __publicField(this, "_value");
24
+ if (typeof seed === "string") {
25
+ let hash = 0;
26
+ if (seed) {
27
+ const l = seed.length;
28
+ for (let i = 0; i < l; i++) {
29
+ hash = (hash << 5) - hash + seed.charCodeAt(i);
30
+ hash |= 0;
31
+ hash = xorshift(hash);
32
+ }
33
+ }
34
+ this._value = hash;
35
+ } else {
36
+ this._value = seed;
37
+ }
38
+ if (this._value === 0) {
39
+ this._value = 1;
40
+ }
41
+ }
42
+ /**
43
+ * Generates a pseudo-random number.
44
+ *
45
+ * @returns The generated pseudo-random number.
46
+ */
47
+ next() {
48
+ this._value = xorshift(this._value);
49
+ return (this._value - MIN) / (MAX - MIN);
50
+ }
51
+ }
52
+ export {
53
+ PRNG
54
+ };
55
+ //# sourceMappingURL=PRNG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PRNG.js","sources":["../../../src/lib/PRNG.ts"],"sourcesContent":["/**\n * The following code is a modified version of Prando from `zeh/prando` on\n * GitHub.\n *\n * Source:\n * https://github.com/zeh/prando/blob/acc2a3c09df12a41b5c82fbf44e49e070e6f60ac/src/Prando.ts\n *\n * The MIT License (MIT)\n *\n * Copyright (c) 2016 Zeh Fernando\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nconst MIN = -2147483648; // Int32 min\nconst MAX = 2147483647; // Int32 max\n\nconst xorshift = (value: number): number => {\n\t// Xorshift*32\n\t// Based on George Marsaglia's work: http://www.jstatsoft.org/v08/i14/paper\n\tvalue ^= value << 13;\n\tvalue ^= value >> 17;\n\tvalue ^= value << 5;\n\n\treturn value;\n};\n\n/**\n * Pseudorandom number generator.\n */\nexport class PRNG {\n\tprivate _value: number;\n\n\t/**\n\t * Generate a new pseudo-random number generator.\n\t *\n\t * @param seed - A number or string seed that determines which pseudo-random\n\t * number sequence will be created.\n\t */\n\tconstructor(seed: number | string) {\n\t\tif (typeof seed === \"string\") {\n\t\t\tlet hash = 0;\n\t\t\tif (seed) {\n\t\t\t\tconst l = seed.length;\n\t\t\t\tfor (let i = 0; i < l; i++) {\n\t\t\t\t\thash = (hash << 5) - hash + seed.charCodeAt(i);\n\t\t\t\t\thash |= 0;\n\t\t\t\t\thash = xorshift(hash);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._value = hash;\n\t\t} else {\n\t\t\tthis._value = seed;\n\t\t}\n\n\t\tif (this._value === 0) {\n\t\t\tthis._value = 1;\n\t\t}\n\t}\n\n\t/**\n\t * Generates a pseudo-random number.\n\t *\n\t * @returns The generated pseudo-random number.\n\t */\n\tpublic next(): number {\n\t\tthis._value = xorshift(this._value);\n\n\t\treturn (this._value - MIN) / (MAX - MIN);\n\t}\n}\n"],"names":[],"mappings":";;;;;;AA8BA,MAAM,MAAM;AACZ,MAAM,MAAM;AAEZ,MAAM,WAAW,CAAC,UAAyB;AAG1C,WAAS,SAAS;AAClB,WAAS,SAAS;AAClB,WAAS,SAAS;AAEX,SAAA;AACR;MAKa,KAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAShB,YAAY,MAAqB;AARzB;AASH,QAAA,OAAO,SAAS,UAAU;AAC7B,UAAI,OAAO;AACX,UAAI,MAAM;AACT,cAAM,IAAI,KAAK;AACf,iBAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC3B,kBAAQ,QAAQ,KAAK,OAAO,KAAK,WAAW,CAAC;AACrC,kBAAA;AACR,iBAAO,SAAS,IAAI;AAAA,QACpB;AAAA,MACD;AAED,WAAK,SAAS;AAAA,IAAA,OACR;AACN,WAAK,SAAS;AAAA,IACd;AAEG,QAAA,KAAK,WAAW,GAAG;AACtB,WAAK,SAAS;AAAA,IACd;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OAAI;AACL,SAAA,SAAS,SAAS,KAAK,MAAM;AAE1B,YAAA,KAAK,SAAS,QAAQ,MAAM;AAAA,EACrC;AACA;"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const buildAlternativeLanguage = (config) => {
4
+ return {
5
+ id: config.document.id,
6
+ type: config.document.type,
7
+ lang: config.document.lang,
8
+ uid: config.document.uid || void 0
9
+ };
10
+ };
11
+ exports.buildAlternativeLanguage = buildAlternativeLanguage;
12
+ //# sourceMappingURL=buildAlternativeLanguage.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildAlternativeLanguage.cjs","sources":["../../../src/lib/buildAlternativeLanguage.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\ntype BuildEmbedFieldConfig<Document extends prismic.PrismicDocument> = {\n\tdocument: Document;\n};\n\nexport const buildAlternativeLanguage = <\n\tDocument extends prismic.PrismicDocument,\n>(\n\tconfig: BuildEmbedFieldConfig<Document>,\n): prismic.AlternateLanguage<Document[\"type\"], Document[\"lang\"]> => {\n\treturn {\n\t\tid: config.document.id,\n\t\ttype: config.document.type,\n\t\tlang: config.document.lang,\n\t\tuid: config.document.uid || undefined,\n\t};\n};\n"],"names":[],"mappings":";;AAMa,MAAA,2BAA2B,CAGvC,WACkE;AAC3D,SAAA;AAAA,IACN,IAAI,OAAO,SAAS;AAAA,IACpB,MAAM,OAAO,SAAS;AAAA,IACtB,MAAM,OAAO,SAAS;AAAA,IACtB,KAAK,OAAO,SAAS,OAAO;AAAA,EAAA;AAE9B;;"}
@@ -0,0 +1,6 @@
1
+ import * as prismic from "@prismicio/client";
2
+ type BuildEmbedFieldConfig<Document extends prismic.PrismicDocument> = {
3
+ document: Document;
4
+ };
5
+ export declare const buildAlternativeLanguage: <Document_1 extends prismic.PrismicDocument<Record<string, any>, string, string>>(config: BuildEmbedFieldConfig<Document_1>) => prismic.AlternateLanguage<Document_1["type"], Document_1["lang"]>;
6
+ export {};
@@ -0,0 +1,12 @@
1
+ const buildAlternativeLanguage = (config) => {
2
+ return {
3
+ id: config.document.id,
4
+ type: config.document.type,
5
+ lang: config.document.lang,
6
+ uid: config.document.uid || void 0
7
+ };
8
+ };
9
+ export {
10
+ buildAlternativeLanguage
11
+ };
12
+ //# sourceMappingURL=buildAlternativeLanguage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildAlternativeLanguage.js","sources":["../../../src/lib/buildAlternativeLanguage.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\ntype BuildEmbedFieldConfig<Document extends prismic.PrismicDocument> = {\n\tdocument: Document;\n};\n\nexport const buildAlternativeLanguage = <\n\tDocument extends prismic.PrismicDocument,\n>(\n\tconfig: BuildEmbedFieldConfig<Document>,\n): prismic.AlternateLanguage<Document[\"type\"], Document[\"lang\"]> => {\n\treturn {\n\t\tid: config.document.id,\n\t\ttype: config.document.type,\n\t\tlang: config.document.lang,\n\t\tuid: config.document.uid || undefined,\n\t};\n};\n"],"names":[],"mappings":"AAMa,MAAA,2BAA2B,CAGvC,WACkE;AAC3D,SAAA;AAAA,IACN,IAAI,OAAO,SAAS;AAAA,IACpB,MAAM,OAAO,SAAS;AAAA,IACtB,MAAM,OAAO,SAAS;AAAA,IACtB,KAAK,OAAO,SAAS,OAAO;AAAA,EAAA;AAE9B;"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const prismic = require("@prismicio/client");
4
+ function _interopNamespaceDefault(e) {
5
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
6
+ if (e) {
7
+ for (const k in e) {
8
+ if (k !== "default") {
9
+ const d = Object.getOwnPropertyDescriptor(e, k);
10
+ Object.defineProperty(n, k, d.get ? d : {
11
+ enumerable: true,
12
+ get: () => e[k]
13
+ });
14
+ }
15
+ }
16
+ }
17
+ n.default = e;
18
+ return Object.freeze(n);
19
+ }
20
+ const prismic__namespace = /* @__PURE__ */ _interopNamespaceDefault(prismic);
21
+ const buildContentRelationshipField = (config) => {
22
+ return {
23
+ link_type: prismic__namespace.LinkType.Document,
24
+ id: config.document.id,
25
+ uid: config.document.uid || void 0,
26
+ type: config.document.type,
27
+ tags: config.document.tags,
28
+ lang: config.document.lang,
29
+ url: config.document.url || void 0,
30
+ slug: config.document.slugs[0],
31
+ isBroken: false
32
+ };
33
+ };
34
+ exports.buildContentRelationshipField = buildContentRelationshipField;
35
+ //# sourceMappingURL=buildContentRelationshipField.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildContentRelationshipField.cjs","sources":["../../../src/lib/buildContentRelationshipField.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\ntype BuildEmbedFieldConfig<Document extends prismic.PrismicDocument> = {\n\tdocument: Document;\n};\n\nexport const buildContentRelationshipField = <\n\tDocument extends prismic.PrismicDocument,\n>(\n\tconfig: BuildEmbedFieldConfig<Document>,\n): prismic.ContentRelationshipField<\n\tDocument[\"type\"],\n\tDocument[\"lang\"],\n\tnever,\n\t\"filled\"\n> => {\n\treturn {\n\t\tlink_type: prismic.LinkType.Document,\n\t\tid: config.document.id,\n\t\tuid: config.document.uid || undefined,\n\t\ttype: config.document.type,\n\t\ttags: config.document.tags,\n\t\tlang: config.document.lang,\n\t\turl: config.document.url || undefined,\n\t\tslug: config.document.slugs[0],\n\t\tisBroken: false,\n\t};\n};\n"],"names":["prismic"],"mappings":";;;;;;;;;;;;;;;;;;;;AAMa,MAAA,gCAAgC,CAG5C,WAMG;AACI,SAAA;AAAA,IACN,WAAWA,mBAAQ,SAAS;AAAA,IAC5B,IAAI,OAAO,SAAS;AAAA,IACpB,KAAK,OAAO,SAAS,OAAO;AAAA,IAC5B,MAAM,OAAO,SAAS;AAAA,IACtB,MAAM,OAAO,SAAS;AAAA,IACtB,MAAM,OAAO,SAAS;AAAA,IACtB,KAAK,OAAO,SAAS,OAAO;AAAA,IAC5B,MAAM,OAAO,SAAS,MAAM,CAAC;AAAA,IAC7B,UAAU;AAAA,EAAA;AAEZ;;"}
@@ -0,0 +1,6 @@
1
+ import * as prismic from "@prismicio/client";
2
+ type BuildEmbedFieldConfig<Document extends prismic.PrismicDocument> = {
3
+ document: Document;
4
+ };
5
+ export declare const buildContentRelationshipField: <Document_1 extends prismic.PrismicDocument<Record<string, any>, string, string>>(config: BuildEmbedFieldConfig<Document_1>) => prismic.FilledContentRelationshipField<Document_1["type"], Document_1["lang"], never>;
6
+ export {};
@@ -0,0 +1,18 @@
1
+ import * as prismic from "@prismicio/client";
2
+ const buildContentRelationshipField = (config) => {
3
+ return {
4
+ link_type: prismic.LinkType.Document,
5
+ id: config.document.id,
6
+ uid: config.document.uid || void 0,
7
+ type: config.document.type,
8
+ tags: config.document.tags,
9
+ lang: config.document.lang,
10
+ url: config.document.url || void 0,
11
+ slug: config.document.slugs[0],
12
+ isBroken: false
13
+ };
14
+ };
15
+ export {
16
+ buildContentRelationshipField
17
+ };
18
+ //# sourceMappingURL=buildContentRelationshipField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildContentRelationshipField.js","sources":["../../../src/lib/buildContentRelationshipField.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\ntype BuildEmbedFieldConfig<Document extends prismic.PrismicDocument> = {\n\tdocument: Document;\n};\n\nexport const buildContentRelationshipField = <\n\tDocument extends prismic.PrismicDocument,\n>(\n\tconfig: BuildEmbedFieldConfig<Document>,\n): prismic.ContentRelationshipField<\n\tDocument[\"type\"],\n\tDocument[\"lang\"],\n\tnever,\n\t\"filled\"\n> => {\n\treturn {\n\t\tlink_type: prismic.LinkType.Document,\n\t\tid: config.document.id,\n\t\tuid: config.document.uid || undefined,\n\t\ttype: config.document.type,\n\t\ttags: config.document.tags,\n\t\tlang: config.document.lang,\n\t\turl: config.document.url || undefined,\n\t\tslug: config.document.slugs[0],\n\t\tisBroken: false,\n\t};\n};\n"],"names":[],"mappings":";AAMa,MAAA,gCAAgC,CAG5C,WAMG;AACI,SAAA;AAAA,IACN,WAAW,QAAQ,SAAS;AAAA,IAC5B,IAAI,OAAO,SAAS;AAAA,IACpB,KAAK,OAAO,SAAS,OAAO;AAAA,IAC5B,MAAM,OAAO,SAAS;AAAA,IACtB,MAAM,OAAO,SAAS;AAAA,IACtB,MAAM,OAAO,SAAS;AAAA,IACtB,KAAK,OAAO,SAAS,OAAO;AAAA,IAC5B,MAAM,OAAO,SAAS,MAAM,CAAC;AAAA,IAC7B,UAAU;AAAA,EAAA;AAEZ;"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const createFaker = require("./createFaker.cjs");
4
+ const buildEmbedField = (config) => {
5
+ const faker = config.faker || createFaker.createFaker(config.seed);
6
+ return {
7
+ embed_url: config.url ?? faker.url(),
8
+ html: `<div>embed html</div>`,
9
+ ...config.data
10
+ };
11
+ };
12
+ exports.buildEmbedField = buildEmbedField;
13
+ //# sourceMappingURL=buildEmbedField.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildEmbedField.cjs","sources":["../../../src/lib/buildEmbedField.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport { Seed } from \"../types\";\n\ntype BuildEmbedFieldConfig<Data extends prismic.AnyOEmbed = prismic.AnyOEmbed> =\n\t{\n\t\turl?: string;\n\t\thtml?: string;\n\t\tdata: Data;\n\t} & (\n\t\t| {\n\t\t\t\tseed: Seed;\n\t\t\t\tfaker?: never;\n\t\t }\n\t\t| {\n\t\t\t\tfaker: Faker;\n\t\t\t\tseed?: never;\n\t\t }\n\t);\n\nexport const buildEmbedField = <\n\tData extends prismic.AnyOEmbed = prismic.AnyOEmbed,\n>(\n\tconfig: BuildEmbedFieldConfig<Data>,\n): prismic.EmbedField<Data, \"filled\"> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\treturn {\n\t\tembed_url: config.url ?? faker.url(),\n\t\thtml: `<div>embed html</div>`,\n\t\t...config.data,\n\t} as prismic.EmbedField<Data, \"filled\">;\n};\n"],"names":["createFaker"],"mappings":";;;AAsBa,MAAA,kBAAkB,CAG9B,WACuC;AACvC,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAE9C,SAAA;AAAA,IACN,WAAW,OAAO,OAAO,MAAM,IAAK;AAAA,IACpC,MAAM;AAAA,IACN,GAAG,OAAO;AAAA,EAAA;AAEZ;;"}
@@ -0,0 +1,19 @@
1
+ import * as prismic from "@prismicio/client";
2
+ import { Faker } from "../lib/createFaker";
3
+ import { Seed } from "../types";
4
+ type BuildEmbedFieldConfig<Data extends prismic.AnyOEmbed = prismic.AnyOEmbed> = {
5
+ url?: string;
6
+ html?: string;
7
+ data: Data;
8
+ } & ({
9
+ seed: Seed;
10
+ faker?: never;
11
+ } | {
12
+ faker: Faker;
13
+ seed?: never;
14
+ });
15
+ export declare const buildEmbedField: <Data extends prismic.AnyOEmbed = prismic.AnyOEmbed>(config: BuildEmbedFieldConfig<Data>) => Data & {
16
+ embed_url: string;
17
+ html: string | null;
18
+ };
19
+ export {};
@@ -0,0 +1,13 @@
1
+ import { createFaker } from "./createFaker.js";
2
+ const buildEmbedField = (config) => {
3
+ const faker = config.faker || createFaker(config.seed);
4
+ return {
5
+ embed_url: config.url ?? faker.url(),
6
+ html: `<div>embed html</div>`,
7
+ ...config.data
8
+ };
9
+ };
10
+ export {
11
+ buildEmbedField
12
+ };
13
+ //# sourceMappingURL=buildEmbedField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildEmbedField.js","sources":["../../../src/lib/buildEmbedField.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport { Seed } from \"../types\";\n\ntype BuildEmbedFieldConfig<Data extends prismic.AnyOEmbed = prismic.AnyOEmbed> =\n\t{\n\t\turl?: string;\n\t\thtml?: string;\n\t\tdata: Data;\n\t} & (\n\t\t| {\n\t\t\t\tseed: Seed;\n\t\t\t\tfaker?: never;\n\t\t }\n\t\t| {\n\t\t\t\tfaker: Faker;\n\t\t\t\tseed?: never;\n\t\t }\n\t);\n\nexport const buildEmbedField = <\n\tData extends prismic.AnyOEmbed = prismic.AnyOEmbed,\n>(\n\tconfig: BuildEmbedFieldConfig<Data>,\n): prismic.EmbedField<Data, \"filled\"> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\treturn {\n\t\tembed_url: config.url ?? faker.url(),\n\t\thtml: `<div>embed html</div>`,\n\t\t...config.data,\n\t} as prismic.EmbedField<Data, \"filled\">;\n};\n"],"names":[],"mappings":";AAsBa,MAAA,kBAAkB,CAG9B,WACuC;AACvC,QAAM,QAAQ,OAAO,SAAS,YAAY,OAAO,IAAI;AAE9C,SAAA;AAAA,IACN,WAAW,OAAO,OAAO,MAAM,IAAK;AAAA,IACpC,MAAM;AAAA,IACN,GAAG,OAAO;AAAA,EAAA;AAEZ;"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const changeCase = require("change-case");
4
+ const createFaker = require("./createFaker.cjs");
5
+ function _interopNamespaceDefault(e) {
6
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
7
+ if (e) {
8
+ for (const k in e) {
9
+ if (k !== "default") {
10
+ const d = Object.getOwnPropertyDescriptor(e, k);
11
+ Object.defineProperty(n, k, d.get ? d : {
12
+ enumerable: true,
13
+ get: () => e[k]
14
+ });
15
+ }
16
+ }
17
+ }
18
+ n.default = e;
19
+ return Object.freeze(n);
20
+ }
21
+ const changeCase__namespace = /* @__PURE__ */ _interopNamespaceDefault(changeCase);
22
+ const buildImageFieldImage = (config) => {
23
+ var _a, _b;
24
+ if (config.state === "empty") {
25
+ return {
26
+ url: null,
27
+ dimensions: null,
28
+ alt: null,
29
+ copyright: null
30
+ };
31
+ } else {
32
+ const faker = config.faker || createFaker.createFaker(config.seed);
33
+ const url = new URL(config.imageData.url);
34
+ const dimensions = {
35
+ width: ((_a = config.constraint) == null ? void 0 : _a.width) ?? config.imageData.width,
36
+ height: ((_b = config.constraint) == null ? void 0 : _b.height) ?? config.imageData.height
37
+ };
38
+ url.searchParams.set("w", dimensions.width.toString());
39
+ url.searchParams.set("h", dimensions.height.toString());
40
+ url.searchParams.set("fit", "crop");
41
+ return {
42
+ url: url.toString(),
43
+ dimensions,
44
+ alt: changeCase__namespace.sentenceCase(faker.words(faker.range(5, 15))),
45
+ copyright: changeCase__namespace.sentenceCase(faker.words(faker.range(5, 15)))
46
+ };
47
+ }
48
+ };
49
+ exports.buildImageFieldImage = buildImageFieldImage;
50
+ //# sourceMappingURL=buildImageFieldImage.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildImageFieldImage.cjs","sources":["../../../src/lib/buildImageFieldImage.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport { MockValueStateConfig, MockImageData, Seed } from \"../types\";\n\ntype BuildImageFieldConfig<\n\tState extends prismic.FieldState = prismic.FieldState,\n> = {\n\timageData: MockImageData;\n\tconstraint?: NonNullable<\n\t\tprismic.CustomTypeModelImageField[\"config\"]\n\t>[\"constraint\"];\n} & (\n\t| {\n\t\t\tseed: Seed;\n\t\t\tfaker?: never;\n\t }\n\t| {\n\t\t\tfaker: Faker;\n\t\t\tseed?: never;\n\t }\n) &\n\tPick<MockValueStateConfig<State>, \"state\">;\n\nexport const buildImageFieldImage = <\n\tState extends prismic.FieldState = prismic.FieldState,\n>(\n\tconfig: BuildImageFieldConfig<State>,\n): prismic.ImageFieldImage<State> => {\n\tif (config.state === \"empty\") {\n\t\treturn {\n\t\t\turl: null,\n\t\t\tdimensions: null,\n\t\t\talt: null,\n\t\t\tcopyright: null,\n\t\t} as prismic.ImageFieldImage<State>;\n\t} else {\n\t\tconst faker = config.faker || createFaker(config.seed);\n\n\t\tconst url = new URL(config.imageData.url);\n\n\t\tconst dimensions = {\n\t\t\twidth: config.constraint?.width ?? config.imageData.width,\n\t\t\theight: config.constraint?.height ?? config.imageData.height,\n\t\t};\n\n\t\turl.searchParams.set(\"w\", dimensions.width.toString());\n\t\turl.searchParams.set(\"h\", dimensions.height.toString());\n\t\turl.searchParams.set(\"fit\", \"crop\");\n\n\t\treturn {\n\t\t\turl: url.toString(),\n\t\t\tdimensions,\n\t\t\talt: changeCase.sentenceCase(faker.words(faker.range(5, 15))),\n\t\t\tcopyright: changeCase.sentenceCase(faker.words(faker.range(5, 15))),\n\t\t} as prismic.ImageFieldImage<State>;\n\t}\n};\n"],"names":["createFaker","changeCase"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA0Ba,MAAA,uBAAuB,CAGnC,WACmC;;AAC/B,MAAA,OAAO,UAAU,SAAS;AACtB,WAAA;AAAA,MACN,KAAK;AAAA,MACL,YAAY;AAAA,MACZ,KAAK;AAAA,MACL,WAAW;AAAA,IAAA;AAAA,SAEN;AACN,UAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAErD,UAAM,MAAM,IAAI,IAAI,OAAO,UAAU,GAAG;AAExC,UAAM,aAAa;AAAA,MAClB,SAAO,YAAO,eAAP,mBAAmB,UAAS,OAAO,UAAU;AAAA,MACpD,UAAQ,YAAO,eAAP,mBAAmB,WAAU,OAAO,UAAU;AAAA,IAAA;AAGvD,QAAI,aAAa,IAAI,KAAK,WAAW,MAAM,UAAU;AACrD,QAAI,aAAa,IAAI,KAAK,WAAW,OAAO,UAAU;AAClD,QAAA,aAAa,IAAI,OAAO,MAAM;AAE3B,WAAA;AAAA,MACN,KAAK,IAAI,SAAU;AAAA,MACnB;AAAA,MACA,KAAKC,sBAAW,aAAa,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,MAC5D,WAAWA,sBAAW,aAAa,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IAAA;AAAA,EAEnE;AACF;;"}
@@ -0,0 +1,15 @@
1
+ import * as prismic from "@prismicio/client";
2
+ import { Faker } from "../lib/createFaker";
3
+ import { MockValueStateConfig, MockImageData, Seed } from "../types";
4
+ type BuildImageFieldConfig<State extends prismic.FieldState = prismic.FieldState> = {
5
+ imageData: MockImageData;
6
+ constraint?: NonNullable<prismic.CustomTypeModelImageField["config"]>["constraint"];
7
+ } & ({
8
+ seed: Seed;
9
+ faker?: never;
10
+ } | {
11
+ faker: Faker;
12
+ seed?: never;
13
+ }) & Pick<MockValueStateConfig<State>, "state">;
14
+ export declare const buildImageFieldImage: <State extends prismic.FieldState = prismic.FieldState>(config: BuildImageFieldConfig<State>) => prismic.ImageFieldImage<State>;
15
+ export {};
@@ -0,0 +1,33 @@
1
+ import * as changeCase from "change-case";
2
+ import { createFaker } from "./createFaker.js";
3
+ const buildImageFieldImage = (config) => {
4
+ var _a, _b;
5
+ if (config.state === "empty") {
6
+ return {
7
+ url: null,
8
+ dimensions: null,
9
+ alt: null,
10
+ copyright: null
11
+ };
12
+ } else {
13
+ const faker = config.faker || createFaker(config.seed);
14
+ const url = new URL(config.imageData.url);
15
+ const dimensions = {
16
+ width: ((_a = config.constraint) == null ? void 0 : _a.width) ?? config.imageData.width,
17
+ height: ((_b = config.constraint) == null ? void 0 : _b.height) ?? config.imageData.height
18
+ };
19
+ url.searchParams.set("w", dimensions.width.toString());
20
+ url.searchParams.set("h", dimensions.height.toString());
21
+ url.searchParams.set("fit", "crop");
22
+ return {
23
+ url: url.toString(),
24
+ dimensions,
25
+ alt: changeCase.sentenceCase(faker.words(faker.range(5, 15))),
26
+ copyright: changeCase.sentenceCase(faker.words(faker.range(5, 15)))
27
+ };
28
+ }
29
+ };
30
+ export {
31
+ buildImageFieldImage
32
+ };
33
+ //# sourceMappingURL=buildImageFieldImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildImageFieldImage.js","sources":["../../../src/lib/buildImageFieldImage.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport { MockValueStateConfig, MockImageData, Seed } from \"../types\";\n\ntype BuildImageFieldConfig<\n\tState extends prismic.FieldState = prismic.FieldState,\n> = {\n\timageData: MockImageData;\n\tconstraint?: NonNullable<\n\t\tprismic.CustomTypeModelImageField[\"config\"]\n\t>[\"constraint\"];\n} & (\n\t| {\n\t\t\tseed: Seed;\n\t\t\tfaker?: never;\n\t }\n\t| {\n\t\t\tfaker: Faker;\n\t\t\tseed?: never;\n\t }\n) &\n\tPick<MockValueStateConfig<State>, \"state\">;\n\nexport const buildImageFieldImage = <\n\tState extends prismic.FieldState = prismic.FieldState,\n>(\n\tconfig: BuildImageFieldConfig<State>,\n): prismic.ImageFieldImage<State> => {\n\tif (config.state === \"empty\") {\n\t\treturn {\n\t\t\turl: null,\n\t\t\tdimensions: null,\n\t\t\talt: null,\n\t\t\tcopyright: null,\n\t\t} as prismic.ImageFieldImage<State>;\n\t} else {\n\t\tconst faker = config.faker || createFaker(config.seed);\n\n\t\tconst url = new URL(config.imageData.url);\n\n\t\tconst dimensions = {\n\t\t\twidth: config.constraint?.width ?? config.imageData.width,\n\t\t\theight: config.constraint?.height ?? config.imageData.height,\n\t\t};\n\n\t\turl.searchParams.set(\"w\", dimensions.width.toString());\n\t\turl.searchParams.set(\"h\", dimensions.height.toString());\n\t\turl.searchParams.set(\"fit\", \"crop\");\n\n\t\treturn {\n\t\t\turl: url.toString(),\n\t\t\tdimensions,\n\t\t\talt: changeCase.sentenceCase(faker.words(faker.range(5, 15))),\n\t\t\tcopyright: changeCase.sentenceCase(faker.words(faker.range(5, 15))),\n\t\t} as prismic.ImageFieldImage<State>;\n\t}\n};\n"],"names":[],"mappings":";;AA0Ba,MAAA,uBAAuB,CAGnC,WACmC;;AAC/B,MAAA,OAAO,UAAU,SAAS;AACtB,WAAA;AAAA,MACN,KAAK;AAAA,MACL,YAAY;AAAA,MACZ,KAAK;AAAA,MACL,WAAW;AAAA,IAAA;AAAA,SAEN;AACN,UAAM,QAAQ,OAAO,SAAS,YAAY,OAAO,IAAI;AAErD,UAAM,MAAM,IAAI,IAAI,OAAO,UAAU,GAAG;AAExC,UAAM,aAAa;AAAA,MAClB,SAAO,YAAO,eAAP,mBAAmB,UAAS,OAAO,UAAU;AAAA,MACpD,UAAQ,YAAO,eAAP,mBAAmB,WAAU,OAAO,UAAU;AAAA,IAAA;AAGvD,QAAI,aAAa,IAAI,KAAK,WAAW,MAAM,UAAU;AACrD,QAAI,aAAa,IAAI,KAAK,WAAW,OAAO,UAAU;AAClD,QAAA,aAAa,IAAI,OAAO,MAAM;AAE3B,WAAA;AAAA,MACN,KAAK,IAAI,SAAU;AAAA,MACnB;AAAA,MACA,KAAK,WAAW,aAAa,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,MAC5D,WAAW,WAAW,aAAa,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IAAA;AAAA,EAEnE;AACF;"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => {
5
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
6
+ return value;
7
+ };
8
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
9
+ const lorem = require("./lorem.cjs");
10
+ const PRNG = require("./PRNG.cjs");
11
+ const createFaker = (seed) => {
12
+ return new Faker(seed);
13
+ };
14
+ const DAY_MS = 1e3 * 60 * 60 * 24;
15
+ const YEAR_MS = DAY_MS * 365;
16
+ const YEAR_2022_MS = 52 * (YEAR_MS + DAY_MS / 4);
17
+ class Faker {
18
+ constructor(seed) {
19
+ __publicField(this, "seed");
20
+ __publicField(this, "prng");
21
+ this.seed = seed;
22
+ this.prng = new PRNG.PRNG(seed.toString());
23
+ }
24
+ random() {
25
+ return this.prng.next();
26
+ }
27
+ boolean() {
28
+ return this.random() >= 0.5;
29
+ }
30
+ randomElement(elements) {
31
+ return elements[this.range(0, elements.length)];
32
+ }
33
+ randomElements(elements) {
34
+ const alwaysInclude = this.randomElement(elements);
35
+ return elements.filter((element) => element === alwaysInclude || this.boolean());
36
+ }
37
+ range(min, max) {
38
+ return Math.floor(this.rangeFloat(Math.ceil(min), Math.floor(max)));
39
+ }
40
+ rangeFloat(min, max) {
41
+ return this.random() * (max - min) + min;
42
+ }
43
+ words(length, wordOffset = this.range(0, lorem.loremWords.length)) {
44
+ return lorem.lorem(`${length}w`, wordOffset);
45
+ }
46
+ word() {
47
+ return this.randomElement(lorem.loremWords);
48
+ }
49
+ lorem(length, wordOffset = this.range(0, lorem.loremWords.length)) {
50
+ return lorem.lorem(length, wordOffset);
51
+ }
52
+ url() {
53
+ return `https://${this.word()}.example`;
54
+ }
55
+ hexColor() {
56
+ return `#${this.hash(6)}`;
57
+ }
58
+ hash(length) {
59
+ let hash = "";
60
+ for (let i = 0; i < length; i++) {
61
+ const chars = this.boolean() ? "abcdef" : "0123456789";
62
+ hash += chars[this.range(0, chars.length)];
63
+ }
64
+ return hash;
65
+ }
66
+ date() {
67
+ return new Date(YEAR_2022_MS + this.range(-YEAR_MS * 3, YEAR_MS * 3));
68
+ }
69
+ dateAfter(date) {
70
+ const timestamp = date.getTime();
71
+ return new Date(this.range(timestamp, timestamp + YEAR_MS * 3));
72
+ }
73
+ dateBefore(date) {
74
+ const timestamp = date.getTime();
75
+ return new Date(this.range(timestamp - YEAR_MS * 3, timestamp));
76
+ }
77
+ dateBetween(min, max) {
78
+ return new Date(this.range(min.getTime(), max.getTime()));
79
+ }
80
+ }
81
+ exports.Faker = Faker;
82
+ exports.createFaker = createFaker;
83
+ //# sourceMappingURL=createFaker.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFaker.cjs","sources":["../../../src/lib/createFaker.ts"],"sourcesContent":["import { Seed } from \"../types\";\n\nimport { lorem, loremWords } from \"./lorem\";\nimport { PRNG } from \"./PRNG\";\n\nexport const createFaker = (seed: Seed): Faker => {\n\treturn new Faker(seed);\n};\n\nconst DAY_MS = 1000 * 60 * 60 * 24;\nconst YEAR_MS = DAY_MS * 365;\nconst YEAR_2022_MS = 52 * (YEAR_MS + DAY_MS / 4);\n\nexport class Faker {\n\tseed: Seed;\n\n\tprivate prng: PRNG;\n\n\tconstructor(seed: Seed) {\n\t\tthis.seed = seed;\n\n\t\tthis.prng = new PRNG(seed.toString());\n\t}\n\n\trandom(): number {\n\t\treturn this.prng.next();\n\t}\n\n\tboolean(): boolean {\n\t\treturn this.random() >= 0.5;\n\t}\n\n\trandomElement<T>(elements: readonly T[]): T {\n\t\treturn elements[this.range(0, elements.length)];\n\t}\n\n\trandomElements<T>(elements: readonly T[]): T[] {\n\t\tconst alwaysInclude = this.randomElement(elements);\n\n\t\treturn elements.filter(\n\t\t\t(element) => element === alwaysInclude || this.boolean(),\n\t\t);\n\t}\n\n\trange(min: number, max: number): number {\n\t\treturn Math.floor(this.rangeFloat(Math.ceil(min), Math.floor(max)));\n\t}\n\n\trangeFloat(min: number, max: number): number {\n\t\treturn this.random() * (max - min) + min;\n\t}\n\n\twords(length: number, wordOffset = this.range(0, loremWords.length)): string {\n\t\treturn lorem(`${length}w`, wordOffset);\n\t}\n\n\tword(): string {\n\t\treturn this.randomElement(loremWords);\n\t}\n\n\tlorem(\n\t\tlength: Parameters<typeof lorem>[0],\n\t\twordOffset = this.range(0, loremWords.length),\n\t): string {\n\t\treturn lorem(length, wordOffset);\n\t}\n\n\turl(): string {\n\t\treturn `https://${this.word()}.example`;\n\t}\n\n\thexColor(): string {\n\t\treturn `#${this.hash(6)}`;\n\t}\n\n\thash(length: number): string {\n\t\tlet hash = \"\";\n\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tconst chars = this.boolean() ? \"abcdef\" : \"0123456789\";\n\n\t\t\thash += chars[this.range(0, chars.length)];\n\t\t}\n\n\t\treturn hash;\n\t}\n\n\tdate(): Date {\n\t\treturn new Date(YEAR_2022_MS + this.range(-YEAR_MS * 3, YEAR_MS * 3));\n\t}\n\n\tdateAfter(date: Date): Date {\n\t\tconst timestamp = date.getTime();\n\n\t\treturn new Date(this.range(timestamp, timestamp + YEAR_MS * 3));\n\t}\n\n\tdateBefore(date: Date): Date {\n\t\tconst timestamp = date.getTime();\n\n\t\treturn new Date(this.range(timestamp - YEAR_MS * 3, timestamp));\n\t}\n\n\tdateBetween(min: Date, max: Date): Date {\n\t\treturn new Date(this.range(min.getTime(), max.getTime()));\n\t}\n}\n"],"names":["PRNG","loremWords","lorem"],"mappings":";;;;;;;;;;AAKa,MAAA,cAAc,CAAC,SAAqB;AACzC,SAAA,IAAI,MAAM,IAAI;AACtB;AAEA,MAAM,SAAS,MAAO,KAAK,KAAK;AAChC,MAAM,UAAU,SAAS;AACzB,MAAM,eAAe,MAAM,UAAU,SAAS;MAEjC,MAAK;AAAA,EAKjB,YAAY,MAAU;AAJtB;AAEQ;AAGP,SAAK,OAAO;AAEZ,SAAK,OAAO,IAAIA,KAAAA,KAAK,KAAK,SAAU,CAAA;AAAA,EACrC;AAAA,EAEA,SAAM;AACE,WAAA,KAAK,KAAK;EAClB;AAAA,EAEA,UAAO;AACC,WAAA,KAAK,OAAY,KAAA;AAAA,EACzB;AAAA,EAEA,cAAiB,UAAsB;AACtC,WAAO,SAAS,KAAK,MAAM,GAAG,SAAS,MAAM,CAAC;AAAA,EAC/C;AAAA,EAEA,eAAkB,UAAsB;AACjC,UAAA,gBAAgB,KAAK,cAAc,QAAQ;AAE1C,WAAA,SAAS,OACf,CAAC,YAAY,YAAY,iBAAiB,KAAK,SAAS;AAAA,EAE1D;AAAA,EAEA,MAAM,KAAa,KAAW;AAC7B,WAAO,KAAK,MAAM,KAAK,WAAW,KAAK,KAAK,GAAG,GAAG,KAAK,MAAM,GAAG,CAAC,CAAC;AAAA,EACnE;AAAA,EAEA,WAAW,KAAa,KAAW;AAClC,WAAO,KAAK,OAAY,KAAA,MAAM,OAAO;AAAA,EACtC;AAAA,EAEA,MAAM,QAAgB,aAAa,KAAK,MAAM,GAAGC,MAAAA,WAAW,MAAM,GAAC;AAC3D,WAAAC,MAAAA,MAAM,GAAG,WAAW,UAAU;AAAA,EACtC;AAAA,EAEA,OAAI;AACI,WAAA,KAAK,cAAcD,MAAAA,UAAU;AAAA,EACrC;AAAA,EAEA,MACC,QACA,aAAa,KAAK,MAAM,GAAGA,MAAAA,WAAW,MAAM,GAAC;AAEtC,WAAAC,MAAA,MAAM,QAAQ,UAAU;AAAA,EAChC;AAAA,EAEA,MAAG;AACK,WAAA,WAAW,KAAK,KAAI;AAAA,EAC5B;AAAA,EAEA,WAAQ;AACA,WAAA,IAAI,KAAK,KAAK,CAAC;AAAA,EACvB;AAAA,EAEA,KAAK,QAAc;AAClB,QAAI,OAAO;AAEX,aAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAChC,YAAM,QAAQ,KAAK,QAAS,IAAG,WAAW;AAE1C,cAAQ,MAAM,KAAK,MAAM,GAAG,MAAM,MAAM,CAAC;AAAA,IACzC;AAEM,WAAA;AAAA,EACR;AAAA,EAEA,OAAI;AACI,WAAA,IAAI,KAAK,eAAe,KAAK,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;AAAA,EACrE;AAAA,EAEA,UAAU,MAAU;AACb,UAAA,YAAY,KAAK;AAEhB,WAAA,IAAI,KAAK,KAAK,MAAM,WAAW,YAAY,UAAU,CAAC,CAAC;AAAA,EAC/D;AAAA,EAEA,WAAW,MAAU;AACd,UAAA,YAAY,KAAK;AAEhB,WAAA,IAAI,KAAK,KAAK,MAAM,YAAY,UAAU,GAAG,SAAS,CAAC;AAAA,EAC/D;AAAA,EAEA,YAAY,KAAW,KAAS;AACxB,WAAA,IAAI,KAAK,KAAK,MAAM,IAAI,WAAW,IAAI,QAAS,CAAA,CAAC;AAAA,EACzD;AACA;;;"}
@@ -0,0 +1,24 @@
1
+ import { Seed } from "../types";
2
+ import { lorem } from "./lorem";
3
+ export declare const createFaker: (seed: Seed) => Faker;
4
+ export declare class Faker {
5
+ seed: Seed;
6
+ private prng;
7
+ constructor(seed: Seed);
8
+ random(): number;
9
+ boolean(): boolean;
10
+ randomElement<T>(elements: readonly T[]): T;
11
+ randomElements<T>(elements: readonly T[]): T[];
12
+ range(min: number, max: number): number;
13
+ rangeFloat(min: number, max: number): number;
14
+ words(length: number, wordOffset?: number): string;
15
+ word(): string;
16
+ lorem(length: Parameters<typeof lorem>[0], wordOffset?: number): string;
17
+ url(): string;
18
+ hexColor(): string;
19
+ hash(length: number): string;
20
+ date(): Date;
21
+ dateAfter(date: Date): Date;
22
+ dateBefore(date: Date): Date;
23
+ dateBetween(min: Date, max: Date): Date;
24
+ }
@@ -0,0 +1,83 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => {
4
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ return value;
6
+ };
7
+ import { lorem, loremWords } from "./lorem.js";
8
+ import { PRNG } from "./PRNG.js";
9
+ const createFaker = (seed) => {
10
+ return new Faker(seed);
11
+ };
12
+ const DAY_MS = 1e3 * 60 * 60 * 24;
13
+ const YEAR_MS = DAY_MS * 365;
14
+ const YEAR_2022_MS = 52 * (YEAR_MS + DAY_MS / 4);
15
+ class Faker {
16
+ constructor(seed) {
17
+ __publicField(this, "seed");
18
+ __publicField(this, "prng");
19
+ this.seed = seed;
20
+ this.prng = new PRNG(seed.toString());
21
+ }
22
+ random() {
23
+ return this.prng.next();
24
+ }
25
+ boolean() {
26
+ return this.random() >= 0.5;
27
+ }
28
+ randomElement(elements) {
29
+ return elements[this.range(0, elements.length)];
30
+ }
31
+ randomElements(elements) {
32
+ const alwaysInclude = this.randomElement(elements);
33
+ return elements.filter((element) => element === alwaysInclude || this.boolean());
34
+ }
35
+ range(min, max) {
36
+ return Math.floor(this.rangeFloat(Math.ceil(min), Math.floor(max)));
37
+ }
38
+ rangeFloat(min, max) {
39
+ return this.random() * (max - min) + min;
40
+ }
41
+ words(length, wordOffset = this.range(0, loremWords.length)) {
42
+ return lorem(`${length}w`, wordOffset);
43
+ }
44
+ word() {
45
+ return this.randomElement(loremWords);
46
+ }
47
+ lorem(length, wordOffset = this.range(0, loremWords.length)) {
48
+ return lorem(length, wordOffset);
49
+ }
50
+ url() {
51
+ return `https://${this.word()}.example`;
52
+ }
53
+ hexColor() {
54
+ return `#${this.hash(6)}`;
55
+ }
56
+ hash(length) {
57
+ let hash = "";
58
+ for (let i = 0; i < length; i++) {
59
+ const chars = this.boolean() ? "abcdef" : "0123456789";
60
+ hash += chars[this.range(0, chars.length)];
61
+ }
62
+ return hash;
63
+ }
64
+ date() {
65
+ return new Date(YEAR_2022_MS + this.range(-YEAR_MS * 3, YEAR_MS * 3));
66
+ }
67
+ dateAfter(date) {
68
+ const timestamp = date.getTime();
69
+ return new Date(this.range(timestamp, timestamp + YEAR_MS * 3));
70
+ }
71
+ dateBefore(date) {
72
+ const timestamp = date.getTime();
73
+ return new Date(this.range(timestamp - YEAR_MS * 3, timestamp));
74
+ }
75
+ dateBetween(min, max) {
76
+ return new Date(this.range(min.getTime(), max.getTime()));
77
+ }
78
+ }
79
+ export {
80
+ Faker,
81
+ createFaker
82
+ };
83
+ //# sourceMappingURL=createFaker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFaker.js","sources":["../../../src/lib/createFaker.ts"],"sourcesContent":["import { Seed } from \"../types\";\n\nimport { lorem, loremWords } from \"./lorem\";\nimport { PRNG } from \"./PRNG\";\n\nexport const createFaker = (seed: Seed): Faker => {\n\treturn new Faker(seed);\n};\n\nconst DAY_MS = 1000 * 60 * 60 * 24;\nconst YEAR_MS = DAY_MS * 365;\nconst YEAR_2022_MS = 52 * (YEAR_MS + DAY_MS / 4);\n\nexport class Faker {\n\tseed: Seed;\n\n\tprivate prng: PRNG;\n\n\tconstructor(seed: Seed) {\n\t\tthis.seed = seed;\n\n\t\tthis.prng = new PRNG(seed.toString());\n\t}\n\n\trandom(): number {\n\t\treturn this.prng.next();\n\t}\n\n\tboolean(): boolean {\n\t\treturn this.random() >= 0.5;\n\t}\n\n\trandomElement<T>(elements: readonly T[]): T {\n\t\treturn elements[this.range(0, elements.length)];\n\t}\n\n\trandomElements<T>(elements: readonly T[]): T[] {\n\t\tconst alwaysInclude = this.randomElement(elements);\n\n\t\treturn elements.filter(\n\t\t\t(element) => element === alwaysInclude || this.boolean(),\n\t\t);\n\t}\n\n\trange(min: number, max: number): number {\n\t\treturn Math.floor(this.rangeFloat(Math.ceil(min), Math.floor(max)));\n\t}\n\n\trangeFloat(min: number, max: number): number {\n\t\treturn this.random() * (max - min) + min;\n\t}\n\n\twords(length: number, wordOffset = this.range(0, loremWords.length)): string {\n\t\treturn lorem(`${length}w`, wordOffset);\n\t}\n\n\tword(): string {\n\t\treturn this.randomElement(loremWords);\n\t}\n\n\tlorem(\n\t\tlength: Parameters<typeof lorem>[0],\n\t\twordOffset = this.range(0, loremWords.length),\n\t): string {\n\t\treturn lorem(length, wordOffset);\n\t}\n\n\turl(): string {\n\t\treturn `https://${this.word()}.example`;\n\t}\n\n\thexColor(): string {\n\t\treturn `#${this.hash(6)}`;\n\t}\n\n\thash(length: number): string {\n\t\tlet hash = \"\";\n\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tconst chars = this.boolean() ? \"abcdef\" : \"0123456789\";\n\n\t\t\thash += chars[this.range(0, chars.length)];\n\t\t}\n\n\t\treturn hash;\n\t}\n\n\tdate(): Date {\n\t\treturn new Date(YEAR_2022_MS + this.range(-YEAR_MS * 3, YEAR_MS * 3));\n\t}\n\n\tdateAfter(date: Date): Date {\n\t\tconst timestamp = date.getTime();\n\n\t\treturn new Date(this.range(timestamp, timestamp + YEAR_MS * 3));\n\t}\n\n\tdateBefore(date: Date): Date {\n\t\tconst timestamp = date.getTime();\n\n\t\treturn new Date(this.range(timestamp - YEAR_MS * 3, timestamp));\n\t}\n\n\tdateBetween(min: Date, max: Date): Date {\n\t\treturn new Date(this.range(min.getTime(), max.getTime()));\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;AAKa,MAAA,cAAc,CAAC,SAAqB;AACzC,SAAA,IAAI,MAAM,IAAI;AACtB;AAEA,MAAM,SAAS,MAAO,KAAK,KAAK;AAChC,MAAM,UAAU,SAAS;AACzB,MAAM,eAAe,MAAM,UAAU,SAAS;MAEjC,MAAK;AAAA,EAKjB,YAAY,MAAU;AAJtB;AAEQ;AAGP,SAAK,OAAO;AAEZ,SAAK,OAAO,IAAI,KAAK,KAAK,SAAU,CAAA;AAAA,EACrC;AAAA,EAEA,SAAM;AACE,WAAA,KAAK,KAAK;EAClB;AAAA,EAEA,UAAO;AACC,WAAA,KAAK,OAAY,KAAA;AAAA,EACzB;AAAA,EAEA,cAAiB,UAAsB;AACtC,WAAO,SAAS,KAAK,MAAM,GAAG,SAAS,MAAM,CAAC;AAAA,EAC/C;AAAA,EAEA,eAAkB,UAAsB;AACjC,UAAA,gBAAgB,KAAK,cAAc,QAAQ;AAE1C,WAAA,SAAS,OACf,CAAC,YAAY,YAAY,iBAAiB,KAAK,SAAS;AAAA,EAE1D;AAAA,EAEA,MAAM,KAAa,KAAW;AAC7B,WAAO,KAAK,MAAM,KAAK,WAAW,KAAK,KAAK,GAAG,GAAG,KAAK,MAAM,GAAG,CAAC,CAAC;AAAA,EACnE;AAAA,EAEA,WAAW,KAAa,KAAW;AAClC,WAAO,KAAK,OAAY,KAAA,MAAM,OAAO;AAAA,EACtC;AAAA,EAEA,MAAM,QAAgB,aAAa,KAAK,MAAM,GAAG,WAAW,MAAM,GAAC;AAC3D,WAAA,MAAM,GAAG,WAAW,UAAU;AAAA,EACtC;AAAA,EAEA,OAAI;AACI,WAAA,KAAK,cAAc,UAAU;AAAA,EACrC;AAAA,EAEA,MACC,QACA,aAAa,KAAK,MAAM,GAAG,WAAW,MAAM,GAAC;AAEtC,WAAA,MAAM,QAAQ,UAAU;AAAA,EAChC;AAAA,EAEA,MAAG;AACK,WAAA,WAAW,KAAK,KAAI;AAAA,EAC5B;AAAA,EAEA,WAAQ;AACA,WAAA,IAAI,KAAK,KAAK,CAAC;AAAA,EACvB;AAAA,EAEA,KAAK,QAAc;AAClB,QAAI,OAAO;AAEX,aAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAChC,YAAM,QAAQ,KAAK,QAAS,IAAG,WAAW;AAE1C,cAAQ,MAAM,KAAK,MAAM,GAAG,MAAM,MAAM,CAAC;AAAA,IACzC;AAEM,WAAA;AAAA,EACR;AAAA,EAEA,OAAI;AACI,WAAA,IAAI,KAAK,eAAe,KAAK,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;AAAA,EACrE;AAAA,EAEA,UAAU,MAAU;AACb,UAAA,YAAY,KAAK;AAEhB,WAAA,IAAI,KAAK,KAAK,MAAM,WAAW,YAAY,UAAU,CAAC,CAAC;AAAA,EAC/D;AAAA,EAEA,WAAW,MAAU;AACd,UAAA,YAAY,KAAK;AAEhB,WAAA,IAAI,KAAK,KAAK,MAAM,YAAY,UAAU,GAAG,SAAS,CAAC;AAAA,EAC/D;AAAA,EAEA,YAAY,KAAW,KAAS;AACxB,WAAA,IAAI,KAAK,KAAK,MAAM,IAAI,WAAW,IAAI,QAAS,CAAA,CAAC;AAAA,EACzD;AACA;"}