fix(core): update

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

21564
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -5,9 +5,10 @@
"description": "light little helpers for node",
"main": "dist_ts/index.js",
"typings": "dist_ts/index.d.ts",
"type": "module",
"scripts": {
"test": "(tstest test/)",
"build": "(tsbuild --web && tsbundle npm)"
"build": "(tsbuild --web --allowimplicitany && tsbundle npm)"
},
"repository": {
"type": "git",
@ -20,21 +21,21 @@
},
"homepage": "https://gitlab.com/pushrocks/lik#README",
"devDependencies": {
"@gitzone/tsbuild": "^2.1.29",
"@gitzone/tsbundle": "^1.0.89",
"@gitzone/tsrun": "^1.2.18",
"@gitzone/tstest": "^1.0.60",
"@pushrocks/tapbundle": "^4.0.0",
"@types/node": "^17.0.10",
"@gitzone/tsbuild": "^2.1.63",
"@gitzone/tsbundle": "^2.0.4",
"@gitzone/tsrun": "^1.2.34",
"@gitzone/tstest": "^1.0.71",
"@pushrocks/tapbundle": "^5.0.3",
"@types/node": "^17.0.35",
"tslint": "^6.1.3",
"tslint-config-prettier": "^1.18.0"
},
"dependencies": {
"@pushrocks/smartdelay": "^2.0.13",
"@pushrocks/smartmatch": "^1.0.7",
"@pushrocks/smartpromise": "^3.1.6",
"@pushrocks/smartpromise": "^3.1.7",
"@pushrocks/smartrx": "^2.0.25",
"@pushrocks/smarttime": "^3.0.43",
"@pushrocks/smarttime": "^3.0.45",
"@types/minimatch": "^3.0.5",
"symbol-tree": "^3.2.4"
},

View File

@ -1,6 +1,6 @@
import { tap, expect } from '@pushrocks/tapbundle';
import * as lik from '../ts';
import * as lik from '../ts/index.js';
tap.test('should create a valid fastmap', async () => {
const fastmap = new lik.FastMap();

View File

@ -1,5 +1,5 @@
import { tap, expect } from '@pushrocks/tapbundle';
import * as lik from '../ts/index';
import * as lik from '../ts/index.js';
let testInterestmap: lik.InterestMap<number, number>;

View File

@ -1,6 +1,6 @@
import { tap, expect } from '@pushrocks/tapbundle';
import { LimitedArray } from '../ts/index';
import { LimitedArray } from '../ts/index.js';
let testLimitedArray: LimitedArray<string>;

View File

@ -1,10 +1,8 @@
// import test framework
import { expect, tap } from '@pushrocks/tapbundle';
import * as events from 'events';
import * as smartpromise from '@pushrocks/smartpromise';
// import the module
import * as lik from '../ts/index';
import * as lik from '../ts/index.js';
let object1 = {};
let object2 = {};

View File

@ -1,10 +1,8 @@
// import test framework
import { expect, tap } from '@pushrocks/tapbundle';
import * as events from 'events';
import * as smartpromise from '@pushrocks/smartpromise';
// import the module
import * as lik from '../ts/index';
import * as lik from '../ts/index.js';
// Objectmap
interface ITestObject {
@ -45,7 +43,7 @@ tap.test('lik.Objectmap.remove() -> should correctly remove an object to Objectm
tap.test('Objectmap.forEach -> should correctly run a function forEach map object', async () => {
testObjectmap.forEach((itemArg) => {
// TODO expect(itemArg).to.have.property('propOne');
expect(itemArg).toHaveProperty('propOne');
});
});
@ -70,9 +68,9 @@ tap.test('should get one object and then remove it', async () => {
let originalLength = testObjectmap.getArray().length;
let oneObject = testObjectmap.getOneAndRemove();
// tslint:disable-next-line:no-unused-expression
// TODO expect(oneObject).not.toBeNull();
expect(oneObject).not.toBeNull();
expect(testObjectmap.getArray().length).toEqual(originalLength - 1);
// TODO expect(testObjectmap.getArray()).to.not.contain(oneObject);
expect(testObjectmap.getArray()).not.toContain(oneObject);
});
tap.start();

View File

@ -1,10 +1,8 @@
// import test framework
import { expect, tap } from '@pushrocks/tapbundle';
import * as events from 'events';
import * as smartpromise from '@pushrocks/smartpromise';
// import the module
import * as lik from '../ts/index';
import * as lik from '../ts/index.js';
// testData
let testStringmap: lik.Stringmap;

View File

@ -1,10 +1,8 @@
// import test framework
import { expect, tap } from '@pushrocks/tapbundle';
import * as events from 'events';
import * as smartpromise from '@pushrocks/smartpromise';
// import the module
import * as lik from '../ts/index';
import * as lik from '../ts/index.js';
let testTimedAggregator: lik.TimedAggregtor<string>;

View File

@ -1,5 +1,5 @@
import { tap, expect } from '@pushrocks/tapbundle';
import * as lik from '../ts/index';
import * as lik from '../ts/index.js';
class TestClass {
constructor(public hey: string) {
@ -24,7 +24,7 @@ tap.test('create a valid tree instance', async () => {
tap.test('should insert an object', async () => {
testTree.initialize(testInstance);
let resultArray = testTree.treeToArray(testInstance, {});
// TODO expect(resultArray).toContain(testInstance);
expect(resultArray).toContain(testInstance);
});
tap.test('should add other objects in a hierachy', async () => {

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;

View File

@ -1,17 +0,0 @@
{
"extends": ["tslint:latest", "tslint-config-prettier"],
"rules": {
"semicolon": [true, "always"],
"no-console": false,
"ordered-imports": false,
"object-literal-sort-keys": false,
"member-ordering": {
"options":{
"order": [
"static-method"
]
}
}
},
"defaultSeverity": "warning"
}