@morozeckiy/dd-lib 0.1.13 → 0.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/core/pipes/filter.pipe.mjs +1 -6
- package/fesm2022/morozeckiy-dd-lib.mjs +0 -132
- package/fesm2022/morozeckiy-dd-lib.mjs.map +1 -1
- package/{morozeckiy-dd-lib-0.1.13.tgz → morozeckiy-dd-lib-0.1.15.tgz} +0 -0
- package/package.json +1 -1
- package/esm2022/lib/core/tools.mjs +0 -128
- package/lib/core/tools.d.ts +0 -16
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Pipe } from '@angular/core';
|
|
2
|
-
import { getProperty } from '../tools';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
export class FilterPipe {
|
|
5
4
|
transform(value, args) {
|
|
@@ -25,10 +24,6 @@ export class FilterByKeyPipe {
|
|
|
25
24
|
if (typeof fn === 'function') {
|
|
26
25
|
return arr.filter(fn);
|
|
27
26
|
}
|
|
28
|
-
else if (fn?.length) {
|
|
29
|
-
const [key, value] = fn;
|
|
30
|
-
return arr.filter((item) => getProperty(item, key) === value);
|
|
31
|
-
}
|
|
32
27
|
else if (fn) {
|
|
33
28
|
return arr.filter((item) => item === fn);
|
|
34
29
|
}
|
|
@@ -46,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
46
41
|
standalone: true,
|
|
47
42
|
}]
|
|
48
43
|
}] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9jb3JlL3BpcGVzL2ZpbHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRCxNQUFNLE9BQU8sVUFBVTtJQUNkLFNBQVMsQ0FBQyxLQUFZLEVBQUUsSUFBYTtRQUMxQyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDMUIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDOzhHQUxVLFVBQVU7NEdBQVYsVUFBVTs7MkZBQVYsVUFBVTtrQkFKdEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsUUFBUTtvQkFDZCxVQUFVLEVBQUUsSUFBSTtpQkFDakI7O0FBYUQsTUFBTSxPQUFPLGVBQWU7SUFDbkIsU0FBUyxDQUFDLEdBQVEsRUFBRSxFQUFPO1FBQ2hDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDakIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO1FBQ0QsSUFBSSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUM3QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEIsQ0FBQzthQUFNLElBQUksRUFBRSxFQUFFLENBQUM7WUFDZCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoRCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQztJQUNILENBQUM7OEdBWlUsZUFBZTs0R0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUozQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxhQUFhO29CQUNuQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2ZpbHRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogYW55W10sIGFyZ3M/OiBudW1iZXIpOiBhbnkge1xuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5maWx0ZXIoKGl0ZW0sIGkpID0+IGkgPT09IGFyZ3MpO1xuICAgIH1cbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmaWx0ZXJCeUtleScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckJ5S2V5UGlwZTxUPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwdWJsaWMgdHJhbnNmb3JtKGFycjogYW55LCBmbjogYW55KTogYW55W10ge1xuICAgIGlmICghYXJyPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBhcnI7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBhcnIuZmlsdGVyKGZuKTtcbiAgICB9IGVsc2UgaWYgKGZuKSB7XG4gICAgICByZXR1cm4gYXJyLmZpbHRlcigoaXRlbTogYW55KSA9PiBpdGVtID09PSBmbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBhcnI7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -666,134 +666,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
666
666
|
args: ['apiUrl']
|
|
667
667
|
}] }] });
|
|
668
668
|
|
|
669
|
-
function compare(field, order, ...args) {
|
|
670
|
-
let len = args.length;
|
|
671
|
-
if (len === 0) {
|
|
672
|
-
return (a, b) => (a < b && -1) || (a > b && 1) || 0;
|
|
673
|
-
}
|
|
674
|
-
if (len === 1) {
|
|
675
|
-
switch (typeof field) {
|
|
676
|
-
case 'number':
|
|
677
|
-
return field < 0
|
|
678
|
-
? (a, b) => (a < b && 1) || (a > b && -1) || 0
|
|
679
|
-
: (a, b) => (a < b && -1) || (a > b && 1) || 0;
|
|
680
|
-
case 'string':
|
|
681
|
-
return (a, b) => (a[field] ? a[field].toLowerCase() : '' < b[field] ? b[field].toLowerCase() : '' && -1) ||
|
|
682
|
-
(a[field] ? a[field].toLowerCase() : '' > b[field] ? b[field].toLowerCase() : '' && 1) ||
|
|
683
|
-
0;
|
|
684
|
-
}
|
|
685
|
-
}
|
|
686
|
-
if (field && len === 2 && typeof order === 'number') {
|
|
687
|
-
return order < 0
|
|
688
|
-
? (a, b) => (b[field] || '').toLowerCase().localeCompare((a[field] || '').toLowerCase())
|
|
689
|
-
: (a, b) => (a[field] || '').toLowerCase().localeCompare((b[field] || '').toLowerCase());
|
|
690
|
-
}
|
|
691
|
-
let fields;
|
|
692
|
-
let orders;
|
|
693
|
-
if (typeof field === 'object') {
|
|
694
|
-
fields = Object.getOwnPropertyNames(field);
|
|
695
|
-
orders = fields.map(key => field[key]);
|
|
696
|
-
len = fields.length;
|
|
697
|
-
}
|
|
698
|
-
else {
|
|
699
|
-
fields = new Array(len);
|
|
700
|
-
orders = new Array(len);
|
|
701
|
-
for (let i = len; i--;) {
|
|
702
|
-
fields[i] = args[i];
|
|
703
|
-
orders[i] = 1;
|
|
704
|
-
}
|
|
705
|
-
}
|
|
706
|
-
return (a, b) => {
|
|
707
|
-
for (let i = 0; i < len; i++) {
|
|
708
|
-
if (a[fields[i]].toLowerCase() < b[fields[i]].toLowerCase()) {
|
|
709
|
-
return orders[i];
|
|
710
|
-
}
|
|
711
|
-
if (a[fields[i]].toLowerCase() > b[fields[i]].toLowerCase()) {
|
|
712
|
-
return -orders[i];
|
|
713
|
-
}
|
|
714
|
-
}
|
|
715
|
-
return 0;
|
|
716
|
-
};
|
|
717
|
-
}
|
|
718
|
-
// export function parseDate(value) {
|
|
719
|
-
// if (value && value.length === 6) {
|
|
720
|
-
// const year = parseInt(value.slice(2, 6), 10);
|
|
721
|
-
// const month = parseInt(value.slice(0, 2), 10) - 1;
|
|
722
|
-
// return new Date(year, month);
|
|
723
|
-
// }
|
|
724
|
-
// }
|
|
725
|
-
function rndRgb() {
|
|
726
|
-
const x = Math.floor(Math.random() * 256);
|
|
727
|
-
const y = Math.floor(Math.random() * 256);
|
|
728
|
-
const z = Math.floor(Math.random() * 256);
|
|
729
|
-
return 'rgb(' + x + ',' + y + ',' + z + ')';
|
|
730
|
-
}
|
|
731
|
-
function setMinDate() {
|
|
732
|
-
let curYear = new Date().getFullYear();
|
|
733
|
-
let curMonth = new Date().getMonth();
|
|
734
|
-
const curDay = new Date().getDate();
|
|
735
|
-
if (curMonth < 6) {
|
|
736
|
-
curYear -= 1;
|
|
737
|
-
curMonth = curMonth - 6 + 12;
|
|
738
|
-
}
|
|
739
|
-
else {
|
|
740
|
-
curMonth -= 6;
|
|
741
|
-
}
|
|
742
|
-
return new Date(curYear, curMonth, curDay);
|
|
743
|
-
}
|
|
744
|
-
function isNil(value) {
|
|
745
|
-
return value === null || typeof value === 'undefined';
|
|
746
|
-
}
|
|
747
|
-
function isString(value) {
|
|
748
|
-
return typeof value === 'string';
|
|
749
|
-
}
|
|
750
|
-
function isObject(value) {
|
|
751
|
-
return value !== null && typeof value === 'object';
|
|
752
|
-
}
|
|
753
|
-
function getProperty(value, key) {
|
|
754
|
-
if (isNil(value) || !isObject(value)) {
|
|
755
|
-
return undefined;
|
|
756
|
-
}
|
|
757
|
-
const keys = key.split('.');
|
|
758
|
-
let result = value[keys.shift()];
|
|
759
|
-
for (const k of keys) {
|
|
760
|
-
if (isNil(result) || !isObject(result)) {
|
|
761
|
-
return undefined;
|
|
762
|
-
}
|
|
763
|
-
result = result[k];
|
|
764
|
-
}
|
|
765
|
-
return result;
|
|
766
|
-
}
|
|
767
|
-
function isMobile() {
|
|
768
|
-
return Android() || BlackBerry() || iOS() || Opera() || Windows();
|
|
769
|
-
}
|
|
770
|
-
function Android() {
|
|
771
|
-
return !!navigator.userAgent.match(/Android/i);
|
|
772
|
-
}
|
|
773
|
-
function BlackBerry() {
|
|
774
|
-
return !!navigator.userAgent.match(/BlackBerry/i);
|
|
775
|
-
}
|
|
776
|
-
function iOS() {
|
|
777
|
-
return !!navigator.userAgent.match(/iPhone|iPad|iPod/i);
|
|
778
|
-
}
|
|
779
|
-
function Opera() {
|
|
780
|
-
return !!navigator.userAgent.match(/Opera Mini/i);
|
|
781
|
-
}
|
|
782
|
-
function Windows() {
|
|
783
|
-
return !!navigator.userAgent.match(/IEMobile/i) || navigator.userAgent.match(/WPDesktop/i);
|
|
784
|
-
}
|
|
785
|
-
function dataURLtoFile(dataUrl, filename) {
|
|
786
|
-
const arr = dataUrl.split(',');
|
|
787
|
-
const mime = arr[0].match(/:(.*?);/)[1];
|
|
788
|
-
const bstr = atob(arr[1]);
|
|
789
|
-
let n = bstr.length;
|
|
790
|
-
const u8arr = new Uint8Array(n);
|
|
791
|
-
while (n--) {
|
|
792
|
-
u8arr[n] = bstr.charCodeAt(n);
|
|
793
|
-
}
|
|
794
|
-
return new File([u8arr], filename, { type: mime });
|
|
795
|
-
}
|
|
796
|
-
|
|
797
669
|
class FilterPipe {
|
|
798
670
|
transform(value, args) {
|
|
799
671
|
if (value && value.length) {
|
|
@@ -818,10 +690,6 @@ class FilterByKeyPipe {
|
|
|
818
690
|
if (typeof fn === 'function') {
|
|
819
691
|
return arr.filter(fn);
|
|
820
692
|
}
|
|
821
|
-
else if (fn?.length) {
|
|
822
|
-
const [key, value] = fn;
|
|
823
|
-
return arr.filter((item) => getProperty(item, key) === value);
|
|
824
|
-
}
|
|
825
693
|
else if (fn) {
|
|
826
694
|
return arr.filter((item) => item === fn);
|
|
827
695
|
}
|