Type guard validating a VWR product search response. Requires a products array whose
entries each carry at least a code and a baseProduct id (other fields are tolerated).
Type guard validating a VWR ordertable (product detail) response. Requires a productRows
array whose entries each carry at least a code and catalogNumber.
Type guard validating a VWR asset-references response. Requires an assetReferences array
whose entries each carry a url (the assetType and language fields are tolerated).
Type guard validating a VWR chemical substance response. Requires a substanceAttributes
array whose entries each carry a code, name, and value.
Type guard validating a VWR chemical specification response (a flat array of {name, result}).
Type guard validating a VWR anonymous stock-availability response. Requires the nested
articleAvailabilityDetails.articleAvailabilityDetail array of per-catalog-number availability.
Type guard validating a VWR OAuth token response. Requires a bearer
access_token, atoken_type, and a numericexpires_inlifetime.