FlowExperimentClientContractV1 constructor
FlowExperimentClientContractV1({
- required Surface surfaceType,
- required FlowDeliveryMode deliveryMode,
- required FlowExperimentDescriptor descriptor,
- required List<
FlowExperimentDocumentContract> documents, - required InstalledCapability installedCapability,
- required List<
FlowActionBindingFingerprint> actionBindings, - required List<
String> installedSignals,
Creates and validates a complete baseline closure and capability snapshot.
Implementation
factory FlowExperimentClientContractV1({
required Surface surfaceType,
required FlowDeliveryMode deliveryMode,
required FlowExperimentDescriptor descriptor,
required List<FlowExperimentDocumentContract> documents,
required InstalledCapability installedCapability,
required List<FlowActionBindingFingerprint> actionBindings,
required List<String> installedSignals,
}) {
_checkIdentifier(descriptor.id, r'$.descriptor.id');
_checkPositiveInt(descriptor.version, r'$.descriptor.version');
_checkPositiveInt(descriptor.minClient, r'$.descriptor.minClient');
final canonicalDocuments = _canonicalDocuments(documents);
final canonicalInstalled =
_canonicalInstalledCapability(installedCapability);
final canonicalActions = _canonicalActionBindings(actionBindings);
final canonicalSignals = _canonicalSignals(installedSignals);
_checkCompleteBaselineClosure(
surfaceType: surfaceType,
deliveryMode: deliveryMode,
descriptor: descriptor,
documents: canonicalDocuments,
);
return FlowExperimentClientContractV1._(
surfaceType: surfaceType,
deliveryMode: deliveryMode,
descriptor: descriptor,
documents: canonicalDocuments,
installedCapability: canonicalInstalled,
actionBindings: canonicalActions,
installedSignals: canonicalSignals,
);
}