softkave-node-utils 0.1.0

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.
Files changed (203) hide show
  1. package/README.md +3 -0
  2. package/build/src/contexts/SessionContext.d.ts +15 -0
  3. package/build/src/contexts/SessionContext.js +70 -0
  4. package/build/src/contexts/SessionContext.js.map +1 -0
  5. package/build/src/contexts/asyncLocalStorage.d.ts +27 -0
  6. package/build/src/contexts/asyncLocalStorage.js +115 -0
  7. package/build/src/contexts/asyncLocalStorage.js.map +1 -0
  8. package/build/src/contexts/config.d.ts +49 -0
  9. package/build/src/contexts/config.js +25 -0
  10. package/build/src/contexts/config.js.map +1 -0
  11. package/build/src/contexts/data/BaseMongoDataProvider.d.ts +21 -0
  12. package/build/src/contexts/data/BaseMongoDataProvider.js +157 -0
  13. package/build/src/contexts/data/BaseMongoDataProvider.js.map +1 -0
  14. package/build/src/contexts/data/MongoDataProviderUtils.d.ts +6 -0
  15. package/build/src/contexts/data/MongoDataProviderUtils.js +35 -0
  16. package/build/src/contexts/data/MongoDataProviderUtils.js.map +1 -0
  17. package/build/src/contexts/data/dataQueryToMongoQuery.d.ts +3 -0
  18. package/build/src/contexts/data/dataQueryToMongoQuery.js +85 -0
  19. package/build/src/contexts/data/dataQueryToMongoQuery.js.map +1 -0
  20. package/build/src/contexts/data/types.d.ts +114 -0
  21. package/build/src/contexts/data/types.js +15 -0
  22. package/build/src/contexts/data/types.js.map +1 -0
  23. package/build/src/contexts/data/utils.d.ts +2 -0
  24. package/build/src/contexts/data/utils.js +24 -0
  25. package/build/src/contexts/data/utils.js.map +1 -0
  26. package/build/src/contexts/email/SESEmailProviderContext.d.ts +9 -0
  27. package/build/src/contexts/email/SESEmailProviderContext.js +49 -0
  28. package/build/src/contexts/email/SESEmailProviderContext.js.map +1 -0
  29. package/build/src/contexts/email/types.d.ts +13 -0
  30. package/build/src/contexts/email/types.js +3 -0
  31. package/build/src/contexts/email/types.js.map +1 -0
  32. package/build/src/contexts/encryption/AWSSecretsManagerProvider.d.ts +12 -0
  33. package/build/src/contexts/encryption/AWSSecretsManagerProvider.js +51 -0
  34. package/build/src/contexts/encryption/AWSSecretsManagerProvider.js.map +1 -0
  35. package/build/src/contexts/encryption/MemorySecretsManagerProvider.d.ts +12 -0
  36. package/build/src/contexts/encryption/MemorySecretsManagerProvider.js +35 -0
  37. package/build/src/contexts/encryption/MemorySecretsManagerProvider.js.map +1 -0
  38. package/build/src/contexts/encryption/types.d.ts +29 -0
  39. package/build/src/contexts/encryption/types.js +3 -0
  40. package/build/src/contexts/encryption/types.js.map +1 -0
  41. package/build/src/contexts/globalUtils.d.ts +2 -0
  42. package/build/src/contexts/globalUtils.js +17 -0
  43. package/build/src/contexts/globalUtils.js.map +1 -0
  44. package/build/src/contexts/injection/injectables.d.ts +56 -0
  45. package/build/src/contexts/injection/injectables.js +26 -0
  46. package/build/src/contexts/injection/injectables.js.map +1 -0
  47. package/build/src/contexts/injection/keys.d.ts +22 -0
  48. package/build/src/contexts/injection/keys.js +33 -0
  49. package/build/src/contexts/injection/keys.js.map +1 -0
  50. package/build/src/contexts/injection/register.d.ts +33 -0
  51. package/build/src/contexts/injection/register.js +107 -0
  52. package/build/src/contexts/injection/register.js.map +1 -0
  53. package/build/src/contexts/logger/noop.d.ts +5 -0
  54. package/build/src/contexts/logger/noop.js +12 -0
  55. package/build/src/contexts/logger/noop.js.map +1 -0
  56. package/build/src/contexts/logger/types.d.ts +11 -0
  57. package/build/src/contexts/logger/types.js +8 -0
  58. package/build/src/contexts/logger/types.js.map +1 -0
  59. package/build/src/contexts/logger/utils.d.ts +2 -0
  60. package/build/src/contexts/logger/utils.js +15 -0
  61. package/build/src/contexts/logger/utils.js.map +1 -0
  62. package/build/src/contexts/semantic/DataSemanticDataAccessBaseProvider.d.ts +28 -0
  63. package/build/src/contexts/semantic/DataSemanticDataAccessBaseProvider.js +115 -0
  64. package/build/src/contexts/semantic/DataSemanticDataAccessBaseProvider.js.map +1 -0
  65. package/build/src/contexts/semantic/types.d.ts +48 -0
  66. package/build/src/contexts/semantic/types.js +3 -0
  67. package/build/src/contexts/semantic/types.js.map +1 -0
  68. package/build/src/contexts/semantic/utils.d.ts +16 -0
  69. package/build/src/contexts/semantic/utils.js +68 -0
  70. package/build/src/contexts/semantic/utils.js.map +1 -0
  71. package/build/src/contexts/types.d.ts +6 -0
  72. package/build/src/contexts/types.js +3 -0
  73. package/build/src/contexts/types.js.map +1 -0
  74. package/build/src/definitions/agent.d.ts +10 -0
  75. package/build/src/definitions/agent.js +3 -0
  76. package/build/src/definitions/agent.js.map +1 -0
  77. package/build/src/definitions/resource.d.ts +17 -0
  78. package/build/src/definitions/resource.js +3 -0
  79. package/build/src/definitions/resource.js.map +1 -0
  80. package/build/src/definitions/resourceTypes.d.ts +10 -0
  81. package/build/src/definitions/resourceTypes.js +19 -0
  82. package/build/src/definitions/resourceTypes.js.map +1 -0
  83. package/build/src/definitions/token.d.ts +17 -0
  84. package/build/src/definitions/token.js +10 -0
  85. package/build/src/definitions/token.js.map +1 -0
  86. package/build/src/endpoints/RequestData.d.ts +20 -0
  87. package/build/src/endpoints/RequestData.js +52 -0
  88. package/build/src/endpoints/RequestData.js.map +1 -0
  89. package/build/src/endpoints/constants.d.ts +20 -0
  90. package/build/src/endpoints/constants.js +24 -0
  91. package/build/src/endpoints/constants.js.map +1 -0
  92. package/build/src/endpoints/endpoints.d.ts +7 -0
  93. package/build/src/endpoints/endpoints.js +33 -0
  94. package/build/src/endpoints/endpoints.js.map +1 -0
  95. package/build/src/endpoints/endpoints.mddoc.d.ts +62 -0
  96. package/build/src/endpoints/endpoints.mddoc.js +437 -0
  97. package/build/src/endpoints/endpoints.mddoc.js.map +1 -0
  98. package/build/src/endpoints/extractors.d.ts +9 -0
  99. package/build/src/endpoints/extractors.js +24 -0
  100. package/build/src/endpoints/extractors.js.map +1 -0
  101. package/build/src/endpoints/jobs/types.d.ts +6 -0
  102. package/build/src/endpoints/jobs/types.js +3 -0
  103. package/build/src/endpoints/jobs/types.js.map +1 -0
  104. package/build/src/endpoints/pagination.d.ts +3 -0
  105. package/build/src/endpoints/pagination.js +27 -0
  106. package/build/src/endpoints/pagination.js.map +1 -0
  107. package/build/src/endpoints/types.d.ts +68 -0
  108. package/build/src/endpoints/types.js +13 -0
  109. package/build/src/endpoints/types.js.map +1 -0
  110. package/build/src/endpoints/utils.d.ts +23 -0
  111. package/build/src/endpoints/utils.js +131 -0
  112. package/build/src/endpoints/utils.js.map +1 -0
  113. package/build/src/endpoints/validation.d.ts +47 -0
  114. package/build/src/endpoints/validation.js +73 -0
  115. package/build/src/endpoints/validation.js.map +1 -0
  116. package/build/src/errors/OperationError.d.ts +20 -0
  117. package/build/src/errors/OperationError.js +38 -0
  118. package/build/src/errors/OperationError.js.map +1 -0
  119. package/build/src/errors/commonErrors.d.ts +24 -0
  120. package/build/src/errors/commonErrors.js +72 -0
  121. package/build/src/errors/commonErrors.js.map +1 -0
  122. package/build/src/errors/endpointErrors.d.ts +31 -0
  123. package/build/src/errors/endpointErrors.js +83 -0
  124. package/build/src/errors/endpointErrors.js.map +1 -0
  125. package/build/src/errors/messages.d.ts +11 -0
  126. package/build/src/errors/messages.js +27 -0
  127. package/build/src/errors/messages.js.map +1 -0
  128. package/build/src/errors/reusableErrors.d.ts +12 -0
  129. package/build/src/errors/reusableErrors.js +25 -0
  130. package/build/src/errors/reusableErrors.js.map +1 -0
  131. package/build/src/errors/sessionErrors.d.ts +18 -0
  132. package/build/src/errors/sessionErrors.js +60 -0
  133. package/build/src/errors/sessionErrors.js.map +1 -0
  134. package/build/src/index.d.ts +0 -0
  135. package/build/src/index.js +2 -0
  136. package/build/src/index.js.map +1 -0
  137. package/build/src/mddoc/jsSdkCodeGen.d.ts +7 -0
  138. package/build/src/mddoc/jsSdkCodeGen.js +546 -0
  139. package/build/src/mddoc/jsSdkCodeGen.js.map +1 -0
  140. package/build/src/mddoc/mddoc.d.ts +206 -0
  141. package/build/src/mddoc/mddoc.js +142 -0
  142. package/build/src/mddoc/mddoc.js.map +1 -0
  143. package/build/src/mddoc/restApiEndpointsInfoGen.d.ts +10 -0
  144. package/build/src/mddoc/restApiEndpointsInfoGen.js +92 -0
  145. package/build/src/mddoc/restApiEndpointsInfoGen.js.map +1 -0
  146. package/build/src/mddoc/restApiTableOfContentGen.d.ts +2 -0
  147. package/build/src/mddoc/restApiTableOfContentGen.js +51 -0
  148. package/build/src/mddoc/restApiTableOfContentGen.js.map +1 -0
  149. package/build/src/mongodb/connection.d.ts +26 -0
  150. package/build/src/mongodb/connection.js +50 -0
  151. package/build/src/mongodb/connection.js.map +1 -0
  152. package/build/src/mongodb/constants.d.ts +4 -0
  153. package/build/src/mongodb/constants.js +7 -0
  154. package/build/src/mongodb/constants.js.map +1 -0
  155. package/build/src/mongodb/utils.d.ts +20 -0
  156. package/build/src/mongodb/utils.js +26 -0
  157. package/build/src/mongodb/utils.js.map +1 -0
  158. package/build/src/testUtils/context/email/MockTestEmailProviderContext.d.ts +6 -0
  159. package/build/src/testUtils/context/email/MockTestEmailProviderContext.js +10 -0
  160. package/build/src/testUtils/context/email/MockTestEmailProviderContext.js.map +1 -0
  161. package/build/src/testUtils/context/email/NoopEmailProviderContext.d.ts +6 -0
  162. package/build/src/testUtils/context/email/NoopEmailProviderContext.js +11 -0
  163. package/build/src/testUtils/context/email/NoopEmailProviderContext.js.map +1 -0
  164. package/build/src/testUtils/context/email/TestSESEmailProviderContext.d.ts +8 -0
  165. package/build/src/testUtils/context/email/TestSESEmailProviderContext.js +14 -0
  166. package/build/src/testUtils/context/email/TestSESEmailProviderContext.js.map +1 -0
  167. package/build/src/testUtils/context/types.d.ts +9 -0
  168. package/build/src/testUtils/context/types.js +3 -0
  169. package/build/src/testUtils/context/types.js.map +1 -0
  170. package/build/src/testUtils/generate/utils.d.ts +37 -0
  171. package/build/src/testUtils/generate/utils.js +79 -0
  172. package/build/src/testUtils/generate/utils.js.map +1 -0
  173. package/build/src/testUtils/helpers/assertion.d.ts +25 -0
  174. package/build/src/testUtils/helpers/assertion.js +63 -0
  175. package/build/src/testUtils/helpers/assertion.js.map +1 -0
  176. package/build/src/testUtils/helpers/binary.d.ts +4 -0
  177. package/build/src/testUtils/helpers/binary.js +19 -0
  178. package/build/src/testUtils/helpers/binary.js.map +1 -0
  179. package/build/src/testUtils/helpers/error.d.ts +3 -0
  180. package/build/src/testUtils/helpers/error.js +43 -0
  181. package/build/src/testUtils/helpers/error.js.map +1 -0
  182. package/build/src/testUtils/helpers/mock.d.ts +2 -0
  183. package/build/src/testUtils/helpers/mock.js +15 -0
  184. package/build/src/testUtils/helpers/mock.js.map +1 -0
  185. package/build/src/testUtils/helpers/mongodb.d.ts +3 -0
  186. package/build/src/testUtils/helpers/mongodb.js +17 -0
  187. package/build/src/testUtils/helpers/mongodb.js.map +1 -0
  188. package/build/src/testUtils/helpers/testFns.d.ts +30 -0
  189. package/build/src/testUtils/helpers/testFns.js +96 -0
  190. package/build/src/testUtils/helpers/testFns.js.map +1 -0
  191. package/build/src/testUtils/testUtils.d.ts +13 -0
  192. package/build/src/testUtils/testUtils.js +50 -0
  193. package/build/src/testUtils/testUtils.js.map +1 -0
  194. package/build/src/utils/assertion.d.ts +2 -0
  195. package/build/src/utils/assertion.js +31 -0
  196. package/build/src/utils/assertion.js.map +1 -0
  197. package/build/src/utils/aws.d.ts +5 -0
  198. package/build/src/utils/aws.js +3 -0
  199. package/build/src/utils/aws.js.map +1 -0
  200. package/build/src/utils/streamToBuffer.d.ts +4 -0
  201. package/build/src/utils/streamToBuffer.js +19 -0
  202. package/build/src/utils/streamToBuffer.js.map +1 -0
  203. package/package.json +72 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsSdkCodeGen.js","sourceRoot":"","sources":["../../../src/mddoc/jsSdkCodeGen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,206 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { WithAccessors } from 'js-accessor/build/src/types';
4
+ import { AnyFn, AnyObject, IsBoolean, IsStringEnum, IsUnion, Not } from 'softkave-js-utils';
5
+ import { Readable } from 'stream';
6
+ import { IsNever, OptionalKeysOf } from 'type-fest';
7
+ import { BaseEndpointResult, HttpEndpointResponseHeaders_ContentType_ContentLength } from '../endpoints/types';
8
+ export interface FieldBaseType {
9
+ __id: string;
10
+ description?: string;
11
+ }
12
+ export interface FieldStringType {
13
+ __id: 'FieldStringType';
14
+ example?: string;
15
+ valid?: string[];
16
+ min?: number;
17
+ max?: number;
18
+ enumName?: string;
19
+ description?: string;
20
+ }
21
+ export interface FieldNumberType {
22
+ __id: 'FieldNumberType';
23
+ example?: number;
24
+ integer?: boolean;
25
+ min?: number;
26
+ max?: number;
27
+ description?: string;
28
+ }
29
+ export interface FieldBooleanType {
30
+ __id: 'FieldBooleanType';
31
+ example?: boolean;
32
+ description?: string;
33
+ }
34
+ export interface FieldNullType {
35
+ __id: 'FieldNullType';
36
+ description?: string;
37
+ }
38
+ export interface FieldUndefinedType {
39
+ __id: 'FieldUndefinedType';
40
+ description?: string;
41
+ }
42
+ export interface FieldDateType {
43
+ __id: 'FieldDateType';
44
+ example?: string;
45
+ description?: string;
46
+ }
47
+ export interface FieldArrayType<T> {
48
+ __id: 'FieldArrayType';
49
+ type?: ConvertToMddocType<T>;
50
+ min?: number;
51
+ max?: number;
52
+ description?: string;
53
+ }
54
+ export interface FieldObjectFieldType<T, TRequired extends boolean = any> {
55
+ __id: 'FieldObjectFieldType';
56
+ required: TRequired;
57
+ data: ConvertToMddocType<T>;
58
+ description?: string;
59
+ }
60
+ export type ConvertToMddocType<T = any, TAllowOrCombination extends boolean = true> = IsNever<IsUnion<Exclude<T, undefined>> & TAllowOrCombination & Not<IsStringEnum<Exclude<T, undefined>>> & Not<IsBoolean<Exclude<T, undefined>>>> extends false ? FieldOrCombinationType<Array<ConvertToMddocType<T, false>>> : T extends string ? FieldStringType : T extends number ? FieldNumberType : T extends boolean ? FieldBooleanType : T extends Array<infer InferedType> ? FieldArrayType<InferedType> : T extends Buffer ? FieldBinaryType : T extends Readable ? FieldBinaryType : T extends null ? FieldNullType : T extends AnyObject ? FieldObjectType<Exclude<T, undefined>> : FieldBaseType;
61
+ export type FieldObjectFieldsMap<T extends AnyObject> = Required<{
62
+ [K in keyof T]: K extends OptionalKeysOf<T> ? FieldObjectFieldType<Exclude<T[K], undefined>, false> : FieldObjectFieldType<Exclude<T[K], undefined>, true>;
63
+ }>;
64
+ export interface FieldObjectType<T extends AnyObject> {
65
+ __id: 'FieldObjectType';
66
+ name?: string;
67
+ fields?: FieldObjectFieldsMap<T>;
68
+ description?: string;
69
+ }
70
+ export interface FieldOrCombinationType<T extends FieldBaseType[] = FieldBaseType[]> {
71
+ __id: 'FieldOrCombinationType';
72
+ types?: T;
73
+ description?: string;
74
+ }
75
+ export interface FieldBinaryType {
76
+ __id: 'FieldBinaryType';
77
+ min?: number;
78
+ max?: number;
79
+ description?: string;
80
+ }
81
+ export type MappingFn<TSdkParams, TRequestHeaders, TPathParameters, TQuery, TRequestBody> = AnyFn<[
82
+ keyof TSdkParams
83
+ ], ['header', keyof TRequestHeaders] | ['path', keyof TPathParameters] | ['query', keyof TQuery] | ['body', keyof TRequestBody] | undefined>;
84
+ export type SdkParamsToRequestArtifactsMapping<TSdkParams, TRequestHeaders, TPathParameters, TQuery, TRequestBody> = AnyFn<[
85
+ keyof TSdkParams
86
+ ], Array<['header', keyof TRequestHeaders] | ['path', keyof TPathParameters] | ['query', keyof TQuery] | ['body', keyof TRequestBody]>>;
87
+ export interface SdkParamsBodyType<T extends AnyObject = AnyObject, TRequestHeaders extends AnyObject = AnyObject, TPathParameters extends AnyObject = AnyObject, TQuery extends AnyObject = AnyObject, TRequestBody extends AnyObject = AnyObject> {
88
+ __id: 'SdkParamsBodyType';
89
+ def?: FieldObjectType<T>;
90
+ mappings: MappingFn<T, TRequestHeaders, TPathParameters, TQuery, TRequestBody>;
91
+ serializeAs?: 'json' | 'formdata';
92
+ }
93
+ export interface HttpEndpointMultipartFormdataType<T extends AnyObject> {
94
+ __id: 'HttpEndpointMultipartFormdataType';
95
+ items?: FieldObjectType<T>;
96
+ description?: string;
97
+ }
98
+ export declare enum HttpEndpointDefinitionMethod {
99
+ Get = "get",
100
+ Post = "post",
101
+ Delete = "delete"
102
+ }
103
+ export interface HttpEndpointDefinitionType<TRequestHeaders extends AnyObject = AnyObject, TPathParameters extends AnyObject = AnyObject, TQuery extends AnyObject = AnyObject, TRequestBody extends AnyObject = AnyObject, TResponseHeaders extends AnyObject = AnyObject, TResponseBody extends AnyObject = AnyObject, TSdkParams extends AnyObject = TRequestBody> {
104
+ __id: 'HttpEndpointDefinitionType';
105
+ basePathname?: string;
106
+ method?: HttpEndpointDefinitionMethod;
107
+ pathParamaters?: FieldObjectType<TPathParameters>;
108
+ query?: FieldObjectType<TQuery>;
109
+ requestHeaders?: FieldObjectType<TRequestHeaders>;
110
+ requestBody?: FieldObjectType<TRequestBody> | HttpEndpointMultipartFormdataType<TRequestBody>;
111
+ responseHeaders?: FieldObjectType<TResponseHeaders>;
112
+ responseBody?: TResponseBody extends FieldBinaryType ? FieldBinaryType : FieldObjectType<TResponseBody>;
113
+ sdkParamsBody?: SdkParamsBodyType<TSdkParams, TRequestHeaders, TPathParameters, TQuery, TRequestBody>;
114
+ name?: string;
115
+ description?: string;
116
+ errorResponseHeaders?: FieldObjectType<HttpEndpointResponseHeaders_ContentType_ContentLength>;
117
+ errorResponseBody?: FieldObjectType<BaseEndpointResult>;
118
+ }
119
+ export type InferFieldObjectType<T, TDefault = never> = T extends FieldObjectType<infer TObjectType> ? TObjectType : TDefault;
120
+ export type InferFieldObjectOrMultipartType<T> = T extends FieldObjectType<infer TObjectType> ? TObjectType : T extends HttpEndpointMultipartFormdataType<infer TMultipartObjectType> ? TMultipartObjectType : never;
121
+ export type InferSdkParamsType<T> = T extends SdkParamsBodyType<infer TObjectType> ? TObjectType : never;
122
+ export type MddocFieldArray<T> = WithAccessors<FieldArrayType<T>>;
123
+ export type MddocFieldBase = WithAccessors<FieldBaseType>;
124
+ export type MddocFieldBinary = WithAccessors<FieldBinaryType>;
125
+ export type MddocFieldBoolean = WithAccessors<FieldBooleanType>;
126
+ export type MddocFieldDate = WithAccessors<FieldDateType>;
127
+ export type MddocFieldNull = WithAccessors<FieldNullType>;
128
+ export type MddocFieldNumber = WithAccessors<FieldNumberType>;
129
+ export type MddocFieldObject<T extends AnyObject> = WithAccessors<FieldObjectType<T>>;
130
+ export type MddocFieldObjectField<T, TRequired extends boolean = any> = WithAccessors<FieldObjectFieldType<T, TRequired>>;
131
+ export type MddocFieldOrCombination = WithAccessors<FieldOrCombinationType>;
132
+ export type MddocFieldString = WithAccessors<FieldStringType>;
133
+ export type MddocFieldUndefined = WithAccessors<FieldUndefinedType>;
134
+ export type MddocHttpEndpointDefinition<TRequestHeaders extends AnyObject = AnyObject, TPathParameters extends AnyObject = AnyObject, TQuery extends AnyObject = AnyObject, TRequestBody extends AnyObject = AnyObject, TResponseHeaders extends AnyObject = AnyObject, TResponseBody extends AnyObject = AnyObject, TSdkParams extends AnyObject = TRequestBody> = WithAccessors<HttpEndpointDefinitionType<TRequestHeaders, TPathParameters, TQuery, TRequestBody, TResponseHeaders, TResponseBody, TSdkParams>>;
135
+ export type MddocHttpEndpointMultipartFormdata<T extends AnyObject> = WithAccessors<HttpEndpointMultipartFormdataType<T>>;
136
+ export type MddocSdkParamsBody = WithAccessors<SdkParamsBodyType>;
137
+ declare function constructFieldBase(seed?: Partial<FieldBaseType>): WithAccessors<FieldBaseType>;
138
+ declare function constructFieldString(seed?: Partial<FieldStringType>): WithAccessors<FieldStringType>;
139
+ declare function constructFieldNumber(seed?: Partial<FieldNumberType>): WithAccessors<FieldNumberType>;
140
+ declare function constructFieldBoolean(seed?: Partial<FieldBooleanType>): WithAccessors<FieldBooleanType>;
141
+ declare function constructFieldNull(seed?: Partial<FieldNullType>): WithAccessors<FieldNullType>;
142
+ declare function constructFieldUndefined(seed?: Partial<FieldUndefinedType>): WithAccessors<FieldUndefinedType>;
143
+ declare function constructFieldDate(seed?: Partial<FieldDateType>): WithAccessors<FieldDateType>;
144
+ declare function constructFieldArray<T>(seed?: Partial<FieldArrayType<T>>): WithAccessors<FieldArrayType<T>>;
145
+ declare function constructFieldObjectField<T, TRequired extends boolean = false>(seed: Partial<FieldObjectFieldType<T, TRequired>> & {
146
+ required: TRequired;
147
+ data: ConvertToMddocType<T>;
148
+ }): WithAccessors<FieldObjectFieldType<T, TRequired>>;
149
+ declare function constructFieldObject<T extends AnyObject>(seed?: Partial<FieldObjectType<T>>): WithAccessors<FieldObjectType<T>>;
150
+ declare function constructSdkParamsBody<T extends AnyObject = AnyObject, TRequestHeaders extends AnyObject = AnyObject, TPathParameters extends AnyObject = AnyObject, TQuery extends AnyObject = AnyObject, TRequestBody extends AnyObject = AnyObject, TComplete = SdkParamsBodyType<T, TRequestHeaders, TPathParameters, TQuery, TRequestBody>>(seed: Partial<Omit<TComplete, 'mappings'>> & {
151
+ mappings: MappingFn<T, TRequestHeaders, TPathParameters, TQuery, TRequestBody>;
152
+ }): WithAccessors<SdkParamsBodyType<T, TRequestHeaders, TPathParameters, TQuery, TRequestBody>>;
153
+ declare function constructFieldOrCombination<T>(seed?: Partial<FieldOrCombinationType<Array<ConvertToMddocType<T, false>>>>): WithAccessors<FieldOrCombinationType<ConvertToMddocType<T, false>[]>>;
154
+ declare function constructFieldBinary(seed?: Partial<FieldBinaryType>): WithAccessors<FieldBinaryType>;
155
+ declare function constructHttpEndpointMultipartFormdata<T extends AnyObject>(seed?: Partial<HttpEndpointMultipartFormdataType<T>>): WithAccessors<HttpEndpointMultipartFormdataType<T>>;
156
+ declare function constructHttpEndpointDefinition<TRequestHeaders extends AnyObject = AnyObject, TPathParameters extends AnyObject = AnyObject, TQuery extends AnyObject = AnyObject, TRequestBody extends AnyObject = AnyObject, TResponseHeaders extends AnyObject = AnyObject, TResponseBody extends AnyObject = AnyObject, TSdkParams extends AnyObject = TRequestBody>(seed?: Partial<HttpEndpointDefinitionType<TRequestHeaders, TPathParameters, TQuery, TRequestBody, TResponseHeaders, TResponseBody, TSdkParams>>): WithAccessors<HttpEndpointDefinitionType<TRequestHeaders, TPathParameters, TQuery, TRequestBody, TResponseHeaders, TResponseBody, TSdkParams>>;
157
+ export declare const mddocConstruct: {
158
+ constructFieldArray: typeof constructFieldArray;
159
+ constructFieldBase: typeof constructFieldBase;
160
+ constructFieldBinary: typeof constructFieldBinary;
161
+ constructFieldBoolean: typeof constructFieldBoolean;
162
+ constructFieldDate: typeof constructFieldDate;
163
+ constructFieldNull: typeof constructFieldNull;
164
+ constructFieldNumber: typeof constructFieldNumber;
165
+ constructFieldObject: typeof constructFieldObject;
166
+ constructFieldObjectField: typeof constructFieldObjectField;
167
+ constructFieldOrCombination: typeof constructFieldOrCombination;
168
+ constructFieldString: typeof constructFieldString;
169
+ constructFieldUndefined: typeof constructFieldUndefined;
170
+ constructHttpEndpointDefinition: typeof constructHttpEndpointDefinition;
171
+ constructHttpEndpointMultipartFormdata: typeof constructHttpEndpointMultipartFormdata;
172
+ constructSdkParamsBody: typeof constructSdkParamsBody;
173
+ };
174
+ declare function fieldObjectHasRequiredFields(item: FieldObjectType<AnyObject>): boolean;
175
+ declare function isFieldBase(data: unknown): data is FieldBaseType;
176
+ declare function isFieldString(data: unknown): data is FieldStringType;
177
+ declare function isFieldNumber(data: unknown): data is FieldNumberType;
178
+ declare function isFieldBoolean(data: unknown): data is FieldBooleanType;
179
+ declare function isFieldNull(data: unknown): data is FieldNullType;
180
+ declare function isFieldUndefined(data: unknown): data is FieldUndefinedType;
181
+ declare function isFieldDate(data: unknown): data is FieldDateType;
182
+ declare function isFieldArray(data: unknown): data is FieldArrayType<unknown>;
183
+ declare function isFieldObject(data: unknown): data is FieldObjectType<AnyObject>;
184
+ declare function isFieldOrCombination(data: unknown): data is FieldOrCombinationType;
185
+ declare function isFieldBinary(data: unknown): data is FieldBinaryType;
186
+ declare function isMultipartFormdata(data: unknown): data is HttpEndpointMultipartFormdataType<AnyObject>;
187
+ declare function isHttpEndpoint(data: unknown): data is HttpEndpointDefinitionType;
188
+ declare function isSdkParamsBody(data: unknown): data is SdkParamsBodyType;
189
+ export declare const mddocAssertion: {
190
+ fieldObjectHasRequiredFields: typeof fieldObjectHasRequiredFields;
191
+ isFieldBase: typeof isFieldBase;
192
+ isFieldString: typeof isFieldString;
193
+ isFieldNumber: typeof isFieldNumber;
194
+ isFieldBoolean: typeof isFieldBoolean;
195
+ isFieldNull: typeof isFieldNull;
196
+ isFieldUndefined: typeof isFieldUndefined;
197
+ isFieldDate: typeof isFieldDate;
198
+ isFieldArray: typeof isFieldArray;
199
+ isFieldObject: typeof isFieldObject;
200
+ isFieldOrCombination: typeof isFieldOrCombination;
201
+ isFieldBinary: typeof isFieldBinary;
202
+ isMultipartFormdata: typeof isMultipartFormdata;
203
+ isHttpEndpoint: typeof isHttpEndpoint;
204
+ isSdkParamsBody: typeof isSdkParamsBody;
205
+ };
206
+ export {};
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mddocAssertion = exports.mddocConstruct = exports.HttpEndpointDefinitionMethod = void 0;
4
+ const js_accessor_1 = require("js-accessor");
5
+ var HttpEndpointDefinitionMethod;
6
+ (function (HttpEndpointDefinitionMethod) {
7
+ HttpEndpointDefinitionMethod["Get"] = "get";
8
+ HttpEndpointDefinitionMethod["Post"] = "post";
9
+ HttpEndpointDefinitionMethod["Delete"] = "delete";
10
+ })(HttpEndpointDefinitionMethod || (exports.HttpEndpointDefinitionMethod = HttpEndpointDefinitionMethod = {}));
11
+ function constructFieldBase(seed = {}) {
12
+ return (0, js_accessor_1.construct)(seed);
13
+ }
14
+ function constructFieldString(seed = {}) {
15
+ return (0, js_accessor_1.construct)(seed);
16
+ }
17
+ function constructFieldNumber(seed = {}) {
18
+ return (0, js_accessor_1.construct)(seed);
19
+ }
20
+ function constructFieldBoolean(seed = {}) {
21
+ return (0, js_accessor_1.construct)(seed);
22
+ }
23
+ function constructFieldNull(seed = {}) {
24
+ return (0, js_accessor_1.construct)(seed);
25
+ }
26
+ function constructFieldUndefined(seed = {}) {
27
+ return (0, js_accessor_1.construct)(seed);
28
+ }
29
+ function constructFieldDate(seed = {}) {
30
+ return (0, js_accessor_1.construct)(seed);
31
+ }
32
+ function constructFieldArray(seed = {}) {
33
+ return (0, js_accessor_1.construct)(seed);
34
+ }
35
+ function constructFieldObjectField(seed) {
36
+ return (0, js_accessor_1.construct)(seed);
37
+ }
38
+ function constructFieldObject(seed = {}) {
39
+ return (0, js_accessor_1.construct)(seed);
40
+ }
41
+ function constructSdkParamsBody(seed) {
42
+ return (0, js_accessor_1.construct)(seed);
43
+ }
44
+ function constructFieldOrCombination(seed = {}) {
45
+ return (0, js_accessor_1.construct)(seed);
46
+ }
47
+ function constructFieldBinary(seed = {}) {
48
+ return (0, js_accessor_1.construct)(seed);
49
+ }
50
+ function constructHttpEndpointMultipartFormdata(seed = {}) {
51
+ return (0, js_accessor_1.construct)(seed);
52
+ }
53
+ function constructHttpEndpointDefinition(seed = {}) {
54
+ return (0, js_accessor_1.construct)(seed);
55
+ }
56
+ exports.mddocConstruct = {
57
+ constructFieldArray,
58
+ constructFieldBase,
59
+ constructFieldBinary,
60
+ constructFieldBoolean,
61
+ constructFieldDate,
62
+ constructFieldNull,
63
+ constructFieldNumber,
64
+ constructFieldObject,
65
+ constructFieldObjectField,
66
+ constructFieldOrCombination,
67
+ constructFieldString,
68
+ constructFieldUndefined,
69
+ constructHttpEndpointDefinition,
70
+ constructHttpEndpointMultipartFormdata,
71
+ constructSdkParamsBody,
72
+ };
73
+ function fieldObjectHasRequiredFields(item) {
74
+ const mddocItem = constructFieldObject(item);
75
+ return mddocItem.getFields()
76
+ ? Object.values(mddocItem.assertGetFields()).findIndex(next => next.required) !== -1
77
+ : false;
78
+ }
79
+ function isFieldBase(data) {
80
+ return !!data && typeof data.__id === 'string';
81
+ }
82
+ function isFieldString(data) {
83
+ return !!data && data.__id === 'FieldStringType';
84
+ }
85
+ function isFieldNumber(data) {
86
+ return !!data && data.__id === 'FieldNumberType';
87
+ }
88
+ function isFieldBoolean(data) {
89
+ return !!data && data.__id === 'FieldBooleanType';
90
+ }
91
+ function isFieldNull(data) {
92
+ return !!data && data.__id === 'FieldNullType';
93
+ }
94
+ function isFieldUndefined(data) {
95
+ return !!data && data.__id === 'FieldUndefinedType';
96
+ }
97
+ function isFieldDate(data) {
98
+ return !!data && data.__id === 'FieldDateType';
99
+ }
100
+ function isFieldArray(data) {
101
+ return !!data && data.__id === 'FieldArrayType';
102
+ }
103
+ function isFieldObject(data) {
104
+ return (!!data && data.__id === 'FieldObjectType');
105
+ }
106
+ function isFieldOrCombination(data) {
107
+ return (!!data && data.__id === 'FieldOrCombinationType');
108
+ }
109
+ function isFieldBinary(data) {
110
+ return !!data && data.__id === 'FieldBinaryType';
111
+ }
112
+ function isMultipartFormdata(data) {
113
+ return (!!data &&
114
+ data.__id ===
115
+ 'HttpEndpointMultipartFormdataType');
116
+ }
117
+ function isHttpEndpoint(data) {
118
+ return (!!data &&
119
+ data.__id ===
120
+ 'HttpEndpointDefinitionType');
121
+ }
122
+ function isSdkParamsBody(data) {
123
+ return !!data && data.__id === 'SdkParamsBodyType';
124
+ }
125
+ exports.mddocAssertion = {
126
+ fieldObjectHasRequiredFields,
127
+ isFieldBase,
128
+ isFieldString,
129
+ isFieldNumber,
130
+ isFieldBoolean,
131
+ isFieldNull,
132
+ isFieldUndefined,
133
+ isFieldDate,
134
+ isFieldArray,
135
+ isFieldObject,
136
+ isFieldOrCombination,
137
+ isFieldBinary,
138
+ isMultipartFormdata,
139
+ isHttpEndpoint,
140
+ isSdkParamsBody,
141
+ };
142
+ //# sourceMappingURL=mddoc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mddoc.js","sourceRoot":"","sources":["../../../src/mddoc/mddoc.ts"],"names":[],"mappings":";;;AAAA,6CAAsC;AA8LtC,IAAY,4BAIX;AAJD,WAAY,4BAA4B;IACtC,2CAAW,CAAA;IACX,6CAAa,CAAA;IACb,iDAAiB,CAAA;AACnB,CAAC,EAJW,4BAA4B,4CAA5B,4BAA4B,QAIvC;AAoGD,SAAS,kBAAkB,CAAC,OAA+B,EAAE;IAC3D,OAAO,IAAA,uBAAS,EAAgB,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAiC,EAAE;IAC/D,OAAO,IAAA,uBAAS,EAAkB,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAiC,EAAE;IAC/D,OAAO,IAAA,uBAAS,EAAkB,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAkC,EAAE;IACjE,OAAO,IAAA,uBAAS,EAAmB,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,kBAAkB,CAAC,OAA+B,EAAE;IAC3D,OAAO,IAAA,uBAAS,EAAgB,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAoC,EAAE;IACrE,OAAO,IAAA,uBAAS,EAAqB,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,kBAAkB,CAAC,OAA+B,EAAE;IAC3D,OAAO,IAAA,uBAAS,EAAgB,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,mBAAmB,CAAI,OAAmC,EAAE;IACnE,OAAO,IAAA,uBAAS,EAAoB,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,yBAAyB,CAChC,IAGC;IAED,OAAO,IAAA,uBAAS,EAAqC,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAoC,EAAE;IAEtC,OAAO,IAAA,uBAAS,EAAqB,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,sBAAsB,CAc7B,IAQC;IAED,OAAO,IAAA,uBAAS,EAEd,IAAI,CAAC,CAAC;AACV,CAAC;AAED,SAAS,2BAA2B,CAClC,OAEI,EAAE;IAEN,OAAO,IAAA,uBAAS,EACd,IAAI,CACL,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAiC,EAAE;IAC/D,OAAO,IAAA,uBAAS,EAAkB,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,sCAAsC,CAC7C,OAAsD,EAAE;IAExD,OAAO,IAAA,uBAAS,EAAuC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,+BAA+B,CAStC,OAUI,EAAE;IAEN,OAAO,IAAA,uBAAS,EAUd,IAAI,CAAC,CAAC;AACV,CAAC;AAEY,QAAA,cAAc,GAAG;IAC5B,mBAAmB;IACnB,kBAAkB;IAClB,oBAAoB;IACpB,qBAAqB;IACrB,kBAAkB;IAClB,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,yBAAyB;IACzB,2BAA2B;IAC3B,oBAAoB;IACpB,uBAAuB;IACvB,+BAA+B;IAC/B,sCAAsC;IACtC,sBAAsB;CACvB,CAAC;AAEF,SAAS,4BAA4B,CAAC,IAAgC;IACpE,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,SAAS,CAAC,SAAS,EAAE;QAC1B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS,CAClD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CACtB,KAAK,CAAC,CAAC;QACV,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC;AAED,SAAS,WAAW,CAAC,IAAa;IAChC,OAAO,CAAC,CAAC,IAAI,IAAI,OAAQ,IAAsB,CAAC,IAAI,KAAK,QAAQ,CAAC;AACpE,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,OAAO,CAAC,CAAC,IAAI,IAAK,IAAwB,CAAC,IAAI,KAAK,iBAAiB,CAAC;AACxE,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,OAAO,CAAC,CAAC,IAAI,IAAK,IAAwB,CAAC,IAAI,KAAK,iBAAiB,CAAC;AACxE,CAAC;AAED,SAAS,cAAc,CAAC,IAAa;IACnC,OAAO,CAAC,CAAC,IAAI,IAAK,IAAyB,CAAC,IAAI,KAAK,kBAAkB,CAAC;AAC1E,CAAC;AAED,SAAS,WAAW,CAAC,IAAa;IAChC,OAAO,CAAC,CAAC,IAAI,IAAK,IAAsB,CAAC,IAAI,KAAK,eAAe,CAAC;AACpE,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAa;IACrC,OAAO,CAAC,CAAC,IAAI,IAAK,IAA2B,CAAC,IAAI,KAAK,oBAAoB,CAAC;AAC9E,CAAC;AAED,SAAS,WAAW,CAAC,IAAa;IAChC,OAAO,CAAC,CAAC,IAAI,IAAK,IAAsB,CAAC,IAAI,KAAK,eAAe,CAAC;AACpE,CAAC;AAED,SAAS,YAAY,CAAC,IAAa;IACjC,OAAO,CAAC,CAAC,IAAI,IAAK,IAAgC,CAAC,IAAI,KAAK,gBAAgB,CAAC;AAC/E,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,OAAO,CACL,CAAC,CAAC,IAAI,IAAK,IAAmC,CAAC,IAAI,KAAK,iBAAiB,CAC1E,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAa;IACzC,OAAO,CACL,CAAC,CAAC,IAAI,IAAK,IAA+B,CAAC,IAAI,KAAK,wBAAwB,CAC7E,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,OAAO,CAAC,CAAC,IAAI,IAAK,IAAwB,CAAC,IAAI,KAAK,iBAAiB,CAAC;AACxE,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAa;IAEb,OAAO,CACL,CAAC,CAAC,IAAI;QACL,IAAqD,CAAC,IAAI;YACzD,mCAAmC,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAa;IACnC,OAAO,CACL,CAAC,CAAC,IAAI;QACL,IAA8C,CAAC,IAAI;YAClD,4BAA4B,CAC/B,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAa;IACpC,OAAO,CAAC,CAAC,IAAI,IAAK,IAA0B,CAAC,IAAI,KAAK,mBAAmB,CAAC;AAC5E,CAAC;AAEY,QAAA,cAAc,GAAG;IAC5B,4BAA4B;IAC5B,WAAW;IACX,aAAa;IACb,aAAa;IACb,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,WAAW;IACX,YAAY;IACZ,aAAa;IACb,oBAAoB;IACpB,aAAa;IACb,mBAAmB;IACnB,cAAc;IACd,eAAe;CAChB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { AnyFn, AnyObject } from 'softkave-js-utils';
2
+ import { AppExportedHttpEndpoints } from '../endpoints/endpoints';
3
+ export declare function extractNonFuncFieldsFromObj(obj: unknown, skipFieldsWithPrefix: string[],
4
+ /**
5
+ * `Param 0` is raw object,
6
+ * `Param 1` is extracted object,
7
+ * `Result` is object to merge with extracted object
8
+ */
9
+ augmenter?: AnyFn<[AnyObject, AnyObject], AnyObject>): unknown;
10
+ export declare function restApiEndpointsInfoGen(endpoints: AppExportedHttpEndpoints): Promise<void[]>;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.restApiEndpointsInfoGen = exports.extractNonFuncFieldsFromObj = void 0;
27
+ const fse = __importStar(require("fs-extra"));
28
+ const lodash_1 = require("lodash");
29
+ const path_1 = require("path");
30
+ const softkave_js_utils_1 = require("softkave-js-utils");
31
+ const endpoints_mddoc_1 = require("../endpoints/endpoints.mddoc");
32
+ function getNonFuncFields(obj, skipFieldsWithPrefix) {
33
+ const fields = [];
34
+ for (const key in obj) {
35
+ if ((0, lodash_1.isFunction)(obj[key]) ||
36
+ skipFieldsWithPrefix.some(prefix => key.startsWith(prefix))) {
37
+ continue;
38
+ }
39
+ fields.push(key);
40
+ }
41
+ return fields;
42
+ }
43
+ function extractNonFuncFieldsFromObj(obj, skipFieldsWithPrefix,
44
+ /**
45
+ * `Param 0` is raw object,
46
+ * `Param 1` is extracted object,
47
+ * `Result` is object to merge with extracted object
48
+ */
49
+ augmenter = () => ({})) {
50
+ if (!(0, lodash_1.isObject)(obj)) {
51
+ return obj;
52
+ }
53
+ const extractedObj = {};
54
+ const fields = getNonFuncFields(obj, skipFieldsWithPrefix);
55
+ fields.forEach(key => {
56
+ extractedObj[key] = extractNonFuncFieldsFromObj(obj[key], skipFieldsWithPrefix, augmenter);
57
+ });
58
+ const augment = augmenter(obj, extractedObj);
59
+ return (0, softkave_js_utils_1.mergeObjects)(extractedObj, augment, { arrayUpdateStrategy: 'replace' });
60
+ }
61
+ exports.extractNonFuncFieldsFromObj = extractNonFuncFieldsFromObj;
62
+ function generateEndpointInfoFromEndpoints(endpoints) {
63
+ const infoMap = new Map();
64
+ (0, lodash_1.forEach)(endpoints, endpoint => {
65
+ const info = extractNonFuncFieldsFromObj(endpoint.mddocHttpDefinition
66
+ .setErrorResponseHeaders(endpoints_mddoc_1.mddocEndpointHttpHeaderItems.responseHeaders_JsonContentType)
67
+ .setErrorResponseBody(endpoints_mddoc_1.mddocEndpointHttpResponseItems.errorResponseBody),
68
+ /** skip fields prefix */ []);
69
+ infoMap.set(endpoint.mddocHttpDefinition, JSON.stringify(info, /** replacer */ undefined, /** spaces */ 4));
70
+ });
71
+ return infoMap;
72
+ }
73
+ async function writeEndpointInfoToFile(endpointPath, info) {
74
+ await fse.ensureFile(endpointPath);
75
+ return fse.writeFile(endpointPath, info, { encoding: 'utf-8' });
76
+ }
77
+ async function restApiEndpointsInfoGen(endpoints) {
78
+ const basepath = './mdoc/rest-api/endpoints';
79
+ const infoMap = generateEndpointInfoFromEndpoints(endpoints);
80
+ const promises = [];
81
+ await fse.remove(basepath);
82
+ infoMap.forEach((info, endpoint) => {
83
+ const pathname = endpoint.assertGetBasePathname();
84
+ const method = endpoint.assertGetMethod();
85
+ const filename = `${pathname}__${method}.json`;
86
+ const endpointPath = path_1.posix.normalize(basepath + filename);
87
+ promises.push(writeEndpointInfoToFile(endpointPath, info));
88
+ });
89
+ return Promise.all(promises);
90
+ }
91
+ exports.restApiEndpointsInfoGen = restApiEndpointsInfoGen;
92
+ //# sourceMappingURL=restApiEndpointsInfoGen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restApiEndpointsInfoGen.js","sourceRoot":"","sources":["../../../src/mddoc/restApiEndpointsInfoGen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { AppExportedHttpEndpoints } from '../endpoints/endpoints';
2
+ export declare function restApiTableOfContentGen(endpoints: AppExportedHttpEndpoints): Promise<void>;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.restApiTableOfContentGen = void 0;
30
+ const fse = __importStar(require("fs-extra"));
31
+ const lodash_1 = require("lodash");
32
+ const path_1 = __importDefault(require("path"));
33
+ function generateTableOfContentFromEndpoints(endpoints) {
34
+ const tableOfContent = [];
35
+ (0, lodash_1.forEach)(endpoints, e1 => {
36
+ tableOfContent.push([
37
+ e1.mddocHttpDefinition.assertGetBasePathname(),
38
+ e1.mddocHttpDefinition.assertGetMethod(),
39
+ ]);
40
+ });
41
+ return tableOfContent;
42
+ }
43
+ async function restApiTableOfContentGen(endpoints) {
44
+ const basepath = './mdoc/rest-api/toc/v1';
45
+ const tableOfContentFilename = path_1.default.normalize(basepath + '/table-of-content.json');
46
+ const tableOfContent = generateTableOfContentFromEndpoints(endpoints);
47
+ await fse.ensureFile(tableOfContentFilename);
48
+ return await fse.writeFile(tableOfContentFilename, JSON.stringify(tableOfContent, undefined, 4), { encoding: 'utf-8' });
49
+ }
50
+ exports.restApiTableOfContentGen = restApiTableOfContentGen;
51
+ //# sourceMappingURL=restApiTableOfContentGen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restApiTableOfContentGen.js","sourceRoot":"","sources":["../../../src/mddoc/restApiTableOfContentGen.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAgC;AAChC,mCAA+B;AAC/B,gDAAwB;AAGxB,SAAS,mCAAmC,CAC1C,SAAmC;IAEnC,MAAM,cAAc,GAA4B,EAAE,CAAC;IAEnD,IAAA,gBAAO,EAAC,SAAS,EAAE,EAAE,CAAC,EAAE;QACtB,cAAc,CAAC,IAAI,CAAC;YAClB,EAAE,CAAC,mBAAmB,CAAC,qBAAqB,EAAE;YAC9C,EAAE,CAAC,mBAAmB,CAAC,eAAe,EAAE;SACzC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,SAAmC;IAEnC,MAAM,QAAQ,GAAG,wBAAwB,CAAC;IAC1C,MAAM,sBAAsB,GAAG,cAAI,CAAC,SAAS,CAC3C,QAAQ,GAAG,wBAAwB,CACpC,CAAC;IACF,MAAM,cAAc,GAAG,mCAAmC,CAAC,SAAS,CAAC,CAAC;IAEtE,MAAM,GAAG,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAC7C,OAAO,MAAM,GAAG,CAAC,SAAS,CACxB,sBAAsB,EACtB,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,EAC5C,EAAC,QAAQ,EAAE,OAAO,EAAC,CACpB,CAAC;AACJ,CAAC;AAfD,4DAeC"}
@@ -0,0 +1,26 @@
1
+ import { ClientSession, Connection } from 'mongoose';
2
+ import { noopAsync } from 'softkave-js-utils';
3
+ export declare function getMongoConnection(uri: string, dbName: string): {
4
+ connection: Connection;
5
+ promise: Promise<Connection>;
6
+ };
7
+ export interface DbConnection<T = unknown> {
8
+ get: <TConnection = T>() => TConnection;
9
+ wait: <TConnection = T>() => Promise<TConnection>;
10
+ close: () => Promise<void>;
11
+ }
12
+ export declare class MongoDbConnection implements DbConnection<Connection> {
13
+ protected connection: Connection;
14
+ protected promise: Promise<Connection>;
15
+ constructor(uri: string, dbName: string);
16
+ get: <TConnection = Connection>() => TConnection;
17
+ wait: <TConnection = Connection>() => TConnection;
18
+ close: () => Promise<void>;
19
+ }
20
+ export declare function isMongoConnection(connection: unknown): connection is Connection;
21
+ export declare function isMongoClientSession(session: unknown): session is ClientSession;
22
+ export declare class NoopDbConnection implements DbConnection<undefined> {
23
+ get: <TConnection = undefined>() => TConnection;
24
+ wait: <TConnection = undefined>() => TConnection;
25
+ close: typeof noopAsync;
26
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NoopDbConnection = exports.isMongoClientSession = exports.isMongoConnection = exports.MongoDbConnection = exports.getMongoConnection = void 0;
4
+ const mongoose_1 = require("mongoose");
5
+ const softkave_js_utils_1 = require("softkave-js-utils");
6
+ function getMongoConnection(uri, dbName) {
7
+ const connection = (0, mongoose_1.createConnection)(uri, { dbName });
8
+ const promise = connection.asPromise();
9
+ return { connection, promise };
10
+ }
11
+ exports.getMongoConnection = getMongoConnection;
12
+ class MongoDbConnection {
13
+ constructor(uri, dbName) {
14
+ this.get = () => {
15
+ return this.connection;
16
+ };
17
+ this.wait = () => {
18
+ return this.promise;
19
+ };
20
+ this.close = async () => {
21
+ await this.connection.close();
22
+ };
23
+ const { connection, promise } = getMongoConnection(uri, dbName);
24
+ this.connection = connection;
25
+ this.promise = promise;
26
+ }
27
+ }
28
+ exports.MongoDbConnection = MongoDbConnection;
29
+ function isMongoConnection(connection) {
30
+ // Not an exhaustive check, but useful enough
31
+ return !!connection.collections;
32
+ }
33
+ exports.isMongoConnection = isMongoConnection;
34
+ function isMongoClientSession(session) {
35
+ return !!(session === null || session === void 0 ? void 0 : session.toBSON);
36
+ }
37
+ exports.isMongoClientSession = isMongoClientSession;
38
+ class NoopDbConnection {
39
+ constructor() {
40
+ this.get = () => {
41
+ return undefined;
42
+ };
43
+ this.wait = () => {
44
+ return undefined;
45
+ };
46
+ this.close = softkave_js_utils_1.noopAsync;
47
+ }
48
+ }
49
+ exports.NoopDbConnection = NoopDbConnection;
50
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/mongodb/connection.ts"],"names":[],"mappings":";;;AAAA,uCAAqE;AACrE,yDAA4C;AAE5C,SAAgB,kBAAkB,CAAC,GAAW,EAAE,MAAc;IAC5D,MAAM,UAAU,GAAG,IAAA,2BAAgB,EAAC,GAAG,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;IACvC,OAAO,EAAC,UAAU,EAAE,OAAO,EAAC,CAAC;AAC/B,CAAC;AAJD,gDAIC;AAQD,MAAa,iBAAiB;IAI5B,YAAY,GAAW,EAAE,MAAc;QAMvC,QAAG,GAAG,GAA6B,EAAE;YACnC,OAAO,IAAI,CAAC,UAAyB,CAAC;QACxC,CAAC,CAAC;QAEF,SAAI,GAAG,GAA6B,EAAE;YACpC,OAAO,IAAI,CAAC,OAAsB,CAAC;QACrC,CAAC,CAAC;QAEF,UAAK,GAAG,KAAK,IAAI,EAAE;YACjB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC,CAAC;QAfA,MAAM,EAAC,UAAU,EAAE,OAAO,EAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CAaF;AArBD,8CAqBC;AAED,SAAgB,iBAAiB,CAC/B,UAAmB;IAEnB,6CAA6C;IAC7C,OAAO,CAAC,CAAE,UAAyB,CAAC,WAAW,CAAC;AAClD,CAAC;AALD,8CAKC;AAED,SAAgB,oBAAoB,CAClC,OAAgB;IAEhB,OAAO,CAAC,CAAC,CAAC,OAAyB,aAAzB,OAAO,uBAAP,OAAO,CAAoB,MAAM,CAAA,CAAC;AAC9C,CAAC;AAJD,oDAIC;AAED,MAAa,gBAAgB;IAA7B;QACE,QAAG,GAAG,GAA4B,EAAE;YAClC,OAAO,SAAwB,CAAC;QAClC,CAAC,CAAC;QAEF,SAAI,GAAG,GAA4B,EAAE;YACnC,OAAO,SAAwB,CAAC;QAClC,CAAC,CAAC;QAEF,UAAK,GAAG,6BAAS,CAAC;IACpB,CAAC;CAAA;AAVD,4CAUC"}