Compare commits

..

4 Commits

Author SHA1 Message Date
8947738dc1 4.0.20 2020-11-24 19:11:43 +00:00
14bc5dcd25 fix(core): update 2020-11-24 19:11:42 +00:00
c2f366de7f 4.0.19 2020-11-24 18:53:28 +00:00
ae47276569 fix(core): update 2020-11-24 18:53:28 +00:00
6 changed files with 44 additions and 19 deletions

View File

@ -19,23 +19,35 @@ mirror:
stage: security stage: security
script: script:
- npmci git mirror - npmci git mirror
only:
- tags
tags: tags:
- lossless - lossless
- docker - docker
- notpriv - notpriv
audit: auditProductionDependencies:
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
stage: security
script:
- npmci npm prepare
- npmci command npm install --production --ignore-scripts
- npmci command npm config set registry https://registry.npmjs.org
- npmci command npm audit --audit-level=high --only=prod --production
tags:
- docker
auditDevDependencies:
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
stage: security stage: security
script: script:
- npmci npm prepare - npmci npm prepare
- npmci command npm install --ignore-scripts - npmci command npm install --ignore-scripts
- npmci command npm config set registry https://registry.npmjs.org - npmci command npm config set registry https://registry.npmjs.org
- npmci command npm audit --audit-level=high - npmci command npm audit --audit-level=high --only=dev
tags: tags:
- lossless
- docker - docker
- notpriv allow_failure: true
# ==================== # ====================
# test stage # test stage
@ -50,9 +62,7 @@ testStable:
- npmci npm test - npmci npm test
coverage: /\d+.?\d+?\%\s*coverage/ coverage: /\d+.?\d+?\%\s*coverage/
tags: tags:
- lossless
- docker - docker
- priv
testBuild: testBuild:
stage: test stage: test
@ -63,9 +73,7 @@ testBuild:
- npmci command npm run build - npmci command npm run build
coverage: /\d+.?\d+?\%\s*coverage/ coverage: /\d+.?\d+?\%\s*coverage/
tags: tags:
- lossless
- docker - docker
- notpriv
release: release:
stage: release stage: release
@ -85,6 +93,8 @@ release:
codequality: codequality:
stage: metadata stage: metadata
allow_failure: true allow_failure: true
only:
- tags
script: script:
- npmci command npm install -g tslint typescript - npmci command npm install -g tslint typescript
- npmci npm prepare - npmci npm prepare

View File

@ -15,7 +15,7 @@
"properties": { "properties": {
"projectType": { "projectType": {
"type": "string", "type": "string",
"enum": ["website", "element", "service", "npm"] "enum": ["website", "element", "service", "npm", "wcc"]
} }
} }
} }

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "@pushrocks/lik", "name": "@pushrocks/lik",
"version": "4.0.18", "version": "4.0.20",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@ -1,6 +1,6 @@
{ {
"name": "@pushrocks/lik", "name": "@pushrocks/lik",
"version": "4.0.18", "version": "4.0.20",
"private": false, "private": false,
"description": "light little helpers for node", "description": "light little helpers for node",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",

View File

@ -24,7 +24,10 @@ export class InterestMap<DTInterestId, DTInterestFullfillment> {
*/ */
private comparisonFunc: IInterestComparisonFunc<DTInterestId>; private comparisonFunc: IInterestComparisonFunc<DTInterestId>;
constructor(comparisonFuncArg: IInterestComparisonFunc<DTInterestId>, optionsArg: IInterestMapOptions = {}) { constructor(
comparisonFuncArg: IInterestComparisonFunc<DTInterestId>,
optionsArg: IInterestMapOptions = {}
) {
this.comparisonFunc = comparisonFuncArg; this.comparisonFunc = comparisonFuncArg;
this.options = optionsArg; this.options = optionsArg;
} }
@ -45,7 +48,7 @@ export class InterestMap<DTInterestId, DTInterestFullfillment> {
this.comparisonFunc, this.comparisonFunc,
{ {
markLostAfterDefault: this.options.markLostAfterDefault, markLostAfterDefault: this.options.markLostAfterDefault,
defaultFullfillment: defaultFullfillmentArg defaultFullfillment: defaultFullfillmentArg,
} }
); );
let interestExists = false; let interestExists = false;

View File

@ -17,6 +17,11 @@ export interface IObjectmapFindFunction<T> {
(itemArg: T): boolean; (itemArg: T): boolean;
} }
export interface IObjectMapEventData<T> {
operation: 'add' | 'remove';
payload: T;
}
/** /**
* allows keeping track of objects * allows keeping track of objects
*/ */
@ -24,7 +29,7 @@ export class ObjectMap<T> {
private fastMap = new FastMap<T>(); private fastMap = new FastMap<T>();
// events // events
public eventSubject = new plugins.smartrx.rxjs.Subject<any>(); public eventSubject = new plugins.smartrx.rxjs.Subject<IObjectMapEventData<T>>();
/** /**
* returns a new instance * returns a new instance
@ -57,8 +62,6 @@ export class ObjectMap<T> {
const object = this.getMappedUnique(uniqueKey); const object = this.getMappedUnique(uniqueKey);
} }
public addSubject = new plugins.smartrx.rxjs.Subject<T>();
/** /**
* add object to Objectmap * add object to Objectmap
* returns false if the object is already in the map * returns false if the object is already in the map
@ -76,7 +79,10 @@ export class ObjectMap<T> {
// otherwise lets create it // otherwise lets create it
const uniqueKey = uni('key'); const uniqueKey = uni('key');
this.addMappedUnique(uniqueKey, objectArg); this.addMappedUnique(uniqueKey, objectArg);
this.addSubject.next(objectArg); this.eventSubject.next({
operation: 'add',
payload: objectArg
});
return uniqueKey; return uniqueKey;
} }
@ -153,7 +159,10 @@ export class ObjectMap<T> {
} else { } else {
const keyToUse = keys[0]; const keyToUse = keys[0];
const removedItem = this.fastMap.removeFromMap(keyToUse); const removedItem = this.fastMap.removeFromMap(keyToUse);
this.eventSubject.next('remove'); this.eventSubject.next({
operation: 'remove',
payload: removedItem
});
return removedItem; return removedItem;
} }
} }
@ -183,7 +192,10 @@ export class ObjectMap<T> {
if (this.checkForObject(objectArg)) { if (this.checkForObject(objectArg)) {
const keyArg = this.getKeyForObject(objectArg); const keyArg = this.getKeyForObject(objectArg);
const removedObject = this.fastMap.removeFromMap(keyArg); const removedObject = this.fastMap.removeFromMap(keyArg);
this.eventSubject.next('remove'); this.eventSubject.next({
operation: 'remove',
payload: removedObject
});
return removedObject; return removedObject;
} }
return null; return null;