@sanity/validation 2.30.0 → 2.30.1-dev-preview.1013

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 (191) hide show
  1. package/{dist/dts → lib/dts/src}/Rule.d.ts +3 -3
  2. package/lib/dts/src/Rule.d.ts.map +1 -0
  3. package/lib/dts/src/Rule.js +336 -0
  4. package/lib/dts/src/Rule.js.map +1 -0
  5. package/{dist/dts → lib/dts/src}/ValidationError.d.ts +3 -3
  6. package/lib/dts/src/ValidationError.d.ts.map +1 -0
  7. package/lib/dts/src/ValidationError.js +18 -0
  8. package/lib/dts/src/ValidationError.js.map +1 -0
  9. package/{dist/dts → lib/dts/src}/index.d.ts +12 -12
  10. package/lib/dts/src/index.d.ts.map +1 -0
  11. package/lib/dts/src/index.js +7 -0
  12. package/lib/dts/src/index.js.map +1 -0
  13. package/{dist/dts → lib/dts/src}/inferFromSchema.d.ts +3 -3
  14. package/lib/dts/src/inferFromSchema.d.ts.map +1 -0
  15. package/lib/dts/src/inferFromSchema.js +14 -0
  16. package/lib/dts/src/inferFromSchema.js.map +1 -0
  17. package/{dist/dts → lib/dts/src}/inferFromSchemaType.d.ts +4 -4
  18. package/lib/dts/src/inferFromSchemaType.d.ts.map +1 -0
  19. package/lib/dts/src/inferFromSchemaType.js +33 -0
  20. package/lib/dts/src/inferFromSchemaType.js.map +1 -0
  21. package/{dist/dts → lib/dts/src}/util/convertToValidationMarker.d.ts +5 -5
  22. package/lib/dts/src/util/convertToValidationMarker.d.ts.map +1 -0
  23. package/lib/dts/src/util/convertToValidationMarker.js +51 -0
  24. package/lib/dts/src/util/convertToValidationMarker.js.map +1 -0
  25. package/{dist/dts → lib/dts/src}/util/deepEquals.d.ts +5 -5
  26. package/lib/dts/src/util/deepEquals.d.ts.map +1 -0
  27. package/lib/dts/src/util/deepEquals.js +65 -0
  28. package/lib/dts/src/util/deepEquals.js.map +1 -0
  29. package/{dist/dts → lib/dts/src}/util/escapeRegex.d.ts +2 -2
  30. package/lib/dts/src/util/escapeRegex.d.ts.map +1 -0
  31. package/lib/dts/src/util/escapeRegex.js +6 -0
  32. package/lib/dts/src/util/escapeRegex.js.map +1 -0
  33. package/{dist/dts → lib/dts/src}/util/normalizeValidationRules.d.ts +5 -5
  34. package/lib/dts/src/util/normalizeValidationRules.d.ts.map +1 -0
  35. package/lib/dts/src/util/normalizeValidationRules.js +104 -0
  36. package/lib/dts/src/util/normalizeValidationRules.js.map +1 -0
  37. package/{dist/dts → lib/dts/src}/util/normalizeValidationRules.test.d.ts +0 -0
  38. package/lib/dts/src/util/normalizeValidationRules.test.d.ts.map +1 -0
  39. package/lib/dts/src/util/normalizeValidationRules.test.js +150 -0
  40. package/lib/dts/src/util/normalizeValidationRules.test.js.map +1 -0
  41. package/{dist/dts → lib/dts/src}/util/pathToString.d.ts +2 -2
  42. package/lib/dts/src/util/pathToString.d.ts.map +1 -0
  43. package/lib/dts/src/util/pathToString.js +18 -0
  44. package/lib/dts/src/util/pathToString.js.map +1 -0
  45. package/{dist/dts → lib/dts/src}/util/typeString.d.ts +1 -1
  46. package/lib/dts/src/util/typeString.d.ts.map +1 -0
  47. package/lib/dts/src/util/typeString.js +23 -0
  48. package/lib/dts/src/util/typeString.js.map +1 -0
  49. package/{dist/dts → lib/dts/src}/util/typeString.test.d.ts +0 -0
  50. package/lib/dts/src/util/typeString.test.d.ts.map +1 -0
  51. package/lib/dts/src/util/typeString.test.js +24 -0
  52. package/lib/dts/src/util/typeString.test.js.map +1 -0
  53. package/{dist/dts → lib/dts/src}/validateDocument.d.ts +22 -21
  54. package/lib/dts/src/validateDocument.d.ts.map +1 -0
  55. package/lib/dts/src/validateDocument.js +142 -0
  56. package/lib/dts/src/validateDocument.js.map +1 -0
  57. package/{dist/dts → lib/dts/src}/validateDocument.test.d.ts +0 -0
  58. package/lib/dts/src/validateDocument.test.d.ts.map +1 -0
  59. package/lib/dts/src/validateDocument.test.js +703 -0
  60. package/lib/dts/src/validateDocument.test.js.map +1 -0
  61. package/{dist/dts → lib/dts/src}/validators/arrayValidator.d.ts +3 -3
  62. package/lib/dts/src/validators/arrayValidator.d.ts.map +1 -0
  63. package/lib/dts/src/validators/arrayValidator.js +79 -0
  64. package/lib/dts/src/validators/arrayValidator.js.map +1 -0
  65. package/{dist/dts → lib/dts/src}/validators/booleanValidator.d.ts +3 -3
  66. package/lib/dts/src/validators/booleanValidator.d.ts.map +1 -0
  67. package/lib/dts/src/validators/booleanValidator.js +12 -0
  68. package/lib/dts/src/validators/booleanValidator.js.map +1 -0
  69. package/{dist/dts → lib/dts/src}/validators/dateValidator.d.ts +4 -4
  70. package/lib/dts/src/validators/dateValidator.d.ts.map +1 -0
  71. package/lib/dts/src/validators/dateValidator.js +83 -0
  72. package/lib/dts/src/validators/dateValidator.js.map +1 -0
  73. package/{dist/dts → lib/dts/src}/validators/genericValidator.d.ts +3 -3
  74. package/lib/dts/src/validators/genericValidator.d.ts.map +1 -0
  75. package/lib/dts/src/validators/genericValidator.js +93 -0
  76. package/lib/dts/src/validators/genericValidator.js.map +1 -0
  77. package/{dist/dts → lib/dts/src}/validators/numberValidator.d.ts +3 -3
  78. package/lib/dts/src/validators/numberValidator.d.ts.map +1 -0
  79. package/lib/dts/src/validators/numberValidator.js +47 -0
  80. package/lib/dts/src/validators/numberValidator.js.map +1 -0
  81. package/{dist/dts → lib/dts/src}/validators/objectValidator.d.ts +3 -3
  82. package/lib/dts/src/validators/objectValidator.d.ts.map +1 -0
  83. package/lib/dts/src/validators/objectValidator.js +48 -0
  84. package/lib/dts/src/validators/objectValidator.js.map +1 -0
  85. package/{dist/dts → lib/dts/src}/validators/slugValidator.d.ts +8 -8
  86. package/lib/dts/src/validators/slugValidator.d.ts.map +1 -0
  87. package/lib/dts/src/validators/slugValidator.js +83 -0
  88. package/lib/dts/src/validators/slugValidator.js.map +1 -0
  89. package/{dist/dts → lib/dts/src}/validators/stringValidator.d.ts +3 -3
  90. package/lib/dts/src/validators/stringValidator.d.ts.map +1 -0
  91. package/lib/dts/src/validators/stringValidator.js +94 -0
  92. package/lib/dts/src/validators/stringValidator.js.map +1 -0
  93. package/lib/dts/test/array.test.d.ts +2 -0
  94. package/lib/dts/test/array.test.d.ts.map +1 -0
  95. package/lib/dts/test/array.test.js +55 -0
  96. package/lib/dts/test/array.test.js.map +1 -0
  97. package/lib/dts/test/children.test.d.ts +2 -0
  98. package/lib/dts/test/children.test.d.ts.map +1 -0
  99. package/lib/dts/test/children.test.js +70 -0
  100. package/lib/dts/test/children.test.js.map +1 -0
  101. package/lib/dts/test/createSchema.d.ts +6 -0
  102. package/lib/dts/test/createSchema.d.ts.map +1 -0
  103. package/lib/dts/test/createSchema.js +19 -0
  104. package/lib/dts/test/createSchema.js.map +1 -0
  105. package/lib/dts/test/generics.test.d.ts +2 -0
  106. package/lib/dts/test/generics.test.d.ts.map +1 -0
  107. package/lib/dts/test/generics.test.js +60 -0
  108. package/lib/dts/test/generics.test.js.map +1 -0
  109. package/lib/dts/test/infer.test.d.ts +2 -0
  110. package/lib/dts/test/infer.test.d.ts.map +1 -0
  111. package/lib/dts/test/infer.test.js +243 -0
  112. package/lib/dts/test/infer.test.js.map +1 -0
  113. package/lib/dts/test/mocks/mockSanityClient.d.ts +6 -0
  114. package/lib/dts/test/mocks/mockSanityClient.d.ts.map +1 -0
  115. package/lib/dts/test/mocks/mockSanityClient.js +8 -0
  116. package/lib/dts/test/mocks/mockSanityClient.js.map +1 -0
  117. package/lib/dts/test/nullExport.d.ts +3 -0
  118. package/lib/dts/test/nullExport.d.ts.map +1 -0
  119. package/lib/dts/test/nullExport.js +4 -0
  120. package/lib/dts/test/nullExport.js.map +1 -0
  121. package/lib/dts/test/numbers.test.d.ts +2 -0
  122. package/lib/dts/test/numbers.test.d.ts.map +1 -0
  123. package/lib/dts/test/numbers.test.js +57 -0
  124. package/lib/dts/test/numbers.test.js.map +1 -0
  125. package/lib/dts/test/strings.test.d.ts +2 -0
  126. package/lib/dts/test/strings.test.d.ts.map +1 -0
  127. package/lib/dts/test/strings.test.js +100 -0
  128. package/lib/dts/test/strings.test.js.map +1 -0
  129. package/lib/dts/tsconfig.lib.tsbuildinfo +1 -0
  130. package/lib/dts/tsconfig.tsbuildinfo +1 -0
  131. package/lib/index.cjs +1318 -0
  132. package/lib/index.cjs.map +1 -0
  133. package/lib/index.js +1308 -48
  134. package/lib/index.js.map +1 -0
  135. package/package.json +21 -11
  136. package/src/Rule.ts +6 -2
  137. package/src/inferFromSchema.ts +7 -1
  138. package/src/util/convertToValidationMarker.ts +5 -3
  139. package/src/validateDocument.test.ts +22 -23
  140. package/src/validateDocument.ts +3 -1
  141. package/src/validators/dateValidator.ts +4 -4
  142. package/src/validators/slugValidator.ts +3 -3
  143. package/src/validators/stringValidator.ts +2 -1
  144. package/dist/dts/Rule.d.ts.map +0 -1
  145. package/dist/dts/ValidationError.d.ts.map +0 -1
  146. package/dist/dts/getClient.d.ts +0 -3
  147. package/dist/dts/getClient.d.ts.map +0 -1
  148. package/dist/dts/index.d.ts.map +0 -1
  149. package/dist/dts/inferFromSchema.d.ts.map +0 -1
  150. package/dist/dts/inferFromSchemaType.d.ts.map +0 -1
  151. package/dist/dts/util/convertToValidationMarker.d.ts.map +0 -1
  152. package/dist/dts/util/deepEquals.d.ts.map +0 -1
  153. package/dist/dts/util/escapeRegex.d.ts.map +0 -1
  154. package/dist/dts/util/normalizeValidationRules.d.ts.map +0 -1
  155. package/dist/dts/util/normalizeValidationRules.test.d.ts.map +0 -1
  156. package/dist/dts/util/pathToString.d.ts.map +0 -1
  157. package/dist/dts/util/typeString.d.ts.map +0 -1
  158. package/dist/dts/util/typeString.test.d.ts.map +0 -1
  159. package/dist/dts/validateDocument.d.ts.map +0 -1
  160. package/dist/dts/validateDocument.test.d.ts.map +0 -1
  161. package/dist/dts/validators/arrayValidator.d.ts.map +0 -1
  162. package/dist/dts/validators/booleanValidator.d.ts.map +0 -1
  163. package/dist/dts/validators/dateValidator.d.ts.map +0 -1
  164. package/dist/dts/validators/genericValidator.d.ts.map +0 -1
  165. package/dist/dts/validators/numberValidator.d.ts.map +0 -1
  166. package/dist/dts/validators/objectValidator.d.ts.map +0 -1
  167. package/dist/dts/validators/slugValidator.d.ts.map +0 -1
  168. package/dist/dts/validators/stringValidator.d.ts.map +0 -1
  169. package/jest.config.js +0 -5
  170. package/lib/Rule.js +0 -491
  171. package/lib/ValidationError.js +0 -39
  172. package/lib/getClient.js +0 -20
  173. package/lib/inferFromSchema.js +0 -22
  174. package/lib/inferFromSchemaType.js +0 -86
  175. package/lib/util/convertToValidationMarker.js +0 -65
  176. package/lib/util/deepEquals.js +0 -87
  177. package/lib/util/escapeRegex.js +0 -14
  178. package/lib/util/normalizeValidationRules.js +0 -115
  179. package/lib/util/pathToString.js +0 -30
  180. package/lib/util/typeString.js +0 -29
  181. package/lib/validateDocument.js +0 -231
  182. package/lib/validators/arrayValidator.js +0 -123
  183. package/lib/validators/booleanValidator.js +0 -29
  184. package/lib/validators/dateValidator.js +0 -120
  185. package/lib/validators/genericValidator.js +0 -135
  186. package/lib/validators/numberValidator.js +0 -70
  187. package/lib/validators/objectValidator.js +0 -93
  188. package/lib/validators/slugValidator.js +0 -133
  189. package/lib/validators/stringValidator.js +0 -131
  190. package/src/getClient.ts +0 -13
  191. package/tsconfig.json +0 -10
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateDocument.test.js","sourceRoot":"","sources":["../../../src/validateDocument.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAC,sBAAsB,EAAC,MAAM,gCAAgC,CAAA;AACrE,OAAO,gBAAgB,EAAE,EAAC,uBAAuB,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAA;AAC1F,OAAO,EAAC,yBAAyB,EAAC,MAAM,kCAAkC,CAAA;AAE1E,IAAI,CAAC,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;IACjD,OAAO;QACL,yBAAyB,EAAE,IAAI,CAAC,EAAE,CAChC,IAAI,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC,yBAAyB,CACjF;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,UAAU,CAAC,GAAG,EAAE;IACd,CAAC;IAAC,yBAAuC,CAAC,SAAS,EAAE,CAAA;AACvD,CAAC,CAAC,CAAA;AAEF,cAAc;AACd,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAA;AAEvC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,MAAM,MAAM,GAAW,YAAY,CAAC;QAClC,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC;aAC1C;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC;aAC1C;SACF;KACF,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAEjC,EAAE,CAAC,sFAAsF,EAAE,GAAG,EAAE;QAC9F,MAAM,QAAQ,GAAG,uBAAuB,CACtC;YACE,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,CAAC;SACT,EACD,CAAC,OAAQ,EAAE,OAAQ,CAAC,CACrB,CAAA;QAED,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,QAAQ,GAAG,uBAAuB,CACtC;YACE,kBAAkB;YAClB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,CAAC;SACT,EACD,CAAC,OAAQ,CAAC,CACX,CAAA;QAED,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAChG,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,iBAAiB;oBACxB,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;yBAC5C;qBACF;iBACF;aACF;SACF,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAmB;YAC/B,GAAG,EAAE,QAAQ;YACb,UAAU,EAAE,0BAA0B;YACtC,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,WAAW;YAClB,UAAU,EAAE,0BAA0B;YACtC,KAAK,EAAE,IAAI;SACZ,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;QACtE,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC3B;gBACE,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE;oBACJ,OAAO,EAAE,oCAAoC;oBAC7C,KAAK,EAAE,EAAE;iBACV;gBACD,IAAI,EAAE,CAAC,OAAO,CAAC;aAChB;YACD;gBACE,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,EAAE;iBACV;gBACD,IAAI,EAAE,CAAC,OAAO,CAAC;aAChB;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,MAAM,UAAU,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;SACnC,CAAA;QAED,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,aAAa;oBACpB,MAAM,EAAE;wBACN,EAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAC;wBACpD,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAC;wBAClD;4BACE,IAAI,EAAE,kBAAkB;4BACxB,IAAI,EAAE,uBAAuB;4BAC7B,UAAU,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;yBAC5C;wBACD;4BACE,IAAI,EAAE,cAAc;4BACpB,IAAI,EAAE,QAAQ;4BACd,MAAM,EAAE,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAC,CAAC;4BACnD,UAAU,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;yBAC5C;wBACD;4BACE,IAAI,EAAE,6BAA6B;4BACnC,IAAI,EAAE,uBAAuB;yBAC9B;wBACD;4BACE,IAAI,EAAE,yBAAyB;4BAC/B,IAAI,EAAE,QAAQ;4BACd,MAAM,EAAE,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAC,CAAC;yBACpD;qBACF;iBACF;gBACD,EAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAC;gBAClF;oBACE,KAAK,EAAE,yBAAyB;oBAChC,IAAI,EAAE,uBAAuB;oBAC7B,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAC,CAAC;iBACpD;aACF;SACF,CAAC,CAAA;QACF,gDAAgD;QAChD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAE1C,MAAM,MAAM,CACV,YAAY,CAAC;YACX,MAAM,EAAE,MAAa;YACrB,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;YAC3B,iBAAiB,EAAE,SAAS;SAC7B,CAAC,CACH,CAAC,QAAQ,CAAC,aAAa,CAAC;YACvB;gBACE,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,EAAC,OAAO,EAAE,mBAAmB,EAAC;gBACpC,IAAI,EAAE,CAAC,kBAAkB,CAAC;aAC3B;YACD;gBACE,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,EAAC,OAAO,EAAE,mBAAmB,EAAC;gBACpC,IAAI,EAAE,CAAC,cAAc,CAAC;aACvB;YACD;gBACE,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,EAAC,OAAO,EAAE,UAAU,EAAC;gBAC3B,IAAI,EAAE,CAAC,kBAAkB,CAAC;aAC3B;YACD;gBACE,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,EAAC,OAAO,EAAE,mBAAmB,EAAC;gBACpC,IAAI,EAAE,CAAC,kBAAkB,EAAE,KAAK,CAAC;aAClC;YACD;gBACE,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,EAAC,OAAO,EAAE,UAAU,EAAC;gBAC3B,IAAI,EAAE,CAAC,cAAc,CAAC;aACvB;YACD;gBACE,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,EAAC,OAAO,EAAE,mBAAmB,EAAC;gBACpC,IAAI,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC;aAC9B;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,aAAa;oBACpB,MAAM,EAAE;wBACN,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAC;wBAC7B,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAC;qBAC9B;oBACD,UAAU,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC;wBAC1B,IAAI,CAAC,QAAQ,EAAE;wBACf,IAAI,CAAC,MAAM,CAAC;4BACV,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;4BACxB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;yBACzB,CAAC;qBACH;iBACF;aACF;SACF,CAAC,CAAA;QAEF,gDAAgD;QAChD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAE1C,MAAM,MAAM,CACV,YAAY,CAAC;YACX,MAAM,EAAE,MAAa;YACrB,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;YAC3B,KAAK,EAAE,EAAC,GAAG,EAAE,CAAC,EAAC;YACf,iBAAiB,EAAE,SAAS;SAC7B,CAAC,CACH,CAAC,QAAQ,CAAC,aAAa,CAAC;YACvB;gBACE,IAAI,EAAE,EAAC,OAAO,EAAE,sCAAsC,EAAC;gBACvD,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,CAAC,KAAK,CAAC;aACd;YACD;gBACE,IAAI,EAAE,EAAC,OAAO,EAAE,UAAU,EAAC;gBAC3B,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,CAAC,KAAK,CAAC;aACd;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAa,CAAC,CAAA;QACtD,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAA;QAE9D,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE;wBACN,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAC;wBAC/B,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAC;qBAC/B;iBACF;gBACD;oBACE,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,mBAAmB;oBAC1B,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,OAAO;4BACb,EAAE,EAAE;gCACF;oCACE,IAAI,EAAE,OAAO;oCACb,KAAK,EAAE;wCACL,WAAW,EAAE;4CACX;gDACE,IAAI,EAAE,mBAAmB;gDACzB,IAAI,EAAE,QAAQ;gDACd,MAAM,EAAE,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC;6CAC1C;yCACF;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,SAAS;4BAChB,IAAI,EAAE,OAAO;4BACb,EAAE,EAAE;gCACF;oCACE,IAAI,EAAE,OAAO;oCACb,KAAK,EAAE;wCACL,WAAW,EAAE;4CACX;gDACE,IAAI,EAAE,MAAM;gDACZ,IAAI,EAAE,QAAQ;gDACd,KAAK,EAAE,MAAM;gDACb,MAAM,EAAE,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC;gDACpC,UAAU,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;6CAC3D;4CACD;gDACE,IAAI,EAAE,cAAc;gDACpB,IAAI,EAAE,QAAQ;gDACd,KAAK,EAAE,eAAe;gDACtB,MAAM,EAAE,CAAC,EAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,EAAC,CAAC;gDACtE,UAAU,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;6CACzD;4CACD,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,kBAAkB,EAAC;yCACjD;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAE1C,MAAM,WAAW,GAAU;YACzB,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,CAAC,wBAAwB,CAAC;iBAClC;aACF;YACD,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,mBAAmB;oBAC1B,IAAI,EAAE,wBAAwB;oBAC9B,KAAK,EAAE,CAAC;iBACT;aACF;YACD,KAAK,EAAE,QAAQ;SAChB,CAAA;QAED,MAAM,KAAK,GAAU;YACnB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;oBACtB,IAAI,EAAE,KAAK;iBACZ;aACF;YACD,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,GAAG;oBACT,KAAK,EAAE,MAAM;oBACb,GAAG,EAAE,qBAAqB;iBAC3B;gBACD;oBACE,IAAI,EAAE,GAAG;oBACT,KAAK,EAAE,cAAc;oBACrB,IAAI,EAAE,SAAS;iBAChB;gBACD;oBACE,IAAI,EAAE,GAAG;oBACT,KAAK,EAAE,cAAc;oBACrB,MAAM,EAAE,CAAC,WAAW,CAAC;iBACtB;aACF;YACD,KAAK,EAAE,QAAQ;SAChB,CAAA;QAED,MAAM,QAAQ,GAAmB;YAC/B,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,WAAW;YAClB,UAAU,EAAE,0BAA0B;YACtC,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,0BAA0B;YACtC,OAAO,EAAE,CAAC,KAAK,CAAC;SACjB,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,MAAM,EAAE,MAAa;YACrB,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;YAC7B,KAAK,EAAE,QAAQ;YACf,iBAAiB,EAAE,SAAS;SAC7B,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC3B;gBACE,IAAI,EAAE,EAAC,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,EAAE,EAAC;gBACnD,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,EAAE,UAAU,EAAE,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC;aAChE;YACD,2CAA2C;YAC3C;gBACE,IAAI,EAAE;oBACJ,OAAO,EAAE,sCAAsC;oBAC/C,KAAK,EAAE,EAAE;iBACV;gBACD,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE;oBACJ,SAAS;oBACT,EAAC,IAAI,EAAE,WAAW,EAAC;oBACnB,UAAU;oBACV,EAAC,IAAI,EAAE,GAAG,EAAC;oBACX,QAAQ;oBACR,EAAC,IAAI,EAAE,kBAAkB,EAAC;oBAC1B,UAAU;oBACV,EAAC,IAAI,EAAE,wBAAwB,EAAC;oBAChC,OAAO;iBACR;aACF;SACF,CAAC,CAAA;QAEF,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;YACjD;gBACE;oBACE,IAAI,EAAE,GAAG;oBACT,KAAK,EAAE,MAAM;oBACb,GAAG,EAAE,qBAAqB;iBAC3B;gBACD;oBACE,QAAQ,EAAE,EAAC,GAAG,EAAE,SAAS,EAAC;oBAC1B,MAAM,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC;oBAC3B,IAAI,EAAE,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,EAAE,UAAU,EAAE,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC;oBAC/D,IAAI,EAAE,EAAC,IAAI,EAAE,MAAM,EAAC;iBACrB;aACF;SACF,CAAC,CAAA;QAEF,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;YAC/C;gBACE;oBACE,IAAI,EAAE,GAAG;oBACT,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,cAAc;iBACtB;gBACD;oBACE,QAAQ,EAAE,EAAC,GAAG,EAAE,SAAS,EAAC;oBAC1B,MAAM,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC;oBAC3B,IAAI,EAAE,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,EAAE,UAAU,EAAE,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC;oBAC/D,IAAI,EAAE,EAAC,IAAI,EAAE,cAAc,EAAC;iBAC7B;aACF;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,OAAO;oBACb,6CAA6C;oBAC7C,EAAE,EAAE,CAAC,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC;oBACzB,UAAU,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;iBAC5C;gBACD;oBACE,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC;iBAC1C;aACF;SACF,CAAC,CAAA;QAEF,gDAAgD;QAChD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAE1C,MAAM,MAAM,GAAG;YACb;gBACE,qCAAqC;gBACrC,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,YAAY;aACnB;SACF,CAAA;QAED,MAAM,MAAM,CACV,YAAY,CAAC;YACX,MAAM,EAAE,MAAa;YACrB,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC1B,KAAK,EAAE,MAAM;YACb,iBAAiB,EAAE,SAAS;SAC7B,CAAC,CACH,CAAC,QAAQ,CAAC,OAAO,CAAC;YACjB;gBACE,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE;oBACJ,OAAO,EAAE,sCAAsC;oBAC/C,KAAK,EAAE,EAAE;iBACV;gBACD,IAAI,EAAE,CAAC,EAAC,IAAI,EAAE,YAAY,EAAC,EAAE,OAAO,CAAC;aACtC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,MAAM,GAAW,YAAY,CAAC;YAClC,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,cAAc;4BACpB,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC;4BACpE,MAAM,EAAE;gCACN;oCACE,IAAI,EAAE,cAAc;oCACpB,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC;iCACzE;6BACF;yBACF;wBACD;4BACE,IAAI,EAAE,aAAa;4BACnB,IAAI,EAAE,OAAO;4BACb,UAAU,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC;4BACnE,EAAE,EAAE;gCACF;oCACE,IAAI,EAAE,QAAQ;oCACd,MAAM,EAAE;wCACN;4CACE,IAAI,EAAE,cAAc;4CACpB,IAAI,EAAE,QAAQ;4CACd,UAAU,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC;yCACxE;qCACF;iCACF;6BACF;yBACF;qBACF;oBACD,UAAU,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC;iBAC3D;aACF;SACF,CAAC,CAAA;QAEF,gDAAgD;QAChD,8DAA8D;QAC9D,MAAM,CAAE,MAAc,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAEnD,MAAM,KAAK,GAAG;YACZ,YAAY,EAAE,EAAC,YAAY,EAAE,UAAU,EAAC;YACxC,WAAW,EAAE,CAAC,EAAC,YAAY,EAAE,CAAC,EAAC,CAAC;SACjC,CAAA;QAED,MAAM,QAAQ,GAAmB;YAC/B,KAAK;YACL,KAAK,EAAE,WAAW;YAClB,UAAU,EAAE,0BAA0B;YACtC,GAAG,EAAE,cAAc;YACnB,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE,0BAA0B;SACvC,CAAA;QAED,MAAM,QAAQ,GAAG,CAAC,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAiC,EAAE,EAAE;YACpE,MAAM,MAAM,GAAG,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,IAAI,CAAA;YACjF,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA;YACpF,OAAO,MAAM,CAAA;QACf,CAAC,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACnC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,EAAC,EAAE,EAAE,QAAS,EAAE,IAAI,EAAE,cAAc,EAAC,CAAC,CAAA;QACxE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,EAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAC,CAAC,CAAA;QAC/E,MAAM,eAAe,GAAG,QAAQ,CAAC,EAAC,EAAE,EAAE,QAAS,EAAE,IAAI,EAAE,aAAa,EAAC,CAAC,CAAA;QACtE,MAAM,gBAAgB,GAAG,QAAQ,CAAC;YAChC,EAAE,EAAG,eAAmC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9C,IAAI,EAAE,cAAc;SACrB,CAAC,CAAA;QAEF,MAAM,MAAM,CACV,YAAY,CAAC;YACX,MAAM,EAAE,MAAa;YACrB,KAAK;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ;YACR,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,SAAS;YACf,iBAAiB,EAAE,SAAS;SAC7B,CAAC,CACH,CAAC,QAAQ,CAAC,aAAa,CAAC;YACvB;gBACE,IAAI,EAAE,EAAC,OAAO,EAAE,WAAW,EAAC;gBAC5B,IAAI,EAAE,EAAE;aACT;YACD;gBACE,IAAI,EAAE,EAAC,OAAO,EAAE,qBAAqB,EAAC;gBACtC,IAAI,EAAE,CAAC,cAAc,CAAC;aACvB;YACD;gBACE,IAAI,EAAE,EAAC,OAAO,EAAE,yBAAyB,EAAC;gBAC1C,IAAI,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC;aACvC;YACD;gBACE,IAAI,EAAE,EAAC,OAAO,EAAE,oBAAoB,EAAC;gBACrC,IAAI,EAAE,CAAC,aAAa,CAAC;aACtB;YACD;gBACE,IAAI,EAAE,EAAC,OAAO,EAAE,wBAAwB,EAAC;gBACzC,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC,EAAE,cAAc,CAAC;aACzC;SACF,CAAC,CAAA;QAEF,MAAM,KAAK,GAAI,yBAAuC,CAAC,IAAI,CAAC,KAAK,CAAA;QAEjE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;YAClE,WAAW;YACX,OAAO;YACP;gBACE,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,QAAQ;aACf;SACF,CAAC,CAAA;QACF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC,CAAC,aAAa,CAAC;YAC5E,qBAAqB;YACrB,OAAO;YACP;gBACE,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,CAAC,cAAc,CAAC;gBACtB,IAAI,EAAE,gBAAgB;aACvB;SACF,CAAC,CAAA;QACF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,yBAAyB,CAAC,CAAC,CAAC,aAAa,CAAC;YAChF,yBAAyB;YACzB,OAAO;YACP;gBACE,MAAM,EAAE,KAAK,CAAC,YAAY;gBAC1B,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC;gBACtC,IAAI,EAAE,gBAAgB;aACvB;SACF,CAAC,CAAA;QACF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC;YAC3E,oBAAoB;YACpB,OAAO;YACP;gBACE,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,CAAC,aAAa,CAAC;gBACrB,IAAI,EAAE,eAAe;aACtB;SACF,CAAC,CAAA;QACF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,wBAAwB,CAAC,CAAC,CAAC,aAAa,CAAC;YAC/E,wBAAwB;YACxB,OAAO;YACP;gBACE,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC5B,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC,EAAE,cAAc,CAAC;gBACxC,IAAI,EAAE,gBAAgB;aACvB;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAE9D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAY,CAAA;QACrC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;QAEvF,MAAM,MAAM,GAAW,YAAY,CAAC;YAClC,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,cAAc;4BACpB,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC;gCAC1B,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;gCAC/B,IAAI,CAAC,MAAM,CAAC;oCACV,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;iCAClD,CAAC;6BACH;4BACD,MAAM,EAAE;gCACN;oCACE,IAAI,EAAE,cAAc;oCACpB,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;iCAC5D;6BACF;yBACF;wBACD;4BACE,IAAI,EAAE,aAAa;4BACnB,IAAI,EAAE,OAAO;4BACb,UAAU,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;4BAC3D,EAAE,EAAE;gCACF;oCACE,IAAI,EAAE,QAAQ;oCACd,MAAM,EAAE;wCACN;4CACE,IAAI,EAAE,cAAc;4CACpB,IAAI,EAAE,QAAQ;4CACd,UAAU,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;yCAC5D;qCACF;iCACF;6BACF;yBACF;qBACF;oBACD,UAAU,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;iBAC5D;aACF;SACF,CAAC,CAAA;QAEF,MAAM,KAAK,GAAG;YACZ,YAAY,EAAE,EAAC,YAAY,EAAE,UAAU,EAAC;YACxC,WAAW,EAAE,CAAC,EAAC,YAAY,EAAE,CAAC,EAAC,CAAC;SACjC,CAAA;QAED,MAAM,aAAa,GAAG,YAAY,CAAC;YACjC,MAAM,EAAE,MAAa;YACrB,KAAK;YACL,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YACxB,iBAAiB,EAAE,SAAS;SAC7B,CAAC,CAAA;QAEF,kEAAkE;QAClE,2EAA2E;QAC3E,yBAAyB;QACzB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAE9B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAChC,QAAQ,CAAC,IAAI,CAAC,CAAA;SACf;QAED,MAAM,aAAa,CAAA;IACrB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { Validators } from '@sanity/types';
2
- declare const arrayValidators: Validators;
3
- export default arrayValidators;
1
+ import { Validators } from '@sanity/types';
2
+ declare const arrayValidators: Validators;
3
+ export default arrayValidators;
4
4
  //# sourceMappingURL=arrayValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrayValidator.d.ts","sourceRoot":"","sources":["../../../../src/validators/arrayValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,UAAU,EAAC,MAAM,eAAe,CAAA;AAK3D,QAAA,MAAM,eAAe,EAAE,UA4FtB,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,79 @@
1
+ import deepEquals from '../util/deepEquals';
2
+ import ValidationErrorClass from '../ValidationError';
3
+ import genericValidator from './genericValidator';
4
+ const arrayValidators = {
5
+ ...genericValidator,
6
+ min: (minLength, value, message) => {
7
+ if (!value || value.length >= minLength) {
8
+ return true;
9
+ }
10
+ return message || `Must have at least ${minLength} items`;
11
+ },
12
+ max: (maxLength, value, message) => {
13
+ if (!value || value.length <= maxLength) {
14
+ return true;
15
+ }
16
+ return message || `Must have at most ${maxLength} items`;
17
+ },
18
+ length: (wantedLength, value, message) => {
19
+ if (!value || value.length === wantedLength) {
20
+ return true;
21
+ }
22
+ return message || `Must have exactly ${wantedLength} items`;
23
+ },
24
+ presence: (flag, value, message) => {
25
+ if (flag === 'required' && !value) {
26
+ return message || 'Required';
27
+ }
28
+ return true;
29
+ },
30
+ valid: (allowedValues, values, message) => {
31
+ const valueType = typeof values;
32
+ if (valueType === 'undefined') {
33
+ return true;
34
+ }
35
+ const paths = [];
36
+ for (let i = 0; i < values.length; i++) {
37
+ const value = values[i];
38
+ if (allowedValues.some((expected) => deepEquals(expected, value))) {
39
+ continue;
40
+ }
41
+ const pathSegment = value && value._key ? { _key: value._key } : i;
42
+ paths.push([pathSegment]);
43
+ }
44
+ return paths.length === 0
45
+ ? true
46
+ : new ValidationErrorClass(message || 'Value did not match any allowed values', { paths });
47
+ },
48
+ unique: (_unused, value, message) => {
49
+ const dupeIndices = [];
50
+ if (!value) {
51
+ return true;
52
+ }
53
+ for (let x = 0; x < value.length; x++) {
54
+ for (let y = x + 1; y < value.length; y++) {
55
+ const itemA = value[x];
56
+ const itemB = value[y];
57
+ if (!deepEquals(itemA, itemB)) {
58
+ continue;
59
+ }
60
+ if (dupeIndices.indexOf(x) === -1) {
61
+ dupeIndices.push(x);
62
+ }
63
+ if (dupeIndices.indexOf(y) === -1) {
64
+ dupeIndices.push(y);
65
+ }
66
+ }
67
+ }
68
+ const paths = dupeIndices.map((idx) => {
69
+ const item = value[idx];
70
+ const pathSegment = item && item._key ? { _key: item._key } : idx;
71
+ return [pathSegment];
72
+ });
73
+ return dupeIndices.length > 0
74
+ ? new ValidationErrorClass(message || `Can't be a duplicate`, { paths })
75
+ : true;
76
+ },
77
+ };
78
+ export default arrayValidators;
79
+ //# sourceMappingURL=arrayValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrayValidator.js","sourceRoot":"","sources":["../../../../src/validators/arrayValidator.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,oBAAoB,CAAA;AAC3C,OAAO,oBAAoB,MAAM,oBAAoB,CAAA;AACrD,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AAEjD,MAAM,eAAe,GAAe;IAClC,GAAG,gBAAgB;IAEnB,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACjC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE;YACvC,OAAO,IAAI,CAAA;SACZ;QAED,OAAO,OAAO,IAAI,sBAAsB,SAAS,QAAQ,CAAA;IAC3D,CAAC;IAED,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACjC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE;YACvC,OAAO,IAAI,CAAA;SACZ;QAED,OAAO,OAAO,IAAI,qBAAqB,SAAS,QAAQ,CAAA;IAC1D,CAAC;IAED,MAAM,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACvC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,EAAE;YAC3C,OAAO,IAAI,CAAA;SACZ;QAED,OAAO,OAAO,IAAI,qBAAqB,YAAY,QAAQ,CAAA;IAC7D,CAAC;IAED,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACjC,IAAI,IAAI,KAAK,UAAU,IAAI,CAAC,KAAK,EAAE;YACjC,OAAO,OAAO,IAAI,UAAU,CAAA;SAC7B;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QACxC,MAAM,SAAS,GAAG,OAAO,MAAM,CAAA;QAC/B,IAAI,SAAS,KAAK,WAAW,EAAE;YAC7B,OAAO,IAAI,CAAA;SACZ;QAED,MAAM,KAAK,GAAW,EAAE,CAAA;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YACvB,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE;gBACjE,SAAQ;aACT;YAED,MAAM,WAAW,GAAgB,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC7E,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;SAC1B;QAED,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;YACvB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,oBAAoB,CAAC,OAAO,IAAI,wCAAwC,EAAE,EAAC,KAAK,EAAC,CAAC,CAAA;IAC5F,CAAC;IAED,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,WAAW,GAAG,EAAE,CAAA;QACtB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAA;SACZ;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACtB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBAEtB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;oBAC7B,SAAQ;iBACT;gBAED,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;oBACjC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;iBACpB;gBAED,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;oBACjC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;iBACpB;aACF;SACF;QAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;YACvB,MAAM,WAAW,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YAC/D,OAAO,CAAC,WAAW,CAAC,CAAA;QACtB,CAAC,CAAC,CAAA;QAEF,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC;YAC3B,CAAC,CAAC,IAAI,oBAAoB,CAAC,OAAO,IAAI,sBAAsB,EAAE,EAAC,KAAK,EAAC,CAAC;YACtE,CAAC,CAAC,IAAI,CAAA;IACV,CAAC;CACF,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -1,4 +1,4 @@
1
- import { Validators } from '@sanity/types';
2
- declare const booleanValidators: Validators;
3
- export default booleanValidators;
1
+ import { Validators } from '@sanity/types';
2
+ declare const booleanValidators: Validators;
3
+ export default booleanValidators;
4
4
  //# sourceMappingURL=booleanValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"booleanValidator.d.ts","sourceRoot":"","sources":["../../../../src/validators/booleanValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAGxC,QAAA,MAAM,iBAAiB,EAAE,UAUxB,CAAA;AAED,eAAe,iBAAiB,CAAA"}
@@ -0,0 +1,12 @@
1
+ import genericValidator from './genericValidator';
2
+ const booleanValidators = {
3
+ ...genericValidator,
4
+ presence: (flag, value, message) => {
5
+ if (flag === 'required' && typeof value !== 'boolean') {
6
+ return message || 'Required';
7
+ }
8
+ return true;
9
+ },
10
+ };
11
+ export default booleanValidators;
12
+ //# sourceMappingURL=booleanValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"booleanValidator.js","sourceRoot":"","sources":["../../../../src/validators/booleanValidator.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AAEjD,MAAM,iBAAiB,GAAe;IACpC,GAAG,gBAAgB;IAEnB,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACjC,IAAI,IAAI,KAAK,UAAU,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;YACrD,OAAO,OAAO,IAAI,UAAU,CAAA;SAC7B;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAED,eAAe,iBAAiB,CAAA"}
@@ -1,5 +1,5 @@
1
- import { Validators } from '@sanity/types';
2
- export declare function isRecord(obj: unknown): obj is Record<string, unknown>;
3
- declare const dateValidators: Validators;
4
- export default dateValidators;
1
+ import { Validators } from '@sanity/types';
2
+ export declare function isRecord(obj: unknown): obj is Record<string, unknown>;
3
+ declare const dateValidators: Validators;
4
+ export default dateValidators;
5
5
  //# sourceMappingURL=dateValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateValidator.d.ts","sourceRoot":"","sources":["../../../../src/validators/dateValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAIxC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAErE;AAiDD,QAAA,MAAM,cAAc,EAAE,UAuDrB,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,83 @@
1
+ import formatDate from 'date-fns/format';
2
+ import genericValidator from './genericValidator';
3
+ export function isRecord(obj) {
4
+ return typeof obj === 'object' && obj !== null && !Array.isArray(obj);
5
+ }
6
+ const isoDate = /^(?:[-+]\d{2})?(?:\d{4}(?!\d{2}\b))(?:(-?)(?:(?:0[1-9]|1[0-2])(?:\1(?:[12]\d|0[1-9]|3[01]))?|W(?:[0-4]\d|5[0-2])(?:-?[1-7])?|(?:00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[1-6])))(?![T]$|[T][\d]+Z$)(?:[T\s](?:(?:(?:[01]\d|2[0-3])(?:(:?)[0-5]\d)?|24:?00)(?:[.,]\d+(?!:))?)(?:\2[0-5]\d(?:[.,]\d+)?)?(?:[Z]|(?:[+-])(?:[01]\d|2[0-3])(?::?[0-5]\d)?)?)?)?$/;
7
+ const getFormattedDate = (type = '', value, options) => {
8
+ let format = 'yyyy-MM-dd';
9
+ if (options && options.dateFormat) {
10
+ format = options.dateFormat;
11
+ }
12
+ if (type === 'date') {
13
+ // If the type is date only
14
+ return formatDate(new Date(value), format);
15
+ }
16
+ // If the type is datetime
17
+ if (options && options.timeFormat) {
18
+ format += ` ${options.timeFormat}`;
19
+ }
20
+ else {
21
+ format += ' HH:mm';
22
+ }
23
+ return formatDate(new Date(value), format);
24
+ };
25
+ function parseDate(date, throwOnError = false) {
26
+ if (!date)
27
+ return null;
28
+ if (date === 'now')
29
+ return new Date();
30
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
31
+ const parsed = new Date(date);
32
+ const isInvalid = isNaN(parsed.getTime());
33
+ if (isInvalid && throwOnError) {
34
+ throw new Error(`Unable to parse "${date}" to a date`);
35
+ }
36
+ return isInvalid ? null : parsed;
37
+ }
38
+ const dateValidators = {
39
+ ...genericValidator,
40
+ type: (_unused, value, message) => {
41
+ const strVal = `${value}`;
42
+ if (!strVal || isoDate.test(value)) {
43
+ return true;
44
+ }
45
+ return message || 'Must be a valid ISO-8601 formatted date string';
46
+ },
47
+ min: (minDate, value, message, context) => {
48
+ const dateVal = parseDate(value);
49
+ if (!dateVal) {
50
+ return true; // `type()` should catch parse errors
51
+ }
52
+ if (!value || dateVal >= parseDate(minDate, true)) {
53
+ return true;
54
+ }
55
+ if (!context.type) {
56
+ throw new Error(`\`type\` was not provided in validation context.`);
57
+ }
58
+ const dateTimeOptions = isRecord(context.type.options)
59
+ ? context.type.options
60
+ : {};
61
+ const date = getFormattedDate(context.type.name, minDate, dateTimeOptions);
62
+ return message || `Must be at or after ${date}`;
63
+ },
64
+ max: (maxDate, value, message, context) => {
65
+ const dateVal = parseDate(value);
66
+ if (!dateVal) {
67
+ return true; // `type()` should catch parse errors
68
+ }
69
+ if (!value || dateVal <= parseDate(maxDate, true)) {
70
+ return true;
71
+ }
72
+ if (!context.type) {
73
+ throw new Error(`\`type\` was not provided in validation context.`);
74
+ }
75
+ const dateTimeOptions = isRecord(context.type.options)
76
+ ? context.type.options
77
+ : {};
78
+ const date = getFormattedDate(context.type.name, maxDate, dateTimeOptions);
79
+ return message || `Must be at or before ${date}`;
80
+ },
81
+ };
82
+ export default dateValidators;
83
+ //# sourceMappingURL=dateValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateValidator.js","sourceRoot":"","sources":["../../../../src/validators/dateValidator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Validators } from '@sanity/types';
2
- declare const genericValidators: Validators;
3
- export default genericValidators;
1
+ import { Validators } from '@sanity/types';
2
+ declare const genericValidators: Validators;
3
+ export default genericValidators;
4
4
  //# sourceMappingURL=genericValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genericValidator.d.ts","sourceRoot":"","sources":["../../../../src/validators/genericValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAC,MAAM,eAAe,CAAA;AA+B1D,QAAA,MAAM,iBAAiB,EAAE,UAmFxB,CAAA;AAED,eAAe,iBAAiB,CAAA"}
@@ -0,0 +1,93 @@
1
+ import typeString from '../util/typeString';
2
+ import deepEquals from '../util/deepEquals';
3
+ import pathToString from '../util/pathToString';
4
+ import ValidationErrorClass from '../ValidationError';
5
+ const SLOW_VALIDATOR_TIMEOUT = 5000;
6
+ const formatValidationErrors = (options) => {
7
+ let message;
8
+ if (options.message) {
9
+ message = options.message;
10
+ }
11
+ else if (options.results.length === 1) {
12
+ message = options.results[0]?.item.message;
13
+ }
14
+ else {
15
+ message = `[${options.results
16
+ .map((err) => err.item.message)
17
+ .join(` - ${options.operation} - `)}]`;
18
+ }
19
+ return new ValidationErrorClass(message, {
20
+ children: options.results.length > 1 ? options.results : undefined,
21
+ operation: options.operation,
22
+ });
23
+ };
24
+ const genericValidators = {
25
+ type: (expected, value, message) => {
26
+ const actualType = typeString(value);
27
+ if (actualType !== expected && actualType !== 'undefined') {
28
+ return message || `Expected type "${expected}", got "${actualType}"`;
29
+ }
30
+ return true;
31
+ },
32
+ presence: (expected, value, message) => {
33
+ if (value === undefined && expected === 'required') {
34
+ return message || 'Value is required';
35
+ }
36
+ return true;
37
+ },
38
+ all: async (children, value, message, context) => {
39
+ const resolved = await Promise.all(children.map((child) => child.validate(value, context)));
40
+ const results = resolved.flat();
41
+ if (!results.length)
42
+ return true;
43
+ return formatValidationErrors({
44
+ message,
45
+ results,
46
+ operation: 'AND',
47
+ });
48
+ },
49
+ either: async (children, value, message, context) => {
50
+ const resolved = await Promise.all(children.map((child) => child.validate(value, context)));
51
+ const results = resolved.flat();
52
+ // Read: There is at least one rule that matched
53
+ if (results.length < children.length)
54
+ return true;
55
+ return formatValidationErrors({
56
+ message,
57
+ results,
58
+ operation: 'OR',
59
+ });
60
+ },
61
+ valid: (allowedValues, actual, message) => {
62
+ const valueType = typeof actual;
63
+ if (valueType === 'undefined') {
64
+ return true;
65
+ }
66
+ const value = (valueType === 'number' || valueType === 'string') && `${actual}`;
67
+ const strValue = value && value.length > 30 ? `${value.slice(0, 30)}…` : value;
68
+ const defaultMessage = value
69
+ ? `Value "${strValue}" did not match any allowed values`
70
+ : 'Value did not match any allowed values';
71
+ return allowedValues.some((expected) => deepEquals(expected, actual))
72
+ ? true
73
+ : message || defaultMessage;
74
+ },
75
+ custom: async (fn, value, message, context) => {
76
+ const slowTimer = setTimeout(() => {
77
+ // eslint-disable-next-line no-console
78
+ console.warn(`Custom validator at ${pathToString(context.path)} has taken more than ${SLOW_VALIDATOR_TIMEOUT}ms to respond`);
79
+ }, SLOW_VALIDATOR_TIMEOUT);
80
+ let result;
81
+ try {
82
+ result = await fn(value, context);
83
+ }
84
+ finally {
85
+ clearTimeout(slowTimer);
86
+ }
87
+ if (typeof result === 'string')
88
+ return message || result;
89
+ return result;
90
+ },
91
+ };
92
+ export default genericValidators;
93
+ //# sourceMappingURL=genericValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genericValidator.js","sourceRoot":"","sources":["../../../../src/validators/genericValidator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Validators } from '@sanity/types';
2
- declare const numberValidators: Validators;
3
- export default numberValidators;
1
+ import { Validators } from '@sanity/types';
2
+ declare const numberValidators: Validators;
3
+ export default numberValidators;
4
4
  //# sourceMappingURL=numberValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numberValidator.d.ts","sourceRoot":"","sources":["../../../../src/validators/numberValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAKxC,QAAA,MAAM,gBAAgB,EAAE,UA0DvB,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,47 @@
1
+ import genericValidator from './genericValidator';
2
+ const precisionRx = /(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/;
3
+ const numberValidators = {
4
+ ...genericValidator,
5
+ integer: (_unused, value, message) => {
6
+ if (!Number.isInteger(value)) {
7
+ return message || 'Must be an integer';
8
+ }
9
+ return true;
10
+ },
11
+ precision: (limit, value, message) => {
12
+ if (value === undefined)
13
+ return true;
14
+ const places = value.toString().match(precisionRx);
15
+ const decimals = Math.max((places[1] ? places[1].length : 0) - (places[2] ? parseInt(places[2], 10) : 0), 0);
16
+ if (decimals > limit) {
17
+ return message || `Max precision is ${limit}`;
18
+ }
19
+ return true;
20
+ },
21
+ min: (minNum, value, message) => {
22
+ if (value >= minNum) {
23
+ return true;
24
+ }
25
+ return message || `Must be greater than or equal ${minNum}`;
26
+ },
27
+ max: (maxNum, value, message) => {
28
+ if (value <= maxNum) {
29
+ return true;
30
+ }
31
+ return message || `Must be less than or equal ${maxNum}`;
32
+ },
33
+ greaterThan: (num, value, message) => {
34
+ if (value > num) {
35
+ return true;
36
+ }
37
+ return message || `Must be greater than ${num}`;
38
+ },
39
+ lessThan: (maxNum, value, message) => {
40
+ if (value < maxNum) {
41
+ return true;
42
+ }
43
+ return message || `Must be less than ${maxNum}`;
44
+ },
45
+ };
46
+ export default numberValidators;
47
+ //# sourceMappingURL=numberValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numberValidator.js","sourceRoot":"","sources":["../../../../src/validators/numberValidator.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AAEjD,MAAM,WAAW,GAAG,kCAAkC,CAAA;AAEtD,MAAM,gBAAgB,GAAe;IACnC,GAAG,gBAAgB;IAEnB,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACnC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC5B,OAAO,OAAO,IAAI,oBAAoB,CAAA;SACvC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACnC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAEpC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9E,CAAC,CACF,CAAA;QAED,IAAI,QAAQ,GAAG,KAAK,EAAE;YACpB,OAAO,OAAO,IAAI,oBAAoB,KAAK,EAAE,CAAA;SAC9C;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC9B,IAAI,KAAK,IAAI,MAAM,EAAE;YACnB,OAAO,IAAI,CAAA;SACZ;QAED,OAAO,OAAO,IAAI,iCAAiC,MAAM,EAAE,CAAA;IAC7D,CAAC;IAED,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC9B,IAAI,KAAK,IAAI,MAAM,EAAE;YACnB,OAAO,IAAI,CAAA;SACZ;QAED,OAAO,OAAO,IAAI,8BAA8B,MAAM,EAAE,CAAA;IAC1D,CAAC;IAED,WAAW,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACnC,IAAI,KAAK,GAAG,GAAG,EAAE;YACf,OAAO,IAAI,CAAA;SACZ;QAED,OAAO,OAAO,IAAI,wBAAwB,GAAG,EAAE,CAAA;IACjD,CAAC;IAED,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACnC,IAAI,KAAK,GAAG,MAAM,EAAE;YAClB,OAAO,IAAI,CAAA;SACZ;QAED,OAAO,OAAO,IAAI,qBAAqB,MAAM,EAAE,CAAA;IACjD,CAAC;CACF,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -1,4 +1,4 @@
1
- import { Validators } from '@sanity/types';
2
- declare const objectValidators: Validators;
3
- export default objectValidators;
1
+ import { Validators } from '@sanity/types';
2
+ declare const objectValidators: Validators;
3
+ export default objectValidators;
4
4
  //# sourceMappingURL=objectValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectValidator.d.ts","sourceRoot":"","sources":["../../../../src/validators/objectValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAc,MAAM,eAAe,CAAA;AAKrD,QAAA,MAAM,gBAAgB,EAAE,UAwDvB,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,48 @@
1
+ import { isReference } from '@sanity/types';
2
+ import genericValidator from './genericValidator';
3
+ const metaKeys = ['_key', '_type', '_weak'];
4
+ const objectValidators = {
5
+ ...genericValidator,
6
+ presence: (expected, value, message) => {
7
+ if (expected !== 'required') {
8
+ return true;
9
+ }
10
+ const keys = value && Object.keys(value).filter((key) => !metaKeys.includes(key));
11
+ if (value === undefined || (keys && keys.length === 0)) {
12
+ return message || 'Required';
13
+ }
14
+ return true;
15
+ },
16
+ reference: async (_unused, value, message, context) => {
17
+ if (!value) {
18
+ return true;
19
+ }
20
+ if (!isReference(value)) {
21
+ return message || true;
22
+ }
23
+ const { type, getDocumentExists } = context;
24
+ if (!type) {
25
+ throw new Error(`\`type\` was not provided in validation context`);
26
+ }
27
+ if ('weak' in type && type.weak) {
28
+ return true;
29
+ }
30
+ if (!getDocumentExists) {
31
+ throw new Error(`\`getDocumentExists\` was not provided in validation context`);
32
+ }
33
+ const exists = await getDocumentExists({ id: value._ref });
34
+ if (!exists) {
35
+ return 'This reference must be published';
36
+ }
37
+ return true;
38
+ },
39
+ assetRequired: (flag, value, message) => {
40
+ if (!value || !value.asset || !value.asset._ref) {
41
+ const assetType = flag.assetType || 'Asset';
42
+ return message || `${assetType} required`;
43
+ }
44
+ return true;
45
+ },
46
+ };
47
+ export default objectValidators;
48
+ //# sourceMappingURL=objectValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectValidator.js","sourceRoot":"","sources":["../../../../src/validators/objectValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAC,MAAM,eAAe,CAAA;AACrD,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AAEjD,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAE3C,MAAM,gBAAgB,GAAe;IACnC,GAAG,gBAAgB;IAEnB,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACrC,IAAI,QAAQ,KAAK,UAAU,EAAE;YAC3B,OAAO,IAAI,CAAA;SACZ;QAED,MAAM,IAAI,GAAG,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QAEjF,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;YACtD,OAAO,OAAO,IAAI,UAAU,CAAA;SAC7B;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAc,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAC7D,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAA;SACZ;QAED,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YACvB,OAAO,OAAO,IAAI,IAAI,CAAA;SACvB;QAED,MAAM,EAAC,IAAI,EAAE,iBAAiB,EAAC,GAAG,OAAO,CAAA;QAEzC,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;SACnE;QAED,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;YAC/B,OAAO,IAAI,CAAA;SACZ;QAED,IAAI,CAAC,iBAAiB,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;SAChF;QAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAC,CAAC,CAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,kCAAkC,CAAA;SAC1C;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACtC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;YAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAA;YAC3C,OAAO,OAAO,IAAI,GAAG,SAAS,WAAW,CAAA;SAC1C;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -1,9 +1,9 @@
1
- import { CustomValidator } from '@sanity/types';
2
- /**
3
- * Validates slugs values by querying for uniqueness from the client.
4
- *
5
- * This is a custom rule implementation (e.g. `Rule.custom(slugValidator)`)
6
- * that's populated in `inferFromSchemaType` when the type name is `slug`
7
- */
8
- export declare const slugValidator: CustomValidator;
1
+ import { CustomValidator } from '@sanity/types';
2
+ /**
3
+ * Validates slugs values by querying for uniqueness from the client.
4
+ *
5
+ * This is a custom rule implementation (e.g. `Rule.custom(slugValidator)`)
6
+ * that's populated in `inferFromSchemaType` when the type name is `slug`
7
+ */
8
+ export declare const slugValidator: CustomValidator;
9
9
  //# sourceMappingURL=slugValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slugValidator.d.ts","sourceRoot":"","sources":["../../../../src/validators/slugValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,eAAe,EAAgB,MAAM,eAAe,CAAA;AA0EzF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,eAsB3B,CAAA"}
@@ -0,0 +1,83 @@
1
+ import { isKeyedObject } from '@sanity/types';
2
+ import { memoize } from 'lodash';
3
+ // import getClient from '../getClient'
4
+ const memoizedWarnOnArraySlug = memoize(warnOnArraySlug);
5
+ function getDocumentIds(id) {
6
+ const isDraft = id.indexOf('drafts.') === 0;
7
+ return {
8
+ published: isDraft ? id.slice('drafts.'.length) : id,
9
+ draft: isDraft ? id : `drafts.${id}`,
10
+ };
11
+ }
12
+ function serializePath(path) {
13
+ return path.reduce((target, part, i) => {
14
+ const isIndex = typeof part === 'number';
15
+ const isKey = isKeyedObject(part);
16
+ const separator = i === 0 ? '' : '.';
17
+ const add = isIndex || isKey ? '[]' : `${separator}${part}`;
18
+ return `${target}${add}`;
19
+ }, '');
20
+ }
21
+ const defaultIsUnique = (slug, context) => {
22
+ const { client, document, path, type } = context;
23
+ const schemaOptions = type?.options;
24
+ if (!document) {
25
+ throw new Error(`\`document\` was not provided in validation context.`);
26
+ }
27
+ if (!path) {
28
+ throw new Error(`\`path\` was not provided in validation context.`);
29
+ }
30
+ const disableArrayWarning = schemaOptions?.disableArrayWarning || false;
31
+ const { published, draft } = getDocumentIds(document._id);
32
+ const docType = document._type;
33
+ const atPath = serializePath(path.concat('current'));
34
+ if (!disableArrayWarning && atPath.includes('[]')) {
35
+ memoizedWarnOnArraySlug(serializePath(path));
36
+ }
37
+ const constraints = [
38
+ '_type == $docType',
39
+ `!(_id in [$draft, $published])`,
40
+ `${atPath} == $slug`,
41
+ ].join(' && ');
42
+ return client.fetch(`!defined(*[${constraints}][0]._id)`, {
43
+ docType,
44
+ draft,
45
+ published,
46
+ slug,
47
+ }, { tag: 'validation.slug-is-unique' });
48
+ };
49
+ function warnOnArraySlug(serializedPath) {
50
+ /* eslint-disable no-console */
51
+ console.warn([
52
+ `Slug field at path ${serializedPath} is within an array and cannot be automatically checked for uniqueness`,
53
+ `If you need to check for uniqueness, provide your own "isUnique" method`,
54
+ `To disable this message, set \`disableArrayWarning: true\` on the slug \`options\` field`,
55
+ ].join('\n'));
56
+ /* eslint-enable no-console */
57
+ }
58
+ /**
59
+ * Validates slugs values by querying for uniqueness from the client.
60
+ *
61
+ * This is a custom rule implementation (e.g. `Rule.custom(slugValidator)`)
62
+ * that's populated in `inferFromSchemaType` when the type name is `slug`
63
+ */
64
+ export const slugValidator = async (value, context) => {
65
+ if (!value) {
66
+ return true;
67
+ }
68
+ if (typeof value !== 'object') {
69
+ return 'Slug must be an object';
70
+ }
71
+ const slugValue = value.current;
72
+ if (!slugValue) {
73
+ return 'Slug must have a value';
74
+ }
75
+ const options = context?.type?.options;
76
+ const isUnique = options?.isUnique || defaultIsUnique;
77
+ const wasUnique = await isUnique(slugValue, { ...context, defaultIsUnique });
78
+ if (wasUnique) {
79
+ return true;
80
+ }
81
+ return 'Slug is already in use';
82
+ };
83
+ //# sourceMappingURL=slugValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slugValidator.js","sourceRoot":"","sources":["../../../../src/validators/slugValidator.ts"],"names":[],"mappings":"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"}