isar library

Extremely fast, easy to use, and fully async NoSQL database for Flutter.

Classes

AndGroup
Logical AND.
BetweenCondition
Filter matching values between the bounds.
Collection
Annotation to create an Isar collection.
CompactCondition
Isar databases can contain unused space that will be reused for later operations. You can specify conditions to trigger manual compaction where the entire database is copied and unused space freed.
ContainsCondition
Filter matching String values containing the String.
DistinctProperty
Property used to filter duplicate values.
Embedded
Annotation to nest objects of this type in collections.
EndsWithCondition
Filter matching String values ending with the suffix.
EnumValue
Annotation to specify how an enum property should be serialized.
EqualCondition
Filter checking for equality.
GreaterCondition
Filter matching values greater than the bound.
GreaterOrEqualCondition
Filter matching values greater than of equal to the bound.
Index
Annotate properties to build an index.
Isar
An Isar database instance.
IsarCollection<ID, OBJ>
Use IsarCollection instances to find, query, and create new objects of a given type in Isar.
IsarIndexSchema
The schema of an index in Isar.
IsarPropertySchema
The schema of a property in Isar.
IsarQuery<T>
Querying is how you find records that match certain conditions.
IsarSchema
The schema of a collection in Isar.
IsNullCondition
Filter matching values that are null.
LessCondition
Filter matching values smaller than the bound.
LessOrEqualCondition
Filter matching values smaller than or equal to the bound.
MatchesCondition
Filter matching String values matching the wildcard.
Name
Annotate Isar collections or properties to change their name.
NotGroup
Logical NOT.
ObjectFilter
Filter condition based on an embedded object.
OrGroup
Logical OR.
QueryBuilder<OBJ, R, S>
Query builders are used to create queries in a safe way.
SortProperty
Property used to sort query results.
StartsWithCondition
Filter matching String values starting with the prefix.

Enums

IsarEngine
The Isar storage engine.
IsarType
Supported Isar property types.
Sort
Sort order

Extensions

CollectionAsync on IsarCollection<ID, OBJ>
Asychronous extensions for IsarCollection.
QueryAsync on IsarQuery<T>
Asynchronous operations for queries.
QueryDateAggregation on IsarQuery<T>
Aggregation operations for date queries.
QueryExecute on QueryBuilder<OBJ, R, QOperations>
Operations for query builders.
QueryExecuteDateAggregation on QueryBuilder<OBJ, DateTime?, QAfterProperty>
Aggregation operations for date query builders.
QueryExecuteNumAggregation on QueryBuilder<OBJ, T?, QAfterProperty>
Aggregation operations for number query builders.
QueryExecuteStringAggregation on QueryBuilder<OBJ, String?, QAfterProperty>
Aggregation operations for string query builders.
QueryFilterAndOr on QueryBuilder<OBJ, R, QFilterOperator>
Logical operators for query builders.
QueryFilterNotAnyAll on QueryBuilder<OBJ, R, QFilterCondition>
Filter groups, logical not, anyOf, and allOf modifiers for query builders.
QueryModifier on QueryBuilder<OBJ, OBJ, S>
Optional query modifier.
QueryNumAggregation on IsarQuery<T?>
Aggregation operations for number queries.
QueryStringAggregation on IsarQuery<T?>
Aggregation operations for string queries.

Constants

collection → const Collection
Annotation to create an Isar collection.
embedded → const Embedded
Annotation to nest objects of this type in collections.
enumValue → const EnumValue
Annotation to specify how an enum property should be serialized.
id → const Id
Annotate the property or accessor in an Isar collection that should be used as the primary key.
ignore → const Ignore
Annotate a property or accessor in an Isar collection to ignore it.
index → const Index
Annotate properties to build an index.
utc → const Utc
By default Isar returns DateTime values in the local timezone. If you want to receive UTC DateTime values instead, annotate the property or accessor with @utc.

Typedefs

byte = int
Type to mark an int property or List as 8-bit sized.
float = double
Type to mark a double property or List to have 32-bit precision.
short = int
Type to mark an int property or List as 32-bit sized.

Exceptions / Errors

DatabaseError
Unknown error returned by the database engine.
DatabaseFullError
The database is full.
EncryptionError
Something went wrong during encryption/decryption. Most likely the encryption key is wrong.
InstanceMismatchError
Invalid Isar instance.
IsarError
Superclass of all Isar errors.
IsarNotReadyError
Isar has not been initialized correctly.
ObjectLimitReachedError
The object is too large to be stored in Isar.
PathError
Invalid or protected path error.
VersionError
Database file is incompatible with this version of Isar.
WriteTxnRequiredError
An active write transaction is required for this operation.