@nx-ddd/hasura 19.2.1 → 19.3.1
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.
|
@@ -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/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();\n async buildClientName(endpoint, headers) {\n const data = new TextEncoder().encode(JSON.stringify(headers));\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvaGFzdXJhL3NyYy9saWIvYXBvbGxvL2NsaWVudC1tYW5hZ2VyL2NsaWVudC1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBYyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQWMsSUFBSSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlELE9BQU8sRUFBYyxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7QUFHOUUsTUFBTSxPQUFPLDBCQUEwQjtJQUM1QixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2QsV0FBVyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFbEMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxRQUFnQixFQUFFLE9BQStCO1FBQy9FLE1BQU0sSUFBSSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMvRCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RyxPQUFPLEdBQUcsUUFBUSxZQUFZLElBQUksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTLENBQUMsUUFBZ0IsRUFBRSxVQUFzQjtRQUNoRCxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDNUIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDMUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMzRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVyQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRTtvQkFDNUIsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUM7b0JBQ3ZELEtBQUssRUFBRSxJQUFJLGFBQWEsRUFBRTtpQkFDM0IsQ0FBQyxDQUFDO2dCQUNILE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsQ0FBQztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO3VHQS9CVSwwQkFBMEI7MkdBQTFCLDBCQUEwQixjQURkLE1BQU07OzJGQUNsQiwwQkFBMEI7a0JBRHRDLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFwb2xsbywgQXBvbGxvQmFzZSB9IGZyb20gXCJhcG9sbG8tYW5ndWxhclwiO1xuaW1wb3J0IHsgSW5NZW1vcnlDYWNoZSB9IGZyb20gXCJAYXBvbGxvL2NsaWVudC9jYWNoZVwiO1xuaW1wb3J0IHsgQXBvbGxvTGlua1NlcnZpY2UsIEdldEhlYWRlcnMsIHdyYXAgfSBmcm9tIFwiLi4vbGlua1wiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IENSWVBUTyB9IGZyb20gXCJAbngtZGRkL2NvbW1vbi9pbmZyYXN0cnVjdHVyZS9leHRlcm5hbHMvY3J5cHRvL3Rva2VuXCI7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIEFwb2xsb0NsaWVudE1hbmFnZXJTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgYXBvbGxvID0gaW5qZWN0KEFwb2xsbyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBsaW5rU2VydmljZSA9IGluamVjdChBcG9sbG9MaW5rU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjcnlwdG8gPSBDUllQVE8uaW5qZWN0KCk7XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkQ2xpZW50TmFtZShlbmRwb2ludDogc3RyaW5nLCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBkYXRhID0gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGhlYWRlcnMpKTtcbiAgICBjb25zdCBhcnJheUJ1ZmZlciA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5kaWdlc3QoJ1NIQS0yNTYnLCBkYXRhKTtcbiAgICBjb25zdCBoYXNoID0gQXJyYXkuZnJvbShuZXcgVWludDhBcnJheShhcnJheUJ1ZmZlcikpLm1hcChiID0+IGIudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsICcwJykpLmpvaW4oJycpO1xuICAgIHJldHVybiBgJHtlbmRwb2ludH0/aGVhZGVycz0ke2hhc2h9YDtcbiAgfVxuXG4gIGdldENsaWVudChlbmRwb2ludDogc3RyaW5nLCBnZXRIZWFkZXJzOiBHZXRIZWFkZXJzKTogT2JzZXJ2YWJsZTxBcG9sbG9CYXNlPGFueT4+IHtcbiAgICByZXR1cm4gd3JhcChnZXRIZWFkZXJzKCkpLnBpcGUoXG4gICAgICB0YWtlKDEpLFxuICAgICAgc3dpdGNoTWFwKGFzeW5jIChoZWFkZXJzKSA9PiB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBhd2FpdCB0aGlzLmJ1aWxkQ2xpZW50TmFtZShlbmRwb2ludCwgaGVhZGVycyk7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IHRoaXMuYXBvbGxvLnVzZShuYW1lKTtcblxuICAgICAgICBpZiAoIWNsaWVudCkge1xuICAgICAgICAgIHRoaXMuYXBvbGxvLnJlbW92ZUNsaWVudChuYW1lKTtcbiAgICAgICAgICB0aGlzLmFwb2xsby5jcmVhdGVOYW1lZChuYW1lLCB7XG4gICAgICAgICAgICBsaW5rOiB0aGlzLmxpbmtTZXJ2aWNlLmNyZWF0ZUxpbmsoZW5kcG9pbnQsIGdldEhlYWRlcnMpLFxuICAgICAgICAgICAgY2FjaGU6IG5ldyBJbk1lbW9yeUNhY2hlKClcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5hcG9sbG8udXNlKG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNsaWVudDtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==","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 getAnnotations,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvaGFzdXJhL3NyYy9saWIvZGVjb3JhdG9ycy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqRCxNQUFNLEVBQ0osZUFBZTtBQUNmLHdCQUF3QjtBQUN4QixhQUFhLEVBQ2IsY0FBYyxHQUNmLEdBQUcsc0JBQXNCLENBQ3hCLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUNyRyw4QkFBOEIsQ0FDL0IsQ0FBQztBQUVGLE1BQU0sVUFBVSxxQkFBcUIsQ0FBYSxDQUFNLEVBQUUsTUFBTSxHQUFHLEVBQUU7SUFDbkUsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRTtRQUNwRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUNsRyxPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUM5QyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7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R0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0MsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQWUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQztJQUN0RixPQUFRLFVBQWtCLENBQUMsSUFBSSxDQUFDO0FBQ2xDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUc7SUFDcEIsS0FBSyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQztJQUNwQyxJQUFJLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQztJQUM3QixTQUFTLEVBQUUsZUFBZSxDQUFDLFdBQVcsQ0FBQztJQUN2QyxJQUFJLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQztJQUM3QixPQUFPLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxPQUFPLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxPQUFPLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxHQUFHLEVBQUUsQ0FBQyxTQUFvQixFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEVBQUMsU0FBUyxFQUFDLENBQUMsRUFBRTtJQUNwRSxJQUFJLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQztJQUM3QixRQUFRLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQztJQUNyQyxjQUFjO0NBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1ha2VEZWNvcmF0b3JGYWN0b3JpZXMgfSBmcm9tIFwiQG54LWRkZC9jb3JlXCI7XG5pbXBvcnQgeyBjYW1lbENhc2UsIHNuYWtlQ2FzZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmNvbnN0IHtcbiAgY3JlYXRlRGVjb3JhdG9yLFxuICAvLyBjcmVhdGVDbGFzc0RlY29yYXRvcixcbiAgYWRkQW5ub3RhdGlvbixcbiAgZ2V0QW5ub3RhdGlvbnMsXG59ID0gbWFrZURlY29yYXRvckZhY3RvcmllcyhcbiAgKHR5cGUsIGZpZWxkTmFtZSwgcHJvcE5hbWUsIG9wdGlvbnMpID0+ICh7IHR5cGUsIGZpZWxkTmFtZSwgcHJvcE5hbWUsIGNoaWxkVHlwZTogb3B0aW9ucy5jaGlsZFR5cGUgfSksXG4gICdbQG54LWRkZC9oYXN1cmFdIGFubm90YXRpb25zJ1xuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpZWxkQW5ub3RhdGlvbk1hcDxBbm5vdGF0aW9uPihUOiBhbnksIHByZWZpeCA9ICcnKTogUmVjb3JkPHN0cmluZywgQW5ub3RhdGlvbj4ge1xuICBjb25zdCBhbm5vdGF0aW9ucyA9IEhhc3VyYS5nZXRBbm5vdGF0aW9ucyhUKTtcbiAgcmV0dXJuIChhbm5vdGF0aW9ucyA/PyBbXSkucmVkdWNlKChhY2MsIGFubm90YXRpb24pID0+IHtcbiAgICBjb25zdCBjdXJyZW50S2V5ID0gcHJlZml4ID8gY2FtZWxDYXNlKGAke3ByZWZpeH1fJHthbm5vdGF0aW9uLmZpZWxkTmFtZX1gKSA6IGFubm90YXRpb24uZmllbGROYW1lO1xuICAgIHJldHVybiB7IC4uLmFjYywgW2N1cnJlbnRLZXldOiBhbm5vdGF0aW9uIH07XG4gIH0sIHt9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZsYXR0ZW5GaWVsZEFubm90YXRpb25zPEFubm90YXRpb24+KFQ6IGFueSwgcHJlZml4ID0gJycpOiBSZWNvcmQ8c3RyaW5nLCBBbm5vdGF0aW9uPiB7XG4gIGNvbnN0IGFubm90YXRpb25zID0gSGFzdXJhLmdldEFubm90YXRpb25zKFQpO1xuICByZXR1cm4gKGFubm90YXRpb25zID8/IFtdKS5yZWR1Y2UoKGFjYywgYW5ub3RhdGlvbikgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnRLZXkgPSBwcmVmaXggPyBjYW1lbENhc2UoYCR7cHJlZml4fV8ke2Fubm90YXRpb24uZmllbGROYW1lfWApIDogYW5ub3RhdGlvbi5maWVsZE5hbWU7XG4gICAgaWYgKGFubm90YXRpb24uY2hpbGRUeXBlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5hY2MsXG4gICAgICAgIC4uLmdldEZsYXR0ZW5GaWVsZEFubm90YXRpb25zKGFubm90YXRpb24uY2hpbGRUeXBlKCksIGN1cnJlbnRLZXkpXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYWNjLFxuICAgICAgW2N1cnJlbnRLZXldOiBhbm5vdGF0aW9uXG4gICAgfTtcbiAgfSwge30pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmllbGRzKFQ6IGFueSwgb3B0aW9uczoge1xuICBwcmVmaXg/OiBzdHJpbmc7XG4gIGNhc2U/OiAnc25ha2UnIHwgJ2NhbWVsJztcbn0gPSB7XG4gIHByZWZpeDogJycsXG4gIGNhc2U6ICdzbmFrZSdcbn0pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGFubm90YXRpb25zID0gSGFzdXJhLmdldEFubm90YXRpb25zKFQpLmZpbHRlcigoYW5ub3RhdGlvbjogYW55KSA9PiBhbm5vdGF0aW9uLnR5cGUgIT09ICd0YWJsZScpO1xuICBjb25zdCBjaGFuZ2VDYXNlID0gb3B0aW9ucz8uY2FzZSA9PT0gJ3NuYWtlJyA/IHNuYWtlQ2FzZSA6IGNhbWVsQ2FzZTtcbiAgY29uc3QgZmllbGRzID0gKGFubm90YXRpb25zID8/IFtdKS5mbGF0TWFwKChhbm5vdGF0aW9uKSA9PiB7XG4gICAgY29uc3QgY3VycmVudEtleSA9IGNoYW5nZUNhc2Uob3B0aW9ucz8ucHJlZml4ID8gYCR7b3B0aW9ucz8ucHJlZml4fV8ke2Fubm90YXRpb24uZmllbGROYW1lfWAgOiBhbm5vdGF0aW9uLmZpZWxkTmFtZSk7XG4gICAgaWYgKGFubm90YXRpb24uY2hpbGRUeXBlKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5nZXRGaWVsZHMoYW5ub3RhdGlvbi5jaGlsZFR5cGUoKSwge1xuICAgICAgICAgIHByZWZpeDogY3VycmVudEtleSxcbiAgICAgICAgICBjYXNlOiBvcHRpb25zPy5jYXNlLFxuICAgICAgICB9KVxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIFtjdXJyZW50S2V5XTtcbiAgfSk7XG4gIHJldHVybiBmaWVsZHM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNsYXNzRGVjb3JhdG9yKHR5cGU6IHN0cmluZykge1xuICByZXR1cm4gKG5hbWVPclByb3BzOiB7IG5hbWU6IHN0cmluZyB9IHwgc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcHJvcHMgPSB0eXBlb2YgbmFtZU9yUHJvcHMgPT09ICdzdHJpbmcnID8geyBuYW1lOiBuYW1lT3JQcm9wcyB9IDogbmFtZU9yUHJvcHM7XG4gICAgcmV0dXJuICh0YXJnZXQ6IGFueSkgPT4ge1xuICAgICAgY29uc3QgbmFtZSA9IHByb3BzPy5uYW1lIHx8IHRhcmdldC5uYW1lO1xuICAgICAgY29uc3QgYW5ub3RhdGlvbiA9IHsgdHlwZSwgbmFtZSB9O1xuICAgICAgYWRkQW5ub3RhdGlvbih0YXJnZXQsIGFubm90YXRpb24gYXMgYW55KTtcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGFibGVOYW1lKHRhcmdldDogYW55KTogc3RyaW5nIHtcbiAgY29uc3QgYW5ub3RhdGlvbnMgPSBnZXRBbm5vdGF0aW9ucyh0YXJnZXQpO1xuICBjb25zdCBhbm5vdGF0aW9uID0gYW5ub3RhdGlvbnMuZmluZCgoYW5ub3RhdGlvbjogYW55KSA9PiBhbm5vdGF0aW9uLnR5cGUgPT09ICd0YWJsZScpO1xuICByZXR1cm4gKGFubm90YXRpb24gYXMgYW55KS5uYW1lO1xufVxuXG5leHBvcnQgY29uc3QgSGFzdXJhID0ge1xuICBUYWJsZTogY3JlYXRlQ2xhc3NEZWNvcmF0b3IoJ3RhYmxlJyksXG4gIFRleHQ6IGNyZWF0ZURlY29yYXRvcigndGV4dCcpLFxuICBUaW1lc3RhbXA6IGNyZWF0ZURlY29yYXRvcigndGltZXN0YW1wJyksXG4gIERhdGU6IGNyZWF0ZURlY29yYXRvcignZGF0ZScpLFxuICBJbnRlZ2VyOiBjcmVhdGVEZWNvcmF0b3IoJ2ludGVnZXInKSxcbiAgTnVtZXJpYzogY3JlYXRlRGVjb3JhdG9yKCdudW1lcmljJyksXG4gIEJvb2xlYW46IGNyZWF0ZURlY29yYXRvcignYm9vbGVhbicpLFxuICBNYXA6IChjaGlsZFR5cGU6ICgpID0+IGFueSkgPT4gY3JlYXRlRGVjb3JhdG9yKCdtYXAnLCB7Y2hpbGRUeXBlfSkoKSxcbiAgSlNPTjogY3JlYXRlRGVjb3JhdG9yKCdqc29uJyksXG4gIExvY2F0aW9uOiBjcmVhdGVEZWNvcmF0b3IoJ2xvY2F0aW9uJyksXG4gIGdldEFubm90YXRpb25zLFxufTtcbiJdfQ==","import { plainToInstanceWithValid } from '@nx-ddd/core';\nimport { get, snakeCase } from 'lodash-es';\nimport dayjs from 'dayjs';\nimport { format, parse } from 'date-fns';\nimport { formatInTimeZone } from 'date-fns-tz';\nimport { getFieldAnnotationMap } from '../decorators';\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}\nfunction camelCase(str) {\n return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());\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}\nexport function getConverter(type) {\n return {\n toHasura(entity) {\n return HasuraUtils.toHasura(entity, type);\n },\n toHasuraMany(entities) {\n return entities.map((entity) => this.toHasura(entity));\n },\n fromHasura(entity) {\n return HasuraUtils.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;\nexport class HasuraUtils {\n static 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 static toDate(date) {\n if (typeof date === 'undefined') {\n return undefined;\n }\n else if (dayjs.isDayjs(date)) {\n // Dayjsオブジェクトの場合、既に適切なタイムゾーンで処理されているとみなす\n return date.format('YYYY-MM-DD');\n }\n else if (date instanceof Date) {\n // formatInTimeZoneを使用してローカルタイムゾーンで処理\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 static fromHasura(_object, type) {\n const fieldMap = getFieldAnnotationMap(type);\n // ネストされたmap型の再帰的復元\n function 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 // 再帰的にネストを復元\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 // 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': return { ...acc, [annotation.fieldName]: value };\n case 'timestamp': 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': return { ...acc, [annotation.fieldName]: value };\n case 'integer': return { ...acc, [annotation.fieldName]: value };\n case 'json': return { ...acc, [annotation.fieldName]: value };\n case 'location': return { ...acc, [annotation.fieldName]: this.fromHasuraLocation(value) };\n default: return { ...acc, [annotation.fieldName]: value };\n }\n }, {});\n return plainToInstanceWithValid(type, obj);\n }\n static 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 static 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 static fromHasuraLocation(location) {\n if (!location)\n return null;\n return {\n lat: location.coordinates?.[1],\n lng: location.coordinates?.[0],\n };\n }\n static 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': return { ...acc, [key]: value };\n case 'timestamp': return { ...acc, [key]: this.toTimestamp(value) };\n case 'date': return { ...acc, [key]: this.toDate(value) };\n case 'numeric': return { ...acc, [key]: this.toNumber(value) };\n case 'integer': return { ...acc, [key]: this.toNumber(value) };\n case 'json': return { ...acc, [key]: value };\n case 'map': {\n const childObj = this.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': return { ...acc, [key]: this.toHasuraLocation(value) };\n default: return { ...acc, [key]: value };\n }\n }, {});\n return extraFunc(obj);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9oYXN1cmEvc3JjL2xpYi9jb252ZXJ0ZXIvY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQXVCdEQsTUFBTSxVQUFVLG9CQUFvQixDQUFJLEdBQU07SUFDNUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUFFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBd0IsQ0FBQztJQUNwRixJQUFJLEdBQUcsWUFBWSxJQUFJO1FBQUUsT0FBTyxHQUEwQixDQUFDO0lBQzNELElBQUksR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUN2QixLQUFLLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7Z0JBQ2hELE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxvQkFBb0IsQ0FBRSxHQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBQ0QsT0FBTyxNQUFN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QUFDLENBQUM7b0JBQzdFLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUMxRixHQUFHLFFBQVE7d0JBQ1gsQ0FBQyxHQUFHLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVU7cUJBQ25DLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDUixPQUFPLEVBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxZQUFZLEVBQUMsQ0FBQztnQkFDbkMsQ0FBQztnQkFDRCxLQUFLLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4RSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUMzQyxDQUFDO1FBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1AsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGxhaW5Ub0luc3RhbmNlV2l0aFZhbGlkIH0gZnJvbSAnQG54LWRkZC9jb3JlJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdAbngtZGRkL2NvbW1vbi9kb21haW4nO1xuaW1wb3J0IHsgZ2V0LCBzbmFrZUNhc2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB7IGZvcm1hdCwgcGFyc2UgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBmb3JtYXRJblRpbWVab25lIH0gZnJvbSAnZGF0ZS1mbnMtdHonO1xuaW1wb3J0IHsgZ2V0RmllbGRBbm5vdGF0aW9uTWFwIH0gZnJvbSAnLi4vZGVjb3JhdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFzdXJhQ29udmVydGVyPEU+IHtcbiAgdG9IYXN1cmEoZW50aXR5OiBFKTogb2JqZWN0O1xuICB0b0hhc3VyYU1hbnkoZW50aXRpZXM6IEVbXSk6IG9iamVjdFtdO1xuICBmcm9tSGFzdXJhKGVudGl0eTogb2JqZWN0KTogRTtcbiAgZnJvbUhhc3VyYU1hbnkoZW50aXRpZXM6IG9iamVjdFtdKTogRVtdO1xufVxuXG50eXBlIENhbWVsVG9TbmFrZUNhc2U8UyBleHRlbmRzIHN0cmluZz4gPVxuICBTIGV4dGVuZHMgYCR7aW5mZXIgVH0ke2luZmVyIFV9YFxuICAgID8gVSBleHRlbmRzIFVuY2FwaXRhbGl6ZTxVPlxuICAgICAgPyBgJHtMb3dlcmNhc2U8VD59JHtDYW1lbFRvU25ha2VDYXNlPFU+fWBcbiAgICAgIDogYCR7TG93ZXJjYXNlPFQ+fV8ke0NhbWVsVG9TbmFrZUNhc2U8VT59YFxuICAgIDogUztcbnR5cGUgRGVlcENhbWVsVG9TbmFrZTxUPiA9IFQgZXh0ZW5kcyBEYXRlXG4gID8gVFxuICA6IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBVPlxuICA/IERlZXBDYW1lbFRvU25ha2U8VT5bXVxuICA6IFQgZXh0ZW5kcyBvYmplY3RcbiAgPyB7IFtLIGluIGtleW9mIFQgYXMgSyBleHRlbmRzIHN0cmluZyA/IENhbWVsVG9TbmFrZUNhc2U8Sz4gOiBLXTogRGVlcENhbWVsVG9TbmFrZTxUW0tdPiB9XG4gIDogVDtcblxuZXhwb3J0IGZ1bmN0aW9uIGRlZXBDYW1lbFRvU25ha2VDYXNlPFQ+KG9iajogVCk6IERlZXBDYW1lbFRvU25ha2U8VD4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSByZXR1cm4gb2JqLm1hcChkZWVwQ2FtZWxUb1NuYWtlQ2FzZSkgYXMgRGVlcENhbWVsVG9TbmFrZTxUPjtcbiAgaWYgKG9iaiBpbnN0YW5jZW9mIERhdGUpIHJldHVybiBvYmogYXMgRGVlcENhbWVsVG9TbmFrZTxUPjtcbiAgaWYgKG9iaiAmJiB0eXBlb2Ygb2JqID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKVxuICAgICAgICByZXN1bHRbc25ha2VDYXNlKGtleSldID0gZGVlcENhbWVsVG9TbmFrZUNhc2UoKG9iaiBhcyBhbnkpW2tleV0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIHJldHVybiBvYmogYXMgRGVlcENhbWVsVG9TbmFrZTxUPjtcbn1cblxudHlwZSBTbmFrZVRvQ2FtZWxDYXNlPFMgZXh0ZW5kcyBzdHJpbmc+ID1cbiAgUyBleHRlbmRzIGAke2luZmVyIFR9XyR7aW5mZXIgVX1gXG4gICAgPyBgJHtUfSR7Q2FwaXRhbGl6ZTxTbmFrZVRvQ2FtZWxDYXNlPFU+Pn1gXG4gICAgOiBTO1xudHlwZSBEZWVwU25ha2VUb0NhbWVsPFQ+ID0gVCBleHRlbmRzIERhdGVcbiAgPyBUXG4gIDogVCBleHRlbmRzIEFycmF5PGluZmVyIFU+XG4gID8gRGVlcFNuYWtlVG9DYW1lbDxVPltdXG4gIDogVCBleHRlbmRzIG9iamVjdFxuICA/IHsgW0sgaW4ga2V5b2YgVCBhcyBLIGV4dGVuZHMgc3RyaW5nID8gU25ha2VUb0NhbWVsQ2FzZTxLPiA6IEtdOiBEZWVwU25ha2VUb0NhbWVsPFRbS10+IH1cbiAgOiBUO1xuZnVuY3Rpb24gY2FtZWxDYXNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9fKFthLXpdKS9nLCAoXywgbGV0dGVyKSA9PiBsZXR0ZXIudG9VcHBlckNhc2UoKSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZGVlcFNuYWtlVG9DYW1lbENhc2U8VD4ob2JqOiBUKTogRGVlcFNuYWtlVG9DYW1lbDxUPiB7XG4gIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHJldHVybiBvYmoubWFwKGRlZXBTbmFrZVRvQ2FtZWxDYXNlKSBhcyBEZWVwU25ha2VUb0NhbWVsPFQ+O1xuICBpZiAob2JqIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuIG9iaiBhcyBEZWVwU25ha2VUb0NhbWVsPFQ+O1xuICBpZiAob2JqICYmIHR5cGVvZiBvYmogPT09IFwib2JqZWN0XCIpIHtcbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgICAgcmVzdWx0W2NhbWVsQ2FzZShrZXkpXSA9IGRlZXBTbmFrZVRvQ2FtZWxDYXNlKChvYmogYXMgYW55KVtrZXldKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICByZXR1cm4gb2JqIGFzIERlZXBTbmFrZVRvQ2FtZWw8VD47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb252ZXJ0ZXI8VD4odHlwZTogVHlwZTxUPik6IEhhc3VyYUNvbnZlcnRlcjxUPiB7XG4gIHJldHVybiB7XG4gICAgdG9IYXN1cmEoZW50aXR5OiBUKSB7XG4gICAgICByZXR1cm4gSGFzdXJhVXRpbHMudG9IYXN1cmEoZW50aXR5LCB0eXBlKTtcbiAgICB9LFxuICAgIHRvSGFzdXJhTWFueShlbnRpdGllczogVFtdKSB7XG4gICAgICByZXR1cm4gZW50aXRpZXMubWFwKChlbnRpdHkpID0+IHRoaXMudG9IYXN1cmEoZW50aXR5KSk7XG4gICAgfSxcbiAgICBmcm9tSGFzdXJhKGVudGl0eTogb2JqZWN0KSB7XG4gICAgICByZXR1cm4gSGFzdXJhVXRpbHMuZnJvbUhhc3VyYShlbnRpdHksIHR5cGUpIGFzIFQ7XG4gICAgfSxcbiAgICBmcm9tSGFzdXJhTWFueShlbnRpdGllczogb2JqZWN0W10pIHtcbiAgICAgIHJldHVybiBlbnRpdGllcy5tYXAoKGVudGl0eSkgPT4gdGhpcy5mcm9tSGFzdXJhKGVudGl0eSkpO1xuICAgIH0sXG4gIH1cbn1cblxuLyoqIEBkZXByZWNhdGVkIHVzZSBgZ2V0Q29udmVydGVyYCBpbnN0ZWFkICovXG5leHBvcnQgY29uc3QgbWFrZUNvbnZlcnRlciA9IGdldENvbnZlcnRlcjtcblxuZXhwb3J0IGNsYXNzIEhhc3VyYVV0aWxzIHtcbiAgc3RhdGljIHRvVGltZXN0YW1wKGRhdGU6IGRheWpzLkRheWpzIHwgRGF0ZSB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoZGF5anMuaXNEYXlqcyhkYXRlKSkge1xuICAgICAgcmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKTtcbiAgICB9IGVsc2UgaWYgKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICByZXR1cm4gZm9ybWF0KGRhdGUsICd5eXl5LU1NLWRkIEhIOm1tOnNzJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyB0b0RhdGUoZGF0ZTogZGF5anMuRGF5anMgfCBEYXRlIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgIGlmICh0eXBlb2YgZGF0ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIGlmIChkYXlqcy5pc0RheWpzKGRhdGUpKSB7XG4gICAgICAvLyBEYXlqc+OCquODluOCuOOCp+OCr+ODiOOBruWgtOWQiOOAgeaXouOBq+mBqeWIh+OBquOCv+OCpOODoOOCvuODvOODs+OBp+WHpueQhuOBleOCjOOBpuOBhOOCi+OBqOOBv+OBquOBmVxuICAgICAgcmV0dXJuIGRhdGUuZm9ybWF0KCdZWVlZLU1NLUREJyk7XG4gICAgfSBlbHNlIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgLy8gZm9ybWF0SW5UaW1lWm9uZeOCkuS9v+eUqOOBl+OBpuODreODvOOCq+ODq+OCv+OCpOODoOOCvuODvOODs+OBp+WHpueQhlxuICAgICAgcmV0dXJuIGZvcm1hdEluVGltZVpvbmUoZGF0ZSwgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lLCAneXl5eS1NTS1kZCcpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gZGF0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGZyb21IYXN1cmE8VD4oX29iamVjdDogYW55LCB0eXBlOiBUeXBlPFQ+KTogVCB7XG4gICAgY29uc3QgZmllbGRNYXAgPSBnZXRGaWVsZEFubm90YXRpb25NYXA8e1xuICAgICAgdHlwZTogJ3RleHQnIHwgJ3RpbWVzdGFtcCcgfCAnZGF0ZScgfCAnbnVtZXJpYycgfCAnaW50ZWdlcicgfCAnanNvbicgfCAnbWFwJyB8ICdsb2NhdGlvbic7XG4gICAgICBmaWVsZE5hbWU6IHN0cmluZztcbiAgICAgIGNoaWxkVHlwZT86ICgpID0+IGFueTtcbiAgICB9Pih0eXBlKTtcbiAgICAvLyDjg43jgrnjg4jjgZXjgozjgZ9tYXDlnovjga7lho3luLDnmoTlvqnlhYNcbiAgICBmdW5jdGlvbiBleHRyYWN0TmVzdGVkTWFwKG1hcEtleTogc3RyaW5nLCBjaGlsZFR5cGU6IGFueSwgb2JqZWN0OiBhbnkpOiBhbnkge1xuICAgICAgY29uc3QgY2hpbGRGaWVsZE1hcCA9IGdldEZpZWxkQW5ub3RhdGlvbk1hcDxhbnk+KGNoaWxkVHlwZSk7XG4gICAgICBjb25zdCBjaGlsZEZpZWxkczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgICAgT2JqZWN0LmVudHJpZXMoY2hpbGRGaWVsZE1hcCkuZm9yRWFjaCgoW2NoaWxkS2V5LCBjaGlsZEFubm90YXRpb25dKSA9PiB7XG4gICAgICAgIGlmIChjaGlsZEFubm90YXRpb24udHlwZSA9PT0gJ21hcCcpIHtcbiAgICAgICAgICAvLyDlho3luLDnmoTjgavjg43jgrnjg4jjgpLlvqnlhYNcbiAgICAgICAgICBjb25zdCBuZXN0ZWQgPSBleHRyYWN0TmVzdGVkTWFwKGAke21hcEtleX1fJHtjaGlsZEtleX1gLCBjaGlsZEFubm90YXRpb24uY2hpbGRUeXBlKCksIG9iamVjdCk7XG4gICAgICAgICAgaWYgKG5lc3RlZCAmJiBPYmplY3Qua2V5cyhuZXN0ZWQpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNoaWxkRmllbGRzW2NoaWxkQW5ub3RhdGlvbi5maWVsZE5hbWVdID0gbmVzdGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBmbGF0dGVuZWRLZXkgPSBgJHttYXBLZXl9XyR7Y2hpbGRLZXl9YDtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdldChvYmplY3QsIHNuYWtlQ2FzZShmbGF0dGVuZWRLZXkpKTtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY2hpbGRGaWVsZHNbY2hpbGRBbm5vdGF0aW9uLmZpZWxkTmFtZV0gPSB2YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGNoaWxkRmllbGRzO1xuICAgIH1cbiAgICBcbiAgICAvLyBGaXJzdCBleHRyYWN0IGFueSBmbGF0dGVuZWQgbWFwIGZpZWxkcyAoZS5nLiwgcHJvZmlsZV9iaW8pXG4gICAgY29uc3QgbmVzdGVkT2JqZWN0czogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYW55Pj4gPSB7fTtcbiAgICBPYmplY3QuZW50cmllcyhmaWVsZE1hcCkuZm9yRWFjaCgoW2tleSwgYW5ub3RhdGlvbl0pID0+IHtcbiAgICAgIGlmIChhbm5vdGF0aW9uLnR5cGUgPT09ICdtYXAnKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkVHlwZSA9IGFubm90YXRpb24uY2hpbGRUeXBlKCk7XG4gICAgICAgIGNvbnN0IG5lc3RlZCA9IGV4dHJhY3ROZXN0ZWRNYXAoa2V5LCBjaGlsZFR5cGUsIF9vYmplY3QpO1xuICAgICAgICBpZiAobmVzdGVkICYmIE9iamVjdC5rZXlzKG5lc3RlZCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIG5lc3RlZE9iamVjdHNbYW5ub3RhdGlvbi5maWVsZE5hbWVdID0gbmVzdGVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgXG4gICAgLy8gTm93IHByb2Nlc3MgYWxsIGZpZWxkcyBub3JtYWxseVxuICAgIGNvbnN0IG9iaiA9IE9iamVjdC5lbnRyaWVzKGZpZWxkTWFwKS5yZWR1Y2UoKGFjYywgW2tleSwgYW5ub3RhdGlvbl0pID0+IHtcbiAgICAgIC8vIEZvciBtYXAgdHlwZXMsIHVzZSBvdXIgcHJldmlvdXNseSBleHRyYWN0ZWQgbmVzdGVkIG9iamVjdHNcbiAgICAgIGlmIChhbm5vdGF0aW9uLnR5cGUgPT09ICdtYXAnKSB7XG4gICAgICAgIGNvbnN0IG5lc3RlZE9iaiA9IG5lc3RlZE9iamVjdHNbYW5ub3RhdGlvbi5maWVsZE5hbWVdO1xuICAgICAgICBpZiAobmVzdGVkT2JqKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCBbYW5ub3RhdGlvbi5maWVsZE5hbWVdOiBuZXN0ZWRPYmogfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuICAgICAgY29uc3QgdmFsdWUgPSBnZXQoX29iamVjdCwgc25ha2VDYXNlKGtleSkpO1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBhY2M7XG4gICAgICBzd2l0Y2ggKGFubm90YXRpb24udHlwZSkge1xuICAgICAgICBjYXNlICd0ZXh0JzogcmV0dXJuIHsgLi4uYWNjLCBbYW5ub3RhdGlvbi5maWVsZE5hbWVdOiB2YWx1ZSB9O1xuICAgICAgICBjYXNlICd0aW1lc3RhbXAnOiByZXR1cm4geyAuLi5hY2MsIFthbm5vdGF0aW9uLmZpZWxkTmFtZV06IHZhbHVlID09PSBudWxsID8gbnVsbCA6IHBhcnNlKHZhbHVlLCAneXl5eS1NTS1kZCBISDptbTpzcycsIG5ldyBEYXRlKCkpIH07XG4gICAgICAgIGNhc2UgJ2RhdGUnOiB7XG4gICAgICAgICAgY29uc3QgcGFyc2VkRGF0ZSA9IHZhbHVlID09PSBudWxsID8gbnVsbCA6IHBhcnNlKHZhbHVlLCAneXl5eS1NTS1kZCcsIG5ldyBEYXRlKCkpO1xuICAgICAgICAgIHJldHVybiB7IC4uLmFjYywgW2Fubm90YXRpb24uZmllbGROYW1lXTogcGFyc2VkRGF0ZSB9O1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ251bWVyaWMnOiByZXR1cm4geyAuLi5hY2MsIFthbm5vdGF0aW9uLmZpZWxkTmFtZV06IHZhbHVlIH07XG4gICAgICAgIGNhc2UgJ2ludGVnZXInOiByZXR1cm4geyAuLi5hY2MsIFthbm5vdGF0aW9uLmZpZWxkTmFtZV06IHZhbHVlIH07XG4gICAgICAgIGNhc2UgJ2pzb24nOiByZXR1cm4geyAuLi5hY2MsIFthbm5vdGF0aW9uLmZpZWxkTmFtZV06IHZhbHVlIH07XG4gICAgICAgIGNhc2UgJ2xvY2F0aW9uJzogcmV0dXJuIHsgLi4uYWNjLCBbYW5ub3RhdGlvbi5maWVsZE5hbWVdOiB0aGlzLmZyb21IYXN1cmFMb2NhdGlvbih2YWx1ZSkgfTtcbiAgICAgICAgZGVmYXVsdDogcmV0dXJuIHsgLi4uYWNjLCBbYW5ub3RhdGlvbi5maWVsZE5hbWVdOiB2YWx1ZSB9O1xuICAgICAgfVxuICAgIH0sIHt9KTtcbiAgICByZXR1cm4gcGxhaW5Ub0luc3RhbmNlV2l0aFZhbGlkKHR5cGUgYXMgYW55LCBvYmopIGFzIFQ7XG4gIH1cblxuICBzdGF0aWMgdG9OdW1iZXIodmFsdWU6IGFueSk6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuIG51bGw7XG4gICAgaWYgKHZhbHVlID09PSAnJyB8fCAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS50cmltKCkgPT09ICcnKSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIGlzTmFOKE51bWJlcih2YWx1ZSkpID8gbnVsbCA6IE51bWJlcih2YWx1ZSk7XG4gIH1cblxuICBzdGF0aWMgdG9IYXN1cmFMb2NhdGlvbihwb3NpdGlvbjoge2xhdDogbnVtYmVyLCBsbmc6IG51bWJlcn0gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCEocG9zaXRpb24/LmxhdCAmJiBwb3NpdGlvbj8ubG5nKSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdQb2ludCcsXG4gICAgICBjcnM6IHtcbiAgICAgICAgdHlwZTogJ25hbWUnLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7IG5hbWU6ICd1cm46b2djOmRlZjpjcnM6RVBTRzo6NDMyNicgfVxuICAgICAgfSxcbiAgICAgIGNvb3JkaW5hdGVzOiBbcG9zaXRpb24ubG5nLCBwb3NpdGlvbi5sYXRdXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSGFzdXJhTG9jYXRpb24obG9jYXRpb246IHtcbiAgICB0eXBlOiAnUG9pbnQnLFxuICAgIGNyczoge1xuICAgICAgdHlwZTogJ25hbWUnLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBuYW1lOiAndXJuOm9nYzpkZWY6Y3JzOkVQU0c6OjQzMjYnXG4gICAgICB9XG4gICAgfSxcbiAgICBjb29yZGluYXRlczogW251bWJlciwgbnVtYmVyXVxuICB9KSB7XG4gICAgaWYgKCFsb2NhdGlvbikgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhdDogbG9jYXRpb24uY29vcmRpbmF0ZXM/LlsxXSxcbiAgICAgIGxuZzogbG9jYXRpb24uY29vcmRpbmF0ZXM/LlswXSxcbiAgICB9O1xuICB9XG4gIFxuICBzdGF0aWMgdG9IYXN1cmE8RT4ob2JqZWN0OiBFLCB0eXBlOiBUeXBlPEU+LCB7XG4gICAgZXh0cmFGdW5jID0gZGVlcENhbWVsVG9TbmFrZUNhc2VcbiAgfToge1xuICAgIGV4dHJhRnVuYz86IChvYmo6IGFueSkgPT4gYW55O1xuICB9ID0geyB9KSB7XG4gICAgY29uc3QgZmllbGRNYXAgPSBnZXRGaWVsZEFubm90YXRpb25NYXA8e1xuICAgICAgdHlwZTogJ3RleHQnIHwgJ3RpbWVzdGFtcCcgfCAnZGF0ZScgfCAnbnVtZXJpYycgfCAnaW50ZWdlcicgfCAnanNvbicgfCAnbWFwJyB8ICdsb2NhdGlvbic7XG4gICAgICBmaWVsZE5hbWU6IHN0cmluZztcbiAgICAgIGNoaWxkVHlwZT86ICgpID0+IGFueTtcbiAgICB9Pih0eXBlKTtcbiAgICBjb25zdCBvYmogPSBPYmplY3QuZW50cmllcyhmaWVsZE1hcCkucmVkdWNlKChhY2MsIFtrZXksIGFubm90YXRpb25dKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGdldChvYmplY3QsIGFubm90YXRpb24uZmllbGROYW1lKTtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gYWNjO1xuICAgICAgc3dpdGNoIChhbm5vdGF0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSAndGV4dCc6IHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIH07XG4gICAgICAgIGNhc2UgJ3RpbWVzdGFtcCc6IHJldHVybiB7IC4uLmFjYywgW2tleV06IHRoaXMudG9UaW1lc3RhbXAodmFsdWUpIH07XG4gICAgICAgIGNhc2UgJ2RhdGUnOiByZXR1cm4geyAuLi5hY2MsIFtrZXldOiB0aGlzLnRvRGF0ZSh2YWx1ZSkgfTtcbiAgICAgICAgY2FzZSAnbnVtZXJpYyc6IHJldHVybiB7IC4uLmFjYywgW2tleV06IHRoaXMudG9OdW1iZXIodmFsdWUpIH07XG4gICAgICAgIGNhc2UgJ2ludGVnZXInOiByZXR1cm4geyAuLi5hY2MsIFtrZXldOiB0aGlzLnRvTnVtYmVyKHZhbHVlKSB9O1xuICAgICAgICBjYXNlICdqc29uJzogcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogdmFsdWUgfTtcbiAgICAgICAgY2FzZSAnbWFwJzoge1xuICAgICAgICAgIGNvbnN0IGNoaWxkT2JqID0gdGhpcy50b0hhc3VyYSh2YWx1ZSwgYW5ub3RhdGlvbi5jaGlsZFR5cGUoKSwgeyBleHRyYUZ1bmMgfSk7XG4gICAgICAgICAgY29uc3QgZmxhdHRlbmVkT2JqID0gT2JqZWN0LmVudHJpZXMoY2hpbGRPYmopLnJlZHVjZSgoY2hpbGRBY2MsIFtjaGlsZEtleSwgY2hpbGRWYWx1ZV0pID0+ICh7XG4gICAgICAgICAgICAuLi5jaGlsZEFjYyxcbiAgICAgICAgICAgIFtgJHtrZXl9XyR7Y2hpbGRLZXl9YF06IGNoaWxkVmFsdWVcbiAgICAgICAgICB9KSwge30pO1xuICAgICAgICAgIHJldHVybiB7Li4uYWNjLCAuLi5mbGF0dGVuZWRPYmp9O1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ2xvY2F0aW9uJzogcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogdGhpcy50b0hhc3VyYUxvY2F0aW9uKHZhbHVlKSB9O1xuICAgICAgICBkZWZhdWx0OiByZXR1cm4geyAuLi5hY2MsIFtrZXldOiB2YWx1ZSB9O1xuICAgICAgfVxuICAgIH0sIHt9KTtcbiAgICByZXR1cm4gZXh0cmFGdW5jKG9iaik7XG4gIH1cbn1cbiJdfQ==","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)) {\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9oYXN1cmEvc3JjL2xpYi9oYXN1cmEuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUdoRCxNQUFNLE9BQU8saUJBQWlCO0lBQ3BCLE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFdkMsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBQzNCLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQzthQUMzRSxDQUFDLENBQUMsQ0FBQztRQUNOLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQzt1R0FWVSxpQkFBaUI7MkdBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEhBU1VSQV9DT05GSUcgfSBmcm9tIFwiLi9oYXN1cmEuY29uZmlnXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIYXN1cmFJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIHByaXZhdGUgY29uZmlnID0gaW5qZWN0KEhBU1VSQV9DT05GSUcpO1xuXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIGlmIChyZXEudXJsLnN0YXJ0c1dpdGgodGhpcy5jb25maWcudXJsKSkge1xuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcS5jbG9uZSh7XG4gICAgICAgIGhlYWRlcnM6IHJlcS5oZWFkZXJzLnNldCgneC1oYXN1cmEtYWRtaW4tc2VjcmV0JywgdGhpcy5jb25maWcuYWRtaW5TZWNyZXQpLFxuICAgICAgfSkpO1xuICAgIH1cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgfVxufSJdfQ==","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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2hhc3VyYS9zcmMvbGliL2J1aWxkZXJzL3BhcnRzL211dGF0aW9ucy9jcmVhdGUuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJcEQsTUFBTSxPQUFPLHFCQUFxQjtJQUNEO0lBQS9CLFlBQStCLE1BQW1CO1FBQW5CLFdBQU0sR0FBTixNQUFNLENBQWE7SUFBSSxDQUFDO0lBRXZELEtBQUssQ0FBQyxJQUFtQixFQUFFLEtBQUssR0FBRyxRQUFRO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsTUFBTSxZQUFZLEdBQUcsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRixNQUFNLFNBQVMsR0FBRyxHQUFHLEtBQUssS0FBSyxZQUFZLGVBQWUsS0FBSyxrQ0FBa0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDckksTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFxQixFQUFFLEtBQUssR0FBRyxZQUFZO1FBQ25ELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxNQUFNLFlBQVksR0FBRyxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdkQsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sU0FBUyxHQUFHLEdBQUcsS0FBSyxLQUFLLFlBQVksY0FBYyxLQUFLLGlDQUFpQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNuSSxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUMzRixDQUFDO0lBRVMsZUFBZSxDQUFDLElBQW1CO1FBQzNDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNqSCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssV0FBVyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVTLGdCQUFnQixDQUFDLEtBQXNCO1FBQy9DLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlQ29uZmlnLCBUcmFuc2FjdGlvblF1ZXJ5UGFydCB9IGZyb20gJy4uLy4uL3BhcnRzL19tZXRhL2dyYXBocWwtcXVlcnktcGFydCc7XG5pbXBvcnQgeyBvbWl0QnksIHBpY2ssIHNuYWtlQ2FzZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbnR5cGUgQ3JlYXRlRGF0YTxFPiA9IE9taXQ8RSwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+O1xuXG5leHBvcnQgY2xhc3MgQ3JlYXRlTXV0YXRpb25CdWlsZGVyPEUgZXh0ZW5kcyB7aWQ6IHN0cmluZ30+IHtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZzogVGFibGVDb25maWcpIHsgfVxuXG4gIGJ1aWxkKGRhdGE6IENyZWF0ZURhdGE8RT4sIGFsaWFzID0gJ2NyZWF0ZScpOiBUcmFuc2FjdGlvblF1ZXJ5UGFydCB7XG4gICAgY29uc3Qgb2JqZWN0ID0gdGhpcy5jb252ZXJ0VG9PYmplY3QoZGF0YSk7XG4gICAgY29uc3QgbXV0YXRpb25OYW1lID0gYGluc2VydF8ke3RoaXMuY29uZmlnLnRhYmxlTmFtZX1gO1xuICAgIGNvbnN0IHZhcmlhYmxlRGVmaW5pdGlvbnMgPSBbYCQke2FsaWFzfTogJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9X2luc2VydF9pbnB1dCFgXTtcbiAgICBjb25zdCBxdWVyeVBhcnQgPSBgJHthbGlhc306ICR7bXV0YXRpb25OYW1lfShvYmplY3RzOiBbJCR7YWxpYXN9XSkgeyBhZmZlY3RlZF9yb3dzIHJldHVybmluZyB7ICR7dGhpcy5jb25maWcuY29sdW1ucy5qb2luKCcgJyl9IH0gfWA7XG4gICAgY29uc3QgdmFyaWFibGVzID0geyBbYWxpYXNdOiBvYmplY3QgfTtcbiAgICByZXR1cm4geyBxdWVyeVBhcnQsIHZhcmlhYmxlRGVmaW5pdGlvbnMsIHZhcmlhYmxlcywgb3BlcmF0aW9uTmFtZTogbXV0YXRpb25OYW1lLCBhbGlhcyB9O1xuICB9XG5cbiAgYnVpbGRNYW55KGRhdGE6IENyZWF0ZURhdGE8RT5bXSwgYWxpYXMgPSAnY3JlYXRlTWFueScpOiBUcmFuc2FjdGlvblF1ZXJ5UGFydCB7XG4gICAgY29uc3Qgb2JqZWN0cyA9IHRoaXMuY29udmVydFRvT2JqZWN0cyhkYXRhKTtcbiAgICBjb25zdCBtdXRhdGlvbk5hbWUgPSBgaW5zZXJ0XyR7dGhpcy5jb25maWcudGFibGVOYW1lfWA7XG4gICAgY29uc3QgdmFyaWFibGVEZWZpbml0aW9ucyA9IFtgJCR7YWxpYXN9OiBbJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9X2luc2VydF9pbnB1dCFdIWBdO1xuICAgIGNvbnN0IHF1ZXJ5UGFydCA9IGAke2FsaWFzfTogJHttdXRhdGlvbk5hbWV9KG9iamVjdHM6ICQke2FsaWFzfSkgeyBhZmZlY3RlZF9yb3dzIHJldHVybmluZyB7ICR7dGhpcy5jb25maWcuY29sdW1ucy5qb2luKCcgJyl9IH0gfWA7XG4gICAgY29uc3QgdmFyaWFibGVzID0geyBbYWxpYXNdOiBvYmplY3RzIH07XG4gICAgcmV0dXJuIHsgcXVlcnlQYXJ0LCB2YXJpYWJsZURlZmluaXRpb25zLCB2YXJpYWJsZXMsIG9wZXJhdGlvbk5hbWU6IG11dGF0aW9uTmFtZSwgYWxpYXMgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb252ZXJ0VG9PYmplY3QoaXRlbTogQ3JlYXRlRGF0YTxFPikge1xuICAgIGNvbnN0IGZpZWxkcyA9IE9iamVjdC5rZXlzKGl0ZW0pLm1hcChzbmFrZUNhc2UpLmZpbHRlcigoZmllbGQpID0+ICFbJ2NyZWF0ZWRfYXQnLCAndXBkYXRlZF9hdCddLmluY2x1ZGVzKGZpZWxkKSk7XG4gICAgY29uc3QgcGlja2VkID0gcGljayhpdGVtLCBbLi4uZmllbGRzXSk7XG4gICAgcmV0dXJuIG9taXRCeShwaWNrZWQsICh2YWx1ZSkgPT4gdHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29udmVydFRvT2JqZWN0cyhpdGVtczogQ3JlYXRlRGF0YTxFPltdKSB7XG4gICAgcmV0dXJuIGl0ZW1zLm1hcCgoaXRlbSkgPT4gdGhpcy5jb252ZXJ0VG9PYmplY3QoaXRlbSkpO1xuICB9XG59XG4iXX0=","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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RSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUNvbmZpZywgVHJhbnNhY3Rpb25RdWVyeVBhcnQgfSBmcm9tICcuLi8uLi9wYXJ0cy9fbWV0YS9ncmFwaHFsLXF1ZXJ5LXBhcnQnO1xuaW1wb3J0IHsgb21pdEJ5LCBwaWNrLCBzbmFrZUNhc2UgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmludGVyZmFjZSBPcHRpb25zIHtcbiAgb3BlcmF0aW9uTmFtZT86IHN0cmluZztcbiAgY29uc3RyYWludD86IHN0cmluZztcbiAgY29sdW1ucz86IHN0cmluZ1tdO1xuICByZXR1cm5pbmdDb2x1bW5zPzogc3RyaW5nW107XG4gIGFsaWFzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgU2F2ZU11dGF0aW9uQnVpbGRlcjxFID0gYW55PiB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBjb25maWc6IFRhYmxlQ29uZmlnKSB7IH1cblxuICBidWlsZChkYXRhOiBPbWl0PEUsICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+LCB7XG4gICAgb3BlcmF0aW9uTmFtZSA9IGBpbnNlcnRfJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9YCxcbiAgICBjb25zdHJhaW50ID0gdGhpcy5jb25maWcucGssXG4gICAgY29sdW1ucyA9IHRoaXMuY29uZmlnLmNvbHVtbnMsXG4gICAgcmV0dXJuaW5nQ29sdW1ucyA9IHRoaXMuY29uZmlnLmNvbHVtbnMsXG4gICAgYWxpYXMgPSBvcGVyYXRpb25OYW1lLFxuICB9OiBPcHRpb25zID0ge30pOiBUcmFuc2FjdGlvblF1ZXJ5UGFydCB7XG4gICAgY29uc3Qgb2JqZWN0ID0gdGhpcy5idWlsZE9iamVjdChkYXRhKTtcbiAgICBjb25zdCBvbkNvbmZsaWN0ID0gdGhpcy5idWlsZE9uQ29uZmxpY3QoZGF0YSwgY29uc3RyYWludCwgY29sdW1ucyk7XG4gICAgY29uc3QgdmFyaWFibGVEZWZpbml0aW9ucyA9IFtcbiAgICAgIGAkJHthbGlhc31PYmplY3Q6ICR7dGhpcy5jb25maWcudGFibGVOYW1lfV9pbnNlcnRfaW5wdXQhYCxcbiAgICAgIGAkJHthbGlhc31PbkNvbmZsaWN0OiAke3RoaXMuY29uZmlnLnRhYmxlTmFtZX1fb25fY29uZmxpY3QhYFxuICAgIF07XG4gICAgY29uc3QgcXVlcnlQYXJ0ID0gYCR7YWxpYXN9OiAke29wZXJhdGlvbk5hbWV9KCBvYmplY3RzOiBbJCR7YWxpYXN9T2JqZWN0XSBvbl9jb25mbGljdDogJCR7YWxpYXN9T25Db25mbGljdCkgeyBhZmZlY3RlZF9yb3dzIHJldHVybmluZyB7ICR7cmV0dXJuaW5nQ29sdW1ucy5qb2luKCcsICcpfSB9IH1gO1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHsgW2Ake2FsaWFzfU9iamVjdGBdOiBvYmplY3QsIFtgJHthbGlhc31PbkNvbmZsaWN0YF06IG9uQ29uZmxpY3QgfTtcbiAgICByZXR1cm4geyBxdWVyeVBhcnQsIHZhcmlhYmxlRGVmaW5pdGlvbnMsIHZhcmlhYmxlcywgb3BlcmF0aW9uTmFtZSwgYWxpYXMgfTtcbiAgfVxuXG4gIGJ1aWxkTWFueShlbnRpdGllczogRVtdLCB7XG4gICAgb3BlcmF0aW9uTmFtZSA9IGBpbnNlcnRfJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9YCxcbiAgICBjb25zdHJhaW50ID0gdGhpcy5jb25maWcucGssXG4gICAgY29sdW1ucyA9IHRoaXMuY29uZmlnLmNvbHVtbnMsXG4gICAgcmV0dXJuaW5nQ29sdW1ucyA9IHRoaXMuY29uZmlnLmNvbHVtbnMsXG4gICAgYWxpYXMgPSAnc2F2ZSdcbiAgfTogT3B0aW9ucyA9IHt9KTogVHJhbnNhY3Rpb25RdWVyeVBhcnQge1xuICAgIGNvbnN0IG9iamVjdHMgPSB0aGlzLmJ1aWxkT2JqZWN0cyhlbnRpdGllcyk7XG4gICAgY29uc3Qgb25Db25mbGljdCA9IHRoaXMuYnVpbGRPbkNvbmZsaWN0KGVudGl0aWVzWzBdIGFzIGFueSwgY29uc3RyYWludCwgY29sdW1ucyk7XG4gICAgY29uc3QgdmFyaWFibGVEZWZpbml0aW9ucyA9IFtcbiAgICAgIGAkJHthbGlhc31PYmplY3RzOiBbJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9X2luc2VydF9pbnB1dCFdIWAsXG4gICAgICBgJCR7YWxpYXN9T25Db25mbGljdDogJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9X29uX2NvbmZsaWN0IWBcbiAgICBdO1xuICAgIGNvbnN0IHF1ZXJ5UGFydCA9IGAke2FsaWFzfTogJHtvcGVyYXRpb25OYW1lfShvYmplY3RzOiAkJHthbGlhc31PYmplY3RzIG9uX2NvbmZsaWN0OiAkJHthbGlhc31PbkNvbmZsaWN0KSB7XG4gICAgICBhZmZlY3RlZF9yb3dzIHJldHVybmluZyB7ICR7cmV0dXJuaW5nQ29sdW1ucy5qb2luKCcsICcpfSB9XG4gICAgfWA7XG4gICAgY29uc3QgdmFyaWFibGVzID0geyBbYCR7YWxpYXN9T2JqZWN0c2BdOiBvYmplY3RzLCBbYCR7YWxpYXN9T25Db25mbGljdGBdOiBvbkNvbmZsaWN0IH07XG4gICAgcmV0dXJuIHsgcXVlcnlQYXJ0LCB2YXJpYWJsZURlZmluaXRpb25zLCB2YXJpYWJsZXMsIG9wZXJhdGlvbk5hbWU6IG9wZXJhdGlvbk5hbWUsIGFsaWFzIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRPYmplY3QoaXRlbTogT21pdDxFLCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPikge1xuICAgIGNvbnN0IGZpZWxkcyA9IE9iamVjdC5rZXlzKGl0ZW0pLm1hcChzbmFrZUNhc2UpLmZpbHRlcigoZmllbGQpID0+ICFbJ2NyZWF0ZWRfYXQnLCAndXBkYXRlZF9hdCddLmluY2x1ZGVzKGZpZWxkKSk7XG4gICAgY29uc3QgcGlja2VkID0gcGljayhpdGVtLCBbLi4uZmllbGRzXSk7XG4gICAgcmV0dXJuIG9taXRCeShwaWNrZWQsICh2YWx1ZSkgPT4gdHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRPYmplY3RzKGl0ZW1zOiBPbWl0PEUsICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+W10pIHtcbiAgICByZXR1cm4gaXRlbXMubWFwKChpdGVtKSA9PiB0aGlzLmJ1aWxkT2JqZWN0KGl0ZW0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZE9uQ29uZmxpY3QoZGF0YTogT21pdDxFLCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPiwgY29uc3RyYWludDogc3RyaW5nLCBjb2x1bW5zOiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IGZpZWxkcyA9IE9iamVjdC5rZXlzKHRoaXMuYnVpbGRPYmplY3QoZGF0YSkpO1xuICAgIGNvbnN0IHVwZGF0ZUNvbHVtbnMgPSBmaWVsZHMuZmlsdGVyKGNvbHVtbiA9PiBjb2x1bW5zLmluY2x1ZGVzKGNvbHVtbikpO1xuICAgIHJldHVybiB7IGNvbnN0cmFpbnQsIHVwZGF0ZV9jb2x1bW5zOiB1cGRhdGVDb2x1bW5zIH07XG4gIH1cbn0iXX0=","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メソッド(キャッシュ可能)\n watchQuery(options) {\n const { query, variables, fetchPolicy = 'cache-first' } = options;\n return this.getApolloClient().pipe(switchMap((client) => client.watchQuery({\n query: makeSubscription(query),\n variables: variables,\n fetchPolicy: 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2hhc3VyYS9zcmMvbGliL2hhc3VyYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGFBQWEsRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUF3QixNQUFNLFlBQVksQ0FBQztBQUN0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUk5QyxNQUFNLE9BQU8sYUFBYTtJQUNMLFVBQVUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDckMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDekQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUVsRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsU0FBUyxDQUdQLEVBQ0EsS0FBSyxFQUNMLFNBQVMsRUFDVCxXQUFXLEdBQUcsY0FBYyxFQUM1QixPQUFPLEVBTVI7UUFDQyxPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQ2hDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBZ0I7WUFDcEQsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUM5QixTQUFTLEVBQUUsU0FBUztZQUNwQixXQUFXLEVBQUUsV0FBVztZQUN4QixPQUFPO1NBQ1IsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFVLEdBQUcsSUFBc0M7UUFDN0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDM0QsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDM0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbkMsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQVUsSUFBMEI7UUFDekQsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBSTtZQUNwQixRQUFRLEVBQUUsR0FBRyxDQUFBLEdBQUcsUUFBUSxFQUFFO1lBQzFCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztTQUNuQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDMUIsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQ3BELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQVUsR0FBRyxJQUFxQztRQUMzRCxNQUFNLE1BQU0sR0FBRyxNQUFNLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUMzRCw2Q0FBNkM7UUFDN0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN2QixNQUFNLFlBQVksR0FBRztZQUNuQixHQUFHLE9BQU87WUFDVixXQUFXLEVBQUUsT0FBTyxFQUFFLFdBQVcsSUFBSSxjQUFjO1NBQ3BELENBQUM7UUFDRixPQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDL0QsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNyRCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUMsQ0FBa0MsQ0FBQztJQUN0QyxDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLFVBQVUsQ0FBc0UsT0FJL0U7UUFDQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEdBQUcsYUFBYSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FDaEMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFnQjtZQUNyRCxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1lBQzlCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFdBQVcsRUFBRSxXQUFXO1NBQ2xCLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FDeEIsQ0FBQztJQUNKLENBQUM7dUdBL0VVLGFBQWE7MkdBQWIsYUFBYSxjQURBLE1BQU07OzJGQUNuQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBcG9sbG9CYXNlLCBncWwgfSBmcm9tIFwiYXBvbGxvLWFuZ3VsYXJcIjtcbmltcG9ydCB7IEhBU1VSQV9DT05GSUcgfSBmcm9tIFwiLi9oYXN1cmEuY29uZmlnXCI7XG5pbXBvcnQgeyBGZXRjaFBvbGljeSwgRmV0Y2hSZXN1bHQsIE9wZXJhdGlvblZhcmlhYmxlcywgQXBvbGxvUXVlcnlSZXN1bHQgfSBmcm9tIFwiQGFwb2xsby9jbGllbnQvY29yZVwiO1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgc3dpdGNoTWFwIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG1ha2VTdWJzY3JpcHRpb24gfSBmcm9tIFwiLi9idWlsZGVycy9wYXJ0cy9xdWVyaWVzXCI7XG5pbXBvcnQgeyBIYXN1cmFRdWVyeUJ1aWxkZXIsIFRyYW5zYWN0aW9uUXVlcnlQYXJ0IH0gZnJvbSBcIi4vYnVpbGRlcnNcIjtcbmltcG9ydCB7IEFwb2xsb0NsaWVudE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSBcIi4vYXBvbGxvL2NsaWVudC1tYW5hZ2VyXCI7XG5pbXBvcnQgeyBHUkFQSFFMX0hFQURFUlMgfSBmcm9tIFwiLi9oYXN1cmEuZGlcIjtcblxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEhhc3VyYVNlcnZpY2Uge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ2V0SGVhZGVycyA9IGluamVjdChHUkFQSFFMX0hFQURFUlMpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBvbGxvQ2xpZW50TWFuYWdlciA9IGluamVjdChBcG9sbG9DbGllbnRNYW5hZ2VyU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWcgPSBpbmplY3QoSEFTVVJBX0NPTkZJRyk7XG5cbiAgZ2V0QXBvbGxvQ2xpZW50KCk6IE9ic2VydmFibGU8QXBvbGxvQmFzZTxhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuYXBvbGxvQ2xpZW50TWFuYWdlci5nZXRDbGllbnQodGhpcy5jb25maWcudXJsLCB0aGlzLmdldEhlYWRlcnMpO1xuICB9XG5cbiAgc3Vic2NyaWJlPFxuICAgIFQgPSBhbnksXG4gICAgVFZhcmlhYmxlcyBleHRlbmRzIE9wZXJhdGlvblZhcmlhYmxlcyA9IE9wZXJhdGlvblZhcmlhYmxlc1xuICA+KHtcbiAgICBxdWVyeSxcbiAgICB2YXJpYWJsZXMsXG4gICAgZmV0Y2hQb2xpY3kgPSAnbmV0d29yay1vbmx5JyxcbiAgICBjb250ZXh0XG4gIH06IHtcbiAgICBxdWVyeTogYW55LFxuICAgIHZhcmlhYmxlczogVFZhcmlhYmxlcyxcbiAgICBmZXRjaFBvbGljeT86IEZldGNoUG9saWN5LFxuICAgIGNvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB9KTogT2JzZXJ2YWJsZTxGZXRjaFJlc3VsdDxUPj4ge1xuICAgIHJldHVybiB0aGlzLmdldEFwb2xsb0NsaWVudCgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGNsaWVudCkgPT4gY2xpZW50LnN1YnNjcmliZTxULCBUVmFyaWFibGVzPih7XG4gICAgICAgIHF1ZXJ5OiBtYWtlU3Vic2NyaXB0aW9uKHF1ZXJ5KSxcbiAgICAgICAgdmFyaWFibGVzOiB2YXJpYWJsZXMsXG4gICAgICAgIGZldGNoUG9saWN5OiBmZXRjaFBvbGljeSxcbiAgICAgICAgY29udGV4dFxuICAgICAgfSkpLFxuICAgICk7XG4gIH1cblxuICBhc3luYyBtdXRhdGU8VCA9IGFueT4oLi4uYXJnczogUGFyYW1ldGVyczxBcG9sbG9CYXNlWydtdXRhdGUnXT4pIHtcbiAgICBjb25zdCBjbGllbnQgPSBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuZ2V0QXBvbGxvQ2xpZW50KCkpO1xuICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKGNsaWVudC5tdXRhdGUoLi4uYXJncykpLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvci5ncmFwaFFMRXJyb3JzKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbXV0YXRlQnlRdWVyeVBhcnQ8VCA9IGFueT4ocGFydDogVHJhbnNhY3Rpb25RdWVyeVBhcnQpOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBtdXRhdGlvbiA9IEhhc3VyYVF1ZXJ5QnVpbGRlci5idWlsZE11dGF0aW9uKHBhcnQpO1xuICAgIHJldHVybiB0aGlzLm11dGF0ZTxUPih7XG4gICAgICBtdXRhdGlvbjogZ3FsYCR7bXV0YXRpb259YCxcbiAgICAgIHZhcmlhYmxlczogcGFydC52YXJpYWJsZXMsXG4gICAgfSBhcyBhbnkpLnRoZW4oKHJlczogYW55KSA9PiB7XG4gICAgICByZXR1cm4gcmVzLmRhdGFbcGFydD8uYWxpYXMgPz8gcGFydC5vcGVyYXRpb25OYW1lXVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgcXVlcnk8VCA9IGFueT4oLi4uYXJnczogUGFyYW1ldGVyczxBcG9sbG9CYXNlWydxdWVyeSddPik6IFByb21pc2U8QXBvbGxvUXVlcnlSZXN1bHQ8VD4+IHtcbiAgICBjb25zdCBjbGllbnQgPSBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuZ2V0QXBvbGxvQ2xpZW50KCkpO1xuICAgIC8vIGZldGNoUG9saWN544GM5oyH5a6a44GV44KM44Gm44GE44Gq44GE5aC05ZCI44GvbmV0d29yay1vbmx544KS44OH44OV44Kp44Or44OI44GrXG4gICAgY29uc3QgW29wdGlvbnNdID0gYXJncztcbiAgICBjb25zdCBxdWVyeU9wdGlvbnMgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgZmV0Y2hQb2xpY3k6IG9wdGlvbnM/LmZldGNoUG9saWN5IHx8ICduZXR3b3JrLW9ubHknXG4gICAgfTtcbiAgICByZXR1cm4gbGFzdFZhbHVlRnJvbShjbGllbnQucXVlcnkocXVlcnlPcHRpb25zKSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbSGFzdXJhU2VydmljZV0gcXVlcnkgZXJyb3I6JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSkgYXMgUHJvbWlzZTxBcG9sbG9RdWVyeVJlc3VsdDxUPj47XG4gIH1cblxuICAvLyBPYnNlcnZhYmxl54mI44GucXVlcnnjg6Hjgr3jg4Pjg4nvvIjjgq3jg6Pjg4Pjgrfjg6Xlj6/og73vvIlcbiAgd2F0Y2hRdWVyeTxUID0gYW55LCBUVmFyaWFibGVzIGV4dGVuZHMgT3BlcmF0aW9uVmFyaWFibGVzID0gT3BlcmF0aW9uVmFyaWFibGVzPihvcHRpb25zOiB7XG4gICAgcXVlcnk6IGFueSxcbiAgICB2YXJpYWJsZXM/OiBUVmFyaWFibGVzLFxuICAgIGZldGNoUG9saWN5PzogRmV0Y2hQb2xpY3lcbiAgfSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgeyBxdWVyeSwgdmFyaWFibGVzLCBmZXRjaFBvbGljeSA9ICdjYWNoZS1maXJzdCcgfSA9IG9wdGlvbnM7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXBvbGxvQ2xpZW50KCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoY2xpZW50KSA9PiBjbGllbnQud2F0Y2hRdWVyeTxULCBUVmFyaWFibGVzPih7XG4gICAgICAgIHF1ZXJ5OiBtYWtlU3Vic2NyaXB0aW9uKHF1ZXJ5KSxcbiAgICAgICAgdmFyaWFibGVzOiB2YXJpYWJsZXMsXG4gICAgICAgIGZldGNoUG9saWN5OiBmZXRjaFBvbGljeVxuICAgICAgfSBhcyBhbnkpLnZhbHVlQ2hhbmdlcylcbiAgICApO1xuICB9XG59XG4iXX0=","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","InMemoryCache","gql"],"mappings":"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"}
|
|
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/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();\n async buildClientName(endpoint, headers) {\n const data = new TextEncoder().encode(JSON.stringify(headers));\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvaGFzdXJhL3NyYy9saWIvYXBvbGxvL2NsaWVudC1tYW5hZ2VyL2NsaWVudC1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBYyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQWMsSUFBSSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlELE9BQU8sRUFBYyxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7QUFHOUUsTUFBTSxPQUFPLDBCQUEwQjtJQUM1QixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2QsV0FBVyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFbEMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxRQUFnQixFQUFFLE9BQStCO1FBQy9FLE1BQU0sSUFBSSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMvRCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RyxPQUFPLEdBQUcsUUFBUSxZQUFZLElBQUksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTLENBQUMsUUFBZ0IsRUFBRSxVQUFzQjtRQUNoRCxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDNUIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDMUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMzRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVyQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRTtvQkFDNUIsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUM7b0JBQ3ZELEtBQUssRUFBRSxJQUFJLGFBQWEsRUFBRTtpQkFDM0IsQ0FBQyxDQUFDO2dCQUNILE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsQ0FBQztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO3VHQS9CVSwwQkFBMEI7MkdBQTFCLDBCQUEwQixjQURkLE1BQU07OzJGQUNsQiwwQkFBMEI7a0JBRHRDLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFwb2xsbywgQXBvbGxvQmFzZSB9IGZyb20gXCJhcG9sbG8tYW5ndWxhclwiO1xuaW1wb3J0IHsgSW5NZW1vcnlDYWNoZSB9IGZyb20gXCJAYXBvbGxvL2NsaWVudC9jYWNoZVwiO1xuaW1wb3J0IHsgQXBvbGxvTGlua1NlcnZpY2UsIEdldEhlYWRlcnMsIHdyYXAgfSBmcm9tIFwiLi4vbGlua1wiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IENSWVBUTyB9IGZyb20gXCJAbngtZGRkL2NvbW1vbi9pbmZyYXN0cnVjdHVyZS9leHRlcm5hbHMvY3J5cHRvL3Rva2VuXCI7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIEFwb2xsb0NsaWVudE1hbmFnZXJTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgYXBvbGxvID0gaW5qZWN0KEFwb2xsbyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBsaW5rU2VydmljZSA9IGluamVjdChBcG9sbG9MaW5rU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjcnlwdG8gPSBDUllQVE8uaW5qZWN0KCk7XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkQ2xpZW50TmFtZShlbmRwb2ludDogc3RyaW5nLCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBkYXRhID0gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGhlYWRlcnMpKTtcbiAgICBjb25zdCBhcnJheUJ1ZmZlciA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5kaWdlc3QoJ1NIQS0yNTYnLCBkYXRhKTtcbiAgICBjb25zdCBoYXNoID0gQXJyYXkuZnJvbShuZXcgVWludDhBcnJheShhcnJheUJ1ZmZlcikpLm1hcChiID0+IGIudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsICcwJykpLmpvaW4oJycpO1xuICAgIHJldHVybiBgJHtlbmRwb2ludH0/aGVhZGVycz0ke2hhc2h9YDtcbiAgfVxuXG4gIGdldENsaWVudChlbmRwb2ludDogc3RyaW5nLCBnZXRIZWFkZXJzOiBHZXRIZWFkZXJzKTogT2JzZXJ2YWJsZTxBcG9sbG9CYXNlPGFueT4+IHtcbiAgICByZXR1cm4gd3JhcChnZXRIZWFkZXJzKCkpLnBpcGUoXG4gICAgICB0YWtlKDEpLFxuICAgICAgc3dpdGNoTWFwKGFzeW5jIChoZWFkZXJzKSA9PiB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBhd2FpdCB0aGlzLmJ1aWxkQ2xpZW50TmFtZShlbmRwb2ludCwgaGVhZGVycyk7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IHRoaXMuYXBvbGxvLnVzZShuYW1lKTtcblxuICAgICAgICBpZiAoIWNsaWVudCkge1xuICAgICAgICAgIHRoaXMuYXBvbGxvLnJlbW92ZUNsaWVudChuYW1lKTtcbiAgICAgICAgICB0aGlzLmFwb2xsby5jcmVhdGVOYW1lZChuYW1lLCB7XG4gICAgICAgICAgICBsaW5rOiB0aGlzLmxpbmtTZXJ2aWNlLmNyZWF0ZUxpbmsoZW5kcG9pbnQsIGdldEhlYWRlcnMpLFxuICAgICAgICAgICAgY2FjaGU6IG5ldyBJbk1lbW9yeUNhY2hlKClcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5hcG9sbG8udXNlKG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNsaWVudDtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==","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 { plainToInstanceWithValid } from '@nx-ddd/core';\nimport { get, snakeCase } from 'lodash-es';\nimport dayjs from 'dayjs';\nimport { format, parse } from 'date-fns';\nimport { formatInTimeZone } from 'date-fns-tz';\nimport { getFieldAnnotationMap } from '../decorators';\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}\nfunction camelCase(str) {\n return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());\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}\nexport function getConverter(type) {\n return {\n toHasura(entity) {\n return HasuraUtils.toHasura(entity, type);\n },\n toHasuraMany(entities) {\n return entities.map((entity) => this.toHasura(entity));\n },\n fromHasura(entity) {\n return HasuraUtils.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;\nexport class HasuraUtils {\n static 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 static toDate(date) {\n if (typeof date === 'undefined') {\n return undefined;\n }\n else if (dayjs.isDayjs(date)) {\n // Dayjsオブジェクトの場合、既に適切なタイムゾーンで処理されているとみなす\n return date.format('YYYY-MM-DD');\n }\n else if (date instanceof Date) {\n // formatInTimeZoneを使用してローカルタイムゾーンで処理\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 static fromHasura(_object, type) {\n const fieldMap = getFieldAnnotationMap(type);\n // ネストされたmap型の再帰的復元\n function 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 // 再帰的にネストを復元\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 // 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': return { ...acc, [annotation.fieldName]: value };\n case 'timestamp': 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': return { ...acc, [annotation.fieldName]: value };\n case 'integer': return { ...acc, [annotation.fieldName]: value };\n case 'json': return { ...acc, [annotation.fieldName]: value };\n case 'location': return { ...acc, [annotation.fieldName]: this.fromHasuraLocation(value) };\n default: return { ...acc, [annotation.fieldName]: value };\n }\n }, {});\n return plainToInstanceWithValid(type, obj);\n }\n static 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 static 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 static fromHasuraLocation(location) {\n if (!location)\n return null;\n return {\n lat: location.coordinates?.[1],\n lng: location.coordinates?.[0],\n };\n }\n static 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': return { ...acc, [key]: value };\n case 'timestamp': return { ...acc, [key]: this.toTimestamp(value) };\n case 'date': return { ...acc, [key]: this.toDate(value) };\n case 'numeric': return { ...acc, [key]: this.toNumber(value) };\n case 'integer': return { ...acc, [key]: this.toNumber(value) };\n case 'json': return { ...acc, [key]: value };\n case 'map': {\n const childObj = this.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': return { ...acc, [key]: this.toHasuraLocation(value) };\n default: return { ...acc, [key]: value };\n }\n }, {});\n return extraFunc(obj);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9oYXN1cmEvc3JjL2xpYi9jb252ZXJ0ZXIvY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQXVCdEQsTUFBTSxVQUFVLG9CQUFvQixDQUFJLEdBQU07SUFDNUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUFFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBd0IsQ0FBQztJQUNwRixJQUFJLEdBQUcsWUFBWSxJQUFJO1FBQUUsT0FBTyxHQUEwQixDQUFDO0lBQzNELElBQUksR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUN2QixLQUFLLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7Z0JBQ2hELE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxvQkFBb0IsQ0FBRSxHQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBQ0QsT0FBTyxNQUFN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QUFDLENBQUM7b0JBQzdFLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUMxRixHQUFHLFFBQVE7d0JBQ1gsQ0FBQyxHQUFHLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVU7cUJBQ25DLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDUixPQUFPLEVBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxZQUFZLEVBQUMsQ0FBQztnQkFDbkMsQ0FBQztnQkFDRCxLQUFLLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4RSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUMzQyxDQUFDO1FBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1AsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGxhaW5Ub0luc3RhbmNlV2l0aFZhbGlkIH0gZnJvbSAnQG54LWRkZC9jb3JlJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdAbngtZGRkL2NvbW1vbi9kb21haW4nO1xuaW1wb3J0IHsgZ2V0LCBzbmFrZUNhc2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB7IGZvcm1hdCwgcGFyc2UgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBmb3JtYXRJblRpbWVab25lIH0gZnJvbSAnZGF0ZS1mbnMtdHonO1xuaW1wb3J0IHsgZ2V0RmllbGRBbm5vdGF0aW9uTWFwIH0gZnJvbSAnLi4vZGVjb3JhdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFzdXJhQ29udmVydGVyPEU+IHtcbiAgdG9IYXN1cmEoZW50aXR5OiBFKTogb2JqZWN0O1xuICB0b0hhc3VyYU1hbnkoZW50aXRpZXM6IEVbXSk6IG9iamVjdFtdO1xuICBmcm9tSGFzdXJhKGVudGl0eTogb2JqZWN0KTogRTtcbiAgZnJvbUhhc3VyYU1hbnkoZW50aXRpZXM6IG9iamVjdFtdKTogRVtdO1xufVxuXG50eXBlIENhbWVsVG9TbmFrZUNhc2U8UyBleHRlbmRzIHN0cmluZz4gPVxuICBTIGV4dGVuZHMgYCR7aW5mZXIgVH0ke2luZmVyIFV9YFxuICAgID8gVSBleHRlbmRzIFVuY2FwaXRhbGl6ZTxVPlxuICAgICAgPyBgJHtMb3dlcmNhc2U8VD59JHtDYW1lbFRvU25ha2VDYXNlPFU+fWBcbiAgICAgIDogYCR7TG93ZXJjYXNlPFQ+fV8ke0NhbWVsVG9TbmFrZUNhc2U8VT59YFxuICAgIDogUztcbnR5cGUgRGVlcENhbWVsVG9TbmFrZTxUPiA9IFQgZXh0ZW5kcyBEYXRlXG4gID8gVFxuICA6IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBVPlxuICA/IERlZXBDYW1lbFRvU25ha2U8VT5bXVxuICA6IFQgZXh0ZW5kcyBvYmplY3RcbiAgPyB7IFtLIGluIGtleW9mIFQgYXMgSyBleHRlbmRzIHN0cmluZyA/IENhbWVsVG9TbmFrZUNhc2U8Sz4gOiBLXTogRGVlcENhbWVsVG9TbmFrZTxUW0tdPiB9XG4gIDogVDtcblxuZXhwb3J0IGZ1bmN0aW9uIGRlZXBDYW1lbFRvU25ha2VDYXNlPFQ+KG9iajogVCk6IERlZXBDYW1lbFRvU25ha2U8VD4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSByZXR1cm4gb2JqLm1hcChkZWVwQ2FtZWxUb1NuYWtlQ2FzZSkgYXMgRGVlcENhbWVsVG9TbmFrZTxUPjtcbiAgaWYgKG9iaiBpbnN0YW5jZW9mIERhdGUpIHJldHVybiBvYmogYXMgRGVlcENhbWVsVG9TbmFrZTxUPjtcbiAgaWYgKG9iaiAmJiB0eXBlb2Ygb2JqID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKVxuICAgICAgICByZXN1bHRbc25ha2VDYXNlKGtleSldID0gZGVlcENhbWVsVG9TbmFrZUNhc2UoKG9iaiBhcyBhbnkpW2tleV0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIHJldHVybiBvYmogYXMgRGVlcENhbWVsVG9TbmFrZTxUPjtcbn1cblxudHlwZSBTbmFrZVRvQ2FtZWxDYXNlPFMgZXh0ZW5kcyBzdHJpbmc+ID1cbiAgUyBleHRlbmRzIGAke2luZmVyIFR9XyR7aW5mZXIgVX1gXG4gICAgPyBgJHtUfSR7Q2FwaXRhbGl6ZTxTbmFrZVRvQ2FtZWxDYXNlPFU+Pn1gXG4gICAgOiBTO1xudHlwZSBEZWVwU25ha2VUb0NhbWVsPFQ+ID0gVCBleHRlbmRzIERhdGVcbiAgPyBUXG4gIDogVCBleHRlbmRzIEFycmF5PGluZmVyIFU+XG4gID8gRGVlcFNuYWtlVG9DYW1lbDxVPltdXG4gIDogVCBleHRlbmRzIG9iamVjdFxuICA/IHsgW0sgaW4ga2V5b2YgVCBhcyBLIGV4dGVuZHMgc3RyaW5nID8gU25ha2VUb0NhbWVsQ2FzZTxLPiA6IEtdOiBEZWVwU25ha2VUb0NhbWVsPFRbS10+IH1cbiAgOiBUO1xuZnVuY3Rpb24gY2FtZWxDYXNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9fKFthLXpdKS9nLCAoXywgbGV0dGVyKSA9PiBsZXR0ZXIudG9VcHBlckNhc2UoKSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZGVlcFNuYWtlVG9DYW1lbENhc2U8VD4ob2JqOiBUKTogRGVlcFNuYWtlVG9DYW1lbDxUPiB7XG4gIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHJldHVybiBvYmoubWFwKGRlZXBTbmFrZVRvQ2FtZWxDYXNlKSBhcyBEZWVwU25ha2VUb0NhbWVsPFQ+O1xuICBpZiAob2JqIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuIG9iaiBhcyBEZWVwU25ha2VUb0NhbWVsPFQ+O1xuICBpZiAob2JqICYmIHR5cGVvZiBvYmogPT09IFwib2JqZWN0XCIpIHtcbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgICAgcmVzdWx0W2NhbWVsQ2FzZShrZXkpXSA9IGRlZXBTbmFrZVRvQ2FtZWxDYXNlKChvYmogYXMgYW55KVtrZXldKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICByZXR1cm4gb2JqIGFzIERlZXBTbmFrZVRvQ2FtZWw8VD47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb252ZXJ0ZXI8VD4odHlwZTogVHlwZTxUPik6IEhhc3VyYUNvbnZlcnRlcjxUPiB7XG4gIHJldHVybiB7XG4gICAgdG9IYXN1cmEoZW50aXR5OiBUKSB7XG4gICAgICByZXR1cm4gSGFzdXJhVXRpbHMudG9IYXN1cmEoZW50aXR5LCB0eXBlKTtcbiAgICB9LFxuICAgIHRvSGFzdXJhTWFueShlbnRpdGllczogVFtdKSB7XG4gICAgICByZXR1cm4gZW50aXRpZXMubWFwKChlbnRpdHkpID0+IHRoaXMudG9IYXN1cmEoZW50aXR5KSk7XG4gICAgfSxcbiAgICBmcm9tSGFzdXJhKGVudGl0eTogb2JqZWN0KSB7XG4gICAgICByZXR1cm4gSGFzdXJhVXRpbHMuZnJvbUhhc3VyYShlbnRpdHksIHR5cGUpIGFzIFQ7XG4gICAgfSxcbiAgICBmcm9tSGFzdXJhTWFueShlbnRpdGllczogb2JqZWN0W10pIHtcbiAgICAgIHJldHVybiBlbnRpdGllcy5tYXAoKGVudGl0eSkgPT4gdGhpcy5mcm9tSGFzdXJhKGVudGl0eSkpO1xuICAgIH0sXG4gIH1cbn1cblxuLyoqIEBkZXByZWNhdGVkIHVzZSBgZ2V0Q29udmVydGVyYCBpbnN0ZWFkICovXG5leHBvcnQgY29uc3QgbWFrZUNvbnZlcnRlciA9IGdldENvbnZlcnRlcjtcblxuZXhwb3J0IGNsYXNzIEhhc3VyYVV0aWxzIHtcbiAgc3RhdGljIHRvVGltZXN0YW1wKGRhdGU6IGRheWpzLkRheWpzIHwgRGF0ZSB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoZGF5anMuaXNEYXlqcyhkYXRlKSkge1xuICAgICAgcmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKTtcbiAgICB9IGVsc2UgaWYgKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICByZXR1cm4gZm9ybWF0KGRhdGUsICd5eXl5LU1NLWRkIEhIOm1tOnNzJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyB0b0RhdGUoZGF0ZTogZGF5anMuRGF5anMgfCBEYXRlIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgIGlmICh0eXBlb2YgZGF0ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIGlmIChkYXlqcy5pc0RheWpzKGRhdGUpKSB7XG4gICAgICAvLyBEYXlqc+OCquODluOCuOOCp+OCr+ODiOOBruWgtOWQiOOAgeaXouOBq+mBqeWIh+OBquOCv+OCpOODoOOCvuODvOODs+OBp+WHpueQhuOBleOCjOOBpuOBhOOCi+OBqOOBv+OBquOBmVxuICAgICAgcmV0dXJuIGRhdGUuZm9ybWF0KCdZWVlZLU1NLUREJyk7XG4gICAgfSBlbHNlIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgLy8gZm9ybWF0SW5UaW1lWm9uZeOCkuS9v+eUqOOBl+OBpuODreODvOOCq+ODq+OCv+OCpOODoOOCvuODvOODs+OBp+WHpueQhlxuICAgICAgcmV0dXJuIGZvcm1hdEluVGltZVpvbmUoZGF0ZSwgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lLCAneXl5eS1NTS1kZCcpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gZGF0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGZyb21IYXN1cmE8VD4oX29iamVjdDogYW55LCB0eXBlOiBUeXBlPFQ+KTogVCB7XG4gICAgY29uc3QgZmllbGRNYXAgPSBnZXRGaWVsZEFubm90YXRpb25NYXA8e1xuICAgICAgdHlwZTogJ3RleHQnIHwgJ3RpbWVzdGFtcCcgfCAnZGF0ZScgfCAnbnVtZXJpYycgfCAnaW50ZWdlcicgfCAnanNvbicgfCAnbWFwJyB8ICdsb2NhdGlvbic7XG4gICAgICBmaWVsZE5hbWU6IHN0cmluZztcbiAgICAgIGNoaWxkVHlwZT86ICgpID0+IGFueTtcbiAgICB9Pih0eXBlKTtcbiAgICAvLyDjg43jgrnjg4jjgZXjgozjgZ9tYXDlnovjga7lho3luLDnmoTlvqnlhYNcbiAgICBmdW5jdGlvbiBleHRyYWN0TmVzdGVkTWFwKG1hcEtleTogc3RyaW5nLCBjaGlsZFR5cGU6IGFueSwgb2JqZWN0OiBhbnkpOiBhbnkge1xuICAgICAgY29uc3QgY2hpbGRGaWVsZE1hcCA9IGdldEZpZWxkQW5ub3RhdGlvbk1hcDxhbnk+KGNoaWxkVHlwZSk7XG4gICAgICBjb25zdCBjaGlsZEZpZWxkczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgICAgT2JqZWN0LmVudHJpZXMoY2hpbGRGaWVsZE1hcCkuZm9yRWFjaCgoW2NoaWxkS2V5LCBjaGlsZEFubm90YXRpb25dKSA9PiB7XG4gICAgICAgIGlmIChjaGlsZEFubm90YXRpb24udHlwZSA9PT0gJ21hcCcpIHtcbiAgICAgICAgICAvLyDlho3luLDnmoTjgavjg43jgrnjg4jjgpLlvqnlhYNcbiAgICAgICAgICBjb25zdCBuZXN0ZWQgPSBleHRyYWN0TmVzdGVkTWFwKGAke21hcEtleX1fJHtjaGlsZEtleX1gLCBjaGlsZEFubm90YXRpb24uY2hpbGRUeXBlKCksIG9iamVjdCk7XG4gICAgICAgICAgaWYgKG5lc3RlZCAmJiBPYmplY3Qua2V5cyhuZXN0ZWQpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNoaWxkRmllbGRzW2NoaWxkQW5ub3RhdGlvbi5maWVsZE5hbWVdID0gbmVzdGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBmbGF0dGVuZWRLZXkgPSBgJHttYXBLZXl9XyR7Y2hpbGRLZXl9YDtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdldChvYmplY3QsIHNuYWtlQ2FzZShmbGF0dGVuZWRLZXkpKTtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY2hpbGRGaWVsZHNbY2hpbGRBbm5vdGF0aW9uLmZpZWxkTmFtZV0gPSB2YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGNoaWxkRmllbGRzO1xuICAgIH1cbiAgICBcbiAgICAvLyBGaXJzdCBleHRyYWN0IGFueSBmbGF0dGVuZWQgbWFwIGZpZWxkcyAoZS5nLiwgcHJvZmlsZV9iaW8pXG4gICAgY29uc3QgbmVzdGVkT2JqZWN0czogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYW55Pj4gPSB7fTtcbiAgICBPYmplY3QuZW50cmllcyhmaWVsZE1hcCkuZm9yRWFjaCgoW2tleSwgYW5ub3RhdGlvbl0pID0+IHtcbiAgICAgIGlmIChhbm5vdGF0aW9uLnR5cGUgPT09ICdtYXAnKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkVHlwZSA9IGFubm90YXRpb24uY2hpbGRUeXBlKCk7XG4gICAgICAgIGNvbnN0IG5lc3RlZCA9IGV4dHJhY3ROZXN0ZWRNYXAoa2V5LCBjaGlsZFR5cGUsIF9vYmplY3QpO1xuICAgICAgICBpZiAobmVzdGVkICYmIE9iamVjdC5rZXlzKG5lc3RlZCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIG5lc3RlZE9iamVjdHNbYW5ub3RhdGlvbi5maWVsZE5hbWVdID0gbmVzdGVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgXG4gICAgLy8gTm93IHByb2Nlc3MgYWxsIGZpZWxkcyBub3JtYWxseVxuICAgIGNvbnN0IG9iaiA9IE9iamVjdC5lbnRyaWVzKGZpZWxkTWFwKS5yZWR1Y2UoKGFjYywgW2tleSwgYW5ub3RhdGlvbl0pID0+IHtcbiAgICAgIC8vIEZvciBtYXAgdHlwZXMsIHVzZSBvdXIgcHJldmlvdXNseSBleHRyYWN0ZWQgbmVzdGVkIG9iamVjdHNcbiAgICAgIGlmIChhbm5vdGF0aW9uLnR5cGUgPT09ICdtYXAnKSB7XG4gICAgICAgIGNvbnN0IG5lc3RlZE9iaiA9IG5lc3RlZE9iamVjdHNbYW5ub3RhdGlvbi5maWVsZE5hbWVdO1xuICAgICAgICBpZiAobmVzdGVkT2JqKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCBbYW5ub3RhdGlvbi5maWVsZE5hbWVdOiBuZXN0ZWRPYmogfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuICAgICAgY29uc3QgdmFsdWUgPSBnZXQoX29iamVjdCwgc25ha2VDYXNlKGtleSkpO1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBhY2M7XG4gICAgICBzd2l0Y2ggKGFubm90YXRpb24udHlwZSkge1xuICAgICAgICBjYXNlICd0ZXh0JzogcmV0dXJuIHsgLi4uYWNjLCBbYW5ub3RhdGlvbi5maWVsZE5hbWVdOiB2YWx1ZSB9O1xuICAgICAgICBjYXNlICd0aW1lc3RhbXAnOiByZXR1cm4geyAuLi5hY2MsIFthbm5vdGF0aW9uLmZpZWxkTmFtZV06IHZhbHVlID09PSBudWxsID8gbnVsbCA6IHBhcnNlKHZhbHVlLCAneXl5eS1NTS1kZCBISDptbTpzcycsIG5ldyBEYXRlKCkpIH07XG4gICAgICAgIGNhc2UgJ2RhdGUnOiB7XG4gICAgICAgICAgY29uc3QgcGFyc2VkRGF0ZSA9IHZhbHVlID09PSBudWxsID8gbnVsbCA6IHBhcnNlKHZhbHVlLCAneXl5eS1NTS1kZCcsIG5ldyBEYXRlKCkpO1xuICAgICAgICAgIHJldHVybiB7IC4uLmFjYywgW2Fubm90YXRpb24uZmllbGROYW1lXTogcGFyc2VkRGF0ZSB9O1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ251bWVyaWMnOiByZXR1cm4geyAuLi5hY2MsIFthbm5vdGF0aW9uLmZpZWxkTmFtZV06IHZhbHVlIH07XG4gICAgICAgIGNhc2UgJ2ludGVnZXInOiByZXR1cm4geyAuLi5hY2MsIFthbm5vdGF0aW9uLmZpZWxkTmFtZV06IHZhbHVlIH07XG4gICAgICAgIGNhc2UgJ2pzb24nOiByZXR1cm4geyAuLi5hY2MsIFthbm5vdGF0aW9uLmZpZWxkTmFtZV06IHZhbHVlIH07XG4gICAgICAgIGNhc2UgJ2xvY2F0aW9uJzogcmV0dXJuIHsgLi4uYWNjLCBbYW5ub3RhdGlvbi5maWVsZE5hbWVdOiB0aGlzLmZyb21IYXN1cmFMb2NhdGlvbih2YWx1ZSkgfTtcbiAgICAgICAgZGVmYXVsdDogcmV0dXJuIHsgLi4uYWNjLCBbYW5ub3RhdGlvbi5maWVsZE5hbWVdOiB2YWx1ZSB9O1xuICAgICAgfVxuICAgIH0sIHt9KTtcbiAgICByZXR1cm4gcGxhaW5Ub0luc3RhbmNlV2l0aFZhbGlkKHR5cGUgYXMgYW55LCBvYmopIGFzIFQ7XG4gIH1cblxuICBzdGF0aWMgdG9OdW1iZXIodmFsdWU6IGFueSk6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuIG51bGw7XG4gICAgaWYgKHZhbHVlID09PSAnJyB8fCAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS50cmltKCkgPT09ICcnKSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIGlzTmFOKE51bWJlcih2YWx1ZSkpID8gbnVsbCA6IE51bWJlcih2YWx1ZSk7XG4gIH1cblxuICBzdGF0aWMgdG9IYXN1cmFMb2NhdGlvbihwb3NpdGlvbjoge2xhdDogbnVtYmVyLCBsbmc6IG51bWJlcn0gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCEocG9zaXRpb24/LmxhdCAmJiBwb3NpdGlvbj8ubG5nKSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdQb2ludCcsXG4gICAgICBjcnM6IHtcbiAgICAgICAgdHlwZTogJ25hbWUnLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7IG5hbWU6ICd1cm46b2djOmRlZjpjcnM6RVBTRzo6NDMyNicgfVxuICAgICAgfSxcbiAgICAgIGNvb3JkaW5hdGVzOiBbcG9zaXRpb24ubG5nLCBwb3NpdGlvbi5sYXRdXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSGFzdXJhTG9jYXRpb24obG9jYXRpb246IHtcbiAgICB0eXBlOiAnUG9pbnQnLFxuICAgIGNyczoge1xuICAgICAgdHlwZTogJ25hbWUnLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBuYW1lOiAndXJuOm9nYzpkZWY6Y3JzOkVQU0c6OjQzMjYnXG4gICAgICB9XG4gICAgfSxcbiAgICBjb29yZGluYXRlczogW251bWJlciwgbnVtYmVyXVxuICB9KSB7XG4gICAgaWYgKCFsb2NhdGlvbikgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhdDogbG9jYXRpb24uY29vcmRpbmF0ZXM/LlsxXSxcbiAgICAgIGxuZzogbG9jYXRpb24uY29vcmRpbmF0ZXM/LlswXSxcbiAgICB9O1xuICB9XG4gIFxuICBzdGF0aWMgdG9IYXN1cmE8RT4ob2JqZWN0OiBFLCB0eXBlOiBUeXBlPEU+LCB7XG4gICAgZXh0cmFGdW5jID0gZGVlcENhbWVsVG9TbmFrZUNhc2VcbiAgfToge1xuICAgIGV4dHJhRnVuYz86IChvYmo6IGFueSkgPT4gYW55O1xuICB9ID0geyB9KSB7XG4gICAgY29uc3QgZmllbGRNYXAgPSBnZXRGaWVsZEFubm90YXRpb25NYXA8e1xuICAgICAgdHlwZTogJ3RleHQnIHwgJ3RpbWVzdGFtcCcgfCAnZGF0ZScgfCAnbnVtZXJpYycgfCAnaW50ZWdlcicgfCAnanNvbicgfCAnbWFwJyB8ICdsb2NhdGlvbic7XG4gICAgICBmaWVsZE5hbWU6IHN0cmluZztcbiAgICAgIGNoaWxkVHlwZT86ICgpID0+IGFueTtcbiAgICB9Pih0eXBlKTtcbiAgICBjb25zdCBvYmogPSBPYmplY3QuZW50cmllcyhmaWVsZE1hcCkucmVkdWNlKChhY2MsIFtrZXksIGFubm90YXRpb25dKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGdldChvYmplY3QsIGFubm90YXRpb24uZmllbGROYW1lKTtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gYWNjO1xuICAgICAgc3dpdGNoIChhbm5vdGF0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSAndGV4dCc6IHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIH07XG4gICAgICAgIGNhc2UgJ3RpbWVzdGFtcCc6IHJldHVybiB7IC4uLmFjYywgW2tleV06IHRoaXMudG9UaW1lc3RhbXAodmFsdWUpIH07XG4gICAgICAgIGNhc2UgJ2RhdGUnOiByZXR1cm4geyAuLi5hY2MsIFtrZXldOiB0aGlzLnRvRGF0ZSh2YWx1ZSkgfTtcbiAgICAgICAgY2FzZSAnbnVtZXJpYyc6IHJldHVybiB7IC4uLmFjYywgW2tleV06IHRoaXMudG9OdW1iZXIodmFsdWUpIH07XG4gICAgICAgIGNhc2UgJ2ludGVnZXInOiByZXR1cm4geyAuLi5hY2MsIFtrZXldOiB0aGlzLnRvTnVtYmVyKHZhbHVlKSB9O1xuICAgICAgICBjYXNlICdqc29uJzogcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogdmFsdWUgfTtcbiAgICAgICAgY2FzZSAnbWFwJzoge1xuICAgICAgICAgIGNvbnN0IGNoaWxkT2JqID0gdGhpcy50b0hhc3VyYSh2YWx1ZSwgYW5ub3RhdGlvbi5jaGlsZFR5cGUoKSwgeyBleHRyYUZ1bmMgfSk7XG4gICAgICAgICAgY29uc3QgZmxhdHRlbmVkT2JqID0gT2JqZWN0LmVudHJpZXMoY2hpbGRPYmopLnJlZHVjZSgoY2hpbGRBY2MsIFtjaGlsZEtleSwgY2hpbGRWYWx1ZV0pID0+ICh7XG4gICAgICAgICAgICAuLi5jaGlsZEFjYyxcbiAgICAgICAgICAgIFtgJHtrZXl9XyR7Y2hpbGRLZXl9YF06IGNoaWxkVmFsdWVcbiAgICAgICAgICB9KSwge30pO1xuICAgICAgICAgIHJldHVybiB7Li4uYWNjLCAuLi5mbGF0dGVuZWRPYmp9O1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ2xvY2F0aW9uJzogcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogdGhpcy50b0hhc3VyYUxvY2F0aW9uKHZhbHVlKSB9O1xuICAgICAgICBkZWZhdWx0OiByZXR1cm4geyAuLi5hY2MsIFtrZXldOiB2YWx1ZSB9O1xuICAgICAgfVxuICAgIH0sIHt9KTtcbiAgICByZXR1cm4gZXh0cmFGdW5jKG9iaik7XG4gIH1cbn1cbiJdfQ==","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)) {\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9oYXN1cmEvc3JjL2xpYi9oYXN1cmEuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUdoRCxNQUFNLE9BQU8saUJBQWlCO0lBQ3BCLE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFdkMsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBQzNCLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQzthQUMzRSxDQUFDLENBQUMsQ0FBQztRQUNOLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQzt1R0FWVSxpQkFBaUI7MkdBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEhBU1VSQV9DT05GSUcgfSBmcm9tIFwiLi9oYXN1cmEuY29uZmlnXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIYXN1cmFJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIHByaXZhdGUgY29uZmlnID0gaW5qZWN0KEhBU1VSQV9DT05GSUcpO1xuXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIGlmIChyZXEudXJsLnN0YXJ0c1dpdGgodGhpcy5jb25maWcudXJsKSkge1xuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcS5jbG9uZSh7XG4gICAgICAgIGhlYWRlcnM6IHJlcS5oZWFkZXJzLnNldCgneC1oYXN1cmEtYWRtaW4tc2VjcmV0JywgdGhpcy5jb25maWcuYWRtaW5TZWNyZXQpLFxuICAgICAgfSkpO1xuICAgIH1cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgfVxufSJdfQ==","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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2hhc3VyYS9zcmMvbGliL2J1aWxkZXJzL3BhcnRzL211dGF0aW9ucy9jcmVhdGUuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJcEQsTUFBTSxPQUFPLHFCQUFxQjtJQUNEO0lBQS9CLFlBQStCLE1BQW1CO1FBQW5CLFdBQU0sR0FBTixNQUFNLENBQWE7SUFBSSxDQUFDO0lBRXZELEtBQUssQ0FBQyxJQUFtQixFQUFFLEtBQUssR0FBRyxRQUFRO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsTUFBTSxZQUFZLEdBQUcsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRixNQUFNLFNBQVMsR0FBRyxHQUFHLEtBQUssS0FBSyxZQUFZLGVBQWUsS0FBSyxrQ0FBa0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDckksTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFxQixFQUFFLEtBQUssR0FBRyxZQUFZO1FBQ25ELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxNQUFNLFlBQVksR0FBRyxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdkQsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sU0FBUyxHQUFHLEdBQUcsS0FBSyxLQUFLLFlBQVksY0FBYyxLQUFLLGlDQUFpQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNuSSxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUMzRixDQUFDO0lBRVMsZUFBZSxDQUFDLElBQW1CO1FBQzNDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNqSCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssV0FBVyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVTLGdCQUFnQixDQUFDLEtBQXNCO1FBQy9DLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlQ29uZmlnLCBUcmFuc2FjdGlvblF1ZXJ5UGFydCB9IGZyb20gJy4uLy4uL3BhcnRzL19tZXRhL2dyYXBocWwtcXVlcnktcGFydCc7XG5pbXBvcnQgeyBvbWl0QnksIHBpY2ssIHNuYWtlQ2FzZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbnR5cGUgQ3JlYXRlRGF0YTxFPiA9IE9taXQ8RSwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+O1xuXG5leHBvcnQgY2xhc3MgQ3JlYXRlTXV0YXRpb25CdWlsZGVyPEUgZXh0ZW5kcyB7aWQ6IHN0cmluZ30+IHtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZzogVGFibGVDb25maWcpIHsgfVxuXG4gIGJ1aWxkKGRhdGE6IENyZWF0ZURhdGE8RT4sIGFsaWFzID0gJ2NyZWF0ZScpOiBUcmFuc2FjdGlvblF1ZXJ5UGFydCB7XG4gICAgY29uc3Qgb2JqZWN0ID0gdGhpcy5jb252ZXJ0VG9PYmplY3QoZGF0YSk7XG4gICAgY29uc3QgbXV0YXRpb25OYW1lID0gYGluc2VydF8ke3RoaXMuY29uZmlnLnRhYmxlTmFtZX1gO1xuICAgIGNvbnN0IHZhcmlhYmxlRGVmaW5pdGlvbnMgPSBbYCQke2FsaWFzfTogJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9X2luc2VydF9pbnB1dCFgXTtcbiAgICBjb25zdCBxdWVyeVBhcnQgPSBgJHthbGlhc306ICR7bXV0YXRpb25OYW1lfShvYmplY3RzOiBbJCR7YWxpYXN9XSkgeyBhZmZlY3RlZF9yb3dzIHJldHVybmluZyB7ICR7dGhpcy5jb25maWcuY29sdW1ucy5qb2luKCcgJyl9IH0gfWA7XG4gICAgY29uc3QgdmFyaWFibGVzID0geyBbYWxpYXNdOiBvYmplY3QgfTtcbiAgICByZXR1cm4geyBxdWVyeVBhcnQsIHZhcmlhYmxlRGVmaW5pdGlvbnMsIHZhcmlhYmxlcywgb3BlcmF0aW9uTmFtZTogbXV0YXRpb25OYW1lLCBhbGlhcyB9O1xuICB9XG5cbiAgYnVpbGRNYW55KGRhdGE6IENyZWF0ZURhdGE8RT5bXSwgYWxpYXMgPSAnY3JlYXRlTWFueScpOiBUcmFuc2FjdGlvblF1ZXJ5UGFydCB7XG4gICAgY29uc3Qgb2JqZWN0cyA9IHRoaXMuY29udmVydFRvT2JqZWN0cyhkYXRhKTtcbiAgICBjb25zdCBtdXRhdGlvbk5hbWUgPSBgaW5zZXJ0XyR7dGhpcy5jb25maWcudGFibGVOYW1lfWA7XG4gICAgY29uc3QgdmFyaWFibGVEZWZpbml0aW9ucyA9IFtgJCR7YWxpYXN9OiBbJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9X2luc2VydF9pbnB1dCFdIWBdO1xuICAgIGNvbnN0IHF1ZXJ5UGFydCA9IGAke2FsaWFzfTogJHttdXRhdGlvbk5hbWV9KG9iamVjdHM6ICQke2FsaWFzfSkgeyBhZmZlY3RlZF9yb3dzIHJldHVybmluZyB7ICR7dGhpcy5jb25maWcuY29sdW1ucy5qb2luKCcgJyl9IH0gfWA7XG4gICAgY29uc3QgdmFyaWFibGVzID0geyBbYWxpYXNdOiBvYmplY3RzIH07XG4gICAgcmV0dXJuIHsgcXVlcnlQYXJ0LCB2YXJpYWJsZURlZmluaXRpb25zLCB2YXJpYWJsZXMsIG9wZXJhdGlvbk5hbWU6IG11dGF0aW9uTmFtZSwgYWxpYXMgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb252ZXJ0VG9PYmplY3QoaXRlbTogQ3JlYXRlRGF0YTxFPikge1xuICAgIGNvbnN0IGZpZWxkcyA9IE9iamVjdC5rZXlzKGl0ZW0pLm1hcChzbmFrZUNhc2UpLmZpbHRlcigoZmllbGQpID0+ICFbJ2NyZWF0ZWRfYXQnLCAndXBkYXRlZF9hdCddLmluY2x1ZGVzKGZpZWxkKSk7XG4gICAgY29uc3QgcGlja2VkID0gcGljayhpdGVtLCBbLi4uZmllbGRzXSk7XG4gICAgcmV0dXJuIG9taXRCeShwaWNrZWQsICh2YWx1ZSkgPT4gdHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29udmVydFRvT2JqZWN0cyhpdGVtczogQ3JlYXRlRGF0YTxFPltdKSB7XG4gICAgcmV0dXJuIGl0ZW1zLm1hcCgoaXRlbSkgPT4gdGhpcy5jb252ZXJ0VG9PYmplY3QoaXRlbSkpO1xuICB9XG59XG4iXX0=","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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RSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUNvbmZpZywgVHJhbnNhY3Rpb25RdWVyeVBhcnQgfSBmcm9tICcuLi8uLi9wYXJ0cy9fbWV0YS9ncmFwaHFsLXF1ZXJ5LXBhcnQnO1xuaW1wb3J0IHsgb21pdEJ5LCBwaWNrLCBzbmFrZUNhc2UgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmludGVyZmFjZSBPcHRpb25zIHtcbiAgb3BlcmF0aW9uTmFtZT86IHN0cmluZztcbiAgY29uc3RyYWludD86IHN0cmluZztcbiAgY29sdW1ucz86IHN0cmluZ1tdO1xuICByZXR1cm5pbmdDb2x1bW5zPzogc3RyaW5nW107XG4gIGFsaWFzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgU2F2ZU11dGF0aW9uQnVpbGRlcjxFID0gYW55PiB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBjb25maWc6IFRhYmxlQ29uZmlnKSB7IH1cblxuICBidWlsZChkYXRhOiBPbWl0PEUsICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+LCB7XG4gICAgb3BlcmF0aW9uTmFtZSA9IGBpbnNlcnRfJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9YCxcbiAgICBjb25zdHJhaW50ID0gdGhpcy5jb25maWcucGssXG4gICAgY29sdW1ucyA9IHRoaXMuY29uZmlnLmNvbHVtbnMsXG4gICAgcmV0dXJuaW5nQ29sdW1ucyA9IHRoaXMuY29uZmlnLmNvbHVtbnMsXG4gICAgYWxpYXMgPSBvcGVyYXRpb25OYW1lLFxuICB9OiBPcHRpb25zID0ge30pOiBUcmFuc2FjdGlvblF1ZXJ5UGFydCB7XG4gICAgY29uc3Qgb2JqZWN0ID0gdGhpcy5idWlsZE9iamVjdChkYXRhKTtcbiAgICBjb25zdCBvbkNvbmZsaWN0ID0gdGhpcy5idWlsZE9uQ29uZmxpY3QoZGF0YSwgY29uc3RyYWludCwgY29sdW1ucyk7XG4gICAgY29uc3QgdmFyaWFibGVEZWZpbml0aW9ucyA9IFtcbiAgICAgIGAkJHthbGlhc31PYmplY3Q6ICR7dGhpcy5jb25maWcudGFibGVOYW1lfV9pbnNlcnRfaW5wdXQhYCxcbiAgICAgIGAkJHthbGlhc31PbkNvbmZsaWN0OiAke3RoaXMuY29uZmlnLnRhYmxlTmFtZX1fb25fY29uZmxpY3QhYFxuICAgIF07XG4gICAgY29uc3QgcXVlcnlQYXJ0ID0gYCR7YWxpYXN9OiAke29wZXJhdGlvbk5hbWV9KCBvYmplY3RzOiBbJCR7YWxpYXN9T2JqZWN0XSBvbl9jb25mbGljdDogJCR7YWxpYXN9T25Db25mbGljdCkgeyBhZmZlY3RlZF9yb3dzIHJldHVybmluZyB7ICR7cmV0dXJuaW5nQ29sdW1ucy5qb2luKCcsICcpfSB9IH1gO1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHsgW2Ake2FsaWFzfU9iamVjdGBdOiBvYmplY3QsIFtgJHthbGlhc31PbkNvbmZsaWN0YF06IG9uQ29uZmxpY3QgfTtcbiAgICByZXR1cm4geyBxdWVyeVBhcnQsIHZhcmlhYmxlRGVmaW5pdGlvbnMsIHZhcmlhYmxlcywgb3BlcmF0aW9uTmFtZSwgYWxpYXMgfTtcbiAgfVxuXG4gIGJ1aWxkTWFueShlbnRpdGllczogRVtdLCB7XG4gICAgb3BlcmF0aW9uTmFtZSA9IGBpbnNlcnRfJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9YCxcbiAgICBjb25zdHJhaW50ID0gdGhpcy5jb25maWcucGssXG4gICAgY29sdW1ucyA9IHRoaXMuY29uZmlnLmNvbHVtbnMsXG4gICAgcmV0dXJuaW5nQ29sdW1ucyA9IHRoaXMuY29uZmlnLmNvbHVtbnMsXG4gICAgYWxpYXMgPSAnc2F2ZSdcbiAgfTogT3B0aW9ucyA9IHt9KTogVHJhbnNhY3Rpb25RdWVyeVBhcnQge1xuICAgIGNvbnN0IG9iamVjdHMgPSB0aGlzLmJ1aWxkT2JqZWN0cyhlbnRpdGllcyk7XG4gICAgY29uc3Qgb25Db25mbGljdCA9IHRoaXMuYnVpbGRPbkNvbmZsaWN0KGVudGl0aWVzWzBdIGFzIGFueSwgY29uc3RyYWludCwgY29sdW1ucyk7XG4gICAgY29uc3QgdmFyaWFibGVEZWZpbml0aW9ucyA9IFtcbiAgICAgIGAkJHthbGlhc31PYmplY3RzOiBbJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9X2luc2VydF9pbnB1dCFdIWAsXG4gICAgICBgJCR7YWxpYXN9T25Db25mbGljdDogJHt0aGlzLmNvbmZpZy50YWJsZU5hbWV9X29uX2NvbmZsaWN0IWBcbiAgICBdO1xuICAgIGNvbnN0IHF1ZXJ5UGFydCA9IGAke2FsaWFzfTogJHtvcGVyYXRpb25OYW1lfShvYmplY3RzOiAkJHthbGlhc31PYmplY3RzIG9uX2NvbmZsaWN0OiAkJHthbGlhc31PbkNvbmZsaWN0KSB7XG4gICAgICBhZmZlY3RlZF9yb3dzIHJldHVybmluZyB7ICR7cmV0dXJuaW5nQ29sdW1ucy5qb2luKCcsICcpfSB9XG4gICAgfWA7XG4gICAgY29uc3QgdmFyaWFibGVzID0geyBbYCR7YWxpYXN9T2JqZWN0c2BdOiBvYmplY3RzLCBbYCR7YWxpYXN9T25Db25mbGljdGBdOiBvbkNvbmZsaWN0IH07XG4gICAgcmV0dXJuIHsgcXVlcnlQYXJ0LCB2YXJpYWJsZURlZmluaXRpb25zLCB2YXJpYWJsZXMsIG9wZXJhdGlvbk5hbWU6IG9wZXJhdGlvbk5hbWUsIGFsaWFzIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRPYmplY3QoaXRlbTogT21pdDxFLCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPikge1xuICAgIGNvbnN0IGZpZWxkcyA9IE9iamVjdC5rZXlzKGl0ZW0pLm1hcChzbmFrZUNhc2UpLmZpbHRlcigoZmllbGQpID0+ICFbJ2NyZWF0ZWRfYXQnLCAndXBkYXRlZF9hdCddLmluY2x1ZGVzKGZpZWxkKSk7XG4gICAgY29uc3QgcGlja2VkID0gcGljayhpdGVtLCBbLi4uZmllbGRzXSk7XG4gICAgcmV0dXJuIG9taXRCeShwaWNrZWQsICh2YWx1ZSkgPT4gdHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRPYmplY3RzKGl0ZW1zOiBPbWl0PEUsICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+W10pIHtcbiAgICByZXR1cm4gaXRlbXMubWFwKChpdGVtKSA9PiB0aGlzLmJ1aWxkT2JqZWN0KGl0ZW0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZE9uQ29uZmxpY3QoZGF0YTogT21pdDxFLCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPiwgY29uc3RyYWludDogc3RyaW5nLCBjb2x1bW5zOiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IGZpZWxkcyA9IE9iamVjdC5rZXlzKHRoaXMuYnVpbGRPYmplY3QoZGF0YSkpO1xuICAgIGNvbnN0IHVwZGF0ZUNvbHVtbnMgPSBmaWVsZHMuZmlsdGVyKGNvbHVtbiA9PiBjb2x1bW5zLmluY2x1ZGVzKGNvbHVtbikpO1xuICAgIHJldHVybiB7IGNvbnN0cmFpbnQsIHVwZGF0ZV9jb2x1bW5zOiB1cGRhdGVDb2x1bW5zIH07XG4gIH1cbn0iXX0=","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メソッド(キャッシュ可能)\n watchQuery(options) {\n const { query, variables, fetchPolicy = 'cache-first' } = options;\n return this.getApolloClient().pipe(switchMap((client) => client.watchQuery({\n query: makeSubscription(query),\n variables: variables,\n fetchPolicy: 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2hhc3VyYS9zcmMvbGliL2hhc3VyYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGFBQWEsRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUF3QixNQUFNLFlBQVksQ0FBQztBQUN0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUk5QyxNQUFNLE9BQU8sYUFBYTtJQUNMLFVBQVUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDckMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDekQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUVsRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsU0FBUyxDQUdQLEVBQ0EsS0FBSyxFQUNMLFNBQVMsRUFDVCxXQUFXLEdBQUcsY0FBYyxFQUM1QixPQUFPLEVBTVI7UUFDQyxPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQ2hDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBZ0I7WUFDcEQsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUM5QixTQUFTLEVBQUUsU0FBUztZQUNwQixXQUFXLEVBQUUsV0FBVztZQUN4QixPQUFPO1NBQ1IsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFVLEdBQUcsSUFBc0M7UUFDN0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDM0QsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDM0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbkMsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQVUsSUFBMEI7UUFDekQsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBSTtZQUNwQixRQUFRLEVBQUUsR0FBRyxDQUFBLEdBQUcsUUFBUSxFQUFFO1lBQzFCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztTQUNuQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDMUIsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQ3BELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQVUsR0FBRyxJQUFxQztRQUMzRCxNQUFNLE1BQU0sR0FBRyxNQUFNLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUMzRCw2Q0FBNkM7UUFDN0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN2QixNQUFNLFlBQVksR0FBRztZQUNuQixHQUFHLE9BQU87WUFDVixXQUFXLEVBQUUsT0FBTyxFQUFFLFdBQVcsSUFBSSxjQUFjO1NBQ3BELENBQUM7UUFDRixPQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDL0QsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNyRCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUMsQ0FBa0MsQ0FBQztJQUN0QyxDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLFVBQVUsQ0FBc0UsT0FJL0U7UUFDQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEdBQUcsYUFBYSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FDaEMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFnQjtZQUNyRCxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1lBQzlCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFdBQVcsRUFBRSxXQUFXO1NBQ2xCLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FDeEIsQ0FBQztJQUNKLENBQUM7dUdBL0VVLGFBQWE7MkdBQWIsYUFBYSxjQURBLE1BQU07OzJGQUNuQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBcG9sbG9CYXNlLCBncWwgfSBmcm9tIFwiYXBvbGxvLWFuZ3VsYXJcIjtcbmltcG9ydCB7IEhBU1VSQV9DT05GSUcgfSBmcm9tIFwiLi9oYXN1cmEuY29uZmlnXCI7XG5pbXBvcnQgeyBGZXRjaFBvbGljeSwgRmV0Y2hSZXN1bHQsIE9wZXJhdGlvblZhcmlhYmxlcywgQXBvbGxvUXVlcnlSZXN1bHQgfSBmcm9tIFwiQGFwb2xsby9jbGllbnQvY29yZVwiO1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgc3dpdGNoTWFwIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG1ha2VTdWJzY3JpcHRpb24gfSBmcm9tIFwiLi9idWlsZGVycy9wYXJ0cy9xdWVyaWVzXCI7XG5pbXBvcnQgeyBIYXN1cmFRdWVyeUJ1aWxkZXIsIFRyYW5zYWN0aW9uUXVlcnlQYXJ0IH0gZnJvbSBcIi4vYnVpbGRlcnNcIjtcbmltcG9ydCB7IEFwb2xsb0NsaWVudE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSBcIi4vYXBvbGxvL2NsaWVudC1tYW5hZ2VyXCI7XG5pbXBvcnQgeyBHUkFQSFFMX0hFQURFUlMgfSBmcm9tIFwiLi9oYXN1cmEuZGlcIjtcblxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEhhc3VyYVNlcnZpY2Uge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ2V0SGVhZGVycyA9IGluamVjdChHUkFQSFFMX0hFQURFUlMpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBvbGxvQ2xpZW50TWFuYWdlciA9IGluamVjdChBcG9sbG9DbGllbnRNYW5hZ2VyU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWcgPSBpbmplY3QoSEFTVVJBX0NPTkZJRyk7XG5cbiAgZ2V0QXBvbGxvQ2xpZW50KCk6IE9ic2VydmFibGU8QXBvbGxvQmFzZTxhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuYXBvbGxvQ2xpZW50TWFuYWdlci5nZXRDbGllbnQodGhpcy5jb25maWcudXJsLCB0aGlzLmdldEhlYWRlcnMpO1xuICB9XG5cbiAgc3Vic2NyaWJlPFxuICAgIFQgPSBhbnksXG4gICAgVFZhcmlhYmxlcyBleHRlbmRzIE9wZXJhdGlvblZhcmlhYmxlcyA9IE9wZXJhdGlvblZhcmlhYmxlc1xuICA+KHtcbiAgICBxdWVyeSxcbiAgICB2YXJpYWJsZXMsXG4gICAgZmV0Y2hQb2xpY3kgPSAnbmV0d29yay1vbmx5JyxcbiAgICBjb250ZXh0XG4gIH06IHtcbiAgICBxdWVyeTogYW55LFxuICAgIHZhcmlhYmxlczogVFZhcmlhYmxlcyxcbiAgICBmZXRjaFBvbGljeT86IEZldGNoUG9saWN5LFxuICAgIGNvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB9KTogT2JzZXJ2YWJsZTxGZXRjaFJlc3VsdDxUPj4ge1xuICAgIHJldHVybiB0aGlzLmdldEFwb2xsb0NsaWVudCgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGNsaWVudCkgPT4gY2xpZW50LnN1YnNjcmliZTxULCBUVmFyaWFibGVzPih7XG4gICAgICAgIHF1ZXJ5OiBtYWtlU3Vic2NyaXB0aW9uKHF1ZXJ5KSxcbiAgICAgICAgdmFyaWFibGVzOiB2YXJpYWJsZXMsXG4gICAgICAgIGZldGNoUG9saWN5OiBmZXRjaFBvbGljeSxcbiAgICAgICAgY29udGV4dFxuICAgICAgfSkpLFxuICAgICk7XG4gIH1cblxuICBhc3luYyBtdXRhdGU8VCA9IGFueT4oLi4uYXJnczogUGFyYW1ldGVyczxBcG9sbG9CYXNlWydtdXRhdGUnXT4pIHtcbiAgICBjb25zdCBjbGllbnQgPSBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuZ2V0QXBvbGxvQ2xpZW50KCkpO1xuICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKGNsaWVudC5tdXRhdGUoLi4uYXJncykpLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvci5ncmFwaFFMRXJyb3JzKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbXV0YXRlQnlRdWVyeVBhcnQ8VCA9IGFueT4ocGFydDogVHJhbnNhY3Rpb25RdWVyeVBhcnQpOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBtdXRhdGlvbiA9IEhhc3VyYVF1ZXJ5QnVpbGRlci5idWlsZE11dGF0aW9uKHBhcnQpO1xuICAgIHJldHVybiB0aGlzLm11dGF0ZTxUPih7XG4gICAgICBtdXRhdGlvbjogZ3FsYCR7bXV0YXRpb259YCxcbiAgICAgIHZhcmlhYmxlczogcGFydC52YXJpYWJsZXMsXG4gICAgfSBhcyBhbnkpLnRoZW4oKHJlczogYW55KSA9PiB7XG4gICAgICByZXR1cm4gcmVzLmRhdGFbcGFydD8uYWxpYXMgPz8gcGFydC5vcGVyYXRpb25OYW1lXVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgcXVlcnk8VCA9IGFueT4oLi4uYXJnczogUGFyYW1ldGVyczxBcG9sbG9CYXNlWydxdWVyeSddPik6IFByb21pc2U8QXBvbGxvUXVlcnlSZXN1bHQ8VD4+IHtcbiAgICBjb25zdCBjbGllbnQgPSBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuZ2V0QXBvbGxvQ2xpZW50KCkpO1xuICAgIC8vIGZldGNoUG9saWN544GM5oyH5a6a44GV44KM44Gm44GE44Gq44GE5aC05ZCI44GvbmV0d29yay1vbmx544KS44OH44OV44Kp44Or44OI44GrXG4gICAgY29uc3QgW29wdGlvbnNdID0gYXJncztcbiAgICBjb25zdCBxdWVyeU9wdGlvbnMgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgZmV0Y2hQb2xpY3k6IG9wdGlvbnM/LmZldGNoUG9saWN5IHx8ICduZXR3b3JrLW9ubHknXG4gICAgfTtcbiAgICByZXR1cm4gbGFzdFZhbHVlRnJvbShjbGllbnQucXVlcnkocXVlcnlPcHRpb25zKSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbSGFzdXJhU2VydmljZV0gcXVlcnkgZXJyb3I6JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSkgYXMgUHJvbWlzZTxBcG9sbG9RdWVyeVJlc3VsdDxUPj47XG4gIH1cblxuICAvLyBPYnNlcnZhYmxl54mI44GucXVlcnnjg6Hjgr3jg4Pjg4nvvIjjgq3jg6Pjg4Pjgrfjg6Xlj6/og73vvIlcbiAgd2F0Y2hRdWVyeTxUID0gYW55LCBUVmFyaWFibGVzIGV4dGVuZHMgT3BlcmF0aW9uVmFyaWFibGVzID0gT3BlcmF0aW9uVmFyaWFibGVzPihvcHRpb25zOiB7XG4gICAgcXVlcnk6IGFueSxcbiAgICB2YXJpYWJsZXM/OiBUVmFyaWFibGVzLFxuICAgIGZldGNoUG9saWN5PzogRmV0Y2hQb2xpY3lcbiAgfSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgeyBxdWVyeSwgdmFyaWFibGVzLCBmZXRjaFBvbGljeSA9ICdjYWNoZS1maXJzdCcgfSA9IG9wdGlvbnM7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXBvbGxvQ2xpZW50KCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoY2xpZW50KSA9PiBjbGllbnQud2F0Y2hRdWVyeTxULCBUVmFyaWFibGVzPih7XG4gICAgICAgIHF1ZXJ5OiBtYWtlU3Vic2NyaXB0aW9uKHF1ZXJ5KSxcbiAgICAgICAgdmFyaWFibGVzOiB2YXJpYWJsZXMsXG4gICAgICAgIGZldGNoUG9saWN5OiBmZXRjaFBvbGljeVxuICAgICAgfSBhcyBhbnkpLnZhbHVlQ2hhbmdlcylcbiAgICApO1xuICB9XG59XG4iXX0=","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","InMemoryCache","gql"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -161,6 +161,15 @@ declare const Hasura: {
|
|
|
161
161
|
Location: (nameOrProps?: {
|
|
162
162
|
name?: string;
|
|
163
163
|
} | string) => (target: any, propName: string) => void;
|
|
164
|
+
addAnnotation: (target: any, annotation: {
|
|
165
|
+
type: string;
|
|
166
|
+
fieldName: string;
|
|
167
|
+
propName: string;
|
|
168
|
+
childType: any;
|
|
169
|
+
}) => void;
|
|
170
|
+
createDecorator: (type: string, options?: any) => (nameOrProps?: {
|
|
171
|
+
name?: string;
|
|
172
|
+
} | string) => (target: any, propName: string) => void;
|
|
164
173
|
getAnnotations: (target: any) => {
|
|
165
174
|
type: string;
|
|
166
175
|
fieldName: string;
|