@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
JavaScript
/*
* 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