UNPKG

@palmares/databases

Version:

Add support for working with databases with palmares framework

89 lines (85 loc) 3.05 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/engine/query/ordering.ts var ordering_exports = {}; __export(ordering_exports, { AdapterOrderingQuery: () => AdapterOrderingQuery, adapterOrderingQuery: () => adapterOrderingQuery }); module.exports = __toCommonJS(ordering_exports); // src/engine/exceptions.ts var NotImplementedAdapterException = class _NotImplementedAdapterException extends Error { static { __name(this, "NotImplementedAdapterException"); } constructor(methodName) { super(`Method ${methodName} was not implemented in your Adapter, it should be in order to fully work.`); this.name = _NotImplementedAdapterException.name; } }; // src/engine/query/ordering.ts function adapterOrderingQuery(args) { let CustomAdapterOrderingQuery = class CustomAdapterOrderingQuery extends AdapterOrderingQuery { static { __name(this, "CustomAdapterOrderingQuery"); } parseOrdering = args.parseOrdering; }; return CustomAdapterOrderingQuery; } __name(adapterOrderingQuery, "adapterOrderingQuery"); var AdapterOrderingQuery = class { static { __name(this, "AdapterOrderingQuery"); } /** * Ordering the query is as simple as passing an array of string, each string contains the name of the field alongside * a `-` if it's descending. * * - `['name']` - Order by name ascending. * - `['-name']` - Order by name descending. * * A simple Sequelize example would be: * @example * ```ts * import { Order } from 'sequelize'; * * function async parseOrdering(ordering): Promise<Order> => { * return ordering.map((order) => { * const isDescending = order.startsWith('-'); * return [isDescending ? order.slice(1) : order, isDescending ? 'DESC' : 'ASC']; * }); * } * ``` * * @param _ordering - The ordering to parse. * * @returns - Returns the parsed ordering to be used on your query. */ // eslint-disable-next-line ts/require-await async parseOrdering(_modelInstance, _ordering) { throw new NotImplementedAdapterException("parseOrdering"); } }; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { AdapterOrderingQuery, adapterOrderingQuery });