UNPKG

@hashgraph/solo

Version:

An opinionated CLI tool to deploy and manage private Hedera Networks.

19 lines (18 loc) 1.16 kB
import { type SchemaDefinition } from './schema-definition.js'; import { type SchemaMigration } from './schema-migration.js'; import { SemanticVersion } from '../../../../business/utils/semantic-version.js'; import { type ClassConstructor } from '../../../../business/utils/class-constructor.type.js'; import { type ObjectMapper } from '../../../mapper/api/object-mapper.js'; export declare abstract class SchemaDefinitionBase<T> implements SchemaDefinition<T> { protected readonly mapper: ObjectMapper; abstract get classConstructor(): ClassConstructor<T>; abstract get migrations(): SchemaMigration[]; abstract get name(): string; abstract get version(): SemanticVersion<number>; protected constructor(mapper: ObjectMapper); transform(data: object, sourceVersion?: SemanticVersion<number>): Promise<T>; validateMigrations(): Promise<void>; protected nextVersionJump(currentVersion: SemanticVersion<number>): SemanticVersion<number>; protected applyMigrations(data: object, dataVersion: SemanticVersion<number>): Promise<object>; protected findMigrations(dataVersion: SemanticVersion<number>): SchemaMigration[]; }