@backtest-kit/mongo 0.0.1 → 0.0.2

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/build/index.cjs CHANGED
@@ -2246,6 +2246,8 @@ function setLogger(logger) {
2246
2246
  ioc.loggerService.setLogger(logger);
2247
2247
  }
2248
2248
 
2249
+ exports.BaseCRUD = BaseCRUD;
2250
+ exports.BaseMap = BaseMap;
2249
2251
  exports.getConfig = getConfig;
2250
2252
  exports.getMongo = getMongo;
2251
2253
  exports.getRedis = getRedis;
package/build/index.mjs CHANGED
@@ -2244,4 +2244,4 @@ function setLogger(logger) {
2244
2244
  ioc.loggerService.setLogger(logger);
2245
2245
  }
2246
2246
 
2247
- export { getConfig, getMongo, getRedis, install, setConfig, setLogger, setup };
2247
+ export { BaseCRUD, BaseMap, getConfig, getMongo, getRedis, install, setConfig, setLogger, setup };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backtest-kit/mongo",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "MongoDB + Redis persistence adapter for backtest-kit. Replaces the default file-based storage with a production-grade backend — O(1) reads via Redis, atomic writes via Mongoose.",
5
5
  "author": {
6
6
  "name": "Petr Tripolsky",
package/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as functools_kit from 'functools-kit';
2
- import mongoose from 'mongoose';
2
+ import mongoose, { Model } from 'mongoose';
3
3
  import { Redis } from 'ioredis';
4
4
 
5
5
  declare const GLOBAL_CONFIG: {
@@ -111,4 +111,83 @@ declare const getMongo: (() => Promise<typeof mongoose>) & functools_kit.ISingle
111
111
 
112
112
  declare const getRedis: (() => Redis) & functools_kit.ISingleshotClearable<() => Redis>;
113
113
 
114
- export { getConfig, getMongo, getRedis, install, setConfig, setLogger, setup };
114
+ declare class LoggerService implements ILogger {
115
+ private _commonLogger;
116
+ log: (topic: string, ...args: any[]) => Promise<void>;
117
+ debug: (topic: string, ...args: any[]) => Promise<void>;
118
+ info: (topic: string, ...args: any[]) => Promise<void>;
119
+ warn: (topic: string, ...args: any[]) => Promise<void>;
120
+ setLogger: (logger: ILogger) => void;
121
+ }
122
+
123
+ declare const BaseCRUD: (TargetModel: Model<any, {}, {}, {}, any, any>) => (new () => {
124
+ readonly loggerService: LoggerService;
125
+ readonly TargetModel: Model<any>;
126
+ create(dto: object): Promise<any>;
127
+ update(id: string, dto: object): Promise<any>;
128
+ findById(id: string): Promise<any>;
129
+ findByFilter(filterData: object, sort?: object): Promise<any>;
130
+ findAll(filterData?: object, limit?: number): Promise<any[]>;
131
+ iterate(filterData?: object, sort?: object): AsyncGenerator<any, void, unknown>;
132
+ paginate(filterData: object, pagination: {
133
+ limit: number;
134
+ offset: number;
135
+ }, sort?: object): Promise<{
136
+ rows: any[];
137
+ total: number;
138
+ }>;
139
+ }) & Omit<{
140
+ new (TargetModel: Model<any>): {
141
+ readonly loggerService: LoggerService;
142
+ readonly TargetModel: Model<any>;
143
+ create(dto: object): Promise<any>;
144
+ update(id: string, dto: object): Promise<any>;
145
+ findById(id: string): Promise<any>;
146
+ findByFilter(filterData: object, sort?: object): Promise<any>;
147
+ findAll(filterData?: object, limit?: number): Promise<any[]>;
148
+ iterate(filterData?: object, sort?: object): AsyncGenerator<any, void, unknown>;
149
+ paginate(filterData: object, pagination: {
150
+ limit: number;
151
+ offset: number;
152
+ }, sort?: object): Promise<{
153
+ rows: any[];
154
+ total: number;
155
+ }>;
156
+ };
157
+ }, "prototype">;
158
+
159
+ declare const BaseMap: (connectionKey: string, ttlExpireSeconds?: number) => (new () => {
160
+ readonly loggerService: LoggerService;
161
+ readonly connectionKey: string;
162
+ readonly ttlExpireSeconds: number;
163
+ _getItemKey(key: string): string;
164
+ set(key: string, value: unknown): Promise<void>;
165
+ get(key: string | null): Promise<unknown | null>;
166
+ delete(key: string): Promise<void>;
167
+ has(key: string): Promise<boolean>;
168
+ clear(): Promise<void>;
169
+ toArray(): Promise<[string, unknown][]>;
170
+ iterate(): AsyncIterableIterator<readonly [string, unknown]>;
171
+ keys(): AsyncIterableIterator<string>;
172
+ values(): AsyncIterableIterator<unknown>;
173
+ size(): Promise<number>;
174
+ }) & Omit<{
175
+ new (connectionKey: string, ttlExpireSeconds?: number): {
176
+ readonly loggerService: LoggerService;
177
+ readonly connectionKey: string;
178
+ readonly ttlExpireSeconds: number;
179
+ _getItemKey(key: string): string;
180
+ set(key: string, value: unknown): Promise<void>;
181
+ get(key: string | null): Promise<unknown | null>;
182
+ delete(key: string): Promise<void>;
183
+ has(key: string): Promise<boolean>;
184
+ clear(): Promise<void>;
185
+ toArray(): Promise<[string, unknown][]>;
186
+ iterate(): AsyncIterableIterator<readonly [string, unknown]>;
187
+ keys(): AsyncIterableIterator<string>;
188
+ values(): AsyncIterableIterator<unknown>;
189
+ size(): Promise<number>;
190
+ };
191
+ }, "prototype">;
192
+
193
+ export { BaseCRUD, BaseMap, getConfig, getMongo, getRedis, install, setConfig, setLogger, setup };