@akanjs/constant 0.0.40 → 0.0.42
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/index.d.ts +1 -13
- package/index.js +891 -20
- package/package.json +6 -2
- package/src/baseGql.d.ts +8 -14
- package/src/classMeta.d.ts +19 -22
- package/src/constantDecorator.d.ts +6 -12
- package/src/fieldMeta.d.ts +2 -12
- package/src/filterMeta.d.ts +18 -26
- package/src/index.d.ts +7 -13
- package/src/scalar.d.ts +28 -34
- package/src/types.d.ts +92 -6
- package/base-D8mO_G-C.d.ts +0 -15
- package/src/baseGql.js +0 -275
- package/src/classMeta.js +0 -187
- package/src/constantDecorator.js +0 -56
- package/src/fieldMeta.js +0 -104
- package/src/filterMeta.js +0 -291
- package/src/index.js +0 -33
- package/src/scalar.js +0 -141
- package/src/types.js +0 -34
- package/types-DdO4B_Um.d.ts +0 -126
- package/types-b-U-yQib.d.ts +0 -33
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akanjs/constant",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.42",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -14,5 +14,9 @@
|
|
|
14
14
|
"engines": {
|
|
15
15
|
"node": ">=22"
|
|
16
16
|
},
|
|
17
|
-
"dependencies": {
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"dayjs": "^1.11.13",
|
|
19
|
+
"pluralize": "^8.0.0",
|
|
20
|
+
"reflect-metadata": "^0.2.2"
|
|
21
|
+
}
|
|
18
22
|
}
|
package/src/baseGql.d.ts
CHANGED
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
declare const
|
|
9
|
-
declare const via: <T, LightOrFields extends readonly NonFunctionalKeys<Omit<T, "id" | "createdAt" | "updatedAt" | "removedAt">>[] | Type | undefined = undefined>(modelRef: Type<T>, fieldsOrLightModelRef?: LightOrFields, overwriteRef?: Type, overwriteLightRef?: Type) => LightOrFields extends undefined ? Type<T & BaseObject> : LightOrFields extends Type<infer Light> ? Type<T & Light & BaseObject> : LightOrFields extends readonly NonFunctionalKeys<Omit<T, "id" | "createdAt" | "updatedAt" | "removedAt">>[] ? Type<{ [K in LightOrFields[number]]: T[K]; } & BaseObject> : never;
|
|
10
|
-
declare const from: <A, T1, T2 = unknown, T3 = unknown, T4 = unknown, T5 = unknown, T6 = unknown, T7 = unknown, T8 = unknown, T9 = unknown, T10 = unknown>(modelRef: Type<A>, t1: Type<T1>, t2?: Type<T2>, t3?: Type<T3>, t4?: Type<T4>, t5?: Type<T5>, t6?: Type<T6>, t7?: Type<T7>, t8?: Type<T8>, t9?: Type<T9>, t10?: Type<T10>) => Type<A & T1 & T2 & T3 & T4 & T5 & T6 & T7 & T8 & T9 & T10>;
|
|
11
|
-
declare const mixModelOf: <T1 = unknown, T2 = unknown, T3 = unknown, T4 = unknown, T5 = unknown, T6 = unknown, T7 = unknown, T8 = unknown, T9 = unknown, T10 = unknown, T11 = unknown, T12 = unknown, T13 = unknown, T14 = unknown, T15 = unknown, T16 = unknown, T17 = unknown, T18 = unknown, T19 = unknown, T20 = unknown>(t1: Type<T1>, t2?: Type<T2>, t3?: Type<T3>, t4?: Type<T4>, t5?: Type<T5>, t6?: Type<T6>, t7?: Type<T7>, t8?: Type<T8>, t9?: Type<T9>, t10?: Type<T10>, t11?: Type<T11>, t12?: Type<T12>, t13?: Type<T13>, t14?: Type<T14>, t15?: Type<T15>, t16?: Type<T16>, t17?: Type<T17>, t18?: Type<T18>, t19?: Type<T19>, t20?: Type<T20>) => Type<T1 & T2 & T3 & T4 & T5 & T6 & T7 & T8 & T9 & T10 & T11 & T12 & T13 & T14 & T15 & T16 & T17 & T18 & T19 & T20>;
|
|
12
|
-
declare const over: <T1 = unknown, T2 = unknown, T3 = unknown, T4 = unknown, T5 = unknown, T6 = unknown, T7 = unknown, T8 = unknown, T9 = unknown, T10 = unknown, T11 = unknown, T12 = unknown, T13 = unknown, T14 = unknown, T15 = unknown, T16 = unknown, T17 = unknown, T18 = unknown, T19 = unknown, T20 = unknown>(t1: Type<T1>, t2?: Type<T2>, t3?: Type<T3>, t4?: Type<T4>, t5?: Type<T5>, t6?: Type<T6>, t7?: Type<T7>, t8?: Type<T8>, t9?: Type<T9>, t10?: Type<T10>, t11?: Type<T11>, t12?: Type<T12>, t13?: Type<T13>, t14?: Type<T14>, t15?: Type<T15>, t16?: Type<T16>, t17?: Type<T17>, t18?: Type<T18>, t19?: Type<T19>, t20?: Type<T20>) => Type<T1 & T2 & T3 & T4 & T5 & T6 & T7 & T8 & T9 & T10 & T11 & T12 & T13 & T14 & T15 & T16 & T17 & T18 & T19 & T20>;
|
|
13
|
-
|
|
14
|
-
export { as, from, mixModelOf, over, via };
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import { BaseObject, Type } from "@akanjs/base";
|
|
3
|
+
import type { NonFunctionalKeys } from "./types";
|
|
4
|
+
export declare const as: <T>(modelRef: Type<T>) => Type<T>;
|
|
5
|
+
export declare const via: <T, LightOrFields extends readonly NonFunctionalKeys<Omit<T, "id" | "createdAt" | "updatedAt" | "removedAt">>[] | Type | undefined = undefined>(modelRef: Type<T>, fieldsOrLightModelRef?: LightOrFields, overwriteRef?: Type, overwriteLightRef?: Type) => LightOrFields extends undefined ? Type<T & BaseObject> : LightOrFields extends Type<infer Light> ? Type<T & Light & BaseObject> : LightOrFields extends readonly NonFunctionalKeys<Omit<T, "id" | "createdAt" | "updatedAt" | "removedAt">>[] ? Type<{ [K in LightOrFields[number]]: T[K]; } & BaseObject> : never;
|
|
6
|
+
export declare const from: <A, T1, T2 = unknown, T3 = unknown, T4 = unknown, T5 = unknown, T6 = unknown, T7 = unknown, T8 = unknown, T9 = unknown, T10 = unknown>(modelRef: Type<A>, t1: Type<T1>, t2?: Type<T2>, t3?: Type<T3>, t4?: Type<T4>, t5?: Type<T5>, t6?: Type<T6>, t7?: Type<T7>, t8?: Type<T8>, t9?: Type<T9>, t10?: Type<T10>) => Type<A & T1 & T2 & T3 & T4 & T5 & T6 & T7 & T8 & T9 & T10>;
|
|
7
|
+
export declare const mixModelOf: <T1 = unknown, T2 = unknown, T3 = unknown, T4 = unknown, T5 = unknown, T6 = unknown, T7 = unknown, T8 = unknown, T9 = unknown, T10 = unknown, T11 = unknown, T12 = unknown, T13 = unknown, T14 = unknown, T15 = unknown, T16 = unknown, T17 = unknown, T18 = unknown, T19 = unknown, T20 = unknown>(t1: Type<T1>, t2?: Type<T2>, t3?: Type<T3>, t4?: Type<T4>, t5?: Type<T5>, t6?: Type<T6>, t7?: Type<T7>, t8?: Type<T8>, t9?: Type<T9>, t10?: Type<T10>, t11?: Type<T11>, t12?: Type<T12>, t13?: Type<T13>, t14?: Type<T14>, t15?: Type<T15>, t16?: Type<T16>, t17?: Type<T17>, t18?: Type<T18>, t19?: Type<T19>, t20?: Type<T20>) => Type<T1 & T2 & T3 & T4 & T5 & T6 & T7 & T8 & T9 & T10 & T11 & T12 & T13 & T14 & T15 & T16 & T17 & T18 & T19 & T20>;
|
|
8
|
+
export declare const over: <T1 = unknown, T2 = unknown, T3 = unknown, T4 = unknown, T5 = unknown, T6 = unknown, T7 = unknown, T8 = unknown, T9 = unknown, T10 = unknown, T11 = unknown, T12 = unknown, T13 = unknown, T14 = unknown, T15 = unknown, T16 = unknown, T17 = unknown, T18 = unknown, T19 = unknown, T20 = unknown>(t1: Type<T1>, t2?: Type<T2>, t3?: Type<T3>, t4?: Type<T4>, t5?: Type<T5>, t6?: Type<T6>, t7?: Type<T7>, t8?: Type<T8>, t9?: Type<T9>, t10?: Type<T10>, t11?: Type<T11>, t12?: Type<T12>, t13?: Type<T13>, t14?: Type<T14>, t15?: Type<T15>, t16?: Type<T16>, t17?: Type<T17>, t18?: Type<T18>, t19?: Type<T19>, t20?: Type<T20>) => Type<T1 & T2 & T3 & T4 & T5 & T6 & T7 & T8 & T9 & T10 & T11 & T12 & T13 & T14 & T15 & T16 & T17 & T18 & T19 & T20>;
|
package/src/classMeta.d.ts
CHANGED
|
@@ -1,27 +1,26 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
declare class InputModelStorage {
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import { type Enum, type Type } from "@akanjs/base";
|
|
3
|
+
export declare class InputModelStorage {
|
|
5
4
|
}
|
|
6
|
-
declare class LightModelStorage {
|
|
5
|
+
export declare class LightModelStorage {
|
|
7
6
|
}
|
|
8
|
-
declare class FullModelStorage {
|
|
7
|
+
export declare class FullModelStorage {
|
|
9
8
|
}
|
|
10
|
-
declare class ScalarModelStorage {
|
|
9
|
+
export declare class ScalarModelStorage {
|
|
11
10
|
}
|
|
12
|
-
declare class FilterModelStorage {
|
|
11
|
+
export declare class FilterModelStorage {
|
|
13
12
|
}
|
|
14
|
-
declare const getFullModelRef: (refName: string) => Type;
|
|
15
|
-
declare const getInputModelRef: (refName: string) => Type;
|
|
16
|
-
declare const getScalarModelRef: (refName: string) => Type;
|
|
17
|
-
declare const getChildClassRefs: (target: Type) => Type[];
|
|
18
|
-
declare const getFieldEnumMetas: (modelRef: Type) => {
|
|
13
|
+
export declare const getFullModelRef: (refName: string) => Type;
|
|
14
|
+
export declare const getInputModelRef: (refName: string) => Type;
|
|
15
|
+
export declare const getScalarModelRef: (refName: string) => Type;
|
|
16
|
+
export declare const getChildClassRefs: (target: Type) => Type[];
|
|
17
|
+
export declare const getFieldEnumMetas: (modelRef: Type) => {
|
|
19
18
|
key: string;
|
|
20
19
|
enum: Enum<string | number>;
|
|
21
20
|
}[];
|
|
22
|
-
declare const hasTextField: (modelRef: Type) => boolean;
|
|
23
|
-
type ClassType = "light" | "full" | "input" | "scalar";
|
|
24
|
-
declare const Model: {
|
|
21
|
+
export declare const hasTextField: (modelRef: Type) => boolean;
|
|
22
|
+
export type ClassType = "light" | "full" | "input" | "scalar";
|
|
23
|
+
export declare const Model: {
|
|
25
24
|
Light: (refName: string) => (target: Type) => void;
|
|
26
25
|
Object: (refName: string) => (target: Type) => void;
|
|
27
26
|
Full: (refName: string) => (target: Type) => void;
|
|
@@ -31,9 +30,7 @@ declare const Model: {
|
|
|
31
30
|
Insight: (refName: string) => (target: Type) => void;
|
|
32
31
|
Filter: (refName: string) => (target: Type) => void;
|
|
33
32
|
};
|
|
34
|
-
declare const getLightModelRef: (modelRef: Type) => Type;
|
|
35
|
-
declare const getAllFullModelRefs: () => Type[];
|
|
36
|
-
declare const getAllScalarModelRefs: () => Type[];
|
|
37
|
-
declare const getAllFilterModelRefs: () => Type[];
|
|
38
|
-
|
|
39
|
-
export { type ClassType, FilterModelStorage, FullModelStorage, InputModelStorage, LightModelStorage, Model, ScalarModelStorage, getAllFilterModelRefs, getAllFullModelRefs, getAllScalarModelRefs, getChildClassRefs, getFieldEnumMetas, getFullModelRef, getInputModelRef, getLightModelRef, getScalarModelRef, hasTextField };
|
|
33
|
+
export declare const getLightModelRef: (modelRef: Type) => Type;
|
|
34
|
+
export declare const getAllFullModelRefs: () => Type[];
|
|
35
|
+
export declare const getAllScalarModelRefs: () => Type[];
|
|
36
|
+
export declare const getAllFilterModelRefs: () => Type[];
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import 'mongoose';
|
|
7
|
-
|
|
8
|
-
declare const getCnstMeta: (refName: string) => ConstantModel<any, any, any, any, any, any>;
|
|
9
|
-
interface ConstantModel<T extends string, Input, Full, Light, Insight, Filter extends FilterType, Summary = any> {
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import type { Type } from "@akanjs/base";
|
|
3
|
+
import type { FilterType } from "./types";
|
|
4
|
+
export declare const getCnstMeta: (refName: string) => ConstantModel<any, any, any, any, any, any>;
|
|
5
|
+
export interface ConstantModel<T extends string, Input, Full, Light, Insight, Filter extends FilterType, Summary = any> {
|
|
10
6
|
refName: T;
|
|
11
7
|
Input: Type<Input>;
|
|
12
8
|
Full: Type<Full>;
|
|
@@ -15,6 +11,4 @@ interface ConstantModel<T extends string, Input, Full, Light, Insight, Filter ex
|
|
|
15
11
|
Filter: Type<Filter>;
|
|
16
12
|
Summary?: Type<Summary>;
|
|
17
13
|
}
|
|
18
|
-
declare const cnstOf: <T extends string, Input, Full, Light, Insight, Filter extends FilterType, Summary>(refName: T, Input: Type<Input>, Full: Type<Full>, Light: Type<Light>, Insight: Type<Insight>, Filter: Type<Filter>, Summary?: Type<Summary>) => ConstantModel<T, Input, Full, Light, Insight, Filter, Summary>;
|
|
19
|
-
|
|
20
|
-
export { type ConstantModel, cnstOf, getCnstMeta };
|
|
14
|
+
export declare const cnstOf: <T extends string, Input, Full, Light, Insight, Filter extends FilterType, Summary>(refName: T, Input: Type<Input>, Full: Type<Full>, Light: Type<Light>, Insight: Type<Insight>, Filter: Type<Filter>, Summary?: Type<Summary>) => ConstantModel<T, Input, Full, Light, Insight, Filter, Summary>;
|
package/src/fieldMeta.d.ts
CHANGED
|
@@ -1,17 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import '../types-DdO4B_Um.js';
|
|
4
|
-
import 'dayjs';
|
|
5
|
-
import 'fs';
|
|
6
|
-
import 'stream';
|
|
7
|
-
import '../types-b-U-yQib.js';
|
|
8
|
-
import 'mongoose';
|
|
9
|
-
|
|
10
|
-
declare const Field: {
|
|
1
|
+
import { ConstantFieldProps, ReturnType } from "./scalar";
|
|
2
|
+
export declare const Field: {
|
|
11
3
|
Prop: (returns: ReturnType, fieldOption?: Omit<ConstantFieldProps, "fieldType" | "select"> | Omit<ConstantFieldProps, "nullable" | "fieldType" | "select">[]) => PropertyDecorator;
|
|
12
4
|
Hidden: (returns: ReturnType, fieldOption?: Omit<ConstantFieldProps, "fieldType" | "select"> | Omit<ConstantFieldProps, "nullable" | "fieldType" | "select">[]) => PropertyDecorator;
|
|
13
5
|
Secret: (returns: ReturnType, fieldOption?: Omit<ConstantFieldProps, "fieldType" | "select"> | Omit<ConstantFieldProps, "nullable" | "fieldType" | "select">[]) => PropertyDecorator;
|
|
14
6
|
Resolve: (returns: ReturnType, fieldOption?: Omit<ConstantFieldProps, "fieldType" | "select"> | Omit<ConstantFieldProps, "nullable" | "fieldType" | "select">[]) => PropertyDecorator;
|
|
15
7
|
};
|
|
16
|
-
|
|
17
|
-
export { Field };
|
package/src/filterMeta.d.ts
CHANGED
|
@@ -1,31 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ConstantFilterMeta,
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
declare const
|
|
11
|
-
declare const
|
|
12
|
-
declare const
|
|
13
|
-
declare const
|
|
14
|
-
declare const setFilterKeyMetaMapOnPrototype: (prototype: object, metadataMap: Map<string, FilterKeyMeta>) => void;
|
|
15
|
-
declare const setFilterArgMetasOnPrototype: (prototype: object, key: string, filterArgMetas: FilterArgMeta[]) => void;
|
|
16
|
-
declare const getFilterArgMetas: (filterRef: Type, key: string) => FilterArgMeta[];
|
|
17
|
-
declare const getFilterQuery: (filterRef: Type, key: string) => (...args: any[]) => FilterQuery<any>;
|
|
18
|
-
declare const getFilterQueryMap: (filterRef: Type) => Map<string, FilterKeyMeta>;
|
|
19
|
-
declare const getFilterSort: (filterRef: Type, key: string) => {
|
|
1
|
+
import { type Type } from "@akanjs/base";
|
|
2
|
+
import { type ConstantFilterMeta, type FilterArgMeta, type FilterArgProps, type FilterKeyMeta, type FilterKeyProps, type ReturnType } from "./scalar";
|
|
3
|
+
import type { QueryOf, SortType } from "./types";
|
|
4
|
+
export declare const isFilterModel: (filterRef: Type) => boolean;
|
|
5
|
+
export declare const getFilterMeta: (filterRef: Type) => ConstantFilterMeta;
|
|
6
|
+
export declare const setFilterMeta: (filterRef: Type, filterMeta: ConstantFilterMeta) => void;
|
|
7
|
+
export declare const getFilterKeyMetaMapOnPrototype: (prototype: object) => Map<string, FilterKeyMeta>;
|
|
8
|
+
export declare const setFilterKeyMetaMapOnPrototype: (prototype: object, metadataMap: Map<string, FilterKeyMeta>) => void;
|
|
9
|
+
export declare const setFilterArgMetasOnPrototype: (prototype: object, key: string, filterArgMetas: FilterArgMeta[]) => void;
|
|
10
|
+
export declare const getFilterArgMetas: (filterRef: Type, key: string) => FilterArgMeta[];
|
|
11
|
+
export declare const getFilterQuery: (filterRef: Type, key: string) => (...args: any[]) => QueryOf<any>;
|
|
12
|
+
export declare const getFilterQueryMap: (filterRef: Type) => Map<string, FilterKeyMeta>;
|
|
13
|
+
export declare const getFilterSort: (filterRef: Type, key: string) => {
|
|
20
14
|
[key: string]: number;
|
|
21
15
|
};
|
|
22
|
-
declare const getFilterSortMap: (filterRef: Type) => SortType;
|
|
23
|
-
declare const Filter: {
|
|
16
|
+
export declare const getFilterSortMap: (filterRef: Type) => SortType;
|
|
17
|
+
export declare const Filter: {
|
|
24
18
|
Mongo: (fieldOption?: Omit<FilterKeyProps, "type">) => (prototype: object, key: string, descriptor: PropertyDescriptor) => void;
|
|
25
19
|
Arg: (name: string, returns: ReturnType, argOption?: FilterArgProps | FilterArgProps[]) => (prototype: object, key: string, idx: number) => void;
|
|
26
20
|
};
|
|
27
|
-
type BaseFilterKey = "latest" | "oldest" | "any" | "byStatuses";
|
|
28
|
-
declare const sortOf: <Sort extends SortType>(modelRef: Type, sort: Sort) => Type<{
|
|
21
|
+
export type BaseFilterKey = "latest" | "oldest" | "any" | "byStatuses";
|
|
22
|
+
export declare const sortOf: <Sort extends SortType>(modelRef: Type, sort: Sort) => Type<{
|
|
29
23
|
latest: {
|
|
30
24
|
createdAt: number;
|
|
31
25
|
};
|
|
@@ -45,7 +39,7 @@ declare const sortOf: <Sort extends SortType>(modelRef: Type, sort: Sort) => Typ
|
|
|
45
39
|
status?: undefined;
|
|
46
40
|
};
|
|
47
41
|
} & Sort>;
|
|
48
|
-
declare function BaseFilter<Sort extends SortType>(modelRef: Type, sort: Sort): Type<{
|
|
42
|
+
export declare function BaseFilter<Sort extends SortType>(modelRef: Type, sort: Sort): Type<{
|
|
49
43
|
latest: {
|
|
50
44
|
createdAt: number;
|
|
51
45
|
};
|
|
@@ -65,5 +59,3 @@ declare function BaseFilter<Sort extends SortType>(modelRef: Type, sort: Sort):
|
|
|
65
59
|
status?: undefined;
|
|
66
60
|
};
|
|
67
61
|
} & Sort>;
|
|
68
|
-
|
|
69
|
-
export { BaseFilter, type BaseFilterKey, Filter, getFilterArgMetas, getFilterKeyMetaMapOnPrototype, getFilterMeta, getFilterQuery, getFilterQueryMap, getFilterSort, getFilterSortMap, isFilterModel, setFilterArgMetasOnPrototype, setFilterKeyMetaMapOnPrototype, setFilterMeta, sortOf };
|
package/src/index.d.ts
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export { FilterQuery as QueryOf } from 'mongoose';
|
|
9
|
-
import 'dayjs';
|
|
10
|
-
import 'fs';
|
|
11
|
-
import 'stream';
|
|
12
|
-
import '../types-b-U-yQib.js';
|
|
13
|
-
import '../base-D8mO_G-C.js';
|
|
1
|
+
export * from "./types";
|
|
2
|
+
export * from "./fieldMeta";
|
|
3
|
+
export * from "./scalar";
|
|
4
|
+
export * from "./constantDecorator";
|
|
5
|
+
export * from "./filterMeta";
|
|
6
|
+
export * from "./baseGql";
|
|
7
|
+
export * from "./classMeta";
|
package/src/scalar.d.ts
CHANGED
|
@@ -1,50 +1,46 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
declare const scalarExampleMap: Map<MapConstructor | typeof Int | typeof Upload | typeof Float | typeof ID | typeof JSON | StringConstructor | BooleanConstructor | DateConstructor, string | number | boolean | object>;
|
|
10
|
-
declare const getScalarExample: (ref: GqlScalar) => string | number | boolean | object | null;
|
|
11
|
-
declare const getGqlTypeStr: (ref: GqlScalar) => string;
|
|
12
|
-
interface ConstantClassMeta {
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import { type Dayjs, type Enum, Float, type GqlScalar, ID, Int, JSON, type SingleFieldType, type Type, Upload } from "@akanjs/base";
|
|
3
|
+
import type { AccumulatorOperator } from "mongoose";
|
|
4
|
+
import { type QueryOf, type SortType } from "./types";
|
|
5
|
+
export declare const scalarExampleMap: Map<MapConstructor | typeof Int | typeof Upload | typeof Float | typeof ID | typeof JSON | StringConstructor | BooleanConstructor | DateConstructor, string | number | boolean | object>;
|
|
6
|
+
export declare const getScalarExample: (ref: GqlScalar) => string | number | boolean | object | null;
|
|
7
|
+
export declare const getGqlTypeStr: (ref: GqlScalar) => string;
|
|
8
|
+
export interface ConstantClassMeta {
|
|
13
9
|
refName: string;
|
|
14
10
|
modelRef: any;
|
|
15
11
|
type: "input" | "full" | "light" | "scalar";
|
|
16
12
|
modelType: "data" | "ephemeral" | "summary" | "insight";
|
|
17
13
|
hasTextField: boolean;
|
|
18
14
|
}
|
|
19
|
-
interface ConstantFilterMeta {
|
|
15
|
+
export interface ConstantFilterMeta {
|
|
20
16
|
refName: string;
|
|
21
17
|
sort: SortType;
|
|
22
18
|
}
|
|
23
|
-
interface FilterKeyProps {
|
|
19
|
+
export interface FilterKeyProps {
|
|
24
20
|
type?: "mongo" | "meili";
|
|
25
21
|
}
|
|
26
|
-
interface FilterKeyMeta extends FilterKeyProps {
|
|
22
|
+
export interface FilterKeyMeta extends FilterKeyProps {
|
|
27
23
|
key: string;
|
|
28
24
|
descriptor: PropertyDescriptor;
|
|
29
25
|
}
|
|
30
|
-
interface FilterArgProps {
|
|
26
|
+
export interface FilterArgProps {
|
|
31
27
|
nullable?: boolean;
|
|
32
28
|
ref?: string;
|
|
33
29
|
default?: string | number | boolean | object | null | (() => string | number | boolean | object | null);
|
|
34
30
|
renderOption?: (value: any) => string;
|
|
35
31
|
enum?: Enum<string | number>;
|
|
36
32
|
}
|
|
37
|
-
interface FilterArgMeta extends FilterArgProps {
|
|
33
|
+
export interface FilterArgMeta extends FilterArgProps {
|
|
38
34
|
name: string;
|
|
39
35
|
modelRef: Type;
|
|
40
36
|
arrDepth: number;
|
|
41
37
|
isArray: boolean;
|
|
42
38
|
optArrDepth: number;
|
|
43
39
|
}
|
|
44
|
-
declare const fieldTypes: readonly ["email", "password", "url"];
|
|
45
|
-
type FieldType = (typeof fieldTypes)[number];
|
|
46
|
-
type ReturnType<T extends SingleFieldType = SingleFieldType> = (of?: any) => T | [T] | [[T]] | Map<string, any>;
|
|
47
|
-
interface ConstantFieldProps {
|
|
40
|
+
export declare const fieldTypes: readonly ["email", "password", "url"];
|
|
41
|
+
export type FieldType = (typeof fieldTypes)[number];
|
|
42
|
+
export type ReturnType<T extends SingleFieldType = SingleFieldType> = (of?: any) => T | [T] | [[T]] | Map<string, any>;
|
|
43
|
+
export interface ConstantFieldProps {
|
|
48
44
|
nullable?: boolean;
|
|
49
45
|
ref?: string;
|
|
50
46
|
refPath?: string;
|
|
@@ -59,14 +55,14 @@ interface ConstantFieldProps {
|
|
|
59
55
|
select?: boolean;
|
|
60
56
|
minlength?: number;
|
|
61
57
|
maxlength?: number;
|
|
62
|
-
query?:
|
|
58
|
+
query?: QueryOf<any> | (() => QueryOf<any>);
|
|
63
59
|
accumulate?: AccumulatorOperator;
|
|
64
60
|
example?: string | number | boolean | Dayjs | string[] | number[] | boolean[] | Dayjs[];
|
|
65
61
|
of?: GqlScalar;
|
|
66
62
|
validate?: (value: any, model: any) => boolean;
|
|
67
63
|
text?: "search" | "filter";
|
|
68
64
|
}
|
|
69
|
-
type ConstantFieldMeta = ConstantFieldProps & {
|
|
65
|
+
export type ConstantFieldMeta = ConstantFieldProps & {
|
|
70
66
|
nullable: boolean;
|
|
71
67
|
default: any;
|
|
72
68
|
fieldType: "property" | "hidden" | "resolve";
|
|
@@ -83,15 +79,13 @@ type ConstantFieldMeta = ConstantFieldProps & {
|
|
|
83
79
|
optArrDepth: number;
|
|
84
80
|
isMap: boolean;
|
|
85
81
|
};
|
|
86
|
-
declare const getClassMeta: (modelRef: Type) => ConstantClassMeta;
|
|
87
|
-
declare const getFieldMetas: (modelRef: Type) => ConstantFieldMeta[];
|
|
88
|
-
declare const isConstantModel: (modelRef: Type) => boolean;
|
|
89
|
-
declare const getFieldMetaMap: (modelRef: Type) => Map<string, ConstantFieldMeta>;
|
|
90
|
-
declare const setFieldMetaMap: (modelRef: Type, metadataMap: Map<string, ConstantFieldMeta>) => void;
|
|
91
|
-
declare const getFieldMetaMapOnPrototype: (prototype: object) => Map<string, ConstantFieldMeta>;
|
|
92
|
-
declare const setFieldMetaMapOnPrototype: (prototype: object, metadataMap: Map<string, ConstantFieldMeta>) => void;
|
|
93
|
-
declare const getQueryMap: (modelRef: Type) => {
|
|
94
|
-
[key: string]:
|
|
82
|
+
export declare const getClassMeta: (modelRef: Type) => ConstantClassMeta;
|
|
83
|
+
export declare const getFieldMetas: (modelRef: Type) => ConstantFieldMeta[];
|
|
84
|
+
export declare const isConstantModel: (modelRef: Type) => boolean;
|
|
85
|
+
export declare const getFieldMetaMap: (modelRef: Type) => Map<string, ConstantFieldMeta>;
|
|
86
|
+
export declare const setFieldMetaMap: (modelRef: Type, metadataMap: Map<string, ConstantFieldMeta>) => void;
|
|
87
|
+
export declare const getFieldMetaMapOnPrototype: (prototype: object) => Map<string, ConstantFieldMeta>;
|
|
88
|
+
export declare const setFieldMetaMapOnPrototype: (prototype: object, metadataMap: Map<string, ConstantFieldMeta>) => void;
|
|
89
|
+
export declare const getQueryMap: (modelRef: Type) => {
|
|
90
|
+
[key: string]: QueryOf<any> | undefined | (() => QueryOf<any>);
|
|
95
91
|
};
|
|
96
|
-
|
|
97
|
-
export { type ConstantClassMeta, type ConstantFieldMeta, type ConstantFieldProps, type ConstantFilterMeta, type FieldType, type FilterArgMeta, type FilterArgProps, type FilterKeyMeta, type FilterKeyProps, type ReturnType, fieldTypes, getClassMeta, getFieldMetaMap, getFieldMetaMapOnPrototype, getFieldMetas, getGqlTypeStr, getQueryMap, getScalarExample, isConstantModel, scalarExampleMap, setFieldMetaMap, setFieldMetaMapOnPrototype };
|
package/src/types.d.ts
CHANGED
|
@@ -1,6 +1,92 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { type BaseObject, Dayjs } from "@akanjs/base";
|
|
2
|
+
import type { FilterQuery, HydratedDocument, ProjectionType } from "mongoose";
|
|
3
|
+
export type { FilterQuery as QueryOf };
|
|
4
|
+
type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
|
|
5
|
+
type OptionalKeys<T> = T extends {
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
} ? {
|
|
8
|
+
[K in keyof T]-?: null extends T[K] ? K : never;
|
|
9
|
+
}[keyof T] : never;
|
|
10
|
+
type ObjectToId<O, D = Dayjs> = O extends BaseObject ? string : O extends BaseObject[] ? string[] : O extends Dayjs ? D : O extends {
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
} ? DocumentModel<O> : O;
|
|
13
|
+
export interface SortType {
|
|
14
|
+
[key: string]: {
|
|
15
|
+
[key: string]: number;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export type SortOf<Filter> = keyof GetStateObject<Filter>;
|
|
19
|
+
export type FilterType = Record<string, any>;
|
|
20
|
+
export interface ListQueryOption<Sort, Obj> {
|
|
21
|
+
skip?: number | null;
|
|
22
|
+
limit?: number | null;
|
|
23
|
+
sort?: Sort | null;
|
|
24
|
+
sample?: number;
|
|
25
|
+
select?: ProjectionType<Obj>;
|
|
26
|
+
}
|
|
27
|
+
export interface FindQueryOption<Sort, Obj> {
|
|
28
|
+
skip?: number | null;
|
|
29
|
+
sort?: Sort | null;
|
|
30
|
+
sample?: boolean;
|
|
31
|
+
select?: ProjectionType<Obj>;
|
|
32
|
+
}
|
|
33
|
+
export type DocumentModel<T, D = Dayjs> = T extends (infer S)[] ? DocumentModel<S>[] : T extends string ? T : T extends number ? T : T extends boolean ? T : T extends Dayjs ? T : T extends Map<infer K, infer V> ? Map<K, DocumentModel<V, D>> : Optional<{
|
|
34
|
+
[K in keyof GetStateObject<T>]: T[K] extends infer S ? S extends null ? undefined : ObjectToId<T[K], D> : never;
|
|
35
|
+
}, OptionalKeys<GetStateObject<T>>>;
|
|
36
|
+
export interface ListOption {
|
|
37
|
+
limit?: number;
|
|
38
|
+
skip?: number;
|
|
39
|
+
sort?: string;
|
|
40
|
+
}
|
|
41
|
+
export declare const defaultListOption: ListOption;
|
|
42
|
+
export type GetPlainObject<T, O extends string> = Omit<{
|
|
43
|
+
[K in keyof T as T[K] extends (...args: any) => any ? never : K extends keyof HydratedDocument<any> ? never : K]: T[K];
|
|
44
|
+
}, O>;
|
|
45
|
+
export type GetStateObject<T> = Omit<{
|
|
46
|
+
[K in keyof T as T[K] extends (...args: any) => any ? never : K]: T[K];
|
|
47
|
+
}, "prototype">;
|
|
48
|
+
export type GetActionObject<T> = Omit<{
|
|
49
|
+
[K in keyof T as T[K] extends (...args: any) => any ? K : never]: T[K];
|
|
50
|
+
}, "prototype">;
|
|
51
|
+
export interface ProtoFile {
|
|
52
|
+
id: string;
|
|
53
|
+
filename: string;
|
|
54
|
+
abstractData: string | null;
|
|
55
|
+
imageSize: [number, number];
|
|
56
|
+
progress: number | null;
|
|
57
|
+
url: string;
|
|
58
|
+
size: number;
|
|
59
|
+
status: string;
|
|
60
|
+
createdAt: Dayjs;
|
|
61
|
+
updatedAt: Dayjs;
|
|
62
|
+
removedAt: Dayjs | null;
|
|
63
|
+
mimetype: string;
|
|
64
|
+
encoding: string;
|
|
65
|
+
origin: string | null;
|
|
66
|
+
lastModifiedAt: Dayjs;
|
|
67
|
+
}
|
|
68
|
+
export interface ProtoAppInfo {
|
|
69
|
+
appId: string | null;
|
|
70
|
+
appName: string;
|
|
71
|
+
deviceId: string | null;
|
|
72
|
+
platform: "ios" | "android" | null;
|
|
73
|
+
major: number;
|
|
74
|
+
minor: number;
|
|
75
|
+
patch: number;
|
|
76
|
+
branch: string;
|
|
77
|
+
buildNum: string | null;
|
|
78
|
+
versionOs: string | null;
|
|
79
|
+
isEmulator: boolean | null;
|
|
80
|
+
}
|
|
81
|
+
export interface ProtoPatch {
|
|
82
|
+
source: ProtoFile;
|
|
83
|
+
build: ProtoFile;
|
|
84
|
+
appBuild: ProtoFile | null;
|
|
85
|
+
status: "active" | "expired";
|
|
86
|
+
at: Dayjs;
|
|
87
|
+
}
|
|
88
|
+
export declare const DEFAULT_PAGE_SIZE = 20;
|
|
89
|
+
export interface TextDoc {
|
|
90
|
+
[key: string]: string | TextDoc;
|
|
91
|
+
}
|
|
92
|
+
export type NonFunctionalKeys<T> = keyof T extends (...any: any[]) => any ? never : keyof T;
|
package/base-D8mO_G-C.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
declare class Enum<T> {
|
|
2
|
-
readonly values: T[];
|
|
3
|
-
readonly value: T;
|
|
4
|
-
readonly valueMap: Map<T, number>;
|
|
5
|
-
constructor(values: T[]);
|
|
6
|
-
has(value: T): boolean;
|
|
7
|
-
indexOf(value: T): number;
|
|
8
|
-
find(callback: (value: T, index: number, array: T[]) => boolean): T;
|
|
9
|
-
findIndex(callback: (value: T, index: number, array: T[]) => boolean): number;
|
|
10
|
-
filter(callback: (value: T, index: number, array: T[]) => boolean): T[];
|
|
11
|
-
map<R>(callback: (value: T, index: number, array: T[]) => R): R[];
|
|
12
|
-
forEach(callback: (value: T, index: number, array: T[]) => void): void;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export { Enum as E };
|