simplyfire
Version:
A lightweight firestore api for firebase cloud functions & Angular.
17 lines • 2.16 kB
JavaScript
import 'reflect-metadata';
import { ApplicationContext } from '../application-context';
export const Autowire = () => {
return (target, propertyKey) => {
const provider = Reflect.getMetadata('design:type', target, propertyKey);
let value;
return {
get: () => {
return (value ?? (value = ApplicationContext.injector.get(provider)));
},
set: (v) => {
value = v;
}
};
};
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3dpcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9uZ3gvZGVjb3JhdG9ycy9hdXRvd2lyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxHQUFRLEVBQUU7SUFDaEMsT0FBTyxDQUFDLE1BQVcsRUFBRSxXQUFtQixFQUFPLEVBQUU7UUFDL0MsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBR3pFLElBQUksS0FBZSxDQUFDO1FBRXBCLE9BQU87WUFDTCxHQUFHLEVBQUUsR0FBYSxFQUFFO2dCQUNsQixPQUFPLENBQUMsS0FBSyxLQUFMLEtBQUssR0FBSyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUF5QixRQUFRLENBQUMsRUFBQyxDQUFDO1lBQ3ZGLENBQUM7WUFDRCxHQUFHLEVBQUUsQ0FBQyxDQUFXLEVBQUUsRUFBRTtnQkFDbkIsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNaLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJztcblxuaW1wb3J0IHsgQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSAnLi4vYXBwbGljYXRpb24tY29udGV4dCc7XG5cbmV4cG9ydCBjb25zdCBBdXRvd2lyZSA9ICgpOiBhbnkgPT4ge1xuICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYW55ID0+IHtcbiAgICBjb25zdCBwcm92aWRlciA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ2Rlc2lnbjp0eXBlJywgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XG5cbiAgICB0eXBlIFByb3ZpZGVyID0gdHlwZW9mIHByb3ZpZGVyO1xuICAgIGxldCB2YWx1ZTogUHJvdmlkZXI7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZ2V0OiAoKTogUHJvdmlkZXIgPT4ge1xuICAgICAgICByZXR1cm4gKHZhbHVlID8/PSBBcHBsaWNhdGlvbkNvbnRleHQuaW5qZWN0b3IuZ2V0PEluc3RhbmNlVHlwZTxQcm92aWRlcj4+KHByb3ZpZGVyKSk7XG4gICAgICB9LFxuICAgICAgc2V0OiAodjogUHJvdmlkZXIpID0+IHtcbiAgICAgICAgdmFsdWUgPSB2O1xuICAgICAgfVxuICAgIH07XG4gIH07XG59O1xuIl19