/**
* @module core
* @description Core module for the Decaf TypeScript framework
* @summary This module provides the foundational components of the Decaf framework, including identity management,
* model definitions, repository patterns, persistence layer, query building, and utility functions.
* It exports functionality from various submodules and sets up the injectable registry for repository decorators.
*/
import "./overrides";
import { InjectablesRegistry } from "./repository/injectables";
import { Injectables } from "@decaf-ts/injectable-decorators";
import { Metadata } from "@decaf-ts/decoration";
// overrides the previous Injectables registry to enable the @repository decorator
Injectables.setRegistry(new InjectablesRegistry());
// exported first on purpose
export * from "./overrides";
export * from "./repository";
export * from "./auth";
export * from "./identity";
export * from "./interfaces";
export * from "./model";
export * from "./query";
export * from "./services";
export * from "./tasks";
export * from "./utils";
// commented out
// export * from "./ram";
export * from "./migrations";
//left to last on purpose
export * from "./persistence";
/**
* @description Stores the current package version
* @summary A constant representing the version of the core package
* @const VERSION
* @memberOf module:core
*/
export const VERSION = "##VERSION##";
/**
* @description Represents the current commit hash of the module build.
* @summary Stores the current git commit hash for the package. The build replaces
* the placeholder with the actual commit hash at publish time.
* @const COMMIT
*/
export const COMMIT = "##COMMIT##";
/**
* @description Represents the full version string of the module.
* @summary Stores the semver version and commit hash for the package.
* The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
* @const FULL_VERSION
*/
export const FULL_VERSION = "##FULL_VERSION##";
/**
* @description Stores the current package version
* @summary A constant representing the version of the core package
* @const PACKAGE_NAME
* @memberOf module:core
*/
export const PACKAGE_NAME = "##PACKAGE##";
Metadata.registerLibrary(PACKAGE_NAME, VERSION);
Source