@roster-lock/shared 0.1.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 (314) hide show
  1. package/LICENSE.md +11 -0
  2. package/dist/index.js +19 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/match-lock-file/config-types.js +3 -0
  5. package/dist/match-lock-file/config-types.js.map +1 -0
  6. package/dist/match-lock-file/index.js +19 -0
  7. package/dist/match-lock-file/index.js.map +1 -0
  8. package/dist/match-lock-file/match-config/index.js +18 -0
  9. package/dist/match-lock-file/match-config/index.js.map +1 -0
  10. package/dist/match-lock-file/match-config/version-1/draft/index.js +44 -0
  11. package/dist/match-lock-file/match-config/version-1/draft/index.js.map +1 -0
  12. package/dist/match-lock-file/match-config/version-1/draft/roster-piece-info.js +32 -0
  13. package/dist/match-lock-file/match-config/version-1/draft/roster-piece-info.js.map +1 -0
  14. package/dist/match-lock-file/match-config/version-1/draft/selection-script-info.js +13 -0
  15. package/dist/match-lock-file/match-config/version-1/draft/selection-script-info.js.map +1 -0
  16. package/dist/match-lock-file/match-config/version-1/index.js +22 -0
  17. package/dist/match-lock-file/match-config/version-1/index.js.map +1 -0
  18. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/asset/index.js +37 -0
  19. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/asset/index.js.map +1 -0
  20. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/asset/keywords.js +43 -0
  21. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/asset/keywords.js.map +1 -0
  22. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/index.js +7 -0
  23. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/index.js.map +1 -0
  24. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/officialSelections.js +41 -0
  25. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/officialSelections.js.map +1 -0
  26. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/requirements/index.js +20 -0
  27. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/requirements/index.js.map +1 -0
  28. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/requirements/keywords.js +31 -0
  29. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/requirements/keywords.js.map +1 -0
  30. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/schema.js +40 -0
  31. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/schema.js.map +1 -0
  32. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/variables/index.js +17 -0
  33. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/variables/index.js.map +1 -0
  34. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/variables/keywords.js +16 -0
  35. package/dist/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/variables/keywords.js.map +1 -0
  36. package/dist/match-lock-file/match-config/version-1/lock/engine/index.js +19 -0
  37. package/dist/match-lock-file/match-config/version-1/lock/engine/index.js.map +1 -0
  38. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/error.js +25 -0
  39. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/error.js.map +1 -0
  40. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/index.js +33 -0
  41. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/index.js.map +1 -0
  42. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/piece/assets/glob/filepath-component.js +31 -0
  43. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/piece/assets/glob/filepath-component.js.map +1 -0
  44. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/piece/assets/glob/filepath.js +37 -0
  45. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/piece/assets/glob/filepath.js.map +1 -0
  46. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/piece/assets/glob/index.js +22 -0
  47. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/piece/assets/glob/index.js.map +1 -0
  48. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/piece/assets/glob/pathvariables.js +24 -0
  49. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/piece/assets/glob/pathvariables.js.map +1 -0
  50. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/piece/assets/index.js +39 -0
  51. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/piece/assets/index.js.map +1 -0
  52. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/piece/index.js +46 -0
  53. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/piece/index.js.map +1 -0
  54. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/piece/path-variables.js +23 -0
  55. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/piece/path-variables.js.map +1 -0
  56. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/piece/requirements.js +99 -0
  57. package/dist/match-lock-file/match-config/version-1/lock/engine/validate/piece/requirements.js.map +1 -0
  58. package/dist/match-lock-file/match-config/version-1/lock/index.js +56 -0
  59. package/dist/match-lock-file/match-config/version-1/lock/index.js.map +1 -0
  60. package/dist/match-lock-file/match-config/version-1/lock/piece-meta/caster-json-schema/index.js +87 -0
  61. package/dist/match-lock-file/match-config/version-1/lock/piece-meta/caster-json-schema/index.js.map +1 -0
  62. package/dist/match-lock-file/match-config/version-1/lock/piece-meta/index.js +19 -0
  63. package/dist/match-lock-file/match-config/version-1/lock/piece-meta/index.js.map +1 -0
  64. package/dist/match-lock-file/match-config/version-1/lock/piece-meta/validate/index.js +94 -0
  65. package/dist/match-lock-file/match-config/version-1/lock/piece-meta/validate/index.js.map +1 -0
  66. package/dist/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/downloadableSources.js +18 -0
  67. package/dist/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/downloadableSources.js.map +1 -0
  68. package/dist/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/human.js +28 -0
  69. package/dist/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/human.js.map +1 -0
  70. package/dist/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/id.js +31 -0
  71. package/dist/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/id.js.map +1 -0
  72. package/dist/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/index.js +68 -0
  73. package/dist/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/index.js.map +1 -0
  74. package/dist/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/pathVariables.js +49 -0
  75. package/dist/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/pathVariables.js.map +1 -0
  76. package/dist/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/requiresPieces.js +62 -0
  77. package/dist/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/requiresPieces.js.map +1 -0
  78. package/dist/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/version.js +21 -0
  79. package/dist/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/version.js.map +1 -0
  80. package/dist/match-lock-file/match-config/version-1/lock/rosters/index.js +19 -0
  81. package/dist/match-lock-file/match-config/version-1/lock/rosters/index.js.map +1 -0
  82. package/dist/match-lock-file/match-config/version-1/lock/rosters/validate/downloadable-source.js +10 -0
  83. package/dist/match-lock-file/match-config/version-1/lock/rosters/validate/downloadable-source.js.map +1 -0
  84. package/dist/match-lock-file/match-config/version-1/lock/rosters/validate/human.js +27 -0
  85. package/dist/match-lock-file/match-config/version-1/lock/rosters/validate/human.js.map +1 -0
  86. package/dist/match-lock-file/match-config/version-1/lock/rosters/validate/id.js +27 -0
  87. package/dist/match-lock-file/match-config/version-1/lock/rosters/validate/id.js.map +1 -0
  88. package/dist/match-lock-file/match-config/version-1/lock/rosters/validate/index.js +74 -0
  89. package/dist/match-lock-file/match-config/version-1/lock/rosters/validate/index.js.map +1 -0
  90. package/dist/match-lock-file/match-config/version-1/lock/rosters/validate/path-variables.js +31 -0
  91. package/dist/match-lock-file/match-config/version-1/lock/rosters/validate/path-variables.js.map +1 -0
  92. package/dist/match-lock-file/match-config/version-1/lock/rosters/validate/required-pieces.js +25 -0
  93. package/dist/match-lock-file/match-config/version-1/lock/rosters/validate/required-pieces.js.map +1 -0
  94. package/dist/match-lock-file/match-config/version-1/lock/rosters/validate/utils.js +23 -0
  95. package/dist/match-lock-file/match-config/version-1/lock/rosters/validate/utils.js.map +1 -0
  96. package/dist/match-lock-file/match-config/version-1/lock/rosters/validate/version.js +19 -0
  97. package/dist/match-lock-file/match-config/version-1/lock/rosters/validate/version.js.map +1 -0
  98. package/dist/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/index.js +42 -0
  99. package/dist/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/index.js.map +1 -0
  100. package/dist/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/script.js +46 -0
  101. package/dist/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/script.js.map +1 -0
  102. package/dist/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/selection-types/game-controlled.js +12 -0
  103. package/dist/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/selection-types/game-controlled.js.map +1 -0
  104. package/dist/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/selection-types/normal.js +49 -0
  105. package/dist/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/selection-types/normal.js.map +1 -0
  106. package/dist/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/selection-types/preselected.js +32 -0
  107. package/dist/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/selection-types/preselected.js.map +1 -0
  108. package/dist/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/selection-types/unselectable.js +12 -0
  109. package/dist/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/selection-types/unselectable.js.map +1 -0
  110. package/dist/match-lock-file/match-config/version-1/lock/selection/index.js +19 -0
  111. package/dist/match-lock-file/match-config/version-1/lock/selection/index.js.map +1 -0
  112. package/dist/match-lock-file/match-config/version-1/lock/selection/validate/index.js +33 -0
  113. package/dist/match-lock-file/match-config/version-1/lock/selection/validate/index.js.map +1 -0
  114. package/dist/match-lock-file/match-config/version-1/lock/selection/validate/script.js +23 -0
  115. package/dist/match-lock-file/match-config/version-1/lock/selection/validate/script.js.map +1 -0
  116. package/dist/match-lock-file/match-config/version-1/lock/selection/validate/selections/normal.js +49 -0
  117. package/dist/match-lock-file/match-config/version-1/lock/selection/validate/selections/normal.js.map +1 -0
  118. package/dist/match-lock-file/match-config/version-1/lock/selection/validate/selections/preselected.js +14 -0
  119. package/dist/match-lock-file/match-config/version-1/lock/selection/validate/selections/preselected.js.map +1 -0
  120. package/dist/match-lock-file/match-config/version-1/piece-info/file-paths.js +5 -0
  121. package/dist/match-lock-file/match-config/version-1/piece-info/file-paths.js.map +1 -0
  122. package/dist/match-lock-file/match-config/version-1/piece-info/index.js +23 -0
  123. package/dist/match-lock-file/match-config/version-1/piece-info/index.js.map +1 -0
  124. package/dist/match-lock-file/match-config/version-1/piece-info/keywords.js +29 -0
  125. package/dist/match-lock-file/match-config/version-1/piece-info/keywords.js.map +1 -0
  126. package/dist/match-lock-file/match-config/version-1/piece-info/schema.js +19 -0
  127. package/dist/match-lock-file/match-config/version-1/piece-info/schema.js.map +1 -0
  128. package/dist/match-lock-file/match-config/version-1/shared/Identity.js +15 -0
  129. package/dist/match-lock-file/match-config/version-1/shared/Identity.js.map +1 -0
  130. package/dist/match-lock-file/match-config/version-1/shared/SelectedPiece.js +38 -0
  131. package/dist/match-lock-file/match-config/version-1/shared/SelectedPiece.js.map +1 -0
  132. package/dist/match-lock-file/match-config/version-1/shared/count.js +48 -0
  133. package/dist/match-lock-file/match-config/version-1/shared/count.js.map +1 -0
  134. package/dist/match-lock-file/match-config/version-1/shared/index.js +25 -0
  135. package/dist/match-lock-file/match-config/version-1/shared/index.js.map +1 -0
  136. package/dist/match-lock-file/match-config/version-1/usage/calculatePieceVersion.js +70 -0
  137. package/dist/match-lock-file/match-config/version-1/usage/calculatePieceVersion.js.map +1 -0
  138. package/dist/match-lock-file/match-config/version-1/usage/empty-configs.js +49 -0
  139. package/dist/match-lock-file/match-config/version-1/usage/empty-configs.js.map +1 -0
  140. package/dist/match-lock-file/match-config/version-1/usage/files-and-assets/constants.js +8 -0
  141. package/dist/match-lock-file/match-config/version-1/usage/files-and-assets/constants.js.map +1 -0
  142. package/dist/match-lock-file/match-config/version-1/usage/files-and-assets/getAssetsOfFiles.js +75 -0
  143. package/dist/match-lock-file/match-config/version-1/usage/files-and-assets/getAssetsOfFiles.js.map +1 -0
  144. package/dist/match-lock-file/match-config/version-1/usage/files-and-assets/getMatchingAsset.js +28 -0
  145. package/dist/match-lock-file/match-config/version-1/usage/files-and-assets/getMatchingAsset.js.map +1 -0
  146. package/dist/match-lock-file/match-config/version-1/usage/files-and-assets/index.js +20 -0
  147. package/dist/match-lock-file/match-config/version-1/usage/files-and-assets/index.js.map +1 -0
  148. package/dist/match-lock-file/match-config/version-1/usage/files-and-assets/types.js +3 -0
  149. package/dist/match-lock-file/match-config/version-1/usage/files-and-assets/types.js.map +1 -0
  150. package/dist/match-lock-file/match-config/version-1/usage/files-and-assets/validateAssetFileCount.js +33 -0
  151. package/dist/match-lock-file/match-config/version-1/usage/files-and-assets/validateAssetFileCount.js.map +1 -0
  152. package/dist/match-lock-file/match-config/version-1/usage/index.js +22 -0
  153. package/dist/match-lock-file/match-config/version-1/usage/index.js.map +1 -0
  154. package/dist/match-lock-file/match-config/version-1/usage/publish/SemVer.js +63 -0
  155. package/dist/match-lock-file/match-config/version-1/usage/publish/SemVer.js.map +1 -0
  156. package/dist/match-lock-file/match-config/version-1/usage/publish/diffLocks.js +51 -0
  157. package/dist/match-lock-file/match-config/version-1/usage/publish/diffLocks.js.map +1 -0
  158. package/dist/match-lock-file/match-config/version-1/usage/publish/index.js +19 -0
  159. package/dist/match-lock-file/match-config/version-1/usage/publish/index.js.map +1 -0
  160. package/dist/match-lock-file/match-config/version-1/usage/validate-select/constants.js +14 -0
  161. package/dist/match-lock-file/match-config/version-1/usage/validate-select/constants.js.map +1 -0
  162. package/dist/match-lock-file/match-config/version-1/usage/validate-select/ensure-pieces-are-in-roster.js +53 -0
  163. package/dist/match-lock-file/match-config/version-1/usage/validate-select/ensure-pieces-are-in-roster.js.map +1 -0
  164. package/dist/match-lock-file/match-config/version-1/usage/validate-select/handle-validation.js +49 -0
  165. package/dist/match-lock-file/match-config/version-1/usage/validate-select/handle-validation.js.map +1 -0
  166. package/dist/match-lock-file/match-config/version-1/usage/validate-select/index.js +68 -0
  167. package/dist/match-lock-file/match-config/version-1/usage/validate-select/index.js.map +1 -0
  168. package/dist/match-lock-file/match-config/version-1/usage/validate-select/selection-types/game-controlled.js +38 -0
  169. package/dist/match-lock-file/match-config/version-1/usage/validate-select/selection-types/game-controlled.js.map +1 -0
  170. package/dist/match-lock-file/match-config/version-1/usage/validate-select/selection-types/normal/cast-result.js +40 -0
  171. package/dist/match-lock-file/match-config/version-1/usage/validate-select/selection-types/normal/cast-result.js.map +1 -0
  172. package/dist/match-lock-file/match-config/version-1/usage/validate-select/selection-types/normal/index.js +78 -0
  173. package/dist/match-lock-file/match-config/version-1/usage/validate-select/selection-types/normal/index.js.map +1 -0
  174. package/dist/match-lock-file/match-config/version-1/usage/validate-select/selection-types/normal/validate-user-selection.js +43 -0
  175. package/dist/match-lock-file/match-config/version-1/usage/validate-select/selection-types/normal/validate-user-selection.js.map +1 -0
  176. package/dist/match-lock-file/match-config/version-1/usage/validate-select/selection-types/preselected.js +26 -0
  177. package/dist/match-lock-file/match-config/version-1/usage/validate-select/selection-types/preselected.js.map +1 -0
  178. package/dist/match-lock-file/util-types/json-schema/JSONSchemaCaster.js +45 -0
  179. package/dist/match-lock-file/util-types/json-schema/JSONSchemaCaster.js.map +1 -0
  180. package/dist/match-lock-file/util-types/json-schema/defineKeyword.js +30 -0
  181. package/dist/match-lock-file/util-types/json-schema/defineKeyword.js.map +1 -0
  182. package/dist/match-lock-file/util-types/json-schema/index.js +21 -0
  183. package/dist/match-lock-file/util-types/json-schema/index.js.map +1 -0
  184. package/dist/match-lock-file/util-types/json-schema/safe-keyword.js +3 -0
  185. package/dist/match-lock-file/util-types/json-schema/safe-keyword.js.map +1 -0
  186. package/dist/match-lock-file/util-types/json-schema/schema-types.js +3 -0
  187. package/dist/match-lock-file/util-types/json-schema/schema-types.js.map +1 -0
  188. package/package.json +49 -0
  189. package/src/index.ts +3 -0
  190. package/src/match-lock-file/config-types.ts +10 -0
  191. package/src/match-lock-file/index.ts +4 -0
  192. package/src/match-lock-file/match-config/index.ts +2 -0
  193. package/src/match-lock-file/match-config/version-0/pieces/caster-runtypes/index.ts +99 -0
  194. package/src/match-lock-file/match-config/version-0/pieces/caster-runtypes/util-casters.ts +155 -0
  195. package/src/match-lock-file/match-config/version-0/pieces/index.ts +3 -0
  196. package/src/match-lock-file/match-config/version-0/pieces/types.ts +49 -0
  197. package/src/match-lock-file/match-config/version-0/pieces/validate/definition/assetCount.ts +33 -0
  198. package/src/match-lock-file/match-config/version-0/pieces/validate/definition/assetType.ts +22 -0
  199. package/src/match-lock-file/match-config/version-0/pieces/validate/definition/index.ts +30 -0
  200. package/src/match-lock-file/match-config/version-0/pieces/validate/definition/pathVariables.ts +39 -0
  201. package/src/match-lock-file/match-config/version-0/pieces/validate/index.ts +4 -0
  202. package/src/match-lock-file/match-config/version-0/pieces/validate/sha.ts +23 -0
  203. package/src/match-lock-file/match-config/version-0/pieces/validate/version.ts +66 -0
  204. package/src/match-lock-file/match-config/version-0/restriction/casters.ts +52 -0
  205. package/src/match-lock-file/match-config/version-0/restriction/index.ts +4 -0
  206. package/src/match-lock-file/match-config/version-0/restriction/types.ts +42 -0
  207. package/src/match-lock-file/match-config/version-0/restriction/validate/index.ts +15 -0
  208. package/src/match-lock-file/match-config/version-0/restriction/validate/piece/index.ts +46 -0
  209. package/src/match-lock-file/match-config/version-0/restriction/validate/sha.ts +19 -0
  210. package/src/match-lock-file/match-config/version-0/selection/casters.ts +105 -0
  211. package/src/match-lock-file/match-config/version-0/selection/validate/count.ts +16 -0
  212. package/src/match-lock-file/match-config/version-0/selection/validate/index.ts +40 -0
  213. package/src/match-lock-file/match-config/version-0/selection/validate/scriptMeta.ts +26 -0
  214. package/src/match-lock-file/match-config/version-1/draft/index.ts +52 -0
  215. package/src/match-lock-file/match-config/version-1/draft/roster-piece-info.ts +33 -0
  216. package/src/match-lock-file/match-config/version-1/draft/selection-script-info.ts +16 -0
  217. package/src/match-lock-file/match-config/version-1/index.ts +7 -0
  218. package/src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/asset/index.ts +46 -0
  219. package/src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/asset/keywords.ts +48 -0
  220. package/src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/index.ts +6 -0
  221. package/src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/officialSelections.ts +42 -0
  222. package/src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/requirements/index.ts +26 -0
  223. package/src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/requirements/keywords.ts +34 -0
  224. package/src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/schema.ts +47 -0
  225. package/src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/variables/index.ts +22 -0
  226. package/src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/variables/keywords.ts +14 -0
  227. package/src/match-lock-file/match-config/version-1/lock/engine/index.ts +3 -0
  228. package/src/match-lock-file/match-config/version-1/lock/engine/validate/constants.ts +7 -0
  229. package/src/match-lock-file/match-config/version-1/lock/engine/validate/error.ts +21 -0
  230. package/src/match-lock-file/match-config/version-1/lock/engine/validate/index.ts +18 -0
  231. package/src/match-lock-file/match-config/version-1/lock/engine/validate/piece/assets/glob/filepath-component.ts +41 -0
  232. package/src/match-lock-file/match-config/version-1/lock/engine/validate/piece/assets/glob/filepath.ts +55 -0
  233. package/src/match-lock-file/match-config/version-1/lock/engine/validate/piece/assets/glob/index.ts +21 -0
  234. package/src/match-lock-file/match-config/version-1/lock/engine/validate/piece/assets/glob/pathvariables.ts +28 -0
  235. package/src/match-lock-file/match-config/version-1/lock/engine/validate/piece/assets/index.ts +46 -0
  236. package/src/match-lock-file/match-config/version-1/lock/engine/validate/piece/index.ts +37 -0
  237. package/src/match-lock-file/match-config/version-1/lock/engine/validate/piece/path-variables.ts +21 -0
  238. package/src/match-lock-file/match-config/version-1/lock/engine/validate/piece/requirements.ts +117 -0
  239. package/src/match-lock-file/match-config/version-1/lock/index.ts +51 -0
  240. package/src/match-lock-file/match-config/version-1/lock/piece-meta/caster-json-schema/index.ts +97 -0
  241. package/src/match-lock-file/match-config/version-1/lock/piece-meta/index.ts +3 -0
  242. package/src/match-lock-file/match-config/version-1/lock/piece-meta/validate/index.ts +114 -0
  243. package/src/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/downloadableSources.ts +25 -0
  244. package/src/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/human.ts +33 -0
  245. package/src/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/id.ts +33 -0
  246. package/src/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/index.ts +103 -0
  247. package/src/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/pathVariables.ts +59 -0
  248. package/src/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/requiresPieces.ts +71 -0
  249. package/src/match-lock-file/match-config/version-1/lock/rosters/caster-json-schema/version.ts +22 -0
  250. package/src/match-lock-file/match-config/version-1/lock/rosters/index.ts +3 -0
  251. package/src/match-lock-file/match-config/version-1/lock/rosters/validate/downloadable-source.ts +9 -0
  252. package/src/match-lock-file/match-config/version-1/lock/rosters/validate/human.ts +22 -0
  253. package/src/match-lock-file/match-config/version-1/lock/rosters/validate/id.ts +20 -0
  254. package/src/match-lock-file/match-config/version-1/lock/rosters/validate/index.ts +83 -0
  255. package/src/match-lock-file/match-config/version-1/lock/rosters/validate/path-variables.ts +40 -0
  256. package/src/match-lock-file/match-config/version-1/lock/rosters/validate/required-pieces.ts +30 -0
  257. package/src/match-lock-file/match-config/version-1/lock/rosters/validate/utils.ts +17 -0
  258. package/src/match-lock-file/match-config/version-1/lock/rosters/validate/version.ts +22 -0
  259. package/src/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/index.ts +53 -0
  260. package/src/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/script.ts +54 -0
  261. package/src/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/selection-types/game-controlled.ts +11 -0
  262. package/src/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/selection-types/normal.ts +58 -0
  263. package/src/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/selection-types/preselected.ts +37 -0
  264. package/src/match-lock-file/match-config/version-1/lock/selection/caster-json-schema/selection-types/unselectable.ts +11 -0
  265. package/src/match-lock-file/match-config/version-1/lock/selection/index.ts +3 -0
  266. package/src/match-lock-file/match-config/version-1/lock/selection/validate/index.ts +37 -0
  267. package/src/match-lock-file/match-config/version-1/lock/selection/validate/script.ts +28 -0
  268. package/src/match-lock-file/match-config/version-1/lock/selection/validate/selections/normal.ts +69 -0
  269. package/src/match-lock-file/match-config/version-1/lock/selection/validate/selections/preselected.ts +18 -0
  270. package/src/match-lock-file/match-config/version-1/piece-info/file-paths.ts +2 -0
  271. package/src/match-lock-file/match-config/version-1/piece-info/index.ts +14 -0
  272. package/src/match-lock-file/match-config/version-1/piece-info/keywords.ts +39 -0
  273. package/src/match-lock-file/match-config/version-1/piece-info/schema.ts +29 -0
  274. package/src/match-lock-file/match-config/version-1/shared/Identity.ts +14 -0
  275. package/src/match-lock-file/match-config/version-1/shared/SelectedPiece.ts +49 -0
  276. package/src/match-lock-file/match-config/version-1/shared/count.ts +47 -0
  277. package/src/match-lock-file/match-config/version-1/shared/index.ts +9 -0
  278. package/src/match-lock-file/match-config/version-1/usage/calculatePieceVersion.ts +85 -0
  279. package/src/match-lock-file/match-config/version-1/usage/empty-configs.ts +61 -0
  280. package/src/match-lock-file/match-config/version-1/usage/files-and-assets/constants.ts +6 -0
  281. package/src/match-lock-file/match-config/version-1/usage/files-and-assets/getAssetsOfFiles.ts +88 -0
  282. package/src/match-lock-file/match-config/version-1/usage/files-and-assets/getMatchingAsset.ts +42 -0
  283. package/src/match-lock-file/match-config/version-1/usage/files-and-assets/index.ts +4 -0
  284. package/src/match-lock-file/match-config/version-1/usage/files-and-assets/types.ts +5 -0
  285. package/src/match-lock-file/match-config/version-1/usage/files-and-assets/validateAssetFileCount.ts +34 -0
  286. package/src/match-lock-file/match-config/version-1/usage/index.ts +6 -0
  287. package/src/match-lock-file/match-config/version-1/usage/publish/SemVer.ts +67 -0
  288. package/src/match-lock-file/match-config/version-1/usage/publish/diffLocks.ts +66 -0
  289. package/src/match-lock-file/match-config/version-1/usage/publish/index.ts +2 -0
  290. package/src/match-lock-file/match-config/version-1/usage/validate-select/constants.ts +9 -0
  291. package/src/match-lock-file/match-config/version-1/usage/validate-select/ensure-pieces-are-in-roster.ts +61 -0
  292. package/src/match-lock-file/match-config/version-1/usage/validate-select/handle-validation.ts +54 -0
  293. package/src/match-lock-file/match-config/version-1/usage/validate-select/index.ts +98 -0
  294. package/src/match-lock-file/match-config/version-1/usage/validate-select/selection-types/game-controlled.ts +49 -0
  295. package/src/match-lock-file/match-config/version-1/usage/validate-select/selection-types/normal/cast-result.ts +39 -0
  296. package/src/match-lock-file/match-config/version-1/usage/validate-select/selection-types/normal/include-mandatory-require.ts +44 -0
  297. package/src/match-lock-file/match-config/version-1/usage/validate-select/selection-types/normal/index.ts +101 -0
  298. package/src/match-lock-file/match-config/version-1/usage/validate-select/selection-types/normal/validate-user-selection.ts +51 -0
  299. package/src/match-lock-file/match-config/version-1/usage/validate-select/selection-types/preselected.ts +36 -0
  300. package/src/match-lock-file/util-types/json-schema/JSONSchemaCaster.ts +52 -0
  301. package/src/match-lock-file/util-types/json-schema/checkVersion.ts +9 -0
  302. package/src/match-lock-file/util-types/json-schema/defineKeyword.ts +50 -0
  303. package/src/match-lock-file/util-types/json-schema/index.ts +4 -0
  304. package/src/match-lock-file/util-types/json-schema/safe-keyword.ts +27 -0
  305. package/src/match-lock-file/util-types/json-schema/schema-types.ts +5 -0
  306. package/tests/engine/assets.spec.ts +147 -0
  307. package/tests/engine/official-selections.spec.ts +67 -0
  308. package/tests/engine/requirements.spec.ts +43 -0
  309. package/tests/piece-info/cast.spec.ts +20 -0
  310. package/tests/piece-info/rosterlock.piece-info.json +15 -0
  311. package/tests/piece-meta/cast.spec.ts +60 -0
  312. package/tests/rosters/path-variables.spec.ts +52 -0
  313. package/tests/selection/cast-result.spec.ts +72 -0
  314. package/tsconfig.json +20 -0
package/LICENSE.md ADDED
@@ -0,0 +1,11 @@
1
+ https://json.org/license.html
2
+
3
+ Copyright (c) 2002 JSON.org
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ The Software shall be used for Good, not Evil.
10
+
11
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/dist/index.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./match-lock-file/config-types"), exports);
18
+ __exportStar(require("./match-lock-file"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,iEAA+C;AAC/C,oDAAkC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=config-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-types.js","sourceRoot":"","sources":["../../src/match-lock-file/config-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./match-config"), exports);
18
+ __exportStar(require("./util-types/json-schema"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/match-lock-file/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,iDAA+B;AAC/B,2DAAyC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./version-1"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/match-lock-file/match-config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,8CAA4B"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ROSTERLOCK_V1_DRAFT_CASTER_JSONSCHEMA = exports.RosterLockV1DraftSchemaKeywords = exports.RosterLockV1DraftSchema = void 0;
4
+ const json_schema_1 = require("../../../util-types/json-schema");
5
+ const lock_1 = require("../lock");
6
+ const shared_1 = require("../shared");
7
+ const roster_piece_info_1 = require("./roster-piece-info");
8
+ const selection_script_info_1 = require("./selection-script-info");
9
+ exports.RosterLockV1DraftSchema = {
10
+ type: "object",
11
+ required: ["configIdentity", "previousLock", "stagedLock", "draft"],
12
+ additionalProperties: false,
13
+ $defs: {
14
+ RosterLockV1Config: lock_1.RosterLockV1Schema,
15
+ },
16
+ properties: {
17
+ configIdentity: (0, shared_1.buildIdentity)("draft", 1),
18
+ previousLock: { $ref: "#/$defs/RosterLockV1Config" },
19
+ stagedLock: { $ref: "#/$defs/RosterLockV1Config" },
20
+ draft: {
21
+ type: "object", required: ["rosterPieceInfo", "selectionScriptInfo"],
22
+ additionalProperties: false,
23
+ properties: {
24
+ rosterPieceInfo: {
25
+ type: "object", required: [],
26
+ additionalProperties: {
27
+ type: "object", required: [],
28
+ additionalProperties: roster_piece_info_1.rosterPieceInfoSchema
29
+ }
30
+ },
31
+ selectionScriptInfo: {
32
+ type: "object", required: [],
33
+ additionalProperties: selection_script_info_1.selectionScriptInfoSchema
34
+ }
35
+ }
36
+ }
37
+ },
38
+ };
39
+ function ignore() { return true; }
40
+ exports.RosterLockV1DraftSchemaKeywords = lock_1.RosterLockV1SchemaKeywords.map((keywordDef) => {
41
+ return (0, json_schema_1.defineKeyword)({ keyword: keywordDef.keyword, type: keywordDef.type, validate: ignore });
42
+ });
43
+ exports.ROSTERLOCK_V1_DRAFT_CASTER_JSONSCHEMA = new json_schema_1.JSONSchemaCaster(exports.RosterLockV1DraftSchema, exports.RosterLockV1DraftSchemaKeywords);
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/match-lock-file/match-config/version-1/draft/index.ts"],"names":[],"mappings":";;;AAGA,iEAAkF;AAElF,kCAAyE;AAEzE,sCAA0C;AAE1C,2DAA4D;AAC5D,mEAAoE;AAEvD,QAAA,uBAAuB,GAAsC;IACxE,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,CAAC;IACnE,oBAAoB,EAAE,KAAK;IAC3B,KAAK,EAAE;QACL,kBAAkB,EAAE,yBAAkB;KACvC;IACD,UAAU,EAAE;QACV,cAAc,EAAE,IAAA,sBAAa,EAAC,OAAO,EAAE,CAAC,CAAC;QACzC,YAAY,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE;QACpD,UAAU,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE;QAClD,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;YACpE,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE;gBACV,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;oBAC5B,oBAAoB,EAAE;wBACpB,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;wBAC5B,oBAAoB,EAAE,yCAAqB;qBAC5C;iBACF;gBACD,mBAAmB,EAAE;oBACnB,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;oBAC5B,oBAAoB,EAAE,iDAAyB;iBAChD;aACF;SACF;KACF;CACmC,CAAC;AAEvC,SAAS,MAAM,KAAI,OAAO,IAAI,CAAC,CAAC,CAAC;AACpB,QAAA,+BAA+B,GAAG,iCAA0B,CAAC,GAAG,CAAC,CAAC,UAAU,EAAC,EAAE;IAC1F,OAAO,IAAA,2BAAa,EAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AACjG,CAAC,CAAC,CAAC;AAEU,QAAA,qCAAqC,GAAG,IAAI,8BAAgB,CACvE,QAAA,uBAAuB,EACvB,QAAA,+BAA+B,CAChC,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rosterPieceInfoSchema = void 0;
4
+ exports.rosterPieceInfoSchema = {
5
+ type: "object", additionalProperties: false,
6
+ required: ["testedDownloadSources"],
7
+ properties: {
8
+ referenceFolder: { type: "string", nullable: true },
9
+ testedDownloadSources: {
10
+ type: "array",
11
+ items: {
12
+ type: "object",
13
+ required: ["source", "testedAt", "version"],
14
+ additionalProperties: false,
15
+ properties: {
16
+ source: { type: "string" },
17
+ testedAt: { type: "number" },
18
+ version: {
19
+ type: "object", additionalProperties: false,
20
+ required: ["logic", "media", "docs"],
21
+ properties: {
22
+ logic: { type: "string" },
23
+ media: { type: "string" },
24
+ docs: { type: "string" },
25
+ }
26
+ }
27
+ },
28
+ },
29
+ },
30
+ },
31
+ };
32
+ //# sourceMappingURL=roster-piece-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roster-piece-info.js","sourceRoot":"","sources":["../../../../../src/match-lock-file/match-config/version-1/draft/roster-piece-info.ts"],"names":[],"mappings":";;;AAKa,QAAA,qBAAqB,GAA6C;IAC7E,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK;IAC3C,QAAQ,EAAE,CAAC,uBAAuB,CAAC;IACnC,UAAU,EAAE;QACV,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACnD,qBAAqB,EAAE;YACrB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC;gBAC3C,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC5B,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK;wBAC3C,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;wBACpC,UAAU,EAAE;4BACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBACzB;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.selectionScriptInfoSchema = void 0;
4
+ exports.selectionScriptInfoSchema = {
5
+ type: "object", required: ["lastLoad", "sha", "referencePath"],
6
+ additionalProperties: false,
7
+ properties: {
8
+ lastLoad: { type: "number" },
9
+ sha: { type: "string" },
10
+ referencePath: { type: "string" },
11
+ }
12
+ };
13
+ //# sourceMappingURL=selection-script-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-script-info.js","sourceRoot":"","sources":["../../../../../src/match-lock-file/match-config/version-1/draft/selection-script-info.ts"],"names":[],"mappings":";;;AAOa,QAAA,yBAAyB,GAA8C;IAClF,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,eAAe,CAAC;IAC9D,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;CACF,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./lock"), exports);
18
+ __exportStar(require("./draft"), exports);
19
+ __exportStar(require("./piece-info"), exports);
20
+ __exportStar(require("./shared"), exports);
21
+ __exportStar(require("./usage"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/match-lock-file/match-config/version-1/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,yCAAuB;AACvB,0CAAwB;AACxB,+CAA6B;AAC7B,2CAAyB;AAEzB,0CAAwB"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assetKeywords = exports.assetsSchema = void 0;
4
+ const count_1 = require("../../../../shared/count");
5
+ const keywords_1 = require("./keywords");
6
+ exports.assetsSchema = {
7
+ type: "array",
8
+ items: {
9
+ type: "object",
10
+ additionalProperties: false,
11
+ required: ["name", "classification", "count", "glob"],
12
+ properties: {
13
+ name: {
14
+ [keywords_1.assetNameSchemaValidator.keyword]: true,
15
+ type: "string"
16
+ },
17
+ classification: { type: "string", enum: ["logic", "media", "doc"] },
18
+ count: count_1.countSchema,
19
+ glob: {
20
+ [keywords_1.assetGlobListSchemaValidator.keyword]: true,
21
+ type: "array",
22
+ items: {
23
+ [keywords_1.assetGlobPathVariablesSchemaValidator.keyword]: true,
24
+ [keywords_1.assetGlobItemSchemaValidator.keyword]: true,
25
+ type: "string",
26
+ },
27
+ },
28
+ }
29
+ }
30
+ };
31
+ exports.assetKeywords = [
32
+ keywords_1.assetNameSchemaValidator,
33
+ keywords_1.assetGlobListSchemaValidator,
34
+ keywords_1.assetGlobPathVariablesSchemaValidator,
35
+ keywords_1.assetGlobItemSchemaValidator,
36
+ ];
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/asset/index.ts"],"names":[],"mappings":";;;AAEA,oDAAuD;AAIvD,yCAKoB;AACP,QAAA,YAAY,GAErB;IACF,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC;QACrD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,CAAC,mCAAwB,CAAC,OAAO,CAAC,EAAE,IAAI;gBACxC,IAAI,EAAE,QAAQ;aACf;YACD,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE;YACnE,KAAK,EAAE,mBAAW;YAClB,IAAI,EAAE;gBACJ,CAAC,uCAA4B,CAAC,OAAO,CAAC,EAAE,IAAI;gBAC5C,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,CAAC,gDAAqC,CAAC,OAAO,CAAC,EAAE,IAAI;oBACrD,CAAC,uCAA4B,CAAC,OAAO,CAAC,EAAE,IAAI;oBAC5C,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEW,QAAA,aAAa,GAAG;IAC3B,mCAAwB;IACxB,uCAA4B;IAC5B,gDAAqC;IACrC,uCAA4B;CAC7B,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assetGlobItemSchemaValidator = exports.assetGlobPathVariablesSchemaValidator = exports.assetGlobListSchemaValidator = exports.assetNameSchemaValidator = void 0;
4
+ const json_schema_1 = require("../../../../../../util-types/json-schema");
5
+ const assets_1 = require("../../validate/piece/assets");
6
+ exports.assetNameSchemaValidator = (0, json_schema_1.defineKeyword)({
7
+ keyword: "assetName",
8
+ type: "string",
9
+ validate: function (name, { engine }, path) {
10
+ const pathParts = path.split("/").slice(0, -3);
11
+ const pieceType = pathParts.at(-1);
12
+ if (!pieceType)
13
+ throw new Error("Invalid path");
14
+ const assets = engine.pieceDefinitions[pieceType].assets;
15
+ (0, assets_1.validateAssetName)(name, assets);
16
+ }
17
+ });
18
+ const assets_2 = require("../../validate/piece/assets");
19
+ exports.assetGlobListSchemaValidator = (0, json_schema_1.defineKeyword)({
20
+ keyword: "assetGlobList",
21
+ type: "array",
22
+ validate: assets_2.validateGlobList
23
+ });
24
+ const pathvariables_1 = require("../../validate/piece/assets/glob/pathvariables");
25
+ exports.assetGlobPathVariablesSchemaValidator = (0, json_schema_1.defineKeyword)({
26
+ keyword: "assetGlobPathVariables",
27
+ type: "string",
28
+ validate: function (globItem, { engine }, path) {
29
+ const pathParts = path.split("/").slice(0, -4);
30
+ const pieceType = pathParts.at(-1);
31
+ if (!pieceType)
32
+ throw new Error("Invalid path");
33
+ const variables = engine.pieceDefinitions[pieceType].pathVariables;
34
+ (0, pathvariables_1.validatePathVariablesInGlob)(globItem, variables);
35
+ },
36
+ });
37
+ const glob_1 = require("../../validate/piece/assets/glob");
38
+ exports.assetGlobItemSchemaValidator = (0, json_schema_1.defineKeyword)({
39
+ keyword: "assetGlobItem",
40
+ type: "string",
41
+ validate: glob_1.validateGlobItem
42
+ });
43
+ //# sourceMappingURL=keywords.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keywords.js","sourceRoot":"","sources":["../../../../../../../../src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/asset/keywords.ts"],"names":[],"mappings":";;;AAAA,0EAAyE;AAIzE,wDAAgE;AACnD,QAAA,wBAAwB,GAAG,IAAA,2BAAa,EAAC;IACpD,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,UAAS,IAAY,EAAE,EAAE,MAAM,EAAsB,EAAE,IAAI;QAEnE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,IAAG,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QACzD,IAAA,0BAAiB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;CACF,CAAC,CAAC;AAEH,wDAA+D;AAClD,QAAA,4BAA4B,GAAG,IAAA,2BAAa,EAAC;IACxD,OAAO,EAAE,eAAe;IACxB,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,yBAAgB;CAC3B,CAAC,CAAC;AAEH,kFAA6F;AAChF,QAAA,qCAAqC,GAAG,IAAA,2BAAa,EAAC;IACjE,OAAO,EAAE,wBAAwB;IACjC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,UAAS,QAAgB,EAAE,EAAE,MAAM,EAAsB,EAAE,IAAI;QAEvE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,IAAG,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;QACnE,IAAA,2CAA2B,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC;CACF,CAAC,CAAC;AAEH,2DAAoE;AACvD,QAAA,4BAA4B,GAAG,IAAA,2BAAa,EAAC;IACxD,OAAO,EAAE,eAAe;IACxB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,uBAAgB;CAC3B,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.engineKeywords = exports.engineSchema = void 0;
4
+ const schema_1 = require("./schema");
5
+ Object.defineProperty(exports, "engineSchema", { enumerable: true, get: function () { return schema_1.engineSchema; } });
6
+ Object.defineProperty(exports, "engineKeywords", { enumerable: true, get: function () { return schema_1.engineKeywords; } });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/index.ts"],"names":[],"mappings":";;;AAEA,qCAAwD;6FAA/C,qBAAY;+FAAE,uBAAc"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.officialSelectionsKeywords = exports.officialSelectionsSchema = exports.officialSelectionHashUniquenessSchemaValidator = void 0;
4
+ const json_schema_1 = require("../../../../../util-types/json-schema");
5
+ const version_1 = require("../../rosters/caster-json-schema/version");
6
+ exports.officialSelectionHashUniquenessSchemaValidator = (0, json_schema_1.defineKeyword)({
7
+ keyword: "officialSelectionHashUniqueness",
8
+ type: "string",
9
+ validate: function (hash, { engine }, path) {
10
+ const index = Number(path.split("/").at(-2));
11
+ if (Number.isNaN(index))
12
+ throw new Error("Invalid path: index is not a number");
13
+ const list = engine.officialSelections ?? [];
14
+ for (let i = 0; i < list.length; i++) {
15
+ if (i === index)
16
+ continue;
17
+ if (list[i].hash === hash)
18
+ throw new Error(`Duplicate official selection hash ${hash}`);
19
+ }
20
+ }
21
+ });
22
+ exports.officialSelectionsSchema = {
23
+ type: "array",
24
+ items: {
25
+ type: "object",
26
+ required: ["tag", "hash"],
27
+ additionalProperties: false,
28
+ properties: {
29
+ tag: { type: "string" },
30
+ hash: {
31
+ type: "string",
32
+ [version_1.sha256SchemaValidator.keyword]: true,
33
+ [exports.officialSelectionHashUniquenessSchemaValidator.keyword]: true,
34
+ },
35
+ },
36
+ },
37
+ };
38
+ exports.officialSelectionsKeywords = [
39
+ exports.officialSelectionHashUniquenessSchemaValidator,
40
+ ];
41
+ //# sourceMappingURL=officialSelections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"officialSelections.js","sourceRoot":"","sources":["../../../../../../../src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/officialSelections.ts"],"names":[],"mappings":";;;AACA,uEAAsE;AAEtE,sEAAiF;AAEpE,QAAA,8CAA8C,GAAG,IAAA,2BAAa,EAAC;IAC1E,OAAO,EAAE,iCAAiC;IAC1C,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,UAAU,IAAY,EAAE,EAAE,MAAM,EAAsB,EAAE,IAAI;QAEpE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAC7C,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC,CAAC;YACnC,IAAG,CAAC,KAAK,KAAK;gBAAE,SAAS;YACzB,IAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEU,QAAA,wBAAwB,GAEjC;IACF,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;QACzB,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE;YACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvB,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,CAAC,+BAAqB,CAAC,OAAO,CAAC,EAAE,IAAI;gBACrC,CAAC,QAAA,8CAA8C,CAAC,OAAO,CAAC,EAAE,IAAI;aAC/D;SACF;KACF;CACF,CAAC;AAEW,QAAA,0BAA0B,GAAG;IACxC,QAAA,8CAA8C;CAC/C,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.requirementsSchema = exports.requirementKeywords = exports.requirementCycleSchemaValidator = void 0;
4
+ const keywords_1 = require("./keywords");
5
+ Object.defineProperty(exports, "requirementCycleSchemaValidator", { enumerable: true, get: function () { return keywords_1.requirementCycleSchemaValidator; } });
6
+ exports.requirementKeywords = [
7
+ keywords_1.requirementListSchemaValidator,
8
+ keywords_1.requirementItemSchemaValidator,
9
+ keywords_1.requirementCycleSchemaValidator,
10
+ ];
11
+ exports.requirementsSchema = {
12
+ [keywords_1.requirementListSchemaValidator.keyword]: true,
13
+ [keywords_1.requirementCycleSchemaValidator.keyword]: true,
14
+ type: "array",
15
+ items: {
16
+ [keywords_1.requirementItemSchemaValidator.keyword]: true,
17
+ type: "string",
18
+ },
19
+ };
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/requirements/index.ts"],"names":[],"mappings":";;;AAEA,yCAA6H;gHAApD,0CAA+B;AAM3F,QAAA,mBAAmB,GAAG;IACjC,yCAA8B;IAC9B,yCAA8B;IAC9B,0CAA+B;CAChC,CAAA;AAGY,QAAA,kBAAkB,GAE3B;IACF,CAAC,yCAA8B,CAAC,OAAO,CAAC,EAAE,IAAI;IAC9C,CAAC,0CAA+B,CAAC,OAAO,CAAC,EAAE,IAAI;IAC/C,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACL,CAAC,yCAA8B,CAAC,OAAO,CAAC,EAAE,IAAI;QAC9C,IAAI,EAAE,QAAQ;KACf;CACF,CAAA"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.requirementItemSchemaValidator = exports.requirementCycleSchemaValidator = exports.requirementListSchemaValidator = void 0;
4
+ const json_schema_1 = require("../../../../../../util-types/json-schema");
5
+ const requirements_1 = require("../../validate/piece/requirements");
6
+ exports.requirementListSchemaValidator = (0, json_schema_1.defineKeyword)({
7
+ keyword: "requirementList",
8
+ type: "array",
9
+ validate: requirements_1.validatePieceRequirementList
10
+ });
11
+ const requirements_2 = require("../../validate/piece/requirements");
12
+ exports.requirementCycleSchemaValidator = (0, json_schema_1.defineKeyword)({
13
+ keyword: "requirementCycle",
14
+ type: "array",
15
+ validate: function (item, { engine }, path) {
16
+ const parts = path.split("/").slice(0, -1);
17
+ const pieceType = parts.at(-1);
18
+ if (!pieceType)
19
+ throw new Error("Invalid path");
20
+ (0, requirements_2.validatePieceInCycles)(pieceType, engine);
21
+ }
22
+ });
23
+ const requirements_3 = require("../../validate/piece/requirements");
24
+ exports.requirementItemSchemaValidator = (0, json_schema_1.defineKeyword)({
25
+ keyword: "requirementResolved",
26
+ type: "string",
27
+ validate: function (item, { engine }, path) {
28
+ (0, requirements_3.validatePieceRequirementIsResolved)(item, engine);
29
+ }
30
+ });
31
+ //# sourceMappingURL=keywords.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keywords.js","sourceRoot":"","sources":["../../../../../../../../src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/requirements/keywords.ts"],"names":[],"mappings":";;;AAAA,0EAAyE;AAGzE,oEAAiF;AACpE,QAAA,8BAA8B,GAAG,IAAA,2BAAa,EAAC;IAC1D,OAAO,EAAE,iBAAiB;IAC1B,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,2CAA4B;CACvC,CAAC,CAAA;AAEF,oEAA0E;AAC7D,QAAA,+BAA+B,GAAG,IAAA,2BAAa,EAAC;IAC3D,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,UAAS,IAAY,EAAE,EAAE,MAAM,EAAsB,EAAE,IAAI;QAEnE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAG,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAE/C,IAAA,oCAAqB,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF,CAAC,CAAA;AAEF,oEAAuF;AAC1E,QAAA,8BAA8B,GAAG,IAAA,2BAAa,EAAC;IAC1D,OAAO,EAAE,qBAAqB;IAC9B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,UAAS,IAAY,EAAE,EAAE,MAAM,EAAsB,EAAE,IAAI;QAEnE,IAAA,iDAAkC,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.engineKeywords = exports.engineSchema = void 0;
4
+ const asset_1 = require("./asset");
5
+ const requirements_1 = require("./requirements");
6
+ const variables_1 = require("./variables");
7
+ const officialSelections_1 = require("./officialSelections");
8
+ const pieceDefinitionSchema = {
9
+ type: "object",
10
+ required: ["selectionStrategy", "requires", "pathVariables", "assets"],
11
+ additionalProperties: false,
12
+ properties: {
13
+ selectionStrategy: { type: "string", enum: ["mandatory", "personal", "shared", "on demand"] },
14
+ pathVariables: variables_1.pathVariablesSchema,
15
+ requires: requirements_1.requirementsSchema,
16
+ assets: asset_1.assetsSchema,
17
+ },
18
+ };
19
+ exports.engineSchema = {
20
+ type: "object",
21
+ required: ["name", "version", "pieceDefinitions"],
22
+ additionalProperties: false,
23
+ properties: {
24
+ name: { type: "string" },
25
+ version: { type: "string" },
26
+ pieceDefinitions: {
27
+ type: "object",
28
+ required: [],
29
+ additionalProperties: pieceDefinitionSchema
30
+ },
31
+ officialSelections: { ...officialSelections_1.officialSelectionsSchema, nullable: true },
32
+ }
33
+ };
34
+ exports.engineKeywords = [
35
+ ...variables_1.pathVariableKeywords,
36
+ ...requirements_1.requirementKeywords,
37
+ ...asset_1.assetKeywords,
38
+ ...officialSelections_1.officialSelectionsKeywords,
39
+ ];
40
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../../../src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/schema.ts"],"names":[],"mappings":";;;AAKA,mCAAsD;AACtD,iDAAyE;AACzE,2CAAwE;AACxE,6DAA4F;AAE5F,MAAM,qBAAqB,GAEvB;IACF,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,CAAC;IACtE,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE;QAC7F,aAAa,EAAE,+BAAmB;QAClC,QAAQ,EAAE,iCAAkB;QAC5B,MAAM,EAAE,oBAAY;KACrB;CACF,CAAA;AAEY,QAAA,YAAY,GAA2C;IAClE,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC;IACjD,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,gBAAgB,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE,qBAAqB;SAC5C;QACD,kBAAkB,EAAE,EAAE,GAAG,6CAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACpE;CACF,CAAA;AAEY,QAAA,cAAc,GAAG;IAC5B,GAAG,gCAAoB;IACvB,GAAG,kCAAmB;IACtB,GAAG,qBAAa;IAChB,GAAG,+CAA0B;CAC9B,CAAA"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pathVariablesSchema = exports.pathVariableKeywords = void 0;
4
+ const keywords_1 = require("./keywords");
5
+ exports.pathVariableKeywords = [
6
+ keywords_1.pathVariableListSchemaValidator,
7
+ keywords_1.pathVariableNameSchemaValidator,
8
+ ];
9
+ exports.pathVariablesSchema = {
10
+ [keywords_1.pathVariableListSchemaValidator.keyword]: true,
11
+ type: "array",
12
+ items: {
13
+ [keywords_1.pathVariableNameSchemaValidator.keyword]: true,
14
+ type: "string",
15
+ },
16
+ };
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/variables/index.ts"],"names":[],"mappings":";;;AAEA,yCAA8F;AAIjF,QAAA,oBAAoB,GAAG;IAClC,0CAA+B;IAC/B,0CAA+B;CAChC,CAAA;AAGY,QAAA,mBAAmB,GAE5B;IACF,CAAC,0CAA+B,CAAC,OAAO,CAAC,EAAE,IAAI;IAC/C,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACL,CAAC,0CAA+B,CAAC,OAAO,CAAC,EAAE,IAAI;QAC/C,IAAI,EAAE,QAAQ;KACf;CACF,CAAA"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pathVariableNameSchemaValidator = exports.pathVariableListSchemaValidator = void 0;
4
+ const json_schema_1 = require("../../../../../../util-types/json-schema");
5
+ const path_variables_1 = require("../../validate/piece/path-variables");
6
+ exports.pathVariableListSchemaValidator = (0, json_schema_1.defineKeyword)({
7
+ keyword: "enginePathVariableList",
8
+ type: "array",
9
+ validate: path_variables_1.validatePathVariables
10
+ });
11
+ exports.pathVariableNameSchemaValidator = (0, json_schema_1.defineKeyword)({
12
+ keyword: "enginePathVariableName",
13
+ type: "string",
14
+ validate: path_variables_1.validatePathVariableName
15
+ });
16
+ //# sourceMappingURL=keywords.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keywords.js","sourceRoot":"","sources":["../../../../../../../../src/match-lock-file/match-config/version-1/lock/engine/caster-json-schema/variables/keywords.ts"],"names":[],"mappings":";;;AAAA,0EAAyE;AAEzE,wEAAsG;AACzF,QAAA,+BAA+B,GAAG,IAAA,2BAAa,EAAC;IAC3D,OAAO,EAAE,wBAAwB;IACjC,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,sCAAqB;CAChC,CAAC,CAAA;AAEW,QAAA,+BAA+B,GAAG,IAAA,2BAAa,EAAC;IAC3D,OAAO,EAAE,wBAAwB;IACjC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,yCAAwB;CACnC,CAAC,CAAA"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./validate"), exports);
18
+ __exportStar(require("./caster-json-schema"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/match-lock-file/match-config/version-1/lock/engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,6CAA2B;AAC3B,uDAAqC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ValidationErrorPath = void 0;
4
+ class ValidationErrorPath extends Error {
5
+ path = "/";
6
+ constructor(message) {
7
+ super(message);
8
+ }
9
+ addPathPrefix(part) {
10
+ this.path = `/${part}${this.path}`;
11
+ }
12
+ addPathSuffix(part) {
13
+ this.path = `${this.path}/${part}`;
14
+ }
15
+ static convertError(e) {
16
+ if (!(e instanceof Error))
17
+ throw e;
18
+ if (!(e instanceof ValidationErrorPath)) {
19
+ e = new ValidationErrorPath(e.message);
20
+ }
21
+ return e;
22
+ }
23
+ }
24
+ exports.ValidationErrorPath = ValidationErrorPath;
25
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../../src/match-lock-file/match-config/version-1/lock/engine/validate/error.ts"],"names":[],"mappings":";;;AAEA,yBAAiC,SAAQ,KAAK;IAC5C,IAAI,GAAG,GAAG,CAAC;IACX,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IACD,aAAa,CAAC,IAAY;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IACD,aAAa,CAAC,IAAY;QACxB,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;IACrC,CAAC;IACD,MAAM,CAAC,YAAY,CAAC,CAAU;QAC5B,IAAG,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC;YAAE,MAAM,CAAC,CAAC;QAClC,IAAG,CAAC,CAAC,CAAC,YAAY,mBAAmB,CAAC,EAAC,CAAC;YACtC,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,CAAwB,CAAC;IAClC,CAAC;CACF"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.validateEngineConfig = validateEngineConfig;
18
+ const piece_1 = require("./piece");
19
+ __exportStar(require("./piece"), exports);
20
+ const error_1 = require("./error");
21
+ function validateEngineConfig(engine) {
22
+ for (const [pieceType, definition] of Object.entries(engine.pieceDefinitions)) {
23
+ try {
24
+ (0, piece_1.validatePieceDefinition)(pieceType, definition, engine);
25
+ }
26
+ catch (e) {
27
+ const eTyped = error_1.ValidationErrorPath.convertError(e);
28
+ eTyped.addPathPrefix(`pieceDefinitions/${pieceType}`);
29
+ throw e;
30
+ }
31
+ }
32
+ }
33
+ //# sourceMappingURL=index.js.map