fix(core): update
This commit is contained in:
		| @@ -1,18 +1,16 @@ | ||||
| # gitzone ci_default | ||||
| image: registry.gitlab.com/hosttoday/ht-docker-node:npmci | ||||
| variables: | ||||
|   GIT_STRATEGY: clone | ||||
|  | ||||
| cache: | ||||
|   paths: | ||||
|     - .npmci_cache/ | ||||
|   key: "$CI_BUILD_STAGE" | ||||
|   key: '$CI_BUILD_STAGE' | ||||
|  | ||||
| stages: | ||||
| - security | ||||
| - test | ||||
| - release | ||||
| - metadata | ||||
|   - security | ||||
|   - test | ||||
|   - release | ||||
|   - metadata | ||||
|  | ||||
| # ==================== | ||||
| # security stage | ||||
| @@ -22,17 +20,19 @@ mirror: | ||||
|   script: | ||||
|     - npmci git mirror | ||||
|   tags: | ||||
|     - lossless | ||||
|     - docker | ||||
|     - notpriv | ||||
|  | ||||
| snyk: | ||||
|   image: registry.gitlab.com/hosttoday/ht-docker-node:snyk | ||||
|   stage: security | ||||
|   script: | ||||
|     - npmci npm prepare | ||||
|     - npmci command npm install -g snyk | ||||
|     - npmci command npm install --ignore-scripts | ||||
|     - npmci command snyk test | ||||
|   tags: | ||||
|     - lossless | ||||
|     - docker | ||||
|     - notpriv | ||||
|  | ||||
| @@ -49,6 +49,7 @@ testStable: | ||||
|     - npmci npm test | ||||
|   coverage: /\d+.?\d+?\%\s*coverage/ | ||||
|   tags: | ||||
|     - lossless | ||||
|     - docker | ||||
|     - priv | ||||
|  | ||||
| @@ -56,22 +57,24 @@ testBuild: | ||||
|   stage: test | ||||
|   script: | ||||
|     - npmci npm prepare | ||||
|   - npmci node install lts | ||||
|     - npmci node install stable | ||||
|     - npmci npm install | ||||
|     - npmci command npm run build | ||||
|   coverage: /\d+.?\d+?\%\s*coverage/ | ||||
|   tags: | ||||
|     - lossless | ||||
|     - docker | ||||
|     - notpriv | ||||
|  | ||||
| release: | ||||
|   stage: release | ||||
|   script: | ||||
|   - npmci node install lts | ||||
|     - npmci node install stable | ||||
|     - npmci npm publish | ||||
|   only: | ||||
|     - tags | ||||
|   tags: | ||||
|     - lossless | ||||
|     - docker | ||||
|     - notpriv | ||||
|  | ||||
| @@ -83,9 +86,11 @@ codequality: | ||||
|   allow_failure: true | ||||
|   script: | ||||
|     - npmci command npm install -g tslint typescript | ||||
|     - npmci npm prepare | ||||
|     - npmci npm install | ||||
|     - npmci command "tslint -c tslint.json ./ts/**/*.ts" | ||||
|   tags: | ||||
|     - lossless | ||||
|     - docker | ||||
|     - priv | ||||
|  | ||||
| @@ -96,20 +101,20 @@ trigger: | ||||
|   only: | ||||
|     - tags | ||||
|   tags: | ||||
|     - lossless | ||||
|     - docker | ||||
|     - notpriv | ||||
|  | ||||
| pages: | ||||
|   image: hosttoday/ht-docker-dbase:npmci | ||||
|   services: | ||||
|    - docker:18-dind | ||||
|   stage: metadata | ||||
|   script: | ||||
|     - npmci node install lts | ||||
|     - npmci command npm install -g @gitzone/tsdoc | ||||
|     - npmci npm prepare | ||||
|     - npmci npm install | ||||
|     - npmci command tsdoc | ||||
|   tags: | ||||
|     - lossless | ||||
|     - docker | ||||
|     - notpriv | ||||
|   only: | ||||
|   | ||||
							
								
								
									
										29
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | ||||
| { | ||||
|   "version": "0.2.0", | ||||
|   "configurations": [ | ||||
|     { | ||||
|       "name": "current file", | ||||
|       "type": "node", | ||||
|       "request": "launch", | ||||
|       "args": [ | ||||
|         "${relativeFile}" | ||||
|       ], | ||||
|       "runtimeArgs": ["-r", "@gitzone/tsrun"], | ||||
|       "cwd": "${workspaceRoot}", | ||||
|       "protocol": "inspector", | ||||
|       "internalConsoleOptions": "openOnSessionStart" | ||||
|     }, | ||||
|     { | ||||
|       "name": "test.ts", | ||||
|       "type": "node", | ||||
|       "request": "launch", | ||||
|       "args": [ | ||||
|         "test/test.ts" | ||||
|       ], | ||||
|       "runtimeArgs": ["-r", "@gitzone/tsrun"], | ||||
|       "cwd": "${workspaceRoot}", | ||||
|       "protocol": "inspector", | ||||
|       "internalConsoleOptions": "openOnSessionStart" | ||||
|     } | ||||
|   ] | ||||
| } | ||||
							
								
								
									
										25
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							| @@ -1,3 +1,26 @@ | ||||
| { | ||||
|   "workbench.colorCustomizations": {} | ||||
|   "json.schemas": [ | ||||
|     { | ||||
|       "fileMatch": ["/npmextra.json"], | ||||
|       "schema": { | ||||
|         "type": "object", | ||||
|         "properties": { | ||||
|           "npmci": { | ||||
|             "type": "object", | ||||
|             "description": "settings for npmci" | ||||
|           }, | ||||
|           "gitzone": { | ||||
|             "type": "object", | ||||
|             "description": "settings for gitzone", | ||||
|             "properties": { | ||||
|               "projectType": { | ||||
|                 "type": "string", | ||||
|                 "enum": ["website", "element", "service", "npm"] | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   ] | ||||
| } | ||||
							
								
								
									
										43
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										43
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,43 +0,0 @@ | ||||
| # @pushrocks/lik | ||||
| light little helpers for node | ||||
|  | ||||
| ## Availabililty and Links | ||||
| * [npmjs.org (npm package)](https://www.npmjs.com/package/@pushrocks/lik) | ||||
| * [gitlab.com (source)](https://gitlab.com/pushrocks/lik) | ||||
| * [github.com (source mirror)](https://github.com/pushrocks/lik) | ||||
| * [docs (typedoc)](https://pushrocks.gitlab.io/lik/) | ||||
|  | ||||
| ## Status for master | ||||
| [](https://gitlab.com/pushrocks/lik/commits/master) | ||||
| [](https://gitlab.com/pushrocks/lik/commits/master) | ||||
| [](https://www.npmjs.com/package/@pushrocks/lik) | ||||
| [](https://snyk.io/test/npm/@pushrocks/lik) | ||||
| [](https://nodejs.org/dist/latest-v10.x/docs/api/) | ||||
| [](https://nodejs.org/dist/latest-v10.x/docs/api/) | ||||
| [](https://prettier.io/) | ||||
|  | ||||
| ## Usage | ||||
|  | ||||
| Use TypeScript for best in class instellisense. | ||||
|  | ||||
| ```javascript | ||||
| // import any tool that you need from lik | ||||
| import { Stringmap, Objectmap, Observablemap } from 'lik'; | ||||
| ``` | ||||
|  | ||||
| ### class Stringmap | ||||
|  | ||||
| Stringmap allows you to keep track of strings. It allows you to register triggers for certain events | ||||
| like when a certain string is removed or added to the map | ||||
|  | ||||
| ### class Objectmap | ||||
|  | ||||
| Sometimes you need to keep track of objects, but implementing logic for removing, finding or updating is tedious. | ||||
| Objectmap takes care of keeping track of objects for you. | ||||
|  | ||||
| For further information read the linked docs at the top of this readme. | ||||
|  | ||||
| > MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh) | ||||
| | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy) | ||||
|  | ||||
| [](https://maintainedby.lossless.com) | ||||
| @@ -4,6 +4,7 @@ | ||||
|     "npmAccessLevel": "public" | ||||
|   }, | ||||
|   "gitzone": { | ||||
|     "projectType": "npm", | ||||
|     "module": { | ||||
|       "githost": "gitlab.com", | ||||
|       "gitscope": "pushrocks", | ||||
|   | ||||
							
								
								
									
										42
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										42
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -11,18 +11,18 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "@babel/code-frame": { | ||||
|       "version": "7.5.5", | ||||
|       "resolved": "https://verdaccio.lossless.one/@babel%2fcode-frame/-/code-frame-7.5.5.tgz", | ||||
|       "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", | ||||
|       "version": "7.8.3", | ||||
|       "resolved": "https://verdaccio.lossless.one/@babel%2fcode-frame/-/code-frame-7.8.3.tgz", | ||||
|       "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/highlight": "^7.0.0" | ||||
|         "@babel/highlight": "^7.8.3" | ||||
|       } | ||||
|     }, | ||||
|     "@babel/highlight": { | ||||
|       "version": "7.5.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/@babel%2fhighlight/-/highlight-7.5.0.tgz", | ||||
|       "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", | ||||
|       "version": "7.8.3", | ||||
|       "resolved": "https://verdaccio.lossless.one/@babel%2fhighlight/-/highlight-7.8.3.tgz", | ||||
|       "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "chalk": "^2.0.0", | ||||
| @@ -536,9 +536,9 @@ | ||||
|       "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" | ||||
|     }, | ||||
|     "@types/node": { | ||||
|       "version": "12.12.14", | ||||
|       "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-12.12.14.tgz", | ||||
|       "integrity": "sha512-u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA==" | ||||
|       "version": "13.7.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-13.7.0.tgz", | ||||
|       "integrity": "sha512-GnZbirvmqZUzMgkFn70c74OQpTTUcCzlhQliTzYjQMqg+hVKcDnxdL19Ne3UdYzdMA/+W3eb646FWn/ZaT1NfQ==" | ||||
|     }, | ||||
|     "@types/through2": { | ||||
|       "version": "2.0.34", | ||||
| @@ -1482,9 +1482,9 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "resolve": { | ||||
|       "version": "1.13.1", | ||||
|       "resolved": "https://verdaccio.lossless.one/resolve/-/resolve-1.13.1.tgz", | ||||
|       "integrity": "sha512-CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w==", | ||||
|       "version": "1.15.1", | ||||
|       "resolved": "https://verdaccio.lossless.one/resolve/-/resolve-1.15.1.tgz", | ||||
|       "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "path-parse": "^1.0.6" | ||||
| @@ -1688,9 +1688,9 @@ | ||||
|       "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" | ||||
|     }, | ||||
|     "tslint": { | ||||
|       "version": "5.20.1", | ||||
|       "resolved": "https://verdaccio.lossless.one/tslint/-/tslint-5.20.1.tgz", | ||||
|       "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==", | ||||
|       "version": "6.0.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/tslint/-/tslint-6.0.0.tgz", | ||||
|       "integrity": "sha512-9nLya8GBtlFmmFMW7oXXwoXS1NkrccqTqAtwXzdPV9e2mqSEvCki6iHL/Fbzi5oqbugshzgGPk7KBb2qNP1DSA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@babel/code-frame": "^7.0.0", | ||||
| @@ -1704,8 +1704,16 @@ | ||||
|         "mkdirp": "^0.5.1", | ||||
|         "resolve": "^1.3.2", | ||||
|         "semver": "^5.3.0", | ||||
|         "tslib": "^1.8.0", | ||||
|         "tslib": "^1.10.0", | ||||
|         "tsutils": "^2.29.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "tslib": { | ||||
|           "version": "1.10.0", | ||||
|           "resolved": "https://verdaccio.lossless.one/tslib/-/tslib-1.10.0.tgz", | ||||
|           "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", | ||||
|           "dev": true | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "tslint-config-prettier": { | ||||
|   | ||||
							
								
								
									
										16
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								package.json
									
									
									
									
									
								
							| @@ -24,8 +24,8 @@ | ||||
|     "@gitzone/tsrun": "^1.2.8", | ||||
|     "@gitzone/tstest": "^1.0.28", | ||||
|     "@pushrocks/tapbundle": "^3.2.0", | ||||
|     "@types/node": "^12.12.14", | ||||
|     "tslint": "^5.20.1", | ||||
|     "@types/node": "^13.7.0", | ||||
|     "tslint": "^6.0.0", | ||||
|     "tslint-config-prettier": "^1.18.0" | ||||
|   }, | ||||
|   "dependencies": { | ||||
| @@ -38,12 +38,12 @@ | ||||
|     "symbol-tree": "^3.2.4" | ||||
|   }, | ||||
|   "files": [ | ||||
|     "ts/*", | ||||
|     "ts_web/*", | ||||
|     "dist/*", | ||||
|     "dist_web/*", | ||||
|     "dist_ts_web/*", | ||||
|     "assets/*", | ||||
|     "ts/**/*", | ||||
|     "ts_web/**/*", | ||||
|     "dist/**/*", | ||||
|     "dist_web/**/*", | ||||
|     "dist_ts_web/**/*", | ||||
|     "assets/**/*", | ||||
|     "cli.js", | ||||
|     "npmextra.json", | ||||
|     "readme.md" | ||||
|   | ||||
							
								
								
									
										11
									
								
								ts/lik.fastmap.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								ts/lik.fastmap.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| import * as plugins from './lik.plugins'; | ||||
|  | ||||
| export class FastMap<T> { | ||||
|   private mapObject: { [key: string]: T } = {}; | ||||
|  | ||||
|   public isUniqueKey() {} | ||||
|  | ||||
|   public addToMap(identifier: string, objectArg: T) { | ||||
|     this.mapObject[identifier] = objectArg; | ||||
|   } | ||||
| } | ||||
| @@ -1,4 +1,5 @@ | ||||
| import * as plugins from './lik.plugins'; | ||||
| import { FastMap } from './lik.fastmap'; | ||||
|  | ||||
| export interface IObjectmapForEachFunction<T> { | ||||
|   (itemArg: T): void; | ||||
| @@ -12,6 +13,7 @@ export interface IObjectmapFindFunction<T> { | ||||
|  * allows keeping track of objects | ||||
|  */ | ||||
| export class Objectmap<T> { | ||||
|   private fastMap = new FastMap<T>(); | ||||
|   private objectArray: T[] = []; | ||||
|  | ||||
|   // events | ||||
| @@ -24,6 +26,27 @@ export class Objectmap<T> { | ||||
|     // nothing here | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * adds an object mapped to a string | ||||
|    * the string must be unique | ||||
|    */ | ||||
|   addMappedUnique(uniqueKey: string, objectArg: T) { | ||||
|     this.add(objectArg); | ||||
|     this.fastMap.addToMap(uniqueKey, objectArg); | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * fastest way to get an object from the map | ||||
|    * @param uniqueKey | ||||
|    */ | ||||
|   public getMappedUnique(uniqueKey: string) {} | ||||
|  | ||||
|   /** | ||||
|    * remove key | ||||
|    * @param functionArg | ||||
|    */ | ||||
|   public removeMappedUnique() {} | ||||
|  | ||||
|   /** | ||||
|    * add object to Objectmap | ||||
|    * returns false if the object is already in the map | ||||
|   | ||||
| @@ -24,7 +24,7 @@ export class Stringmap { | ||||
|    * like addString, but accepts an array of strings | ||||
|    */ | ||||
|   addStringArray(stringArrayArg: string[]) { | ||||
|     for (let stringItem of stringArrayArg) { | ||||
|     for (const stringItem of stringArrayArg) { | ||||
|       this.addString(stringItem); | ||||
|     } | ||||
|   } | ||||
| @@ -33,7 +33,7 @@ export class Stringmap { | ||||
|    * removes a string from Stringmap | ||||
|    */ | ||||
|   removeString(stringArg: string) { | ||||
|     for (let keyArg in this._stringArray) { | ||||
|     for (const keyArg in this._stringArray) { | ||||
|       if (this._stringArray[keyArg] === stringArg) { | ||||
|         this._stringArray.splice(parseInt(keyArg), 1); | ||||
|       } | ||||
| @@ -61,7 +61,7 @@ export class Stringmap { | ||||
|    */ | ||||
|   public checkMinimatch(miniMatchStringArg: string): boolean { | ||||
|     let foundMatch: boolean = false; | ||||
|     for (let stringItem of this._stringArray) { | ||||
|     for (const stringItem of this._stringArray) { | ||||
|       if (plugins.minimatch(stringItem, miniMatchStringArg)) { | ||||
|         foundMatch = true; | ||||
|       } | ||||
| @@ -94,7 +94,7 @@ export class Stringmap { | ||||
|    */ | ||||
|   public registerUntilTrue(functionArg: ITriggerFunction, doFunctionArg) { | ||||
|     this._triggerUntilTrueFunctionArray.push(() => { | ||||
|       let result = functionArg(); | ||||
|       const result = functionArg(); | ||||
|       if (result === true) { | ||||
|         doFunctionArg(); | ||||
|       } | ||||
| @@ -107,7 +107,7 @@ export class Stringmap { | ||||
|    * notifies triggers | ||||
|    */ | ||||
|   private notifyTrigger() { | ||||
|     let filteredArray = this._triggerUntilTrueFunctionArray.filter(functionArg => { | ||||
|     const filteredArray = this._triggerUntilTrueFunctionArray.filter(functionArg => { | ||||
|       return !functionArg(); | ||||
|     }); | ||||
|     this._triggerUntilTrueFunctionArray = filteredArray; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user