You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Breaking.RequestMaterializer, RequestCaseArbitrary and ResponseCaseArbitrary no longer accept their @internal collaborators as
constructor parameters (#53). Every one had a default and nothing in the
package, its tests, its examples or its documentation ever passed one, so no
documented usage changes — but the signature published a type the package
does not support overriding. RequestMaterializer keeps $baseUri, now its
third parameter; withBaseUri() is the documented way to set it either way.
SecuritySelector is @api. It was marked @internal while the README
showed a snippet constructing it to materialize a request outside a suite;
the snippet is the contract, and the class only ever exposed public types.
The seven parameter misuse categories of NegativeRequestCaseArbitrary no
longer restate the path/query/header/cookie handling and the full case shape
once each: one parameter() helper writes the target's value through a
single location map, and one imported psalm type describes the case. A
location can now be mishandled in exactly one place.
Helpers that were carried verbatim in several classes are shared: MediaType (normalization and the JSON test, nine call sites), SchemaShape (array/object schema, three copies), WireValue (the scalar
wire spelling, four copies with four different failure wordings), and ConstructibleCategories (drop the misuse categories a document does not
admit, then choose uniformly — two copies).
ResponseCaseArbitrary discovers the JSON media type of a response once
instead of once per caller; each caller still words its own "no JSON media
type" failure.
Removed a re-check of is_string() in ContainerArbitraries that the loop
above already enforced, and the single-use withValue() wrapper in RequestMaterializer.
README (EN/RU) carries the sections the package conventions require:
Requirements, Examples, Development and License, plus the llms.txt pointer
and a Psalm-level badge.
examples/README.md lists the scripts as a table and says how to run them.