Browse Source

refactor: removes redundant utilities

e22m4u 1 week ago
parent
commit
dd9972a36a

+ 2 - 92
dist/cjs/index.cjs

@@ -38,18 +38,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
 var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
 var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
 var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
 var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
 
 
-// src/utils/is-ctor.js
-function isCtor(value) {
-  if (!value) return false;
-  return typeof value === "function" && "prototype" in value;
-}
-var init_is_ctor = __esm({
-  "src/utils/is-ctor.js"() {
-    "use strict";
-    __name(isCtor, "isCtor");
-  }
-});
-
 // src/utils/is-promise.js
 // src/utils/is-promise.js
 function isPromise(value) {
 function isPromise(value) {
   if (!value) return false;
   if (!value) return false;
@@ -192,19 +180,6 @@ var init_is_deep_equal = __esm({
   }
   }
 });
 });
 
 
-// src/utils/get-ctor-name.js
-function getCtorName(value) {
-  if (value === null) return "Null";
-  if (value === void 0) return "Undefined";
-  return value.constructor && value.constructor.name || void 0;
-}
-var init_get_ctor_name = __esm({
-  "src/utils/get-ctor-name.js"() {
-    "use strict";
-    __name(getCtorName, "getCtorName");
-  }
-});
-
 // src/errors/not-implemented-error.js
 // src/errors/not-implemented-error.js
 var import_js_format, _NotImplementedError, NotImplementedError;
 var import_js_format, _NotImplementedError, NotImplementedError;
 var init_not_implemented_error = __esm({
 var init_not_implemented_error = __esm({
@@ -362,18 +337,6 @@ var init_get_value_by_path = __esm({
   }
   }
 });
 });
 
 
-// src/utils/transform-promise.js
-function transformPromise(valueOrPromise, transformer) {
-  return isPromise(valueOrPromise) ? valueOrPromise.then(transformer) : transformer(valueOrPromise);
-}
-var init_transform_promise = __esm({
-  "src/utils/transform-promise.js"() {
-    "use strict";
-    init_is_promise();
-    __name(transformPromise, "transformPromise");
-  }
-});
-
 // src/utils/select-object-keys.js
 // src/utils/select-object-keys.js
 function selectObjectKeys(obj, keys) {
 function selectObjectKeys(obj, keys) {
   if (!obj || typeof obj !== "object" || Array.isArray(obj))
   if (!obj || typeof obj !== "object" || Array.isArray(obj))
@@ -447,65 +410,22 @@ var init_model_name_to_model_key = __esm({
   }
   }
 });
 });
 
 
-// src/utils/get-decorator-target-type.js
-function getDecoratorTargetType(target, propertyKey, descriptorOrIndex) {
-  const isCtor2 = typeof target === "function";
-  const isParameter = typeof descriptorOrIndex === "number";
-  const isProperty = propertyKey != null && descriptorOrIndex == null;
-  const isMethod = propertyKey != null && descriptorOrIndex != null;
-  const D = DecoratorTargetType;
-  if (isCtor2) {
-    if (isParameter)
-      return propertyKey ? D.STATIC_METHOD_PARAMETER : D.CONSTRUCTOR_PARAMETER;
-    if (isProperty) return D.STATIC_PROPERTY;
-    if (isMethod) return D.STATIC_METHOD;
-    return D.CONSTRUCTOR;
-  } else {
-    if (isParameter) return D.INSTANCE_METHOD_PARAMETER;
-    if (isProperty) return D.INSTANCE_PROPERTY;
-    if (isMethod) return D.INSTANCE_METHOD;
-    return D.INSTANCE;
-  }
-}
-var DecoratorTargetType;
-var init_get_decorator_target_type = __esm({
-  "src/utils/get-decorator-target-type.js"() {
-    "use strict";
-    DecoratorTargetType = {
-      CONSTRUCTOR: "constructor",
-      INSTANCE: "instance",
-      STATIC_METHOD: "staticMethod",
-      INSTANCE_METHOD: "instanceMethod",
-      STATIC_PROPERTY: "staticProperty",
-      INSTANCE_PROPERTY: "instanceProperty",
-      CONSTRUCTOR_PARAMETER: "constructorParameter",
-      STATIC_METHOD_PARAMETER: "staticMethodParameter",
-      INSTANCE_METHOD_PARAMETER: "instanceMethodParameter"
-    };
-    __name(getDecoratorTargetType, "getDecoratorTargetType");
-  }
-});
-
 // src/utils/index.js
 // src/utils/index.js
 var init_utils = __esm({
 var init_utils = __esm({
   "src/utils/index.js"() {
   "src/utils/index.js"() {
     "use strict";
     "use strict";
-    init_is_ctor();
     init_is_promise();
     init_is_promise();
     init_capitalize();
     init_capitalize();
     init_clone_deep();
     init_clone_deep();
     init_singularize();
     init_singularize();
     init_is_deep_equal();
     init_is_deep_equal();
-    init_get_ctor_name();
     init_like_to_regexp();
     init_like_to_regexp();
     init_is_plain_object();
     init_is_plain_object();
     init_string_to_regexp();
     init_string_to_regexp();
     init_get_value_by_path();
     init_get_value_by_path();
-    init_transform_promise();
     init_select_object_keys();
     init_select_object_keys();
     init_exclude_object_keys();
     init_exclude_object_keys();
     init_model_name_to_model_key();
     init_model_name_to_model_key();
-    init_get_decorator_target_type();
   }
   }
 });
 });
 
 
@@ -5510,7 +5430,6 @@ __export(index_exports, {
   DataType: () => DataType,
   DataType: () => DataType,
   DatabaseSchema: () => DatabaseSchema,
   DatabaseSchema: () => DatabaseSchema,
   DatasourceDefinitionValidator: () => DatasourceDefinitionValidator,
   DatasourceDefinitionValidator: () => DatasourceDefinitionValidator,
-  DecoratorTargetType: () => DecoratorTargetType,
   DefinitionRegistry: () => DefinitionRegistry,
   DefinitionRegistry: () => DefinitionRegistry,
   FieldsClauseTool: () => FieldsClauseTool,
   FieldsClauseTool: () => FieldsClauseTool,
   HasManyResolver: () => HasManyResolver,
   HasManyResolver: () => HasManyResolver,
@@ -5538,10 +5457,7 @@ __export(index_exports, {
   capitalize: () => capitalize,
   capitalize: () => capitalize,
   cloneDeep: () => cloneDeep,
   cloneDeep: () => cloneDeep,
   excludeObjectKeys: () => excludeObjectKeys,
   excludeObjectKeys: () => excludeObjectKeys,
-  getCtorName: () => getCtorName,
-  getDecoratorTargetType: () => getDecoratorTargetType,
   getValueByPath: () => getValueByPath,
   getValueByPath: () => getValueByPath,
-  isCtor: () => isCtor,
   isDeepEqual: () => isDeepEqual,
   isDeepEqual: () => isDeepEqual,
   isPlainObject: () => isPlainObject,
   isPlainObject: () => isPlainObject,
   isPromise: () => isPromise,
   isPromise: () => isPromise,
@@ -5549,8 +5465,7 @@ __export(index_exports, {
   modelNameToModelKey: () => modelNameToModelKey,
   modelNameToModelKey: () => modelNameToModelKey,
   selectObjectKeys: () => selectObjectKeys,
   selectObjectKeys: () => selectObjectKeys,
   singularize: () => singularize,
   singularize: () => singularize,
-  stringToRegexp: () => stringToRegexp,
-  transformPromise: () => transformPromise
+  stringToRegexp: () => stringToRegexp
 });
 });
 module.exports = __toCommonJS(index_exports);
 module.exports = __toCommonJS(index_exports);
 init_utils();
 init_utils();
@@ -5612,7 +5527,6 @@ init_repository2();
   DataType,
   DataType,
   DatabaseSchema,
   DatabaseSchema,
   DatasourceDefinitionValidator,
   DatasourceDefinitionValidator,
-  DecoratorTargetType,
   DefinitionRegistry,
   DefinitionRegistry,
   FieldsClauseTool,
   FieldsClauseTool,
   HasManyResolver,
   HasManyResolver,
@@ -5640,10 +5554,7 @@ init_repository2();
   capitalize,
   capitalize,
   cloneDeep,
   cloneDeep,
   excludeObjectKeys,
   excludeObjectKeys,
-  getCtorName,
-  getDecoratorTargetType,
   getValueByPath,
   getValueByPath,
-  isCtor,
   isDeepEqual,
   isDeepEqual,
   isPlainObject,
   isPlainObject,
   isPromise,
   isPromise,
@@ -5651,6 +5562,5 @@ init_repository2();
   modelNameToModelKey,
   modelNameToModelKey,
   selectObjectKeys,
   selectObjectKeys,
   singularize,
   singularize,
-  stringToRegexp,
-  transformPromise
+  stringToRegexp
 });
 });

+ 0 - 6
src/utils/get-ctor-name.d.ts

@@ -1,6 +0,0 @@
-/**
- * Get ctor name.
- *
- * @param value
- */
-export declare function getCtorName(value: unknown): string | undefined;

+ 0 - 11
src/utils/get-ctor-name.js

@@ -1,11 +0,0 @@
-/**
- * Get ctor name.
- *
- * @param {*} value
- * @returns {string|undefined}
- */
-export function getCtorName(value) {
-  if (value === null) return 'Null';
-  if (value === undefined) return 'Undefined';
-  return (value.constructor && value.constructor.name) || undefined;
-}

+ 0 - 17
src/utils/get-ctor-name.spec.js

@@ -1,17 +0,0 @@
-import {expect} from 'chai';
-import {getCtorName} from './get-ctor-name.js';
-
-describe('getCtorName', function () {
-  it('returns a constructor name of a given value', function () {
-    expect(getCtorName({})).to.be.eq('Object');
-    expect(getCtorName(new Date())).to.be.eq('Date');
-    expect(getCtorName([])).to.be.eq('Array');
-    expect(getCtorName(() => undefined)).to.be.eq('Function');
-    expect(getCtorName('string')).to.be.eq('String');
-    expect(getCtorName(10)).to.be.eq('Number');
-    expect(getCtorName(true)).to.be.eq('Boolean');
-    expect(getCtorName(false)).to.be.eq('Boolean');
-    expect(getCtorName(null)).to.be.eq('Null');
-    expect(getCtorName(undefined)).to.be.eq('Undefined');
-  });
-});

+ 0 - 27
src/utils/get-decorator-target-type.d.ts

@@ -1,27 +0,0 @@
-/**
- * Decorator target type.
- */
-export declare enum DecoratorTargetType {
-  CONSTRUCTOR = 'constructor',
-  INSTANCE = 'instance',
-  STATIC_METHOD = 'staticMethod',
-  INSTANCE_METHOD = 'instanceMethod',
-  STATIC_PROPERTY = 'staticProperty',
-  INSTANCE_PROPERTY = 'instanceProperty',
-  CONSTRUCTOR_PARAMETER = 'constructorParameter',
-  STATIC_METHOD_PARAMETER = 'staticMethodParameter',
-  INSTANCE_METHOD_PARAMETER = 'instanceMethodParameter',
-}
-
-/**
- * Get decorator target type.
- *
- * @param target
- * @param propertyKey
- * @param descriptorOrIndex
- */
-export declare function getDecoratorTargetType(
-  target: object,
-  propertyKey?: string,
-  descriptorOrIndex?: PropertyDescriptor | number,
-): DecoratorTargetType;

+ 0 - 63
src/utils/get-decorator-target-type.js

@@ -1,63 +0,0 @@
-/**
- * @typedef {object} PropertyDescriptor
- * @property {boolean|undefined} configurable
- * @property {boolean|undefined} enumerable
- * @property {*} value
- * @property {boolean|undefined} writable
- * @property {Function} get
- * @property {Function} set
- */
-
-/**
- * Decorator target type.
- *
- * @enum {string}
- * @property {string} CONSTRUCTOR
- * @property {string} INSTANCE
- * @property {string} STATIC_METHOD
- * @property {string} INSTANCE_METHOD
- * @property {string} STATIC_PROPERTY
- * @property {string} INSTANCE_PROPERTY
- * @property {string} CONSTRUCTOR_PARAMETER
- * @property {string} STATIC_METHOD_PARAMETER
- * @property {string} INSTANCE_METHOD_PARAMETER
- */
-export const DecoratorTargetType = {
-  CONSTRUCTOR: 'constructor',
-  INSTANCE: 'instance',
-  STATIC_METHOD: 'staticMethod',
-  INSTANCE_METHOD: 'instanceMethod',
-  STATIC_PROPERTY: 'staticProperty',
-  INSTANCE_PROPERTY: 'instanceProperty',
-  CONSTRUCTOR_PARAMETER: 'constructorParameter',
-  STATIC_METHOD_PARAMETER: 'staticMethodParameter',
-  INSTANCE_METHOD_PARAMETER: 'instanceMethodParameter',
-};
-
-/**
- * Get decorator target type.
- *
- * @param {object} target
- * @param {string|undefined} propertyKey
- * @param {PropertyDescriptor|number|undefined} descriptorOrIndex
- * @returns {DecoratorTargetType}
- */
-export function getDecoratorTargetType(target, propertyKey, descriptorOrIndex) {
-  const isCtor = typeof target === 'function';
-  const isParameter = typeof descriptorOrIndex === 'number';
-  const isProperty = propertyKey != null && descriptorOrIndex == null;
-  const isMethod = propertyKey != null && descriptorOrIndex != null;
-  const D = DecoratorTargetType;
-  if (isCtor) {
-    if (isParameter)
-      return propertyKey ? D.STATIC_METHOD_PARAMETER : D.CONSTRUCTOR_PARAMETER;
-    if (isProperty) return D.STATIC_PROPERTY;
-    if (isMethod) return D.STATIC_METHOD;
-    return D.CONSTRUCTOR;
-  } else {
-    if (isParameter) return D.INSTANCE_METHOD_PARAMETER;
-    if (isProperty) return D.INSTANCE_PROPERTY;
-    if (isMethod) return D.INSTANCE_METHOD;
-    return D.INSTANCE;
-  }
-}

+ 0 - 80
src/utils/get-decorator-target-type.spec.js

@@ -1,80 +0,0 @@
-import {expect} from 'chai';
-import {getDecoratorTargetType} from './get-decorator-target-type.js';
-import {DecoratorTargetType as DTT} from './get-decorator-target-type.js';
-
-describe('getDecoratorTargetType', function () {
-  const validate = function (value) {
-    return function (target, propertyKey, descriptorOrIndex) {
-      const type = getDecoratorTargetType(
-        target,
-        propertyKey,
-        descriptorOrIndex,
-      );
-      expect(value).to.be.eq(type);
-    };
-  };
-
-  it('returns CONSTRUCTOR', function () {
-    class Target {}
-    validate(DTT.CONSTRUCTOR)(Target);
-  });
-
-  it('returns INSTANCE', function () {
-    class Target {}
-    validate(DTT.INSTANCE)(Target.prototype);
-  });
-
-  it('returns STATIC_METHOD', function () {
-    class Target {
-      static method() {}
-    }
-    const desc = Object.getOwnPropertyDescriptor(Target, 'method');
-    validate(DTT.STATIC_METHOD)(Target, 'method', desc);
-  });
-
-  it('returns INSTANCE_METHOD', function () {
-    class Target {
-      method() {}
-    }
-    const desc = Object.getOwnPropertyDescriptor(Target.prototype, 'method');
-    validate(DTT.INSTANCE_METHOD)(Target.prototype, 'method', desc);
-  });
-
-  it('returns STATIC_PROPERTY', function () {
-    class Target {
-      static prop;
-    }
-    validate(DTT.STATIC_PROPERTY)(Target, 'prop');
-  });
-
-  it('returns INSTANCE_PROPERTY', function () {
-    class Target {
-      prop;
-    }
-    validate(DTT.INSTANCE_PROPERTY)(Target.prototype, 'prop');
-  });
-
-  it('returns CONSTRUCTOR_PARAMETER', function () {
-    class Target {
-      // eslint-disable-next-line no-unused-vars
-      constructor(param) {}
-    }
-    validate(DTT.CONSTRUCTOR_PARAMETER)(Target, undefined, 0);
-  });
-
-  it('returns STATIC_METHOD_PARAMETER', function () {
-    class Target {
-      // eslint-disable-next-line no-unused-vars
-      static method(param) {}
-    }
-    validate(DTT.STATIC_METHOD_PARAMETER)(Target, 'method', 0);
-  });
-
-  it('returns INSTANCE_METHOD_PARAMETER', function () {
-    class Target {
-      // eslint-disable-next-line no-unused-vars
-      method(param) {}
-    }
-    validate(DTT.INSTANCE_METHOD_PARAMETER)(Target.prototype, 'method', 0);
-  });
-});

+ 0 - 4
src/utils/index.d.ts

@@ -1,16 +1,12 @@
-export * from './is-ctor.js';
 export * from './is-promise.js';
 export * from './is-promise.js';
 export * from './capitalize.js';
 export * from './capitalize.js';
 export * from './clone-deep.js';
 export * from './clone-deep.js';
 export * from './singularize.js';
 export * from './singularize.js';
 export * from './is-deep-equal.js';
 export * from './is-deep-equal.js';
-export * from './get-ctor-name.js';
 export * from './like-to-regexp.js';
 export * from './like-to-regexp.js';
 export * from './is-plain-object.js';
 export * from './is-plain-object.js';
 export * from './string-to-regexp.js';
 export * from './string-to-regexp.js';
 export * from './get-value-by-path.js';
 export * from './get-value-by-path.js';
-export * from './transform-promise.js';
 export * from './select-object-keys.js';
 export * from './select-object-keys.js';
 export * from './exclude-object-keys.js';
 export * from './exclude-object-keys.js';
 export * from './model-name-to-model-key.js';
 export * from './model-name-to-model-key.js';
-export * from './get-decorator-target-type.js';

+ 0 - 4
src/utils/index.js

@@ -1,16 +1,12 @@
-export * from './is-ctor.js';
 export * from './is-promise.js';
 export * from './is-promise.js';
 export * from './capitalize.js';
 export * from './capitalize.js';
 export * from './clone-deep.js';
 export * from './clone-deep.js';
 export * from './singularize.js';
 export * from './singularize.js';
 export * from './is-deep-equal.js';
 export * from './is-deep-equal.js';
-export * from './get-ctor-name.js';
 export * from './like-to-regexp.js';
 export * from './like-to-regexp.js';
 export * from './is-plain-object.js';
 export * from './is-plain-object.js';
 export * from './string-to-regexp.js';
 export * from './string-to-regexp.js';
 export * from './get-value-by-path.js';
 export * from './get-value-by-path.js';
-export * from './transform-promise.js';
 export * from './select-object-keys.js';
 export * from './select-object-keys.js';
 export * from './exclude-object-keys.js';
 export * from './exclude-object-keys.js';
 export * from './model-name-to-model-key.js';
 export * from './model-name-to-model-key.js';
-export * from './get-decorator-target-type.js';

+ 0 - 8
src/utils/is-ctor.d.ts

@@ -1,8 +0,0 @@
-/**
- * Returns true if the given value
- * is a constructor function or a class.
- *
- * @param {*} value
- * @returns {boolean}
- */
-export declare function isCtor(value: unknown): boolean;

+ 0 - 11
src/utils/is-ctor.js

@@ -1,11 +0,0 @@
-/**
- * Returns true if the given value
- * is a constructor function or a class.
- *
- * @param {*} value
- * @returns {boolean}
- */
-export function isCtor(value) {
-  if (!value) return false;
-  return typeof value === 'function' && 'prototype' in value;
-}

+ 0 - 26
src/utils/is-ctor.spec.js

@@ -1,26 +0,0 @@
-import {expect} from 'chai';
-import {isCtor} from './is-ctor.js';
-
-describe('isCtor', function () {
-  it('returns true if a given value is a constructor', function () {
-    expect(isCtor(Date)).to.be.true;
-    expect(isCtor(Number)).to.be.true;
-    expect(isCtor(String)).to.be.true;
-    class MyClass {}
-    expect(isCtor(MyClass)).to.be.true;
-    // eslint-disable-next-line jsdoc/require-jsdoc
-    function FunctionCtor() {}
-    expect(isCtor(FunctionCtor)).to.be.true;
-  });
-
-  it('returns false if a given value is not a constructor', function () {
-    expect(isCtor(() => undefined)).to.be.false;
-    expect(isCtor('string')).to.be.false;
-    expect(isCtor(10)).to.be.false;
-    expect(isCtor(true)).to.be.false;
-    expect(isCtor({})).to.be.false;
-    expect(isCtor([])).to.be.false;
-    expect(isCtor(undefined)).to.be.false;
-    expect(isCtor(null)).to.be.false;
-  });
-});

+ 0 - 13
src/utils/transform-promise.d.ts

@@ -1,13 +0,0 @@
-import {ValueOrPromise} from '../types.js';
-
-/**
- * Transform a value or promise with a function that
- * produces a new value or promise.
- *
- * @param valueOrPromise
- * @param transformer
- */
-export declare function transformPromise<T, V>(
-  valueOrPromise: ValueOrPromise<T>,
-  transformer: (val: T) => ValueOrPromise<V>,
-): ValueOrPromise<V>;

+ 0 - 15
src/utils/transform-promise.js

@@ -1,15 +0,0 @@
-import {isPromise} from './is-promise.js';
-
-/**
- * Transform a value or promise with a function that
- * produces a new value or promise.
- *
- * @param {*} valueOrPromise
- * @param {Function} transformer
- * @returns {*}
- */
-export function transformPromise(valueOrPromise, transformer) {
-  return isPromise(valueOrPromise)
-    ? valueOrPromise.then(transformer)
-    : transformer(valueOrPromise);
-}

+ 0 - 19
src/utils/transform-promise.spec.js

@@ -1,19 +0,0 @@
-import {expect} from 'chai';
-import {transformPromise} from './transform-promise.js';
-
-describe('transformPromise', function () {
-  it('transforms the given value', function () {
-    const value = 'my-value';
-    const transformer = v => v.toUpperCase();
-    const result = transformPromise(value, transformer);
-    expect(result).to.be.eq('MY-VALUE');
-  });
-
-  it('transforms the given promise', async function () {
-    const promise = Promise.resolve('my-value');
-    const transformer = v => v.toUpperCase();
-    const result = await transformPromise(promise, transformer);
-    await promise;
-    expect(result).to.be.eq('MY-VALUE');
-  });
-});

+ 2 - 2
tsconfig.json

@@ -1,11 +1,11 @@
 {
 {
   "compilerOptions": {
   "compilerOptions": {
     "strict": true,
     "strict": true,
-    "rootDir": "src",
     "noEmit": true,
     "noEmit": true,
     "target": "es2022",
     "target": "es2022",
     "module": "NodeNext",
     "module": "NodeNext",
     "moduleResolution": "NodeNext",
     "moduleResolution": "NodeNext",
-    "strictNullChecks": true
+    "strictNullChecks": true,
+    "allowJs": true
   }
   }
 }
 }