UNPKG

ra-data-graphql-simple

Version:

A GraphQL simple data provider for react-admin

83 lines 4.21 kB
var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; var _a; import merge from 'lodash/merge.js'; import buildDataProvider, { defaultOptions as baseDefaultOptions, } from 'ra-data-graphql'; import { DELETE_MANY, UPDATE_MANY } from 'ra-core'; import pluralize from 'pluralize'; import defaultBuildQuery from "./buildQuery.js"; export var buildQuery = defaultBuildQuery; export { buildQueryFactory } from "./buildQuery.js"; export { default as buildGqlQuery } from "./buildGqlQuery.js"; export { default as buildVariables } from "./buildVariables.js"; export { default as getResponseParser } from "./getResponseParser.js"; var defaultOptions = __assign(__assign({}, baseDefaultOptions), { buildQuery: defaultBuildQuery }); var bulkActionOperationNames = (_a = {}, _a[DELETE_MANY] = function (resource) { return "delete".concat(pluralize(resource.name)); }, _a[UPDATE_MANY] = function (resource) { return "update".concat(pluralize(resource.name)); }, _a); export default (function (options) { var _a; var _b = merge({}, defaultOptions, options), _c = _b.bulkActionsEnabled, bulkActionsEnabled = _c === void 0 ? false : _c, dPOptions = __rest(_b, ["bulkActionsEnabled"]); if (bulkActionsEnabled && ((_a = dPOptions.introspection) === null || _a === void 0 ? void 0 : _a.operationNames)) dPOptions.introspection.operationNames = merge(dPOptions.introspection.operationNames, bulkActionOperationNames); var defaultDataProvider = buildDataProvider(dPOptions); return __assign(__assign({}, defaultDataProvider), (bulkActionsEnabled ? {} : { deleteMany: function (resource, params) { var ids = params.ids, otherParams = __rest(params, ["ids"]); return Promise.all(ids.map(function (id) { return defaultDataProvider.delete(resource, __assign({ id: id, previousData: null }, otherParams)); })).then(function (results) { var data = results.reduce(function (acc, _a) { var data = _a.data; return __spreadArray(__spreadArray([], acc, true), [data.id], false); }, []); return { data: data }; }); }, updateMany: function (resource, params) { var ids = params.ids, data = params.data, otherParams = __rest(params, ["ids", "data"]); return Promise.all(ids.map(function (id) { return defaultDataProvider.update(resource, __assign({ id: id, data: data, previousData: null }, otherParams)); })).then(function (results) { var data = results.reduce(function (acc, _a) { var data = _a.data; return __spreadArray(__spreadArray([], acc, true), [data.id], false); }, []); return { data: data }; }); }, })); }); //# sourceMappingURL=index.js.map