react-obsidian
Version:
Dependency injection framework for React and React Native applications
36 lines • 1.37 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.isGraph = exports.ObjectGraph = void 0;
const uniqueId_1 = require("../utils/uniqueId");
const ProviderBinder_1 = require("./ProviderBinder");
const PropertyRetriever_1 = __importDefault(require("./PropertyRetriever"));
class ObjectGraph {
get name() {
if (Reflect.hasMetadata('memoizedName', this)) {
return Reflect.getMetadata('memoizedName', this);
}
const name = (0, uniqueId_1.uniqueId)(this.constructor.name);
Reflect.defineMetadata('memoizedName', name, this);
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.set(ObjectGraph, 'typeDiscriminator', 'ObjectGraph');
function isGraph(object) {
return Reflect.get(object, 'typeDiscriminator') === 'ObjectGraph';
}
exports.isGraph = isGraph;
//# sourceMappingURL=ObjectGraph.js.map
;