@sitecore-jss/sitecore-jss
Advanced tools
Comparing version 16.0.0-canary.8 to 16.0.0-canary.11
@@ -37,20 +37,2 @@ "use strict"; | ||
/** | ||
* Setup request headers | ||
* @param {IncomingMessage} req | ||
* @param {AxiosRequestConfig} reqConfig | ||
*/ | ||
AxiosDataFetcher.prototype.setupReqHeaders = function (req, reqConfig) { | ||
reqConfig.headers.common = __assign(__assign(__assign(__assign(__assign({}, reqConfig.headers.common), (req.headers.cookie && { cookie: req.headers.cookie })), (req.headers.referer && { referer: req.headers.referer })), (req.headers['user-agent'] && { 'user-agent': req.headers['user-agent'] })), (req.connection.remoteAddress && { 'X-Forwarded-For': req.connection.remoteAddress })); | ||
return reqConfig; | ||
}; | ||
/** | ||
* Setup response headers based on response from layout service | ||
* @param {ServerResponse} res | ||
* @param {AxiosResponse} serverRes | ||
*/ | ||
AxiosDataFetcher.prototype.setupResHeaders = function (res, serverRes) { | ||
serverRes.headers['set-cookie'] && res.setHeader('set-cookie', serverRes.headers['set-cookie']); | ||
return serverRes; | ||
}; | ||
/** | ||
* Implements a data fetcher. @see HttpJsonFetcher<T> type for implementation details/notes. | ||
@@ -61,2 +43,3 @@ * @param {string} url The URL to request; may include query string | ||
* @param {ServerResponse} [res] Response instance | ||
* @returns {Promise<AxiosResponse>} response | ||
*/ | ||
@@ -86,4 +69,24 @@ AxiosDataFetcher.prototype.fetch = function (url, data, req, res) { | ||
}; | ||
/** | ||
* Setup request headers | ||
* @param {IncomingMessage} req | ||
* @param {AxiosRequestConfig} reqConfig | ||
* @returns {AxiosRequestConfig} axios request config | ||
*/ | ||
AxiosDataFetcher.prototype.setupReqHeaders = function (req, reqConfig) { | ||
reqConfig.headers.common = __assign(__assign(__assign(__assign(__assign({}, reqConfig.headers.common), (req.headers.cookie && { cookie: req.headers.cookie })), (req.headers.referer && { referer: req.headers.referer })), (req.headers['user-agent'] && { 'user-agent': req.headers['user-agent'] })), (req.connection.remoteAddress && { 'X-Forwarded-For': req.connection.remoteAddress })); | ||
return reqConfig; | ||
}; | ||
/** | ||
* Setup response headers based on response from layout service | ||
* @param {ServerResponse} res | ||
* @param {AxiosResponse} serverRes | ||
* @returns {AxiosResponse} response | ||
*/ | ||
AxiosDataFetcher.prototype.setupResHeaders = function (res, serverRes) { | ||
serverRes.headers['set-cookie'] && res.setHeader('set-cookie', serverRes.headers['set-cookie']); | ||
return serverRes; | ||
}; | ||
return AxiosDataFetcher; | ||
}()); | ||
exports.AxiosDataFetcher = AxiosDataFetcher; |
@@ -37,2 +37,5 @@ "use strict"; | ||
}(Error)); | ||
/** | ||
* @param {HttpResponse<T>} response | ||
*/ | ||
function checkStatus(response) { | ||
@@ -48,2 +51,5 @@ if (response.status >= 200 && response.status < 300) { | ||
// and would then need to install a package for that functionality | ||
/** | ||
* @param {Object} params | ||
*/ | ||
function getQueryString(params) { | ||
@@ -54,2 +60,7 @@ return Object.keys(params) | ||
} | ||
/** | ||
* @param {string} url | ||
* @param {HttpJsonFetcher} fetcher | ||
* @param {Object} params | ||
*/ | ||
function fetchData(url, fetcher, params) { | ||
@@ -78,2 +89,5 @@ if (params === void 0) { params = {}; } | ||
* @see {LayoutService} - fetchLayoutData | ||
* @param {string} itemPath | ||
* @param {LayoutServiceRequestOptions<LayoutServiceData>} options | ||
* @returns {Promise<LayoutServiceData>} layout data | ||
*/ | ||
@@ -91,2 +105,6 @@ function fetchRouteData(itemPath, options) { | ||
* @see {LayoutService} - fetchPlaceholderData | ||
* @param {string} placeholderName | ||
* @param {string} itemPath | ||
* @param {LayoutServiceRequestOptions<PlaceholderData>} options | ||
* @returns {Promise<PlaceholderData>} placeholder data | ||
*/ | ||
@@ -93,0 +111,0 @@ function fetchPlaceholderData(placeholderName, itemPath, options) { |
@@ -12,2 +12,1 @@ "use strict"; | ||
})(LayoutServicePageState = exports.LayoutServicePageState || (exports.LayoutServicePageState = {})); | ||
; |
@@ -23,2 +23,3 @@ "use strict"; | ||
* @param {string} [language] language will be applied to `sc_lang` param | ||
* @returns {FetchOptions} fetch options | ||
*/ | ||
@@ -30,3 +31,3 @@ this.getFetchOptions = function (language) { | ||
sc_site: _this.serviceConfig.siteName, | ||
sc_lang: language, | ||
sc_lang: language || '', | ||
tracking: (_a = _this.serviceConfig.tracking, (_a !== null && _a !== void 0 ? _a : true)), | ||
@@ -45,2 +46,3 @@ }; | ||
* @param {ServerResponse} [res] Response instance | ||
* @returns default fetcher | ||
*/ | ||
@@ -61,2 +63,3 @@ this.getDefaultFetcher = function (req, res) { | ||
* @param {ServerResponse} [res] Response instance | ||
* @returns {Promise<LayoutServiceData>} layout service data | ||
*/ | ||
@@ -79,2 +82,3 @@ LayoutService.prototype.fetchLayoutData = function (itemPath, language, req, res) { | ||
* @param {ServerResponse} [res] Response instance | ||
* @returns {Promise<PlaceholderData>} placeholder data | ||
*/ | ||
@@ -81,0 +85,0 @@ LayoutService.prototype.fetchPlaceholderData = function (placeholderName, itemPath, language, req, res) { |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
/** | ||
* @param {ComponentRendering | Fields} renderingOrFields | ||
* @param {string} fieldName | ||
* @param {T} [defaultValue] | ||
*/ | ||
function getFieldValue(renderingOrFields, fieldName, defaultValue) { | ||
@@ -23,2 +28,5 @@ if (!renderingOrFields || !fieldName) { | ||
* Gets rendering definitions in a given child placeholder under a current rendering. | ||
* @param {ComponentRendering} rendering | ||
* @param {string} placeholderName | ||
* @returns {Array<ComponentRendering | HtmlElementRendering>} child placeholder | ||
*/ | ||
@@ -25,0 +33,0 @@ function getChildPlaceholder(rendering, placeholderName) { |
@@ -25,2 +25,4 @@ "use strict"; | ||
* Makes a request to Sitecore Content Service for the specified item path. | ||
* @param {string} editorMarkup | ||
* @returns {Object | null} found image tag | ||
*/ | ||
@@ -36,3 +38,3 @@ exports.findEditorImageTag = function (editorMarkup) { | ||
var match = htmlAttrsRegex.exec(tagMatch[1]); | ||
while (match != null) { | ||
while (match !== null) { | ||
attrs[match[1]] = unescape(match[3]); | ||
@@ -48,3 +50,4 @@ match = htmlAttrsRegex.exec(tagMatch[1]); | ||
* Get required query string params which should be merged with user params | ||
* @param qs layout service parsed query string | ||
* @param {object} qs layout service parsed query string | ||
* @returns {object} requiredParams | ||
*/ | ||
@@ -60,2 +63,6 @@ exports.getRequiredParams = function (qs) { | ||
* Also, any provided `params` are used as the querystring parameters for the media URL. | ||
* @param {string} url | ||
* @param {Object} [params] | ||
* @param {RegExp} [mediaUrlPrefix=mediaUrlPrefixRegex] | ||
* @returns {string} url | ||
*/ | ||
@@ -65,3 +72,5 @@ exports.updateImageUrl = function (url, params, mediaUrlPrefix) { | ||
// polyfill node `global` in browser to workaround https://github.com/unshiftio/url-parse/issues/150 | ||
// eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
if (typeof window !== 'undefined' && !window.global) { | ||
// eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
window.global = {}; | ||
@@ -99,2 +108,8 @@ } | ||
* More information about `srcSet`: {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img} | ||
* | ||
* @param {string} url | ||
* @param {Array} srcSet | ||
* @param {Object} [imageParams] | ||
* @param {RegExp} [mediaUrlPrefix] | ||
* @returns {string} src set | ||
*/ | ||
@@ -101,0 +116,0 @@ exports.getSrcSet = function (url, srcSet, imageParams, mediaUrlPrefix) { |
@@ -8,2 +8,3 @@ "use strict"; | ||
} | ||
// eslint-disable-next-line | ||
var sc = window.Sitecore; | ||
@@ -14,4 +15,5 @@ return Boolean(sc && sc.PageModes && sc.PageModes.ChromeManager); | ||
if (exports.isExperienceEditorActive()) { | ||
// eslint-disable-next-line | ||
window.Sitecore.PageModes.ChromeManager.resetChromes(); | ||
} | ||
}; |
{ | ||
"name": "@sitecore-jss/sitecore-jss", | ||
"version": "16.0.0-canary.8", | ||
"version": "16.0.0-canary.11", | ||
"main": "dist/index.js", | ||
@@ -8,3 +8,3 @@ "scripts": { | ||
"clean": "del-cli dist types", | ||
"lint": "tslint -p . -c ../../tslint.json \"src/**/*.ts\"", | ||
"lint": "eslint --fix ./src/**/*.ts", | ||
"test": "mocha --require ts-node/register \"./src/**/*.test.ts\"", | ||
@@ -40,2 +40,3 @@ "prepublishOnly": "npm run build", | ||
"del-cli": "^3.0.1", | ||
"eslint": "^7.15.0", | ||
"mocha": "^8.1.3", | ||
@@ -54,3 +55,3 @@ "nyc": "^15.1.0", | ||
"types": "types/index.d.ts", | ||
"gitHead": "be22a453049c318e28e73343974f371cc0300c7d" | ||
"gitHead": "efc18cfe8c16303e8f585bbbc3135b92d5fef162" | ||
} |
@@ -36,5 +36,15 @@ /// <reference types="node" /> | ||
/** | ||
* Implements a data fetcher. @see HttpJsonFetcher<T> type for implementation details/notes. | ||
* @param {string} url The URL to request; may include query string | ||
* @param {any} [data] Optional data to POST with the request. | ||
* @param {IncomingMessage} [req] Request instance | ||
* @param {ServerResponse} [res] Response instance | ||
* @returns {Promise<AxiosResponse>} response | ||
*/ | ||
fetch(url: string, data?: unknown, req?: IncomingMessage, res?: ServerResponse): Promise<AxiosResponse>; | ||
/** | ||
* Setup request headers | ||
* @param {IncomingMessage} req | ||
* @param {AxiosRequestConfig} reqConfig | ||
* @returns {AxiosRequestConfig} axios request config | ||
*/ | ||
@@ -46,12 +56,5 @@ private setupReqHeaders; | ||
* @param {AxiosResponse} serverRes | ||
* @returns {AxiosResponse} response | ||
*/ | ||
private setupResHeaders; | ||
/** | ||
* Implements a data fetcher. @see HttpJsonFetcher<T> type for implementation details/notes. | ||
* @param {string} url The URL to request; may include query string | ||
* @param {any} [data] Optional data to POST with the request. | ||
* @param {IncomingMessage} [req] Request instance | ||
* @param {ServerResponse} [res] Response instance | ||
*/ | ||
fetch(url: string, data?: unknown, req?: IncomingMessage, res?: ServerResponse): Promise<AxiosResponse>; | ||
} |
@@ -23,3 +23,3 @@ import { LayoutServiceData, PlaceholderData } from './dataModels'; | ||
querystringParams?: { | ||
[key: string]: any; | ||
[key: string]: string | number | boolean; | ||
}; | ||
@@ -39,2 +39,5 @@ /** The fetcher that performs the HTTP request and returns a promise to JSON */ | ||
* @see {LayoutService} - fetchLayoutData | ||
* @param {string} itemPath | ||
* @param {LayoutServiceRequestOptions<LayoutServiceData>} options | ||
* @returns {Promise<LayoutServiceData>} layout data | ||
*/ | ||
@@ -47,3 +50,7 @@ export declare function fetchRouteData(itemPath: string, options: LayoutServiceRequestOptions<LayoutServiceData>): Promise<LayoutServiceData>; | ||
* @see {LayoutService} - fetchPlaceholderData | ||
* @param {string} placeholderName | ||
* @param {string} itemPath | ||
* @param {LayoutServiceRequestOptions<PlaceholderData>} options | ||
* @returns {Promise<PlaceholderData>} placeholder data | ||
*/ | ||
export declare function fetchPlaceholderData(placeholderName: string, itemPath: string, options: LayoutServiceRequestOptions<PlaceholderData>): Promise<PlaceholderData>; |
@@ -35,2 +35,3 @@ /** | ||
export interface LayoutServiceContext { | ||
[key: string]: unknown; | ||
pageEditing?: boolean; | ||
@@ -43,3 +44,2 @@ language?: string; | ||
}; | ||
[key: string]: any; | ||
} | ||
@@ -116,5 +116,5 @@ /** | ||
export declare type GenericFieldValue = string | boolean | number | { | ||
[key: string]: any; | ||
[key: string]: unknown; | ||
} | Array<{ | ||
[key: string]: any; | ||
[key: string]: unknown; | ||
}>; | ||
@@ -121,0 +121,0 @@ export interface Field<T = GenericFieldValue> { |
@@ -7,3 +7,3 @@ export interface HttpResponse<T> { | ||
/** Parsed JSON response data from server */ | ||
data?: T; | ||
data: T; | ||
} | ||
@@ -10,0 +10,0 @@ /** |
@@ -8,4 +8,4 @@ import * as dataApi from './dataApi'; | ||
export { isExperienceEditorActive, isServer, resetExperienceEditorChromes } from './util'; | ||
export { DictionaryPhrases, DictionaryServiceData, LayoutServiceData, LayoutServicePageState, LayoutServiceContext, LayoutServiceContextData, RouteData, PlaceholderData, ComponentRendering, HtmlElementRendering, Field, Item, PlaceholdersData, ComponentFields, ComponentParams } from './dataModels'; | ||
export { DictionaryPhrases, DictionaryServiceData, LayoutServiceData, LayoutServicePageState, LayoutServiceContext, LayoutServiceContextData, RouteData, PlaceholderData, ComponentRendering, HtmlElementRendering, Field, Item, PlaceholdersData, ComponentFields, ComponentParams, } from './dataModels'; | ||
export { getFieldValue, getChildPlaceholder } from './layoutDataUtils'; | ||
export { HttpJsonFetcher, HttpResponse } from './httpClientInterface'; |
@@ -31,13 +31,2 @@ /// <reference types="node" /> | ||
/** | ||
* Provides fetch options in order to fetch route data | ||
* @param {string} [language] language will be applied to `sc_lang` param | ||
*/ | ||
private getFetchOptions; | ||
/** | ||
* Provides default @see AxiosDataFetcher data fetcher | ||
* @param {IncomingMessage} [req] Request instance | ||
* @param {ServerResponse} [res] Response instance | ||
*/ | ||
private getDefaultFetcher; | ||
/** | ||
* Fetch route data from LayoutService using @see dataApi.fetchRouteData | ||
@@ -48,2 +37,3 @@ * @param {string} itemPath | ||
* @param {ServerResponse} [res] Response instance | ||
* @returns {Promise<LayoutServiceData>} layout service data | ||
*/ | ||
@@ -60,4 +50,18 @@ fetchLayoutData(itemPath: string, language?: string, req?: IncomingMessage, res?: ServerResponse): Promise<LayoutServiceData>; | ||
* @param {ServerResponse} [res] Response instance | ||
* @returns {Promise<PlaceholderData>} placeholder data | ||
*/ | ||
fetchPlaceholderData(placeholderName: string, itemPath: string, language?: string, req?: IncomingMessage, res?: ServerResponse): Promise<PlaceholderData>; | ||
/** | ||
* Provides fetch options in order to fetch route data | ||
* @param {string} [language] language will be applied to `sc_lang` param | ||
* @returns {FetchOptions} fetch options | ||
*/ | ||
private getFetchOptions; | ||
/** | ||
* Provides default @see AxiosDataFetcher data fetcher | ||
* @param {IncomingMessage} [req] Request instance | ||
* @param {ServerResponse} [res] Response instance | ||
* @returns default fetcher | ||
*/ | ||
private getDefaultFetcher; | ||
} |
import { ComponentRendering, Field, HtmlElementRendering, Item } from './dataModels'; | ||
declare type Fields = { | ||
[name: string]: Field | Item[]; | ||
}; | ||
/** | ||
@@ -6,11 +9,11 @@ * Safely extracts a field value from a rendering or fields object. | ||
*/ | ||
export declare function getFieldValue<T>(renderingOrFields: ComponentRendering | { | ||
[name: string]: Field | Item[]; | ||
}, fieldName: string): T | undefined; | ||
export declare function getFieldValue<T>(renderingOrFields: ComponentRendering | { | ||
[name: string]: Field | Item[]; | ||
}, fieldName: string, defaultValue: T): T; | ||
export declare function getFieldValue<T>(renderingOrFields: ComponentRendering | Fields, fieldName: string): T | undefined; | ||
export declare function getFieldValue<T>(renderingOrFields: ComponentRendering | Fields, fieldName: string, defaultValue: T): T; | ||
/** | ||
* Gets rendering definitions in a given child placeholder under a current rendering. | ||
* @param {ComponentRendering} rendering | ||
* @param {string} placeholderName | ||
* @returns {Array<ComponentRendering | HtmlElementRendering>} child placeholder | ||
*/ | ||
export declare function getChildPlaceholder(rendering: ComponentRendering, placeholderName: string): Array<ComponentRendering | HtmlElementRendering>; | ||
export {}; |
/** | ||
* Makes a request to Sitecore Content Service for the specified item path. | ||
* @param {string} editorMarkup | ||
* @returns {Object | null} found image tag | ||
*/ | ||
@@ -12,3 +14,4 @@ export declare const findEditorImageTag: (editorMarkup: string) => { | ||
* Get required query string params which should be merged with user params | ||
* @param qs layout service parsed query string | ||
* @param {object} qs layout service parsed query string | ||
* @returns {object} requiredParams | ||
*/ | ||
@@ -29,6 +32,10 @@ export declare const getRequiredParams: (qs: { | ||
* Also, any provided `params` are used as the querystring parameters for the media URL. | ||
* @param {string} url | ||
* @param {Object} [params] | ||
* @param {RegExp} [mediaUrlPrefix=mediaUrlPrefixRegex] | ||
* @returns {string} url | ||
*/ | ||
export declare const updateImageUrl: (url: string, params?: { | ||
[key: string]: string | undefined; | ||
} | undefined, mediaUrlPrefix?: RegExp) => string; | ||
[key: string]: string | number | undefined; | ||
} | null | undefined, mediaUrlPrefix?: RegExp) => string; | ||
/** | ||
@@ -44,7 +51,13 @@ * Receives an array of `srcSet` parameters that are iterated and used as parameters to generate | ||
* More information about `srcSet`: {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img} | ||
* | ||
* @param {string} url | ||
* @param {Array} srcSet | ||
* @param {Object} [imageParams] | ||
* @param {RegExp} [mediaUrlPrefix] | ||
* @returns {string} src set | ||
*/ | ||
export declare const getSrcSet: (url: string, srcSet: { | ||
[key: string]: string | undefined; | ||
[key: string]: string | number | undefined; | ||
}[], imageParams?: { | ||
[key: string]: string | undefined; | ||
[key: string]: string | number | undefined; | ||
} | undefined, mediaUrlPrefix?: RegExp | undefined) => string; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
51041
935
20