@cubejs-client/ngx 1.1.12 → 1.2.0
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/README.md +1 -1
- package/dist/README.md +1 -1
- package/dist/esm2020/src/client.mjs +9 -9
- package/dist/esm2020/src/module.mjs +10 -10
- package/dist/esm2020/src/query-builder/query-builder.service.mjs +6 -6
- package/dist/esm2020/src/query-builder/query-members.mjs +2 -2
- package/dist/fesm2015/cubejs-client-ngx.mjs +15 -21
- package/dist/fesm2015/cubejs-client-ngx.mjs.map +1 -1
- package/dist/fesm2020/cubejs-client-ngx.mjs +23 -23
- package/dist/fesm2020/cubejs-client-ngx.mjs.map +1 -1
- package/dist/package.json +44 -0
- package/package.json +7 -26
package/README.md
CHANGED
package/dist/README.md
CHANGED
|
@@ -57,12 +57,12 @@ export class CubeClient {
|
|
|
57
57
|
}));
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
/** @nocollapse */
|
|
61
|
-
/** @nocollapse */
|
|
62
|
-
(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
/** @nocollapse */ CubeClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClient, deps: [{ token: 'config' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
61
|
+
/** @nocollapse */ CubeClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClient });
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClient, decorators: [{
|
|
63
|
+
type: Injectable
|
|
64
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
65
|
+
type: Inject,
|
|
66
|
+
args: ['config']
|
|
67
|
+
}] }]; } });
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxJQVNOLE1BQU0scUJBQXFCLENBQUM7O0FBUTdCLE1BQU0sT0FBTyxVQUFVO0lBS3JCLFlBQXNDLE1BQTZCO1FBQTdCLFdBQU0sR0FBTixNQUFNLENBQXVCO1FBSjVELFdBQU0sR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFLbkUsSUFBSSxJQUFJLENBQUMsTUFBTSxZQUFZLFVBQVUsRUFBRTtZQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsSUFBSSxJQUFJLENBQUMsTUFBTSxZQUFZLFVBQVUsRUFBRTtnQkFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBRWxELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO3dCQUNqQixNQUFNLElBQUksS0FBSyxDQUNiLHFIQUFxSCxDQUN0SCxDQUFDO3FCQUNIO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBQ0o7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUM3RDtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxJQUFJLENBQ1QsS0FBc0IsRUFDdEIsT0FBMkI7UUFFM0IsT0FBTyxJQUFJLENBQXFCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVNLEdBQUcsQ0FDUixLQUFzQixFQUN0QixPQUEyQjtRQUUzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxNQUFNLENBQ1gsS0FBc0IsRUFDdEIsT0FBMkI7UUFFM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sSUFBSSxDQUFDLE9BQTJCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsRUFBRTtRQUM3QixPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FDakMsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUNkLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3BCLElBQUk7b0JBQ0YsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztvQkFDL0QsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDMUI7Z0JBQUMsT0FBTSxHQUFHLEVBQUU7b0JBQ1gsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDckI7WUFFSCxDQUFDO1NBQ0YsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzswSEExRVUsVUFBVSxrQkFLRCxRQUFROzhIQUxqQixVQUFVOzJGQUFWLFVBQVU7a0JBRHRCLFVBQVU7OzBCQU1JLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgY3ViZSwge1xuICBDdWJlQXBpLFxuICBDdWJlQXBpT3B0aW9ucyxcbiAgRHJ5UnVuUmVzcG9uc2UsXG4gIExvYWRNZXRob2RPcHRpb25zLFxuICBNZXRhLFxuICBRdWVyeSxcbiAgUmVzdWx0U2V0LFxuICBTcWxRdWVyeSxcbn0gZnJvbSAnQGN1YmVqcy1jbGllbnQvY29yZSc7XG5cbmV4cG9ydCB0eXBlIEN1YmVDb25maWcgPSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIG9wdGlvbnM/OiBDdWJlQXBpT3B0aW9ucztcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDdWJlQ2xpZW50IHtcbiAgcHVibGljIHJlYWR5JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHJpdmF0ZSBjdWJlQXBpOiBDdWJlQXBpO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2NvbmZpZycpIHByaXZhdGUgY29uZmlnOiBhbnkgfCBPYnNlcnZhYmxlPGFueT4pIHtcbiAgICBpZiAodGhpcy5jb25maWcgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICB0aGlzLmNvbmZpZy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlYWR5JC5uZXh0KHRydWUpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVhZHkkLm5leHQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcGlJbnN0YW5jZSgpOiBDdWJlQXBpIHtcbiAgICBpZiAoIXRoaXMuY3ViZUFwaSkge1xuICAgICAgaWYgKHRoaXMuY29uZmlnIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICB0aGlzLmNvbmZpZy5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xuICAgICAgICAgIHRoaXMuY3ViZUFwaSA9IGN1YmUoY29uZmlnLnRva2VuLCBjb25maWcub3B0aW9ucyk7XG5cbiAgICAgICAgICBpZiAoIXRoaXMuY3ViZUFwaSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAnQ2Fubm90IGNyZWF0ZSBDdWJlQXBpIGluc3RhbmNlLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGUgY29uZmlnIGlzIHBhc3NlZCBjb3JyZWN0bHkgYW5kIGNvbnRhaW5zIGFsbCByZXF1aXJlZCBvcHRpb25zLidcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3ViZUFwaSA9IGN1YmUodGhpcy5jb25maWcudG9rZW4sIHRoaXMuY29uZmlnLm9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmN1YmVBcGk7XG4gIH1cblxuICBwdWJsaWMgbG9hZChcbiAgICBxdWVyeTogUXVlcnkgfCBRdWVyeVtdLFxuICAgIG9wdGlvbnM/OiBMb2FkTWV0aG9kT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPFJlc3VsdFNldD4ge1xuICAgIHJldHVybiBmcm9tKDxQcm9taXNlPFJlc3VsdFNldD4+dGhpcy5hcGlJbnN0YW5jZSgpLmxvYWQocXVlcnksIG9wdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBzcWwoXG4gICAgcXVlcnk6IFF1ZXJ5IHwgUXVlcnlbXSxcbiAgICBvcHRpb25zPzogTG9hZE1ldGhvZE9wdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxTcWxRdWVyeT4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuYXBpSW5zdGFuY2UoKS5zcWwocXVlcnksIG9wdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBkcnlSdW4oXG4gICAgcXVlcnk6IFF1ZXJ5IHwgUXVlcnlbXSxcbiAgICBvcHRpb25zPzogTG9hZE1ldGhvZE9wdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxEcnlSdW5SZXNwb25zZT4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuYXBpSW5zdGFuY2UoKS5kcnlSdW4ocXVlcnksIG9wdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBtZXRhKG9wdGlvbnM/OiBMb2FkTWV0aG9kT3B0aW9ucyk6IE9ic2VydmFibGU8TWV0YT4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuYXBpSW5zdGFuY2UoKS5tZXRhKG9wdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyB3YXRjaChxdWVyeSwgcGFyYW1zID0ge30pOiBPYnNlcnZhYmxlPFJlc3VsdFNldD4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+XG4gICAgICBxdWVyeS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiBhc3luYyAocXVlcnkpID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0U2V0ID0gYXdhaXQgdGhpcy5hcGlJbnN0YW5jZSgpLmxvYWQocXVlcnksIHBhcmFtcyk7XG4gICAgICAgICAgICBvYnNlcnZlci5uZXh0KHJlc3VsdFNldCk7XG4gICAgICAgICAgfSBjYXRjaChlcnIpIHtcbiAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKGVycik7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -15,13 +15,13 @@ export class CubeClientModule {
|
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
/** @nocollapse */
|
|
19
|
-
/** @nocollapse */
|
|
20
|
-
/** @nocollapse */
|
|
21
|
-
(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
/** @nocollapse */ CubeClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19
|
+
/** @nocollapse */ CubeClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClientModule });
|
|
20
|
+
/** @nocollapse */ CubeClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClientModule, providers: [CubeClient] });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClientModule, decorators: [{
|
|
22
|
+
type: NgModule,
|
|
23
|
+
args: [{
|
|
24
|
+
providers: [CubeClient],
|
|
25
|
+
}]
|
|
26
|
+
}] });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUt0QyxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBVztRQUMvQixPQUFPO1lBQ0wsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixTQUFTLEVBQUU7Z0JBQ1QsVUFBVTtnQkFDVjtvQkFDRSxPQUFPLEVBQUUsUUFBUTtvQkFDakIsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7Z0lBWlUsZ0JBQWdCO2lJQUFoQixnQkFBZ0I7aUlBQWhCLGdCQUFnQixhQUZoQixDQUFDLFVBQVUsQ0FBQzsyRkFFWixnQkFBZ0I7a0JBSDVCLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDdWJlQ2xpZW50IH0gZnJvbSAnLi9jbGllbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtDdWJlQ2xpZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQ3ViZUNsaWVudE1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChjb25maWc6IGFueSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Q3ViZUNsaWVudE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQ3ViZUNsaWVudE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBDdWJlQ2xpZW50LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogJ2NvbmZpZycsXG4gICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -112,9 +112,9 @@ export class QueryBuilderService {
|
|
|
112
112
|
this._disableHeuristics = true;
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
|
-
/** @nocollapse */
|
|
116
|
-
/** @nocollapse */
|
|
117
|
-
(
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUVMLFNBQVMsRUFHVCxjQUFjLEVBQ2QsaUJBQWlCLEdBQ2xCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBU3hDLE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFLVSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFHcEMsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUV0QyxnQkFBVyxHQUFHLElBQUksT0FBTyxDQUNoQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLENBQ2xELENBQUM7UUFDTyxVQUFLLEdBQUcsSUFBSSxPQUFPLENBQzFCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLENBQzVDLENBQUM7UUFD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QUNqQixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSztRQUNyQixJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDZixDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUM7UUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksWUFBWSxFQUFFO2dCQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3RCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELGVBQWUsQ0FBQyxZQUFZO1FBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ2QsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUN4QixHQUFHLFlBQVk7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7SUFDakMsQ0FBQzs7NEhBekpVLG1CQUFtQjsySEFBbkIsbUJBQW1CLFdBQW5CLG1CQUFtQjt1RkFBbkIsbUJBQW1CO2NBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNZXRhLFxuICBSZXN1bHRTZXQsXG4gIFF1ZXJ5IGFzIFRDdWJlUXVlcnksXG4gIFBpdm90Q29uZmlnIGFzIFRQaXZvdENvbmZpZyxcbiAgaXNRdWVyeVByZXNlbnQsXG4gIGRlZmF1bHRIZXVyaXN0aWNzLFxufSBmcm9tICdAY3ViZWpzLWNsaWVudC9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ3ViZUNsaWVudCB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyBRdWVyeSB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgQnVpbGRlck1ldGEgfSBmcm9tICcuL2J1aWxkZXItbWV0YSc7XG5pbXBvcnQgeyBQaXZvdENvbmZpZyB9IGZyb20gJy4vcGl2b3QtY29uZmlnJztcbmltcG9ydCB7IENoYXJ0VHlwZSwgVENoYXJ0VHlwZSB9IGZyb20gJy4vY2hhcnQtdHlwZSc7XG5pbXBvcnQgeyBTdGF0ZVN1YmplY3QgfSBmcm9tICcuL2NvbW1vbic7XG5cbmV4cG9ydCB0eXBlIFRRdWVyeUJ1aWxkZXJTdGF0ZSA9IHtcbiAgcXVlcnk/OiBUQ3ViZVF1ZXJ5O1xuICBwaXZvdENvbmZpZz86IFRQaXZvdENvbmZpZztcbiAgY2hhcnRUeXBlPzogVENoYXJ0VHlwZTtcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBRdWVyeUJ1aWxkZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfY3ViZTogQ3ViZUNsaWVudDtcbiAgcHJpdmF0ZSBfbWV0YTogTWV0YTtcbiAgcHJpdmF0ZSBfcXVlcnk6IFF1ZXJ5O1xuICBwcml2YXRlIF9kaXNhYmxlSGV1cmlzdGljczogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9yZXNvbHZlUXVlcnk6IChxdWVyeTogUXVlcnkpID0+IHZvaWQ7XG4gIHByaXZhdGUgX3Jlc29sdmVCdWlsZGVyTWV0YTogKHF1ZXJ5OiBCdWlsZGVyTWV0YSkgPT4gdm9pZDtcbiAgcHJpdmF0ZSBfaGV1cmlzdGljQ2hhbmdlJCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICByZWFkb25seSBidWlsZGVyTWV0YSA9IG5ldyBQcm9taXNlPEJ1aWxkZXJNZXRhPihcbiAgICAocmVzb2x2ZSkgPT4gKHRoaXMuX3Jlc29sdmVCdWlsZGVyTWV0YSA9IHJlc29sdmUpXG4gICk7XG4gIHJlYWRvbmx5IHF1ZXJ5ID0gbmV3IFByb21pc2U8UXVlcnk+KFxuICAgIChyZXNvbHZlKSA9PiAodGhpcy5fcmVzb2x2ZVF1ZXJ5ID0gcmVzb2x2ZSlcbiAgKTtcbiAgcmVhZG9ubHkgc3RhdGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRRdWVyeUJ1aWxkZXJTdGF0ZT4oe30pO1xuXG4gIHBpdm90Q29uZmlnOiBQaXZvdENvbmZpZztcbiAgY2hhcnRUeXBlOiBDaGFydFR5cGU7XG5cbiAgcHJpdmF0ZSBhc3luYyBpbml0KCkge1xuICAgIHRoaXMucGl2b3RDb25maWcgPSBuZXcgUGl2b3RDb25maWcobnVsbCk7XG4gICAgdGhpcy5jaGFydFR5cGUgPSBuZXcgQ2hhcnRUeXBlKCdsaW5lJyk7XG5cbiAgICB0aGlzLl9jdWJlLm1ldGEoKS5zdWJzY3JpYmUoKG1ldGEpID0+IHtcbiAgICAgIHRoaXMuX21ldGEgPSBtZXRhO1xuXG4gICAgICB0aGlzLl9xdWVyeSA9IG5ldyBRdWVyeShcbiAgICAgICAgdGhpcy5fbWV0YSxcbiAgICAgICAgdGhpcy5faGFuZGxlUXVlcnlDaGFuZ2UuYmluZCh0aGlzKVxuICAgICAgKTtcbiAgICAgIHRoaXMuX3Jlc29sdmVRdWVyeSh0aGlzLl9xdWVyeSk7XG4gICAgICB0aGlzLl9yZXNvbHZlQnVpbGRlck1ldGEobmV3IEJ1aWxkZXJNZXRhKHRoaXMuX21ldGEpKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc3Vic2NyaWJlKCk7XG5cbiAgICBpZiAoIXRoaXMuX2Rpc2FibGVIZXVyaXN0aWNzKSB7XG4gICAgICB0aGlzLl9oZXVyaXN0aWNDaGFuZ2UkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcCgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICB0aGlzLl9jdWJlLmRyeVJ1bihkYXRhLnF1ZXJ5KS5waXBlKGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgIG9mKGRhdGEuc2hvdWxkQXBwbHlIZXVyaXN0aWNPcmRlciksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgKFtkcnlSdW5SZXNwb25zZSwgc2hvdWxkQXBwbHlIZXVyaXN0aWNPcmRlcl0pID0+IHtcbiAgICAgICAgICAgIGlmICghZHJ5UnVuUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBjb25zdCB7IHBpdm90UXVlcnksIHF1ZXJ5T3JkZXIgfSA9IGRyeVJ1blJlc3BvbnNlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLnBpdm90Q29uZmlnLnNldChcbiAgICAgICAgICAgICAgUmVzdWx0U2V0LmdldE5vcm1hbGl6ZWRQaXZvdENvbmZpZyhcbiAgICAgICAgICAgICAgICBwaXZvdFF1ZXJ5LFxuICAgICAgICAgICAgICAgIHRoaXMucGl2b3RDb25maWcuZ2V0KClcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChzaG91bGRBcHBseUhldXJpc3RpY09yZGVyKSB7XG4gICAgICAgICAgICAgIHRoaXMuX3F1ZXJ5Lm9yZGVyLnNldChcbiAgICAgICAgICAgICAgICBxdWVyeU9yZGVyLnJlZHVjZSgoYSwgYikgPT4gKHsgLi4uYSwgLi4uYiB9KSwge30pXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVF1ZXJ5Q2hhbmdlKG5ld1F1ZXJ5LCBvbGRRdWVyeSkge1xuICAgIGNvbnN0IHtcbiAgICAgIGNoYXJ0VHlwZSxcbiAgICAgIHNob3VsZEFwcGx5SGV1cmlzdGljT3JkZXIsXG4gICAgICBxdWVyeTogaGV1cmlzdGljUXVlcnksXG4gICAgfSA9IGRlZmF1bHRIZXVyaXN0aWNzKG5ld1F1ZXJ5LCBvbGRRdWVyeSwge1xuICAgICAgbWV0YTogdGhpcy5fbWV0YSxcbiAgICAgIHNlc3Npb25HcmFudWxhcml0eTogbmV3UXVlcnk/LnRpbWVEaW1lbnNpb25zPy5bMF0/LmdyYW51bGFyaXR5LFxuICAgIH0pO1xuXG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLl9kaXNhYmxlSGV1cmlzdGljc1xuICAgICAgPyBuZXdRdWVyeVxuICAgICAgOiBoZXVyaXN0aWNRdWVyeSB8fCBuZXdRdWVyeTtcblxuICAgIGlmIChpc1F1ZXJ5UHJlc2VudChxdWVyeSkgJiYgIXRoaXMuX2Rpc2FibGVIZXVyaXN0aWNzKSB7XG4gICAgICB0aGlzLl9oZXVyaXN0aWNDaGFuZ2UkLm5leHQoe1xuICAgICAgICBzaG91bGRBcHBseUhldXJpc3RpY09yZGVyOiBCb29sZWFuKHNob3VsZEFwcGx5SGV1cmlzdGljT3JkZXIpLFxuICAgICAgICBxdWVyeSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5fZGlzYWJsZUhldXJpc3RpY3MgJiYgY2hhcnRUeXBlKSB7XG4gICAgICB0aGlzLmNoYXJ0VHlwZS5zZXQoY2hhcnRUeXBlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cblxuICBzZXRDdWJlQ2xpZW50KGN1YmVDbGllbnQ6IEN1YmVDbGllbnQpIHtcbiAgICB0aGlzLl9jdWJlID0gY3ViZUNsaWVudDtcbiAgICB0aGlzLmluaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlKCkge1xuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKHRoaXNba2V5XSBpbnN0YW5jZW9mIFN0YXRlU3ViamVjdCkge1xuICAgICAgICB0aGlzW2tleV0uc3ViamVjdC5zdWJzY3JpYmUoKHZhbHVlKSA9PlxuICAgICAgICAgIHRoaXMuc2V0UGFydGlhbFN0YXRlKHtcbiAgICAgICAgICAgIFtrZXldOiB2YWx1ZSxcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMucXVlcnkudGhlbigocXVlcnkpID0+IHtcbiAgICAgIHF1ZXJ5LnN1YmplY3Quc3Vic2NyaWJlKChjdWJlUXVlcnkpID0+IHtcbiAgICAgICAgdGhpcy5zZXRQYXJ0aWFsU3RhdGUoe1xuICAgICAgICAgIHF1ZXJ5OiBjdWJlUXVlcnksXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBkZXNlcmlhbGl6ZShzdGF0ZSkge1xuICAgIGlmIChzdGF0ZS5xdWVyeSkge1xuICAgICAgKGF3YWl0IHRoaXMucXVlcnkpLnNldFF1ZXJ5KHN0YXRlLnF1ZXJ5KTtcbiAgICB9XG5cbiAgICBPYmplY3QuZW50cmllcyhzdGF0ZSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAodGhpc1trZXldIGluc3RhbmNlb2YgU3RhdGVTdWJqZWN0KSB7XG4gICAgICAgIHRoaXNba2V5XS5zZXQodmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHNldFBhcnRpYWxTdGF0ZShwYXJ0aWFsU3RhdGUpIHtcbiAgICB0aGlzLnN0YXRlLm5leHQoe1xuICAgICAgLi4udGhpcy5zdGF0ZS5nZXRWYWx1ZSgpLFxuICAgICAgLi4ucGFydGlhbFN0YXRlLFxuICAgIH0pO1xuICB9XG5cbiAgZGlzYWJsZUhldXJpc3RpY3MoKSB7XG4gICAgdGhpcy5fZGlzYWJsZUhldXJpc3RpY3MgPSBmYWxzZTtcbiAgfVxuXG4gIGVuYWJsZUhldXJpc3RpY3MoKSB7XG4gICAgdGhpcy5fZGlzYWJsZUhldXJpc3RpY3MgPSB0cnVlO1xuICB9XG59XG4iXX0=
|
|
115
|
+
/** @nocollapse */ QueryBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
116
|
+
/** @nocollapse */ QueryBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryBuilderService });
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryBuilderService, decorators: [{
|
|
118
|
+
type: Injectable
|
|
119
|
+
}] });
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUVMLFNBQVMsRUFHVCxjQUFjLEVBQ2QsaUJBQWlCLEdBQ2xCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBU3hDLE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFLVSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFHcEMsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUV0QyxnQkFBVyxHQUFHLElBQUksT0FBTyxDQUNoQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLENBQ2xELENBQUM7UUFDTyxVQUFLLEdBQUcsSUFBSSxPQUFPLENBQzFCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLENBQzVDLENBQUM7UUFD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QUNqQixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSztRQUNyQixJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDZixDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUM7UUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksWUFBWSxFQUFFO2dCQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3RCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELGVBQWUsQ0FBQyxZQUFZO1FBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ2QsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUN4QixHQUFHLFlBQVk7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7SUFDakMsQ0FBQzs7bUlBekpVLG1CQUFtQjt1SUFBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNZXRhLFxuICBSZXN1bHRTZXQsXG4gIFF1ZXJ5IGFzIFRDdWJlUXVlcnksXG4gIFBpdm90Q29uZmlnIGFzIFRQaXZvdENvbmZpZyxcbiAgaXNRdWVyeVByZXNlbnQsXG4gIGRlZmF1bHRIZXVyaXN0aWNzLFxufSBmcm9tICdAY3ViZWpzLWNsaWVudC9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ3ViZUNsaWVudCB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyBRdWVyeSB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgQnVpbGRlck1ldGEgfSBmcm9tICcuL2J1aWxkZXItbWV0YSc7XG5pbXBvcnQgeyBQaXZvdENvbmZpZyB9IGZyb20gJy4vcGl2b3QtY29uZmlnJztcbmltcG9ydCB7IENoYXJ0VHlwZSwgVENoYXJ0VHlwZSB9IGZyb20gJy4vY2hhcnQtdHlwZSc7XG5pbXBvcnQgeyBTdGF0ZVN1YmplY3QgfSBmcm9tICcuL2NvbW1vbic7XG5cbmV4cG9ydCB0eXBlIFRRdWVyeUJ1aWxkZXJTdGF0ZSA9IHtcbiAgcXVlcnk/OiBUQ3ViZVF1ZXJ5O1xuICBwaXZvdENvbmZpZz86IFRQaXZvdENvbmZpZztcbiAgY2hhcnRUeXBlPzogVENoYXJ0VHlwZTtcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBRdWVyeUJ1aWxkZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfY3ViZTogQ3ViZUNsaWVudDtcbiAgcHJpdmF0ZSBfbWV0YTogTWV0YTtcbiAgcHJpdmF0ZSBfcXVlcnk6IFF1ZXJ5O1xuICBwcml2YXRlIF9kaXNhYmxlSGV1cmlzdGljczogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9yZXNvbHZlUXVlcnk6IChxdWVyeTogUXVlcnkpID0+IHZvaWQ7XG4gIHByaXZhdGUgX3Jlc29sdmVCdWlsZGVyTWV0YTogKHF1ZXJ5OiBCdWlsZGVyTWV0YSkgPT4gdm9pZDtcbiAgcHJpdmF0ZSBfaGV1cmlzdGljQ2hhbmdlJCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICByZWFkb25seSBidWlsZGVyTWV0YSA9IG5ldyBQcm9taXNlPEJ1aWxkZXJNZXRhPihcbiAgICAocmVzb2x2ZSkgPT4gKHRoaXMuX3Jlc29sdmVCdWlsZGVyTWV0YSA9IHJlc29sdmUpXG4gICk7XG4gIHJlYWRvbmx5IHF1ZXJ5ID0gbmV3IFByb21pc2U8UXVlcnk+KFxuICAgIChyZXNvbHZlKSA9PiAodGhpcy5fcmVzb2x2ZVF1ZXJ5ID0gcmVzb2x2ZSlcbiAgKTtcbiAgcmVhZG9ubHkgc3RhdGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRRdWVyeUJ1aWxkZXJTdGF0ZT4oe30pO1xuXG4gIHBpdm90Q29uZmlnOiBQaXZvdENvbmZpZztcbiAgY2hhcnRUeXBlOiBDaGFydFR5cGU7XG5cbiAgcHJpdmF0ZSBhc3luYyBpbml0KCkge1xuICAgIHRoaXMucGl2b3RDb25maWcgPSBuZXcgUGl2b3RDb25maWcobnVsbCk7XG4gICAgdGhpcy5jaGFydFR5cGUgPSBuZXcgQ2hhcnRUeXBlKCdsaW5lJyk7XG5cbiAgICB0aGlzLl9jdWJlLm1ldGEoKS5zdWJzY3JpYmUoKG1ldGEpID0+IHtcbiAgICAgIHRoaXMuX21ldGEgPSBtZXRhO1xuXG4gICAgICB0aGlzLl9xdWVyeSA9IG5ldyBRdWVyeShcbiAgICAgICAgdGhpcy5fbWV0YSxcbiAgICAgICAgdGhpcy5faGFuZGxlUXVlcnlDaGFuZ2UuYmluZCh0aGlzKVxuICAgICAgKTtcbiAgICAgIHRoaXMuX3Jlc29sdmVRdWVyeSh0aGlzLl9xdWVyeSk7XG4gICAgICB0aGlzLl9yZXNvbHZlQnVpbGRlck1ldGEobmV3IEJ1aWxkZXJNZXRhKHRoaXMuX21ldGEpKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc3Vic2NyaWJlKCk7XG5cbiAgICBpZiAoIXRoaXMuX2Rpc2FibGVIZXVyaXN0aWNzKSB7XG4gICAgICB0aGlzLl9oZXVyaXN0aWNDaGFuZ2UkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcCgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICB0aGlzLl9jdWJlLmRyeVJ1bihkYXRhLnF1ZXJ5KS5waXBlKGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgIG9mKGRhdGEuc2hvdWxkQXBwbHlIZXVyaXN0aWNPcmRlciksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgKFtkcnlSdW5SZXNwb25zZSwgc2hvdWxkQXBwbHlIZXVyaXN0aWNPcmRlcl0pID0+IHtcbiAgICAgICAgICAgIGlmICghZHJ5UnVuUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBjb25zdCB7IHBpdm90UXVlcnksIHF1ZXJ5T3JkZXIgfSA9IGRyeVJ1blJlc3BvbnNlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLnBpdm90Q29uZmlnLnNldChcbiAgICAgICAgICAgICAgUmVzdWx0U2V0LmdldE5vcm1hbGl6ZWRQaXZvdENvbmZpZyhcbiAgICAgICAgICAgICAgICBwaXZvdFF1ZXJ5LFxuICAgICAgICAgICAgICAgIHRoaXMucGl2b3RDb25maWcuZ2V0KClcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChzaG91bGRBcHBseUhldXJpc3RpY09yZGVyKSB7XG4gICAgICAgICAgICAgIHRoaXMuX3F1ZXJ5Lm9yZGVyLnNldChcbiAgICAgICAgICAgICAgICBxdWVyeU9yZGVyLnJlZHVjZSgoYSwgYikgPT4gKHsgLi4uYSwgLi4uYiB9KSwge30pXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVF1ZXJ5Q2hhbmdlKG5ld1F1ZXJ5LCBvbGRRdWVyeSkge1xuICAgIGNvbnN0IHtcbiAgICAgIGNoYXJ0VHlwZSxcbiAgICAgIHNob3VsZEFwcGx5SGV1cmlzdGljT3JkZXIsXG4gICAgICBxdWVyeTogaGV1cmlzdGljUXVlcnksXG4gICAgfSA9IGRlZmF1bHRIZXVyaXN0aWNzKG5ld1F1ZXJ5LCBvbGRRdWVyeSwge1xuICAgICAgbWV0YTogdGhpcy5fbWV0YSxcbiAgICAgIHNlc3Npb25HcmFudWxhcml0eTogbmV3UXVlcnk/LnRpbWVEaW1lbnNpb25zPy5bMF0/LmdyYW51bGFyaXR5LFxuICAgIH0pO1xuXG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLl9kaXNhYmxlSGV1cmlzdGljc1xuICAgICAgPyBuZXdRdWVyeVxuICAgICAgOiBoZXVyaXN0aWNRdWVyeSB8fCBuZXdRdWVyeTtcblxuICAgIGlmIChpc1F1ZXJ5UHJlc2VudChxdWVyeSkgJiYgIXRoaXMuX2Rpc2FibGVIZXVyaXN0aWNzKSB7XG4gICAgICB0aGlzLl9oZXVyaXN0aWNDaGFuZ2UkLm5leHQoe1xuICAgICAgICBzaG91bGRBcHBseUhldXJpc3RpY09yZGVyOiBCb29sZWFuKHNob3VsZEFwcGx5SGV1cmlzdGljT3JkZXIpLFxuICAgICAgICBxdWVyeSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5fZGlzYWJsZUhldXJpc3RpY3MgJiYgY2hhcnRUeXBlKSB7XG4gICAgICB0aGlzLmNoYXJ0VHlwZS5zZXQoY2hhcnRUeXBlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cblxuICBzZXRDdWJlQ2xpZW50KGN1YmVDbGllbnQ6IEN1YmVDbGllbnQpIHtcbiAgICB0aGlzLl9jdWJlID0gY3ViZUNsaWVudDtcbiAgICB0aGlzLmluaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlKCkge1xuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKHRoaXNba2V5XSBpbnN0YW5jZW9mIFN0YXRlU3ViamVjdCkge1xuICAgICAgICB0aGlzW2tleV0uc3ViamVjdC5zdWJzY3JpYmUoKHZhbHVlKSA9PlxuICAgICAgICAgIHRoaXMuc2V0UGFydGlhbFN0YXRlKHtcbiAgICAgICAgICAgIFtrZXldOiB2YWx1ZSxcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMucXVlcnkudGhlbigocXVlcnkpID0+IHtcbiAgICAgIHF1ZXJ5LnN1YmplY3Quc3Vic2NyaWJlKChjdWJlUXVlcnkpID0+IHtcbiAgICAgICAgdGhpcy5zZXRQYXJ0aWFsU3RhdGUoe1xuICAgICAgICAgIHF1ZXJ5OiBjdWJlUXVlcnksXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBkZXNlcmlhbGl6ZShzdGF0ZSkge1xuICAgIGlmIChzdGF0ZS5xdWVyeSkge1xuICAgICAgKGF3YWl0IHRoaXMucXVlcnkpLnNldFF1ZXJ5KHN0YXRlLnF1ZXJ5KTtcbiAgICB9XG5cbiAgICBPYmplY3QuZW50cmllcyhzdGF0ZSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAodGhpc1trZXldIGluc3RhbmNlb2YgU3RhdGVTdWJqZWN0KSB7XG4gICAgICAgIHRoaXNba2V5XS5zZXQodmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHNldFBhcnRpYWxTdGF0ZShwYXJ0aWFsU3RhdGUpIHtcbiAgICB0aGlzLnN0YXRlLm5leHQoe1xuICAgICAgLi4udGhpcy5zdGF0ZS5nZXRWYWx1ZSgpLFxuICAgICAgLi4ucGFydGlhbFN0YXRlLFxuICAgIH0pO1xuICB9XG5cbiAgZGlzYWJsZUhldXJpc3RpY3MoKSB7XG4gICAgdGhpcy5fZGlzYWJsZUhldXJpc3RpY3MgPSBmYWxzZTtcbiAgfVxuXG4gIGVuYWJsZUhldXJpc3RpY3MoKSB7XG4gICAgdGhpcy5fZGlzYWJsZUhldXJpc3RpY3MgPSB0cnVlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { moveItemInArray, } from '@cubejs-client/core';
|
|
2
2
|
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import equal from 'fast-deep-equal';
|
|
3
|
+
import equal from 'fast-deep-equal/es6';
|
|
4
4
|
export class BaseMember {
|
|
5
5
|
constructor(query, field) {
|
|
6
6
|
this.query = query;
|
|
@@ -223,4 +223,4 @@ export class FilterMember {
|
|
|
223
223
|
});
|
|
224
224
|
}
|
|
225
225
|
}
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktbWVtYmVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9xdWVyeS1idWlsZGVyL3F1ZXJ5LW1lbWJlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLGVBQWUsR0FJaEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sS0FBSyxNQUFNLGlCQUFpQixDQUFDO0FBWXBDLE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFlBQ1UsS0FBWSxFQUNaLEtBQTZDO1FBRDdDLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixVQUFLLEdBQUwsS0FBSyxDQUF3QztJQUNwRCxDQUFDO0lBRUosSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxHQUFHLENBQUMsSUFBWTtRQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDO1lBQ3pCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztTQUN0QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQVksRUFBRSxlQUF1QjtRQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQztZQUN6QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQzdDLFdBQVcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUNyRDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBbUI7UUFD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QUFNO2FBQ1YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgVGltZURpbWVuc2lvbkdyYW51bGFyaXR5LFxuICBUUXVlcnlPcmRlck9iamVjdCxcbiAgVFF1ZXJ5T3JkZXJBcnJheSxcbiAgbW92ZUl0ZW1JbkFycmF5LFxuICBGaWx0ZXIsXG4gIFVuYXJ5RmlsdGVyLFxuICBCaW5hcnlGaWx0ZXIsXG59IGZyb20gJ0BjdWJlanMtY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgZXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsJztcblxuaW1wb3J0IHsgUXVlcnkgfSBmcm9tICcuL3F1ZXJ5JztcblxuZXhwb3J0IHR5cGUgVE9yZGVyID0gJ2FzYycgfCAnZGVzYycgfCAnbm9uZSc7XG5cbmV4cG9ydCB0eXBlIFRPcmRlck1lbWJlciA9IHtcbiAgaWQ6IHN0cmluZztcbiAgb3JkZXI6IFRPcmRlcjtcbiAgdGl0bGU6IHN0cmluZztcbn07XG5cbmV4cG9ydCBjbGFzcyBCYXNlTWVtYmVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBxdWVyeTogUXVlcnksXG4gICAgcHJpdmF0ZSBmaWVsZDogJ21lYXN1cmVzJyB8ICdkaW1lbnNpb25zJyB8ICdzZWdtZW50cydcbiAgKSB7fVxuXG4gIHByaXZhdGUgZ2V0IG1lbWJlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnkuYXNDdWJlUXVlcnkoKVt0aGlzLmZpZWxkXSB8fCBbXTtcbiAgfVxuXG4gIGFkZChuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLnF1ZXJ5LnNldFBhcnRpYWxRdWVyeSh7XG4gICAgICBbdGhpcy5maWVsZF06IFsuLi50aGlzLm1lbWJlcnMsIG5hbWVdLFxuICAgIH0pO1xuICB9XG5cbiAgcmVwbGFjZShuYW1lOiBzdHJpbmcsIHJlcGxhY2VXaXRoTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5xdWVyeS5zZXRQYXJ0aWFsUXVlcnkoe1xuICAgICAgW3RoaXMuZmllbGRdOiB0aGlzLm1lbWJlcnMubWFwKChjdXJyZW50TmFtZSkgPT5cbiAgICAgICAgY3VycmVudE5hbWUgPT09IG5hbWUgPyByZXBsYWNlV2l0aE5hbWUgOiBjdXJyZW50TmFtZVxuICAgICAgKSxcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZShieTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgdGhpcy5xdWVyeS5zZXRQYXJ0aWFsUXVlcnkoe1xuICAgICAgW3RoaXMuZmllbGRdOiB0aGlzLnF1ZXJ5XG4gICAgICAgIC5hc0N1YmVRdWVyeSgpXG4gICAgICAgIFt0aGlzLmZpZWxkXS5maWx0ZXIoKGN1cnJlbnROYW1lLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgYnkgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudE5hbWUgIT09IGJ5O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBpbmRleCAhPT0gYnk7XG4gICAgICAgIH0pLFxuICAgIH0pO1xuICB9XG5cbiAgc2V0KG1lbWJlcnM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5xdWVyeS5zZXRQYXJ0aWFsUXVlcnkoe1xuICAgICAgW3RoaXMuZmllbGRdOiBtZW1iZXJzLFxuICAgIH0pO1xuICB9XG5cbiAgYXNBcnJheSgpIHtcbiAgICByZXR1cm4gKHRoaXMucXVlcnkuYXNDdWJlUXVlcnkoKVt0aGlzLmZpZWxkXSB8fCBbXSkubWFwKChuYW1lKSA9PlxuICAgICAgdGhpcy5xdWVyeS5tZXRhLnJlc29sdmVNZW1iZXIobmFtZSwgdGhpcy5maWVsZClcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUaW1lRGltZW5zaW9uTWVtYmVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBxdWVyeTogUXVlcnkpIHt9XG5cbiAgcHJpdmF0ZSBnZXQgbWVtYmVycygpIHtcbiAgICByZXR1cm4gdGhpcy5xdWVyeS5hc0N1YmVRdWVyeSgpLnRpbWVEaW1lbnNpb25zIHx8IFtdO1xuICB9XG5cbiAgZ2V0IGdyYW51bGFyaXR5KCkge1xuICAgIHJldHVybiB0aGlzLm1lbWJlcnNbMF0/LmdyYW51bGFyaXR5O1xuICB9XG5cbiAgdXBkYXRlVGltZURpbWVuc2lvbihieTogc3RyaW5nIHwgbnVtYmVyLCB1cGRhdGVXaXRoOiBhbnkpIHtcbiAgICBjb25zdCB0aW1lRGltZW5zaW9ucyA9IHRoaXMubWVtYmVycy5tYXAoKHRkLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKHRkLmRpbWVuc2lvbiA9PT0gYnkgfHwgaW5kZXggPT09IGJ5KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4udGQsXG4gICAgICAgICAgLi4udXBkYXRlV2l0aCxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0ZDtcbiAgICB9KTtcblxuICAgIHRoaXMucXVlcnkuc2V0UGFydGlhbFF1ZXJ5KHtcbiAgICAgIHRpbWVEaW1lbnNpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgYWRkKG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMucXVlcnkuc2V0UGFydGlhbFF1ZXJ5KHtcbiAgICAgIHRpbWVEaW1lbnNpb25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBkaW1lbnNpb246IG5hbWUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlKG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMucXVlcnkuc2V0UGFydGlhbFF1ZXJ5KHtcbiAgICAgIHRpbWVEaW1lbnNpb25zOiB0aGlzLm1lbWJlcnMuZmlsdGVyKFxuICAgICAgICAoeyBkaW1lbnNpb24gfSkgPT4gZGltZW5zaW9uICE9PSBuYW1lXG4gICAgICApLFxuICAgIH0pO1xuICB9XG5cbiAgc2V0KHRpbWVEaW1lbnNpb25zOiBhbnlbXSkge1xuICAgIHRoaXMucXVlcnkuc2V0UGFydGlhbFF1ZXJ5KHtcbiAgICAgIHRpbWVEaW1lbnNpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgc2V0RGF0ZVJhbmdlKGJ5OiBzdHJpbmcgfCBudW1iZXIsIGRhdGVSYW5nZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICB0aGlzLnVwZGF0ZVRpbWVEaW1lbnNpb24oYnksIHsgZGF0ZVJhbmdlIH0pO1xuICB9XG5cbiAgc2V0R3JhbnVsYXJpdHkoYnk6IHN0cmluZyB8IG51bWJlciwgZ3JhbnVsYXJpdHk6IFRpbWVEaW1lbnNpb25HcmFudWxhcml0eSkge1xuICAgIHRoaXMudXBkYXRlVGltZURpbWVuc2lvbihieSwgeyBncmFudWxhcml0eSB9KTtcbiAgfVxuXG4gIGFzQXJyYXkoKTogYW55W10ge1xuICAgIHJldHVybiAodGhpcy5xdWVyeS5hc0N1YmVRdWVyeSgpLnRpbWVEaW1lbnNpb25zIHx8IFtdKS5tYXAoKHRkKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi50aGlzLnF1ZXJ5Lm1ldGEucmVzb2x2ZU1lbWJlcih0ZC5kaW1lbnNpb24sICdkaW1lbnNpb25zJyksXG4gICAgICAgIC4uLnRkLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgT3JkZXIge1xuICBvcmRlck1lbWJlcnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRPcmRlck1lbWJlcltdPihbXSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBxdWVyeTogUXVlcnkpIHtcbiAgICB0aGlzLnF1ZXJ5LnN1YmplY3Quc3Vic2NyaWJlKHRoaXMuaGFuZGxlUXVlcnlDaGFuZ2UuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5vcmRlck1lbWJlcnMuc3Vic2NyaWJlKHRoaXMuaGFuZGxlT3JkZXJNZW1iZXJzQ2hhbmdlLmJpbmQodGhpcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVPcmRlck1lbWJlcnNDaGFuZ2Uob3JkZXJNZW1iZXJzOiBUT3JkZXJNZW1iZXJbXSkge1xuICAgIGNvbnN0IG9yZGVyID0gb3JkZXJNZW1iZXJzXG4gICAgICAuZmlsdGVyKCh7IG9yZGVyIH0pID0+IG9yZGVyICE9PSAnbm9uZScpXG4gICAgICAucmVkdWNlKFxuICAgICAgICAobWVtbywgeyBpZCwgb3JkZXIgfSkgPT4gKHsgLi4ubWVtbywgW2lkXTogb3JkZXIgfSksXG4gICAgICAgIHt9XG4gICAgICApIGFzIFRRdWVyeU9yZGVyT2JqZWN0O1xuXG4gICAgaWYgKCFlcXVhbChvcmRlciwgdGhpcy5hc09iamVjdCgpKSkge1xuICAgICAgdGhpcy5xdWVyeS5zZXRQYXJ0aWFsUXVlcnkoeyBvcmRlciB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVF1ZXJ5Q2hhbmdlKCkge1xuICAgIHRoaXMub3JkZXJNZW1iZXJzLm5leHQoXG4gICAgICBbXG4gICAgICAgIC4uLnRoaXMucXVlcnkubWVhc3VyZXMuYXNBcnJheSgpLFxuICAgICAgICAuLi50aGlzLnF1ZXJ5LmRpbWVuc2lvbnMuYXNBcnJheSgpLFxuICAgICAgICAuLi50aGlzLnF1ZXJ5LnRpbWVEaW1lbnNpb25zLmFzQXJyYXkoKSxcbiAgICAgIF0ubWFwPFRPcmRlck1lbWJlcj4oKHsgbmFtZSwgdGl0bGUgfSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGlkOiBuYW1lLFxuICAgICAgICAgIG9yZGVyOiB0aGlzLm9mKG5hbWUpLFxuICAgICAgICAgIHRpdGxlLFxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc2V0TWVtYmVyT3JkZXIoaWQ6IHN0cmluZywgb3JkZXI6IFRPcmRlcikge1xuICAgIHRoaXMub3JkZXJNZW1iZXJzLm5leHQoXG4gICAgICB0aGlzLm9yZGVyTWVtYmVycy5nZXRWYWx1ZSgpLm1hcCgob3JkZXJNZW1iZXIpID0+IHtcbiAgICAgICAgaWYgKG9yZGVyTWVtYmVyLmlkID09PSBpZCkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5vcmRlck1lbWJlcixcbiAgICAgICAgICAgIG9yZGVyLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9yZGVyTWVtYmVyO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcmVvcmRlcihzb3VyY2VJbmRleDogbnVtYmVyLCBkZXN0aW5hdGlvbkluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLm9yZGVyTWVtYmVycy5uZXh0KFxuICAgICAgbW92ZUl0ZW1JbkFycmF5KFxuICAgICAgICB0aGlzLm9yZGVyTWVtYmVycy5nZXRWYWx1ZSgpLFxuICAgICAgICBzb3VyY2VJbmRleCxcbiAgICAgICAgZGVzdGluYXRpb25JbmRleFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBvZihtZW1iZXI6IHN0cmluZykge1xuICAgIHJldHVybiAodGhpcy5xdWVyeS5hc0N1YmVRdWVyeSgpLm9yZGVyIHx8IHt9KVttZW1iZXJdIHx8ICdub25lJztcbiAgfVxuXG4gIHNldChvcmRlcjogVFF1ZXJ5T3JkZXJPYmplY3QgfCBUUXVlcnlPcmRlckFycmF5KSB7XG4gICAgdGhpcy5xdWVyeS5zZXRQYXJ0aWFsUXVlcnkoeyBvcmRlciB9KTtcbiAgfVxuXG4gIGFzQXJyYXkoKTogVFF1ZXJ5T3JkZXJBcnJheSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5xdWVyeS5hc0N1YmVRdWVyeSgpLm9yZGVyKSkge1xuICAgICAgcmV0dXJuIHRoaXMucXVlcnkuYXNDdWJlUXVlcnkoKS5vcmRlciBhcyBUUXVlcnlPcmRlckFycmF5O1xuICAgIH1cblxuICAgIHJldHVybiBPYmplY3QuZW50cmllcyh0aGlzLnF1ZXJ5LmFzQ3ViZVF1ZXJ5KCkub3JkZXIgfHwge30pO1xuICB9XG5cbiAgYXNPYmplY3QoKTogVFF1ZXJ5T3JkZXJPYmplY3Qge1xuICAgIHJldHVybiB0aGlzLmFzQXJyYXkoKS5yZWR1Y2UoXG4gICAgICAobWVtbywgW2tleSwgdmFsdWVdKSA9PiAoeyAuLi5tZW1vLCBba2V5XTogdmFsdWUgfSksXG4gICAgICB7fVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZpbHRlck1lbWJlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcXVlcnk6IFF1ZXJ5KSB7fVxuXG4gIHByaXZhdGUgZ2V0IGZpbHRlcnMoKSB7XG4gICAgLy8gVE9ETzogdXBkYXRlIHRoaXMgdHlwZSBhc3NlcnRpb24gb25jZSB0aGUgUXVlcnlCdWlsZGVyIHN1cHBvcnRzIGxvZ2ljYWwgYW5kL29yXG4gICAgcmV0dXJuICh0aGlzLnF1ZXJ5LmFzQ3ViZVF1ZXJ5KCkuZmlsdGVycyB8fCBbXSkgYXMgKFVuYXJ5RmlsdGVyIHwgQmluYXJ5RmlsdGVyKVtdO1xuICB9XG5cbiAgdXBkYXRlKGJ5OiBzdHJpbmcgfCBudW1iZXIsIHVwZGF0ZVdpdGg6IFBhcnRpYWw8RmlsdGVyPikge1xuICAgIGNvbnN0IGZpbHRlcnMgPSB0aGlzLmZpbHRlcnMubWFwKChmaWx0ZXIsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoaW5kZXggPT09IGJ5IHx8IGZpbHRlci5tZW1iZXIgPT09IGJ5IHx8IGZpbHRlci5kaW1lbnNpb24gPT09IGJ5KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgIC4uLnVwZGF0ZVdpdGgsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gZmlsdGVyO1xuICAgIH0pO1xuXG4gICAgdGhpcy5xdWVyeS5zZXRQYXJ0aWFsUXVlcnkoe1xuICAgICAgZmlsdGVyczogZmlsdGVycyBhcyBGaWx0ZXJbXSxcbiAgICB9KTtcbiAgfVxuXG4gIGFkZChmaWx0ZXI6IEZpbHRlcikge1xuICAgIHRoaXMucXVlcnkuc2V0UGFydGlhbFF1ZXJ5KHtcbiAgICAgIGZpbHRlcnM6IFsuLi50aGlzLmZpbHRlcnMsIGZpbHRlcl0sXG4gICAgfSk7XG4gIH1cblxuICByZW1vdmUoYnk6IHN0cmluZyB8IG51bWJlcikge1xuICAgIHRoaXMucXVlcnkuc2V0UGFydGlhbFF1ZXJ5KHtcbiAgICAgIGZpbHRlcnM6IHRoaXMuZmlsdGVycy5maWx0ZXIoKGZpbHRlciwgaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKGZpbHRlci5tZW1iZXIgPT09IGJ5IHx8IGZpbHRlci5kaW1lbnNpb24gPT09IGJ5IHx8IGluZGV4ID09PSBieSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSksXG4gICAgfSk7XG4gIH1cblxuICBzZXQoZmlsdGVyczogRmlsdGVyW10pIHtcbiAgICB0aGlzLnF1ZXJ5LnNldFBhcnRpYWxRdWVyeSh7XG4gICAgICBmaWx0ZXJzLFxuICAgIH0pO1xuICB9XG5cbiAgcmVwbGFjZShuYW1lOiBzdHJpbmcsIHJlcGxhY2VXaXRoTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5xdWVyeS5zZXRQYXJ0aWFsUXVlcnkoe1xuICAgICAgZmlsdGVyczogdGhpcy5maWx0ZXJzLm1hcCgoZmlsdGVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gZmlsdGVyLm1lbWJlciA/ICdtZW1iZXInIDogJ2RpbWVuc2lvbic7XG4gICAgICAgIHJldHVybiBmaWx0ZXIubWVtYmVyID09PSBuYW1lIHx8IGZpbHRlci5kaW1lbnNpb24gPT09IG5hbWVcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgICAgICBbZmllbGRdOiByZXBsYWNlV2l0aE5hbWUsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiBmaWx0ZXI7XG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzQXJyYXkoKTogYW55W10ge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcnMubWFwKChmaWx0ZXIpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnRoaXMucXVlcnkubWV0YS5yZXNvbHZlTWVtYmVyKGZpbHRlci5tZW1iZXIgfHwgZmlsdGVyLmRpbWVuc2lvbiwgW1xuICAgICAgICAgICdkaW1lbnNpb25zJyxcbiAgICAgICAgICAnbWVhc3VyZXMnLFxuICAgICAgICBdKSxcbiAgICAgICAgb3BlcmF0b3JzOiB0aGlzLnF1ZXJ5Lm1ldGEuZmlsdGVyT3BlcmF0b3JzRm9yTWVtYmVyKFxuICAgICAgICAgIGZpbHRlci5tZW1iZXIgfHwgZmlsdGVyLmRpbWVuc2lvbixcbiAgICAgICAgICBbJ2RpbWVuc2lvbnMnLCAnbWVhc3VyZXMnXVxuICAgICAgICApLFxuICAgICAgICAuLi5maWx0ZXIsXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktbWVtYmVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9xdWVyeS1idWlsZGVyL3F1ZXJ5LW1lbWJlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLGVBQWUsR0FJaEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sS0FBSyxNQUFNLHFCQUFxQixDQUFDO0FBWXhDLE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFlBQ1UsS0FBWSxFQUNaLEtBQTZDO1FBRDdDLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixVQUFLLEdBQUwsS0FBSyxDQUF3QztJQUNwRCxDQUFDO0lBRUosSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxHQUFHLENBQUMsSUFBWTtRQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDO1lBQ3pCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztTQUN0QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQVksRUFBRSxlQUF1QjtRQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQztZQUN6QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQzdDLFdBQVcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUNyRDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBbUI7UUFD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QUFNO2FBQ1YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgVGltZURpbWVuc2lvbkdyYW51bGFyaXR5LFxuICBUUXVlcnlPcmRlck9iamVjdCxcbiAgVFF1ZXJ5T3JkZXJBcnJheSxcbiAgbW92ZUl0ZW1JbkFycmF5LFxuICBGaWx0ZXIsXG4gIFVuYXJ5RmlsdGVyLFxuICBCaW5hcnlGaWx0ZXIsXG59IGZyb20gJ0BjdWJlanMtY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgZXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsL2VzNic7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSAnLi9xdWVyeSc7XG5cbmV4cG9ydCB0eXBlIFRPcmRlciA9ICdhc2MnIHwgJ2Rlc2MnIHwgJ25vbmUnO1xuXG5leHBvcnQgdHlwZSBUT3JkZXJNZW1iZXIgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIG9yZGVyOiBUT3JkZXI7XG4gIHRpdGxlOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY2xhc3MgQmFzZU1lbWJlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcXVlcnk6IFF1ZXJ5LFxuICAgIHByaXZhdGUgZmllbGQ6ICdtZWFzdXJlcycgfCAnZGltZW5zaW9ucycgfCAnc2VnbWVudHMnXG4gICkge31cblxuICBwcml2YXRlIGdldCBtZW1iZXJzKCkge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5LmFzQ3ViZVF1ZXJ5KClbdGhpcy5maWVsZF0gfHwgW107XG4gIH1cblxuICBhZGQobmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5xdWVyeS5zZXRQYXJ0aWFsUXVlcnkoe1xuICAgICAgW3RoaXMuZmllbGRdOiBbLi4udGhpcy5tZW1iZXJzLCBuYW1lXSxcbiAgICB9KTtcbiAgfVxuXG4gIHJlcGxhY2UobmFtZTogc3RyaW5nLCByZXBsYWNlV2l0aE5hbWU6IHN0cmluZykge1xuICAgIHRoaXMucXVlcnkuc2V0UGFydGlhbFF1ZXJ5KHtcbiAgICAgIFt0aGlzLmZpZWxkXTogdGhpcy5tZW1iZXJzLm1hcCgoY3VycmVudE5hbWUpID0+XG4gICAgICAgIGN1cnJlbnROYW1lID09PSBuYW1lID8gcmVwbGFjZVdpdGhOYW1lIDogY3VycmVudE5hbWVcbiAgICAgICksXG4gICAgfSk7XG4gIH1cblxuICByZW1vdmUoYnk6IHN0cmluZyB8IG51bWJlcikge1xuICAgIHRoaXMucXVlcnkuc2V0UGFydGlhbFF1ZXJ5KHtcbiAgICAgIFt0aGlzLmZpZWxkXTogdGhpcy5xdWVyeVxuICAgICAgICAuYXNDdWJlUXVlcnkoKVxuICAgICAgICBbdGhpcy5maWVsZF0uZmlsdGVyKChjdXJyZW50TmFtZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICBpZiAodHlwZW9mIGJ5ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnROYW1lICE9PSBieTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gaW5kZXggIT09IGJ5O1xuICAgICAgICB9KSxcbiAgICB9KTtcbiAgfVxuXG4gIHNldChtZW1iZXJzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMucXVlcnkuc2V0UGFydGlhbFF1ZXJ5KHtcbiAgICAgIFt0aGlzLmZpZWxkXTogbWVtYmVycyxcbiAgICB9KTtcbiAgfVxuXG4gIGFzQXJyYXkoKSB7XG4gICAgcmV0dXJuICh0aGlzLnF1ZXJ5LmFzQ3ViZVF1ZXJ5KClbdGhpcy5maWVsZF0gfHwgW10pLm1hcCgobmFtZSkgPT5cbiAgICAgIHRoaXMucXVlcnkubWV0YS5yZXNvbHZlTWVtYmVyKG5hbWUsIHRoaXMuZmllbGQpXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGltZURpbWVuc2lvbk1lbWJlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcXVlcnk6IFF1ZXJ5KSB7fVxuXG4gIHByaXZhdGUgZ2V0IG1lbWJlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnkuYXNDdWJlUXVlcnkoKS50aW1lRGltZW5zaW9ucyB8fCBbXTtcbiAgfVxuXG4gIGdldCBncmFudWxhcml0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZW1iZXJzWzBdPy5ncmFudWxhcml0eTtcbiAgfVxuXG4gIHVwZGF0ZVRpbWVEaW1lbnNpb24oYnk6IHN0cmluZyB8IG51bWJlciwgdXBkYXRlV2l0aDogYW55KSB7XG4gICAgY29uc3QgdGltZURpbWVuc2lvbnMgPSB0aGlzLm1lbWJlcnMubWFwKCh0ZCwgaW5kZXgpID0+IHtcbiAgICAgIGlmICh0ZC5kaW1lbnNpb24gPT09IGJ5IHx8IGluZGV4ID09PSBieSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnRkLFxuICAgICAgICAgIC4uLnVwZGF0ZVdpdGgsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gdGQ7XG4gICAgfSk7XG5cbiAgICB0aGlzLnF1ZXJ5LnNldFBhcnRpYWxRdWVyeSh7XG4gICAgICB0aW1lRGltZW5zaW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIGFkZChuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLnF1ZXJ5LnNldFBhcnRpYWxRdWVyeSh7XG4gICAgICB0aW1lRGltZW5zaW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgZGltZW5zaW9uOiBuYW1lLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZShuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLnF1ZXJ5LnNldFBhcnRpYWxRdWVyeSh7XG4gICAgICB0aW1lRGltZW5zaW9uczogdGhpcy5tZW1iZXJzLmZpbHRlcihcbiAgICAgICAgKHsgZGltZW5zaW9uIH0pID0+IGRpbWVuc2lvbiAhPT0gbmFtZVxuICAgICAgKSxcbiAgICB9KTtcbiAgfVxuXG4gIHNldCh0aW1lRGltZW5zaW9uczogYW55W10pIHtcbiAgICB0aGlzLnF1ZXJ5LnNldFBhcnRpYWxRdWVyeSh7XG4gICAgICB0aW1lRGltZW5zaW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHNldERhdGVSYW5nZShieTogc3RyaW5nIHwgbnVtYmVyLCBkYXRlUmFuZ2U6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgdGhpcy51cGRhdGVUaW1lRGltZW5zaW9uKGJ5LCB7IGRhdGVSYW5nZSB9KTtcbiAgfVxuXG4gIHNldEdyYW51bGFyaXR5KGJ5OiBzdHJpbmcgfCBudW1iZXIsIGdyYW51bGFyaXR5OiBUaW1lRGltZW5zaW9uR3JhbnVsYXJpdHkpIHtcbiAgICB0aGlzLnVwZGF0ZVRpbWVEaW1lbnNpb24oYnksIHsgZ3JhbnVsYXJpdHkgfSk7XG4gIH1cblxuICBhc0FycmF5KCk6IGFueVtdIHtcbiAgICByZXR1cm4gKHRoaXMucXVlcnkuYXNDdWJlUXVlcnkoKS50aW1lRGltZW5zaW9ucyB8fCBbXSkubWFwKCh0ZCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4udGhpcy5xdWVyeS5tZXRhLnJlc29sdmVNZW1iZXIodGQuZGltZW5zaW9uLCAnZGltZW5zaW9ucycpLFxuICAgICAgICAuLi50ZCxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9yZGVyIHtcbiAgb3JkZXJNZW1iZXJzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUT3JkZXJNZW1iZXJbXT4oW10pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcXVlcnk6IFF1ZXJ5KSB7XG4gICAgdGhpcy5xdWVyeS5zdWJqZWN0LnN1YnNjcmliZSh0aGlzLmhhbmRsZVF1ZXJ5Q2hhbmdlLmJpbmQodGhpcykpO1xuICAgIHRoaXMub3JkZXJNZW1iZXJzLnN1YnNjcmliZSh0aGlzLmhhbmRsZU9yZGVyTWVtYmVyc0NoYW5nZS5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlT3JkZXJNZW1iZXJzQ2hhbmdlKG9yZGVyTWVtYmVyczogVE9yZGVyTWVtYmVyW10pIHtcbiAgICBjb25zdCBvcmRlciA9IG9yZGVyTWVtYmVyc1xuICAgICAgLmZpbHRlcigoeyBvcmRlciB9KSA9PiBvcmRlciAhPT0gJ25vbmUnKVxuICAgICAgLnJlZHVjZShcbiAgICAgICAgKG1lbW8sIHsgaWQsIG9yZGVyIH0pID0+ICh7IC4uLm1lbW8sIFtpZF06IG9yZGVyIH0pLFxuICAgICAgICB7fVxuICAgICAgKSBhcyBUUXVlcnlPcmRlck9iamVjdDtcblxuICAgIGlmICghZXF1YWwob3JkZXIsIHRoaXMuYXNPYmplY3QoKSkpIHtcbiAgICAgIHRoaXMucXVlcnkuc2V0UGFydGlhbFF1ZXJ5KHsgb3JkZXIgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVRdWVyeUNoYW5nZSgpIHtcbiAgICB0aGlzLm9yZGVyTWVtYmVycy5uZXh0KFxuICAgICAgW1xuICAgICAgICAuLi50aGlzLnF1ZXJ5Lm1lYXN1cmVzLmFzQXJyYXkoKSxcbiAgICAgICAgLi4udGhpcy5xdWVyeS5kaW1lbnNpb25zLmFzQXJyYXkoKSxcbiAgICAgICAgLi4udGhpcy5xdWVyeS50aW1lRGltZW5zaW9ucy5hc0FycmF5KCksXG4gICAgICBdLm1hcDxUT3JkZXJNZW1iZXI+KCh7IG5hbWUsIHRpdGxlIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpZDogbmFtZSxcbiAgICAgICAgICBvcmRlcjogdGhpcy5vZihuYW1lKSxcbiAgICAgICAgICB0aXRsZSxcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHNldE1lbWJlck9yZGVyKGlkOiBzdHJpbmcsIG9yZGVyOiBUT3JkZXIpIHtcbiAgICB0aGlzLm9yZGVyTWVtYmVycy5uZXh0KFxuICAgICAgdGhpcy5vcmRlck1lbWJlcnMuZ2V0VmFsdWUoKS5tYXAoKG9yZGVyTWVtYmVyKSA9PiB7XG4gICAgICAgIGlmIChvcmRlck1lbWJlci5pZCA9PT0gaWQpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ub3JkZXJNZW1iZXIsXG4gICAgICAgICAgICBvcmRlcixcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvcmRlck1lbWJlcjtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHJlb3JkZXIoc291cmNlSW5kZXg6IG51bWJlciwgZGVzdGluYXRpb25JbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5vcmRlck1lbWJlcnMubmV4dChcbiAgICAgIG1vdmVJdGVtSW5BcnJheShcbiAgICAgICAgdGhpcy5vcmRlck1lbWJlcnMuZ2V0VmFsdWUoKSxcbiAgICAgICAgc291cmNlSW5kZXgsXG4gICAgICAgIGRlc3RpbmF0aW9uSW5kZXhcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgb2YobWVtYmVyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKHRoaXMucXVlcnkuYXNDdWJlUXVlcnkoKS5vcmRlciB8fCB7fSlbbWVtYmVyXSB8fCAnbm9uZSc7XG4gIH1cblxuICBzZXQob3JkZXI6IFRRdWVyeU9yZGVyT2JqZWN0IHwgVFF1ZXJ5T3JkZXJBcnJheSkge1xuICAgIHRoaXMucXVlcnkuc2V0UGFydGlhbFF1ZXJ5KHsgb3JkZXIgfSk7XG4gIH1cblxuICBhc0FycmF5KCk6IFRRdWVyeU9yZGVyQXJyYXkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucXVlcnkuYXNDdWJlUXVlcnkoKS5vcmRlcikpIHtcbiAgICAgIHJldHVybiB0aGlzLnF1ZXJ5LmFzQ3ViZVF1ZXJ5KCkub3JkZXIgYXMgVFF1ZXJ5T3JkZXJBcnJheTtcbiAgICB9XG5cbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy5xdWVyeS5hc0N1YmVRdWVyeSgpLm9yZGVyIHx8IHt9KTtcbiAgfVxuXG4gIGFzT2JqZWN0KCk6IFRRdWVyeU9yZGVyT2JqZWN0IHtcbiAgICByZXR1cm4gdGhpcy5hc0FycmF5KCkucmVkdWNlKFxuICAgICAgKG1lbW8sIFtrZXksIHZhbHVlXSkgPT4gKHsgLi4ubWVtbywgW2tleV06IHZhbHVlIH0pLFxuICAgICAge31cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGaWx0ZXJNZW1iZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHF1ZXJ5OiBRdWVyeSkge31cblxuICBwcml2YXRlIGdldCBmaWx0ZXJzKCkge1xuICAgIC8vIFRPRE86IHVwZGF0ZSB0aGlzIHR5cGUgYXNzZXJ0aW9uIG9uY2UgdGhlIFF1ZXJ5QnVpbGRlciBzdXBwb3J0cyBsb2dpY2FsIGFuZC9vclxuICAgIHJldHVybiAodGhpcy5xdWVyeS5hc0N1YmVRdWVyeSgpLmZpbHRlcnMgfHwgW10pIGFzIChVbmFyeUZpbHRlciB8IEJpbmFyeUZpbHRlcilbXTtcbiAgfVxuXG4gIHVwZGF0ZShieTogc3RyaW5nIHwgbnVtYmVyLCB1cGRhdGVXaXRoOiBQYXJ0aWFsPEZpbHRlcj4pIHtcbiAgICBjb25zdCBmaWx0ZXJzID0gdGhpcy5maWx0ZXJzLm1hcCgoZmlsdGVyLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKGluZGV4ID09PSBieSB8fCBmaWx0ZXIubWVtYmVyID09PSBieSB8fCBmaWx0ZXIuZGltZW5zaW9uID09PSBieSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgICAuLi51cGRhdGVXaXRoLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICB9KTtcblxuICAgIHRoaXMucXVlcnkuc2V0UGFydGlhbFF1ZXJ5KHtcbiAgICAgIGZpbHRlcnM6IGZpbHRlcnMgYXMgRmlsdGVyW10sXG4gICAgfSk7XG4gIH1cblxuICBhZGQoZmlsdGVyOiBGaWx0ZXIpIHtcbiAgICB0aGlzLnF1ZXJ5LnNldFBhcnRpYWxRdWVyeSh7XG4gICAgICBmaWx0ZXJzOiBbLi4udGhpcy5maWx0ZXJzLCBmaWx0ZXJdLFxuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlKGJ5OiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICB0aGlzLnF1ZXJ5LnNldFBhcnRpYWxRdWVyeSh7XG4gICAgICBmaWx0ZXJzOiB0aGlzLmZpbHRlcnMuZmlsdGVyKChmaWx0ZXIsIGluZGV4KSA9PiB7XG4gICAgICAgIGlmIChmaWx0ZXIubWVtYmVyID09PSBieSB8fCBmaWx0ZXIuZGltZW5zaW9uID09PSBieSB8fCBpbmRleCA9PT0gYnkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0pLFxuICAgIH0pO1xuICB9XG5cbiAgc2V0KGZpbHRlcnM6IEZpbHRlcltdKSB7XG4gICAgdGhpcy5xdWVyeS5zZXRQYXJ0aWFsUXVlcnkoe1xuICAgICAgZmlsdGVycyxcbiAgICB9KTtcbiAgfVxuXG4gIHJlcGxhY2UobmFtZTogc3RyaW5nLCByZXBsYWNlV2l0aE5hbWU6IHN0cmluZykge1xuICAgIHRoaXMucXVlcnkuc2V0UGFydGlhbFF1ZXJ5KHtcbiAgICAgIGZpbHRlcnM6IHRoaXMuZmlsdGVycy5tYXAoKGZpbHRlcikgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZCA9IGZpbHRlci5tZW1iZXIgPyAnbWVtYmVyJyA6ICdkaW1lbnNpb24nO1xuICAgICAgICByZXR1cm4gZmlsdGVyLm1lbWJlciA9PT0gbmFtZSB8fCBmaWx0ZXIuZGltZW5zaW9uID09PSBuYW1lXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgICAgICAgW2ZpZWxkXTogcmVwbGFjZVdpdGhOYW1lLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogZmlsdGVyO1xuICAgICAgfSksXG4gICAgfSk7XG4gIH1cblxuICBhc0FycmF5KCk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJzLm1hcCgoZmlsdGVyKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi50aGlzLnF1ZXJ5Lm1ldGEucmVzb2x2ZU1lbWJlcihmaWx0ZXIubWVtYmVyIHx8IGZpbHRlci5kaW1lbnNpb24sIFtcbiAgICAgICAgICAnZGltZW5zaW9ucycsXG4gICAgICAgICAgJ21lYXN1cmVzJyxcbiAgICAgICAgXSksXG4gICAgICAgIG9wZXJhdG9yczogdGhpcy5xdWVyeS5tZXRhLmZpbHRlck9wZXJhdG9yc0Zvck1lbWJlcihcbiAgICAgICAgICBmaWx0ZXIubWVtYmVyIHx8IGZpbHRlci5kaW1lbnNpb24sXG4gICAgICAgICAgWydkaW1lbnNpb25zJywgJ21lYXN1cmVzJ11cbiAgICAgICAgKSxcbiAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -4,7 +4,7 @@ import { __awaiter } from 'tslib';
|
|
|
4
4
|
import { BehaviorSubject, Observable, from, Subject, combineLatest, of } from 'rxjs';
|
|
5
5
|
import cube, { moveItemInArray, isQueryPresent, movePivotItem, ResultSet, defaultHeuristics } from '@cubejs-client/core';
|
|
6
6
|
import { switchMap, catchError } from 'rxjs/operators';
|
|
7
|
-
import equal from 'fast-deep-equal';
|
|
7
|
+
import equal from 'fast-deep-equal/es6';
|
|
8
8
|
|
|
9
9
|
class CubeClient {
|
|
10
10
|
constructor(config) {
|
|
@@ -61,18 +61,16 @@ class CubeClient {
|
|
|
61
61
|
}));
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
/** @nocollapse */
|
|
65
|
-
/** @nocollapse */
|
|
66
|
-
(
|
|
67
|
-
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CubeClient, [{
|
|
64
|
+
/** @nocollapse */ CubeClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClient, deps: [{ token: 'config' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
65
|
+
/** @nocollapse */ CubeClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClient });
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClient, decorators: [{
|
|
68
67
|
type: Injectable
|
|
69
|
-
}], function () {
|
|
68
|
+
}], ctorParameters: function () {
|
|
70
69
|
return [{ type: undefined, decorators: [{
|
|
71
70
|
type: Inject,
|
|
72
71
|
args: ['config']
|
|
73
72
|
}] }];
|
|
74
|
-
}
|
|
75
|
-
})();
|
|
73
|
+
} });
|
|
76
74
|
|
|
77
75
|
class CubeClientModule {
|
|
78
76
|
static forRoot(config) {
|
|
@@ -88,17 +86,15 @@ class CubeClientModule {
|
|
|
88
86
|
};
|
|
89
87
|
}
|
|
90
88
|
}
|
|
91
|
-
/** @nocollapse */
|
|
92
|
-
/** @nocollapse */
|
|
93
|
-
/** @nocollapse */
|
|
94
|
-
(
|
|
95
|
-
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CubeClientModule, [{
|
|
89
|
+
/** @nocollapse */ CubeClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
90
|
+
/** @nocollapse */ CubeClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClientModule });
|
|
91
|
+
/** @nocollapse */ CubeClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClientModule, providers: [CubeClient] });
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClientModule, decorators: [{
|
|
96
93
|
type: NgModule,
|
|
97
94
|
args: [{
|
|
98
95
|
providers: [CubeClient],
|
|
99
96
|
}]
|
|
100
|
-
}]
|
|
101
|
-
})();
|
|
97
|
+
}] });
|
|
102
98
|
|
|
103
99
|
class StateSubject {
|
|
104
100
|
constructor(value) {
|
|
@@ -501,13 +497,11 @@ class QueryBuilderService {
|
|
|
501
497
|
this._disableHeuristics = true;
|
|
502
498
|
}
|
|
503
499
|
}
|
|
504
|
-
/** @nocollapse */
|
|
505
|
-
/** @nocollapse */
|
|
506
|
-
(
|
|
507
|
-
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryBuilderService, [{
|
|
500
|
+
/** @nocollapse */ QueryBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
501
|
+
/** @nocollapse */ QueryBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryBuilderService });
|
|
502
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryBuilderService, decorators: [{
|
|
508
503
|
type: Injectable
|
|
509
|
-
}]
|
|
510
|
-
})();
|
|
504
|
+
}] });
|
|
511
505
|
|
|
512
506
|
/*
|
|
513
507
|
* Public API Surface of cubejs-client-ngx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cubejs-client-ngx.mjs","sources":["../../src/client.ts","../../src/module.ts","../../src/query-builder/common.ts","../../src/query-builder/query-members.ts","../../src/query-builder/query.ts","../../src/query-builder/builder-meta.ts","../../src/query-builder/pivot-config.ts","../../src/query-builder/chart-type.ts","../../src/query-builder/query-builder.service.ts","../../src/public_api.ts","../../index.ts","../../cubejs-client-ngx.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from, BehaviorSubject } from 'rxjs';\nimport cube, {\n CubeApi,\n CubeApiOptions,\n DryRunResponse,\n LoadMethodOptions,\n Meta,\n Query,\n ResultSet,\n SqlQuery,\n} from '@cubejs-client/core';\n\nexport type CubeConfig = {\n token: string;\n options?: CubeApiOptions;\n};\n\n@Injectable()\nexport class CubeClient {\n public ready$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n private cubeApi: CubeApi;\n\n constructor(@Inject('config') private config: any | Observable<any>) {\n if (this.config instanceof Observable) {\n this.config.subscribe(() => {\n this.ready$.next(true);\n });\n } else {\n this.ready$.next(true);\n }\n }\n\n private apiInstance(): CubeApi {\n if (!this.cubeApi) {\n if (this.config instanceof Observable) {\n this.config.subscribe((config) => {\n this.cubeApi = cube(config.token, config.options);\n\n if (!this.cubeApi) {\n throw new Error(\n 'Cannot create CubeApi instance. Please check that the config is passed correctly and contains all required options.'\n );\n }\n });\n } else {\n this.cubeApi = cube(this.config.token, this.config.options);\n }\n }\n\n return this.cubeApi;\n }\n\n public load(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<ResultSet> {\n return from(<Promise<ResultSet>>this.apiInstance().load(query, options));\n }\n\n public sql(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<SqlQuery> {\n return from(this.apiInstance().sql(query, options));\n }\n\n public dryRun(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<DryRunResponse> {\n return from(this.apiInstance().dryRun(query, options));\n }\n\n public meta(options?: LoadMethodOptions): Observable<Meta> {\n return from(this.apiInstance().meta(options));\n }\n\n public watch(query, params = {}): Observable<ResultSet> {\n return new Observable((observer) =>\n query.subscribe({\n next: async (query) => {\n try {\n const resultSet = await this.apiInstance().load(query, params);\n observer.next(resultSet);\n } catch(err) {\n observer.error(err);\n }\n\n },\n })\n );\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CubeClient } from './client';\n\n@NgModule({\n providers: [CubeClient],\n})\nexport class CubeClientModule {\n public static forRoot(config: any): ModuleWithProviders<CubeClientModule> {\n return {\n ngModule: CubeClientModule,\n providers: [\n CubeClient,\n {\n provide: 'config',\n useValue: config,\n },\n ],\n };\n }\n}\n","import { BehaviorSubject } from 'rxjs';\n\nexport class StateSubject<T = any> {\n subject: BehaviorSubject<T>;\n\n constructor(value: T) {\n this.subject = new BehaviorSubject(value);\n }\n\n get() {\n return this.subject.getValue();\n }\n\n set(value: T) {\n this.subject.next(value);\n }\n}\n","import {\n TimeDimensionGranularity,\n TQueryOrderObject,\n TQueryOrderArray,\n moveItemInArray,\n Filter,\n UnaryFilter,\n BinaryFilter,\n} from '@cubejs-client/core';\nimport { BehaviorSubject } from 'rxjs';\nimport equal from 'fast-deep-equal';\n\nimport { Query } from './query';\n\nexport type TOrder = 'asc' | 'desc' | 'none';\n\nexport type TOrderMember = {\n id: string;\n order: TOrder;\n title: string;\n};\n\nexport class BaseMember {\n constructor(\n private query: Query,\n private field: 'measures' | 'dimensions' | 'segments'\n ) {}\n\n private get members() {\n return this.query.asCubeQuery()[this.field] || [];\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n [this.field]: [...this.members, name],\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n [this.field]: this.members.map((currentName) =>\n currentName === name ? replaceWithName : currentName\n ),\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n [this.field]: this.query\n .asCubeQuery()\n [this.field].filter((currentName, index) => {\n if (typeof by === 'string') {\n return currentName !== by;\n }\n\n return index !== by;\n }),\n });\n }\n\n set(members: string[]) {\n this.query.setPartialQuery({\n [this.field]: members,\n });\n }\n\n asArray() {\n return (this.query.asCubeQuery()[this.field] || []).map((name) =>\n this.query.meta.resolveMember(name, this.field)\n );\n }\n}\n\nexport class TimeDimensionMember {\n constructor(private query: Query) {}\n\n private get members() {\n return this.query.asCubeQuery().timeDimensions || [];\n }\n\n get granularity() {\n return this.members[0]?.granularity;\n }\n\n updateTimeDimension(by: string | number, updateWith: any) {\n const timeDimensions = this.members.map((td, index) => {\n if (td.dimension === by || index === by) {\n return {\n ...td,\n ...updateWith,\n };\n }\n return td;\n });\n\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n timeDimensions: [\n {\n dimension: name,\n },\n ],\n });\n }\n\n remove(name: string) {\n this.query.setPartialQuery({\n timeDimensions: this.members.filter(\n ({ dimension }) => dimension !== name\n ),\n });\n }\n\n set(timeDimensions: any[]) {\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n setDateRange(by: string | number, dateRange: string | string[]) {\n this.updateTimeDimension(by, { dateRange });\n }\n\n setGranularity(by: string | number, granularity: TimeDimensionGranularity) {\n this.updateTimeDimension(by, { granularity });\n }\n\n asArray(): any[] {\n return (this.query.asCubeQuery().timeDimensions || []).map((td) => {\n return {\n ...this.query.meta.resolveMember(td.dimension, 'dimensions'),\n ...td,\n };\n });\n }\n}\n\nexport class Order {\n orderMembers = new BehaviorSubject<TOrderMember[]>([]);\n\n constructor(private query: Query) {\n this.query.subject.subscribe(this.handleQueryChange.bind(this));\n this.orderMembers.subscribe(this.handleOrderMembersChange.bind(this));\n }\n\n private handleOrderMembersChange(orderMembers: TOrderMember[]) {\n const order = orderMembers\n .filter(({ order }) => order !== 'none')\n .reduce(\n (memo, { id, order }) => ({ ...memo, [id]: order }),\n {}\n ) as TQueryOrderObject;\n\n if (!equal(order, this.asObject())) {\n this.query.setPartialQuery({ order });\n }\n }\n\n private handleQueryChange() {\n this.orderMembers.next(\n [\n ...this.query.measures.asArray(),\n ...this.query.dimensions.asArray(),\n ...this.query.timeDimensions.asArray(),\n ].map<TOrderMember>(({ name, title }) => {\n return {\n id: name,\n order: this.of(name),\n title,\n };\n })\n );\n }\n\n setMemberOrder(id: string, order: TOrder) {\n this.orderMembers.next(\n this.orderMembers.getValue().map((orderMember) => {\n if (orderMember.id === id) {\n return {\n ...orderMember,\n order,\n };\n }\n return orderMember;\n })\n );\n }\n\n reorder(sourceIndex: number, destinationIndex: number) {\n this.orderMembers.next(\n moveItemInArray(\n this.orderMembers.getValue(),\n sourceIndex,\n destinationIndex\n )\n );\n }\n\n of(member: string) {\n return (this.query.asCubeQuery().order || {})[member] || 'none';\n }\n\n set(order: TQueryOrderObject | TQueryOrderArray) {\n this.query.setPartialQuery({ order });\n }\n\n asArray(): TQueryOrderArray {\n if (Array.isArray(this.query.asCubeQuery().order)) {\n return this.query.asCubeQuery().order as TQueryOrderArray;\n }\n\n return Object.entries(this.query.asCubeQuery().order || {});\n }\n\n asObject(): TQueryOrderObject {\n return this.asArray().reduce(\n (memo, [key, value]) => ({ ...memo, [key]: value }),\n {}\n );\n }\n}\n\nexport class FilterMember {\n constructor(private query: Query) {}\n\n private get filters() {\n // TODO: update this type assertion once the QueryBuilder supports logical and/or\n return (this.query.asCubeQuery().filters || []) as (UnaryFilter | BinaryFilter)[];\n }\n\n update(by: string | number, updateWith: Partial<Filter>) {\n const filters = this.filters.map((filter, index) => {\n if (index === by || filter.member === by || filter.dimension === by) {\n return {\n ...filter,\n ...updateWith,\n };\n }\n return filter;\n });\n\n this.query.setPartialQuery({\n filters: filters as Filter[],\n });\n }\n\n add(filter: Filter) {\n this.query.setPartialQuery({\n filters: [...this.filters, filter],\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n filters: this.filters.filter((filter, index) => {\n if (filter.member === by || filter.dimension === by || index === by) {\n return false;\n }\n\n return true;\n }),\n });\n }\n\n set(filters: Filter[]) {\n this.query.setPartialQuery({\n filters,\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n filters: this.filters.map((filter) => {\n const field = filter.member ? 'member' : 'dimension';\n return filter.member === name || filter.dimension === name\n ? {\n ...filter,\n [field]: replaceWithName,\n }\n : filter;\n }),\n });\n }\n\n asArray(): any[] {\n return this.filters.map((filter) => {\n return {\n ...this.query.meta.resolveMember(filter.member || filter.dimension, [\n 'dimensions',\n 'measures',\n ]),\n operators: this.query.meta.filterOperatorsForMember(\n filter.member || filter.dimension,\n ['dimensions', 'measures']\n ),\n ...filter,\n };\n });\n }\n}\n","import { isQueryPresent, Meta, Query as TCubeQuery } from '@cubejs-client/core';\n\nimport { StateSubject } from './common';\nimport { BaseMember, FilterMember, Order, TimeDimensionMember } from './query-members';\n\nexport enum MemberType {\n Measures = 'measures',\n Dimensions = 'dimensions',\n Segments = 'segments',\n TimeDimensions = 'timeDimensions',\n Filters = 'filters',\n Order = 'order',\n}\n\nexport type OnChangeCallback = (\n newQuery: TCubeQuery,\n oldQuery: TCubeQuery,\n query: Query\n) => TCubeQuery;\n\nexport class Query extends StateSubject<TCubeQuery> {\n measures: BaseMember;\n dimensions: BaseMember;\n segments: BaseMember;\n timeDimensions: TimeDimensionMember;\n filters: FilterMember;\n order: Order;\n\n constructor(\n public meta: Meta,\n private _onBeforeChange: OnChangeCallback = (newQuery) => newQuery\n ) {\n super({});\n this.init();\n }\n\n private init() {\n this.measures = new BaseMember(this, MemberType.Measures);\n this.dimensions = new BaseMember(this, MemberType.Dimensions);\n this.segments = new BaseMember(this, MemberType.Segments);\n this.timeDimensions = new TimeDimensionMember(this);\n this.filters = new FilterMember(this);\n this.order = new Order(this);\n }\n\n asCubeQuery(): TCubeQuery {\n return this.subject.getValue() || {};\n }\n\n setQuery(query: TCubeQuery) {\n this.subject.next(this._onBeforeChange(query, this.subject.getValue(), this));\n }\n\n setPartialQuery(partialQuery: Partial<TCubeQuery>) {\n this.subject.next(\n this._onBeforeChange(\n {\n ...this.subject.getValue(),\n ...partialQuery,\n },\n this.subject.getValue(),\n this\n )\n );\n }\n\n setLimit(limit: number) {\n this.setPartialQuery({ limit });\n }\n \n isPresent(): boolean {\n return isQueryPresent(this.asCubeQuery());\n }\n}\n","import {\n Meta,\n TCubeDimension,\n TCubeMeasure,\n TCubeMember,\n} from '@cubejs-client/core';\n\nexport class BuilderMeta {\n measures: TCubeMeasure[];\n dimensions: TCubeDimension[];\n segments: TCubeMember[];\n timeDimensions: TCubeDimension[];\n filters: Array<TCubeMeasure | TCubeDimension>;\n\n constructor(public readonly meta: Meta) {\n this.mapMeta();\n }\n\n private mapMeta() {\n const allDimensions = <TCubeDimension[]>(\n this.meta.membersForQuery(null, 'dimensions')\n );\n\n this.measures = <TCubeMeasure[]>this.meta.membersForQuery(null, 'measures');\n this.segments = this.meta.membersForQuery(null, 'segments');\n this.dimensions = allDimensions.filter(({ type }) => type !== 'time');\n this.timeDimensions = allDimensions.filter(({ type }) => type === 'time');\n this.filters = [...allDimensions, ...this.measures].map((member) => {\n return {\n ...member,\n operators: this.meta.filterOperatorsForMember(member.name, [\n 'dimensions',\n 'measures',\n ]),\n };\n });\n }\n}\n","import {\n movePivotItem,\n PivotConfig as TPivotConfig,\n TSourceAxis,\n} from '@cubejs-client/core';\nimport { StateSubject } from './common';\n\nexport class PivotConfig extends StateSubject<TPivotConfig> {\n constructor(pivotConfig: TPivotConfig) {\n super(pivotConfig);\n }\n \n moveItem(\n sourceIndex: number,\n destinationIndex: number,\n sourceAxis: TSourceAxis,\n destinationAxis: TSourceAxis\n ) {\n this.subject.next(\n movePivotItem(\n this.get(),\n sourceIndex,\n destinationIndex,\n sourceAxis,\n destinationAxis\n )\n );\n }\n \n setFillMissingDates(fillMissingDates: boolean) {\n this.subject.next({\n ...this.get(),\n fillMissingDates\n });\n }\n}\n","import { StateSubject } from './common';\n\nexport type TChartType = 'line' | 'area' | 'bar' | 'number' | 'table' | 'pie';\n\nexport class ChartType extends StateSubject<TChartType> {\n constructor(value) {\n super(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Meta,\n ResultSet,\n Query as TCubeQuery,\n PivotConfig as TPivotConfig,\n isQueryPresent,\n defaultHeuristics,\n} from '@cubejs-client/core';\nimport { BehaviorSubject, combineLatest, of, Subject } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\n\nimport { CubeClient } from '../client';\nimport { Query } from './query';\nimport { BuilderMeta } from './builder-meta';\nimport { PivotConfig } from './pivot-config';\nimport { ChartType, TChartType } from './chart-type';\nimport { StateSubject } from './common';\n\nexport type TQueryBuilderState = {\n query?: TCubeQuery;\n pivotConfig?: TPivotConfig;\n chartType?: TChartType;\n};\n\n@Injectable()\nexport class QueryBuilderService {\n private _cube: CubeClient;\n private _meta: Meta;\n private _query: Query;\n private _disableHeuristics: boolean = false;\n private _resolveQuery: (query: Query) => void;\n private _resolveBuilderMeta: (query: BuilderMeta) => void;\n private _heuristicChange$ = new Subject<any>();\n\n readonly builderMeta = new Promise<BuilderMeta>(\n (resolve) => (this._resolveBuilderMeta = resolve)\n );\n readonly query = new Promise<Query>(\n (resolve) => (this._resolveQuery = resolve)\n );\n readonly state = new BehaviorSubject<TQueryBuilderState>({});\n\n pivotConfig: PivotConfig;\n chartType: ChartType;\n\n private async init() {\n this.pivotConfig = new PivotConfig(null);\n this.chartType = new ChartType('line');\n\n this._cube.meta().subscribe((meta) => {\n this._meta = meta;\n\n this._query = new Query(\n this._meta,\n this._handleQueryChange.bind(this)\n );\n this._resolveQuery(this._query);\n this._resolveBuilderMeta(new BuilderMeta(this._meta));\n });\n\n this.subscribe();\n\n if (!this._disableHeuristics) {\n this._heuristicChange$\n .pipe(\n switchMap((data) => {\n return combineLatest([\n this._cube.dryRun(data.query).pipe(catchError((error) => {\n console.error(error);\n return of(null);\n })),\n of(data.shouldApplyHeuristicOrder),\n ]);\n })\n )\n .subscribe(\n ([dryRunResponse, shouldApplyHeuristicOrder]) => {\n if (!dryRunResponse) {\n return;\n }\n \n const { pivotQuery, queryOrder } = dryRunResponse;\n \n this.pivotConfig.set(\n ResultSet.getNormalizedPivotConfig(\n pivotQuery,\n this.pivotConfig.get()\n )\n );\n if (shouldApplyHeuristicOrder) {\n this._query.order.set(\n queryOrder.reduce((a, b) => ({ ...a, ...b }), {})\n );\n }\n }\n );\n }\n }\n\n private _handleQueryChange(newQuery, oldQuery) {\n const {\n chartType,\n shouldApplyHeuristicOrder,\n query: heuristicQuery,\n } = defaultHeuristics(newQuery, oldQuery, {\n meta: this._meta,\n sessionGranularity: newQuery?.timeDimensions?.[0]?.granularity,\n });\n\n const query = this._disableHeuristics\n ? newQuery\n : heuristicQuery || newQuery;\n\n if (isQueryPresent(query) && !this._disableHeuristics) {\n this._heuristicChange$.next({\n shouldApplyHeuristicOrder: Boolean(shouldApplyHeuristicOrder),\n query,\n });\n }\n\n if (!this._disableHeuristics && chartType) {\n this.chartType.set(chartType);\n }\n\n return query;\n }\n\n setCubeClient(cubeClient: CubeClient) {\n this._cube = cubeClient;\n this.init();\n }\n\n private subscribe() {\n Object.getOwnPropertyNames(this).forEach((key) => {\n if (this[key] instanceof StateSubject) {\n this[key].subject.subscribe((value) =>\n this.setPartialState({\n [key]: value,\n })\n );\n }\n });\n this.query.then((query) => {\n query.subject.subscribe((cubeQuery) => {\n this.setPartialState({\n query: cubeQuery,\n });\n });\n });\n }\n\n async deserialize(state) {\n if (state.query) {\n (await this.query).setQuery(state.query);\n }\n\n Object.entries(state).forEach(([key, value]) => {\n if (this[key] instanceof StateSubject) {\n this[key].set(value);\n }\n });\n\n this.subscribe();\n }\n\n setPartialState(partialState) {\n this.state.next({\n ...this.state.getValue(),\n ...partialState,\n });\n }\n\n disableHeuristics() {\n this._disableHeuristics = false;\n }\n\n enableHeuristics() {\n this._disableHeuristics = true;\n }\n}\n","/*\n * Public API Surface of cubejs-client-ngx\n */\n\nexport { CubeClientModule } from './module';\nexport * from './client';\nexport * from './query-builder/query-builder.service';\nexport * from './query-builder/query';\nexport * from './query-builder/builder-meta';\nexport * from './query-builder/query-members';\nexport * from './query-builder/pivot-config';\nexport * from './query-builder/chart-type';\n","// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './src/public_api';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cubejs-client-ngx.mjs","sources":["../../src/client.ts","../../src/module.ts","../../src/query-builder/common.ts","../../src/query-builder/query-members.ts","../../src/query-builder/query.ts","../../src/query-builder/builder-meta.ts","../../src/query-builder/pivot-config.ts","../../src/query-builder/chart-type.ts","../../src/query-builder/query-builder.service.ts","../../src/public_api.ts","../../index.ts","../../cubejs-client-ngx.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from, BehaviorSubject } from 'rxjs';\nimport cube, {\n CubeApi,\n CubeApiOptions,\n DryRunResponse,\n LoadMethodOptions,\n Meta,\n Query,\n ResultSet,\n SqlQuery,\n} from '@cubejs-client/core';\n\nexport type CubeConfig = {\n token: string;\n options?: CubeApiOptions;\n};\n\n@Injectable()\nexport class CubeClient {\n public ready$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n private cubeApi: CubeApi;\n\n constructor(@Inject('config') private config: any | Observable<any>) {\n if (this.config instanceof Observable) {\n this.config.subscribe(() => {\n this.ready$.next(true);\n });\n } else {\n this.ready$.next(true);\n }\n }\n\n private apiInstance(): CubeApi {\n if (!this.cubeApi) {\n if (this.config instanceof Observable) {\n this.config.subscribe((config) => {\n this.cubeApi = cube(config.token, config.options);\n\n if (!this.cubeApi) {\n throw new Error(\n 'Cannot create CubeApi instance. Please check that the config is passed correctly and contains all required options.'\n );\n }\n });\n } else {\n this.cubeApi = cube(this.config.token, this.config.options);\n }\n }\n\n return this.cubeApi;\n }\n\n public load(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<ResultSet> {\n return from(<Promise<ResultSet>>this.apiInstance().load(query, options));\n }\n\n public sql(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<SqlQuery> {\n return from(this.apiInstance().sql(query, options));\n }\n\n public dryRun(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<DryRunResponse> {\n return from(this.apiInstance().dryRun(query, options));\n }\n\n public meta(options?: LoadMethodOptions): Observable<Meta> {\n return from(this.apiInstance().meta(options));\n }\n\n public watch(query, params = {}): Observable<ResultSet> {\n return new Observable((observer) =>\n query.subscribe({\n next: async (query) => {\n try {\n const resultSet = await this.apiInstance().load(query, params);\n observer.next(resultSet);\n } catch(err) {\n observer.error(err);\n }\n\n },\n })\n );\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CubeClient } from './client';\n\n@NgModule({\n providers: [CubeClient],\n})\nexport class CubeClientModule {\n public static forRoot(config: any): ModuleWithProviders<CubeClientModule> {\n return {\n ngModule: CubeClientModule,\n providers: [\n CubeClient,\n {\n provide: 'config',\n useValue: config,\n },\n ],\n };\n }\n}\n","import { BehaviorSubject } from 'rxjs';\n\nexport class StateSubject<T = any> {\n subject: BehaviorSubject<T>;\n\n constructor(value: T) {\n this.subject = new BehaviorSubject(value);\n }\n\n get() {\n return this.subject.getValue();\n }\n\n set(value: T) {\n this.subject.next(value);\n }\n}\n","import {\n TimeDimensionGranularity,\n TQueryOrderObject,\n TQueryOrderArray,\n moveItemInArray,\n Filter,\n UnaryFilter,\n BinaryFilter,\n} from '@cubejs-client/core';\nimport { BehaviorSubject } from 'rxjs';\nimport equal from 'fast-deep-equal/es6';\n\nimport { Query } from './query';\n\nexport type TOrder = 'asc' | 'desc' | 'none';\n\nexport type TOrderMember = {\n id: string;\n order: TOrder;\n title: string;\n};\n\nexport class BaseMember {\n constructor(\n private query: Query,\n private field: 'measures' | 'dimensions' | 'segments'\n ) {}\n\n private get members() {\n return this.query.asCubeQuery()[this.field] || [];\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n [this.field]: [...this.members, name],\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n [this.field]: this.members.map((currentName) =>\n currentName === name ? replaceWithName : currentName\n ),\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n [this.field]: this.query\n .asCubeQuery()\n [this.field].filter((currentName, index) => {\n if (typeof by === 'string') {\n return currentName !== by;\n }\n\n return index !== by;\n }),\n });\n }\n\n set(members: string[]) {\n this.query.setPartialQuery({\n [this.field]: members,\n });\n }\n\n asArray() {\n return (this.query.asCubeQuery()[this.field] || []).map((name) =>\n this.query.meta.resolveMember(name, this.field)\n );\n }\n}\n\nexport class TimeDimensionMember {\n constructor(private query: Query) {}\n\n private get members() {\n return this.query.asCubeQuery().timeDimensions || [];\n }\n\n get granularity() {\n return this.members[0]?.granularity;\n }\n\n updateTimeDimension(by: string | number, updateWith: any) {\n const timeDimensions = this.members.map((td, index) => {\n if (td.dimension === by || index === by) {\n return {\n ...td,\n ...updateWith,\n };\n }\n return td;\n });\n\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n timeDimensions: [\n {\n dimension: name,\n },\n ],\n });\n }\n\n remove(name: string) {\n this.query.setPartialQuery({\n timeDimensions: this.members.filter(\n ({ dimension }) => dimension !== name\n ),\n });\n }\n\n set(timeDimensions: any[]) {\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n setDateRange(by: string | number, dateRange: string | string[]) {\n this.updateTimeDimension(by, { dateRange });\n }\n\n setGranularity(by: string | number, granularity: TimeDimensionGranularity) {\n this.updateTimeDimension(by, { granularity });\n }\n\n asArray(): any[] {\n return (this.query.asCubeQuery().timeDimensions || []).map((td) => {\n return {\n ...this.query.meta.resolveMember(td.dimension, 'dimensions'),\n ...td,\n };\n });\n }\n}\n\nexport class Order {\n orderMembers = new BehaviorSubject<TOrderMember[]>([]);\n\n constructor(private query: Query) {\n this.query.subject.subscribe(this.handleQueryChange.bind(this));\n this.orderMembers.subscribe(this.handleOrderMembersChange.bind(this));\n }\n\n private handleOrderMembersChange(orderMembers: TOrderMember[]) {\n const order = orderMembers\n .filter(({ order }) => order !== 'none')\n .reduce(\n (memo, { id, order }) => ({ ...memo, [id]: order }),\n {}\n ) as TQueryOrderObject;\n\n if (!equal(order, this.asObject())) {\n this.query.setPartialQuery({ order });\n }\n }\n\n private handleQueryChange() {\n this.orderMembers.next(\n [\n ...this.query.measures.asArray(),\n ...this.query.dimensions.asArray(),\n ...this.query.timeDimensions.asArray(),\n ].map<TOrderMember>(({ name, title }) => {\n return {\n id: name,\n order: this.of(name),\n title,\n };\n })\n );\n }\n\n setMemberOrder(id: string, order: TOrder) {\n this.orderMembers.next(\n this.orderMembers.getValue().map((orderMember) => {\n if (orderMember.id === id) {\n return {\n ...orderMember,\n order,\n };\n }\n return orderMember;\n })\n );\n }\n\n reorder(sourceIndex: number, destinationIndex: number) {\n this.orderMembers.next(\n moveItemInArray(\n this.orderMembers.getValue(),\n sourceIndex,\n destinationIndex\n )\n );\n }\n\n of(member: string) {\n return (this.query.asCubeQuery().order || {})[member] || 'none';\n }\n\n set(order: TQueryOrderObject | TQueryOrderArray) {\n this.query.setPartialQuery({ order });\n }\n\n asArray(): TQueryOrderArray {\n if (Array.isArray(this.query.asCubeQuery().order)) {\n return this.query.asCubeQuery().order as TQueryOrderArray;\n }\n\n return Object.entries(this.query.asCubeQuery().order || {});\n }\n\n asObject(): TQueryOrderObject {\n return this.asArray().reduce(\n (memo, [key, value]) => ({ ...memo, [key]: value }),\n {}\n );\n }\n}\n\nexport class FilterMember {\n constructor(private query: Query) {}\n\n private get filters() {\n // TODO: update this type assertion once the QueryBuilder supports logical and/or\n return (this.query.asCubeQuery().filters || []) as (UnaryFilter | BinaryFilter)[];\n }\n\n update(by: string | number, updateWith: Partial<Filter>) {\n const filters = this.filters.map((filter, index) => {\n if (index === by || filter.member === by || filter.dimension === by) {\n return {\n ...filter,\n ...updateWith,\n };\n }\n return filter;\n });\n\n this.query.setPartialQuery({\n filters: filters as Filter[],\n });\n }\n\n add(filter: Filter) {\n this.query.setPartialQuery({\n filters: [...this.filters, filter],\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n filters: this.filters.filter((filter, index) => {\n if (filter.member === by || filter.dimension === by || index === by) {\n return false;\n }\n\n return true;\n }),\n });\n }\n\n set(filters: Filter[]) {\n this.query.setPartialQuery({\n filters,\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n filters: this.filters.map((filter) => {\n const field = filter.member ? 'member' : 'dimension';\n return filter.member === name || filter.dimension === name\n ? {\n ...filter,\n [field]: replaceWithName,\n }\n : filter;\n }),\n });\n }\n\n asArray(): any[] {\n return this.filters.map((filter) => {\n return {\n ...this.query.meta.resolveMember(filter.member || filter.dimension, [\n 'dimensions',\n 'measures',\n ]),\n operators: this.query.meta.filterOperatorsForMember(\n filter.member || filter.dimension,\n ['dimensions', 'measures']\n ),\n ...filter,\n };\n });\n }\n}\n","import { isQueryPresent, Meta, Query as TCubeQuery } from '@cubejs-client/core';\n\nimport { StateSubject } from './common';\nimport { BaseMember, FilterMember, Order, TimeDimensionMember } from './query-members';\n\nexport enum MemberType {\n Measures = 'measures',\n Dimensions = 'dimensions',\n Segments = 'segments',\n TimeDimensions = 'timeDimensions',\n Filters = 'filters',\n Order = 'order',\n}\n\nexport type OnChangeCallback = (\n newQuery: TCubeQuery,\n oldQuery: TCubeQuery,\n query: Query\n) => TCubeQuery;\n\nexport class Query extends StateSubject<TCubeQuery> {\n measures: BaseMember;\n dimensions: BaseMember;\n segments: BaseMember;\n timeDimensions: TimeDimensionMember;\n filters: FilterMember;\n order: Order;\n\n constructor(\n public meta: Meta,\n private _onBeforeChange: OnChangeCallback = (newQuery) => newQuery\n ) {\n super({});\n this.init();\n }\n\n private init() {\n this.measures = new BaseMember(this, MemberType.Measures);\n this.dimensions = new BaseMember(this, MemberType.Dimensions);\n this.segments = new BaseMember(this, MemberType.Segments);\n this.timeDimensions = new TimeDimensionMember(this);\n this.filters = new FilterMember(this);\n this.order = new Order(this);\n }\n\n asCubeQuery(): TCubeQuery {\n return this.subject.getValue() || {};\n }\n\n setQuery(query: TCubeQuery) {\n this.subject.next(this._onBeforeChange(query, this.subject.getValue(), this));\n }\n\n setPartialQuery(partialQuery: Partial<TCubeQuery>) {\n this.subject.next(\n this._onBeforeChange(\n {\n ...this.subject.getValue(),\n ...partialQuery,\n },\n this.subject.getValue(),\n this\n )\n );\n }\n\n setLimit(limit: number) {\n this.setPartialQuery({ limit });\n }\n \n isPresent(): boolean {\n return isQueryPresent(this.asCubeQuery());\n }\n}\n","import {\n Meta,\n TCubeDimension,\n TCubeMeasure,\n TCubeMember,\n} from '@cubejs-client/core';\n\nexport class BuilderMeta {\n measures: TCubeMeasure[];\n dimensions: TCubeDimension[];\n segments: TCubeMember[];\n timeDimensions: TCubeDimension[];\n filters: Array<TCubeMeasure | TCubeDimension>;\n\n constructor(public readonly meta: Meta) {\n this.mapMeta();\n }\n\n private mapMeta() {\n const allDimensions = <TCubeDimension[]>(\n this.meta.membersForQuery(null, 'dimensions')\n );\n\n this.measures = <TCubeMeasure[]>this.meta.membersForQuery(null, 'measures');\n this.segments = this.meta.membersForQuery(null, 'segments');\n this.dimensions = allDimensions.filter(({ type }) => type !== 'time');\n this.timeDimensions = allDimensions.filter(({ type }) => type === 'time');\n this.filters = [...allDimensions, ...this.measures].map((member) => {\n return {\n ...member,\n operators: this.meta.filterOperatorsForMember(member.name, [\n 'dimensions',\n 'measures',\n ]),\n };\n });\n }\n}\n","import {\n movePivotItem,\n PivotConfig as TPivotConfig,\n TSourceAxis,\n} from '@cubejs-client/core';\nimport { StateSubject } from './common';\n\nexport class PivotConfig extends StateSubject<TPivotConfig> {\n constructor(pivotConfig: TPivotConfig) {\n super(pivotConfig);\n }\n \n moveItem(\n sourceIndex: number,\n destinationIndex: number,\n sourceAxis: TSourceAxis,\n destinationAxis: TSourceAxis\n ) {\n this.subject.next(\n movePivotItem(\n this.get(),\n sourceIndex,\n destinationIndex,\n sourceAxis,\n destinationAxis\n )\n );\n }\n \n setFillMissingDates(fillMissingDates: boolean) {\n this.subject.next({\n ...this.get(),\n fillMissingDates\n });\n }\n}\n","import { StateSubject } from './common';\n\nexport type TChartType = 'line' | 'area' | 'bar' | 'number' | 'table' | 'pie';\n\nexport class ChartType extends StateSubject<TChartType> {\n constructor(value) {\n super(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Meta,\n ResultSet,\n Query as TCubeQuery,\n PivotConfig as TPivotConfig,\n isQueryPresent,\n defaultHeuristics,\n} from '@cubejs-client/core';\nimport { BehaviorSubject, combineLatest, of, Subject } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\n\nimport { CubeClient } from '../client';\nimport { Query } from './query';\nimport { BuilderMeta } from './builder-meta';\nimport { PivotConfig } from './pivot-config';\nimport { ChartType, TChartType } from './chart-type';\nimport { StateSubject } from './common';\n\nexport type TQueryBuilderState = {\n query?: TCubeQuery;\n pivotConfig?: TPivotConfig;\n chartType?: TChartType;\n};\n\n@Injectable()\nexport class QueryBuilderService {\n private _cube: CubeClient;\n private _meta: Meta;\n private _query: Query;\n private _disableHeuristics: boolean = false;\n private _resolveQuery: (query: Query) => void;\n private _resolveBuilderMeta: (query: BuilderMeta) => void;\n private _heuristicChange$ = new Subject<any>();\n\n readonly builderMeta = new Promise<BuilderMeta>(\n (resolve) => (this._resolveBuilderMeta = resolve)\n );\n readonly query = new Promise<Query>(\n (resolve) => (this._resolveQuery = resolve)\n );\n readonly state = new BehaviorSubject<TQueryBuilderState>({});\n\n pivotConfig: PivotConfig;\n chartType: ChartType;\n\n private async init() {\n this.pivotConfig = new PivotConfig(null);\n this.chartType = new ChartType('line');\n\n this._cube.meta().subscribe((meta) => {\n this._meta = meta;\n\n this._query = new Query(\n this._meta,\n this._handleQueryChange.bind(this)\n );\n this._resolveQuery(this._query);\n this._resolveBuilderMeta(new BuilderMeta(this._meta));\n });\n\n this.subscribe();\n\n if (!this._disableHeuristics) {\n this._heuristicChange$\n .pipe(\n switchMap((data) => {\n return combineLatest([\n this._cube.dryRun(data.query).pipe(catchError((error) => {\n console.error(error);\n return of(null);\n })),\n of(data.shouldApplyHeuristicOrder),\n ]);\n })\n )\n .subscribe(\n ([dryRunResponse, shouldApplyHeuristicOrder]) => {\n if (!dryRunResponse) {\n return;\n }\n \n const { pivotQuery, queryOrder } = dryRunResponse;\n \n this.pivotConfig.set(\n ResultSet.getNormalizedPivotConfig(\n pivotQuery,\n this.pivotConfig.get()\n )\n );\n if (shouldApplyHeuristicOrder) {\n this._query.order.set(\n queryOrder.reduce((a, b) => ({ ...a, ...b }), {})\n );\n }\n }\n );\n }\n }\n\n private _handleQueryChange(newQuery, oldQuery) {\n const {\n chartType,\n shouldApplyHeuristicOrder,\n query: heuristicQuery,\n } = defaultHeuristics(newQuery, oldQuery, {\n meta: this._meta,\n sessionGranularity: newQuery?.timeDimensions?.[0]?.granularity,\n });\n\n const query = this._disableHeuristics\n ? newQuery\n : heuristicQuery || newQuery;\n\n if (isQueryPresent(query) && !this._disableHeuristics) {\n this._heuristicChange$.next({\n shouldApplyHeuristicOrder: Boolean(shouldApplyHeuristicOrder),\n query,\n });\n }\n\n if (!this._disableHeuristics && chartType) {\n this.chartType.set(chartType);\n }\n\n return query;\n }\n\n setCubeClient(cubeClient: CubeClient) {\n this._cube = cubeClient;\n this.init();\n }\n\n private subscribe() {\n Object.getOwnPropertyNames(this).forEach((key) => {\n if (this[key] instanceof StateSubject) {\n this[key].subject.subscribe((value) =>\n this.setPartialState({\n [key]: value,\n })\n );\n }\n });\n this.query.then((query) => {\n query.subject.subscribe((cubeQuery) => {\n this.setPartialState({\n query: cubeQuery,\n });\n });\n });\n }\n\n async deserialize(state) {\n if (state.query) {\n (await this.query).setQuery(state.query);\n }\n\n Object.entries(state).forEach(([key, value]) => {\n if (this[key] instanceof StateSubject) {\n this[key].set(value);\n }\n });\n\n this.subscribe();\n }\n\n setPartialState(partialState) {\n this.state.next({\n ...this.state.getValue(),\n ...partialState,\n });\n }\n\n disableHeuristics() {\n this._disableHeuristics = false;\n }\n\n enableHeuristics() {\n this._disableHeuristics = true;\n }\n}\n","/*\n * Public API Surface of cubejs-client-ngx\n */\n\nexport { CubeClientModule } from './module';\nexport * from './client';\nexport * from './query-builder/query-builder.service';\nexport * from './query-builder/query';\nexport * from './query-builder/builder-meta';\nexport * from './query-builder/query-members';\nexport * from './query-builder/pivot-config';\nexport * from './query-builder/chart-type';\n","// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './src/public_api';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { Injectable, Inject, NgModule } from '@angular/core';
|
|
|
3
3
|
import { BehaviorSubject, Observable, from, Subject, combineLatest, of } from 'rxjs';
|
|
4
4
|
import cube, { moveItemInArray, isQueryPresent, movePivotItem, ResultSet, defaultHeuristics } from '@cubejs-client/core';
|
|
5
5
|
import { switchMap, catchError } from 'rxjs/operators';
|
|
6
|
-
import equal from 'fast-deep-equal';
|
|
6
|
+
import equal from 'fast-deep-equal/es6';
|
|
7
7
|
|
|
8
8
|
class CubeClient {
|
|
9
9
|
constructor(config) {
|
|
@@ -60,14 +60,14 @@ class CubeClient {
|
|
|
60
60
|
}));
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
/** @nocollapse */
|
|
64
|
-
/** @nocollapse */
|
|
65
|
-
(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
63
|
+
/** @nocollapse */ CubeClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClient, deps: [{ token: 'config' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
64
|
+
/** @nocollapse */ CubeClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClient });
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClient, decorators: [{
|
|
66
|
+
type: Injectable
|
|
67
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
68
|
+
type: Inject,
|
|
69
|
+
args: ['config']
|
|
70
|
+
}] }]; } });
|
|
71
71
|
|
|
72
72
|
class CubeClientModule {
|
|
73
73
|
static forRoot(config) {
|
|
@@ -83,15 +83,15 @@ class CubeClientModule {
|
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
|
-
/** @nocollapse */
|
|
87
|
-
/** @nocollapse */
|
|
88
|
-
/** @nocollapse */
|
|
89
|
-
(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
86
|
+
/** @nocollapse */ CubeClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
87
|
+
/** @nocollapse */ CubeClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClientModule });
|
|
88
|
+
/** @nocollapse */ CubeClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClientModule, providers: [CubeClient] });
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CubeClientModule, decorators: [{
|
|
90
|
+
type: NgModule,
|
|
91
|
+
args: [{
|
|
92
|
+
providers: [CubeClient],
|
|
93
|
+
}]
|
|
94
|
+
}] });
|
|
95
95
|
|
|
96
96
|
class StateSubject {
|
|
97
97
|
constructor(value) {
|
|
@@ -520,11 +520,11 @@ class QueryBuilderService {
|
|
|
520
520
|
this._disableHeuristics = true;
|
|
521
521
|
}
|
|
522
522
|
}
|
|
523
|
-
/** @nocollapse */
|
|
524
|
-
/** @nocollapse */
|
|
525
|
-
(
|
|
526
|
-
|
|
527
|
-
|
|
523
|
+
/** @nocollapse */ QueryBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
524
|
+
/** @nocollapse */ QueryBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryBuilderService });
|
|
525
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryBuilderService, decorators: [{
|
|
526
|
+
type: Injectable
|
|
527
|
+
}] });
|
|
528
528
|
|
|
529
529
|
/*
|
|
530
530
|
* Public API Surface of cubejs-client-ngx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cubejs-client-ngx.mjs","sources":["../../src/client.ts","../../src/module.ts","../../src/query-builder/common.ts","../../src/query-builder/query-members.ts","../../src/query-builder/query.ts","../../src/query-builder/builder-meta.ts","../../src/query-builder/pivot-config.ts","../../src/query-builder/chart-type.ts","../../src/query-builder/query-builder.service.ts","../../src/public_api.ts","../../index.ts","../../cubejs-client-ngx.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from, BehaviorSubject } from 'rxjs';\nimport cube, {\n CubeApi,\n CubeApiOptions,\n DryRunResponse,\n LoadMethodOptions,\n Meta,\n Query,\n ResultSet,\n SqlQuery,\n} from '@cubejs-client/core';\n\nexport type CubeConfig = {\n token: string;\n options?: CubeApiOptions;\n};\n\n@Injectable()\nexport class CubeClient {\n public ready$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n private cubeApi: CubeApi;\n\n constructor(@Inject('config') private config: any | Observable<any>) {\n if (this.config instanceof Observable) {\n this.config.subscribe(() => {\n this.ready$.next(true);\n });\n } else {\n this.ready$.next(true);\n }\n }\n\n private apiInstance(): CubeApi {\n if (!this.cubeApi) {\n if (this.config instanceof Observable) {\n this.config.subscribe((config) => {\n this.cubeApi = cube(config.token, config.options);\n\n if (!this.cubeApi) {\n throw new Error(\n 'Cannot create CubeApi instance. Please check that the config is passed correctly and contains all required options.'\n );\n }\n });\n } else {\n this.cubeApi = cube(this.config.token, this.config.options);\n }\n }\n\n return this.cubeApi;\n }\n\n public load(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<ResultSet> {\n return from(<Promise<ResultSet>>this.apiInstance().load(query, options));\n }\n\n public sql(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<SqlQuery> {\n return from(this.apiInstance().sql(query, options));\n }\n\n public dryRun(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<DryRunResponse> {\n return from(this.apiInstance().dryRun(query, options));\n }\n\n public meta(options?: LoadMethodOptions): Observable<Meta> {\n return from(this.apiInstance().meta(options));\n }\n\n public watch(query, params = {}): Observable<ResultSet> {\n return new Observable((observer) =>\n query.subscribe({\n next: async (query) => {\n try {\n const resultSet = await this.apiInstance().load(query, params);\n observer.next(resultSet);\n } catch(err) {\n observer.error(err);\n }\n\n },\n })\n );\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CubeClient } from './client';\n\n@NgModule({\n providers: [CubeClient],\n})\nexport class CubeClientModule {\n public static forRoot(config: any): ModuleWithProviders<CubeClientModule> {\n return {\n ngModule: CubeClientModule,\n providers: [\n CubeClient,\n {\n provide: 'config',\n useValue: config,\n },\n ],\n };\n }\n}\n","import { BehaviorSubject } from 'rxjs';\n\nexport class StateSubject<T = any> {\n subject: BehaviorSubject<T>;\n\n constructor(value: T) {\n this.subject = new BehaviorSubject(value);\n }\n\n get() {\n return this.subject.getValue();\n }\n\n set(value: T) {\n this.subject.next(value);\n }\n}\n","import {\n TimeDimensionGranularity,\n TQueryOrderObject,\n TQueryOrderArray,\n moveItemInArray,\n Filter,\n UnaryFilter,\n BinaryFilter,\n} from '@cubejs-client/core';\nimport { BehaviorSubject } from 'rxjs';\nimport equal from 'fast-deep-equal';\n\nimport { Query } from './query';\n\nexport type TOrder = 'asc' | 'desc' | 'none';\n\nexport type TOrderMember = {\n id: string;\n order: TOrder;\n title: string;\n};\n\nexport class BaseMember {\n constructor(\n private query: Query,\n private field: 'measures' | 'dimensions' | 'segments'\n ) {}\n\n private get members() {\n return this.query.asCubeQuery()[this.field] || [];\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n [this.field]: [...this.members, name],\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n [this.field]: this.members.map((currentName) =>\n currentName === name ? replaceWithName : currentName\n ),\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n [this.field]: this.query\n .asCubeQuery()\n [this.field].filter((currentName, index) => {\n if (typeof by === 'string') {\n return currentName !== by;\n }\n\n return index !== by;\n }),\n });\n }\n\n set(members: string[]) {\n this.query.setPartialQuery({\n [this.field]: members,\n });\n }\n\n asArray() {\n return (this.query.asCubeQuery()[this.field] || []).map((name) =>\n this.query.meta.resolveMember(name, this.field)\n );\n }\n}\n\nexport class TimeDimensionMember {\n constructor(private query: Query) {}\n\n private get members() {\n return this.query.asCubeQuery().timeDimensions || [];\n }\n\n get granularity() {\n return this.members[0]?.granularity;\n }\n\n updateTimeDimension(by: string | number, updateWith: any) {\n const timeDimensions = this.members.map((td, index) => {\n if (td.dimension === by || index === by) {\n return {\n ...td,\n ...updateWith,\n };\n }\n return td;\n });\n\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n timeDimensions: [\n {\n dimension: name,\n },\n ],\n });\n }\n\n remove(name: string) {\n this.query.setPartialQuery({\n timeDimensions: this.members.filter(\n ({ dimension }) => dimension !== name\n ),\n });\n }\n\n set(timeDimensions: any[]) {\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n setDateRange(by: string | number, dateRange: string | string[]) {\n this.updateTimeDimension(by, { dateRange });\n }\n\n setGranularity(by: string | number, granularity: TimeDimensionGranularity) {\n this.updateTimeDimension(by, { granularity });\n }\n\n asArray(): any[] {\n return (this.query.asCubeQuery().timeDimensions || []).map((td) => {\n return {\n ...this.query.meta.resolveMember(td.dimension, 'dimensions'),\n ...td,\n };\n });\n }\n}\n\nexport class Order {\n orderMembers = new BehaviorSubject<TOrderMember[]>([]);\n\n constructor(private query: Query) {\n this.query.subject.subscribe(this.handleQueryChange.bind(this));\n this.orderMembers.subscribe(this.handleOrderMembersChange.bind(this));\n }\n\n private handleOrderMembersChange(orderMembers: TOrderMember[]) {\n const order = orderMembers\n .filter(({ order }) => order !== 'none')\n .reduce(\n (memo, { id, order }) => ({ ...memo, [id]: order }),\n {}\n ) as TQueryOrderObject;\n\n if (!equal(order, this.asObject())) {\n this.query.setPartialQuery({ order });\n }\n }\n\n private handleQueryChange() {\n this.orderMembers.next(\n [\n ...this.query.measures.asArray(),\n ...this.query.dimensions.asArray(),\n ...this.query.timeDimensions.asArray(),\n ].map<TOrderMember>(({ name, title }) => {\n return {\n id: name,\n order: this.of(name),\n title,\n };\n })\n );\n }\n\n setMemberOrder(id: string, order: TOrder) {\n this.orderMembers.next(\n this.orderMembers.getValue().map((orderMember) => {\n if (orderMember.id === id) {\n return {\n ...orderMember,\n order,\n };\n }\n return orderMember;\n })\n );\n }\n\n reorder(sourceIndex: number, destinationIndex: number) {\n this.orderMembers.next(\n moveItemInArray(\n this.orderMembers.getValue(),\n sourceIndex,\n destinationIndex\n )\n );\n }\n\n of(member: string) {\n return (this.query.asCubeQuery().order || {})[member] || 'none';\n }\n\n set(order: TQueryOrderObject | TQueryOrderArray) {\n this.query.setPartialQuery({ order });\n }\n\n asArray(): TQueryOrderArray {\n if (Array.isArray(this.query.asCubeQuery().order)) {\n return this.query.asCubeQuery().order as TQueryOrderArray;\n }\n\n return Object.entries(this.query.asCubeQuery().order || {});\n }\n\n asObject(): TQueryOrderObject {\n return this.asArray().reduce(\n (memo, [key, value]) => ({ ...memo, [key]: value }),\n {}\n );\n }\n}\n\nexport class FilterMember {\n constructor(private query: Query) {}\n\n private get filters() {\n // TODO: update this type assertion once the QueryBuilder supports logical and/or\n return (this.query.asCubeQuery().filters || []) as (UnaryFilter | BinaryFilter)[];\n }\n\n update(by: string | number, updateWith: Partial<Filter>) {\n const filters = this.filters.map((filter, index) => {\n if (index === by || filter.member === by || filter.dimension === by) {\n return {\n ...filter,\n ...updateWith,\n };\n }\n return filter;\n });\n\n this.query.setPartialQuery({\n filters: filters as Filter[],\n });\n }\n\n add(filter: Filter) {\n this.query.setPartialQuery({\n filters: [...this.filters, filter],\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n filters: this.filters.filter((filter, index) => {\n if (filter.member === by || filter.dimension === by || index === by) {\n return false;\n }\n\n return true;\n }),\n });\n }\n\n set(filters: Filter[]) {\n this.query.setPartialQuery({\n filters,\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n filters: this.filters.map((filter) => {\n const field = filter.member ? 'member' : 'dimension';\n return filter.member === name || filter.dimension === name\n ? {\n ...filter,\n [field]: replaceWithName,\n }\n : filter;\n }),\n });\n }\n\n asArray(): any[] {\n return this.filters.map((filter) => {\n return {\n ...this.query.meta.resolveMember(filter.member || filter.dimension, [\n 'dimensions',\n 'measures',\n ]),\n operators: this.query.meta.filterOperatorsForMember(\n filter.member || filter.dimension,\n ['dimensions', 'measures']\n ),\n ...filter,\n };\n });\n }\n}\n","import { isQueryPresent, Meta, Query as TCubeQuery } from '@cubejs-client/core';\n\nimport { StateSubject } from './common';\nimport { BaseMember, FilterMember, Order, TimeDimensionMember } from './query-members';\n\nexport enum MemberType {\n Measures = 'measures',\n Dimensions = 'dimensions',\n Segments = 'segments',\n TimeDimensions = 'timeDimensions',\n Filters = 'filters',\n Order = 'order',\n}\n\nexport type OnChangeCallback = (\n newQuery: TCubeQuery,\n oldQuery: TCubeQuery,\n query: Query\n) => TCubeQuery;\n\nexport class Query extends StateSubject<TCubeQuery> {\n measures: BaseMember;\n dimensions: BaseMember;\n segments: BaseMember;\n timeDimensions: TimeDimensionMember;\n filters: FilterMember;\n order: Order;\n\n constructor(\n public meta: Meta,\n private _onBeforeChange: OnChangeCallback = (newQuery) => newQuery\n ) {\n super({});\n this.init();\n }\n\n private init() {\n this.measures = new BaseMember(this, MemberType.Measures);\n this.dimensions = new BaseMember(this, MemberType.Dimensions);\n this.segments = new BaseMember(this, MemberType.Segments);\n this.timeDimensions = new TimeDimensionMember(this);\n this.filters = new FilterMember(this);\n this.order = new Order(this);\n }\n\n asCubeQuery(): TCubeQuery {\n return this.subject.getValue() || {};\n }\n\n setQuery(query: TCubeQuery) {\n this.subject.next(this._onBeforeChange(query, this.subject.getValue(), this));\n }\n\n setPartialQuery(partialQuery: Partial<TCubeQuery>) {\n this.subject.next(\n this._onBeforeChange(\n {\n ...this.subject.getValue(),\n ...partialQuery,\n },\n this.subject.getValue(),\n this\n )\n );\n }\n\n setLimit(limit: number) {\n this.setPartialQuery({ limit });\n }\n \n isPresent(): boolean {\n return isQueryPresent(this.asCubeQuery());\n }\n}\n","import {\n Meta,\n TCubeDimension,\n TCubeMeasure,\n TCubeMember,\n} from '@cubejs-client/core';\n\nexport class BuilderMeta {\n measures: TCubeMeasure[];\n dimensions: TCubeDimension[];\n segments: TCubeMember[];\n timeDimensions: TCubeDimension[];\n filters: Array<TCubeMeasure | TCubeDimension>;\n\n constructor(public readonly meta: Meta) {\n this.mapMeta();\n }\n\n private mapMeta() {\n const allDimensions = <TCubeDimension[]>(\n this.meta.membersForQuery(null, 'dimensions')\n );\n\n this.measures = <TCubeMeasure[]>this.meta.membersForQuery(null, 'measures');\n this.segments = this.meta.membersForQuery(null, 'segments');\n this.dimensions = allDimensions.filter(({ type }) => type !== 'time');\n this.timeDimensions = allDimensions.filter(({ type }) => type === 'time');\n this.filters = [...allDimensions, ...this.measures].map((member) => {\n return {\n ...member,\n operators: this.meta.filterOperatorsForMember(member.name, [\n 'dimensions',\n 'measures',\n ]),\n };\n });\n }\n}\n","import {\n movePivotItem,\n PivotConfig as TPivotConfig,\n TSourceAxis,\n} from '@cubejs-client/core';\nimport { StateSubject } from './common';\n\nexport class PivotConfig extends StateSubject<TPivotConfig> {\n constructor(pivotConfig: TPivotConfig) {\n super(pivotConfig);\n }\n \n moveItem(\n sourceIndex: number,\n destinationIndex: number,\n sourceAxis: TSourceAxis,\n destinationAxis: TSourceAxis\n ) {\n this.subject.next(\n movePivotItem(\n this.get(),\n sourceIndex,\n destinationIndex,\n sourceAxis,\n destinationAxis\n )\n );\n }\n \n setFillMissingDates(fillMissingDates: boolean) {\n this.subject.next({\n ...this.get(),\n fillMissingDates\n });\n }\n}\n","import { StateSubject } from './common';\n\nexport type TChartType = 'line' | 'area' | 'bar' | 'number' | 'table' | 'pie';\n\nexport class ChartType extends StateSubject<TChartType> {\n constructor(value) {\n super(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Meta,\n ResultSet,\n Query as TCubeQuery,\n PivotConfig as TPivotConfig,\n isQueryPresent,\n defaultHeuristics,\n} from '@cubejs-client/core';\nimport { BehaviorSubject, combineLatest, of, Subject } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\n\nimport { CubeClient } from '../client';\nimport { Query } from './query';\nimport { BuilderMeta } from './builder-meta';\nimport { PivotConfig } from './pivot-config';\nimport { ChartType, TChartType } from './chart-type';\nimport { StateSubject } from './common';\n\nexport type TQueryBuilderState = {\n query?: TCubeQuery;\n pivotConfig?: TPivotConfig;\n chartType?: TChartType;\n};\n\n@Injectable()\nexport class QueryBuilderService {\n private _cube: CubeClient;\n private _meta: Meta;\n private _query: Query;\n private _disableHeuristics: boolean = false;\n private _resolveQuery: (query: Query) => void;\n private _resolveBuilderMeta: (query: BuilderMeta) => void;\n private _heuristicChange$ = new Subject<any>();\n\n readonly builderMeta = new Promise<BuilderMeta>(\n (resolve) => (this._resolveBuilderMeta = resolve)\n );\n readonly query = new Promise<Query>(\n (resolve) => (this._resolveQuery = resolve)\n );\n readonly state = new BehaviorSubject<TQueryBuilderState>({});\n\n pivotConfig: PivotConfig;\n chartType: ChartType;\n\n private async init() {\n this.pivotConfig = new PivotConfig(null);\n this.chartType = new ChartType('line');\n\n this._cube.meta().subscribe((meta) => {\n this._meta = meta;\n\n this._query = new Query(\n this._meta,\n this._handleQueryChange.bind(this)\n );\n this._resolveQuery(this._query);\n this._resolveBuilderMeta(new BuilderMeta(this._meta));\n });\n\n this.subscribe();\n\n if (!this._disableHeuristics) {\n this._heuristicChange$\n .pipe(\n switchMap((data) => {\n return combineLatest([\n this._cube.dryRun(data.query).pipe(catchError((error) => {\n console.error(error);\n return of(null);\n })),\n of(data.shouldApplyHeuristicOrder),\n ]);\n })\n )\n .subscribe(\n ([dryRunResponse, shouldApplyHeuristicOrder]) => {\n if (!dryRunResponse) {\n return;\n }\n \n const { pivotQuery, queryOrder } = dryRunResponse;\n \n this.pivotConfig.set(\n ResultSet.getNormalizedPivotConfig(\n pivotQuery,\n this.pivotConfig.get()\n )\n );\n if (shouldApplyHeuristicOrder) {\n this._query.order.set(\n queryOrder.reduce((a, b) => ({ ...a, ...b }), {})\n );\n }\n }\n );\n }\n }\n\n private _handleQueryChange(newQuery, oldQuery) {\n const {\n chartType,\n shouldApplyHeuristicOrder,\n query: heuristicQuery,\n } = defaultHeuristics(newQuery, oldQuery, {\n meta: this._meta,\n sessionGranularity: newQuery?.timeDimensions?.[0]?.granularity,\n });\n\n const query = this._disableHeuristics\n ? newQuery\n : heuristicQuery || newQuery;\n\n if (isQueryPresent(query) && !this._disableHeuristics) {\n this._heuristicChange$.next({\n shouldApplyHeuristicOrder: Boolean(shouldApplyHeuristicOrder),\n query,\n });\n }\n\n if (!this._disableHeuristics && chartType) {\n this.chartType.set(chartType);\n }\n\n return query;\n }\n\n setCubeClient(cubeClient: CubeClient) {\n this._cube = cubeClient;\n this.init();\n }\n\n private subscribe() {\n Object.getOwnPropertyNames(this).forEach((key) => {\n if (this[key] instanceof StateSubject) {\n this[key].subject.subscribe((value) =>\n this.setPartialState({\n [key]: value,\n })\n );\n }\n });\n this.query.then((query) => {\n query.subject.subscribe((cubeQuery) => {\n this.setPartialState({\n query: cubeQuery,\n });\n });\n });\n }\n\n async deserialize(state) {\n if (state.query) {\n (await this.query).setQuery(state.query);\n }\n\n Object.entries(state).forEach(([key, value]) => {\n if (this[key] instanceof StateSubject) {\n this[key].set(value);\n }\n });\n\n this.subscribe();\n }\n\n setPartialState(partialState) {\n this.state.next({\n ...this.state.getValue(),\n ...partialState,\n });\n }\n\n disableHeuristics() {\n this._disableHeuristics = false;\n }\n\n enableHeuristics() {\n this._disableHeuristics = true;\n }\n}\n","/*\n * Public API Surface of cubejs-client-ngx\n */\n\nexport { CubeClientModule } from './module';\nexport * from './client';\nexport * from './query-builder/query-builder.service';\nexport * from './query-builder/query';\nexport * from './query-builder/builder-meta';\nexport * from './query-builder/query-members';\nexport * from './query-builder/pivot-config';\nexport * from './query-builder/chart-type';\n","// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './src/public_api';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cubejs-client-ngx.mjs","sources":["../../src/client.ts","../../src/module.ts","../../src/query-builder/common.ts","../../src/query-builder/query-members.ts","../../src/query-builder/query.ts","../../src/query-builder/builder-meta.ts","../../src/query-builder/pivot-config.ts","../../src/query-builder/chart-type.ts","../../src/query-builder/query-builder.service.ts","../../src/public_api.ts","../../index.ts","../../cubejs-client-ngx.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from, BehaviorSubject } from 'rxjs';\nimport cube, {\n CubeApi,\n CubeApiOptions,\n DryRunResponse,\n LoadMethodOptions,\n Meta,\n Query,\n ResultSet,\n SqlQuery,\n} from '@cubejs-client/core';\n\nexport type CubeConfig = {\n token: string;\n options?: CubeApiOptions;\n};\n\n@Injectable()\nexport class CubeClient {\n public ready$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n private cubeApi: CubeApi;\n\n constructor(@Inject('config') private config: any | Observable<any>) {\n if (this.config instanceof Observable) {\n this.config.subscribe(() => {\n this.ready$.next(true);\n });\n } else {\n this.ready$.next(true);\n }\n }\n\n private apiInstance(): CubeApi {\n if (!this.cubeApi) {\n if (this.config instanceof Observable) {\n this.config.subscribe((config) => {\n this.cubeApi = cube(config.token, config.options);\n\n if (!this.cubeApi) {\n throw new Error(\n 'Cannot create CubeApi instance. Please check that the config is passed correctly and contains all required options.'\n );\n }\n });\n } else {\n this.cubeApi = cube(this.config.token, this.config.options);\n }\n }\n\n return this.cubeApi;\n }\n\n public load(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<ResultSet> {\n return from(<Promise<ResultSet>>this.apiInstance().load(query, options));\n }\n\n public sql(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<SqlQuery> {\n return from(this.apiInstance().sql(query, options));\n }\n\n public dryRun(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<DryRunResponse> {\n return from(this.apiInstance().dryRun(query, options));\n }\n\n public meta(options?: LoadMethodOptions): Observable<Meta> {\n return from(this.apiInstance().meta(options));\n }\n\n public watch(query, params = {}): Observable<ResultSet> {\n return new Observable((observer) =>\n query.subscribe({\n next: async (query) => {\n try {\n const resultSet = await this.apiInstance().load(query, params);\n observer.next(resultSet);\n } catch(err) {\n observer.error(err);\n }\n\n },\n })\n );\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CubeClient } from './client';\n\n@NgModule({\n providers: [CubeClient],\n})\nexport class CubeClientModule {\n public static forRoot(config: any): ModuleWithProviders<CubeClientModule> {\n return {\n ngModule: CubeClientModule,\n providers: [\n CubeClient,\n {\n provide: 'config',\n useValue: config,\n },\n ],\n };\n }\n}\n","import { BehaviorSubject } from 'rxjs';\n\nexport class StateSubject<T = any> {\n subject: BehaviorSubject<T>;\n\n constructor(value: T) {\n this.subject = new BehaviorSubject(value);\n }\n\n get() {\n return this.subject.getValue();\n }\n\n set(value: T) {\n this.subject.next(value);\n }\n}\n","import {\n TimeDimensionGranularity,\n TQueryOrderObject,\n TQueryOrderArray,\n moveItemInArray,\n Filter,\n UnaryFilter,\n BinaryFilter,\n} from '@cubejs-client/core';\nimport { BehaviorSubject } from 'rxjs';\nimport equal from 'fast-deep-equal/es6';\n\nimport { Query } from './query';\n\nexport type TOrder = 'asc' | 'desc' | 'none';\n\nexport type TOrderMember = {\n id: string;\n order: TOrder;\n title: string;\n};\n\nexport class BaseMember {\n constructor(\n private query: Query,\n private field: 'measures' | 'dimensions' | 'segments'\n ) {}\n\n private get members() {\n return this.query.asCubeQuery()[this.field] || [];\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n [this.field]: [...this.members, name],\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n [this.field]: this.members.map((currentName) =>\n currentName === name ? replaceWithName : currentName\n ),\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n [this.field]: this.query\n .asCubeQuery()\n [this.field].filter((currentName, index) => {\n if (typeof by === 'string') {\n return currentName !== by;\n }\n\n return index !== by;\n }),\n });\n }\n\n set(members: string[]) {\n this.query.setPartialQuery({\n [this.field]: members,\n });\n }\n\n asArray() {\n return (this.query.asCubeQuery()[this.field] || []).map((name) =>\n this.query.meta.resolveMember(name, this.field)\n );\n }\n}\n\nexport class TimeDimensionMember {\n constructor(private query: Query) {}\n\n private get members() {\n return this.query.asCubeQuery().timeDimensions || [];\n }\n\n get granularity() {\n return this.members[0]?.granularity;\n }\n\n updateTimeDimension(by: string | number, updateWith: any) {\n const timeDimensions = this.members.map((td, index) => {\n if (td.dimension === by || index === by) {\n return {\n ...td,\n ...updateWith,\n };\n }\n return td;\n });\n\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n timeDimensions: [\n {\n dimension: name,\n },\n ],\n });\n }\n\n remove(name: string) {\n this.query.setPartialQuery({\n timeDimensions: this.members.filter(\n ({ dimension }) => dimension !== name\n ),\n });\n }\n\n set(timeDimensions: any[]) {\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n setDateRange(by: string | number, dateRange: string | string[]) {\n this.updateTimeDimension(by, { dateRange });\n }\n\n setGranularity(by: string | number, granularity: TimeDimensionGranularity) {\n this.updateTimeDimension(by, { granularity });\n }\n\n asArray(): any[] {\n return (this.query.asCubeQuery().timeDimensions || []).map((td) => {\n return {\n ...this.query.meta.resolveMember(td.dimension, 'dimensions'),\n ...td,\n };\n });\n }\n}\n\nexport class Order {\n orderMembers = new BehaviorSubject<TOrderMember[]>([]);\n\n constructor(private query: Query) {\n this.query.subject.subscribe(this.handleQueryChange.bind(this));\n this.orderMembers.subscribe(this.handleOrderMembersChange.bind(this));\n }\n\n private handleOrderMembersChange(orderMembers: TOrderMember[]) {\n const order = orderMembers\n .filter(({ order }) => order !== 'none')\n .reduce(\n (memo, { id, order }) => ({ ...memo, [id]: order }),\n {}\n ) as TQueryOrderObject;\n\n if (!equal(order, this.asObject())) {\n this.query.setPartialQuery({ order });\n }\n }\n\n private handleQueryChange() {\n this.orderMembers.next(\n [\n ...this.query.measures.asArray(),\n ...this.query.dimensions.asArray(),\n ...this.query.timeDimensions.asArray(),\n ].map<TOrderMember>(({ name, title }) => {\n return {\n id: name,\n order: this.of(name),\n title,\n };\n })\n );\n }\n\n setMemberOrder(id: string, order: TOrder) {\n this.orderMembers.next(\n this.orderMembers.getValue().map((orderMember) => {\n if (orderMember.id === id) {\n return {\n ...orderMember,\n order,\n };\n }\n return orderMember;\n })\n );\n }\n\n reorder(sourceIndex: number, destinationIndex: number) {\n this.orderMembers.next(\n moveItemInArray(\n this.orderMembers.getValue(),\n sourceIndex,\n destinationIndex\n )\n );\n }\n\n of(member: string) {\n return (this.query.asCubeQuery().order || {})[member] || 'none';\n }\n\n set(order: TQueryOrderObject | TQueryOrderArray) {\n this.query.setPartialQuery({ order });\n }\n\n asArray(): TQueryOrderArray {\n if (Array.isArray(this.query.asCubeQuery().order)) {\n return this.query.asCubeQuery().order as TQueryOrderArray;\n }\n\n return Object.entries(this.query.asCubeQuery().order || {});\n }\n\n asObject(): TQueryOrderObject {\n return this.asArray().reduce(\n (memo, [key, value]) => ({ ...memo, [key]: value }),\n {}\n );\n }\n}\n\nexport class FilterMember {\n constructor(private query: Query) {}\n\n private get filters() {\n // TODO: update this type assertion once the QueryBuilder supports logical and/or\n return (this.query.asCubeQuery().filters || []) as (UnaryFilter | BinaryFilter)[];\n }\n\n update(by: string | number, updateWith: Partial<Filter>) {\n const filters = this.filters.map((filter, index) => {\n if (index === by || filter.member === by || filter.dimension === by) {\n return {\n ...filter,\n ...updateWith,\n };\n }\n return filter;\n });\n\n this.query.setPartialQuery({\n filters: filters as Filter[],\n });\n }\n\n add(filter: Filter) {\n this.query.setPartialQuery({\n filters: [...this.filters, filter],\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n filters: this.filters.filter((filter, index) => {\n if (filter.member === by || filter.dimension === by || index === by) {\n return false;\n }\n\n return true;\n }),\n });\n }\n\n set(filters: Filter[]) {\n this.query.setPartialQuery({\n filters,\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n filters: this.filters.map((filter) => {\n const field = filter.member ? 'member' : 'dimension';\n return filter.member === name || filter.dimension === name\n ? {\n ...filter,\n [field]: replaceWithName,\n }\n : filter;\n }),\n });\n }\n\n asArray(): any[] {\n return this.filters.map((filter) => {\n return {\n ...this.query.meta.resolveMember(filter.member || filter.dimension, [\n 'dimensions',\n 'measures',\n ]),\n operators: this.query.meta.filterOperatorsForMember(\n filter.member || filter.dimension,\n ['dimensions', 'measures']\n ),\n ...filter,\n };\n });\n }\n}\n","import { isQueryPresent, Meta, Query as TCubeQuery } from '@cubejs-client/core';\n\nimport { StateSubject } from './common';\nimport { BaseMember, FilterMember, Order, TimeDimensionMember } from './query-members';\n\nexport enum MemberType {\n Measures = 'measures',\n Dimensions = 'dimensions',\n Segments = 'segments',\n TimeDimensions = 'timeDimensions',\n Filters = 'filters',\n Order = 'order',\n}\n\nexport type OnChangeCallback = (\n newQuery: TCubeQuery,\n oldQuery: TCubeQuery,\n query: Query\n) => TCubeQuery;\n\nexport class Query extends StateSubject<TCubeQuery> {\n measures: BaseMember;\n dimensions: BaseMember;\n segments: BaseMember;\n timeDimensions: TimeDimensionMember;\n filters: FilterMember;\n order: Order;\n\n constructor(\n public meta: Meta,\n private _onBeforeChange: OnChangeCallback = (newQuery) => newQuery\n ) {\n super({});\n this.init();\n }\n\n private init() {\n this.measures = new BaseMember(this, MemberType.Measures);\n this.dimensions = new BaseMember(this, MemberType.Dimensions);\n this.segments = new BaseMember(this, MemberType.Segments);\n this.timeDimensions = new TimeDimensionMember(this);\n this.filters = new FilterMember(this);\n this.order = new Order(this);\n }\n\n asCubeQuery(): TCubeQuery {\n return this.subject.getValue() || {};\n }\n\n setQuery(query: TCubeQuery) {\n this.subject.next(this._onBeforeChange(query, this.subject.getValue(), this));\n }\n\n setPartialQuery(partialQuery: Partial<TCubeQuery>) {\n this.subject.next(\n this._onBeforeChange(\n {\n ...this.subject.getValue(),\n ...partialQuery,\n },\n this.subject.getValue(),\n this\n )\n );\n }\n\n setLimit(limit: number) {\n this.setPartialQuery({ limit });\n }\n \n isPresent(): boolean {\n return isQueryPresent(this.asCubeQuery());\n }\n}\n","import {\n Meta,\n TCubeDimension,\n TCubeMeasure,\n TCubeMember,\n} from '@cubejs-client/core';\n\nexport class BuilderMeta {\n measures: TCubeMeasure[];\n dimensions: TCubeDimension[];\n segments: TCubeMember[];\n timeDimensions: TCubeDimension[];\n filters: Array<TCubeMeasure | TCubeDimension>;\n\n constructor(public readonly meta: Meta) {\n this.mapMeta();\n }\n\n private mapMeta() {\n const allDimensions = <TCubeDimension[]>(\n this.meta.membersForQuery(null, 'dimensions')\n );\n\n this.measures = <TCubeMeasure[]>this.meta.membersForQuery(null, 'measures');\n this.segments = this.meta.membersForQuery(null, 'segments');\n this.dimensions = allDimensions.filter(({ type }) => type !== 'time');\n this.timeDimensions = allDimensions.filter(({ type }) => type === 'time');\n this.filters = [...allDimensions, ...this.measures].map((member) => {\n return {\n ...member,\n operators: this.meta.filterOperatorsForMember(member.name, [\n 'dimensions',\n 'measures',\n ]),\n };\n });\n }\n}\n","import {\n movePivotItem,\n PivotConfig as TPivotConfig,\n TSourceAxis,\n} from '@cubejs-client/core';\nimport { StateSubject } from './common';\n\nexport class PivotConfig extends StateSubject<TPivotConfig> {\n constructor(pivotConfig: TPivotConfig) {\n super(pivotConfig);\n }\n \n moveItem(\n sourceIndex: number,\n destinationIndex: number,\n sourceAxis: TSourceAxis,\n destinationAxis: TSourceAxis\n ) {\n this.subject.next(\n movePivotItem(\n this.get(),\n sourceIndex,\n destinationIndex,\n sourceAxis,\n destinationAxis\n )\n );\n }\n \n setFillMissingDates(fillMissingDates: boolean) {\n this.subject.next({\n ...this.get(),\n fillMissingDates\n });\n }\n}\n","import { StateSubject } from './common';\n\nexport type TChartType = 'line' | 'area' | 'bar' | 'number' | 'table' | 'pie';\n\nexport class ChartType extends StateSubject<TChartType> {\n constructor(value) {\n super(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Meta,\n ResultSet,\n Query as TCubeQuery,\n PivotConfig as TPivotConfig,\n isQueryPresent,\n defaultHeuristics,\n} from '@cubejs-client/core';\nimport { BehaviorSubject, combineLatest, of, Subject } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\n\nimport { CubeClient } from '../client';\nimport { Query } from './query';\nimport { BuilderMeta } from './builder-meta';\nimport { PivotConfig } from './pivot-config';\nimport { ChartType, TChartType } from './chart-type';\nimport { StateSubject } from './common';\n\nexport type TQueryBuilderState = {\n query?: TCubeQuery;\n pivotConfig?: TPivotConfig;\n chartType?: TChartType;\n};\n\n@Injectable()\nexport class QueryBuilderService {\n private _cube: CubeClient;\n private _meta: Meta;\n private _query: Query;\n private _disableHeuristics: boolean = false;\n private _resolveQuery: (query: Query) => void;\n private _resolveBuilderMeta: (query: BuilderMeta) => void;\n private _heuristicChange$ = new Subject<any>();\n\n readonly builderMeta = new Promise<BuilderMeta>(\n (resolve) => (this._resolveBuilderMeta = resolve)\n );\n readonly query = new Promise<Query>(\n (resolve) => (this._resolveQuery = resolve)\n );\n readonly state = new BehaviorSubject<TQueryBuilderState>({});\n\n pivotConfig: PivotConfig;\n chartType: ChartType;\n\n private async init() {\n this.pivotConfig = new PivotConfig(null);\n this.chartType = new ChartType('line');\n\n this._cube.meta().subscribe((meta) => {\n this._meta = meta;\n\n this._query = new Query(\n this._meta,\n this._handleQueryChange.bind(this)\n );\n this._resolveQuery(this._query);\n this._resolveBuilderMeta(new BuilderMeta(this._meta));\n });\n\n this.subscribe();\n\n if (!this._disableHeuristics) {\n this._heuristicChange$\n .pipe(\n switchMap((data) => {\n return combineLatest([\n this._cube.dryRun(data.query).pipe(catchError((error) => {\n console.error(error);\n return of(null);\n })),\n of(data.shouldApplyHeuristicOrder),\n ]);\n })\n )\n .subscribe(\n ([dryRunResponse, shouldApplyHeuristicOrder]) => {\n if (!dryRunResponse) {\n return;\n }\n \n const { pivotQuery, queryOrder } = dryRunResponse;\n \n this.pivotConfig.set(\n ResultSet.getNormalizedPivotConfig(\n pivotQuery,\n this.pivotConfig.get()\n )\n );\n if (shouldApplyHeuristicOrder) {\n this._query.order.set(\n queryOrder.reduce((a, b) => ({ ...a, ...b }), {})\n );\n }\n }\n );\n }\n }\n\n private _handleQueryChange(newQuery, oldQuery) {\n const {\n chartType,\n shouldApplyHeuristicOrder,\n query: heuristicQuery,\n } = defaultHeuristics(newQuery, oldQuery, {\n meta: this._meta,\n sessionGranularity: newQuery?.timeDimensions?.[0]?.granularity,\n });\n\n const query = this._disableHeuristics\n ? newQuery\n : heuristicQuery || newQuery;\n\n if (isQueryPresent(query) && !this._disableHeuristics) {\n this._heuristicChange$.next({\n shouldApplyHeuristicOrder: Boolean(shouldApplyHeuristicOrder),\n query,\n });\n }\n\n if (!this._disableHeuristics && chartType) {\n this.chartType.set(chartType);\n }\n\n return query;\n }\n\n setCubeClient(cubeClient: CubeClient) {\n this._cube = cubeClient;\n this.init();\n }\n\n private subscribe() {\n Object.getOwnPropertyNames(this).forEach((key) => {\n if (this[key] instanceof StateSubject) {\n this[key].subject.subscribe((value) =>\n this.setPartialState({\n [key]: value,\n })\n );\n }\n });\n this.query.then((query) => {\n query.subject.subscribe((cubeQuery) => {\n this.setPartialState({\n query: cubeQuery,\n });\n });\n });\n }\n\n async deserialize(state) {\n if (state.query) {\n (await this.query).setQuery(state.query);\n }\n\n Object.entries(state).forEach(([key, value]) => {\n if (this[key] instanceof StateSubject) {\n this[key].set(value);\n }\n });\n\n this.subscribe();\n }\n\n setPartialState(partialState) {\n this.state.next({\n ...this.state.getValue(),\n ...partialState,\n });\n }\n\n disableHeuristics() {\n this._disableHeuristics = false;\n }\n\n enableHeuristics() {\n this._disableHeuristics = true;\n }\n}\n","/*\n * Public API Surface of cubejs-client-ngx\n */\n\nexport { CubeClientModule } from './module';\nexport * from './client';\nexport * from './query-builder/query-builder.service';\nexport * from './query-builder/query';\nexport * from './query-builder/builder-meta';\nexport * from './query-builder/query-members';\nexport * from './query-builder/pivot-config';\nexport * from './query-builder/chart-type';\n","// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './src/public_api';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cubejs-client/ngx",
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"author": "Cube Dev, Inc.",
|
|
5
|
+
"engines": {},
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/cube-js/cube.git",
|
|
9
|
+
"directory": "packages/cubejs-client-ngx"
|
|
10
|
+
},
|
|
11
|
+
"description": "Cube.js client for Angular",
|
|
12
|
+
"files": [
|
|
13
|
+
"dist"
|
|
14
|
+
],
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"fast-deep-equal": "^3.1.3",
|
|
18
|
+
"tslib": "^2.3.0"
|
|
19
|
+
},
|
|
20
|
+
"peerDependencies": {
|
|
21
|
+
"@cubejs-client/core": ">=0.28.1",
|
|
22
|
+
"rxjs": ">=6.6.0"
|
|
23
|
+
},
|
|
24
|
+
"module": "fesm2015/cubejs-client-ngx.mjs",
|
|
25
|
+
"es2020": "fesm2020/cubejs-client-ngx.mjs",
|
|
26
|
+
"esm2020": "esm2020/cubejs-client-ngx.mjs",
|
|
27
|
+
"fesm2020": "fesm2020/cubejs-client-ngx.mjs",
|
|
28
|
+
"fesm2015": "fesm2015/cubejs-client-ngx.mjs",
|
|
29
|
+
"typings": "cubejs-client-ngx.d.ts",
|
|
30
|
+
"exports": {
|
|
31
|
+
"./package.json": {
|
|
32
|
+
"default": "./package.json"
|
|
33
|
+
},
|
|
34
|
+
".": {
|
|
35
|
+
"types": "./cubejs-client-ngx.d.ts",
|
|
36
|
+
"esm2020": "./esm2020/cubejs-client-ngx.mjs",
|
|
37
|
+
"es2020": "./fesm2020/cubejs-client-ngx.mjs",
|
|
38
|
+
"es2015": "./fesm2015/cubejs-client-ngx.mjs",
|
|
39
|
+
"node": "./fesm2015/cubejs-client-ngx.mjs",
|
|
40
|
+
"default": "./fesm2020/cubejs-client-ngx.mjs"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"sideEffects": false
|
|
44
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cubejs-client/ngx",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"author": "Cube Dev, Inc.",
|
|
5
5
|
"engines": {},
|
|
6
6
|
"repository": {
|
|
@@ -9,22 +9,18 @@
|
|
|
9
9
|
"directory": "packages/cubejs-client-ngx"
|
|
10
10
|
},
|
|
11
11
|
"description": "Cube.js client for Angular",
|
|
12
|
-
"main": "dist/bundles/cubejs-client-ngx.umd.js",
|
|
13
12
|
"files": [
|
|
14
13
|
"dist"
|
|
15
14
|
],
|
|
16
15
|
"license": "MIT",
|
|
17
|
-
"watch": {
|
|
18
|
-
"dev:publish": "dist/*"
|
|
19
|
-
},
|
|
20
16
|
"scripts": {
|
|
21
|
-
"build": "
|
|
22
|
-
"ng:watch": "
|
|
17
|
+
"build": "ng build",
|
|
18
|
+
"ng:watch": "ng build --watch --configuration development",
|
|
23
19
|
"dev": "yarn build && yalc publish --push"
|
|
24
20
|
},
|
|
25
21
|
"dependencies": {
|
|
26
22
|
"fast-deep-equal": "^3.1.3",
|
|
27
|
-
"tslib": "^2.
|
|
23
|
+
"tslib": "^2.3.0"
|
|
28
24
|
},
|
|
29
25
|
"devDependencies": {
|
|
30
26
|
"@angular-devkit/build-angular": "^13.3.11",
|
|
@@ -33,27 +29,12 @@
|
|
|
33
29
|
"@angular/compiler-cli": "^13.3.11",
|
|
34
30
|
"@angular/core": "^13.3.11",
|
|
35
31
|
"ng-packagr": "^13.3.1",
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"typescript": "~4.5.5"
|
|
32
|
+
"rxjs": "~7.5.0",
|
|
33
|
+
"typescript": "~4.6.2"
|
|
39
34
|
},
|
|
40
35
|
"peerDependencies": {
|
|
41
36
|
"@cubejs-client/core": ">=0.28.1",
|
|
42
37
|
"rxjs": ">=6.6.0"
|
|
43
38
|
},
|
|
44
|
-
"
|
|
45
|
-
"access": "public"
|
|
46
|
-
},
|
|
47
|
-
"module": "dist/fesm2015/cubejs-client-ngx.js",
|
|
48
|
-
"es2015_ivy_ngcc": "__ivy_ngcc__/dist/fesm2015/cubejs-client-ngx.js",
|
|
49
|
-
"es2015": "dist/fesm2015/cubejs-client-ngx.js",
|
|
50
|
-
"esm5": "dist/esm5/cubejs-client-ngx.js",
|
|
51
|
-
"esm2015": "dist/esm2015/cubejs-client-ngx.js",
|
|
52
|
-
"fesm5": "dist/fesm5/cubejs-client-ngx.js",
|
|
53
|
-
"fesm2015_ivy_ngcc": "__ivy_ngcc__/dist/fesm2015/cubejs-client-ngx.js",
|
|
54
|
-
"fesm2015": "dist/fesm2015/cubejs-client-ngx.js",
|
|
55
|
-
"typings": "dist/cubejs-client-ngx.d.ts",
|
|
56
|
-
"metadata": "dist/cubejs-client-ngx.metadata.json",
|
|
57
|
-
"sideEffects": false,
|
|
58
|
-
"gitHead": "a7cf544285f99550fc8927b0321b6921e2384bbe"
|
|
39
|
+
"gitHead": "64c572835e71fdfd7c8aaf87a4fad4cc083c55b5"
|
|
59
40
|
}
|