@nx-ddd/hasura 19.25.0 → 19.26.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.
@@ -61,10 +61,10 @@ class ApolloLinkService {
61
61
  createLink(baseUrl, getHeaders) {
62
62
  return this.createAutoSplitLink(baseUrl, getHeaders);
63
63
  }
64
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ApolloLinkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
65
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ApolloLinkService, providedIn: 'root' });
64
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ApolloLinkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
65
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ApolloLinkService, providedIn: 'root' });
66
66
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ApolloLinkService, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ApolloLinkService, decorators: [{
68
68
  type: Injectable,
69
69
  args: [{ providedIn: 'root' }]
70
70
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"nx-ddd-hasura-apollo-link.mjs","sources":["../tmp-esm2022/apollo/link/links.js","../tmp-esm2022/apollo/link/link.service.js","../tmp-esm2022/apollo/link/nx-ddd-hasura-apollo-link.js"],"sourcesContent":["import { distinctUntilChanged, filter, from, isObservable, lastValueFrom, of, take } from 'rxjs';\nexport function wrap(obsOrPromiseOrValue) {\n if (isObservable(obsOrPromiseOrValue))\n return obsOrPromiseOrValue;\n if (obsOrPromiseOrValue instanceof Promise)\n return from(obsOrPromiseOrValue);\n return of(obsOrPromiseOrValue);\n}\nexport function resolve(getHeaders) {\n const headers$ = wrap(getHeaders());\n return lastValueFrom(headers$.pipe(filter((headers) => !!headers), take(1), distinctUntilChanged()));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2hhc3VyYS9zcmMvbGliL2Fwb2xsby9saW5rL2xpbmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQWMsRUFBRSxFQUFFLElBQUksRUFBTyxNQUFNLE1BQU0sQ0FBQztBQUtsSCxNQUFNLFVBQVUsSUFBSSxDQUFJLG1CQUFtRDtJQUN6RSxJQUFJLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQztRQUFFLE9BQU8sbUJBQW1CLENBQUM7SUFDbEUsSUFBSSxtQkFBbUIsWUFBWSxPQUFPO1FBQUUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM3RSxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLFVBQXNCO0lBQzVDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLE9BQU8sYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUM5QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1Asb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIGZyb20sIGlzT2JzZXJ2YWJsZSwgbGFzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgb2YsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG50eXBlIFByb21pc2VPck9ic2VydmFibGU8VD4gPSBQcm9taXNlPFQ+IHwgT2JzZXJ2YWJsZTxUPiB8IFQ7XG5leHBvcnQgdHlwZSBHZXRIZWFkZXJzID0gKCkgPT4gUHJvbWlzZU9yT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PjtcblxuZXhwb3J0IGZ1bmN0aW9uIHdyYXA8VD4ob2JzT3JQcm9taXNlT3JWYWx1ZTogUHJvbWlzZTxUPiB8IE9ic2VydmFibGU8VD4gfCBUKTogT2JzZXJ2YWJsZTxUPiB7XG4gIGlmIChpc09ic2VydmFibGUob2JzT3JQcm9taXNlT3JWYWx1ZSkpIHJldHVybiBvYnNPclByb21pc2VPclZhbHVlO1xuICBpZiAob2JzT3JQcm9taXNlT3JWYWx1ZSBpbnN0YW5jZW9mIFByb21pc2UpIHJldHVybiBmcm9tKG9ic09yUHJvbWlzZU9yVmFsdWUpO1xuICByZXR1cm4gb2Yob2JzT3JQcm9taXNlT3JWYWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlKGdldEhlYWRlcnM6IEdldEhlYWRlcnMpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcbiAgY29uc3QgaGVhZGVycyQgPSB3cmFwKGdldEhlYWRlcnMoKSk7XG4gIHJldHVybiBsYXN0VmFsdWVGcm9tKGhlYWRlcnMkLnBpcGUoXG4gICAgZmlsdGVyKChoZWFkZXJzKSA9PiAhIWhlYWRlcnMpLFxuICAgIHRha2UoMSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgKSlcbn1cbiJdfQ==","import { Injectable, inject } from '@angular/core';\nimport { HttpLink } from 'apollo-angular/http';\nimport { setContext } from '@apollo/client/link/context';\nimport { ApolloLink, split } from '@apollo/client/core';\nimport { getMainDefinition } from '@apollo/client/utilities';\nimport { GraphQLWsLink } from '@apollo/client/link/subscriptions';\nimport { createClient } from 'graphql-ws';\nimport { resolve } from './links';\nimport { WEBSOCKET } from '@nx-ddd/common/infrastructure/externals/websocket/token';\nimport * as i0 from \"@angular/core\";\nfunction isSubscription(query) {\n const definition = getMainDefinition(query);\n return (definition.kind === 'OperationDefinition' &&\n definition.operation === 'subscription');\n}\nexport class ApolloLinkService {\n httpLink = inject(HttpLink);\n WebSocketImpl = WEBSOCKET.inject();\n createGraphQLWsClient(baseUrl, getHeaders) {\n return createClient({\n url: baseUrl.replace('http', 'ws'),\n webSocketImpl: this.WebSocketImpl,\n connectionParams: async () => {\n const headers = await resolve(getHeaders);\n return { headers };\n },\n lazy: true, // 必要時のみ接続を開始\n shouldRetry: () => true, // 再接続を有効化\n retryAttempts: 5, // 再接続試行回数を制限\n keepAlive: 30000, // 30秒ごとにキープアライブ\n });\n }\n createHttpLink(baseUrl, getHeaders) {\n return ApolloLink.from([\n setContext(async () => {\n const headers = await resolve(getHeaders);\n return { headers };\n }),\n this.httpLink.create({ uri: baseUrl, }),\n ]);\n }\n createWebSocketLink(baseUrl, getHeaders) {\n return new GraphQLWsLink(this.createGraphQLWsClient(baseUrl, getHeaders));\n }\n createAutoSplitLink(baseUrl, getHeaders) {\n return split(({ query }) => isSubscription(query), this.createWebSocketLink(baseUrl, getHeaders), this.createHttpLink(baseUrl, getHeaders));\n }\n createLink(baseUrl, getHeaders) {\n return this.createAutoSplitLink(baseUrl, getHeaders);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ApolloLinkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ApolloLinkService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ApolloLinkService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9oYXN1cmEvc3JjL2xpYi9hcG9sbG8vbGluay9saW5rLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFnQixLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFVLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNsRCxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5REFBeUQsQ0FBQzs7QUFFcEYsU0FBUyxjQUFjLENBQUMsS0FBbUI7SUFDekMsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsT0FBTyxDQUNMLFVBQVUsQ0FBQyxJQUFJLEtBQUsscUJBQXFCO1FBQ3pDLFVBQVUsQ0FBQyxTQUFTLEtBQUssY0FBYyxDQUN4QyxDQUFDO0FBQ0osQ0FBQztBQUdELE1BQU0sT0FBTyxpQkFBaUI7SUFDbkIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QixhQUFhLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBRXBDLHFCQUFxQixDQUFDLE9BQWUsRUFBRSxVQUFzQjtRQUNuRSxPQUFPLFlBQVksQ0FBQztZQUNsQixHQUFHLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQ2xDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxnQkFBZ0IsRUFBRSxLQUFLLElBQUksRUFBRTtnQkFDM0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUNyQixDQUFDO1lBQ0QsSUFBSSxFQUFFLElBQUksRUFBRSxhQUFhO1lBQ3pCLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsVUFBVTtZQUNuQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLGFBQWE7WUFDL0IsU0FBUyxFQUFFLEtBQUssRUFBRSxnQkFBZ0I7U0FDbkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFlLEVBQUUsVUFBc0I7UUFDcEQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ3JCLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDcEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQTtZQUNwQixDQUFDLENBQUM7WUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLEdBQUcsQ0FBQztTQUN4QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsT0FBZSxFQUFFLFVBQXNCO1FBQ3pELE9BQU8sSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxPQUFlLEVBQUUsVUFBc0I7UUFDekQsT0FBTyxLQUFLLENBQ1YsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQ3BDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEVBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUN6QyxDQUFDO0lBQ0osQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFlLEVBQUUsVUFBc0I7UUFDaEQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7dUdBM0NVLGlCQUFpQjsyR0FBakIsaUJBQWlCLGNBREwsTUFBTTs7MkZBQ2xCLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBMaW5rIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXIvaHR0cCc7XG5pbXBvcnQgeyBzZXRDb250ZXh0IH0gZnJvbSAnQGFwb2xsby9jbGllbnQvbGluay9jb250ZXh0JztcbmltcG9ydCB7IEFwb2xsb0xpbmssIERvY3VtZW50Tm9kZSwgc3BsaXQgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7IGdldE1haW5EZWZpbml0aW9uIH0gZnJvbSAnQGFwb2xsby9jbGllbnQvdXRpbGl0aWVzJztcbmltcG9ydCB7IEdyYXBoUUxXc0xpbmsgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9saW5rL3N1YnNjcmlwdGlvbnMnO1xuaW1wb3J0IHsgQ2xpZW50LCBjcmVhdGVDbGllbnQgfSBmcm9tICdncmFwaHFsLXdzJztcbmltcG9ydCB7IEdldEhlYWRlcnMsIHJlc29sdmUgfSBmcm9tICcuL2xpbmtzJztcbmltcG9ydCB7IFdFQlNPQ0tFVCB9IGZyb20gJ0BueC1kZGQvY29tbW9uL2luZnJhc3RydWN0dXJlL2V4dGVybmFscy93ZWJzb2NrZXQvdG9rZW4nO1xuXG5mdW5jdGlvbiBpc1N1YnNjcmlwdGlvbihxdWVyeTogRG9jdW1lbnROb2RlKSB7XG4gIGNvbnN0IGRlZmluaXRpb24gPSBnZXRNYWluRGVmaW5pdGlvbihxdWVyeSk7XG4gIHJldHVybiAoXG4gICAgZGVmaW5pdGlvbi5raW5kID09PSAnT3BlcmF0aW9uRGVmaW5pdGlvbicgJiZcbiAgICBkZWZpbml0aW9uLm9wZXJhdGlvbiA9PT0gJ3N1YnNjcmlwdGlvbidcbiAgKTtcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQXBvbGxvTGlua1NlcnZpY2Uge1xuICByZWFkb25seSBodHRwTGluayA9IGluamVjdChIdHRwTGluayk7XG4gIHJlYWRvbmx5IFdlYlNvY2tldEltcGwgPSBXRUJTT0NLRVQuaW5qZWN0KCk7XG5cbiAgcHJpdmF0ZSBjcmVhdGVHcmFwaFFMV3NDbGllbnQoYmFzZVVybDogc3RyaW5nLCBnZXRIZWFkZXJzOiBHZXRIZWFkZXJzKTogQ2xpZW50IHtcbiAgICByZXR1cm4gY3JlYXRlQ2xpZW50KHtcbiAgICAgIHVybDogYmFzZVVybC5yZXBsYWNlKCdodHRwJywgJ3dzJyksXG4gICAgICB3ZWJTb2NrZXRJbXBsOiB0aGlzLldlYlNvY2tldEltcGwsXG4gICAgICBjb25uZWN0aW9uUGFyYW1zOiBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSBhd2FpdCByZXNvbHZlKGdldEhlYWRlcnMpO1xuICAgICAgICByZXR1cm4geyBoZWFkZXJzIH07XG4gICAgICB9LFxuICAgICAgbGF6eTogdHJ1ZSwgLy8g5b+F6KaB5pmC44Gu44G/5o6l57aa44KS6ZaL5aeLXG4gICAgICBzaG91bGRSZXRyeTogKCkgPT4gdHJ1ZSwgLy8g5YaN5o6l57aa44KS5pyJ5Yq55YyWXG4gICAgICByZXRyeUF0dGVtcHRzOiA1LCAvLyDlho3mjqXntproqabooYzlm57mlbDjgpLliLbpmZBcbiAgICAgIGtlZXBBbGl2ZTogMzAwMDAsIC8vIDMw56eS44GU44Go44Gr44Kt44O844OX44Ki44Op44Kk44OWXG4gICAgfSk7XG4gIH1cblxuICBjcmVhdGVIdHRwTGluayhiYXNlVXJsOiBzdHJpbmcsIGdldEhlYWRlcnM6IEdldEhlYWRlcnMpOiBBcG9sbG9MaW5rIHtcbiAgICByZXR1cm4gQXBvbGxvTGluay5mcm9tKFtcbiAgICAgIHNldENvbnRleHQoYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBoZWFkZXJzID0gYXdhaXQgcmVzb2x2ZShnZXRIZWFkZXJzKTtcbiAgICAgICAgcmV0dXJuIHsgaGVhZGVycyB9XG4gICAgICB9KSxcbiAgICAgIHRoaXMuaHR0cExpbmsuY3JlYXRlKHsgdXJpOiBiYXNlVXJsLCB9KSxcbiAgICBdKTtcbiAgfVxuXG4gIGNyZWF0ZVdlYlNvY2tldExpbmsoYmFzZVVybDogc3RyaW5nLCBnZXRIZWFkZXJzOiBHZXRIZWFkZXJzKTogQXBvbGxvTGluayB7XG4gICAgcmV0dXJuIG5ldyBHcmFwaFFMV3NMaW5rKHRoaXMuY3JlYXRlR3JhcGhRTFdzQ2xpZW50KGJhc2VVcmwsIGdldEhlYWRlcnMpKTtcbiAgfVxuXG4gIGNyZWF0ZUF1dG9TcGxpdExpbmsoYmFzZVVybDogc3RyaW5nLCBnZXRIZWFkZXJzOiBHZXRIZWFkZXJzKTogQXBvbGxvTGluayB7XG4gICAgcmV0dXJuIHNwbGl0KFxuICAgICAgKHsgcXVlcnkgfSkgPT4gaXNTdWJzY3JpcHRpb24ocXVlcnkpLFxuICAgICAgdGhpcy5jcmVhdGVXZWJTb2NrZXRMaW5rKGJhc2VVcmwsIGdldEhlYWRlcnMpLFxuICAgICAgdGhpcy5jcmVhdGVIdHRwTGluayhiYXNlVXJsLCBnZXRIZWFkZXJzKVxuICAgICk7XG4gIH1cblxuICBjcmVhdGVMaW5rKGJhc2VVcmw6IHN0cmluZywgZ2V0SGVhZGVyczogR2V0SGVhZGVycyk6IEFwb2xsb0xpbmsge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZUF1dG9TcGxpdExpbmsoYmFzZVVybCwgZ2V0SGVhZGVycyk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibngtZGRkLWhhc3VyYS1hcG9sbG8tbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvaGFzdXJhL3NyYy9saWIvYXBvbGxvL2xpbmsvbngtZGRkLWhhc3VyYS1hcG9sbG8tbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nx-ddd-hasura-apollo-link.mjs","sources":["../../../../../packages/@nx-ddd/hasura/src/lib/apollo/link/links.ts","../../../../../packages/@nx-ddd/hasura/src/lib/apollo/link/link.service.ts","../../../../../packages/@nx-ddd/hasura/src/lib/apollo/link/nx-ddd-hasura-apollo-link.ts"],"sourcesContent":["import { distinctUntilChanged, filter, from, isObservable, lastValueFrom, Observable, of, take, tap } from 'rxjs';\n\ntype PromiseOrObservable<T> = Promise<T> | Observable<T> | T;\nexport type GetHeaders = () => PromiseOrObservable<Record<string, string>>;\n\nexport function wrap<T>(obsOrPromiseOrValue: Promise<T> | Observable<T> | T): Observable<T> {\n if (isObservable(obsOrPromiseOrValue)) return obsOrPromiseOrValue;\n if (obsOrPromiseOrValue instanceof Promise) return from(obsOrPromiseOrValue);\n return of(obsOrPromiseOrValue);\n}\n\nexport function resolve(getHeaders: GetHeaders): Promise<Record<string, string>> {\n const headers$ = wrap(getHeaders());\n return lastValueFrom(headers$.pipe(\n filter((headers) => !!headers),\n take(1),\n distinctUntilChanged(),\n ))\n}\n","import { Injectable, inject } from '@angular/core';\nimport { HttpLink } from 'apollo-angular/http';\nimport { setContext } from '@apollo/client/link/context';\nimport { ApolloLink, DocumentNode, split } from '@apollo/client/core';\nimport { getMainDefinition } from '@apollo/client/utilities';\nimport { GraphQLWsLink } from '@apollo/client/link/subscriptions';\nimport { Client, createClient } from 'graphql-ws';\nimport { GetHeaders, resolve } from './links';\nimport { WEBSOCKET } from '@nx-ddd/common/infrastructure/externals/websocket/token';\n\nfunction isSubscription(query: DocumentNode) {\n const definition = getMainDefinition(query);\n return (\n definition.kind === 'OperationDefinition' &&\n definition.operation === 'subscription'\n );\n}\n\n@Injectable({providedIn: 'root'})\nexport class ApolloLinkService {\n readonly httpLink = inject(HttpLink);\n readonly WebSocketImpl = WEBSOCKET.inject();\n\n private createGraphQLWsClient(baseUrl: string, getHeaders: GetHeaders): Client {\n return createClient({\n url: baseUrl.replace('http', 'ws'),\n webSocketImpl: this.WebSocketImpl,\n connectionParams: async () => {\n const headers = await resolve(getHeaders);\n return { headers };\n },\n lazy: true, // 必要時のみ接続を開始\n shouldRetry: () => true, // 再接続を有効化\n retryAttempts: 5, // 再接続試行回数を制限\n keepAlive: 30000, // 30秒ごとにキープアライブ\n });\n }\n\n createHttpLink(baseUrl: string, getHeaders: GetHeaders): ApolloLink {\n return ApolloLink.from([\n setContext(async () => {\n const headers = await resolve(getHeaders);\n return { headers }\n }),\n this.httpLink.create({ uri: baseUrl, }),\n ]);\n }\n\n createWebSocketLink(baseUrl: string, getHeaders: GetHeaders): ApolloLink {\n return new GraphQLWsLink(this.createGraphQLWsClient(baseUrl, getHeaders));\n }\n\n createAutoSplitLink(baseUrl: string, getHeaders: GetHeaders): ApolloLink {\n return split(\n ({ query }) => isSubscription(query),\n this.createWebSocketLink(baseUrl, getHeaders),\n this.createHttpLink(baseUrl, getHeaders)\n );\n }\n\n createLink(baseUrl: string, getHeaders: GetHeaders): ApolloLink {\n return this.createAutoSplitLink(baseUrl, getHeaders);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nx-ddd-hasura-browser.mjs","sources":["../tmp-esm2022/browser/providers.js","../tmp-esm2022/browser/nx-ddd-hasura-browser.js"],"sourcesContent":["import { provideWebSocket } from '@nx-ddd/common/infrastructure/externals/websocket/impl/browser';\nimport { provideCrypto } from '@nx-ddd/common/infrastructure/externals/crypto/impl/browser';\n/**\n * Provides all necessary dependencies for Hasura in browser environments\n */\nexport function provideHasuraBrowser() {\n return [\n ...provideWebSocket(),\n provideCrypto(),\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9oYXN1cmEvc3JjL2xpYi9icm93c2VyL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNsRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFFNUY7O0dBRUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CO0lBQ2xDLE9BQU87UUFDTCxHQUFHLGdCQUFnQixFQUFFO1FBQ3JCLGFBQWEsRUFBRTtLQUNoQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwcm92aWRlV2ViU29ja2V0IH0gZnJvbSAnQG54LWRkZC9jb21tb24vaW5mcmFzdHJ1Y3R1cmUvZXh0ZXJuYWxzL3dlYnNvY2tldC9pbXBsL2Jyb3dzZXInO1xuaW1wb3J0IHsgcHJvdmlkZUNyeXB0byB9IGZyb20gJ0BueC1kZGQvY29tbW9uL2luZnJhc3RydWN0dXJlL2V4dGVybmFscy9jcnlwdG8vaW1wbC9icm93c2VyJztcblxuLyoqXG4gKiBQcm92aWRlcyBhbGwgbmVjZXNzYXJ5IGRlcGVuZGVuY2llcyBmb3IgSGFzdXJhIGluIGJyb3dzZXIgZW52aXJvbm1lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlSGFzdXJhQnJvd3NlcigpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICAuLi5wcm92aWRlV2ViU29ja2V0KCksXG4gICAgcHJvdmlkZUNyeXB0bygpLFxuICBdO1xufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibngtZGRkLWhhc3VyYS1icm93c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9oYXN1cmEvc3JjL2xpYi9icm93c2VyL254LWRkZC1oYXN1cmEtYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;AAEA;AACA;AACA;AACO,SAAS,oBAAoB,GAAG;AACvC,IAAI,OAAO;AACX,QAAQ,GAAG,gBAAgB,EAAE;AAC7B,QAAQ,aAAa,EAAE;AACvB,KAAK;AACL;;ACVA;AACA;AACA;;;;"}
1
+ {"version":3,"file":"nx-ddd-hasura-browser.mjs","sources":["../../../../../packages/@nx-ddd/hasura/src/lib/browser/providers.ts","../../../../../packages/@nx-ddd/hasura/src/lib/browser/nx-ddd-hasura-browser.ts"],"sourcesContent":["import { Provider } from '@angular/core';\nimport { provideWebSocket } from '@nx-ddd/common/infrastructure/externals/websocket/impl/browser';\nimport { provideCrypto } from '@nx-ddd/common/infrastructure/externals/crypto/impl/browser';\n\n/**\n * Provides all necessary dependencies for Hasura in browser environments\n */\nexport function provideHasuraBrowser(): Provider[] {\n return [\n ...provideWebSocket(),\n provideCrypto(),\n ];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAIA;;AAEG;SACa,oBAAoB,GAAA;IAClC,OAAO;AACL,QAAA,GAAG,gBAAgB,EAAE;AACrB,QAAA,aAAa,EAAE;KAChB;AACH;;ACZA;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"nx-ddd-hasura-server.mjs","sources":["../tmp-esm2022/server/providers.js","../tmp-esm2022/server/nx-ddd-hasura-server.js"],"sourcesContent":["import { provideCrypto } from '@nx-ddd/common/infrastructure/externals/crypto/impl/server';\nimport { provideWebSocket } from '@nx-ddd/common/infrastructure/externals/websocket/impl/server';\n/**\n * Provides all necessary dependencies for Hasura in Node.js/server environments\n */\nexport function provideHasuraServer() {\n return [\n ...provideWebSocket(),\n provideCrypto(),\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9oYXN1cmEvc3JjL2xpYi9zZXJ2ZXIvcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUVqRzs7R0FFRztBQUNILE1BQU0sVUFBVSxtQkFBbUI7SUFDakMsT0FBTztRQUNMLEdBQUcsZ0JBQWdCLEVBQUU7UUFDckIsYUFBYSxFQUFFO0tBQ2hCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHByb3ZpZGVDcnlwdG8gfSBmcm9tICdAbngtZGRkL2NvbW1vbi9pbmZyYXN0cnVjdHVyZS9leHRlcm5hbHMvY3J5cHRvL2ltcGwvc2VydmVyJztcbmltcG9ydCB7IHByb3ZpZGVXZWJTb2NrZXQgfSBmcm9tICdAbngtZGRkL2NvbW1vbi9pbmZyYXN0cnVjdHVyZS9leHRlcm5hbHMvd2Vic29ja2V0L2ltcGwvc2VydmVyJztcblxuLyoqXG4gKiBQcm92aWRlcyBhbGwgbmVjZXNzYXJ5IGRlcGVuZGVuY2llcyBmb3IgSGFzdXJhIGluIE5vZGUuanMvc2VydmVyIGVudmlyb25tZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUhhc3VyYVNlcnZlcigpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICAuLi5wcm92aWRlV2ViU29ja2V0KCksXG4gICAgcHJvdmlkZUNyeXB0bygpLFxuICBdO1xufSJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibngtZGRkLWhhc3VyYS1zZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2hhc3VyYS9zcmMvbGliL3NlcnZlci9ueC1kZGQtaGFzdXJhLXNlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;AAEA;AACA;AACA;AACO,SAAS,mBAAmB,GAAG;AACtC,IAAI,OAAO;AACX,QAAQ,GAAG,gBAAgB,EAAE;AAC7B,QAAQ,aAAa,EAAE;AACvB,KAAK;AACL;;ACVA;AACA;AACA;;;;"}
1
+ {"version":3,"file":"nx-ddd-hasura-server.mjs","sources":["../../../../../packages/@nx-ddd/hasura/src/lib/server/providers.ts","../../../../../packages/@nx-ddd/hasura/src/lib/server/nx-ddd-hasura-server.ts"],"sourcesContent":["import { Provider } from '@angular/core';\nimport { provideCrypto } from '@nx-ddd/common/infrastructure/externals/crypto/impl/server';\nimport { provideWebSocket } from '@nx-ddd/common/infrastructure/externals/websocket/impl/server';\n\n/**\n * Provides all necessary dependencies for Hasura in Node.js/server environments\n */\nexport function provideHasuraServer(): Provider[] {\n return [\n ...provideWebSocket(),\n provideCrypto(),\n ];\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAIA;;AAEG;SACa,mBAAmB,GAAA;IACjC,OAAO;AACL,QAAA,GAAG,gBAAgB,EAAE;AACrB,QAAA,aAAa,EAAE;KAChB;AACH;;ACZA;;AAEG;;;;"}
@@ -43,10 +43,10 @@ class ApolloMultiService {
43
43
  }
44
44
  return client;
45
45
  }
46
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ApolloMultiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
47
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ApolloMultiService, providedIn: 'root' });
46
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ApolloMultiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
47
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ApolloMultiService, providedIn: 'root' });
48
48
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ApolloMultiService, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ApolloMultiService, decorators: [{
50
50
  type: Injectable,
51
51
  args: [{ providedIn: 'root' }]
52
52
  }] });
@@ -104,10 +104,10 @@ class ApolloLinkService {
104
104
  createLink(baseUrl, getHeaders) {
105
105
  return this.createAutoSplitLink(baseUrl, getHeaders);
106
106
  }
107
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ApolloLinkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
108
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ApolloLinkService, providedIn: 'root' });
107
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ApolloLinkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
108
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ApolloLinkService, providedIn: 'root' });
109
109
  }
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ApolloLinkService, decorators: [{
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ApolloLinkService, decorators: [{
111
111
  type: Injectable,
112
112
  args: [{ providedIn: 'root' }]
113
113
  }] });
@@ -147,10 +147,10 @@ class ApolloClientManagerService {
147
147
  return client;
148
148
  }));
149
149
  }
150
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ApolloClientManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
151
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ApolloClientManagerService, providedIn: 'root' });
150
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ApolloClientManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
151
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ApolloClientManagerService, providedIn: 'root' });
152
152
  }
153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ApolloClientManagerService, decorators: [{
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ApolloClientManagerService, decorators: [{
154
154
  type: Injectable,
155
155
  args: [{ providedIn: 'root' }]
156
156
  }] });
@@ -509,10 +509,10 @@ class HasuraInterceptor {
509
509
  }
510
510
  return next.handle(req);
511
511
  }
512
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: HasuraInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
513
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: HasuraInterceptor });
512
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: HasuraInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
513
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: HasuraInterceptor });
514
514
  }
515
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: HasuraInterceptor, decorators: [{
515
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: HasuraInterceptor, decorators: [{
516
516
  type: Injectable
517
517
  }] });
518
518
 
@@ -537,28 +537,36 @@ function provideHasuraGetHeaders(useFactory) {
537
537
  * @deprecated use provideHasuraGetHeaders instead
538
538
  */
539
539
  const provideGraphqlHeaders = provideHasuraGetHeaders;
540
+ /** @deprecated */
540
541
  function provideApolloOptions() {
541
542
  return {
542
543
  provide: APOLLO_OPTIONS,
543
- useFactory: (link) => ({ cache: new InMemoryCache$1(), link }),
544
- deps: [ApolloLink],
544
+ useFactory: () => ({ cache: new InMemoryCache$1() }),
545
545
  };
546
546
  }
547
547
  function provideHasura(config) {
548
548
  return [
549
- provideApollo(() => ({
550
- cache: new InMemoryCache$1(),
551
- link: inject(ApolloLink),
552
- })),
549
+ provideApollo(() => {
550
+ const linkService = inject(ApolloLinkService);
551
+ const getHeaders = inject(GRAPHQL_HEADERS);
552
+ return {
553
+ cache: new InMemoryCache$1(),
554
+ link: linkService.createLink(config.url, getHeaders),
555
+ };
556
+ }),
553
557
  provideHasuraConfig(config),
554
558
  ];
555
559
  }
556
560
  function provideHasuraWithWebSocket(config) {
557
561
  return [
558
- provideApollo(() => ({
559
- cache: new InMemoryCache$1(),
560
- link: inject(ApolloLink),
561
- })),
562
+ provideApollo(() => {
563
+ const linkService = inject(ApolloLinkService);
564
+ const getHeaders = inject(GRAPHQL_HEADERS);
565
+ return {
566
+ cache: new InMemoryCache$1(),
567
+ link: linkService.createLink(config.url, getHeaders),
568
+ };
569
+ }),
562
570
  provideHasuraConfig(config),
563
571
  ];
564
572
  }
@@ -841,10 +849,10 @@ class HasuraService {
841
849
  fetchPolicy
842
850
  }).valueChanges));
843
851
  }
844
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: HasuraService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
845
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: HasuraService, providedIn: 'root' });
852
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: HasuraService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
853
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: HasuraService, providedIn: 'root' });
846
854
  }
847
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: HasuraService, decorators: [{
855
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: HasuraService, decorators: [{
848
856
  type: Injectable,
849
857
  args: [{ providedIn: 'root' }]
850
858
  }] });
@@ -927,10 +935,10 @@ class _HasuraRepository extends Repository {
927
935
  }
928
936
  class HasuraRepository extends _HasuraRepository {
929
937
  hasura = inject(HasuraService);
930
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: HasuraRepository, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
931
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: HasuraRepository });
938
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: HasuraRepository, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
939
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: HasuraRepository });
932
940
  }
933
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: HasuraRepository, decorators: [{
941
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: HasuraRepository, decorators: [{
934
942
  type: Injectable
935
943
  }] });
936
944
  function getHasuraRepository(Entity, deps) {
@@ -1 +1 @@
1
- {"version":3,"file":"nx-ddd-hasura.mjs","sources":["../tmp-esm2022/apollo/multi/multi.service.js","../tmp-esm2022/apollo/link/links.js","../tmp-esm2022/apollo/link/link.service.js","../tmp-esm2022/apollo/client-manager/client-manager.service.js","../tmp-esm2022/decorators/decorators.js","../tmp-esm2022/converter/type-converters.js","../tmp-esm2022/converter/from-hasura.js","../tmp-esm2022/converter/case-converters.js","../tmp-esm2022/converter/to-hasura.js","../tmp-esm2022/converter/converter.js","../tmp-esm2022/hasura.interceptor.js","../tmp-esm2022/hasura.config.js","../tmp-esm2022/hasura.di.js","../tmp-esm2022/builders/parts/queries/get.builder.js","../tmp-esm2022/builders/parts/queries/queries.builder.js","../tmp-esm2022/builders/parts/mutations/create.builder.js","../tmp-esm2022/builders/parts/mutations/delete.builder.js","../tmp-esm2022/builders/parts/mutations/save.builder.js","../tmp-esm2022/builders/parts/mutations/update.builder.js","../tmp-esm2022/builders/parts/mutations/mutations.builder.js","../tmp-esm2022/builders/parts/parts.builder.js","../tmp-esm2022/builders/query-builder.js","../tmp-esm2022/hasura.service.js","../tmp-esm2022/hasura.repository.js","../tmp-esm2022/nx-ddd-hasura.js"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { InMemoryCache } from '@apollo/client/cache';\nimport { makeDI } from '@nx-ddd/core';\nimport { ApolloLinkService } from '@nx-ddd/hasura/apollo/link';\nimport { Apollo } from 'apollo-angular';\nimport * as i0 from \"@angular/core\";\n/** @deprecated use ApolloClientManagerService instead */\nexport class ApolloMultiService {\n apollo = inject(Apollo);\n linkService = inject(ApolloLinkService);\n createClient(name, baseUrl, getHeaders) {\n this.apollo.removeClient(name);\n this.apollo.createNamed(name, {\n link: this.linkService.createLink(baseUrl, getHeaders),\n cache: new InMemoryCache()\n });\n }\n getClient(endpoint, getHeaders) {\n const name = endpoint;\n let client = this.apollo.use(name);\n console.debug('[ApolloMultiService] getClient:', name);\n if (!client) {\n this.createClient(name, endpoint, getHeaders);\n client = this.apollo.use(name);\n }\n return client;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ApolloMultiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ApolloMultiService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ApolloMultiService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nexport const GET_APOLLO_CLIENT = makeDI('GET_APOLLO_CLIENT');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvaGFzdXJhL3NyYy9saWIvYXBvbGxvL211bHRpL211bHRpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFjLE1BQU0sNEJBQTRCLENBQUM7QUFDM0UsT0FBTyxFQUFFLE1BQU0sRUFBYyxNQUFNLGdCQUFnQixDQUFDOztBQUlwRCx5REFBeUQ7QUFFekQsTUFBTSxPQUFPLGtCQUFrQjtJQUNwQixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2QsV0FBVyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRWpELFlBQVksQ0FBQyxJQUFZLEVBQUUsT0FBZSxFQUFFLFVBQXNCO1FBQzFFLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRTtZQUM1QixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQztZQUN0RCxLQUFLLEVBQUUsSUFBSSxhQUFhLEVBQUU7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxRQUFnQixFQUFFLFVBQXNCO1FBQ2hELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUN0QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUM5QyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7dUdBckJVLGtCQUFrQjsyR0FBbEIsa0JBQWtCLGNBRE4sTUFBTTs7MkZBQ2xCLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7O0FBMkJoQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQXVCLG1CQUFtQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluTWVtb3J5Q2FjaGUgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jYWNoZSc7XG5pbXBvcnQgeyBBcG9sbG9DbGllbnQgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7IG1ha2VESSB9IGZyb20gJ0BueC1kZGQvY29yZSc7XG5pbXBvcnQgeyBBcG9sbG9MaW5rU2VydmljZSwgR2V0SGVhZGVycyB9IGZyb20gJ0BueC1kZGQvaGFzdXJhL2Fwb2xsby9saW5rJztcbmltcG9ydCB7IEFwb2xsbywgQXBvbGxvQmFzZSB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEhhc3VyYUNvbmZpZyB9IGZyb20gJy4uLy4uL2hhc3VyYS5jb25maWcnO1xuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIEFwb2xsb0NsaWVudE1hbmFnZXJTZXJ2aWNlIGluc3RlYWQgKi9cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIEFwb2xsb011bHRpU2VydmljZSB7XG4gIHJlYWRvbmx5IGFwb2xsbyA9IGluamVjdChBcG9sbG8pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGlua1NlcnZpY2UgPSBpbmplY3QoQXBvbGxvTGlua1NlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBjcmVhdGVDbGllbnQobmFtZTogc3RyaW5nLCBiYXNlVXJsOiBzdHJpbmcsIGdldEhlYWRlcnM6IEdldEhlYWRlcnMpIHtcbiAgICB0aGlzLmFwb2xsby5yZW1vdmVDbGllbnQobmFtZSk7XG4gICAgdGhpcy5hcG9sbG8uY3JlYXRlTmFtZWQobmFtZSwge1xuICAgICAgbGluazogdGhpcy5saW5rU2VydmljZS5jcmVhdGVMaW5rKGJhc2VVcmwsIGdldEhlYWRlcnMpLFxuICAgICAgY2FjaGU6IG5ldyBJbk1lbW9yeUNhY2hlKClcbiAgICB9KTtcbiAgfVxuXG4gIGdldENsaWVudChlbmRwb2ludDogc3RyaW5nLCBnZXRIZWFkZXJzOiBHZXRIZWFkZXJzKTogQXBvbGxvQmFzZSB7XG4gICAgY29uc3QgbmFtZSA9IGVuZHBvaW50O1xuICAgIGxldCBjbGllbnQgPSB0aGlzLmFwb2xsby51c2UobmFtZSk7XG4gICAgY29uc29sZS5kZWJ1ZygnW0Fwb2xsb011bHRpU2VydmljZV0gZ2V0Q2xpZW50OicsIG5hbWUpO1xuICAgIGlmICghY2xpZW50KSB7XG4gICAgICB0aGlzLmNyZWF0ZUNsaWVudChuYW1lLCBlbmRwb2ludCwgZ2V0SGVhZGVycyk7XG4gICAgICBjbGllbnQgPSB0aGlzLmFwb2xsby51c2UobmFtZSk7XG4gICAgfVxuICAgIHJldHVybiBjbGllbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgdHlwZSBHZXRBcG9sbG9DbGllbnQ8RSBleHRlbmRzIHtpZDogc3RyaW5nfT4gPSAoY29uZmlnOiBIYXN1cmFDb25maWcpID0+IEFwb2xsb0NsaWVudCB8IFByb21pc2U8QXBvbGxvQ2xpZW50PiB8IE9ic2VydmFibGU8QXBvbGxvQ2xpZW50PjtcbmV4cG9ydCBjb25zdCBHRVRfQVBPTExPX0NMSUVOVCA9IG1ha2VESTxHZXRBcG9sbG9DbGllbnQ8YW55Pj4oJ0dFVF9BUE9MTE9fQ0xJRU5UJyk7Il19","import { distinctUntilChanged, filter, from, isObservable, lastValueFrom, of, take } from 'rxjs';\nexport function wrap(obsOrPromiseOrValue) {\n if (isObservable(obsOrPromiseOrValue))\n return obsOrPromiseOrValue;\n if (obsOrPromiseOrValue instanceof Promise)\n return from(obsOrPromiseOrValue);\n return of(obsOrPromiseOrValue);\n}\nexport function resolve(getHeaders) {\n const headers$ = wrap(getHeaders());\n return lastValueFrom(headers$.pipe(filter((headers) => !!headers), take(1), distinctUntilChanged()));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2hhc3VyYS9zcmMvbGliL2Fwb2xsby9saW5rL2xpbmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQWMsRUFBRSxFQUFFLElBQUksRUFBTyxNQUFNLE1BQU0sQ0FBQztBQUtsSCxNQUFNLFVBQVUsSUFBSSxDQUFJLG1CQUFtRDtJQUN6RSxJQUFJLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQztRQUFFLE9BQU8sbUJBQW1CLENBQUM7SUFDbEUsSUFBSSxtQkFBbUIsWUFBWSxPQUFPO1FBQUUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM3RSxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLFVBQXNCO0lBQzVDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLE9BQU8sYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUM5QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1Asb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIGZyb20sIGlzT2JzZXJ2YWJsZSwgbGFzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgb2YsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG50eXBlIFByb21pc2VPck9ic2VydmFibGU8VD4gPSBQcm9taXNlPFQ+IHwgT2JzZXJ2YWJsZTxUPiB8IFQ7XG5leHBvcnQgdHlwZSBHZXRIZWFkZXJzID0gKCkgPT4gUHJvbWlzZU9yT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PjtcblxuZXhwb3J0IGZ1bmN0aW9uIHdyYXA8VD4ob2JzT3JQcm9taXNlT3JWYWx1ZTogUHJvbWlzZTxUPiB8IE9ic2VydmFibGU8VD4gfCBUKTogT2JzZXJ2YWJsZTxUPiB7XG4gIGlmIChpc09ic2VydmFibGUob2JzT3JQcm9taXNlT3JWYWx1ZSkpIHJldHVybiBvYnNPclByb21pc2VPclZhbHVlO1xuICBpZiAob2JzT3JQcm9taXNlT3JWYWx1ZSBpbnN0YW5jZW9mIFByb21pc2UpIHJldHVybiBmcm9tKG9ic09yUHJvbWlzZU9yVmFsdWUpO1xuICByZXR1cm4gb2Yob2JzT3JQcm9taXNlT3JWYWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlKGdldEhlYWRlcnM6IEdldEhlYWRlcnMpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcbiAgY29uc3QgaGVhZGVycyQgPSB3cmFwKGdldEhlYWRlcnMoKSk7XG4gIHJldHVybiBsYXN0VmFsdWVGcm9tKGhlYWRlcnMkLnBpcGUoXG4gICAgZmlsdGVyKChoZWFkZXJzKSA9PiAhIWhlYWRlcnMpLFxuICAgIHRha2UoMSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgKSlcbn1cbiJdfQ==","import { Injectable, inject } from '@angular/core';\nimport { HttpLink } from 'apollo-angular/http';\nimport { setContext } from '@apollo/client/link/context';\nimport { ApolloLink, split } from '@apollo/client/core';\nimport { getMainDefinition } from '@apollo/client/utilities';\nimport { GraphQLWsLink } from '@apollo/client/link/subscriptions';\nimport { createClient } from 'graphql-ws';\nimport { resolve } from './links';\nimport { WEBSOCKET } from '@nx-ddd/common/infrastructure/externals/websocket/token';\nimport * as i0 from \"@angular/core\";\nfunction isSubscription(query) {\n const definition = getMainDefinition(query);\n return (definition.kind === 'OperationDefinition' &&\n definition.operation === 'subscription');\n}\nexport class ApolloLinkService {\n httpLink = inject(HttpLink);\n WebSocketImpl = WEBSOCKET.inject();\n createGraphQLWsClient(baseUrl, getHeaders) {\n return createClient({\n url: baseUrl.replace('http', 'ws'),\n webSocketImpl: this.WebSocketImpl,\n connectionParams: async () => {\n const headers = await resolve(getHeaders);\n return { headers };\n },\n lazy: true, // 必要時のみ接続を開始\n shouldRetry: () => true, // 再接続を有効化\n retryAttempts: 5, // 再接続試行回数を制限\n keepAlive: 30000, // 30秒ごとにキープアライブ\n });\n }\n createHttpLink(baseUrl, getHeaders) {\n return ApolloLink.from([\n setContext(async () => {\n const headers = await resolve(getHeaders);\n return { headers };\n }),\n this.httpLink.create({ uri: baseUrl, }),\n ]);\n }\n createWebSocketLink(baseUrl, getHeaders) {\n return new GraphQLWsLink(this.createGraphQLWsClient(baseUrl, getHeaders));\n }\n createAutoSplitLink(baseUrl, getHeaders) {\n return split(({ query }) => isSubscription(query), this.createWebSocketLink(baseUrl, getHeaders), this.createHttpLink(baseUrl, getHeaders));\n }\n createLink(baseUrl, getHeaders) {\n return this.createAutoSplitLink(baseUrl, getHeaders);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ApolloLinkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ApolloLinkService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ApolloLinkService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9oYXN1cmEvc3JjL2xpYi9hcG9sbG8vbGluay9saW5rLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFnQixLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFVLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNsRCxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5REFBeUQsQ0FBQzs7QUFFcEYsU0FBUyxjQUFjLENBQUMsS0FBbUI7SUFDekMsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsT0FBTyxDQUNMLFVBQVUsQ0FBQyxJQUFJLEtBQUsscUJBQXFCO1FBQ3pDLFVBQVUsQ0FBQyxTQUFTLEtBQUssY0FBYyxDQUN4QyxDQUFDO0FBQ0osQ0FBQztBQUdELE1BQU0sT0FBTyxpQkFBaUI7SUFDbkIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QixhQUFhLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBRXBDLHFCQUFxQixDQUFDLE9BQWUsRUFBRSxVQUFzQjtRQUNuRSxPQUFPLFlBQVksQ0FBQztZQUNsQixHQUFHLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQ2xDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxnQkFBZ0IsRUFBRSxLQUFLLElBQUksRUFBRTtnQkFDM0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUNyQixDQUFDO1lBQ0QsSUFBSSxFQUFFLElBQUksRUFBRSxhQUFhO1lBQ3pCLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsVUFBVTtZQUNuQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLGFBQWE7WUFDL0IsU0FBUyxFQUFFLEtBQUssRUFBRSxnQkFBZ0I7U0FDbkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFlLEVBQUUsVUFBc0I7UUFDcEQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ3JCLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDcEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQTtZQUNwQixDQUFDLENBQUM7WUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLEdBQUcsQ0FBQztTQUN4QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsT0FBZSxFQUFFLFVBQXNCO1FBQ3pELE9BQU8sSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxPQUFlLEVBQUUsVUFBc0I7UUFDekQsT0FBTyxLQUFLLENBQ1YsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQ3BDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEVBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUN6QyxDQUFDO0lBQ0osQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFlLEVBQUUsVUFBc0I7UUFDaEQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7dUdBM0NVLGlCQUFpQjsyR0FBakIsaUJBQWlCLGNBREwsTUFBTTs7MkZBQ2xCLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBMaW5rIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXIvaHR0cCc7XG5pbXBvcnQgeyBzZXRDb250ZXh0IH0gZnJvbSAnQGFwb2xsby9jbGllbnQvbGluay9jb250ZXh0JztcbmltcG9ydCB7IEFwb2xsb0xpbmssIERvY3VtZW50Tm9kZSwgc3BsaXQgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7IGdldE1haW5EZWZpbml0aW9uIH0gZnJvbSAnQGFwb2xsby9jbGllbnQvdXRpbGl0aWVzJztcbmltcG9ydCB7IEdyYXBoUUxXc0xpbmsgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9saW5rL3N1YnNjcmlwdGlvbnMnO1xuaW1wb3J0IHsgQ2xpZW50LCBjcmVhdGVDbGllbnQgfSBmcm9tICdncmFwaHFsLXdzJztcbmltcG9ydCB7IEdldEhlYWRlcnMsIHJlc29sdmUgfSBmcm9tICcuL2xpbmtzJztcbmltcG9ydCB7IFdFQlNPQ0tFVCB9IGZyb20gJ0BueC1kZGQvY29tbW9uL2luZnJhc3RydWN0dXJlL2V4dGVybmFscy93ZWJzb2NrZXQvdG9rZW4nO1xuXG5mdW5jdGlvbiBpc1N1YnNjcmlwdGlvbihxdWVyeTogRG9jdW1lbnROb2RlKSB7XG4gIGNvbnN0IGRlZmluaXRpb24gPSBnZXRNYWluRGVmaW5pdGlvbihxdWVyeSk7XG4gIHJldHVybiAoXG4gICAgZGVmaW5pdGlvbi5raW5kID09PSAnT3BlcmF0aW9uRGVmaW5pdGlvbicgJiZcbiAgICBkZWZpbml0aW9uLm9wZXJhdGlvbiA9PT0gJ3N1YnNjcmlwdGlvbidcbiAgKTtcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQXBvbGxvTGlua1NlcnZpY2Uge1xuICByZWFkb25seSBodHRwTGluayA9IGluamVjdChIdHRwTGluayk7XG4gIHJlYWRvbmx5IFdlYlNvY2tldEltcGwgPSBXRUJTT0NLRVQuaW5qZWN0KCk7XG5cbiAgcHJpdmF0ZSBjcmVhdGVHcmFwaFFMV3NDbGllbnQoYmFzZVVybDogc3RyaW5nLCBnZXRIZWFkZXJzOiBHZXRIZWFkZXJzKTogQ2xpZW50IHtcbiAgICByZXR1cm4gY3JlYXRlQ2xpZW50KHtcbiAgICAgIHVybDogYmFzZVVybC5yZXBsYWNlKCdodHRwJywgJ3dzJyksXG4gICAgICB3ZWJTb2NrZXRJbXBsOiB0aGlzLldlYlNvY2tldEltcGwsXG4gICAgICBjb25uZWN0aW9uUGFyYW1zOiBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSBhd2FpdCByZXNvbHZlKGdldEhlYWRlcnMpO1xuICAgICAgICByZXR1cm4geyBoZWFkZXJzIH07XG4gICAgICB9LFxuICAgICAgbGF6eTogdHJ1ZSwgLy8g5b+F6KaB5pmC44Gu44G/5o6l57aa44KS6ZaL5aeLXG4gICAgICBzaG91bGRSZXRyeTogKCkgPT4gdHJ1ZSwgLy8g5YaN5o6l57aa44KS5pyJ5Yq55YyWXG4gICAgICByZXRyeUF0dGVtcHRzOiA1LCAvLyDlho3mjqXntproqabooYzlm57mlbDjgpLliLbpmZBcbiAgICAgIGtlZXBBbGl2ZTogMzAwMDAsIC8vIDMw56eS44GU44Go44Gr44Kt44O844OX44Ki44Op44Kk44OWXG4gICAgfSk7XG4gIH1cblxuICBjcmVhdGVIdHRwTGluayhiYXNlVXJsOiBzdHJpbmcsIGdldEhlYWRlcnM6IEdldEhlYWRlcnMpOiBBcG9sbG9MaW5rIHtcbiAgICByZXR1cm4gQXBvbGxvTGluay5mcm9tKFtcbiAgICAgIHNldENvbnRleHQoYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBoZWFkZXJzID0gYXdhaXQgcmVzb2x2ZShnZXRIZWFkZXJzKTtcbiAgICAgICAgcmV0dXJuIHsgaGVhZGVycyB9XG4gICAgICB9KSxcbiAgICAgIHRoaXMuaHR0cExpbmsuY3JlYXRlKHsgdXJpOiBiYXNlVXJsLCB9KSxcbiAgICBdKTtcbiAgfVxuXG4gIGNyZWF0ZVdlYlNvY2tldExpbmsoYmFzZVVybDogc3RyaW5nLCBnZXRIZWFkZXJzOiBHZXRIZWFkZXJzKTogQXBvbGxvTGluayB7XG4gICAgcmV0dXJuIG5ldyBHcmFwaFFMV3NMaW5rKHRoaXMuY3JlYXRlR3JhcGhRTFdzQ2xpZW50KGJhc2VVcmwsIGdldEhlYWRlcnMpKTtcbiAgfVxuXG4gIGNyZWF0ZUF1dG9TcGxpdExpbmsoYmFzZVVybDogc3RyaW5nLCBnZXRIZWFkZXJzOiBHZXRIZWFkZXJzKTogQXBvbGxvTGluayB7XG4gICAgcmV0dXJuIHNwbGl0KFxuICAgICAgKHsgcXVlcnkgfSkgPT4gaXNTdWJzY3JpcHRpb24ocXVlcnkpLFxuICAgICAgdGhpcy5jcmVhdGVXZWJTb2NrZXRMaW5rKGJhc2VVcmwsIGdldEhlYWRlcnMpLFxuICAgICAgdGhpcy5jcmVhdGVIdHRwTGluayhiYXNlVXJsLCBnZXRIZWFkZXJzKVxuICAgICk7XG4gIH1cblxuICBjcmVhdGVMaW5rKGJhc2VVcmw6IHN0cmluZywgZ2V0SGVhZGVyczogR2V0SGVhZGVycyk6IEFwb2xsb0xpbmsge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZUF1dG9TcGxpdExpbmsoYmFzZVVybCwgZ2V0SGVhZGVycyk7XG4gIH1cbn1cbiJdfQ==","import { inject, Injectable } from \"@angular/core\";\nimport { Apollo } from \"apollo-angular\";\nimport { InMemoryCache } from \"@apollo/client/cache\";\nimport { ApolloLinkService, wrap } from \"../link\";\nimport { switchMap, take } from \"rxjs\";\nimport { CRYPTO } from \"@nx-ddd/common/infrastructure/externals/crypto/token\";\nimport * as i0 from \"@angular/core\";\nexport class ApolloClientManagerService {\n apollo = inject(Apollo);\n linkService = inject(ApolloLinkService);\n crypto = CRYPTO.inject() ?? globalThis.crypto;\n async buildClientName(endpoint, headers) {\n const data = new TextEncoder().encode(JSON.stringify(headers));\n // HTTP環境ではcrypto.subtleが使えないため、フォールバックを使用\n if (!this.crypto?.subtle) {\n const str = JSON.stringify(headers);\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = ((hash << 5) - hash) + str.charCodeAt(i);\n hash |= 0;\n }\n return `${endpoint}?headers=${Math.abs(hash).toString(16)}`;\n }\n const arrayBuffer = await this.crypto.subtle.digest('SHA-256', data);\n const hash = Array.from(new Uint8Array(arrayBuffer)).map(b => b.toString(16).padStart(2, '0')).join('');\n return `${endpoint}?headers=${hash}`;\n }\n getClient(endpoint, getHeaders) {\n return wrap(getHeaders()).pipe(take(1), switchMap(async (headers) => {\n const name = await this.buildClientName(endpoint, headers);\n const client = this.apollo.use(name);\n if (!client) {\n this.apollo.removeClient(name);\n this.apollo.createNamed(name, {\n link: this.linkService.createLink(endpoint, getHeaders),\n cache: new InMemoryCache()\n });\n return this.apollo.use(name);\n }\n return client;\n }));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ApolloClientManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ApolloClientManagerService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ApolloClientManagerService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvaGFzdXJhL3NyYy9saWIvYXBvbGxvL2NsaWVudC1tYW5hZ2VyL2NsaWVudC1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBYyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQWMsSUFBSSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlELE9BQU8sRUFBYyxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7QUFHOUUsTUFBTSxPQUFPLDBCQUEwQjtJQUM1QixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2QsV0FBVyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUV2RCxLQUFLLENBQUMsZUFBZSxDQUFDLFFBQWdCLEVBQUUsT0FBK0I7UUFDL0UsTUFBTSxJQUFJLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQy9ELDBDQUEwQztRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN6QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BDLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztZQUNiLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ3BDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hELElBQUksSUFBSSxDQUFDLENBQUM7WUFDWixDQUFDO1lBQ0QsT0FBTyxHQUFHLFFBQVEsWUFBWSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzlELENBQUM7UUFDRCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RyxPQUFPLEdBQUcsUUFBUSxZQUFZLElBQUksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTLENBQUMsUUFBZ0IsRUFBRSxVQUFzQjtRQUNoRCxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDNUIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDMUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMzRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVyQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRTtvQkFDNUIsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUM7b0JBQ3ZELEtBQUssRUFBRSxJQUFJLGFBQWEsRUFBRTtpQkFDM0IsQ0FBQyxDQUFDO2dCQUNILE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsQ0FBQztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO3VHQXpDVSwwQkFBMEI7MkdBQTFCLDBCQUEwQixjQURkLE1BQU07OzJGQUNsQiwwQkFBMEI7a0JBRHRDLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFwb2xsbywgQXBvbGxvQmFzZSB9IGZyb20gXCJhcG9sbG8tYW5ndWxhclwiO1xuaW1wb3J0IHsgSW5NZW1vcnlDYWNoZSB9IGZyb20gXCJAYXBvbGxvL2NsaWVudC9jYWNoZVwiO1xuaW1wb3J0IHsgQXBvbGxvTGlua1NlcnZpY2UsIEdldEhlYWRlcnMsIHdyYXAgfSBmcm9tIFwiLi4vbGlua1wiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IENSWVBUTyB9IGZyb20gXCJAbngtZGRkL2NvbW1vbi9pbmZyYXN0cnVjdHVyZS9leHRlcm5hbHMvY3J5cHRvL3Rva2VuXCI7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIEFwb2xsb0NsaWVudE1hbmFnZXJTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgYXBvbGxvID0gaW5qZWN0KEFwb2xsbyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBsaW5rU2VydmljZSA9IGluamVjdChBcG9sbG9MaW5rU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjcnlwdG8gPSBDUllQVE8uaW5qZWN0KCkgPz8gZ2xvYmFsVGhpcy5jcnlwdG87XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkQ2xpZW50TmFtZShlbmRwb2ludDogc3RyaW5nLCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBkYXRhID0gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGhlYWRlcnMpKTtcbiAgICAvLyBIVFRQ55Kw5aKD44Gn44GvY3J5cHRvLnN1YnRsZeOBjOS9v+OBiOOBquOBhOOBn+OCgeOAgeODleOCqeODvOODq+ODkOODg+OCr+OCkuS9v+eUqFxuICAgIGlmICghdGhpcy5jcnlwdG8/LnN1YnRsZSkge1xuICAgICAgY29uc3Qgc3RyID0gSlNPTi5zdHJpbmdpZnkoaGVhZGVycyk7XG4gICAgICBsZXQgaGFzaCA9IDA7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgICAgICBoYXNoID0gKChoYXNoIDw8IDUpIC0gaGFzaCkgKyBzdHIuY2hhckNvZGVBdChpKTtcbiAgICAgICAgaGFzaCB8PSAwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGAke2VuZHBvaW50fT9oZWFkZXJzPSR7TWF0aC5hYnMoaGFzaCkudG9TdHJpbmcoMTYpfWA7XG4gICAgfVxuICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmRpZ2VzdCgnU0hBLTI1NicsIGRhdGEpO1xuICAgIGNvbnN0IGhhc2ggPSBBcnJheS5mcm9tKG5ldyBVaW50OEFycmF5KGFycmF5QnVmZmVyKSkubWFwKGIgPT4gYi50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKSkuam9pbignJyk7XG4gICAgcmV0dXJuIGAke2VuZHBvaW50fT9oZWFkZXJzPSR7aGFzaH1gO1xuICB9XG5cbiAgZ2V0Q2xpZW50KGVuZHBvaW50OiBzdHJpbmcsIGdldEhlYWRlcnM6IEdldEhlYWRlcnMpOiBPYnNlcnZhYmxlPEFwb2xsb0Jhc2U8YW55Pj4ge1xuICAgIHJldHVybiB3cmFwKGdldEhlYWRlcnMoKSkucGlwZShcbiAgICAgIHRha2UoMSksXG4gICAgICBzd2l0Y2hNYXAoYXN5bmMgKGhlYWRlcnMpID0+IHtcbiAgICAgICAgY29uc3QgbmFtZSA9IGF3YWl0IHRoaXMuYnVpbGRDbGllbnROYW1lKGVuZHBvaW50LCBoZWFkZXJzKTtcbiAgICAgICAgY29uc3QgY2xpZW50ID0gdGhpcy5hcG9sbG8udXNlKG5hbWUpO1xuXG4gICAgICAgIGlmICghY2xpZW50KSB7XG4gICAgICAgICAgdGhpcy5hcG9sbG8ucmVtb3ZlQ2xpZW50KG5hbWUpO1xuICAgICAgICAgIHRoaXMuYXBvbGxvLmNyZWF0ZU5hbWVkKG5hbWUsIHtcbiAgICAgICAgICAgIGxpbms6IHRoaXMubGlua1NlcnZpY2UuY3JlYXRlTGluayhlbmRwb2ludCwgZ2V0SGVhZGVycyksXG4gICAgICAgICAgICBjYWNoZTogbmV3IEluTWVtb3J5Q2FjaGUoKVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiB0aGlzLmFwb2xsby51c2UobmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2xpZW50O1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIl19","import { makeDecoratorFactories } from \"@nx-ddd/core\";\nimport { camelCase, snakeCase } from 'lodash-es';\nconst { createDecorator, \n// createClassDecorator,\naddAnnotation, getAnnotations, } = makeDecoratorFactories((type, fieldName, propName, options) => ({ type, fieldName, propName, childType: options.childType }), '[@nx-ddd/hasura] annotations');\nexport function getFieldAnnotationMap(T, prefix = '') {\n const annotations = Hasura.getAnnotations(T);\n return (annotations ?? []).reduce((acc, annotation) => {\n const currentKey = prefix ? camelCase(`${prefix}_${annotation.fieldName}`) : annotation.fieldName;\n return { ...acc, [currentKey]: annotation };\n }, {});\n}\nexport function getFlattenFieldAnnotations(T, prefix = '') {\n const annotations = Hasura.getAnnotations(T);\n return (annotations ?? []).reduce((acc, annotation) => {\n const currentKey = prefix ? camelCase(`${prefix}_${annotation.fieldName}`) : annotation.fieldName;\n if (annotation.childType) {\n return {\n ...acc,\n ...getFlattenFieldAnnotations(annotation.childType(), currentKey)\n };\n }\n return {\n ...acc,\n [currentKey]: annotation\n };\n }, {});\n}\nexport function getFields(T, options = {\n prefix: '',\n case: 'snake'\n}) {\n const annotations = Hasura.getAnnotations(T).filter((annotation) => annotation.type !== 'table');\n const changeCase = options?.case === 'snake' ? snakeCase : camelCase;\n const fields = (annotations ?? []).flatMap((annotation) => {\n const currentKey = changeCase(options?.prefix ? `${options?.prefix}_${annotation.fieldName}` : annotation.fieldName);\n if (annotation.childType) {\n return [\n ...getFields(annotation.childType(), {\n prefix: currentKey,\n case: options?.case,\n })\n ];\n }\n return [currentKey];\n });\n return fields;\n}\nfunction createClassDecorator(type) {\n return (nameOrProps) => {\n const props = typeof nameOrProps === 'string' ? { name: nameOrProps } : nameOrProps;\n return (target) => {\n const name = props?.name || target.name;\n const annotation = { type, name };\n addAnnotation(target, annotation);\n };\n };\n}\nexport function getTableName(target) {\n const annotations = getAnnotations(target);\n const annotation = annotations.find((annotation) => annotation.type === 'table');\n return annotation.name;\n}\nexport const Hasura = {\n Table: createClassDecorator('table'),\n Text: createDecorator('text'),\n Timestamp: createDecorator('timestamp'),\n Date: createDecorator('date'),\n Integer: createDecorator('integer'),\n Numeric: createDecorator('numeric'),\n Boolean: createDecorator('boolean'),\n Map: (childType) => createDecorator('map', { childType })(),\n JSON: createDecorator('json'),\n Location: createDecorator('location'),\n addAnnotation,\n createDecorator,\n getAnnotations,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvaGFzdXJhL3NyYy9saWIvZGVjb3JhdG9ycy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqRCxNQUFNLEVBQ0osZUFBZTtBQUNmLHdCQUF3QjtBQUN4QixhQUFhLEVBQ2IsY0FBYyxHQUNmLEdBQUcsc0JBQXNCLENBQ3hCLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUNyRyw4QkFBOEIsQ0FDL0IsQ0FBQztBQUVGLE1BQU0sVUFBVSxxQkFBcUIsQ0FBYSxDQUFNLEVBQUUsTUFBTSxHQUFHLEVBQUU7SUFDbkUsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRTtRQUNwRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUNsRyxPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUM5QyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7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R0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0MsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQWUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQztJQUN0RixPQUFRLFVBQWtCLENBQUMsSUFBSSxDQUFDO0FBQ2xDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUc7SUFDcEIsS0FBSyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQztJQUNwQyxJQUFJLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQztJQUM3QixTQUFTLEVBQUUsZUFBZSxDQUFDLFdBQVcsQ0FBQztJQUN2QyxJQUFJLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQztJQUM3QixPQUFPLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxPQUFPLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxPQUFPLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxHQUFHLEVBQUUsQ0FBQyxTQUFvQixFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEVBQUMsU0FBUyxFQUFDLENBQUMsRUFBRTtJQUNwRSxJQUFJLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQztJQUM3QixRQUFRLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQztJQUNyQyxhQUFhO0lBQ2IsZUFBZTtJQUNmLGNBQWM7Q0FDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFrZURlY29yYXRvckZhY3RvcmllcyB9IGZyb20gXCJAbngtZGRkL2NvcmVcIjtcbmltcG9ydCB7IGNhbWVsQ2FzZSwgc25ha2VDYXNlIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuY29uc3Qge1xuICBjcmVhdGVEZWNvcmF0b3IsXG4gIC8vIGNyZWF0ZUNsYXNzRGVjb3JhdG9yLFxuICBhZGRBbm5vdGF0aW9uLFxuICBnZXRBbm5vdGF0aW9ucyxcbn0gPSBtYWtlRGVjb3JhdG9yRmFjdG9yaWVzKFxuICAodHlwZSwgZmllbGROYW1lLCBwcm9wTmFtZSwgb3B0aW9ucykgPT4gKHsgdHlwZSwgZmllbGROYW1lLCBwcm9wTmFtZSwgY2hpbGRUeXBlOiBvcHRpb25zLmNoaWxkVHlwZSB9KSxcbiAgJ1tAbngtZGRkL2hhc3VyYV0gYW5ub3RhdGlvbnMnXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmllbGRBbm5vdGF0aW9uTWFwPEFubm90YXRpb24+KFQ6IGFueSwgcHJlZml4ID0gJycpOiBSZWNvcmQ8c3RyaW5nLCBBbm5vdGF0aW9uPiB7XG4gIGNvbnN0IGFubm90YXRpb25zID0gSGFzdXJhLmdldEFubm90YXRpb25zKFQpO1xuICByZXR1cm4gKGFubm90YXRpb25zID8/IFtdKS5yZWR1Y2UoKGFjYywgYW5ub3RhdGlvbikgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnRLZXkgPSBwcmVmaXggPyBjYW1lbENhc2UoYCR7cHJlZml4fV8ke2Fubm90YXRpb24uZmllbGROYW1lfWApIDogYW5ub3RhdGlvbi5maWVsZE5hbWU7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbY3VycmVudEtleV06IGFubm90YXRpb24gfTtcbiAgfSwge30pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmxhdHRlbkZpZWxkQW5ub3RhdGlvbnM8QW5ub3RhdGlvbj4oVDogYW55LCBwcmVmaXggPSAnJyk6IFJlY29yZDxzdHJpbmcsIEFubm90YXRpb24+IHtcbiAgY29uc3QgYW5ub3RhdGlvbnMgPSBIYXN1cmEuZ2V0QW5ub3RhdGlvbnMoVCk7XG4gIHJldHVybiAoYW5ub3RhdGlvbnMgPz8gW10pLnJlZHVjZSgoYWNjLCBhbm5vdGF0aW9uKSA9PiB7XG4gICAgY29uc3QgY3VycmVudEtleSA9IHByZWZpeCA/IGNhbWVsQ2FzZShgJHtwcmVmaXh9XyR7YW5ub3RhdGlvbi5maWVsZE5hbWV9YCkgOiBhbm5vdGF0aW9uLmZpZWxkTmFtZTtcbiAgICBpZiAoYW5ub3RhdGlvbi5jaGlsZFR5cGUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmFjYyxcbiAgICAgICAgLi4uZ2V0RmxhdHRlbkZpZWxkQW5ub3RhdGlvbnMoYW5ub3RhdGlvbi5jaGlsZFR5cGUoKSwgY3VycmVudEtleSlcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAuLi5hY2MsXG4gICAgICBbY3VycmVudEtleV06IGFubm90YXRpb25cbiAgICB9O1xuICB9LCB7fSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWVsZHMoVDogYW55LCBvcHRpb25zOiB7XG4gIHByZWZpeD86IHN0cmluZztcbiAgY2FzZT86ICdzbmFrZScgfCAnY2FtZWwnO1xufSA9IHtcbiAgcHJlZml4OiAnJyxcbiAgY2FzZTogJ3NuYWtlJ1xufSk6IHN0cmluZ1tdIHtcbiAgY29uc3QgYW5ub3RhdGlvbnMgPSBIYXN1cmEuZ2V0QW5ub3RhdGlvbnMoVCkuZmlsdGVyKChhbm5vdGF0aW9uOiBhbnkpID0+IGFubm90YXRpb24udHlwZSAhPT0gJ3RhYmxlJyk7XG4gIGNvbnN0IGNoYW5nZUNhc2UgPSBvcHRpb25zPy5jYXNlID09PSAnc25ha2UnID8gc25ha2VDYXNlIDogY2FtZWxDYXNlO1xuICBjb25zdCBmaWVsZHMgPSAoYW5ub3RhdGlvbnMgPz8gW10pLmZsYXRNYXAoKGFubm90YXRpb24pID0+IHtcbiAgICBjb25zdCBjdXJyZW50S2V5ID0gY2hhbmdlQ2FzZShvcHRpb25zPy5wcmVmaXggPyBgJHtvcHRpb25zPy5wcmVmaXh9XyR7YW5ub3RhdGlvbi5maWVsZE5hbWV9YCA6IGFubm90YXRpb24uZmllbGROYW1lKTtcbiAgICBpZiAoYW5ub3RhdGlvbi5jaGlsZFR5cGUpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLmdldEZpZWxkcyhhbm5vdGF0aW9uLmNoaWxkVHlwZSgpLCB7XG4gICAgICAgICAgcHJlZml4OiBjdXJyZW50S2V5LFxuICAgICAgICAgIGNhc2U6IG9wdGlvbnM/LmNhc2UsXG4gICAgICAgIH0pXG4gICAgICBdO1xuICAgIH1cbiAgICByZXR1cm4gW2N1cnJlbnRLZXldO1xuICB9KTtcbiAgcmV0dXJuIGZpZWxkcztcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ2xhc3NEZWNvcmF0b3IodHlwZTogc3RyaW5nKSB7XG4gIHJldHVybiAobmFtZU9yUHJvcHM6IHsgbmFtZTogc3RyaW5nIH0gfCBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBwcm9wcyA9IHR5cGVvZiBuYW1lT3JQcm9wcyA9PT0gJ3N0cmluZycgPyB7IG5hbWU6IG5hbWVPclByb3BzIH0gOiBuYW1lT3JQcm9wcztcbiAgICByZXR1cm4gKHRhcmdldDogYW55KSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gcHJvcHM/Lm5hbWUgfHwgdGFyZ2V0Lm5hbWU7XG4gICAgICBjb25zdCBhbm5vdGF0aW9uID0geyB0eXBlLCBuYW1lIH07XG4gICAgICBhZGRBbm5vdGF0aW9uKHRhcmdldCwgYW5ub3RhdGlvbiBhcyBhbnkpO1xuICAgIH07XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYWJsZU5hbWUodGFyZ2V0OiBhbnkpOiBzdHJpbmcge1xuICBjb25zdCBhbm5vdGF0aW9ucyA9IGdldEFubm90YXRpb25zKHRhcmdldCk7XG4gIGNvbnN0IGFubm90YXRpb24gPSBhbm5vdGF0aW9ucy5maW5kKChhbm5vdGF0aW9uOiBhbnkpID0+IGFubm90YXRpb24udHlwZSA9PT0gJ3RhYmxlJyk7XG4gIHJldHVybiAoYW5ub3RhdGlvbiBhcyBhbnkpLm5hbWU7XG59XG5cbmV4cG9ydCBjb25zdCBIYXN1cmEgPSB7XG4gIFRhYmxlOiBjcmVhdGVDbGFzc0RlY29yYXRvcigndGFibGUnKSxcbiAgVGV4dDogY3JlYXRlRGVjb3JhdG9yKCd0ZXh0JyksXG4gIFRpbWVzdGFtcDogY3JlYXRlRGVjb3JhdG9yKCd0aW1lc3RhbXAnKSxcbiAgRGF0ZTogY3JlYXRlRGVjb3JhdG9yKCdkYXRlJyksXG4gIEludGVnZXI6IGNyZWF0ZURlY29yYXRvcignaW50ZWdlcicpLFxuICBOdW1lcmljOiBjcmVhdGVEZWNvcmF0b3IoJ251bWVyaWMnKSxcbiAgQm9vbGVhbjogY3JlYXRlRGVjb3JhdG9yKCdib29sZWFuJyksXG4gIE1hcDogKGNoaWxkVHlwZTogKCkgPT4gYW55KSA9PiBjcmVhdGVEZWNvcmF0b3IoJ21hcCcsIHtjaGlsZFR5cGV9KSgpLFxuICBKU09OOiBjcmVhdGVEZWNvcmF0b3IoJ2pzb24nKSxcbiAgTG9jYXRpb246IGNyZWF0ZURlY29yYXRvcignbG9jYXRpb24nKSxcbiAgYWRkQW5ub3RhdGlvbixcbiAgY3JlYXRlRGVjb3JhdG9yLFxuICBnZXRBbm5vdGF0aW9ucyxcbn07XG4iXX0=","import dayjs from 'dayjs';\nimport { format } from 'date-fns';\nimport { formatInTimeZone } from 'date-fns-tz';\n/**\n * Converts a Date or dayjs object to Hasura timestamp format\n */\nexport function toTimestamp(date) {\n if (dayjs.isDayjs(date)) {\n return date.toISOString();\n }\n else if (date instanceof Date) {\n return format(date, 'yyyy-MM-dd HH:mm:ss');\n }\n else {\n return null;\n }\n}\n/**\n * Converts a Date, dayjs, or string to Hasura date format\n */\nexport function toDate(date) {\n if (typeof date === 'undefined') {\n return undefined;\n }\n else if (dayjs.isDayjs(date)) {\n return date.format('YYYY-MM-DD');\n }\n else if (date instanceof Date) {\n return formatInTimeZone(date, Intl.DateTimeFormat().resolvedOptions().timeZone, 'yyyy-MM-dd');\n }\n else if (typeof date === 'string') {\n return date;\n }\n else {\n return null;\n }\n}\n/**\n * Converts a value to a number, handling various input types\n */\nexport function toNumber(value) {\n if (typeof value === 'undefined')\n return undefined;\n if (value === null)\n return null;\n if (value === '' || (typeof value === 'string' && value.trim() === ''))\n return null;\n return isNaN(Number(value)) ? null : Number(value);\n}\n/**\n * Converts a lat/lng position to Hasura GeoJSON Point format\n */\nexport function toHasuraLocation(position) {\n if (!(position?.lat && position?.lng))\n return null;\n return {\n type: 'Point',\n crs: {\n type: 'name',\n properties: { name: 'urn:ogc:def:crs:EPSG::4326' }\n },\n coordinates: [position.lng, position.lat]\n };\n}\n/**\n * Converts a Hasura GeoJSON Point to a lat/lng object\n */\nexport function fromHasuraLocation(location) {\n if (!location)\n return null;\n return {\n lat: location.coordinates?.[1],\n lng: location.coordinates?.[0],\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1jb252ZXJ0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9oYXN1cmEvc3JjL2xpYi9jb252ZXJ0ZXIvdHlwZS1jb252ZXJ0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUvQzs7R0FFRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBK0I7SUFDekQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUIsQ0FBQztTQUFNLElBQUksSUFBSSxZQUFZLElBQUksRUFBRSxDQUFDO1FBQ2hDLE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUFvRDtJQUN6RSxJQUFJLE9BQU8sSUFBSSxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7U0FBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkMsQ0FBQztTQUFNLElBQUksSUFBSSxZQUFZLElBQUksRUFBRSxDQUFDO1FBQ2hDLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDaEcsQ0FBQztTQUFNLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBVTtJQUNqQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVc7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUNuRCxJQUFJLEtBQUssS0FBSyxJQUFJO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDaEMsSUFBSSxLQUFLLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQztJQUNwRixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLFFBQXVEO0lBQ3RGLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksUUFBUSxFQUFFLEdBQUcsQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ25ELE9BQU87UUFDTCxJQUFJLEVBQUUsT0FBTztRQUNiLEdBQUcsRUFBRTtZQUNILElBQUksRUFBRSxNQUFNO1lBQ1osVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLDRCQUE0QixFQUFFO1NBQ25EO1FBQ0QsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDO0tBQzFDLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsUUFTbEM7SUFDQyxJQUFJLENBQUMsUUFBUTtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQzNCLE9BQU87UUFDTCxHQUFHLEVBQUUsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5QixHQUFHLEVBQUUsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUMvQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBmb3JtYXRJblRpbWVab25lIH0gZnJvbSAnZGF0ZS1mbnMtdHonO1xuXG4vKipcbiAqIENvbnZlcnRzIGEgRGF0ZSBvciBkYXlqcyBvYmplY3QgdG8gSGFzdXJhIHRpbWVzdGFtcCBmb3JtYXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvVGltZXN0YW1wKGRhdGU6IGRheWpzLkRheWpzIHwgRGF0ZSB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKGRheWpzLmlzRGF5anMoZGF0ZSkpIHtcbiAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xuICB9IGVsc2UgaWYgKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgcmV0dXJuIGZvcm1hdChkYXRlLCAneXl5eS1NTS1kZCBISDptbTpzcycpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBEYXRlLCBkYXlqcywgb3Igc3RyaW5nIHRvIEhhc3VyYSBkYXRlIGZvcm1hdFxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9EYXRlKGRhdGU6IGRheWpzLkRheWpzIHwgRGF0ZSB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgaWYgKHR5cGVvZiBkYXRlID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH0gZWxzZSBpZiAoZGF5anMuaXNEYXlqcyhkYXRlKSkge1xuICAgIHJldHVybiBkYXRlLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuICB9IGVsc2UgaWYgKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgcmV0dXJuIGZvcm1hdEluVGltZVpvbmUoZGF0ZSwgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lLCAneXl5eS1NTS1kZCcpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBkYXRlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbi8qKlxuICogQ29udmVydHMgYSB2YWx1ZSB0byBhIG51bWJlciwgaGFuZGxpbmcgdmFyaW91cyBpbnB1dCB0eXBlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdG9OdW1iZXIodmFsdWU6IGFueSk6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykgcmV0dXJuIHVuZGVmaW5lZDtcbiAgaWYgKHZhbHVlID09PSBudWxsKSByZXR1cm4gbnVsbDtcbiAgaWYgKHZhbHVlID09PSAnJyB8fCAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS50cmltKCkgPT09ICcnKSkgcmV0dXJuIG51bGw7XG4gIHJldHVybiBpc05hTihOdW1iZXIodmFsdWUpKSA/IG51bGwgOiBOdW1iZXIodmFsdWUpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgbGF0L2xuZyBwb3NpdGlvbiB0byBIYXN1cmEgR2VvSlNPTiBQb2ludCBmb3JtYXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSGFzdXJhTG9jYXRpb24ocG9zaXRpb246IHtsYXQ6IG51bWJlciwgbG5nOiBudW1iZXJ9IHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICBpZiAoIShwb3NpdGlvbj8ubGF0ICYmIHBvc2l0aW9uPy5sbmcpKSByZXR1cm4gbnVsbDtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnUG9pbnQnLFxuICAgIGNyczoge1xuICAgICAgdHlwZTogJ25hbWUnLFxuICAgICAgcHJvcGVydGllczogeyBuYW1lOiAndXJuOm9nYzpkZWY6Y3JzOkVQU0c6OjQzMjYnIH1cbiAgICB9LFxuICAgIGNvb3JkaW5hdGVzOiBbcG9zaXRpb24ubG5nLCBwb3NpdGlvbi5sYXRdXG4gIH07XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBIYXN1cmEgR2VvSlNPTiBQb2ludCB0byBhIGxhdC9sbmcgb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tSGFzdXJhTG9jYXRpb24obG9jYXRpb246IHtcbiAgdHlwZTogJ1BvaW50JyxcbiAgY3JzOiB7XG4gICAgdHlwZTogJ25hbWUnLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIG5hbWU6ICd1cm46b2djOmRlZjpjcnM6RVBTRzo6NDMyNidcbiAgICB9XG4gIH0sXG4gIGNvb3JkaW5hdGVzOiBbbnVtYmVyLCBudW1iZXJdXG59KSB7XG4gIGlmICghbG9jYXRpb24pIHJldHVybiBudWxsO1xuICByZXR1cm4ge1xuICAgIGxhdDogbG9jYXRpb24uY29vcmRpbmF0ZXM/LlsxXSxcbiAgICBsbmc6IGxvY2F0aW9uLmNvb3JkaW5hdGVzPy5bMF0sXG4gIH07XG59XG4iXX0=","import { plainToInstanceWithValid } from '@nx-ddd/core';\nimport { get, snakeCase } from 'lodash-es';\nimport { parse } from 'date-fns';\nimport { getFieldAnnotationMap } from '../decorators';\nimport { fromHasuraLocation } from './type-converters';\n/**\n * Extracts nested map fields recursively from a flattened Hasura object\n */\nfunction extractNestedMap(mapKey, childType, object) {\n const childFieldMap = getFieldAnnotationMap(childType);\n const childFields = {};\n Object.entries(childFieldMap).forEach(([childKey, childAnnotation]) => {\n if (childAnnotation.type === 'map') {\n const nested = extractNestedMap(`${mapKey}_${childKey}`, childAnnotation.childType(), object);\n if (nested && Object.keys(nested).length > 0) {\n childFields[childAnnotation.fieldName] = nested;\n }\n }\n else {\n const flattenedKey = `${mapKey}_${childKey}`;\n const value = get(object, snakeCase(flattenedKey));\n if (typeof value !== 'undefined') {\n childFields[childAnnotation.fieldName] = value;\n }\n }\n });\n return childFields;\n}\n/**\n * Converts a Hasura object to an entity instance\n */\nexport function fromHasura(_object, type) {\n const fieldMap = getFieldAnnotationMap(type);\n // First extract any flattened map fields (e.g., profile_bio)\n const nestedObjects = {};\n Object.entries(fieldMap).forEach(([key, annotation]) => {\n if (annotation.type === 'map') {\n const childType = annotation.childType();\n const nested = extractNestedMap(key, childType, _object);\n if (nested && Object.keys(nested).length > 0) {\n nestedObjects[annotation.fieldName] = nested;\n }\n }\n });\n // Now process all fields normally\n const obj = Object.entries(fieldMap).reduce((acc, [key, annotation]) => {\n // For map types, use our previously extracted nested objects\n if (annotation.type === 'map') {\n const nestedObj = nestedObjects[annotation.fieldName];\n if (nestedObj) {\n return { ...acc, [annotation.fieldName]: nestedObj };\n }\n return acc;\n }\n const value = get(_object, snakeCase(key));\n if (typeof value === 'undefined')\n return acc;\n switch (annotation.type) {\n case 'text':\n return { ...acc, [annotation.fieldName]: value };\n case 'timestamp':\n return { ...acc, [annotation.fieldName]: value === null ? null : parse(value, 'yyyy-MM-dd HH:mm:ss', new Date()) };\n case 'date': {\n const parsedDate = value === null ? null : parse(value, 'yyyy-MM-dd', new Date());\n return { ...acc, [annotation.fieldName]: parsedDate };\n }\n case 'numeric':\n return { ...acc, [annotation.fieldName]: value };\n case 'integer':\n return { ...acc, [annotation.fieldName]: value };\n case 'json':\n return { ...acc, [annotation.fieldName]: value };\n case 'location':\n return { ...acc, [annotation.fieldName]: fromHasuraLocation(value) };\n default:\n return { ...acc, [annotation.fieldName]: value };\n }\n }, {});\n return plainToInstanceWithValid(type, obj);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbS1oYXN1cmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2hhc3VyYS9zcmMvbGliL2NvbnZlcnRlci9mcm9tLWhhc3VyYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFeEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFXdkQ7O0dBRUc7QUFDSCxTQUFTLGdCQUFnQixDQUFDLE1BQWMsRUFBRSxTQUFjLEVBQUUsTUFBVztJQUNuRSxNQUFNLGFBQWEsR0FBRyxxQkFBcUIsQ0FBa0IsU0FBUyxDQUFDLENBQUM7SUFDeEUsTUFBTSxXQUFXLEdBQXdCLEVBQUUsQ0FBQztJQUU1QyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxFQUFFLEVBQUU7UUFDcEUsSUFBSSxlQUFlLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ25DLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLEdBQUcsTUFBTSxJQUFJLFFBQVEsRUFBRSxFQUFFLGVBQWUsQ0FBQyxTQUFVLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMvRixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDN0MsV0FBVyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUM7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QUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDbEYsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQ3hELENBQUM7WUFDRCxLQUFLLFNBQVM7Z0JBQ1osT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ25ELEtBQUssU0FBUztnQkFDWixPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDbkQsS0FBSyxNQUFNO2dCQUNULE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNuRCxLQUFLLFVBQVU7Z0JBQ2IsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkU7Z0JBQ0UsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3JELENBQUM7SUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFUCxPQUFPLHdCQUF3QixDQUFDLElBQVcsRUFBRSxHQUFHLENBQU0sQ0FBQztBQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGxhaW5Ub0luc3RhbmNlV2l0aFZhbGlkIH0gZnJvbSAnQG54LWRkZC9jb3JlJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdAbngtZGRkL2NvbW1vbi9kb21haW4nO1xuaW1wb3J0IHsgZ2V0LCBzbmFrZUNhc2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgcGFyc2UgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBnZXRGaWVsZEFubm90YXRpb25NYXAgfSBmcm9tICcuLi9kZWNvcmF0b3JzJztcbmltcG9ydCB7IGZyb21IYXN1cmFMb2NhdGlvbiB9IGZyb20gJy4vdHlwZS1jb252ZXJ0ZXJzJztcblxuLyoqXG4gKiBGaWVsZCBhbm5vdGF0aW9uIHR5cGUgZm9yIEhhc3VyYSBkZWNvcmF0b3JzXG4gKi9cbmludGVyZmFjZSBGaWVsZEFubm90YXRpb24ge1xuICB0eXBlOiAndGV4dCcgfCAndGltZXN0YW1wJyB8ICdkYXRlJyB8ICdudW1lcmljJyB8ICdpbnRlZ2VyJyB8ICdqc29uJyB8ICdtYXAnIHwgJ2xvY2F0aW9uJztcbiAgZmllbGROYW1lOiBzdHJpbmc7XG4gIGNoaWxkVHlwZT86ICgpID0+IGFueTtcbn1cblxuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQgbWFwIGZpZWxkcyByZWN1cnNpdmVseSBmcm9tIGEgZmxhdHRlbmVkIEhhc3VyYSBvYmplY3RcbiAqL1xuZnVuY3Rpb24gZXh0cmFjdE5lc3RlZE1hcChtYXBLZXk6IHN0cmluZywgY2hpbGRUeXBlOiBhbnksIG9iamVjdDogYW55KTogYW55IHtcbiAgY29uc3QgY2hpbGRGaWVsZE1hcCA9IGdldEZpZWxkQW5ub3RhdGlvbk1hcDxGaWVsZEFubm90YXRpb24+KGNoaWxkVHlwZSk7XG4gIGNvbnN0IGNoaWxkRmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG5cbiAgT2JqZWN0LmVudHJpZXMoY2hpbGRGaWVsZE1hcCkuZm9yRWFjaCgoW2NoaWxkS2V5LCBjaGlsZEFubm90YXRpb25dKSA9PiB7XG4gICAgaWYgKGNoaWxkQW5ub3RhdGlvbi50eXBlID09PSAnbWFwJykge1xuICAgICAgY29uc3QgbmVzdGVkID0gZXh0cmFjdE5lc3RlZE1hcChgJHttYXBLZXl9XyR7Y2hpbGRLZXl9YCwgY2hpbGRBbm5vdGF0aW9uLmNoaWxkVHlwZSEoKSwgb2JqZWN0KTtcbiAgICAgIGlmIChuZXN0ZWQgJiYgT2JqZWN0LmtleXMobmVzdGVkKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNoaWxkRmllbGRzW2NoaWxkQW5ub3RhdGlvbi5maWVsZE5hbWVdID0gbmVzdGVkO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmbGF0dGVuZWRLZXkgPSBgJHttYXBLZXl9XyR7Y2hpbGRLZXl9YDtcbiAgICAgIGNvbnN0IHZhbHVlID0gZ2V0KG9iamVjdCwgc25ha2VDYXNlKGZsYXR0ZW5lZEtleSkpO1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgY2hpbGRGaWVsZHNbY2hpbGRBbm5vdGF0aW9uLmZpZWxkTmFtZV0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBjaGlsZEZpZWxkcztcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIEhhc3VyYSBvYmplY3QgdG8gYW4gZW50aXR5IGluc3RhbmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tSGFzdXJhPFQ+KF9vYmplY3Q6IGFueSwgdHlwZTogVHlwZTxUPik6IFQge1xuICBjb25zdCBmaWVsZE1hcCA9IGdldEZpZWxkQW5ub3RhdGlvbk1hcDxGaWVsZEFubm90YXRpb24+KHR5cGUpO1xuXG4gIC8vIEZpcnN0IGV4dHJhY3QgYW55IGZsYXR0ZW5lZCBtYXAgZmllbGRzIChlLmcuLCBwcm9maWxlX2JpbylcbiAgY29uc3QgbmVzdGVkT2JqZWN0czogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYW55Pj4gPSB7fTtcbiAgT2JqZWN0LmVudHJpZXMoZmllbGRNYXApLmZvckVhY2goKFtrZXksIGFubm90YXRpb25dKSA9PiB7XG4gICAgaWYgKGFubm90YXRpb24udHlwZSA9PT0gJ21hcCcpIHtcbiAgICAgIGNvbnN0IGNoaWxkVHlwZSA9IGFubm90YXRpb24uY2hpbGRUeXBlISgpO1xuICAgICAgY29uc3QgbmVzdGVkID0gZXh0cmFjdE5lc3RlZE1hcChrZXksIGNoaWxkVHlwZSwgX29iamVjdCk7XG4gICAgICBpZiAobmVzdGVkICYmIE9iamVjdC5rZXlzKG5lc3RlZCkubGVuZ3RoID4gMCkge1xuICAgICAgICBuZXN0ZWRPYmplY3RzW2Fubm90YXRpb24uZmllbGROYW1lXSA9IG5lc3RlZDtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIC8vIE5vdyBwcm9jZXNzIGFsbCBmaWVsZHMgbm9ybWFsbHlcbiAgY29uc3Qgb2JqID0gT2JqZWN0LmVudHJpZXMoZmllbGRNYXApLnJlZHVjZSgoYWNjLCBba2V5LCBhbm5vdGF0aW9uXSkgPT4ge1xuICAgIC8vIEZvciBtYXAgdHlwZXMsIHVzZSBvdXIgcHJldmlvdXNseSBleHRyYWN0ZWQgbmVzdGVkIG9iamVjdHNcbiAgICBpZiAoYW5ub3RhdGlvbi50eXBlID09PSAnbWFwJykge1xuICAgICAgY29uc3QgbmVzdGVkT2JqID0gbmVzdGVkT2JqZWN0c1thbm5vdGF0aW9uLmZpZWxkTmFtZV07XG4gICAgICBpZiAobmVzdGVkT2JqKSB7XG4gICAgICAgIHJldHVybiB7IC4uLmFjYywgW2Fubm90YXRpb24uZmllbGROYW1lXTogbmVzdGVkT2JqIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gZ2V0KF9vYmplY3QsIHNuYWtlQ2FzZShrZXkpKTtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykgcmV0dXJuIGFjYztcblxuICAgIHN3aXRjaCAoYW5ub3RhdGlvbi50eXBlKSB7XG4gICAgICBjYXNlICd0ZXh0JzpcbiAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCBbYW5ub3RhdGlvbi5maWVsZE5hbWVdOiB2YWx1ZSB9O1xuICAgICAgY2FzZSAndGltZXN0YW1wJzpcbiAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCBbYW5ub3RhdGlvbi5maWVsZE5hbWVdOiB2YWx1ZSA9PT0gbnVsbCA/IG51bGwgOiBwYXJzZSh2YWx1ZSwgJ3l5eXktTU0tZGQgSEg6bW06c3MnLCBuZXcgRGF0ZSgpKSB9O1xuICAgICAgY2FzZSAnZGF0ZSc6IHtcbiAgICAgICAgY29uc3QgcGFyc2VkRGF0ZSA9IHZhbHVlID09PSBudWxsID8gbnVsbCA6IHBhcnNlKHZhbHVlLCAneXl5eS1NTS1kZCcsIG5ldyBEYXRlKCkpO1xuICAgICAgICByZXR1cm4geyAuLi5hY2MsIFthbm5vdGF0aW9uLmZpZWxkTmFtZV06IHBhcnNlZERhdGUgfTtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ251bWVyaWMnOlxuICAgICAgICByZXR1cm4geyAuLi5hY2MsIFthbm5vdGF0aW9uLmZpZWxkTmFtZV06IHZhbHVlIH07XG4gICAgICBjYXNlICdpbnRlZ2VyJzpcbiAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCBbYW5ub3RhdGlvbi5maWVsZE5hbWVdOiB2YWx1ZSB9O1xuICAgICAgY2FzZSAnanNvbic6XG4gICAgICAgIHJldHVybiB7IC4uLmFjYywgW2Fubm90YXRpb24uZmllbGROYW1lXTogdmFsdWUgfTtcbiAgICAgIGNhc2UgJ2xvY2F0aW9uJzpcbiAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCBbYW5ub3RhdGlvbi5maWVsZE5hbWVdOiBmcm9tSGFzdXJhTG9jYXRpb24odmFsdWUpIH07XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4geyAuLi5hY2MsIFthbm5vdGF0aW9uLmZpZWxkTmFtZV06IHZhbHVlIH07XG4gICAgfVxuICB9LCB7fSk7XG5cbiAgcmV0dXJuIHBsYWluVG9JbnN0YW5jZVdpdGhWYWxpZCh0eXBlIGFzIGFueSwgb2JqKSBhcyBUO1xufVxuIl19","import { snakeCase } from 'lodash-es';\n/**\n * Recursively converts object keys from camelCase to snake_case\n */\nexport function deepCamelToSnakeCase(obj) {\n if (Array.isArray(obj))\n return obj.map(deepCamelToSnakeCase);\n if (obj instanceof Date)\n return obj;\n if (obj && typeof obj === \"object\") {\n const result = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key))\n result[snakeCase(key)] = deepCamelToSnakeCase(obj[key]);\n }\n return result;\n }\n return obj;\n}\n/**\n * Converts snake_case string to camelCase\n */\nfunction camelCase(str) {\n return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());\n}\n/**\n * Recursively converts object keys from snake_case to camelCase\n */\nexport function deepSnakeToCamelCase(obj) {\n if (Array.isArray(obj))\n return obj.map(deepSnakeToCamelCase);\n if (obj instanceof Date)\n return obj;\n if (obj && typeof obj === \"object\") {\n const result = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n result[camelCase(key)] = deepSnakeToCamelCase(obj[key]);\n }\n }\n return result;\n }\n return obj;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1jb252ZXJ0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9oYXN1cmEvc3JjL2xpYi9jb252ZXJ0ZXIvY2FzZS1jb252ZXJ0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFvQnRDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFJLEdBQU07SUFDNUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUFFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBd0IsQ0FBQztJQUNwRixJQUFJLEdBQUcsWUFBWSxJQUFJO1FBQUUsT0FBTyxHQUEwQixDQUFDO0lBQzNELElBQUksR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUN2QixLQUFLLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7Z0JBQ2hELE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxvQkFBb0IsQ0FBRSxHQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU8sR0FBMEIsQ0FBQztBQUNwQyxDQUFDO0FBa0JEOztHQUVHO0FBQ0gsU0FBUyxTQUFTLENBQUMsR0FBVztJQUM1QixPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFJLEdBQU07SUFDNUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUFFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBd0IsQ0FBQztJQUNwRixJQUFJLEdBQUcsWUFBWSxJQUFJO1FBQUUsT0FBTyxHQUEwQixDQUFDO0lBQzNELElBQUksR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUN2QixLQUFLLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNuRCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsb0JBQW9CLENBQUUsR0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbkUsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTyxHQUEwQixDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzbmFrZUNhc2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG4vKipcbiAqIFR5cGUgZGVmaW5pdGlvbnMgZm9yIGNhbWVsQ2FzZSB0byBzbmFrZV9jYXNlIGNvbnZlcnNpb25cbiAqL1xudHlwZSBDYW1lbFRvU25ha2VDYXNlPFMgZXh0ZW5kcyBzdHJpbmc+ID1cbiAgUyBleHRlbmRzIGAke2luZmVyIFR9JHtpbmZlciBVfWBcbiAgICA/IFUgZXh0ZW5kcyBVbmNhcGl0YWxpemU8VT5cbiAgICAgID8gYCR7TG93ZXJjYXNlPFQ+fSR7Q2FtZWxUb1NuYWtlQ2FzZTxVPn1gXG4gICAgICA6IGAke0xvd2VyY2FzZTxUPn1fJHtDYW1lbFRvU25ha2VDYXNlPFU+fWBcbiAgICA6IFM7XG5cbnR5cGUgRGVlcENhbWVsVG9TbmFrZTxUPiA9IFQgZXh0ZW5kcyBEYXRlXG4gID8gVFxuICA6IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBVPlxuICA/IERlZXBDYW1lbFRvU25ha2U8VT5bXVxuICA6IFQgZXh0ZW5kcyBvYmplY3RcbiAgPyB7IFtLIGluIGtleW9mIFQgYXMgSyBleHRlbmRzIHN0cmluZyA/IENhbWVsVG9TbmFrZUNhc2U8Sz4gOiBLXTogRGVlcENhbWVsVG9TbmFrZTxUW0tdPiB9XG4gIDogVDtcblxuLyoqXG4gKiBSZWN1cnNpdmVseSBjb252ZXJ0cyBvYmplY3Qga2V5cyBmcm9tIGNhbWVsQ2FzZSB0byBzbmFrZV9jYXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWVwQ2FtZWxUb1NuYWtlQ2FzZTxUPihvYmo6IFQpOiBEZWVwQ2FtZWxUb1NuYWtlPFQ+IHtcbiAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkgcmV0dXJuIG9iai5tYXAoZGVlcENhbWVsVG9TbmFrZUNhc2UpIGFzIERlZXBDYW1lbFRvU25ha2U8VD47XG4gIGlmIChvYmogaW5zdGFuY2VvZiBEYXRlKSByZXR1cm4gb2JqIGFzIERlZXBDYW1lbFRvU25ha2U8VD47XG4gIGlmIChvYmogJiYgdHlwZW9mIG9iaiA9PT0gXCJvYmplY3RcIikge1xuICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSlcbiAgICAgICAgcmVzdWx0W3NuYWtlQ2FzZShrZXkpXSA9IGRlZXBDYW1lbFRvU25ha2VDYXNlKChvYmogYXMgYW55KVtrZXldKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICByZXR1cm4gb2JqIGFzIERlZXBDYW1lbFRvU25ha2U8VD47XG59XG5cbi8qKlxuICogVHlwZSBkZWZpbml0aW9ucyBmb3Igc25ha2VfY2FzZSB0byBjYW1lbENhc2UgY29udmVyc2lvblxuICovXG50eXBlIFNuYWtlVG9DYW1lbENhc2U8UyBleHRlbmRzIHN0cmluZz4gPVxuICBTIGV4dGVuZHMgYCR7aW5mZXIgVH1fJHtpbmZlciBVfWBcbiAgICA/IGAke1R9JHtDYXBpdGFsaXplPFNuYWtlVG9DYW1lbENhc2U8VT4+fWBcbiAgICA6IFM7XG5cbnR5cGUgRGVlcFNuYWtlVG9DYW1lbDxUPiA9IFQgZXh0ZW5kcyBEYXRlXG4gID8gVFxuICA6IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBVPlxuICA/IERlZXBTbmFrZVRvQ2FtZWw8VT5bXVxuICA6IFQgZXh0ZW5kcyBvYmplY3RcbiAgPyB7IFtLIGluIGtleW9mIFQgYXMgSyBleHRlbmRzIHN0cmluZyA/IFNuYWtlVG9DYW1lbENhc2U8Sz4gOiBLXTogRGVlcFNuYWtlVG9DYW1lbDxUW0tdPiB9XG4gIDogVDtcblxuLyoqXG4gKiBDb252ZXJ0cyBzbmFrZV9jYXNlIHN0cmluZyB0byBjYW1lbENhc2VcbiAqL1xuZnVuY3Rpb24gY2FtZWxDYXNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9fKFthLXpdKS9nLCAoXywgbGV0dGVyKSA9PiBsZXR0ZXIudG9VcHBlckNhc2UoKSk7XG59XG5cbi8qKlxuICogUmVjdXJzaXZlbHkgY29udmVydHMgb2JqZWN0IGtleXMgZnJvbSBzbmFrZV9jYXNlIHRvIGNhbWVsQ2FzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVlcFNuYWtlVG9DYW1lbENhc2U8VD4ob2JqOiBUKTogRGVlcFNuYWtlVG9DYW1lbDxUPiB7XG4gIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHJldHVybiBvYmoubWFwKGRlZXBTbmFrZVRvQ2FtZWxDYXNlKSBhcyBEZWVwU25ha2VUb0NhbWVsPFQ+O1xuICBpZiAob2JqIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuIG9iaiBhcyBEZWVwU25ha2VUb0NhbWVsPFQ+O1xuICBpZiAob2JqICYmIHR5cGVvZiBvYmogPT09IFwib2JqZWN0XCIpIHtcbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgICAgcmVzdWx0W2NhbWVsQ2FzZShrZXkpXSA9IGRlZXBTbmFrZVRvQ2FtZWxDYXNlKChvYmogYXMgYW55KVtrZXldKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICByZXR1cm4gb2JqIGFzIERlZXBTbmFrZVRvQ2FtZWw8VD47XG59XG4iXX0=","import { get } from 'lodash-es';\nimport { getFieldAnnotationMap } from '../decorators';\nimport { deepCamelToSnakeCase } from './case-converters';\nimport { toTimestamp, toDate, toNumber, toHasuraLocation } from './type-converters';\n/**\n * Converts an entity to Hasura format\n */\nexport function toHasura(object, type, { extraFunc = deepCamelToSnakeCase } = {}) {\n const fieldMap = getFieldAnnotationMap(type);\n const obj = Object.entries(fieldMap).reduce((acc, [key, annotation]) => {\n const value = get(object, annotation.fieldName);\n if (typeof value === 'undefined')\n return acc;\n switch (annotation.type) {\n case 'text':\n return { ...acc, [key]: value };\n case 'timestamp':\n return { ...acc, [key]: toTimestamp(value) };\n case 'date':\n return { ...acc, [key]: toDate(value) };\n case 'numeric':\n return { ...acc, [key]: toNumber(value) };\n case 'integer':\n return { ...acc, [key]: toNumber(value) };\n case 'json':\n return { ...acc, [key]: value };\n case 'map': {\n const childObj = toHasura(value, annotation.childType(), { extraFunc });\n const flattenedObj = Object.entries(childObj).reduce((childAcc, [childKey, childValue]) => ({\n ...childAcc,\n [`${key}_${childKey}`]: childValue\n }), {});\n return { ...acc, ...flattenedObj };\n }\n case 'location':\n return { ...acc, [key]: toHasuraLocation(value) };\n default:\n return { ...acc, [key]: value };\n }\n }, {});\n return extraFunc(obj);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8taGFzdXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9oYXN1cmEvc3JjL2xpYi9jb252ZXJ0ZXIvdG8taGFzdXJhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBa0JwRjs7R0FFRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQ3RCLE1BQVMsRUFDVCxJQUFhLEVBQ2IsRUFBRSxTQUFTLEdBQUcsb0JBQW9CLEtBQXNCLEVBQUU7SUFFMUQsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQWtCLElBQUksQ0FBQyxDQUFDO0lBRTlELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUU7UUFDckUsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFFN0MsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEIsS0FBSyxNQUFNO2dCQUNULE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ2xDLEtBQUssV0FBVztnQkFDZCxPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMvQyxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDMUMsS0FBSyxTQUFTO2dCQUNaLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVDLEtBQUssU0FBUztnQkFDWixPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDbEMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNYLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFNBQVUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztnQkFDekUsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQzFGLEdBQUcsUUFBUTtvQkFDWCxDQUFDLEdBQUcsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDLEVBQUUsVUFBVTtpQkFDbkMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNSLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLFlBQVksRUFBRSxDQUFDO1lBQ3JDLENBQUM7WUFDRCxLQUFLLFVBQVU7Z0JBQ2IsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwRDtnQkFDRSxPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdAbngtZGRkL2NvbW1vbi9kb21haW4nO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGdldEZpZWxkQW5ub3RhdGlvbk1hcCB9IGZyb20gJy4uL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgZGVlcENhbWVsVG9TbmFrZUNhc2UgfSBmcm9tICcuL2Nhc2UtY29udmVydGVycyc7XG5pbXBvcnQgeyB0b1RpbWVzdGFtcCwgdG9EYXRlLCB0b051bWJlciwgdG9IYXN1cmFMb2NhdGlvbiB9IGZyb20gJy4vdHlwZS1jb252ZXJ0ZXJzJztcblxuLyoqXG4gKiBGaWVsZCBhbm5vdGF0aW9uIHR5cGUgZm9yIEhhc3VyYSBkZWNvcmF0b3JzXG4gKi9cbmludGVyZmFjZSBGaWVsZEFubm90YXRpb24ge1xuICB0eXBlOiAndGV4dCcgfCAndGltZXN0YW1wJyB8ICdkYXRlJyB8ICdudW1lcmljJyB8ICdpbnRlZ2VyJyB8ICdqc29uJyB8ICdtYXAnIHwgJ2xvY2F0aW9uJztcbiAgZmllbGROYW1lOiBzdHJpbmc7XG4gIGNoaWxkVHlwZT86ICgpID0+IGFueTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB0b0hhc3VyYSBjb252ZXJzaW9uXG4gKi9cbmludGVyZmFjZSBUb0hhc3VyYU9wdGlvbnMge1xuICBleHRyYUZ1bmM/OiAob2JqOiBhbnkpID0+IGFueTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBlbnRpdHkgdG8gSGFzdXJhIGZvcm1hdFxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9IYXN1cmE8RT4oXG4gIG9iamVjdDogRSxcbiAgdHlwZTogVHlwZTxFPixcbiAgeyBleHRyYUZ1bmMgPSBkZWVwQ2FtZWxUb1NuYWtlQ2FzZSB9OiBUb0hhc3VyYU9wdGlvbnMgPSB7fVxuKSB7XG4gIGNvbnN0IGZpZWxkTWFwID0gZ2V0RmllbGRBbm5vdGF0aW9uTWFwPEZpZWxkQW5ub3RhdGlvbj4odHlwZSk7XG5cbiAgY29uc3Qgb2JqID0gT2JqZWN0LmVudHJpZXMoZmllbGRNYXApLnJlZHVjZSgoYWNjLCBba2V5LCBhbm5vdGF0aW9uXSkgPT4ge1xuICAgIGNvbnN0IHZhbHVlID0gZ2V0KG9iamVjdCwgYW5ub3RhdGlvbi5maWVsZE5hbWUpO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gYWNjO1xuXG4gICAgc3dpdGNoIChhbm5vdGF0aW9uLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3RleHQnOlxuICAgICAgICByZXR1cm4geyAuLi5hY2MsIFtrZXldOiB2YWx1ZSB9O1xuICAgICAgY2FzZSAndGltZXN0YW1wJzpcbiAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogdG9UaW1lc3RhbXAodmFsdWUpIH07XG4gICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogdG9EYXRlKHZhbHVlKSB9O1xuICAgICAgY2FzZSAnbnVtZXJpYyc6XG4gICAgICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHRvTnVtYmVyKHZhbHVlKSB9O1xuICAgICAgY2FzZSAnaW50ZWdlcic6XG4gICAgICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHRvTnVtYmVyKHZhbHVlKSB9O1xuICAgICAgY2FzZSAnanNvbic6XG4gICAgICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIH07XG4gICAgICBjYXNlICdtYXAnOiB7XG4gICAgICAgIGNvbnN0IGNoaWxkT2JqID0gdG9IYXN1cmEodmFsdWUsIGFubm90YXRpb24uY2hpbGRUeXBlISgpLCB7IGV4dHJhRnVuYyB9KTtcbiAgICAgICAgY29uc3QgZmxhdHRlbmVkT2JqID0gT2JqZWN0LmVudHJpZXMoY2hpbGRPYmopLnJlZHVjZSgoY2hpbGRBY2MsIFtjaGlsZEtleSwgY2hpbGRWYWx1ZV0pID0+ICh7XG4gICAgICAgICAgLi4uY2hpbGRBY2MsXG4gICAgICAgICAgW2Ake2tleX1fJHtjaGlsZEtleX1gXTogY2hpbGRWYWx1ZVxuICAgICAgICB9KSwge30pO1xuICAgICAgICByZXR1cm4geyAuLi5hY2MsIC4uLmZsYXR0ZW5lZE9iaiB9O1xuICAgICAgfVxuICAgICAgY2FzZSAnbG9jYXRpb24nOlxuICAgICAgICByZXR1cm4geyAuLi5hY2MsIFtrZXldOiB0b0hhc3VyYUxvY2F0aW9uKHZhbHVlKSB9O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogdmFsdWUgfTtcbiAgICB9XG4gIH0sIHt9KTtcblxuICByZXR1cm4gZXh0cmFGdW5jKG9iaik7XG59XG4iXX0=","import { fromHasura } from './from-hasura';\nimport { toHasura } from './to-hasura';\nimport * as typeConverters from './type-converters';\nexport { deepCamelToSnakeCase, deepSnakeToCamelCase } from './case-converters';\nexport { toTimestamp, toDate, toNumber, toHasuraLocation, fromHasuraLocation } from './type-converters';\nexport { fromHasura } from './from-hasura';\nexport { toHasura } from './to-hasura';\n/**\n * Creates a HasuraConverter for the given entity type\n */\nexport function getConverter(type) {\n return {\n toHasura(entity) {\n return toHasura(entity, type);\n },\n toHasuraMany(entities) {\n return entities.map((entity) => this.toHasura(entity));\n },\n fromHasura(entity) {\n return fromHasura(entity, type);\n },\n fromHasuraMany(entities) {\n return entities.map((entity) => this.fromHasura(entity));\n },\n };\n}\n/** @deprecated use `getConverter` instead */\nexport const makeConverter = getConverter;\n/**\n * @deprecated Use individual functions instead\n * HasuraUtils is kept for backward compatibility\n */\nexport class HasuraUtils {\n static toTimestamp = typeConverters.toTimestamp;\n static toDate = typeConverters.toDate;\n static toNumber = typeConverters.toNumber;\n static toHasuraLocation = typeConverters.toHasuraLocation;\n static fromHasuraLocation = typeConverters.fromHasuraLocation;\n static fromHasura = fromHasura;\n static toHasura = toHasura;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9oYXN1cmEvc3JjL2xpYi9jb252ZXJ0ZXIvY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEtBQUssY0FBYyxNQUFNLG1CQUFtQixDQUFDO0FBSXBELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV2Qzs7R0FFRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUksSUFBYTtJQUMzQyxPQUFPO1FBQ0wsUUFBUSxDQUFDLE1BQVM7WUFDaEIsT0FBTyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxZQUFZLENBQUMsUUFBYTtZQUN4QixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsVUFBVSxDQUFDLE1BQWM7WUFDdkIsT0FBTyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBTSxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxjQUFjLENBQUMsUUFBa0I7WUFDL0IsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDM0QsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsNkNBQTZDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUM7QUFFMUM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFDdEIsTUFBTSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsV0FBVyxDQUFDO0lBQ2hELE1BQU0sQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUN0QyxNQUFNLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUM7SUFDMUMsTUFBTSxDQUFDLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztJQUMxRCxNQUFNLENBQUMsa0JBQWtCLEdBQUcsY0FBYyxDQUFDLGtCQUFrQixDQUFDO0lBQzlELE1BQU0sQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLE1BQU0sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0BueC1kZGQvY29tbW9uL2RvbWFpbic7XG5pbXBvcnQgeyBIYXN1cmFDb252ZXJ0ZXIgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGZyb21IYXN1cmEgfSBmcm9tICcuL2Zyb20taGFzdXJhJztcbmltcG9ydCB7IHRvSGFzdXJhIH0gZnJvbSAnLi90by1oYXN1cmEnO1xuaW1wb3J0ICogYXMgdHlwZUNvbnZlcnRlcnMgZnJvbSAnLi90eXBlLWNvbnZlcnRlcnMnO1xuXG4vLyBSZS1leHBvcnQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbmV4cG9ydCB7IEhhc3VyYUNvbnZlcnRlciB9IGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0IHsgZGVlcENhbWVsVG9TbmFrZUNhc2UsIGRlZXBTbmFrZVRvQ2FtZWxDYXNlIH0gZnJvbSAnLi9jYXNlLWNvbnZlcnRlcnMnO1xuZXhwb3J0IHsgdG9UaW1lc3RhbXAsIHRvRGF0ZSwgdG9OdW1iZXIsIHRvSGFzdXJhTG9jYXRpb24sIGZyb21IYXN1cmFMb2NhdGlvbiB9IGZyb20gJy4vdHlwZS1jb252ZXJ0ZXJzJztcbmV4cG9ydCB7IGZyb21IYXN1cmEgfSBmcm9tICcuL2Zyb20taGFzdXJhJztcbmV4cG9ydCB7IHRvSGFzdXJhIH0gZnJvbSAnLi90by1oYXN1cmEnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBIYXN1cmFDb252ZXJ0ZXIgZm9yIHRoZSBnaXZlbiBlbnRpdHkgdHlwZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29udmVydGVyPFQ+KHR5cGU6IFR5cGU8VD4pOiBIYXN1cmFDb252ZXJ0ZXI8VD4ge1xuICByZXR1cm4ge1xuICAgIHRvSGFzdXJhKGVudGl0eTogVCkge1xuICAgICAgcmV0dXJuIHRvSGFzdXJhKGVudGl0eSwgdHlwZSk7XG4gICAgfSxcbiAgICB0b0hhc3VyYU1hbnkoZW50aXRpZXM6IFRbXSkge1xuICAgICAgcmV0dXJuIGVudGl0aWVzLm1hcCgoZW50aXR5KSA9PiB0aGlzLnRvSGFzdXJhKGVudGl0eSkpO1xuICAgIH0sXG4gICAgZnJvbUhhc3VyYShlbnRpdHk6IG9iamVjdCkge1xuICAgICAgcmV0dXJuIGZyb21IYXN1cmEoZW50aXR5LCB0eXBlKSBhcyBUO1xuICAgIH0sXG4gICAgZnJvbUhhc3VyYU1hbnkoZW50aXRpZXM6IG9iamVjdFtdKSB7XG4gICAgICByZXR1cm4gZW50aXRpZXMubWFwKChlbnRpdHkpID0+IHRoaXMuZnJvbUhhc3VyYShlbnRpdHkpKTtcbiAgICB9LFxuICB9O1xufVxuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIGBnZXRDb252ZXJ0ZXJgIGluc3RlYWQgKi9cbmV4cG9ydCBjb25zdCBtYWtlQ29udmVydGVyID0gZ2V0Q29udmVydGVyO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBpbmRpdmlkdWFsIGZ1bmN0aW9ucyBpbnN0ZWFkXG4gKiBIYXN1cmFVdGlscyBpcyBrZXB0IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gKi9cbmV4cG9ydCBjbGFzcyBIYXN1cmFVdGlscyB7XG4gIHN0YXRpYyB0b1RpbWVzdGFtcCA9IHR5cGVDb252ZXJ0ZXJzLnRvVGltZXN0YW1wO1xuICBzdGF0aWMgdG9EYXRlID0gdHlwZUNvbnZlcnRlcnMudG9EYXRlO1xuICBzdGF0aWMgdG9OdW1iZXIgPSB0eXBlQ29udmVydGVycy50b051bWJlcjtcbiAgc3RhdGljIHRvSGFzdXJhTG9jYXRpb24gPSB0eXBlQ29udmVydGVycy50b0hhc3VyYUxvY2F0aW9uO1xuICBzdGF0aWMgZnJvbUhhc3VyYUxvY2F0aW9uID0gdHlwZUNvbnZlcnRlcnMuZnJvbUhhc3VyYUxvY2F0aW9uO1xuICBzdGF0aWMgZnJvbUhhc3VyYSA9IGZyb21IYXN1cmE7XG4gIHN0YXRpYyB0b0hhc3VyYSA9IHRvSGFzdXJhO1xufVxuIl19","import { Injectable, inject } from \"@angular/core\";\nimport { HASURA_CONFIG } from \"./hasura.config\";\nimport * as i0 from \"@angular/core\";\nexport class HasuraInterceptor {\n config = inject(HASURA_CONFIG);\n intercept(req, next) {\n if (req.url.startsWith(this.config.url) && this.config.adminSecret) {\n return next.handle(req.clone({\n headers: req.headers.set('x-hasura-admin-secret', this.config.adminSecret),\n }));\n }\n return next.handle(req);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: HasuraInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: HasuraInterceptor });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: HasuraInterceptor, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9oYXN1cmEvc3JjL2xpYi9oYXN1cmEuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUdoRCxNQUFNLE9BQU8saUJBQWlCO0lBQ3BCLE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFdkMsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBQzNCLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQzthQUMzRSxDQUFDLENBQUMsQ0FBQztRQUNOLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQzt1R0FWVSxpQkFBaUI7MkdBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEhBU1VSQV9DT05GSUcgfSBmcm9tIFwiLi9oYXN1cmEuY29uZmlnXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIYXN1cmFJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIHByaXZhdGUgY29uZmlnID0gaW5qZWN0KEhBU1VSQV9DT05GSUcpO1xuXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIGlmIChyZXEudXJsLnN0YXJ0c1dpdGgodGhpcy5jb25maWcudXJsKSAmJiB0aGlzLmNvbmZpZy5hZG1pblNlY3JldCkge1xuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcS5jbG9uZSh7XG4gICAgICAgIGhlYWRlcnM6IHJlcS5oZWFkZXJzLnNldCgneC1oYXN1cmEtYWRtaW4tc2VjcmV0JywgdGhpcy5jb25maWcuYWRtaW5TZWNyZXQpLFxuICAgICAgfSkpO1xuICAgIH1cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgfVxufSJdfQ==","import { HTTP_INTERCEPTORS } from \"@angular/common/http\";\nimport { InjectionToken } from \"@angular/core\";\nimport { HasuraInterceptor } from \"./hasura.interceptor\";\nexport const HASURA_CONFIG = new InjectionToken('HASURA_CONFIG');\nexport function provideHasuraConfig(config) {\n return [\n { provide: HASURA_CONFIG, useValue: config },\n config.adminSecret ? { provide: HTTP_INTERCEPTORS, useClass: HasuraInterceptor, multi: true } : [],\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvaGFzdXJhL3NyYy9saWIvaGFzdXJhLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBT3pELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBZSxlQUFlLENBQUMsQ0FBQztBQUUvRSxNQUFNLFVBQVUsbUJBQW1CLENBQUMsTUFBb0I7SUFDdEQsT0FBTztRQUNMLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO1FBQzVDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7S0FDbEcsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSGFzdXJhSW50ZXJjZXB0b3IgfSBmcm9tIFwiLi9oYXN1cmEuaW50ZXJjZXB0b3JcIjtcblxuZXhwb3J0IGludGVyZmFjZSBIYXN1cmFDb25maWcge1xuICBhZG1pblNlY3JldD86IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBIQVNVUkFfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEhhc3VyYUNvbmZpZz4oJ0hBU1VSQV9DT05GSUcnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVIYXN1cmFDb25maWcoY29uZmlnOiBIYXN1cmFDb25maWcpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICB7IHByb3ZpZGU6IEhBU1VSQV9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfSxcbiAgICBjb25maWcuYWRtaW5TZWNyZXQgPyB7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogSGFzdXJhSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlfSA6IFtdLFxuICBdO1xufVxuIl19","export { TransformToDayjs } from '@nx-ddd/common/domain';\nexport { IsDayjs } from 'class-validator-extended';\nimport { InjectionToken, inject } from '@angular/core';\nimport { ApolloLink, InMemoryCache } from '@apollo/client/core';\nimport { APOLLO_OPTIONS, provideApollo } from 'apollo-angular';\nimport { provideHasuraConfig } from './hasura.config';\nexport const GRAPHQL_HEADERS = new InjectionToken('GRAPHQL_HEADERS', {\n providedIn: 'root',\n factory: () => () => ({}),\n});\nexport function provideHasuraGetHeaders(useFactory) {\n return [\n { provide: GRAPHQL_HEADERS, useFactory },\n ];\n}\n/**\n * @deprecated use provideHasuraGetHeaders instead\n */\nexport const provideGraphqlHeaders = provideHasuraGetHeaders;\nexport function provideApolloOptions() {\n return {\n provide: APOLLO_OPTIONS,\n useFactory: (link) => ({ cache: new InMemoryCache(), link }),\n deps: [ApolloLink],\n };\n}\nexport function provideHasura(config) {\n return [\n provideApollo(() => ({\n cache: new InMemoryCache(),\n link: inject(ApolloLink),\n })),\n provideHasuraConfig(config),\n ];\n}\nexport function provideHasuraWithWebSocket(config) {\n return [\n provideApollo(() => ({\n cache: new InMemoryCache(),\n link: inject(ApolloLink),\n })),\n provideHasuraConfig(config),\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLmRpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9oYXN1cmEvc3JjL2xpYi9oYXN1cmEuZGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sRUFBd0IsY0FBYyxFQUFZLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUErQixtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTW5GLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBYSxpQkFBaUIsRUFBRTtJQUMvRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7Q0FDMUIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxVQUFtRTtJQUVuRSxPQUFPO1FBQ0wsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRTtLQUN6QyxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsdUJBQXVCLENBQUM7QUFFN0QsTUFBTSxVQUFVLG9CQUFvQjtJQUNsQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLGNBQWM7UUFDdkIsVUFBVSxFQUFFLENBQUMsSUFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3hFLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztLQUNuQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBb0I7SUFDaEQsT0FBTztRQUNMLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ25CLEtBQUssRUFBRSxJQUFJLGFBQWEsRUFBRTtZQUMxQixJQUFJLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQztTQUN6QixDQUFDLENBQUM7UUFDSCxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7S0FDNUIsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsTUFBb0I7SUFDN0QsT0FBTztRQUNMLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ25CLEtBQUssRUFBRSxJQUFJLGFBQWEsRUFBRTtZQUMxQixJQUFJLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQztTQUN6QixDQUFDLENBQUM7UUFDSCxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7S0FDNUIsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBEZWVwUGFydGlhbCB9IGZyb20gJ0BueC1kZGQvY29tbW9uL2RvbWFpbic7XG5leHBvcnQgeyBUcmFuc2Zvcm1Ub0RheWpzIH0gZnJvbSAnQG54LWRkZC9jb21tb24vZG9tYWluJztcbmV4cG9ydCB7IElzRGF5anMgfSBmcm9tICdjbGFzcy12YWxpZGF0b3ItZXh0ZW5kZWQnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIEluamVjdGlvblRva2VuLCBQcm92aWRlciwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcG9sbG9MaW5rLCBJbk1lbW9yeUNhY2hlIH0gZnJvbSAnQGFwb2xsby9jbGllbnQvY29yZSc7XG5pbXBvcnQgeyBBUE9MTE9fT1BUSU9OUywgcHJvdmlkZUFwb2xsbyB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IEhBU1VSQV9DT05GSUcsIEhhc3VyYUNvbmZpZywgcHJvdmlkZUhhc3VyYUNvbmZpZyB9IGZyb20gJy4vaGFzdXJhLmNvbmZpZyc7XG5pbXBvcnQgeyBHZXRIZWFkZXJzIH0gZnJvbSAnLi9saW5rcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbnR5cGUgUHJvbWlzZU9yT2JzZXJ2YWJsZTxUPiA9IFByb21pc2U8VD4gfCBPYnNlcnZhYmxlPFQ+IHwgVDtcblxuZXhwb3J0IGNvbnN0IEdSQVBIUUxfSEVBREVSUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxHZXRIZWFkZXJzPignR1JBUEhRTF9IRUFERVJTJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+ICgpID0+ICh7fSksXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVIYXN1cmFHZXRIZWFkZXJzKFxuICB1c2VGYWN0b3J5OiAoKSA9PiAoKSA9PiBQcm9taXNlT3JPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+LFxuKTogUHJvdmlkZXIge1xuICByZXR1cm4gW1xuICAgIHsgcHJvdmlkZTogR1JBUEhRTF9IRUFERVJTLCB1c2VGYWN0b3J5IH0sXG4gIF07XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIHByb3ZpZGVIYXN1cmFHZXRIZWFkZXJzIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IHByb3ZpZGVHcmFwaHFsSGVhZGVycyA9IHByb3ZpZGVIYXN1cmFHZXRIZWFkZXJzO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUFwb2xsb09wdGlvbnMoKSB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogQVBPTExPX09QVElPTlMsXG4gICAgdXNlRmFjdG9yeTogKGxpbms6IEFwb2xsb0xpbmspID0+ICh7IGNhY2hlOiBuZXcgSW5NZW1vcnlDYWNoZSgpLCBsaW5rIH0pLFxuICAgIGRlcHM6IFtBcG9sbG9MaW5rXSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVIYXN1cmEoY29uZmlnOiBIYXN1cmFDb25maWcpOiAoUHJvdmlkZXIgfCBFbnZpcm9ubWVudFByb3ZpZGVycylbXSB7XG4gIHJldHVybiBbXG4gICAgcHJvdmlkZUFwb2xsbygoKSA9PiAoe1xuICAgICAgY2FjaGU6IG5ldyBJbk1lbW9yeUNhY2hlKCksXG4gICAgICBsaW5rOiBpbmplY3QoQXBvbGxvTGluayksXG4gICAgfSkpLFxuICAgIHByb3ZpZGVIYXN1cmFDb25maWcoY29uZmlnKSxcbiAgXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUhhc3VyYVdpdGhXZWJTb2NrZXQoY29uZmlnOiBIYXN1cmFDb25maWcpOiAoUHJvdmlkZXIgfCBFbnZpcm9ubWVudFByb3ZpZGVycylbXSB7XG4gIHJldHVybiBbXG4gICAgcHJvdmlkZUFwb2xsbygoKSA9PiAoe1xuICAgICAgY2FjaGU6IG5ldyBJbk1lbW9yeUNhY2hlKCksXG4gICAgICBsaW5rOiBpbmplY3QoQXBvbGxvTGluayksXG4gICAgfSkpLFxuICAgIHByb3ZpZGVIYXN1cmFDb25maWcoY29uZmlnKSxcbiAgXVxufVxuXG4iXX0=","export class GetQueryPartBuilder {\n config;\n constructor(config) {\n this.config = config;\n }\n build(params) {\n const queryName = `${this.config.tableName}_by_pk`;\n const variableDefinitions = ['$id: String!'];\n const queryPart = `${queryName}(id: $id) { ${this.config.columns.join(' ')} }`;\n return { queryPart, variableDefinitions, variables: params, operationName: queryName };\n }\n buildMany() {\n const queryName = this.config.tableName;\n const queryPart = `${queryName} { ${this.config.columns.join(' ')} }`;\n return { queryPart, variableDefinitions: [], variables: {}, operationName: queryName };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2hhc3VyYS9zcmMvbGliL2J1aWxkZXJzL3BhcnRzL3F1ZXJpZXMvZ2V0LmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLG1CQUFtQjtJQUNQO0lBQXZCLFlBQXVCLE1BQW1CO1FBQW5CLFdBQU0sR0FBTixNQUFNLENBQWE7SUFBSSxDQUFDO0lBRS9DLEtBQUssQ0FBQyxNQUFvQjtRQUN4QixNQUFNLFNBQVMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxRQUFRLENBQUM7UUFDbkQsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sU0FBUyxHQUFHLEdBQUcsU0FBUyxlQUFlLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDekYsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUN4QyxNQUFNLFNBQVMsR0FBRyxHQUFHLFNBQVMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztRQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUN6RixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUNvbmZpZywgVHJhbnNhY3Rpb25RdWVyeVBhcnQgfSBmcm9tIFwiLi4vX21ldGEvZ3JhcGhxbC1xdWVyeS1wYXJ0XCI7XG5cbmV4cG9ydCBjbGFzcyBHZXRRdWVyeVBhcnRCdWlsZGVyIHtcbiAgY29uc3RydWN0b3IgKHByb3RlY3RlZCBjb25maWc6IFRhYmxlQ29uZmlnKSB7IH1cblxuICBidWlsZChwYXJhbXM6IHtpZDogc3RyaW5nfSk6IFRyYW5zYWN0aW9uUXVlcnlQYXJ0IHtcbiAgICBjb25zdCBxdWVyeU5hbWUgPSBgJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9X2J5X3BrYDtcbiAgICBjb25zdCB2YXJpYWJsZURlZmluaXRpb25zID0gWyckaWQ6IFN0cmluZyEnXTtcbiAgICBjb25zdCBxdWVyeVBhcnQgPSBgJHtxdWVyeU5hbWV9KGlkOiAkaWQpIHsgJHt0aGlzLmNvbmZpZy5jb2x1bW5zLmpvaW4oJyAnKX0gfWA7XG4gICAgcmV0dXJuIHsgcXVlcnlQYXJ0LCB2YXJpYWJsZURlZmluaXRpb25zLCB2YXJpYWJsZXM6IHBhcmFtcywgb3BlcmF0aW9uTmFtZTogcXVlcnlOYW1lIH07XG4gIH1cblxuICBidWlsZE1hbnkoKTogVHJhbnNhY3Rpb25RdWVyeVBhcnQge1xuICAgIGNvbnN0IHF1ZXJ5TmFtZSA9IHRoaXMuY29uZmlnLnRhYmxlTmFtZTtcbiAgICBjb25zdCBxdWVyeVBhcnQgPSBgJHtxdWVyeU5hbWV9IHsgJHt0aGlzLmNvbmZpZy5jb2x1bW5zLmpvaW4oJyAnKX0gfWA7XG4gICAgcmV0dXJuIHsgcXVlcnlQYXJ0LCB2YXJpYWJsZURlZmluaXRpb25zOiBbXSwgdmFyaWFibGVzOiB7fSwgb3BlcmF0aW9uTmFtZTogcXVlcnlOYW1lIH07XG4gIH1cbn1cbiJdfQ==","import { GetQueryPartBuilder } from \"./get.builder\";\nexport function makeSubscription(query) {\n const { kind, definitions } = query;\n const subscriptionDefinitions = definitions.map((definition) => {\n if (definition.kind === 'OperationDefinition' && definition.operation === 'query') {\n return {\n ...definition,\n operation: 'subscription',\n };\n }\n return definition;\n });\n return { kind, definitions: subscriptionDefinitions };\n}\nexport class QueriesBuilder {\n get;\n constructor(config) {\n this.get = new GetQueryPartBuilder(config);\n }\n makeSubscription(query) {\n return makeSubscription(query);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcmllcy5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9oYXN1cmEvc3JjL2xpYi9idWlsZGVycy9wYXJ0cy9xdWVyaWVzL3F1ZXJpZXMuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQVU7SUFDekMsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDcEMsTUFBTSx1QkFBdUIsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBZSxFQUFFLEVBQUU7UUFDbEUsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLHFCQUFxQixJQUFJLFVBQVUsQ0FBQyxTQUFTLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDbEYsT0FBTztnQkFDTCxHQUFHLFVBQVU7Z0JBQ2IsU0FBUyxFQUFFLGNBQWM7YUFDMUIsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLENBQUM7QUFDeEQsQ0FBQztBQUVELE1BQU0sT0FBTyxjQUFjO0lBQ2hCLEdBQUcsQ0FBc0I7SUFFbEMsWUFBYSxNQUFtQjtRQUM5QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVU7UUFDekIsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUNvbmZpZyB9IGZyb20gXCIuLi9fbWV0YS9ncmFwaHFsLXF1ZXJ5LXBhcnRcIjtcbmltcG9ydCB7IEdldFF1ZXJ5UGFydEJ1aWxkZXIgfSBmcm9tIFwiLi9nZXQuYnVpbGRlclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gbWFrZVN1YnNjcmlwdGlvbihxdWVyeTogYW55KSB7XG4gIGNvbnN0IHsga2luZCwgZGVmaW5pdGlvbnMgfSA9IHF1ZXJ5O1xuICBjb25zdCBzdWJzY3JpcHRpb25EZWZpbml0aW9ucyA9IGRlZmluaXRpb25zLm1hcCgoZGVmaW5pdGlvbjogYW55KSA9PiB7XG4gICAgaWYgKGRlZmluaXRpb24ua2luZCA9PT0gJ09wZXJhdGlvbkRlZmluaXRpb24nICYmIGRlZmluaXRpb24ub3BlcmF0aW9uID09PSAncXVlcnknKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5kZWZpbml0aW9uLFxuICAgICAgICBvcGVyYXRpb246ICdzdWJzY3JpcHRpb24nLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIGRlZmluaXRpb247XG4gIH0pO1xuICByZXR1cm4geyBraW5kLCBkZWZpbml0aW9uczogc3Vic2NyaXB0aW9uRGVmaW5pdGlvbnMgfTtcbn1cblxuZXhwb3J0IGNsYXNzIFF1ZXJpZXNCdWlsZGVyPEUgZXh0ZW5kcyB7IGlkOiBzdHJpbmcgfT4ge1xuICByZWFkb25seSBnZXQ6IEdldFF1ZXJ5UGFydEJ1aWxkZXI7XG5cbiAgY29uc3RydWN0b3IgKGNvbmZpZzogVGFibGVDb25maWcpIHtcbiAgICB0aGlzLmdldCA9IG5ldyBHZXRRdWVyeVBhcnRCdWlsZGVyKGNvbmZpZyk7XG4gIH1cblxuICBtYWtlU3Vic2NyaXB0aW9uKHF1ZXJ5OiBhbnkpIHtcbiAgICByZXR1cm4gbWFrZVN1YnNjcmlwdGlvbihxdWVyeSk7XG4gIH1cbn0iXX0=","import { omitBy, pick, snakeCase } from 'lodash-es';\nexport class CreateMutationBuilder {\n config;\n constructor(config) {\n this.config = config;\n }\n build(data, alias = 'create') {\n const object = this.convertToObject(data);\n const mutationName = `insert_${this.config.tableName}`;\n const variableDefinitions = [`$${alias}: ${this.config.tableName}_insert_input!`];\n const queryPart = `${alias}: ${mutationName}(objects: [$${alias}]) { affected_rows returning { ${this.config.columns.join(' ')} } }`;\n const variables = { [alias]: object };\n return { queryPart, variableDefinitions, variables, operationName: mutationName, alias };\n }\n buildMany(data, alias = 'createMany') {\n const objects = this.convertToObjects(data);\n const mutationName = `insert_${this.config.tableName}`;\n const variableDefinitions = [`$${alias}: [${this.config.tableName}_insert_input!]!`];\n const queryPart = `${alias}: ${mutationName}(objects: $${alias}) { affected_rows returning { ${this.config.columns.join(' ')} } }`;\n const variables = { [alias]: objects };\n return { queryPart, variableDefinitions, variables, operationName: mutationName, alias };\n }\n convertToObject(item) {\n const fields = Object.keys(item).map(snakeCase).filter((field) => !['created_at', 'updated_at'].includes(field));\n const picked = pick(item, [...fields]);\n return omitBy(picked, (value) => typeof value === 'undefined');\n }\n convertToObjects(items) {\n return items.map((item) => this.convertToObject(item));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2hhc3VyYS9zcmMvbGliL2J1aWxkZXJzL3BhcnRzL211dGF0aW9ucy9jcmVhdGUuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJcEQsTUFBTSxPQUFPLHFCQUFxQjtJQUNEO0lBQS9CLFlBQStCLE1BQW1CO1FBQW5CLFdBQU0sR0FBTixNQUFNLENBQWE7SUFBSSxDQUFDO0lBRXZELEtBQUssQ0FBQyxJQUFtQixFQUFFLEtBQUssR0FBRyxRQUFRO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsTUFBTSxZQUFZLEdBQUcsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRixNQUFNLFNBQVMsR0FBRyxHQUFHLEtBQUssS0FBSyxZQUFZLGVBQWUsS0FBSyxrQ0FBa0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDckksTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFxQixFQUFFLEtBQUssR0FBRyxZQUFZO1FBQ25ELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxNQUFNLFlBQVksR0FBRyxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdkQsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sU0FBUyxHQUFHLEdBQUcsS0FBSyxLQUFLLFlBQVksY0FBYyxLQUFLLGlDQUFpQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNuSSxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUMzRixDQUFDO0lBRVMsZUFBZSxDQUFDLElBQW1CO1FBQzNDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNqSCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssV0FBVyxDQUEyQixDQUFDO0lBQzNGLENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxLQUFzQjtRQUMvQyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUNvbmZpZywgVHJhbnNhY3Rpb25RdWVyeVBhcnQgfSBmcm9tICcuLi8uLi9wYXJ0cy9fbWV0YS9ncmFwaHFsLXF1ZXJ5LXBhcnQnO1xuaW1wb3J0IHsgb21pdEJ5LCBwaWNrLCBzbmFrZUNhc2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG50eXBlIENyZWF0ZURhdGE8RT4gPSBPbWl0PEUsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPjtcblxuZXhwb3J0IGNsYXNzIENyZWF0ZU11dGF0aW9uQnVpbGRlcjxFIGV4dGVuZHMge2lkOiBzdHJpbmd9PiB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBjb25maWc6IFRhYmxlQ29uZmlnKSB7IH1cblxuICBidWlsZChkYXRhOiBDcmVhdGVEYXRhPEU+LCBhbGlhcyA9ICdjcmVhdGUnKTogVHJhbnNhY3Rpb25RdWVyeVBhcnQge1xuICAgIGNvbnN0IG9iamVjdCA9IHRoaXMuY29udmVydFRvT2JqZWN0KGRhdGEpO1xuICAgIGNvbnN0IG11dGF0aW9uTmFtZSA9IGBpbnNlcnRfJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9YDtcbiAgICBjb25zdCB2YXJpYWJsZURlZmluaXRpb25zID0gW2AkJHthbGlhc306ICR7dGhpcy5jb25maWcudGFibGVOYW1lfV9pbnNlcnRfaW5wdXQhYF07XG4gICAgY29uc3QgcXVlcnlQYXJ0ID0gYCR7YWxpYXN9OiAke211dGF0aW9uTmFtZX0ob2JqZWN0czogWyQke2FsaWFzfV0pIHsgYWZmZWN0ZWRfcm93cyByZXR1cm5pbmcgeyAke3RoaXMuY29uZmlnLmNvbHVtbnMuam9pbignICcpfSB9IH1gO1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHsgW2FsaWFzXTogb2JqZWN0IH07XG4gICAgcmV0dXJuIHsgcXVlcnlQYXJ0LCB2YXJpYWJsZURlZmluaXRpb25zLCB2YXJpYWJsZXMsIG9wZXJhdGlvbk5hbWU6IG11dGF0aW9uTmFtZSwgYWxpYXMgfTtcbiAgfVxuXG4gIGJ1aWxkTWFueShkYXRhOiBDcmVhdGVEYXRhPEU+W10sIGFsaWFzID0gJ2NyZWF0ZU1hbnknKTogVHJhbnNhY3Rpb25RdWVyeVBhcnQge1xuICAgIGNvbnN0IG9iamVjdHMgPSB0aGlzLmNvbnZlcnRUb09iamVjdHMoZGF0YSk7XG4gICAgY29uc3QgbXV0YXRpb25OYW1lID0gYGluc2VydF8ke3RoaXMuY29uZmlnLnRhYmxlTmFtZX1gO1xuICAgIGNvbnN0IHZhcmlhYmxlRGVmaW5pdGlvbnMgPSBbYCQke2FsaWFzfTogWyR7dGhpcy5jb25maWcudGFibGVOYW1lfV9pbnNlcnRfaW5wdXQhXSFgXTtcbiAgICBjb25zdCBxdWVyeVBhcnQgPSBgJHthbGlhc306ICR7bXV0YXRpb25OYW1lfShvYmplY3RzOiAkJHthbGlhc30pIHsgYWZmZWN0ZWRfcm93cyByZXR1cm5pbmcgeyAke3RoaXMuY29uZmlnLmNvbHVtbnMuam9pbignICcpfSB9IH1gO1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHsgW2FsaWFzXTogb2JqZWN0cyB9O1xuICAgIHJldHVybiB7IHF1ZXJ5UGFydCwgdmFyaWFibGVEZWZpbml0aW9ucywgdmFyaWFibGVzLCBvcGVyYXRpb25OYW1lOiBtdXRhdGlvbk5hbWUsIGFsaWFzIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgY29udmVydFRvT2JqZWN0KGl0ZW06IENyZWF0ZURhdGE8RT4pOiBQYXJ0aWFsPENyZWF0ZURhdGE8RT4+IHtcbiAgICBjb25zdCBmaWVsZHMgPSBPYmplY3Qua2V5cyhpdGVtKS5tYXAoc25ha2VDYXNlKS5maWx0ZXIoKGZpZWxkKSA9PiAhWydjcmVhdGVkX2F0JywgJ3VwZGF0ZWRfYXQnXS5pbmNsdWRlcyhmaWVsZCkpO1xuICAgIGNvbnN0IHBpY2tlZCA9IHBpY2soaXRlbSwgWy4uLmZpZWxkc10pO1xuICAgIHJldHVybiBvbWl0QnkocGlja2VkLCAodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIGFzIFBhcnRpYWw8Q3JlYXRlRGF0YTxFPj47XG4gIH1cblxuICBwcm90ZWN0ZWQgY29udmVydFRvT2JqZWN0cyhpdGVtczogQ3JlYXRlRGF0YTxFPltdKTogUGFydGlhbDxDcmVhdGVEYXRhPEU+PltdIHtcbiAgICByZXR1cm4gaXRlbXMubWFwKChpdGVtKSA9PiB0aGlzLmNvbnZlcnRUb09iamVjdChpdGVtKSk7XG4gIH1cbn1cbiJdfQ==","export class DeleteMutationBuilder {\n config;\n constructor(config) {\n this.config = config;\n }\n build({ id }) {\n const operationName = `delete_${this.config.tableName}`;\n const queryPart = `${operationName}(where: {id: {_eq: $id}}) { affected_rows }`;\n const variableDefinitions = ['$id: String!'];\n return { queryPart, variableDefinitions, variables: { id }, operationName };\n }\n buildMany(params, alias = 'deleteMany') {\n const operationName = `delete_${this.config.tableName}`;\n const variableDefinitions = [`$${alias}: [String!]!`];\n const queryPart = `${alias}: ${operationName}(where: {id: {_in: $${alias}}}) { affected_rows }`;\n const variables = { [alias]: params.map((p) => p.id) };\n return { queryPart, variableDefinitions, variables, operationName, alias };\n }\n buildAll(alias = 'deleteAll') {\n const operationName = `delete_${this.config.tableName}`;\n const uniqueAlias = `${alias}_${this.config.tableName}`;\n const variableDefinitions = [];\n const queryPart = `${uniqueAlias}: ${operationName}(where: {}) { affected_rows }`;\n const variables = {};\n return { queryPart, variableDefinitions, variables, operationName, alias };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2hhc3VyYS9zcmMvbGliL2J1aWxkZXJzL3BhcnRzL211dGF0aW9ucy9kZWxldGUuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8scUJBQXFCO0lBQ0Q7SUFBL0IsWUFBK0IsTUFBbUI7UUFBbkIsV0FBTSxHQUFOLE1BQU0sQ0FBYTtJQUFJLENBQUM7SUFFdkQsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ1YsTUFBTSxhQUFhLEdBQUcsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3hELE1BQU0sU0FBUyxHQUFHLEdBQUcsYUFBYSw2Q0FBNkMsQ0FBQztRQUNoRixNQUFNLG1CQUFtQixHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUUsQ0FBQztJQUM5RSxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQXdCLEVBQUUsS0FBSyxHQUFHLFlBQVk7UUFDdEQsTUFBTSxhQUFhLEdBQUcsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3hELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLENBQUM7UUFDdEQsTUFBTSxTQUFTLEdBQUcsR0FBRyxLQUFLLEtBQUssYUFBYSx1QkFBdUIsS0FBSyx1QkFBdUIsQ0FBQztRQUNoRyxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzdFLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBSyxHQUFHLFdBQVc7UUFDMUIsTUFBTSxhQUFhLEdBQUcsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3hELE1BQU0sV0FBVyxHQUFHLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDeEQsTUFBTSxtQkFBbUIsR0FBYSxFQUFFLENBQUM7UUFDekMsTUFBTSxTQUFTLEdBQUcsR0FBRyxXQUFXLEtBQUssYUFBYSwrQkFBK0IsQ0FBQztRQUNsRixNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDckIsT0FBTyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzdFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlQ29uZmlnLCBUcmFuc2FjdGlvblF1ZXJ5UGFydCB9IGZyb20gJy4uLy4uL3BhcnRzL19tZXRhL2dyYXBocWwtcXVlcnktcGFydCc7XG5cbmV4cG9ydCBjbGFzcyBEZWxldGVNdXRhdGlvbkJ1aWxkZXIge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlnOiBUYWJsZUNvbmZpZykgeyB9XG5cbiAgYnVpbGQoeyBpZCB9KTogVHJhbnNhY3Rpb25RdWVyeVBhcnQge1xuICAgIGNvbnN0IG9wZXJhdGlvbk5hbWUgPSBgZGVsZXRlXyR7dGhpcy5jb25maWcudGFibGVOYW1lfWA7XG4gICAgY29uc3QgcXVlcnlQYXJ0ID0gYCR7b3BlcmF0aW9uTmFtZX0od2hlcmU6IHtpZDoge19lcTogJGlkfX0pIHsgYWZmZWN0ZWRfcm93cyB9YDtcbiAgICBjb25zdCB2YXJpYWJsZURlZmluaXRpb25zID0gWyckaWQ6IFN0cmluZyEnXTtcbiAgICByZXR1cm4geyBxdWVyeVBhcnQsIHZhcmlhYmxlRGVmaW5pdGlvbnMsIHZhcmlhYmxlczogeyBpZCB9LCBvcGVyYXRpb25OYW1lIH07XG4gIH1cblxuICBidWlsZE1hbnkocGFyYW1zOiB7IGlkOiBzdHJpbmcgfVtdLCBhbGlhcyA9ICdkZWxldGVNYW55Jyk6IFRyYW5zYWN0aW9uUXVlcnlQYXJ0IHtcbiAgICBjb25zdCBvcGVyYXRpb25OYW1lID0gYGRlbGV0ZV8ke3RoaXMuY29uZmlnLnRhYmxlTmFtZX1gO1xuICAgIGNvbnN0IHZhcmlhYmxlRGVmaW5pdGlvbnMgPSBbYCQke2FsaWFzfTogW1N0cmluZyFdIWBdO1xuICAgIGNvbnN0IHF1ZXJ5UGFydCA9IGAke2FsaWFzfTogJHtvcGVyYXRpb25OYW1lfSh3aGVyZToge2lkOiB7X2luOiAkJHthbGlhc319fSkgeyBhZmZlY3RlZF9yb3dzIH1gO1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHsgW2FsaWFzXTogcGFyYW1zLm1hcCgocCkgPT4gcC5pZCkgfTtcbiAgICByZXR1cm4geyBxdWVyeVBhcnQsIHZhcmlhYmxlRGVmaW5pdGlvbnMsIHZhcmlhYmxlcywgb3BlcmF0aW9uTmFtZSwgYWxpYXMgfTtcbiAgfVxuXG4gIGJ1aWxkQWxsKGFsaWFzID0gJ2RlbGV0ZUFsbCcpOiBUcmFuc2FjdGlvblF1ZXJ5UGFydCB7XG4gICAgY29uc3Qgb3BlcmF0aW9uTmFtZSA9IGBkZWxldGVfJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9YDtcbiAgICBjb25zdCB1bmlxdWVBbGlhcyA9IGAke2FsaWFzfV8ke3RoaXMuY29uZmlnLnRhYmxlTmFtZX1gO1xuICAgIGNvbnN0IHZhcmlhYmxlRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgcXVlcnlQYXJ0ID0gYCR7dW5pcXVlQWxpYXN9OiAke29wZXJhdGlvbk5hbWV9KHdoZXJlOiB7fSkgeyBhZmZlY3RlZF9yb3dzIH1gO1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHt9O1xuICAgIHJldHVybiB7IHF1ZXJ5UGFydCwgdmFyaWFibGVEZWZpbml0aW9ucywgdmFyaWFibGVzLCBvcGVyYXRpb25OYW1lLCBhbGlhcyB9O1xuICB9XG59XG4iXX0=","import { omitBy, pick, snakeCase } from \"lodash-es\";\nexport class SaveMutationBuilder {\n config;\n constructor(config) {\n this.config = config;\n }\n build(data, { operationName = `insert_${this.config.tableName}`, constraint = this.config.pk, columns = this.config.columns, returningColumns = this.config.columns, alias = operationName, } = {}) {\n const object = this.buildObject(data);\n const onConflict = this.buildOnConflict(data, constraint, columns);\n const variableDefinitions = [\n `$${alias}Object: ${this.config.tableName}_insert_input!`,\n `$${alias}OnConflict: ${this.config.tableName}_on_conflict!`\n ];\n const queryPart = `${alias}: ${operationName}( objects: [$${alias}Object] on_conflict: $${alias}OnConflict) { affected_rows returning { ${returningColumns.join(', ')} } }`;\n const variables = { [`${alias}Object`]: object, [`${alias}OnConflict`]: onConflict };\n return { queryPart, variableDefinitions, variables, operationName, alias };\n }\n buildMany(entities, { operationName = `insert_${this.config.tableName}`, constraint = this.config.pk, columns = this.config.columns, returningColumns = this.config.columns, alias = 'save' } = {}) {\n const objects = this.buildObjects(entities);\n const onConflict = this.buildOnConflict(entities[0], constraint, columns);\n const variableDefinitions = [\n `$${alias}Objects: [${this.config.tableName}_insert_input!]!`,\n `$${alias}OnConflict: ${this.config.tableName}_on_conflict!`\n ];\n const queryPart = `${alias}: ${operationName}(objects: $${alias}Objects on_conflict: $${alias}OnConflict) {\n affected_rows returning { ${returningColumns.join(', ')} }\n }`;\n const variables = { [`${alias}Objects`]: objects, [`${alias}OnConflict`]: onConflict };\n return { queryPart, variableDefinitions, variables, operationName: operationName, alias };\n }\n buildObject(item) {\n const fields = Object.keys(item).map(snakeCase).filter((field) => !['created_at', 'updated_at'].includes(field));\n const picked = pick(item, [...fields]);\n return omitBy(picked, (value) => typeof value === 'undefined');\n }\n buildObjects(items) {\n return items.map((item) => this.buildObject(item));\n }\n buildOnConflict(data, constraint, columns) {\n const fields = Object.keys(this.buildObject(data));\n const updateColumns = fields.filter(column => columns.includes(column));\n return { constraint, update_columns: updateColumns };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9oYXN1cmEvc3JjL2xpYi9idWlsZGVycy9wYXJ0cy9tdXRhdGlvbnMvc2F2ZS5idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVVwRCxNQUFNLE9BQU8sbUJBQW1CO0lBQ0M7SUFBL0IsWUFBK0IsTUFBbUI7UUFBbkIsV0FBTSxHQUFOLE1BQU0sQ0FBYTtJQUFJLENBQUM7SUFFdkQsS0FBSyxDQUFDLElBQXdDLEVBQUUsRUFDOUMsYUFBYSxHQUFHLFVBQVUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFDakQsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUMzQixPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQzdCLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUN0QyxLQUFLLEdBQUcsYUFBYSxNQUNWLEVBQUU7UUFDYixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRSxNQUFNLG1CQUFtQixHQUFHO1lBQzFCLElBQUksS0FBSyxXQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxnQkFBZ0I7WUFDekQsSUFBSSxLQUFLLGVBQWUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLGVBQWU7U0FDN0QsQ0FBQztRQUNGLE1BQU0sU0FBUyxHQUFHLEdBQUcsS0FBSyxLQUFLLGFBQWEsZ0JBQWdCLEtBQUsseUJBQXlCLEtBQUssMkNB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eEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLENBQUM7SUFDdkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGVDb25maWcsIFRyYW5zYWN0aW9uUXVlcnlQYXJ0IH0gZnJvbSAnLi4vLi4vcGFydHMvX21ldGEvZ3JhcGhxbC1xdWVyeS1wYXJ0JztcbmltcG9ydCB7IG9taXRCeSwgcGljaywgc25ha2VDYXNlIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5pbnRlcmZhY2UgT3B0aW9ucyB7XG4gIG9wZXJhdGlvbk5hbWU/OiBzdHJpbmc7XG4gIGNvbnN0cmFpbnQ/OiBzdHJpbmc7XG4gIGNvbHVtbnM/OiBzdHJpbmdbXTtcbiAgcmV0dXJuaW5nQ29sdW1ucz86IHN0cmluZ1tdO1xuICBhbGlhcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFNhdmVNdXRhdGlvbkJ1aWxkZXI8RSA9IGFueT4ge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlnOiBUYWJsZUNvbmZpZykgeyB9XG5cbiAgYnVpbGQoZGF0YTogT21pdDxFLCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPiwge1xuICAgIG9wZXJhdGlvbk5hbWUgPSBgaW5zZXJ0XyR7dGhpcy5jb25maWcudGFibGVOYW1lfWAsXG4gICAgY29uc3RyYWludCA9IHRoaXMuY29uZmlnLnBrLFxuICAgIGNvbHVtbnMgPSB0aGlzLmNvbmZpZy5jb2x1bW5zLFxuICAgIHJldHVybmluZ0NvbHVtbnMgPSB0aGlzLmNvbmZpZy5jb2x1bW5zLFxuICAgIGFsaWFzID0gb3BlcmF0aW9uTmFtZSxcbiAgfTogT3B0aW9ucyA9IHt9KTogVHJhbnNhY3Rpb25RdWVyeVBhcnQge1xuICAgIGNvbnN0IG9iamVjdCA9IHRoaXMuYnVpbGRPYmplY3QoZGF0YSk7XG4gICAgY29uc3Qgb25Db25mbGljdCA9IHRoaXMuYnVpbGRPbkNvbmZsaWN0KGRhdGEsIGNvbnN0cmFpbnQsIGNvbHVtbnMpO1xuICAgIGNvbnN0IHZhcmlhYmxlRGVmaW5pdGlvbnMgPSBbXG4gICAgICBgJCR7YWxpYXN9T2JqZWN0OiAke3RoaXMuY29uZmlnLnRhYmxlTmFtZX1faW5zZXJ0X2lucHV0IWAsXG4gICAgICBgJCR7YWxpYXN9T25Db25mbGljdDogJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9X29uX2NvbmZsaWN0IWBcbiAgICBdO1xuICAgIGNvbnN0IHF1ZXJ5UGFydCA9IGAke2FsaWFzfTogJHtvcGVyYXRpb25OYW1lfSggb2JqZWN0czogWyQke2FsaWFzfU9iamVjdF0gb25fY29uZmxpY3Q6ICQke2FsaWFzfU9uQ29uZmxpY3QpIHsgYWZmZWN0ZWRfcm93cyByZXR1cm5pbmcgeyAke3JldHVybmluZ0NvbHVtbnMuam9pbignLCAnKX0gfSB9YDtcbiAgICBjb25zdCB2YXJpYWJsZXMgPSB7IFtgJHthbGlhc31PYmplY3RgXTogb2JqZWN0LCBbYCR7YWxpYXN9T25Db25mbGljdGBdOiBvbkNvbmZsaWN0IH07XG4gICAgcmV0dXJuIHsgcXVlcnlQYXJ0LCB2YXJpYWJsZURlZmluaXRpb25zLCB2YXJpYWJsZXMsIG9wZXJhdGlvbk5hbWUsIGFsaWFzIH07XG4gIH1cblxuICBidWlsZE1hbnkoZW50aXRpZXM6IEVbXSwge1xuICAgIG9wZXJhdGlvbk5hbWUgPSBgaW5zZXJ0XyR7dGhpcy5jb25maWcudGFibGVOYW1lfWAsXG4gICAgY29uc3RyYWludCA9IHRoaXMuY29uZmlnLnBrLFxuICAgIGNvbHVtbnMgPSB0aGlzLmNvbmZpZy5jb2x1bW5zLFxuICAgIHJldHVybmluZ0NvbHVtbnMgPSB0aGlzLmNvbmZpZy5jb2x1bW5zLFxuICAgIGFsaWFzID0gJ3NhdmUnXG4gIH06IE9wdGlvbnMgPSB7fSk6IFRyYW5zYWN0aW9uUXVlcnlQYXJ0IHtcbiAgICBjb25zdCBvYmplY3RzID0gdGhpcy5idWlsZE9iamVjdHMoZW50aXRpZXMpO1xuICAgIGNvbnN0IG9uQ29uZmxpY3QgPSB0aGlzLmJ1aWxkT25Db25mbGljdChlbnRpdGllc1swXSBhcyBhbnksIGNvbnN0cmFpbnQsIGNvbHVtbnMpO1xuICAgIGNvbnN0IHZhcmlhYmxlRGVmaW5pdGlvbnMgPSBbXG4gICAgICBgJCR7YWxpYXN9T2JqZWN0czogWyR7dGhpcy5jb25maWcudGFibGVOYW1lfV9pbnNlcnRfaW5wdXQhXSFgLFxuICAgICAgYCQke2FsaWFzfU9uQ29uZmxpY3Q6ICR7dGhpcy5jb25maWcudGFibGVOYW1lfV9vbl9jb25mbGljdCFgXG4gICAgXTtcbiAgICBjb25zdCBxdWVyeVBhcnQgPSBgJHthbGlhc306ICR7b3BlcmF0aW9uTmFtZX0ob2JqZWN0czogJCR7YWxpYXN9T2JqZWN0cyBvbl9jb25mbGljdDogJCR7YWxpYXN9T25Db25mbGljdCkge1xuICAgICAgYWZmZWN0ZWRfcm93cyByZXR1cm5pbmcgeyAke3JldHVybmluZ0NvbHVtbnMuam9pbignLCAnKX0gfVxuICAgIH1gO1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHsgW2Ake2FsaWFzfU9iamVjdHNgXTogb2JqZWN0cywgW2Ake2FsaWFzfU9uQ29uZmxpY3RgXTogb25Db25mbGljdCB9O1xuICAgIHJldHVybiB7IHF1ZXJ5UGFydCwgdmFyaWFibGVEZWZpbml0aW9ucywgdmFyaWFibGVzLCBvcGVyYXRpb25OYW1lOiBvcGVyYXRpb25OYW1lLCBhbGlhcyB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkT2JqZWN0KGl0ZW06IE9taXQ8RSwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz4pOiBQYXJ0aWFsPE9taXQ8RSwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz4+IHtcbiAgICBjb25zdCBmaWVsZHMgPSBPYmplY3Qua2V5cyhpdGVtKS5tYXAoc25ha2VDYXNlKS5maWx0ZXIoKGZpZWxkKSA9PiAhWydjcmVhdGVkX2F0JywgJ3VwZGF0ZWRfYXQnXS5pbmNsdWRlcyhmaWVsZCkpO1xuICAgIGNvbnN0IHBpY2tlZCA9IHBpY2soaXRlbSwgWy4uLmZpZWxkc10pO1xuICAgIHJldHVybiBvbWl0QnkocGlja2VkLCAodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIGFzIFBhcnRpYWw8T21pdDxFLCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPj47XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRPYmplY3RzKGl0ZW1zOiBPbWl0PEUsICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+W10pOiBQYXJ0aWFsPE9taXQ8RSwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz4+W10ge1xuICAgIHJldHVybiBpdGVtcy5tYXAoKGl0ZW0pID0+IHRoaXMuYnVpbGRPYmplY3QoaXRlbSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkT25Db25mbGljdChkYXRhOiBPbWl0PEUsICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+LCBjb25zdHJhaW50OiBzdHJpbmcsIGNvbHVtbnM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgZmllbGRzID0gT2JqZWN0LmtleXModGhpcy5idWlsZE9iamVjdChkYXRhKSk7XG4gICAgY29uc3QgdXBkYXRlQ29sdW1ucyA9IGZpZWxkcy5maWx0ZXIoY29sdW1uID0+IGNvbHVtbnMuaW5jbHVkZXMoY29sdW1uKSk7XG4gICAgcmV0dXJuIHsgY29uc3RyYWludCwgdXBkYXRlX2NvbHVtbnM6IHVwZGF0ZUNvbHVtbnMgfTtcbiAgfVxufSJdfQ==","import { omitBy, pick, snakeCase } from \"lodash-es\";\nexport class UpdateMutationBuilder {\n config;\n constructor(config) {\n this.config = config;\n }\n build(data, alias = 'update') {\n const mutationName = `update_${this.config.tableName}`;\n const object = this.buildObject(data);\n const variableDefinitions = [`$${alias}Id: String!`, `$${alias}Object: ${this.config.tableName}_set_input!`];\n const queryPart = `${alias}: ${mutationName}(where: {id: {_eq: $${alias}Id}} _set: $${alias}Object) { affected_rows returning { id } }`;\n const variables = { [`${alias}Id`]: data.id, [`${alias}Object`]: object };\n return { queryPart, variableDefinitions, variables, operationName: mutationName, alias };\n }\n buildMany(data, alias = 'updateMany') {\n const mutationName = `update_${this.config.tableName}_many`;\n const objects = this.buildObjects(data);\n const variableDefinitions = [`$${alias}Objects: [${this.config.tableName}_updates!]!`];\n const queryPart = `${alias}: ${mutationName}(updates: $${alias}Objects) { affected_rows returning { id } }`;\n const variables = { [`${alias}Objects`]: objects };\n return { queryPart, variableDefinitions, variables, operationName: mutationName, alias };\n }\n buildObject(item) {\n const fields = Object.keys(item).map(snakeCase).filter((field) => !['created_at', 'updated_at'].includes(field));\n const picked = pick(item, fields);\n return omitBy(picked, (value) => typeof value === 'undefined');\n }\n buildObjects(items) {\n return items.map((item) => ({ where: { id: { _eq: item.id } }, _set: this.buildObject(item) }));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2hhc3VyYS9zcmMvbGliL2J1aWxkZXJzL3BhcnRzL211dGF0aW9ucy91cGRhdGUuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEQsTUFBTSxPQUFPLHFCQUFxQjtJQUNEO0lBQS9CLFlBQStCLE1BQW1CO1FBQW5CLFdBQU0sR0FBTixNQUFNLENBQWE7SUFBSSxDQUFDO0lBRXZELEtBQUssQ0FBQyxJQUFpQyxFQUFFLEtBQUssR0FBRyxRQUFRO1FBQ3ZELE1BQU0sWUFBWSxHQUFHLFVBQVUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN2RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxJQUFJLEtBQUssYUFBYSxFQUFFLElBQUksS0FBSyxXQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxhQUFhLENBQUMsQ0FBQztRQUM3RyxNQUFNLFNBQVMsR0FBRyxHQUFHLEtBQUssS0FBSyxZQUFZLHVCQUF1QixLQUFLLGVBQWUsS0FBSyw0Q0FBNEMsQ0FBQztRQUN4SSxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUMzRixDQUFDO0lBRUQsU0FBUyxDQUNQLElBQWtCLEVBQ2xCLEtBQUssR0FBRyxZQUFZO1FBRXBCLE1BQU0sWUFBWSxHQUFHLFVBQVUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLE9BQU8sQ0FBQztRQUM1RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxJQUFJLEtBQUssYUFBYSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsYUFBYSxDQUFDLENBQUM7UUFDdkYsTUFBTSxTQUFTLEdBQUcsR0FBRyxLQUFLLEtBQUssWUFBWSxjQUFjLEtBQUssNkNBQTZDLENBQUM7UUFDNUcsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzNGLENBQUM7SUFFUyxXQUFXLENBQUMsSUFBZ0I7UUFDcEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2pILE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbEMsT0FBTyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxXQUFXLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRVMsWUFBWSxDQUFDLEtBQW1CO1FBQ3hDLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUNvbmZpZywgVHJhbnNhY3Rpb25RdWVyeVBhcnQgfSBmcm9tICcuLi8uLi9wYXJ0cy9fbWV0YS9ncmFwaHFsLXF1ZXJ5LXBhcnQnO1xuaW1wb3J0IHsgb21pdEJ5LCBwaWNrLCBzbmFrZUNhc2UgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVNdXRhdGlvbkJ1aWxkZXI8RSBleHRlbmRzIHtpZDogc3RyaW5nfSA9IGFueT4ge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlnOiBUYWJsZUNvbmZpZykgeyB9XG5cbiAgYnVpbGQoZGF0YTogUGFydGlhbDxFPiAmIHsgaWQ6IHN0cmluZyB9LCBhbGlhcyA9ICd1cGRhdGUnKTogVHJhbnNhY3Rpb25RdWVyeVBhcnQge1xuICAgIGNvbnN0IG11dGF0aW9uTmFtZSA9IGB1cGRhdGVfJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9YDtcbiAgICBjb25zdCBvYmplY3QgPSB0aGlzLmJ1aWxkT2JqZWN0KGRhdGEpO1xuICAgIGNvbnN0IHZhcmlhYmxlRGVmaW5pdGlvbnMgPSBbYCQke2FsaWFzfUlkOiBTdHJpbmchYCwgYCQke2FsaWFzfU9iamVjdDogJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9X3NldF9pbnB1dCFgXTtcbiAgICBjb25zdCBxdWVyeVBhcnQgPSBgJHthbGlhc306ICR7bXV0YXRpb25OYW1lfSh3aGVyZToge2lkOiB7X2VxOiAkJHthbGlhc31JZH19IF9zZXQ6ICQke2FsaWFzfU9iamVjdCkgeyBhZmZlY3RlZF9yb3dzIHJldHVybmluZyB7IGlkIH0gfWA7XG4gICAgY29uc3QgdmFyaWFibGVzID0geyBbYCR7YWxpYXN9SWRgXTogZGF0YS5pZCwgW2Ake2FsaWFzfU9iamVjdGBdOiBvYmplY3QgfTtcbiAgICByZXR1cm4geyBxdWVyeVBhcnQsIHZhcmlhYmxlRGVmaW5pdGlvbnMsIHZhcmlhYmxlcywgb3BlcmF0aW9uTmFtZTogbXV0YXRpb25OYW1lLCBhbGlhcyB9O1xuICB9XG5cbiAgYnVpbGRNYW55KFxuICAgIGRhdGE6IFBhcnRpYWw8RT5bXSxcbiAgICBhbGlhcyA9ICd1cGRhdGVNYW55J1xuICApOiBUcmFuc2FjdGlvblF1ZXJ5UGFydCB7XG4gICAgY29uc3QgbXV0YXRpb25OYW1lID0gYHVwZGF0ZV8ke3RoaXMuY29uZmlnLnRhYmxlTmFtZX1fbWFueWA7XG4gICAgY29uc3Qgb2JqZWN0cyA9IHRoaXMuYnVpbGRPYmplY3RzKGRhdGEpO1xuICAgIGNvbnN0IHZhcmlhYmxlRGVmaW5pdGlvbnMgPSBbYCQke2FsaWFzfU9iamVjdHM6IFske3RoaXMuY29uZmlnLnRhYmxlTmFtZX1fdXBkYXRlcyFdIWBdO1xuICAgIGNvbnN0IHF1ZXJ5UGFydCA9IGAke2FsaWFzfTogJHttdXRhdGlvbk5hbWV9KHVwZGF0ZXM6ICQke2FsaWFzfU9iamVjdHMpIHsgYWZmZWN0ZWRfcm93cyByZXR1cm5pbmcgeyBpZCB9IH1gO1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHsgW2Ake2FsaWFzfU9iamVjdHNgXTogb2JqZWN0cyB9O1xuICAgIHJldHVybiB7IHF1ZXJ5UGFydCwgdmFyaWFibGVEZWZpbml0aW9ucywgdmFyaWFibGVzLCBvcGVyYXRpb25OYW1lOiBtdXRhdGlvbk5hbWUsIGFsaWFzIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRPYmplY3QoaXRlbTogUGFydGlhbDxFPik6IGFueSB7XG4gICAgY29uc3QgZmllbGRzID0gT2JqZWN0LmtleXMoaXRlbSkubWFwKHNuYWtlQ2FzZSkuZmlsdGVyKChmaWVsZCkgPT4gIVsnY3JlYXRlZF9hdCcsICd1cGRhdGVkX2F0J10uaW5jbHVkZXMoZmllbGQpKTtcbiAgICBjb25zdCBwaWNrZWQgPSBwaWNrKGl0ZW0sIGZpZWxkcyk7XG4gICAgcmV0dXJuIG9taXRCeShwaWNrZWQsICh2YWx1ZSkgPT4gdHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRPYmplY3RzKGl0ZW1zOiBQYXJ0aWFsPEU+W10pOiBhbnlbXSB7XG4gICAgcmV0dXJuIGl0ZW1zLm1hcCgoaXRlbSkgPT4gKHsgd2hlcmU6IHsgaWQ6IHsgX2VxOiBpdGVtLmlkIH0gfSwgX3NldDogdGhpcy5idWlsZE9iamVjdChpdGVtKSB9KSk7XG4gIH1cbn1cbiJdfQ==","import { CreateMutationBuilder } from \"./create.builder\";\nimport { UpdateMutationBuilder } from \"./update.builder\";\nimport { SaveMutationBuilder } from \"./save.builder\";\nimport { DeleteMutationBuilder } from \"./delete.builder\";\nexport class HasuraMutationBuilder {\n create;\n update;\n save;\n delete_;\n constructor(config) {\n this.create = new CreateMutationBuilder(config);\n this.update = new UpdateMutationBuilder(config);\n this.save = new SaveMutationBuilder(config);\n this.delete_ = new DeleteMutationBuilder(config);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRpb25zLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2hhc3VyYS9zcmMvbGliL2J1aWxkZXJzL3BhcnRzL211dGF0aW9ucy9tdXRhdGlvbnMuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd6RCxNQUFNLE9BQU8scUJBQXFCO0lBQ3ZCLE1BQU0sQ0FBMkI7SUFDakMsTUFBTSxDQUEyQjtJQUNqQyxJQUFJLENBQXlCO0lBQzdCLE9BQU8sQ0FBd0I7SUFFeEMsWUFBWSxNQUFtQjtRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUkscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUkscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3JlYXRlTXV0YXRpb25CdWlsZGVyIH0gZnJvbSBcIi4vY3JlYXRlLmJ1aWxkZXJcIjtcbmltcG9ydCB7IFVwZGF0ZU11dGF0aW9uQnVpbGRlciB9IGZyb20gXCIuL3VwZGF0ZS5idWlsZGVyXCI7XG5pbXBvcnQgeyBTYXZlTXV0YXRpb25CdWlsZGVyIH0gZnJvbSBcIi4vc2F2ZS5idWlsZGVyXCI7XG5pbXBvcnQgeyBEZWxldGVNdXRhdGlvbkJ1aWxkZXIgfSBmcm9tIFwiLi9kZWxldGUuYnVpbGRlclwiO1xuaW1wb3J0IHsgVGFibGVDb25maWcgfSBmcm9tIFwiLi4vX21ldGEvZ3JhcGhxbC1xdWVyeS1wYXJ0XCI7XG5cbmV4cG9ydCBjbGFzcyBIYXN1cmFNdXRhdGlvbkJ1aWxkZXI8RSBleHRlbmRzIHsgaWQ6IHN0cmluZyB9PiB7XG4gIHJlYWRvbmx5IGNyZWF0ZTogQ3JlYXRlTXV0YXRpb25CdWlsZGVyPEU+O1xuICByZWFkb25seSB1cGRhdGU6IFVwZGF0ZU11dGF0aW9uQnVpbGRlcjxFPjtcbiAgcmVhZG9ubHkgc2F2ZTogU2F2ZU11dGF0aW9uQnVpbGRlcjxFPjtcbiAgcmVhZG9ubHkgZGVsZXRlXzogRGVsZXRlTXV0YXRpb25CdWlsZGVyO1xuICBcbiAgY29uc3RydWN0b3IoY29uZmlnOiBUYWJsZUNvbmZpZykge1xuICAgIHRoaXMuY3JlYXRlID0gbmV3IENyZWF0ZU11dGF0aW9uQnVpbGRlcihjb25maWcpO1xuICAgIHRoaXMudXBkYXRlID0gbmV3IFVwZGF0ZU11dGF0aW9uQnVpbGRlcihjb25maWcpO1xuICAgIHRoaXMuc2F2ZSA9IG5ldyBTYXZlTXV0YXRpb25CdWlsZGVyKGNvbmZpZyk7XG4gICAgdGhpcy5kZWxldGVfID0gbmV3IERlbGV0ZU11dGF0aW9uQnVpbGRlcihjb25maWcpO1xuICB9XG59XG4iXX0=","import { HasuraMutationBuilder } from './mutations';\nimport { QueriesBuilder } from \"./queries\";\nexport class HasuraQueryPartsBuilder {\n mutations;\n queries;\n constructor(config) {\n this.mutations = new HasuraMutationBuilder(config);\n this.queries = new QueriesBuilder(config);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydHMuYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvaGFzdXJhL3NyYy9saWIvYnVpbGRlcnMvcGFydHMvcGFydHMuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUczQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLFNBQVMsQ0FBMkI7SUFDcEMsT0FBTyxDQUFvQjtJQUVwQyxZQUFZLE1BQW1CO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhc3VyYU11dGF0aW9uQnVpbGRlciB9IGZyb20gJy4vbXV0YXRpb25zJztcbmltcG9ydCB7IFF1ZXJpZXNCdWlsZGVyIH0gZnJvbSBcIi4vcXVlcmllc1wiO1xuaW1wb3J0IHsgVGFibGVDb25maWcgfSBmcm9tIFwiLi9fbWV0YS9ncmFwaHFsLXF1ZXJ5LXBhcnRcIjtcblxuZXhwb3J0IGNsYXNzIEhhc3VyYVF1ZXJ5UGFydHNCdWlsZGVyPEUgZXh0ZW5kcyB7IGlkOiBzdHJpbmcgfT4ge1xuICByZWFkb25seSBtdXRhdGlvbnM6IEhhc3VyYU11dGF0aW9uQnVpbGRlcjxFPjtcbiAgcmVhZG9ubHkgcXVlcmllczogUXVlcmllc0J1aWxkZXI8RT47XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBUYWJsZUNvbmZpZykge1xuICAgIHRoaXMubXV0YXRpb25zID0gbmV3IEhhc3VyYU11dGF0aW9uQnVpbGRlcihjb25maWcpO1xuICAgIHRoaXMucXVlcmllcyA9IG5ldyBRdWVyaWVzQnVpbGRlcihjb25maWcpO1xuICB9XG59XG4iXX0=","import { HasuraQueryPartsBuilder } from './parts/parts.builder';\nexport class HasuraQueryBuilder {\n parts;\n constructor(config) {\n this.parts = new HasuraQueryPartsBuilder(config);\n }\n buildQuery(part) {\n const operationNameStr = part.operationName ? `${part.operationName} ` : '';\n const variablesStr = part.variableDefinitions?.length ? `(${part.variableDefinitions.join(', ')}) ` : '';\n return `query ${operationNameStr}${variablesStr}{ ${part.queryPart} }`;\n }\n static buildMutation(part) {\n const operationNameStr = part.operationName ? `${part.operationName} ` : '';\n const variablesStr = part.variableDefinitions?.length ? `(${part.variableDefinitions.join(', ')}) ` : '';\n return `mutation ${operationNameStr}${variablesStr} { ${part.queryPart} }`;\n }\n buildMutation(part) {\n return HasuraQueryBuilder.buildMutation(part);\n }\n buildTransactionQuery(parts) {\n const operationName = `Transaction`;\n const variableDefinitions = parts.reduce((acc, m) => [...acc, ...m.variableDefinitions], []);\n const mutationParts = parts.map(m => m.queryPart);\n const query = `mutation ${operationName} (${variableDefinitions.join(', ')}) { ${mutationParts.join('\\n')} }`;\n const variables = parts.reduce((acc, m) => ({ ...acc, ...m.variables }), {});\n return { query, variables };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvaGFzdXJhL3NyYy9saWIvYnVpbGRlcnMvcXVlcnktYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVoRSxNQUFNLE9BQU8sa0JBQWtCO0lBQ3BCLEtBQUssQ0FBNEI7SUFFMUMsWUFBWSxNQUFtQjtRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUdELFVBQVUsQ0FBQyxJQUEwQjtRQUNuQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDNUUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6RyxPQUFPLFNBQVMsZ0JBQWdCLEdBQUcsWUFBWSxLQUFLLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQztJQUN6RSxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUEwQjtRQUM3QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDNUUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6RyxPQUFPLFlBQVksZ0JBQWdCLEdBQUcsWUFBWSxNQUFNLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQztJQUM3RSxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQTBCO1FBQ3RDLE9BQU8sa0JBQWtCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUE2QjtRQUNqRCxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDcEMsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLEVBQWMsQ0FBQyxDQUFDO1FBQ3pHLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEQsTUFBTSxLQUFLLEdBQUcsWUFBWSxhQUFhLEtBQU0sbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBRSxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNoSCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBeUIsQ0FBQyxDQUFDO1FBQ3BHLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGVDb25maWcsIFRyYW5zYWN0aW9uUXVlcnlQYXJ0IH0gZnJvbSAnLi9wYXJ0cy9fbWV0YS9ncmFwaHFsLXF1ZXJ5LXBhcnQnO1xuaW1wb3J0IHsgSGFzdXJhUXVlcnlQYXJ0c0J1aWxkZXIgfSBmcm9tICcuL3BhcnRzL3BhcnRzLmJ1aWxkZXInO1xuXG5leHBvcnQgY2xhc3MgSGFzdXJhUXVlcnlCdWlsZGVyPEUgZXh0ZW5kcyB7aWQ6IHN0cmluZ30+IHtcbiAgcmVhZG9ubHkgcGFydHM6IEhhc3VyYVF1ZXJ5UGFydHNCdWlsZGVyPEU+XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBUYWJsZUNvbmZpZykge1xuICAgIHRoaXMucGFydHMgPSBuZXcgSGFzdXJhUXVlcnlQYXJ0c0J1aWxkZXIoY29uZmlnKTtcbiAgfVxuICBcblxuICBidWlsZFF1ZXJ5KHBhcnQ6IFRyYW5zYWN0aW9uUXVlcnlQYXJ0KTogc3RyaW5nIHtcbiAgICBjb25zdCBvcGVyYXRpb25OYW1lU3RyID0gcGFydC5vcGVyYXRpb25OYW1lID8gYCR7cGFydC5vcGVyYXRpb25OYW1lfSBgIDogJyc7XG4gICAgY29uc3QgdmFyaWFibGVzU3RyID0gcGFydC52YXJpYWJsZURlZmluaXRpb25zPy5sZW5ndGggPyBgKCR7cGFydC52YXJpYWJsZURlZmluaXRpb25zLmpvaW4oJywgJyl9KSBgIDogJyc7XG4gICAgcmV0dXJuIGBxdWVyeSAke29wZXJhdGlvbk5hbWVTdHJ9JHt2YXJpYWJsZXNTdHJ9eyAke3BhcnQucXVlcnlQYXJ0fSB9YDtcbiAgfVxuXG4gIHN0YXRpYyBidWlsZE11dGF0aW9uKHBhcnQ6IFRyYW5zYWN0aW9uUXVlcnlQYXJ0KTogc3RyaW5nIHtcbiAgICBjb25zdCBvcGVyYXRpb25OYW1lU3RyID0gcGFydC5vcGVyYXRpb25OYW1lID8gYCR7cGFydC5vcGVyYXRpb25OYW1lfSBgIDogJyc7XG4gICAgY29uc3QgdmFyaWFibGVzU3RyID0gcGFydC52YXJpYWJsZURlZmluaXRpb25zPy5sZW5ndGggPyBgKCR7cGFydC52YXJpYWJsZURlZmluaXRpb25zLmpvaW4oJywgJyl9KSBgIDogJyc7XG4gICAgcmV0dXJuIGBtdXRhdGlvbiAke29wZXJhdGlvbk5hbWVTdHJ9JHt2YXJpYWJsZXNTdHJ9IHsgJHtwYXJ0LnF1ZXJ5UGFydH0gfWA7XG4gIH1cblxuICBidWlsZE11dGF0aW9uKHBhcnQ6IFRyYW5zYWN0aW9uUXVlcnlQYXJ0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gSGFzdXJhUXVlcnlCdWlsZGVyLmJ1aWxkTXV0YXRpb24ocGFydCk7XG4gIH1cblxuICBidWlsZFRyYW5zYWN0aW9uUXVlcnkocGFydHM6IFRyYW5zYWN0aW9uUXVlcnlQYXJ0W10pOiB7cXVlcnk6IHN0cmluZywgdmFyaWFibGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+fSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uTmFtZSA9IGBUcmFuc2FjdGlvbmA7XG4gICAgY29uc3QgdmFyaWFibGVEZWZpbml0aW9ucyA9IHBhcnRzLnJlZHVjZSgoYWNjLCBtKSA9PiBbLi4uYWNjLCAuLi5tLnZhcmlhYmxlRGVmaW5pdGlvbnNdLCBbXSBhcyBzdHJpbmdbXSk7XG4gICAgY29uc3QgbXV0YXRpb25QYXJ0cyA9IHBhcnRzLm1hcChtID0+IG0ucXVlcnlQYXJ0KTtcbiAgICBjb25zdCBxdWVyeSA9IGBtdXRhdGlvbiAke29wZXJhdGlvbk5hbWV9ICgkeyB2YXJpYWJsZURlZmluaXRpb25zLmpvaW4oJywgJykgfSkgeyAke211dGF0aW9uUGFydHMuam9pbignXFxuJyl9IH1gO1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHBhcnRzLnJlZHVjZSgoYWNjLCBtKSA9PiAoeyAuLi5hY2MsIC4uLm0udmFyaWFibGVzIH0pLCB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KTtcbiAgICByZXR1cm4geyBxdWVyeSwgdmFyaWFibGVzIH07XG4gIH1cbn1cbiJdfQ==","import { Injectable, inject } from \"@angular/core\";\nimport { gql } from \"apollo-angular\";\nimport { HASURA_CONFIG } from \"./hasura.config\";\nimport { lastValueFrom, switchMap } from \"rxjs\";\nimport { makeSubscription } from \"./builders/parts/queries\";\nimport { HasuraQueryBuilder } from \"./builders\";\nimport { ApolloClientManagerService } from \"./apollo/client-manager\";\nimport { GRAPHQL_HEADERS } from \"./hasura.di\";\nimport * as i0 from \"@angular/core\";\nexport class HasuraService {\n getHeaders = inject(GRAPHQL_HEADERS);\n apolloClientManager = inject(ApolloClientManagerService);\n config = inject(HASURA_CONFIG);\n getApolloClient() {\n return this.apolloClientManager.getClient(this.config.url, this.getHeaders);\n }\n subscribe({ query, variables, fetchPolicy = 'network-only', context }) {\n return this.getApolloClient().pipe(switchMap((client) => client.subscribe({\n query: makeSubscription(query),\n variables: variables,\n fetchPolicy: fetchPolicy,\n context\n })));\n }\n async mutate(...args) {\n const client = await lastValueFrom(this.getApolloClient());\n return lastValueFrom(client.mutate(...args)).catch((error) => {\n console.error(error.graphQLErrors);\n throw error;\n });\n }\n async mutateByQueryPart(part) {\n const mutation = HasuraQueryBuilder.buildMutation(part);\n return this.mutate({\n mutation: gql `${mutation}`,\n variables: part.variables,\n }).then((res) => {\n return res.data[part?.alias ?? part.operationName];\n });\n }\n async query(...args) {\n const client = await lastValueFrom(this.getApolloClient());\n // fetchPolicyが指定されていない場合はnetwork-onlyをデフォルトに\n const [options] = args;\n const queryOptions = {\n ...options,\n fetchPolicy: options?.fetchPolicy || 'network-only'\n };\n return lastValueFrom(client.query(queryOptions)).catch((error) => {\n console.error('[HasuraService] query error:', error);\n throw error;\n });\n }\n // Observable版のqueryメソッド(HTTP経由)\n watchQuery(options) {\n const { query, variables, fetchPolicy = 'no-cache' } = options;\n return this.getApolloClient().pipe(switchMap((client) => client.watchQuery({\n query,\n variables,\n fetchPolicy\n }).valueChanges));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: HasuraService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: HasuraService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: HasuraService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2hhc3VyYS9zcmMvbGliL2hhc3VyYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGFBQWEsRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUF3QixNQUFNLFlBQVksQ0FBQztBQUN0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUk5QyxNQUFNLE9BQU8sYUFBYTtJQUNMLFVBQVUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDckMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDekQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUVsRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsU0FBUyxDQUdQLEVBQ0EsS0FBSyxFQUNMLFNBQVMsRUFDVCxXQUFXLEdBQUcsY0FBYyxFQUM1QixPQUFPLEVBTVI7UUFDQyxPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQ2hDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBZ0I7WUFDcEQsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUM5QixTQUFTLEVBQUUsU0FBUztZQUNwQixXQUFXLEVBQUUsV0FBVztZQUN4QixPQUFPO1NBQ1IsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFVLEdBQUcsSUFBc0M7UUFDN0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDM0QsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDM0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbkMsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQVUsSUFBMEI7UUFDekQsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBSTtZQUNwQixRQUFRLEVBQUUsR0FBRyxDQUFBLEdBQUcsUUFBUSxFQUFFO1lBQzFCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztTQUNuQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDMUIsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQ3BELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQVUsR0FBRyxJQUFxQztRQUMzRCxNQUFNLE1BQU0sR0FBRyxNQUFNLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUMzRCw2Q0FBNkM7UUFDN0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN2QixNQUFNLFlBQVksR0FBRztZQUNuQixHQUFHLE9BQU87WUFDVixXQUFXLEVBQUUsT0FBTyxFQUFFLFdBQVcsSUFBSSxjQUFjO1NBQ3BELENBQUM7UUFDRixPQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDL0QsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNyRCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUMsQ0FBa0MsQ0FBQztJQUN0QyxDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLFVBQVUsQ0FBc0UsT0FJL0U7UUFDQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEdBQUcsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FDaEMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1lBQ3RDLEtBQUs7WUFDTCxTQUFTO1lBQ1QsV0FBVztTQUNMLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FDeEIsQ0FBQztJQUNKLENBQUM7dUdBL0VVLGFBQWE7MkdBQWIsYUFBYSxjQURBLE1BQU07OzJGQUNuQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBcG9sbG9CYXNlLCBncWwgfSBmcm9tIFwiYXBvbGxvLWFuZ3VsYXJcIjtcbmltcG9ydCB7IEhBU1VSQV9DT05GSUcgfSBmcm9tIFwiLi9oYXN1cmEuY29uZmlnXCI7XG5pbXBvcnQgeyBGZXRjaFBvbGljeSwgRmV0Y2hSZXN1bHQsIE9wZXJhdGlvblZhcmlhYmxlcywgQXBvbGxvUXVlcnlSZXN1bHQgfSBmcm9tIFwiQGFwb2xsby9jbGllbnQvY29yZVwiO1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgc3dpdGNoTWFwIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG1ha2VTdWJzY3JpcHRpb24gfSBmcm9tIFwiLi9idWlsZGVycy9wYXJ0cy9xdWVyaWVzXCI7XG5pbXBvcnQgeyBIYXN1cmFRdWVyeUJ1aWxkZXIsIFRyYW5zYWN0aW9uUXVlcnlQYXJ0IH0gZnJvbSBcIi4vYnVpbGRlcnNcIjtcbmltcG9ydCB7IEFwb2xsb0NsaWVudE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSBcIi4vYXBvbGxvL2NsaWVudC1tYW5hZ2VyXCI7XG5pbXBvcnQgeyBHUkFQSFFMX0hFQURFUlMgfSBmcm9tIFwiLi9oYXN1cmEuZGlcIjtcblxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEhhc3VyYVNlcnZpY2Uge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ2V0SGVhZGVycyA9IGluamVjdChHUkFQSFFMX0hFQURFUlMpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBvbGxvQ2xpZW50TWFuYWdlciA9IGluamVjdChBcG9sbG9DbGllbnRNYW5hZ2VyU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWcgPSBpbmplY3QoSEFTVVJBX0NPTkZJRyk7XG5cbiAgZ2V0QXBvbGxvQ2xpZW50KCk6IE9ic2VydmFibGU8QXBvbGxvQmFzZTxhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuYXBvbGxvQ2xpZW50TWFuYWdlci5nZXRDbGllbnQodGhpcy5jb25maWcudXJsLCB0aGlzLmdldEhlYWRlcnMpO1xuICB9XG5cbiAgc3Vic2NyaWJlPFxuICAgIFQgPSBhbnksXG4gICAgVFZhcmlhYmxlcyBleHRlbmRzIE9wZXJhdGlvblZhcmlhYmxlcyA9IE9wZXJhdGlvblZhcmlhYmxlc1xuICA+KHtcbiAgICBxdWVyeSxcbiAgICB2YXJpYWJsZXMsXG4gICAgZmV0Y2hQb2xpY3kgPSAnbmV0d29yay1vbmx5JyxcbiAgICBjb250ZXh0XG4gIH06IHtcbiAgICBxdWVyeTogYW55LFxuICAgIHZhcmlhYmxlczogVFZhcmlhYmxlcyxcbiAgICBmZXRjaFBvbGljeT86IEZldGNoUG9saWN5LFxuICAgIGNvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB9KTogT2JzZXJ2YWJsZTxGZXRjaFJlc3VsdDxUPj4ge1xuICAgIHJldHVybiB0aGlzLmdldEFwb2xsb0NsaWVudCgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGNsaWVudCkgPT4gY2xpZW50LnN1YnNjcmliZTxULCBUVmFyaWFibGVzPih7XG4gICAgICAgIHF1ZXJ5OiBtYWtlU3Vic2NyaXB0aW9uKHF1ZXJ5KSxcbiAgICAgICAgdmFyaWFibGVzOiB2YXJpYWJsZXMsXG4gICAgICAgIGZldGNoUG9saWN5OiBmZXRjaFBvbGljeSxcbiAgICAgICAgY29udGV4dFxuICAgICAgfSkpLFxuICAgICk7XG4gIH1cblxuICBhc3luYyBtdXRhdGU8VCA9IGFueT4oLi4uYXJnczogUGFyYW1ldGVyczxBcG9sbG9CYXNlWydtdXRhdGUnXT4pIHtcbiAgICBjb25zdCBjbGllbnQgPSBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuZ2V0QXBvbGxvQ2xpZW50KCkpO1xuICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKGNsaWVudC5tdXRhdGUoLi4uYXJncykpLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvci5ncmFwaFFMRXJyb3JzKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbXV0YXRlQnlRdWVyeVBhcnQ8VCA9IGFueT4ocGFydDogVHJhbnNhY3Rpb25RdWVyeVBhcnQpOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBtdXRhdGlvbiA9IEhhc3VyYVF1ZXJ5QnVpbGRlci5idWlsZE11dGF0aW9uKHBhcnQpO1xuICAgIHJldHVybiB0aGlzLm11dGF0ZTxUPih7XG4gICAgICBtdXRhdGlvbjogZ3FsYCR7bXV0YXRpb259YCxcbiAgICAgIHZhcmlhYmxlczogcGFydC52YXJpYWJsZXMsXG4gICAgfSBhcyBhbnkpLnRoZW4oKHJlczogYW55KSA9PiB7XG4gICAgICByZXR1cm4gcmVzLmRhdGFbcGFydD8uYWxpYXMgPz8gcGFydC5vcGVyYXRpb25OYW1lXVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgcXVlcnk8VCA9IGFueT4oLi4uYXJnczogUGFyYW1ldGVyczxBcG9sbG9CYXNlWydxdWVyeSddPik6IFByb21pc2U8QXBvbGxvUXVlcnlSZXN1bHQ8VD4+IHtcbiAgICBjb25zdCBjbGllbnQgPSBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuZ2V0QXBvbGxvQ2xpZW50KCkpO1xuICAgIC8vIGZldGNoUG9saWN544GM5oyH5a6a44GV44KM44Gm44GE44Gq44GE5aC05ZCI44GvbmV0d29yay1vbmx544KS44OH44OV44Kp44Or44OI44GrXG4gICAgY29uc3QgW29wdGlvbnNdID0gYXJncztcbiAgICBjb25zdCBxdWVyeU9wdGlvbnMgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgZmV0Y2hQb2xpY3k6IG9wdGlvbnM/LmZldGNoUG9saWN5IHx8ICduZXR3b3JrLW9ubHknXG4gICAgfTtcbiAgICByZXR1cm4gbGFzdFZhbHVlRnJvbShjbGllbnQucXVlcnkocXVlcnlPcHRpb25zKSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbSGFzdXJhU2VydmljZV0gcXVlcnkgZXJyb3I6JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSkgYXMgUHJvbWlzZTxBcG9sbG9RdWVyeVJlc3VsdDxUPj47XG4gIH1cblxuICAvLyBPYnNlcnZhYmxl54mI44GucXVlcnnjg6Hjgr3jg4Pjg4nvvIhIVFRQ57WM55Sx77yJXG4gIHdhdGNoUXVlcnk8VCA9IGFueSwgVFZhcmlhYmxlcyBleHRlbmRzIE9wZXJhdGlvblZhcmlhYmxlcyA9IE9wZXJhdGlvblZhcmlhYmxlcz4ob3B0aW9uczoge1xuICAgIHF1ZXJ5OiBhbnksXG4gICAgdmFyaWFibGVzPzogVFZhcmlhYmxlcyxcbiAgICBmZXRjaFBvbGljeT86IEZldGNoUG9saWN5XG4gIH0pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHsgcXVlcnksIHZhcmlhYmxlcywgZmV0Y2hQb2xpY3kgPSAnbm8tY2FjaGUnIH0gPSBvcHRpb25zO1xuICAgIHJldHVybiB0aGlzLmdldEFwb2xsb0NsaWVudCgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGNsaWVudCkgPT4gY2xpZW50LndhdGNoUXVlcnkoe1xuICAgICAgICBxdWVyeSxcbiAgICAgICAgdmFyaWFibGVzLFxuICAgICAgICBmZXRjaFBvbGljeVxuICAgICAgfSBhcyBhbnkpLnZhbHVlQ2hhbmdlcylcbiAgICApO1xuICB9XG59XG4iXX0=","import { Injectable, inject } from \"@angular/core\";\nimport { Repository } from \"@nx-ddd/common/domain\";\nimport { gql } from \"@apollo/client/core\";\nimport { map } from \"rxjs\";\nimport { getConverter } from \"./converter\";\nimport { HasuraService } from \"./hasura.service\";\nimport { HasuraQueryBuilder } from \"./builders\";\nimport { getFields, getTableName } from \"./decorators\";\nimport * as i0 from \"@angular/core\";\nexport class _HasuraRepository extends Repository {\n get pkey() {\n return `${this.tableName}_pkey`;\n }\n getQueryBuilder() {\n return new HasuraQueryBuilder({ tableName: this.tableName, pk: this.pkey, columns: this.updateColumns });\n }\n async get(params) {\n const part = this.getQueryBuilder().parts.queries.get.build({ id: params.id });\n return this.hasura.query({\n query: gql `${this.getQueryBuilder().buildQuery(part)}`,\n variables: part.variables,\n fetchPolicy: 'network-only',\n })\n .then((res) => this.converter.fromHasura(res.data[part.operationName]));\n }\n async list() {\n const part = this.getQueryBuilder().parts.queries.get.buildMany();\n return this.hasura.query({\n query: gql `${this.getQueryBuilder().buildQuery(part)}`,\n fetchPolicy: 'network-only'\n }).then((res) => this.converter.fromHasuraMany(res.data[part.operationName]));\n }\n listChanges() {\n const part = this.getQueryBuilder().parts.queries.get.buildMany();\n const query = this.getQueryBuilder().buildQuery(part);\n return this.hasura.subscribe({ query: gql `${query}`, variables: {} }).pipe(map((res) => this.converter.fromHasuraMany(res.data[part.operationName])));\n }\n async create(data) {\n const converted = this.converter.toHasura(data);\n const part = this.getQueryBuilder().parts.mutations.create.build(converted);\n return this.hasura.mutateByQueryPart(part).then(result => {\n return this.converter.fromHasura(result.returning[0]);\n });\n }\n async createMany(data) {\n const items = this.converter.toHasuraMany(data);\n const part = this.getQueryBuilder().parts.mutations.create.buildMany(items);\n return this.hasura.mutateByQueryPart(part).then((result) => {\n return this.converter.fromHasuraMany(result.returning);\n });\n }\n async update(data) {\n const item = this.converter.toHasura(data);\n const part = this.getQueryBuilder().parts.mutations.update.build(item);\n return this.hasura.mutateByQueryPart(part).then(() => { });\n }\n async updateMany(data) {\n const items = this.converter.toHasuraMany(data);\n const part = this.getQueryBuilder().parts.mutations.update.buildMany(items);\n return this.hasura.mutateByQueryPart(part).then((result) => result.affected_rows).then(() => { });\n }\n async delete(params) {\n const part = this.getQueryBuilder().parts.mutations.delete_.build(params);\n return this.hasura.mutateByQueryPart(part).then(() => { });\n }\n async deleteMany(params) {\n const part = this.getQueryBuilder().parts.mutations.delete_.buildMany(params);\n return this.hasura.mutateByQueryPart(part).then((result) => result.affected_rows);\n }\n async deleteAll() {\n const part = this.getQueryBuilder().parts.mutations.delete_.buildAll();\n console.debug('part:', part);\n return this.hasura.mutateByQueryPart(part).then(() => { });\n }\n async save(data) {\n const item = this.converter.toHasura(data);\n const part = this.getQueryBuilder().parts.mutations.save.build(item);\n return this.hasura.mutateByQueryPart(part).then((res) => res.returning[0]);\n }\n async saveMany(entities) {\n const items = this.converter.toHasuraMany(entities);\n const part = this.getQueryBuilder().parts.mutations.save.buildMany(items);\n return this.hasura.mutateByQueryPart(part).then(() => { });\n }\n}\nexport class HasuraRepository extends _HasuraRepository {\n hasura = inject(HasuraService);\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: HasuraRepository, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: HasuraRepository });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: HasuraRepository, decorators: [{\n type: Injectable\n }] });\nexport function getHasuraRepository(Entity, deps) {\n class Repository extends _HasuraRepository {\n hasura = deps.hasura;\n converter = getConverter(Entity);\n tableName = getTableName(Entity);\n updateColumns = getFields(Entity, { case: 'snake' });\n }\n return new Repository();\n}\nexport function injectHasuraRepository(Entity) {\n return getHasuraRepository(Entity, { hasura: inject(HasuraService) });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLnJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2hhc3VyYS9zcmMvbGliL2hhc3VyYS5yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQVEsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUMsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFtQixNQUFNLGFBQWEsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUV2RCxNQUFNLE9BQWdCLGlCQUEwQyxTQUFRLFVBQWE7SUFNbkYsSUFBSSxJQUFJO1FBQ04sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLE9BQU8sQ0FBQztJQUNsQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFvQjtRQUM1QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUMsRUFB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MUIsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FBMkIsTUFBZTtJQUM5RSxPQUFPLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUmVwb3NpdG9yeSwgVHlwZSB9IGZyb20gXCJAbngtZGRkL2NvbW1vbi9kb21haW5cIjtcbmltcG9ydCB7IGdxbCB9IGZyb20gXCJAYXBvbGxvL2NsaWVudC9jb3JlXCI7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgZ2V0Q29udmVydGVyLCBIYXN1cmFDb252ZXJ0ZXIgfSBmcm9tIFwiLi9jb252ZXJ0ZXJcIjtcbmltcG9ydCB7IEhhc3VyYVNlcnZpY2UgfSBmcm9tIFwiLi9oYXN1cmEuc2VydmljZVwiO1xuaW1wb3J0IHsgSGFzdXJhUXVlcnlCdWlsZGVyIH0gZnJvbSBcIi4vYnVpbGRlcnNcIjtcbmltcG9ydCB7IGdldEZpZWxkcywgZ2V0VGFibGVOYW1lIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgX0hhc3VyYVJlcG9zaXRvcnk8RSBleHRlbmRzIHtpZDogc3RyaW5nfT4gZXh0ZW5kcyBSZXBvc2l0b3J5PEU+IHtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGhhc3VyYTogSGFzdXJhU2VydmljZTtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNvbnZlcnRlcjogSGFzdXJhQ29udmVydGVyPEU+O1xuICByZWFkb25seSBhYnN0cmFjdCB1cGRhdGVDb2x1bW5zOiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgYWJzdHJhY3QgdGFibGVOYW1lOiBzdHJpbmc7XG5cbiAgZ2V0IHBrZXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy50YWJsZU5hbWV9X3BrZXlgO1xuICB9XG5cbiAgZ2V0UXVlcnlCdWlsZGVyKCkge1xuICAgIHJldHVybiBuZXcgSGFzdXJhUXVlcnlCdWlsZGVyKHsgdGFibGVOYW1lOiB0aGlzLnRhYmxlTmFtZSwgcGs6IHRoaXMucGtleSwgY29sdW1uczogdGhpcy51cGRhdGVDb2x1bW5zIH0pO1xuICB9XG5cbiAgYXN5bmMgZ2V0KHBhcmFtczoge2lkOiBzdHJpbmd9KSB7XG4gICAgY29uc3QgcGFydCA9IHRoaXMuZ2V0UXVlcnlCdWlsZGVyKCkucGFydHMucXVlcmllcy5nZXQuYnVpbGQoe2lkOiBwYXJhbXMuaWR9KTtcbiAgICByZXR1cm4gdGhpcy5oYXN1cmEucXVlcnkoe1xuICAgICAgcXVlcnk6IGdxbGAke3RoaXMuZ2V0UXVlcnlCdWlsZGVyKCkuYnVpbGRRdWVyeShwYXJ0KX1gLFxuICAgICAgdmFyaWFibGVzOiBwYXJ0LnZhcmlhYmxlcyxcbiAgICAgIGZldGNoUG9saWN5OiAnbmV0d29yay1vbmx5JyxcbiAgICB9IGFzIGFueSlcbiAgICAgIC50aGVuKChyZXM6IGFueSkgPT4gdGhpcy5jb252ZXJ0ZXIuZnJvbUhhc3VyYShyZXMuZGF0YVtwYXJ0Lm9wZXJhdGlvbk5hbWVdKSk7XG4gIH1cblxuICBhc3luYyBsaXN0KCk6IFByb21pc2U8RVtdPiB7XG4gICAgY29uc3QgcGFydCA9IHRoaXMuZ2V0UXVlcnlCdWlsZGVyKCkucGFydHMucXVlcmllcy5nZXQuYnVpbGRNYW55KCk7XG4gICAgcmV0dXJuIHRoaXMuaGFzdXJhLnF1ZXJ5KHtcbiAgICAgIHF1ZXJ5OiBncWxgJHt0aGlzLmdldFF1ZXJ5QnVpbGRlcigpLmJ1aWxkUXVlcnkocGFydCl9YCxcbiAgICAgIGZldGNoUG9saWN5OiAnbmV0d29yay1vbmx5J1xuICAgIH0gYXMgYW55KS50aGVuKChyZXM6IGFueSkgPT4gdGhpcy5jb252ZXJ0ZXIuZnJvbUhhc3VyYU1hbnkocmVzLmRhdGFbcGFydC5vcGVyYXRpb25OYW1lXSkpO1xuICB9XG5cbiAgbGlzdENoYW5nZXMoKTogT2JzZXJ2YWJsZTxFW10+IHtcbiAgICBjb25zdCBwYXJ0ID0gdGhpcy5nZXRRdWVyeUJ1aWxkZXIoKS5wYXJ0cy5xdWVyaWVzLmdldC5idWlsZE1hbnkoKTtcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMuZ2V0UXVlcnlCdWlsZGVyKCkuYnVpbGRRdWVyeShwYXJ0KTtcbiAgICByZXR1cm4gdGhpcy5oYXN1cmEuc3Vic2NyaWJlKHsgcXVlcnk6IGdxbGAke3F1ZXJ5fWAsIHZhcmlhYmxlczoge30gfSkucGlwZShcbiAgICAgIG1hcCgocmVzOiBhbnkpID0+IHRoaXMuY29udmVydGVyLmZyb21IYXN1cmFNYW55KHJlcy5kYXRhW3BhcnQub3BlcmF0aW9uTmFtZV0pKSxcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlKGRhdGE6IE9taXQ8RSwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+ICYgUGFydGlhbDxQaWNrPEUsICdpZCc+Pik6IFByb21pc2U8RT4ge1xuICAgIGNvbnN0IGNvbnZlcnRlZCA9IHRoaXMuY29udmVydGVyLnRvSGFzdXJhKGRhdGEgYXMgRSk7XG4gICAgY29uc3QgcGFydCA9IHRoaXMuZ2V0UXVlcnlCdWlsZGVyKCkucGFydHMubXV0YXRpb25zLmNyZWF0ZS5idWlsZChjb252ZXJ0ZWQgYXMgYW55KTtcbiAgICByZXR1cm4gdGhpcy5oYXN1cmEubXV0YXRlQnlRdWVyeVBhcnQocGFydCkudGhlbihyZXN1bHQgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuY29udmVydGVyLmZyb21IYXN1cmEocmVzdWx0LnJldHVybmluZ1swXSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBjcmVhdGVNYW55KGRhdGE6IE9taXQ8RSwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+W10pOiBQcm9taXNlPEVbXT4ge1xuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5jb252ZXJ0ZXIudG9IYXN1cmFNYW55KGRhdGEgYXMgRVtdKTtcbiAgICBjb25zdCBwYXJ0ID0gdGhpcy5nZXRRdWVyeUJ1aWxkZXIoKS5wYXJ0cy5tdXRhdGlvbnMuY3JlYXRlLmJ1aWxkTWFueShpdGVtcyBhcyBhbnlbXSk7XG4gICAgcmV0dXJuIHRoaXMuaGFzdXJhLm11dGF0ZUJ5UXVlcnlQYXJ0KHBhcnQpLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuY29udmVydGVyLmZyb21IYXN1cmFNYW55KHJlc3VsdC5yZXR1cm5pbmcpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlKGRhdGE6IFBhcnRpYWw8RT4gJiB7aWQ6IHN0cmluZ30pOiBQcm9taXNlPHZvaWQ+e1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmNvbnZlcnRlci50b0hhc3VyYShkYXRhIGFzIEUpO1xuICAgIGNvbnN0IHBhcnQgPSB0aGlzLmdldFF1ZXJ5QnVpbGRlcigpLnBhcnRzLm11dGF0aW9ucy51cGRhdGUuYnVpbGQoaXRlbSBhcyBhbnkpO1xuICAgIHJldHVybiB0aGlzLmhhc3VyYS5tdXRhdGVCeVF1ZXJ5UGFydChwYXJ0KS50aGVuKCgpID0+IHt9KTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZU1hbnkoZGF0YTogUGFydGlhbDxFPltdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmNvbnZlcnRlci50b0hhc3VyYU1hbnkoZGF0YSBhcyBFW10pO1xuICAgIGNvbnN0IHBhcnQgPSB0aGlzLmdldFF1ZXJ5QnVpbGRlcigpLnBhcnRzLm11dGF0aW9ucy51cGRhdGUuYnVpbGRNYW55KGl0ZW1zIGFzIGFueVtdKTtcbiAgICByZXR1cm4gdGhpcy5oYXN1cmEubXV0YXRlQnlRdWVyeVBhcnQocGFydCkudGhlbigocmVzdWx0KSA9PiByZXN1bHQuYWZmZWN0ZWRfcm93cykudGhlbigoKSA9PiB7fSk7XG4gIH1cblxuICBhc3luYyBkZWxldGUocGFyYW1zOiB7aWQ6IHN0cmluZ30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwYXJ0ID0gdGhpcy5nZXRRdWVyeUJ1aWxkZXIoKS5wYXJ0cy5tdXRhdGlvbnMuZGVsZXRlXy5idWlsZChwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmhhc3VyYS5tdXRhdGVCeVF1ZXJ5UGFydChwYXJ0KS50aGVuKCgpID0+IHt9KTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZU1hbnkocGFyYW1zOiB7aWQ6IHN0cmluZ31bXSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3QgcGFydCA9IHRoaXMuZ2V0UXVlcnlCdWlsZGVyKCkucGFydHMubXV0YXRpb25zLmRlbGV0ZV8uYnVpbGRNYW55KHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaGFzdXJhLm11dGF0ZUJ5UXVlcnlQYXJ0KHBhcnQpLnRoZW4oKHJlc3VsdCkgPT4gcmVzdWx0LmFmZmVjdGVkX3Jvd3MpO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlQWxsKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHBhcnQgPSB0aGlzLmdldFF1ZXJ5QnVpbGRlcigpLnBhcnRzLm11dGF0aW9ucy5kZWxldGVfLmJ1aWxkQWxsKCk7XG4gICAgY29uc29sZS5kZWJ1ZygncGFydDonLCBwYXJ0KTtcbiAgICByZXR1cm4gdGhpcy5oYXN1cmEubXV0YXRlQnlRdWVyeVBhcnQocGFydCkudGhlbigoKSA9PiB7fSk7XG4gIH1cblxuICBhc3luYyBzYXZlKGRhdGE6IFBhcnRpYWw8RT4pIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5jb252ZXJ0ZXIudG9IYXN1cmEoZGF0YSBhcyBFKTtcbiAgICBjb25zdCBwYXJ0ID0gdGhpcy5nZXRRdWVyeUJ1aWxkZXIoKS5wYXJ0cy5tdXRhdGlvbnMuc2F2ZS5idWlsZChpdGVtIGFzIGFueSk7XG4gICAgcmV0dXJuIHRoaXMuaGFzdXJhLm11dGF0ZUJ5UXVlcnlQYXJ0KHBhcnQpLnRoZW4oKHJlcykgPT4gcmVzLnJldHVybmluZ1swXSk7XG4gIH1cblxuICBhc3luYyBzYXZlTWFueShlbnRpdGllczogRVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmNvbnZlcnRlci50b0hhc3VyYU1hbnkoZW50aXRpZXMgYXMgRVtdKTtcbiAgICBjb25zdCBwYXJ0ID0gdGhpcy5nZXRRdWVyeUJ1aWxkZXIoKS5wYXJ0cy5tdXRhdGlvbnMuc2F2ZS5idWlsZE1hbnkoaXRlbXMgYXMgYW55W10pO1xuICAgIHJldHVybiB0aGlzLmhhc3VyYS5tdXRhdGVCeVF1ZXJ5UGFydChwYXJ0KS50aGVuKCgpID0+IHt9KTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSGFzdXJhUmVwb3NpdG9yeTxFIGV4dGVuZHMge2lkOiBzdHJpbmd9PiBleHRlbmRzIF9IYXN1cmFSZXBvc2l0b3J5PEU+IHtcbiAgcHJvdGVjdGVkIGhhc3VyYSA9IGluamVjdChIYXN1cmFTZXJ2aWNlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEhhc3VyYVJlcG9zaXRvcnk8RSBleHRlbmRzIHsgaWQ6IHN0cmluZyB9PihFbnRpdHk6IFR5cGU8RT4sIGRlcHM6IHtoYXN1cmE6IEhhc3VyYVNlcnZpY2V9KTogX0hhc3VyYVJlcG9zaXRvcnk8RT4ge1xuICBjbGFzcyBSZXBvc2l0b3J5IGV4dGVuZHMgX0hhc3VyYVJlcG9zaXRvcnk8RT4ge1xuICAgIHByb3RlY3RlZCBoYXN1cmEgPSBkZXBzLmhhc3VyYTtcbiAgICBwcm90ZWN0ZWQgY29udmVydGVyID0gZ2V0Q29udmVydGVyPEU+KEVudGl0eSk7XG4gICAgcmVhZG9ubHkgdGFibGVOYW1lID0gZ2V0VGFibGVOYW1lKEVudGl0eSk7XG4gICAgcmVhZG9ubHkgdXBkYXRlQ29sdW1ucyA9IGdldEZpZWxkcyhFbnRpdHksIHsgY2FzZTogJ3NuYWtlJyB9KTtcbiAgfVxuICByZXR1cm4gbmV3IFJlcG9zaXRvcnkoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEhhc3VyYVJlcG9zaXRvcnk8RSBleHRlbmRzIHsgaWQ6IHN0cmluZyB9PihFbnRpdHk6IFR5cGU8RT4pOiBfSGFzdXJhUmVwb3NpdG9yeTxFPiB7XG4gIHJldHVybiBnZXRIYXN1cmFSZXBvc2l0b3J5KEVudGl0eSwgeyBoYXN1cmE6IGluamVjdChIYXN1cmFTZXJ2aWNlKSB9KTtcbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibngtZGRkLWhhc3VyYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvaGFzdXJhL3NyYy9saWIvbngtZGRkLWhhc3VyYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["ApolloLinkService","camelCase","typeConverters.toTimestamp","typeConverters.toDate","typeConverters.toNumber","typeConverters.toHasuraLocation","typeConverters.fromHasuraLocation","InMemoryCache","gql"],"mappings":"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"}
1
+ {"version":3,"file":"nx-ddd-hasura.mjs","sources":["../../../../../packages/@nx-ddd/hasura/src/lib/apollo/multi/multi.service.ts","../../../../../packages/@nx-ddd/hasura/src/lib/apollo/link/links.ts","../../../../../packages/@nx-ddd/hasura/src/lib/apollo/link/link.service.ts","../../../../../packages/@nx-ddd/hasura/src/lib/apollo/client-manager/client-manager.service.ts","../../../../../packages/@nx-ddd/hasura/src/lib/decorators/decorators.ts","../../../../../packages/@nx-ddd/hasura/src/lib/converter/type-converters.ts","../../../../../packages/@nx-ddd/hasura/src/lib/converter/from-hasura.ts","../../../../../packages/@nx-ddd/hasura/src/lib/converter/case-converters.ts","../../../../../packages/@nx-ddd/hasura/src/lib/converter/to-hasura.ts","../../../../../packages/@nx-ddd/hasura/src/lib/converter/converter.ts","../../../../../packages/@nx-ddd/hasura/src/lib/hasura.interceptor.ts","../../../../../packages/@nx-ddd/hasura/src/lib/hasura.config.ts","../../../../../packages/@nx-ddd/hasura/src/lib/hasura.di.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/queries/get.builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/queries/queries.builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/mutations/create.builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/mutations/delete.builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/mutations/save.builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/mutations/update.builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/mutations/mutations.builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/parts.builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/query-builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/hasura.service.ts","../../../../../packages/@nx-ddd/hasura/src/lib/hasura.repository.ts","../../../../../packages/@nx-ddd/hasura/src/lib/nx-ddd-hasura.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { InMemoryCache } from '@apollo/client/cache';\nimport { ApolloClient } from '@apollo/client/core';\nimport { makeDI } from '@nx-ddd/core';\nimport { ApolloLinkService, GetHeaders } from '@nx-ddd/hasura/apollo/link';\nimport { Apollo, ApolloBase } from 'apollo-angular';\nimport { Observable } from 'rxjs';\nimport { HasuraConfig } from '../../hasura.config';\n\n/** @deprecated use ApolloClientManagerService instead */\n@Injectable({providedIn: 'root'})\nexport class ApolloMultiService {\n readonly apollo = inject(Apollo);\n protected readonly linkService = inject(ApolloLinkService);\n\n protected createClient(name: string, baseUrl: string, getHeaders: GetHeaders) {\n this.apollo.removeClient(name);\n this.apollo.createNamed(name, {\n link: this.linkService.createLink(baseUrl, getHeaders),\n cache: new InMemoryCache()\n });\n }\n\n getClient(endpoint: string, getHeaders: GetHeaders): ApolloBase {\n const name = endpoint;\n let client = this.apollo.use(name);\n console.debug('[ApolloMultiService] getClient:', name);\n if (!client) {\n this.createClient(name, endpoint, getHeaders);\n client = this.apollo.use(name);\n }\n return client;\n }\n}\n\n\nexport type GetApolloClient<E extends {id: string}> = (config: HasuraConfig) => ApolloClient | Promise<ApolloClient> | Observable<ApolloClient>;\nexport const GET_APOLLO_CLIENT = makeDI<GetApolloClient<any>>('GET_APOLLO_CLIENT');","import { distinctUntilChanged, filter, from, isObservable, lastValueFrom, Observable, of, take, tap } from 'rxjs';\n\ntype PromiseOrObservable<T> = Promise<T> | Observable<T> | T;\nexport type GetHeaders = () => PromiseOrObservable<Record<string, string>>;\n\nexport function wrap<T>(obsOrPromiseOrValue: Promise<T> | Observable<T> | T): Observable<T> {\n if (isObservable(obsOrPromiseOrValue)) return obsOrPromiseOrValue;\n if (obsOrPromiseOrValue instanceof Promise) return from(obsOrPromiseOrValue);\n return of(obsOrPromiseOrValue);\n}\n\nexport function resolve(getHeaders: GetHeaders): Promise<Record<string, string>> {\n const headers$ = wrap(getHeaders());\n return lastValueFrom(headers$.pipe(\n filter((headers) => !!headers),\n take(1),\n distinctUntilChanged(),\n ))\n}\n","import { Injectable, inject } from '@angular/core';\nimport { HttpLink } from 'apollo-angular/http';\nimport { setContext } from '@apollo/client/link/context';\nimport { ApolloLink, DocumentNode, split } from '@apollo/client/core';\nimport { getMainDefinition } from '@apollo/client/utilities';\nimport { GraphQLWsLink } from '@apollo/client/link/subscriptions';\nimport { Client, createClient } from 'graphql-ws';\nimport { GetHeaders, resolve } from './links';\nimport { WEBSOCKET } from '@nx-ddd/common/infrastructure/externals/websocket/token';\n\nfunction isSubscription(query: DocumentNode) {\n const definition = getMainDefinition(query);\n return (\n definition.kind === 'OperationDefinition' &&\n definition.operation === 'subscription'\n );\n}\n\n@Injectable({providedIn: 'root'})\nexport class ApolloLinkService {\n readonly httpLink = inject(HttpLink);\n readonly WebSocketImpl = WEBSOCKET.inject();\n\n private createGraphQLWsClient(baseUrl: string, getHeaders: GetHeaders): Client {\n return createClient({\n url: baseUrl.replace('http', 'ws'),\n webSocketImpl: this.WebSocketImpl,\n connectionParams: async () => {\n const headers = await resolve(getHeaders);\n return { headers };\n },\n lazy: true, // 必要時のみ接続を開始\n shouldRetry: () => true, // 再接続を有効化\n retryAttempts: 5, // 再接続試行回数を制限\n keepAlive: 30000, // 30秒ごとにキープアライブ\n });\n }\n\n createHttpLink(baseUrl: string, getHeaders: GetHeaders): ApolloLink {\n return ApolloLink.from([\n setContext(async () => {\n const headers = await resolve(getHeaders);\n return { headers }\n }),\n this.httpLink.create({ uri: baseUrl, }),\n ]);\n }\n\n createWebSocketLink(baseUrl: string, getHeaders: GetHeaders): ApolloLink {\n return new GraphQLWsLink(this.createGraphQLWsClient(baseUrl, getHeaders));\n }\n\n createAutoSplitLink(baseUrl: string, getHeaders: GetHeaders): ApolloLink {\n return split(\n ({ query }) => isSubscription(query),\n this.createWebSocketLink(baseUrl, getHeaders),\n this.createHttpLink(baseUrl, getHeaders)\n );\n }\n\n createLink(baseUrl: string, getHeaders: GetHeaders): ApolloLink {\n return this.createAutoSplitLink(baseUrl, getHeaders);\n }\n}\n","import { inject, Injectable } from \"@angular/core\";\nimport { Apollo, ApolloBase } from \"apollo-angular\";\nimport { InMemoryCache } from \"@apollo/client/cache\";\nimport { ApolloLinkService, GetHeaders, wrap } from \"../link\";\nimport { Observable, switchMap, take } from \"rxjs\";\nimport { CRYPTO } from \"@nx-ddd/common/infrastructure/externals/crypto/token\";\n\n@Injectable({providedIn: 'root'})\nexport class ApolloClientManagerService {\n readonly apollo = inject(Apollo);\n protected readonly linkService = inject(ApolloLinkService);\n protected readonly crypto = CRYPTO.inject() ?? globalThis.crypto;\n\n protected async buildClientName(endpoint: string, headers: Record<string, string>): Promise<string> {\n const data = new TextEncoder().encode(JSON.stringify(headers));\n // HTTP環境ではcrypto.subtleが使えないため、フォールバックを使用\n if (!this.crypto?.subtle) {\n const str = JSON.stringify(headers);\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = ((hash << 5) - hash) + str.charCodeAt(i);\n hash |= 0;\n }\n return `${endpoint}?headers=${Math.abs(hash).toString(16)}`;\n }\n const arrayBuffer = await this.crypto.subtle.digest('SHA-256', data);\n const hash = Array.from(new Uint8Array(arrayBuffer)).map(b => b.toString(16).padStart(2, '0')).join('');\n return `${endpoint}?headers=${hash}`;\n }\n\n getClient(endpoint: string, getHeaders: GetHeaders): Observable<ApolloBase<any>> {\n return wrap(getHeaders()).pipe(\n take(1),\n switchMap(async (headers) => {\n const name = await this.buildClientName(endpoint, headers);\n const client = this.apollo.use(name);\n\n if (!client) {\n this.apollo.removeClient(name);\n this.apollo.createNamed(name, {\n link: this.linkService.createLink(endpoint, getHeaders),\n cache: new InMemoryCache()\n });\n return this.apollo.use(name);\n }\n\n return client;\n }),\n );\n }\n}\n","import { makeDecoratorFactories } from \"@nx-ddd/core\";\nimport { camelCase, snakeCase } from 'lodash-es';\n\nconst {\n createDecorator,\n // createClassDecorator,\n addAnnotation,\n getAnnotations,\n} = makeDecoratorFactories(\n (type, fieldName, propName, options) => ({ type, fieldName, propName, childType: options.childType }),\n '[@nx-ddd/hasura] annotations'\n);\n\nexport function getFieldAnnotationMap<Annotation>(T: any, prefix = ''): Record<string, Annotation> {\n const annotations = Hasura.getAnnotations(T);\n return (annotations ?? []).reduce((acc, annotation) => {\n const currentKey = prefix ? camelCase(`${prefix}_${annotation.fieldName}`) : annotation.fieldName;\n return { ...acc, [currentKey]: annotation };\n }, {});\n}\n\nexport function getFlattenFieldAnnotations<Annotation>(T: any, prefix = ''): Record<string, Annotation> {\n const annotations = Hasura.getAnnotations(T);\n return (annotations ?? []).reduce((acc, annotation) => {\n const currentKey = prefix ? camelCase(`${prefix}_${annotation.fieldName}`) : annotation.fieldName;\n if (annotation.childType) {\n return {\n ...acc,\n ...getFlattenFieldAnnotations(annotation.childType(), currentKey)\n };\n }\n return {\n ...acc,\n [currentKey]: annotation\n };\n }, {});\n}\n\nexport function getFields(T: any, options: {\n prefix?: string;\n case?: 'snake' | 'camel';\n} = {\n prefix: '',\n case: 'snake'\n}): string[] {\n const annotations = Hasura.getAnnotations(T).filter((annotation: any) => annotation.type !== 'table');\n const changeCase = options?.case === 'snake' ? snakeCase : camelCase;\n const fields = (annotations ?? []).flatMap((annotation) => {\n const currentKey = changeCase(options?.prefix ? `${options?.prefix}_${annotation.fieldName}` : annotation.fieldName);\n if (annotation.childType) {\n return [\n ...getFields(annotation.childType(), {\n prefix: currentKey,\n case: options?.case,\n })\n ];\n }\n return [currentKey];\n });\n return fields;\n}\n\nfunction createClassDecorator(type: string) {\n return (nameOrProps: { name: string } | string) => {\n const props = typeof nameOrProps === 'string' ? { name: nameOrProps } : nameOrProps;\n return (target: any) => {\n const name = props?.name || target.name;\n const annotation = { type, name };\n addAnnotation(target, annotation as any);\n };\n };\n}\n\nexport function getTableName(target: any): string {\n const annotations = getAnnotations(target);\n const annotation = annotations.find((annotation: any) => annotation.type === 'table');\n return (annotation as any).name;\n}\n\nexport const Hasura = {\n Table: createClassDecorator('table'),\n Text: createDecorator('text'),\n Timestamp: createDecorator('timestamp'),\n Date: createDecorator('date'),\n Integer: createDecorator('integer'),\n Numeric: createDecorator('numeric'),\n Boolean: createDecorator('boolean'),\n Map: (childType: () => any) => createDecorator('map', {childType})(),\n JSON: createDecorator('json'),\n Location: createDecorator('location'),\n addAnnotation,\n createDecorator,\n getAnnotations,\n};\n","import dayjs from 'dayjs';\nimport { format } from 'date-fns';\nimport { formatInTimeZone } from 'date-fns-tz';\n\n/**\n * Converts a Date or dayjs object to Hasura timestamp format\n */\nexport function toTimestamp(date: dayjs.Dayjs | Date | null): string | null {\n if (dayjs.isDayjs(date)) {\n return date.toISOString();\n } else if (date instanceof Date) {\n return format(date, 'yyyy-MM-dd HH:mm:ss');\n } else {\n return null;\n }\n}\n\n/**\n * Converts a Date, dayjs, or string to Hasura date format\n */\nexport function toDate(date: dayjs.Dayjs | Date | string | null | undefined): string | null | undefined {\n if (typeof date === 'undefined') {\n return undefined;\n } else if (dayjs.isDayjs(date)) {\n return date.format('YYYY-MM-DD');\n } else if (date instanceof Date) {\n return formatInTimeZone(date, Intl.DateTimeFormat().resolvedOptions().timeZone, 'yyyy-MM-dd');\n } else if (typeof date === 'string') {\n return date;\n } else {\n return null;\n }\n}\n\n/**\n * Converts a value to a number, handling various input types\n */\nexport function toNumber(value: any): number | null | undefined {\n if (typeof value === 'undefined') return undefined;\n if (value === null) return null;\n if (value === '' || (typeof value === 'string' && value.trim() === '')) return null;\n return isNaN(Number(value)) ? null : Number(value);\n}\n\n/**\n * Converts a lat/lng position to Hasura GeoJSON Point format\n */\nexport function toHasuraLocation(position: {lat: number, lng: number} | null | undefined) {\n if (!(position?.lat && position?.lng)) return null;\n return {\n type: 'Point',\n crs: {\n type: 'name',\n properties: { name: 'urn:ogc:def:crs:EPSG::4326' }\n },\n coordinates: [position.lng, position.lat]\n };\n}\n\n/**\n * Converts a Hasura GeoJSON Point to a lat/lng object\n */\nexport function fromHasuraLocation(location: {\n type: 'Point',\n crs: {\n type: 'name',\n properties: {\n name: 'urn:ogc:def:crs:EPSG::4326'\n }\n },\n coordinates: [number, number]\n}) {\n if (!location) return null;\n return {\n lat: location.coordinates?.[1],\n lng: location.coordinates?.[0],\n };\n}\n","import { plainToInstanceWithValid } from '@nx-ddd/core';\nimport { Type } from '@nx-ddd/common/domain';\nimport { get, snakeCase } from 'lodash-es';\nimport { parse } from 'date-fns';\nimport { getFieldAnnotationMap } from '../decorators';\nimport { fromHasuraLocation } from './type-converters';\n\n/**\n * Field annotation type for Hasura decorators\n */\ninterface FieldAnnotation {\n type: 'text' | 'timestamp' | 'date' | 'numeric' | 'integer' | 'json' | 'map' | 'location';\n fieldName: string;\n childType?: () => any;\n}\n\n/**\n * Extracts nested map fields recursively from a flattened Hasura object\n */\nfunction extractNestedMap(mapKey: string, childType: any, object: any): any {\n const childFieldMap = getFieldAnnotationMap<FieldAnnotation>(childType);\n const childFields: Record<string, any> = {};\n\n Object.entries(childFieldMap).forEach(([childKey, childAnnotation]) => {\n if (childAnnotation.type === 'map') {\n const nested = extractNestedMap(`${mapKey}_${childKey}`, childAnnotation.childType!(), object);\n if (nested && Object.keys(nested).length > 0) {\n childFields[childAnnotation.fieldName] = nested;\n }\n } else {\n const flattenedKey = `${mapKey}_${childKey}`;\n const value = get(object, snakeCase(flattenedKey));\n if (typeof value !== 'undefined') {\n childFields[childAnnotation.fieldName] = value;\n }\n }\n });\n\n return childFields;\n}\n\n/**\n * Converts a Hasura object to an entity instance\n */\nexport function fromHasura<T>(_object: any, type: Type<T>): T {\n const fieldMap = getFieldAnnotationMap<FieldAnnotation>(type);\n\n // First extract any flattened map fields (e.g., profile_bio)\n const nestedObjects: Record<string, Record<string, any>> = {};\n Object.entries(fieldMap).forEach(([key, annotation]) => {\n if (annotation.type === 'map') {\n const childType = annotation.childType!();\n const nested = extractNestedMap(key, childType, _object);\n if (nested && Object.keys(nested).length > 0) {\n nestedObjects[annotation.fieldName] = nested;\n }\n }\n });\n\n // Now process all fields normally\n const obj = Object.entries(fieldMap).reduce((acc, [key, annotation]) => {\n // For map types, use our previously extracted nested objects\n if (annotation.type === 'map') {\n const nestedObj = nestedObjects[annotation.fieldName];\n if (nestedObj) {\n return { ...acc, [annotation.fieldName]: nestedObj };\n }\n return acc;\n }\n\n const value = get(_object, snakeCase(key));\n if (typeof value === 'undefined') return acc;\n\n switch (annotation.type) {\n case 'text':\n return { ...acc, [annotation.fieldName]: value };\n case 'timestamp':\n return { ...acc, [annotation.fieldName]: value === null ? null : parse(value, 'yyyy-MM-dd HH:mm:ss', new Date()) };\n case 'date': {\n const parsedDate = value === null ? null : parse(value, 'yyyy-MM-dd', new Date());\n return { ...acc, [annotation.fieldName]: parsedDate };\n }\n case 'numeric':\n return { ...acc, [annotation.fieldName]: value };\n case 'integer':\n return { ...acc, [annotation.fieldName]: value };\n case 'json':\n return { ...acc, [annotation.fieldName]: value };\n case 'location':\n return { ...acc, [annotation.fieldName]: fromHasuraLocation(value) };\n default:\n return { ...acc, [annotation.fieldName]: value };\n }\n }, {});\n\n return plainToInstanceWithValid(type as any, obj) as T;\n}\n","import { snakeCase } from 'lodash-es';\n\n/**\n * Type definitions for camelCase to snake_case conversion\n */\ntype CamelToSnakeCase<S extends string> =\n S extends `${infer T}${infer U}`\n ? U extends Uncapitalize<U>\n ? `${Lowercase<T>}${CamelToSnakeCase<U>}`\n : `${Lowercase<T>}_${CamelToSnakeCase<U>}`\n : S;\n\ntype DeepCamelToSnake<T> = T extends Date\n ? T\n : T extends Array<infer U>\n ? DeepCamelToSnake<U>[]\n : T extends object\n ? { [K in keyof T as K extends string ? CamelToSnakeCase<K> : K]: DeepCamelToSnake<T[K]> }\n : T;\n\n/**\n * Recursively converts object keys from camelCase to snake_case\n */\nexport function deepCamelToSnakeCase<T>(obj: T): DeepCamelToSnake<T> {\n if (Array.isArray(obj)) return obj.map(deepCamelToSnakeCase) as DeepCamelToSnake<T>;\n if (obj instanceof Date) return obj as DeepCamelToSnake<T>;\n if (obj && typeof obj === \"object\") {\n const result: any = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key))\n result[snakeCase(key)] = deepCamelToSnakeCase((obj as any)[key]);\n }\n return result;\n }\n return obj as DeepCamelToSnake<T>;\n}\n\n/**\n * Type definitions for snake_case to camelCase conversion\n */\ntype SnakeToCamelCase<S extends string> =\n S extends `${infer T}_${infer U}`\n ? `${T}${Capitalize<SnakeToCamelCase<U>>}`\n : S;\n\ntype DeepSnakeToCamel<T> = T extends Date\n ? T\n : T extends Array<infer U>\n ? DeepSnakeToCamel<U>[]\n : T extends object\n ? { [K in keyof T as K extends string ? SnakeToCamelCase<K> : K]: DeepSnakeToCamel<T[K]> }\n : T;\n\n/**\n * Converts snake_case string to camelCase\n */\nfunction camelCase(str: string): string {\n return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());\n}\n\n/**\n * Recursively converts object keys from snake_case to camelCase\n */\nexport function deepSnakeToCamelCase<T>(obj: T): DeepSnakeToCamel<T> {\n if (Array.isArray(obj)) return obj.map(deepSnakeToCamelCase) as DeepSnakeToCamel<T>;\n if (obj instanceof Date) return obj as DeepSnakeToCamel<T>;\n if (obj && typeof obj === \"object\") {\n const result: any = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n result[camelCase(key)] = deepSnakeToCamelCase((obj as any)[key]);\n }\n }\n return result;\n }\n return obj as DeepSnakeToCamel<T>;\n}\n","import { Type } from '@nx-ddd/common/domain';\nimport { get } from 'lodash-es';\nimport { getFieldAnnotationMap } from '../decorators';\nimport { deepCamelToSnakeCase } from './case-converters';\nimport { toTimestamp, toDate, toNumber, toHasuraLocation } from './type-converters';\n\n/**\n * Field annotation type for Hasura decorators\n */\ninterface FieldAnnotation {\n type: 'text' | 'timestamp' | 'date' | 'numeric' | 'integer' | 'json' | 'map' | 'location';\n fieldName: string;\n childType?: () => any;\n}\n\n/**\n * Options for toHasura conversion\n */\ninterface ToHasuraOptions {\n extraFunc?: (obj: any) => any;\n}\n\n/**\n * Converts an entity to Hasura format\n */\nexport function toHasura<E>(\n object: E,\n type: Type<E>,\n { extraFunc = deepCamelToSnakeCase }: ToHasuraOptions = {}\n) {\n const fieldMap = getFieldAnnotationMap<FieldAnnotation>(type);\n\n const obj = Object.entries(fieldMap).reduce((acc, [key, annotation]) => {\n const value = get(object, annotation.fieldName);\n if (typeof value === 'undefined') return acc;\n\n switch (annotation.type) {\n case 'text':\n return { ...acc, [key]: value };\n case 'timestamp':\n return { ...acc, [key]: toTimestamp(value) };\n case 'date':\n return { ...acc, [key]: toDate(value) };\n case 'numeric':\n return { ...acc, [key]: toNumber(value) };\n case 'integer':\n return { ...acc, [key]: toNumber(value) };\n case 'json':\n return { ...acc, [key]: value };\n case 'map': {\n const childObj = toHasura(value, annotation.childType!(), { extraFunc });\n const flattenedObj = Object.entries(childObj).reduce((childAcc, [childKey, childValue]) => ({\n ...childAcc,\n [`${key}_${childKey}`]: childValue\n }), {});\n return { ...acc, ...flattenedObj };\n }\n case 'location':\n return { ...acc, [key]: toHasuraLocation(value) };\n default:\n return { ...acc, [key]: value };\n }\n }, {});\n\n return extraFunc(obj);\n}\n","import { Type } from '@nx-ddd/common/domain';\nimport { HasuraConverter } from './types';\nimport { fromHasura } from './from-hasura';\nimport { toHasura } from './to-hasura';\nimport * as typeConverters from './type-converters';\n\n// Re-export for backward compatibility\nexport { HasuraConverter } from './types';\nexport { deepCamelToSnakeCase, deepSnakeToCamelCase } from './case-converters';\nexport { toTimestamp, toDate, toNumber, toHasuraLocation, fromHasuraLocation } from './type-converters';\nexport { fromHasura } from './from-hasura';\nexport { toHasura } from './to-hasura';\n\n/**\n * Creates a HasuraConverter for the given entity type\n */\nexport function getConverter<T>(type: Type<T>): HasuraConverter<T> {\n return {\n toHasura(entity: T) {\n return toHasura(entity, type);\n },\n toHasuraMany(entities: T[]) {\n return entities.map((entity) => this.toHasura(entity));\n },\n fromHasura(entity: object) {\n return fromHasura(entity, type) as T;\n },\n fromHasuraMany(entities: object[]) {\n return entities.map((entity) => this.fromHasura(entity));\n },\n };\n}\n\n/** @deprecated use `getConverter` instead */\nexport const makeConverter = getConverter;\n\n/**\n * @deprecated Use individual functions instead\n * HasuraUtils is kept for backward compatibility\n */\nexport class HasuraUtils {\n static toTimestamp = typeConverters.toTimestamp;\n static toDate = typeConverters.toDate;\n static toNumber = typeConverters.toNumber;\n static toHasuraLocation = typeConverters.toHasuraLocation;\n static fromHasuraLocation = typeConverters.fromHasuraLocation;\n static fromHasura = fromHasura;\n static toHasura = toHasura;\n}\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\nimport { Injectable, inject } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { HASURA_CONFIG } from \"./hasura.config\";\n\n@Injectable()\nexport class HasuraInterceptor implements HttpInterceptor {\n private config = inject(HASURA_CONFIG);\n\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n if (req.url.startsWith(this.config.url) && this.config.adminSecret) {\n return next.handle(req.clone({\n headers: req.headers.set('x-hasura-admin-secret', this.config.adminSecret),\n }));\n }\n return next.handle(req);\n }\n}","import { HTTP_INTERCEPTORS } from \"@angular/common/http\";\nimport { InjectionToken } from \"@angular/core\";\nimport { Provider } from \"@angular/core\";\nimport { HasuraInterceptor } from \"./hasura.interceptor\";\n\nexport interface HasuraConfig {\n adminSecret?: string;\n url: string;\n}\n\nexport const HASURA_CONFIG = new InjectionToken<HasuraConfig>('HASURA_CONFIG');\n\nexport function provideHasuraConfig(config: HasuraConfig): Provider[] {\n return [\n { provide: HASURA_CONFIG, useValue: config },\n config.adminSecret ? { provide: HTTP_INTERCEPTORS, useClass: HasuraInterceptor, multi: true} : [],\n ];\n}\n","export { DeepPartial } from '@nx-ddd/common/domain';\nexport { TransformToDayjs } from '@nx-ddd/common/domain';\nexport { IsDayjs } from 'class-validator-extended';\nimport { EnvironmentProviders, inject, InjectionToken, Provider } from '@angular/core';\nimport { InMemoryCache } from '@apollo/client/core';\nimport { APOLLO_OPTIONS, provideApollo } from 'apollo-angular';\nimport { HASURA_CONFIG, HasuraConfig, provideHasuraConfig } from './hasura.config';\nimport { ApolloLinkService } from './apollo/link/link.service';\nimport { GetHeaders } from './links';\nimport { Observable } from 'rxjs';\n\ntype PromiseOrObservable<T> = Promise<T> | Observable<T> | T;\n\nexport const GRAPHQL_HEADERS = new InjectionToken<GetHeaders>('GRAPHQL_HEADERS', {\n providedIn: 'root',\n factory: () => () => ({}),\n});\n\nexport function provideHasuraGetHeaders(\n useFactory: () => () => PromiseOrObservable<Record<string, string>>,\n): Provider {\n return [\n { provide: GRAPHQL_HEADERS, useFactory },\n ];\n}\n\n/**\n * @deprecated use provideHasuraGetHeaders instead\n */\nexport const provideGraphqlHeaders = provideHasuraGetHeaders;\n\n/** @deprecated */\nexport function provideApolloOptions() {\n return {\n provide: APOLLO_OPTIONS,\n useFactory: () => ({ cache: new InMemoryCache() }),\n };\n}\n\nexport function provideHasura(config: HasuraConfig): (Provider | EnvironmentProviders)[] {\n return [\n provideApollo(() => {\n const linkService = inject(ApolloLinkService);\n const getHeaders = inject(GRAPHQL_HEADERS);\n return {\n cache: new InMemoryCache(),\n link: linkService.createLink(config.url, getHeaders),\n };\n }),\n provideHasuraConfig(config),\n ]\n}\n\nexport function provideHasuraWithWebSocket(config: HasuraConfig): (Provider | EnvironmentProviders)[] {\n return [\n provideApollo(() => {\n const linkService = inject(ApolloLinkService);\n const getHeaders = inject(GRAPHQL_HEADERS);\n return {\n cache: new InMemoryCache(),\n link: linkService.createLink(config.url, getHeaders),\n };\n }),\n provideHasuraConfig(config),\n ]\n}\n","import { TableConfig, TransactionQueryPart } from \"../_meta/graphql-query-part\";\n\nexport class GetQueryPartBuilder {\n constructor (protected config: TableConfig) { }\n\n build(params: {id: string}): TransactionQueryPart {\n const queryName = `${this.config.tableName}_by_pk`;\n const variableDefinitions = ['$id: String!'];\n const queryPart = `${queryName}(id: $id) { ${this.config.columns.join(' ')} }`;\n return { queryPart, variableDefinitions, variables: params, operationName: queryName };\n }\n\n buildMany(): TransactionQueryPart {\n const queryName = this.config.tableName;\n const queryPart = `${queryName} { ${this.config.columns.join(' ')} }`;\n return { queryPart, variableDefinitions: [], variables: {}, operationName: queryName };\n }\n}\n","import { TableConfig } from \"../_meta/graphql-query-part\";\nimport { GetQueryPartBuilder } from \"./get.builder\";\n\nexport function makeSubscription(query: any) {\n const { kind, definitions } = query;\n const subscriptionDefinitions = definitions.map((definition: any) => {\n if (definition.kind === 'OperationDefinition' && definition.operation === 'query') {\n return {\n ...definition,\n operation: 'subscription',\n };\n }\n return definition;\n });\n return { kind, definitions: subscriptionDefinitions };\n}\n\nexport class QueriesBuilder<E extends { id: string }> {\n readonly get: GetQueryPartBuilder;\n\n constructor (config: TableConfig) {\n this.get = new GetQueryPartBuilder(config);\n }\n\n makeSubscription(query: any) {\n return makeSubscription(query);\n }\n}","import { TableConfig, TransactionQueryPart } from '../../parts/_meta/graphql-query-part';\nimport { omitBy, pick, snakeCase } from 'lodash-es';\n\ntype CreateData<E> = Omit<E, 'id' | 'createdAt' | 'updatedAt'>;\n\nexport class CreateMutationBuilder<E extends {id: string}> {\n constructor(protected readonly config: TableConfig) { }\n\n build(data: CreateData<E>, alias = 'create'): TransactionQueryPart {\n const object = this.convertToObject(data);\n const mutationName = `insert_${this.config.tableName}`;\n const variableDefinitions = [`$${alias}: ${this.config.tableName}_insert_input!`];\n const queryPart = `${alias}: ${mutationName}(objects: [$${alias}]) { affected_rows returning { ${this.config.columns.join(' ')} } }`;\n const variables = { [alias]: object };\n return { queryPart, variableDefinitions, variables, operationName: mutationName, alias };\n }\n\n buildMany(data: CreateData<E>[], alias = 'createMany'): TransactionQueryPart {\n const objects = this.convertToObjects(data);\n const mutationName = `insert_${this.config.tableName}`;\n const variableDefinitions = [`$${alias}: [${this.config.tableName}_insert_input!]!`];\n const queryPart = `${alias}: ${mutationName}(objects: $${alias}) { affected_rows returning { ${this.config.columns.join(' ')} } }`;\n const variables = { [alias]: objects };\n return { queryPart, variableDefinitions, variables, operationName: mutationName, alias };\n }\n\n protected convertToObject(item: CreateData<E>): Partial<CreateData<E>> {\n const fields = Object.keys(item).map(snakeCase).filter((field) => !['created_at', 'updated_at'].includes(field));\n const picked = pick(item, [...fields]);\n return omitBy(picked, (value) => typeof value === 'undefined') as Partial<CreateData<E>>;\n }\n\n protected convertToObjects(items: CreateData<E>[]): Partial<CreateData<E>>[] {\n return items.map((item) => this.convertToObject(item));\n }\n}\n","import { TableConfig, TransactionQueryPart } from '../../parts/_meta/graphql-query-part';\n\nexport class DeleteMutationBuilder {\n constructor(protected readonly config: TableConfig) { }\n\n build({ id }): TransactionQueryPart {\n const operationName = `delete_${this.config.tableName}`;\n const queryPart = `${operationName}(where: {id: {_eq: $id}}) { affected_rows }`;\n const variableDefinitions = ['$id: String!'];\n return { queryPart, variableDefinitions, variables: { id }, operationName };\n }\n\n buildMany(params: { id: string }[], alias = 'deleteMany'): TransactionQueryPart {\n const operationName = `delete_${this.config.tableName}`;\n const variableDefinitions = [`$${alias}: [String!]!`];\n const queryPart = `${alias}: ${operationName}(where: {id: {_in: $${alias}}}) { affected_rows }`;\n const variables = { [alias]: params.map((p) => p.id) };\n return { queryPart, variableDefinitions, variables, operationName, alias };\n }\n\n buildAll(alias = 'deleteAll'): TransactionQueryPart {\n const operationName = `delete_${this.config.tableName}`;\n const uniqueAlias = `${alias}_${this.config.tableName}`;\n const variableDefinitions: string[] = [];\n const queryPart = `${uniqueAlias}: ${operationName}(where: {}) { affected_rows }`;\n const variables = {};\n return { queryPart, variableDefinitions, variables, operationName, alias };\n }\n}\n","import { TableConfig, TransactionQueryPart } from '../../parts/_meta/graphql-query-part';\nimport { omitBy, pick, snakeCase } from \"lodash-es\";\n\ninterface Options {\n operationName?: string;\n constraint?: string;\n columns?: string[];\n returningColumns?: string[];\n alias?: string;\n}\n\nexport class SaveMutationBuilder<E = any> {\n constructor(protected readonly config: TableConfig) { }\n\n build(data: Omit<E, 'createdAt' | 'updatedAt'>, {\n operationName = `insert_${this.config.tableName}`,\n constraint = this.config.pk,\n columns = this.config.columns,\n returningColumns = this.config.columns,\n alias = operationName,\n }: Options = {}): TransactionQueryPart {\n const object = this.buildObject(data);\n const onConflict = this.buildOnConflict(data, constraint, columns);\n const variableDefinitions = [\n `$${alias}Object: ${this.config.tableName}_insert_input!`,\n `$${alias}OnConflict: ${this.config.tableName}_on_conflict!`\n ];\n const queryPart = `${alias}: ${operationName}( objects: [$${alias}Object] on_conflict: $${alias}OnConflict) { affected_rows returning { ${returningColumns.join(', ')} } }`;\n const variables = { [`${alias}Object`]: object, [`${alias}OnConflict`]: onConflict };\n return { queryPart, variableDefinitions, variables, operationName, alias };\n }\n\n buildMany(entities: E[], {\n operationName = `insert_${this.config.tableName}`,\n constraint = this.config.pk,\n columns = this.config.columns,\n returningColumns = this.config.columns,\n alias = 'save'\n }: Options = {}): TransactionQueryPart {\n const objects = this.buildObjects(entities);\n const onConflict = this.buildOnConflict(entities[0] as any, constraint, columns);\n const variableDefinitions = [\n `$${alias}Objects: [${this.config.tableName}_insert_input!]!`,\n `$${alias}OnConflict: ${this.config.tableName}_on_conflict!`\n ];\n const queryPart = `${alias}: ${operationName}(objects: $${alias}Objects on_conflict: $${alias}OnConflict) {\n affected_rows returning { ${returningColumns.join(', ')} }\n }`;\n const variables = { [`${alias}Objects`]: objects, [`${alias}OnConflict`]: onConflict };\n return { queryPart, variableDefinitions, variables, operationName: operationName, alias };\n }\n\n protected buildObject(item: Omit<E, 'createdAt' | 'updatedAt'>): Partial<Omit<E, 'createdAt' | 'updatedAt'>> {\n const fields = Object.keys(item).map(snakeCase).filter((field) => !['created_at', 'updated_at'].includes(field));\n const picked = pick(item, [...fields]);\n return omitBy(picked, (value) => typeof value === 'undefined') as Partial<Omit<E, 'createdAt' | 'updatedAt'>>;\n }\n\n protected buildObjects(items: Omit<E, 'createdAt' | 'updatedAt'>[]): Partial<Omit<E, 'createdAt' | 'updatedAt'>>[] {\n return items.map((item) => this.buildObject(item));\n }\n\n protected buildOnConflict(data: Omit<E, 'createdAt' | 'updatedAt'>, constraint: string, columns: string[]) {\n const fields = Object.keys(this.buildObject(data));\n const updateColumns = fields.filter(column => columns.includes(column));\n return { constraint, update_columns: updateColumns };\n }\n}","import { TableConfig, TransactionQueryPart } from '../../parts/_meta/graphql-query-part';\nimport { omitBy, pick, snakeCase } from \"lodash-es\";\n\nexport class UpdateMutationBuilder<E extends {id: string} = any> {\n constructor(protected readonly config: TableConfig) { }\n\n build(data: Partial<E> & { id: string }, alias = 'update'): TransactionQueryPart {\n const mutationName = `update_${this.config.tableName}`;\n const object = this.buildObject(data);\n const variableDefinitions = [`$${alias}Id: String!`, `$${alias}Object: ${this.config.tableName}_set_input!`];\n const queryPart = `${alias}: ${mutationName}(where: {id: {_eq: $${alias}Id}} _set: $${alias}Object) { affected_rows returning { id } }`;\n const variables = { [`${alias}Id`]: data.id, [`${alias}Object`]: object };\n return { queryPart, variableDefinitions, variables, operationName: mutationName, alias };\n }\n\n buildMany(\n data: Partial<E>[],\n alias = 'updateMany'\n ): TransactionQueryPart {\n const mutationName = `update_${this.config.tableName}_many`;\n const objects = this.buildObjects(data);\n const variableDefinitions = [`$${alias}Objects: [${this.config.tableName}_updates!]!`];\n const queryPart = `${alias}: ${mutationName}(updates: $${alias}Objects) { affected_rows returning { id } }`;\n const variables = { [`${alias}Objects`]: objects };\n return { queryPart, variableDefinitions, variables, operationName: mutationName, alias };\n }\n\n protected buildObject(item: Partial<E>): any {\n const fields = Object.keys(item).map(snakeCase).filter((field) => !['created_at', 'updated_at'].includes(field));\n const picked = pick(item, fields);\n return omitBy(picked, (value) => typeof value === 'undefined');\n }\n\n protected buildObjects(items: Partial<E>[]): any[] {\n return items.map((item) => ({ where: { id: { _eq: item.id } }, _set: this.buildObject(item) }));\n }\n}\n","import { CreateMutationBuilder } from \"./create.builder\";\nimport { UpdateMutationBuilder } from \"./update.builder\";\nimport { SaveMutationBuilder } from \"./save.builder\";\nimport { DeleteMutationBuilder } from \"./delete.builder\";\nimport { TableConfig } from \"../_meta/graphql-query-part\";\n\nexport class HasuraMutationBuilder<E extends { id: string }> {\n readonly create: CreateMutationBuilder<E>;\n readonly update: UpdateMutationBuilder<E>;\n readonly save: SaveMutationBuilder<E>;\n readonly delete_: DeleteMutationBuilder;\n \n constructor(config: TableConfig) {\n this.create = new CreateMutationBuilder(config);\n this.update = new UpdateMutationBuilder(config);\n this.save = new SaveMutationBuilder(config);\n this.delete_ = new DeleteMutationBuilder(config);\n }\n}\n","import { HasuraMutationBuilder } from './mutations';\nimport { QueriesBuilder } from \"./queries\";\nimport { TableConfig } from \"./_meta/graphql-query-part\";\n\nexport class HasuraQueryPartsBuilder<E extends { id: string }> {\n readonly mutations: HasuraMutationBuilder<E>;\n readonly queries: QueriesBuilder<E>;\n\n constructor(config: TableConfig) {\n this.mutations = new HasuraMutationBuilder(config);\n this.queries = new QueriesBuilder(config);\n }\n}\n","import { TableConfig, TransactionQueryPart } from './parts/_meta/graphql-query-part';\nimport { HasuraQueryPartsBuilder } from './parts/parts.builder';\n\nexport class HasuraQueryBuilder<E extends {id: string}> {\n readonly parts: HasuraQueryPartsBuilder<E>\n\n constructor(config: TableConfig) {\n this.parts = new HasuraQueryPartsBuilder(config);\n }\n \n\n buildQuery(part: TransactionQueryPart): string {\n const operationNameStr = part.operationName ? `${part.operationName} ` : '';\n const variablesStr = part.variableDefinitions?.length ? `(${part.variableDefinitions.join(', ')}) ` : '';\n return `query ${operationNameStr}${variablesStr}{ ${part.queryPart} }`;\n }\n\n static buildMutation(part: TransactionQueryPart): string {\n const operationNameStr = part.operationName ? `${part.operationName} ` : '';\n const variablesStr = part.variableDefinitions?.length ? `(${part.variableDefinitions.join(', ')}) ` : '';\n return `mutation ${operationNameStr}${variablesStr} { ${part.queryPart} }`;\n }\n\n buildMutation(part: TransactionQueryPart): string {\n return HasuraQueryBuilder.buildMutation(part);\n }\n\n buildTransactionQuery(parts: TransactionQueryPart[]): {query: string, variables: Record<string, any>} {\n const operationName = `Transaction`;\n const variableDefinitions = parts.reduce((acc, m) => [...acc, ...m.variableDefinitions], [] as string[]);\n const mutationParts = parts.map(m => m.queryPart);\n const query = `mutation ${operationName} (${ variableDefinitions.join(', ') }) { ${mutationParts.join('\\n')} }`;\n const variables = parts.reduce((acc, m) => ({ ...acc, ...m.variables }), {} as Record<string, any>);\n return { query, variables };\n }\n}\n","import { Injectable, inject } from \"@angular/core\";\nimport { ApolloBase, gql } from \"apollo-angular\";\nimport { HASURA_CONFIG } from \"./hasura.config\";\nimport { FetchPolicy, FetchResult, OperationVariables, ApolloQueryResult } from \"@apollo/client/core\";\nimport { lastValueFrom, Observable, switchMap } from \"rxjs\";\nimport { makeSubscription } from \"./builders/parts/queries\";\nimport { HasuraQueryBuilder, TransactionQueryPart } from \"./builders\";\nimport { ApolloClientManagerService } from \"./apollo/client-manager\";\nimport { GRAPHQL_HEADERS } from \"./hasura.di\";\n\n\n@Injectable({ providedIn: 'root' })\nexport class HasuraService {\n protected readonly getHeaders = inject(GRAPHQL_HEADERS);\n protected readonly apolloClientManager = inject(ApolloClientManagerService);\n protected readonly config = inject(HASURA_CONFIG);\n\n getApolloClient(): Observable<ApolloBase<any>> {\n return this.apolloClientManager.getClient(this.config.url, this.getHeaders);\n }\n\n subscribe<\n T = any,\n TVariables extends OperationVariables = OperationVariables\n >({\n query,\n variables,\n fetchPolicy = 'network-only',\n context\n }: {\n query: any,\n variables: TVariables,\n fetchPolicy?: FetchPolicy,\n context?: Record<string, unknown>\n }): Observable<FetchResult<T>> {\n return this.getApolloClient().pipe(\n switchMap((client) => client.subscribe<T, TVariables>({\n query: makeSubscription(query),\n variables: variables,\n fetchPolicy: fetchPolicy,\n context\n })),\n );\n }\n\n async mutate<T = any>(...args: Parameters<ApolloBase['mutate']>) {\n const client = await lastValueFrom(this.getApolloClient());\n return lastValueFrom(client.mutate(...args)).catch((error) => {\n console.error(error.graphQLErrors);\n throw error;\n });\n }\n\n async mutateByQueryPart<T = any>(part: TransactionQueryPart): Promise<T> {\n const mutation = HasuraQueryBuilder.buildMutation(part);\n return this.mutate<T>({\n mutation: gql`${mutation}`,\n variables: part.variables,\n } as any).then((res: any) => {\n return res.data[part?.alias ?? part.operationName]\n });\n }\n\n async query<T = any>(...args: Parameters<ApolloBase['query']>): Promise<ApolloQueryResult<T>> {\n const client = await lastValueFrom(this.getApolloClient());\n // fetchPolicyが指定されていない場合はnetwork-onlyをデフォルトに\n const [options] = args;\n const queryOptions = {\n ...options,\n fetchPolicy: options?.fetchPolicy || 'network-only'\n };\n return lastValueFrom(client.query(queryOptions)).catch((error) => {\n console.error('[HasuraService] query error:', error);\n throw error;\n }) as Promise<ApolloQueryResult<T>>;\n }\n\n // Observable版のqueryメソッド(HTTP経由)\n watchQuery<T = any, TVariables extends OperationVariables = OperationVariables>(options: {\n query: any,\n variables?: TVariables,\n fetchPolicy?: FetchPolicy\n }): Observable<any> {\n const { query, variables, fetchPolicy = 'no-cache' } = options;\n return this.getApolloClient().pipe(\n switchMap((client) => client.watchQuery({\n query,\n variables,\n fetchPolicy\n } as any).valueChanges)\n );\n }\n}\n","import { Injectable, inject } from \"@angular/core\";\nimport { Repository, Type } from \"@nx-ddd/common/domain\";\nimport { gql } from \"@apollo/client/core\";\nimport { map, Observable } from \"rxjs\";\nimport { getConverter, HasuraConverter } from \"./converter\";\nimport { HasuraService } from \"./hasura.service\";\nimport { HasuraQueryBuilder } from \"./builders\";\nimport { getFields, getTableName } from \"./decorators\";\n\nexport abstract class _HasuraRepository<E extends {id: string}> extends Repository<E> {\n protected abstract hasura: HasuraService;\n protected abstract converter: HasuraConverter<E>;\n readonly abstract updateColumns: string[];\n readonly abstract tableName: string;\n\n get pkey(): string {\n return `${this.tableName}_pkey`;\n }\n\n getQueryBuilder() {\n return new HasuraQueryBuilder({ tableName: this.tableName, pk: this.pkey, columns: this.updateColumns });\n }\n\n async get(params: {id: string}) {\n const part = this.getQueryBuilder().parts.queries.get.build({id: params.id});\n return this.hasura.query({\n query: gql`${this.getQueryBuilder().buildQuery(part)}`,\n variables: part.variables,\n fetchPolicy: 'network-only',\n } as any)\n .then((res: any) => this.converter.fromHasura(res.data[part.operationName]));\n }\n\n async list(): Promise<E[]> {\n const part = this.getQueryBuilder().parts.queries.get.buildMany();\n return this.hasura.query({\n query: gql`${this.getQueryBuilder().buildQuery(part)}`,\n fetchPolicy: 'network-only'\n } as any).then((res: any) => this.converter.fromHasuraMany(res.data[part.operationName]));\n }\n\n listChanges(): Observable<E[]> {\n const part = this.getQueryBuilder().parts.queries.get.buildMany();\n const query = this.getQueryBuilder().buildQuery(part);\n return this.hasura.subscribe({ query: gql`${query}`, variables: {} }).pipe(\n map((res: any) => this.converter.fromHasuraMany(res.data[part.operationName])),\n );\n }\n\n async create(data: Omit<E, 'id' | 'createdAt' | 'updatedAt'> & Partial<Pick<E, 'id'>>): Promise<E> {\n const converted = this.converter.toHasura(data as E);\n const part = this.getQueryBuilder().parts.mutations.create.build(converted as any);\n return this.hasura.mutateByQueryPart(part).then(result => {\n return this.converter.fromHasura(result.returning[0]);\n });\n }\n\n async createMany(data: Omit<E, 'id' | 'createdAt' | 'updatedAt'>[]): Promise<E[]> {\n const items = this.converter.toHasuraMany(data as E[]);\n const part = this.getQueryBuilder().parts.mutations.create.buildMany(items as any[]);\n return this.hasura.mutateByQueryPart(part).then((result) => {\n return this.converter.fromHasuraMany(result.returning);\n });\n }\n\n async update(data: Partial<E> & {id: string}): Promise<void>{\n const item = this.converter.toHasura(data as E);\n const part = this.getQueryBuilder().parts.mutations.update.build(item as any);\n return this.hasura.mutateByQueryPart(part).then(() => {});\n }\n\n async updateMany(data: Partial<E>[]): Promise<void> {\n const items = this.converter.toHasuraMany(data as E[]);\n const part = this.getQueryBuilder().parts.mutations.update.buildMany(items as any[]);\n return this.hasura.mutateByQueryPart(part).then((result) => result.affected_rows).then(() => {});\n }\n\n async delete(params: {id: string}): Promise<void> {\n const part = this.getQueryBuilder().parts.mutations.delete_.build(params);\n return this.hasura.mutateByQueryPart(part).then(() => {});\n }\n\n async deleteMany(params: {id: string}[]): Promise<number> {\n const part = this.getQueryBuilder().parts.mutations.delete_.buildMany(params);\n return this.hasura.mutateByQueryPart(part).then((result) => result.affected_rows);\n }\n\n async deleteAll(): Promise<void> {\n const part = this.getQueryBuilder().parts.mutations.delete_.buildAll();\n console.debug('part:', part);\n return this.hasura.mutateByQueryPart(part).then(() => {});\n }\n\n async save(data: Partial<E>) {\n const item = this.converter.toHasura(data as E);\n const part = this.getQueryBuilder().parts.mutations.save.build(item as any);\n return this.hasura.mutateByQueryPart(part).then((res) => res.returning[0]);\n }\n\n async saveMany(entities: E[]): Promise<void> {\n const items = this.converter.toHasuraMany(entities as E[]);\n const part = this.getQueryBuilder().parts.mutations.save.buildMany(items as any[]);\n return this.hasura.mutateByQueryPart(part).then(() => {});\n }\n}\n\n@Injectable()\nexport abstract class HasuraRepository<E extends {id: string}> extends _HasuraRepository<E> {\n protected hasura = inject(HasuraService);\n}\n\nexport function getHasuraRepository<E extends { id: string }>(Entity: Type<E>, deps: {hasura: HasuraService}): _HasuraRepository<E> {\n class Repository extends _HasuraRepository<E> {\n protected hasura = deps.hasura;\n protected converter = getConverter<E>(Entity);\n readonly tableName = getTableName(Entity);\n readonly updateColumns = getFields(Entity, { case: 'snake' });\n }\n return new Repository();\n}\n\nexport function injectHasuraRepository<E extends { id: string }>(Entity: Type<E>): _HasuraRepository<E> {\n return getHasuraRepository(Entity, { hasura: inject(HasuraService) });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ApolloLinkService","camelCase","typeConverters.toTimestamp","typeConverters.toDate","typeConverters.toNumber","typeConverters.toHasuraLocation","typeConverters.fromHasuraLocation","InMemoryCache","gql"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AASA;MAEa,kBAAkB,CAAA;AACpB,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACb,IAAA,WAAW,GAAG,MAAM,CAACA,mBAAiB,CAAC;AAEhD,IAAA,YAAY,CAAC,IAAY,EAAE,OAAe,EAAE,UAAsB,EAAA;AAC1E,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC;AAC9B,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC;YACtD,KAAK,EAAE,IAAI,aAAa;AACzB,SAAA,CAAC;IACJ;IAEA,SAAS,CAAC,QAAgB,EAAE,UAAsB,EAAA;QAChD,MAAM,IAAI,GAAG,QAAQ;QACrB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AAClC,QAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,IAAI,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE;YACX,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC;YAC7C,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;QAChC;AACA,QAAA,OAAO,MAAM;IACf;uGArBW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADN,MAAM,EAAA,CAAA;;2FAClB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;MA2BnB,iBAAiB,GAAG,MAAM,CAAuB,mBAAmB;;AChC3E,SAAU,IAAI,CAAI,mBAAmD,EAAA;IACzE,IAAI,YAAY,CAAC,mBAAmB,CAAC;AAAE,QAAA,OAAO,mBAAmB;IACjE,IAAI,mBAAmB,YAAY,OAAO;AAAE,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC;AAC5E,IAAA,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAChC;AAEM,SAAU,OAAO,CAAC,UAAsB,EAAA;AAC5C,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACnC,OAAO,aAAa,CAAC,QAAQ,CAAC,IAAI,CAChC,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,EAC9B,IAAI,CAAC,CAAC,CAAC,EACP,oBAAoB,EAAE,CACvB,CAAC;AACJ;;ACRA,SAAS,cAAc,CAAC,KAAmB,EAAA;AACzC,IAAA,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC;AAC3C,IAAA,QACE,UAAU,CAAC,IAAI,KAAK,qBAAqB;AACzC,QAAA,UAAU,CAAC,SAAS,KAAK,cAAc;AAE3C;MAGa,iBAAiB,CAAA;AACnB,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,aAAa,GAAG,SAAS,CAAC,MAAM,EAAE;IAEnC,qBAAqB,CAAC,OAAe,EAAE,UAAsB,EAAA;AACnE,QAAA,OAAO,YAAY,CAAC;YAClB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;YAClC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,gBAAgB,EAAE,YAAW;AAC3B,gBAAA,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;gBACzC,OAAO,EAAE,OAAO,EAAE;YACpB,CAAC;YACD,IAAI,EAAE,IAAI;AACV,YAAA,WAAW,EAAE,MAAM,IAAI;YACvB,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,KAAK;AACjB,SAAA,CAAC;IACJ;IAEA,cAAc,CAAC,OAAe,EAAE,UAAsB,EAAA;QACpD,OAAO,UAAU,CAAC,IAAI,CAAC;YACrB,UAAU,CAAC,YAAW;AACpB,gBAAA,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;gBACzC,OAAO,EAAE,OAAO,EAAE;AACpB,YAAA,CAAC,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,CAAC;AACxC,SAAA,CAAC;IACJ;IAEA,mBAAmB,CAAC,OAAe,EAAE,UAAsB,EAAA;AACzD,QAAA,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3E;IAEA,mBAAmB,CAAC,OAAe,EAAE,UAAsB,EAAA;AACzD,QAAA,OAAO,KAAK,CACV,CAAC,EAAE,KAAK,EAAE,KAAK,cAAc,CAAC,KAAK,CAAC,EACpC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,EAC7C,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CACzC;IACH;IAEA,UAAU,CAAC,OAAe,EAAE,UAAsB,EAAA;QAChD,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC;IACtD;uGA3CW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cADL,MAAM,EAAA,CAAA;;2FAClB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;MCVnB,0BAA0B,CAAA;AAC5B,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACb,IAAA,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACvC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,UAAU,CAAC,MAAM;AAEtD,IAAA,MAAM,eAAe,CAAC,QAAgB,EAAE,OAA+B,EAAA;AAC/E,QAAA,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;;AAE9D,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;YACxB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACnC,IAAI,IAAI,GAAG,CAAC;AACZ,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnC,gBAAA,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC/C,IAAI,IAAI,CAAC;YACX;AACA,YAAA,OAAO,CAAA,EAAG,QAAQ,CAAA,SAAA,EAAY,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;QAC7D;AACA,QAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;AACpE,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AACvG,QAAA,OAAO,CAAA,EAAG,QAAQ,CAAA,SAAA,EAAY,IAAI,EAAE;IACtC;IAEA,SAAS,CAAC,QAAgB,EAAE,UAAsB,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAC5B,IAAI,CAAC,CAAC,CAAC,EACP,SAAS,CAAC,OAAO,OAAO,KAAI;YAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YAEpC,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC;AAC9B,gBAAA,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE;oBAC5B,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC;oBACvD,KAAK,EAAE,IAAI,aAAa;AACzB,iBAAA,CAAC;gBACF,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9B;AAEA,YAAA,OAAO,MAAM;QACf,CAAC,CAAC,CACH;IACH;uGAzCW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAA1B,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cADd,MAAM,EAAA,CAAA;;2FAClB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;ACJhC,MAAM,EACJ,eAAe;AACf;AACA,aAAa,EACb,cAAc,GACf,GAAG,sBAAsB,CACxB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,EACrG,8BAA8B,CAC/B;SAEe,qBAAqB,CAAa,CAAM,EAAE,MAAM,GAAG,EAAE,EAAA;IACnE,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AAC5C,IAAA,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,KAAI;QACpD,MAAM,UAAU,GAAG,MAAM,GAAGC,WAAS,CAAC,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,UAAU,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS;QACjG,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,UAAU,GAAG,UAAU,EAAE;IAC7C,CAAC,EAAE,EAAE,CAAC;AACR;SAEgB,0BAA0B,CAAa,CAAM,EAAE,MAAM,GAAG,EAAE,EAAA;IACxE,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AAC5C,IAAA,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,KAAI;QACpD,MAAM,UAAU,GAAG,MAAM,GAAGA,WAAS,CAAC,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,UAAU,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS;AACjG,QAAA,IAAI,UAAU,CAAC,SAAS,EAAE;YACxB,OAAO;AACL,gBAAA,GAAG,GAAG;gBACN,GAAG,0BAA0B,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,UAAU;aACjE;QACH;QACA,OAAO;AACL,YAAA,GAAG,GAAG;YACN,CAAC,UAAU,GAAG;SACf;IACH,CAAC,EAAE,EAAE,CAAC;AACR;AAEM,SAAU,SAAS,CAAC,CAAM,EAAE,OAAA,GAG9B;AACF,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,IAAI,EAAE;AACP,CAAA,EAAA;IACC,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,UAAe,KAAK,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC;AACrG,IAAA,MAAM,UAAU,GAAG,OAAO,EAAE,IAAI,KAAK,OAAO,GAAG,SAAS,GAAGA,WAAS;AACpE,IAAA,MAAM,MAAM,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,UAAU,KAAI;QACxD,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,CAAA,EAAG,OAAO,EAAE,MAAM,CAAA,CAAA,EAAI,UAAU,CAAC,SAAS,CAAA,CAAE,GAAG,UAAU,CAAC,SAAS,CAAC;AACpH,QAAA,IAAI,UAAU,CAAC,SAAS,EAAE;YACxB,OAAO;AACL,gBAAA,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE;AACnC,oBAAA,MAAM,EAAE,UAAU;oBAClB,IAAI,EAAE,OAAO,EAAE,IAAI;iBACpB;aACF;QACH;QACA,OAAO,CAAC,UAAU,CAAC;AACrB,IAAA,CAAC,CAAC;AACF,IAAA,OAAO,MAAM;AACf;AAEA,SAAS,oBAAoB,CAAC,IAAY,EAAA;IACxC,OAAO,CAAC,WAAsC,KAAI;AAChD,QAAA,MAAM,KAAK,GAAG,OAAO,WAAW,KAAK,QAAQ,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,WAAW;QACnF,OAAO,CAAC,MAAW,KAAI;YACrB,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI;AACvC,YAAA,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;AACjC,YAAA,aAAa,CAAC,MAAM,EAAE,UAAiB,CAAC;AAC1C,QAAA,CAAC;AACH,IAAA,CAAC;AACH;AAEM,SAAU,YAAY,CAAC,MAAW,EAAA;AACtC,IAAA,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC;AAC1C,IAAA,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,UAAe,KAAK,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC;IACrF,OAAQ,UAAkB,CAAC,IAAI;AACjC;AAEO,MAAM,MAAM,GAAG;AACpB,IAAA,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC;AACpC,IAAA,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC;AAC7B,IAAA,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC;AACvC,IAAA,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC;AAC7B,IAAA,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC;AACnC,IAAA,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC;AACnC,IAAA,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC;AACnC,IAAA,GAAG,EAAE,CAAC,SAAoB,KAAK,eAAe,CAAC,KAAK,EAAE,EAAC,SAAS,EAAC,CAAC,EAAE;AACpE,IAAA,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC;AAC7B,IAAA,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC;IACrC,aAAa;IACb,eAAe;IACf,cAAc;;;ACxFhB;;AAEG;AACG,SAAU,WAAW,CAAC,IAA+B,EAAA;AACzD,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACvB,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE;IAC3B;AAAO,SAAA,IAAI,IAAI,YAAY,IAAI,EAAE;AAC/B,QAAA,OAAO,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC;IAC5C;SAAO;AACL,QAAA,OAAO,IAAI;IACb;AACF;AAEA;;AAEG;AACG,SAAU,MAAM,CAAC,IAAoD,EAAA;AACzE,IAAA,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;AAC/B,QAAA,OAAO,SAAS;IAClB;AAAO,SAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC9B,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAClC;AAAO,SAAA,IAAI,IAAI,YAAY,IAAI,EAAE;AAC/B,QAAA,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;IAC/F;AAAO,SAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACnC,QAAA,OAAO,IAAI;IACb;SAAO;AACL,QAAA,OAAO,IAAI;IACb;AACF;AAEA;;AAEG;AACG,SAAU,QAAQ,CAAC,KAAU,EAAA;IACjC,IAAI,OAAO,KAAK,KAAK,WAAW;AAAE,QAAA,OAAO,SAAS;IAClD,IAAI,KAAK,KAAK,IAAI;AAAE,QAAA,OAAO,IAAI;AAC/B,IAAA,IAAI,KAAK,KAAK,EAAE,KAAK,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAAE,QAAA,OAAO,IAAI;AACnF,IAAA,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;AACpD;AAEA;;AAEG;AACG,SAAU,gBAAgB,CAAC,QAAuD,EAAA;IACtF,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,QAAQ,EAAE,GAAG,CAAC;AAAE,QAAA,OAAO,IAAI;IAClD,OAAO;AACL,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,GAAG,EAAE;AACH,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,UAAU,EAAE,EAAE,IAAI,EAAE,4BAA4B;AACjD,SAAA;QACD,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG;KACzC;AACH;AAEA;;AAEG;AACG,SAAU,kBAAkB,CAAC,QASlC,EAAA;AACC,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,IAAI;IAC1B,OAAO;AACL,QAAA,GAAG,EAAE,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC;AAC9B,QAAA,GAAG,EAAE,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC;KAC/B;AACH;;AC7DA;;AAEG;AACH,SAAS,gBAAgB,CAAC,MAAc,EAAE,SAAc,EAAE,MAAW,EAAA;AACnE,IAAA,MAAM,aAAa,GAAG,qBAAqB,CAAkB,SAAS,CAAC;IACvE,MAAM,WAAW,GAAwB,EAAE;AAE3C,IAAA,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,KAAI;AACpE,QAAA,IAAI,eAAe,CAAC,IAAI,KAAK,KAAK,EAAE;AAClC,YAAA,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAE,EAAE,eAAe,CAAC,SAAU,EAAE,EAAE,MAAM,CAAC;AAC9F,YAAA,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5C,gBAAA,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,MAAM;YACjD;QACF;aAAO;AACL,YAAA,MAAM,YAAY,GAAG,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,QAAQ,EAAE;YAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;AAClD,YAAA,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;AAChC,gBAAA,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,KAAK;YAChD;QACF;AACF,IAAA,CAAC,CAAC;AAEF,IAAA,OAAO,WAAW;AACpB;AAEA;;AAEG;AACG,SAAU,UAAU,CAAI,OAAY,EAAE,IAAa,EAAA;AACvD,IAAA,MAAM,QAAQ,GAAG,qBAAqB,CAAkB,IAAI,CAAC;;IAG7D,MAAM,aAAa,GAAwC,EAAE;AAC7D,IAAA,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,KAAI;AACrD,QAAA,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,EAAE;AAC7B,YAAA,MAAM,SAAS,GAAG,UAAU,CAAC,SAAU,EAAE;YACzC,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC;AACxD,YAAA,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5C,gBAAA,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,MAAM;YAC9C;QACF;AACF,IAAA,CAAC,CAAC;;IAGF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,KAAI;;AAErE,QAAA,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,EAAE;YAC7B,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC;YACrD,IAAI,SAAS,EAAE;AACb,gBAAA,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,EAAE;YACtD;AACA,YAAA,OAAO,GAAG;QACZ;QAEA,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,OAAO,KAAK,KAAK,WAAW;AAAE,YAAA,OAAO,GAAG;AAE5C,QAAA,QAAQ,UAAU,CAAC,IAAI;AACrB,YAAA,KAAK,MAAM;AACT,gBAAA,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,GAAG,KAAK,EAAE;AAClD,YAAA,KAAK,WAAW;AACd,gBAAA,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,GAAG,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,qBAAqB,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE;YACpH,KAAK,MAAM,EAAE;gBACX,MAAM,UAAU,GAAG,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC;AACjF,gBAAA,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,GAAG,UAAU,EAAE;YACvD;AACA,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,GAAG,KAAK,EAAE;AAClD,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,GAAG,KAAK,EAAE;AAClD,YAAA,KAAK,MAAM;AACT,gBAAA,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,GAAG,KAAK,EAAE;AAClD,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE;AACtE,YAAA;AACE,gBAAA,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,GAAG,KAAK,EAAE;;IAEtD,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,wBAAwB,CAAC,IAAW,EAAE,GAAG,CAAM;AACxD;;AC5EA;;AAEG;AACG,SAAU,oBAAoB,CAAI,GAAM,EAAA;AAC5C,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AAAE,QAAA,OAAO,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAwB;IACnF,IAAI,GAAG,YAAY,IAAI;AAAE,QAAA,OAAO,GAA0B;AAC1D,IAAA,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAClC,MAAM,MAAM,GAAQ,EAAE;AACtB,QAAA,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;YACrB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;AAChD,gBAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,oBAAoB,CAAE,GAAW,CAAC,GAAG,CAAC,CAAC;QACpE;AACA,QAAA,OAAO,MAAM;IACf;AACA,IAAA,OAAO,GAA0B;AACnC;AAkBA;;AAEG;AACH,SAAS,SAAS,CAAC,GAAW,EAAA;AAC5B,IAAA,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;AACtE;AAEA;;AAEG;AACG,SAAU,oBAAoB,CAAI,GAAM,EAAA;AAC5C,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AAAE,QAAA,OAAO,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAwB;IACnF,IAAI,GAAG,YAAY,IAAI;AAAE,QAAA,OAAO,GAA0B;AAC1D,IAAA,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAClC,MAAM,MAAM,GAAQ,EAAE;AACtB,QAAA,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;AACrB,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;AAClD,gBAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,oBAAoB,CAAE,GAAW,CAAC,GAAG,CAAC,CAAC;YAClE;QACF;AACA,QAAA,OAAO,MAAM;IACf;AACA,IAAA,OAAO,GAA0B;AACnC;;ACtDA;;AAEG;AACG,SAAU,QAAQ,CACtB,MAAS,EACT,IAAa,EACb,EAAE,SAAS,GAAG,oBAAoB,EAAA,GAAsB,EAAE,EAAA;AAE1D,IAAA,MAAM,QAAQ,GAAG,qBAAqB,CAAkB,IAAI,CAAC;IAE7D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,KAAI;QACrE,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC;QAC/C,IAAI,OAAO,KAAK,KAAK,WAAW;AAAE,YAAA,OAAO,GAAG;AAE5C,QAAA,QAAQ,UAAU,CAAC,IAAI;AACrB,YAAA,KAAK,MAAM;gBACT,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE;AACjC,YAAA,KAAK,WAAW;AACd,gBAAA,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE;AAC9C,YAAA,KAAK,MAAM;AACT,gBAAA,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE;AACzC,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC3C,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC3C,YAAA,KAAK,MAAM;gBACT,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE;YACjC,KAAK,KAAK,EAAE;AACV,gBAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,SAAU,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;gBACxE,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM;AAC1F,oBAAA,GAAG,QAAQ;AACX,oBAAA,CAAC,GAAG,GAAG,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAE,GAAG;iBACzB,CAAC,EAAE,EAAE,CAAC;AACP,gBAAA,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,YAAY,EAAE;YACpC;AACA,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,EAAE;AACnD,YAAA;gBACE,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE;;IAErC,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,SAAS,CAAC,GAAG,CAAC;AACvB;;ACpDA;;AAEG;AACG,SAAU,YAAY,CAAI,IAAa,EAAA;IAC3C,OAAO;AACL,QAAA,QAAQ,CAAC,MAAS,EAAA;AAChB,YAAA,OAAO,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;QAC/B,CAAC;AACD,QAAA,YAAY,CAAC,QAAa,EAAA;AACxB,YAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;AACD,QAAA,UAAU,CAAC,MAAc,EAAA;AACvB,YAAA,OAAO,UAAU,CAAC,MAAM,EAAE,IAAI,CAAM;QACtC,CAAC;AACD,QAAA,cAAc,CAAC,QAAkB,EAAA;AAC/B,YAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1D,CAAC;KACF;AACH;AAEA;AACO,MAAM,aAAa,GAAG;AAE7B;;;AAGG;MACU,WAAW,CAAA;AACtB,IAAA,OAAO,WAAW,GAAGC,WAA0B;AAC/C,IAAA,OAAO,MAAM,GAAGC,MAAqB;AACrC,IAAA,OAAO,QAAQ,GAAGC,QAAuB;AACzC,IAAA,OAAO,gBAAgB,GAAGC,gBAA+B;AACzD,IAAA,OAAO,kBAAkB,GAAGC,kBAAiC;AAC7D,IAAA,OAAO,UAAU,GAAG,UAAU;AAC9B,IAAA,OAAO,QAAQ,GAAG,QAAQ;;;MCzCf,iBAAiB,CAAA;AACpB,IAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;IAEtC,SAAS,CAAC,GAAqB,EAAE,IAAiB,EAAA;AAChD,QAAA,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;AAClE,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AAC3B,gBAAA,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;AAC3E,aAAA,CAAC,CAAC;QACL;AACA,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IACzB;uGAVW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAjB,iBAAiB,EAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B;;;MCKY,aAAa,GAAG,IAAI,cAAc,CAAe,eAAe;AAEvE,SAAU,mBAAmB,CAAC,MAAoB,EAAA;IACtD,OAAO;AACL,QAAA,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE;QAC5C,MAAM,CAAC,WAAW,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,EAAE;KAClG;AACH;;MCJa,eAAe,GAAG,IAAI,cAAc,CAAa,iBAAiB,EAAE;AAC/E,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAM,OAAO,EAAE,CAAC;AAC1B,CAAA;AAEK,SAAU,uBAAuB,CACrC,UAAmE,EAAA;IAEnE,OAAO;AACL,QAAA,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE;KACzC;AACH;AAEA;;AAEG;AACI,MAAM,qBAAqB,GAAG;AAErC;SACgB,oBAAoB,GAAA;IAClC,OAAO;AACL,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,IAAIC,eAAa,EAAE,EAAE,CAAC;KACnD;AACH;AAEM,SAAU,aAAa,CAAC,MAAoB,EAAA;IAChD,OAAO;QACL,aAAa,CAAC,MAAK;AACjB,YAAA,MAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC7C,YAAA,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;YAC1C,OAAO;gBACL,KAAK,EAAE,IAAIA,eAAa,EAAE;gBAC1B,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC;aACrD;AACH,QAAA,CAAC,CAAC;QACF,mBAAmB,CAAC,MAAM,CAAC;KAC5B;AACH;AAEM,SAAU,0BAA0B,CAAC,MAAoB,EAAA;IAC7D,OAAO;QACL,aAAa,CAAC,MAAK;AACjB,YAAA,MAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC7C,YAAA,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;YAC1C,OAAO;gBACL,KAAK,EAAE,IAAIA,eAAa,EAAE;gBAC1B,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC;aACrD;AACH,QAAA,CAAC,CAAC;QACF,mBAAmB,CAAC,MAAM,CAAC;KAC5B;AACH;;MC/Da,mBAAmB,CAAA;AACP,IAAA,MAAA;AAAvB,IAAA,WAAA,CAAuB,MAAmB,EAAA;QAAnB,IAAA,CAAA,MAAM,GAAN,MAAM;IAAiB;AAE9C,IAAA,KAAK,CAAC,MAAoB,EAAA;QACxB,MAAM,SAAS,GAAG,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA,MAAA,CAAQ;AAClD,QAAA,MAAM,mBAAmB,GAAG,CAAC,cAAc,CAAC;AAC5C,QAAA,MAAM,SAAS,GAAG,CAAA,EAAG,SAAS,CAAA,YAAA,EAAe,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;AAC9E,QAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE;IACxF;IAEA,SAAS,GAAA;AACP,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;AACvC,QAAA,MAAM,SAAS,GAAG,CAAA,EAAG,SAAS,CAAA,GAAA,EAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;AACrE,QAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE;IACxF;AACD;;ACdK,SAAU,gBAAgB,CAAC,KAAU,EAAA;AACzC,IAAA,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,KAAK;IACnC,MAAM,uBAAuB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAe,KAAI;AAClE,QAAA,IAAI,UAAU,CAAC,IAAI,KAAK,qBAAqB,IAAI,UAAU,CAAC,SAAS,KAAK,OAAO,EAAE;YACjF,OAAO;AACL,gBAAA,GAAG,UAAU;AACb,gBAAA,SAAS,EAAE,cAAc;aAC1B;QACH;AACA,QAAA,OAAO,UAAU;AACnB,IAAA,CAAC,CAAC;AACF,IAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE;AACvD;MAEa,cAAc,CAAA;AAChB,IAAA,GAAG;AAEZ,IAAA,WAAA,CAAa,MAAmB,EAAA;QAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC;IAC5C;AAEA,IAAA,gBAAgB,CAAC,KAAU,EAAA;AACzB,QAAA,OAAO,gBAAgB,CAAC,KAAK,CAAC;IAChC;AACD;;MCtBY,qBAAqB,CAAA;AACD,IAAA,MAAA;AAA/B,IAAA,WAAA,CAA+B,MAAmB,EAAA;QAAnB,IAAA,CAAA,MAAM,GAAN,MAAM;IAAiB;AAEtD,IAAA,KAAK,CAAC,IAAmB,EAAE,KAAK,GAAG,QAAQ,EAAA;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QACzC,MAAM,YAAY,GAAG,CAAA,OAAA,EAAU,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA,CAAE;AACtD,QAAA,MAAM,mBAAmB,GAAG,CAAC,CAAA,CAAA,EAAI,KAAK,CAAA,EAAA,EAAK,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA,cAAA,CAAgB,CAAC;QACjF,MAAM,SAAS,GAAG,CAAA,EAAG,KAAK,KAAK,YAAY,CAAA,YAAA,EAAe,KAAK,CAAA,+BAAA,EAAkC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;QACpI,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,GAAG,MAAM,EAAE;AACrC,QAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE;IAC1F;AAEA,IAAA,SAAS,CAAC,IAAqB,EAAE,KAAK,GAAG,YAAY,EAAA;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAC3C,MAAM,YAAY,GAAG,CAAA,OAAA,EAAU,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA,CAAE;AACtD,QAAA,MAAM,mBAAmB,GAAG,CAAC,CAAA,CAAA,EAAI,KAAK,CAAA,GAAA,EAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA,gBAAA,CAAkB,CAAC;QACpF,MAAM,SAAS,GAAG,CAAA,EAAG,KAAK,KAAK,YAAY,CAAA,WAAA,EAAc,KAAK,CAAA,8BAAA,EAAiC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;QAClI,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,GAAG,OAAO,EAAE;AACtC,QAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE;IAC1F;AAEU,IAAA,eAAe,CAAC,IAAmB,EAAA;AAC3C,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;AACtC,QAAA,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,OAAO,KAAK,KAAK,WAAW,CAA2B;IAC1F;AAEU,IAAA,gBAAgB,CAAC,KAAsB,EAAA;AAC/C,QAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACxD;AACD;;MCjCY,qBAAqB,CAAA;AACD,IAAA,MAAA;AAA/B,IAAA,WAAA,CAA+B,MAAmB,EAAA;QAAnB,IAAA,CAAA,MAAM,GAAN,MAAM;IAAiB;IAEtD,KAAK,CAAC,EAAE,EAAE,EAAE,EAAA;QACV,MAAM,aAAa,GAAG,CAAA,OAAA,EAAU,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA,CAAE;AACvD,QAAA,MAAM,SAAS,GAAG,CAAA,EAAG,aAAa,6CAA6C;AAC/E,QAAA,MAAM,mBAAmB,GAAG,CAAC,cAAc,CAAC;AAC5C,QAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE;IAC7E;AAEA,IAAA,SAAS,CAAC,MAAwB,EAAE,KAAK,GAAG,YAAY,EAAA;QACtD,MAAM,aAAa,GAAG,CAAA,OAAA,EAAU,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA,CAAE;AACvD,QAAA,MAAM,mBAAmB,GAAG,CAAC,IAAI,KAAK,CAAA,YAAA,CAAc,CAAC;QACrD,MAAM,SAAS,GAAG,CAAA,EAAG,KAAK,KAAK,aAAa,CAAA,oBAAA,EAAuB,KAAK,CAAA,qBAAA,CAAuB;QAC/F,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE;QACtD,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE;IAC5E;IAEA,QAAQ,CAAC,KAAK,GAAG,WAAW,EAAA;QAC1B,MAAM,aAAa,GAAG,CAAA,OAAA,EAAU,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA,CAAE;QACvD,MAAM,WAAW,GAAG,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA,CAAE;QACvD,MAAM,mBAAmB,GAAa,EAAE;AACxC,QAAA,MAAM,SAAS,GAAG,CAAA,EAAG,WAAW,CAAA,EAAA,EAAK,aAAa,+BAA+B;QACjF,MAAM,SAAS,GAAG,EAAE;QACpB,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE;IAC5E;AACD;;MCjBY,mBAAmB,CAAA;AACC,IAAA,MAAA;AAA/B,IAAA,WAAA,CAA+B,MAAmB,EAAA;QAAnB,IAAA,CAAA,MAAM,GAAN,MAAM;IAAiB;AAEtD,IAAA,KAAK,CAAC,IAAwC,EAAE,EAC9C,aAAa,GAAG,UAAU,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EACjD,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAC3B,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAC7B,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EACtC,KAAK,GAAG,aAAa,MACV,EAAE,EAAA;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACrC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;AAClE,QAAA,MAAM,mBAAmB,GAAG;AAC1B,YAAA,CAAA,CAAA,EAAI,KAAK,CAAA,QAAA,EAAW,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA,cAAA,CAAgB;AACzD,YAAA,CAAA,CAAA,EAAI,KAAK,CAAA,YAAA,EAAe,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA,aAAA;SAC9C;AACD,QAAA,MAAM,SAAS,GAAG,CAAA,EAAG,KAAK,CAAA,EAAA,EAAK,aAAa,gBAAgB,KAAK,CAAA,sBAAA,EAAyB,KAAK,CAAA,wCAAA,EAA2C,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;AAC3K,QAAA,MAAM,SAAS,GAAG,EAAE,CAAC,CAAA,EAAG,KAAK,QAAQ,GAAG,MAAM,EAAE,CAAC,GAAG,KAAK,CAAA,UAAA,CAAY,GAAG,UAAU,EAAE;QACpF,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE;IAC5E;AAEA,IAAA,SAAS,CAAC,QAAa,EAAE,EACvB,aAAa,GAAG,UAAU,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EACjD,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAC3B,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAC7B,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EACtC,KAAK,GAAG,MAAM,KACH,EAAE,EAAA;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;AAC3C,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAQ,EAAE,UAAU,EAAE,OAAO,CAAC;AAChF,QAAA,MAAM,mBAAmB,GAAG;AAC1B,YAAA,CAAA,CAAA,EAAI,KAAK,CAAA,UAAA,EAAa,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA,gBAAA,CAAkB;AAC7D,YAAA,CAAA,CAAA,EAAI,KAAK,CAAA,YAAA,EAAe,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA,aAAA;SAC9C;QACD,MAAM,SAAS,GAAG,CAAA,EAAG,KAAK,KAAK,aAAa,CAAA,WAAA,EAAc,KAAK,CAAA,sBAAA,EAAyB,KAAK,CAAA;AAC/D,gCAAA,EAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;MACvD;AACF,QAAA,MAAM,SAAS,GAAG,EAAE,CAAC,CAAA,EAAG,KAAK,SAAS,GAAG,OAAO,EAAE,CAAC,GAAG,KAAK,CAAA,UAAA,CAAY,GAAG,UAAU,EAAE;AACtF,QAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE;IAC3F;AAEU,IAAA,WAAW,CAAC,IAAwC,EAAA;AAC5D,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;AACtC,QAAA,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,OAAO,KAAK,KAAK,WAAW,CAAgD;IAC/G;AAEU,IAAA,YAAY,CAAC,KAA2C,EAAA;AAChE,QAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACpD;AAEU,IAAA,eAAe,CAAC,IAAwC,EAAE,UAAkB,EAAE,OAAiB,EAAA;AACvG,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAClD,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvE,QAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE;IACtD;AACD;;MChEY,qBAAqB,CAAA;AACD,IAAA,MAAA;AAA/B,IAAA,WAAA,CAA+B,MAAmB,EAAA;QAAnB,IAAA,CAAA,MAAM,GAAN,MAAM;IAAiB;AAEtD,IAAA,KAAK,CAAC,IAAiC,EAAE,KAAK,GAAG,QAAQ,EAAA;QACvD,MAAM,YAAY,GAAG,CAAA,OAAA,EAAU,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA,CAAE;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACrC,QAAA,MAAM,mBAAmB,GAAG,CAAC,CAAA,CAAA,EAAI,KAAK,aAAa,EAAE,CAAA,CAAA,EAAI,KAAK,CAAA,QAAA,EAAW,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA,WAAA,CAAa,CAAC;QAC5G,MAAM,SAAS,GAAG,CAAA,EAAG,KAAK,CAAA,EAAA,EAAK,YAAY,CAAA,oBAAA,EAAuB,KAAK,CAAA,YAAA,EAAe,KAAK,CAAA,0CAAA,CAA4C;QACvI,MAAM,SAAS,GAAG,EAAE,CAAC,GAAG,KAAK,CAAA,EAAA,CAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA,EAAG,KAAK,QAAQ,GAAG,MAAM,EAAE;AACzE,QAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE;IAC1F;AAEA,IAAA,SAAS,CACP,IAAkB,EAClB,KAAK,GAAG,YAAY,EAAA;QAEpB,MAAM,YAAY,GAAG,CAAA,OAAA,EAAU,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA,KAAA,CAAO;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACvC,QAAA,MAAM,mBAAmB,GAAG,CAAC,CAAA,CAAA,EAAI,KAAK,CAAA,UAAA,EAAa,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA,WAAA,CAAa,CAAC;QACtF,MAAM,SAAS,GAAG,CAAA,EAAG,KAAK,KAAK,YAAY,CAAA,WAAA,EAAc,KAAK,CAAA,2CAAA,CAA6C;QAC3G,MAAM,SAAS,GAAG,EAAE,CAAC,CAAA,EAAG,KAAK,CAAA,OAAA,CAAS,GAAG,OAAO,EAAE;AAClD,QAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE;IAC1F;AAEU,IAAA,WAAW,CAAC,IAAgB,EAAA;AACpC,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AACjC,QAAA,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,OAAO,KAAK,KAAK,WAAW,CAAC;IAChE;AAEU,IAAA,YAAY,CAAC,KAAmB,EAAA;AACxC,QAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjG;AACD;;MC9BY,qBAAqB,CAAA;AACvB,IAAA,MAAM;AACN,IAAA,MAAM;AACN,IAAA,IAAI;AACJ,IAAA,OAAO;AAEhB,IAAA,WAAA,CAAY,MAAmB,EAAA;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAqB,CAAC,MAAM,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAqB,CAAC,MAAM,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAqB,CAAC,MAAM,CAAC;IAClD;AACD;;MCdY,uBAAuB,CAAA;AACzB,IAAA,SAAS;AACT,IAAA,OAAO;AAEhB,IAAA,WAAA,CAAY,MAAmB,EAAA;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAqB,CAAC,MAAM,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC;IAC3C;AACD;;MCTY,kBAAkB,CAAA;AACpB,IAAA,KAAK;AAEd,IAAA,WAAA,CAAY,MAAmB,EAAA;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,uBAAuB,CAAC,MAAM,CAAC;IAClD;AAGA,IAAA,UAAU,CAAC,IAA0B,EAAA;AACnC,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,GAAG,CAAA,EAAG,IAAI,CAAC,aAAa,CAAA,CAAA,CAAG,GAAG,EAAE;QAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE;QACxG,OAAO,CAAA,MAAA,EAAS,gBAAgB,CAAA,EAAG,YAAY,KAAK,IAAI,CAAC,SAAS,CAAA,EAAA,CAAI;IACxE;IAEA,OAAO,aAAa,CAAC,IAA0B,EAAA;AAC7C,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,GAAG,CAAA,EAAG,IAAI,CAAC,aAAa,CAAA,CAAA,CAAG,GAAG,EAAE;QAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE;QACxG,OAAO,CAAA,SAAA,EAAY,gBAAgB,CAAA,EAAG,YAAY,MAAM,IAAI,CAAC,SAAS,CAAA,EAAA,CAAI;IAC5E;AAEA,IAAA,aAAa,CAAC,IAA0B,EAAA;AACtC,QAAA,OAAO,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC;IAC/C;AAEA,IAAA,qBAAqB,CAAC,KAA6B,EAAA;QACjD,MAAM,aAAa,GAAG,CAAA,WAAA,CAAa;QACnC,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAc,CAAC;AACxG,QAAA,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;AACjD,QAAA,MAAM,KAAK,GAAG,CAAA,SAAA,EAAY,aAAa,CAAA,EAAA,EAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAE,CAAA,IAAA,EAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC/G,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,EAAyB,CAAC;AACnG,QAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;IAC7B;AACD;;MCvBY,aAAa,CAAA;AACL,IAAA,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;AACpC,IAAA,mBAAmB,GAAG,MAAM,CAAC,0BAA0B,CAAC;AACxD,IAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;IAEjD,eAAe,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC;IAC7E;IAEA,SAAS,CAGP,EACA,KAAK,EACL,SAAS,EACT,WAAW,GAAG,cAAc,EAC5B,OAAO,EAMR,EAAA;AACC,QAAA,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAChC,SAAS,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,CAAgB;AACpD,YAAA,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC;AAC9B,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,WAAW,EAAE,WAAW;YACxB;SACD,CAAC,CAAC,CACJ;IACH;AAEA,IAAA,MAAM,MAAM,CAAU,GAAG,IAAsC,EAAA;QAC7D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;AAC1D,QAAA,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAI;AAC3D,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;AAClC,YAAA,MAAM,KAAK;AACb,QAAA,CAAC,CAAC;IACJ;IAEA,MAAM,iBAAiB,CAAU,IAA0B,EAAA;QACzD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC;QACvD,OAAO,IAAI,CAAC,MAAM,CAAI;AACpB,YAAA,QAAQ,EAAE,GAAG,CAAA,CAAA,EAAG,QAAQ,CAAA,CAAE;YAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;AACnB,SAAA,CAAC,CAAC,IAAI,CAAC,CAAC,GAAQ,KAAI;AAC1B,YAAA,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC;AACpD,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,MAAM,KAAK,CAAU,GAAG,IAAqC,EAAA;QAC3D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;;AAE1D,QAAA,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI;AACtB,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,GAAG,OAAO;AACV,YAAA,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI;SACtC;AACD,QAAA,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAI;AAC/D,YAAA,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC;AACpD,YAAA,MAAM,KAAK;AACb,QAAA,CAAC,CAAkC;IACrC;;AAGA,IAAA,UAAU,CAAsE,OAI/E,EAAA;QACC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,GAAG,UAAU,EAAE,GAAG,OAAO;AAC9D,QAAA,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAChC,SAAS,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,CAAC;YACtC,KAAK;YACL,SAAS;YACT;AACM,SAAA,CAAC,CAAC,YAAY,CAAC,CACxB;IACH;uGA/EW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAb,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cADA,MAAM,EAAA,CAAA;;2FACnB,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACF5B,MAAgB,iBAA0C,SAAQ,UAAa,CAAA;AAMnF,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,CAAA,EAAG,IAAI,CAAC,SAAS,OAAO;IACjC;IAEA,eAAe,GAAA;QACb,OAAO,IAAI,kBAAkB,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;IAC1G;IAEA,MAAM,GAAG,CAAC,MAAoB,EAAA;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAC,CAAC;AAC5E,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACvB,YAAA,KAAK,EAAEC,KAAG,CAAA,CAAA,EAAG,IAAI,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA,CAAE;YACtD,SAAS,EAAE,IAAI,CAAC,SAAS;AACzB,YAAA,WAAW,EAAE,cAAc;SACrB;aACL,IAAI,CAAC,CAAC,GAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAChF;AAEA,IAAA,MAAM,IAAI,GAAA;AACR,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE;AACjE,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACvB,YAAA,KAAK,EAAEA,KAAG,CAAA,CAAA,EAAG,IAAI,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA,CAAE;AACtD,YAAA,WAAW,EAAE;SACP,CAAC,CAAC,IAAI,CAAC,CAAC,GAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAC3F;IAEA,WAAW,GAAA;AACT,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QACrD,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,EAAEA,KAAG,CAAA,CAAA,EAAG,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CACxE,GAAG,CAAC,CAAC,GAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAC/E;IACH;IAEA,MAAM,MAAM,CAAC,IAAwE,EAAA;QACnF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAS,CAAC;AACpD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,SAAgB,CAAC;AAClF,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAG;AACvD,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACvD,QAAA,CAAC,CAAC;IACJ;IAEA,MAAM,UAAU,CAAC,IAAiD,EAAA;QAChE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAW,CAAC;AACtD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,KAAc,CAAC;AACpF,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAI;YACzD,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC;AACxD,QAAA,CAAC,CAAC;IACJ;IAEA,MAAM,MAAM,CAAC,IAA+B,EAAA;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAS,CAAC;AAC/C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAW,CAAC;AAC7E,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAK,EAAE,CAAC,CAAC;IAC3D;IAEA,MAAM,UAAU,CAAC,IAAkB,EAAA;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAW,CAAC;AACtD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,KAAc,CAAC;AACpF,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAK,EAAE,CAAC,CAAC;IAClG;IAEA,MAAM,MAAM,CAAC,MAAoB,EAAA;AAC/B,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;AACzE,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAK,EAAE,CAAC,CAAC;IAC3D;IAEA,MAAM,UAAU,CAAC,MAAsB,EAAA;AACrC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;QAC7E,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,aAAa,CAAC;IACnF;AAEA,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE;AACtE,QAAA,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AAC5B,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAK,EAAE,CAAC,CAAC;IAC3D;IAEA,MAAM,IAAI,CAAC,IAAgB,EAAA;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAS,CAAC;AAC/C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAW,CAAC;QAC3E,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5E;IAEA,MAAM,QAAQ,CAAC,QAAa,EAAA;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAe,CAAC;AAC1D,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAc,CAAC;AAClF,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAK,EAAE,CAAC,CAAC;IAC3D;AACD;AAGK,MAAgB,gBAAyC,SAAQ,iBAAoB,CAAA;AAC/E,IAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;uGADpB,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAhB,gBAAgB,EAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBADrC;;AAKK,SAAU,mBAAmB,CAA2B,MAAe,EAAE,IAA6B,EAAA;IAC1G,MAAM,UAAW,SAAQ,iBAAoB,CAAA;AACjC,QAAA,MAAM,GAAG,IAAI,CAAC,MAAM;AACpB,QAAA,SAAS,GAAG,YAAY,CAAI,MAAM,CAAC;AACpC,QAAA,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC;QAChC,aAAa,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC9D;IACD,OAAO,IAAI,UAAU,EAAE;AACzB;AAEM,SAAU,sBAAsB,CAA2B,MAAe,EAAA;AAC9E,IAAA,OAAO,mBAAmB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AACvE;;AC3HA;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,34 +1,34 @@
1
1
  {
2
2
  "name": "@nx-ddd/hasura",
3
- "version": "19.25.0",
3
+ "version": "19.26.0",
4
4
  "license": "MIT",
5
5
  "peerDependencies": {
6
- "@nx-ddd/core": "19.25.0"
6
+ "@nx-ddd/core": "19.26.0"
7
7
  },
8
8
  "dependencies": {
9
9
  "tslib": "^2.3.0"
10
10
  },
11
11
  "module": "fesm2022/nx-ddd-hasura.mjs",
12
- "typings": "index.d.ts",
12
+ "typings": "types/nx-ddd-hasura.d.ts",
13
13
  "exports": {
14
14
  "./package.json": {
15
15
  "default": "./package.json"
16
16
  },
17
17
  ".": {
18
- "types": "./index.d.ts",
18
+ "types": "./types/nx-ddd-hasura.d.ts",
19
19
  "default": "./fesm2022/nx-ddd-hasura.mjs"
20
20
  },
21
+ "./apollo/link": {
22
+ "types": "./types/nx-ddd-hasura-apollo-link.d.ts",
23
+ "default": "./fesm2022/nx-ddd-hasura-apollo-link.mjs"
24
+ },
21
25
  "./browser": {
22
- "types": "./browser/index.d.ts",
26
+ "types": "./types/nx-ddd-hasura-browser.d.ts",
23
27
  "default": "./fesm2022/nx-ddd-hasura-browser.mjs"
24
28
  },
25
29
  "./server": {
26
- "types": "./server/index.d.ts",
30
+ "types": "./types/nx-ddd-hasura-server.d.ts",
27
31
  "default": "./fesm2022/nx-ddd-hasura-server.mjs"
28
- },
29
- "./apollo/link": {
30
- "types": "./apollo/link/index.d.ts",
31
- "default": "./fesm2022/nx-ddd-hasura-apollo-link.mjs"
32
32
  }
33
33
  },
34
34
  "sideEffects": false
@@ -29,4 +29,4 @@ declare class ApolloLinkService {
29
29
 
30
30
  export { ApolloLinkService, resolve, wrap };
31
31
  export type { GetHeaders };
32
- //# sourceMappingURL=index.d.ts.map
32
+ //# sourceMappingURL=nx-ddd-hasura-apollo-link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nx-ddd-hasura-apollo-link.d.ts","sources":["../../../../../packages/@nx-ddd/hasura/src/lib/apollo/link/links.ts","../../../../../packages/@nx-ddd/hasura/src/lib/apollo/link/link.service.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;AAEA;AACM;AAEN;AAMA;;ACOA;;AAGE;;;;;;;AAA4C;AAE5C;;;;;;;AAwCD;;;"}
@@ -6,4 +6,4 @@ import { Provider } from '@angular/core';
6
6
  declare function provideHasuraBrowser(): Provider[];
7
7
 
8
8
  export { provideHasuraBrowser };
9
- //# sourceMappingURL=index.d.ts.map
9
+ //# sourceMappingURL=nx-ddd-hasura-browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nx-ddd-hasura-browser.d.ts","sources":["../../../../../packages/@nx-ddd/hasura/src/lib/browser/providers.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;;AAEG;AACH,iBAAA,oBAAA,IAAA,QAAA;;;;"}
@@ -6,4 +6,4 @@ import { Provider } from '@angular/core';
6
6
  declare function provideHasuraServer(): Provider[];
7
7
 
8
8
  export { provideHasuraServer };
9
- //# sourceMappingURL=index.d.ts.map
9
+ //# sourceMappingURL=nx-ddd-hasura-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nx-ddd-hasura-server.d.ts","sources":["../../../../../packages/@nx-ddd/hasura/src/lib/server/providers.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;;AAEG;AACH,iBAAA,mBAAA,IAAA,QAAA;;;;"}
@@ -243,13 +243,12 @@ declare function provideHasuraGetHeaders(useFactory: () => () => PromiseOrObserv
243
243
  * @deprecated use provideHasuraGetHeaders instead
244
244
  */
245
245
  declare const provideGraphqlHeaders: typeof provideHasuraGetHeaders;
246
+ /** @deprecated */
246
247
  declare function provideApolloOptions(): {
247
248
  provide: InjectionToken<any>;
248
- useFactory: (link: ApolloLink) => {
249
+ useFactory: () => {
249
250
  cache: InMemoryCache;
250
- link: ApolloLink;
251
251
  };
252
- deps: (typeof ApolloLink)[];
253
252
  };
254
253
  declare function provideHasura(config: HasuraConfig): (Provider | EnvironmentProviders)[];
255
254
  declare function provideHasuraWithWebSocket(config: HasuraConfig): (Provider | EnvironmentProviders)[];
@@ -386,7 +385,7 @@ declare class HasuraQueryBuilder<E extends {
386
385
  declare class HasuraService {
387
386
  protected readonly getHeaders: _nx_ddd_hasura.GetHeaders;
388
387
  protected readonly apolloClientManager: ApolloClientManagerService;
389
- protected readonly config: HasuraConfig;
388
+ protected readonly config: _nx_ddd_hasura.HasuraConfig;
390
389
  getApolloClient(): Observable<ApolloBase<any>>;
391
390
  subscribe<T = any, TVariables extends OperationVariables = OperationVariables>({ query, variables, fetchPolicy, context }: {
392
391
  query: any;
@@ -456,4 +455,4 @@ declare function injectHasuraRepository<E extends {
456
455
 
457
456
  export { ApolloClientManagerService, ApolloLinkService, ApolloMultiService, GET_APOLLO_CLIENT, GRAPHQL_HEADERS, HASURA_CONFIG, Hasura, HasuraInterceptor, HasuraQueryBuilder, HasuraRepository, HasuraService, HasuraUtils, _HasuraRepository, deepCamelToSnakeCase, deepSnakeToCamelCase, fromHasura, fromHasuraLocation, getConverter, getFieldAnnotationMap, getFields, getFlattenFieldAnnotations, getHasuraRepository, getTableName, injectHasuraRepository, makeConverter, provideApolloOptions, provideGraphqlHeaders, provideHasura, provideHasuraConfig, provideHasuraGetHeaders, provideHasuraWithWebSocket, resolve, toDate, toHasura, toHasuraLocation, toNumber, toTimestamp, wrap };
458
457
  export type { GetApolloClient, GetHeaders, HasuraConfig, HasuraConverter, TableConfig, TransactionQueryPart };
459
- //# sourceMappingURL=index.d.ts.map
458
+ //# sourceMappingURL=nx-ddd-hasura.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nx-ddd-hasura.d.ts","sources":["../../../../../packages/@nx-ddd/hasura/src/lib/hasura.config.ts","../../../../../packages/@nx-ddd/hasura/src/lib/apollo/multi/multi.service.ts","../../../../../packages/@nx-ddd/hasura/src/lib/apollo/link/links.ts","../../../../../packages/@nx-ddd/hasura/src/lib/apollo/link/link.service.ts","../../../../../packages/@nx-ddd/hasura/src/lib/apollo/client-manager/client-manager.service.ts","../../../../../packages/@nx-ddd/hasura/src/lib/converter/types.ts","../../../../../packages/@nx-ddd/hasura/src/lib/converter/from-hasura.ts","../../../../../packages/@nx-ddd/hasura/src/lib/converter/to-hasura.ts","../../../../../packages/@nx-ddd/hasura/src/lib/converter/type-converters.ts","../../../../../packages/@nx-ddd/hasura/src/lib/converter/case-converters.ts","../../../../../packages/@nx-ddd/hasura/src/lib/converter/converter.ts","../../../../../packages/@nx-ddd/hasura/src/lib/decorators/decorators.ts","../../../../../packages/@nx-ddd/hasura/src/lib/hasura.di.ts","../../../../../packages/@nx-ddd/hasura/src/lib/hasura.interceptor.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/_meta/graphql-query-part.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/mutations/create.builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/mutations/delete.builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/mutations/save.builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/mutations/update.builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/mutations/mutations.builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/queries/get.builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/queries/queries.builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/parts.builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/builders/query-builder.ts","../../../../../packages/@nx-ddd/hasura/src/lib/hasura.service.ts","../../../../../packages/@nx-ddd/hasura/src/lib/hasura.repository.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAQC;AAED;AAEA;;ACHA;AACA;;AAGE;AAEA;;;;AAkBD;AAGK;;AAA4C;AAClD;;ACnCA;AACM;AAEN;AAMA;;ACOA;;AAGE;;;;;;;AAA4C;AAE5C;;;;;;;AAwCD;;ACxDD;;AAGE;AACA;AAEgB;AAiBhB;;;AAoBD;;AClDD;;AAEG;AACG;AACJ;;AAEA;;AAED;;ACiCD;;AAEG;AACH;;AC7BA;;AAEG;AACH;;AAEC;AAED;;AAEG;AACH;;ACrBA;;AAEG;AACH;AAUA;;AAEG;AACH;AAcA;;AAEG;AACH;AAOA;;AAEG;AACH;;;;;;;;;;;;AAUC;AAED;;AAEG;AACH;;AAEE;;AAEE;;;;AAIF;AACD;;;AAMA;;AC3ED;;AAEG;AACH;AAOA;;AAK4F;AAG5F;;AAEG;AACH;AAcA;;AAEG;AACH;AAKA;;AAK4F;AAU5F;;AAEG;AACH;;AClDA;;AAEG;AACH;AAiBA;AACA;AAEA;;;AAGG;AACH;;;;;;;;AAQC;;ACnCD;AAQA;AAiBA;;AAEE;;AAiCF;AAMA;AAhBuB;;;;;;;;;;;;;;;;;;;;;AAwBJ;;;;;;;;;;;;;;;;;;;;;;;;AC5EnB;AAEA;AAKA;AAQA;;AAEG;AACH;AAEA;AACA;;;;;AAKC;AAED;AAcA;;AChDA;;AAIE;;;AAQD;;;;;ACdC;;;AAID;;;;;AAOA;;ACXD;AAEA;;AAAyD;AAC3C;AAAmB;;AAW/B;AASA;AAMA;AAGD;;ACjCD;AACc;AAAmB;;;AAEnB;;;AAOoB;AAQhC;AAQD;;ACzBD;;;AAGE;AACA;;AAED;AAED;AACc;AAAmB;;;;;;;;;AAuDhC;;AChED;;AAAyD;AAC3C;AAAmB;AAE/B;;;AASA;;AAkBA;AAGD;;AC9BD;;AAA2D;AACzD;AACA;AACA;AACA;AAEY;AAMb;;AChBD;;AACyB;;;AAEG;AAO1B;AAKD;;ACAD;;AAAoD;AAClD;AAEa;;;;;AAOd;;ACvBD;;AAA6D;AAC3D;AACA;AAEY;AAIb;;ACTD;;AAAsD;AACpD;AAEY;AAKZ;AAMA;AAMA;AAIA;;AAAsE;AAA+B;AAQtG;;ACxBD;AAEE;AACA;AACA;AAEA;;;;;;AAiBC;AAWK;AAQA;;AAyBN;;;;;;;AAcD;;ACnFD;;AAA8D;AAC5D;;AAEA;AACA;;;;;;;AAU8B;AAUxB;AAQN;;AAgBM;AAQA;;;AAMA;;;;;;AAW+B;AAK/B;AAMA;;AAWP;AAED;;AAC6D;;;;AAE5D;AAED;;;;AAA4G;AAU5G;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../../../../../packages/@nx-ddd/hasura/src/lib/apollo/link/links.ts","../../../../../../packages/@nx-ddd/hasura/src/lib/apollo/link/link.service.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;AAEA;AACM;AAEN;AAMA;;ACOA;;AAGE;;;;;;;AAA4C;AAE5C;;;;;;;AAwCD;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../../../../packages/@nx-ddd/hasura/src/lib/browser/providers.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;;AAEG;AACH,iBAAA,oBAAA,IAAA,QAAA;;;;"}
package/index.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../../../packages/@nx-ddd/hasura/src/lib/hasura.config.ts","../../../../packages/@nx-ddd/hasura/src/lib/apollo/multi/multi.service.ts","../../../../packages/@nx-ddd/hasura/src/lib/apollo/link/links.ts","../../../../packages/@nx-ddd/hasura/src/lib/apollo/link/link.service.ts","../../../../packages/@nx-ddd/hasura/src/lib/apollo/client-manager/client-manager.service.ts","../../../../packages/@nx-ddd/hasura/src/lib/converter/types.ts","../../../../packages/@nx-ddd/hasura/src/lib/converter/from-hasura.ts","../../../../packages/@nx-ddd/hasura/src/lib/converter/to-hasura.ts","../../../../packages/@nx-ddd/hasura/src/lib/converter/type-converters.ts","../../../../packages/@nx-ddd/hasura/src/lib/converter/case-converters.ts","../../../../packages/@nx-ddd/hasura/src/lib/converter/converter.ts","../../../../packages/@nx-ddd/hasura/src/lib/decorators/decorators.ts","../../../../packages/@nx-ddd/hasura/src/lib/hasura.di.ts","../../../../packages/@nx-ddd/hasura/src/lib/hasura.interceptor.ts","../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/_meta/graphql-query-part.ts","../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/mutations/create.builder.ts","../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/mutations/delete.builder.ts","../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/mutations/save.builder.ts","../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/mutations/update.builder.ts","../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/mutations/mutations.builder.ts","../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/queries/get.builder.ts","../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/queries/queries.builder.ts","../../../../packages/@nx-ddd/hasura/src/lib/builders/parts/parts.builder.ts","../../../../packages/@nx-ddd/hasura/src/lib/builders/query-builder.ts","../../../../packages/@nx-ddd/hasura/src/lib/hasura.service.ts","../../../../packages/@nx-ddd/hasura/src/lib/hasura.repository.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAQC;AAED;AAEA;;ACHA;AACA;;AAGE;AAEA;;;;AAkBD;AAGK;;AAA4C;AAClD;;ACnCA;AACM;AAEN;AAMA;;ACOA;;AAGE;;;;;;;AAA4C;AAE5C;;;;;;;AAwCD;;ACxDD;;AAGE;AACA;AAEgB;AAiBhB;;;AAoBD;;AClDD;;AAEG;AACG;AACJ;;AAEA;;AAED;;ACiCD;;AAEG;AACH;;AC7BA;;AAEG;AACH;;AAEC;AAED;;AAEG;AACH;;ACrBA;;AAEG;AACH;AAUA;;AAEG;AACH;AAcA;;AAEG;AACH;AAOA;;AAEG;AACH;;;;;;;;;;;;AAUC;AAED;;AAEG;AACH;;AAEE;;AAEE;;;;AAIF;AACD;;;AAMA;;AC3ED;;AAEG;AACH;AAOA;;AAK4F;AAG5F;;AAEG;AACH;AAcA;;AAEG;AACH;AAKA;;AAK4F;AAU5F;;AAEG;AACH;;AClDA;;AAEG;AACH;AAiBA;AACA;AAEA;;;AAGG;AACH;;;;;;;;AAQC;;ACnCD;AAQA;AAiBA;;AAEE;;AAiCF;AAMA;AAhBuB;;;;;;;;;;;;;;;;;;;;;AAwBJ;;;;;;;;;;;;;;;;;;;;;;;;AC7EnB;AAEA;AAKA;AAQA;;AAEG;AACH;AAEA;;;;;;;AAMC;AAED;AAUA;;AC3CA;;AAIE;;;AAQD;;;;;ACdC;;;AAID;;;;;AAOA;;ACXD;AAEA;;AAAyD;AAC3C;AAAmB;;AAW/B;AASA;AAMA;AAGD;;ACjCD;AACc;AAAmB;;;AAEnB;;;AAOoB;AAQhC;AAQD;;ACzBD;;;AAGE;AACA;;AAED;AAED;AACc;AAAmB;;;;;;;;;AAuDhC;;AChED;;AAAyD;AAC3C;AAAmB;AAE/B;;;AASA;;AAkBA;AAGD;;AC9BD;;AAA2D;AACzD;AACA;AACA;AACA;AAEY;AAMb;;AChBD;;AACyB;;;AAEG;AAO1B;AAKD;;ACAD;;AAAoD;AAClD;AAEa;;;;;AAOd;;ACvBD;;AAA6D;AAC3D;AACA;AAEY;AAIb;;ACTD;;AAAsD;AACpD;AAEY;AAKZ;AAMA;AAMA;AAIA;;AAAsE;AAA+B;AAQtG;;ACxBD;AAEE;AACA;AACA;AAEA;;;;;;AAiBC;AAWK;AAQA;;AAyBN;;;;;;;AAcD;;ACnFD;;AAA8D;AAC5D;;AAEA;AACA;;;;;;;AAU8B;AAUxB;AAQN;;AAgBM;AAQA;;;AAMA;;;;;;AAW+B;AAK/B;AAMA;;AAWP;AAED;;AAC6D;;;;AAE5D;AAED;;;;AAA4G;AAU5G;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../../../../packages/@nx-ddd/hasura/src/lib/server/providers.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;;AAEG;AACH,iBAAA,mBAAA,IAAA,QAAA;;;;"}