Repository URL to install this package:
|
Version:
1.1.21 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.withSchema = withSchema;
exports.renderSchemaMethod = renderSchemaMethod;
exports.renderWithSchemaSiblingMethodFactory = renderWithSchemaSiblingMethodFactory;
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _JSONLD = _interopRequireDefault(require("atoms/JSON-LD"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// @tutorial https://developers.google.com/search/docs/data-types/breadcrumbs
// simply rendering data coming from props from data layer as props
function renderSchemaMethod(data) {
data = data === undefined ? this.props.store ? this.props.store.schemaData : this.props.data : data; // const asSchema = toSchemaOrgForName(name, data)
// const asSchema = data
return _react.default.createElement(_JSONLD.default, data);
}
function renderWithSchemaSiblingMethodFactory(reference) {
return function (children) {
return [this.renderSchema(), children];
};
}
/**
* @tutorial https://developers.google.com/search/docs/data-types/breadcrumbs
* @param {*} name
* @type {Decorator}
*/
function withSchema(name) {
return function (TargetComponent) {
const reference = TargetComponent.prototype.render;
TargetComponent.prototype.renderSchema = renderSchemaMethod;
TargetComponent.prototype.render = renderWithSchemaSiblingMethodFactory(reference);
return TargetComponent;
};
}
var _default = withSchema;
exports.default = _default;