{"version":3,"sources":["../src/utils/getListHelpers.ts","../src/utils/graphql.ts","../src/dataProvider/options.ts","../src/dataProvider/index.ts","../src/liveProvider/helpers.ts","../src/liveProvider/index.ts","../src/index.ts"],"sourcesContent":["import type {\n  CrudOperators,\n  LogicalFilter,\n  CrudFilter,\n  CrudSort,\n  Pagination,\n} from \"@refinedev/core\";\nimport set from \"lodash/set\";\n\nexport const buildSorters = (sorters: CrudSort[] = []) => {\n  return sorters.map((s) => ({\n    field: s.field,\n    direction: s.order.toUpperCase(),\n  }));\n};\n\nexport const buildPagination = (pagination: Pagination = {}) => {\n  if (pagination.mode === \"off\") return { limit: 2147483647 };\n\n  const { pageSize = 10, currentPage = 1 } = pagination;\n\n  return {\n    limit: pageSize,\n    offset: (currentPage - 1) * pageSize,\n  };\n};\n\nconst operatorMap: { [key: string]: string } = {\n  eq: \"eq\",\n  ne: \"neq\",\n  lt: \"lt\",\n  gt: \"gt\",\n  lte: \"lte\",\n  gte: \"gte\",\n  in: \"in\",\n  nin: \"notIn\",\n};\n\nconst operatorMapper = (\n  operator: CrudOperators,\n  value: any,\n): { [key: string]: any } => {\n  if (operator === \"contains\") {\n    return { iLike: `%${value}%` };\n  }\n\n  if (operator === \"ncontains\") {\n    return { notILike: `%${value}%` };\n  }\n\n  if (operator === \"containss\") {\n    return { like: `%${value}%` };\n  }\n\n  if (operator === \"ncontainss\") {\n    return { notLike: `%${value}%` };\n  }\n\n  if (operator === \"startswith\") {\n    return { iLike: `${value}%` };\n  }\n\n  if (operator === \"nstartswith\") {\n    return { notILike: `${value}%` };\n  }\n\n  if (operator === \"startswiths\") {\n    return { like: `${value}%` };\n  }\n\n  if (operator === \"nstartswiths\") {\n    return { notLike: `${value}%` };\n  }\n\n  if (operator === \"endswith\") {\n    return { iLike: `%${value}` };\n  }\n\n  if (operator === \"nendswith\") {\n    return { notILike: `%${value}` };\n  }\n\n  if (operator === \"endswiths\") {\n    return { like: `%${value}` };\n  }\n\n  if (operator === \"nendswiths\") {\n    return { notLike: `%${value}` };\n  }\n\n  if (operator === \"null\") {\n    return { is: null };\n  }\n\n  if (operator === \"nnull\") {\n    return { isNot: null };\n  }\n\n  if (operator === \"between\") {\n    if (!Array.isArray(value)) {\n      throw new Error(\"Between operator requires an array\");\n    }\n\n    if (value.length !== 2) {\n      return {};\n    }\n\n    return { between: { lower: value[0], upper: value[1] } };\n  }\n\n  if (operator === \"nbetween\") {\n    if (!Array.isArray(value)) {\n      throw new Error(\"NBetween operator requires an array\");\n    }\n\n    if (value.length !== 2) {\n      return {};\n    }\n\n    return { notBetween: { lower: value[0], upper: value[1] } };\n  }\n\n  return { [operatorMap[operator]]: value };\n};\n\nexport const buildFilters = (filters: LogicalFilter[] | CrudFilter[] = []) => {\n  const result: { [key: string]: { [key: string]: string | number } } = {};\n\n  filters\n    .filter((f) => {\n      if (Array.isArray(f.value) && f.value.length === 0) {\n        return false;\n      }\n      if (typeof f.value === \"number\") {\n        return Number.isFinite(f.value);\n      }\n\n      // If the value is null or undefined, it returns false.\n      return !(f.value == null);\n    })\n    .map((filter: LogicalFilter | CrudFilter) => {\n      if (filter.operator === \"and\" || filter.operator === \"or\") {\n        return set(result, filter.operator, [\n          buildFilters(filter.value as LogicalFilter[]),\n        ]);\n      }\n      if (\"field\" in filter) {\n        return set(\n          result,\n          filter.field,\n          operatorMapper(filter.operator, filter.value),\n        );\n      }\n\n      return {};\n    });\n\n  return result;\n};\n","import {\n  type FieldNode,\n  type DocumentNode,\n  visit,\n  type SelectionSetNode,\n} from \"graphql\";\n\nconst getChildNodesField = (node: FieldNode): FieldNode | undefined => {\n  return node?.selectionSet?.selections?.find(\n    (node) => node.kind === \"Field\" && node.name.value === \"nodes\",\n  ) as FieldNode;\n};\n\nexport const getOperationFields = (documentNode: DocumentNode) => {\n  const fieldLines: string[] = [];\n  let isInitialEnter = true;\n  let depth = 0;\n  let isNestedField = false;\n\n  visit(documentNode, {\n    Field: {\n      enter(node): SelectionSetNode | void {\n        if (isInitialEnter) {\n          isInitialEnter = false;\n\n          const childNodesField = getChildNodesField(node);\n\n          const nodeToReturn = childNodesField ?? node;\n\n          if (typeof nodeToReturn.selectionSet === \"undefined\") {\n            throw new Error(\"Operation must have a selection set\");\n          }\n\n          return nodeToReturn.selectionSet;\n        }\n\n        fieldLines.push(\n          `${depth > 0 ? \"  \".repeat(isNestedField ? depth : depth - 1) : \"\"}${\n            node.name.value\n          }${node.selectionSet ? \" {\" : \"\"}`,\n        );\n\n        if (node.selectionSet) {\n          depth++;\n          isNestedField = true;\n        }\n      },\n      leave(node) {\n        if (node.selectionSet) {\n          depth--;\n          fieldLines.push(`${\"  \".repeat(depth)}}`);\n          isNestedField = false;\n        }\n      },\n    },\n  });\n\n  return fieldLines.join(\"\\n\").trim();\n};\n\nexport const isMutation = (documentNode: DocumentNode) => {\n  let isMutation = false;\n\n  visit(documentNode, {\n    OperationDefinition: {\n      enter(node) {\n        if (node.operation === \"mutation\") {\n          isMutation = true;\n        }\n      },\n    },\n  });\n\n  return isMutation;\n};\n","import type { OperationResult } from \"@urql/core\";\nimport type {\n  BaseRecord,\n  CreateManyParams,\n  DeleteManyParams,\n  GetListParams,\n  GetManyParams,\n  GetOneParams,\n  UpdateManyParams,\n  CustomParams,\n  CreateParams,\n  UpdateParams,\n  DeleteOneParams,\n} from \"@refinedev/core\";\nimport camelcase from \"camelcase\";\nimport { singular } from \"pluralize\";\nimport gql from \"graphql-tag\";\n\nimport {\n  buildFilters,\n  buildPagination,\n  buildSorters,\n  getOperationFields,\n} from \"../utils\";\nimport type { DocumentNode } from \"graphql\";\n\nexport type GraphQLDataProviderOptions = {\n  create?: {\n    dataMapper?: (\n      response: OperationResult<any>,\n      params: CreateParams<any>,\n    ) => Record<string, any>;\n    buildVariables?: (params: CreateParams<any>) => Record<string, any>;\n  };\n  createMany?: {\n    dataMapper?: (\n      response: OperationResult<any>,\n      params: CreateManyParams<any>,\n    ) => BaseRecord[];\n    buildVariables?: (params: CreateManyParams<any>) => Record<string, any>;\n  };\n  getOne?: {\n    dataMapper?: (\n      response: OperationResult<any>,\n      params: GetOneParams,\n    ) => BaseRecord;\n    buildVariables?: (params: GetOneParams) => Record<string, any>;\n    convertMutationToQuery?: (params: GetOneParams) => DocumentNode;\n  };\n  getList?: {\n    dataMapper?: (\n      response: OperationResult<any>,\n      params: GetListParams,\n    ) => BaseRecord[];\n    getTotalCount?: (\n      response: OperationResult<any>,\n      params: GetListParams,\n    ) => number;\n    buildVariables?: (params: GetListParams) => Record<string, any>;\n  };\n  getMany?: {\n    buildFilter?: (params: GetManyParams) => Record<string, any>;\n    dataMapper?: (\n      response: OperationResult<any>,\n      params: GetManyParams,\n    ) => BaseRecord[];\n  };\n  update?: {\n    dataMapper?: (\n      response: OperationResult<any>,\n      params: UpdateParams<any>,\n    ) => BaseRecord;\n    buildVariables?: (params: UpdateParams<any>) => Record<string, any>;\n  };\n  updateMany?: {\n    dataMapper?: (\n      response: OperationResult<any>,\n      params: UpdateManyParams<any>,\n    ) => BaseRecord[];\n    buildVariables?: (params: UpdateManyParams<any>) => Record<string, any>;\n  };\n  deleteOne?: {\n    dataMapper?: (\n      response: OperationResult<any>,\n      params: DeleteOneParams<any>,\n    ) => BaseRecord;\n    buildVariables?: (params: DeleteOneParams<any>) => Record<string, any>;\n  };\n  deleteMany?: {\n    dataMapper?: (\n      response: OperationResult<any>,\n      params: DeleteManyParams<any>,\n    ) => BaseRecord[];\n    buildVariables?: (params: DeleteManyParams<any>) => Record<string, any>;\n  };\n  custom?: {\n    dataMapper?: (\n      response: OperationResult<any>,\n      params: CustomParams,\n    ) => Record<string, any>;\n    buildVariables?: (params: CustomParams) => Record<string, any>;\n  };\n};\n\nexport const defaultOptions = {\n  create: {\n    dataMapper: (response: OperationResult<any>, params: CreateParams<any>) => {\n      const key = `createOne${camelcase(singular(params.resource), {\n        pascalCase: true,\n      })}`;\n\n      return response.data?.[key];\n    },\n    buildVariables: (params: CreateParams<any>) => {\n      return {\n        input: {\n          [singular(params.resource)]:\n            params.variables ?? params?.meta?.gqlVariables,\n        },\n      };\n    },\n  },\n  createMany: {\n    dataMapper: (\n      response: OperationResult<any>,\n      params: CreateManyParams<any>,\n    ) => {\n      const key = `createMany${camelcase(params.resource, {\n        pascalCase: true,\n      })}`;\n\n      return response.data?.[key];\n    },\n    buildVariables: (params: CreateManyParams<any>) => {\n      return {\n        input: {\n          [camelcase(params.resource)]:\n            params.variables ?? params?.meta?.gqlVariables,\n        },\n      };\n    },\n  },\n  getOne: {\n    dataMapper: (response: OperationResult<any>, params: GetOneParams) => {\n      const key = camelcase(singular(params.resource));\n\n      return response.data?.[key];\n    },\n    buildVariables: (params: GetOneParams) => {\n      return {\n        id: params.id,\n        ...params.meta?.gqlVariables,\n      };\n    },\n    // Besides useOne hook, getOne hook is also consumed by `useForm`.\n    // useForm hook has an optional gqlQuery field, we may only get `gqlMutation`.\n    // For this reason, we need to convert mutation to query to get initial data on edit.\n    convertMutationToQuery: (params: GetOneParams) => {\n      const { resource, meta } = params;\n      const gqlOperation = meta?.gqlQuery ?? meta?.gqlMutation;\n\n      if (!gqlOperation) {\n        throw new Error(\"Operation is required.\");\n      }\n\n      const stringFields = getOperationFields(gqlOperation);\n\n      const pascalCaseOperation = camelcase(singular(resource), {\n        pascalCase: true,\n      });\n\n      const operation = camelcase(singular(resource));\n\n      const query = gql`\n        query Get${pascalCaseOperation}($id: ID!) {\n          ${operation}(id: $id) {\n            ${stringFields}\n          }\n        }\n      `;\n\n      return query;\n    },\n  },\n  getList: {\n    dataMapper: (response: OperationResult<any>, params: GetListParams) => {\n      return response.data?.[params.resource].nodes;\n    },\n    getTotalCount: (response: OperationResult<any>, params: GetListParams) => {\n      return response.data?.[params.resource].totalCount;\n    },\n    buildVariables: (params: GetListParams) => {\n      return {\n        sorting: buildSorters(params.sorters),\n        filter: buildFilters(params.filters),\n        paging: buildPagination(params.pagination),\n        ...params.meta?.variables,\n        ...params.meta?.gqlVariables,\n      };\n    },\n  },\n  getMany: {\n    buildFilter: (params: GetManyParams) => {\n      return { id: { in: params.ids }, ...params?.meta?.gqlVariables };\n    },\n    dataMapper: (response: OperationResult<any>, params: GetManyParams) => {\n      const key = camelcase(params.resource);\n\n      return response.data?.[key].nodes;\n    },\n  },\n  update: {\n    dataMapper: (response: OperationResult<any>, params: UpdateParams<any>) => {\n      const key = `updateOne${camelcase(singular(params.resource), {\n        pascalCase: true,\n      })}`;\n\n      return response.data?.[key];\n    },\n    buildVariables: (params: UpdateParams<any>) => {\n      return {\n        input: {\n          id: params.id,\n          update: params.variables,\n          ...params.meta?.gqlVariables,\n        },\n      };\n    },\n  },\n  updateMany: {\n    dataMapper: (\n      _response: OperationResult<any>,\n      params: UpdateManyParams<any>,\n    ): any[] => {\n      return params.ids.map((id) => ({ id }));\n    },\n    buildVariables: (params: UpdateManyParams<any>) => {\n      const { ids, variables } = params;\n\n      return {\n        input: {\n          filter: { id: { in: ids } },\n          update: variables,\n          ...params.meta?.gqlVariables,\n        },\n      };\n    },\n  },\n  deleteOne: {\n    dataMapper: (\n      response: OperationResult<any>,\n      params: DeleteOneParams<any>,\n    ) => {\n      const pascalResource = camelcase(singular(params.resource), {\n        pascalCase: true,\n      });\n\n      const key = `deleteOne${pascalResource}`;\n\n      return response.data?.[key];\n    },\n    buildVariables: (params: DeleteOneParams<any>) => {\n      return {\n        input: { id: params.id, ...params?.meta?.gqlVariables },\n      };\n    },\n  },\n  deleteMany: {\n    dataMapper: (\n      _response: OperationResult<any>,\n      params: DeleteManyParams<any>,\n    ): any[] => {\n      return params.ids.map((id) => ({ id }));\n    },\n    buildVariables: (params: DeleteManyParams<any>) => {\n      const { ids } = params;\n\n      return {\n        input: {\n          filter: {\n            id: { in: ids },\n          },\n          ...params.meta?.gqlVariables,\n        },\n      };\n    },\n  },\n  custom: {\n    dataMapper: (response: OperationResult<any>, params: CustomParams) =>\n      response.data ?? response.error?.message,\n    buildVariables: (params: CustomParams) => ({\n      ...(typeof params.payload === \"object\" ? params.payload : {}),\n      ...params?.meta?.variables,\n      ...params?.meta?.gqlVariables,\n    }),\n  },\n};\n","import type { BaseRecord, CustomParams, DataProvider } from \"@refinedev/core\";\nimport type { Client, CombinedError } from \"@urql/core\";\nimport { isMutation } from \"../utils\";\nimport { defaultOptions, type GraphQLDataProviderOptions } from \"./options\";\nimport dm from \"deepmerge\";\n\nconst createDataProvider = (\n  client: Client,\n  baseOptions: GraphQLDataProviderOptions = defaultOptions,\n): Required<DataProvider> => {\n  const options = dm(defaultOptions, baseOptions);\n\n  const errorHandler = (error: CombinedError | undefined): string => {\n    let errorMsg = \"\";\n\n    if (error?.networkError) {\n      errorMsg = `[Network] ${error?.networkError.message}`;\n    }\n\n    if (error?.graphQLErrors && error?.graphQLErrors.length > 0) {\n      const message = error.graphQLErrors\n        .map(({ message }) => message)\n        .join(\", \");\n      errorMsg = `[GraphQL] ${message}`;\n    }\n\n    return errorMsg;\n  };\n\n  return {\n    create: async (params) => {\n      const { meta } = params;\n\n      const gqlOperation = meta?.gqlMutation ?? meta?.gqlQuery;\n\n      if (!gqlOperation) {\n        throw new Error(\"[Code] Operation is required.\");\n      }\n\n      const response = await client\n        .mutation(gqlOperation, options.create.buildVariables(params))\n        .toPromise();\n\n      if (response?.error) {\n        throw new Error(errorHandler(response?.error));\n      }\n\n      const data = options.create.dataMapper(response, params);\n\n      return {\n        data,\n      };\n    },\n    createMany: async (params) => {\n      const { meta } = params;\n\n      const gqlOperation = meta?.gqlMutation ?? meta?.gqlQuery;\n\n      if (!gqlOperation) {\n        throw new Error(\"[Code] Operation is required.\");\n      }\n\n      const response = await client.mutation<BaseRecord>(\n        gqlOperation,\n        options.createMany.buildVariables(params),\n      );\n\n      if (response?.error) {\n        throw new Error(errorHandler(response?.error));\n      }\n\n      return {\n        data: options.createMany.dataMapper(response, params),\n      };\n    },\n    getOne: async (params) => {\n      const { id, meta } = params;\n\n      const gqlOperation = meta?.gqlQuery ?? meta?.gqlMutation;\n\n      if (!gqlOperation) {\n        throw new Error(\"[Code] Operation is required.\");\n      }\n\n      let query = gqlOperation;\n\n      if (isMutation(gqlOperation)) {\n        query = options.getOne.convertMutationToQuery(params);\n      }\n\n      const response = await client\n        .query(query, options.getOne.buildVariables(params))\n        .toPromise();\n\n      if (response?.error) {\n        throw new Error(errorHandler(response.error));\n      }\n\n      return {\n        data: options.getOne.dataMapper(response, params),\n      };\n    },\n    getList: async (params) => {\n      const { meta } = params;\n\n      if (!meta?.gqlQuery) {\n        throw new Error(\"[Code] Operation is required.\");\n      }\n\n      const variables = options.getList.buildVariables(params);\n\n      const response = await client.query(meta.gqlQuery, variables).toPromise();\n\n      if (response?.error) {\n        throw new Error(errorHandler(response?.error));\n      }\n\n      return {\n        data: options.getList.dataMapper(response, params),\n        total: options.getList.getTotalCount(response, params),\n      };\n    },\n    getMany: async (params) => {\n      const { meta } = params;\n\n      if (!meta?.gqlQuery) {\n        throw new Error(\"[Code] Operation is required.\");\n      }\n\n      const response = await client\n        .query(meta.gqlQuery, { filter: options.getMany.buildFilter(params) })\n        .toPromise();\n\n      if (response?.error) {\n        throw new Error(errorHandler(response?.error));\n      }\n\n      return {\n        data: options.getMany.dataMapper(response, params),\n      };\n    },\n    update: async (params) => {\n      const { meta } = params;\n      const gqlOperation = meta?.gqlMutation ?? meta?.gqlQuery;\n\n      if (!gqlOperation) {\n        throw new Error(\"[Code] Operation is required.\");\n      }\n\n      const response = await client\n        .mutation(gqlOperation, options.update.buildVariables(params))\n        .toPromise();\n\n      if (response?.error) {\n        throw new Error(errorHandler(response?.error));\n      }\n\n      return {\n        data: options.update.dataMapper(response, params),\n      };\n    },\n    updateMany: async (params) => {\n      const { meta } = params;\n\n      if (!meta?.gqlMutation) {\n        throw new Error(\"[Code] Operation is required.\");\n      }\n\n      const response = await client\n        .mutation(meta.gqlMutation, options.updateMany.buildVariables(params))\n        .toPromise();\n\n      if (response?.error) {\n        throw new Error(errorHandler(response?.error));\n      }\n\n      return { data: options.updateMany.dataMapper(response, params) };\n    },\n    deleteOne: async (params) => {\n      const { meta } = params;\n\n      if (!meta?.gqlMutation) {\n        throw new Error(\"[Code] Operation is required.\");\n      }\n\n      const response = await client\n        .mutation(meta.gqlMutation, options.deleteOne.buildVariables(params))\n        .toPromise();\n\n      if (response?.error) {\n        throw new Error(errorHandler(response?.error));\n      }\n\n      return {\n        data: options.deleteOne.dataMapper(response, params),\n      };\n    },\n    deleteMany: async (params) => {\n      const { meta } = params;\n\n      if (!meta?.gqlMutation) {\n        throw new Error(\"[Code] Operation is required.\");\n      }\n\n      const response = await client\n        .mutation(meta.gqlMutation, options.deleteMany.buildVariables(params))\n        .toPromise();\n\n      if (response?.error) {\n        throw new Error(errorHandler(response?.error));\n      }\n\n      return {\n        data: options.deleteMany.dataMapper(response, params),\n      };\n    },\n    custom: async (params) => {\n      const { meta } = params;\n\n      const url = params.url !== \"\" ? params.url : undefined;\n\n      if (!meta?.gqlMutation && !meta?.gqlQuery) {\n        throw new Error(\"[Code] Operation is required.\");\n      }\n\n      if (meta?.gqlMutation) {\n        const response = await client\n          .mutation(\n            meta.gqlMutation,\n            options.custom.buildVariables(params),\n            JSON.parse(JSON.stringify({ url })),\n          )\n          .toPromise();\n\n        if (response?.error) {\n          throw new Error(errorHandler(response?.error));\n        }\n\n        return { data: options.custom.dataMapper(response, params) };\n      }\n\n      const response = await client\n        .query(\n          meta.gqlQuery!,\n          options.custom.buildVariables(params),\n          JSON.parse(JSON.stringify({ url })),\n        )\n        .toPromise();\n\n      if (response?.error) {\n        throw new Error(errorHandler(response?.error));\n      }\n\n      return { data: options.custom.dataMapper(response, params) };\n    },\n    getApiUrl: () => {\n      throw Error(\"[Code] Not implemented on refine-graphql data provider.\");\n    },\n  };\n};\n\nexport default createDataProvider;\n","import type { LogicalFilter, VariableOptions } from \"@refinedev/core\";\nimport camelcase from \"camelcase\";\nimport type { Client } from \"graphql-ws\";\nimport { singular } from \"pluralize\";\n\nimport { getOperationFields } from \"../utils/graphql\";\nimport { buildFilters } from \"../utils\";\n\nexport const generateCreatedSubscription = ({\n  resource,\n  filters,\n  meta,\n}: any) => {\n  const gqlOperation = meta?.gqlQuery ?? meta?.gqlMutation;\n\n  const singularResourceName = camelcase(singular(resource), {\n    pascalCase: true,\n  });\n\n  const operationName = `Created${singularResourceName}`;\n\n  const operation = `created${singularResourceName}`;\n\n  const query = `\n    subscription ${operationName}($input: Create${singularResourceName}SubscriptionFilterInput) {\n      ${operation}(input: $input) {\n        ${getOperationFields(gqlOperation)}\n      }\n    }\n  `;\n\n  const variables: VariableOptions = {};\n\n  if (filters) {\n    variables[\"input\"] = {\n      filter: buildFilters(\n        filters.filter((filter: LogicalFilter) => !filter.field.includes(\".\")),\n      ),\n    };\n  }\n\n  return { query, variables, operation, operationName };\n};\n\nexport const generateUpdatedSubscription = ({\n  id,\n  resource,\n  filters,\n  meta,\n}: any) => {\n  const gqlOperation = meta?.gqlQuery ?? meta?.gqlMutation;\n\n  const singularResourceName = camelcase(singular(resource), {\n    pascalCase: true,\n  });\n\n  const operationName = `Updated${singularResourceName}`;\n\n  const operation = `updatedOne${singularResourceName}`;\n\n  const query = `\n    subscription ${operationName}($input: UpdateOne${singularResourceName}SubscriptionFilterInput) {\n      ${operation}(input: $input) {\n        ${getOperationFields(gqlOperation)}\n      }\n    }\n  `;\n\n  const variables: VariableOptions = {};\n\n  if (filters) {\n    variables[\"input\"] = {\n      filter: buildFilters(\n        filters.filter((filter: LogicalFilter) => !filter.field.includes(\".\")),\n      ),\n    };\n  }\n\n  if (id) {\n    variables[\"input\"] = {\n      filter: {\n        id: { eq: id },\n      },\n    };\n  }\n\n  return { query, variables, operation, operationName };\n};\n\nexport const generateDeletedSubscription = ({ resource, filters }: any) => {\n  const singularResourceName = camelcase(singular(resource), {\n    pascalCase: true,\n  });\n\n  const operationName = `Deleted${singularResourceName}`;\n\n  const operation = `deletedOne${singularResourceName}`;\n\n  const query = `\n    subscription ${operationName}($input: DeleteOne${singularResourceName}SubscriptionFilterInput) {\n      ${operation}(input: $input) {\n        id\n      }\n    }\n  `;\n\n  const variables: VariableOptions = {};\n\n  if (filters) {\n    variables[\"input\"] = {\n      filter: buildFilters(\n        filters.filter((filter: LogicalFilter) => !filter.field.includes(\".\")),\n      ),\n    };\n  }\n\n  return { query, variables, operation, operationName };\n};\n\nexport const generateSubscription = (\n  client: Client,\n  { callback, params, meta }: any,\n  type: string,\n) => {\n  const generatorMap: any = {\n    created: generateCreatedSubscription,\n    updated: generateUpdatedSubscription,\n    deleted: generateDeletedSubscription,\n  };\n\n  const { resource, filters, subscriptionType, id, ids } = params ?? {};\n\n  const generator = generatorMap[type];\n\n  const { operation, query, variables, operationName } = generator({\n    ids,\n    id,\n    resource,\n    filters,\n    meta,\n    subscriptionType,\n  });\n\n  const onNext = (payload: any) => {\n    callback(payload.data[operation]);\n  };\n\n  const unsubscribe = client.subscribe(\n    { query, variables, operationName },\n    {\n      next: onNext,\n      error: console.error,\n      complete: () => null,\n    },\n  );\n\n  return unsubscribe;\n};\n","import type { LiveProvider } from \"@refinedev/core\";\n\nimport type { Client } from \"graphql-ws\";\nimport { generateSubscription } from \"./helpers\";\n\ntype SubscriptionAction = \"created\" | \"updated\" | \"deleted\";\n\nexport const createLiveProvider = (client: Client): LiveProvider => {\n  const subscribeToResource = (\n    client: Client,\n    callback: Function,\n    params: any,\n    meta: any,\n    action: SubscriptionAction,\n    resource: string,\n    unsubscribes: Function[],\n  ) => {\n    const unsubscribe = generateSubscription(\n      client,\n      { callback, params, meta },\n      action,\n    );\n    unsubscribes.push(unsubscribe);\n  };\n\n  return {\n    subscribe({ callback, params, meta }) {\n      const { resource, subscriptionType } = params ?? {};\n\n      if (!meta || !subscriptionType || !resource) {\n        throw new Error(\n          \"[useSubscription]: `meta`, `subscriptionType` and `resource` are required in `params` for graphql subscriptions\",\n        );\n      }\n\n      const unsubscribes: any[] = [];\n\n      if (params?.subscriptionType === \"useList\") {\n        [\"created\", \"updated\", \"deleted\"].forEach((action) =>\n          subscribeToResource(\n            client,\n            callback,\n            params,\n            meta,\n            action as SubscriptionAction,\n            resource,\n            unsubscribes,\n          ),\n        );\n      }\n\n      if (params?.subscriptionType === \"useOne\") {\n        subscribeToResource(\n          client,\n          callback,\n          params,\n          meta,\n          \"updated\",\n          resource,\n          unsubscribes,\n        );\n      }\n\n      const unsubscribe = () => {\n        unsubscribes.forEach((unsubscribe) => unsubscribe());\n      };\n\n      return unsubscribe;\n    },\n    unsubscribe(unsubscribe) {\n      unsubscribe();\n    },\n  };\n};\n","import dataProvider from \"./dataProvider/index.js\";\n\nexport * from \"./dataProvider/index.js\";\nexport * from \"./dataProvider/options.js\";\n\nexport * from \"./liveProvider/index.js\";\n\nexport default dataProvider;\n"],"mappings":"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","names":["node","isMutation","message","response","camelcase","singular","camelcase","singular","client","unsubscribe"]}