@meshmakers/octo-services 2.0.2304-14001 → 2.0.2304-23001

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 CHANGED
@@ -1,28 +1,24 @@
1
- # OspServices
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.0.1.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project osp-services` to generate a new component. You can also
8
- use `ng generate directive|pipe|service|class|guard|interface|enum|module --project osp-services`.
9
- > Note: Don't forget to add `--project osp-services` or else it will be added to the default project in
10
- > your `angular.json` file.
11
-
12
- ## Build
13
-
14
- Run `ng build osp-services` to build the project. The build artifacts will be stored in the `dist/` directory.
15
-
16
- ## Publishing
17
-
18
- After building your library with `ng build osp-services`, go to the dist folder `cd dist/osp-services` and
19
- run `npm publish`.
20
-
21
- ## Running unit tests
22
-
23
- Run `ng test osp-services` to execute the unit tests via [Karma](https://karma-runner.github.io).
24
-
25
- ## Further help
26
-
27
- To get more help on the Angular CLI use `ng help` or go check out
28
- the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
1
+ # OctoServices
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project octo-services` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project octo-services`.
8
+ > Note: Don't forget to add `--project octo-services` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build octo-services` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build octo-services`, go to the dist folder `cd dist/octo-services` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test octo-services` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -1,4 +1,8 @@
1
- import { PagedResultDto } from "@meshmakers/shared-services";
2
- export class PagedGraphResultDto extends PagedResultDto {
3
- }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWRHcmFwaFJlc3VsdER0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvb2N0by1zZXJ2aWNlcy9zcmMvbGliL21vZGVscy9wYWdlZEdyYXBoUmVzdWx0RHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxNQUFNLE9BQU8sbUJBQTBCLFNBQVEsY0FBaUI7Q0FHL0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BhZ2VkUmVzdWx0RHRvfSBmcm9tIFwiQG1lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUGFnZWRHcmFwaFJlc3VsdER0bzxQLCBDPiBleHRlbmRzIFBhZ2VkUmVzdWx0RHRvPEM+IHtcclxuXHJcbiAgZG9jdW1lbnQ6IFA7XHJcbn1cclxuIl19
1
+ import { PagedResultDto } from "@meshmakers/shared-services";
2
+ export class PagedGraphResultDto extends PagedResultDto {
3
+ constructor() {
4
+ super();
5
+ this.document = null;
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWRHcmFwaFJlc3VsdER0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvb2N0by1zZXJ2aWNlcy9zcmMvbGliL21vZGVscy9wYWdlZEdyYXBoUmVzdWx0RHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxNQUFNLE9BQU8sbUJBQTBCLFNBQVEsY0FBaUI7SUFJOUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGFnZWRSZXN1bHREdG99IGZyb20gXCJAbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXNcIjtcblxuZXhwb3J0IGNsYXNzIFBhZ2VkR3JhcGhSZXN1bHREdG88UCwgQz4gZXh0ZW5kcyBQYWdlZFJlc3VsdER0bzxDPiB7XG5cbiAgZG9jdW1lbnQ6IFAgfCBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmRvY3VtZW50ID0gbnVsbDtcbiAgfVxufVxuIl19
@@ -1,28 +1,28 @@
1
- import { NgModule } from '@angular/core';
2
- import { OctoServiceOptions } from "./options/octo-service-options";
3
- import * as i0 from "@angular/core";
4
- export class OctoServicesModule {
5
- static forRoot(octoServiceOptions) {
6
- return {
7
- ngModule: OctoServicesModule,
8
- providers: [
9
- {
10
- provide: OctoServiceOptions,
11
- useValue: octoServiceOptions
12
- }
13
- ]
14
- };
15
- }
16
- }
17
- OctoServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: OctoServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
- OctoServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: OctoServicesModule });
19
- OctoServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: OctoServicesModule });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: OctoServicesModule, decorators: [{
21
- type: NgModule,
22
- args: [{
23
- declarations: [],
24
- imports: [],
25
- exports: []
26
- }]
27
- }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2N0by1zZXJ2aWNlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL29jdG8tc2VydmljZXMvc3JjL2xpYi9vY3RvLXNlcnZpY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFRbEUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsT0FBTyxDQUFDLGtCQUFzQztRQUNuRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGtCQUFrQjtvQkFDM0IsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7YUFDRjtTQUNGLENBQUE7SUFDSCxDQUFDOzsrR0FYVSxrQkFBa0I7Z0hBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBTDlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxFQUFFO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7T2N0b1NlcnZpY2VPcHRpb25zfSBmcm9tIFwiLi9vcHRpb25zL29jdG8tc2VydmljZS1vcHRpb25zXCI7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIGV4cG9ydHM6IFtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPY3RvU2VydmljZXNNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KG9jdG9TZXJ2aWNlT3B0aW9uczogT2N0b1NlcnZpY2VPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxPY3RvU2VydmljZXNNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBPY3RvU2VydmljZXNNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IE9jdG9TZXJ2aWNlT3B0aW9ucyxcclxuICAgICAgICAgIHVzZVZhbHVlOiBvY3RvU2VydmljZU9wdGlvbnNcclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
1
+ import { NgModule } from '@angular/core';
2
+ import { OctoServiceOptions } from "./options/octo-service-options";
3
+ import * as i0 from "@angular/core";
4
+ export class OctoServicesModule {
5
+ static forRoot(octoServiceOptions) {
6
+ return {
7
+ ngModule: OctoServicesModule,
8
+ providers: [
9
+ {
10
+ provide: OctoServiceOptions,
11
+ useValue: octoServiceOptions
12
+ }
13
+ ]
14
+ };
15
+ }
16
+ }
17
+ OctoServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OctoServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ OctoServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: OctoServicesModule });
19
+ OctoServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OctoServicesModule });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OctoServicesModule, decorators: [{
21
+ type: NgModule,
22
+ args: [{
23
+ declarations: [],
24
+ imports: [],
25
+ exports: []
26
+ }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2N0by1zZXJ2aWNlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL29jdG8tc2VydmljZXMvc3JjL2xpYi9vY3RvLXNlcnZpY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFRbEUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsT0FBTyxDQUFDLGtCQUFzQztRQUNuRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGtCQUFrQjtvQkFDM0IsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7YUFDRjtTQUNGLENBQUE7SUFDSCxDQUFDOzsrR0FYVSxrQkFBa0I7Z0hBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBTDlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxFQUFFO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09jdG9TZXJ2aWNlT3B0aW9uc30gZnJvbSBcIi4vb3B0aW9ucy9vY3RvLXNlcnZpY2Utb3B0aW9uc1wiO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBPY3RvU2VydmljZXNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChvY3RvU2VydmljZU9wdGlvbnM6IE9jdG9TZXJ2aWNlT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8T2N0b1NlcnZpY2VzTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBPY3RvU2VydmljZXNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE9jdG9TZXJ2aWNlT3B0aW9ucyxcbiAgICAgICAgICB1c2VWYWx1ZTogb2N0b1NlcnZpY2VPcHRpb25zXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +1,7 @@
1
- export class OctoServiceOptions {
2
- }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2N0by1zZXJ2aWNlLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL29jdG8tc2VydmljZXMvc3JjL2xpYi9vcHRpb25zL29jdG8tc2VydmljZS1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxrQkFBa0I7Q0FHOUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgT2N0b1NlcnZpY2VPcHRpb25zIHtcclxuICBhc3NldFNlcnZpY2VzOiBzdHJpbmc7XHJcbiAgZGVmYXVsdERhdGFTb3VyY2VJZD86IHN0cmluZztcclxufVxyXG4iXX0=
1
+ export class OctoServiceOptions {
2
+ constructor() {
3
+ this.assetServices = null;
4
+ this.defaultDataSourceId = undefined;
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2N0by1zZXJ2aWNlLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL29jdG8tc2VydmljZXMvc3JjL2xpYi9vcHRpb25zL29jdG8tc2VydmljZS1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxrQkFBa0I7SUFJN0I7UUFDRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBPY3RvU2VydmljZU9wdGlvbnMge1xuICBhc3NldFNlcnZpY2VzOiBzdHJpbmcgfCBudWxsO1xuICBkZWZhdWx0RGF0YVNvdXJjZUlkPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYXNzZXRTZXJ2aWNlcyA9IG51bGw7XG4gICAgdGhpcy5kZWZhdWx0RGF0YVNvdXJjZUlkID0gdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
@@ -1,95 +1,95 @@
1
- import { finalize, map } from "rxjs/operators";
2
- import { PagedGraphResultDto } from "../models/pagedGraphResultDto";
3
- import { PagedResultDto } from "@meshmakers/shared-services";
4
- import { InMemoryCache } from '@apollo/client/core';
5
- export class OctoGraphQLServiceBase {
6
- constructor(apollo, httpLink, octoServiceOptions) {
7
- this.apollo = apollo;
8
- this.httpLink = httpLink;
9
- this.octoServiceOptions = octoServiceOptions;
10
- }
11
- getEntities(tenantId, variables, queryNode, watchQuery, f) {
12
- const query = watchQuery ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
13
- return query.pipe(map(result => {
14
- const resultSet = new PagedResultDto();
15
- if (result.errors) {
16
- console.error(result.errors);
17
- throw Error("Error in GraphQL statement.");
18
- }
19
- else if (result.data) {
20
- f(resultSet, result.data);
21
- }
22
- return resultSet;
23
- }));
24
- }
25
- getGraphEntities(tenantId, variables, queryNode, watchQuery, f) {
26
- const query = watchQuery ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
27
- return query.pipe(map(result => {
28
- const resultSet = new PagedGraphResultDto();
29
- if (result.errors) {
30
- console.error(result.errors);
31
- throw Error("Error in GraphQL statement.");
32
- }
33
- else if (result.data) {
34
- f(resultSet, result.data);
35
- }
36
- return resultSet;
37
- }));
38
- }
39
- getEntityDetail(tenantId, variables, queryNode, watchQuery, f) {
40
- const query = watchQuery ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
41
- return query.pipe(map(result => {
42
- if (result.errors) {
43
- console.error(result.errors);
44
- throw Error("Error in GraphQL statement.");
45
- }
46
- else if (result.data) {
47
- return f(result.data);
48
- }
49
- return null;
50
- }));
51
- }
52
- createUpdateEntity(tenantId, variables, queryNode, f) {
53
- this.createApolloForTenant(tenantId);
54
- return this.apollo.use(tenantId).mutate({
55
- mutation: queryNode,
56
- variables: variables
57
- }).pipe(map(value => f(value.data)), finalize(() => this.apollo.use(tenantId).client.reFetchObservableQueries(true)));
58
- }
59
- deleteEntity(tenantId, variables, queryNode, f) {
60
- this.createApolloForTenant(tenantId);
61
- return this.apollo.use(tenantId).mutate({
62
- mutation: queryNode,
63
- variables: variables
64
- }).pipe(map(value => f(value.data)), finalize(() => this.apollo.use(tenantId).getClient().reFetchObservableQueries(true)));
65
- }
66
- createApolloForTenant(tenantId) {
67
- const result = this.apollo.use(tenantId);
68
- if (result) {
69
- return;
70
- }
71
- const uri = `${this.octoServiceOptions.assetServices}tenants/${tenantId}/GraphQL`;
72
- this.apollo.createNamed(tenantId, {
73
- link: this.httpLink.create({ uri }),
74
- cache: new InMemoryCache({
75
- dataIdFromObject: o => o.rtId
76
- }),
77
- });
78
- }
79
- prepareWatchQuery(tenantId, variables, queryNode) {
80
- this.createApolloForTenant(tenantId);
81
- return this.apollo.use(tenantId).watchQuery({
82
- query: queryNode,
83
- variables: variables
84
- }).valueChanges;
85
- }
86
- prepareQuery(tenantId, variables, queryNode) {
87
- this.createApolloForTenant(tenantId);
88
- return this.apollo.use(tenantId).query({
89
- query: queryNode,
90
- variables: variables,
91
- fetchPolicy: "network-only"
92
- });
93
- }
94
- }
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2N0by1ncmFwaC1xbC1zZXJ2aWNlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL29jdG8tc2VydmljZXMvc3JjL2xpYi9zZXJ2aWNlcy9vY3RvLWdyYXBoLXFsLXNlcnZpY2UtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsUUFBUSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsTUFBTSxPQUFPLHNCQUFzQjtJQUVqQyxZQUFvQixNQUFjLEVBQVUsUUFBa0IsRUFBVSxrQkFBc0M7UUFBMUYsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQzlHLENBQUM7SUFFUyxXQUFXLENBQThCLFFBQWdCLEVBQUUsU0FBb0IsRUFBRSxTQUF1QixFQUFFLFVBQW1CLEVBQUUsQ0FBZ0U7UUFFdk0sTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQXFCLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQXFCLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUssT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUU3QixNQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsRUFBVyxDQUFDO1lBRWhELElBQUksTUFBTSxDQUFDLE1BQU0sRUFB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QztJQUVPLGlCQUFpQixDQUFxQixRQUFnQixFQUFFLFNBQW9CLEVBQUUsU0FBdUI7UUFDM0csSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXJDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFVO1lBQ25ELEtBQUssRUFBRSxTQUFTO1lBQ2hCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDbEIsQ0FBQztJQUVPLFlBQVksQ0FBcUIsUUFBZ0IsRUFBRSxTQUFvQixFQUFFLFNBQXVCO1FBQ3RHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVyQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBVTtZQUM5QyxLQUFLLEVBQUUsU0FBUztZQUNoQixTQUFTLEVBQUUsU0FBUztZQUNwQixXQUFXLEVBQUUsY0FBYztTQUM1QixDQUFDLENBQUM7SUFDTCxDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RvY3VtZW50Tm9kZX0gZnJvbSBcImdyYXBocWxcIjtcclxuaW1wb3J0IHtmaW5hbGl6ZSwgbWFwfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHtBcG9sbG99IGZyb20gXCJhcG9sbG8tYW5ndWxhclwiO1xyXG5pbXBvcnQge09jdG9TZXJ2aWNlT3B0aW9uc30gZnJvbSBcIi4uL29wdGlvbnMvb2N0by1zZXJ2aWNlLW9wdGlvbnNcIjtcclxuaW1wb3J0IHtQYWdlZEdyYXBoUmVzdWx0RHRvfSBmcm9tIFwiLi4vbW9kZWxzL3BhZ2VkR3JhcGhSZXN1bHREdG9cIjtcclxuaW1wb3J0IHtQYWdlZFJlc3VsdER0b30gZnJvbSBcIkBtZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlc1wiO1xyXG5pbXBvcnQge0h0dHBMaW5rfSBmcm9tICdhcG9sbG8tYW5ndWxhci9odHRwJztcclxuaW1wb3J0IHtJbk1lbW9yeUNhY2hlfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBPY3RvR3JhcGhRTFNlcnZpY2VCYXNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcG9sbG86IEFwb2xsbywgcHJpdmF0ZSBodHRwTGluazogSHR0cExpbmssIHByaXZhdGUgb2N0b1NlcnZpY2VPcHRpb25zOiBPY3RvU2VydmljZU9wdGlvbnMpIHtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRFbnRpdGllczxUUmVzdWx0LCBURW50aXR5LCBUVmFyaWFibGU+KHRlbmFudElkOiBzdHJpbmcsIHZhcmlhYmxlczogVFZhcmlhYmxlLCBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSwgd2F0Y2hRdWVyeTogYm9vbGVhbiwgZjogKHJlc3VsdFNldDogUGFnZWRSZXN1bHREdG88VEVudGl0eT4sIHJlc3VsdDogVFJlc3VsdCkgPT4gdm9pZCkge1xyXG5cclxuICAgIGNvbnN0IHF1ZXJ5ID0gd2F0Y2hRdWVyeSA/IHRoaXMucHJlcGFyZVdhdGNoUXVlcnk8VFJlc3VsdCwgVFZhcmlhYmxlPih0ZW5hbnRJZCwgdmFyaWFibGVzLCBxdWVyeU5vZGUpIDogdGhpcy5wcmVwYXJlUXVlcnk8VFJlc3VsdCwgVFZhcmlhYmxlPih0ZW5hbnRJZCwgdmFyaWFibGVzLCBxdWVyeU5vZGUpO1xyXG4gICAgcmV0dXJuIHF1ZXJ5LnBpcGUobWFwKHJlc3VsdCA9PiB7XHJcblxyXG4gICAgICBjb25zdCByZXN1bHRTZXQgPSBuZXcgUGFnZWRSZXN1bHREdG88VEVudGl0eT4oKTtcclxuXHJcbiAgICAgIGlmIChyZXN1bHQuZXJyb3JzKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihyZXN1bHQuZXJyb3JzKTtcclxuICAgICAgICB0aHJvdyBFcnJvcihcIkVycm9yIGluIEdyYXBoUUwgc3RhdGVtZW50LlwiKVxyXG4gICAgICB9IGVsc2UgaWYgKHJlc3VsdC5kYXRhKSB7XHJcbiAgICAgICAgZihyZXN1bHRTZXQsIHJlc3VsdC5kYXRhKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gcmVzdWx0U2V0O1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldEdyYXBoRW50aXRpZXM8VFJlc3VsdCwgVFAsIFRDLCBUVmFyaWFibGU+KHRlbmFudElkOiBzdHJpbmcsIHZhcmlhYmxlczogVFZhcmlhYmxlLCBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSwgd2F0Y2hRdWVyeTogYm9vbGVhbiwgZjogKHJlc3VsdFNldDogUGFnZWRHcmFwaFJlc3VsdER0bzxUUCwgVEM+LCByZXN1bHQ6IFRSZXN1bHQpID0+IHZvaWQpIHtcclxuXHJcbiAgICBjb25zdCBxdWVyeSA9IHdhdGNoUXVlcnkgPyB0aGlzLnByZXBhcmVXYXRjaFF1ZXJ5PFRSZXN1bHQsIFRWYXJpYWJsZT4odGVuYW50SWQsIHZhcmlhYmxlcywgcXVlcnlOb2RlKSA6IHRoaXMucHJlcGFyZVF1ZXJ5PFRSZXN1bHQsIFRWYXJpYWJsZT4odGVuYW50SWQsIHZhcmlhYmxlcywgcXVlcnlOb2RlKTtcclxuICAgIHJldHVybiBxdWVyeS5waXBlKG1hcChyZXN1bHQgPT4ge1xyXG5cclxuICAgICAgY29uc3QgcmVzdWx0U2V0ID0gbmV3IFBhZ2VkR3JhcGhSZXN1bHREdG88VFAsIFRDPigpO1xyXG5cclxuICAgICAgaWYgKHJlc3VsdC5lcnJvcnMpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKHJlc3VsdC5lcnJvcnMpO1xyXG4gICAgICAgIHRocm93IEVycm9yKFwiRXJyb3IgaW4gR3JhcGhRTCBzdGF0ZW1lbnQuXCIpXHJcbiAgICAgIH0gZWxzZSBpZiAocmVzdWx0LmRhdGEpIHtcclxuICAgICAgICBmKHJlc3VsdFNldCwgcmVzdWx0LmRhdGEpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiByZXN1bHRTZXQ7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0RW50aXR5RGV0YWlsPFRSZXN1bHQsIFRFbnRpdHksIFRWYXJpYWJsZT4odGVuYW50SWQ6IHN0cmluZywgdmFyaWFibGVzOiBUVmFyaWFibGUsIHF1ZXJ5Tm9kZTogRG9jdW1lbnROb2RlLCB3YXRjaFF1ZXJ5OiBib29sZWFuLCBmOiAocmVzdWx0OiBUUmVzdWx0KSA9PiBURW50aXR5KSB7XHJcblxyXG4gICAgY29uc3QgcXVlcnkgPSB3YXRjaFF1ZXJ5ID8gdGhpcy5wcmVwYXJlV2F0Y2hRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkLCB2YXJpYWJsZXMsIHF1ZXJ5Tm9kZSkgOiB0aGlzLnByZXBhcmVRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkLCB2YXJpYWJsZXMsIHF1ZXJ5Tm9kZSk7XHJcbiAgICByZXR1cm4gcXVlcnkucGlwZShtYXAocmVzdWx0ID0+IHtcclxuXHJcbiAgICAgIGlmIChyZXN1bHQuZXJyb3JzKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihyZXN1bHQuZXJyb3JzKTtcclxuICAgICAgICB0aHJvdyBFcnJvcihcIkVycm9yIGluIEdyYXBoUUwgc3RhdGVtZW50LlwiKVxyXG4gICAgICB9IGVsc2UgaWYgKHJlc3VsdC5kYXRhKSB7XHJcbiAgICAgICAgcmV0dXJuIGYocmVzdWx0LmRhdGEpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGNyZWF0ZVVwZGF0ZUVudGl0eTxUUmVzdWx0LCBURW50aXR5LCBUVmFyaWFibGU+KHRlbmFudElkOiBzdHJpbmcsIHZhcmlhYmxlczogVFZhcmlhYmxlLCBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSwgZjogKHJlc3VsdDogVFJlc3VsdCkgPT4gVEVudGl0eSkge1xyXG5cclxuICAgIHRoaXMuY3JlYXRlQXBvbGxvRm9yVGVuYW50KHRlbmFudElkKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5hcG9sbG8udXNlKHRlbmFudElkKS5tdXRhdGU8VFJlc3VsdD4oe1xyXG4gICAgICBtdXRhdGlvbjogcXVlcnlOb2RlLFxyXG4gICAgICB2YXJpYWJsZXM6IHZhcmlhYmxlc1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKHZhbHVlID0+IGYodmFsdWUuZGF0YSkpLFxyXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmFwb2xsby51c2UodGVuYW50SWQpLmNsaWVudC5yZUZldGNoT2JzZXJ2YWJsZVF1ZXJpZXModHJ1ZSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGRlbGV0ZUVudGl0eTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkOiBzdHJpbmcsIHZhcmlhYmxlczogVFZhcmlhYmxlLCBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSwgZjogKHJlc3VsdDogVFJlc3VsdCkgPT4gYm9vbGVhbikge1xyXG4gICAgdGhpcy5jcmVhdGVBcG9sbG9Gb3JUZW5hbnQodGVuYW50SWQpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmFwb2xsby51c2UodGVuYW50SWQpLm11dGF0ZTxUUmVzdWx0Pih7XHJcbiAgICAgIG11dGF0aW9uOiBxdWVyeU5vZGUsXHJcbiAgICAgIHZhcmlhYmxlczogdmFyaWFibGVzXHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAodmFsdWUgPT4gZih2YWx1ZS5kYXRhKSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuYXBvbGxvLnVzZSh0ZW5hbnRJZCkuZ2V0Q2xpZW50KCkucmVGZXRjaE9ic2VydmFibGVRdWVyaWVzKHRydWUpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlQXBvbGxvRm9yVGVuYW50KHRlbmFudElkOiBzdHJpbmcpIHtcclxuXHJcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmFwb2xsby51c2UodGVuYW50SWQpO1xyXG4gICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdXJpID0gYCR7dGhpcy5vY3RvU2VydmljZU9wdGlvbnMuYXNzZXRTZXJ2aWNlc310ZW5hbnRzLyR7dGVuYW50SWR9L0dyYXBoUUxgO1xyXG5cclxuICAgIHRoaXMuYXBvbGxvLmNyZWF0ZU5hbWVkKHRlbmFudElkLFxyXG4gICAgICB7XHJcbiAgICAgICAgbGluazogdGhpcy5odHRwTGluay5jcmVhdGUoe3VyaX0pLFxyXG4gICAgICAgIGNhY2hlOiBuZXcgSW5NZW1vcnlDYWNoZSh7XHJcbiAgICAgICAgICBkYXRhSWRGcm9tT2JqZWN0OiBvID0+IDxzdHJpbmc+by5ydElkXHJcbiAgICAgICAgfSksXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcmVwYXJlV2F0Y2hRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkOiBzdHJpbmcsIHZhcmlhYmxlczogVFZhcmlhYmxlLCBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSkge1xyXG4gICAgdGhpcy5jcmVhdGVBcG9sbG9Gb3JUZW5hbnQodGVuYW50SWQpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmFwb2xsby51c2UodGVuYW50SWQpLndhdGNoUXVlcnk8VFJlc3VsdD4oe1xyXG4gICAgICBxdWVyeTogcXVlcnlOb2RlLFxyXG4gICAgICB2YXJpYWJsZXM6IHZhcmlhYmxlc1xyXG4gICAgfSkudmFsdWVDaGFuZ2VzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcmVwYXJlUXVlcnk8VFJlc3VsdCwgVFZhcmlhYmxlPih0ZW5hbnRJZDogc3RyaW5nLCB2YXJpYWJsZXM6IFRWYXJpYWJsZSwgcXVlcnlOb2RlOiBEb2N1bWVudE5vZGUpIHtcclxuICAgIHRoaXMuY3JlYXRlQXBvbGxvRm9yVGVuYW50KHRlbmFudElkKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5hcG9sbG8udXNlKHRlbmFudElkKS5xdWVyeTxUUmVzdWx0Pih7XHJcbiAgICAgIHF1ZXJ5OiBxdWVyeU5vZGUsXHJcbiAgICAgIHZhcmlhYmxlczogdmFyaWFibGVzLFxyXG4gICAgICBmZXRjaFBvbGljeTogXCJuZXR3b3JrLW9ubHlcIlxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
1
+ import { finalize, map } from "rxjs/operators";
2
+ import { PagedGraphResultDto } from "../models/pagedGraphResultDto";
3
+ import { PagedResultDto } from "@meshmakers/shared-services";
4
+ import { InMemoryCache } from '@apollo/client/core';
5
+ export class OctoGraphQLServiceBase {
6
+ constructor(apollo, httpLink, octoServiceOptions) {
7
+ this.apollo = apollo;
8
+ this.httpLink = httpLink;
9
+ this.octoServiceOptions = octoServiceOptions;
10
+ }
11
+ getEntities(tenantId, variables, queryNode, watchQuery, f) {
12
+ const query = watchQuery ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
13
+ return query.pipe(map(result => {
14
+ const resultSet = new PagedResultDto();
15
+ if (result.errors) {
16
+ console.error(result.errors);
17
+ throw Error("Error in GraphQL statement.");
18
+ }
19
+ else if (result.data) {
20
+ f(resultSet, result.data);
21
+ }
22
+ return resultSet;
23
+ }));
24
+ }
25
+ getGraphEntities(tenantId, variables, queryNode, watchQuery, f) {
26
+ const query = watchQuery ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
27
+ return query.pipe(map(result => {
28
+ const resultSet = new PagedGraphResultDto();
29
+ if (result.errors) {
30
+ console.error(result.errors);
31
+ throw Error("Error in GraphQL statement.");
32
+ }
33
+ else if (result.data) {
34
+ f(resultSet, result.data);
35
+ }
36
+ return resultSet;
37
+ }));
38
+ }
39
+ getEntityDetail(tenantId, variables, queryNode, watchQuery, f) {
40
+ const query = watchQuery ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
41
+ return query.pipe(map(result => {
42
+ if (result.errors) {
43
+ console.error(result.errors);
44
+ throw Error("Error in GraphQL statement.");
45
+ }
46
+ else if (result.data) {
47
+ return f(result.data);
48
+ }
49
+ return null;
50
+ }));
51
+ }
52
+ createUpdateEntity(tenantId, variables, queryNode, f) {
53
+ this.createApolloForTenant(tenantId);
54
+ return this.apollo.use(tenantId).mutate({
55
+ mutation: queryNode,
56
+ variables: variables
57
+ }).pipe(map(value => f(value.data)), finalize(() => this.apollo.use(tenantId).client.reFetchObservableQueries(true)));
58
+ }
59
+ deleteEntity(tenantId, variables, queryNode, f) {
60
+ this.createApolloForTenant(tenantId);
61
+ return this.apollo.use(tenantId).mutate({
62
+ mutation: queryNode,
63
+ variables: variables
64
+ }).pipe(map(value => f(value.data)), finalize(() => this.apollo.use(tenantId).client.reFetchObservableQueries(true)));
65
+ }
66
+ createApolloForTenant(tenantId) {
67
+ const result = this.apollo.use(tenantId);
68
+ if (result) {
69
+ return;
70
+ }
71
+ const uri = `${this.octoServiceOptions.assetServices}tenants/${tenantId}/GraphQL`;
72
+ this.apollo.createNamed(tenantId, {
73
+ link: this.httpLink.create({ uri }),
74
+ cache: new InMemoryCache({
75
+ dataIdFromObject: o => o['rtId']
76
+ }),
77
+ });
78
+ }
79
+ prepareWatchQuery(tenantId, variables, queryNode) {
80
+ this.createApolloForTenant(tenantId);
81
+ return this.apollo.use(tenantId).watchQuery({
82
+ query: queryNode,
83
+ variables: variables
84
+ }).valueChanges;
85
+ }
86
+ prepareQuery(tenantId, variables, queryNode) {
87
+ this.createApolloForTenant(tenantId);
88
+ return this.apollo.use(tenantId).query({
89
+ query: queryNode,
90
+ variables: variables,
91
+ fetchPolicy: "network-only"
92
+ });
93
+ }
94
+ }
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2N0by1ncmFwaC1xbC1zZXJ2aWNlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL29jdG8tc2VydmljZXMvc3JjL2xpYi9zZXJ2aWNlcy9vY3RvLWdyYXBoLXFsLXNlcnZpY2UtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsUUFBUSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFJbEQsTUFBTSxPQUFPLHNCQUFzQjtJQUVqQyxZQUFvQixNQUFjLEVBQVUsUUFBa0IsRUFBVSxrQkFBc0M7UUFBMUYsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQzlHLENBQUM7SUFFUyxXQUFXLENBQXlELFFBQWdCLEVBQUUsU0FBb0IsRUFBRSxTQUF1QixFQUFFLFVBQW1CLEVBQUUsQ0FBZ0U7UUFFbE8sTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQXFCLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQXFCLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUssT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUU3QixNQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsRUFBVyxDQUFDO1lBRWhELElBQUksTUFBTSxDQUFDLE1BQU0sRUFB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QztJQUVPLGlCQUFpQixDQUFnRCxRQUFnQixFQUFFLFNBQW9CLEVBQUUsU0FBdUI7UUFDdEksSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXJDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFVO1lBQ25ELEtBQUssRUFBRSxTQUFTO1lBQ2hCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDbEIsQ0FBQztJQUVPLFlBQVksQ0FBZ0QsUUFBZ0IsRUFBRSxTQUFvQixFQUFFLFNBQXVCO1FBQ2pJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVyQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBVTtZQUM5QyxLQUFLLEVBQUUsU0FBUztZQUNoQixTQUFTLEVBQUUsU0FBUztZQUNwQixXQUFXLEVBQUUsY0FBYztTQUM1QixDQUFDLENBQUM7SUFDTCxDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RvY3VtZW50Tm9kZX0gZnJvbSBcImdyYXBocWxcIjtcbmltcG9ydCB7ZmluYWxpemUsIG1hcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQge0Fwb2xsb30gZnJvbSBcImFwb2xsby1hbmd1bGFyXCI7XG5pbXBvcnQge09jdG9TZXJ2aWNlT3B0aW9uc30gZnJvbSBcIi4uL29wdGlvbnMvb2N0by1zZXJ2aWNlLW9wdGlvbnNcIjtcbmltcG9ydCB7UGFnZWRHcmFwaFJlc3VsdER0b30gZnJvbSBcIi4uL21vZGVscy9wYWdlZEdyYXBoUmVzdWx0RHRvXCI7XG5pbXBvcnQge1BhZ2VkUmVzdWx0RHRvfSBmcm9tIFwiQG1lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzXCI7XG5pbXBvcnQge0h0dHBMaW5rfSBmcm9tICdhcG9sbG8tYW5ndWxhci9odHRwJztcbmltcG9ydCB7SW5NZW1vcnlDYWNoZX0gZnJvbSAnQGFwb2xsby9jbGllbnQvY29yZSc7XG5pbXBvcnQge09wZXJhdGlvblZhcmlhYmxlc30gZnJvbSBcIkBhcG9sbG8vY2xpZW50L2NvcmUvdHlwZXNcIjtcbmltcG9ydCB7RW1wdHlPYmplY3R9IGZyb20gXCJhcG9sbG8tYW5ndWxhci90eXBlc1wiO1xuXG5leHBvcnQgY2xhc3MgT2N0b0dyYXBoUUxTZXJ2aWNlQmFzZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcG9sbG86IEFwb2xsbywgcHJpdmF0ZSBodHRwTGluazogSHR0cExpbmssIHByaXZhdGUgb2N0b1NlcnZpY2VPcHRpb25zOiBPY3RvU2VydmljZU9wdGlvbnMpIHtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRFbnRpdGllczxUUmVzdWx0LCBURW50aXR5LCBUVmFyaWFibGUgZXh0ZW5kcyBPcGVyYXRpb25WYXJpYWJsZXM+KHRlbmFudElkOiBzdHJpbmcsIHZhcmlhYmxlczogVFZhcmlhYmxlLCBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSwgd2F0Y2hRdWVyeTogYm9vbGVhbiwgZjogKHJlc3VsdFNldDogUGFnZWRSZXN1bHREdG88VEVudGl0eT4sIHJlc3VsdDogVFJlc3VsdCkgPT4gdm9pZCkge1xuXG4gICAgY29uc3QgcXVlcnkgPSB3YXRjaFF1ZXJ5ID8gdGhpcy5wcmVwYXJlV2F0Y2hRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkLCB2YXJpYWJsZXMsIHF1ZXJ5Tm9kZSkgOiB0aGlzLnByZXBhcmVRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkLCB2YXJpYWJsZXMsIHF1ZXJ5Tm9kZSk7XG4gICAgcmV0dXJuIHF1ZXJ5LnBpcGUobWFwKHJlc3VsdCA9PiB7XG5cbiAgICAgIGNvbnN0IHJlc3VsdFNldCA9IG5ldyBQYWdlZFJlc3VsdER0bzxURW50aXR5PigpO1xuXG4gICAgICBpZiAocmVzdWx0LmVycm9ycykge1xuICAgICAgICBjb25zb2xlLmVycm9yKHJlc3VsdC5lcnJvcnMpO1xuICAgICAgICB0aHJvdyBFcnJvcihcIkVycm9yIGluIEdyYXBoUUwgc3RhdGVtZW50LlwiKVxuICAgICAgfSBlbHNlIGlmIChyZXN1bHQuZGF0YSkge1xuICAgICAgICBmKHJlc3VsdFNldCwgcmVzdWx0LmRhdGEpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdFNldDtcbiAgICB9KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0R3JhcGhFbnRpdGllczxUUmVzdWx0LCBUUCwgVEMsIFRWYXJpYWJsZSBleHRlbmRzIE9wZXJhdGlvblZhcmlhYmxlcz4odGVuYW50SWQ6IHN0cmluZywgdmFyaWFibGVzOiBUVmFyaWFibGUsIHF1ZXJ5Tm9kZTogRG9jdW1lbnROb2RlLCB3YXRjaFF1ZXJ5OiBib29sZWFuLCBmOiAocmVzdWx0U2V0OiBQYWdlZEdyYXBoUmVzdWx0RHRvPFRQLCBUQz4sIHJlc3VsdDogVFJlc3VsdCkgPT4gdm9pZCkge1xuXG4gICAgY29uc3QgcXVlcnkgPSB3YXRjaFF1ZXJ5ID8gdGhpcy5wcmVwYXJlV2F0Y2hRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkLCB2YXJpYWJsZXMsIHF1ZXJ5Tm9kZSkgOiB0aGlzLnByZXBhcmVRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkLCB2YXJpYWJsZXMsIHF1ZXJ5Tm9kZSk7XG4gICAgcmV0dXJuIHF1ZXJ5LnBpcGUobWFwKHJlc3VsdCA9PiB7XG5cbiAgICAgIGNvbnN0IHJlc3VsdFNldCA9IG5ldyBQYWdlZEdyYXBoUmVzdWx0RHRvPFRQLCBUQz4oKTtcblxuICAgICAgaWYgKHJlc3VsdC5lcnJvcnMpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihyZXN1bHQuZXJyb3JzKTtcbiAgICAgICAgdGhyb3cgRXJyb3IoXCJFcnJvciBpbiBHcmFwaFFMIHN0YXRlbWVudC5cIilcbiAgICAgIH0gZWxzZSBpZiAocmVzdWx0LmRhdGEpIHtcbiAgICAgICAgZihyZXN1bHRTZXQsIHJlc3VsdC5kYXRhKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHRTZXQ7XG4gICAgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEVudGl0eURldGFpbDxUUmVzdWx0LCBURW50aXR5LCBUVmFyaWFibGUgZXh0ZW5kcyBPcGVyYXRpb25WYXJpYWJsZXM+KHRlbmFudElkOiBzdHJpbmcsIHZhcmlhYmxlczogVFZhcmlhYmxlLCBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSwgd2F0Y2hRdWVyeTogYm9vbGVhbiwgZjogKHJlc3VsdDogVFJlc3VsdCkgPT4gVEVudGl0eSkge1xuXG4gICAgY29uc3QgcXVlcnkgPSB3YXRjaFF1ZXJ5ID8gdGhpcy5wcmVwYXJlV2F0Y2hRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkLCB2YXJpYWJsZXMsIHF1ZXJ5Tm9kZSkgOiB0aGlzLnByZXBhcmVRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkLCB2YXJpYWJsZXMsIHF1ZXJ5Tm9kZSk7XG4gICAgcmV0dXJuIHF1ZXJ5LnBpcGUobWFwKHJlc3VsdCA9PiB7XG5cbiAgICAgIGlmIChyZXN1bHQuZXJyb3JzKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IocmVzdWx0LmVycm9ycyk7XG4gICAgICAgIHRocm93IEVycm9yKFwiRXJyb3IgaW4gR3JhcGhRTCBzdGF0ZW1lbnQuXCIpXG4gICAgICB9IGVsc2UgaWYgKHJlc3VsdC5kYXRhKSB7XG4gICAgICAgIHJldHVybiBmKHJlc3VsdC5kYXRhKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVVcGRhdGVFbnRpdHk8VFJlc3VsdCwgVEVudGl0eSwgVFZhcmlhYmxlIGV4dGVuZHMgT3BlcmF0aW9uVmFyaWFibGVzPih0ZW5hbnRJZDogc3RyaW5nLCB2YXJpYWJsZXM6IFRWYXJpYWJsZSwgcXVlcnlOb2RlOiBEb2N1bWVudE5vZGUsIGY6IChyZXN1bHQ6IFRSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkKSA9PiBURW50aXR5KSB7XG5cbiAgICB0aGlzLmNyZWF0ZUFwb2xsb0ZvclRlbmFudCh0ZW5hbnRJZCk7XG5cbiAgICByZXR1cm4gdGhpcy5hcG9sbG8udXNlKHRlbmFudElkKS5tdXRhdGU8VFJlc3VsdD4oe1xuICAgICAgbXV0YXRpb246IHF1ZXJ5Tm9kZSxcbiAgICAgIHZhcmlhYmxlczogdmFyaWFibGVzXG4gICAgfSkucGlwZShcbiAgICAgIG1hcCh2YWx1ZSA9PiBmKHZhbHVlLmRhdGEpKSxcbiAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuYXBvbGxvLnVzZSh0ZW5hbnRJZCkuY2xpZW50LnJlRmV0Y2hPYnNlcnZhYmxlUXVlcmllcyh0cnVlKSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRlbGV0ZUVudGl0eTxUUmVzdWx0LCBUVmFyaWFibGUgZXh0ZW5kcyBPcGVyYXRpb25WYXJpYWJsZXM+KHRlbmFudElkOiBzdHJpbmcsIHZhcmlhYmxlczogVFZhcmlhYmxlLCBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSwgZjogKHJlc3VsdDogVFJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQpID0+IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNyZWF0ZUFwb2xsb0ZvclRlbmFudCh0ZW5hbnRJZCk7XG5cbiAgICByZXR1cm4gdGhpcy5hcG9sbG8udXNlKHRlbmFudElkKS5tdXRhdGU8VFJlc3VsdD4oe1xuICAgICAgbXV0YXRpb246IHF1ZXJ5Tm9kZSxcbiAgICAgIHZhcmlhYmxlczogdmFyaWFibGVzXG4gICAgfSkucGlwZShcbiAgICAgIG1hcCh2YWx1ZSA9PiBmKHZhbHVlLmRhdGEpKSxcbiAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuYXBvbGxvLnVzZSh0ZW5hbnRJZCkuY2xpZW50LnJlRmV0Y2hPYnNlcnZhYmxlUXVlcmllcyh0cnVlKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVBcG9sbG9Gb3JUZW5hbnQodGVuYW50SWQ6IHN0cmluZykge1xuXG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5hcG9sbG8udXNlKHRlbmFudElkKTtcbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdXJpID0gYCR7dGhpcy5vY3RvU2VydmljZU9wdGlvbnMuYXNzZXRTZXJ2aWNlc310ZW5hbnRzLyR7dGVuYW50SWR9L0dyYXBoUUxgO1xuXG4gICAgdGhpcy5hcG9sbG8uY3JlYXRlTmFtZWQodGVuYW50SWQsXG4gICAgICB7XG4gICAgICAgIGxpbms6IHRoaXMuaHR0cExpbmsuY3JlYXRlKHt1cml9KSxcbiAgICAgICAgY2FjaGU6IG5ldyBJbk1lbW9yeUNhY2hlKHtcbiAgICAgICAgICBkYXRhSWRGcm9tT2JqZWN0OiBvID0+IDxzdHJpbmc+b1sncnRJZCddXG4gICAgICAgIH0pLFxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHByZXBhcmVXYXRjaFF1ZXJ5PFRSZXN1bHQsIFRWYXJpYWJsZSBleHRlbmRzIE9wZXJhdGlvblZhcmlhYmxlcz4odGVuYW50SWQ6IHN0cmluZywgdmFyaWFibGVzOiBUVmFyaWFibGUsIHF1ZXJ5Tm9kZTogRG9jdW1lbnROb2RlKSB7XG4gICAgdGhpcy5jcmVhdGVBcG9sbG9Gb3JUZW5hbnQodGVuYW50SWQpO1xuXG4gICAgcmV0dXJuIHRoaXMuYXBvbGxvLnVzZSh0ZW5hbnRJZCkud2F0Y2hRdWVyeTxUUmVzdWx0Pih7XG4gICAgICBxdWVyeTogcXVlcnlOb2RlLFxuICAgICAgdmFyaWFibGVzOiB2YXJpYWJsZXNcbiAgICB9KS52YWx1ZUNoYW5nZXM7XG4gIH1cblxuICBwcml2YXRlIHByZXBhcmVRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGUgZXh0ZW5kcyBPcGVyYXRpb25WYXJpYWJsZXM+KHRlbmFudElkOiBzdHJpbmcsIHZhcmlhYmxlczogVFZhcmlhYmxlLCBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSkge1xuICAgIHRoaXMuY3JlYXRlQXBvbGxvRm9yVGVuYW50KHRlbmFudElkKTtcblxuICAgIHJldHVybiB0aGlzLmFwb2xsby51c2UodGVuYW50SWQpLnF1ZXJ5PFRSZXN1bHQ+KHtcbiAgICAgIHF1ZXJ5OiBxdWVyeU5vZGUsXG4gICAgICB2YXJpYWJsZXM6IHZhcmlhYmxlcyxcbiAgICAgIGZldGNoUG9saWN5OiBcIm5ldHdvcmstb25seVwiXG4gICAgfSk7XG4gIH1cblxuXG59XG4iXX0=
@@ -1,13 +1,13 @@
1
- export class GraphQL {
2
- static getCursor(position) {
3
- return btoa(`arrayconnection:${position}`);
4
- }
5
- static offsetToCursor(offset) {
6
- if (!offset) {
7
- return null;
8
- }
9
- return this.getCursor(offset - 1);
10
- }
11
- }
12
- export const GraphQLCloneIgnoredProperties = ["id", "rtId", "__typename"];
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhRTC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvb2N0by1zZXJ2aWNlcy9zcmMvbGliL3NoYXJlZC9ncmFwaFFMLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxPQUFPO0lBRVgsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFnQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFjO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgR3JhcGhRTCB7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0Q3Vyc29yKHBvc2l0aW9uOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGJ0b2EoYGFycmF5Y29ubmVjdGlvbjoke3Bvc2l0aW9ufWApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBvZmZzZXRUb0N1cnNvcihvZmZzZXQ6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBpZiAoIW9mZnNldCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5nZXRDdXJzb3Iob2Zmc2V0IC0gMSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgR3JhcGhRTENsb25lSWdub3JlZFByb3BlcnRpZXMgPSBbXCJpZFwiLCBcInJ0SWRcIiwgXCJfX3R5cGVuYW1lXCJdO1xyXG4iXX0=
1
+ export class GraphQL {
2
+ static getCursor(position) {
3
+ return btoa(`arrayconnection:${position}`);
4
+ }
5
+ static offsetToCursor(offset) {
6
+ if (!offset) {
7
+ return null;
8
+ }
9
+ return this.getCursor(offset - 1);
10
+ }
11
+ }
12
+ export const GraphQLCloneIgnoredProperties = ["id", "rtId", "__typename"];
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhRTC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvb2N0by1zZXJ2aWNlcy9zcmMvbGliL3NoYXJlZC9ncmFwaFFMLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxPQUFPO0lBRVgsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFnQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFjO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgR3JhcGhRTCB7XG5cbiAgcHVibGljIHN0YXRpYyBnZXRDdXJzb3IocG9zaXRpb246IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGJ0b2EoYGFycmF5Y29ubmVjdGlvbjoke3Bvc2l0aW9ufWApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBvZmZzZXRUb0N1cnNvcihvZmZzZXQ6IG51bWJlcik6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghb2Zmc2V0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRDdXJzb3Iob2Zmc2V0IC0gMSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEdyYXBoUUxDbG9uZUlnbm9yZWRQcm9wZXJ0aWVzID0gW1wiaWRcIiwgXCJydElkXCIsIFwiX190eXBlbmFtZVwiXTtcbiJdfQ==
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaG1ha2Vycy1vY3RvLXNlcnZpY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9vY3RvLXNlcnZpY2VzL3NyYy9tZXNobWFrZXJzLW9jdG8tc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,9 +1,9 @@
1
- /*
2
- * Public API Surface of osp-services
3
- */
4
- export * from './lib/services/octo-graph-ql-service-base';
5
- export * from './lib/options/octo-service-options';
6
- export * from './lib/octo-services.module';
7
- export * from './lib/models/pagedGraphResultDto';
8
- export * from './lib/shared/graphQL';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvb2N0by1zZXJ2aWNlcy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBvc3Atc2VydmljZXNcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9vY3RvLWdyYXBoLXFsLXNlcnZpY2UtYmFzZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL29wdGlvbnMvb2N0by1zZXJ2aWNlLW9wdGlvbnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9vY3RvLXNlcnZpY2VzLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wYWdlZEdyYXBoUmVzdWx0RHRvJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL2dyYXBoUUwnO1xyXG4iXX0=
1
+ /*
2
+ * Public API Surface of octo-services
3
+ */
4
+ export * from './lib/services/octo-graph-ql-service-base';
5
+ export * from './lib/options/octo-service-options';
6
+ export * from './lib/octo-services.module';
7
+ export * from './lib/models/pagedGraphResultDto';
8
+ export * from './lib/shared/graphQL';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvb2N0by1zZXJ2aWNlcy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygb2N0by1zZXJ2aWNlc1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL29jdG8tZ3JhcGgtcWwtc2VydmljZS1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL29wdGlvbnMvb2N0by1zZXJ2aWNlLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvb2N0by1zZXJ2aWNlcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3BhZ2VkR3JhcGhSZXN1bHREdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL2dyYXBoUUwnO1xuIl19