dyo-tools 0.1.0-rc1
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/.c8rc.json +4 -0
- package/.eslintignore +2 -0
- package/.eslintrc.json +41 -0
- package/Makefile +34 -0
- package/README.md +0 -0
- package/TODO.md +18 -0
- package/babel.config.js +1 -0
- package/dist/core/DTBunch.d.ts +32 -0
- package/dist/core/DTBunch.js +283 -0
- package/dist/core/DTBunch.js.map +1 -0
- package/dist/core/DTComponent.d.ts +20 -0
- package/dist/core/DTComponent.js +41 -0
- package/dist/core/DTComponent.js.map +1 -0
- package/dist/core/DTComponentWithMeta.d.ts +9 -0
- package/dist/core/DTComponentWithMeta.js +32 -0
- package/dist/core/DTComponentWithMeta.js.map +1 -0
- package/dist/core/DTElement.d.ts +13 -0
- package/dist/core/DTElement.js +46 -0
- package/dist/core/DTElement.js.map +1 -0
- package/dist/core/DTError.d.ts +13 -0
- package/dist/core/DTError.js +28 -0
- package/dist/core/DTError.js.map +1 -0
- package/dist/core/DTPlayer.d.ts +8 -0
- package/dist/core/DTPlayer.js +30 -0
- package/dist/core/DTPlayer.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1321 -0
- package/dist/types/index.d.ts +58 -0
- package/dist/types/index.js +15 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/filters.d.ts +6 -0
- package/dist/utils/filters.js +39 -0
- package/dist/utils/filters.js.map +1 -0
- package/docs/.nojekyll +1 -0
- package/docs/assets/highlight.css +22 -0
- package/docs/assets/icons.css +1043 -0
- package/docs/assets/icons.png +0 -0
- package/docs/assets/icons@2x.png +0 -0
- package/docs/assets/main.js +52 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1388 -0
- package/docs/assets/widgets.png +0 -0
- package/docs/assets/widgets@2x.png +0 -0
- package/docs/classes/DTBunch.html +265 -0
- package/docs/classes/DTComponent.html +49 -0
- package/docs/classes/DTComponentWithMeta.html +73 -0
- package/docs/classes/DTElement.html +95 -0
- package/docs/classes/DTError.html +32 -0
- package/docs/classes/DTPlayer.html +86 -0
- package/docs/index.html +1 -0
- package/docs/modules.html +1 -0
- package/jest.config.js +6 -0
- package/package.json +41 -0
- package/src/core/DTBunch.ts +600 -0
- package/src/core/DTComponent.ts +135 -0
- package/src/core/DTComponentWithMeta.ts +62 -0
- package/src/core/DTElement.ts +96 -0
- package/src/core/DTError.ts +78 -0
- package/src/core/DTPlayer.ts +57 -0
- package/src/index.ts +7 -0
- package/src/types/index.ts +76 -0
- package/src/utils/filters.ts +64 -0
- package/test/core/DTBunch.double.ts +150 -0
- package/test/core/DTBunch.spec.ts +1374 -0
- package/test/core/DTComponent.double.ts +69 -0
- package/test/core/DTComponent.spec.ts +182 -0
- package/test/core/DTComponentWithMeta.double.ts +88 -0
- package/test/core/DTComponentWithMeta.spec.ts +112 -0
- package/test/core/DTElement.double.ts +27 -0
- package/test/core/DTElement.spec.ts +181 -0
- package/test/core/DTError.double.ts +43 -0
- package/test/core/DTError.spec.ts +106 -0
- package/test/core/DTPlayer.double.ts +49 -0
- package/test/core/DTPlayer.spec.ts +102 -0
- package/test/utils/filters.spec.ts +109 -0
- package/tsconfig.json +21 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export declare enum FilterOperatorType {
|
|
2
|
+
EQ = "$eq",
|
|
3
|
+
IN = "$in",
|
|
4
|
+
NIN = "$nin",
|
|
5
|
+
NE = "$ne",
|
|
6
|
+
LTE = "$lte",
|
|
7
|
+
GTE = "$gte",
|
|
8
|
+
CONTAINS = "$contains",
|
|
9
|
+
NCONTAINS = "$ncontains"
|
|
10
|
+
}
|
|
11
|
+
export declare type StandardPrimitiveType = string | number | boolean | null;
|
|
12
|
+
export interface DTComponentToObject {
|
|
13
|
+
id: string;
|
|
14
|
+
key: string;
|
|
15
|
+
type: string;
|
|
16
|
+
}
|
|
17
|
+
export declare type DTAcceptedMetaDataValue = string | number | boolean | Array<string | number | boolean> | undefined;
|
|
18
|
+
export declare type DTAcceptedMetaData = Record<string, DTAcceptedMetaDataValue>;
|
|
19
|
+
export interface DTElementToObject<IComponentMeta> extends DTComponentToObject {
|
|
20
|
+
owner?: string;
|
|
21
|
+
meta?: Partial<IComponentMeta>;
|
|
22
|
+
}
|
|
23
|
+
export interface DTBunchOptionsEditable {
|
|
24
|
+
errors: boolean;
|
|
25
|
+
uniqueKey: boolean;
|
|
26
|
+
replaceIndex: boolean;
|
|
27
|
+
inheritOwner: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface DTBunchOptionsConstructor extends DTBunchOptionsEditable {
|
|
30
|
+
virtualContext: boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface DTBunchToObject<IComponentMeta> extends DTComponentToObject {
|
|
33
|
+
items: Array<DTElementToObject<DTAcceptedMetaData>>;
|
|
34
|
+
owner?: string;
|
|
35
|
+
meta?: Partial<IComponentMeta>;
|
|
36
|
+
}
|
|
37
|
+
export declare type DTBunchFilterWithBaseOperator = {
|
|
38
|
+
[FilterOperatorType.EQ]: StandardPrimitiveType;
|
|
39
|
+
[FilterOperatorType.IN]: Array<StandardPrimitiveType>;
|
|
40
|
+
[FilterOperatorType.NIN]: Array<StandardPrimitiveType>;
|
|
41
|
+
[FilterOperatorType.NE]: StandardPrimitiveType;
|
|
42
|
+
};
|
|
43
|
+
export interface DTBunchFilterWithMetaOperator extends DTBunchFilterWithBaseOperator {
|
|
44
|
+
[FilterOperatorType.LTE]: number;
|
|
45
|
+
[FilterOperatorType.GTE]: number;
|
|
46
|
+
[FilterOperatorType.CONTAINS]: StandardPrimitiveType;
|
|
47
|
+
[FilterOperatorType.NCONTAINS]: StandardPrimitiveType;
|
|
48
|
+
}
|
|
49
|
+
export interface DTBunchFilters {
|
|
50
|
+
id: Partial<DTBunchFilterWithBaseOperator>;
|
|
51
|
+
key: Partial<DTBunchFilterWithBaseOperator>;
|
|
52
|
+
context: Partial<DTBunchFilterWithBaseOperator>;
|
|
53
|
+
owner: Partial<DTBunchFilterWithBaseOperator>;
|
|
54
|
+
meta: Record<string, Partial<DTBunchFilterWithMetaOperator>>;
|
|
55
|
+
}
|
|
56
|
+
export interface DTPlayerToObject<IComponentMeta> extends DTComponentToObject {
|
|
57
|
+
meta?: Partial<IComponentMeta>;
|
|
58
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FilterOperatorType = void 0;
|
|
4
|
+
var FilterOperatorType;
|
|
5
|
+
(function (FilterOperatorType) {
|
|
6
|
+
FilterOperatorType["EQ"] = "$eq";
|
|
7
|
+
FilterOperatorType["IN"] = "$in";
|
|
8
|
+
FilterOperatorType["NIN"] = "$nin";
|
|
9
|
+
FilterOperatorType["NE"] = "$ne";
|
|
10
|
+
FilterOperatorType["LTE"] = "$lte";
|
|
11
|
+
FilterOperatorType["GTE"] = "$gte";
|
|
12
|
+
FilterOperatorType["CONTAINS"] = "$contains";
|
|
13
|
+
FilterOperatorType["NCONTAINS"] = "$ncontains";
|
|
14
|
+
})(FilterOperatorType = exports.FilterOperatorType || (exports.FilterOperatorType = {}));
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AACA,IAAY,kBASX;AATD,WAAY,kBAAkB;IAC5B,gCAAU,CAAA;IACV,gCAAU,CAAA;IACV,kCAAY,CAAA;IACZ,gCAAU,CAAA;IACV,kCAAY,CAAA;IACZ,kCAAY,CAAA;IACZ,4CAAsB,CAAA;IACtB,8CAAwB,CAAA;AAC1B,CAAC,EATW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAS7B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FilterOperatorType, StandardPrimitiveType } from '../types';
|
|
2
|
+
export declare function validFiltersForItem(itemProp: StandardPrimitiveType, filter: StandardPrimitiveType, operator: FilterOperatorType.EQ): boolean;
|
|
3
|
+
export declare function validFiltersForItem(itemProp: StandardPrimitiveType, filter: StandardPrimitiveType[], operator: FilterOperatorType.IN | FilterOperatorType.NIN): boolean;
|
|
4
|
+
export declare function validFiltersForItem(itemProp: StandardPrimitiveType, filter: StandardPrimitiveType, operator: FilterOperatorType.NE): boolean;
|
|
5
|
+
export declare function validFiltersForItem(itemProp: number, filter: number, operator: FilterOperatorType.LTE | FilterOperatorType.GTE): boolean;
|
|
6
|
+
export declare function validFiltersForItem(itemProp: StandardPrimitiveType[], filter: StandardPrimitiveType, operator: FilterOperatorType.CONTAINS | FilterOperatorType.NCONTAINS): boolean;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validFiltersForItem = void 0;
|
|
4
|
+
const types_1 = require("../types");
|
|
5
|
+
function validFiltersForItem(itemProp, filter, operator = types_1.FilterOperatorType.EQ) {
|
|
6
|
+
if (operator === types_1.FilterOperatorType.EQ) {
|
|
7
|
+
return itemProp === filter;
|
|
8
|
+
}
|
|
9
|
+
if (operator === types_1.FilterOperatorType.IN) {
|
|
10
|
+
return filter ? filter.includes(itemProp) : false;
|
|
11
|
+
}
|
|
12
|
+
if (operator === types_1.FilterOperatorType.NIN) {
|
|
13
|
+
return filter ? !filter.includes(itemProp) : false;
|
|
14
|
+
}
|
|
15
|
+
if (operator === types_1.FilterOperatorType.NE) {
|
|
16
|
+
return itemProp !== filter;
|
|
17
|
+
}
|
|
18
|
+
if (operator === types_1.FilterOperatorType.LTE) {
|
|
19
|
+
if (typeof itemProp === 'number' && typeof filter === 'number') {
|
|
20
|
+
return itemProp <= filter;
|
|
21
|
+
}
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
if (operator === types_1.FilterOperatorType.GTE) {
|
|
25
|
+
if (typeof itemProp === 'number' && typeof filter === 'number') {
|
|
26
|
+
return itemProp >= filter;
|
|
27
|
+
}
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
if (operator === types_1.FilterOperatorType.CONTAINS) {
|
|
31
|
+
return itemProp ? itemProp.includes(filter) : false;
|
|
32
|
+
}
|
|
33
|
+
if (operator === types_1.FilterOperatorType.NCONTAINS) {
|
|
34
|
+
return itemProp ? !itemProp.includes(filter) : false;
|
|
35
|
+
}
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
exports.validFiltersForItem = validFiltersForItem;
|
|
39
|
+
//# sourceMappingURL=filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../src/utils/filters.ts"],"names":[],"mappings":";;;AAAA,oCAAqE;AAiBrE,SAAgB,mBAAmB,CACjC,QAAyD,EACzD,MAAuD,EACvD,WAA+B,0BAAkB,CAAC,EAAE;IAGpD,IAAI,QAAQ,KAAK,0BAAkB,CAAC,EAAE,EAAE;QACtC,OAAO,QAAQ,KAAK,MAAM,CAAC;KAC5B;IAED,IAAI,QAAQ,KAAK,0BAAkB,CAAC,EAAE,EAAE;QACtC,OAAO,MAAM,CAAC,CAAC,CAAE,MAAkC,CAAC,QAAQ,CAAC,QAAiC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;KACzG;IAED,IAAI,QAAQ,KAAK,0BAAkB,CAAC,GAAG,EAAE;QACvC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAE,MAAkC,CAAC,QAAQ,CAAC,QAAiC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;KAC1G;IAGD,IAAI,QAAQ,KAAK,0BAAkB,CAAC,EAAE,EAAE;QACtC,OAAO,QAAQ,KAAK,MAAM,CAAC;KAC5B;IAED,IAAI,QAAQ,KAAK,0BAAkB,CAAC,GAAG,EAAE;QACvC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9D,OAAO,QAAQ,IAAI,MAAM,CAAC;SAC3B;QACD,OAAO,KAAK,CAAC;KACd;IAED,IAAI,QAAQ,KAAK,0BAAkB,CAAC,GAAG,EAAE;QACvC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9D,OAAO,QAAQ,IAAI,MAAM,CAAC;SAC3B;QACD,OAAO,KAAK,CAAC;KACd;IAED,IAAI,QAAQ,KAAK,0BAAkB,CAAC,QAAQ,EAAE;QAC5C,OAAO,QAAQ,CAAC,CAAC,CAAE,QAAoC,CAAC,QAAQ,CAAC,MAA+B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;KAC3G;IAED,IAAI,QAAQ,KAAK,0BAAkB,CAAC,SAAS,EAAE;QAC7C,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAE,QAAoC,CAAC,QAAQ,CAAC,MAA+B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;KAC5G;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AA9CD,kDA8CC"}
|
package/docs/.nojekyll
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--light-code-background: #FFFFFF;
|
|
3
|
+
--dark-code-background: #1E1E1E;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
@media (prefers-color-scheme: light) { :root {
|
|
7
|
+
--code-background: var(--light-code-background);
|
|
8
|
+
} }
|
|
9
|
+
|
|
10
|
+
@media (prefers-color-scheme: dark) { :root {
|
|
11
|
+
--code-background: var(--dark-code-background);
|
|
12
|
+
} }
|
|
13
|
+
|
|
14
|
+
body.light {
|
|
15
|
+
--code-background: var(--light-code-background);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
body.dark {
|
|
19
|
+
--code-background: var(--dark-code-background);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
pre, code { background: var(--code-background); }
|