fix(core): update
This commit is contained in:
		@@ -19,23 +19,36 @@ mirror:
 | 
			
		||||
  stage: security
 | 
			
		||||
  script:
 | 
			
		||||
    - npmci git mirror
 | 
			
		||||
  only:
 | 
			
		||||
    - tags
 | 
			
		||||
  tags:
 | 
			
		||||
    - lossless
 | 
			
		||||
    - docker
 | 
			
		||||
    - 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
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
 | 
			
		||||
auditDevDependencies:
 | 
			
		||||
  image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
 | 
			
		||||
  stage: security
 | 
			
		||||
  script:
 | 
			
		||||
    - npmci npm prepare
 | 
			
		||||
    - npmci command npm install --ignore-scripts
 | 
			
		||||
    - 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:
 | 
			
		||||
    - lossless
 | 
			
		||||
    - docker
 | 
			
		||||
    - notpriv
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
 | 
			
		||||
# ====================
 | 
			
		||||
# test stage
 | 
			
		||||
@@ -50,9 +63,7 @@ testStable:
 | 
			
		||||
    - npmci npm test
 | 
			
		||||
  coverage: /\d+.?\d+?\%\s*coverage/
 | 
			
		||||
  tags:
 | 
			
		||||
    - lossless
 | 
			
		||||
    - docker
 | 
			
		||||
    - priv
 | 
			
		||||
 | 
			
		||||
testBuild:
 | 
			
		||||
  stage: test
 | 
			
		||||
@@ -63,9 +74,7 @@ testBuild:
 | 
			
		||||
    - npmci command npm run build
 | 
			
		||||
  coverage: /\d+.?\d+?\%\s*coverage/
 | 
			
		||||
  tags:
 | 
			
		||||
    - lossless
 | 
			
		||||
    - docker
 | 
			
		||||
    - notpriv
 | 
			
		||||
 | 
			
		||||
release:
 | 
			
		||||
  stage: release
 | 
			
		||||
@@ -85,6 +94,8 @@ release:
 | 
			
		||||
codequality:
 | 
			
		||||
  stage: metadata
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  only:
 | 
			
		||||
    - tags
 | 
			
		||||
  script:
 | 
			
		||||
    - npmci command npm install -g tslint typescript
 | 
			
		||||
    - npmci npm prepare
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							@@ -15,7 +15,7 @@
 | 
			
		||||
            "properties": {
 | 
			
		||||
              "projectType": {
 | 
			
		||||
                "type": "string",
 | 
			
		||||
                "enum": ["website", "element", "service", "npm"]
 | 
			
		||||
                "enum": ["website", "element", "service", "npm", "wcc"]
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
 
 | 
			
		||||
@@ -43,5 +43,8 @@
 | 
			
		||||
    "cli.js",
 | 
			
		||||
    "npmextra.json",
 | 
			
		||||
    "readme.md"
 | 
			
		||||
  ],
 | 
			
		||||
  "browserslist": [
 | 
			
		||||
    "last 1 chrome versions"
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										21
									
								
								readme.md
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								readme.md
									
									
									
									
									
								
							@@ -8,13 +8,20 @@ timeouts for the async/await era, written in TypeScript
 | 
			
		||||
* [docs (typedoc)](https://pushrocks.gitlab.io/smartdelay/)
 | 
			
		||||
 | 
			
		||||
## Status for master
 | 
			
		||||
[](https://gitlab.com/pushrocks/smartdelay/commits/master)
 | 
			
		||||
[](https://gitlab.com/pushrocks/smartdelay/commits/master)
 | 
			
		||||
[](https://www.npmjs.com/package/@pushrocks/smartdelay)
 | 
			
		||||
[](https://snyk.io/test/npm/@pushrocks/smartdelay)
 | 
			
		||||
[](https://nodejs.org/dist/latest-v10.x/docs/api/)
 | 
			
		||||
[](https://nodejs.org/dist/latest-v10.x/docs/api/)
 | 
			
		||||
[](https://prettier.io/)
 | 
			
		||||
 | 
			
		||||
Status Category | Status Badge
 | 
			
		||||
-- | --
 | 
			
		||||
GitLab Pipelines | [](https://lossless.cloud)
 | 
			
		||||
GitLab Pipline Test Coverage | [](https://lossless.cloud)
 | 
			
		||||
npm | [](https://lossless.cloud)
 | 
			
		||||
Snyk | [](https://lossless.cloud)
 | 
			
		||||
TypeScript Support | [](https://lossless.cloud)
 | 
			
		||||
node Support | [](https://nodejs.org/dist/latest-v10.x/docs/api/)
 | 
			
		||||
Code Style | [](https://lossless.cloud)
 | 
			
		||||
PackagePhobia (total standalone install weight) | [](https://lossless.cloud)
 | 
			
		||||
PackagePhobia (package size on registry) | [](https://lossless.cloud)
 | 
			
		||||
BundlePhobia (total size when bundled) | [](https://lossless.cloud)
 | 
			
		||||
Platform support | [](https://lossless.cloud) [](https://lossless.cloud)
 | 
			
		||||
 | 
			
		||||
## Usage
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								test/test.ts
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								test/test.ts
									
									
									
									
									
								
							@@ -2,7 +2,7 @@ import { expect, tap } from '@pushrocks/tapbundle';
 | 
			
		||||
 | 
			
		||||
import * as smartdelay from '../ts/index';
 | 
			
		||||
 | 
			
		||||
tap.test('.delayFor should delay async', async tools => {
 | 
			
		||||
tap.test('.delayFor should delay async', async (tools) => {
 | 
			
		||||
  tools.timeout(5000);
 | 
			
		||||
  let timePassed = false;
 | 
			
		||||
  setTimeout(() => {
 | 
			
		||||
@@ -14,7 +14,7 @@ tap.test('.delayFor should delay async', async tools => {
 | 
			
		||||
  });
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
tap.test('.delayForRandom should delay async for a random time period', async tools => {
 | 
			
		||||
tap.test('.delayForRandom should delay async for a random time period', async (tools) => {
 | 
			
		||||
  let timePassedBefore = false;
 | 
			
		||||
  let timePassedAfter = false;
 | 
			
		||||
  setTimeout(() => {
 | 
			
		||||
@@ -28,14 +28,14 @@ tap.test('.delayForRandom should delay async for a random time period', async to
 | 
			
		||||
  expect(timePassedAfter).to.be.false;
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
tap.test('.delayFor should pass on a type', async tools => {
 | 
			
		||||
tap.test('.delayFor should pass on a type', async (tools) => {
 | 
			
		||||
  tools.timeout(5000);
 | 
			
		||||
  let timePassed = false;
 | 
			
		||||
  setTimeout(() => {
 | 
			
		||||
    timePassed = true;
 | 
			
		||||
  }, 2000);
 | 
			
		||||
  let hey = 'heyThere';
 | 
			
		||||
  await smartdelay.delayFor<string>(3000, hey).then(async stringArg => {
 | 
			
		||||
  await smartdelay.delayFor<string>(3000, hey).then(async (stringArg) => {
 | 
			
		||||
    expect(stringArg).equal('heyThere');
 | 
			
		||||
  });
 | 
			
		||||
});
 | 
			
		||||
@@ -45,7 +45,7 @@ tap.test('smartdelay.Timeout', async () => {
 | 
			
		||||
  await timeout.promise;
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
tap.test('smartdelay.Timeout should cancel', async tools => {
 | 
			
		||||
tap.test('smartdelay.Timeout should cancel', async (tools) => {
 | 
			
		||||
  let timeout = new smartdelay.Timeout(60000);
 | 
			
		||||
  timeout.cancel();
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								ts/index.ts
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								ts/index.ts
									
									
									
									
									
								
							@@ -5,7 +5,11 @@ import * as smartpromise from '@pushrocks/smartpromise';
 | 
			
		||||
 * @param timeInMillisecondArg
 | 
			
		||||
 * @param passOnArg
 | 
			
		||||
 */
 | 
			
		||||
export let delayFor = async <T>(timeInMillisecondArg: number, passOnArg?: T, unrefedArg = false) => {
 | 
			
		||||
export let delayFor = async <T>(
 | 
			
		||||
  timeInMillisecondArg: number,
 | 
			
		||||
  passOnArg?: T,
 | 
			
		||||
  unrefedArg = false
 | 
			
		||||
) => {
 | 
			
		||||
  const timeout = new Timeout(timeInMillisecondArg, null, unrefedArg);
 | 
			
		||||
  await timeout.promise;
 | 
			
		||||
  return passOnArg;
 | 
			
		||||
@@ -20,7 +24,11 @@ export let delayForRandom = async <T>(
 | 
			
		||||
  passOnArg?: T,
 | 
			
		||||
  unrefedArg = false
 | 
			
		||||
) => {
 | 
			
		||||
  await delayFor(Math.random() * (timeMaxInMillisecondArg - timeMinInMillisecondArg) + timeMinInMillisecondArg, null, unrefedArg)
 | 
			
		||||
  await delayFor(
 | 
			
		||||
    Math.random() * (timeMaxInMillisecondArg - timeMinInMillisecondArg) + timeMinInMillisecondArg,
 | 
			
		||||
    null,
 | 
			
		||||
    unrefedArg
 | 
			
		||||
  );
 | 
			
		||||
  return passOnArg;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@@ -62,7 +70,7 @@ export class Timeout<T> {
 | 
			
		||||
    this._cancelled = true;
 | 
			
		||||
    clearTimeout(this._timeout);
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  public getTimeLeft() {
 | 
			
		||||
    const result = this.started + this.timeoutInMillis - Date.now();
 | 
			
		||||
    return result > 0 ? result : 0;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user