diff options
author | Minteck <contact@minteck.org> | 2021-12-21 16:52:28 +0100 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2021-12-21 16:52:28 +0100 |
commit | 46e43f4bde4a35785b4997b81e86cd19f046b69b (patch) | |
tree | c53c2f826f777f9d6b2d249dab556feb72a6c3a6 /src/node_modules/inversify/es/annotation | |
download | langdetect-46e43f4bde4a35785b4997b81e86cd19f046b69b.tar.gz langdetect-46e43f4bde4a35785b4997b81e86cd19f046b69b.tar.bz2 langdetect-46e43f4bde4a35785b4997b81e86cd19f046b69b.zip |
Commit
Diffstat (limited to 'src/node_modules/inversify/es/annotation')
10 files changed, 188 insertions, 0 deletions
diff --git a/src/node_modules/inversify/es/annotation/decorator_utils.js b/src/node_modules/inversify/es/annotation/decorator_utils.js new file mode 100644 index 0000000..f0c93a2 --- /dev/null +++ b/src/node_modules/inversify/es/annotation/decorator_utils.js @@ -0,0 +1,54 @@ +import * as ERROR_MSGS from "../constants/error_msgs"; +import * as METADATA_KEY from "../constants/metadata_keys"; +function tagParameter(annotationTarget, propertyName, parameterIndex, metadata) { + var metadataKey = METADATA_KEY.TAGGED; + _tagParameterOrProperty(metadataKey, annotationTarget, propertyName, metadata, parameterIndex); +} +function tagProperty(annotationTarget, propertyName, metadata) { + var metadataKey = METADATA_KEY.TAGGED_PROP; + _tagParameterOrProperty(metadataKey, annotationTarget.constructor, propertyName, metadata); +} +function _tagParameterOrProperty(metadataKey, annotationTarget, propertyName, metadata, parameterIndex) { + var paramsOrPropertiesMetadata = {}; + var isParameterDecorator = (typeof parameterIndex === "number"); + var key = (parameterIndex !== undefined && isParameterDecorator) ? parameterIndex.toString() : propertyName; + if (isParameterDecorator && propertyName !== undefined) { + throw new Error(ERROR_MSGS.INVALID_DECORATOR_OPERATION); + } + if (Reflect.hasOwnMetadata(metadataKey, annotationTarget)) { + paramsOrPropertiesMetadata = Reflect.getMetadata(metadataKey, annotationTarget); + } + var paramOrPropertyMetadata = paramsOrPropertiesMetadata[key]; + if (!Array.isArray(paramOrPropertyMetadata)) { + paramOrPropertyMetadata = []; + } + else { + for (var _i = 0, paramOrPropertyMetadata_1 = paramOrPropertyMetadata; _i < paramOrPropertyMetadata_1.length; _i++) { + var m = paramOrPropertyMetadata_1[_i]; + if (m.key === metadata.key) { + throw new Error(ERROR_MSGS.DUPLICATED_METADATA + " " + m.key.toString()); + } + } + } + paramOrPropertyMetadata.push(metadata); + paramsOrPropertiesMetadata[key] = paramOrPropertyMetadata; + Reflect.defineMetadata(metadataKey, paramsOrPropertiesMetadata, annotationTarget); +} +function _decorate(decorators, target) { + Reflect.decorate(decorators, target); +} +function _param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); }; +} +function decorate(decorator, target, parameterIndex) { + if (typeof parameterIndex === "number") { + _decorate([_param(parameterIndex, decorator)], target); + } + else if (typeof parameterIndex === "string") { + Reflect.decorate([decorator], target, parameterIndex); + } + else { + _decorate([decorator], target); + } +} +export { decorate, tagParameter, tagProperty }; diff --git a/src/node_modules/inversify/es/annotation/inject.js b/src/node_modules/inversify/es/annotation/inject.js new file mode 100644 index 0000000..6a880b1 --- /dev/null +++ b/src/node_modules/inversify/es/annotation/inject.js @@ -0,0 +1,29 @@ +import { UNDEFINED_INJECT_ANNOTATION } from "../constants/error_msgs"; +import * as METADATA_KEY from "../constants/metadata_keys"; +import { Metadata } from "../planning/metadata"; +import { tagParameter, tagProperty } from "./decorator_utils"; +var LazyServiceIdentifer = (function () { + function LazyServiceIdentifer(cb) { + this._cb = cb; + } + LazyServiceIdentifer.prototype.unwrap = function () { + return this._cb(); + }; + return LazyServiceIdentifer; +}()); +export { LazyServiceIdentifer }; +function inject(serviceIdentifier) { + return function (target, targetKey, index) { + if (serviceIdentifier === undefined) { + throw new Error(UNDEFINED_INJECT_ANNOTATION(target.name)); + } + var metadata = new Metadata(METADATA_KEY.INJECT_TAG, serviceIdentifier); + if (typeof index === "number") { + tagParameter(target, targetKey, index, metadata); + } + else { + tagProperty(target, targetKey, metadata); + } + }; +} +export { inject }; diff --git a/src/node_modules/inversify/es/annotation/injectable.js b/src/node_modules/inversify/es/annotation/injectable.js new file mode 100644 index 0000000..0598aaf --- /dev/null +++ b/src/node_modules/inversify/es/annotation/injectable.js @@ -0,0 +1,13 @@ +import * as ERRORS_MSGS from "../constants/error_msgs"; +import * as METADATA_KEY from "../constants/metadata_keys"; +function injectable() { + return function (target) { + if (Reflect.hasOwnMetadata(METADATA_KEY.PARAM_TYPES, target)) { + throw new Error(ERRORS_MSGS.DUPLICATED_INJECTABLE_DECORATOR); + } + var types = Reflect.getMetadata(METADATA_KEY.DESIGN_PARAM_TYPES, target) || []; + Reflect.defineMetadata(METADATA_KEY.PARAM_TYPES, types, target); + return target; + }; +} +export { injectable }; diff --git a/src/node_modules/inversify/es/annotation/multi_inject.js b/src/node_modules/inversify/es/annotation/multi_inject.js new file mode 100644 index 0000000..787374d --- /dev/null +++ b/src/node_modules/inversify/es/annotation/multi_inject.js @@ -0,0 +1,15 @@ +import * as METADATA_KEY from "../constants/metadata_keys"; +import { Metadata } from "../planning/metadata"; +import { tagParameter, tagProperty } from "./decorator_utils"; +function multiInject(serviceIdentifier) { + return function (target, targetKey, index) { + var metadata = new Metadata(METADATA_KEY.MULTI_INJECT_TAG, serviceIdentifier); + if (typeof index === "number") { + tagParameter(target, targetKey, index, metadata); + } + else { + tagProperty(target, targetKey, metadata); + } + }; +} +export { multiInject }; diff --git a/src/node_modules/inversify/es/annotation/named.js b/src/node_modules/inversify/es/annotation/named.js new file mode 100644 index 0000000..d09f940 --- /dev/null +++ b/src/node_modules/inversify/es/annotation/named.js @@ -0,0 +1,15 @@ +import * as METADATA_KEY from "../constants/metadata_keys"; +import { Metadata } from "../planning/metadata"; +import { tagParameter, tagProperty } from "./decorator_utils"; +function named(name) { + return function (target, targetKey, index) { + var metadata = new Metadata(METADATA_KEY.NAMED_TAG, name); + if (typeof index === "number") { + tagParameter(target, targetKey, index, metadata); + } + else { + tagProperty(target, targetKey, metadata); + } + }; +} +export { named }; diff --git a/src/node_modules/inversify/es/annotation/optional.js b/src/node_modules/inversify/es/annotation/optional.js new file mode 100644 index 0000000..e99a21d --- /dev/null +++ b/src/node_modules/inversify/es/annotation/optional.js @@ -0,0 +1,15 @@ +import * as METADATA_KEY from "../constants/metadata_keys"; +import { Metadata } from "../planning/metadata"; +import { tagParameter, tagProperty } from "./decorator_utils"; +function optional() { + return function (target, targetKey, index) { + var metadata = new Metadata(METADATA_KEY.OPTIONAL_TAG, true); + if (typeof index === "number") { + tagParameter(target, targetKey, index, metadata); + } + else { + tagProperty(target, targetKey, metadata); + } + }; +} +export { optional }; diff --git a/src/node_modules/inversify/es/annotation/post_construct.js b/src/node_modules/inversify/es/annotation/post_construct.js new file mode 100644 index 0000000..5b1ce09 --- /dev/null +++ b/src/node_modules/inversify/es/annotation/post_construct.js @@ -0,0 +1,13 @@ +import * as ERRORS_MSGS from "../constants/error_msgs"; +import * as METADATA_KEY from "../constants/metadata_keys"; +import { Metadata } from "../planning/metadata"; +function postConstruct() { + return function (target, propertyKey, descriptor) { + var metadata = new Metadata(METADATA_KEY.POST_CONSTRUCT, propertyKey); + if (Reflect.hasOwnMetadata(METADATA_KEY.POST_CONSTRUCT, target.constructor)) { + throw new Error(ERRORS_MSGS.MULTIPLE_POST_CONSTRUCT_METHODS); + } + Reflect.defineMetadata(METADATA_KEY.POST_CONSTRUCT, metadata, target.constructor); + }; +} +export { postConstruct }; diff --git a/src/node_modules/inversify/es/annotation/tagged.js b/src/node_modules/inversify/es/annotation/tagged.js new file mode 100644 index 0000000..104c123 --- /dev/null +++ b/src/node_modules/inversify/es/annotation/tagged.js @@ -0,0 +1,14 @@ +import { Metadata } from "../planning/metadata"; +import { tagParameter, tagProperty } from "./decorator_utils"; +function tagged(metadataKey, metadataValue) { + return function (target, targetKey, index) { + var metadata = new Metadata(metadataKey, metadataValue); + if (typeof index === "number") { + tagParameter(target, targetKey, index, metadata); + } + else { + tagProperty(target, targetKey, metadata); + } + }; +} +export { tagged }; diff --git a/src/node_modules/inversify/es/annotation/target_name.js b/src/node_modules/inversify/es/annotation/target_name.js new file mode 100644 index 0000000..02785eb --- /dev/null +++ b/src/node_modules/inversify/es/annotation/target_name.js @@ -0,0 +1,10 @@ +import * as METADATA_KEY from "../constants/metadata_keys"; +import { Metadata } from "../planning/metadata"; +import { tagParameter } from "./decorator_utils"; +function targetName(name) { + return function (target, targetKey, index) { + var metadata = new Metadata(METADATA_KEY.NAME_TAG, name); + tagParameter(target, targetKey, index, metadata); + }; +} +export { targetName }; diff --git a/src/node_modules/inversify/es/annotation/unmanaged.js b/src/node_modules/inversify/es/annotation/unmanaged.js new file mode 100644 index 0000000..e158351 --- /dev/null +++ b/src/node_modules/inversify/es/annotation/unmanaged.js @@ -0,0 +1,10 @@ +import * as METADATA_KEY from "../constants/metadata_keys"; +import { Metadata } from "../planning/metadata"; +import { tagParameter } from "./decorator_utils"; +function unmanaged() { + return function (target, targetKey, index) { + var metadata = new Metadata(METADATA_KEY.UNMANAGED_TAG, true); + tagParameter(target, targetKey, index, metadata); + }; +} +export { unmanaged }; |