UNPKG

react-obsidian

Version:

Dependency injection framework for React and React Native applications

39 lines 1.6 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ObjectGraph = void 0; exports.isGraph = isGraph; const uniqueId_1 = require("../utils/uniqueId"); const ProviderBinder_1 = require("./ProviderBinder"); const PropertyRetriever_1 = __importDefault(require("./PropertyRetriever")); const reflect_1 = require("../utils/reflect"); const object_1 = require("../utils/object"); class ObjectGraph { get name() { const target = (0, object_1.getConstructorOrParentConstructor)(this.constructor, ObjectGraph.name); if (reflect_1.Reflect.hasMetadata('memoizedName', target)) { return reflect_1.Reflect.getMetadata('memoizedName', target); } const name = (0, uniqueId_1.uniqueId)(target.name); reflect_1.Reflect.defineMetadata('memoizedName', name, target); return name; } constructor(_props) { this._props = _props; this.propertyRetriever = new PropertyRetriever_1.default(this); (0, ProviderBinder_1.bindProviders)(this); } retrieve(property, receiver, detector) { return this.propertyRetriever.retrieve(property, receiver, detector); } onBind(_target) { } } exports.ObjectGraph = ObjectGraph; reflect_1.Reflect.set(ObjectGraph, 'typeDiscriminator', 'ObjectGraph'); function isGraph(object) { return reflect_1.Reflect.get(object, 'typeDiscriminator') === 'ObjectGraph'; } //# sourceMappingURL=ObjectGraph.js.map