@1amageek/open-graph-protocol
Version:
An interface for Open Graph Protocol.
51 lines • 1.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OpenGraph = void 0;
var OpenGraph;
(function (OpenGraph) {
// Object Types
const buildIfArray = (object, iterator, parent) => {
let data = [];
for (const item of object) {
const result = OpenGraph.build(item, iterator, parent);
data = data.concat(result);
}
return data;
};
const buildIfObject = (object, iterator, parent) => {
let data = [];
for (const key of Object.keys(object)) {
const value = object[key];
const property = parent ? `${parent}:${key}` : key;
const content = OpenGraph.build(value, iterator, property);
data = data.concat(content);
}
return data;
};
OpenGraph.build = (object, iterator, parent) => {
let data = [];
let property = parent;
if (Array.isArray(object)) {
const content = buildIfArray(object, iterator, property);
data = data.concat(content);
}
else if (typeof object === "object") {
const content = buildIfObject(object, iterator, property);
data = data.concat(content);
}
else if (typeof object === "string") {
const key = property;
const value = `${object}`;
const content = iterator(key, value);
data.push(content);
}
else if (typeof object === "number") {
const key = property;
const value = `${object}`;
const content = iterator(key, value);
data.push(content);
}
return data;
};
})(OpenGraph = exports.OpenGraph || (exports.OpenGraph = {}));
//# sourceMappingURL=index.js.map