@jterrazz/test 16.0.0 → 16.1.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 (211) hide show
  1. package/dist/appium.adapter.js +59 -4
  2. package/dist/browser/index.js +203 -42
  3. package/dist/checker.js +305 -63
  4. package/dist/index.d.ts +35 -4
  5. package/dist/index.js +47 -24
  6. package/dist/oxlint.cjs +123 -28
  7. package/dist/oxlint.js +123 -28
  8. package/dist/playwright.adapter.js +88 -50
  9. package/dist/substring-warning.js +282 -0
  10. package/dist/vitest.js +91 -12
  11. package/docs/01-architecture.md +95 -0
  12. package/docs/02-developing.md +351 -0
  13. package/docs/03-testing.md +495 -0
  14. package/docs/04-operating.md +101 -0
  15. package/docs/05-module-tests.md +152 -0
  16. package/docs/06-integration.md +180 -0
  17. package/docs/07-component.md +246 -0
  18. package/docs/08-website.md +404 -0
  19. package/docs/09-mobile.md +270 -0
  20. package/docs/10-api.md +264 -0
  21. package/docs/11-jobs.md +157 -0
  22. package/docs/12-cli.md +677 -0
  23. package/docs/13-elements.md +248 -0
  24. package/docs/14-assertions.md +314 -0
  25. package/docs/15-tokens.md +253 -0
  26. package/docs/16-contracts.md +438 -0
  27. package/docs/17-services.md +188 -0
  28. package/docs/18-conventions.md +332 -0
  29. package/docs/19-linting.md +512 -0
  30. package/docs/README.md +36 -0
  31. package/docs/decisions/001-v9-conventions-on-three-channels.md +50 -0
  32. package/docs/decisions/002-the-statique-channel-holds-only-what-upstream-does-not.md +49 -0
  33. package/docs/decisions/003-a-rendered-component-is-a-facet-on-vitest-browser-mode.md +84 -0
  34. package/docs/decisions/004-a-module-against-real-services-or-a-golden-is-the-integration-facet.md +81 -0
  35. package/docs/decisions/005-the-doubles-ladder-is-closed.md +86 -0
  36. package/docs/decisions/006-the-catalogue-reaches-a-file-by-its-role.md +245 -0
  37. package/docs/decisions/007-compose-mode-leaves-the-package.md +53 -0
  38. package/docs/decisions/008-vitest-5-node-24-and-the-native-seams-as-optional-peers.md +75 -0
  39. package/docs/decisions/_template.md +22 -0
  40. package/docs/reference/classes/Matcher.md +120 -0
  41. package/docs/reference/classes/ProcessHandle.md +368 -0
  42. package/docs/reference/functions/defineContract.md +39 -0
  43. package/docs/reference/functions/defineContracts.md +36 -0
  44. package/docs/reference/functions/disabled.md +28 -0
  45. package/docs/reference/functions/enabled.md +20 -0
  46. package/docs/reference/functions/focused.md +26 -0
  47. package/docs/reference/functions/mockOf.md +79 -0
  48. package/docs/reference/functions/postgres.md +31 -0
  49. package/docs/reference/functions/process.md +33 -0
  50. package/docs/reference/functions/redis.md +28 -0
  51. package/docs/reference/functions/required.md +41 -0
  52. package/docs/reference/functions/selected.md +26 -0
  53. package/docs/reference/functions/sqlite.md +33 -0
  54. package/docs/reference/functions/testId.md +20 -0
  55. package/docs/reference/functions/text.md +40 -0
  56. package/docs/reference/functions/valued.md +28 -0
  57. package/docs/reference/functions/waitUntil.md +46 -0
  58. package/docs/reference/functions/within.md +29 -0
  59. package/docs/reference/index.md +196 -0
  60. package/docs/reference/interfaces/BaseResult.md +87 -0
  61. package/docs/reference/interfaces/CallResult.md +160 -0
  62. package/docs/reference/interfaces/CaptureScope.md +82 -0
  63. package/docs/reference/interfaces/CliResult.md +253 -0
  64. package/docs/reference/interfaces/ContainerAccessor.md +166 -0
  65. package/docs/reference/interfaces/DirectoryAccessor.md +33 -0
  66. package/docs/reference/interfaces/FetchResult.md +180 -0
  67. package/docs/reference/interfaces/FilesystemAccessor.md +46 -0
  68. package/docs/reference/interfaces/HttpResult.md +126 -0
  69. package/docs/reference/interfaces/JsonAccessor.md +46 -0
  70. package/docs/reference/interfaces/PageResult.md +356 -0
  71. package/docs/reference/interfaces/RenderResult.md +72 -0
  72. package/docs/reference/interfaces/RenderedText.md +110 -0
  73. package/docs/reference/interfaces/ResponseAccessor.md +47 -0
  74. package/docs/reference/interfaces/ScreenResult.md +128 -0
  75. package/docs/reference/interfaces/TableAccessor.md +26 -0
  76. package/docs/reference/interfaces/TextAccessor.md +96 -0
  77. package/docs/reference/type-aliases/ApiHandle.md +68 -0
  78. package/docs/reference/type-aliases/ApiSpecification.md +213 -0
  79. package/docs/reference/type-aliases/ApiSpecificationOptions.md +68 -0
  80. package/docs/reference/type-aliases/BrowserConsoleMessage.md +30 -0
  81. package/docs/reference/type-aliases/BrowserLinkElement.md +50 -0
  82. package/docs/reference/type-aliases/BrowserMetaElement.md +40 -0
  83. package/docs/reference/type-aliases/BrowserOpenOptions.md +87 -0
  84. package/docs/reference/type-aliases/BrowserPage.md +132 -0
  85. package/docs/reference/type-aliases/BrowserPort.md +51 -0
  86. package/docs/reference/type-aliases/CliEnv.md +11 -0
  87. package/docs/reference/type-aliases/CliHandle.md +80 -0
  88. package/docs/reference/type-aliases/CliInput.md +36 -0
  89. package/docs/reference/type-aliases/CliOutput.md +46 -0
  90. package/docs/reference/type-aliases/CliPort.md +58 -0
  91. package/docs/reference/type-aliases/CliSpecification.md +144 -0
  92. package/docs/reference/type-aliases/CliSpecificationOptions.md +134 -0
  93. package/docs/reference/type-aliases/ComponentChain.md +156 -0
  94. package/docs/reference/type-aliases/ComponentScenario.md +20 -0
  95. package/docs/reference/type-aliases/ComponentUi.md +47 -0
  96. package/docs/reference/type-aliases/ComponentVisitor.md +10 -0
  97. package/docs/reference/type-aliases/ContainerPort.md +113 -0
  98. package/docs/reference/type-aliases/Contract.md +68 -0
  99. package/docs/reference/type-aliases/ContractInput.md +13 -0
  100. package/docs/reference/type-aliases/ContractRequest.md +95 -0
  101. package/docs/reference/type-aliases/ContractResponder.md +23 -0
  102. package/docs/reference/type-aliases/ContractResponse.md +78 -0
  103. package/docs/reference/type-aliases/ContractResponseValue.md +13 -0
  104. package/docs/reference/type-aliases/Contracts.md +48 -0
  105. package/docs/reference/type-aliases/DatabaseKeys.md +16 -0
  106. package/docs/reference/type-aliases/DatabasePort.md +72 -0
  107. package/docs/reference/type-aliases/DeviceOpenOptions.md +46 -0
  108. package/docs/reference/type-aliases/DevicePort.md +51 -0
  109. package/docs/reference/type-aliases/DeviceScreen.md +32 -0
  110. package/docs/reference/type-aliases/DeviceTimeouts.md +39 -0
  111. package/docs/reference/type-aliases/DockerSpecConfig.md +43 -0
  112. package/docs/reference/type-aliases/DomMount.md +21 -0
  113. package/docs/reference/type-aliases/ElementKind.md +27 -0
  114. package/docs/reference/type-aliases/ElementMatch.md +74 -0
  115. package/docs/reference/type-aliases/ElementOptions.md +29 -0
  116. package/docs/reference/type-aliases/ElementRef.md +128 -0
  117. package/docs/reference/type-aliases/ExecOptions.md +37 -0
  118. package/docs/reference/type-aliases/FileAccessor.md +54 -0
  119. package/docs/reference/type-aliases/HonoApp.md +31 -0
  120. package/docs/reference/type-aliases/HttpContractFilter.md +49 -0
  121. package/docs/reference/type-aliases/HttpResponseInit.md +46 -0
  122. package/docs/reference/type-aliases/HttpStreamInit.md +58 -0
  123. package/docs/reference/type-aliases/IntegrationHandle.md +46 -0
  124. package/docs/reference/type-aliases/IntegrationSpecification.md +111 -0
  125. package/docs/reference/type-aliases/IntegrationSpecificationOptions.md +42 -0
  126. package/docs/reference/type-aliases/Intercept.md +19 -0
  127. package/docs/reference/type-aliases/InterceptOptions.md +28 -0
  128. package/docs/reference/type-aliases/InterceptScope.md +11 -0
  129. package/docs/reference/type-aliases/IsolationStrategy.md +75 -0
  130. package/docs/reference/type-aliases/JobHandle.md +34 -0
  131. package/docs/reference/type-aliases/JobsHandle.md +57 -0
  132. package/docs/reference/type-aliases/JobsResult.md +16 -0
  133. package/docs/reference/type-aliases/JobsSpecification.md +94 -0
  134. package/docs/reference/type-aliases/JobsSpecificationOptions.md +56 -0
  135. package/docs/reference/type-aliases/LandmarkKind.md +20 -0
  136. package/docs/reference/type-aliases/LiterateRunFlags.md +27 -0
  137. package/docs/reference/type-aliases/LiterateServeRegistration.md +70 -0
  138. package/docs/reference/type-aliases/MatchFixtureOptions.md +27 -0
  139. package/docs/reference/type-aliases/MatchableRequest.md +61 -0
  140. package/docs/reference/type-aliases/MatcherKind.md +34 -0
  141. package/docs/reference/type-aliases/MobileBackendOptions.md +28 -0
  142. package/docs/reference/type-aliases/MobileElementKind.md +14 -0
  143. package/docs/reference/type-aliases/MobileElementMatch.md +60 -0
  144. package/docs/reference/type-aliases/MobileElementRef.md +20 -0
  145. package/docs/reference/type-aliases/MobileHandle.md +65 -0
  146. package/docs/reference/type-aliases/MobileScenario.md +20 -0
  147. package/docs/reference/type-aliases/MobileSpecification.md +51 -0
  148. package/docs/reference/type-aliases/MobileSpecificationOptions.md +126 -0
  149. package/docs/reference/type-aliases/MobileVisitor.md +81 -0
  150. package/docs/reference/type-aliases/MockOfOptions.md +26 -0
  151. package/docs/reference/type-aliases/MockPort.md +10 -0
  152. package/docs/reference/type-aliases/PinnedClock.md +10 -0
  153. package/docs/reference/type-aliases/PostgresOptions.md +32 -0
  154. package/docs/reference/type-aliases/ProcessOptions.md +112 -0
  155. package/docs/reference/type-aliases/RedisOptions.md +20 -0
  156. package/docs/reference/type-aliases/RenderSubject.md +12 -0
  157. package/docs/reference/type-aliases/ScreenNode.md +67 -0
  158. package/docs/reference/type-aliases/ServerPort.md +36 -0
  159. package/docs/reference/type-aliases/ServerResponse.md +46 -0
  160. package/docs/reference/type-aliases/ServerSpec.md +21 -0
  161. package/docs/reference/type-aliases/ServiceHandle.md +216 -0
  162. package/docs/reference/type-aliases/ServiceRecord.md +12 -0
  163. package/docs/reference/type-aliases/SpecDocument.md +84 -0
  164. package/docs/reference/type-aliases/SpecEnvToken.md +21 -0
  165. package/docs/reference/type-aliases/SpecFileAssertion.md +27 -0
  166. package/docs/reference/type-aliases/SpecFixture.md +30 -0
  167. package/docs/reference/type-aliases/SpecKind.md +8 -0
  168. package/docs/reference/type-aliases/SpecRun.md +108 -0
  169. package/docs/reference/type-aliases/SpecServeEntry.md +40 -0
  170. package/docs/reference/type-aliases/SpecStream.md +32 -0
  171. package/docs/reference/type-aliases/SpecificationConfig.md +290 -0
  172. package/docs/reference/type-aliases/SqliteOptions.md +36 -0
  173. package/docs/reference/type-aliases/SseEvent.md +58 -0
  174. package/docs/reference/type-aliases/StreamBody.md +61 -0
  175. package/docs/reference/type-aliases/TextFilter.md +22 -0
  176. package/docs/reference/type-aliases/VisitScenario.md +20 -0
  177. package/docs/reference/type-aliases/Visitor.md +215 -0
  178. package/docs/reference/type-aliases/WaitUntilOptions.md +46 -0
  179. package/docs/reference/type-aliases/WebsiteBackendOptions.md +37 -0
  180. package/docs/reference/type-aliases/WebsiteHandle.md +51 -0
  181. package/docs/reference/type-aliases/WebsiteSpecification.md +118 -0
  182. package/docs/reference/type-aliases/WebsiteSpecificationOptions.md +40 -0
  183. package/docs/reference/variables/anthropic.md +19 -0
  184. package/docs/reference/variables/banner.md +10 -0
  185. package/docs/reference/variables/button.md +10 -0
  186. package/docs/reference/variables/clock.md +16 -0
  187. package/docs/reference/variables/complementary.md +10 -0
  188. package/docs/reference/variables/component.md +10 -0
  189. package/docs/reference/variables/content.md +10 -0
  190. package/docs/reference/variables/contentinfo.md +10 -0
  191. package/docs/reference/variables/dialog.md +10 -0
  192. package/docs/reference/variables/field.md +10 -0
  193. package/docs/reference/variables/form.md +10 -0
  194. package/docs/reference/variables/heading.md +10 -0
  195. package/docs/reference/variables/http.md +40 -0
  196. package/docs/reference/variables/intercept.md +11 -0
  197. package/docs/reference/variables/link.md +10 -0
  198. package/docs/reference/variables/listitem.md +10 -0
  199. package/docs/reference/variables/main.md +10 -0
  200. package/docs/reference/variables/match.md +8 -0
  201. package/docs/reference/variables/navigation.md +10 -0
  202. package/docs/reference/variables/openai.md +21 -0
  203. package/docs/reference/variables/option.md +17 -0
  204. package/docs/reference/variables/region.md +10 -0
  205. package/docs/reference/variables/row.md +10 -0
  206. package/docs/reference/variables/search.md +10 -0
  207. package/docs/reference/variables/specification.md +8 -0
  208. package/docs/reference/variables/status.md +10 -0
  209. package/docs/reference/variables/table.md +10 -0
  210. package/package.json +3 -2
  211. package/dist/ambiguity.js +0 -146
@@ -0,0 +1,180 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Interface: FetchResult
3
+
4
+ Defined in: [src/facets/website/website.result.ts:19](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L19)
5
+
6
+ Result from a raw `.fetch()` action (robots.txt, sitemaps, redirects).
7
+
8
+ ## Extends
9
+
10
+ - [`BaseResult`](BaseResult.md)
11
+
12
+ ## Accessors
13
+
14
+ ### body
15
+
16
+ #### Get Signature
17
+
18
+ ```ts
19
+ get body(): TextAccessor;
20
+ ```
21
+
22
+ Defined in: [src/facets/website/website.result.ts:32](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L32)
23
+
24
+ The response body as a text accessor (`toMatch('robots.txt')`, `.grep()`).
25
+
26
+ ##### Returns
27
+
28
+ [`TextAccessor`](TextAccessor.md)
29
+
30
+ ***
31
+
32
+ ### headers
33
+
34
+ #### Get Signature
35
+
36
+ ```ts
37
+ get headers(): Record<string, string>;
38
+ ```
39
+
40
+ Defined in: [src/facets/website/website.result.ts:40](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L40)
41
+
42
+ Response headers as a flat, lower-cased key-value map.
43
+
44
+ ##### Returns
45
+
46
+ `Record`\<`string`, `string`\>
47
+
48
+ ***
49
+
50
+ ### json
51
+
52
+ #### Get Signature
53
+
54
+ ```ts
55
+ get json(): JsonAccessor;
56
+ ```
57
+
58
+ Defined in: [src/facets/website/website.result.ts:45](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L45)
59
+
60
+ The response body parsed as JSON.
61
+
62
+ ##### Returns
63
+
64
+ [`JsonAccessor`](JsonAccessor.md)
65
+
66
+ ***
67
+
68
+ ### location
69
+
70
+ #### Get Signature
71
+
72
+ ```ts
73
+ get location(): string | undefined;
74
+ ```
75
+
76
+ Defined in: [src/facets/website/website.result.ts:55](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L55)
77
+
78
+ The `location` header of a redirect response, or undefined.
79
+
80
+ ##### Returns
81
+
82
+ `string` \| `undefined`
83
+
84
+ ***
85
+
86
+ ### status
87
+
88
+ #### Get Signature
89
+
90
+ ```ts
91
+ get status(): number;
92
+ ```
93
+
94
+ Defined in: [src/facets/website/website.result.ts:60](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L60)
95
+
96
+ The HTTP response status code — redirects surface as 3xx, never followed.
97
+
98
+ ##### Returns
99
+
100
+ `number`
101
+
102
+ ## Methods
103
+
104
+ ### directory()
105
+
106
+ ```ts
107
+ directory(path?): DirectoryAccessor;
108
+ ```
109
+
110
+ Defined in: [src/model/result/result.ts:55](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L55)
111
+
112
+ Access a directory (relative to the working directory) for snapshot assertions.
113
+
114
+ #### Parameters
115
+
116
+ | Parameter | Type | Default value |
117
+ | ------ | ------ | ------ |
118
+ | `path` | `string` | `'.'` |
119
+
120
+ #### Returns
121
+
122
+ [`DirectoryAccessor`](DirectoryAccessor.md)
123
+
124
+ #### Inherited from
125
+
126
+ [`BaseResult`](BaseResult.md).[`directory`](BaseResult.md#directory)
127
+
128
+ ***
129
+
130
+ ### file()
131
+
132
+ ```ts
133
+ file(path): FileAccessor;
134
+ ```
135
+
136
+ Defined in: [src/model/result/result.ts:61](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L61)
137
+
138
+ Access a single file (relative to the working directory) for content assertions.
139
+
140
+ #### Parameters
141
+
142
+ | Parameter | Type |
143
+ | ------ | ------ |
144
+ | `path` | `string` |
145
+
146
+ #### Returns
147
+
148
+ [`FileAccessor`](../type-aliases/FileAccessor.md)
149
+
150
+ #### Inherited from
151
+
152
+ [`BaseResult`](BaseResult.md).[`file`](BaseResult.md#file)
153
+
154
+ ***
155
+
156
+ ### table()
157
+
158
+ ```ts
159
+ table(tableName, options?): TableAccessor;
160
+ ```
161
+
162
+ Defined in: [src/model/result/result.ts:86](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L86)
163
+
164
+ Access a database table for row-level assertions via expect() matchers.
165
+
166
+ #### Parameters
167
+
168
+ | Parameter | Type |
169
+ | ------ | ------ |
170
+ | `tableName` | `string` |
171
+ | `options?` | \{ `database?`: `string`; \} |
172
+ | `options.database?` | `string` |
173
+
174
+ #### Returns
175
+
176
+ [`TableAccessor`](TableAccessor.md)
177
+
178
+ #### Inherited from
179
+
180
+ [`BaseResult`](BaseResult.md).[`table`](BaseResult.md#table)
@@ -0,0 +1,46 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Interface: FilesystemAccessor
3
+
4
+ Defined in: [src/model/result/filesystem.ts:12](https://github.com/jterrazz/package-test/blob/main/src/model/result/filesystem.ts#L12)
5
+
6
+ Read-only accessor for the whole temporary working directory used by a
7
+ command spec.
8
+
9
+ Assertions go through `expect()` (async — they walk the disk):
10
+ `await expect(result.filesystem).toMatch('scaffolded')` compares the
11
+ tree against the fixture directory `_expected/<name>/`.
12
+
13
+ ## Properties
14
+
15
+ ### cwd
16
+
17
+ ```ts
18
+ readonly cwd: string;
19
+ ```
20
+
21
+ Defined in: [src/model/result/filesystem.ts:16](https://github.com/jterrazz/package-test/blob/main/src/model/result/filesystem.ts#L16)
22
+
23
+ The absolute path of the temporary working directory.
24
+
25
+ ## Methods
26
+
27
+ ### files()
28
+
29
+ ```ts
30
+ files(options?): Promise<string[]>;
31
+ ```
32
+
33
+ Defined in: [src/model/result/filesystem.ts:27](https://github.com/jterrazz/package-test/blob/main/src/model/result/filesystem.ts#L27)
34
+
35
+ List all files (recursively) under the working directory, sorted.
36
+
37
+ #### Parameters
38
+
39
+ | Parameter | Type |
40
+ | ------ | ------ |
41
+ | `options` | \{ `ignore?`: `string`[]; \} |
42
+ | `options.ignore?` | `string`[] |
43
+
44
+ #### Returns
45
+
46
+ `Promise`\<`string`[]\>
@@ -0,0 +1,126 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Interface: HttpResult
3
+
4
+ Defined in: [src/facets/api/api.result.ts:7](https://github.com/jterrazz/package-test/blob/main/src/facets/api/api.result.ts#L7)
5
+
6
+ Result from an HTTP action (.request(), .get(), .post(), .put(), .delete()).
7
+
8
+ ## Extends
9
+
10
+ - [`BaseResult`](BaseResult.md)
11
+
12
+ ## Accessors
13
+
14
+ ### response
15
+
16
+ #### Get Signature
17
+
18
+ ```ts
19
+ get response(): ResponseAccessor;
20
+ ```
21
+
22
+ Defined in: [src/facets/api/api.result.ts:20](https://github.com/jterrazz/package-test/blob/main/src/facets/api/api.result.ts#L20)
23
+
24
+ Access the HTTP response (status, headers, body) for assertions.
25
+
26
+ ##### Returns
27
+
28
+ [`ResponseAccessor`](ResponseAccessor.md)
29
+
30
+ ***
31
+
32
+ ### status
33
+
34
+ #### Get Signature
35
+
36
+ ```ts
37
+ get status(): number;
38
+ ```
39
+
40
+ Defined in: [src/facets/api/api.result.ts:25](https://github.com/jterrazz/package-test/blob/main/src/facets/api/api.result.ts#L25)
41
+
42
+ The HTTP response status code.
43
+
44
+ ##### Returns
45
+
46
+ `number`
47
+
48
+ ## Methods
49
+
50
+ ### directory()
51
+
52
+ ```ts
53
+ directory(path?): DirectoryAccessor;
54
+ ```
55
+
56
+ Defined in: [src/model/result/result.ts:55](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L55)
57
+
58
+ Access a directory (relative to the working directory) for snapshot assertions.
59
+
60
+ #### Parameters
61
+
62
+ | Parameter | Type | Default value |
63
+ | ------ | ------ | ------ |
64
+ | `path` | `string` | `'.'` |
65
+
66
+ #### Returns
67
+
68
+ [`DirectoryAccessor`](DirectoryAccessor.md)
69
+
70
+ #### Inherited from
71
+
72
+ [`BaseResult`](BaseResult.md).[`directory`](BaseResult.md#directory)
73
+
74
+ ***
75
+
76
+ ### file()
77
+
78
+ ```ts
79
+ file(path): FileAccessor;
80
+ ```
81
+
82
+ Defined in: [src/model/result/result.ts:61](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L61)
83
+
84
+ Access a single file (relative to the working directory) for content assertions.
85
+
86
+ #### Parameters
87
+
88
+ | Parameter | Type |
89
+ | ------ | ------ |
90
+ | `path` | `string` |
91
+
92
+ #### Returns
93
+
94
+ [`FileAccessor`](../type-aliases/FileAccessor.md)
95
+
96
+ #### Inherited from
97
+
98
+ [`BaseResult`](BaseResult.md).[`file`](BaseResult.md#file)
99
+
100
+ ***
101
+
102
+ ### table()
103
+
104
+ ```ts
105
+ table(tableName, options?): TableAccessor;
106
+ ```
107
+
108
+ Defined in: [src/model/result/result.ts:86](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L86)
109
+
110
+ Access a database table for row-level assertions via expect() matchers.
111
+
112
+ #### Parameters
113
+
114
+ | Parameter | Type |
115
+ | ------ | ------ |
116
+ | `tableName` | `string` |
117
+ | `options?` | \{ `database?`: `string`; \} |
118
+ | `options.database?` | `string` |
119
+
120
+ #### Returns
121
+
122
+ [`TableAccessor`](TableAccessor.md)
123
+
124
+ #### Inherited from
125
+
126
+ [`BaseResult`](BaseResult.md).[`table`](BaseResult.md#table)
@@ -0,0 +1,46 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Interface: JsonAccessor\<Value\>
3
+
4
+ Defined in: [src/model/result/json.ts:19](https://github.com/jterrazz/package-test/blob/main/src/model/result/json.ts#L19)
5
+
6
+ Read-only accessor for a JSON payload parsed from a text stream (stdout).
7
+
8
+ Lazily parses the JSON on first use; parse errors are deferred until the
9
+ value is read so that callers can still read the raw stream text without
10
+ triggering a throw.
11
+
12
+ ANSI escape sequences are stripped by default before `JSON.parse`
13
+ (CONVENTIONS D6). When a `transform` is configured on the spec runner, it
14
+ runs on the stripped text — an escape hatch for application noise not
15
+ covered by the `{{token}}` grammar.
16
+
17
+ Assertions go through `expect()`: `expect(result.json).toMatch('name.json')`
18
+ (deep-equal against `_expected/<name>`, with `{{placeholder}}` support).
19
+
20
+ ## Type Parameters
21
+
22
+ | Type Parameter | Default type |
23
+ | ------ | ------ |
24
+ | `Value` | `unknown` |
25
+
26
+ ## Accessors
27
+
28
+ ### value
29
+
30
+ #### Get Signature
31
+
32
+ ```ts
33
+ get value(): Value;
34
+ ```
35
+
36
+ Defined in: [src/model/result/json.ts:48](https://github.com/jterrazz/package-test/blob/main/src/model/result/json.ts#L48)
37
+
38
+ The parsed JSON value. Throws if the text is not valid JSON.
39
+
40
+ `Value` is `unknown` unless the subject that produced this accessor
41
+ knows better — `.call<T>()` does, and hands its T straight through so a
42
+ one-field reading needs no cast in the test.
43
+
44
+ ##### Returns
45
+
46
+ `Value`