1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
- import { userAgents } from '@algolia/autocomplete-shared';
- export function getMetadata(_ref) {
- var _, _options$__autocomple, _options$__autocomple2, _options$__autocomple3;
- var plugins = _ref.plugins,
- options = _ref.options;
- var optionsKey = (_ = (((_options$__autocomple = options.__autocomplete_metadata) === null || _options$__autocomple === void 0 ? void 0 : _options$__autocomple.userAgents) || [])[0]) === null || _ === void 0 ? void 0 : _.segment;
- var extraOptions = optionsKey ? _defineProperty({}, optionsKey, Object.keys(((_options$__autocomple2 = options.__autocomplete_metadata) === null || _options$__autocomple2 === void 0 ? void 0 : _options$__autocomple2.options) || {})) : {};
- return {
- plugins: plugins.map(function (plugin) {
- return {
- name: plugin.name,
- options: Object.keys(plugin.__autocomplete_pluginOptions || [])
- };
- }),
- options: _objectSpread({
- 'autocomplete-core': Object.keys(options)
- }, extraOptions),
- ua: userAgents.concat(((_options$__autocomple3 = options.__autocomplete_metadata) === null || _options$__autocomple3 === void 0 ? void 0 : _options$__autocomple3.userAgents) || [])
- };
- }
- export function injectMetadata(_ref3) {
- var _environment$navigato;
- var metadata = _ref3.metadata,
- environment = _ref3.environment;
- var isMetadataEnabled = (_environment$navigato = environment.navigator) === null || _environment$navigato === void 0 ? void 0 : _environment$navigato.userAgent.includes('Algolia Crawler');
- if (isMetadataEnabled) {
- var metadataContainer = environment.document.createElement('meta');
- var headRef = environment.document.querySelector('head');
- metadataContainer.name = 'algolia:metadata';
- setTimeout(function () {
- metadataContainer.content = JSON.stringify(metadata);
- headRef.appendChild(metadataContainer);
- }, 0);
- }
- }
|