dino-core
Version:
A dependency injection framework for NodeJS applications
95 lines • 8.6 kB
JavaScript
// Copyright 2018 Quirino Brizi [quirino.brizi@gmail.com]
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
Object.defineProperty(exports, "__esModule", { value: true });
exports.With = exports.ValueObject = exports.Translator = exports.Transient = exports.StereotypeProxyHandlerFactory = exports.State = exports.Singleton = exports.Service = exports.Scope = exports.Resolver = exports.Repository = exports.PromiseHelper = exports.Profile = exports.Optional = exports.ObjectHelper = exports.Monitor = exports.Logger = exports.Lazy = exports.InjectFromParameter = exports.InjectFromConstructor = exports.Injectable = exports.Id = exports.Factory = exports.ErrorType = exports.ErrorHandler = exports.EnvironmentConfiguration = exports.Entity = exports.Dino = exports.ContextScope = exports.Configuration = exports.ComponentDescriptor = exports.Component = exports.Command = exports.CacheContext = exports.AsService = exports.AsRepository = exports.AsInjectable = exports.AsConfiguration = exports.AsComponent = exports.As = exports.ApplicationContext = void 0;
const ApplicationContext_1 = require("./context/ApplicationContext");
Object.defineProperty(exports, "ApplicationContext", { enumerable: true, get: function () { return ApplicationContext_1.ApplicationContext; } });
const ContextScope_1 = require("./context/ContextScope");
Object.defineProperty(exports, "ContextScope", { enumerable: true, get: function () { return ContextScope_1.ContextScope; } });
const object_helper_1 = require("./helper/object.helper");
Object.defineProperty(exports, "ObjectHelper", { enumerable: true, get: function () { return object_helper_1.ObjectHelper; } });
const promise_helper_1 = require("./helper/promise.helper");
Object.defineProperty(exports, "PromiseHelper", { enumerable: true, get: function () { return promise_helper_1.PromiseHelper; } });
const Logger_1 = require("./Logger");
Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return Logger_1.Logger; } });
const cache_context_1 = require("./model/cache/cache.context");
Object.defineProperty(exports, "CacheContext", { enumerable: true, get: function () { return cache_context_1.CacheContext; } });
const component_1 = require("./model/component");
Object.defineProperty(exports, "Component", { enumerable: true, get: function () { return component_1.Component; } });
const ComponentDescriptor_1 = require("./model/ComponentDescriptor");
Object.defineProperty(exports, "ComponentDescriptor", { enumerable: true, get: function () { return ComponentDescriptor_1.ComponentDescriptor; } });
const configuration_1 = require("./model/configuration");
Object.defineProperty(exports, "Configuration", { enumerable: true, get: function () { return configuration_1.Configuration; } });
const CommonDecorators_1 = require("./model/decorators/CommonDecorators");
Object.defineProperty(exports, "Lazy", { enumerable: true, get: function () { return CommonDecorators_1.Lazy; } });
Object.defineProperty(exports, "Profile", { enumerable: true, get: function () { return CommonDecorators_1.Profile; } });
Object.defineProperty(exports, "Singleton", { enumerable: true, get: function () { return CommonDecorators_1.Singleton; } });
Object.defineProperty(exports, "Transient", { enumerable: true, get: function () { return CommonDecorators_1.Transient; } });
const Inject_1 = require("./model/decorators/Inject");
Object.defineProperty(exports, "As", { enumerable: true, get: function () { return Inject_1.As; } });
Object.defineProperty(exports, "AsComponent", { enumerable: true, get: function () { return Inject_1.AsComponent; } });
Object.defineProperty(exports, "AsConfiguration", { enumerable: true, get: function () { return Inject_1.AsConfiguration; } });
Object.defineProperty(exports, "AsInjectable", { enumerable: true, get: function () { return Inject_1.AsInjectable; } });
Object.defineProperty(exports, "AsRepository", { enumerable: true, get: function () { return Inject_1.AsRepository; } });
Object.defineProperty(exports, "AsService", { enumerable: true, get: function () { return Inject_1.AsService; } });
Object.defineProperty(exports, "InjectFromConstructor", { enumerable: true, get: function () { return Inject_1.InjectFromConstructor; } });
Object.defineProperty(exports, "With", { enumerable: true, get: function () { return Inject_1.InjectFromConstructor; } });
Object.defineProperty(exports, "InjectFromParameter", { enumerable: true, get: function () { return Inject_1.InjectFromParameter; } });
const environment_configuration_1 = require("./model/environment.configuration");
Object.defineProperty(exports, "EnvironmentConfiguration", { enumerable: true, get: function () { return environment_configuration_1.EnvironmentConfiguration; } });
const error_handler_1 = require("./model/error.handler");
Object.defineProperty(exports, "ErrorHandler", { enumerable: true, get: function () { return error_handler_1.ErrorHandler; } });
const error_type_1 = require("./model/error.type");
Object.defineProperty(exports, "ErrorType", { enumerable: true, get: function () { return error_type_1.ErrorType; } });
const injectable_1 = require("./model/injectable");
Object.defineProperty(exports, "Injectable", { enumerable: true, get: function () { return injectable_1.Injectable; } });
const monitor_1 = require("./model/monitor/monitor");
Object.defineProperty(exports, "Monitor", { enumerable: true, get: function () { return monitor_1.Monitor; } });
const state_1 = require("./model/monitor/state");
Object.defineProperty(exports, "State", { enumerable: true, get: function () { return state_1.State; } });
const repository_1 = require("./model/repository");
Object.defineProperty(exports, "Repository", { enumerable: true, get: function () { return repository_1.Repository; } });
const resolver_1 = require("./model/resolver");
Object.defineProperty(exports, "Resolver", { enumerable: true, get: function () { return resolver_1.Resolver; } });
const scope_1 = require("./model/scope");
Object.defineProperty(exports, "Scope", { enumerable: true, get: function () { return scope_1.Scope; } });
const service_1 = require("./model/service");
Object.defineProperty(exports, "Service", { enumerable: true, get: function () { return service_1.Service; } });
const stereotype_proxy_handler_factory_1 = require("./model/stereotype.proxy.handler.factory");
Object.defineProperty(exports, "StereotypeProxyHandlerFactory", { enumerable: true, get: function () { return stereotype_proxy_handler_factory_1.StereotypeProxyHandlerFactory; } });
const Command_1 = require("./patterns/Command");
Object.defineProperty(exports, "Command", { enumerable: true, get: function () { return Command_1.Command; } });
const Entity_1 = require("./patterns/ddd/Entity");
Object.defineProperty(exports, "Entity", { enumerable: true, get: function () { return Entity_1.Entity; } });
const Factory_1 = require("./patterns/ddd/Factory");
Object.defineProperty(exports, "Factory", { enumerable: true, get: function () { return Factory_1.Factory; } });
const Id_1 = require("./patterns/ddd/Id");
Object.defineProperty(exports, "Id", { enumerable: true, get: function () { return Id_1.Id; } });
const ValueObject_1 = require("./patterns/ddd/ValueObject");
Object.defineProperty(exports, "ValueObject", { enumerable: true, get: function () { return ValueObject_1.ValueObject; } });
const Optional_1 = require("./patterns/Optional");
Object.defineProperty(exports, "Optional", { enumerable: true, get: function () { return Optional_1.Optional; } });
const Translator_1 = require("./patterns/Translator");
Object.defineProperty(exports, "Translator", { enumerable: true, get: function () { return Translator_1.Translator; } });
// eslint-disable-next-line @typescript-eslint/no-extraneous-class
class Dino {
static async run(config, registrations = []) {
const applicationContext = new ApplicationContext_1.ApplicationContext();
await applicationContext.load(config, registrations);
return applicationContext;
}
}
exports.Dino = Dino;
//# sourceMappingURL=main.js.map
;