fix(core): update

This commit is contained in:
2022-05-27 17:53:02 +02:00
parent b1bd8132de
commit 69ab47ed41
23 changed files with 2120 additions and 19600 deletions

8
ts/00_commitinfo_data.ts Normal file
View File

@ -0,0 +1,8 @@
/**
* autocreated commitinfo by @pushrocks/commitinfo
*/
export const commitinfo = {
name: '@pushrocks/lik',
version: '5.0.5',
description: 'light little helpers for node'
}

View File

@ -1,9 +1,9 @@
export * from './lik.fastmap';
export * from './lik.interestmap';
export * from './lik.interestmap.interest';
export * from './lik.limitedarray';
export * from './lik.looptracker';
export * from './lik.objectmap';
export * from './lik.stringmap';
export * from './lik.timedaggregator';
export * from './lik.tree';
export * from './lik.fastmap.js';
export * from './lik.interestmap.js';
export * from './lik.interestmap.interest.js';
export * from './lik.limitedarray.js';
export * from './lik.looptracker.js';
export * from './lik.objectmap.js';
export * from './lik.stringmap.js';
export * from './lik.timedaggregator.js';
export * from './lik.tree.js';

View File

@ -1,4 +1,9 @@
import * as plugins from './lik.plugins';
/* ============
The FastMap has the goal of creating the fastes to use map possible in JS
============ */
import * as plugins from './lik.plugins.js';
/**
* fast map allows for very quick lookups of objects with a unique key

View File

@ -1,6 +1,6 @@
import * as plugins from './lik.plugins';
import * as plugins from './lik.plugins.js';
import { InterestMap, IInterestComparisonFunc } from './lik.interestmap';
import { InterestMap, IInterestComparisonFunc } from './lik.interestmap.js';
export interface IInterestOptions<DTInterestFullfillment> {
markLostAfterDefault: number;

View File

@ -1,6 +1,17 @@
import * as plugins from './lik.plugins';
import { ObjectMap } from './lik.objectmap';
import { Interest } from './lik.interestmap.interest';
/* ===========
The InterestMap is an mechanism that collects interests into something
An interest is expressed by an object, string or number.
A comparison func can be specified to make interests comparable
For every unique interestId an interest is created.
Subssequent interests will be mapped to the same interest
which is then is only fullfilled once.
=========== */
import * as plugins from './lik.plugins.js';
import { ObjectMap } from './lik.objectmap.js';
import { Interest } from './lik.interestmap.interest.js';
export type IInterestComparisonFunc<T> = (objectArg: T) => string;
@ -31,17 +42,17 @@ export class InterestMap<DTInterestId, DTInterestFullfillment> {
/**
* adds an interest to the InterestMap
* @param objectArg
* @param interestId
*/
public async addInterest(
objectArg: DTInterestId,
interestId: DTInterestId,
defaultFullfillmentArg?: DTInterestFullfillment
): Promise<Interest<DTInterestId, DTInterestFullfillment>> {
const comparisonString = this.comparisonFunc(objectArg);
const comparisonString = this.comparisonFunc(interestId);
let returnInterest: Interest<DTInterestId, DTInterestFullfillment>;
const newInterest = new Interest<DTInterestId, DTInterestFullfillment>(
this,
objectArg,
interestId,
this.comparisonFunc,
{
markLostAfterDefault: this.options.markLostAfterDefault,
@ -65,12 +76,10 @@ export class InterestMap<DTInterestId, DTInterestFullfillment> {
return returnInterest;
}
// tslint:disable-next-line:member-ordering
public interestObservable = new plugins.smartrx.ObservableIntake<Interest<DTInterestId, any>>();
/**
* removes an interest from the interest map
* @param objectArg removes an interest from the InterestMap
*/
public removeInterest(interestArg: Interest<DTInterestId, DTInterestFullfillment>) {
const interestToRemove = this.interestObjectMap.findOneAndRemoveSync((interestArg2) => {
@ -114,10 +123,10 @@ export class InterestMap<DTInterestId, DTInterestFullfillment> {
/**
* finds an interest
* @param objectArg
* @param interestId
*/
public findInterest(objectArg: DTInterestId): Interest<DTInterestId, DTInterestFullfillment> {
const comparableString = this.comparisonFunc(objectArg);
public findInterest(interestId: DTInterestId): Interest<DTInterestId, DTInterestFullfillment> {
const comparableString = this.comparisonFunc(interestId);
const interest = this.interestObjectMap.findSync((interestArg) => {
return interestArg.comparisonString === comparableString;
});

View File

@ -1,4 +1,4 @@
import * as plugins from './lik.plugins';
import * as plugins from './lik.plugins.js';
export class LimitedArray<T> {
array: T[] = [];

View File

@ -1,6 +1,6 @@
import * as plugins from './lik.plugins';
import * as plugins from './lik.plugins.js';
import { ObjectMap } from './lik.objectmap';
import { ObjectMap } from './lik.objectmap.js';
export class LoopTracker<T> {
referenceObjectMap = new ObjectMap<any>();

View File

@ -1,5 +1,5 @@
import * as plugins from './lik.plugins';
import { FastMap } from './lik.fastmap';
import * as plugins from './lik.plugins.js';
import { FastMap } from './lik.fastmap.js';
export const uni = (prefix: string = 'uni') => {
return `${prefix}xxxxxxxxxxx`.replace(/[xy]/g, (c) => {

View File

@ -12,6 +12,6 @@ export { smartdelay, smartmatch, smartpromise, smartrx, smarttime };
// ==============
// third party
// ==============
const symbolTree = require('symbol-tree');
import symbolTree from 'symbol-tree';
export { symbolTree };

View File

@ -1,4 +1,4 @@
import * as plugins from './lik.plugins';
import * as plugins from './lik.plugins.js';
/**
* allows you to easily keep track of a bunch of strings

View File

@ -1,4 +1,4 @@
import * as plugins from './lik.plugins';
import * as plugins from './lik.plugins.js';
export interface ITimedAggregatorOptions<T> {
aggregationIntervalInMillis: number;

View File

@ -1,4 +1,4 @@
import * as plugins from './lik.plugins';
import * as plugins from './lik.plugins.js';
export class Tree<T> {
symbolTree: any;