46 lines
1.9 KiB
JavaScript
46 lines
1.9 KiB
JavaScript
import { ensureInit } from "./functions/init";
|
|
import DbDelete from "./lib/mariadb/db-delete";
|
|
import DbInsert from "./lib/mariadb/db-insert";
|
|
import DbSelect from "./lib/mariadb/db-select";
|
|
import DbSQL from "./lib/mariadb/db-sql";
|
|
import DbUpdate from "./lib/mariadb/db-update";
|
|
import QueueAck from "./lib/queue/queue-ack";
|
|
import QueueCancel from "./lib/queue/queue-cancel";
|
|
import QueueClaim from "./lib/queue/queue-claim";
|
|
import QueueExtend from "./lib/queue/queue-extend";
|
|
import QueueFail from "./lib/queue/queue-fail";
|
|
import QueuePush from "./lib/queue/queue-push";
|
|
import grabDbSchema from "./utils/grab-db-schema";
|
|
import grabJoinFieldsFromQueryObject from "./utils/grab-join-fields-from-query-object";
|
|
/**
|
|
* Initialize lazily on first call, so importing the library never exits or
|
|
* throws. Setup errors (missing config / env) reject the call instead.
|
|
*/
|
|
function withInit(fn) {
|
|
return (async (...args) => {
|
|
ensureInit();
|
|
return fn(...args);
|
|
});
|
|
}
|
|
const BunMariaDB = {
|
|
select: withInit(DbSelect),
|
|
insert: withInit(DbInsert),
|
|
update: withInit(DbUpdate),
|
|
delete: withInit(DbDelete),
|
|
sql: withInit(DbSQL),
|
|
queue: {
|
|
push: withInit(QueuePush),
|
|
claim: withInit(QueueClaim),
|
|
ack: withInit(QueueAck),
|
|
fail: withInit(QueueFail),
|
|
extend: withInit(QueueExtend),
|
|
cancel: withInit(QueueCancel),
|
|
},
|
|
utils: {
|
|
grab_db_schema: withInit(grabDbSchema),
|
|
grab_join_fields_from_query_object: grabJoinFieldsFromQueryObject,
|
|
},
|
|
};
|
|
export default BunMariaDB;
|
|
export { UsersOmitedFields, MariaDBCollations, MariaDBCharsets, TextFieldTypesArray, BUN_MARIADB_DATATYPES, MariaDBIndexTypes, ServerQueryOperators, ServerQueryEqualities, SQlComparisons, DataCrudRequestMethods, DataCrudRequestMethodsLowerCase, DsqlCrudActions, QueryFields, DockerComposeServices, IndexTypes, DefaultFields, QueueStatuses, QueueFields, QueueProtectedFields, RequiredENVs, } from "./types";
|