[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Type](https://evolu.dev/docs/api-reference/common/Type) › minEntries

```ts
function minEntries<Min extends number>(
  min: ValidateBrandFactoryCount<Min>,
): <ParentType>(
  parent: EntriesParent<`MinEntries${Min}`, ParentType>,
) => BrandType<ParentType, `MinEntries${Min}`, MinEntriesError<Min>>;
```

Defined in: [packages/common/src/Type.ts:16418](https://github.com/evoluhq/evolu/blob/bc4578a260dd15d5bbf94b83765ca05984d194cb/packages/common/src/Type.ts#L16418)

Minimum entry count [Brand](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand) for [record](https://evolu.dev/docs/api-reference/common/Type/functions/record) and [object](https://evolu.dev/docs/api-reference/common/Type/functions/object) Outputs
with at least `min` entries.

Counts the own enumerable string keys of the Output, which are exactly the
entries of a Record or Object Output. Absent optional properties are not
counted. Array, typed array, DataView, Set, Map, ArrayBuffer, Date, and
Function parents are rejected at compile time; use [minLength](https://evolu.dev/docs/api-reference/common/Type/functions/minLength) for
arrays.

### Example

```ts
import {
  assertEqual,
  assertErr,
  assertOk,
  minEntries,
  Number,
  record,
  String,
} from "@evolu/common";

const Scores = minEntries(1)(record(String, Number));

assertOk(Scores.fromUnknown({ ada: 10 }), { ada: 10 });

const invalid = Scores.fromUnknown({});
assertErr(invalid, { type: "MinEntries1", value: {}, min: 1 });
assertEqual(
  Scores.formatError(invalid.error),
  "The value {} does not meet the minimum entry count of 1.",
);
```