@nu-art/ts-common 0.201.41 → 0.201.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/db/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { DB_Object, OmitDBObject, SubsetObjectByKeys, UniqueId } from '../utils/types';
1
+ import { DB_Object, OmitDBObject, SubsetKeys, SubsetObjectByKeys, UniqueId } from '../utils/types';
2
2
  import { ValidatorTypeResolver } from '../validator/validator-core';
3
3
  export type DBIndex<T extends DB_Object> = {
4
4
  id: string;
@@ -14,13 +14,23 @@ export type VersionsDeclaration<T extends DB_Object, Versions extends VersionTyp
14
14
  versions: Versions;
15
15
  types: Types;
16
16
  };
17
- export type Proto_DB_Object<T extends DB_Object, GeneratedKeys extends keyof T, Versions extends VersionsDeclaration<T, any, any>, UniqueKeys extends keyof T = Default_UniqueKey> = {
17
+ export type InnerDependencies<T extends DB_Object, K extends SubsetKeys<keyof T, T, string | string[]>, Proto extends DBProto<any>> = {
18
+ key: K;
19
+ proto: Proto;
20
+ };
21
+ type Exact<T, Shape> = T & {
22
+ [K in Exclude<keyof Shape, keyof T>]?: never;
23
+ };
24
+ export type Proto_DB_Object<T extends DB_Object, GeneratedKeys extends keyof T | never, Versions extends VersionsDeclaration<T, any, any>, UniqueKeys extends keyof T = Default_UniqueKey, Dependencies extends Exact<{
25
+ [K in SubsetKeys<keyof T, T, string | string[]>]?: DBProto<any>;
26
+ }, Dependencies> = never> = {
18
27
  type: T;
19
28
  generatedKeys: GeneratedKeys;
20
29
  versions: Versions;
21
30
  uniqueKeys: UniqueKeys;
31
+ dependencies: Dependencies;
22
32
  };
23
- export type DBProto<P extends Proto_DB_Object<any, any, any, any>, ModifiableSubType = Omit<P['type'], P['generatedKeys'] | keyof DB_Object>, GeneratedSubType = SubsetObjectByKeys<P['type'], P['generatedKeys']>> = {
33
+ export type DBProto<P extends Proto_DB_Object<any, any, any, any, any>, ModifiableSubType = Omit<P['type'], P['generatedKeys'] | keyof DB_Object>, GeneratedSubType = SubsetObjectByKeys<P['type'], P['generatedKeys']>> = {
24
34
  uiType: ModifiableSubType & Partial<GeneratedSubType> & Partial<DB_Object>;
25
35
  dbType: P['type'];
26
36
  generatedPropsValidator: ValidatorTypeResolver<GeneratedSubType>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nu-art/ts-common",
3
- "version": "0.201.41",
3
+ "version": "0.201.43",
4
4
  "description": "js and ts infra",
5
5
  "keywords": [
6
6
  "TacB0sS",
@@ -8,3 +8,4 @@ export declare function capitalizeFirstLetter(value: string): string;
8
8
  export declare function createLevenshteinDistanceMatrix(str1: string, str2: string): number[][];
9
9
  export declare function levenshteinDistance(str1: string, str2: string): number;
10
10
  export declare function normalizeString(string: string): string;
11
+ export declare function convertUpperCamelCase(upperCamelCase: string, delimiter?: string): string;
@@ -17,7 +17,7 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.normalizeString = exports.levenshteinDistance = exports.createLevenshteinDistanceMatrix = exports.capitalizeFirstLetter = exports.capitalizeAllFirstLetters = exports.replaceStringAt = exports.stringFormat = exports.escape_RegExp = exports.stringToHashCode = exports.padNumber = void 0;
20
+ exports.convertUpperCamelCase = exports.normalizeString = exports.levenshteinDistance = exports.createLevenshteinDistanceMatrix = exports.capitalizeFirstLetter = exports.capitalizeAllFirstLetters = exports.replaceStringAt = exports.stringFormat = exports.escape_RegExp = exports.stringToHashCode = exports.padNumber = void 0;
21
21
  function padNumber(num, length) {
22
22
  const _num = num.toString();
23
23
  return _num.length < length ? padNumber('0' + _num, length) : _num;
@@ -96,3 +96,7 @@ function normalizeString(string) {
96
96
  return string.replace(/–/g, '-').replace(/\n/g, '').replace(/\s+/g, ' ').replace(/’/g, '\'').trim();
97
97
  }
98
98
  exports.normalizeString = normalizeString;
99
+ function convertUpperCamelCase(upperCamelCase, delimiter = ' ') {
100
+ return upperCamelCase.replace(/([a-z0-9])([A-Z])/g, `$1${delimiter}$2`);
101
+ }
102
+ exports.convertUpperCamelCase = convertUpperCamelCase;
package/utils/tools.d.ts CHANGED
@@ -13,6 +13,7 @@ export declare const functionThatReturnsTrue: () => true;
13
13
  export declare const resolveContent: <T extends unknown = any>(content: ResolvableContent<T>) => T;
14
14
  export declare const resolveFunctionOrValue: <T extends unknown = any>(content: ResolvableContent<T>) => T;
15
15
  export declare function exists<T extends any = any>(item: T | undefined | null): item is T;
16
+ export declare function freeze<T extends any = any>(item: T): Readonly<T>;
16
17
  export declare const logicalXOR: (a: boolean, b: boolean) => boolean;
17
18
  export type KeyBinder<K extends string, Type> = {
18
19
  Key: K;
package/utils/tools.js CHANGED
@@ -26,7 +26,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
26
26
  });
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.logicalXOR = exports.exists = exports.resolveFunctionOrValue = exports.resolveContent = exports.functionThatReturnsTrue = exports.functionThatReturnsFalse = exports.voidFunction = exports.EmptyArray = exports.EmptyObject = exports.__stringify = exports.calculateJsonSizeMb = exports.createFilterPattern = exports.regexpCase = void 0;
29
+ exports.logicalXOR = exports.freeze = exports.exists = exports.resolveFunctionOrValue = exports.resolveContent = exports.functionThatReturnsTrue = exports.functionThatReturnsFalse = exports.voidFunction = exports.EmptyArray = exports.EmptyObject = exports.__stringify = exports.calculateJsonSizeMb = exports.createFilterPattern = exports.regexpCase = void 0;
30
30
  const object_tools_1 = require("./object-tools");
31
31
  function regexpCase(value, reg) {
32
32
  return value.match(new RegExp(reg)) || { input: undefined };
@@ -73,6 +73,10 @@ function exists(item) {
73
73
  return item !== undefined && item !== null;
74
74
  }
75
75
  exports.exists = exists;
76
+ function freeze(item) {
77
+ return Object.freeze(item);
78
+ }
79
+ exports.freeze = freeze;
76
80
  const logicalXOR = (a, b) => {
77
81
  return (a && !b) || (!a && b);
78
82
  };
@@ -20,6 +20,7 @@ export declare const tsValidateStringWithDashes: Validator<string>;
20
20
  export declare const tsValidateStringAndNumbersWithDashes: Validator<string>;
21
21
  export declare const tsValidator_JavaObjectMemberName: Validator<string>;
22
22
  export declare const tsValidateNameWithDashesAndDots: Validator<string>;
23
+ export declare const tsValidateNameWithDashesAndDotsAndNumbers: Validator<string>;
23
24
  export declare const tsValidator_LowercaseStringWithDashes: Validator<string>;
24
25
  export declare const tsValidator_LowerUpperStringWithSpaces: Validator<string>;
25
26
  export declare const tsValidator_LowerUpperStringWithDashesAndUnderscore: Validator<string>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DB_Object_validator = exports.tsValidator_AuditableV2 = exports.tsValidator_InternationalPhoneNumber = exports.tsValidator_LowerUpperStringWithDashesAndUnderscore = exports.tsValidator_LowerUpperStringWithSpaces = exports.tsValidator_LowercaseStringWithDashes = exports.tsValidateNameWithDashesAndDots = exports.tsValidator_JavaObjectMemberName = exports.tsValidateStringAndNumbersWithDashes = exports.tsValidateStringWithDashes = exports.tsValidateOptionalId = exports.tsValidate_optionalArrayOfUniqueIds = exports.tsValidator_arrayOfUniqueIds = exports.tsValidateUniqueId = exports.tsValidateVersion = exports.tsValidateGeneralUrl = exports.tsValidateBucketUrl = exports.tsValidateEmail = exports.tsValidateId = exports.dbIdLength = exports.tsValidateOptional = exports.tsValidateMustExist = exports.tsValidator_colorHex = exports.tsValidateMD5 = exports.tsValidator_nonMandatoryString = exports.tsValidate_OptionalArray = void 0;
3
+ exports.DB_Object_validator = exports.tsValidator_AuditableV2 = exports.tsValidator_InternationalPhoneNumber = exports.tsValidator_LowerUpperStringWithDashesAndUnderscore = exports.tsValidator_LowerUpperStringWithSpaces = exports.tsValidator_LowercaseStringWithDashes = exports.tsValidateNameWithDashesAndDotsAndNumbers = exports.tsValidateNameWithDashesAndDots = exports.tsValidator_JavaObjectMemberName = exports.tsValidateStringAndNumbersWithDashes = exports.tsValidateStringWithDashes = exports.tsValidateOptionalId = exports.tsValidate_optionalArrayOfUniqueIds = exports.tsValidator_arrayOfUniqueIds = exports.tsValidateUniqueId = exports.tsValidateVersion = exports.tsValidateGeneralUrl = exports.tsValidateBucketUrl = exports.tsValidateEmail = exports.tsValidateId = exports.dbIdLength = exports.tsValidateOptional = exports.tsValidateMustExist = exports.tsValidator_colorHex = exports.tsValidateMD5 = exports.tsValidator_nonMandatoryString = exports.tsValidate_OptionalArray = void 0;
4
4
  const validator_core_1 = require("./validator-core");
5
5
  const type_validators_1 = require("./type-validators");
6
6
  const tsValidate_OptionalArray = (validator) => (0, type_validators_1.tsValidateArray)(validator, false);
@@ -30,6 +30,7 @@ exports.tsValidateStringWithDashes = (0, type_validators_1.tsValidateRegexp)(/^[
30
30
  exports.tsValidateStringAndNumbersWithDashes = (0, type_validators_1.tsValidateRegexp)(/^[0-9A-Za-z-]+$/);
31
31
  exports.tsValidator_JavaObjectMemberName = (0, type_validators_1.tsValidateRegexp)(/^[a-z][a-zA-Z0-9]+$/);
32
32
  exports.tsValidateNameWithDashesAndDots = (0, type_validators_1.tsValidateRegexp)(/^[a-z-.]+$/);
33
+ exports.tsValidateNameWithDashesAndDotsAndNumbers = (0, type_validators_1.tsValidateRegexp)(/^[a-z0-9-.]+$/);
33
34
  exports.tsValidator_LowercaseStringWithDashes = (0, type_validators_1.tsValidateRegexp)(/^[a-z-.]+$/);
34
35
  exports.tsValidator_LowerUpperStringWithSpaces = (0, type_validators_1.tsValidateRegexp)(/^[A-Za-z ]+$/);
35
36
  exports.tsValidator_LowerUpperStringWithDashesAndUnderscore = (0, type_validators_1.tsValidateRegexp)(/^[A-Za-z-_]+$/);