1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
//// [genericIndexedAccessMethodIntersectionCanBeAccessed.ts]
type ExtendedService<T> = {
[K in keyof T]: T[K] & {
__$daemonMode?: string;
__$action?: string;
};
};
type Service<T> = {
[K in keyof T]: T[K] & {id?: string};
};
export const createService = <T>(
ServiceCtr: ExtendedService<T> & Service<T>
) => {
Object.keys(ServiceCtr).forEach(key => {
const method = (ServiceCtr)[key as keyof T];
const {__$daemonMode, __$action, id} = method;
})
}
//// [genericIndexedAccessMethodIntersectionCanBeAccessed.js]
"use strict";
exports.__esModule = true;
exports.createService = function (ServiceCtr) {
Object.keys(ServiceCtr).forEach(function (key) {
var method = (ServiceCtr)[key];
var __$daemonMode = method.__$daemonMode, __$action = method.__$action, id = method.id;
});
};
|