@goatlab/fluent-loki 0.7.11 → 0.7.13

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.
@@ -0,0 +1,618 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LokiConnector = void 0;
4
+ const js_utils_1 = require("@goatlab/js-utils");
5
+ const dates_1 = require("@goatlab/dates");
6
+ const fluent_1 = require("@goatlab/fluent");
7
+ class LokiConnector extends fluent_1.BaseConnector {
8
+ collection;
9
+ dataSource;
10
+ inputSchema;
11
+ outputSchema;
12
+ entity;
13
+ constructor({ entity, dataSource, inputSchema, outputSchema }) {
14
+ super();
15
+ this.dataSource = dataSource;
16
+ this.inputSchema = inputSchema;
17
+ this.outputSchema =
18
+ outputSchema || inputSchema;
19
+ this.entity = entity;
20
+ const dbModels = [];
21
+ for (const collection of dataSource.collections) {
22
+ dbModels.push(collection.name);
23
+ }
24
+ if (!dbModels.includes(entity.name)) {
25
+ dataSource.addCollection(entity.name);
26
+ }
27
+ this.dataSource = dataSource;
28
+ this.collection = dataSource.getCollection(entity.name);
29
+ const relationShipBuilder = fluent_1.modelGeneratorDataSource.getRepository(entity);
30
+ const { relations } = (0, fluent_1.getRelationsFromModelGenerator)(relationShipBuilder);
31
+ this.modelRelations = relations;
32
+ this.outputKeys = (0, fluent_1.getOutputKeys)(relationShipBuilder) || [];
33
+ }
34
+ /**
35
+ * Insert the data object into the database.
36
+ * @param data
37
+ */
38
+ async insert(data) {
39
+ const _data = js_utils_1.Objects.clone(data);
40
+ // Validate Input
41
+ const validatedData = this.inputSchema.parse(_data);
42
+ const id = js_utils_1.Ids.uuid();
43
+ const now = new Date();
44
+ const inserted = {
45
+ id,
46
+ created: now,
47
+ createdAt: now,
48
+ updatedAt: now,
49
+ ...validatedData
50
+ };
51
+ await this.collection.insert(inserted);
52
+ // Validate Output
53
+ return this.outputSchema.parse(js_utils_1.Objects.clearEmpties(js_utils_1.Objects.deleteNulls(inserted)));
54
+ }
55
+ async insertMany(data) {
56
+ const validatedData = this.inputSchema.array().parse(data);
57
+ const insertedElements = [];
58
+ for (const data of validatedData) {
59
+ const now = new Date();
60
+ insertedElements.push({
61
+ ...data,
62
+ id: js_utils_1.Ids.uuid(),
63
+ created: now,
64
+ createdAt: now,
65
+ updatedAt: now
66
+ });
67
+ }
68
+ await this.collection.insert(insertedElements);
69
+ return this.outputSchema.array().parse(insertedElements.map(d => {
70
+ return js_utils_1.Objects.clearEmpties(js_utils_1.Objects.deleteNulls(d));
71
+ }));
72
+ }
73
+ /**
74
+ *
75
+ * Returns the TypeOrm Repository, you can use it
76
+ * form more complex queries and to get
77
+ * the TypeOrm query builder
78
+ *
79
+ * @param query
80
+ */
81
+ raw() {
82
+ return this.collection;
83
+ }
84
+ async findMany(query) {
85
+ const where = this.getLokiWhere(query?.where);
86
+ const sort = [];
87
+ let baseQuery = this.collection
88
+ .chain()
89
+ .find(where);
90
+ // Pagination
91
+ if (query?.paginated) {
92
+ baseQuery.limit(query.paginated.perPage);
93
+ baseQuery.offset((query.paginated?.page - 1) * query.paginated.perPage);
94
+ }
95
+ if (query?.orderBy) {
96
+ for (const order of query?.orderBy) {
97
+ const flattenObject = js_utils_1.Objects.flatten(order);
98
+ for (const attribute of Object.keys(flattenObject)) {
99
+ const isDecending = flattenObject[attribute] === 'desc';
100
+ sort.push([attribute, isDecending]);
101
+ }
102
+ }
103
+ baseQuery = baseQuery.compoundsort(sort);
104
+ }
105
+ // Apply offset and limit after sorting
106
+ if (query?.offset) {
107
+ baseQuery = baseQuery.offset(query.offset);
108
+ }
109
+ if (query?.limit) {
110
+ baseQuery = baseQuery.limit(query.limit);
111
+ }
112
+ else if (!query?.paginated) {
113
+ // Default limit if no pagination
114
+ baseQuery = baseQuery.limit(10);
115
+ }
116
+ let found = baseQuery.data();
117
+ found.map(d => {
118
+ js_utils_1.Objects.clearEmpties(js_utils_1.Objects.deleteNulls(d));
119
+ });
120
+ if (query?.paginated) {
121
+ const paginationInfo = {
122
+ total: 0,
123
+ perPage: query.paginated.perPage,
124
+ currentPage: query.paginated.page,
125
+ nextPage: query.paginated.page + 1,
126
+ firstPage: 1,
127
+ lastPage: Math.ceil(1 / query.paginated.perPage),
128
+ prevPage: query.paginated.page === 1 ? null : query.paginated.page - 1,
129
+ from: (query.paginated.page - 1) * query.paginated.perPage + 1,
130
+ to: query.paginated.perPage * query.paginated.page,
131
+ data: found
132
+ };
133
+ return paginationInfo;
134
+ }
135
+ if (query?.select) {
136
+ const selectedAttributes = this.jsApplySelect(query?.select, found);
137
+ // TODO: validate based on the select properties
138
+ return selectedAttributes;
139
+ }
140
+ // Validate Output against schema
141
+ // Use partial schema to handle objects that may have been replaced with partial data
142
+ const validatedResults = found.map(item => {
143
+ try {
144
+ return this.outputSchema.parse(item);
145
+ }
146
+ catch (e) {
147
+ // If full validation fails, try partial validation
148
+ return this.outputSchema.partial().parse(item);
149
+ }
150
+ });
151
+ return validatedResults;
152
+ }
153
+ /**
154
+ *
155
+ * @param id
156
+ * @returns
157
+ */
158
+ async deleteById(id) {
159
+ await this.collection.findAndRemove({ id });
160
+ return id;
161
+ }
162
+ /**
163
+ * PATCH operation
164
+ * @param data
165
+ */
166
+ async updateById(id, data) {
167
+ const dataToInsert = this.outputKeys.includes('updated')
168
+ ? {
169
+ ...data,
170
+ ...{ updated: new Date() }
171
+ }
172
+ : data;
173
+ // For PATCH operations, use partial validation
174
+ const partialSchema = this.inputSchema.partial();
175
+ const validatedData = partialSchema.parse(dataToInsert);
176
+ const local = await this.collection.findOne({ id });
177
+ const mod = {
178
+ ...local,
179
+ ...validatedData,
180
+ modified: dates_1.Dates.currentIsoString()
181
+ };
182
+ const dbResult = await this.collection.update(mod);
183
+ // const dbResult = await this.collection.findOne({ id })
184
+ // Validate Output
185
+ return this.outputSchema?.parse(js_utils_1.Objects.clearEmpties(js_utils_1.Objects.deleteNulls(dbResult)));
186
+ }
187
+ /**
188
+ *
189
+ * PUT operation. All fields not included in the data
190
+ * param will be set to null
191
+ *
192
+ * @param id
193
+ * @param data
194
+ */
195
+ async replaceById(id, data) {
196
+ let value = await this.collection.findOne({ id });
197
+ const flatValue = js_utils_1.Objects.flatten(JSON.parse(JSON.stringify(value)));
198
+ Object.keys(flatValue).forEach(key => {
199
+ flatValue[key] = null;
200
+ });
201
+ const nullObject = js_utils_1.Objects.nest(flatValue);
202
+ const newValue = { ...nullObject, ...data };
203
+ delete newValue._id;
204
+ delete newValue.id;
205
+ delete newValue.created;
206
+ delete newValue.updated;
207
+ const dataToInsert = this.outputKeys.includes('updated')
208
+ ? {
209
+ ...data,
210
+ ...{ updated: new Date() }
211
+ }
212
+ : data;
213
+ // For replace operations, use partial validation since we're replacing with only provided fields
214
+ const partialSchema = this.inputSchema.partial();
215
+ const validatedData = partialSchema.parse(dataToInsert);
216
+ // Keep LokiJS metadata when updating
217
+ const updatedValue = {
218
+ ...value, // Keep all LokiJS metadata
219
+ ...validatedData
220
+ };
221
+ // Remove all fields except LokiJS metadata and validated fields
222
+ const lokiMetaFields = ['$loki', 'meta'];
223
+ const allowedFields = [...lokiMetaFields, 'id', 'created', ...Object.keys(validatedData)];
224
+ Object.keys(updatedValue).forEach(key => {
225
+ if (!allowedFields.includes(key)) {
226
+ delete updatedValue[key];
227
+ }
228
+ });
229
+ await this.collection.update(updatedValue);
230
+ const val = await this.collection.findOne({ id });
231
+ // For replace operations, use partial output schema since we only have the replaced fields
232
+ const partialOutputSchema = this.outputSchema.partial();
233
+ return partialOutputSchema.parse(js_utils_1.Objects.clearEmpties(js_utils_1.Objects.deleteNulls(val)));
234
+ }
235
+ getLokiWhere(where) {
236
+ /*
237
+
238
+ if (this.relationQuery && this.relationQuery.data) {
239
+ const ids = this.relationQuery.data.map(
240
+ d => Ids.objectID(d.id) as unknown as ObjectID
241
+ )
242
+
243
+ andFilters.push([
244
+ this.relationQuery.relation.inverseSidePropertyPath,
245
+ 'in',
246
+ ids
247
+ ])
248
+ }
249
+
250
+ if (!andFilters || andFilters.length === 0) {
251
+ return filters
252
+ }
253
+ */
254
+ if (!where || Object.keys(where).length === 0) {
255
+ return {};
256
+ }
257
+ const Filters = {
258
+ where: { $or: [{ $and: [] }] }
259
+ };
260
+ const orConditions = (0, fluent_1.extractConditions)((where['OR'] || []));
261
+ const andConditions = (0, fluent_1.extractConditions)((where['AND'] || []));
262
+ const copy = js_utils_1.Objects.clone(where);
263
+ if (!!copy['AND']) {
264
+ delete copy['AND'];
265
+ }
266
+ if (!!copy['OR']) {
267
+ delete copy['OR'];
268
+ }
269
+ const rootLevelConditions = (0, fluent_1.extractConditions)([copy]);
270
+ // Process AND conditions
271
+ for (const condition of andConditions) {
272
+ let { element, operator, value } = condition;
273
+ if (element === 'id') {
274
+ // element = '_id'
275
+ /*
276
+ value = (Array.isArray(value)
277
+ ? value.map(v => Ids.objectID(v) as unknown as ObjectID)
278
+ : (Ids.objectID(value) as unknown as ObjectID) as unknown as PrimitivesArray | Primitives)
279
+ */
280
+ }
281
+ // Handle nested properties for LokiJS
282
+ if (element.includes('.')) {
283
+ const parts = element.split('.');
284
+ const nestedFilter = {};
285
+ let current = nestedFilter;
286
+ for (let i = 0; i < parts.length - 1; i++) {
287
+ current[parts[i]] = {};
288
+ current = current[parts[i]];
289
+ }
290
+ const lastPart = parts[parts.length - 1];
291
+ switch (operator) {
292
+ case fluent_1.LogicOperator.equals:
293
+ current[lastPart] = value;
294
+ break;
295
+ case fluent_1.LogicOperator.isNot:
296
+ current[lastPart] = { $ne: value };
297
+ break;
298
+ case fluent_1.LogicOperator.greaterThan:
299
+ current[lastPart] = { $gt: value };
300
+ break;
301
+ case fluent_1.LogicOperator.greaterOrEqualThan:
302
+ current[lastPart] = { $gte: value };
303
+ break;
304
+ case fluent_1.LogicOperator.lessThan:
305
+ current[lastPart] = { $lt: value };
306
+ break;
307
+ case fluent_1.LogicOperator.lessOrEqualThan:
308
+ current[lastPart] = { $lte: value };
309
+ break;
310
+ case fluent_1.LogicOperator.in:
311
+ current[lastPart] = { $in: value };
312
+ break;
313
+ case fluent_1.LogicOperator.notIn:
314
+ current[lastPart] = { $nin: value };
315
+ break;
316
+ case fluent_1.LogicOperator.exists:
317
+ current[lastPart] = { $exists: true };
318
+ break;
319
+ case fluent_1.LogicOperator.notExists:
320
+ current[lastPart] = { $exists: false };
321
+ break;
322
+ case fluent_1.LogicOperator.regexp:
323
+ current[lastPart] = { $regex: value };
324
+ break;
325
+ }
326
+ Filters.where.$or[0].$and.push(nestedFilter);
327
+ }
328
+ else {
329
+ switch (operator) {
330
+ case fluent_1.LogicOperator.equals:
331
+ Filters.where.$or[0].$and.push({ [element]: { $eq: value } });
332
+ break;
333
+ case fluent_1.LogicOperator.isNot:
334
+ Filters.where.$or[0].$and.push({ [element]: { $neq: value } });
335
+ break;
336
+ case fluent_1.LogicOperator.greaterThan:
337
+ Filters.where.$or[0].$and.push({ [element]: { $gt: value } });
338
+ break;
339
+ case fluent_1.LogicOperator.greaterOrEqualThan:
340
+ Filters.where.$or[0].$and.push({ [element]: { $gte: value } });
341
+ break;
342
+ case fluent_1.LogicOperator.lessThan:
343
+ Filters.where.$or[0].$and.push({ [element]: { $lt: value } });
344
+ break;
345
+ case fluent_1.LogicOperator.lessOrEqualThan:
346
+ Filters.where.$or[0].$and.push({ [element]: { $lte: value } });
347
+ break;
348
+ case fluent_1.LogicOperator.in:
349
+ Filters.where.$or[0].$and.push({ [element]: { $in: value } });
350
+ break;
351
+ case fluent_1.LogicOperator.notIn:
352
+ Filters.where.$or[0].$and.push({
353
+ [element]: { $not: { $in: value } }
354
+ });
355
+ break;
356
+ case fluent_1.LogicOperator.exists:
357
+ Filters.where.$or[0].$and.push({ [element]: { $exists: true } });
358
+ break;
359
+ case fluent_1.LogicOperator.notExists:
360
+ Filters.where.$or[0].$and.push({ [element]: { $exists: false } });
361
+ break;
362
+ case fluent_1.LogicOperator.regexp:
363
+ Filters.where.$or[0].$and.push({ [element]: { $regex: value } });
364
+ break;
365
+ }
366
+ }
367
+ }
368
+ for (const condition of rootLevelConditions) {
369
+ let { element, operator, value } = condition;
370
+ if (element === 'id') {
371
+ // element = '_id'
372
+ /*
373
+ value = (Array.isArray(value)
374
+ ? value.map(v => Ids.objectID(v) as unknown as ObjectID)
375
+ : (Ids.objectID(value) as unknown as ObjectID) as unknown as PrimitivesArray | Primitives)
376
+ */
377
+ }
378
+ // Handle nested properties for LokiJS
379
+ if (element.includes('.')) {
380
+ const parts = element.split('.');
381
+ const nestedFilter = {};
382
+ let current = nestedFilter;
383
+ for (let i = 0; i < parts.length - 1; i++) {
384
+ current[parts[i]] = {};
385
+ current = current[parts[i]];
386
+ }
387
+ const lastPart = parts[parts.length - 1];
388
+ switch (operator) {
389
+ case fluent_1.LogicOperator.equals:
390
+ current[lastPart] = value;
391
+ break;
392
+ case fluent_1.LogicOperator.isNot:
393
+ current[lastPart] = { $ne: value };
394
+ break;
395
+ case fluent_1.LogicOperator.greaterThan:
396
+ current[lastPart] = { $gt: value };
397
+ break;
398
+ case fluent_1.LogicOperator.greaterOrEqualThan:
399
+ current[lastPart] = { $gte: value };
400
+ break;
401
+ case fluent_1.LogicOperator.lessThan:
402
+ current[lastPart] = { $lt: value };
403
+ break;
404
+ case fluent_1.LogicOperator.lessOrEqualThan:
405
+ current[lastPart] = { $lte: value };
406
+ break;
407
+ case fluent_1.LogicOperator.in:
408
+ current[lastPart] = { $in: value };
409
+ break;
410
+ case fluent_1.LogicOperator.notIn:
411
+ current[lastPart] = { $nin: value };
412
+ break;
413
+ case fluent_1.LogicOperator.exists:
414
+ current[lastPart] = { $exists: true };
415
+ break;
416
+ case fluent_1.LogicOperator.notExists:
417
+ current[lastPart] = { $exists: false };
418
+ break;
419
+ case fluent_1.LogicOperator.regexp:
420
+ current[lastPart] = { $regex: value };
421
+ break;
422
+ }
423
+ Filters.where.$or[0].$and.push(nestedFilter);
424
+ }
425
+ else {
426
+ switch (operator) {
427
+ case fluent_1.LogicOperator.equals:
428
+ Filters.where.$or[0].$and.push({ [element]: { $eq: value } });
429
+ break;
430
+ case fluent_1.LogicOperator.isNot:
431
+ Filters.where.$or[0].$and.push({ [element]: { $neq: value } });
432
+ break;
433
+ case fluent_1.LogicOperator.greaterThan:
434
+ Filters.where.$or[0].$and.push({ [element]: { $gt: value } });
435
+ break;
436
+ case fluent_1.LogicOperator.greaterOrEqualThan:
437
+ Filters.where.$or[0].$and.push({ [element]: { $gte: value } });
438
+ break;
439
+ case fluent_1.LogicOperator.lessThan:
440
+ Filters.where.$or[0].$and.push({ [element]: { $lt: value } });
441
+ break;
442
+ case fluent_1.LogicOperator.lessOrEqualThan:
443
+ Filters.where.$or[0].$and.push({ [element]: { $lte: value } });
444
+ break;
445
+ case fluent_1.LogicOperator.in:
446
+ Filters.where.$or[0].$and.push({ [element]: { $in: value } });
447
+ break;
448
+ case fluent_1.LogicOperator.notIn:
449
+ Filters.where.$or[0].$and.push({
450
+ [element]: { $not: { $in: value } }
451
+ });
452
+ break;
453
+ case fluent_1.LogicOperator.exists:
454
+ Filters.where.$or[0].$and.push({ [element]: { $exists: true } });
455
+ break;
456
+ case fluent_1.LogicOperator.notExists:
457
+ Filters.where.$or[0].$and.push({ [element]: { $exists: false } });
458
+ break;
459
+ case fluent_1.LogicOperator.regexp:
460
+ Filters.where.$or[0].$and.push({ [element]: { $regex: value } });
461
+ break;
462
+ }
463
+ }
464
+ }
465
+ for (const condition of orConditions) {
466
+ let { element, operator, value } = condition;
467
+ switch (operator) {
468
+ case fluent_1.LogicOperator.equals:
469
+ Filters.where.$or.push({ [element]: { $eq: value } });
470
+ break;
471
+ case fluent_1.LogicOperator.isNot:
472
+ Filters.where.$or.push({ [element]: { $neq: value } });
473
+ break;
474
+ case fluent_1.LogicOperator.greaterThan:
475
+ Filters.where.$or.push({ [element]: { $gt: value } });
476
+ break;
477
+ case fluent_1.LogicOperator.greaterOrEqualThan:
478
+ Filters.where.$or.push({ [element]: { $gte: value } });
479
+ break;
480
+ case fluent_1.LogicOperator.lessThan:
481
+ Filters.where.$or.push({ [element]: { $lt: value } });
482
+ break;
483
+ case fluent_1.LogicOperator.lessOrEqualThan:
484
+ Filters.where.$or.push({ [element]: { $lte: value } });
485
+ break;
486
+ case fluent_1.LogicOperator.in:
487
+ Filters.where.$or.push({ [element]: { $in: value } });
488
+ break;
489
+ case fluent_1.LogicOperator.notIn:
490
+ Filters.where.$or.push({
491
+ [element]: { $not: { $in: value } }
492
+ });
493
+ break;
494
+ case fluent_1.LogicOperator.exists:
495
+ Filters.where.$or.push({ [element]: { $exists: true } });
496
+ break;
497
+ case fluent_1.LogicOperator.notExists:
498
+ Filters.where.$or.push({ [element]: { $exists: false } });
499
+ break;
500
+ case fluent_1.LogicOperator.regexp:
501
+ Filters.where.$or.push({ [element]: { $regex: value } });
502
+ break;
503
+ }
504
+ }
505
+ // For simple queries without OR conditions, return a simpler format
506
+ if (Filters.where.$or.length === 1 && Filters.where.$or[0].$and.length === 1) {
507
+ const filter = Filters.where.$or[0].$and[0];
508
+ // For nested objects, LokiJS needs { "breed.family": "Angora" } format
509
+ // Check if this is a nested object filter
510
+ const keys = Object.keys(filter);
511
+ if (keys.length === 1 && typeof filter[keys[0]] === 'object' && !filter[keys[0]].$eq && !filter[keys[0]].$ne && !filter[keys[0]].$gt && !filter[keys[0]].$gte && !filter[keys[0]].$lt && !filter[keys[0]].$lte && !filter[keys[0]].$in && !filter[keys[0]].$nin && !filter[keys[0]].$exists && !filter[keys[0]].$regex) {
512
+ // This is a nested object filter like { breed: { family: "Angora" } }
513
+ // Convert to dot notation for LokiJS
514
+ const result = {};
515
+ const flattenNestedObject = (obj, prefix = '') => {
516
+ for (const key in obj) {
517
+ const fullKey = prefix ? `${prefix}.${key}` : key;
518
+ if (typeof obj[key] === 'object' && obj[key] !== null && !Array.isArray(obj[key]) && !obj[key].$eq && !obj[key].$ne && !obj[key].$gt && !obj[key].$gte && !obj[key].$lt && !obj[key].$lte && !obj[key].$in && !obj[key].$nin && !obj[key].$exists && !obj[key].$regex) {
519
+ flattenNestedObject(obj[key], fullKey);
520
+ }
521
+ else {
522
+ result[fullKey] = obj[key];
523
+ }
524
+ }
525
+ };
526
+ flattenNestedObject(filter);
527
+ return result;
528
+ }
529
+ return filter;
530
+ }
531
+ // For empty AND conditions, return empty object
532
+ if (Filters.where.$or.length === 1 && Filters.where.$or[0].$and.length === 0) {
533
+ return {};
534
+ }
535
+ // For multiple AND conditions without OR, combine them
536
+ if (Filters.where.$or.length === 1 && Filters.where.$or[0].$and.length > 1) {
537
+ return { $and: Filters.where.$or[0].$and };
538
+ }
539
+ // For OR conditions, return the full structure
540
+ if (Filters.where.$or.length > 1) {
541
+ return { $or: Filters.where.$or };
542
+ }
543
+ return js_utils_1.Objects.clearEmpties(Filters.where);
544
+ }
545
+ loadFirst(query) {
546
+ // Create a clone of the original class
547
+ // to avoid polluting attributes (relatedQuery)
548
+ const detachedClass = Object.assign(Object.create(Object.getPrototypeOf(this)), this);
549
+ detachedClass.setRelatedQuery({
550
+ entity: this.entity,
551
+ repository: this,
552
+ query
553
+ });
554
+ return detachedClass;
555
+ }
556
+ clone() {
557
+ return new this.constructor();
558
+ }
559
+ loadById(id) {
560
+ // Create a new instance to avoid polluting the original one
561
+ const newInstance = this.clone();
562
+ newInstance.setRelatedQuery({
563
+ entity: this.entity,
564
+ repository: this,
565
+ query: {
566
+ where: {
567
+ id
568
+ }
569
+ }
570
+ });
571
+ return newInstance;
572
+ }
573
+ async clear() {
574
+ this.collection.clear({ removeIndices: true });
575
+ return true;
576
+ }
577
+ /**
578
+ * Override pluck to filter out undefined values
579
+ */
580
+ async pluck(path, query) {
581
+ const data = await this.findMany(query);
582
+ // Handle both string and object path formats
583
+ const pathKey = typeof path === 'string' ? path : Object.keys(js_utils_1.Objects.flatten(path))[0];
584
+ const result = [];
585
+ for (const item of data) {
586
+ const extracted = js_utils_1.Objects.getFromPath(item, String(pathKey), undefined);
587
+ if (typeof extracted.value !== 'undefined') {
588
+ result.push(extracted.value);
589
+ }
590
+ }
591
+ return result;
592
+ }
593
+ getLokiOperator(operator) {
594
+ const lokiOperators = {
595
+ '=': '$eq',
596
+ '<': '$lt',
597
+ '>': '$gt',
598
+ '<=': '$lte',
599
+ '>=': '$gte',
600
+ '<>': '$ne',
601
+ '!=': '$ne',
602
+ in: '$in',
603
+ nin: '$nin',
604
+ like: '$aeq',
605
+ regexp: '$regex',
606
+ startsWith: '$regex|^{{$var}}',
607
+ endsWith: '$regex|{{$var}}$',
608
+ contains: '$regex|{{$var}}'
609
+ };
610
+ const converted = js_utils_1.Objects.get(() => lokiOperators[operator], undefined);
611
+ if (!converted) {
612
+ throw new Error(`The operator "${operator}" is not supported in Loki `);
613
+ }
614
+ return converted;
615
+ }
616
+ }
617
+ exports.LokiConnector = LokiConnector;
618
+ //# sourceMappingURL=LokiConnector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LokiConnector.js","sourceRoot":"","sources":["../src/LokiConnector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { LokiConnector } from './LokiConnector';
2
+ import { Loki } from './Loki';
3
+ export { LokiConnector, Loki };
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Loki = exports.LokiConnector = void 0;
4
+ const LokiConnector_1 = require("./LokiConnector");
5
+ Object.defineProperty(exports, "LokiConnector", { enumerable: true, get: function () { return LokiConnector_1.LokiConnector; } });
6
+ const Loki_1 = require("./Loki");
7
+ Object.defineProperty(exports, "Loki", { enumerable: true, get: function () { return Loki_1.Loki; } });
8
+ //# sourceMappingURL=index.js.map