UNPKG

edtf

Version:

Extended Date Time Format (EDTF) / ISO 8601-2 Parser and Library

22 lines (18 loc) 542 B
const keys = Reflect.ownKeys.bind(Reflect) const descriptor = Object.getOwnPropertyDescriptor.bind(Object) const define = Object.defineProperty.bind(Object) const has = Object.prototype.hasOwnProperty export function mixin(target, ...mixins) { for (let source of mixins) { inherit(target, source) inherit(target.prototype, source.prototype) } return target } function inherit(target, source) { for (let key of keys(source)) { if (!has.call(target, key)) { define(target, key, descriptor(source, key)) } } }