registerArray method

JarFieldArrayController registerArray(
  1. String name, {
  2. required JarObject itemSchema,
  3. JarArray<Map<String, dynamic>> arraySchema(
    1. JarArray<Map<String, dynamic>>
    )?,
  4. List<Map<String, dynamic>>? defaultItems,
})

Implementation

JarFieldArrayController registerArray(
  String name, {
  required JarObject itemSchema,
  JarArray<Map<String, dynamic>> Function(JarArray<Map<String, dynamic>>)?
      arraySchema,
  List<Map<String, dynamic>>? defaultItems,
}) {
  final existing = _arrays[name];
  if (existing != null) return existing;

  final baseSchema = Jar.array<Map<String, dynamic>>(itemSchema);
  final resolvedSchema =
      arraySchema != null ? arraySchema(baseSchema) : baseSchema;

  final array = JarFieldArrayController(
    form: this,
    name: name,
    itemSchema: itemSchema,
    schema: resolvedSchema,
    defaultItems: defaultItems,
  );
  _arrays[name] = array;

  _registerArrayField(name, resolvedSchema);
  array.init();
  syncArray(name);

  return array;
}