@urql/core
Advanced tools
Comparing version 4.0.12-canary-7ddccc13 to 4.1.0-canary-2acc6298
@@ -1,2 +0,2 @@ | ||
import { AnyVariables, TypedDocumentNode, DocumentNode, GraphQLError, Exchange, FetchBody, Operation, ExecutionResult, DefinitionNode, DocumentInput, RequestExtensions, GraphQLRequest, OperationResult, OperationType, OperationContext, CombinedError } from './urql-core-chunk.js'; | ||
import { AnyVariables, TypedDocumentNode, DocumentNode, GraphQLError, Exchange, FetchBody, Operation, ExecutionResult, DefinitionNode, DocumentInput, RequestExtensions, GraphQLRequest, OperationResult, FormattedNode, OperationType, OperationContext, CombinedError } from './urql-core-chunk.js'; | ||
export { CacheOutcome, Client, ClientOptions, DebugEvent, DebugEventArg, DebugEventTypes, ErrorLike, ExchangeIO, ExchangeInput, GraphQLRequestParams, IncrementalPayload, OperationDebugMeta, OperationInstance, OperationResultSource, PersistedRequestExtensions, RequestPolicy, createClient } from './urql-core-chunk.js'; | ||
@@ -432,6 +432,22 @@ | ||
/** Adds `__typename` fields to a GraphQL `DocumentNode`. | ||
/** A stable stringifier for GraphQL variables objects. | ||
* | ||
* @param x - any JSON-like data. | ||
* @return A JSON string. | ||
* | ||
* @remarks | ||
* This utility creates a stable JSON string from any passed data, | ||
* and protects itself from throwing. | ||
* | ||
* The JSON string is stable insofar as objects’ keys are sorted, | ||
* and instances of non-plain objects are replaced with random keys | ||
* replacing their values, which remain stable for the objects’ | ||
* instance. | ||
*/ | ||
declare const stringifyVariables: (x: any) => string; | ||
/** Formats a GraphQL document to add `__typename` fields and process client-side directives. | ||
* | ||
* @param node - a {@link DocumentNode}. | ||
* @returns a copy of the passed {@link DocumentNode} with added `__typename` introspection fields. | ||
* @returns a {@link FormattedDocument} | ||
* | ||
@@ -444,2 +460,6 @@ * @remarks | ||
* | ||
* Additionally, this utility will process directives, filter out client-side | ||
* directives starting with an `_` underscore, and place a `_directives` dictionary | ||
* on selection nodes. | ||
* | ||
* This utility also preserves the internally computed key of the | ||
@@ -452,20 +472,4 @@ * document as created by {@link createRequest} to avoid any | ||
*/ | ||
declare const formatDocument: <T extends TypedDocumentNode<any, any>>(node: T) => T; | ||
declare const formatDocument: <T extends TypedDocumentNode<any, any>>(node: T) => FormattedNode<T>; | ||
/** A stable stringifier for GraphQL variables objects. | ||
* | ||
* @param x - any JSON-like data. | ||
* @return A JSON string. | ||
* | ||
* @remarks | ||
* This utility creates a stable JSON string from any passed data, | ||
* and protects itself from throwing. | ||
* | ||
* The JSON string is stable insofar as objects’ keys are sorted, | ||
* and instances of non-plain objects are replaced with random keys | ||
* replacing their values, which remain stable for the objects’ | ||
* instance. | ||
*/ | ||
declare const stringifyVariables: (x: any) => string; | ||
/** Used to recursively mark `__typename` fields in data as non-enumerable. | ||
@@ -579,2 +583,2 @@ * | ||
export { AnyVariables, CombinedError, DocumentInput, Exchange, ExecutionResult, GraphQLRequest, MapExchangeOpts, Operation, OperationContext, OperationResult, OperationType, RequestExtensions, SSRData, SSRExchange, SSRExchangeParams, SerializedResult, SubscriptionExchangeOpts, SubscriptionForwarder, SubscriptionOperation, TypedDocumentNode, cacheExchange, composeExchanges, createRequest, debugExchange, dedupExchange, mapExchange as errorExchange, fetchExchange, formatDocument, gql, makeErrorResult, makeOperation, makeResult, mapExchange, maskTypename, mergeResultPatch, ssrExchange, stringifyDocument, stringifyVariables, subscriptionExchange }; | ||
export { AnyVariables, CombinedError, DocumentInput, Exchange, ExecutionResult, FormattedNode, GraphQLRequest, MapExchangeOpts, Operation, OperationContext, OperationResult, OperationType, RequestExtensions, SSRData, SSRExchange, SSRExchangeParams, SerializedResult, SubscriptionExchangeOpts, SubscriptionForwarder, SubscriptionOperation, TypedDocumentNode, cacheExchange, composeExchanges, createRequest, debugExchange, dedupExchange, mapExchange as errorExchange, fetchExchange, formatDocument, gql, makeErrorResult, makeOperation, makeResult, mapExchange, maskTypename, mergeResultPatch, ssrExchange, stringifyDocument, stringifyVariables, subscriptionExchange }; |
@@ -28,5 +28,5 @@ Object.defineProperty(exports, '__esModule', { value: true }); | ||
*/ | ||
var collectTypesFromResponse = response => [...collectTypes(response, new Set())]; | ||
var collectTypenames = response => [...collectTypes(response, new Set())]; | ||
var formatNode = node => { | ||
var hasChanged = false; | ||
if ('definitions' in node) { | ||
@@ -36,10 +36,28 @@ var definitions = []; | ||
var newDefinition = formatNode(definition); | ||
hasChanged = hasChanged || newDefinition !== definition; | ||
definitions.push(newDefinition); | ||
} | ||
if (hasChanged) return { | ||
return { | ||
...node, | ||
definitions | ||
}; | ||
} else if ('selectionSet' in node) { | ||
} | ||
if ('directives' in node && node.directives && node.directives.length) { | ||
var directives = []; | ||
var _directives = {}; | ||
for (var directive of node.directives) { | ||
var name = directive.name.value; | ||
if (name[0] !== '_') { | ||
directives.push(directive); | ||
} else { | ||
name = name.slice(1); | ||
} | ||
_directives[name] = directive; | ||
} | ||
node = { | ||
...node, | ||
directives, | ||
_directives | ||
}; | ||
} | ||
if ('selectionSet' in node) { | ||
var selections = []; | ||
@@ -51,7 +69,5 @@ var hasTypename = node.kind === graphql_web.Kind.OPERATION_DEFINITION; | ||
var newSelection = formatNode(selection); | ||
hasChanged = hasChanged || newSelection !== selection; | ||
selections.push(newSelection); | ||
} | ||
if (!hasTypename) { | ||
hasChanged = true; | ||
selections.push({ | ||
@@ -62,6 +78,7 @@ kind: graphql_web.Kind.FIELD, | ||
value: '__typename' | ||
} | ||
}, | ||
_generated: true | ||
}); | ||
} | ||
if (hasChanged) return { | ||
return { | ||
...node, | ||
@@ -79,6 +96,6 @@ selectionSet: { | ||
/** Adds `__typename` fields to a GraphQL `DocumentNode`. | ||
/** Formats a GraphQL document to add `__typename` fields and process client-side directives. | ||
* | ||
* @param node - a {@link DocumentNode}. | ||
* @returns a copy of the passed {@link DocumentNode} with added `__typename` introspection fields. | ||
* @returns a {@link FormattedDocument} | ||
* | ||
@@ -91,2 +108,6 @@ * @remarks | ||
* | ||
* Additionally, this utility will process directives, filter out client-side | ||
* directives starting with an `_` underscore, and place a `_directives` dictionary | ||
* on selection nodes. | ||
* | ||
* This utility also preserves the internally computed key of the | ||
@@ -396,3 +417,3 @@ * document as created by {@link createRequest} to avoid any | ||
if (response.operation.kind !== 'subscription') { | ||
typenames = collectTypesFromResponse(response.data).concat(typenames); | ||
typenames = collectTypenames(response.data).concat(typenames); | ||
} | ||
@@ -399,0 +420,0 @@ |
@@ -1,2 +0,2 @@ | ||
Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@0no-co/graphql.web"),r=require("./urql-core-chunk.min.js"),t=require("wonka"),n=(e,r)=>{if(Array.isArray(e))for(var t of e)n(t,r);else if("object"==typeof e&&null!==e)for(var a in e)"__typename"===a&&"string"==typeof e[a]?r.add(e[a]):n(e[a],r);return r},a=r=>{var t=!1;if("definitions"in r){var n=[];for(var o of r.definitions){var i=a(o);t=t||i!==o,n.push(i)}if(t)return{...r,definitions:n}}else if("selectionSet"in r){var s=[],u=r.kind===e.Kind.OPERATION_DEFINITION;if(r.selectionSet){for(var c of r.selectionSet.selections||[]){u=u||c.kind===e.Kind.FIELD&&"__typename"===c.name.value&&!c.alias;var p=a(c);t=t||p!==c,s.push(p)}if(u||(t=!0,s.push({kind:e.Kind.FIELD,name:{kind:e.Kind.NAME,value:"__typename"}})),t)return{...r,selectionSet:{...r.selectionSet,selections:s}}}}return r},o=new Map,i=e=>{var t=r.keyDocument(e),n=o.get(t.__key);return n||(o.set(t.__key,n=a(t)),Object.defineProperty(n,"__key",{value:t.__key,enumerable:!1})),n},s=(e,r)=>{if(e&&"object"==typeof e){if(Array.isArray(e))return e.map((e=>s(e)));if(e&&"object"==typeof e&&(r||"__typename"in e)){var t={};for(var n in e)"__typename"===n?Object.defineProperty(t,"__typename",{enumerable:!1,value:e.__typename}):t[n]=s(e[n]);return t}return e}return e};function u(e,r,t){return{...r,kind:e,context:r.context?{...r.context,...t}:t||r.context}}var c=()=>{},p=({kind:e})=>"mutation"!==e&&"query"!==e,l=e=>{var r=i(e.query);if(r!==e.query){var t=u(e.kind,e);return t.query=r,t}return e},d=(e,r)=>e.reexecuteOperation(u(r.kind,r,{requestPolicy:"network-only"})),f=new Set,k=e=>({client:r,forward:n})=>e.reduceRight(((e,n)=>n({client:r,forward:r=>t.share(e(t.share(r))),dispatchDebug(e){}})),n),y=({onOperation:e,onResult:r,onError:n})=>({forward:a})=>o=>t.mergeMap((e=>{n&&e.error&&n(e.error,e.operation);var a=r&&r(e)||e;return"then"in a?t.fromPromise(a):t.fromValue(a)}))(a(t.mergeMap((r=>{var n=e&&e(r)||r;return"then"in n?t.fromPromise(n):t.fromValue(n)}))(o))),h=({})=>e=>t.filter((e=>!1))(e),m=function e(n){var a=0,o=new Map,i=new Map,p=new Set,l=[],d={url:n.url,fetchSubscriptions:n.fetchSubscriptions,fetchOptions:n.fetchOptions,fetch:n.fetch,preferGetMethod:!!n.preferGetMethod,requestPolicy:n.requestPolicy||"cache-first"},f=t.makeSubject();function y(e){"mutation"!==e.kind&&"teardown"!==e.kind&&p.has(e.key)||("teardown"===e.kind?p.delete(e.key):"mutation"!==e.kind&&p.add(e.key),f.next(e))}var m=!1;function x(e){if(e&&y(e),!m){for(m=!0;m&&(e=l.shift());)y(e);m=!1}}var v=e=>{var r=t.takeUntil(t.filter((r=>"teardown"===r.kind&&r.key===e.key))(f.source))(t.filter((r=>r.operation.kind===e.kind&&r.operation.key===e.key&&(!r.operation.context._instance||r.operation.context._instance===e.context._instance)))(E));return n.maskTypename&&(r=t.map((e=>({...e,data:s(e.data,!0)})))(r)),r="query"!==e.kind?t.takeWhile((e=>!!e.hasNext),!0)(r):t.switchMap((r=>{var n=t.fromValue(r);return r.stale||r.hasNext?n:t.merge([n,t.map((()=>(r.stale=!0,r)))(t.take(1)(t.filter((r=>r.key===e.key))(f.source)))])}))(r),r="mutation"!==e.kind?t.onEnd((()=>{p.delete(e.key),o.delete(e.key),i.delete(e.key),m=!1;for(var r=l.length-1;r>=0;r--)l[r].key===e.key&&l.splice(r,1);y(u("teardown",e,e.context))}))(t.onPush((r=>{if(r.stale){for(var t of l)if(t.key===r.operation.key){p.delete(t.key);break}}else r.hasNext||p.delete(e.key);o.set(e.key,r)}))(r)):t.onStart((()=>{y(e)}))(r),t.share(r)},g=this instanceof e?this:Object.create(e.prototype),b=Object.assign(g,{suspense:!!n.suspense,operations$:f.source,reexecuteOperation(e){"teardown"===e.kind?x(e):("mutation"===e.kind||i.has(e.key))&&(l.push(e),Promise.resolve().then(x))},createRequestOperation:(e,r,t)=>(t||(t={}),u(e,r,{_instance:"mutation"===e?a=a+1|0:void 0,...d,...t,requestPolicy:t.requestPolicy||d.requestPolicy,suspense:t.suspense||!1!==t.suspense&&b.suspense})),executeRequestOperation:e=>{return r="mutation"===e.kind?v(e):t.lazy((()=>{var r=i.get(e.key);r||i.set(e.key,r=v(e)),r=t.onStart((()=>{x(e)}))(r);var n=o.get(e.key);return"query"===e.kind&&n&&(n.stale||n.hasNext)?t.switchMap(t.fromValue)(t.merge([r,t.filter((r=>r===o.get(e.key)))(t.fromValue(n))])):r})),(n=e=>r(e)).toPromise=()=>t.toPromise(t.take(1)(t.filter((e=>!e.stale&&!e.hasNext))(n))),n.then=(e,r)=>n.toPromise().then(e,r),n.subscribe=e=>t.subscribe(e)(n),n;var r,n},executeQuery(e,r){var t=b.createRequestOperation("query",e,r);return b.executeRequestOperation(t)},executeSubscription(e,r){var t=b.createRequestOperation("subscription",e,r);return b.executeRequestOperation(t)},executeMutation(e,r){var t=b.createRequestOperation("mutation",e,r);return b.executeRequestOperation(t)},readQuery(e,r,n){var a=null;return t.subscribe((e=>{a=e}))(b.query(e,r,n)).unsubscribe(),a},query:(e,t,n)=>b.executeQuery(r.createRequest(e,t),n),subscription:(e,t,n)=>b.executeSubscription(r.createRequest(e,t),n),mutation:(e,t,n)=>b.executeMutation(r.createRequest(e,t),n)}),w=c,q=k(n.exchanges),E=t.share(q({client:b,dispatchDebug:w,forward:h({dispatchDebug:w})})(f.source));return t.publish(E),b},x=m;exports.CombinedError=r.CombinedError,exports.createRequest=r.createRequest,exports.makeErrorResult=r.makeErrorResult,exports.makeResult=r.makeResult,exports.mergeResultPatch=r.mergeResultPatch,exports.stringifyDocument=r.stringifyDocument,exports.stringifyVariables=r.stringifyVariables,exports.Client=m,exports.cacheExchange=({forward:e,client:r})=>{var a=new Map,o=new Map,i=e=>"query"===e.kind&&"network-only"!==e.context.requestPolicy&&("cache-only"===e.context.requestPolicy||a.has(e.key));return s=>{var u=t.map((e=>{var t=a.get(e.key);return"cache-and-network"===e.context.requestPolicy&&(t.stale=!0,d(r,e)),t}))(t.filter((e=>!p(e)&&i(e)))(s)),c=t.tap((e=>{var{operation:t}=e;if(t){var i=t.context.additionalTypenames||[];if("subscription"!==e.operation.kind&&(i=(e=>[...n(e,new Set)])(e.data).concat(i)),"mutation"===e.operation.kind||"subscription"===e.operation.kind){for(var s=new Set,u=0;u<i.length;u++){var c=i[u],p=o.get(c);for(var l of(p||o.set(c,p=new Set),p.values()))s.add(l);p.clear()}for(var f of s.values())a.has(f)&&(t=a.get(f).operation,a.delete(f),d(r,t))}else if("query"===t.kind&&e.data){a.set(t.key,e);for(var k=0;k<i.length;k++){var y=i[k],h=o.get(y);h||o.set(y,h=new Set),h.add(t.key)}}}}))(e(t.filter((e=>"query"!==e.kind||"cache-only"!==e.context.requestPolicy))(t.map((e=>e))(t.merge([t.map(l)(t.filter((e=>!p(e)&&!i(e)))(s)),t.filter((e=>p(e)))(s)])))));return t.merge([u,c])}},exports.composeExchanges=k,exports.createClient=x,exports.debugExchange=({forward:e})=>r=>e(r),exports.dedupExchange=({forward:e})=>r=>e(r),exports.errorExchange=y,exports.fetchExchange=({forward:e})=>n=>{var a=t.mergeMap((e=>{var a=r.makeFetchBody(e),o=r.makeFetchURL(e,a),i=r.makeFetchOptions(e,a);return t.takeUntil(t.filter((r=>"teardown"===r.kind&&r.key===e.key))(n))(r.makeFetchSource(e,o,i))}))(t.filter((e=>"teardown"!==e.kind&&("subscription"!==e.kind||!!e.context.fetchSubscriptions)))(n)),o=e(t.filter((e=>"teardown"===e.kind||"subscription"===e.kind&&!e.context.fetchSubscriptions))(n));return t.merge([a,o])},exports.formatDocument=i,exports.gql=function(t){for(var n=new Map,a=[],o=[],i=Array.isArray(t)?t[0]:t||"",s=1;s<arguments.length;s++){var u=arguments[s];u&&u.definitions?o.push(u):i+=u,i+=arguments[0][s]}for(var c of(o.unshift(r.keyDocument(i)),o))for(var p of c.definitions)if(p.kind===e.Kind.FRAGMENT_DEFINITION){var l=p.name.value,d=r.stringifyDocument(p);n.has(l)||(n.set(l,d),a.push(p))}else a.push(p);return r.keyDocument({kind:e.Kind.DOCUMENT,definitions:a})},exports.makeOperation=u,exports.mapExchange=y,exports.maskTypename=s,exports.ssrExchange=(e={})=>{var n=!!e.staleWhileRevalidate,a=!!e.includeExtensions,o={},i=[],s=e=>{i.push(e.operation.key),1===i.length&&Promise.resolve().then((()=>{for(var e;e=i.shift();)o[e]=null}))},u=({client:i,forward:u})=>c=>{var p=e&&"boolean"==typeof e.isClient?!!e.isClient:!i.suspense,k=u(t.map(l)(t.filter((e=>!o[e.key]||!!o[e.key].hasNext||"network-only"===e.context.requestPolicy))(c))),y=t.map((e=>{var t=((e,t,n)=>({operation:e,data:t.data?JSON.parse(t.data):void 0,extensions:n&&t.extensions?JSON.parse(t.extensions):void 0,error:t.error?new r.CombinedError({networkError:t.error.networkError?new Error(t.error.networkError):void 0,graphQLErrors:t.error.graphQLErrors}):void 0,stale:!1,hasNext:!!t.hasNext}))(e,o[e.key],a);return n&&!f.has(e.key)&&(t.stale=!0,f.add(e.key),d(i,e)),{...t,operation:e}}))(t.filter((e=>!!o[e.key]&&"network-only"!==e.context.requestPolicy))(c));return p?y=t.tap(s)(y):k=t.tap((e=>{var{operation:r}=e;if("mutation"!==r.kind){var t=((e,r)=>{var t={data:JSON.stringify(e.data),hasNext:e.hasNext};return void 0!==e.data&&(t.data=JSON.stringify(e.data)),r&&void 0!==e.extensions&&(t.extensions=JSON.stringify(e.extensions)),e.error&&(t.error={graphQLErrors:e.error.graphQLErrors.map((e=>e.path||e.extensions?{message:e.message,path:e.path,extensions:e.extensions}:e.message))},e.error.networkError&&(t.error.networkError=""+e.error.networkError)),t})(e,a);o[r.key]=t}}))(k),t.merge([k,y])};return u.restoreData=e=>{for(var r in e)null!==o[r]&&(o[r]=e[r])},u.extractData=()=>{var e={};for(var r in o)null!=o[r]&&(e[r]=o[r]);return e},e&&e.initialState&&u.restoreData(e.initialState),u},exports.subscriptionExchange=({forwardSubscription:e,enableAllOperations:n,isSubscriptionOperation:a})=>({client:o,forward:i})=>{var s=a||(e=>"subscription"===e.kind||!!n&&("query"===e.kind||"mutation"===e.kind));return n=>{var a=t.mergeMap((a=>{var{key:i}=a,s=t.filter((e=>"teardown"===e.kind&&e.key===i))(n);return t.takeUntil(s)((n=>{var a=e(r.makeFetchBody(n),n);return t.make((({next:e,complete:t})=>{var i,s,c=!1;return Promise.resolve().then((()=>{c||(i=a.subscribe({next(t){e(s=s?r.mergeResultPatch(s,t):r.makeResult(n,t))},error(t){e(r.makeErrorResult(n,t))},complete(){c||(c=!0,"subscription"===n.kind&&o.reexecuteOperation(u("teardown",n,n.context)),s&&s.hasNext&&e(r.mergeResultPatch(s,{hasNext:!1})),t())}}))})),()=>{c=!0,i&&i.unsubscribe()}}))})(a))}))(t.filter((e=>"teardown"!==e.kind&&s(e)))(n)),c=i(t.filter((e=>"teardown"===e.kind||!s(e)))(n));return t.merge([a,c])}}; | ||
Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@0no-co/graphql.web"),r=require("./urql-core-chunk.min.js"),t=require("wonka"),n=(e,r)=>{if(Array.isArray(e))for(var t of e)n(t,r);else if("object"==typeof e&&null!==e)for(var a in e)"__typename"===a&&"string"==typeof e[a]?r.add(e[a]):n(e[a],r);return r},a=r=>{if("definitions"in r){var t=[];for(var n of r.definitions){var o=a(n);t.push(o)}return{...r,definitions:t}}if("directives"in r&&r.directives&&r.directives.length){var i=[],s={};for(var u of r.directives){var c=u.name.value;"_"!==c[0]?i.push(u):c=c.slice(1),s[c]=u}r={...r,directives:i,_directives:s}}if("selectionSet"in r){var p=[],l=r.kind===e.Kind.OPERATION_DEFINITION;if(r.selectionSet){for(var d of r.selectionSet.selections||[]){l=l||d.kind===e.Kind.FIELD&&"__typename"===d.name.value&&!d.alias;var f=a(d);p.push(f)}return l||p.push({kind:e.Kind.FIELD,name:{kind:e.Kind.NAME,value:"__typename"},_generated:!0}),{...r,selectionSet:{...r.selectionSet,selections:p}}}}return r},o=new Map,i=e=>{var t=r.keyDocument(e),n=o.get(t.__key);return n||(o.set(t.__key,n=a(t)),Object.defineProperty(n,"__key",{value:t.__key,enumerable:!1})),n},s=(e,r)=>{if(e&&"object"==typeof e){if(Array.isArray(e))return e.map((e=>s(e)));if(e&&"object"==typeof e&&(r||"__typename"in e)){var t={};for(var n in e)"__typename"===n?Object.defineProperty(t,"__typename",{enumerable:!1,value:e.__typename}):t[n]=s(e[n]);return t}return e}return e};function u(e,r,t){return{...r,kind:e,context:r.context?{...r.context,...t}:t||r.context}}var c=()=>{},p=({kind:e})=>"mutation"!==e&&"query"!==e,l=e=>{var r=i(e.query);if(r!==e.query){var t=u(e.kind,e);return t.query=r,t}return e},d=(e,r)=>e.reexecuteOperation(u(r.kind,r,{requestPolicy:"network-only"})),f=new Set,k=e=>({client:r,forward:n})=>e.reduceRight(((e,n)=>n({client:r,forward:r=>t.share(e(t.share(r))),dispatchDebug(e){}})),n),y=({onOperation:e,onResult:r,onError:n})=>({forward:a})=>o=>t.mergeMap((e=>{n&&e.error&&n(e.error,e.operation);var a=r&&r(e)||e;return"then"in a?t.fromPromise(a):t.fromValue(a)}))(a(t.mergeMap((r=>{var n=e&&e(r)||r;return"then"in n?t.fromPromise(n):t.fromValue(n)}))(o))),h=({})=>e=>t.filter((e=>!1))(e),m=function e(n){var a=0,o=new Map,i=new Map,p=new Set,l=[],d={url:n.url,fetchSubscriptions:n.fetchSubscriptions,fetchOptions:n.fetchOptions,fetch:n.fetch,preferGetMethod:!!n.preferGetMethod,requestPolicy:n.requestPolicy||"cache-first"},f=t.makeSubject();function y(e){"mutation"!==e.kind&&"teardown"!==e.kind&&p.has(e.key)||("teardown"===e.kind?p.delete(e.key):"mutation"!==e.kind&&p.add(e.key),f.next(e))}var m=!1;function v(e){if(e&&y(e),!m){for(m=!0;m&&(e=l.shift());)y(e);m=!1}}var x=e=>{var r=t.takeUntil(t.filter((r=>"teardown"===r.kind&&r.key===e.key))(f.source))(t.filter((r=>r.operation.kind===e.kind&&r.operation.key===e.key&&(!r.operation.context._instance||r.operation.context._instance===e.context._instance)))(E));return n.maskTypename&&(r=t.map((e=>({...e,data:s(e.data,!0)})))(r)),r="query"!==e.kind?t.takeWhile((e=>!!e.hasNext),!0)(r):t.switchMap((r=>{var n=t.fromValue(r);return r.stale||r.hasNext?n:t.merge([n,t.map((()=>(r.stale=!0,r)))(t.take(1)(t.filter((r=>r.key===e.key))(f.source)))])}))(r),r="mutation"!==e.kind?t.onEnd((()=>{p.delete(e.key),o.delete(e.key),i.delete(e.key),m=!1;for(var r=l.length-1;r>=0;r--)l[r].key===e.key&&l.splice(r,1);y(u("teardown",e,e.context))}))(t.onPush((r=>{if(r.stale){for(var t of l)if(t.key===r.operation.key){p.delete(t.key);break}}else r.hasNext||p.delete(e.key);o.set(e.key,r)}))(r)):t.onStart((()=>{y(e)}))(r),t.share(r)},g=this instanceof e?this:Object.create(e.prototype),b=Object.assign(g,{suspense:!!n.suspense,operations$:f.source,reexecuteOperation(e){"teardown"===e.kind?v(e):("mutation"===e.kind||i.has(e.key))&&(l.push(e),Promise.resolve().then(v))},createRequestOperation:(e,r,t)=>(t||(t={}),u(e,r,{_instance:"mutation"===e?a=a+1|0:void 0,...d,...t,requestPolicy:t.requestPolicy||d.requestPolicy,suspense:t.suspense||!1!==t.suspense&&b.suspense})),executeRequestOperation:e=>{return r="mutation"===e.kind?x(e):t.lazy((()=>{var r=i.get(e.key);r||i.set(e.key,r=x(e)),r=t.onStart((()=>{v(e)}))(r);var n=o.get(e.key);return"query"===e.kind&&n&&(n.stale||n.hasNext)?t.switchMap(t.fromValue)(t.merge([r,t.filter((r=>r===o.get(e.key)))(t.fromValue(n))])):r})),(n=e=>r(e)).toPromise=()=>t.toPromise(t.take(1)(t.filter((e=>!e.stale&&!e.hasNext))(n))),n.then=(e,r)=>n.toPromise().then(e,r),n.subscribe=e=>t.subscribe(e)(n),n;var r,n},executeQuery(e,r){var t=b.createRequestOperation("query",e,r);return b.executeRequestOperation(t)},executeSubscription(e,r){var t=b.createRequestOperation("subscription",e,r);return b.executeRequestOperation(t)},executeMutation(e,r){var t=b.createRequestOperation("mutation",e,r);return b.executeRequestOperation(t)},readQuery(e,r,n){var a=null;return t.subscribe((e=>{a=e}))(b.query(e,r,n)).unsubscribe(),a},query:(e,t,n)=>b.executeQuery(r.createRequest(e,t),n),subscription:(e,t,n)=>b.executeSubscription(r.createRequest(e,t),n),mutation:(e,t,n)=>b.executeMutation(r.createRequest(e,t),n)}),w=c,q=k(n.exchanges),E=t.share(q({client:b,dispatchDebug:w,forward:h({dispatchDebug:w})})(f.source));return t.publish(E),b},v=m;exports.CombinedError=r.CombinedError,exports.createRequest=r.createRequest,exports.makeErrorResult=r.makeErrorResult,exports.makeResult=r.makeResult,exports.mergeResultPatch=r.mergeResultPatch,exports.stringifyDocument=r.stringifyDocument,exports.stringifyVariables=r.stringifyVariables,exports.Client=m,exports.cacheExchange=({forward:e,client:r})=>{var a=new Map,o=new Map,i=e=>"query"===e.kind&&"network-only"!==e.context.requestPolicy&&("cache-only"===e.context.requestPolicy||a.has(e.key));return s=>{var u=t.map((e=>{var t=a.get(e.key);return"cache-and-network"===e.context.requestPolicy&&(t.stale=!0,d(r,e)),t}))(t.filter((e=>!p(e)&&i(e)))(s)),c=t.tap((e=>{var{operation:t}=e;if(t){var i=t.context.additionalTypenames||[];if("subscription"!==e.operation.kind&&(i=(e=>[...n(e,new Set)])(e.data).concat(i)),"mutation"===e.operation.kind||"subscription"===e.operation.kind){for(var s=new Set,u=0;u<i.length;u++){var c=i[u],p=o.get(c);for(var l of(p||o.set(c,p=new Set),p.values()))s.add(l);p.clear()}for(var f of s.values())a.has(f)&&(t=a.get(f).operation,a.delete(f),d(r,t))}else if("query"===t.kind&&e.data){a.set(t.key,e);for(var k=0;k<i.length;k++){var y=i[k],h=o.get(y);h||o.set(y,h=new Set),h.add(t.key)}}}}))(e(t.filter((e=>"query"!==e.kind||"cache-only"!==e.context.requestPolicy))(t.map((e=>e))(t.merge([t.map(l)(t.filter((e=>!p(e)&&!i(e)))(s)),t.filter((e=>p(e)))(s)])))));return t.merge([u,c])}},exports.composeExchanges=k,exports.createClient=v,exports.debugExchange=({forward:e})=>r=>e(r),exports.dedupExchange=({forward:e})=>r=>e(r),exports.errorExchange=y,exports.fetchExchange=({forward:e})=>n=>{var a=t.mergeMap((e=>{var a=r.makeFetchBody(e),o=r.makeFetchURL(e,a),i=r.makeFetchOptions(e,a);return t.takeUntil(t.filter((r=>"teardown"===r.kind&&r.key===e.key))(n))(r.makeFetchSource(e,o,i))}))(t.filter((e=>"teardown"!==e.kind&&("subscription"!==e.kind||!!e.context.fetchSubscriptions)))(n)),o=e(t.filter((e=>"teardown"===e.kind||"subscription"===e.kind&&!e.context.fetchSubscriptions))(n));return t.merge([a,o])},exports.formatDocument=i,exports.gql=function(t){for(var n=new Map,a=[],o=[],i=Array.isArray(t)?t[0]:t||"",s=1;s<arguments.length;s++){var u=arguments[s];u&&u.definitions?o.push(u):i+=u,i+=arguments[0][s]}for(var c of(o.unshift(r.keyDocument(i)),o))for(var p of c.definitions)if(p.kind===e.Kind.FRAGMENT_DEFINITION){var l=p.name.value,d=r.stringifyDocument(p);n.has(l)||(n.set(l,d),a.push(p))}else a.push(p);return r.keyDocument({kind:e.Kind.DOCUMENT,definitions:a})},exports.makeOperation=u,exports.mapExchange=y,exports.maskTypename=s,exports.ssrExchange=(e={})=>{var n=!!e.staleWhileRevalidate,a=!!e.includeExtensions,o={},i=[],s=e=>{i.push(e.operation.key),1===i.length&&Promise.resolve().then((()=>{for(var e;e=i.shift();)o[e]=null}))},u=({client:i,forward:u})=>c=>{var p=e&&"boolean"==typeof e.isClient?!!e.isClient:!i.suspense,k=u(t.map(l)(t.filter((e=>!o[e.key]||!!o[e.key].hasNext||"network-only"===e.context.requestPolicy))(c))),y=t.map((e=>{var t=((e,t,n)=>({operation:e,data:t.data?JSON.parse(t.data):void 0,extensions:n&&t.extensions?JSON.parse(t.extensions):void 0,error:t.error?new r.CombinedError({networkError:t.error.networkError?new Error(t.error.networkError):void 0,graphQLErrors:t.error.graphQLErrors}):void 0,stale:!1,hasNext:!!t.hasNext}))(e,o[e.key],a);return n&&!f.has(e.key)&&(t.stale=!0,f.add(e.key),d(i,e)),{...t,operation:e}}))(t.filter((e=>!!o[e.key]&&"network-only"!==e.context.requestPolicy))(c));return p?y=t.tap(s)(y):k=t.tap((e=>{var{operation:r}=e;if("mutation"!==r.kind){var t=((e,r)=>{var t={data:JSON.stringify(e.data),hasNext:e.hasNext};return void 0!==e.data&&(t.data=JSON.stringify(e.data)),r&&void 0!==e.extensions&&(t.extensions=JSON.stringify(e.extensions)),e.error&&(t.error={graphQLErrors:e.error.graphQLErrors.map((e=>e.path||e.extensions?{message:e.message,path:e.path,extensions:e.extensions}:e.message))},e.error.networkError&&(t.error.networkError=""+e.error.networkError)),t})(e,a);o[r.key]=t}}))(k),t.merge([k,y])};return u.restoreData=e=>{for(var r in e)null!==o[r]&&(o[r]=e[r])},u.extractData=()=>{var e={};for(var r in o)null!=o[r]&&(e[r]=o[r]);return e},e&&e.initialState&&u.restoreData(e.initialState),u},exports.subscriptionExchange=({forwardSubscription:e,enableAllOperations:n,isSubscriptionOperation:a})=>({client:o,forward:i})=>{var s=a||(e=>"subscription"===e.kind||!!n&&("query"===e.kind||"mutation"===e.kind));return n=>{var a=t.mergeMap((a=>{var{key:i}=a,s=t.filter((e=>"teardown"===e.kind&&e.key===i))(n);return t.takeUntil(s)((n=>{var a=e(r.makeFetchBody(n),n);return t.make((({next:e,complete:t})=>{var i,s,c=!1;return Promise.resolve().then((()=>{c||(i=a.subscribe({next(t){e(s=s?r.mergeResultPatch(s,t):r.makeResult(n,t))},error(t){e(r.makeErrorResult(n,t))},complete(){c||(c=!0,"subscription"===n.kind&&o.reexecuteOperation(u("teardown",n,n.context)),s&&s.hasNext&&e(r.mergeResultPatch(s,{hasNext:!1})),t())}}))})),()=>{c=!0,i&&i.unsubscribe()}}))})(a))}))(t.filter((e=>"teardown"!==e.kind&&s(e)))(n)),c=i(t.filter((e=>"teardown"===e.kind||!s(e)))(n));return t.merge([a,c])}}; | ||
//# sourceMappingURL=urql-core.min.js.map |
@@ -11,5 +11,5 @@ { | ||
".": { | ||
"types": "../dist/urql-core-internal.d.ts", | ||
"import": "../dist/urql-core-internal.mjs", | ||
"require": "../dist/urql-core-internal.js", | ||
"types": "../dist/urql-core-internal.d.ts", | ||
"source": "../src/internal/index.ts" | ||
@@ -19,2 +19,2 @@ }, | ||
} | ||
} | ||
} |
{ | ||
"name": "@urql/core", | ||
"version": "4.0.12-canary-7ddccc13", | ||
"version": "4.1.0-canary-2acc6298", | ||
"description": "The shared core for the highly customizable and versatile GraphQL client", | ||
@@ -5,0 +5,0 @@ "sideEffects": false, |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
899149
5281