@ngageoint/geopackage
Version:
GeoPackage JavaScript Library
76 lines (75 loc) • 2.93 kB
TypeScript
import { Extension } from './extension';
import { Dao } from '../dao/dao';
import { DBValue } from '../db/dbAdapter';
/**
* Extension Data Access Object
* @class
* @extends Dao
*/
export declare class ExtensionDao extends Dao<Extension> {
static readonly TABLE_NAME: string;
static readonly COLUMN_TABLE_NAME: string;
static readonly COLUMN_COLUMN_NAME: string;
static readonly COLUMN_EXTENSION_NAME: string;
static readonly COLUMN_DEFINITION: string;
static readonly COLUMN_SCOPE: string;
readonly gpkgTableName: string;
readonly idColumns: string[];
/**
* Creates an Extension object from the raw database row
* @param {object} row raw database row
* @returns {Extension}
*/
createObject(row: Record<string, DBValue>): Extension;
/**
* Query by extension name and return the first result
* @param {String} extensionName extension name
* @returns {Extension}
*/
queryByExtension(extensionName: string): Extension;
/**
* Query by extension name and return all results
* @param {String} extensionName extension name
* @returns {Extension[]}
*/
queryAllByExtension(extensionName: string): Extension[];
/**
* Query by extension name and table name and return all results
* @param {String} extensionName extension name
* @param {String} tableName table name
* @returns {Extension[]}
*/
queryByExtensionAndTableName(extensionName: string, tableName: string): Extension[];
/**
* Query by extension name and table name and return all results
* @param {String} extensionName extension name
* @param {String} tableName table name
* @param {String} columnName column name
* @returns {Extension[]}
*/
queryByExtensionAndTableNameAndColumnName(extensionName: string, tableName: string, columnName: string): Extension[];
/**
* Creates the extensions table
*/
createTable(): boolean;
/**
* Deletes all extension entries with this name
* @param {String} extensionName extension name to delete
* @returns {Number} Number of extensions deleted
*/
deleteByExtension(extensionName: string): number;
/**
* Deletes all extension entries with this name and table name
* @param {String} extensionName extension name to delete
* @param {String} tableName table name to delete
* @returns {Number} Number of extensions deleted
*/
deleteByExtensionAndTableName(extensionName: string, tableName: string): number;
/**
* Deletes all extension entries with this name and table name
* @param {String} extensionName extension name to delete
* @param {String} tableName table name to delete
* @returns {Number} Number of extensions deleted
*/
deleteByExtensionAndTableNameAndColumnName(extensionName: string, tableName: string, columnName: string): number;
}