UNPKG

2.73 kBJavaScriptView Raw
1function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
3function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
5function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
7/**
8 * Contentful Management API SDK. Allows you to create instances of a client
9 * with access to the Contentful Content Management API.
10 * @packageDocumentation
11 */
12import { getUserAgentHeader } from 'contentful-sdk-core';
13import { createAdapter } from './create-adapter';
14import createContentfulApi from './create-contentful-api';
15import { createPlainClient } from './plain/plain-client';
16import * as editorInterfaceDefaults from './constants/editor-interface-defaults';
17export { asIterator } from './plain/as-iterator';
18export { isDraft, isPublished, isUpdated } from './plain/checks';
19export { createClient };
20export { RestAdapter } from './adapters/REST/rest-adapter';
21export { editorInterfaceDefaults };
22export * from './export-types';
23
24function createClient(params) {
25 var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
26 var sdkMain = opts.type === 'plain' ? 'contentful-management-plain.js' : 'contentful-management.js';
27 var userAgent = getUserAgentHeader( // @ts-expect-error
28 "".concat(sdkMain, "/").concat("7.51.0"), params.application, params.integration, params.feature);
29 var adapter = createAdapter(params); // Parameters<?> and ReturnType<?> only return the types of the last overload
30 // https://github.com/microsoft/TypeScript/issues/26591
31 // @ts-expect-error
32
33 var makeRequest = function makeRequest(options) {
34 return adapter.makeRequest(_objectSpread(_objectSpread({}, options), {}, {
35 userAgent: userAgent
36 }));
37 };
38
39 if (opts.type === 'plain') {
40 return createPlainClient(makeRequest, opts.defaults, opts.alphaFeatures);
41 } else {
42 return createContentfulApi(makeRequest);
43 }
44}
\No newline at end of file