new license file version [CI SKIP]
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
import Node from './shared/Node';
|
||||
import Expression from './shared/Expression';
|
||||
import Component from '../Component';
|
||||
import TemplateScope from './shared/TemplateScope';
|
||||
import { Node as ESTreeNode } from 'estree';
|
||||
import { TemplateNode } from '../../interfaces';
|
||||
import Element from './Element';
|
||||
import InlineComponent from './InlineComponent';
|
||||
import Window from './Window';
|
||||
export default class Binding extends Node {
|
||||
type: 'Binding';
|
||||
name: string;
|
||||
expression: Expression;
|
||||
raw_expression: ESTreeNode;
|
||||
is_contextual: boolean;
|
||||
is_readonly: boolean;
|
||||
constructor(component: Component, parent: Element | InlineComponent | Window, scope: TemplateScope, info: TemplateNode);
|
||||
is_readonly_media_attribute(): boolean;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"rxSubscriber.js","sources":["../../../src/internal/symbol/rxSubscriber.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,IAAM,YAAY,GAAG,CAAC;IAC3B,OAAA,OAAO,MAAM,KAAK,UAAU;QAC1B,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;QACxB,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE;AAFrC,CAEqC,CAAC,EAAE,CAAC;AAK3C,MAAM,CAAC,IAAM,cAAc,GAAG,YAAY,CAAC"}
|
||||
@@ -0,0 +1,4 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
require("rxjs-compat/add/operator/combineAll");
|
||||
//# sourceMappingURL=combineAll.js.map
|
||||
@@ -0,0 +1,90 @@
|
||||
"use strict";
|
||||
var __assign = (this && this.__assign) || function () {
|
||||
__assign = Object.assign || function(t) {
|
||||
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
||||
s = arguments[i];
|
||||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
||||
t[p] = s[p];
|
||||
}
|
||||
return t;
|
||||
};
|
||||
return __assign.apply(this, arguments);
|
||||
};
|
||||
var __rest = (this && this.__rest) || function (s, e) {
|
||||
var t = {};
|
||||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
||||
t[p] = s[p];
|
||||
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
||||
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
|
||||
t[p[i]] = s[p[i]];
|
||||
return t;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var Observable_1 = require("../../Observable");
|
||||
var Subscription_1 = require("../../Subscription");
|
||||
var from_1 = require("../../observable/from");
|
||||
function fromFetch(input, initWithSelector) {
|
||||
if (initWithSelector === void 0) { initWithSelector = {}; }
|
||||
var selector = initWithSelector.selector, init = __rest(initWithSelector, ["selector"]);
|
||||
return new Observable_1.Observable(function (subscriber) {
|
||||
var controller = new AbortController();
|
||||
var signal = controller.signal;
|
||||
var abortable = true;
|
||||
var unsubscribed = false;
|
||||
var subscription = new Subscription_1.Subscription();
|
||||
subscription.add(function () {
|
||||
unsubscribed = true;
|
||||
if (abortable) {
|
||||
controller.abort();
|
||||
}
|
||||
});
|
||||
var perSubscriberInit;
|
||||
if (init) {
|
||||
if (init.signal) {
|
||||
if (init.signal.aborted) {
|
||||
controller.abort();
|
||||
}
|
||||
else {
|
||||
var outerSignal_1 = init.signal;
|
||||
var outerSignalHandler_1 = function () {
|
||||
if (!signal.aborted) {
|
||||
controller.abort();
|
||||
}
|
||||
};
|
||||
outerSignal_1.addEventListener('abort', outerSignalHandler_1);
|
||||
subscription.add(function () { return outerSignal_1.removeEventListener('abort', outerSignalHandler_1); });
|
||||
}
|
||||
}
|
||||
perSubscriberInit = __assign({}, init, { signal: signal });
|
||||
}
|
||||
else {
|
||||
perSubscriberInit = { signal: signal };
|
||||
}
|
||||
fetch(input, perSubscriberInit).then(function (response) {
|
||||
if (selector) {
|
||||
subscription.add(from_1.from(selector(response)).subscribe(function (value) { return subscriber.next(value); }, function (err) {
|
||||
abortable = false;
|
||||
if (!unsubscribed) {
|
||||
subscriber.error(err);
|
||||
}
|
||||
}, function () {
|
||||
abortable = false;
|
||||
subscriber.complete();
|
||||
}));
|
||||
}
|
||||
else {
|
||||
abortable = false;
|
||||
subscriber.next(response);
|
||||
subscriber.complete();
|
||||
}
|
||||
}).catch(function (err) {
|
||||
abortable = false;
|
||||
if (!unsubscribed) {
|
||||
subscriber.error(err);
|
||||
}
|
||||
});
|
||||
return subscription;
|
||||
});
|
||||
}
|
||||
exports.fromFetch = fromFetch;
|
||||
//# sourceMappingURL=fetch.js.map
|
||||
@@ -0,0 +1,233 @@
|
||||
# asynckit [](https://www.npmjs.com/package/asynckit)
|
||||
|
||||
Minimal async jobs utility library, with streams support.
|
||||
|
||||
[](https://travis-ci.org/alexindigo/asynckit)
|
||||
[](https://travis-ci.org/alexindigo/asynckit)
|
||||
[](https://ci.appveyor.com/project/alexindigo/asynckit)
|
||||
|
||||
[](https://coveralls.io/github/alexindigo/asynckit?branch=master)
|
||||
[](https://david-dm.org/alexindigo/asynckit)
|
||||
[](https://www.bithound.io/github/alexindigo/asynckit)
|
||||
|
||||
<!-- [](https://www.npmjs.com/package/reamde) -->
|
||||
|
||||
AsyncKit provides harness for `parallel` and `serial` iterators over list of items represented by arrays or objects.
|
||||
Optionally it accepts abort function (should be synchronously return by iterator for each item), and terminates left over jobs upon an error event. For specific iteration order built-in (`ascending` and `descending`) and custom sort helpers also supported, via `asynckit.serialOrdered` method.
|
||||
|
||||
It ensures async operations to keep behavior more stable and prevent `Maximum call stack size exceeded` errors, from sync iterators.
|
||||
|
||||
| compression | size |
|
||||
| :----------------- | -------: |
|
||||
| asynckit.js | 12.34 kB |
|
||||
| asynckit.min.js | 4.11 kB |
|
||||
| asynckit.min.js.gz | 1.47 kB |
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```sh
|
||||
$ npm install --save asynckit
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
### Parallel Jobs
|
||||
|
||||
Runs iterator over provided array in parallel. Stores output in the `result` array,
|
||||
on the matching positions. In unlikely event of an error from one of the jobs,
|
||||
will terminate rest of the active jobs (if abort function is provided)
|
||||
and return error along with salvaged data to the main callback function.
|
||||
|
||||
#### Input Array
|
||||
|
||||
```javascript
|
||||
var parallel = require('asynckit').parallel
|
||||
, assert = require('assert')
|
||||
;
|
||||
|
||||
var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ]
|
||||
, expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ]
|
||||
, expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ]
|
||||
, target = []
|
||||
;
|
||||
|
||||
parallel(source, asyncJob, function(err, result)
|
||||
{
|
||||
assert.deepEqual(result, expectedResult);
|
||||
assert.deepEqual(target, expectedTarget);
|
||||
});
|
||||
|
||||
// async job accepts one element from the array
|
||||
// and a callback function
|
||||
function asyncJob(item, cb)
|
||||
{
|
||||
// different delays (in ms) per item
|
||||
var delay = item * 25;
|
||||
|
||||
// pretend different jobs take different time to finish
|
||||
// and not in consequential order
|
||||
var timeoutId = setTimeout(function() {
|
||||
target.push(item);
|
||||
cb(null, item * 2);
|
||||
}, delay);
|
||||
|
||||
// allow to cancel "leftover" jobs upon error
|
||||
// return function, invoking of which will abort this job
|
||||
return clearTimeout.bind(null, timeoutId);
|
||||
}
|
||||
```
|
||||
|
||||
More examples could be found in [test/test-parallel-array.js](test/test-parallel-array.js).
|
||||
|
||||
#### Input Object
|
||||
|
||||
Also it supports named jobs, listed via object.
|
||||
|
||||
```javascript
|
||||
var parallel = require('asynckit/parallel')
|
||||
, assert = require('assert')
|
||||
;
|
||||
|
||||
var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 }
|
||||
, expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 }
|
||||
, expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ]
|
||||
, expectedKeys = [ 'first', 'one', 'two', 'four', 'eight', 'sixteen', 'thirtyTwo', 'sixtyFour' ]
|
||||
, target = []
|
||||
, keys = []
|
||||
;
|
||||
|
||||
parallel(source, asyncJob, function(err, result)
|
||||
{
|
||||
assert.deepEqual(result, expectedResult);
|
||||
assert.deepEqual(target, expectedTarget);
|
||||
assert.deepEqual(keys, expectedKeys);
|
||||
});
|
||||
|
||||
// supports full value, key, callback (shortcut) interface
|
||||
function asyncJob(item, key, cb)
|
||||
{
|
||||
// different delays (in ms) per item
|
||||
var delay = item * 25;
|
||||
|
||||
// pretend different jobs take different time to finish
|
||||
// and not in consequential order
|
||||
var timeoutId = setTimeout(function() {
|
||||
keys.push(key);
|
||||
target.push(item);
|
||||
cb(null, item * 2);
|
||||
}, delay);
|
||||
|
||||
// allow to cancel "leftover" jobs upon error
|
||||
// return function, invoking of which will abort this job
|
||||
return clearTimeout.bind(null, timeoutId);
|
||||
}
|
||||
```
|
||||
|
||||
More examples could be found in [test/test-parallel-object.js](test/test-parallel-object.js).
|
||||
|
||||
### Serial Jobs
|
||||
|
||||
Runs iterator over provided array sequentially. Stores output in the `result` array,
|
||||
on the matching positions. In unlikely event of an error from one of the jobs,
|
||||
will not proceed to the rest of the items in the list
|
||||
and return error along with salvaged data to the main callback function.
|
||||
|
||||
#### Input Array
|
||||
|
||||
```javascript
|
||||
var serial = require('asynckit/serial')
|
||||
, assert = require('assert')
|
||||
;
|
||||
|
||||
var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ]
|
||||
, expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ]
|
||||
, expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ]
|
||||
, target = []
|
||||
;
|
||||
|
||||
serial(source, asyncJob, function(err, result)
|
||||
{
|
||||
assert.deepEqual(result, expectedResult);
|
||||
assert.deepEqual(target, expectedTarget);
|
||||
});
|
||||
|
||||
// extended interface (item, key, callback)
|
||||
// also supported for arrays
|
||||
function asyncJob(item, key, cb)
|
||||
{
|
||||
target.push(key);
|
||||
|
||||
// it will be automatically made async
|
||||
// even it iterator "returns" in the same event loop
|
||||
cb(null, item * 2);
|
||||
}
|
||||
```
|
||||
|
||||
More examples could be found in [test/test-serial-array.js](test/test-serial-array.js).
|
||||
|
||||
#### Input Object
|
||||
|
||||
Also it supports named jobs, listed via object.
|
||||
|
||||
```javascript
|
||||
var serial = require('asynckit').serial
|
||||
, assert = require('assert')
|
||||
;
|
||||
|
||||
var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ]
|
||||
, expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ]
|
||||
, expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ]
|
||||
, target = []
|
||||
;
|
||||
|
||||
var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 }
|
||||
, expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 }
|
||||
, expectedTarget = [ 1, 1, 4, 16, 64, 32, 8, 2 ]
|
||||
, target = []
|
||||
;
|
||||
|
||||
|
||||
serial(source, asyncJob, function(err, result)
|
||||
{
|
||||
assert.deepEqual(result, expectedResult);
|
||||
assert.deepEqual(target, expectedTarget);
|
||||
});
|
||||
|
||||
// shortcut interface (item, callback)
|
||||
// works for object as well as for the arrays
|
||||
function asyncJob(item, cb)
|
||||
{
|
||||
target.push(item);
|
||||
|
||||
// it will be automatically made async
|
||||
// even it iterator "returns" in the same event loop
|
||||
cb(null, item * 2);
|
||||
}
|
||||
```
|
||||
|
||||
More examples could be found in [test/test-serial-object.js](test/test-serial-object.js).
|
||||
|
||||
_Note: Since _object_ is an _unordered_ collection of properties,
|
||||
it may produce unexpected results with sequential iterations.
|
||||
Whenever order of the jobs' execution is important please use `serialOrdered` method._
|
||||
|
||||
### Ordered Serial Iterations
|
||||
|
||||
TBD
|
||||
|
||||
For example [compare-property](compare-property) package.
|
||||
|
||||
### Streaming interface
|
||||
|
||||
TBD
|
||||
|
||||
## Want to Know More?
|
||||
|
||||
More examples can be found in [test folder](test/).
|
||||
|
||||
Or open an [issue](https://github.com/alexindigo/asynckit/issues) with questions and/or suggestions.
|
||||
|
||||
## License
|
||||
|
||||
AsyncKit is licensed under the MIT license.
|
||||
@@ -0,0 +1,141 @@
|
||||
const semver = require('semver')
|
||||
const { cmd, isLink, encodeHTML, replaceText, getGitVersion } = require('./utils')
|
||||
|
||||
const COMMIT_SEPARATOR = '__AUTO_CHANGELOG_COMMIT_SEPARATOR__'
|
||||
const MESSAGE_SEPARATOR = '__AUTO_CHANGELOG_MESSAGE_SEPARATOR__'
|
||||
const MATCH_COMMIT = /(.*)\n(.*)\n(.*)\n(.*)\n([\S\s]+)/
|
||||
const MATCH_STATS = /(\d+) files? changed(?:, (\d+) insertions?...)?(?:, (\d+) deletions?...)?/
|
||||
const BODY_FORMAT = '%B'
|
||||
const FALLBACK_BODY_FORMAT = '%s%n%n%b'
|
||||
|
||||
// https://help.github.com/articles/closing-issues-via-commit-messages
|
||||
const DEFAULT_FIX_PATTERN = /(?:close[sd]?|fixe?[sd]?|resolve[sd]?)\s(?:#(\d+)|(https?:\/\/.+?\/(?:issues|pull|pull-requests|merge_requests)\/(\d+)))/gi
|
||||
|
||||
const MERGE_PATTERNS = [
|
||||
/^Merge pull request #(\d+) from .+\n\n(.+)/, // Regular GitHub merge
|
||||
/^(.+) \(#(\d+)\)(?:$|\n\n)/, // Github squash merge
|
||||
/^Merged in .+ \(pull request #(\d+)\)\n\n(.+)/, // BitBucket merge
|
||||
/^Merge branch .+ into .+\n\n(.+)[\S\s]+See merge request [^!]*!(\d+)/ // GitLab merge
|
||||
]
|
||||
|
||||
const fetchCommits = async (diff, options = {}) => {
|
||||
const format = await getLogFormat()
|
||||
const log = await cmd(`git log ${diff} --shortstat --pretty=format:${format} ${options.appendGitLog}`)
|
||||
return parseCommits(log, options)
|
||||
}
|
||||
|
||||
const getLogFormat = async () => {
|
||||
const gitVersion = await getGitVersion()
|
||||
const bodyFormat = gitVersion && semver.gte(gitVersion, '1.7.2') ? BODY_FORMAT : FALLBACK_BODY_FORMAT
|
||||
return `${COMMIT_SEPARATOR}%H%n%ai%n%an%n%ae%n${bodyFormat}${MESSAGE_SEPARATOR}`
|
||||
}
|
||||
|
||||
const parseCommits = (string, options = {}) => {
|
||||
return string
|
||||
.split(COMMIT_SEPARATOR)
|
||||
.slice(1)
|
||||
.map(commit => parseCommit(commit, options))
|
||||
}
|
||||
|
||||
const parseCommit = (commit, options = {}) => {
|
||||
const [, hash, date, author, email, tail] = commit.match(MATCH_COMMIT)
|
||||
const [body, stats] = tail.split(MESSAGE_SEPARATOR)
|
||||
const message = encodeHTML(body)
|
||||
const parsed = {
|
||||
hash,
|
||||
shorthash: hash.slice(0, 7),
|
||||
author,
|
||||
email,
|
||||
date: new Date(date).toISOString(),
|
||||
subject: replaceText(getSubject(message), options),
|
||||
message: message.trim(),
|
||||
fixes: getFixes(message, author, options),
|
||||
href: options.getCommitLink(hash),
|
||||
breaking: !!options.breakingPattern && new RegExp(options.breakingPattern).test(message),
|
||||
...getStats(stats)
|
||||
}
|
||||
return {
|
||||
...parsed,
|
||||
merge: getMerge(parsed, message, options)
|
||||
}
|
||||
}
|
||||
|
||||
const getSubject = (message) => {
|
||||
if (!message) {
|
||||
return '_No commit message_'
|
||||
}
|
||||
return message.match(/[^\n]+/)[0]
|
||||
}
|
||||
|
||||
const getStats = (stats) => {
|
||||
if (!stats.trim()) return {}
|
||||
const [, files, insertions, deletions] = stats.match(MATCH_STATS)
|
||||
return {
|
||||
files: parseInt(files || 0),
|
||||
insertions: parseInt(insertions || 0),
|
||||
deletions: parseInt(deletions || 0)
|
||||
}
|
||||
}
|
||||
|
||||
const getFixes = (message, author, options = {}) => {
|
||||
const pattern = getFixPattern(options)
|
||||
const fixes = []
|
||||
let match = pattern.exec(message)
|
||||
if (!match) return null
|
||||
while (match) {
|
||||
const id = getFixID(match)
|
||||
const href = isLink(match[2]) ? match[2] : options.getIssueLink(id)
|
||||
fixes.push({ id, href, author })
|
||||
match = pattern.exec(message)
|
||||
}
|
||||
return fixes
|
||||
}
|
||||
|
||||
const getFixID = (match) => {
|
||||
// Get the last non-falsey value in the match array
|
||||
for (let i = match.length; i >= 0; i--) {
|
||||
if (match[i]) {
|
||||
return match[i]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const getFixPattern = (options) => {
|
||||
if (options.issuePattern) {
|
||||
return new RegExp(options.issuePattern, 'g')
|
||||
}
|
||||
return DEFAULT_FIX_PATTERN
|
||||
}
|
||||
|
||||
const getMergePatterns = (options) => {
|
||||
if (options.mergePattern) {
|
||||
return MERGE_PATTERNS.concat(new RegExp(options.mergePattern, 'g'))
|
||||
}
|
||||
return MERGE_PATTERNS
|
||||
}
|
||||
|
||||
const getMerge = (commit, message, options = {}) => {
|
||||
const patterns = getMergePatterns(options)
|
||||
for (const pattern of patterns) {
|
||||
const match = pattern.exec(message)
|
||||
if (match) {
|
||||
const id = /^\d+$/.test(match[1]) ? match[1] : match[2]
|
||||
const message = /^\d+$/.test(match[1]) ? match[2] : match[1]
|
||||
return {
|
||||
id,
|
||||
message: replaceText(message, options),
|
||||
href: options.getMergeLink(id),
|
||||
author: commit.author,
|
||||
commit
|
||||
}
|
||||
}
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
COMMIT_SEPARATOR,
|
||||
MESSAGE_SEPARATOR,
|
||||
fetchCommits,
|
||||
parseCommit
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"never.js","sources":["../../src/add/observable/never.ts"],"names":[],"mappings":";;AAAA,4CAA0C"}
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"isInteropObservable.js","sources":["../../../src/internal/util/isInteropObservable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGvE,MAAM,UAAU,mBAAmB,CAAC,KAAU;IAC5C,OAAO,KAAK,IAAI,OAAO,KAAK,CAAC,iBAAiB,CAAC,KAAK,UAAU,CAAC;AACjE,CAAC"}
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"share.js","sources":["../../src/internal/operators/share.ts"],"names":[],"mappings":";;AACA,yCAAwC;AACxC,uCAAsC;AACtC,sCAAqC;AAIrC,SAAS,mBAAmB;IAC1B,OAAO,IAAI,iBAAO,EAAE,CAAC;AACvB,CAAC;AAcD,SAAgB,KAAK;IACnB,OAAO,UAAC,MAAqB,IAAK,OAAA,mBAAQ,EAAE,CAAC,qBAAS,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAkB,EAAnE,CAAmE,CAAC;AACxG,CAAC;AAFD,sBAEC"}
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"UnsubscriptionError.js","sources":["../../../src/internal/util/UnsubscriptionError.ts"],"names":[],"mappings":"AAQA,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE;IACpC,SAAS,uBAAuB,CAAY,MAAa;QACvD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;YACrB,GAAG,MAAM,CAAC,MAAM;EACpB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEnE,OAAO,uBAAuB,CAAC;AACjC,CAAC,CAAC,EAAE,CAAC;AAML,MAAM,CAAC,MAAM,mBAAmB,GAA4B,uBAA8B,CAAC"}
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"single.js","sources":["../src/operators/single.ts"],"names":[],"mappings":";;;;;AAAA,kDAA6C"}
|
||||
@@ -0,0 +1,12 @@
|
||||
function decodeBase64 (base64) {
|
||||
return Buffer.from(base64, 'base64').toString('utf8')
|
||||
}
|
||||
|
||||
function encodeBase64 (string) {
|
||||
return Buffer.from(string, 'utf8').toString('base64')
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
decodeBase64: decodeBase64,
|
||||
encodeBase64: encodeBase64
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export * from 'rxjs-compat/util/subscribeToIterable';
|
||||
@@ -0,0 +1 @@
|
||||
{"name":"debug","version":"4.3.1","files":{"src/browser.js":{"checkedAt":1678887829563,"integrity":"sha512-aQXtXyHAOruHIjK4NWzUDvOo0JXiuUQElWP4ewBqTUgNe09bWABfXVJlq4oI/w44Yf40LaBg5bc+RUcjkdPUew==","mode":420,"size":6010},"src/index.js":{"checkedAt":1678887829563,"integrity":"sha512-T6qHTZ2GL/ySFSh0LE8f6KmyKjWHYPbpP87xOFI1dTKagBzpZZ7Y6WsCtz5YGz6Z2Rlz4imBs1j/teQxA6U2wg==","mode":420,"size":314},"src/common.js":{"checkedAt":1678887829559,"integrity":"sha512-QO+RMsrC+GFXb6/JFH8rxtO9bVZHZ5rXJC/CcTw7o/pt6Hj7Mkf2W9gmfb3faltYMwrQfknfZ89pC2yTkf9Mng==","mode":420,"size":6029},"LICENSE":{"checkedAt":1678887829559,"integrity":"sha512-R7YS706T8a9iiR4pXp+6wF4Czxcm9Ww2+tUxQ3bijLyvfINVUnvAvaVMJsvgl7yMpctPeaqeOrbx2HXcpB1KrA==","mode":420,"size":1107},"src/node.js":{"checkedAt":1678887829574,"integrity":"sha512-MBe0cXEY9W+sEG3KoEauzzzGPDfmT0mDjlN5oTWDwpPznsWs5I+y2r6savSpZ/liGYEnM+rW82w/XI0TLXlZAA==","mode":420,"size":4685},"package.json":{"checkedAt":1678887829563,"integrity":"sha512-/dttfflhTNcDFJIuoW47EQ5E6V2gQ8FhHaPMTtYr/qMUrHfNW93c6y0zG+P/7wBpNpyd45+HfkCtwInNo+WLDQ==","mode":420,"size":1376},"README.md":{"checkedAt":1678887829574,"integrity":"sha512-Pij4tMAGd9JmOHEKA7r+Hgijyw7Xq2hpx1+8jxqbDMSX61U2MvamA2B6l1gV9muILnuEouFGwyzOs0AiyZDE7g==","mode":420,"size":21551}}}
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"mapTo.js","sources":["../src/operator/mapTo.ts"],"names":[],"mappings":";;;;;AAAA,gDAA2C"}
|
||||
@@ -0,0 +1,58 @@
|
||||
/**
|
||||
Convert a union type to an intersection type using [distributive conditional types](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-8.html#distributive-conditional-types).
|
||||
|
||||
Inspired by [this Stack Overflow answer](https://stackoverflow.com/a/50375286/2172153).
|
||||
|
||||
@example
|
||||
```
|
||||
import {UnionToIntersection} from 'type-fest';
|
||||
|
||||
type Union = {the(): void} | {great(arg: string): void} | {escape: boolean};
|
||||
|
||||
type Intersection = UnionToIntersection<Union>;
|
||||
//=> {the(): void; great(arg: string): void; escape: boolean};
|
||||
```
|
||||
|
||||
A more applicable example which could make its way into your library code follows.
|
||||
|
||||
@example
|
||||
```
|
||||
import {UnionToIntersection} from 'type-fest';
|
||||
|
||||
class CommandOne {
|
||||
commands: {
|
||||
a1: () => undefined,
|
||||
b1: () => undefined,
|
||||
}
|
||||
}
|
||||
|
||||
class CommandTwo {
|
||||
commands: {
|
||||
a2: (argA: string) => undefined,
|
||||
b2: (argB: string) => undefined,
|
||||
}
|
||||
}
|
||||
|
||||
const union = [new CommandOne(), new CommandTwo()].map(instance => instance.commands);
|
||||
type Union = typeof union;
|
||||
//=> {a1(): void; b1(): void} | {a2(argA: string): void; b2(argB: string): void}
|
||||
|
||||
type Intersection = UnionToIntersection<Union>;
|
||||
//=> {a1(): void; b1(): void; a2(argA: string): void; b2(argB: string): void}
|
||||
```
|
||||
*/
|
||||
export type UnionToIntersection<Union> = (
|
||||
// `extends unknown` is always going to be the case and is used to convert the
|
||||
// `Union` into a [distributive conditional
|
||||
// type](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-8.html#distributive-conditional-types).
|
||||
Union extends unknown
|
||||
// The union type is used as the only argument to a function since the union
|
||||
// of function arguments is an intersection.
|
||||
? (distributedUnion: Union) => void
|
||||
// This won't happen.
|
||||
: never
|
||||
// Infer the `Intersection` type since TypeScript represents the positional
|
||||
// arguments of unions of functions as an intersection of the union.
|
||||
) extends ((mergedIntersection: infer Intersection) => void)
|
||||
? Intersection
|
||||
: never;
|
||||
@@ -0,0 +1,4 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
require("rxjs-compat/add/operator/subscribeOn");
|
||||
//# sourceMappingURL=subscribeOn.js.map
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"2":"J E F G A B BC"},B:{"1":"Y Z a b c d f g h i j k l m n o p q r s D t","2":"C K L H M N O","1028":"W X","1540":"P Q R S T U V"},C:{"1":"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","2":"CC","164":"0 1 2 3 4 5 6 7 8 9 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 DC EC","1540":"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"},D:{"1":"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","292":"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","1028":"W X","1540":"hB iB jB kB e lB mB nB oB pB P Q R S T U V"},E:{"1":"H MC 2B 3B 4B 5B sB 6B 7B 8B NC","292":"I u J E F G A B C GC zB HC IC JC KC 0B qB","1540":"K L rB 1B","5124":"LC"},F:{"1":"nB oB pB P Q R wB S T U V W X Y Z a b c d","2":"G B C OC PC QC RC qB 9B SC rB","292":"0 1 2 3 4 5 6 7 8 9 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","1028":"lB mB","1540":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB e"},G:{"1":"mC 2B 3B 4B 5B sB 6B 7B 8B","292":"F zB TC AC UC VC WC XC YC ZC aC bC cC dC eC","1540":"fC gC hC iC jC kC","5124":"lC"},H:{"2":"nC"},I:{"1":"D","292":"tB I oC pC qC rC AC sC tC"},J:{"292":"E A"},K:{"1":"e","2":"A B C qB 9B rB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"292":"uC"},P:{"1":"4C sB 5C 6C 7C","292":"I vC wC xC yC zC","1540":"0B 0C 1C 2C 3C"},Q:{"1540":"1B"},R:{"1":"8C"},S:{"1540":"9C"}},B:5,C:"CSS Logical Properties"};
|
||||
@@ -0,0 +1,27 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = contains;
|
||||
|
||||
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
||||
|
||||
var _toString = _interopRequireDefault(require("./util/toString"));
|
||||
|
||||
var _merge = _interopRequireDefault(require("./util/merge"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var defaulContainsOptions = {
|
||||
ignoreCase: false
|
||||
};
|
||||
|
||||
function contains(str, elem, options) {
|
||||
(0, _assertString.default)(str);
|
||||
options = (0, _merge.default)(options, defaulContainsOptions);
|
||||
return options.ignoreCase ? str.toLowerCase().indexOf((0, _toString.default)(elem).toLowerCase()) >= 0 : str.indexOf((0, _toString.default)(elem)) >= 0;
|
||||
}
|
||||
|
||||
module.exports = exports.default;
|
||||
module.exports.default = exports.default;
|
||||
@@ -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/operator/exhaustMap"));
|
||||
//# sourceMappingURL=exhaustMap.js.map
|
||||
@@ -0,0 +1 @@
|
||||
export * from 'rxjs-compat/operators/every';
|
||||
Reference in New Issue
Block a user