badmfck-api-server 3.9.8 → 3.9.82

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.
@@ -93,7 +93,7 @@ async function Initializer(services) {
93
93
  }
94
94
  exports.Initializer = Initializer;
95
95
  class APIService extends BaseService_1.BaseService {
96
- version = "3.9.8";
96
+ version = "3.9.81";
97
97
  options;
98
98
  monitor = null;
99
99
  started = new Date();
@@ -14,8 +14,8 @@ class UID {
14
14
  + ""
15
15
  + Math.round(Math.random() * 1000)).toString(16), 'hex').toString('base64');
16
16
  uid = uid.replaceAll("=", "");
17
- uid = uid.replaceAll("+", ".");
18
- uid = uid.replaceAll("/", "_");
17
+ uid = uid.replaceAll("+", "pL");
18
+ uid = uid.replaceAll("/", "sl");
19
19
  return uid;
20
20
  }
21
21
  static generateRandomNumberBase(count) {
@@ -48,19 +48,24 @@ type ExtractOptionalFieldNames<T> = {
48
48
  [K in (keyof T & string) as HasOptional<T, K> extends true ? K : never]: true;
49
49
  };
50
50
  type OptionalFields<T> = keyof ExtractOptionalFieldNames<T> & string;
51
- type ValuesArr<T, K extends string> = `$__${K}_values` extends keyof T ? T[`$__${K}_values`] extends readonly (infer V)[] ? readonly V[] : never : `$__${K}` extends keyof T ? T[`$__${K}`] extends {
51
+ type ValuesArr<T, K extends string> = `$__${K}_values` extends keyof T ? T[`$__${K}_values`] extends readonly (infer V)[] ? readonly V[] : T[`$__${K}_values`] extends (infer V)[] ? readonly V[] : T[`$__${K}_values`] extends Record<string, infer V> ? readonly V[] : never : `$__${K}` extends keyof T ? T[`$__${K}`] extends {
52
52
  values: readonly (infer V)[];
53
+ } ? readonly V[] : T[`$__${K}`] extends {
54
+ values: (infer V)[];
55
+ } ? readonly V[] : T[`$__${K}`] extends {
56
+ values: Record<string, infer V>;
53
57
  } ? readonly V[] : never : never;
54
58
  type ExtractEnumValues<T> = {
55
59
  [K in (keyof T & string) as IsNever<ValuesArr<T, K>> extends true ? never : K]: ValuesArr<T, K> extends ReadonlyArray<infer V> ? V : never;
56
60
  };
57
61
  type EnumFieldNames<T> = keyof ExtractEnumValues<T> & string;
58
62
  type EnumFieldValues<T> = ExtractEnumValues<T>;
59
- type ProcessField<F, Meta> = F extends ReadonlyArray<infer Item> ? Item extends object ? ValidationModel<Item>[] : WidenLiteral<Item>[] : F extends Array<infer Item> ? Item extends object ? ValidationModel<Item>[] : WidenLiteral<Item>[] : F extends object ? ValidationModel<F> : WidenLiteral<F>;
63
+ type FieldOriginal<T, K extends PropertyKey> = K extends keyof T ? T[K] : never;
64
+ type ProcessValue<T, K extends keyof CleanFields<T>> = FieldOriginal<T, K> extends ReadonlyArray<infer Item> ? Item extends object ? ValidationModel<Item>[] : WidenLiteral<Item>[] : FieldOriginal<T, K> extends Array<infer Item> ? Item extends object ? ValidationModel<Item>[] : WidenLiteral<Item>[] : FieldOriginal<T, K> extends (...a: any[]) => any ? FieldOriginal<T, K> : FieldOriginal<T, K> extends object ? ValidationModel<FieldOriginal<T, K>> : WidenLiteral<FieldOriginal<T, K>>;
60
65
  export type ValidationModel<T> = DeepMutable<{
61
- [K in keyof CleanFields<T> as K extends OptionalFields<T> ? K : never]?: K extends EnumFieldNames<T> ? EnumFieldValues<T>[K] : ProcessField<CleanFields<T>[K], T>;
66
+ [K in keyof CleanFields<T> as K extends OptionalFields<T> ? K : never]?: K extends EnumFieldNames<T> ? EnumFieldValues<T>[K] : ProcessValue<T, K>;
62
67
  } & {
63
- [K in keyof CleanFields<T> as K extends OptionalFields<T> ? never : K]: K extends EnumFieldNames<T> ? EnumFieldValues<T>[K] : ProcessField<CleanFields<T>[K], T>;
68
+ [K in keyof CleanFields<T> as K extends OptionalFields<T> ? never : K]: K extends EnumFieldNames<T> ? EnumFieldValues<T>[K] : ProcessValue<T, K>;
64
69
  }>;
65
70
  export declare class Validator {
66
71
  static validateObject(fields: string[], object: any): boolean;
@@ -282,7 +282,7 @@ class Validator {
282
282
  this.filterStructure(structure[0], i);
283
283
  return;
284
284
  }
285
- for (let key in object) {
285
+ for (let key of Object.keys(object)) {
286
286
  if (!(key in structure)) {
287
287
  delete object[key];
288
288
  continue;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "badmfck-api-server",
3
- "version": "3.9.8",
3
+ "version": "3.9.82",
4
4
  "description": "Simple API http server based on express",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",