new license file version [CI SKIP]
This commit is contained in:
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"interfaces.js","sources":["src/interfaces.ts"],"names":[],"mappings":""}
|
||||
@@ -0,0 +1,84 @@
|
||||
let Declaration = require('../declaration')
|
||||
let {
|
||||
parseGridAreas,
|
||||
warnMissedAreas,
|
||||
prefixTrackProp,
|
||||
prefixTrackValue,
|
||||
getGridGap,
|
||||
warnGridGap,
|
||||
inheritGridGap
|
||||
} = require('./grid-utils')
|
||||
|
||||
function getGridRows (tpl) {
|
||||
return tpl
|
||||
.trim()
|
||||
.slice(1, -1)
|
||||
.split(/["']\s*["']?/g)
|
||||
}
|
||||
|
||||
class GridTemplateAreas extends Declaration {
|
||||
/**
|
||||
* Translate grid-template-areas to separate -ms- prefixed properties
|
||||
*/
|
||||
insert (decl, prefix, prefixes, result) {
|
||||
if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes)
|
||||
|
||||
let hasColumns = false
|
||||
let hasRows = false
|
||||
let parent = decl.parent
|
||||
let gap = getGridGap(decl)
|
||||
gap = inheritGridGap(decl, gap) || gap
|
||||
|
||||
// remove already prefixed rows
|
||||
// to prevent doubling prefixes
|
||||
parent.walkDecls(/-ms-grid-rows/, i => i.remove())
|
||||
|
||||
// add empty tracks to rows
|
||||
parent.walkDecls(/grid-template-(rows|columns)/, trackDecl => {
|
||||
if (trackDecl.prop === 'grid-template-rows') {
|
||||
hasRows = true
|
||||
let { prop, value } = trackDecl
|
||||
trackDecl.cloneBefore({
|
||||
prop: prefixTrackProp({ prop, prefix }),
|
||||
value: prefixTrackValue({ value, gap: gap.row })
|
||||
})
|
||||
} else {
|
||||
hasColumns = true
|
||||
}
|
||||
})
|
||||
|
||||
let gridRows = getGridRows(decl.value)
|
||||
|
||||
if (hasColumns && !hasRows && gap.row && gridRows.length > 1) {
|
||||
decl.cloneBefore({
|
||||
prop: '-ms-grid-rows',
|
||||
value: prefixTrackValue({
|
||||
value: `repeat(${gridRows.length}, auto)`,
|
||||
gap: gap.row
|
||||
}),
|
||||
raws: {}
|
||||
})
|
||||
}
|
||||
|
||||
// warnings
|
||||
warnGridGap({
|
||||
gap,
|
||||
hasColumns,
|
||||
decl,
|
||||
result
|
||||
})
|
||||
|
||||
let areas = parseGridAreas({
|
||||
rows: gridRows,
|
||||
gap
|
||||
})
|
||||
|
||||
warnMissedAreas(areas, decl, result)
|
||||
|
||||
return decl
|
||||
}
|
||||
}
|
||||
|
||||
GridTemplateAreas.names = ['grid-template-areas']
|
||||
|
||||
module.exports = GridTemplateAreas
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"1":"G A B","2":"J E F BC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d f g h i j k l m n o p q r s D t"},C:{"1":"0 1 2 3 4 5 6 7 8 9 CC tB I u J E F G A B C K L H M N O v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB uB ZB vB aB bB cB dB eB fB gB hB iB jB kB e lB mB nB oB pB P Q R wB S T U V W X Y Z a b c d f g h i j k l m n o p q r s D t xB yB DC EC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I u J E F G A B C K L H M N O v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB uB ZB vB aB bB cB dB eB fB gB hB iB jB kB e lB mB nB oB pB P Q R S T U V W X Y Z a b c d f g h i j k l m n o p q r s D t xB yB FC"},E:{"1":"I u J E F G A B C K L H GC zB HC IC JC KC 0B qB rB 1B LC MC 2B 3B 4B 5B sB 6B 7B 8B NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB e lB mB nB oB pB P Q R wB S T U V W X Y Z a b c d OC PC QC RC qB 9B SC rB"},G:{"1":"F zB TC AC UC VC WC XC YC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC 2B 3B 4B 5B sB 6B 7B 8B"},H:{"1":"nC"},I:{"1":"tB I D oC pC qC rC AC sC tC"},J:{"1":"E A"},K:{"1":"A B C e qB 9B rB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"uC"},P:{"1":"I vC wC xC yC zC 0B 0C 1C 2C 3C 4C sB 5C 6C 7C"},Q:{"1":"1B"},R:{"1":"8C"},S:{"1":"9C"}},B:1,C:"naturalWidth & naturalHeight image properties"};
|
||||
@@ -0,0 +1,177 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
||||
|
||||
var endpoint = require('@octokit/endpoint');
|
||||
var universalUserAgent = require('universal-user-agent');
|
||||
var isPlainObject = require('is-plain-object');
|
||||
var nodeFetch = _interopDefault(require('node-fetch'));
|
||||
var requestError = require('@octokit/request-error');
|
||||
|
||||
const VERSION = "5.6.3";
|
||||
|
||||
function getBufferResponse(response) {
|
||||
return response.arrayBuffer();
|
||||
}
|
||||
|
||||
function fetchWrapper(requestOptions) {
|
||||
const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;
|
||||
|
||||
if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {
|
||||
requestOptions.body = JSON.stringify(requestOptions.body);
|
||||
}
|
||||
|
||||
let headers = {};
|
||||
let status;
|
||||
let url;
|
||||
const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch;
|
||||
return fetch(requestOptions.url, Object.assign({
|
||||
method: requestOptions.method,
|
||||
body: requestOptions.body,
|
||||
headers: requestOptions.headers,
|
||||
redirect: requestOptions.redirect
|
||||
}, // `requestOptions.request.agent` type is incompatible
|
||||
// see https://github.com/octokit/types.ts/pull/264
|
||||
requestOptions.request)).then(async response => {
|
||||
url = response.url;
|
||||
status = response.status;
|
||||
|
||||
for (const keyAndValue of response.headers) {
|
||||
headers[keyAndValue[0]] = keyAndValue[1];
|
||||
}
|
||||
|
||||
if ("deprecation" in headers) {
|
||||
const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/);
|
||||
const deprecationLink = matches && matches.pop();
|
||||
log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`);
|
||||
}
|
||||
|
||||
if (status === 204 || status === 205) {
|
||||
return;
|
||||
} // GitHub API returns 200 for HEAD requests
|
||||
|
||||
|
||||
if (requestOptions.method === "HEAD") {
|
||||
if (status < 400) {
|
||||
return;
|
||||
}
|
||||
|
||||
throw new requestError.RequestError(response.statusText, status, {
|
||||
response: {
|
||||
url,
|
||||
status,
|
||||
headers,
|
||||
data: undefined
|
||||
},
|
||||
request: requestOptions
|
||||
});
|
||||
}
|
||||
|
||||
if (status === 304) {
|
||||
throw new requestError.RequestError("Not modified", status, {
|
||||
response: {
|
||||
url,
|
||||
status,
|
||||
headers,
|
||||
data: await getResponseData(response)
|
||||
},
|
||||
request: requestOptions
|
||||
});
|
||||
}
|
||||
|
||||
if (status >= 400) {
|
||||
const data = await getResponseData(response);
|
||||
const error = new requestError.RequestError(toErrorMessage(data), status, {
|
||||
response: {
|
||||
url,
|
||||
status,
|
||||
headers,
|
||||
data
|
||||
},
|
||||
request: requestOptions
|
||||
});
|
||||
throw error;
|
||||
}
|
||||
|
||||
return getResponseData(response);
|
||||
}).then(data => {
|
||||
return {
|
||||
status,
|
||||
url,
|
||||
headers,
|
||||
data
|
||||
};
|
||||
}).catch(error => {
|
||||
if (error instanceof requestError.RequestError) throw error;
|
||||
throw new requestError.RequestError(error.message, 500, {
|
||||
request: requestOptions
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async function getResponseData(response) {
|
||||
const contentType = response.headers.get("content-type");
|
||||
|
||||
if (/application\/json/.test(contentType)) {
|
||||
return response.json();
|
||||
}
|
||||
|
||||
if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) {
|
||||
return response.text();
|
||||
}
|
||||
|
||||
return getBufferResponse(response);
|
||||
}
|
||||
|
||||
function toErrorMessage(data) {
|
||||
if (typeof data === "string") return data; // istanbul ignore else - just in case
|
||||
|
||||
if ("message" in data) {
|
||||
if (Array.isArray(data.errors)) {
|
||||
return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`;
|
||||
}
|
||||
|
||||
return data.message;
|
||||
} // istanbul ignore next - just in case
|
||||
|
||||
|
||||
return `Unknown error: ${JSON.stringify(data)}`;
|
||||
}
|
||||
|
||||
function withDefaults(oldEndpoint, newDefaults) {
|
||||
const endpoint = oldEndpoint.defaults(newDefaults);
|
||||
|
||||
const newApi = function (route, parameters) {
|
||||
const endpointOptions = endpoint.merge(route, parameters);
|
||||
|
||||
if (!endpointOptions.request || !endpointOptions.request.hook) {
|
||||
return fetchWrapper(endpoint.parse(endpointOptions));
|
||||
}
|
||||
|
||||
const request = (route, parameters) => {
|
||||
return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));
|
||||
};
|
||||
|
||||
Object.assign(request, {
|
||||
endpoint,
|
||||
defaults: withDefaults.bind(null, endpoint)
|
||||
});
|
||||
return endpointOptions.request.hook(request, endpointOptions);
|
||||
};
|
||||
|
||||
return Object.assign(newApi, {
|
||||
endpoint,
|
||||
defaults: withDefaults.bind(null, endpoint)
|
||||
});
|
||||
}
|
||||
|
||||
const request = withDefaults(endpoint.endpoint, {
|
||||
headers: {
|
||||
"user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}`
|
||||
}
|
||||
});
|
||||
|
||||
exports.request = request;
|
||||
//# sourceMappingURL=index.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"windowToggle.js","sources":["../src/operators/windowToggle.ts"],"names":[],"mappings":";;;;;AAAA,wDAAmD"}
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"sample.js","sources":["../../../src/internal/operators/sample.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AA0CjG,MAAM,UAAU,MAAM,CAAI,QAAyB;IACjD,OAAO,UAAC,MAAqB,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAzC,CAAyC,CAAC;AAC9E,CAAC;AAED;IACE,wBAAoB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAC7C,CAAC;IAED,6BAAI,GAAJ,UAAK,UAAyB,EAAE,MAAW;QACzC,IAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACxD,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC7F,OAAO,YAAY,CAAC;IACtB,CAAC;IACH,qBAAC;AAAD,CAAC,AAVD,IAUC;AAOD;IAAqC,4CAA2B;IAAhE;QAAA,qEAuBC;QArBS,cAAQ,GAAY,KAAK,CAAC;;IAqBpC,CAAC;IAnBW,gCAAK,GAAf,UAAgB,KAAQ;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,qCAAU,GAAV;QACE,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,yCAAc,GAAd;QACE,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,oCAAS,GAAT;QACE,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,IAAK,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;SACrC;IACH,CAAC;IACH,uBAAC;AAAD,CAAC,AAvBD,CAAqC,qBAAqB,GAuBzD"}
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"delay.js","sources":["../../src/internal/operators/delay.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAA2C;AAC3C,yCAAwC;AAExC,4CAA2C;AAE3C,gDAA+C;AAsD/C,SAAgB,KAAK,CAAI,KAAkB,EAClB,SAAgC;IAAhC,0BAAA,EAAA,YAA2B,aAAK;IACvD,IAAM,aAAa,GAAG,eAAM,CAAC,KAAK,CAAC,CAAC;IACpC,IAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAS,KAAK,CAAC,CAAC;IACtF,OAAO,UAAC,MAAqB,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAnD,CAAmD,CAAC;AACxF,CAAC;AALD,sBAKC;AAED;IACE,uBAAoB,KAAa,EACb,SAAwB;QADxB,UAAK,GAAL,KAAK,CAAQ;QACb,cAAS,GAAT,SAAS,CAAe;IAC5C,CAAC;IAED,4BAAI,GAAJ,UAAK,UAAyB,EAAE,MAAW;QACzC,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACvF,CAAC;IACH,oBAAC;AAAD,CAAC,AARD,IAQC;AAaD;IAAiC,mCAAa;IAwB5C,yBAAY,WAA0B,EAClB,KAAa,EACb,SAAwB;QAF5C,YAGE,kBAAM,WAAW,CAAC,SACnB;QAHmB,WAAK,GAAL,KAAK,CAAQ;QACb,eAAS,GAAT,SAAS,CAAe;QAzBpC,WAAK,GAA2B,EAAE,CAAC;QACnC,YAAM,GAAY,KAAK,CAAC;QACxB,aAAO,GAAY,KAAK,CAAC;;IAyBjC,CAAC;IAvBc,wBAAQ,GAAvB,UAAiE,KAAoB;QACnF,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,IAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAEtC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;YACjE,KAAK,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACjD;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAM,OAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAK,CAAC,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;SACvB;IACH,CAAC;IAQO,mCAAS,GAAjB,UAAkB,SAAwB;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAM,WAAW,GAAG,IAAI,CAAC,WAA2B,CAAC;QACrD,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAgB,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE;YACtF,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS;SAClE,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,8CAAoB,GAA5B,UAA6B,YAA6B;QACxD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YACzB,OAAO;SACR;QAED,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAM,OAAO,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC7E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzB,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE;YACzB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;SAC3B;IACH,CAAC;IAES,+BAAK,GAAf,UAAgB,KAAQ;QACtB,IAAI,CAAC,oBAAoB,CAAC,2BAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAES,gCAAM,GAAhB,UAAiB,GAAQ;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAES,mCAAS,GAAnB;QACE,IAAI,CAAC,oBAAoB,CAAC,2BAAY,CAAC,cAAc,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACH,sBAAC;AAAD,CAAC,AAnED,CAAiC,uBAAU,GAmE1C;AAED;IACE,sBAA4B,IAAY,EACZ,YAA6B;QAD7B,SAAI,GAAJ,IAAI,CAAQ;QACZ,iBAAY,GAAZ,YAAY,CAAiB;IACzD,CAAC;IACH,mBAAC;AAAD,CAAC,AAJD,IAIC"}
|
||||
@@ -0,0 +1,155 @@
|
||||
[](https://codecov.io/gh/ehmicky/human-signals)
|
||||
[](https://travis-ci.org/ehmicky/human-signals)
|
||||
[](https://www.npmjs.com/package/human-signals)
|
||||
[](https://gitter.im/ehmicky/human-signals)
|
||||
[](https://twitter.com/intent/follow?screen_name=ehmicky)
|
||||
[](https://medium.com/@ehmicky)
|
||||
|
||||
Human-friendly process signals.
|
||||
|
||||
This is a map of known process signals with some information about each signal.
|
||||
|
||||
Unlike
|
||||
[`os.constants.signals`](https://nodejs.org/api/os.html#os_signal_constants)
|
||||
this includes:
|
||||
|
||||
- human-friendly [descriptions](#description)
|
||||
- [default actions](#action), including whether they [can be prevented](#forced)
|
||||
- whether the signal is [supported](#supported) by the current OS
|
||||
|
||||
# Example
|
||||
|
||||
```js
|
||||
const { signalsByName, signalsByNumber } = require('human-signals')
|
||||
|
||||
console.log(signalsByName.SIGINT)
|
||||
// {
|
||||
// name: 'SIGINT',
|
||||
// number: 2,
|
||||
// description: 'User interruption with CTRL-C',
|
||||
// supported: true,
|
||||
// action: 'terminate',
|
||||
// forced: false,
|
||||
// standard: 'ansi'
|
||||
// }
|
||||
|
||||
console.log(signalsByNumber[8])
|
||||
// {
|
||||
// name: 'SIGFPE',
|
||||
// number: 8,
|
||||
// description: 'Floating point arithmetic error',
|
||||
// supported: true,
|
||||
// action: 'core',
|
||||
// forced: false,
|
||||
// standard: 'ansi'
|
||||
// }
|
||||
```
|
||||
|
||||
# Install
|
||||
|
||||
```bash
|
||||
npm install human-signals
|
||||
```
|
||||
|
||||
# Usage
|
||||
|
||||
## signalsByName
|
||||
|
||||
_Type_: `object`
|
||||
|
||||
Object whose keys are signal [names](#name) and values are
|
||||
[signal objects](#signal).
|
||||
|
||||
## signalsByNumber
|
||||
|
||||
_Type_: `object`
|
||||
|
||||
Object whose keys are signal [numbers](#number) and values are
|
||||
[signal objects](#signal).
|
||||
|
||||
## signal
|
||||
|
||||
_Type_: `object`
|
||||
|
||||
Signal object with the following properties.
|
||||
|
||||
### name
|
||||
|
||||
_Type_: `string`
|
||||
|
||||
Standard name of the signal, for example `'SIGINT'`.
|
||||
|
||||
### number
|
||||
|
||||
_Type_: `number`
|
||||
|
||||
Code number of the signal, for example `2`. While most `number` are
|
||||
cross-platform, some are different between different OS.
|
||||
|
||||
### description
|
||||
|
||||
_Type_: `string`
|
||||
|
||||
Human-friendly description for the signal, for example
|
||||
`'User interruption with CTRL-C'`.
|
||||
|
||||
### supported
|
||||
|
||||
_Type_: `boolean`
|
||||
|
||||
Whether the current OS can handle this signal in Node.js using
|
||||
[`process.on(name, handler)`](https://nodejs.org/api/process.html#process_signal_events).
|
||||
|
||||
The list of supported signals
|
||||
[is OS-specific](https://github.com/ehmicky/cross-platform-node-guide/blob/master/docs/6_networking_ipc/signals.md#cross-platform-signals).
|
||||
|
||||
### action
|
||||
|
||||
_Type_: `string`<br>_Enum_: `'terminate'`, `'core'`, `'ignore'`, `'pause'`,
|
||||
`'unpause'`
|
||||
|
||||
What is the default action for this signal when it is not handled.
|
||||
|
||||
### forced
|
||||
|
||||
_Type_: `boolean`
|
||||
|
||||
Whether the signal's default action cannot be prevented. This is `true` for
|
||||
`SIGTERM`, `SIGKILL` and `SIGSTOP`.
|
||||
|
||||
### standard
|
||||
|
||||
_Type_: `string`<br>_Enum_: `'ansi'`, `'posix'`, `'bsd'`, `'systemv'`, `'other'`
|
||||
|
||||
Which standard defined that signal.
|
||||
|
||||
# Support
|
||||
|
||||
If you found a bug or would like a new feature, _don't hesitate_ to
|
||||
[submit an issue on GitHub](../../issues).
|
||||
|
||||
For other questions, feel free to
|
||||
[chat with us on Gitter](https://gitter.im/ehmicky/human-signals).
|
||||
|
||||
Everyone is welcome regardless of personal background. We enforce a
|
||||
[Code of conduct](CODE_OF_CONDUCT.md) in order to promote a positive and
|
||||
inclusive environment.
|
||||
|
||||
# Contributing
|
||||
|
||||
This project was made with ❤️. The simplest way to give back is by starring and
|
||||
sharing it online.
|
||||
|
||||
If the documentation is unclear or has a typo, please click on the page's `Edit`
|
||||
button (pencil icon) and suggest a correction.
|
||||
|
||||
If you would like to help us fix a bug or add a new feature, please check our
|
||||
[guidelines](CONTRIBUTING.md). Pull requests are welcome!
|
||||
|
||||
<!-- Thanks go to our wonderful contributors: -->
|
||||
|
||||
<!-- ALL-CONTRIBUTORS-LIST:START -->
|
||||
<!-- prettier-ignore -->
|
||||
<table><tr><td align="center"><a href="https://twitter.com/ehmicky"><img src="https://avatars2.githubusercontent.com/u/8136211?v=4" width="100px;" alt="ehmicky"/><br /><sub><b>ehmicky</b></sub></a><br /><a href="https://github.com/ehmicky/human-signals/commits?author=ehmicky" title="Code">💻</a> <a href="#design-ehmicky" title="Design">🎨</a> <a href="#ideas-ehmicky" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/ehmicky/human-signals/commits?author=ehmicky" title="Documentation">📖</a></td></tr></table>
|
||||
|
||||
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"noop.js","sources":["../src/util/noop.ts"],"names":[],"mappings":";;;;;AAAA,2CAAsC"}
|
||||
@@ -0,0 +1,32 @@
|
||||
import { MonoTypeOperatorFunction } from '../types';
|
||||
/**
|
||||
* If the source observable completes without emitting a value, it will emit
|
||||
* an error. The error will be created at that time by the optional
|
||||
* `errorFactory` argument, otherwise, the error will be {@link EmptyError}.
|
||||
*
|
||||
* 
|
||||
*
|
||||
* ## Example
|
||||
* ```ts
|
||||
* import { fromEvent, timer } from 'rxjs';
|
||||
* import { throwIfEmpty, takeUntil } from 'rxjs/operators';
|
||||
*
|
||||
* const click$ = fromEvent(document, 'click');
|
||||
*
|
||||
* click$.pipe(
|
||||
* takeUntil(timer(1000)),
|
||||
* throwIfEmpty(
|
||||
* () => new Error('the document was not clicked within 1 second')
|
||||
* ),
|
||||
* )
|
||||
* .subscribe({
|
||||
* next() { console.log('The button was clicked'); },
|
||||
* error(err) { console.error(err); }
|
||||
* });
|
||||
* ```
|
||||
*
|
||||
* @param errorFactory A factory function called to produce the
|
||||
* error to be thrown when the source observable completes without emitting a
|
||||
* value.
|
||||
*/
|
||||
export declare function throwIfEmpty<T>(errorFactory?: (() => any)): MonoTypeOperatorFunction<T>;
|
||||
@@ -0,0 +1,7 @@
|
||||
"use strict";
|
||||
function __export(m) {
|
||||
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
||||
}
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
__export(require("rxjs-compat/util/root"));
|
||||
//# sourceMappingURL=root.js.map
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"name": "ci-info",
|
||||
"version": "2.0.0",
|
||||
"description": "Get details about the current Continuous Integration environment",
|
||||
"main": "index.js",
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"clear-require": "^1.0.1",
|
||||
"standard": "^12.0.1",
|
||||
"tape": "^4.9.1"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "standard && node test.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/watson/ci-info.git"
|
||||
},
|
||||
"keywords": [
|
||||
"ci",
|
||||
"continuous",
|
||||
"integration",
|
||||
"test",
|
||||
"detect"
|
||||
],
|
||||
"author": "Thomas Watson Steen <w@tson.dk> (https://twitter.com/wa7son)",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/watson/ci-info/issues"
|
||||
},
|
||||
"homepage": "https://github.com/watson/ci-info",
|
||||
"coordinates": [
|
||||
55.778231,
|
||||
12.593179
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var iterator_1 = require("../symbol/iterator");
|
||||
function isIterable(input) {
|
||||
return input && typeof input[iterator_1.iterator] === 'function';
|
||||
}
|
||||
exports.isIterable = isIterable;
|
||||
//# sourceMappingURL=isIterable.js.map
|
||||
@@ -0,0 +1,50 @@
|
||||
# registry-url [](https://travis-ci.org/sindresorhus/registry-url)
|
||||
|
||||
> Get the set npm registry URL
|
||||
|
||||
It's usually `https://registry.npmjs.org/`, but it's [configurable](https://docs.npmjs.com/misc/registry).
|
||||
|
||||
Use this if you do anything with the npm registry as users will expect it to use their configured registry.
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install registry-url
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```ini
|
||||
# .npmrc
|
||||
registry = 'https://custom-registry.com/'
|
||||
```
|
||||
|
||||
```js
|
||||
const registryUrl = require('registry-url');
|
||||
|
||||
console.log(registryUrl());
|
||||
//=> 'https://custom-registry.com/'
|
||||
```
|
||||
|
||||
It can also retrieve the registry URL associated with an [npm scope](https://docs.npmjs.com/misc/scope).
|
||||
|
||||
```ini
|
||||
# .npmrc
|
||||
@myco:registry = 'https://custom-registry.com/'
|
||||
```
|
||||
|
||||
```js
|
||||
const registryUrl = require('registry-url');
|
||||
|
||||
console.log(registryUrl('@myco'));
|
||||
//=> 'https://custom-registry.com/'
|
||||
```
|
||||
|
||||
If the provided scope is not in the user's `.npmrc` file, then `registry-url` will check for the existence of `registry`, or if that's not set, fallback to the default npm registry.
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Sindre Sorhus](https://sindresorhus.com)
|
||||
@@ -0,0 +1,82 @@
|
||||
import { AsyncAction } from './AsyncAction';
|
||||
import { AsyncScheduler } from './AsyncScheduler';
|
||||
export class VirtualTimeScheduler extends AsyncScheduler {
|
||||
constructor(SchedulerAction = VirtualAction, maxFrames = Number.POSITIVE_INFINITY) {
|
||||
super(SchedulerAction, () => this.frame);
|
||||
this.maxFrames = maxFrames;
|
||||
this.frame = 0;
|
||||
this.index = -1;
|
||||
}
|
||||
flush() {
|
||||
const { actions, maxFrames } = this;
|
||||
let error, action;
|
||||
while ((action = actions[0]) && action.delay <= maxFrames) {
|
||||
actions.shift();
|
||||
this.frame = action.delay;
|
||||
if (error = action.execute(action.state, action.delay)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (error) {
|
||||
while (action = actions.shift()) {
|
||||
action.unsubscribe();
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
}
|
||||
VirtualTimeScheduler.frameTimeFactor = 10;
|
||||
export class VirtualAction extends AsyncAction {
|
||||
constructor(scheduler, work, index = scheduler.index += 1) {
|
||||
super(scheduler, work);
|
||||
this.scheduler = scheduler;
|
||||
this.work = work;
|
||||
this.index = index;
|
||||
this.active = true;
|
||||
this.index = scheduler.index = index;
|
||||
}
|
||||
schedule(state, delay = 0) {
|
||||
if (!this.id) {
|
||||
return super.schedule(state, delay);
|
||||
}
|
||||
this.active = false;
|
||||
const action = new VirtualAction(this.scheduler, this.work);
|
||||
this.add(action);
|
||||
return action.schedule(state, delay);
|
||||
}
|
||||
requestAsyncId(scheduler, id, delay = 0) {
|
||||
this.delay = scheduler.frame + delay;
|
||||
const { actions } = scheduler;
|
||||
actions.push(this);
|
||||
actions.sort(VirtualAction.sortActions);
|
||||
return true;
|
||||
}
|
||||
recycleAsyncId(scheduler, id, delay = 0) {
|
||||
return undefined;
|
||||
}
|
||||
_execute(state, delay) {
|
||||
if (this.active === true) {
|
||||
return super._execute(state, delay);
|
||||
}
|
||||
}
|
||||
static sortActions(a, b) {
|
||||
if (a.delay === b.delay) {
|
||||
if (a.index === b.index) {
|
||||
return 0;
|
||||
}
|
||||
else if (a.index > b.index) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else if (a.delay > b.delay) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=VirtualTimeScheduler.js.map
|
||||
@@ -0,0 +1,93 @@
|
||||
import { Observable } from '../Observable';
|
||||
import { AsyncSubject } from '../AsyncSubject';
|
||||
import { map } from '../operators/map';
|
||||
import { canReportError } from '../util/canReportError';
|
||||
import { isScheduler } from '../util/isScheduler';
|
||||
import { isArray } from '../util/isArray';
|
||||
export function bindNodeCallback(callbackFunc, resultSelector, scheduler) {
|
||||
if (resultSelector) {
|
||||
if (isScheduler(resultSelector)) {
|
||||
scheduler = resultSelector;
|
||||
}
|
||||
else {
|
||||
return (...args) => bindNodeCallback(callbackFunc, scheduler)(...args).pipe(map(args => isArray(args) ? resultSelector(...args) : resultSelector(args)));
|
||||
}
|
||||
}
|
||||
return function (...args) {
|
||||
const params = {
|
||||
subject: undefined,
|
||||
args,
|
||||
callbackFunc,
|
||||
scheduler,
|
||||
context: this,
|
||||
};
|
||||
return new Observable(subscriber => {
|
||||
const { context } = params;
|
||||
let { subject } = params;
|
||||
if (!scheduler) {
|
||||
if (!subject) {
|
||||
subject = params.subject = new AsyncSubject();
|
||||
const handler = (...innerArgs) => {
|
||||
const err = innerArgs.shift();
|
||||
if (err) {
|
||||
subject.error(err);
|
||||
return;
|
||||
}
|
||||
subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs);
|
||||
subject.complete();
|
||||
};
|
||||
try {
|
||||
callbackFunc.apply(context, [...args, handler]);
|
||||
}
|
||||
catch (err) {
|
||||
if (canReportError(subject)) {
|
||||
subject.error(err);
|
||||
}
|
||||
else {
|
||||
console.warn(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
return subject.subscribe(subscriber);
|
||||
}
|
||||
else {
|
||||
return scheduler.schedule(dispatch, 0, { params, subscriber, context });
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
function dispatch(state) {
|
||||
const { params, subscriber, context } = state;
|
||||
const { callbackFunc, args, scheduler } = params;
|
||||
let subject = params.subject;
|
||||
if (!subject) {
|
||||
subject = params.subject = new AsyncSubject();
|
||||
const handler = (...innerArgs) => {
|
||||
const err = innerArgs.shift();
|
||||
if (err) {
|
||||
this.add(scheduler.schedule(dispatchError, 0, { err, subject }));
|
||||
}
|
||||
else {
|
||||
const value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs;
|
||||
this.add(scheduler.schedule(dispatchNext, 0, { value, subject }));
|
||||
}
|
||||
};
|
||||
try {
|
||||
callbackFunc.apply(context, [...args, handler]);
|
||||
}
|
||||
catch (err) {
|
||||
this.add(scheduler.schedule(dispatchError, 0, { err, subject }));
|
||||
}
|
||||
}
|
||||
this.add(subject.subscribe(subscriber));
|
||||
}
|
||||
function dispatchNext(arg) {
|
||||
const { value, subject } = arg;
|
||||
subject.next(value);
|
||||
subject.complete();
|
||||
}
|
||||
function dispatchError(arg) {
|
||||
const { err, subject } = arg;
|
||||
subject.error(err);
|
||||
}
|
||||
//# sourceMappingURL=bindNodeCallback.js.map
|
||||
@@ -0,0 +1 @@
|
||||
import 'rxjs-compat/add/operator/bufferToggle';
|
||||
Reference in New Issue
Block a user