A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/npm/cli/commit/ec77e81f5ecc3603bb7c9963f860a8c46f6a61ec below:

promise-call-limit@3.0.1 · npm/cli@ec77e81 · GitHub

File tree Expand file treeCollapse file tree 9 files changed

+212

-65

lines changed

Filter options

Expand file treeCollapse file tree 9 files changed

+212

-65

lines changed Original file line number Diff line number Diff line change

@@ -0,0 +1,87 @@

1 +

"use strict";

2 +

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {

3 +

if (k2 === undefined) k2 = k;

4 +

var desc = Object.getOwnPropertyDescriptor(m, k);

5 +

if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {

6 +

desc = { enumerable: true, get: function() { return m[k]; } };

7 +

}

8 +

Object.defineProperty(o, k2, desc);

9 +

}) : (function(o, m, k, k2) {

10 +

if (k2 === undefined) k2 = k;

11 +

o[k2] = m[k];

12 +

}));

13 +

var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {

14 +

Object.defineProperty(o, "default", { enumerable: true, value: v });

15 +

}) : function(o, v) {

16 +

o["default"] = v;

17 +

});

18 +

var __importStar = (this && this.__importStar) || function (mod) {

19 +

if (mod && mod.__esModule) return mod;

20 +

var result = {};

21 +

if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);

22 +

__setModuleDefault(result, mod);

23 +

return result;

24 +

};

25 +

Object.defineProperty(exports, "__esModule", { value: true });

26 +

exports.callLimit = void 0;

27 +

const os = __importStar(require("node:os"));

28 +

// availableParallelism available only since node v19, for older versions use

29 +

// cpus() cpus() can return an empty list if /proc is not mounted, use 1 in

30 +

// this case

31 +

/* c8 ignore start */

32 +

const defLimit = 'availableParallelism' in os

33 +

? Math.max(1, os.availableParallelism() - 1)

34 +

: Math.max(1, os.cpus().length - 1);

35 +

const callLimit = (queue, { limit = defLimit, rejectLate } = {}) => new Promise((res, rej) => {

36 +

let active = 0;

37 +

let current = 0;

38 +

const results = [];

39 +

// Whether or not we rejected, distinct from the rejection just in case the rejection itself is falsey

40 +

let rejected = false;

41 +

let rejection;

42 +

const reject = (er) => {

43 +

if (rejected)

44 +

return;

45 +

rejected = true;

46 +

rejection ??= er;

47 +

if (!rejectLate)

48 +

rej(rejection);

49 +

};

50 +

let resolved = false;

51 +

const resolve = () => {

52 +

if (resolved || active > 0)

53 +

return;

54 +

resolved = true;

55 +

res(results);

56 +

};

57 +

const run = () => {

58 +

const c = current++;

59 +

if (c >= queue.length)

60 +

return rejected ? reject() : resolve();

61 +

active++;

62 +

const step = queue[c];

63 +

/* c8 ignore start */

64 +

if (!step)

65 +

throw new Error('walked off queue');

66 +

/* c8 ignore stop */

67 +

results[c] = step()

68 +

.then(result => {

69 +

active--;

70 +

results[c] = result;

71 +

return result;

72 +

}, er => {

73 +

active--;

74 +

reject(er);

75 +

})

76 +

.then(result => {

77 +

if (rejected && active === 0)

78 +

return rej(rejection);

79 +

run();

80 +

return result;

81 +

});

82 +

};

83 +

for (let i = 0; i < limit; i++)

84 +

run();

85 +

});

86 +

exports.callLimit = callLimit;

87 +

//# sourceMappingURL=index.js.map

Original file line number Diff line number Diff line change

@@ -0,0 +1,3 @@

1 +

{

2 +

"type": "commonjs"

3 +

}

Original file line number Diff line number Diff line change

@@ -0,0 +1,60 @@

1 +

import * as os from 'node:os';

2 +

// availableParallelism available only since node v19, for older versions use

3 +

// cpus() cpus() can return an empty list if /proc is not mounted, use 1 in

4 +

// this case

5 +

/* c8 ignore start */

6 +

const defLimit = 'availableParallelism' in os

7 +

? Math.max(1, os.availableParallelism() - 1)

8 +

: Math.max(1, os.cpus().length - 1);

9 +

export const callLimit = (queue, { limit = defLimit, rejectLate } = {}) => new Promise((res, rej) => {

10 +

let active = 0;

11 +

let current = 0;

12 +

const results = [];

13 +

// Whether or not we rejected, distinct from the rejection just in case the rejection itself is falsey

14 +

let rejected = false;

15 +

let rejection;

16 +

const reject = (er) => {

17 +

if (rejected)

18 +

return;

19 +

rejected = true;

20 +

rejection ??= er;

21 +

if (!rejectLate)

22 +

rej(rejection);

23 +

};

24 +

let resolved = false;

25 +

const resolve = () => {

26 +

if (resolved || active > 0)

27 +

return;

28 +

resolved = true;

29 +

res(results);

30 +

};

31 +

const run = () => {

32 +

const c = current++;

33 +

if (c >= queue.length)

34 +

return rejected ? reject() : resolve();

35 +

active++;

36 +

const step = queue[c];

37 +

/* c8 ignore start */

38 +

if (!step)

39 +

throw new Error('walked off queue');

40 +

/* c8 ignore stop */

41 +

results[c] = step()

42 +

.then(result => {

43 +

active--;

44 +

results[c] = result;

45 +

return result;

46 +

}, er => {

47 +

active--;

48 +

reject(er);

49 +

})

50 +

.then(result => {

51 +

if (rejected && active === 0)

52 +

return rej(rejection);

53 +

run();

54 +

return result;

55 +

});

56 +

};

57 +

for (let i = 0; i < limit; i++)

58 +

run();

59 +

});

60 +

//# sourceMappingURL=index.js.map

Original file line number Diff line number Diff line change

@@ -0,0 +1,3 @@

1 +

{

2 +

"type": "module"

3 +

}

Original file line number Diff line number Diff line change

@@ -1,8 +1,8 @@

1 1

{

2 2

"name": "promise-call-limit",

3 -

"version": "1.0.2",

3 +

"version": "3.0.1",

4 4

"files": [

5 -

"index.js"

5 +

"dist"

6 6

],

7 7

"description": "Call an array of promise-returning functions, restricting concurrency to a specified limit.",

8 8

"repository": {

@@ -12,18 +12,55 @@

12 12

"author": "Isaac Z. Schlueter <i@izs.me> (https://izs.me)",

13 13

"license": "ISC",

14 14

"scripts": {

15 +

"prepare": "tshy",

16 +

"pretest": "npm run prepare",

17 +

"snap": "tap",

15 18

"test": "tap",

16 19

"preversion": "npm test",

17 20

"postversion": "npm publish",

18 21

"prepublishOnly": "git push origin --follow-tags"

19 22

},

20 -

"tap": {

21 -

"check-coverage": true

22 -

},

23 23

"devDependencies": {

24 -

"tap": "^16.0.0"

24 +

"prettier": "^3.2.1",

25 +

"tap": "^18.6.1",

26 +

"tshy": "^1.8.2",

27 +

"format": "prettier --write . --loglevel warn --ignore-path ../../.prettierignore --cache",

28 +

"typedoc": "typedoc"

29 +

},

30 +

"prettier": {

31 +

"semi": false,

32 +

"printWidth": 70,

33 +

"tabWidth": 2,

34 +

"useTabs": false,

35 +

"singleQuote": true,

36 +

"jsxSingleQuote": false,

37 +

"bracketSameLine": true,

38 +

"arrowParens": "avoid",

39 +

"endOfLine": "lf"

25 40

},

26 41

"funding": {

27 42

"url": "https://github.com/sponsors/isaacs"

28 -

}

43 +

},

44 +

"tshy": {

45 +

"exports": {

46 +

"./package.json": "./package.json",

47 +

".": "./src/index.ts"

48 +

}

49 +

},

50 +

"exports": {

51 +

"./package.json": "./package.json",

52 +

".": {

53 +

"import": {

54 +

"types": "./dist/esm/index.d.ts",

55 +

"default": "./dist/esm/index.js"

56 +

},

57 +

"require": {

58 +

"types": "./dist/commonjs/index.d.ts",

59 +

"default": "./dist/commonjs/index.js"

60 +

}

61 +

}

62 +

},

63 +

"main": "./dist/commonjs/index.js",

64 +

"types": "./dist/commonjs/index.d.ts",

65 +

"type": "module"

29 66

}

Original file line number Diff line number Diff line change

@@ -8249,6 +8249,15 @@

8249 8249

"node": ">=8"

8250 8250

}

8251 8251

},

8252 +

"node_modules/licensee/node_modules/promise-call-limit": {

8253 +

"version": "1.0.2",

8254 +

"resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-1.0.2.tgz",

8255 +

"integrity": "sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA==",

8256 +

"dev": true,

8257 +

"funding": {

8258 +

"url": "https://github.com/sponsors/isaacs"

8259 +

}

8260 +

},

8252 8261

"node_modules/licensee/node_modules/read-package-json": {

8253 8262

"version": "6.0.4",

8254 8263

"resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.4.tgz",

@@ -10940,9 +10949,9 @@

10940 10949

}

10941 10950

},

10942 10951

"node_modules/promise-call-limit": {

10943 -

"version": "1.0.2",

10944 -

"resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-1.0.2.tgz",

10945 -

"integrity": "sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA==",

10952 +

"version": "3.0.1",

10953 +

"resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-3.0.1.tgz",

10954 +

"integrity": "sha512-utl+0x8gIDasV5X+PI5qWEPqH6fJS0pFtQ/4gZ95xfEFb/89dmh+/b895TbFDBLiafBvxD/PGTKfvxl4kH/pQg==",

10946 10955

"funding": {

10947 10956

"url": "https://github.com/sponsors/isaacs"

10948 10957

}

@@ -16045,7 +16054,7 @@

16045 16054

"parse-conflict-json": "^3.0.0",

16046 16055

"proc-log": "^3.0.0",

16047 16056

"promise-all-reject-late": "^1.0.0",

16048 -

"promise-call-limit": "^1.0.2",

16057 +

"promise-call-limit": "^3.0.1",

16049 16058

"read-package-json-fast": "^3.0.2",

16050 16059

"semver": "^7.3.7",

16051 16060

"ssri": "^10.0.5",

Original file line number Diff line number Diff line change

@@ -387,7 +387,7 @@ module.exports = cls => class Builder extends cls {

387 387

: p)

388 388 389 389

process.emit('timeEnd', timer)

390 -

}), limit)

390 +

}), { limit })

391 391

process.emit('timeEnd', `build:run:${event}`)

392 392

}

393 393 Original file line number Diff line number Diff line change

@@ -30,7 +30,7 @@

30 30

"parse-conflict-json": "^3.0.0",

31 31

"proc-log": "^3.0.0",

32 32

"promise-all-reject-late": "^1.0.0",

33 -

"promise-call-limit": "^1.0.2",

33 +

"promise-call-limit": "^3.0.1",

34 34

"read-package-json-fast": "^3.0.2",

35 35

"semver": "^7.3.7",

36 36

"ssri": "^10.0.5",

You can’t perform that action at this time.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4