@zengenti/contensis-react-base 3.0.2-beta.24 → 3.0.2-beta.25
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/cjs/{App-a9f4effe.js → App-ad6f7fa7.js} +2 -2
- package/cjs/{App-a9f4effe.js.map → App-ad6f7fa7.js.map} +1 -1
- package/cjs/{ContensisDeliveryApi-76de5ca9.js → ContensisDeliveryApi-98c0016f.js} +3 -1
- package/cjs/ContensisDeliveryApi-98c0016f.js.map +1 -0
- package/cjs/client.js +2 -2
- package/cjs/contensis-react-base.js +2 -2
- package/cjs/util.js +3 -1
- package/cjs/util.js.map +1 -1
- package/esm/{App-cdcedf62.js → App-f7ef3cb9.js} +2 -2
- package/esm/{App-cdcedf62.js.map → App-f7ef3cb9.js.map} +1 -1
- package/esm/{ContensisDeliveryApi-91398551.js → ContensisDeliveryApi-137270c0.js} +3 -2
- package/esm/ContensisDeliveryApi-137270c0.js.map +1 -0
- package/esm/client.js +3 -3
- package/esm/contensis-react-base.js +3 -3
- package/esm/util.js +1 -1
- package/models/util/index.d.ts +1 -1
- package/package.json +1 -1
- package/cjs/ContensisDeliveryApi-76de5ca9.js.map +0 -1
- package/esm/ContensisDeliveryApi-91398551.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContensisDeliveryApi-137270c0.js","sources":["../src/util/ContensisDeliveryApi.js"],"sourcesContent":["import { Client } from 'contensis-delivery-api';\nimport { parse } from 'query-string';\nimport { setSurrogateKeys } from '../routing/redux/actions';\nimport { reduxStore } from '~/redux/store/store';\nimport { findLoginCookies } from '~/user/util/CookieConstants';\nimport { mapCookieHeader } from '~/user/util/CookieHelper.class';\n\nconst storeSurrogateKeys = response => {\n const keys = response.headers.get\n ? response.headers.get('surrogate-key')\n : response.headers.map['surrogate-key'];\n if (keys) reduxStore?.dispatch(setSurrogateKeys(keys, response.url));\n};\n\nexport const getClientConfig = (project, cookies) => {\n let config = DELIVERY_API_CONFIG; /* global DELIVERY_API_CONFIG */\n config.responseHandler = {};\n\n if (project) {\n config.projectId = project;\n }\n\n // we only want the surrogate key header in a server context\n if (typeof window === 'undefined') {\n config.defaultHeaders = Object.assign(config.defaultHeaders || {}, {\n 'x-require-surrogate-key': true,\n });\n config.responseHandler[200] = storeSurrogateKeys;\n }\n\n if (\n typeof window !== 'undefined' &&\n PROXY_DELIVERY_API /* global PROXY_DELIVERY_API */\n ) {\n // ensure a relative url is used to bypass the need for CORS (separate OPTIONS calls)\n config.rootUrl = '';\n config.responseHandler[404] = () => null;\n }\n\n if (cookies) {\n const cookieHeader = mapCookieHeader(findLoginCookies(cookies));\n if (cookieHeader) {\n config.defaultHeaders = Object.assign(config.defaultHeaders || {}, {\n Cookie: cookieHeader,\n });\n console.info(\n `config.defaultHeaders: ${JSON.stringify(config.defaultHeaders)}`\n );\n }\n }\n\n return config;\n};\n\nexport * from 'contensis-delivery-api';\n\nclass DeliveryApi {\n cookies;\n constructor(cookies) {\n this.cookies = cookies;\n }\n\n getClientSideVersionStatus = () => {\n if (typeof window !== 'undefined') {\n // Allow overriding versionStatus with the querystring\n const { versionStatus } = parse(window.location.search);\n if (versionStatus) return versionStatus;\n // Client-side we will have a global variable set if rendered by SSR in production\n if (typeof window.versionStatus !== 'undefined')\n return window.versionStatus;\n // For localhost development we can only work out versionStatus from the current hostname\n const currentHostname = window.location.hostname;\n return this.getVersionStatusFromHostname(currentHostname);\n }\n return null;\n };\n getServerSideVersionStatus = request =>\n request.query.versionStatus ||\n deliveryApi.getVersionStatusFromHeaders(request.headers) ||\n deliveryApi.getVersionStatusFromHostname(request.hostname);\n getVersionStatusFromHeaders = headers => {\n const versionStatusHeader = headers['x-entry-versionstatus'];\n if (typeof versionStatusHeader !== 'undefined') return versionStatusHeader;\n return null;\n };\n getVersionStatusFromHostname = currentHostname => {\n if (currentHostname.indexOf('localhost') > -1) return 'latest';\n\n if (currentHostname.endsWith('contensis.cloud')) {\n if (currentHostname.indexOf('preview.') > -1) {\n return 'latest';\n } else {\n return 'published';\n }\n }\n\n if (currentHostname.endsWith('cloud.contensis.com')) {\n if (currentHostname.indexOf('preview-') > -1) {\n return 'latest';\n } else {\n return 'published';\n }\n }\n\n return 'published';\n };\n search = (query, linkDepth, project) => {\n const client = Client.create(getClientConfig(project, this.cookies));\n return client.entries.search(\n query,\n typeof linkDepth !== 'undefined' ? linkDepth : 1\n );\n };\n getClient = (deliveryApiStatus = 'published', project) => {\n const baseConfig = getClientConfig(project, this.cookies);\n baseConfig.versionStatus = deliveryApiStatus;\n return Client.create(baseConfig);\n };\n getEntry = (id, linkDepth = 0, deliveryApiStatus = 'published', project) => {\n const baseConfig = getClientConfig(project, this.cookies);\n baseConfig.versionStatus = deliveryApiStatus;\n const client = Client.create(baseConfig);\n // return client.entries.get(id, linkDepth);\n return client.entries.get({ id, linkDepth });\n };\n}\n\nexport const deliveryApi = new DeliveryApi();\nexport const deliveryApiWithCookies = cookies => new DeliveryApi(cookies);\n\nclass CacheNode {\n constructor(key, value) {\n this.key = key;\n this.value = value;\n this.next = null;\n this.prev = null;\n }\n}\n\nclass LruCache {\n constructor(limit = 100) {\n this.map = {};\n this.head = null;\n this.tail = null;\n this.limit = limit || 100;\n this.size = 0;\n }\n\n get(key) {\n if (this.map[key]) {\n let value = this.map[key].value;\n let node = new CacheNode(key, value);\n this.remove(key);\n this.setHead(node);\n return value;\n }\n }\n\n set(key, value) {\n let node = new CacheNode(key, value);\n if (this.map[key]) {\n this.remove(key);\n } else {\n if (this.size >= this.limit) {\n delete this.map[this.tail.key];\n this.size--;\n this.tail = this.tail.prev;\n this.tail.next = null;\n }\n }\n this.setHead(node);\n }\n\n setHead(node) {\n node.next = this.head;\n node.prev = null;\n if (this.head) {\n this.head.prev = node;\n }\n this.head = node;\n if (!this.tail) {\n this.tail = node;\n }\n this.size++;\n this.map[node.key] = node;\n }\n\n remove(key) {\n let node = this.map[key];\n if (!node) return; // This is sometimes null and crashes the container without this check\n\n if (node.prev) {\n node.prev.next = node.next;\n } else {\n this.head = node.next;\n }\n if (node.next) {\n node.next.prev = node.prev;\n } else {\n this.tail = node.prev;\n }\n delete this.map[key];\n this.size--;\n }\n}\n\n// CachedSearch does not cache results in SSR by design\nclass CachedSearch {\n cache = new LruCache();\n cookies;\n taxonomyLookup = {};\n\n constructor(cookies) {\n this.cookies = cookies;\n }\n\n getClient = new DeliveryApi(this.cookies).getClient;\n\n search(query, linkDepth, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n project + JSON.stringify(query) + linkDepth.toString(),\n () => client.entries.search(query, linkDepth)\n );\n }\n\n searchUsingPost(query, linkDepth = 0, project = '') {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n project + JSON.stringify(query) + linkDepth.toString(),\n () => client.entries.searchUsingPost(query, linkDepth)\n );\n }\n\n get(id, linkDepth, versionStatus, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n client.clientConfig.versionStatus = versionStatus;\n return this.request(id, () => client.entries.get({ id, linkDepth }));\n }\n\n getContentType(id, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(`[CONTENT TYPE] ${id} ${project}`, () =>\n client.contentTypes.get(id)\n );\n }\n\n getTaxonomyNode(key, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(`[TAXONOMY NODE] ${key}`, () =>\n client.taxonomy\n .resolveChildren(key)\n .then(node => this.extendTaxonomyNode(node))\n );\n }\n\n getRootNode(options, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(`${project} / ${JSON.stringify(options)}`, () =>\n client.nodes.getRoot(options)\n );\n }\n\n getNode(options, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n `${project} ${(options && options.path) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.get(options)\n );\n }\n\n getAncestors(options, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n `${project} [A] ${(options && options.id) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.getAncestors(options)\n );\n }\n\n getChildren(options, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n `${project} [C] ${(options && options.id) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.getChildren(options)\n );\n }\n\n getSiblings(options, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n `${project} [S] ${(options && options.id) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.getSiblings(options)\n );\n }\n\n request(key, execute) {\n // do not cache results in SSR\n if (!this.cache.get(key) || typeof window == 'undefined') {\n let promise = execute();\n this.cache.set(key, promise);\n promise.catch(() => {\n this.cache.remove(key);\n });\n }\n return this.cache.get(key);\n }\n}\n\nexport const cachedSearch = new CachedSearch();\nexport const cachedSearchWithCookies = cookies => new CachedSearch(cookies);\n"],"names":["storeSurrogateKeys","response","keys","headers","get","map","reduxStore","dispatch","setSurrogateKeys","url","getClientConfig","project","cookies","config","DELIVERY_API_CONFIG","responseHandler","projectId","window","defaultHeaders","Object","assign","PROXY_DELIVERY_API","rootUrl","cookieHeader","mapCookieHeader","findLoginCookies","Cookie","console","info","JSON","stringify","DeliveryApi","constructor","getClientSideVersionStatus","versionStatus","parse","location","search","currentHostname","hostname","getVersionStatusFromHostname","getServerSideVersionStatus","request","query","deliveryApi","getVersionStatusFromHeaders","versionStatusHeader","indexOf","endsWith","linkDepth","client","Client","create","entries","getClient","deliveryApiStatus","baseConfig","getEntry","id","deliveryApiWithCookies","CacheNode","key","value","next","prev","LruCache","limit","head","tail","size","node","remove","setHead","set","CachedSearch","cache","taxonomyLookup","toString","searchUsingPost","clientConfig","getContentType","contentTypes","getTaxonomyNode","taxonomy","resolveChildren","then","extendTaxonomyNode","getRootNode","options","nodes","getRoot","getNode","path","getAncestors","getChildren","getSiblings","execute","promise","catch","cachedSearch","cachedSearchWithCookies"],"mappings":"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"}
|
package/esm/client.js
CHANGED
|
@@ -9,10 +9,10 @@ import { parse } from 'query-string';
|
|
|
9
9
|
import { CookiesProvider } from 'react-cookie';
|
|
10
10
|
import { c as createStore, s as selectVersionStatus } from './version-6cc0418c.js';
|
|
11
11
|
import { s as setVersionStatus } from './version-ec722079.js';
|
|
12
|
-
import { b as browserHistory, r as rootSaga, p as pickProject } from './App-
|
|
13
|
-
export { A as ReactApp } from './App-
|
|
12
|
+
import { b as browserHistory, r as rootSaga, p as pickProject } from './App-f7ef3cb9.js';
|
|
13
|
+
export { A as ReactApp } from './App-f7ef3cb9.js';
|
|
14
14
|
import { c as setCurrentProject } from './selectors-1a3c1725.js';
|
|
15
|
-
import { d as deliveryApi } from './ContensisDeliveryApi-
|
|
15
|
+
import { d as deliveryApi } from './ContensisDeliveryApi-137270c0.js';
|
|
16
16
|
import 'redux';
|
|
17
17
|
import 'redux-thunk';
|
|
18
18
|
import 'redux-saga';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as cachedSearch, d as deliveryApi } from './ContensisDeliveryApi-
|
|
1
|
+
import { c as cachedSearch, d as deliveryApi } from './ContensisDeliveryApi-137270c0.js';
|
|
2
2
|
import { Query as Query$1 } from 'contensis-delivery-api';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Provider } from 'react-redux';
|
|
@@ -31,8 +31,8 @@ import { buildCleaner } from 'lodash-clean';
|
|
|
31
31
|
import { CookiesProvider } from 'react-cookie';
|
|
32
32
|
import cookiesMiddleware from 'universal-cookie-express';
|
|
33
33
|
import { c as createStore } from './version-6cc0418c.js';
|
|
34
|
-
import { h as history, p as pickProject, r as rootSaga } from './App-
|
|
35
|
-
export { A as ReactApp } from './App-
|
|
34
|
+
import { h as history, p as pickProject, r as rootSaga } from './App-f7ef3cb9.js';
|
|
35
|
+
export { A as ReactApp } from './App-f7ef3cb9.js';
|
|
36
36
|
import { s as setVersionStatus, a as setVersion } from './version-ec722079.js';
|
|
37
37
|
import { s as selectSurrogateKeys, a as selectRouteEntry, b as selectCurrentProject, g as getImmutableOrJS, c as setCurrentProject } from './selectors-1a3c1725.js';
|
|
38
38
|
import chalk from 'chalk';
|
package/esm/util.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { s as setCachingHeaders, u as urls } from './urls-eac9a747.js';
|
|
2
|
-
export { c as cachedSearch, d as deliveryApi, g as getClientConfig } from './ContensisDeliveryApi-
|
|
2
|
+
export { c as cachedSearch, a as cachedSearchWithCookies, d as deliveryApi, b as deliveryApiWithCookies, g as getClientConfig } from './ContensisDeliveryApi-137270c0.js';
|
|
3
3
|
import mapJson, { jpath } from 'jsonpath-mapper';
|
|
4
4
|
export { jpath, default as mapJson } from 'jsonpath-mapper';
|
|
5
5
|
import React from 'react';
|
package/models/util/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { default as setCachingHeaders } from '~/server/features/caching/setCachingHeaders';
|
|
2
|
-
export { cachedSearch, deliveryApi, getClientConfig, } from './ContensisDeliveryApi';
|
|
2
|
+
export { cachedSearch, cachedSearchWithCookies, deliveryApi, deliveryApiWithCookies, getClientConfig, } from './ContensisDeliveryApi';
|
|
3
3
|
export { default as stringifyStrings } from './stringifyStrings';
|
|
4
4
|
export { default as urls } from './urls';
|
|
5
5
|
export * from './json-mapper';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zengenti/contensis-react-base",
|
|
3
|
-
"version": "3.0.2-beta.
|
|
3
|
+
"version": "3.0.2-beta.25",
|
|
4
4
|
"repository": "https://github.com/zengenti/contensis-react-base",
|
|
5
5
|
"license": "None",
|
|
6
6
|
"description": "Turbocharge your React web apps with Contensis. This package handles all dependencies for creating full featured web apps in React with Contensis and Site View. Routing is driven by Site View, Redux is used for global state management and server-side rendering (SSR) is handled for you. Also taking care of intricate hosting issues such as cache invalidation and supporting authenticated content where required.",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContensisDeliveryApi-76de5ca9.js","sources":["../src/util/ContensisDeliveryApi.js"],"sourcesContent":["import { Client } from 'contensis-delivery-api';\nimport { parse } from 'query-string';\nimport { setSurrogateKeys } from '../routing/redux/actions';\nimport { reduxStore } from '~/redux/store/store';\nimport { findLoginCookies } from '~/user/util/CookieConstants';\nimport { mapCookieHeader } from '~/user/util/CookieHelper.class';\n\nconst storeSurrogateKeys = response => {\n const keys = response.headers.get\n ? response.headers.get('surrogate-key')\n : response.headers.map['surrogate-key'];\n if (keys) reduxStore?.dispatch(setSurrogateKeys(keys, response.url));\n};\n\nexport const getClientConfig = (project, cookies) => {\n let config = DELIVERY_API_CONFIG; /* global DELIVERY_API_CONFIG */\n config.responseHandler = {};\n\n if (project) {\n config.projectId = project;\n }\n\n // we only want the surrogate key header in a server context\n if (typeof window === 'undefined') {\n config.defaultHeaders = Object.assign(config.defaultHeaders || {}, {\n 'x-require-surrogate-key': true,\n });\n config.responseHandler[200] = storeSurrogateKeys;\n }\n\n if (\n typeof window !== 'undefined' &&\n PROXY_DELIVERY_API /* global PROXY_DELIVERY_API */\n ) {\n // ensure a relative url is used to bypass the need for CORS (separate OPTIONS calls)\n config.rootUrl = '';\n config.responseHandler[404] = () => null;\n }\n\n if (cookies) {\n const cookieHeader = mapCookieHeader(findLoginCookies(cookies));\n if (cookieHeader) {\n config.defaultHeaders = Object.assign(config.defaultHeaders || {}, {\n Cookie: cookieHeader,\n });\n console.info(\n `config.defaultHeaders: ${JSON.stringify(config.defaultHeaders)}`\n );\n }\n }\n\n return config;\n};\n\nexport * from 'contensis-delivery-api';\n\nclass DeliveryApi {\n cookies;\n constructor(cookies) {\n this.cookies = cookies;\n }\n\n getClientSideVersionStatus = () => {\n if (typeof window !== 'undefined') {\n // Allow overriding versionStatus with the querystring\n const { versionStatus } = parse(window.location.search);\n if (versionStatus) return versionStatus;\n // Client-side we will have a global variable set if rendered by SSR in production\n if (typeof window.versionStatus !== 'undefined')\n return window.versionStatus;\n // For localhost development we can only work out versionStatus from the current hostname\n const currentHostname = window.location.hostname;\n return this.getVersionStatusFromHostname(currentHostname);\n }\n return null;\n };\n getServerSideVersionStatus = request =>\n request.query.versionStatus ||\n deliveryApi.getVersionStatusFromHeaders(request.headers) ||\n deliveryApi.getVersionStatusFromHostname(request.hostname);\n getVersionStatusFromHeaders = headers => {\n const versionStatusHeader = headers['x-entry-versionstatus'];\n if (typeof versionStatusHeader !== 'undefined') return versionStatusHeader;\n return null;\n };\n getVersionStatusFromHostname = currentHostname => {\n if (currentHostname.indexOf('localhost') > -1) return 'latest';\n\n if (currentHostname.endsWith('contensis.cloud')) {\n if (currentHostname.indexOf('preview.') > -1) {\n return 'latest';\n } else {\n return 'published';\n }\n }\n\n if (currentHostname.endsWith('cloud.contensis.com')) {\n if (currentHostname.indexOf('preview-') > -1) {\n return 'latest';\n } else {\n return 'published';\n }\n }\n\n return 'published';\n };\n search = (query, linkDepth, project) => {\n const client = Client.create(getClientConfig(project, this.cookies));\n return client.entries.search(\n query,\n typeof linkDepth !== 'undefined' ? linkDepth : 1\n );\n };\n getClient = (deliveryApiStatus = 'published', project) => {\n const baseConfig = getClientConfig(project, this.cookies);\n baseConfig.versionStatus = deliveryApiStatus;\n return Client.create(baseConfig);\n };\n getEntry = (id, linkDepth = 0, deliveryApiStatus = 'published', project) => {\n const baseConfig = getClientConfig(project, this.cookies);\n baseConfig.versionStatus = deliveryApiStatus;\n const client = Client.create(baseConfig);\n // return client.entries.get(id, linkDepth);\n return client.entries.get({ id, linkDepth });\n };\n}\n\nexport const deliveryApi = new DeliveryApi();\nexport const deliveryApiWithCookies = cookies => new DeliveryApi(cookies);\n\nclass CacheNode {\n constructor(key, value) {\n this.key = key;\n this.value = value;\n this.next = null;\n this.prev = null;\n }\n}\n\nclass LruCache {\n constructor(limit = 100) {\n this.map = {};\n this.head = null;\n this.tail = null;\n this.limit = limit || 100;\n this.size = 0;\n }\n\n get(key) {\n if (this.map[key]) {\n let value = this.map[key].value;\n let node = new CacheNode(key, value);\n this.remove(key);\n this.setHead(node);\n return value;\n }\n }\n\n set(key, value) {\n let node = new CacheNode(key, value);\n if (this.map[key]) {\n this.remove(key);\n } else {\n if (this.size >= this.limit) {\n delete this.map[this.tail.key];\n this.size--;\n this.tail = this.tail.prev;\n this.tail.next = null;\n }\n }\n this.setHead(node);\n }\n\n setHead(node) {\n node.next = this.head;\n node.prev = null;\n if (this.head) {\n this.head.prev = node;\n }\n this.head = node;\n if (!this.tail) {\n this.tail = node;\n }\n this.size++;\n this.map[node.key] = node;\n }\n\n remove(key) {\n let node = this.map[key];\n if (!node) return; // This is sometimes null and crashes the container without this check\n\n if (node.prev) {\n node.prev.next = node.next;\n } else {\n this.head = node.next;\n }\n if (node.next) {\n node.next.prev = node.prev;\n } else {\n this.tail = node.prev;\n }\n delete this.map[key];\n this.size--;\n }\n}\n\n// CachedSearch does not cache results in SSR by design\nclass CachedSearch {\n cache = new LruCache();\n cookies;\n taxonomyLookup = {};\n\n constructor(cookies) {\n this.cookies = cookies;\n }\n\n getClient = new DeliveryApi(this.cookies).getClient;\n\n search(query, linkDepth, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n project + JSON.stringify(query) + linkDepth.toString(),\n () => client.entries.search(query, linkDepth)\n );\n }\n\n searchUsingPost(query, linkDepth = 0, project = '') {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n project + JSON.stringify(query) + linkDepth.toString(),\n () => client.entries.searchUsingPost(query, linkDepth)\n );\n }\n\n get(id, linkDepth, versionStatus, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n client.clientConfig.versionStatus = versionStatus;\n return this.request(id, () => client.entries.get({ id, linkDepth }));\n }\n\n getContentType(id, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(`[CONTENT TYPE] ${id} ${project}`, () =>\n client.contentTypes.get(id)\n );\n }\n\n getTaxonomyNode(key, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(`[TAXONOMY NODE] ${key}`, () =>\n client.taxonomy\n .resolveChildren(key)\n .then(node => this.extendTaxonomyNode(node))\n );\n }\n\n getRootNode(options, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(`${project} / ${JSON.stringify(options)}`, () =>\n client.nodes.getRoot(options)\n );\n }\n\n getNode(options, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n `${project} ${(options && options.path) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.get(options)\n );\n }\n\n getAncestors(options, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n `${project} [A] ${(options && options.id) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.getAncestors(options)\n );\n }\n\n getChildren(options, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n `${project} [C] ${(options && options.id) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.getChildren(options)\n );\n }\n\n getSiblings(options, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n `${project} [S] ${(options && options.id) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.getSiblings(options)\n );\n }\n\n request(key, execute) {\n // do not cache results in SSR\n if (!this.cache.get(key) || typeof window == 'undefined') {\n let promise = execute();\n this.cache.set(key, promise);\n promise.catch(() => {\n this.cache.remove(key);\n });\n }\n return this.cache.get(key);\n }\n}\n\nexport const cachedSearch = new CachedSearch();\nexport const cachedSearchWithCookies = cookies => new CachedSearch(cookies);\n"],"names":["storeSurrogateKeys","response","keys","headers","get","map","reduxStore","dispatch","setSurrogateKeys","url","getClientConfig","project","cookies","config","DELIVERY_API_CONFIG","responseHandler","projectId","window","defaultHeaders","Object","assign","PROXY_DELIVERY_API","rootUrl","cookieHeader","mapCookieHeader","findLoginCookies","Cookie","console","info","JSON","stringify","DeliveryApi","constructor","getClientSideVersionStatus","versionStatus","parse","location","search","currentHostname","hostname","getVersionStatusFromHostname","getServerSideVersionStatus","request","query","deliveryApi","getVersionStatusFromHeaders","versionStatusHeader","indexOf","endsWith","linkDepth","client","Client","create","entries","getClient","deliveryApiStatus","baseConfig","getEntry","id","CacheNode","key","value","next","prev","LruCache","limit","head","tail","size","node","remove","setHead","set","CachedSearch","cache","taxonomyLookup","toString","searchUsingPost","clientConfig","getContentType","contentTypes","getTaxonomyNode","taxonomy","resolveChildren","then","extendTaxonomyNode","getRootNode","options","nodes","getRoot","getNode","path","getAncestors","getChildren","getSiblings","execute","promise","catch","cachedSearch","cachedSearchWithCookies"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContensisDeliveryApi-91398551.js","sources":["../src/util/ContensisDeliveryApi.js"],"sourcesContent":["import { Client } from 'contensis-delivery-api';\nimport { parse } from 'query-string';\nimport { setSurrogateKeys } from '../routing/redux/actions';\nimport { reduxStore } from '~/redux/store/store';\nimport { findLoginCookies } from '~/user/util/CookieConstants';\nimport { mapCookieHeader } from '~/user/util/CookieHelper.class';\n\nconst storeSurrogateKeys = response => {\n const keys = response.headers.get\n ? response.headers.get('surrogate-key')\n : response.headers.map['surrogate-key'];\n if (keys) reduxStore?.dispatch(setSurrogateKeys(keys, response.url));\n};\n\nexport const getClientConfig = (project, cookies) => {\n let config = DELIVERY_API_CONFIG; /* global DELIVERY_API_CONFIG */\n config.responseHandler = {};\n\n if (project) {\n config.projectId = project;\n }\n\n // we only want the surrogate key header in a server context\n if (typeof window === 'undefined') {\n config.defaultHeaders = Object.assign(config.defaultHeaders || {}, {\n 'x-require-surrogate-key': true,\n });\n config.responseHandler[200] = storeSurrogateKeys;\n }\n\n if (\n typeof window !== 'undefined' &&\n PROXY_DELIVERY_API /* global PROXY_DELIVERY_API */\n ) {\n // ensure a relative url is used to bypass the need for CORS (separate OPTIONS calls)\n config.rootUrl = '';\n config.responseHandler[404] = () => null;\n }\n\n if (cookies) {\n const cookieHeader = mapCookieHeader(findLoginCookies(cookies));\n if (cookieHeader) {\n config.defaultHeaders = Object.assign(config.defaultHeaders || {}, {\n Cookie: cookieHeader,\n });\n console.info(\n `config.defaultHeaders: ${JSON.stringify(config.defaultHeaders)}`\n );\n }\n }\n\n return config;\n};\n\nexport * from 'contensis-delivery-api';\n\nclass DeliveryApi {\n cookies;\n constructor(cookies) {\n this.cookies = cookies;\n }\n\n getClientSideVersionStatus = () => {\n if (typeof window !== 'undefined') {\n // Allow overriding versionStatus with the querystring\n const { versionStatus } = parse(window.location.search);\n if (versionStatus) return versionStatus;\n // Client-side we will have a global variable set if rendered by SSR in production\n if (typeof window.versionStatus !== 'undefined')\n return window.versionStatus;\n // For localhost development we can only work out versionStatus from the current hostname\n const currentHostname = window.location.hostname;\n return this.getVersionStatusFromHostname(currentHostname);\n }\n return null;\n };\n getServerSideVersionStatus = request =>\n request.query.versionStatus ||\n deliveryApi.getVersionStatusFromHeaders(request.headers) ||\n deliveryApi.getVersionStatusFromHostname(request.hostname);\n getVersionStatusFromHeaders = headers => {\n const versionStatusHeader = headers['x-entry-versionstatus'];\n if (typeof versionStatusHeader !== 'undefined') return versionStatusHeader;\n return null;\n };\n getVersionStatusFromHostname = currentHostname => {\n if (currentHostname.indexOf('localhost') > -1) return 'latest';\n\n if (currentHostname.endsWith('contensis.cloud')) {\n if (currentHostname.indexOf('preview.') > -1) {\n return 'latest';\n } else {\n return 'published';\n }\n }\n\n if (currentHostname.endsWith('cloud.contensis.com')) {\n if (currentHostname.indexOf('preview-') > -1) {\n return 'latest';\n } else {\n return 'published';\n }\n }\n\n return 'published';\n };\n search = (query, linkDepth, project) => {\n const client = Client.create(getClientConfig(project, this.cookies));\n return client.entries.search(\n query,\n typeof linkDepth !== 'undefined' ? linkDepth : 1\n );\n };\n getClient = (deliveryApiStatus = 'published', project) => {\n const baseConfig = getClientConfig(project, this.cookies);\n baseConfig.versionStatus = deliveryApiStatus;\n return Client.create(baseConfig);\n };\n getEntry = (id, linkDepth = 0, deliveryApiStatus = 'published', project) => {\n const baseConfig = getClientConfig(project, this.cookies);\n baseConfig.versionStatus = deliveryApiStatus;\n const client = Client.create(baseConfig);\n // return client.entries.get(id, linkDepth);\n return client.entries.get({ id, linkDepth });\n };\n}\n\nexport const deliveryApi = new DeliveryApi();\nexport const deliveryApiWithCookies = cookies => new DeliveryApi(cookies);\n\nclass CacheNode {\n constructor(key, value) {\n this.key = key;\n this.value = value;\n this.next = null;\n this.prev = null;\n }\n}\n\nclass LruCache {\n constructor(limit = 100) {\n this.map = {};\n this.head = null;\n this.tail = null;\n this.limit = limit || 100;\n this.size = 0;\n }\n\n get(key) {\n if (this.map[key]) {\n let value = this.map[key].value;\n let node = new CacheNode(key, value);\n this.remove(key);\n this.setHead(node);\n return value;\n }\n }\n\n set(key, value) {\n let node = new CacheNode(key, value);\n if (this.map[key]) {\n this.remove(key);\n } else {\n if (this.size >= this.limit) {\n delete this.map[this.tail.key];\n this.size--;\n this.tail = this.tail.prev;\n this.tail.next = null;\n }\n }\n this.setHead(node);\n }\n\n setHead(node) {\n node.next = this.head;\n node.prev = null;\n if (this.head) {\n this.head.prev = node;\n }\n this.head = node;\n if (!this.tail) {\n this.tail = node;\n }\n this.size++;\n this.map[node.key] = node;\n }\n\n remove(key) {\n let node = this.map[key];\n if (!node) return; // This is sometimes null and crashes the container without this check\n\n if (node.prev) {\n node.prev.next = node.next;\n } else {\n this.head = node.next;\n }\n if (node.next) {\n node.next.prev = node.prev;\n } else {\n this.tail = node.prev;\n }\n delete this.map[key];\n this.size--;\n }\n}\n\n// CachedSearch does not cache results in SSR by design\nclass CachedSearch {\n cache = new LruCache();\n cookies;\n taxonomyLookup = {};\n\n constructor(cookies) {\n this.cookies = cookies;\n }\n\n getClient = new DeliveryApi(this.cookies).getClient;\n\n search(query, linkDepth, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n project + JSON.stringify(query) + linkDepth.toString(),\n () => client.entries.search(query, linkDepth)\n );\n }\n\n searchUsingPost(query, linkDepth = 0, project = '') {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n project + JSON.stringify(query) + linkDepth.toString(),\n () => client.entries.searchUsingPost(query, linkDepth)\n );\n }\n\n get(id, linkDepth, versionStatus, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n client.clientConfig.versionStatus = versionStatus;\n return this.request(id, () => client.entries.get({ id, linkDepth }));\n }\n\n getContentType(id, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(`[CONTENT TYPE] ${id} ${project}`, () =>\n client.contentTypes.get(id)\n );\n }\n\n getTaxonomyNode(key, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(`[TAXONOMY NODE] ${key}`, () =>\n client.taxonomy\n .resolveChildren(key)\n .then(node => this.extendTaxonomyNode(node))\n );\n }\n\n getRootNode(options, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(`${project} / ${JSON.stringify(options)}`, () =>\n client.nodes.getRoot(options)\n );\n }\n\n getNode(options, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n `${project} ${(options && options.path) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.get(options)\n );\n }\n\n getAncestors(options, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n `${project} [A] ${(options && options.id) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.getAncestors(options)\n );\n }\n\n getChildren(options, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n `${project} [C] ${(options && options.id) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.getChildren(options)\n );\n }\n\n getSiblings(options, project) {\n const client = Client.create(getClientConfig(project, this.cookies));\n return this.request(\n `${project} [S] ${(options && options.id) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.getSiblings(options)\n );\n }\n\n request(key, execute) {\n // do not cache results in SSR\n if (!this.cache.get(key) || typeof window == 'undefined') {\n let promise = execute();\n this.cache.set(key, promise);\n promise.catch(() => {\n this.cache.remove(key);\n });\n }\n return this.cache.get(key);\n }\n}\n\nexport const cachedSearch = new CachedSearch();\nexport const cachedSearchWithCookies = cookies => new CachedSearch(cookies);\n"],"names":["storeSurrogateKeys","response","keys","headers","get","map","reduxStore","dispatch","setSurrogateKeys","url","getClientConfig","project","cookies","config","DELIVERY_API_CONFIG","responseHandler","projectId","window","defaultHeaders","Object","assign","PROXY_DELIVERY_API","rootUrl","cookieHeader","mapCookieHeader","findLoginCookies","Cookie","console","info","JSON","stringify","DeliveryApi","constructor","getClientSideVersionStatus","versionStatus","parse","location","search","currentHostname","hostname","getVersionStatusFromHostname","getServerSideVersionStatus","request","query","deliveryApi","getVersionStatusFromHeaders","versionStatusHeader","indexOf","endsWith","linkDepth","client","Client","create","entries","getClient","deliveryApiStatus","baseConfig","getEntry","id","CacheNode","key","value","next","prev","LruCache","limit","head","tail","size","node","remove","setHead","set","CachedSearch","cache","taxonomyLookup","toString","searchUsingPost","clientConfig","getContentType","contentTypes","getTaxonomyNode","taxonomy","resolveChildren","then","extendTaxonomyNode","getRootNode","options","nodes","getRoot","getNode","path","getAncestors","getChildren","getSiblings","execute","promise","catch","cachedSearch","cachedSearchWithCookies"],"mappings":"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"}
|