@orchestrator/core
Version:
> Core package of Orchestrator library.
22 lines • 2.25 kB
JavaScript
export function createMetadataGetSet(key) {
const k = Symbol(key);
return {
set: defineMetadata.bind(null, k),
get: (type) => type[k],
};
}
export function defineMetadata(key, value, target) {
if (key in target === false) {
Object.defineProperty(target, key, {
enumerable: false,
configurable: true,
writable: true,
value,
});
}
else {
target[key] = value;
}
return target;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL21ldGFkYXRhL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLG9CQUFvQixDQUFVLEdBQVc7SUFDdkQsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLE9BQU87UUFDTCxHQUFHLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFrQztRQUNsRSxHQUFHLEVBQUUsQ0FBQyxJQUFTLEVBQWlCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQzNDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsR0FBNkIsRUFDN0IsS0FBVSxFQUNWLE1BQVM7SUFFVCxJQUFJLEdBQUcsSUFBSSxNQUFNLEtBQUssS0FBSyxFQUFFO1FBQzNCLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUNqQyxVQUFVLEVBQUUsS0FBSztZQUNqQixZQUFZLEVBQUUsSUFBSTtZQUNsQixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUs7U0FDTixDQUFDLENBQUM7S0FDSjtTQUFNO1FBQ0wsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztLQUNyQjtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY3JlYXRlTWV0YWRhdGFHZXRTZXQ8TSA9IGFueT4oa2V5OiBzdHJpbmcpIHtcbiAgY29uc3QgayA9IFN5bWJvbChrZXkpO1xuICByZXR1cm4ge1xuICAgIHNldDogZGVmaW5lTWV0YWRhdGEuYmluZChudWxsLCBrKSBhcyA8VD4odmFsdWU6IE0sIHRhcmdldDogVCkgPT4gVCxcbiAgICBnZXQ6ICh0eXBlOiBhbnkpOiBNIHwgdW5kZWZpbmVkID0+IHR5cGVba10sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVNZXRhZGF0YTxUPihcbiAga2V5OiBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2wsXG4gIHZhbHVlOiBhbnksXG4gIHRhcmdldDogVCxcbikge1xuICBpZiAoa2V5IGluIHRhcmdldCA9PT0gZmFsc2UpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICB2YWx1ZSxcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICB0YXJnZXRba2V5XSA9IHZhbHVlO1xuICB9XG4gIHJldHVybiB0YXJnZXQ7XG59XG4iXX0=