UNPKG

@versatiledatakit/shared

Version:

Versatile Data Kit Shared library enables reusability of shared features like: NgRx Redux, Error Handlers, Utils, Generic Components, etc.

128 lines 12.1 kB
/* * Copyright 2023-2025 Broadcom * SPDX-License-Identifier: Apache-2.0 */ import { CollectionsUtil } from '../../../utils'; /** * ** Request Page DTO. */ export class RequestPageImpl { constructor(page, size) { this.page = page ?? 1; this.size = size ?? 25; } /** * ** Factory method. */ static of(page, size) { return new RequestPageImpl(page, size); } /** * ** Factory method for empty RequestPageDTO. */ static empty() { return new RequestPageImpl(null, null); } /** * ** Creates DTO from literal. */ static fromLiteral(literalDTO) { return RequestPageImpl.of(literalDTO.pageNumber, literalDTO.pageSize); } /** * @inheritDoc */ toLiteral() { return { pageNumber: this.page ?? 1, pageSize: this.size ?? 25 }; } /** * @inheritDoc */ toLiteralCloneDeep() { return this.toLiteral(); } } /** * ** Request Order DTO. */ export class RequestOrderImpl { constructor(...criteria) { // eslint-disable-next-line @typescript-eslint/unbound-method this.criteria = [...criteria.filter(CollectionsUtil.isDefined)]; } /** * ** Factory method. */ static of(...criteria) { return new RequestOrderImpl(...criteria); } /** * ** Factory method for empty RequestOrderDTO. */ static empty() { return new RequestOrderImpl(); } /** * ** Creates DTO from literal. */ static fromLiteral(literalCriteria) { return RequestOrderImpl.of(...literalCriteria); } /** * @inheritDoc */ toLiteral() { return [...this.criteria]; } /** * @inheritDoc */ toLiteralCloneDeep() { return this.criteria.map((c) => ({ ...c })); } } /** * ** Request Filter DTO. */ export class RequestFilterImpl { constructor(...criteria) { // eslint-disable-next-line @typescript-eslint/unbound-method this.criteria = [...criteria.filter(CollectionsUtil.isDefined)]; } /** * ** Factory method. */ static of(...criteria) { return new RequestFilterImpl(...criteria); } /** * ** Factory method for empty RequestFilterDTO. */ static empty() { return new RequestFilterImpl(); } /** * ** Creates DTO from literal. */ static fromLiteral(literalCriteria) { return RequestFilterImpl.of(...literalCriteria); } /** * @inheritDoc */ toLiteral() { return [...this.criteria]; } /** * @inheritDoc */ toLiteralCloneDeep() { return this.criteria.map((c) => ({ ...c })); } } export const ASC = 'ASC'; export const DESC = 'DESC'; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL2NvbW1vbi9odHRwL3JlcXVlc3QvcmVxdWVzdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFHSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFXakQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQUl4QixZQUFZLElBQVksRUFBRSxJQUFZO1FBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFZLEVBQUUsSUFBWTtRQUNoQyxPQUFPLElBQUksZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsS0FBSztRQUNSLE9BQU8sSUFBSSxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQUMsVUFBb0Q7UUFDbkUsT0FBTyxlQUFlLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDTCxPQUFPO1lBQ0gsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQztZQUMxQixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO1NBQzVCLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQkFBa0I7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBQ0o7QUFRRDs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFHekIsWUFBWSxHQUFHLFFBQXdCO1FBQ25DLDZEQUE2RDtRQUM3RCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUF3QjtRQUNqQyxPQUFPLElBQUksZ0JBQWdCLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsS0FBSztRQUNSLE9BQU8sSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQUMsZUFBb0M7UUFDbkQsT0FBTyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ0wsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQjtRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBQ0o7QUFRRDs7R0FFRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUFHMUIsWUFBWSxHQUFHLFFBQXdCO1FBQ25DLDZEQUE2RDtRQUM3RCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUF3QjtRQUNqQyxPQUFPLElBQUksaUJBQWlCLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsS0FBSztRQUNSLE9BQU8sSUFBSSxpQkFBaUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQUMsZUFBb0M7UUFDbkQsT0FBTyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ0wsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQjtRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBQ0o7QUFNRCxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDO0FBQ3pCLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjMtMjAyNSBCcm9hZGNvbVxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5pbXBvcnQgeyBMaXRlcmFsIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uc1V0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5cbi8vIFBhZ2UgRFRPXG5cbmV4cG9ydCB0eXBlIExpdGVyYWxSZXF1ZXN0UGFnZSA9IHsgcGFnZU51bWJlcjogbnVtYmVyOyBwYWdlU2l6ZTogbnVtYmVyIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdFBhZ2UgZXh0ZW5kcyBMaXRlcmFsPExpdGVyYWxSZXF1ZXN0UGFnZT4ge1xuICAgIHJlYWRvbmx5IHBhZ2U6IG51bWJlcjtcbiAgICByZWFkb25seSBzaXplOiBudW1iZXI7XG59XG5cbi8qKlxuICogKiogUmVxdWVzdCBQYWdlIERUTy5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlcXVlc3RQYWdlSW1wbCBpbXBsZW1lbnRzIFJlcXVlc3RQYWdlIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgcGFnZTogbnVtYmVyO1xuICAgIHB1YmxpYyByZWFkb25seSBzaXplOiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihwYWdlOiBudW1iZXIsIHNpemU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnBhZ2UgPSBwYWdlID8/IDE7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHNpemUgPz8gMjU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogKiogRmFjdG9yeSBtZXRob2QuXG4gICAgICovXG4gICAgc3RhdGljIG9mKHBhZ2U6IG51bWJlciwgc2l6ZTogbnVtYmVyKTogUmVxdWVzdFBhZ2VJbXBsIHtcbiAgICAgICAgcmV0dXJuIG5ldyBSZXF1ZXN0UGFnZUltcGwocGFnZSwgc2l6ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogKiogRmFjdG9yeSBtZXRob2QgZm9yIGVtcHR5IFJlcXVlc3RQYWdlRFRPLlxuICAgICAqL1xuICAgIHN0YXRpYyBlbXB0eSgpOiBSZXF1ZXN0UGFnZUltcGwge1xuICAgICAgICByZXR1cm4gbmV3IFJlcXVlc3RQYWdlSW1wbChudWxsLCBudWxsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAqKiBDcmVhdGVzIERUTyBmcm9tIGxpdGVyYWwuXG4gICAgICovXG4gICAgc3RhdGljIGZyb21MaXRlcmFsKGxpdGVyYWxEVE86IHsgcGFnZU51bWJlcjogbnVtYmVyOyBwYWdlU2l6ZTogbnVtYmVyIH0pOiBSZXF1ZXN0UGFnZUltcGwge1xuICAgICAgICByZXR1cm4gUmVxdWVzdFBhZ2VJbXBsLm9mKGxpdGVyYWxEVE8ucGFnZU51bWJlciwgbGl0ZXJhbERUTy5wYWdlU2l6ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICB0b0xpdGVyYWwoKTogTGl0ZXJhbFJlcXVlc3RQYWdlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHBhZ2VOdW1iZXI6IHRoaXMucGFnZSA/PyAxLFxuICAgICAgICAgICAgcGFnZVNpemU6IHRoaXMuc2l6ZSA/PyAyNVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgdG9MaXRlcmFsQ2xvbmVEZWVwKCk6IExpdGVyYWxSZXF1ZXN0UGFnZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvTGl0ZXJhbCgpO1xuICAgIH1cbn1cblxuLy8gT3JkZXIgRFRPXG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdE9yZGVyIGV4dGVuZHMgTGl0ZXJhbDxMaXRlcmFsQXBpUHJlZGljYXRlcz4ge1xuICAgIHJlYWRvbmx5IGNyaXRlcmlhOiBBcGlQcmVkaWNhdGVbXTtcbn1cblxuLyoqXG4gKiAqKiBSZXF1ZXN0IE9yZGVyIERUTy5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlcXVlc3RPcmRlckltcGwgaW1wbGVtZW50cyBSZXF1ZXN0T3JkZXIge1xuICAgIHB1YmxpYyByZWFkb25seSBjcml0ZXJpYTogQXBpUHJlZGljYXRlW107XG5cbiAgICBjb25zdHJ1Y3RvciguLi5jcml0ZXJpYTogQXBpUHJlZGljYXRlW10pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZFxuICAgICAgICB0aGlzLmNyaXRlcmlhID0gWy4uLmNyaXRlcmlhLmZpbHRlcihDb2xsZWN0aW9uc1V0aWwuaXNEZWZpbmVkKV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogKiogRmFjdG9yeSBtZXRob2QuXG4gICAgICovXG4gICAgc3RhdGljIG9mKC4uLmNyaXRlcmlhOiBBcGlQcmVkaWNhdGVbXSk6IFJlcXVlc3RPcmRlckltcGwge1xuICAgICAgICByZXR1cm4gbmV3IFJlcXVlc3RPcmRlckltcGwoLi4uY3JpdGVyaWEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICoqIEZhY3RvcnkgbWV0aG9kIGZvciBlbXB0eSBSZXF1ZXN0T3JkZXJEVE8uXG4gICAgICovXG4gICAgc3RhdGljIGVtcHR5KCk6IFJlcXVlc3RPcmRlckltcGwge1xuICAgICAgICByZXR1cm4gbmV3IFJlcXVlc3RPcmRlckltcGwoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAqKiBDcmVhdGVzIERUTyBmcm9tIGxpdGVyYWwuXG4gICAgICovXG4gICAgc3RhdGljIGZyb21MaXRlcmFsKGxpdGVyYWxDcml0ZXJpYTogQXJyYXk8QXBpUHJlZGljYXRlPik6IFJlcXVlc3RPcmRlckltcGwge1xuICAgICAgICByZXR1cm4gUmVxdWVzdE9yZGVySW1wbC5vZiguLi5saXRlcmFsQ3JpdGVyaWEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgdG9MaXRlcmFsKCk6IExpdGVyYWxBcGlQcmVkaWNhdGVzIHtcbiAgICAgICAgcmV0dXJuIFsuLi50aGlzLmNyaXRlcmlhXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHRvTGl0ZXJhbENsb25lRGVlcCgpOiBMaXRlcmFsQXBpUHJlZGljYXRlcyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyaXRlcmlhLm1hcCgoYykgPT4gKHsgLi4uYyB9KSk7XG4gICAgfVxufVxuXG4vLyBGaWx0ZXIgRFRPXG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdEZpbHRlciBleHRlbmRzIExpdGVyYWw8TGl0ZXJhbEFwaVByZWRpY2F0ZXM+IHtcbiAgICByZWFkb25seSBjcml0ZXJpYTogQXBpUHJlZGljYXRlW107XG59XG5cbi8qKlxuICogKiogUmVxdWVzdCBGaWx0ZXIgRFRPLlxuICovXG5leHBvcnQgY2xhc3MgUmVxdWVzdEZpbHRlckltcGwgaW1wbGVtZW50cyBSZXF1ZXN0RmlsdGVyIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY3JpdGVyaWE6IEFwaVByZWRpY2F0ZVtdO1xuXG4gICAgY29uc3RydWN0b3IoLi4uY3JpdGVyaWE6IEFwaVByZWRpY2F0ZVtdKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvdW5ib3VuZC1tZXRob2RcbiAgICAgICAgdGhpcy5jcml0ZXJpYSA9IFsuLi5jcml0ZXJpYS5maWx0ZXIoQ29sbGVjdGlvbnNVdGlsLmlzRGVmaW5lZCldO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICoqIEZhY3RvcnkgbWV0aG9kLlxuICAgICAqL1xuICAgIHN0YXRpYyBvZiguLi5jcml0ZXJpYTogQXBpUHJlZGljYXRlW10pOiBSZXF1ZXN0RmlsdGVySW1wbCB7XG4gICAgICAgIHJldHVybiBuZXcgUmVxdWVzdEZpbHRlckltcGwoLi4uY3JpdGVyaWEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICoqIEZhY3RvcnkgbWV0aG9kIGZvciBlbXB0eSBSZXF1ZXN0RmlsdGVyRFRPLlxuICAgICAqL1xuICAgIHN0YXRpYyBlbXB0eSgpOiBSZXF1ZXN0RmlsdGVySW1wbCB7XG4gICAgICAgIHJldHVybiBuZXcgUmVxdWVzdEZpbHRlckltcGwoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAqKiBDcmVhdGVzIERUTyBmcm9tIGxpdGVyYWwuXG4gICAgICovXG4gICAgc3RhdGljIGZyb21MaXRlcmFsKGxpdGVyYWxDcml0ZXJpYTogQXJyYXk8QXBpUHJlZGljYXRlPik6IFJlcXVlc3RGaWx0ZXJJbXBsIHtcbiAgICAgICAgcmV0dXJuIFJlcXVlc3RGaWx0ZXJJbXBsLm9mKC4uLmxpdGVyYWxDcml0ZXJpYSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICB0b0xpdGVyYWwoKTogTGl0ZXJhbEFwaVByZWRpY2F0ZXMge1xuICAgICAgICByZXR1cm4gWy4uLnRoaXMuY3JpdGVyaWFdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgdG9MaXRlcmFsQ2xvbmVEZWVwKCk6IExpdGVyYWxBcGlQcmVkaWNhdGVzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JpdGVyaWEubWFwKChjKSA9PiAoeyAuLi5jIH0pKTtcbiAgICB9XG59XG5cbi8vIEdlbmVyaWMgUHJlZGljYXRlIGZvciBBUElcblxuZXhwb3J0IHR5cGUgTGl0ZXJhbEFwaVByZWRpY2F0ZXMgPSBBcnJheTxBcGlQcmVkaWNhdGU+O1xuXG5leHBvcnQgY29uc3QgQVNDID0gJ0FTQyc7XG5leHBvcnQgY29uc3QgREVTQyA9ICdERVNDJztcbmV4cG9ydCB0eXBlIERpcmVjdGlvblR5cGUgPSB0eXBlb2YgQVNDIHwgdHlwZW9mIERFU0M7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBpUHJlZGljYXRlIHtcbiAgICByZWFkb25seSBwcm9wZXJ0eTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBhdHRlcm46IHN0cmluZztcbiAgICByZWFkb25seSBzb3J0OiBEaXJlY3Rpb25UeXBlO1xufVxuIl19