@featurevisor/core 2.26.1 → 3.0.1

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 (390) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/coverage/clover.xml +4991 -3130
  3. package/coverage/coverage-final.json +63 -39
  4. package/coverage/lcov-report/block-navigation.js +1 -1
  5. package/coverage/lcov-report/index.html +248 -98
  6. package/coverage/lcov-report/sorter.js +21 -7
  7. package/coverage/lcov-report/src/assess-distribution/index.html +116 -0
  8. package/coverage/lcov-report/src/assess-distribution/index.ts.html +754 -0
  9. package/coverage/lcov-report/{list → src/benchmark}/index.html +30 -30
  10. package/coverage/lcov-report/src/benchmark/index.ts.html +793 -0
  11. package/coverage/lcov-report/{builder → src/builder}/allocator.ts.html +38 -38
  12. package/coverage/lcov-report/{builder/buildScopedConditions.ts.html → src/builder/applyContextToConditions.ts.html} +80 -65
  13. package/coverage/lcov-report/{builder/buildScopedDatafile.ts.html → src/builder/applyContextToDatafile.ts.html} +92 -92
  14. package/coverage/lcov-report/{builder/buildScopedSegments.ts.html → src/builder/applyContextToSegments.ts.html} +103 -67
  15. package/coverage/lcov-report/{builder → src/builder}/buildDatafile.ts.html +336 -306
  16. package/coverage/lcov-report/src/builder/buildProject.ts.html +1117 -0
  17. package/coverage/lcov-report/src/builder/buildRuntimeDatafiles.ts.html +256 -0
  18. package/coverage/lcov-report/{builder → src/builder}/getFeatureRanges.ts.html +22 -22
  19. package/coverage/lcov-report/{builder → src/builder}/hashes.ts.html +50 -50
  20. package/coverage/lcov-report/{builder → src/builder}/index.html +114 -84
  21. package/coverage/lcov-report/{tester/cliFormat.ts.html → src/builder/index.ts.html} +17 -29
  22. package/coverage/lcov-report/{builder → src/builder}/mutateVariables.ts.html +55 -55
  23. package/coverage/lcov-report/{builder → src/builder}/mutator.ts.html +118 -118
  24. package/coverage/lcov-report/{builder → src/builder}/revision.ts.html +15 -15
  25. package/coverage/lcov-report/{builder → src/builder}/traffic.ts.html +86 -86
  26. package/coverage/lcov-report/src/cli/cli.ts.html +400 -0
  27. package/coverage/lcov-report/{tester → src/cli}/index.html +41 -41
  28. package/coverage/lcov-report/src/cli/plugins.ts.html +214 -0
  29. package/coverage/lcov-report/{config → src/config}/index.html +31 -31
  30. package/coverage/lcov-report/{config → src/config}/index.ts.html +12 -12
  31. package/coverage/lcov-report/{config → src/config}/projectConfig.ts.html +312 -96
  32. package/coverage/lcov-report/{datasource → src/datasource}/adapter.ts.html +28 -73
  33. package/coverage/lcov-report/{datasource → src/datasource}/datasource.ts.html +191 -104
  34. package/coverage/lcov-report/{datasource → src/datasource}/filesystemAdapter.ts.html +233 -635
  35. package/coverage/lcov-report/{datasource → src/datasource}/index.html +48 -48
  36. package/coverage/lcov-report/{datasource → src/datasource}/index.ts.html +14 -14
  37. package/coverage/lcov-report/src/evaluate/index.html +116 -0
  38. package/coverage/lcov-report/src/evaluate/index.ts.html +814 -0
  39. package/coverage/lcov-report/src/find-duplicate-segments/findDuplicateSegments.ts.html +313 -0
  40. package/coverage/lcov-report/src/find-duplicate-segments/index.html +131 -0
  41. package/coverage/lcov-report/src/find-duplicate-segments/index.ts.html +307 -0
  42. package/coverage/lcov-report/src/find-usage/index.html +116 -0
  43. package/coverage/lcov-report/src/find-usage/index.ts.html +1780 -0
  44. package/coverage/lcov-report/src/generate-code/index.html +131 -0
  45. package/coverage/lcov-report/src/generate-code/index.ts.html +403 -0
  46. package/coverage/lcov-report/{generate-code → src/generate-code}/typescript.ts.html +266 -1361
  47. package/coverage/lcov-report/{generate-code → src}/index.html +38 -23
  48. package/coverage/lcov-report/src/info/index.html +116 -0
  49. package/coverage/lcov-report/src/info/index.ts.html +472 -0
  50. package/coverage/lcov-report/src/init/index.html +116 -0
  51. package/coverage/lcov-report/src/init/index.ts.html +280 -0
  52. package/coverage/lcov-report/{linter → src/linter}/attributeSchema.ts.html +160 -157
  53. package/coverage/lcov-report/{linter → src/linter}/checkCircularDependency.ts.html +25 -25
  54. package/coverage/lcov-report/{linter → src/linter}/checkPercentageExceedingSlot.ts.html +42 -42
  55. package/coverage/lcov-report/{linter → src/linter}/conditionSchema.ts.html +207 -207
  56. package/coverage/lcov-report/{linter → src/linter}/featureSchema.ts.html +462 -471
  57. package/coverage/lcov-report/{linter → src/linter}/groupSchema.ts.html +25 -22
  58. package/coverage/lcov-report/{linter → src/linter}/index.html +129 -99
  59. package/coverage/lcov-report/src/linter/index.ts.html +88 -0
  60. package/coverage/lcov-report/{linter → src/linter}/lintProject.ts.html +740 -332
  61. package/coverage/lcov-report/{linter → src/linter}/mutationNotation.ts.html +130 -130
  62. package/coverage/lcov-report/{linter → src/linter}/printError.ts.html +27 -27
  63. package/coverage/lcov-report/{linter → src/linter}/schema.ts.html +153 -150
  64. package/coverage/lcov-report/{linter → src/linter}/segmentSchema.ts.html +18 -15
  65. package/coverage/lcov-report/src/linter/targetSchema.ts.html +223 -0
  66. package/coverage/lcov-report/{linter → src/linter}/testSchema.ts.html +54 -48
  67. package/coverage/lcov-report/{linter → src/linter}/zodHelpers.ts.html +17 -17
  68. package/coverage/lcov-report/src/list/index.html +131 -0
  69. package/coverage/lcov-report/src/list/index.ts.html +2065 -0
  70. package/coverage/lcov-report/{list → src/list}/matrix.ts.html +43 -58
  71. package/coverage/lcov-report/src/promoter/index.html +116 -0
  72. package/coverage/lcov-report/src/promoter/index.ts.html +3883 -0
  73. package/coverage/lcov-report/src/sets.ts.html +313 -0
  74. package/coverage/lcov-report/src/targeting.ts.html +403 -0
  75. package/coverage/lcov-report/src/tester/cliFormat.ts.html +133 -0
  76. package/coverage/lcov-report/{tester → src/tester}/helpers.ts.html +15 -15
  77. package/coverage/lcov-report/src/tester/index.html +206 -0
  78. package/coverage/lcov-report/src/tester/prettyDuration.ts.html +187 -0
  79. package/coverage/lcov-report/src/tester/printTestResult.ts.html +337 -0
  80. package/coverage/lcov-report/src/tester/testFeature.ts.html +1186 -0
  81. package/coverage/lcov-report/src/tester/testProject.ts.html +1018 -0
  82. package/coverage/lcov-report/src/tester/testSegment.ts.html +316 -0
  83. package/coverage/lcov-report/{utils → src/utils}/extractKeys.ts.html +68 -68
  84. package/coverage/lcov-report/{utils → src/utils}/git.ts.html +44 -68
  85. package/coverage/lcov-report/{utils → src/utils}/index.html +44 -44
  86. package/coverage/lcov-report/{utils → src/utils}/index.ts.html +14 -14
  87. package/coverage/lcov-report/{utils → src/utils}/pretty.ts.html +20 -20
  88. package/coverage/lcov.info +10121 -5723
  89. package/jest.config.js +13 -4
  90. package/lib/assess-distribution/index.d.ts +1 -1
  91. package/lib/assess-distribution/index.js +59 -40
  92. package/lib/assess-distribution/index.js.map +1 -1
  93. package/lib/benchmark/index.d.ts +8 -5
  94. package/lib/benchmark/index.js +82 -65
  95. package/lib/benchmark/index.js.map +1 -1
  96. package/lib/builder/applyContextToConditions.d.ts +5 -0
  97. package/lib/builder/{buildScopedConditions.js → applyContextToConditions.js} +19 -14
  98. package/lib/builder/applyContextToConditions.js.map +1 -0
  99. package/lib/builder/applyContextToDatafile.d.ts +2 -0
  100. package/lib/builder/{buildScopedDatafile.js → applyContextToDatafile.js} +26 -26
  101. package/lib/builder/applyContextToDatafile.js.map +1 -0
  102. package/lib/builder/applyContextToSegments.d.ts +5 -0
  103. package/lib/builder/{buildScopedSegments.js → applyContextToSegments.js} +19 -14
  104. package/lib/builder/applyContextToSegments.js.map +1 -0
  105. package/lib/builder/buildDatafile.d.ts +9 -6
  106. package/lib/builder/buildDatafile.js +86 -51
  107. package/lib/builder/buildDatafile.js.map +1 -1
  108. package/lib/builder/buildProject.d.ts +17 -3
  109. package/lib/builder/buildProject.js +151 -59
  110. package/lib/builder/buildProject.js.map +1 -1
  111. package/lib/builder/buildRuntimeDatafiles.d.ts +12 -0
  112. package/lib/builder/buildRuntimeDatafiles.js +35 -0
  113. package/lib/builder/buildRuntimeDatafiles.js.map +1 -0
  114. package/lib/builder/getFeatureRanges.js +34 -1
  115. package/lib/builder/getFeatureRanges.js.map +1 -1
  116. package/lib/builder/hashes.js +34 -1
  117. package/lib/builder/hashes.js.map +1 -1
  118. package/lib/builder/index.d.ts +0 -1
  119. package/lib/builder/index.js +0 -1
  120. package/lib/builder/index.js.map +1 -1
  121. package/lib/cli/cli.js +0 -4
  122. package/lib/cli/cli.js.map +1 -1
  123. package/lib/cli/plugins.js +7 -2
  124. package/lib/cli/plugins.js.map +1 -1
  125. package/lib/config/projectConfig.d.ts +17 -17
  126. package/lib/config/projectConfig.js +101 -15
  127. package/lib/config/projectConfig.js.map +1 -1
  128. package/lib/datasource/adapter.d.ts +7 -9
  129. package/lib/datasource/adapter.js +0 -7
  130. package/lib/datasource/adapter.js.map +1 -1
  131. package/lib/datasource/datasource.d.ts +15 -5
  132. package/lib/datasource/datasource.js +37 -9
  133. package/lib/datasource/datasource.js.map +1 -1
  134. package/lib/datasource/filesystemAdapter.d.ts +4 -10
  135. package/lib/datasource/filesystemAdapter.js +111 -149
  136. package/lib/datasource/filesystemAdapter.js.map +1 -1
  137. package/lib/evaluate/index.d.ts +1 -7
  138. package/lib/evaluate/index.js +81 -67
  139. package/lib/evaluate/index.js.map +1 -1
  140. package/lib/find-duplicate-segments/findDuplicateSegments.js +34 -1
  141. package/lib/find-duplicate-segments/findDuplicateSegments.js.map +1 -1
  142. package/lib/find-duplicate-segments/index.js +21 -13
  143. package/lib/find-duplicate-segments/index.js.map +1 -1
  144. package/lib/find-usage/index.js +57 -41
  145. package/lib/find-usage/index.js.map +1 -1
  146. package/lib/generate-code/index.d.ts +1 -1
  147. package/lib/generate-code/index.js +64 -21
  148. package/lib/generate-code/index.js.map +1 -1
  149. package/lib/generate-code/typescript.d.ts +1 -1
  150. package/lib/generate-code/typescript.js +59 -333
  151. package/lib/generate-code/typescript.js.map +1 -1
  152. package/lib/index.d.ts +2 -1
  153. package/lib/index.js +2 -1
  154. package/lib/index.js.map +1 -1
  155. package/lib/info/index.js +57 -16
  156. package/lib/info/index.js.map +1 -1
  157. package/lib/init/index.d.ts +2 -2
  158. package/lib/init/index.js +39 -3
  159. package/lib/init/index.js.map +1 -1
  160. package/lib/linter/attributeSchema.d.ts +1 -0
  161. package/lib/linter/attributeSchema.js +1 -0
  162. package/lib/linter/attributeSchema.js.map +1 -1
  163. package/lib/linter/conditionSchema.js +5 -5
  164. package/lib/linter/conditionSchema.js.map +1 -1
  165. package/lib/linter/featureSchema.d.ts +4 -1
  166. package/lib/linter/featureSchema.js +15 -13
  167. package/lib/linter/featureSchema.js.map +1 -1
  168. package/lib/linter/groupSchema.d.ts +1 -0
  169. package/lib/linter/groupSchema.js +1 -0
  170. package/lib/linter/groupSchema.js.map +1 -1
  171. package/lib/linter/lintProject.d.ts +1 -3
  172. package/lib/linter/lintProject.js +198 -68
  173. package/lib/linter/lintProject.js.map +1 -1
  174. package/lib/linter/schema.js +1 -0
  175. package/lib/linter/schema.js.map +1 -1
  176. package/lib/linter/segmentSchema.d.ts +1 -0
  177. package/lib/linter/segmentSchema.js +1 -0
  178. package/lib/linter/segmentSchema.js.map +1 -1
  179. package/lib/linter/targetSchema.d.ts +16 -0
  180. package/lib/linter/targetSchema.js +40 -0
  181. package/lib/linter/targetSchema.js.map +1 -0
  182. package/lib/linter/testSchema.d.ts +4 -3
  183. package/lib/linter/testSchema.js +9 -4
  184. package/lib/linter/testSchema.js.map +1 -1
  185. package/lib/list/index.d.ts +1 -0
  186. package/lib/list/index.js +131 -12
  187. package/lib/list/index.js.map +1 -1
  188. package/lib/list/matrix.js +3 -7
  189. package/lib/list/matrix.js.map +1 -1
  190. package/lib/promoter/index.d.ts +50 -0
  191. package/lib/promoter/index.js +880 -0
  192. package/lib/promoter/index.js.map +1 -0
  193. package/lib/sets.d.ts +11 -0
  194. package/lib/sets.js +81 -0
  195. package/lib/sets.js.map +1 -0
  196. package/lib/targeting.d.ts +14 -0
  197. package/lib/targeting.js +82 -0
  198. package/lib/targeting.js.map +1 -0
  199. package/lib/tester/cliFormat.d.ts +7 -1
  200. package/lib/tester/cliFormat.js +11 -2
  201. package/lib/tester/cliFormat.js.map +1 -1
  202. package/lib/tester/printTestResult.js +2 -2
  203. package/lib/tester/printTestResult.js.map +1 -1
  204. package/lib/tester/testFeature.d.ts +0 -1
  205. package/lib/tester/testFeature.js +8 -25
  206. package/lib/tester/testFeature.js.map +1 -1
  207. package/lib/tester/testProject.d.ts +2 -3
  208. package/lib/tester/testProject.js +93 -86
  209. package/lib/tester/testProject.js.map +1 -1
  210. package/lib/tester/testSegment.d.ts +1 -1
  211. package/lib/tester/testSegment.js +3 -21
  212. package/lib/tester/testSegment.js.map +1 -1
  213. package/lib/utils/git.js +45 -19
  214. package/lib/utils/git.js.map +1 -1
  215. package/package.json +12 -12
  216. package/src/assess-distribution/index.ts +72 -52
  217. package/src/benchmark/index.ts +124 -91
  218. package/src/builder/{buildScopedConditions.spec.ts → applyContextToConditions.spec.ts} +160 -142
  219. package/src/builder/{buildScopedConditions.ts → applyContextToConditions.ts} +19 -14
  220. package/src/builder/{buildScopedDatafile.spec.ts → applyContextToDatafile.spec.ts} +141 -81
  221. package/src/builder/{buildScopedDatafile.ts → applyContextToDatafile.ts} +33 -33
  222. package/src/builder/{buildScopedSegments.spec.ts → applyContextToSegments.spec.ts} +171 -151
  223. package/src/builder/{buildScopedSegments.ts → applyContextToSegments.ts} +26 -14
  224. package/src/builder/buildDatafile.spec.ts +192 -14
  225. package/src/builder/buildDatafile.ts +74 -64
  226. package/src/builder/buildProject.ts +171 -86
  227. package/src/builder/buildRuntimeDatafiles.ts +57 -0
  228. package/src/builder/index.ts +0 -1
  229. package/src/cli/cli.ts +0 -5
  230. package/src/cli/plugins.ts +7 -2
  231. package/src/config/projectConfig.spec.ts +171 -8
  232. package/src/config/projectConfig.ts +100 -28
  233. package/src/datasource/adapter.ts +8 -23
  234. package/src/datasource/datasource.ts +50 -21
  235. package/src/datasource/filesystemAdapter.spec.ts +133 -74
  236. package/src/datasource/filesystemAdapter.ts +93 -227
  237. package/src/evaluate/index.ts +109 -97
  238. package/src/find-duplicate-segments/index.ts +34 -16
  239. package/src/find-usage/index.ts +89 -44
  240. package/src/generate-code/index.ts +36 -24
  241. package/src/generate-code/typescript.spec.ts +106 -0
  242. package/src/generate-code/typescript.ts +33 -398
  243. package/src/index.ts +2 -1
  244. package/src/info/index.ts +72 -16
  245. package/src/init/index.ts +1 -1
  246. package/src/linter/attributeSchema.ts +1 -0
  247. package/src/linter/conditionSchema.spec.ts +23 -3
  248. package/src/linter/conditionSchema.ts +5 -5
  249. package/src/linter/featureSchema.spec.ts +107 -18
  250. package/src/linter/featureSchema.ts +25 -28
  251. package/src/linter/groupSchema.ts +1 -0
  252. package/src/linter/lintProject.spec.ts +131 -92
  253. package/src/linter/lintProject.ts +233 -97
  254. package/src/linter/schema.ts +1 -0
  255. package/src/linter/segmentSchema.spec.ts +5 -3
  256. package/src/linter/segmentSchema.ts +1 -0
  257. package/src/linter/targetSchema.spec.ts +159 -0
  258. package/src/linter/targetSchema.ts +46 -0
  259. package/src/linter/testSchema.spec.ts +70 -5
  260. package/src/linter/testSchema.ts +12 -10
  261. package/src/list/index.spec.ts +135 -0
  262. package/src/list/index.ts +188 -12
  263. package/src/list/matrix.ts +3 -8
  264. package/src/promoter/index.spec.ts +617 -0
  265. package/src/promoter/index.ts +1266 -0
  266. package/src/sets.ts +76 -0
  267. package/src/targeting.spec.ts +74 -0
  268. package/src/targeting.ts +106 -0
  269. package/src/tester/cliFormat.ts +11 -1
  270. package/src/tester/printTestResult.ts +12 -3
  271. package/src/tester/testFeature.ts +10 -36
  272. package/src/tester/testProject.spec.ts +50 -0
  273. package/src/tester/testProject.ts +89 -140
  274. package/src/tester/testSegment.ts +5 -22
  275. package/src/utils/git.ts +13 -21
  276. package/tsconfig.cjs.json +5 -1
  277. package/tsconfig.typecheck.json +9 -0
  278. package/coverage/lcov-report/builder/convertToV1.ts.html +0 -583
  279. package/lib/builder/allocator.spec.d.ts +0 -1
  280. package/lib/builder/allocator.spec.js +0 -85
  281. package/lib/builder/allocator.spec.js.map +0 -1
  282. package/lib/builder/buildDatafile.spec.d.ts +0 -1
  283. package/lib/builder/buildDatafile.spec.js +0 -233
  284. package/lib/builder/buildDatafile.spec.js.map +0 -1
  285. package/lib/builder/buildScopedConditions.d.ts +0 -5
  286. package/lib/builder/buildScopedConditions.js.map +0 -1
  287. package/lib/builder/buildScopedConditions.spec.d.ts +0 -1
  288. package/lib/builder/buildScopedConditions.spec.js +0 -2167
  289. package/lib/builder/buildScopedConditions.spec.js.map +0 -1
  290. package/lib/builder/buildScopedDatafile.d.ts +0 -2
  291. package/lib/builder/buildScopedDatafile.js.map +0 -1
  292. package/lib/builder/buildScopedDatafile.spec.d.ts +0 -1
  293. package/lib/builder/buildScopedDatafile.spec.js +0 -2277
  294. package/lib/builder/buildScopedDatafile.spec.js.map +0 -1
  295. package/lib/builder/buildScopedSegments.d.ts +0 -5
  296. package/lib/builder/buildScopedSegments.js.map +0 -1
  297. package/lib/builder/buildScopedSegments.spec.d.ts +0 -1
  298. package/lib/builder/buildScopedSegments.spec.js +0 -1062
  299. package/lib/builder/buildScopedSegments.spec.js.map +0 -1
  300. package/lib/builder/convertToV1.d.ts +0 -10
  301. package/lib/builder/convertToV1.js +0 -119
  302. package/lib/builder/convertToV1.js.map +0 -1
  303. package/lib/builder/mutateVariables.spec.d.ts +0 -1
  304. package/lib/builder/mutateVariables.spec.js +0 -1074
  305. package/lib/builder/mutateVariables.spec.js.map +0 -1
  306. package/lib/builder/mutator.spec.d.ts +0 -1
  307. package/lib/builder/mutator.spec.js +0 -368
  308. package/lib/builder/mutator.spec.js.map +0 -1
  309. package/lib/builder/revision.spec.d.ts +0 -1
  310. package/lib/builder/revision.spec.js +0 -21
  311. package/lib/builder/revision.spec.js.map +0 -1
  312. package/lib/builder/traffic.spec.d.ts +0 -1
  313. package/lib/builder/traffic.spec.js +0 -872
  314. package/lib/builder/traffic.spec.js.map +0 -1
  315. package/lib/config/projectConfig.spec.d.ts +0 -1
  316. package/lib/config/projectConfig.spec.js +0 -24
  317. package/lib/config/projectConfig.spec.js.map +0 -1
  318. package/lib/datasource/filesystemAdapter.spec.d.ts +0 -1
  319. package/lib/datasource/filesystemAdapter.spec.js +0 -88
  320. package/lib/datasource/filesystemAdapter.spec.js.map +0 -1
  321. package/lib/generate-code/typescript.spec.d.ts +0 -1
  322. package/lib/generate-code/typescript.spec.js +0 -78
  323. package/lib/generate-code/typescript.spec.js.map +0 -1
  324. package/lib/linter/attributeSchema.spec.d.ts +0 -1
  325. package/lib/linter/attributeSchema.spec.js +0 -266
  326. package/lib/linter/attributeSchema.spec.js.map +0 -1
  327. package/lib/linter/conditionSchema.spec.d.ts +0 -1
  328. package/lib/linter/conditionSchema.spec.js +0 -380
  329. package/lib/linter/conditionSchema.spec.js.map +0 -1
  330. package/lib/linter/featureSchema.spec.d.ts +0 -1
  331. package/lib/linter/featureSchema.spec.js +0 -1552
  332. package/lib/linter/featureSchema.spec.js.map +0 -1
  333. package/lib/linter/lintProject.spec.d.ts +0 -1
  334. package/lib/linter/lintProject.spec.js +0 -211
  335. package/lib/linter/lintProject.spec.js.map +0 -1
  336. package/lib/linter/mutationNotation.spec.d.ts +0 -1
  337. package/lib/linter/mutationNotation.spec.js +0 -598
  338. package/lib/linter/mutationNotation.spec.js.map +0 -1
  339. package/lib/linter/schema.spec.d.ts +0 -1
  340. package/lib/linter/schema.spec.js +0 -535
  341. package/lib/linter/schema.spec.js.map +0 -1
  342. package/lib/linter/segmentSchema.spec.d.ts +0 -1
  343. package/lib/linter/segmentSchema.spec.js +0 -303
  344. package/lib/linter/segmentSchema.spec.js.map +0 -1
  345. package/lib/linter/testSchema.spec.d.ts +0 -1
  346. package/lib/linter/testSchema.spec.js +0 -162
  347. package/lib/linter/testSchema.spec.js.map +0 -1
  348. package/lib/list/matrix.spec.d.ts +0 -1
  349. package/lib/list/matrix.spec.js +0 -42
  350. package/lib/list/matrix.spec.js.map +0 -1
  351. package/lib/site/exportSite.d.ts +0 -2
  352. package/lib/site/exportSite.js +0 -30
  353. package/lib/site/exportSite.js.map +0 -1
  354. package/lib/site/generateHistory.d.ts +0 -3
  355. package/lib/site/generateHistory.js +0 -31
  356. package/lib/site/generateHistory.js.map +0 -1
  357. package/lib/site/generateSiteSearchIndex.d.ts +0 -4
  358. package/lib/site/generateSiteSearchIndex.js +0 -195
  359. package/lib/site/generateSiteSearchIndex.js.map +0 -1
  360. package/lib/site/getLastModifiedFromHistory.d.ts +0 -2
  361. package/lib/site/getLastModifiedFromHistory.js +0 -18
  362. package/lib/site/getLastModifiedFromHistory.js.map +0 -1
  363. package/lib/site/getOwnerAndRepoFromUrl.d.ts +0 -4
  364. package/lib/site/getOwnerAndRepoFromUrl.js +0 -20
  365. package/lib/site/getOwnerAndRepoFromUrl.js.map +0 -1
  366. package/lib/site/getRelativePaths.d.ts +0 -6
  367. package/lib/site/getRelativePaths.js +0 -15
  368. package/lib/site/getRelativePaths.js.map +0 -1
  369. package/lib/site/getRepoDetails.d.ts +0 -8
  370. package/lib/site/getRepoDetails.js +0 -48
  371. package/lib/site/getRepoDetails.js.map +0 -1
  372. package/lib/site/index.d.ts +0 -2
  373. package/lib/site/index.js +0 -43
  374. package/lib/site/index.js.map +0 -1
  375. package/lib/site/serveSite.d.ts +0 -2
  376. package/lib/site/serveSite.js +0 -54
  377. package/lib/site/serveSite.js.map +0 -1
  378. package/lib/tester/helpers.spec.d.ts +0 -1
  379. package/lib/tester/helpers.spec.js +0 -115
  380. package/lib/tester/helpers.spec.js.map +0 -1
  381. package/src/builder/convertToV1.ts +0 -166
  382. package/src/site/exportSite.ts +0 -42
  383. package/src/site/generateHistory.ts +0 -40
  384. package/src/site/generateSiteSearchIndex.ts +0 -258
  385. package/src/site/getLastModifiedFromHistory.ts +0 -21
  386. package/src/site/getOwnerAndRepoFromUrl.ts +0 -17
  387. package/src/site/getRelativePaths.ts +0 -24
  388. package/src/site/getRepoDetails.ts +0 -62
  389. package/src/site/index.ts +0 -46
  390. package/src/site/serveSite.ts +0 -58
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for linter/schema.ts</title>
6
+ <title>Code coverage report for src/linter/schema.ts</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
14
+ background-image: url(../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,20 +19,20 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> / <a href="index.html">linter</a> schema.ts</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/linter</a> schema.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">86.63% </span>
26
+ <span class="strong">86.76% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>175/202</span>
28
+ <span class='fraction'>177/204</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">86.31% </span>
33
+ <span class="strong">85.82% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>164/190</span>
35
+ <span class='fraction'>218/254</span>
36
36
  </div>
37
37
 
38
38
 
@@ -57,7 +57,7 @@
57
57
  <template id="filterTemplate">
58
58
  <div class="quiet">
59
59
  Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
60
+ <input type="search" id="fileSearch">
61
61
  </div>
62
62
  </template>
63
63
  </div>
@@ -553,16 +553,17 @@
553
553
  <a name='L488'></a><a href='#L488'>488</a>
554
554
  <a name='L489'></a><a href='#L489'>489</a>
555
555
  <a name='L490'></a><a href='#L490'>490</a>
556
- <a name='L491'></a><a href='#L491'>491</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
557
- <span class="cline-any cline-yes">4x</span>
556
+ <a name='L491'></a><a href='#L491'>491</a>
557
+ <a name='L492'></a><a href='#L492'>492</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
558
+ <span class="cline-any cline-yes">5x</span>
558
559
  <span class="cline-any cline-neutral">&nbsp;</span>
559
- <span class="cline-any cline-yes">4x</span>
560
+ <span class="cline-any cline-yes">5x</span>
560
561
  <span class="cline-any cline-neutral">&nbsp;</span>
561
562
  <span class="cline-any cline-neutral">&nbsp;</span>
562
563
  <span class="cline-any cline-neutral">&nbsp;</span>
563
- <span class="cline-any cline-yes">70x</span>
564
+ <span class="cline-any cline-yes">114x</span>
564
565
  <span class="cline-any cline-neutral">&nbsp;</span>
565
- <span class="cline-any cline-yes">56x</span>
566
+ <span class="cline-any cline-yes">100x</span>
566
567
  <span class="cline-any cline-neutral">&nbsp;</span>
567
568
  <span class="cline-any cline-yes">3x</span>
568
569
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -600,18 +601,18 @@
600
601
  <span class="cline-any cline-neutral">&nbsp;</span>
601
602
  <span class="cline-any cline-neutral">&nbsp;</span>
602
603
  <span class="cline-any cline-neutral">&nbsp;</span>
603
- <span class="cline-any cline-yes">4x</span>
604
+ <span class="cline-any cline-yes">25x</span>
604
605
  <span class="cline-any cline-neutral">&nbsp;</span>
605
606
  <span class="cline-any cline-neutral">&nbsp;</span>
606
607
  <span class="cline-any cline-neutral">&nbsp;</span>
607
608
  <span class="cline-any cline-neutral">&nbsp;</span>
608
- <span class="cline-any cline-yes">950x</span>
609
- <span class="cline-any cline-yes">949x</span>
610
- <span class="cline-any cline-yes">949x</span>
611
- <span class="cline-any cline-yes">949x</span>
612
- <span class="cline-any cline-yes">26x</span>
613
- <span class="cline-any cline-yes">70x</span>
614
- <span class="cline-any cline-yes">70x</span>
609
+ <span class="cline-any cline-yes">2092x</span>
610
+ <span class="cline-any cline-yes">2091x</span>
611
+ <span class="cline-any cline-yes">2091x</span>
612
+ <span class="cline-any cline-yes">2091x</span>
613
+ <span class="cline-any cline-yes">42x</span>
614
+ <span class="cline-any cline-yes">114x</span>
615
+ <span class="cline-any cline-yes">114x</span>
615
616
  <span class="cline-any cline-yes">8x</span>
616
617
  <span class="cline-any cline-neutral">&nbsp;</span>
617
618
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -620,29 +621,29 @@
620
621
  <span class="cline-any cline-neutral">&nbsp;</span>
621
622
  <span class="cline-any cline-neutral">&nbsp;</span>
622
623
  <span class="cline-any cline-neutral">&nbsp;</span>
623
- <span class="cline-any cline-yes">949x</span>
624
- <span class="cline-any cline-yes">52x</span>
624
+ <span class="cline-any cline-yes">2091x</span>
625
+ <span class="cline-any cline-yes">116x</span>
625
626
  <span class="cline-any cline-neutral">&nbsp;</span>
626
- <span class="cline-any cline-yes">949x</span>
627
- <span class="cline-any cline-yes">148x</span>
628
- <span class="cline-any cline-yes">275x</span>
627
+ <span class="cline-any cline-yes">2091x</span>
628
+ <span class="cline-any cline-yes">340x</span>
629
+ <span class="cline-any cline-yes">631x</span>
629
630
  <span class="cline-any cline-neutral">&nbsp;</span>
630
631
  <span class="cline-any cline-neutral">&nbsp;</span>
631
632
  <span class="cline-any cline-neutral">&nbsp;</span>
632
633
  <span class="cline-any cline-neutral">&nbsp;</span>
633
634
  <span class="cline-any cline-neutral">&nbsp;</span>
634
635
  <span class="cline-any cline-neutral">&nbsp;</span>
635
- <span class="cline-any cline-yes">949x</span>
636
+ <span class="cline-any cline-yes">2091x</span>
636
637
  <span class="cline-any cline-yes">2x</span>
637
638
  <span class="cline-any cline-neutral">&nbsp;</span>
638
639
  <span class="cline-any cline-neutral">&nbsp;</span>
639
640
  <span class="cline-any cline-neutral">&nbsp;</span>
640
641
  <span class="cline-any cline-neutral">&nbsp;</span>
641
642
  <span class="cline-any cline-neutral">&nbsp;</span>
642
- <span class="cline-any cline-yes">949x</span>
643
- <span class="cline-any cline-yes">9x</span>
644
- <span class="cline-any cline-yes">17x</span>
643
+ <span class="cline-any cline-yes">2091x</span>
645
644
  <span class="cline-any cline-yes">17x</span>
645
+ <span class="cline-any cline-yes">33x</span>
646
+ <span class="cline-any cline-yes">33x</span>
646
647
  <span class="cline-any cline-neutral">&nbsp;</span>
647
648
  <span class="cline-any cline-neutral">&nbsp;</span>
648
649
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -652,26 +653,26 @@
652
653
  <span class="cline-any cline-neutral">&nbsp;</span>
653
654
  <span class="cline-any cline-neutral">&nbsp;</span>
654
655
  <span class="cline-any cline-neutral">&nbsp;</span>
655
- <span class="cline-any cline-yes">4x</span>
656
+ <span class="cline-any cline-yes">992x</span>
656
657
  <span class="cline-any cline-neutral">&nbsp;</span>
657
658
  <span class="cline-any cline-neutral">&nbsp;</span>
658
659
  <span class="cline-any cline-neutral">&nbsp;</span>
659
660
  <span class="cline-any cline-neutral">&nbsp;</span>
660
- <span class="cline-any cline-yes">1896x</span>
661
- <span class="cline-any cline-yes">1896x</span>
662
- <span class="cline-any cline-yes">1896x</span>
663
- <span class="cline-any cline-yes">1896x</span>
664
- <span class="cline-any cline-yes">1896x</span>
665
- <span class="cline-any cline-yes">1896x</span>
661
+ <span class="cline-any cline-yes">4045x</span>
662
+ <span class="cline-any cline-yes">4045x</span>
663
+ <span class="cline-any cline-yes">4045x</span>
664
+ <span class="cline-any cline-yes">4045x</span>
665
+ <span class="cline-any cline-yes">4045x</span>
666
+ <span class="cline-any cline-yes">4045x</span>
666
667
  <span class="cline-any cline-yes">7x</span>
667
668
  <span class="cline-any cline-neutral">&nbsp;</span>
668
669
  <span class="cline-any cline-neutral">&nbsp;</span>
669
670
  <span class="cline-any cline-neutral">&nbsp;</span>
670
671
  <span class="cline-any cline-neutral">&nbsp;</span>
671
672
  <span class="cline-any cline-neutral">&nbsp;</span>
672
- <span class="cline-any cline-yes">1896x</span>
673
- <span class="cline-any cline-yes">4x</span>
674
- <span class="cline-any cline-yes">4x</span>
673
+ <span class="cline-any cline-yes">4045x</span>
674
+ <span class="cline-any cline-yes">8x</span>
675
+ <span class="cline-any cline-yes">8x</span>
675
676
  <span class="cline-any cline-yes">1x</span>
676
677
  <span class="cline-any cline-neutral">&nbsp;</span>
677
678
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -679,9 +680,9 @@
679
680
  <span class="cline-any cline-neutral">&nbsp;</span>
680
681
  <span class="cline-any cline-neutral">&nbsp;</span>
681
682
  <span class="cline-any cline-neutral">&nbsp;</span>
682
- <span class="cline-any cline-yes">1896x</span>
683
- <span class="cline-any cline-yes">4x</span>
684
- <span class="cline-any cline-yes">4x</span>
683
+ <span class="cline-any cline-yes">4045x</span>
684
+ <span class="cline-any cline-yes">8x</span>
685
+ <span class="cline-any cline-yes">8x</span>
685
686
  <span class="cline-any cline-yes">1x</span>
686
687
  <span class="cline-any cline-neutral">&nbsp;</span>
687
688
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -689,7 +690,7 @@
689
690
  <span class="cline-any cline-neutral">&nbsp;</span>
690
691
  <span class="cline-any cline-neutral">&nbsp;</span>
691
692
  <span class="cline-any cline-neutral">&nbsp;</span>
692
- <span class="cline-any cline-yes">1896x</span>
693
+ <span class="cline-any cline-yes">4045x</span>
693
694
  <span class="cline-any cline-yes">1x</span>
694
695
  <span class="cline-any cline-yes">3x</span>
695
696
  <span class="cline-any cline-yes">3x</span>
@@ -710,29 +711,29 @@
710
711
  <span class="cline-any cline-neutral">&nbsp;</span>
711
712
  <span class="cline-any cline-neutral">&nbsp;</span>
712
713
  <span class="cline-any cline-neutral">&nbsp;</span>
713
- <span class="cline-any cline-yes">1896x</span>
714
- <span class="cline-any cline-yes">137x</span>
714
+ <span class="cline-any cline-yes">4045x</span>
715
+ <span class="cline-any cline-yes">297x</span>
715
716
  <span class="cline-any cline-neutral">&nbsp;</span>
716
- <span class="cline-any cline-yes">1896x</span>
717
- <span class="cline-any cline-yes">334x</span>
718
- <span class="cline-any cline-yes">619x</span>
717
+ <span class="cline-any cline-yes">4045x</span>
718
+ <span class="cline-any cline-yes">726x</span>
719
+ <span class="cline-any cline-yes">1363x</span>
719
720
  <span class="cline-any cline-neutral">&nbsp;</span>
720
721
  <span class="cline-any cline-neutral">&nbsp;</span>
721
722
  <span class="cline-any cline-neutral">&nbsp;</span>
722
723
  <span class="cline-any cline-neutral">&nbsp;</span>
723
724
  <span class="cline-any cline-neutral">&nbsp;</span>
724
725
  <span class="cline-any cline-neutral">&nbsp;</span>
725
- <span class="cline-any cline-yes">1896x</span>
726
- <span class="cline-any cline-yes">15x</span>
726
+ <span class="cline-any cline-yes">4045x</span>
727
+ <span class="cline-any cline-yes">23x</span>
727
728
  <span class="cline-any cline-neutral">&nbsp;</span>
728
729
  <span class="cline-any cline-neutral">&nbsp;</span>
729
730
  <span class="cline-any cline-neutral">&nbsp;</span>
730
731
  <span class="cline-any cline-neutral">&nbsp;</span>
731
732
  <span class="cline-any cline-neutral">&nbsp;</span>
732
- <span class="cline-any cline-yes">1896x</span>
733
- <span class="cline-any cline-yes">27x</span>
734
- <span class="cline-any cline-yes">53x</span>
735
- <span class="cline-any cline-yes">53x</span>
733
+ <span class="cline-any cline-yes">4045x</span>
734
+ <span class="cline-any cline-yes">43x</span>
735
+ <span class="cline-any cline-yes">85x</span>
736
+ <span class="cline-any cline-yes">85x</span>
736
737
  <span class="cline-any cline-neutral">&nbsp;</span>
737
738
  <span class="cline-any cline-neutral">&nbsp;</span>
738
739
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -742,27 +743,27 @@
742
743
  <span class="cline-any cline-neutral">&nbsp;</span>
743
744
  <span class="cline-any cline-neutral">&nbsp;</span>
744
745
  <span class="cline-any cline-neutral">&nbsp;</span>
745
- <span class="cline-any cline-yes">4x</span>
746
+ <span class="cline-any cline-yes">673x</span>
746
747
  <span class="cline-any cline-neutral">&nbsp;</span>
747
748
  <span class="cline-any cline-neutral">&nbsp;</span>
748
749
  <span class="cline-any cline-neutral">&nbsp;</span>
749
750
  <span class="cline-any cline-neutral">&nbsp;</span>
750
- <span class="cline-any cline-yes">1672x</span>
751
- <span class="cline-any cline-yes">1672x</span>
752
- <span class="cline-any cline-yes">1672x</span>
753
- <span class="cline-any cline-yes">1672x</span>
754
- <span class="cline-any cline-yes">1672x</span>
755
- <span class="cline-any cline-yes">1672x</span>
756
- <span class="cline-any cline-yes">1672x</span>
751
+ <span class="cline-any cline-yes">3622x</span>
752
+ <span class="cline-any cline-yes">3622x</span>
753
+ <span class="cline-any cline-yes">3622x</span>
754
+ <span class="cline-any cline-yes">3622x</span>
755
+ <span class="cline-any cline-yes">3622x</span>
756
+ <span class="cline-any cline-yes">3622x</span>
757
+ <span class="cline-any cline-yes">3622x</span>
757
758
  <span class="cline-any cline-yes">3x</span>
758
759
  <span class="cline-any cline-neutral">&nbsp;</span>
759
760
  <span class="cline-any cline-neutral">&nbsp;</span>
760
761
  <span class="cline-any cline-neutral">&nbsp;</span>
761
762
  <span class="cline-any cline-neutral">&nbsp;</span>
762
763
  <span class="cline-any cline-neutral">&nbsp;</span>
763
- <span class="cline-any cline-yes">1672x</span>
764
- <span class="cline-any cline-yes">18x</span>
765
- <span class="cline-any cline-yes">18x</span>
764
+ <span class="cline-any cline-yes">3622x</span>
765
+ <span class="cline-any cline-yes">30x</span>
766
+ <span class="cline-any cline-yes">30x</span>
766
767
  <span class="cline-any cline-neutral">&nbsp;</span>
767
768
  <span class="cline-any cline-yes">3x</span>
768
769
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -771,36 +772,36 @@
771
772
  <span class="cline-any cline-neutral">&nbsp;</span>
772
773
  <span class="cline-any cline-neutral">&nbsp;</span>
773
774
  <span class="cline-any cline-neutral">&nbsp;</span>
774
- <span class="cline-any cline-yes">1672x</span>
775
- <span class="cline-any cline-yes">77x</span>
776
- <span class="cline-any cline-yes">77x</span>
777
- <span class="cline-any cline-yes">77x</span>
778
- <span class="cline-any cline-yes">77x</span>
775
+ <span class="cline-any cline-yes">3622x</span>
776
+ <span class="cline-any cline-yes">137x</span>
777
+ <span class="cline-any cline-yes">137x</span>
778
+ <span class="cline-any cline-yes">137x</span>
779
+ <span class="cline-any cline-yes">137x</span>
779
780
  <span class="cline-any cline-yes">1x</span>
780
781
  <span class="cline-any cline-yes">1x</span>
781
782
  <span class="cline-any cline-neutral">&nbsp;</span>
782
783
  <span class="cline-any cline-no">&nbsp;</span>
783
784
  <span class="cline-any cline-neutral">&nbsp;</span>
784
785
  <span class="cline-any cline-neutral">&nbsp;</span>
785
- <span class="cline-any cline-yes">77x</span>
786
+ <span class="cline-any cline-yes">137x</span>
786
787
  <span class="cline-any cline-neutral">&nbsp;</span>
787
- <span class="cline-any cline-yes">1672x</span>
788
- <span class="cline-any cline-yes">23x</span>
789
- <span class="cline-any cline-yes">23x</span>
788
+ <span class="cline-any cline-yes">3622x</span>
789
+ <span class="cline-any cline-yes">39x</span>
790
+ <span class="cline-any cline-yes">39x</span>
790
791
  <span class="cline-any cline-yes">1x</span>
791
792
  <span class="cline-any cline-neutral">&nbsp;</span>
792
793
  <span class="cline-any cline-neutral">&nbsp;</span>
793
794
  <span class="cline-any cline-neutral">&nbsp;</span>
794
795
  <span class="cline-any cline-neutral">&nbsp;</span>
795
796
  <span class="cline-any cline-neutral">&nbsp;</span>
796
- <span class="cline-any cline-yes">23x</span>
797
+ <span class="cline-any cline-yes">39x</span>
797
798
  <span class="cline-any cline-yes">1x</span>
798
799
  <span class="cline-any cline-neutral">&nbsp;</span>
799
800
  <span class="cline-any cline-neutral">&nbsp;</span>
800
801
  <span class="cline-any cline-neutral">&nbsp;</span>
801
802
  <span class="cline-any cline-neutral">&nbsp;</span>
802
803
  <span class="cline-any cline-neutral">&nbsp;</span>
803
- <span class="cline-any cline-yes">23x</span>
804
+ <span class="cline-any cline-yes">39x</span>
804
805
  <span class="cline-any cline-yes">1x</span>
805
806
  <span class="cline-any cline-neutral">&nbsp;</span>
806
807
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -808,26 +809,26 @@
808
809
  <span class="cline-any cline-neutral">&nbsp;</span>
809
810
  <span class="cline-any cline-neutral">&nbsp;</span>
810
811
  <span class="cline-any cline-neutral">&nbsp;</span>
811
- <span class="cline-any cline-yes">1672x</span>
812
- <span class="cline-any cline-yes">20x</span>
813
- <span class="cline-any cline-yes">56x</span>
814
- <span class="cline-any cline-yes">56x</span>
815
- <span class="cline-any cline-yes">54x</span>
816
- <span class="cline-any cline-yes">54x</span>
812
+ <span class="cline-any cline-yes">3622x</span>
813
+ <span class="cline-any cline-yes">36x</span>
814
+ <span class="cline-any cline-yes">100x</span>
815
+ <span class="cline-any cline-yes">100x</span>
816
+ <span class="cline-any cline-yes">98x</span>
817
+ <span class="cline-any cline-yes">98x</span>
817
818
  <span class="cline-any cline-no">&nbsp;</span>
818
819
  <span class="cline-any cline-neutral">&nbsp;</span>
819
820
  <span class="cline-any cline-neutral">&nbsp;</span>
820
821
  <span class="cline-any cline-neutral">&nbsp;</span>
821
822
  <span class="cline-any cline-neutral">&nbsp;</span>
822
823
  <span class="cline-any cline-neutral">&nbsp;</span>
823
- <span class="cline-any cline-yes">54x</span>
824
+ <span class="cline-any cline-yes">98x</span>
824
825
  <span class="cline-any cline-yes">1x</span>
825
826
  <span class="cline-any cline-neutral">&nbsp;</span>
826
827
  <span class="cline-any cline-neutral">&nbsp;</span>
827
828
  <span class="cline-any cline-neutral">&nbsp;</span>
828
829
  <span class="cline-any cline-neutral">&nbsp;</span>
829
830
  <span class="cline-any cline-neutral">&nbsp;</span>
830
- <span class="cline-any cline-yes">54x</span>
831
+ <span class="cline-any cline-yes">98x</span>
831
832
  <span class="cline-any cline-no">&nbsp;</span>
832
833
  <span class="cline-any cline-neutral">&nbsp;</span>
833
834
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -837,29 +838,29 @@
837
838
  <span class="cline-any cline-neutral">&nbsp;</span>
838
839
  <span class="cline-any cline-neutral">&nbsp;</span>
839
840
  <span class="cline-any cline-neutral">&nbsp;</span>
840
- <span class="cline-any cline-yes">1672x</span>
841
- <span class="cline-any cline-yes">123x</span>
841
+ <span class="cline-any cline-yes">3622x</span>
842
+ <span class="cline-any cline-yes">275x</span>
842
843
  <span class="cline-any cline-neutral">&nbsp;</span>
843
- <span class="cline-any cline-yes">1672x</span>
844
- <span class="cline-any cline-yes">312x</span>
845
- <span class="cline-any cline-yes">587x</span>
844
+ <span class="cline-any cline-yes">3622x</span>
845
+ <span class="cline-any cline-yes">696x</span>
846
+ <span class="cline-any cline-yes">1315x</span>
846
847
  <span class="cline-any cline-neutral">&nbsp;</span>
847
848
  <span class="cline-any cline-neutral">&nbsp;</span>
848
849
  <span class="cline-any cline-neutral">&nbsp;</span>
849
850
  <span class="cline-any cline-neutral">&nbsp;</span>
850
851
  <span class="cline-any cline-neutral">&nbsp;</span>
851
852
  <span class="cline-any cline-neutral">&nbsp;</span>
852
- <span class="cline-any cline-yes">1672x</span>
853
- <span class="cline-any cline-yes">13x</span>
853
+ <span class="cline-any cline-yes">3622x</span>
854
+ <span class="cline-any cline-yes">21x</span>
854
855
  <span class="cline-any cline-neutral">&nbsp;</span>
855
856
  <span class="cline-any cline-neutral">&nbsp;</span>
856
857
  <span class="cline-any cline-neutral">&nbsp;</span>
857
858
  <span class="cline-any cline-neutral">&nbsp;</span>
858
859
  <span class="cline-any cline-neutral">&nbsp;</span>
859
- <span class="cline-any cline-yes">1672x</span>
860
- <span class="cline-any cline-yes">15x</span>
861
- <span class="cline-any cline-yes">29x</span>
862
- <span class="cline-any cline-yes">29x</span>
860
+ <span class="cline-any cline-yes">3622x</span>
861
+ <span class="cline-any cline-yes">27x</span>
862
+ <span class="cline-any cline-yes">53x</span>
863
+ <span class="cline-any cline-yes">53x</span>
863
864
  <span class="cline-any cline-neutral">&nbsp;</span>
864
865
  <span class="cline-any cline-neutral">&nbsp;</span>
865
866
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -890,25 +891,25 @@
890
891
  <span class="cline-any cline-neutral">&nbsp;</span>
891
892
  <span class="cline-any cline-neutral">&nbsp;</span>
892
893
  <span class="cline-any cline-neutral">&nbsp;</span>
893
- <span class="cline-any cline-yes">4x</span>
894
+ <span class="cline-any cline-yes">991x</span>
894
895
  <span class="cline-any cline-neutral">&nbsp;</span>
895
896
  <span class="cline-any cline-neutral">&nbsp;</span>
896
897
  <span class="cline-any cline-neutral">&nbsp;</span>
897
898
  <span class="cline-any cline-neutral">&nbsp;</span>
898
- <span class="cline-any cline-yes">1896x</span>
899
- <span class="cline-any cline-yes">1896x</span>
900
- <span class="cline-any cline-yes">1896x</span>
901
- <span class="cline-any cline-yes">1896x</span>
902
- <span class="cline-any cline-yes">1896x</span>
903
- <span class="cline-any cline-yes">1896x</span>
904
- <span class="cline-any cline-yes">1896x</span>
899
+ <span class="cline-any cline-yes">4045x</span>
900
+ <span class="cline-any cline-yes">4045x</span>
901
+ <span class="cline-any cline-yes">4045x</span>
902
+ <span class="cline-any cline-yes">4045x</span>
903
+ <span class="cline-any cline-yes">4045x</span>
904
+ <span class="cline-any cline-yes">4045x</span>
905
+ <span class="cline-any cline-yes">4045x</span>
905
906
  <span class="cline-any cline-yes">4x</span>
906
907
  <span class="cline-any cline-neutral">&nbsp;</span>
907
908
  <span class="cline-any cline-neutral">&nbsp;</span>
908
909
  <span class="cline-any cline-neutral">&nbsp;</span>
909
910
  <span class="cline-any cline-neutral">&nbsp;</span>
910
911
  <span class="cline-any cline-neutral">&nbsp;</span>
911
- <span class="cline-any cline-yes">1896x</span>
912
+ <span class="cline-any cline-yes">4045x</span>
912
913
  <span class="cline-any cline-yes">12x</span>
913
914
  <span class="cline-any cline-yes">1x</span>
914
915
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -938,42 +939,42 @@
938
939
  <span class="cline-any cline-neutral">&nbsp;</span>
939
940
  <span class="cline-any cline-neutral">&nbsp;</span>
940
941
  <span class="cline-any cline-neutral">&nbsp;</span>
941
- <span class="cline-any cline-yes">1896x</span>
942
+ <span class="cline-any cline-yes">4045x</span>
942
943
  <span class="cline-any cline-yes">4x</span>
943
944
  <span class="cline-any cline-neutral">&nbsp;</span>
944
- <span class="cline-any cline-yes">1896x</span>
945
+ <span class="cline-any cline-yes">4045x</span>
945
946
  <span class="cline-any cline-yes">4x</span>
946
947
  <span class="cline-any cline-yes">8x</span>
947
948
  <span class="cline-any cline-yes">8x</span>
948
949
  <span class="cline-any cline-neutral">&nbsp;</span>
949
950
  <span class="cline-any cline-neutral">&nbsp;</span>
950
- <span class="cline-any cline-yes">1896x</span>
951
- <span class="cline-any cline-yes">138x</span>
951
+ <span class="cline-any cline-yes">4045x</span>
952
+ <span class="cline-any cline-yes">298x</span>
952
953
  <span class="cline-any cline-neutral">&nbsp;</span>
953
- <span class="cline-any cline-yes">1896x</span>
954
- <span class="cline-any cline-yes">334x</span>
955
- <span class="cline-any cline-yes">619x</span>
954
+ <span class="cline-any cline-yes">4045x</span>
955
+ <span class="cline-any cline-yes">726x</span>
956
+ <span class="cline-any cline-yes">1363x</span>
956
957
  <span class="cline-any cline-neutral">&nbsp;</span>
957
958
  <span class="cline-any cline-neutral">&nbsp;</span>
958
- <span class="cline-any cline-yes">1896x</span>
959
- <span class="cline-any cline-yes">15x</span>
959
+ <span class="cline-any cline-yes">4045x</span>
960
+ <span class="cline-any cline-yes">23x</span>
960
961
  <span class="cline-any cline-neutral">&nbsp;</span>
961
962
  <span class="cline-any cline-neutral">&nbsp;</span>
962
963
  <span class="cline-any cline-neutral">&nbsp;</span>
963
964
  <span class="cline-any cline-neutral">&nbsp;</span>
964
965
  <span class="cline-any cline-neutral">&nbsp;</span>
965
- <span class="cline-any cline-yes">1896x</span>
966
- <span class="cline-any cline-yes">27x</span>
967
- <span class="cline-any cline-yes">53x</span>
968
- <span class="cline-any cline-yes">53x</span>
966
+ <span class="cline-any cline-yes">4045x</span>
967
+ <span class="cline-any cline-yes">43x</span>
968
+ <span class="cline-any cline-yes">85x</span>
969
+ <span class="cline-any cline-yes">85x</span>
969
970
  <span class="cline-any cline-neutral">&nbsp;</span>
970
971
  <span class="cline-any cline-neutral">&nbsp;</span>
971
972
  <span class="cline-any cline-neutral">&nbsp;</span>
972
973
  <span class="cline-any cline-neutral">&nbsp;</span>
973
974
  <span class="cline-any cline-neutral">&nbsp;</span>
974
975
  <span class="cline-any cline-neutral">&nbsp;</span>
975
- <span class="cline-any cline-yes">4x</span>
976
- <span class="cline-any cline-yes">4x</span>
976
+ <span class="cline-any cline-yes">552x</span>
977
+ <span class="cline-any cline-yes">5x</span>
977
978
  <span class="cline-any cline-neutral">&nbsp;</span>
978
979
  <span class="cline-any cline-neutral">&nbsp;</span>
979
980
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -986,7 +987,7 @@
986
987
  <span class="cline-any cline-neutral">&nbsp;</span>
987
988
  <span class="cline-any cline-neutral">&nbsp;</span>
988
989
  <span class="cline-any cline-neutral">&nbsp;</span>
989
- <span class="cline-any cline-yes">4x</span>
990
+ <span class="cline-any cline-yes">144x</span>
990
991
  <span class="cline-any cline-neutral">&nbsp;</span>
991
992
  <span class="cline-any cline-neutral">&nbsp;</span>
992
993
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -995,9 +996,9 @@
995
996
  <span class="cline-any cline-neutral">&nbsp;</span>
996
997
  <span class="cline-any cline-neutral">&nbsp;</span>
997
998
  <span class="cline-any cline-neutral">&nbsp;</span>
998
- <span class="cline-any cline-yes">4x</span>
999
- <span class="cline-any cline-yes">125x</span>
1000
- <span class="cline-any cline-yes">110x</span>
999
+ <span class="cline-any cline-yes">210x</span>
1000
+ <span class="cline-any cline-yes">210x</span>
1001
+ <span class="cline-any cline-yes">182x</span>
1001
1002
  <span class="cline-any cline-neutral">&nbsp;</span>
1002
1003
  <span class="cline-any cline-neutral">&nbsp;</span>
1003
1004
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1019,14 +1020,15 @@
1019
1020
  <span class="cline-any cline-neutral">&nbsp;</span>
1020
1021
  <span class="cline-any cline-neutral">&nbsp;</span>
1021
1022
  <span class="cline-any cline-neutral">&nbsp;</span>
1022
- <span class="cline-any cline-yes">42x</span>
1023
+ <span class="cline-any cline-neutral">&nbsp;</span>
1024
+ <span class="cline-any cline-yes">78x</span>
1023
1025
  <span class="cline-any cline-yes">2x</span>
1024
1026
  <span class="cline-any cline-neutral">&nbsp;</span>
1025
1027
  <span class="cline-any cline-neutral">&nbsp;</span>
1026
1028
  <span class="cline-any cline-neutral">&nbsp;</span>
1027
1029
  <span class="cline-any cline-neutral">&nbsp;</span>
1028
1030
  <span class="cline-any cline-neutral">&nbsp;</span>
1029
- <span class="cline-any cline-yes">587x</span>
1031
+ <span class="cline-any cline-yes">1285x</span>
1030
1032
  <span class="cline-any cline-yes">2x</span>
1031
1033
  <span class="cline-any cline-neutral">&nbsp;</span>
1032
1034
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1035,13 +1037,13 @@
1035
1037
  <span class="cline-any cline-neutral">&nbsp;</span>
1036
1038
  <span class="cline-any cline-neutral">&nbsp;</span>
1037
1039
  <span class="cline-any cline-neutral">&nbsp;</span>
1038
- <span class="cline-any cline-yes">587x</span>
1039
- <span class="cline-any cline-yes">587x</span>
1040
- <span class="cline-any cline-yes">587x</span>
1041
- <span class="cline-any cline-yes">587x</span>
1040
+ <span class="cline-any cline-yes">1285x</span>
1041
+ <span class="cline-any cline-yes">1285x</span>
1042
+ <span class="cline-any cline-yes">1285x</span>
1043
+ <span class="cline-any cline-yes">1285x</span>
1042
1044
  <span class="cline-any cline-neutral">&nbsp;</span>
1043
1045
  <span class="cline-any cline-neutral">&nbsp;</span>
1044
- <span class="cline-any cline-yes">125x</span>
1046
+ <span class="cline-any cline-yes">210x</span>
1045
1047
  <span class="cline-any cline-neutral">&nbsp;</span>
1046
1048
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { Schema, SchemaKey, Value } from "@featurevisor/types";
1047
1049
  import { z } from "zod";
@@ -1131,7 +1133,7 @@ export function refineEnumMatchesType(
1131
1133
  }
1132
1134
  if (schema.oneOf &amp;&amp; Array.isArray(schema.oneOf)) {
1133
1135
  schema.oneOf.forEach((branch, i) =&gt; {
1134
- if (branch &amp;&amp; typeof branch === "object") {
1136
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (branch &amp;&amp; typeof branch === "object") {
1135
1137
  refineEnumMatchesType(branch as SchemaLike, [...pathPrefix, "oneOf", i], ctx);
1136
1138
  }
1137
1139
  });
@@ -1182,7 +1184,7 @@ export function refineMinimumMaximum(
1182
1184
  if (isNumeric &amp;&amp; Array.isArray(schema.enum) &amp;&amp; schema.enum.length &gt; 0) {
1183
1185
  for (let i = 0; i &lt; schema.enum.length; i++) {
1184
1186
  const v = schema.enum[i];
1185
- if (typeof v === "number") {
1187
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (typeof v === "number") {
1186
1188
  <span class="missing-if-branch" title="if path not taken" >I</span>if (min !== undefined &amp;&amp; v &lt; min) {
1187
1189
  <span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
1188
1190
  code: z.ZodIssueCode.custom,
@@ -1221,7 +1223,7 @@ export function refineMinimumMaximum(
1221
1223
  }
1222
1224
  if (schema.oneOf &amp;&amp; Array.isArray(schema.oneOf)) {
1223
1225
  schema.oneOf.forEach((branch, i) =&gt; {
1224
- if (branch &amp;&amp; typeof branch === "object") {
1226
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (branch &amp;&amp; typeof branch === "object") {
1225
1227
  refineMinimumMaximum(branch as SchemaLike, [...pathPrefix, "oneOf", i], ctx);
1226
1228
  }
1227
1229
  });
@@ -1348,7 +1350,7 @@ export function refineStringLengthPattern(
1348
1350
  }
1349
1351
  if (schema.oneOf &amp;&amp; Array.isArray(schema.oneOf)) {
1350
1352
  schema.oneOf.forEach((branch, i) =&gt; {
1351
- if (branch &amp;&amp; typeof branch === "object") {
1353
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (branch &amp;&amp; typeof branch === "object") {
1352
1354
  refineStringLengthPattern(branch as SchemaLike, [...pathPrefix, "oneOf", i], ctx);
1353
1355
  }
1354
1356
  });
@@ -1360,15 +1362,15 @@ function valueDeepEqualForRefine(a: unknown, b: unknown): boolean {
1360
1362
  if (a === b) return true;
1361
1363
  <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof a !== typeof b) <span class="cstat-no" title="statement not covered" >return false;</span>
1362
1364
  <span class="missing-if-branch" title="if path not taken" >I</span>if (a === null || b === null) <span class="cstat-no" title="statement not covered" >return a === b;</span>
1363
- <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof a === "object" &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >typeof b === "object")</span> {
1364
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (Array.isArray(a) !== Array.isArray(b)) <span class="cstat-no" title="statement not covered" >return false;</span></span>
1365
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (Array.isArray(a) &amp;&amp; Array.isArray(b)) {</span>
1366
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (a.length !== b.length) <span class="cstat-no" title="statement not covered" >return false;</span></span>
1367
- <span class="cstat-no" title="statement not covered" > return a.every(<span class="fstat-no" title="function not covered" >(v</span>, i) =&gt; <span class="cstat-no" title="statement not covered" >valueDeepEqualForRefine(v, b[i]))</span>;</span>
1365
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof a === "object" &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >typeof b === "object") {</span>
1366
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(a) !== Array.isArray(b)) <span class="cstat-no" title="statement not covered" >return false;</span></span>
1367
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(a) &amp;&amp; Array.isArray(b)) {</span>
1368
+ <span class="cstat-no" title="statement not covered" > if (a.length !== b.length) <span class="cstat-no" title="statement not covered" >return false;</span></span>
1369
+ <span class="cstat-no" title="statement not covered" > return a.every(<span class="fstat-no" title="function not covered" >(v</span>, i) =&gt; <span class="cstat-no" title="statement not covered" >valueDeepEqualForRefine(v, b[i]));</span></span>
1368
1370
  }
1369
1371
  const keysA = <span class="cstat-no" title="statement not covered" >Object.keys(a as object).sort();</span>
1370
1372
  const keysB = <span class="cstat-no" title="statement not covered" >Object.keys(b as object).sort();</span>
1371
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (keysA.length !== keysB.length || keysA.some(<span class="fstat-no" title="function not covered" >(k</span>, i) =&gt; <span class="cstat-no" title="statement not covered" >k !== keysB[i])</span>) <span class="cstat-no" title="statement not covered" >return false;</span></span>
1373
+ <span class="cstat-no" title="statement not covered" > if (keysA.length !== keysB.length || keysA.some(<span class="fstat-no" title="function not covered" >(k</span>, i) =&gt; <span class="cstat-no" title="statement not covered" >k !== keysB[i])</span>) <span class="cstat-no" title="statement not covered" >return false;</span></span>
1372
1374
  <span class="cstat-no" title="statement not covered" > return keysA.every(<span class="fstat-no" title="function not covered" >(k</span>) =&gt;</span>
1373
1375
  <span class="cstat-no" title="statement not covered" > valueDeepEqualForRefine((a as Record&lt;string, unknown&gt;)[k], (b as Record&lt;string, unknown&gt;)[k]),</span>
1374
1376
  );
@@ -1434,7 +1436,7 @@ export function refineArrayItems(
1434
1436
  if (isArray &amp;&amp; Array.isArray(schema.enum) &amp;&amp; schema.enum.length &gt; 0) {
1435
1437
  for (let i = 0; i &lt; schema.enum.length; i++) {
1436
1438
  const v = schema.enum[i];
1437
- if (Array.isArray(v)) checkArray(v, [...pathPrefix, "enum", i]);
1439
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(v)) checkArray(v, [...pathPrefix, "enum", i]);
1438
1440
  }
1439
1441
  }
1440
1442
  if (schema.items &amp;&amp; typeof schema.items === "object") {
@@ -1454,7 +1456,7 @@ export function refineArrayItems(
1454
1456
  }
1455
1457
  if (schema.oneOf &amp;&amp; Array.isArray(schema.oneOf)) {
1456
1458
  schema.oneOf.forEach((branch, i) =&gt; {
1457
- if (branch &amp;&amp; typeof branch === "object") {
1459
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (branch &amp;&amp; typeof branch === "object") {
1458
1460
  refineArrayItems(branch as SchemaLike, [...pathPrefix, "oneOf", i], ctx);
1459
1461
  }
1460
1462
  });
@@ -1490,6 +1492,7 @@ export function getSchemaZodSchema(schemaKeys: SchemaKey[] = <span class="branch
1490
1492
  z
1491
1493
  .object({
1492
1494
  description: z.string().optional(),
1495
+ promotable: z.boolean().optional(),
1493
1496
  type: propertyTypeEnum.optional(),
1494
1497
  enum: z.array(valueZodSchema).optional(),
1495
1498
  const: valueZodSchema.optional(),
@@ -1540,16 +1543,16 @@ export function getSchemaZodSchema(schemaKeys: SchemaKey[] = <span class="branch
1540
1543
  <div class='footer quiet pad2 space-top1 center small'>
1541
1544
  Code coverage generated by
1542
1545
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1543
- at 2026-04-26T16:47:51.164Z
1546
+ at 2026-07-12T20:35:50.655Z
1544
1547
  </div>
1545
- <script src="../prettify.js"></script>
1548
+ <script src="../../prettify.js"></script>
1546
1549
  <script>
1547
1550
  window.onload = function () {
1548
1551
  prettyPrint();
1549
1552
  };
1550
1553
  </script>
1551
- <script src="../sorter.js"></script>
1552
- <script src="../block-navigation.js"></script>
1554
+ <script src="../../sorter.js"></script>
1555
+ <script src="../../block-navigation.js"></script>
1553
1556
  </body>
1554
1557
  </html>
1555
1558