@jahia/data-helper 1.1.1 → 1.1.2
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/CHANGELOG.md +12 -0
- package/dist/esm/hooks/useNodeInfo/useNodeInfo.js +12 -0
- package/dist/esm/hooks/useNodeInfo/useNodeInfo.js.map +1 -1
- package/dist/js/hooks/useNodeInfo/useNodeInfo.js +12 -0
- package/dist/js/hooks/useNodeInfo/useNodeInfo.js.map +1 -1
- package/dist/types/hooks/useNodeInfo/useNodeInfo.d.ts +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# (Wed May 24 2023)
|
|
2
2
|
|
|
3
|
+
#### 🐛 Bug Fix
|
|
4
|
+
|
|
5
|
+
- QA-14773: Return result from cache if available [#245](https://github.com/Jahia/javascript-components/pull/245) ([@tdraier](https://github.com/tdraier))
|
|
6
|
+
|
|
7
|
+
#### Authors: 1
|
|
8
|
+
|
|
9
|
+
- Thomas Draier ([@tdraier](https://github.com/tdraier))
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# (Wed May 24 2023)
|
|
14
|
+
|
|
3
15
|
#### 🚀 Enhancement
|
|
4
16
|
|
|
5
17
|
- TECH-233: Convert package to typescript [#243](https://github.com/Jahia/javascript-components/pull/243) ([@tdraier](https://github.com/tdraier))
|
|
@@ -130,6 +130,18 @@ export var useNodeInfo = function useNodeInfo(variables, options, queryOptions)
|
|
|
130
130
|
};
|
|
131
131
|
}, [client, currentRequest]);
|
|
132
132
|
if (queryHasChanged && !result.loading) {
|
|
133
|
+
if ((queryOptions === null || queryOptions === void 0 ? void 0 : queryOptions.fetchPolicy) !== 'no-cache' && (queryOptions === null || queryOptions === void 0 ? void 0 : queryOptions.fetchPolicy) !== 'network-only') {
|
|
134
|
+
var infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);
|
|
135
|
+
var res = client.readQuery({
|
|
136
|
+
query: infoQuery.query,
|
|
137
|
+
variables: infoQuery.generatedVariables
|
|
138
|
+
});
|
|
139
|
+
if (res) {
|
|
140
|
+
var _result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);
|
|
141
|
+
setResult(_result);
|
|
142
|
+
return _result;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
133
145
|
setResult({
|
|
134
146
|
loading: true
|
|
135
147
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useState","useApolloClient","getQuery","getEncodedPermissionName","getEncodedNodeTypeName","SCHEMA_FIELDS_QUERY","isSubset","merge","useMemoRequest","deepEquals","queue","schemaResult","timeout","observedQueries","scheduleQueue","client","setTimeout","timeoutHandler","clearTimeout","mergedQueue","forEach","request","toInsert","variables","queryOptions","options","originals","mergeable","find","q","JSON","stringify","push","_objectSpread","obs","unsubscribe","mergedRequest","_getQuery","query","generatedVariables","skip","setResult","loading","watchedQuery","watchQuery","errorPolicy","subscribe","_ref","data","others","_objectWithoutProperties","_excluded","result","getResult","refetch","refetchQueries","include","useNodeInfo","_useState","_useState2","_slicedToArray","type","then","_ref2","_useMemoRequest","_useMemoRequest2","currentRequest","queryHasChanged","splice","indexOf","node","jcr","nodeByPath","nodeById","nodes","nodesByPath","nodesById","decodeResult","map","n","nodeOrig","site","getPermissions","name","res","getSitePermissions","getIsNodeTypes","getMimeType","resourceChildren","mimeType","length","value"],"sources":["useNodeInfo.ts"],"sourcesContent":["import {useEffect, useState} from 'react';\nimport {ApolloClient, ApolloError, NetworkStatus, useApolloClient, WatchQueryOptions} from '@apollo/client';\nimport {getQuery, NodeInfoOptions} from './useNodeInfo.gql-queries';\nimport {getEncodedPermissionName} from '../../fragments/getPermissionFragment';\nimport {getEncodedNodeTypeName} from '../../fragments/getIsNodeTypeFragment';\nimport {SCHEMA_FIELDS_QUERY} from '../useSchemaFields/useSchemaFields.gql-queries';\nimport {isSubset, merge} from './useNodeInfo.utils';\nimport {useMemoRequest} from './useMemoRequest';\nimport deepEquals from 'fast-deep-equal';\nimport {DocumentNode, GraphQLError} from 'graphql';\n\nexport type Request = {\n variables:{[key:string]: any},\n options: NodeInfoOptions,\n queryOptions: Partial<WatchQueryOptions>,\n}\n\nexport type QueuedRequest = Request & {\n result?: any,\n setResult: (data: any) => void\n}\n\nexport type MergedRequest = Request & { originals: QueuedRequest[] };\n\nexport type NodeInfoResult = {\n node?: any,\n nodes?: any[],\n errors?: readonly GraphQLError[],\n error?: ApolloError,\n loading?: boolean,\n networkStatus?: NetworkStatus,\n partial?: boolean,\n query?: DocumentNode,\n variables?: {[key:string]: any}\n}\n\nconst queue: QueuedRequest[] = [];\nlet schemaResult: any;\nlet timeout: number;\nlet observedQueries: { unsubscribe: () => void }[] = [];\n\nfunction scheduleQueue(client: ApolloClient<object>) {\n if (!timeout && schemaResult) {\n timeout = setTimeout(() => {\n timeoutHandler(client);\n clearTimeout(timeout);\n timeout = null;\n }, 0);\n }\n}\n\nconst timeoutHandler = (client: ApolloClient<object>) => {\n const mergedQueue: MergedRequest[] = [];\n\n queue.forEach(request => {\n const toInsert = {\n variables: request.variables,\n queryOptions: request.queryOptions,\n options: request.options,\n originals: [request]\n };\n\n const mergeable = mergedQueue.find(q => JSON.stringify(q.queryOptions) === JSON.stringify(toInsert.queryOptions) && (isSubset(q.variables, toInsert.variables) || isSubset(toInsert.variables, q.variables)));\n\n if (mergeable) {\n merge(mergeable, toInsert);\n } else {\n mergedQueue.push({\n variables: toInsert.variables && {...toInsert.variables},\n queryOptions: toInsert.queryOptions && {...toInsert.queryOptions},\n options: toInsert.options && {...toInsert.options},\n originals: toInsert.originals\n });\n }\n });\n\n observedQueries.forEach(obs => obs.unsubscribe());\n observedQueries = [];\n\n mergedQueue.forEach(mergedRequest => {\n const {variables, queryOptions, options, originals} = mergedRequest;\n const {query, generatedVariables, skip} = getQuery(variables, schemaResult, options);\n if (skip) {\n // No query to execute\n originals.forEach(request => {\n request.setResult({\n loading: false\n });\n });\n } else {\n const watchedQuery = client.watchQuery({query, errorPolicy: 'ignore', ...queryOptions, variables: generatedVariables}).subscribe(({data, ...others}) => {\n const result = getResult(data, others, options, query, generatedVariables);\n\n originals.forEach(request => {\n if (!deepEquals(request.result, result)) {\n request.result = result;\n request.setResult({\n ...result,\n refetch() {\n client.refetchQueries({include: [query]});\n }\n });\n }\n });\n });\n observedQueries.push(watchedQuery);\n }\n });\n};\n\nexport const useNodeInfo = (variables: {[key:string]: unknown}, options: NodeInfoOptions, queryOptions: Partial<WatchQueryOptions>) => {\n const [result, setResult] = useState<NodeInfoResult>({\n loading: true\n });\n\n const client = useApolloClient();\n\n if (!schemaResult) {\n client.query({query: SCHEMA_FIELDS_QUERY, variables: {type: 'GqlPublicationInfo'}}).then(({data}: {data: any}) => {\n schemaResult = data;\n scheduleQueue(client);\n });\n }\n\n // Normalize and memoize request\n const [currentRequest, queryHasChanged] = useMemoRequest(variables, queryOptions, options, setResult);\n useEffect(() => {\n queue.push(currentRequest);\n scheduleQueue(client);\n\n return () => {\n queue.splice(queue.indexOf(currentRequest), 1);\n };\n }, [client, currentRequest]);\n\n if (queryHasChanged && !result.loading) {\n setResult({\n loading: true\n });\n return {loading: true};\n }\n\n return result;\n};\n\nconst getResult = (data: any, others: NodeInfoResult, options: NodeInfoOptions, query: DocumentNode, generatedVariables: {[key:string]: unknown}) => {\n const node: object = (data && data.jcr && (data.jcr.nodeByPath || data.jcr.nodeById)) || null;\n const nodes: object[] = (data && data.jcr && (data.jcr.nodesByPath || data.jcr.nodesById)) || null;\n let result = others;\n\n if (node) {\n result = {\n node: decodeResult(node, options),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n if (nodes) {\n result = {\n nodes: nodes.map(n => decodeResult(n, options)),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n return result;\n};\n\nconst decodeResult = (nodeOrig: any, options: NodeInfoOptions) => {\n const node = {...nodeOrig};\n if (node.site) {\n node.site = {...node.site};\n }\n\n if (node && options) {\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const res = node[getEncodedPermissionName(name)];\n delete node[getEncodedPermissionName(name)];\n node[name] = res;\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const res = node.site[getEncodedPermissionName(name)];\n delete node.site[getEncodedPermissionName(name)];\n node.site[name] = res;\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const res = node[getEncodedNodeTypeName(name)];\n delete node[getEncodedNodeTypeName(name)];\n node[name] = res;\n });\n }\n\n if (options.getMimeType) {\n const {nodes} = node.resourceChildren;\n node.mimeType = (nodes.length !== 0 && nodes[0].mimeType.value) || null;\n delete node.resourceChildren;\n }\n }\n\n return node;\n};\n"],"mappings":";;;;;;AAAA,SAAQA,SAAS,EAAEC,QAAQ,QAAO,OAAO;AACzC,SAAkDC,eAAe,QAA0B,gBAAgB;AAC3G,SAAQC,QAAQ;AAChB,SAAQC,wBAAwB;AAChC,SAAQC,sBAAsB;AAC9B,SAAQC,mBAAmB;AAC3B,SAAQC,QAAQ,EAAEC,KAAK;AACvB,SAAQC,cAAc;AACtB,OAAOC,UAAU,MAAM,iBAAiB;AA4BxC,IAAMC,KAAsB,GAAG,EAAE;AACjC,IAAIC,YAAiB;AACrB,IAAIC,OAAe;AACnB,IAAIC,eAA8C,GAAG,EAAE;AAEvD,SAASC,aAAaA,CAACC,MAA4B,EAAE;EACjD,IAAI,CAACH,OAAO,IAAID,YAAY,EAAE;IAC1BC,OAAO,GAAGI,UAAU,CAAC,YAAM;MACvBC,cAAc,CAACF,MAAM,CAAC;MACtBG,YAAY,CAACN,OAAO,CAAC;MACrBA,OAAO,GAAG,IAAI;IAClB,CAAC,EAAE,CAAC,CAAC;EACT;AACJ;AAEA,IAAMK,cAAc,GAAG,SAAjBA,cAAcA,CAAIF,MAA4B,EAAK;EACrD,IAAMI,WAA4B,GAAG,EAAE;EAEvCT,KAAK,CAACU,OAAO,CAAC,UAAAC,OAAO,EAAI;IACrB,IAAMC,QAAQ,GAAG;MACbC,SAAS,EAAEF,OAAO,CAACE,SAAS;MAC5BC,YAAY,EAAEH,OAAO,CAACG,YAAY;MAClCC,OAAO,EAAEJ,OAAO,CAACI,OAAO;MACxBC,SAAS,EAAE,CAACL,OAAO;IACvB,CAAC;IAED,IAAMM,SAAS,GAAGR,WAAW,CAACS,IAAI,CAAC,UAAAC,CAAC;MAAA,OAAIC,IAAI,CAACC,SAAS,CAACF,CAAC,CAACL,YAAY,CAAC,KAAKM,IAAI,CAACC,SAAS,CAACT,QAAQ,CAACE,YAAY,CAAC,KAAKlB,QAAQ,CAACuB,CAAC,CAACN,SAAS,EAAED,QAAQ,CAACC,SAAS,CAAC,IAAIjB,QAAQ,CAACgB,QAAQ,CAACC,SAAS,EAAEM,CAAC,CAACN,SAAS,CAAC,CAAC;IAAA,EAAC;IAE7M,IAAII,SAAS,EAAE;MACXpB,KAAK,CAACoB,SAAS,EAAEL,QAAQ,CAAC;IAC9B,CAAC,MAAM;MACHH,WAAW,CAACa,IAAI,CAAC;QACbT,SAAS,EAAED,QAAQ,CAACC,SAAS,IAAAU,aAAA,KAAQX,QAAQ,CAACC,SAAS,CAAC;QACxDC,YAAY,EAAEF,QAAQ,CAACE,YAAY,IAAAS,aAAA,KAAQX,QAAQ,CAACE,YAAY,CAAC;QACjEC,OAAO,EAAEH,QAAQ,CAACG,OAAO,IAAAQ,aAAA,KAAQX,QAAQ,CAACG,OAAO,CAAC;QAClDC,SAAS,EAAEJ,QAAQ,CAACI;MACxB,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;EAEFb,eAAe,CAACO,OAAO,CAAC,UAAAc,GAAG;IAAA,OAAIA,GAAG,CAACC,WAAW,CAAC,CAAC;EAAA,EAAC;EACjDtB,eAAe,GAAG,EAAE;EAEpBM,WAAW,CAACC,OAAO,CAAC,UAAAgB,aAAa,EAAI;IACjC,IAAOb,SAAS,GAAsCa,aAAa,CAA5Db,SAAS;MAAEC,YAAY,GAAwBY,aAAa,CAAjDZ,YAAY;MAAEC,OAAO,GAAeW,aAAa,CAAnCX,OAAO;MAAEC,SAAS,GAAIU,aAAa,CAA1BV,SAAS;IAClD,IAAAW,SAAA,GAA0CnC,QAAQ,CAACqB,SAAS,EAAEZ,YAAY,EAAEc,OAAO,CAAC;MAA7Ea,KAAK,GAAAD,SAAA,CAALC,KAAK;MAAEC,kBAAkB,GAAAF,SAAA,CAAlBE,kBAAkB;MAAEC,IAAI,GAAAH,SAAA,CAAJG,IAAI;IACtC,IAAIA,IAAI,EAAE;MACN;MACAd,SAAS,CAACN,OAAO,CAAC,UAAAC,OAAO,EAAI;QACzBA,OAAO,CAACoB,SAAS,CAAC;UACdC,OAAO,EAAE;QACb,CAAC,CAAC;MACN,CAAC,CAAC;IACN,CAAC,MAAM;MACH,IAAMC,YAAY,GAAG5B,MAAM,CAAC6B,UAAU,CAAAX,aAAA,CAAAA,aAAA;QAAEK,KAAK,EAALA,KAAK;QAAEO,WAAW,EAAE;MAAQ,GAAKrB,YAAY;QAAED,SAAS,EAAEgB;MAAkB,EAAC,CAAC,CAACO,SAAS,CAAC,UAAAC,IAAA,EAAuB;QAAA,IAArBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;UAAKC,MAAM,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;QAC9I,IAAMC,MAAM,GAAGC,SAAS,CAACL,IAAI,EAAEC,MAAM,EAAExB,OAAO,EAAEa,KAAK,EAAEC,kBAAkB,CAAC;QAE1Eb,SAAS,CAACN,OAAO,CAAC,UAAAC,OAAO,EAAI;UACzB,IAAI,CAACZ,UAAU,CAACY,OAAO,CAAC+B,MAAM,EAAEA,MAAM,CAAC,EAAE;YACrC/B,OAAO,CAAC+B,MAAM,GAAGA,MAAM;YACvB/B,OAAO,CAACoB,SAAS,CAAAR,aAAA,CAAAA,aAAA,KACVmB,MAAM;cACTE,OAAO,WAAAA,QAAA,EAAG;gBACNvC,MAAM,CAACwC,cAAc,CAAC;kBAACC,OAAO,EAAE,CAAClB,KAAK;gBAAC,CAAC,CAAC;cAC7C;YAAC,EACJ,CAAC;UACN;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;MACFzB,eAAe,CAACmB,IAAI,CAACW,YAAY,CAAC;IACtC;EACJ,CAAC,CAAC;AACN,CAAC;AAED,OAAO,IAAMc,WAAW,GAAG,SAAdA,WAAWA,CAAIlC,SAAkC,EAAEE,OAAwB,EAAED,YAAwC,EAAK;EACnI,IAAAkC,SAAA,GAA4B1D,QAAQ,CAAiB;MACjD0C,OAAO,EAAE;IACb,CAAC,CAAC;IAAAiB,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAFKN,MAAM,GAAAO,UAAA;IAAElB,SAAS,GAAAkB,UAAA;EAIxB,IAAM5C,MAAM,GAAGd,eAAe,CAAC,CAAC;EAEhC,IAAI,CAACU,YAAY,EAAE;IACfI,MAAM,CAACuB,KAAK,CAAC;MAACA,KAAK,EAAEjC,mBAAmB;MAAEkB,SAAS,EAAE;QAACsC,IAAI,EAAE;MAAoB;IAAC,CAAC,CAAC,CAACC,IAAI,CAAC,UAAAC,KAAA,EAAyB;MAAA,IAAvBf,IAAI,GAAAe,KAAA,CAAJf,IAAI;MAC3FrC,YAAY,GAAGqC,IAAI;MACnBlC,aAAa,CAACC,MAAM,CAAC;IACzB,CAAC,CAAC;EACN;;EAEA;EACA,IAAAiD,eAAA,GAA0CxD,cAAc,CAACe,SAAS,EAAEC,YAAY,EAAEC,OAAO,EAAEgB,SAAS,CAAC;IAAAwB,gBAAA,GAAAL,cAAA,CAAAI,eAAA;IAA9FE,cAAc,GAAAD,gBAAA;IAAEE,eAAe,GAAAF,gBAAA;EACtClE,SAAS,CAAC,YAAM;IACZW,KAAK,CAACsB,IAAI,CAACkC,cAAc,CAAC;IAC1BpD,aAAa,CAACC,MAAM,CAAC;IAErB,OAAO,YAAM;MACTL,KAAK,CAAC0D,MAAM,CAAC1D,KAAK,CAAC2D,OAAO,CAACH,cAAc,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;EACL,CAAC,EAAE,CAACnD,MAAM,EAAEmD,cAAc,CAAC,CAAC;EAE5B,IAAIC,eAAe,IAAI,CAACf,MAAM,CAACV,OAAO,EAAE;IACpCD,SAAS,CAAC;MACNC,OAAO,EAAE;IACb,CAAC,CAAC;IACF,OAAO;MAACA,OAAO,EAAE;IAAI,CAAC;EAC1B;EAEA,OAAOU,MAAM;AACjB,CAAC;AAED,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAIL,IAAS,EAAEC,MAAsB,EAAExB,OAAwB,EAAEa,KAAmB,EAAEC,kBAA2C,EAAK;EACjJ,IAAM+B,IAAY,GAAItB,IAAI,IAAIA,IAAI,CAACuB,GAAG,KAAKvB,IAAI,CAACuB,GAAG,CAACC,UAAU,IAAIxB,IAAI,CAACuB,GAAG,CAACE,QAAQ,CAAC,IAAK,IAAI;EAC7F,IAAMC,KAAe,GAAI1B,IAAI,IAAIA,IAAI,CAACuB,GAAG,KAAKvB,IAAI,CAACuB,GAAG,CAACI,WAAW,IAAI3B,IAAI,CAACuB,GAAG,CAACK,SAAS,CAAC,IAAK,IAAI;EAClG,IAAIxB,MAAM,GAAGH,MAAM;EAEnB,IAAIqB,IAAI,EAAE;IACNlB,MAAM,GAAAnB,aAAA,CAAAA,aAAA;MACFqC,IAAI,EAAEO,YAAY,CAACP,IAAI,EAAE7C,OAAO;IAAC,GAC9BwB,MAAM;MACTX,KAAK,EAALA,KAAK;MACLf,SAAS,EAAEgB;IAAkB,EAChC;EACL;EAEA,IAAImC,KAAK,EAAE;IACPtB,MAAM,GAAAnB,aAAA,CAAAA,aAAA;MACFyC,KAAK,EAAEA,KAAK,CAACI,GAAG,CAAC,UAAAC,CAAC;QAAA,OAAIF,YAAY,CAACE,CAAC,EAAEtD,OAAO,CAAC;MAAA;IAAC,GAC5CwB,MAAM;MACTX,KAAK,EAALA,KAAK;MACLf,SAAS,EAAEgB;IAAkB,EAChC;EACL;EAEA,OAAOa,MAAM;AACjB,CAAC;AAED,IAAMyB,YAAY,GAAG,SAAfA,YAAYA,CAAIG,QAAa,EAAEvD,OAAwB,EAAK;EAC9D,IAAM6C,IAAI,GAAArC,aAAA,KAAO+C,QAAQ,CAAC;EAC1B,IAAIV,IAAI,CAACW,IAAI,EAAE;IACXX,IAAI,CAACW,IAAI,GAAAhD,aAAA,KAAOqC,IAAI,CAACW,IAAI,CAAC;EAC9B;EAEA,IAAIX,IAAI,IAAI7C,OAAO,EAAE;IACjB,IAAIA,OAAO,CAACyD,cAAc,EAAE;MACxBzD,OAAO,CAACyD,cAAc,CAAC9D,OAAO,CAAC,UAAA+D,IAAI,EAAI;QACnC,IAAMC,GAAG,GAAGd,IAAI,CAACnE,wBAAwB,CAACgF,IAAI,CAAC,CAAC;QAChD,OAAOb,IAAI,CAACnE,wBAAwB,CAACgF,IAAI,CAAC,CAAC;QAC3Cb,IAAI,CAACa,IAAI,CAAC,GAAGC,GAAG;MACpB,CAAC,CAAC;IACN;IAEA,IAAI3D,OAAO,CAAC4D,kBAAkB,EAAE;MAC5B5D,OAAO,CAAC4D,kBAAkB,CAACjE,OAAO,CAAC,UAAA+D,IAAI,EAAI;QACvC,IAAMC,GAAG,GAAGd,IAAI,CAACW,IAAI,CAAC9E,wBAAwB,CAACgF,IAAI,CAAC,CAAC;QACrD,OAAOb,IAAI,CAACW,IAAI,CAAC9E,wBAAwB,CAACgF,IAAI,CAAC,CAAC;QAChDb,IAAI,CAACW,IAAI,CAACE,IAAI,CAAC,GAAGC,GAAG;MACzB,CAAC,CAAC;IACN;IAEA,IAAI3D,OAAO,CAAC6D,cAAc,EAAE;MACxB7D,OAAO,CAAC6D,cAAc,CAAClE,OAAO,CAAC,UAAA+D,IAAI,EAAI;QACnC,IAAMC,GAAG,GAAGd,IAAI,CAAClE,sBAAsB,CAAC+E,IAAI,CAAC,CAAC;QAC9C,OAAOb,IAAI,CAAClE,sBAAsB,CAAC+E,IAAI,CAAC,CAAC;QACzCb,IAAI,CAACa,IAAI,CAAC,GAAGC,GAAG;MACpB,CAAC,CAAC;IACN;IAEA,IAAI3D,OAAO,CAAC8D,WAAW,EAAE;MACrB,IAAOb,KAAK,GAAIJ,IAAI,CAACkB,gBAAgB,CAA9Bd,KAAK;MACZJ,IAAI,CAACmB,QAAQ,GAAIf,KAAK,CAACgB,MAAM,KAAK,CAAC,IAAIhB,KAAK,CAAC,CAAC,CAAC,CAACe,QAAQ,CAACE,KAAK,IAAK,IAAI;MACvE,OAAOrB,IAAI,CAACkB,gBAAgB;IAChC;EACJ;EAEA,OAAOlB,IAAI;AACf,CAAC"}
|
|
1
|
+
{"version":3,"names":["useEffect","useState","useApolloClient","getQuery","getEncodedPermissionName","getEncodedNodeTypeName","SCHEMA_FIELDS_QUERY","isSubset","merge","useMemoRequest","deepEquals","queue","schemaResult","timeout","observedQueries","scheduleQueue","client","setTimeout","timeoutHandler","clearTimeout","mergedQueue","forEach","request","toInsert","variables","queryOptions","options","originals","mergeable","find","q","JSON","stringify","push","_objectSpread","obs","unsubscribe","mergedRequest","_getQuery","query","generatedVariables","skip","setResult","loading","watchedQuery","watchQuery","errorPolicy","subscribe","_ref","data","others","_objectWithoutProperties","_excluded","result","getResult","refetch","refetchQueries","include","useNodeInfo","_useState","_useState2","_slicedToArray","type","then","_ref2","_useMemoRequest","_useMemoRequest2","currentRequest","queryHasChanged","splice","indexOf","fetchPolicy","infoQuery","res","readQuery","node","jcr","nodeByPath","nodeById","nodes","nodesByPath","nodesById","decodeResult","map","n","nodeOrig","site","getPermissions","name","getSitePermissions","getIsNodeTypes","getMimeType","resourceChildren","mimeType","length","value"],"sources":["useNodeInfo.ts"],"sourcesContent":["import {useEffect, useState} from 'react';\nimport {ApolloClient, ApolloError, NetworkStatus, useApolloClient, WatchQueryOptions} from '@apollo/client';\nimport {getQuery, NodeInfoOptions} from './useNodeInfo.gql-queries';\nimport {getEncodedPermissionName} from '../../fragments/getPermissionFragment';\nimport {getEncodedNodeTypeName} from '../../fragments/getIsNodeTypeFragment';\nimport {SCHEMA_FIELDS_QUERY} from '../useSchemaFields/useSchemaFields.gql-queries';\nimport {isSubset, merge} from './useNodeInfo.utils';\nimport {useMemoRequest} from './useMemoRequest';\nimport deepEquals from 'fast-deep-equal';\nimport {DocumentNode, GraphQLError} from 'graphql';\n\nexport type Request = {\n variables:{[key:string]: any},\n options: NodeInfoOptions,\n queryOptions: Partial<WatchQueryOptions>,\n}\n\nexport type QueuedRequest = Request & {\n result?: any,\n setResult: (data: any) => void\n}\n\nexport type MergedRequest = Request & { originals: QueuedRequest[] };\n\nexport type NodeInfoResult = {\n node?: any,\n nodes?: any[],\n errors?: readonly GraphQLError[],\n error?: ApolloError,\n loading?: boolean,\n networkStatus?: NetworkStatus,\n partial?: boolean,\n query?: DocumentNode,\n variables?: {[key:string]: any}\n}\n\nconst queue: QueuedRequest[] = [];\nlet schemaResult: any;\nlet timeout: number;\nlet observedQueries: { unsubscribe: () => void }[] = [];\n\nfunction scheduleQueue(client: ApolloClient<object>) {\n if (!timeout && schemaResult) {\n timeout = setTimeout(() => {\n timeoutHandler(client);\n clearTimeout(timeout);\n timeout = null;\n }, 0);\n }\n}\n\nconst timeoutHandler = (client: ApolloClient<object>) => {\n const mergedQueue: MergedRequest[] = [];\n\n queue.forEach(request => {\n const toInsert = {\n variables: request.variables,\n queryOptions: request.queryOptions,\n options: request.options,\n originals: [request]\n };\n\n const mergeable = mergedQueue.find(q => JSON.stringify(q.queryOptions) === JSON.stringify(toInsert.queryOptions) && (isSubset(q.variables, toInsert.variables) || isSubset(toInsert.variables, q.variables)));\n\n if (mergeable) {\n merge(mergeable, toInsert);\n } else {\n mergedQueue.push({\n variables: toInsert.variables && {...toInsert.variables},\n queryOptions: toInsert.queryOptions && {...toInsert.queryOptions},\n options: toInsert.options && {...toInsert.options},\n originals: toInsert.originals\n });\n }\n });\n\n observedQueries.forEach(obs => obs.unsubscribe());\n observedQueries = [];\n\n mergedQueue.forEach(mergedRequest => {\n const {variables, queryOptions, options, originals} = mergedRequest;\n const {query, generatedVariables, skip} = getQuery(variables, schemaResult, options);\n if (skip) {\n // No query to execute\n originals.forEach(request => {\n request.setResult({\n loading: false\n });\n });\n } else {\n const watchedQuery = client.watchQuery({query, errorPolicy: 'ignore', ...queryOptions, variables: generatedVariables}).subscribe(({data, ...others}) => {\n const result = getResult(data, others, options, query, generatedVariables);\n\n originals.forEach(request => {\n if (!deepEquals(request.result, result)) {\n request.result = result;\n request.setResult({\n ...result,\n refetch() {\n client.refetchQueries({include: [query]});\n }\n });\n }\n });\n });\n observedQueries.push(watchedQuery);\n }\n });\n};\n\nexport const useNodeInfo = (variables: {[key:string]: unknown}, options?: NodeInfoOptions, queryOptions?: Partial<WatchQueryOptions>) => {\n const [result, setResult] = useState<NodeInfoResult>({\n loading: true\n });\n\n const client = useApolloClient();\n\n if (!schemaResult) {\n client.query({query: SCHEMA_FIELDS_QUERY, variables: {type: 'GqlPublicationInfo'}}).then(({data}: {data: any}) => {\n schemaResult = data;\n scheduleQueue(client);\n });\n }\n\n // Normalize and memoize request\n const [currentRequest, queryHasChanged] = useMemoRequest(variables, queryOptions, options, setResult);\n useEffect(() => {\n queue.push(currentRequest);\n scheduleQueue(client);\n\n return () => {\n queue.splice(queue.indexOf(currentRequest), 1);\n };\n }, [client, currentRequest]);\n\n if (queryHasChanged && !result.loading) {\n if (queryOptions?.fetchPolicy !== 'no-cache' && queryOptions?.fetchPolicy !== 'network-only') {\n const infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);\n const res = client.readQuery({query: infoQuery.query, variables: infoQuery.generatedVariables});\n if (res) {\n const result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);\n setResult(result);\n return result;\n }\n }\n\n setResult({\n loading: true\n });\n return {loading: true};\n }\n\n return result;\n};\n\nconst getResult = (data: any, others: NodeInfoResult, options: NodeInfoOptions, query: DocumentNode, generatedVariables: {[key:string]: unknown}) => {\n const node: object = (data && data.jcr && (data.jcr.nodeByPath || data.jcr.nodeById)) || null;\n const nodes: object[] = (data && data.jcr && (data.jcr.nodesByPath || data.jcr.nodesById)) || null;\n let result = others;\n\n if (node) {\n result = {\n node: decodeResult(node, options),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n if (nodes) {\n result = {\n nodes: nodes.map(n => decodeResult(n, options)),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n return result;\n};\n\nconst decodeResult = (nodeOrig: any, options: NodeInfoOptions) => {\n const node = {...nodeOrig};\n if (node.site) {\n node.site = {...node.site};\n }\n\n if (node && options) {\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const res = node[getEncodedPermissionName(name)];\n delete node[getEncodedPermissionName(name)];\n node[name] = res;\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const res = node.site[getEncodedPermissionName(name)];\n delete node.site[getEncodedPermissionName(name)];\n node.site[name] = res;\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const res = node[getEncodedNodeTypeName(name)];\n delete node[getEncodedNodeTypeName(name)];\n node[name] = res;\n });\n }\n\n if (options.getMimeType) {\n const {nodes} = node.resourceChildren;\n node.mimeType = (nodes.length !== 0 && nodes[0].mimeType.value) || null;\n delete node.resourceChildren;\n }\n }\n\n return node;\n};\n"],"mappings":"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"}
|
|
@@ -137,6 +137,18 @@ var useNodeInfo = function useNodeInfo(variables, options, queryOptions) {
|
|
|
137
137
|
};
|
|
138
138
|
}, [client, currentRequest]);
|
|
139
139
|
if (queryHasChanged && !result.loading) {
|
|
140
|
+
if ((queryOptions === null || queryOptions === void 0 ? void 0 : queryOptions.fetchPolicy) !== 'no-cache' && (queryOptions === null || queryOptions === void 0 ? void 0 : queryOptions.fetchPolicy) !== 'network-only') {
|
|
141
|
+
var infoQuery = (0, _useNodeInfo.getQuery)(currentRequest.variables, schemaResult, currentRequest.options);
|
|
142
|
+
var res = client.readQuery({
|
|
143
|
+
query: infoQuery.query,
|
|
144
|
+
variables: infoQuery.generatedVariables
|
|
145
|
+
});
|
|
146
|
+
if (res) {
|
|
147
|
+
var _result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);
|
|
148
|
+
setResult(_result);
|
|
149
|
+
return _result;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
140
152
|
setResult({
|
|
141
153
|
loading: true
|
|
142
154
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_client","_useNodeInfo","_getPermissionFragment","_getIsNodeTypeFragment","_useSchemaFields","_useNodeInfo2","_useMemoRequest3","_fastDeepEqual","_interopRequireDefault","_excluded","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","queue","schemaResult","timeout","observedQueries","scheduleQueue","client","setTimeout","timeoutHandler","clearTimeout","mergedQueue","request","toInsert","variables","queryOptions","options","originals","mergeable","find","q","JSON","stringify","isSubset","merge","obs","unsubscribe","mergedRequest","_getQuery","getQuery","query","generatedVariables","skip","setResult","loading","watchedQuery","watchQuery","errorPolicy","subscribe","_ref","data","others","_objectWithoutProperties2","result","getResult","deepEquals","refetch","refetchQueries","include","useNodeInfo","_useState","useState","_useState2","_slicedToArray2","useApolloClient","SCHEMA_FIELDS_QUERY","type","then","_ref2","_useMemoRequest","useMemoRequest","_useMemoRequest2","currentRequest","queryHasChanged","useEffect","splice","indexOf","exports","node","jcr","nodeByPath","nodeById","nodes","nodesByPath","nodesById","decodeResult","map","n","nodeOrig","site","getPermissions","name","res","getEncodedPermissionName","getSitePermissions","getIsNodeTypes","getEncodedNodeTypeName","getMimeType","resourceChildren","mimeType","value"],"sources":["useNodeInfo.ts"],"sourcesContent":["import {useEffect, useState} from 'react';\nimport {ApolloClient, ApolloError, NetworkStatus, useApolloClient, WatchQueryOptions} from '@apollo/client';\nimport {getQuery, NodeInfoOptions} from './useNodeInfo.gql-queries';\nimport {getEncodedPermissionName} from '../../fragments/getPermissionFragment';\nimport {getEncodedNodeTypeName} from '../../fragments/getIsNodeTypeFragment';\nimport {SCHEMA_FIELDS_QUERY} from '../useSchemaFields/useSchemaFields.gql-queries';\nimport {isSubset, merge} from './useNodeInfo.utils';\nimport {useMemoRequest} from './useMemoRequest';\nimport deepEquals from 'fast-deep-equal';\nimport {DocumentNode, GraphQLError} from 'graphql';\n\nexport type Request = {\n variables:{[key:string]: any},\n options: NodeInfoOptions,\n queryOptions: Partial<WatchQueryOptions>,\n}\n\nexport type QueuedRequest = Request & {\n result?: any,\n setResult: (data: any) => void\n}\n\nexport type MergedRequest = Request & { originals: QueuedRequest[] };\n\nexport type NodeInfoResult = {\n node?: any,\n nodes?: any[],\n errors?: readonly GraphQLError[],\n error?: ApolloError,\n loading?: boolean,\n networkStatus?: NetworkStatus,\n partial?: boolean,\n query?: DocumentNode,\n variables?: {[key:string]: any}\n}\n\nconst queue: QueuedRequest[] = [];\nlet schemaResult: any;\nlet timeout: number;\nlet observedQueries: { unsubscribe: () => void }[] = [];\n\nfunction scheduleQueue(client: ApolloClient<object>) {\n if (!timeout && schemaResult) {\n timeout = setTimeout(() => {\n timeoutHandler(client);\n clearTimeout(timeout);\n timeout = null;\n }, 0);\n }\n}\n\nconst timeoutHandler = (client: ApolloClient<object>) => {\n const mergedQueue: MergedRequest[] = [];\n\n queue.forEach(request => {\n const toInsert = {\n variables: request.variables,\n queryOptions: request.queryOptions,\n options: request.options,\n originals: [request]\n };\n\n const mergeable = mergedQueue.find(q => JSON.stringify(q.queryOptions) === JSON.stringify(toInsert.queryOptions) && (isSubset(q.variables, toInsert.variables) || isSubset(toInsert.variables, q.variables)));\n\n if (mergeable) {\n merge(mergeable, toInsert);\n } else {\n mergedQueue.push({\n variables: toInsert.variables && {...toInsert.variables},\n queryOptions: toInsert.queryOptions && {...toInsert.queryOptions},\n options: toInsert.options && {...toInsert.options},\n originals: toInsert.originals\n });\n }\n });\n\n observedQueries.forEach(obs => obs.unsubscribe());\n observedQueries = [];\n\n mergedQueue.forEach(mergedRequest => {\n const {variables, queryOptions, options, originals} = mergedRequest;\n const {query, generatedVariables, skip} = getQuery(variables, schemaResult, options);\n if (skip) {\n // No query to execute\n originals.forEach(request => {\n request.setResult({\n loading: false\n });\n });\n } else {\n const watchedQuery = client.watchQuery({query, errorPolicy: 'ignore', ...queryOptions, variables: generatedVariables}).subscribe(({data, ...others}) => {\n const result = getResult(data, others, options, query, generatedVariables);\n\n originals.forEach(request => {\n if (!deepEquals(request.result, result)) {\n request.result = result;\n request.setResult({\n ...result,\n refetch() {\n client.refetchQueries({include: [query]});\n }\n });\n }\n });\n });\n observedQueries.push(watchedQuery);\n }\n });\n};\n\nexport const useNodeInfo = (variables: {[key:string]: unknown}, options: NodeInfoOptions, queryOptions: Partial<WatchQueryOptions>) => {\n const [result, setResult] = useState<NodeInfoResult>({\n loading: true\n });\n\n const client = useApolloClient();\n\n if (!schemaResult) {\n client.query({query: SCHEMA_FIELDS_QUERY, variables: {type: 'GqlPublicationInfo'}}).then(({data}: {data: any}) => {\n schemaResult = data;\n scheduleQueue(client);\n });\n }\n\n // Normalize and memoize request\n const [currentRequest, queryHasChanged] = useMemoRequest(variables, queryOptions, options, setResult);\n useEffect(() => {\n queue.push(currentRequest);\n scheduleQueue(client);\n\n return () => {\n queue.splice(queue.indexOf(currentRequest), 1);\n };\n }, [client, currentRequest]);\n\n if (queryHasChanged && !result.loading) {\n setResult({\n loading: true\n });\n return {loading: true};\n }\n\n return result;\n};\n\nconst getResult = (data: any, others: NodeInfoResult, options: NodeInfoOptions, query: DocumentNode, generatedVariables: {[key:string]: unknown}) => {\n const node: object = (data && data.jcr && (data.jcr.nodeByPath || data.jcr.nodeById)) || null;\n const nodes: object[] = (data && data.jcr && (data.jcr.nodesByPath || data.jcr.nodesById)) || null;\n let result = others;\n\n if (node) {\n result = {\n node: decodeResult(node, options),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n if (nodes) {\n result = {\n nodes: nodes.map(n => decodeResult(n, options)),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n return result;\n};\n\nconst decodeResult = (nodeOrig: any, options: NodeInfoOptions) => {\n const node = {...nodeOrig};\n if (node.site) {\n node.site = {...node.site};\n }\n\n if (node && options) {\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const res = node[getEncodedPermissionName(name)];\n delete node[getEncodedPermissionName(name)];\n node[name] = res;\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const res = node.site[getEncodedPermissionName(name)];\n delete node.site[getEncodedPermissionName(name)];\n node.site[name] = res;\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const res = node[getEncodedNodeTypeName(name)];\n delete node[getEncodedNodeTypeName(name)];\n node[name] = res;\n });\n }\n\n if (options.getMimeType) {\n const {nodes} = node.resourceChildren;\n node.mimeType = (nodes.length !== 0 && nodes[0].mimeType.value) || null;\n delete node.resourceChildren;\n }\n }\n\n return node;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","require","_client","_useNodeInfo","_getPermissionFragment","_getIsNodeTypeFragment","_useSchemaFields","_useNodeInfo2","_useMemoRequest3","_fastDeepEqual","_interopRequireDefault","_excluded","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","queue","schemaResult","timeout","observedQueries","scheduleQueue","client","setTimeout","timeoutHandler","clearTimeout","mergedQueue","request","toInsert","variables","queryOptions","options","originals","mergeable","find","q","JSON","stringify","isSubset","merge","obs","unsubscribe","mergedRequest","_getQuery","getQuery","query","generatedVariables","skip","setResult","loading","watchedQuery","watchQuery","errorPolicy","subscribe","_ref","data","others","_objectWithoutProperties2","result","getResult","deepEquals","refetch","refetchQueries","include","useNodeInfo","_useState","useState","_useState2","_slicedToArray2","useApolloClient","SCHEMA_FIELDS_QUERY","type","then","_ref2","_useMemoRequest","useMemoRequest","_useMemoRequest2","currentRequest","queryHasChanged","useEffect","splice","indexOf","fetchPolicy","infoQuery","res","readQuery","exports","node","jcr","nodeByPath","nodeById","nodes","nodesByPath","nodesById","decodeResult","map","n","nodeOrig","site","getPermissions","name","getEncodedPermissionName","getSitePermissions","getIsNodeTypes","getEncodedNodeTypeName","getMimeType","resourceChildren","mimeType","value"],"sources":["useNodeInfo.ts"],"sourcesContent":["import {useEffect, useState} from 'react';\nimport {ApolloClient, ApolloError, NetworkStatus, useApolloClient, WatchQueryOptions} from '@apollo/client';\nimport {getQuery, NodeInfoOptions} from './useNodeInfo.gql-queries';\nimport {getEncodedPermissionName} from '../../fragments/getPermissionFragment';\nimport {getEncodedNodeTypeName} from '../../fragments/getIsNodeTypeFragment';\nimport {SCHEMA_FIELDS_QUERY} from '../useSchemaFields/useSchemaFields.gql-queries';\nimport {isSubset, merge} from './useNodeInfo.utils';\nimport {useMemoRequest} from './useMemoRequest';\nimport deepEquals from 'fast-deep-equal';\nimport {DocumentNode, GraphQLError} from 'graphql';\n\nexport type Request = {\n variables:{[key:string]: any},\n options: NodeInfoOptions,\n queryOptions: Partial<WatchQueryOptions>,\n}\n\nexport type QueuedRequest = Request & {\n result?: any,\n setResult: (data: any) => void\n}\n\nexport type MergedRequest = Request & { originals: QueuedRequest[] };\n\nexport type NodeInfoResult = {\n node?: any,\n nodes?: any[],\n errors?: readonly GraphQLError[],\n error?: ApolloError,\n loading?: boolean,\n networkStatus?: NetworkStatus,\n partial?: boolean,\n query?: DocumentNode,\n variables?: {[key:string]: any}\n}\n\nconst queue: QueuedRequest[] = [];\nlet schemaResult: any;\nlet timeout: number;\nlet observedQueries: { unsubscribe: () => void }[] = [];\n\nfunction scheduleQueue(client: ApolloClient<object>) {\n if (!timeout && schemaResult) {\n timeout = setTimeout(() => {\n timeoutHandler(client);\n clearTimeout(timeout);\n timeout = null;\n }, 0);\n }\n}\n\nconst timeoutHandler = (client: ApolloClient<object>) => {\n const mergedQueue: MergedRequest[] = [];\n\n queue.forEach(request => {\n const toInsert = {\n variables: request.variables,\n queryOptions: request.queryOptions,\n options: request.options,\n originals: [request]\n };\n\n const mergeable = mergedQueue.find(q => JSON.stringify(q.queryOptions) === JSON.stringify(toInsert.queryOptions) && (isSubset(q.variables, toInsert.variables) || isSubset(toInsert.variables, q.variables)));\n\n if (mergeable) {\n merge(mergeable, toInsert);\n } else {\n mergedQueue.push({\n variables: toInsert.variables && {...toInsert.variables},\n queryOptions: toInsert.queryOptions && {...toInsert.queryOptions},\n options: toInsert.options && {...toInsert.options},\n originals: toInsert.originals\n });\n }\n });\n\n observedQueries.forEach(obs => obs.unsubscribe());\n observedQueries = [];\n\n mergedQueue.forEach(mergedRequest => {\n const {variables, queryOptions, options, originals} = mergedRequest;\n const {query, generatedVariables, skip} = getQuery(variables, schemaResult, options);\n if (skip) {\n // No query to execute\n originals.forEach(request => {\n request.setResult({\n loading: false\n });\n });\n } else {\n const watchedQuery = client.watchQuery({query, errorPolicy: 'ignore', ...queryOptions, variables: generatedVariables}).subscribe(({data, ...others}) => {\n const result = getResult(data, others, options, query, generatedVariables);\n\n originals.forEach(request => {\n if (!deepEquals(request.result, result)) {\n request.result = result;\n request.setResult({\n ...result,\n refetch() {\n client.refetchQueries({include: [query]});\n }\n });\n }\n });\n });\n observedQueries.push(watchedQuery);\n }\n });\n};\n\nexport const useNodeInfo = (variables: {[key:string]: unknown}, options?: NodeInfoOptions, queryOptions?: Partial<WatchQueryOptions>) => {\n const [result, setResult] = useState<NodeInfoResult>({\n loading: true\n });\n\n const client = useApolloClient();\n\n if (!schemaResult) {\n client.query({query: SCHEMA_FIELDS_QUERY, variables: {type: 'GqlPublicationInfo'}}).then(({data}: {data: any}) => {\n schemaResult = data;\n scheduleQueue(client);\n });\n }\n\n // Normalize and memoize request\n const [currentRequest, queryHasChanged] = useMemoRequest(variables, queryOptions, options, setResult);\n useEffect(() => {\n queue.push(currentRequest);\n scheduleQueue(client);\n\n return () => {\n queue.splice(queue.indexOf(currentRequest), 1);\n };\n }, [client, currentRequest]);\n\n if (queryHasChanged && !result.loading) {\n if (queryOptions?.fetchPolicy !== 'no-cache' && queryOptions?.fetchPolicy !== 'network-only') {\n const infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);\n const res = client.readQuery({query: infoQuery.query, variables: infoQuery.generatedVariables});\n if (res) {\n const result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);\n setResult(result);\n return result;\n }\n }\n\n setResult({\n loading: true\n });\n return {loading: true};\n }\n\n return result;\n};\n\nconst getResult = (data: any, others: NodeInfoResult, options: NodeInfoOptions, query: DocumentNode, generatedVariables: {[key:string]: unknown}) => {\n const node: object = (data && data.jcr && (data.jcr.nodeByPath || data.jcr.nodeById)) || null;\n const nodes: object[] = (data && data.jcr && (data.jcr.nodesByPath || data.jcr.nodesById)) || null;\n let result = others;\n\n if (node) {\n result = {\n node: decodeResult(node, options),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n if (nodes) {\n result = {\n nodes: nodes.map(n => decodeResult(n, options)),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n return result;\n};\n\nconst decodeResult = (nodeOrig: any, options: NodeInfoOptions) => {\n const node = {...nodeOrig};\n if (node.site) {\n node.site = {...node.site};\n }\n\n if (node && options) {\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const res = node[getEncodedPermissionName(name)];\n delete node[getEncodedPermissionName(name)];\n node[name] = res;\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const res = node.site[getEncodedPermissionName(name)];\n delete node.site[getEncodedPermissionName(name)];\n node.site[name] = res;\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const res = node[getEncodedNodeTypeName(name)];\n delete node[getEncodedNodeTypeName(name)];\n node[name] = res;\n });\n }\n\n if (options.getMimeType) {\n const {nodes} = node.resourceChildren;\n node.mimeType = (nodes.length !== 0 && nodes[0].mimeType.value) || null;\n delete node.resourceChildren;\n }\n }\n\n return node;\n};\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,gBAAA,GAAAP,OAAA;AACA,IAAAQ,cAAA,GAAAC,sBAAA,CAAAT,OAAA;AAAyC,IAAAU,SAAA;AAAA,SAAAC,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,aAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AA4BzC,IAAMW,KAAsB,GAAG,EAAE;AACjC,IAAIC,YAAiB;AACrB,IAAIC,OAAe;AACnB,IAAIC,eAA8C,GAAG,EAAE;AAEvD,SAASC,aAAaA,CAACC,MAA4B,EAAE;EACjD,IAAI,CAACH,OAAO,IAAID,YAAY,EAAE;IAC1BC,OAAO,GAAGI,UAAU,CAAC,YAAM;MACvBC,cAAc,CAACF,MAAM,CAAC;MACtBG,YAAY,CAACN,OAAO,CAAC;MACrBA,OAAO,GAAG,IAAI;IAClB,CAAC,EAAE,CAAC,CAAC;EACT;AACJ;AAEA,IAAMK,cAAc,GAAG,SAAjBA,cAAcA,CAAIF,MAA4B,EAAK;EACrD,IAAMI,WAA4B,GAAG,EAAE;EAEvCT,KAAK,CAACN,OAAO,CAAC,UAAAgB,OAAO,EAAI;IACrB,IAAMC,QAAQ,GAAG;MACbC,SAAS,EAAEF,OAAO,CAACE,SAAS;MAC5BC,YAAY,EAAEH,OAAO,CAACG,YAAY;MAClCC,OAAO,EAAEJ,OAAO,CAACI,OAAO;MACxBC,SAAS,EAAE,CAACL,OAAO;IACvB,CAAC;IAED,IAAMM,SAAS,GAAGP,WAAW,CAACQ,IAAI,CAAC,UAAAC,CAAC;MAAA,OAAIC,IAAI,CAACC,SAAS,CAACF,CAAC,CAACL,YAAY,CAAC,KAAKM,IAAI,CAACC,SAAS,CAACT,QAAQ,CAACE,YAAY,CAAC,KAAK,IAAAQ,sBAAQ,EAACH,CAAC,CAACN,SAAS,EAAED,QAAQ,CAACC,SAAS,CAAC,IAAI,IAAAS,sBAAQ,EAACV,QAAQ,CAACC,SAAS,EAAEM,CAAC,CAACN,SAAS,CAAC,CAAC;IAAA,EAAC;IAE7M,IAAII,SAAS,EAAE;MACX,IAAAM,mBAAK,EAACN,SAAS,EAAEL,QAAQ,CAAC;IAC9B,CAAC,MAAM;MACHF,WAAW,CAACvB,IAAI,CAAC;QACb0B,SAAS,EAAED,QAAQ,CAACC,SAAS,IAAAxB,aAAA,KAAQuB,QAAQ,CAACC,SAAS,CAAC;QACxDC,YAAY,EAAEF,QAAQ,CAACE,YAAY,IAAAzB,aAAA,KAAQuB,QAAQ,CAACE,YAAY,CAAC;QACjEC,OAAO,EAAEH,QAAQ,CAACG,OAAO,IAAA1B,aAAA,KAAQuB,QAAQ,CAACG,OAAO,CAAC;QAClDC,SAAS,EAAEJ,QAAQ,CAACI;MACxB,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;EAEFZ,eAAe,CAACT,OAAO,CAAC,UAAA6B,GAAG;IAAA,OAAIA,GAAG,CAACC,WAAW,CAAC,CAAC;EAAA,EAAC;EACjDrB,eAAe,GAAG,EAAE;EAEpBM,WAAW,CAACf,OAAO,CAAC,UAAA+B,aAAa,EAAI;IACjC,IAAOb,SAAS,GAAsCa,aAAa,CAA5Db,SAAS;MAAEC,YAAY,GAAwBY,aAAa,CAAjDZ,YAAY;MAAEC,OAAO,GAAeW,aAAa,CAAnCX,OAAO;MAAEC,SAAS,GAAIU,aAAa,CAA1BV,SAAS;IAClD,IAAAW,SAAA,GAA0C,IAAAC,qBAAQ,EAACf,SAAS,EAAEX,YAAY,EAAEa,OAAO,CAAC;MAA7Ec,KAAK,GAAAF,SAAA,CAALE,KAAK;MAAEC,kBAAkB,GAAAH,SAAA,CAAlBG,kBAAkB;MAAEC,IAAI,GAAAJ,SAAA,CAAJI,IAAI;IACtC,IAAIA,IAAI,EAAE;MACN;MACAf,SAAS,CAACrB,OAAO,CAAC,UAAAgB,OAAO,EAAI;QACzBA,OAAO,CAACqB,SAAS,CAAC;UACdC,OAAO,EAAE;QACb,CAAC,CAAC;MACN,CAAC,CAAC;IACN,CAAC,MAAM;MACH,IAAMC,YAAY,GAAG5B,MAAM,CAAC6B,UAAU,CAAA9C,aAAA,CAAAA,aAAA;QAAEwC,KAAK,EAALA,KAAK;QAAEO,WAAW,EAAE;MAAQ,GAAKtB,YAAY;QAAED,SAAS,EAAEiB;MAAkB,EAAC,CAAC,CAACO,SAAS,CAAC,UAAAC,IAAA,EAAuB;QAAA,IAArBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;UAAKC,MAAM,OAAAC,yBAAA,aAAAH,IAAA,EAAA/D,SAAA;QAC9I,IAAMmE,MAAM,GAAGC,SAAS,CAACJ,IAAI,EAAEC,MAAM,EAAEzB,OAAO,EAAEc,KAAK,EAAEC,kBAAkB,CAAC;QAE1Ed,SAAS,CAACrB,OAAO,CAAC,UAAAgB,OAAO,EAAI;UACzB,IAAI,CAAC,IAAAiC,yBAAU,EAACjC,OAAO,CAAC+B,MAAM,EAAEA,MAAM,CAAC,EAAE;YACrC/B,OAAO,CAAC+B,MAAM,GAAGA,MAAM;YACvB/B,OAAO,CAACqB,SAAS,CAAA3C,aAAA,CAAAA,aAAA,KACVqD,MAAM;cACTG,OAAO,WAAAA,QAAA,EAAG;gBACNvC,MAAM,CAACwC,cAAc,CAAC;kBAACC,OAAO,EAAE,CAAClB,KAAK;gBAAC,CAAC,CAAC;cAC7C;YAAC,EACJ,CAAC;UACN;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;MACFzB,eAAe,CAACjB,IAAI,CAAC+C,YAAY,CAAC;IACtC;EACJ,CAAC,CAAC;AACN,CAAC;AAEM,IAAMc,WAAW,GAAG,SAAdA,WAAWA,CAAInC,SAAkC,EAAEE,OAAyB,EAAED,YAAyC,EAAK;EACrI,IAAAmC,SAAA,GAA4B,IAAAC,eAAQ,EAAiB;MACjDjB,OAAO,EAAE;IACb,CAAC,CAAC;IAAAkB,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAFKP,MAAM,GAAAS,UAAA;IAAEnB,SAAS,GAAAmB,UAAA;EAIxB,IAAM7C,MAAM,GAAG,IAAA+C,uBAAe,EAAC,CAAC;EAEhC,IAAI,CAACnD,YAAY,EAAE;IACfI,MAAM,CAACuB,KAAK,CAAC;MAACA,KAAK,EAAEyB,oCAAmB;MAAEzC,SAAS,EAAE;QAAC0C,IAAI,EAAE;MAAoB;IAAC,CAAC,CAAC,CAACC,IAAI,CAAC,UAAAC,KAAA,EAAyB;MAAA,IAAvBlB,IAAI,GAAAkB,KAAA,CAAJlB,IAAI;MAC3FrC,YAAY,GAAGqC,IAAI;MACnBlC,aAAa,CAACC,MAAM,CAAC;IACzB,CAAC,CAAC;EACN;;EAEA;EACA,IAAAoD,eAAA,GAA0C,IAAAC,+BAAc,EAAC9C,SAAS,EAAEC,YAAY,EAAEC,OAAO,EAAEiB,SAAS,CAAC;IAAA4B,gBAAA,OAAAR,eAAA,aAAAM,eAAA;IAA9FG,cAAc,GAAAD,gBAAA;IAAEE,eAAe,GAAAF,gBAAA;EACtC,IAAAG,gBAAS,EAAC,YAAM;IACZ9D,KAAK,CAACd,IAAI,CAAC0E,cAAc,CAAC;IAC1BxD,aAAa,CAACC,MAAM,CAAC;IAErB,OAAO,YAAM;MACTL,KAAK,CAAC+D,MAAM,CAAC/D,KAAK,CAACgE,OAAO,CAACJ,cAAc,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;EACL,CAAC,EAAE,CAACvD,MAAM,EAAEuD,cAAc,CAAC,CAAC;EAE5B,IAAIC,eAAe,IAAI,CAACpB,MAAM,CAACT,OAAO,EAAE;IACpC,IAAI,CAAAnB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEoD,WAAW,MAAK,UAAU,IAAI,CAAApD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEoD,WAAW,MAAK,cAAc,EAAE;MAC1F,IAAMC,SAAS,GAAG,IAAAvC,qBAAQ,EAACiC,cAAc,CAAChD,SAAS,EAAEX,YAAY,EAAE2D,cAAc,CAAC9C,OAAO,CAAC;MAC1F,IAAMqD,GAAG,GAAG9D,MAAM,CAAC+D,SAAS,CAAC;QAACxC,KAAK,EAAEsC,SAAS,CAACtC,KAAK;QAAEhB,SAAS,EAAEsD,SAAS,CAACrC;MAAkB,CAAC,CAAC;MAC/F,IAAIsC,GAAG,EAAE;QACL,IAAM1B,OAAM,GAAGC,SAAS,CAACyB,GAAG,EAAE,CAAC,CAAC,EAAEP,cAAc,CAAC9C,OAAO,EAAEoD,SAAS,CAACtC,KAAK,EAAEsC,SAAS,CAACrC,kBAAkB,CAAC;QACxGE,SAAS,CAACU,OAAM,CAAC;QACjB,OAAOA,OAAM;MACjB;IACJ;IAEAV,SAAS,CAAC;MACNC,OAAO,EAAE;IACb,CAAC,CAAC;IACF,OAAO;MAACA,OAAO,EAAE;IAAI,CAAC;EAC1B;EAEA,OAAOS,MAAM;AACjB,CAAC;AAAC4B,OAAA,CAAAtB,WAAA,GAAAA,WAAA;AAEF,IAAML,SAAS,GAAG,SAAZA,SAASA,CAAIJ,IAAS,EAAEC,MAAsB,EAAEzB,OAAwB,EAAEc,KAAmB,EAAEC,kBAA2C,EAAK;EACjJ,IAAMyC,IAAY,GAAIhC,IAAI,IAAIA,IAAI,CAACiC,GAAG,KAAKjC,IAAI,CAACiC,GAAG,CAACC,UAAU,IAAIlC,IAAI,CAACiC,GAAG,CAACE,QAAQ,CAAC,IAAK,IAAI;EAC7F,IAAMC,KAAe,GAAIpC,IAAI,IAAIA,IAAI,CAACiC,GAAG,KAAKjC,IAAI,CAACiC,GAAG,CAACI,WAAW,IAAIrC,IAAI,CAACiC,GAAG,CAACK,SAAS,CAAC,IAAK,IAAI;EAClG,IAAInC,MAAM,GAAGF,MAAM;EAEnB,IAAI+B,IAAI,EAAE;IACN7B,MAAM,GAAArD,aAAA,CAAAA,aAAA;MACFkF,IAAI,EAAEO,YAAY,CAACP,IAAI,EAAExD,OAAO;IAAC,GAC9ByB,MAAM;MACTX,KAAK,EAALA,KAAK;MACLhB,SAAS,EAAEiB;IAAkB,EAChC;EACL;EAEA,IAAI6C,KAAK,EAAE;IACPjC,MAAM,GAAArD,aAAA,CAAAA,aAAA;MACFsF,KAAK,EAAEA,KAAK,CAACI,GAAG,CAAC,UAAAC,CAAC;QAAA,OAAIF,YAAY,CAACE,CAAC,EAAEjE,OAAO,CAAC;MAAA;IAAC,GAC5CyB,MAAM;MACTX,KAAK,EAALA,KAAK;MACLhB,SAAS,EAAEiB;IAAkB,EAChC;EACL;EAEA,OAAOY,MAAM;AACjB,CAAC;AAED,IAAMoC,YAAY,GAAG,SAAfA,YAAYA,CAAIG,QAAa,EAAElE,OAAwB,EAAK;EAC9D,IAAMwD,IAAI,GAAAlF,aAAA,KAAO4F,QAAQ,CAAC;EAC1B,IAAIV,IAAI,CAACW,IAAI,EAAE;IACXX,IAAI,CAACW,IAAI,GAAA7F,aAAA,KAAOkF,IAAI,CAACW,IAAI,CAAC;EAC9B;EAEA,IAAIX,IAAI,IAAIxD,OAAO,EAAE;IACjB,IAAIA,OAAO,CAACoE,cAAc,EAAE;MACxBpE,OAAO,CAACoE,cAAc,CAACxF,OAAO,CAAC,UAAAyF,IAAI,EAAI;QACnC,IAAMhB,GAAG,GAAGG,IAAI,CAAC,IAAAc,+CAAwB,EAACD,IAAI,CAAC,CAAC;QAChD,OAAOb,IAAI,CAAC,IAAAc,+CAAwB,EAACD,IAAI,CAAC,CAAC;QAC3Cb,IAAI,CAACa,IAAI,CAAC,GAAGhB,GAAG;MACpB,CAAC,CAAC;IACN;IAEA,IAAIrD,OAAO,CAACuE,kBAAkB,EAAE;MAC5BvE,OAAO,CAACuE,kBAAkB,CAAC3F,OAAO,CAAC,UAAAyF,IAAI,EAAI;QACvC,IAAMhB,GAAG,GAAGG,IAAI,CAACW,IAAI,CAAC,IAAAG,+CAAwB,EAACD,IAAI,CAAC,CAAC;QACrD,OAAOb,IAAI,CAACW,IAAI,CAAC,IAAAG,+CAAwB,EAACD,IAAI,CAAC,CAAC;QAChDb,IAAI,CAACW,IAAI,CAACE,IAAI,CAAC,GAAGhB,GAAG;MACzB,CAAC,CAAC;IACN;IAEA,IAAIrD,OAAO,CAACwE,cAAc,EAAE;MACxBxE,OAAO,CAACwE,cAAc,CAAC5F,OAAO,CAAC,UAAAyF,IAAI,EAAI;QACnC,IAAMhB,GAAG,GAAGG,IAAI,CAAC,IAAAiB,6CAAsB,EAACJ,IAAI,CAAC,CAAC;QAC9C,OAAOb,IAAI,CAAC,IAAAiB,6CAAsB,EAACJ,IAAI,CAAC,CAAC;QACzCb,IAAI,CAACa,IAAI,CAAC,GAAGhB,GAAG;MACpB,CAAC,CAAC;IACN;IAEA,IAAIrD,OAAO,CAAC0E,WAAW,EAAE;MACrB,IAAOd,KAAK,GAAIJ,IAAI,CAACmB,gBAAgB,CAA9Bf,KAAK;MACZJ,IAAI,CAACoB,QAAQ,GAAIhB,KAAK,CAAClF,MAAM,KAAK,CAAC,IAAIkF,KAAK,CAAC,CAAC,CAAC,CAACgB,QAAQ,CAACC,KAAK,IAAK,IAAI;MACvE,OAAOrB,IAAI,CAACmB,gBAAgB;IAChC;EACJ;EAEA,OAAOnB,IAAI;AACf,CAAC"}
|
|
@@ -30,4 +30,4 @@ export type NodeInfoResult = {
|
|
|
30
30
|
};
|
|
31
31
|
export declare const useNodeInfo: (variables: {
|
|
32
32
|
[key: string]: unknown;
|
|
33
|
-
}, options
|
|
33
|
+
}, options?: NodeInfoOptions, queryOptions?: Partial<WatchQueryOptions>) => NodeInfoResult;
|