MiniProgramManifest constructor

  1. @JsonSerializable.new(checked: true, explicitToJson: true)
  2. @Assert.new("screenFormat != 'mp' || screenSchemaVersion != null", 'screenSchemaVersion is required when screenFormat is "mp".')
  3. @Assert.new('screenSchemaVersion == null || screenSchemaVersion > 0', 'screenSchemaVersion must be greater than zero when provided.')
const MiniProgramManifest({
  1. required String id,
  2. required String version,
  3. required String entry,
  4. required String contractVersion,
  5. @SdkVersionRangeConverter() required SdkVersionRange sdkVersionRange,
  6. @CapabilityIdListConverter() required List<CapabilityId> requiredCapabilities,
  7. @MiniProgramScreenFormatConverter() @Default.new(MiniProgramScreenFormats.mp) MiniProgramScreenFormat screenFormat,
  8. @Default.new(1) int? screenSchemaVersion,
  9. @Default.new(<FeatureFlagKey>[]) List<CapabilityId> featureFlags,
  10. @Default.new(MiniProgramCachePolicy()) MiniProgramCachePolicy cachePolicy,
  11. MiniProgramFallback? fallback,
})

Implementation

@JsonSerializable(checked: true, explicitToJson: true)
@Assert(
  "screenFormat != 'mp' || screenSchemaVersion != null",
  'screenSchemaVersion is required when screenFormat is "mp".',
)
@Assert(
  'screenSchemaVersion == null || screenSchemaVersion > 0',
  'screenSchemaVersion must be greater than zero when provided.',
)
const factory MiniProgramManifest({
  required String id,
  required String version,
  required String entry,
  required String contractVersion,
  @SdkVersionRangeConverter() required SdkVersionRange sdkVersionRange,
  @CapabilityIdListConverter()
  required List<CapabilityId> requiredCapabilities,
  @MiniProgramScreenFormatConverter()
  @Default(MiniProgramScreenFormats.mp)
  MiniProgramScreenFormat screenFormat,
  @Default(1) int? screenSchemaVersion,
  @Default(<FeatureFlagKey>[]) List<FeatureFlagKey> featureFlags,
  @Default(MiniProgramCachePolicy()) MiniProgramCachePolicy cachePolicy,
  MiniProgramFallback? fallback,
}) = _MiniProgramManifest;