playable
Version:
Video player based on HTML5Video
23 lines • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PLAYER_API_PROPERTY = void 0;
exports.PLAYER_API_PROPERTY = '___playerAPI';
var checkDescriptorsOnEquality = function (desc1, desc2) {
return desc1.value === desc2.value &&
desc1.get === desc2.get &&
desc1.set === desc2.set;
};
var playerAPI = function (name) { return function (target, property, descriptor) {
var methodName = name || property;
if (!target[exports.PLAYER_API_PROPERTY]) {
target[exports.PLAYER_API_PROPERTY] = {};
}
if (target[exports.PLAYER_API_PROPERTY][methodName]) {
if (!checkDescriptorsOnEquality(target[exports.PLAYER_API_PROPERTY][methodName], descriptor)) {
throw new Error("Method \"".concat(methodName, "\" for public API in ").concat(target.constructor.name, " is already defined"));
}
}
target[exports.PLAYER_API_PROPERTY][methodName] = descriptor;
}; };
exports.default = playerAPI;
//# sourceMappingURL=player-api-decorator.js.map