@sanity/client 4.0.0-alpha.esm.5 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +23 -16
  3. package/dist/{browser/sanityClient.js → sanityClient.browser.mjs} +305 -1513
  4. package/dist/sanityClient.browser.mjs.map +7 -0
  5. package/index.js +7 -0
  6. package/lib/assets/assetsClient.js +100 -141
  7. package/lib/auth/authClient.js +20 -35
  8. package/lib/config.js +21 -43
  9. package/lib/data/dataMethods.js +32 -55
  10. package/lib/data/encodeQueryString.js +9 -15
  11. package/lib/data/listen.js +24 -53
  12. package/lib/data/patch.js +114 -167
  13. package/lib/data/transaction.js +95 -139
  14. package/lib/datasets/datasetsClient.js +31 -56
  15. package/lib/generateHelpUrl.js +11 -0
  16. package/lib/http/browserMiddleware.js +4 -3
  17. package/lib/http/errors.js +9 -15
  18. package/lib/http/nodeMiddleware.js +6 -10
  19. package/lib/http/queryString.js +4 -7
  20. package/lib/http/request.js +14 -28
  21. package/lib/http/requestOptions.js +7 -10
  22. package/lib/projects/projectsClient.js +19 -34
  23. package/lib/sanityClient.js +98 -153
  24. package/lib/users/usersClient.js +14 -27
  25. package/lib/util/defaults.js +6 -8
  26. package/lib/util/getSelection.js +3 -5
  27. package/lib/util/observable.js +0 -3
  28. package/lib/util/once.js +4 -6
  29. package/lib/util/pick.js +4 -6
  30. package/lib/validators.js +0 -26
  31. package/lib/warnings.js +9 -13
  32. package/package.json +49 -38
  33. package/sanityClient.d.ts +254 -92
  34. package/umd/sanityClient.js +165 -103
  35. package/umd/sanityClient.min.js +1 -1
  36. package/dist/node/sanityClient.js +0 -969
  37. package/src/assets/assetsClient.js +0 -132
  38. package/src/auth/authClient.js +0 -13
  39. package/src/config.js +0 -93
  40. package/src/data/dataMethods.js +0 -182
  41. package/src/data/encodeQueryString.js +0 -18
  42. package/src/data/listen.js +0 -159
  43. package/src/data/patch.js +0 -119
  44. package/src/data/transaction.js +0 -103
  45. package/src/datasets/datasetsClient.js +0 -28
  46. package/src/http/browserMiddleware.js +0 -1
  47. package/src/http/errors.js +0 -53
  48. package/src/http/nodeMiddleware.js +0 -11
  49. package/src/http/queryString.js +0 -10
  50. package/src/http/request.js +0 -50
  51. package/src/http/requestOptions.js +0 -29
  52. package/src/projects/projectsClient.js +0 -13
  53. package/src/sanityClient.js +0 -124
  54. package/src/users/usersClient.js +0 -9
  55. package/src/util/defaults.js +0 -9
  56. package/src/util/getSelection.js +0 -17
  57. package/src/util/observable.js +0 -6
  58. package/src/util/once.js +0 -12
  59. package/src/util/pick.js +0 -9
  60. package/src/validators.js +0 -76
  61. package/src/warnings.js +0 -25
  62. package/test/client.test.js +0 -2561
  63. package/test/encodeQueryString.test.js +0 -38
  64. package/test/fixtures/horsehead-nebula.jpg +0 -0
  65. package/test/fixtures/pdf-sample.pdf +0 -0
  66. package/test/helpers/sseServer.js +0 -27
  67. package/test/listen.test.js +0 -207
  68. package/test/warnings.test.disabled.js +0 -84
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.middleware = void 0;
7
- var middleware = [];
8
- exports.middleware = middleware;
6
+ exports.default = void 0;
7
+ var _default = [];
8
+ exports.default = _default;
9
+ module.exports = exports.default;
@@ -5,58 +5,52 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ClientError = ClientError;
7
7
  exports.ServerError = ServerError;
8
-
9
8
  var _makeError = _interopRequireDefault(require("make-error"));
10
-
11
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
-
10
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
13
11
  function ClientError(res) {
14
12
  var props = extractErrorProps(res);
15
13
  ClientError.super.call(this, props.message);
16
- Object.assign(this, props);
14
+ _extends(this, props);
17
15
  }
18
-
19
16
  function ServerError(res) {
20
17
  var props = extractErrorProps(res);
21
18
  ServerError.super.call(this, props.message);
22
- Object.assign(this, props);
19
+ _extends(this, props);
23
20
  }
24
-
25
21
  function extractErrorProps(res) {
26
22
  var body = res.body;
27
23
  var props = {
28
24
  response: res,
29
25
  statusCode: res.statusCode,
30
26
  responseBody: stringifyBody(body, res)
31
- }; // API/Boom style errors ({statusCode, error, message})
27
+ };
32
28
 
29
+ // API/Boom style errors ({statusCode, error, message})
33
30
  if (body.error && body.message) {
34
31
  props.message = "".concat(body.error, " - ").concat(body.message);
35
32
  return props;
36
- } // Query/database errors ({error: {description, other, arb, props}})
37
-
33
+ }
38
34
 
35
+ // Query/database errors ({error: {description, other, arb, props}})
39
36
  if (body.error && body.error.description) {
40
37
  props.message = body.error.description;
41
38
  props.details = body.error;
42
39
  return props;
43
- } // Other, more arbitrary errors
44
-
40
+ }
45
41
 
42
+ // Other, more arbitrary errors
46
43
  props.message = body.error || body.message || httpErrorMessage(res);
47
44
  return props;
48
45
  }
49
-
50
46
  function httpErrorMessage(res) {
51
47
  var statusMessage = res.statusMessage ? " ".concat(res.statusMessage) : '';
52
48
  return "".concat(res.method, "-request to ").concat(res.url, " resulted in HTTP ").concat(res.statusCode).concat(statusMessage);
53
49
  }
54
-
55
50
  function stringifyBody(body, res) {
56
51
  var contentType = (res.headers['content-type'] || '').toLowerCase();
57
52
  var isJson = contentType.indexOf('application/json') !== -1;
58
53
  return isJson ? JSON.stringify(body, null, 2) : body;
59
54
  }
60
-
61
55
  (0, _makeError.default)(ClientError);
62
56
  (0, _makeError.default)(ServerError);
@@ -3,24 +3,20 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.middleware = void 0;
7
-
6
+ exports.default = void 0;
8
7
  var _retry = _interopRequireDefault(require("get-it/lib-node/middleware/retry"));
9
-
10
8
  var _debug = _interopRequireDefault(require("get-it/lib-node/middleware/debug"));
11
-
12
9
  var _headers = _interopRequireDefault(require("get-it/lib-node/middleware/headers"));
13
-
14
- var _package = require("../../package.json");
15
-
16
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
11
+ var pkg = require('../../package.json');
18
12
  var middleware = [(0, _debug.default)({
19
13
  verbose: true,
20
14
  namespace: 'sanity:client'
21
15
  }), (0, _headers.default)({
22
- 'User-Agent': "".concat(_package.name, " ").concat(_package.version)
16
+ 'User-Agent': "".concat(pkg.name, " ").concat(pkg.version)
23
17
  }), (0, _retry.default)({
24
18
  maxRetries: 3
25
19
  })];
26
- exports.middleware = middleware;
20
+ var _default = middleware;
21
+ exports.default = _default;
22
+ module.exports = exports.default;
@@ -3,18 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.queryString = void 0;
7
-
8
- var queryString = function queryString(params) {
6
+ exports.default = void 0;
7
+ var _default = function _default(params) {
9
8
  var qs = [];
10
-
11
9
  for (var key in params) {
12
10
  if (params.hasOwnProperty(key)) {
13
11
  qs.push("".concat(encodeURIComponent(key), "=").concat(encodeURIComponent(params[key])));
14
12
  }
15
13
  }
16
-
17
14
  return qs.length > 0 ? "?".concat(qs.join('&')) : '';
18
15
  };
19
-
20
- exports.queryString = queryString;
16
+ exports.default = _default;
17
+ module.exports = exports.default;
@@ -3,28 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.httpRequest = httpRequest;
7
-
6
+ exports.default = void 0;
8
7
  var _getIt = _interopRequireDefault(require("get-it"));
9
-
10
- var _observable = _interopRequireDefault(require("get-it/lib/middleware/observable"));
11
-
12
- var _jsonRequest = _interopRequireDefault(require("get-it/lib/middleware/jsonRequest"));
13
-
14
- var _jsonResponse = _interopRequireDefault(require("get-it/lib/middleware/jsonResponse"));
15
-
16
- var _progress = _interopRequireDefault(require("get-it/lib/middleware/progress"));
17
-
18
- var _observable2 = require("../util/observable");
19
-
8
+ var _middleware = require("get-it/middleware");
9
+ var _observable = require("../util/observable");
20
10
  var _errors = require("./errors");
21
-
22
- var _nodeMiddleware = require("./nodeMiddleware");
23
-
11
+ var _nodeMiddleware = _interopRequireDefault(require("./nodeMiddleware"));
24
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
- /* eslint-disable no-empty-function, no-process-env */
27
- // Environment-specific middleware.
13
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
28
14
  var httpError = {
29
15
  onResponse: function onResponse(res) {
30
16
  if (res.statusCode >= 500) {
@@ -32,7 +18,6 @@ var httpError = {
32
18
  } else if (res.statusCode >= 400) {
33
19
  throw new _errors.ClientError(res);
34
20
  }
35
-
36
21
  return res;
37
22
  }
38
23
  };
@@ -43,24 +28,25 @@ var printWarnings = {
43
28
  warnings.filter(Boolean).forEach(function (msg) {
44
29
  return console.warn(msg);
45
30
  }); // eslint-disable-line no-console
46
-
47
31
  return res;
48
32
  }
49
33
  };
50
34
 
51
- var middleware = _nodeMiddleware.middleware.concat([printWarnings, (0, _jsonRequest.default)(), (0, _jsonResponse.default)(), (0, _progress.default)(), httpError, (0, _observable.default)({
52
- implementation: _observable2.Observable
35
+ // Environment-specific middleware.
36
+ var envSpecific = _nodeMiddleware.default;
37
+ var middleware = envSpecific.concat([printWarnings, (0, _middleware.jsonRequest)(), (0, _middleware.jsonResponse)(), (0, _middleware.progress)(), httpError, (0, _middleware.observable)({
38
+ implementation: _observable.Observable
53
39
  })]);
54
-
55
40
  var request = (0, _getIt.default)(middleware);
56
-
57
41
  function httpRequest(options) {
58
42
  var requester = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : request;
59
- return requester(Object.assign({
43
+ return requester(_extends({
60
44
  maxRedirects: 0
61
45
  }, options));
62
46
  }
63
-
64
47
  httpRequest.defaultRequester = request;
65
48
  httpRequest.ClientError = _errors.ClientError;
66
- httpRequest.ServerError = _errors.ServerError;
49
+ httpRequest.ServerError = _errors.ServerError;
50
+ var _default = httpRequest;
51
+ exports.default = _default;
52
+ module.exports = exports.default;
@@ -3,31 +3,28 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.requestOptions = void 0;
6
+ exports.default = void 0;
7
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
7
8
  var projectHeader = 'X-Sanity-Project-ID';
8
-
9
- var requestOptions = function requestOptions(config) {
9
+ var _default = function _default(config) {
10
10
  var overrides = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
11
11
  var headers = {};
12
12
  var token = overrides.token || config.token;
13
-
14
13
  if (token) {
15
14
  headers.Authorization = "Bearer ".concat(token);
16
15
  }
17
-
18
16
  if (!overrides.useGlobalApi && !config.useProjectHostname && config.projectId) {
19
17
  headers[projectHeader] = config.projectId;
20
18
  }
21
-
22
19
  var withCredentials = Boolean(typeof overrides.withCredentials === 'undefined' ? config.token || config.withCredentials : overrides.withCredentials);
23
20
  var timeout = typeof overrides.timeout === 'undefined' ? config.timeout : overrides.timeout;
24
- return Object.assign({}, overrides, {
25
- headers: Object.assign({}, headers, overrides.headers || {}),
21
+ return _extends({}, overrides, {
22
+ headers: _extends({}, headers, overrides.headers || {}),
26
23
  timeout: typeof timeout === 'undefined' ? 5 * 60 * 1000 : timeout,
27
24
  proxy: overrides.proxy || config.proxy,
28
25
  json: true,
29
26
  withCredentials: withCredentials
30
27
  });
31
28
  };
32
-
33
- exports.requestOptions = requestOptions;
29
+ exports.default = _default;
30
+ module.exports = exports.default;
@@ -3,38 +3,23 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.ProjectsClient = void 0;
7
-
8
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
-
10
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
11
-
12
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13
-
14
- var ProjectsClient = /*#__PURE__*/function () {
15
- function ProjectsClient(client) {
16
- _classCallCheck(this, ProjectsClient);
17
-
18
- this.client = client;
6
+ exports.default = void 0;
7
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
8
+ function ProjectsClient(client) {
9
+ this.client = client;
10
+ }
11
+ _extends(ProjectsClient.prototype, {
12
+ list: function list() {
13
+ return this.client.request({
14
+ uri: '/projects'
15
+ });
16
+ },
17
+ getById: function getById(id) {
18
+ return this.client.request({
19
+ uri: "/projects/".concat(id)
20
+ });
19
21
  }
20
-
21
- _createClass(ProjectsClient, [{
22
- key: "list",
23
- value: function list() {
24
- return this.client.request({
25
- uri: '/projects'
26
- });
27
- }
28
- }, {
29
- key: "getById",
30
- value: function getById(id) {
31
- return this.client.request({
32
- uri: "/projects/".concat(id)
33
- });
34
- }
35
- }]);
36
-
37
- return ProjectsClient;
38
- }();
39
-
40
- exports.ProjectsClient = ProjectsClient;
22
+ });
23
+ var _default = ProjectsClient;
24
+ exports.default = _default;
25
+ module.exports = exports.default;
@@ -1,175 +1,120 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports.SanityClient = void 0;
9
- exports.createClient = createClient;
10
-
7
+ exports.default = void 0;
11
8
  var _observable = require("./util/observable");
12
-
13
- var _patch = require("./data/patch");
14
-
15
- var _transaction = require("./data/transaction");
16
-
17
- var _dataMethods = require("./data/dataMethods");
18
-
19
- var _datasetsClient = require("./datasets/datasetsClient");
20
-
21
- var _projectsClient = require("./projects/projectsClient");
22
-
23
- var _assetsClient = require("./assets/assetsClient");
24
-
25
- var _usersClient = require("./users/usersClient");
26
-
27
- var _authClient = require("./auth/authClient");
28
-
29
- var _request = require("./http/request");
30
-
31
- var _requestOptions = require("./http/requestOptions");
32
-
9
+ var _patch = _interopRequireDefault(require("./data/patch"));
10
+ var _transaction = _interopRequireDefault(require("./data/transaction"));
11
+ var _dataMethods = _interopRequireDefault(require("./data/dataMethods"));
12
+ var _datasetsClient = _interopRequireDefault(require("./datasets/datasetsClient"));
13
+ var _projectsClient = _interopRequireDefault(require("./projects/projectsClient"));
14
+ var _assetsClient = _interopRequireDefault(require("./assets/assetsClient"));
15
+ var _usersClient = _interopRequireDefault(require("./users/usersClient"));
16
+ var _authClient = _interopRequireDefault(require("./auth/authClient"));
17
+ var _request = _interopRequireDefault(require("./http/request"));
18
+ var _requestOptions = _interopRequireDefault(require("./http/requestOptions"));
33
19
  var _config = require("./config");
34
-
35
20
  var validate = _interopRequireWildcard(require("./validators"));
36
-
37
21
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
38
-
39
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
40
-
23
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
41
24
  function 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; }
42
-
43
25
  function _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; }
44
-
45
- function _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; }
46
-
47
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
48
-
49
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
50
-
51
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
52
-
26
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
27
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
28
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
29
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
53
30
  var toPromise = function toPromise(observable) {
54
31
  return observable.toPromise();
55
32
  };
56
-
57
- var SanityClient = /*#__PURE__*/function () {
58
- function SanityClient() {
59
- var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _config.defaultConfig;
60
-
61
- _classCallCheck(this, SanityClient);
62
-
63
- this.config(config);
64
- this.assets = new _assetsClient.AssetsClient(this);
65
- this.datasets = new _datasetsClient.DatasetsClient(this);
66
- this.projects = new _projectsClient.ProjectsClient(this);
67
- this.users = new _usersClient.UsersClient(this);
68
- this.auth = new _authClient.AuthClient(this);
69
-
70
- if (this.clientConfig.isPromiseAPI) {
71
- var observableConfig = Object.assign({}, this.clientConfig, {
72
- isPromiseAPI: false
73
- });
74
- this.observable = new SanityClient(observableConfig);
75
- }
33
+ function SanityClient() {
34
+ var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _config.defaultConfig;
35
+ if (!(this instanceof SanityClient)) {
36
+ return new SanityClient(config);
76
37
  }
77
-
78
- _createClass(SanityClient, [{
79
- key: "clone",
80
- value: function clone() {
81
- return new SanityClient(this.config());
82
- }
83
- }, {
84
- key: "config",
85
- value: function config(newConfig) {
86
- if (typeof newConfig === 'undefined') {
87
- return Object.assign({}, this.clientConfig);
88
- }
89
-
90
- if (this.observable) {
91
- var observableConfig = Object.assign({}, newConfig, {
92
- isPromiseAPI: false
93
- });
94
- this.observable.config(observableConfig);
95
- }
96
-
97
- this.clientConfig = (0, _config.initConfig)(newConfig, this.clientConfig || {});
98
- return this;
99
- }
100
- }, {
101
- key: "withConfig",
102
- value: function withConfig(newConfig) {
103
- return this.clone().config(newConfig);
104
- }
105
- }, {
106
- key: "getUrl",
107
- value: function getUrl(uri) {
108
- var useCdn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
109
- var base = useCdn ? this.clientConfig.cdnUrl : this.clientConfig.url;
110
- return "".concat(base, "/").concat(uri.replace(/^\//, ''));
38
+ this.config(config);
39
+ this.assets = new _assetsClient.default(this);
40
+ this.datasets = new _datasetsClient.default(this);
41
+ this.projects = new _projectsClient.default(this);
42
+ this.users = new _usersClient.default(this);
43
+ this.auth = new _authClient.default(this);
44
+ if (this.clientConfig.isPromiseAPI) {
45
+ var observableConfig = _extends({}, this.clientConfig, {
46
+ isPromiseAPI: false
47
+ });
48
+ this.observable = new SanityClient(observableConfig);
49
+ }
50
+ }
51
+ _extends(SanityClient.prototype, _dataMethods.default);
52
+ _extends(SanityClient.prototype, {
53
+ clone: function clone() {
54
+ return new SanityClient(this.config());
55
+ },
56
+ config: function config(newConfig) {
57
+ if (typeof newConfig === 'undefined') {
58
+ return _extends({}, this.clientConfig);
111
59
  }
112
- }, {
113
- key: "isPromiseAPI",
114
- value: function isPromiseAPI() {
115
- return this.clientConfig.isPromiseAPI;
60
+ if (this.clientConfig && this.clientConfig.allowReconfigure === false) {
61
+ throw new Error('Existing client instance cannot be reconfigured - use `withConfig(newConfig)` to return a new client');
116
62
  }
117
- }, {
118
- key: "_requestObservable",
119
- value: function _requestObservable(options) {
120
- var _this = this;
121
-
122
- var uri = options.url || options.uri; // If the `canUseCdn`-option is not set we detect it automatically based on the method + URL.
123
- // Only the /data endpoint is currently available through API-CDN.
124
-
125
- var canUseCdn = typeof options.canUseCdn === 'undefined' ? ['GET', 'HEAD'].indexOf(options.method || 'GET') >= 0 && uri.indexOf('/data/') === 0 : options.canUseCdn;
126
- var useCdn = this.clientConfig.useCdn && canUseCdn;
127
- var tag = options.tag && this.clientConfig.requestTagPrefix ? [this.clientConfig.requestTagPrefix, options.tag].join('.') : options.tag || this.clientConfig.requestTagPrefix;
128
-
129
- if (tag) {
130
- options.query = _objectSpread({
131
- tag: validate.requestTag(tag)
132
- }, options.query);
133
- }
134
-
135
- var reqOptions = (0, _requestOptions.requestOptions)(this.clientConfig, Object.assign({}, options, {
136
- url: this.getUrl(uri, useCdn)
137
- }));
138
- return new _observable.Observable(function (subscriber) {
139
- return (0, _request.httpRequest)(reqOptions, _this.clientConfig.requester).subscribe(subscriber);
63
+ if (this.observable) {
64
+ var observableConfig = _extends({}, newConfig, {
65
+ isPromiseAPI: false
140
66
  });
67
+ this.observable.config(observableConfig);
141
68
  }
142
- }, {
143
- key: "request",
144
- value: function request(options) {
145
- var observable = this._requestObservable(options).pipe((0, _observable.filter)(function (event) {
146
- return event.type === 'response';
147
- }), (0, _observable.map)(function (event) {
148
- return event.body;
149
- }));
150
-
151
- return this.isPromiseAPI() ? toPromise(observable) : observable;
69
+ this.clientConfig = (0, _config.initConfig)(newConfig, this.clientConfig || {});
70
+ return this;
71
+ },
72
+ withConfig: function withConfig(newConfig) {
73
+ return new SanityClient(_objectSpread(_objectSpread({}, this.config()), newConfig));
74
+ },
75
+ getUrl: function getUrl(uri) {
76
+ var useCdn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
77
+ var base = useCdn ? this.clientConfig.cdnUrl : this.clientConfig.url;
78
+ return "".concat(base, "/").concat(uri.replace(/^\//, ''));
79
+ },
80
+ isPromiseAPI: function isPromiseAPI() {
81
+ return this.clientConfig.isPromiseAPI;
82
+ },
83
+ _requestObservable: function _requestObservable(options) {
84
+ var _this = this;
85
+ var uri = options.url || options.uri;
86
+
87
+ // If the `canUseCdn`-option is not set we detect it automatically based on the method + URL.
88
+ // Only the /data endpoint is currently available through API-CDN.
89
+ var canUseCdn = typeof options.canUseCdn === 'undefined' ? ['GET', 'HEAD'].indexOf(options.method || 'GET') >= 0 && uri.indexOf('/data/') === 0 : options.canUseCdn;
90
+ var useCdn = this.clientConfig.useCdn && canUseCdn;
91
+ var tag = options.tag && this.clientConfig.requestTagPrefix ? [this.clientConfig.requestTagPrefix, options.tag].join('.') : options.tag || this.clientConfig.requestTagPrefix;
92
+ if (tag) {
93
+ options.query = _objectSpread({
94
+ tag: validate.requestTag(tag)
95
+ }, options.query);
152
96
  }
153
- }]);
154
-
155
- return SanityClient;
156
- }();
157
-
158
- exports.SanityClient = SanityClient;
159
- Object.assign(SanityClient.prototype, _dataMethods.dataMethods);
160
- SanityClient.Patch = _patch.Patch;
161
- SanityClient.Transaction = _transaction.Transaction;
162
- SanityClient.ClientError = _request.httpRequest.ClientError;
163
- SanityClient.ServerError = _request.httpRequest.ServerError;
164
- SanityClient.requester = _request.httpRequest.defaultRequester; // Not using default exports is intentional, as it permits importing from both ESM and CJS node envs with less hazards
165
- // https://nodejs.org/docs/latest/api/packages.html#writing-dual-packages-while-avoiding-or-minimizing-hazards
166
-
167
- function createClient(config) {
168
- return new SanityClient(config);
169
- }
170
-
171
- createClient.Patch = _patch.Patch;
172
- createClient.Transaction = _transaction.Transaction;
173
- createClient.ClientError = _request.httpRequest.ClientError;
174
- createClient.ServerError = _request.httpRequest.ServerError;
175
- createClient.requester = _request.httpRequest.defaultRequester;
97
+ var reqOptions = (0, _requestOptions.default)(this.clientConfig, _extends({}, options, {
98
+ url: this.getUrl(uri, useCdn)
99
+ }));
100
+ return new _observable.Observable(function (subscriber) {
101
+ return (0, _request.default)(reqOptions, _this.clientConfig.requester).subscribe(subscriber);
102
+ });
103
+ },
104
+ request: function request(options) {
105
+ var observable = this._requestObservable(options).pipe((0, _observable.filter)(function (event) {
106
+ return event.type === 'response';
107
+ }), (0, _observable.map)(function (event) {
108
+ return event.body;
109
+ }));
110
+ return this.isPromiseAPI() ? toPromise(observable) : observable;
111
+ }
112
+ });
113
+ SanityClient.Patch = _patch.default;
114
+ SanityClient.Transaction = _transaction.default;
115
+ SanityClient.ClientError = _request.default.ClientError;
116
+ SanityClient.ServerError = _request.default.ServerError;
117
+ SanityClient.requester = _request.default.defaultRequester;
118
+ var _default = SanityClient;
119
+ exports.default = _default;
120
+ module.exports = exports.default;
@@ -3,31 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.UsersClient = void 0;
7
-
8
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
-
10
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
11
-
12
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13
-
14
- var UsersClient = /*#__PURE__*/function () {
15
- function UsersClient(client) {
16
- _classCallCheck(this, UsersClient);
17
-
18
- this.client = client;
6
+ exports.default = void 0;
7
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
8
+ function UsersClient(client) {
9
+ this.client = client;
10
+ }
11
+ _extends(UsersClient.prototype, {
12
+ getById: function getById(id) {
13
+ return this.client.request({
14
+ uri: "/users/".concat(id)
15
+ });
19
16
  }
20
-
21
- _createClass(UsersClient, [{
22
- key: "getById",
23
- value: function getById(id) {
24
- return this.client.request({
25
- uri: "/users/".concat(id)
26
- });
27
- }
28
- }]);
29
-
30
- return UsersClient;
31
- }();
32
-
33
- exports.UsersClient = UsersClient;
17
+ });
18
+ var _default = UsersClient;
19
+ exports.default = _default;
20
+ module.exports = exports.default;