UNPKG

simplyfire

Version:

A lightweight firestore api for firebase cloud functions & Angular.

17 lines 2.16 kB
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