@sanity/client 3.0.2 → 3.0.6-new-polyfill-update
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.
- package/lib/data/dataMethods.js +8 -2
- package/lib/data/listen.js +4 -6
- package/package.json +3 -3
- package/sanityClient.d.ts +3 -1
- package/test/client.test.js +19 -0
- package/umd/sanityClient.js +275 -73
- package/umd/sanityClient.min.js +1 -1
package/lib/data/dataMethods.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
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; }
|
|
4
|
+
|
|
5
|
+
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; }
|
|
6
|
+
|
|
3
7
|
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; }
|
|
4
8
|
|
|
5
9
|
var assign = require('object-assign');
|
|
@@ -27,11 +31,13 @@ var excludeFalsey = function excludeFalsey(param, defValue) {
|
|
|
27
31
|
|
|
28
32
|
var getMutationQuery = function getMutationQuery() {
|
|
29
33
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
30
|
-
return {
|
|
34
|
+
return _objectSpread({
|
|
31
35
|
returnIds: true,
|
|
32
36
|
returnDocuments: excludeFalsey(options.returnDocuments, true),
|
|
33
37
|
visibility: options.visibility || 'sync'
|
|
34
|
-
}
|
|
38
|
+
}, options.skipCrossDatasetReferenceValidation && {
|
|
39
|
+
skipCrossDatasetReferenceValidation: options.skipCrossDatasetReferenceValidation
|
|
40
|
+
});
|
|
35
41
|
};
|
|
36
42
|
|
|
37
43
|
var isResponse = function isResponse(event) {
|
package/lib/data/listen.js
CHANGED
|
@@ -11,8 +11,6 @@ var assign = require('object-assign');
|
|
|
11
11
|
var _require = require('../util/observable'),
|
|
12
12
|
Observable = _require.Observable;
|
|
13
13
|
|
|
14
|
-
var polyfilledEventSource = require('@sanity/eventsource');
|
|
15
|
-
|
|
16
14
|
var generateHelpUrl = require('@sanity/generate-help-url');
|
|
17
15
|
|
|
18
16
|
var pick = require('../util/pick');
|
|
@@ -21,7 +19,9 @@ var once = require('../util/once');
|
|
|
21
19
|
|
|
22
20
|
var defaults = require('../util/defaults');
|
|
23
21
|
|
|
24
|
-
var encodeQueryString = require('./encodeQueryString');
|
|
22
|
+
var encodeQueryString = require('./encodeQueryString');
|
|
23
|
+
|
|
24
|
+
var eventsource = require('eventsource'); // Limit is 16K for a _request_, eg including headers. Have to account for an
|
|
25
25
|
// unknown range of headers, but an average EventSource request from Chrome seems
|
|
26
26
|
// to have around 700 bytes of cruft, so let us account for 1.2K to be "safe"
|
|
27
27
|
|
|
@@ -33,9 +33,7 @@ var printTokenWarning = once(function () {
|
|
|
33
33
|
return console.warn(tokenWarning.join(' '));
|
|
34
34
|
});
|
|
35
35
|
var isWindowEventSource = Boolean(typeof window !== 'undefined' && window.EventSource);
|
|
36
|
-
var EventSource =
|
|
37
|
-
: polyfilledEventSource; // Node.js, IE etc
|
|
38
|
-
|
|
36
|
+
var EventSource = eventsource;
|
|
39
37
|
var possibleOptions = ['includePreviousRevision', 'includeResult', 'visibility', 'effectFormat', 'tag'];
|
|
40
38
|
var defaultOptions = {
|
|
41
39
|
includeResult: true
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanity/client",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.6-new-polyfill-update",
|
|
4
4
|
"description": "Client for retrieving, creating and patching data from Sanity.io",
|
|
5
5
|
"main": "lib/sanityClient.js",
|
|
6
6
|
"umd": "umd/sanityClient.min.js",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"node": ">=12"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@sanity/eventsource": "^2.23.0",
|
|
30
29
|
"@sanity/generate-help-url": "^2.18.0",
|
|
31
|
-
"
|
|
30
|
+
"eventsource": "^1.1.0",
|
|
31
|
+
"get-it": "^6.0.0",
|
|
32
32
|
"make-error": "^1.3.0",
|
|
33
33
|
"object-assign": "^4.1.1",
|
|
34
34
|
"rxjs": "^6.0.0"
|
package/sanityClient.d.ts
CHANGED
|
@@ -108,6 +108,7 @@ interface SanityProject {
|
|
|
108
108
|
|
|
109
109
|
type GetItRequester = {
|
|
110
110
|
use: (middleware: any) => GetItRequester
|
|
111
|
+
clone(): GetItRequester
|
|
111
112
|
}
|
|
112
113
|
|
|
113
114
|
export interface UploadOptions {
|
|
@@ -537,6 +538,7 @@ type BaseMutationOptions = RequestOptions & {
|
|
|
537
538
|
visibility?: 'sync' | 'async' | 'deferred'
|
|
538
539
|
returnDocuments?: boolean
|
|
539
540
|
returnFirst?: boolean
|
|
541
|
+
skipCrossDatasetReferenceValidation?: boolean
|
|
540
542
|
}
|
|
541
543
|
|
|
542
544
|
export type MutationEvent<R = any> = {
|
|
@@ -2072,7 +2074,7 @@ export interface SanityClient {
|
|
|
2072
2074
|
* @deprecated Use your own request library!
|
|
2073
2075
|
* @param options Request options
|
|
2074
2076
|
*/
|
|
2075
|
-
request(options: RawRequestOptions): Promise<
|
|
2077
|
+
request<T = any>(options: RawRequestOptions): Promise<T>
|
|
2076
2078
|
|
|
2077
2079
|
/**
|
|
2078
2080
|
* DEPRECATED: Perform an HTTP request a `/data` sub-endpoint
|
package/test/client.test.js
CHANGED
|
@@ -940,6 +940,25 @@ test('mutate() accepts request tag', (t) => {
|
|
|
940
940
|
.then(() => t.end())
|
|
941
941
|
})
|
|
942
942
|
|
|
943
|
+
test('mutate() accepts skipCrossDatasetReferenceValidation', (t) => {
|
|
944
|
+
const mutations = [{delete: {id: 'abc123'}}]
|
|
945
|
+
|
|
946
|
+
nock(projectHost())
|
|
947
|
+
.post(
|
|
948
|
+
'/v1/data/mutate/foo?tag=foobar&returnIds=true&returnDocuments=true&visibility=sync&skipCrossDatasetReferenceValidation=true',
|
|
949
|
+
{mutations}
|
|
950
|
+
)
|
|
951
|
+
.reply(200, {
|
|
952
|
+
transactionId: 'foo',
|
|
953
|
+
results: [{id: 'abc123', operation: 'delete', document: {_id: 'abc123'}}],
|
|
954
|
+
})
|
|
955
|
+
|
|
956
|
+
getClient()
|
|
957
|
+
.mutate(mutations, {tag: 'foobar', skipCrossDatasetReferenceValidation: true})
|
|
958
|
+
.catch(t.ifError)
|
|
959
|
+
.then(() => t.end())
|
|
960
|
+
})
|
|
961
|
+
|
|
943
962
|
test('uses GET for queries below limit', (t) => {
|
|
944
963
|
// Please dont ever do this. Just... don't.
|
|
945
964
|
const clause = []
|