new license file version [CI SKIP]
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
import type { PreprocessorGroup, Options } from '../types';
|
||||
declare const _default: (options?: Options.Babel) => PreprocessorGroup;
|
||||
export default _default;
|
||||
@@ -0,0 +1 @@
|
||||
export * from '../types/runtime/animate/index';
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"2":"J D E F A B CC"},B:{"1":"P Q R S T U V W X Y Z a b c d e i j k l m n o p q r s t u f H","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 DC tB I v J D E F A B C K L G M N O w g 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 h lB mB nB oB pB P Q R wB S T U V W X Y Z a b c d e i j k l m n o p q r s t u f H xB yB EC FC"},D:{"1":"fB gB hB iB jB kB h lB mB nB oB pB P Q R S T U V W X Y Z a b c d e i j k l m n o p q r s t u f H xB yB GC","2":"0 1 2 3 4 5 6 7 8 9 I v J D E F A B C K L G M N O w g 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","194":"YB uB ZB vB aB bB cB dB eB"},E:{"2":"I v J D E F A B C K L G HC zB IC JC KC LC 0B qB rB 1B MC NC 2B 3B 4B 5B sB 6B 7B 8B 9B OC"},F:{"1":"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB h lB mB nB oB pB P Q R wB S T U V W X Y Z a b c d e","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O w g x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB PC QC RC SC qB AC TC rB"},G:{"2":"E zB UC BC VC WC XC YC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC 2B 3B 4B 5B sB 6B 7B 8B 9B"},H:{"2":"oC"},I:{"2":"tB I f pC qC rC sC BC tC uC"},J:{"2":"D A"},K:{"2":"A B C h qB AC rB"},L:{"194":"H"},M:{"2":"H"},N:{"2":"A B"},O:{"2":"vC"},P:{"2":"I g wC xC yC zC 0C 0B 1C 2C 3C 4C 5C sB 6C 7C 8C"},Q:{"2":"1B"},R:{"2":"9C"},S:{"2":"AD BD"}},B:4,C:"Magnetometer"};
|
||||
@@ -0,0 +1,31 @@
|
||||
import { Immediate } from '../util/Immediate';
|
||||
import type { TimerHandle } from './timerHandle';
|
||||
const { setImmediate, clearImmediate } = Immediate;
|
||||
|
||||
type SetImmediateFunction = (handler: () => void, ...args: any[]) => TimerHandle;
|
||||
type ClearImmediateFunction = (handle: TimerHandle) => void;
|
||||
|
||||
interface ImmediateProvider {
|
||||
setImmediate: SetImmediateFunction;
|
||||
clearImmediate: ClearImmediateFunction;
|
||||
delegate:
|
||||
| {
|
||||
setImmediate: SetImmediateFunction;
|
||||
clearImmediate: ClearImmediateFunction;
|
||||
}
|
||||
| undefined;
|
||||
}
|
||||
|
||||
export const immediateProvider: ImmediateProvider = {
|
||||
// When accessing the delegate, use the variable rather than `this` so that
|
||||
// the functions can be called without being bound to the provider.
|
||||
setImmediate(...args) {
|
||||
const { delegate } = immediateProvider;
|
||||
return (delegate?.setImmediate || setImmediate)(...args);
|
||||
},
|
||||
clearImmediate(handle) {
|
||||
const { delegate } = immediateProvider;
|
||||
return (delegate?.clearImmediate || clearImmediate)(handle as any);
|
||||
},
|
||||
delegate: undefined,
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"onErrorResumeNext.js","sourceRoot":"","sources":["../../../../src/internal/observable/onErrorResumeNext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAsExC,MAAM,UAAU,iBAAiB;IAC/B,iBAAyE;SAAzE,UAAyE,EAAzE,qBAAyE,EAAzE,IAAyE;QAAzE,4BAAyE;;IAEzE,IAAM,WAAW,GAA4B,cAAc,CAAC,OAAO,CAAQ,CAAC;IAE5E,OAAO,IAAI,UAAU,CAAC,UAAC,UAAU;QAC/B,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAM,aAAa,GAAG;YACpB,IAAI,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE;gBACpC,IAAI,UAAU,SAAuB,CAAC;gBACtC,IAAI;oBACF,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;iBACpD;gBAAC,OAAO,GAAG,EAAE;oBACZ,aAAa,EAAE,CAAC;oBAChB,OAAO;iBACR;gBACD,IAAM,eAAe,GAAG,IAAI,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAClF,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;gBACtC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;aACpC;iBAAM;gBACL,UAAU,CAAC,QAAQ,EAAE,CAAC;aACvB;QACH,CAAC,CAAC;QACF,aAAa,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
||||
@@ -0,0 +1,166 @@
|
||||
var Stack = require('./_Stack'),
|
||||
arrayEach = require('./_arrayEach'),
|
||||
assignValue = require('./_assignValue'),
|
||||
baseAssign = require('./_baseAssign'),
|
||||
baseAssignIn = require('./_baseAssignIn'),
|
||||
cloneBuffer = require('./_cloneBuffer'),
|
||||
copyArray = require('./_copyArray'),
|
||||
copySymbols = require('./_copySymbols'),
|
||||
copySymbolsIn = require('./_copySymbolsIn'),
|
||||
getAllKeys = require('./_getAllKeys'),
|
||||
getAllKeysIn = require('./_getAllKeysIn'),
|
||||
getTag = require('./_getTag'),
|
||||
initCloneArray = require('./_initCloneArray'),
|
||||
initCloneByTag = require('./_initCloneByTag'),
|
||||
initCloneObject = require('./_initCloneObject'),
|
||||
isArray = require('./isArray'),
|
||||
isBuffer = require('./isBuffer'),
|
||||
isMap = require('./isMap'),
|
||||
isObject = require('./isObject'),
|
||||
isSet = require('./isSet'),
|
||||
keys = require('./keys'),
|
||||
keysIn = require('./keysIn');
|
||||
|
||||
/** Used to compose bitmasks for cloning. */
|
||||
var CLONE_DEEP_FLAG = 1,
|
||||
CLONE_FLAT_FLAG = 2,
|
||||
CLONE_SYMBOLS_FLAG = 4;
|
||||
|
||||
/** `Object#toString` result references. */
|
||||
var argsTag = '[object Arguments]',
|
||||
arrayTag = '[object Array]',
|
||||
boolTag = '[object Boolean]',
|
||||
dateTag = '[object Date]',
|
||||
errorTag = '[object Error]',
|
||||
funcTag = '[object Function]',
|
||||
genTag = '[object GeneratorFunction]',
|
||||
mapTag = '[object Map]',
|
||||
numberTag = '[object Number]',
|
||||
objectTag = '[object Object]',
|
||||
regexpTag = '[object RegExp]',
|
||||
setTag = '[object Set]',
|
||||
stringTag = '[object String]',
|
||||
symbolTag = '[object Symbol]',
|
||||
weakMapTag = '[object WeakMap]';
|
||||
|
||||
var arrayBufferTag = '[object ArrayBuffer]',
|
||||
dataViewTag = '[object DataView]',
|
||||
float32Tag = '[object Float32Array]',
|
||||
float64Tag = '[object Float64Array]',
|
||||
int8Tag = '[object Int8Array]',
|
||||
int16Tag = '[object Int16Array]',
|
||||
int32Tag = '[object Int32Array]',
|
||||
uint8Tag = '[object Uint8Array]',
|
||||
uint8ClampedTag = '[object Uint8ClampedArray]',
|
||||
uint16Tag = '[object Uint16Array]',
|
||||
uint32Tag = '[object Uint32Array]';
|
||||
|
||||
/** Used to identify `toStringTag` values supported by `_.clone`. */
|
||||
var cloneableTags = {};
|
||||
cloneableTags[argsTag] = cloneableTags[arrayTag] =
|
||||
cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =
|
||||
cloneableTags[boolTag] = cloneableTags[dateTag] =
|
||||
cloneableTags[float32Tag] = cloneableTags[float64Tag] =
|
||||
cloneableTags[int8Tag] = cloneableTags[int16Tag] =
|
||||
cloneableTags[int32Tag] = cloneableTags[mapTag] =
|
||||
cloneableTags[numberTag] = cloneableTags[objectTag] =
|
||||
cloneableTags[regexpTag] = cloneableTags[setTag] =
|
||||
cloneableTags[stringTag] = cloneableTags[symbolTag] =
|
||||
cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =
|
||||
cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
|
||||
cloneableTags[errorTag] = cloneableTags[funcTag] =
|
||||
cloneableTags[weakMapTag] = false;
|
||||
|
||||
/**
|
||||
* The base implementation of `_.clone` and `_.cloneDeep` which tracks
|
||||
* traversed objects.
|
||||
*
|
||||
* @private
|
||||
* @param {*} value The value to clone.
|
||||
* @param {boolean} bitmask The bitmask flags.
|
||||
* 1 - Deep clone
|
||||
* 2 - Flatten inherited properties
|
||||
* 4 - Clone symbols
|
||||
* @param {Function} [customizer] The function to customize cloning.
|
||||
* @param {string} [key] The key of `value`.
|
||||
* @param {Object} [object] The parent object of `value`.
|
||||
* @param {Object} [stack] Tracks traversed objects and their clone counterparts.
|
||||
* @returns {*} Returns the cloned value.
|
||||
*/
|
||||
function baseClone(value, bitmask, customizer, key, object, stack) {
|
||||
var result,
|
||||
isDeep = bitmask & CLONE_DEEP_FLAG,
|
||||
isFlat = bitmask & CLONE_FLAT_FLAG,
|
||||
isFull = bitmask & CLONE_SYMBOLS_FLAG;
|
||||
|
||||
if (customizer) {
|
||||
result = object ? customizer(value, key, object, stack) : customizer(value);
|
||||
}
|
||||
if (result !== undefined) {
|
||||
return result;
|
||||
}
|
||||
if (!isObject(value)) {
|
||||
return value;
|
||||
}
|
||||
var isArr = isArray(value);
|
||||
if (isArr) {
|
||||
result = initCloneArray(value);
|
||||
if (!isDeep) {
|
||||
return copyArray(value, result);
|
||||
}
|
||||
} else {
|
||||
var tag = getTag(value),
|
||||
isFunc = tag == funcTag || tag == genTag;
|
||||
|
||||
if (isBuffer(value)) {
|
||||
return cloneBuffer(value, isDeep);
|
||||
}
|
||||
if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
|
||||
result = (isFlat || isFunc) ? {} : initCloneObject(value);
|
||||
if (!isDeep) {
|
||||
return isFlat
|
||||
? copySymbolsIn(value, baseAssignIn(result, value))
|
||||
: copySymbols(value, baseAssign(result, value));
|
||||
}
|
||||
} else {
|
||||
if (!cloneableTags[tag]) {
|
||||
return object ? value : {};
|
||||
}
|
||||
result = initCloneByTag(value, tag, isDeep);
|
||||
}
|
||||
}
|
||||
// Check for circular references and return its corresponding clone.
|
||||
stack || (stack = new Stack);
|
||||
var stacked = stack.get(value);
|
||||
if (stacked) {
|
||||
return stacked;
|
||||
}
|
||||
stack.set(value, result);
|
||||
|
||||
if (isSet(value)) {
|
||||
value.forEach(function(subValue) {
|
||||
result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
|
||||
});
|
||||
} else if (isMap(value)) {
|
||||
value.forEach(function(subValue, key) {
|
||||
result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));
|
||||
});
|
||||
}
|
||||
|
||||
var keysFunc = isFull
|
||||
? (isFlat ? getAllKeysIn : getAllKeys)
|
||||
: (isFlat ? keysIn : keys);
|
||||
|
||||
var props = isArr ? undefined : keysFunc(value);
|
||||
arrayEach(props || value, function(subValue, key) {
|
||||
if (props) {
|
||||
key = subValue;
|
||||
subValue = value[key];
|
||||
}
|
||||
// Recursively populate clone (susceptible to call stack limits).
|
||||
assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
module.exports = baseClone;
|
||||
@@ -0,0 +1,20 @@
|
||||
var baseSetData = require('./_baseSetData'),
|
||||
shortOut = require('./_shortOut');
|
||||
|
||||
/**
|
||||
* Sets metadata for `func`.
|
||||
*
|
||||
* **Note:** If this function becomes hot, i.e. is invoked a lot in a short
|
||||
* period of time, it will trip its breaker and transition to an identity
|
||||
* function to avoid garbage collection pauses in V8. See
|
||||
* [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)
|
||||
* for more details.
|
||||
*
|
||||
* @private
|
||||
* @param {Function} func The function to associate metadata with.
|
||||
* @param {*} data The metadata.
|
||||
* @returns {Function} Returns `func`.
|
||||
*/
|
||||
var setData = shortOut(baseSetData);
|
||||
|
||||
module.exports = setData;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,245 @@
|
||||
/* eslint-disable no-bitwise */
|
||||
import createBlob from './createBlob';
|
||||
|
||||
// Sadly, the best way to save binary data in WebSQL/localStorage is serializing
|
||||
// it to Base64, so this is how we store it to prevent very strange errors with less
|
||||
// verbose ways of binary <-> string data storage.
|
||||
var BASE_CHARS =
|
||||
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
||||
|
||||
var BLOB_TYPE_PREFIX = '~~local_forage_type~';
|
||||
var BLOB_TYPE_PREFIX_REGEX = /^~~local_forage_type~([^~]+)~/;
|
||||
|
||||
var SERIALIZED_MARKER = '__lfsc__:';
|
||||
var SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER.length;
|
||||
|
||||
// OMG the serializations!
|
||||
var TYPE_ARRAYBUFFER = 'arbf';
|
||||
var TYPE_BLOB = 'blob';
|
||||
var TYPE_INT8ARRAY = 'si08';
|
||||
var TYPE_UINT8ARRAY = 'ui08';
|
||||
var TYPE_UINT8CLAMPEDARRAY = 'uic8';
|
||||
var TYPE_INT16ARRAY = 'si16';
|
||||
var TYPE_INT32ARRAY = 'si32';
|
||||
var TYPE_UINT16ARRAY = 'ur16';
|
||||
var TYPE_UINT32ARRAY = 'ui32';
|
||||
var TYPE_FLOAT32ARRAY = 'fl32';
|
||||
var TYPE_FLOAT64ARRAY = 'fl64';
|
||||
var TYPE_SERIALIZED_MARKER_LENGTH =
|
||||
SERIALIZED_MARKER_LENGTH + TYPE_ARRAYBUFFER.length;
|
||||
|
||||
var toString = Object.prototype.toString;
|
||||
|
||||
function stringToBuffer(serializedString) {
|
||||
// Fill the string into a ArrayBuffer.
|
||||
var bufferLength = serializedString.length * 0.75;
|
||||
var len = serializedString.length;
|
||||
var i;
|
||||
var p = 0;
|
||||
var encoded1, encoded2, encoded3, encoded4;
|
||||
|
||||
if (serializedString[serializedString.length - 1] === '=') {
|
||||
bufferLength--;
|
||||
if (serializedString[serializedString.length - 2] === '=') {
|
||||
bufferLength--;
|
||||
}
|
||||
}
|
||||
|
||||
var buffer = new ArrayBuffer(bufferLength);
|
||||
var bytes = new Uint8Array(buffer);
|
||||
|
||||
for (i = 0; i < len; i += 4) {
|
||||
encoded1 = BASE_CHARS.indexOf(serializedString[i]);
|
||||
encoded2 = BASE_CHARS.indexOf(serializedString[i + 1]);
|
||||
encoded3 = BASE_CHARS.indexOf(serializedString[i + 2]);
|
||||
encoded4 = BASE_CHARS.indexOf(serializedString[i + 3]);
|
||||
|
||||
/*jslint bitwise: true */
|
||||
bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);
|
||||
bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);
|
||||
bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);
|
||||
}
|
||||
return buffer;
|
||||
}
|
||||
|
||||
// Converts a buffer to a string to store, serialized, in the backend
|
||||
// storage library.
|
||||
function bufferToString(buffer) {
|
||||
// base64-arraybuffer
|
||||
var bytes = new Uint8Array(buffer);
|
||||
var base64String = '';
|
||||
var i;
|
||||
|
||||
for (i = 0; i < bytes.length; i += 3) {
|
||||
/*jslint bitwise: true */
|
||||
base64String += BASE_CHARS[bytes[i] >> 2];
|
||||
base64String += BASE_CHARS[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];
|
||||
base64String +=
|
||||
BASE_CHARS[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];
|
||||
base64String += BASE_CHARS[bytes[i + 2] & 63];
|
||||
}
|
||||
|
||||
if (bytes.length % 3 === 2) {
|
||||
base64String = base64String.substring(0, base64String.length - 1) + '=';
|
||||
} else if (bytes.length % 3 === 1) {
|
||||
base64String =
|
||||
base64String.substring(0, base64String.length - 2) + '==';
|
||||
}
|
||||
|
||||
return base64String;
|
||||
}
|
||||
|
||||
// Serialize a value, afterwards executing a callback (which usually
|
||||
// instructs the `setItem()` callback/promise to be executed). This is how
|
||||
// we store binary data with localStorage.
|
||||
function serialize(value, callback) {
|
||||
var valueType = '';
|
||||
if (value) {
|
||||
valueType = toString.call(value);
|
||||
}
|
||||
|
||||
// Cannot use `value instanceof ArrayBuffer` or such here, as these
|
||||
// checks fail when running the tests using casper.js...
|
||||
//
|
||||
// TODO: See why those tests fail and use a better solution.
|
||||
if (
|
||||
value &&
|
||||
(valueType === '[object ArrayBuffer]' ||
|
||||
(value.buffer &&
|
||||
toString.call(value.buffer) === '[object ArrayBuffer]'))
|
||||
) {
|
||||
// Convert binary arrays to a string and prefix the string with
|
||||
// a special marker.
|
||||
var buffer;
|
||||
var marker = SERIALIZED_MARKER;
|
||||
|
||||
if (value instanceof ArrayBuffer) {
|
||||
buffer = value;
|
||||
marker += TYPE_ARRAYBUFFER;
|
||||
} else {
|
||||
buffer = value.buffer;
|
||||
|
||||
if (valueType === '[object Int8Array]') {
|
||||
marker += TYPE_INT8ARRAY;
|
||||
} else if (valueType === '[object Uint8Array]') {
|
||||
marker += TYPE_UINT8ARRAY;
|
||||
} else if (valueType === '[object Uint8ClampedArray]') {
|
||||
marker += TYPE_UINT8CLAMPEDARRAY;
|
||||
} else if (valueType === '[object Int16Array]') {
|
||||
marker += TYPE_INT16ARRAY;
|
||||
} else if (valueType === '[object Uint16Array]') {
|
||||
marker += TYPE_UINT16ARRAY;
|
||||
} else if (valueType === '[object Int32Array]') {
|
||||
marker += TYPE_INT32ARRAY;
|
||||
} else if (valueType === '[object Uint32Array]') {
|
||||
marker += TYPE_UINT32ARRAY;
|
||||
} else if (valueType === '[object Float32Array]') {
|
||||
marker += TYPE_FLOAT32ARRAY;
|
||||
} else if (valueType === '[object Float64Array]') {
|
||||
marker += TYPE_FLOAT64ARRAY;
|
||||
} else {
|
||||
callback(new Error('Failed to get type for BinaryArray'));
|
||||
}
|
||||
}
|
||||
|
||||
callback(marker + bufferToString(buffer));
|
||||
} else if (valueType === '[object Blob]') {
|
||||
// Conver the blob to a binaryArray and then to a string.
|
||||
var fileReader = new FileReader();
|
||||
|
||||
fileReader.onload = function() {
|
||||
// Backwards-compatible prefix for the blob type.
|
||||
var str =
|
||||
BLOB_TYPE_PREFIX +
|
||||
value.type +
|
||||
'~' +
|
||||
bufferToString(this.result);
|
||||
|
||||
callback(SERIALIZED_MARKER + TYPE_BLOB + str);
|
||||
};
|
||||
|
||||
fileReader.readAsArrayBuffer(value);
|
||||
} else {
|
||||
try {
|
||||
callback(JSON.stringify(value));
|
||||
} catch (e) {
|
||||
console.error("Couldn't convert value into a JSON string: ", value);
|
||||
|
||||
callback(null, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Deserialize data we've inserted into a value column/field. We place
|
||||
// special markers into our strings to mark them as encoded; this isn't
|
||||
// as nice as a meta field, but it's the only sane thing we can do whilst
|
||||
// keeping localStorage support intact.
|
||||
//
|
||||
// Oftentimes this will just deserialize JSON content, but if we have a
|
||||
// special marker (SERIALIZED_MARKER, defined above), we will extract
|
||||
// some kind of arraybuffer/binary data/typed array out of the string.
|
||||
function deserialize(value) {
|
||||
// If we haven't marked this string as being specially serialized (i.e.
|
||||
// something other than serialized JSON), we can just return it and be
|
||||
// done with it.
|
||||
if (value.substring(0, SERIALIZED_MARKER_LENGTH) !== SERIALIZED_MARKER) {
|
||||
return JSON.parse(value);
|
||||
}
|
||||
|
||||
// The following code deals with deserializing some kind of Blob or
|
||||
// TypedArray. First we separate out the type of data we're dealing
|
||||
// with from the data itself.
|
||||
var serializedString = value.substring(TYPE_SERIALIZED_MARKER_LENGTH);
|
||||
var type = value.substring(
|
||||
SERIALIZED_MARKER_LENGTH,
|
||||
TYPE_SERIALIZED_MARKER_LENGTH
|
||||
);
|
||||
|
||||
var blobType;
|
||||
// Backwards-compatible blob type serialization strategy.
|
||||
// DBs created with older versions of localForage will simply not have the blob type.
|
||||
if (type === TYPE_BLOB && BLOB_TYPE_PREFIX_REGEX.test(serializedString)) {
|
||||
var matcher = serializedString.match(BLOB_TYPE_PREFIX_REGEX);
|
||||
blobType = matcher[1];
|
||||
serializedString = serializedString.substring(matcher[0].length);
|
||||
}
|
||||
var buffer = stringToBuffer(serializedString);
|
||||
|
||||
// Return the right type based on the code/type set during
|
||||
// serialization.
|
||||
switch (type) {
|
||||
case TYPE_ARRAYBUFFER:
|
||||
return buffer;
|
||||
case TYPE_BLOB:
|
||||
return createBlob([buffer], { type: blobType });
|
||||
case TYPE_INT8ARRAY:
|
||||
return new Int8Array(buffer);
|
||||
case TYPE_UINT8ARRAY:
|
||||
return new Uint8Array(buffer);
|
||||
case TYPE_UINT8CLAMPEDARRAY:
|
||||
return new Uint8ClampedArray(buffer);
|
||||
case TYPE_INT16ARRAY:
|
||||
return new Int16Array(buffer);
|
||||
case TYPE_UINT16ARRAY:
|
||||
return new Uint16Array(buffer);
|
||||
case TYPE_INT32ARRAY:
|
||||
return new Int32Array(buffer);
|
||||
case TYPE_UINT32ARRAY:
|
||||
return new Uint32Array(buffer);
|
||||
case TYPE_FLOAT32ARRAY:
|
||||
return new Float32Array(buffer);
|
||||
case TYPE_FLOAT64ARRAY:
|
||||
return new Float64Array(buffer);
|
||||
default:
|
||||
throw new Error('Unkown type: ' + type);
|
||||
}
|
||||
}
|
||||
|
||||
var localforageSerializer = {
|
||||
serialize: serialize,
|
||||
deserialize: deserialize,
|
||||
stringToBuffer: stringToBuffer,
|
||||
bufferToString: bufferToString
|
||||
};
|
||||
|
||||
export default localforageSerializer;
|
||||
@@ -0,0 +1,31 @@
|
||||
var baseSortedIndex = require('./_baseSortedIndex'),
|
||||
eq = require('./eq');
|
||||
|
||||
/**
|
||||
* This method is like `_.lastIndexOf` except that it performs a binary
|
||||
* search on a sorted `array`.
|
||||
*
|
||||
* @static
|
||||
* @memberOf _
|
||||
* @since 4.0.0
|
||||
* @category Array
|
||||
* @param {Array} array The array to inspect.
|
||||
* @param {*} value The value to search for.
|
||||
* @returns {number} Returns the index of the matched value, else `-1`.
|
||||
* @example
|
||||
*
|
||||
* _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);
|
||||
* // => 3
|
||||
*/
|
||||
function sortedLastIndexOf(array, value) {
|
||||
var length = array == null ? 0 : array.length;
|
||||
if (length) {
|
||||
var index = baseSortedIndex(array, value, true) - 1;
|
||||
if (eq(array[index], value)) {
|
||||
return index;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
module.exports = sortedLastIndexOf;
|
||||
@@ -0,0 +1,40 @@
|
||||
'use strict';
|
||||
|
||||
var test = require('tape');
|
||||
var hasToStringTag = require('has-tostringtag/shams')();
|
||||
|
||||
var inspect = require('../');
|
||||
|
||||
test('Symbol.toStringTag', { skip: !hasToStringTag }, function (t) {
|
||||
t.plan(4);
|
||||
|
||||
var obj = { a: 1 };
|
||||
t.equal(inspect(obj), '{ a: 1 }', 'object, no Symbol.toStringTag');
|
||||
|
||||
obj[Symbol.toStringTag] = 'foo';
|
||||
t.equal(inspect(obj), '{ a: 1, [Symbol(Symbol.toStringTag)]: \'foo\' }', 'object with Symbol.toStringTag');
|
||||
|
||||
t.test('null objects', { skip: 'toString' in { __proto__: null } }, function (st) {
|
||||
st.plan(2);
|
||||
|
||||
var dict = { __proto__: null, a: 1 };
|
||||
st.equal(inspect(dict), '[Object: null prototype] { a: 1 }', 'null object with Symbol.toStringTag');
|
||||
|
||||
dict[Symbol.toStringTag] = 'Dict';
|
||||
st.equal(inspect(dict), '[Dict: null prototype] { a: 1, [Symbol(Symbol.toStringTag)]: \'Dict\' }', 'null object with Symbol.toStringTag');
|
||||
});
|
||||
|
||||
t.test('instances', function (st) {
|
||||
st.plan(4);
|
||||
|
||||
function C() {
|
||||
this.a = 1;
|
||||
}
|
||||
st.equal(Object.prototype.toString.call(new C()), '[object Object]', 'instance, no toStringTag, Object.prototype.toString');
|
||||
st.equal(inspect(new C()), 'C { a: 1 }', 'instance, no toStringTag');
|
||||
|
||||
C.prototype[Symbol.toStringTag] = 'Class!';
|
||||
st.equal(Object.prototype.toString.call(new C()), '[object Class!]', 'instance, with toStringTag, Object.prototype.toString');
|
||||
st.equal(inspect(new C()), 'C [Class!] { a: 1 }', 'instance, with toStringTag');
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,155 @@
|
||||
import { Observable } from '../Observable';
|
||||
import { isFunction } from '../util/isFunction';
|
||||
import { NodeEventHandler } from './fromEvent';
|
||||
import { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';
|
||||
|
||||
/* tslint:disable:max-line-length */
|
||||
export function fromEventPattern<T>(
|
||||
addHandler: (handler: NodeEventHandler) => any,
|
||||
removeHandler?: (handler: NodeEventHandler, signal?: any) => void
|
||||
): Observable<T>;
|
||||
export function fromEventPattern<T>(
|
||||
addHandler: (handler: NodeEventHandler) => any,
|
||||
removeHandler?: (handler: NodeEventHandler, signal?: any) => void,
|
||||
resultSelector?: (...args: any[]) => T
|
||||
): Observable<T>;
|
||||
/* tslint:enable:max-line-length */
|
||||
|
||||
/**
|
||||
* Creates an Observable from an arbitrary API for registering event handlers.
|
||||
*
|
||||
* <span class="informal">When that method for adding event handler was something {@link fromEvent}
|
||||
* was not prepared for.</span>
|
||||
*
|
||||
* 
|
||||
*
|
||||
* `fromEventPattern` allows you to convert into an Observable any API that supports registering handler functions
|
||||
* for events. It is similar to {@link fromEvent}, but far
|
||||
* more flexible. In fact, all use cases of {@link fromEvent} could be easily handled by
|
||||
* `fromEventPattern` (although in slightly more verbose way).
|
||||
*
|
||||
* This operator accepts as a first argument an `addHandler` function, which will be injected with
|
||||
* handler parameter. That handler is actually an event handler function that you now can pass
|
||||
* to API expecting it. `addHandler` will be called whenever Observable
|
||||
* returned by the operator is subscribed, so registering handler in API will not
|
||||
* necessarily happen when `fromEventPattern` is called.
|
||||
*
|
||||
* After registration, every time an event that we listen to happens,
|
||||
* Observable returned by `fromEventPattern` will emit value that event handler
|
||||
* function was called with. Note that if event handler was called with more
|
||||
* than one argument, second and following arguments will not appear in the Observable.
|
||||
*
|
||||
* If API you are using allows to unregister event handlers as well, you can pass to `fromEventPattern`
|
||||
* another function - `removeHandler` - as a second parameter. It will be injected
|
||||
* with the same handler function as before, which now you can use to unregister
|
||||
* it from the API. `removeHandler` will be called when consumer of resulting Observable
|
||||
* unsubscribes from it.
|
||||
*
|
||||
* In some APIs unregistering is actually handled differently. Method registering an event handler
|
||||
* returns some kind of token, which is later used to identify which function should
|
||||
* be unregistered or it itself has method that unregisters event handler.
|
||||
* If that is the case with your API, make sure token returned
|
||||
* by registering method is returned by `addHandler`. Then it will be passed
|
||||
* as a second argument to `removeHandler`, where you will be able to use it.
|
||||
*
|
||||
* If you need access to all event handler parameters (not only the first one),
|
||||
* or you need to transform them in any way, you can call `fromEventPattern` with optional
|
||||
* third parameter - project function which will accept all arguments passed to
|
||||
* event handler when it is called. Whatever is returned from project function will appear on
|
||||
* resulting stream instead of usual event handlers first argument. This means
|
||||
* that default project can be thought of as function that takes its first parameter
|
||||
* and ignores the rest.
|
||||
*
|
||||
* ## Examples
|
||||
*
|
||||
* Emits clicks happening on the DOM document
|
||||
*
|
||||
* ```ts
|
||||
* import { fromEventPattern } from 'rxjs';
|
||||
*
|
||||
* function addClickHandler(handler) {
|
||||
* document.addEventListener('click', handler);
|
||||
* }
|
||||
*
|
||||
* function removeClickHandler(handler) {
|
||||
* document.removeEventListener('click', handler);
|
||||
* }
|
||||
*
|
||||
* const clicks = fromEventPattern(
|
||||
* addClickHandler,
|
||||
* removeClickHandler
|
||||
* );
|
||||
* clicks.subscribe(x => console.log(x));
|
||||
*
|
||||
* // Whenever you click anywhere in the browser, DOM MouseEvent
|
||||
* // object will be logged.
|
||||
* ```
|
||||
*
|
||||
* Use with API that returns cancellation token
|
||||
*
|
||||
* ```ts
|
||||
* import { fromEventPattern } from 'rxjs';
|
||||
*
|
||||
* const token = someAPI.registerEventHandler(function() {});
|
||||
* someAPI.unregisterEventHandler(token); // this APIs cancellation method accepts
|
||||
* // not handler itself, but special token.
|
||||
*
|
||||
* const someAPIObservable = fromEventPattern(
|
||||
* function(handler) { return someAPI.registerEventHandler(handler); }, // Note that we return the token here...
|
||||
* function(handler, token) { someAPI.unregisterEventHandler(token); } // ...to then use it here.
|
||||
* );
|
||||
* ```
|
||||
*
|
||||
* Use with project function
|
||||
*
|
||||
* ```ts
|
||||
* import { fromEventPattern } from 'rxjs';
|
||||
*
|
||||
* someAPI.registerEventHandler((eventType, eventMessage) => {
|
||||
* console.log(eventType, eventMessage); // Logs 'EVENT_TYPE' 'EVENT_MESSAGE' to console.
|
||||
* });
|
||||
*
|
||||
* const someAPIObservable = fromEventPattern(
|
||||
* handler => someAPI.registerEventHandler(handler),
|
||||
* handler => someAPI.unregisterEventHandler(handler)
|
||||
* (eventType, eventMessage) => eventType + ' --- ' + eventMessage // without that function only 'EVENT_TYPE'
|
||||
* ); // would be emitted by the Observable
|
||||
*
|
||||
* someAPIObservable.subscribe(value => console.log(value));
|
||||
*
|
||||
* // Logs:
|
||||
* // 'EVENT_TYPE --- EVENT_MESSAGE'
|
||||
* ```
|
||||
*
|
||||
* @see {@link fromEvent}
|
||||
* @see {@link bindCallback}
|
||||
* @see {@link bindNodeCallback}
|
||||
*
|
||||
* @param {function(handler: Function): any} addHandler A function that takes
|
||||
* a `handler` function as argument and attaches it somehow to the actual
|
||||
* source of events.
|
||||
* @param {function(handler: Function, token?: any): void} [removeHandler] A function that
|
||||
* takes a `handler` function as an argument and removes it from the event source. If `addHandler`
|
||||
* returns some kind of token, `removeHandler` function will have it as a second parameter.
|
||||
* @param {function(...args: any): T} [project] A function to
|
||||
* transform results. It takes the arguments from the event handler and
|
||||
* should return a single value.
|
||||
* @return {Observable<T>} Observable which, when an event happens, emits first parameter
|
||||
* passed to registered event handler. Alternatively it emits whatever project function returns
|
||||
* at that moment.
|
||||
*/
|
||||
export function fromEventPattern<T>(
|
||||
addHandler: (handler: NodeEventHandler) => any,
|
||||
removeHandler?: (handler: NodeEventHandler, signal?: any) => void,
|
||||
resultSelector?: (...args: any[]) => T
|
||||
): Observable<T | T[]> {
|
||||
if (resultSelector) {
|
||||
return fromEventPattern<T>(addHandler, removeHandler).pipe(mapOneOrManyArgs(resultSelector));
|
||||
}
|
||||
|
||||
return new Observable<T | T[]>((subscriber) => {
|
||||
const handler = (...e: T[]) => subscriber.next(e.length === 1 ? e[0] : e);
|
||||
const retValue = addHandler(handler);
|
||||
return isFunction(removeHandler) ? () => removeHandler(handler, retValue) : undefined;
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
declare function paramCase (value: string, locale?: string): string;
|
||||
|
||||
export = paramCase;
|
||||
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 ECMAScript Shims
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -0,0 +1,14 @@
|
||||
import { SchedulerLike, ValueFromArray } from '../types';
|
||||
import { Observable } from '../Observable';
|
||||
export declare function of(value: null): Observable<null>;
|
||||
export declare function of(value: undefined): Observable<undefined>;
|
||||
/** @deprecated The `scheduler` parameter will be removed in v8. Use `scheduled`. Details: https://rxjs.dev/deprecations/scheduler-argument */
|
||||
export declare function of(scheduler: SchedulerLike): Observable<never>;
|
||||
/** @deprecated The `scheduler` parameter will be removed in v8. Use `scheduled`. Details: https://rxjs.dev/deprecations/scheduler-argument */
|
||||
export declare function of<A extends readonly unknown[]>(...valuesAndScheduler: [...A, SchedulerLike]): Observable<ValueFromArray<A>>;
|
||||
export declare function of(): Observable<never>;
|
||||
/** @deprecated Do not specify explicit type parameters. Signatures with type parameters that cannot be inferred will be removed in v8. */
|
||||
export declare function of<T>(): Observable<T>;
|
||||
export declare function of<T>(value: T): Observable<T>;
|
||||
export declare function of<A extends readonly unknown[]>(...values: A): Observable<ValueFromArray<A>>;
|
||||
//# sourceMappingURL=of.d.ts.map
|
||||
@@ -0,0 +1 @@
|
||||
{"name":"figures","version":"5.0.0","files":{"license":{"checkedAt":1678883669302,"integrity":"sha512-0fM2/ycrxrltyaBKfQ748Ck23VlPUUBgNAR47ldf4B1V/HoXTfWBSk+vcshGKwEpmOynu4mOP5o+hyBfuRNa8g==","mode":420,"size":1117},"index.js":{"checkedAt":1678883673371,"integrity":"sha512-M1lnVTsPQ1wnymTC6/eK169/e4j0Wt2RCQsMnxQ+v7wbXS+aeEKnDQs9MMtq009MI8F7UbGQ1EOBqZ7iHjgHbw==","mode":420,"size":8068},"package.json":{"checkedAt":1678883673371,"integrity":"sha512-0yZfA1usVoBcNOpDgs67lKqbukK9hOuBnPqKiRQS+LArTiRTtJb6AHQTOP4t5qjsJ6QoM8Vh2KluvXIW6qCT3A==","mode":420,"size":841},"readme.md":{"checkedAt":1678883673374,"integrity":"sha512-WjaX5y07X07AdolADEQp1h8zsb3gI+4KBXYAfrPkrjWxW6um30HEjzZcaRmqkHwXbuW+Zw1gzdlkAo777ifw+Q==","mode":420,"size":17905},"index.d.ts":{"checkedAt":1678883673376,"integrity":"sha512-ZuOHwzACgBAjShHbWivwapdAqA9BEnuo1Gp4aBNNm6+v4Xu6zPkJbGRXaI+TsHtUsHJRzXLRJThGKrrOfOm6sA==","mode":420,"size":9146}}}
|
||||
@@ -0,0 +1,75 @@
|
||||
var common = require('./common');
|
||||
var os = require('os');
|
||||
var fs = require('fs');
|
||||
|
||||
common.register('tempdir', _tempDir, {
|
||||
allowGlobbing: false,
|
||||
wrapOutput: false,
|
||||
});
|
||||
|
||||
// Returns false if 'dir' is not a writeable directory, 'dir' otherwise
|
||||
function writeableDir(dir) {
|
||||
if (!dir || !fs.existsSync(dir)) return false;
|
||||
|
||||
if (!common.statFollowLinks(dir).isDirectory()) return false;
|
||||
|
||||
var testFile = dir + '/' + common.randomFileName();
|
||||
try {
|
||||
fs.writeFileSync(testFile, ' ');
|
||||
common.unlinkSync(testFile);
|
||||
return dir;
|
||||
} catch (e) {
|
||||
/* istanbul ignore next */
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Variable to cache the tempdir value for successive lookups.
|
||||
var cachedTempDir;
|
||||
|
||||
//@
|
||||
//@ ### tempdir()
|
||||
//@
|
||||
//@ Examples:
|
||||
//@
|
||||
//@ ```javascript
|
||||
//@ var tmp = tempdir(); // "/tmp" for most *nix platforms
|
||||
//@ ```
|
||||
//@
|
||||
//@ Searches and returns string containing a writeable, platform-dependent temporary directory.
|
||||
//@ Follows Python's [tempfile algorithm](http://docs.python.org/library/tempfile.html#tempfile.tempdir).
|
||||
function _tempDir() {
|
||||
if (cachedTempDir) return cachedTempDir;
|
||||
|
||||
cachedTempDir = writeableDir(os.tmpdir()) ||
|
||||
writeableDir(process.env.TMPDIR) ||
|
||||
writeableDir(process.env.TEMP) ||
|
||||
writeableDir(process.env.TMP) ||
|
||||
writeableDir(process.env.Wimp$ScrapDir) || // RiscOS
|
||||
writeableDir('C:\\TEMP') || // Windows
|
||||
writeableDir('C:\\TMP') || // Windows
|
||||
writeableDir('\\TEMP') || // Windows
|
||||
writeableDir('\\TMP') || // Windows
|
||||
writeableDir('/tmp') ||
|
||||
writeableDir('/var/tmp') ||
|
||||
writeableDir('/usr/tmp') ||
|
||||
writeableDir('.'); // last resort
|
||||
|
||||
return cachedTempDir;
|
||||
}
|
||||
|
||||
// Indicates if the tempdir value is currently cached. This is exposed for tests
|
||||
// only. The return value should only be tested for truthiness.
|
||||
function isCached() {
|
||||
return cachedTempDir;
|
||||
}
|
||||
|
||||
// Clears the cached tempDir value, if one is cached. This is exposed for tests
|
||||
// only.
|
||||
function clearCache() {
|
||||
cachedTempDir = undefined;
|
||||
}
|
||||
|
||||
module.exports.tempDir = _tempDir;
|
||||
module.exports.isCached = isCached;
|
||||
module.exports.clearCache = clearCache;
|
||||
@@ -0,0 +1,67 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.groupBy = void 0;
|
||||
var Observable_1 = require("../Observable");
|
||||
var innerFrom_1 = require("../observable/innerFrom");
|
||||
var Subject_1 = require("../Subject");
|
||||
var lift_1 = require("../util/lift");
|
||||
var OperatorSubscriber_1 = require("./OperatorSubscriber");
|
||||
function groupBy(keySelector, elementOrOptions, duration, connector) {
|
||||
return lift_1.operate(function (source, subscriber) {
|
||||
var element;
|
||||
if (!elementOrOptions || typeof elementOrOptions === 'function') {
|
||||
element = elementOrOptions;
|
||||
}
|
||||
else {
|
||||
(duration = elementOrOptions.duration, element = elementOrOptions.element, connector = elementOrOptions.connector);
|
||||
}
|
||||
var groups = new Map();
|
||||
var notify = function (cb) {
|
||||
groups.forEach(cb);
|
||||
cb(subscriber);
|
||||
};
|
||||
var handleError = function (err) { return notify(function (consumer) { return consumer.error(err); }); };
|
||||
var activeGroups = 0;
|
||||
var teardownAttempted = false;
|
||||
var groupBySourceSubscriber = new OperatorSubscriber_1.OperatorSubscriber(subscriber, function (value) {
|
||||
try {
|
||||
var key_1 = keySelector(value);
|
||||
var group_1 = groups.get(key_1);
|
||||
if (!group_1) {
|
||||
groups.set(key_1, (group_1 = connector ? connector() : new Subject_1.Subject()));
|
||||
var grouped = createGroupedObservable(key_1, group_1);
|
||||
subscriber.next(grouped);
|
||||
if (duration) {
|
||||
var durationSubscriber_1 = OperatorSubscriber_1.createOperatorSubscriber(group_1, function () {
|
||||
group_1.complete();
|
||||
durationSubscriber_1 === null || durationSubscriber_1 === void 0 ? void 0 : durationSubscriber_1.unsubscribe();
|
||||
}, undefined, undefined, function () { return groups.delete(key_1); });
|
||||
groupBySourceSubscriber.add(innerFrom_1.innerFrom(duration(grouped)).subscribe(durationSubscriber_1));
|
||||
}
|
||||
}
|
||||
group_1.next(element ? element(value) : value);
|
||||
}
|
||||
catch (err) {
|
||||
handleError(err);
|
||||
}
|
||||
}, function () { return notify(function (consumer) { return consumer.complete(); }); }, handleError, function () { return groups.clear(); }, function () {
|
||||
teardownAttempted = true;
|
||||
return activeGroups === 0;
|
||||
});
|
||||
source.subscribe(groupBySourceSubscriber);
|
||||
function createGroupedObservable(key, groupSubject) {
|
||||
var result = new Observable_1.Observable(function (groupSubscriber) {
|
||||
activeGroups++;
|
||||
var innerSub = groupSubject.subscribe(groupSubscriber);
|
||||
return function () {
|
||||
innerSub.unsubscribe();
|
||||
--activeGroups === 0 && teardownAttempted && groupBySourceSubscriber.unsubscribe();
|
||||
};
|
||||
});
|
||||
result.key = key;
|
||||
return result;
|
||||
}
|
||||
});
|
||||
}
|
||||
exports.groupBy = groupBy;
|
||||
//# sourceMappingURL=groupBy.js.map
|
||||
@@ -0,0 +1,22 @@
|
||||
import { Comparator, TCell } from '../../types';
|
||||
import Tabular from '../../tabular';
|
||||
import {
|
||||
PipelineProcessor,
|
||||
PipelineProcessorProps,
|
||||
ProcessorType,
|
||||
} from '../processor';
|
||||
interface NativeSortProps extends PipelineProcessorProps {
|
||||
columns: {
|
||||
index: number;
|
||||
direction?: 1 | -1;
|
||||
compare?: Comparator<TCell>;
|
||||
}[];
|
||||
}
|
||||
declare class NativeSort extends PipelineProcessor<Tabular, NativeSortProps> {
|
||||
protected validateProps(): void;
|
||||
get type(): ProcessorType;
|
||||
private compare;
|
||||
private compareWrapper;
|
||||
protected _process(data: Tabular): Tabular;
|
||||
}
|
||||
export default NativeSort;
|
||||
@@ -0,0 +1,221 @@
|
||||
var t = require('tap')
|
||||
var fs = require('fs')
|
||||
var path = require('path')
|
||||
var fixture = path.resolve(__dirname, 'fixtures')
|
||||
var meow = fixture + '/meow.cat'
|
||||
var mine = fixture + '/mine.cat'
|
||||
var ours = fixture + '/ours.cat'
|
||||
var fail = fixture + '/fail.false'
|
||||
var noent = fixture + '/enoent.exe'
|
||||
var mkdirp = require('mkdirp')
|
||||
var rimraf = require('rimraf')
|
||||
|
||||
var isWindows = process.platform === 'win32'
|
||||
var hasAccess = typeof fs.access === 'function'
|
||||
var winSkip = isWindows && 'windows'
|
||||
var accessSkip = !hasAccess && 'no fs.access function'
|
||||
var hasPromise = typeof Promise === 'function'
|
||||
var promiseSkip = !hasPromise && 'no global Promise'
|
||||
|
||||
function reset () {
|
||||
delete require.cache[require.resolve('../')]
|
||||
return require('../')
|
||||
}
|
||||
|
||||
t.test('setup fixtures', function (t) {
|
||||
rimraf.sync(fixture)
|
||||
mkdirp.sync(fixture)
|
||||
fs.writeFileSync(meow, '#!/usr/bin/env cat\nmeow\n')
|
||||
fs.chmodSync(meow, parseInt('0755', 8))
|
||||
fs.writeFileSync(fail, '#!/usr/bin/env false\n')
|
||||
fs.chmodSync(fail, parseInt('0644', 8))
|
||||
fs.writeFileSync(mine, '#!/usr/bin/env cat\nmine\n')
|
||||
fs.chmodSync(mine, parseInt('0744', 8))
|
||||
fs.writeFileSync(ours, '#!/usr/bin/env cat\nours\n')
|
||||
fs.chmodSync(ours, parseInt('0754', 8))
|
||||
t.end()
|
||||
})
|
||||
|
||||
t.test('promise', { skip: promiseSkip }, function (t) {
|
||||
var isexe = reset()
|
||||
t.test('meow async', function (t) {
|
||||
isexe(meow).then(function (is) {
|
||||
t.ok(is)
|
||||
t.end()
|
||||
})
|
||||
})
|
||||
t.test('fail async', function (t) {
|
||||
isexe(fail).then(function (is) {
|
||||
t.notOk(is)
|
||||
t.end()
|
||||
})
|
||||
})
|
||||
t.test('noent async', function (t) {
|
||||
isexe(noent).catch(function (er) {
|
||||
t.ok(er)
|
||||
t.end()
|
||||
})
|
||||
})
|
||||
t.test('noent ignore async', function (t) {
|
||||
isexe(noent, { ignoreErrors: true }).then(function (is) {
|
||||
t.notOk(is)
|
||||
t.end()
|
||||
})
|
||||
})
|
||||
t.end()
|
||||
})
|
||||
|
||||
t.test('no promise', function (t) {
|
||||
global.Promise = null
|
||||
var isexe = reset()
|
||||
t.throws('try to meow a promise', function () {
|
||||
isexe(meow)
|
||||
})
|
||||
t.end()
|
||||
})
|
||||
|
||||
t.test('access', { skip: accessSkip || winSkip }, function (t) {
|
||||
runTest(t)
|
||||
})
|
||||
|
||||
t.test('mode', { skip: winSkip }, function (t) {
|
||||
delete fs.access
|
||||
delete fs.accessSync
|
||||
var isexe = reset()
|
||||
t.ok(isexe.sync(ours, { uid: 0, gid: 0 }))
|
||||
t.ok(isexe.sync(mine, { uid: 0, gid: 0 }))
|
||||
runTest(t)
|
||||
})
|
||||
|
||||
t.test('windows', function (t) {
|
||||
global.TESTING_WINDOWS = true
|
||||
var pathExt = '.EXE;.CAT;.CMD;.COM'
|
||||
t.test('pathExt option', function (t) {
|
||||
runTest(t, { pathExt: '.EXE;.CAT;.CMD;.COM' })
|
||||
})
|
||||
t.test('pathExt env', function (t) {
|
||||
process.env.PATHEXT = pathExt
|
||||
runTest(t)
|
||||
})
|
||||
t.test('no pathExt', function (t) {
|
||||
// with a pathExt of '', any filename is fine.
|
||||
// so the "fail" one would still pass.
|
||||
runTest(t, { pathExt: '', skipFail: true })
|
||||
})
|
||||
t.test('pathext with empty entry', function (t) {
|
||||
// with a pathExt of '', any filename is fine.
|
||||
// so the "fail" one would still pass.
|
||||
runTest(t, { pathExt: ';' + pathExt, skipFail: true })
|
||||
})
|
||||
t.end()
|
||||
})
|
||||
|
||||
t.test('cleanup', function (t) {
|
||||
rimraf.sync(fixture)
|
||||
t.end()
|
||||
})
|
||||
|
||||
function runTest (t, options) {
|
||||
var isexe = reset()
|
||||
|
||||
var optionsIgnore = Object.create(options || {})
|
||||
optionsIgnore.ignoreErrors = true
|
||||
|
||||
if (!options || !options.skipFail) {
|
||||
t.notOk(isexe.sync(fail, options))
|
||||
}
|
||||
t.notOk(isexe.sync(noent, optionsIgnore))
|
||||
if (!options) {
|
||||
t.ok(isexe.sync(meow))
|
||||
} else {
|
||||
t.ok(isexe.sync(meow, options))
|
||||
}
|
||||
|
||||
t.ok(isexe.sync(mine, options))
|
||||
t.ok(isexe.sync(ours, options))
|
||||
t.throws(function () {
|
||||
isexe.sync(noent, options)
|
||||
})
|
||||
|
||||
t.test('meow async', function (t) {
|
||||
if (!options) {
|
||||
isexe(meow, function (er, is) {
|
||||
if (er) {
|
||||
throw er
|
||||
}
|
||||
t.ok(is)
|
||||
t.end()
|
||||
})
|
||||
} else {
|
||||
isexe(meow, options, function (er, is) {
|
||||
if (er) {
|
||||
throw er
|
||||
}
|
||||
t.ok(is)
|
||||
t.end()
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
t.test('mine async', function (t) {
|
||||
isexe(mine, options, function (er, is) {
|
||||
if (er) {
|
||||
throw er
|
||||
}
|
||||
t.ok(is)
|
||||
t.end()
|
||||
})
|
||||
})
|
||||
|
||||
t.test('ours async', function (t) {
|
||||
isexe(ours, options, function (er, is) {
|
||||
if (er) {
|
||||
throw er
|
||||
}
|
||||
t.ok(is)
|
||||
t.end()
|
||||
})
|
||||
})
|
||||
|
||||
if (!options || !options.skipFail) {
|
||||
t.test('fail async', function (t) {
|
||||
isexe(fail, options, function (er, is) {
|
||||
if (er) {
|
||||
throw er
|
||||
}
|
||||
t.notOk(is)
|
||||
t.end()
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
t.test('noent async', function (t) {
|
||||
isexe(noent, options, function (er, is) {
|
||||
t.ok(er)
|
||||
t.notOk(is)
|
||||
t.end()
|
||||
})
|
||||
})
|
||||
|
||||
t.test('noent ignore async', function (t) {
|
||||
isexe(noent, optionsIgnore, function (er, is) {
|
||||
if (er) {
|
||||
throw er
|
||||
}
|
||||
t.notOk(is)
|
||||
t.end()
|
||||
})
|
||||
})
|
||||
|
||||
t.test('directory is not executable', function (t) {
|
||||
isexe(__dirname, options, function (er, is) {
|
||||
if (er) {
|
||||
throw er
|
||||
}
|
||||
t.notOk(is)
|
||||
t.end()
|
||||
})
|
||||
})
|
||||
|
||||
t.end()
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00792,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00396,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0.00396,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0.03961,"102":0.01584,"103":0,"104":0,"105":0,"106":0,"107":0.00792,"108":0.00396,"109":0.50305,"110":0.87538,"111":0,"112":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00792,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00396,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0.00792,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00396,"76":0,"77":0,"78":0.01188,"79":0.00396,"80":0,"81":0.00792,"83":0,"84":0,"85":0,"86":0,"87":0.01981,"88":0.00396,"89":0,"90":0.19013,"91":0,"92":0.00396,"93":0.00396,"94":0.01188,"95":0.00792,"96":0.00792,"97":0.00396,"98":0,"99":0.01188,"100":0.14656,"101":0,"102":0.01188,"103":2.85192,"104":0.04753,"105":0.01981,"106":0.01584,"107":0.02377,"108":0.21389,"109":3.21633,"110":2.29738,"111":0,"112":0,"113":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00396,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0.00792,"64":0.00396,"65":0.01981,"66":0,"67":0.05942,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0.13071,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0.00792,"90":0,"91":0,"92":0,"93":0,"94":0.03961,"95":0.05942,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00396},B:{"12":0,"13":0.08714,"14":0.00792,"15":0.00792,"16":0.01981,"17":0.06338,"18":0.02773,"79":0,"80":0.00396,"81":0,"83":0,"84":0.00792,"85":0,"86":0,"87":0,"88":0,"89":0.00792,"90":0,"91":0,"92":0.01981,"93":0,"94":0.00396,"95":0.00396,"96":0.00792,"97":0,"98":0,"99":0.00792,"100":0.01584,"101":0.05149,"102":0.00792,"103":0.02773,"104":0.01584,"105":0.01188,"106":0.00396,"107":0.04753,"108":0.07922,"109":0.60603,"110":0.75259},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.00396,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.02773,"13.1":0,"14.1":0.00792,"15.1":0.00396,"15.2-15.3":0,"15.4":0.00396,"15.5":0.01981,"15.6":0.16636,"16.0":0.00396,"16.1":0.00792,"16.2":0.0911,"16.3":0.03961,"16.4":0},G:{"8":0,"3.2":0,"4.0-4.1":0.0079,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.00276,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.00513,"10.0-10.2":0,"10.3":0.02567,"11.0-11.2":0.00276,"11.3-11.4":0.00276,"12.0-12.1":0,"12.2-12.5":0.25868,"13.0-13.1":0.00513,"13.2":0,"13.3":0.02054,"13.4-13.7":0.10624,"14.0-14.4":0.12164,"14.5-14.8":0.13704,"15.0-15.1":0.06437,"15.2-15.3":0.08531,"15.4":0.24051,"15.5":0.16824,"15.6":0.35702,"16.0":0.27922,"16.1":0.47589,"16.2":0.65164,"16.3":0.42692,"16.4":0},P:{"4":0.07077,"20":0.24264,"5.0-5.4":0,"6.2-6.4":0.07077,"7.2-7.4":0.11121,"8.2":0.01011,"9.2":0.07077,"10.1":0,"11.1-11.2":0.06066,"12.0":0.01011,"13.0":0.02022,"14.0":0.07077,"15.0":0.06066,"16.0":0.21231,"17.0":0.06066,"18.0":0.11121,"19.0":1.98156},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.09942},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.36441,"5.5":0},N:{"10":0,"11":0},S:{"2.5":0,_:"3.0-3.1"},J:{"7":0,"10":0},O:{"0":4.99425},H:{"0":1.72664},L:{"0":67.84386},R:{_:"0"},M:{"0":1.0689},Q:{"13.1":0}};
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"2":"J D E F A B CC"},B:{"1":"K L G M N O P Q R S T U V W X Y Z a b c d e i j k l m n o p q r s t u f H","2":"C"},C:{"1":"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 h lB mB nB oB pB P Q R wB S T U V W X Y Z a b c d e i j k l m n o p q r s t u f H xB yB","2":"0 1 2 3 4 5 6 7 8 9 DC tB I v J D E F A B C K L G M N O w g x y z AB BB CB DB EB FB GB HB IB JB KB EC FC"},D:{"1":"PB QB RB SB TB UB VB WB XB YB uB ZB vB aB bB cB dB eB fB gB hB iB jB kB h lB mB nB oB pB P Q R S T U V W X Y Z a b c d e i j k l m n o p q r s t u f H xB yB GC","2":"0 1 2 3 4 5 6 7 8 9 I v J D E F A B C K L G M N O w g x y z AB BB CB DB EB FB GB HB","132":"IB JB KB LB MB NB OB"},E:{"1":"F A B C K L G LC 0B qB rB 1B MC NC 2B 3B 4B 5B sB 6B 7B 8B 9B OC","2":"I v J D E HC zB IC JC KC"},F:{"1":"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 h lB mB nB oB pB P Q R wB S T U V W X Y Z a b c d e","2":"0 1 2 3 4 F B C G M N O w g x y z PC QC RC SC qB AC TC rB","132":"5 6 7 8 9 AB BB"},G:{"1":"ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC 2B 3B 4B 5B sB 6B 7B 8B 9B","2":"E zB UC BC VC WC XC YC"},H:{"2":"oC"},I:{"1":"f","2":"tB I pC qC rC sC BC tC uC"},J:{"2":"D A"},K:{"1":"h","2":"A B C qB AC rB"},L:{"1":"H"},M:{"1":"H"},N:{"2":"A B"},O:{"1":"vC"},P:{"1":"g wC xC yC zC 0C 0B 1C 2C 3C 4C 5C sB 6C 7C 8C","2":"I"},Q:{"1":"1B"},R:{"1":"9C"},S:{"1":"AD BD"}},B:6,C:"ES6 classes"};
|
||||
@@ -0,0 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
var validRegExp = require("../valid-reg-exp")
|
||||
, re = /\/[a-xz]*y[a-xz]*$/;
|
||||
|
||||
module.exports = function () { return Boolean(String(validRegExp(this)).match(re)); };
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"elementAt.js","sourceRoot":"","sources":["../../../../src/internal/operators/elementAt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAkD9B,MAAM,UAAU,SAAS,CAAW,KAAa,EAAE,YAAgB;IACjE,IAAI,KAAK,GAAG,CAAC,EAAE;QACb,MAAM,IAAI,uBAAuB,EAAE,CAAC;KACrC;IACD,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC;IAC9C,OAAO,CAAC,MAAqB,EAAE,EAAE,CAC/B,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,EAC7B,IAAI,CAAC,CAAC,CAAC,EACP,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,YAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,uBAAuB,EAAE,CAAC,CACpG,CAAC;AACN,CAAC"}
|
||||
@@ -0,0 +1,210 @@
|
||||
"use strict";;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var tslib_1 = require("tslib");
|
||||
var core_1 = tslib_1.__importDefault(require("./core"));
|
||||
var types_1 = tslib_1.__importDefault(require("../lib/types"));
|
||||
var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
|
||||
function default_1(fork) {
|
||||
fork.use(core_1.default);
|
||||
var types = fork.use(types_1.default);
|
||||
var def = types.Type.def;
|
||||
var or = types.Type.or;
|
||||
var defaults = fork.use(shared_1.default).defaults;
|
||||
def("Function")
|
||||
.field("generator", Boolean, defaults["false"])
|
||||
.field("expression", Boolean, defaults["false"])
|
||||
.field("defaults", [or(def("Expression"), null)], defaults.emptyArray)
|
||||
// TODO This could be represented as a RestElement in .params.
|
||||
.field("rest", or(def("Identifier"), null), defaults["null"]);
|
||||
// The ESTree way of representing a ...rest parameter.
|
||||
def("RestElement")
|
||||
.bases("Pattern")
|
||||
.build("argument")
|
||||
.field("argument", def("Pattern"))
|
||||
.field("typeAnnotation", // for Babylon. Flow parser puts it on the identifier
|
||||
or(def("TypeAnnotation"), def("TSTypeAnnotation"), null), defaults["null"]);
|
||||
def("SpreadElementPattern")
|
||||
.bases("Pattern")
|
||||
.build("argument")
|
||||
.field("argument", def("Pattern"));
|
||||
def("FunctionDeclaration")
|
||||
.build("id", "params", "body", "generator", "expression");
|
||||
def("FunctionExpression")
|
||||
.build("id", "params", "body", "generator", "expression");
|
||||
// The Parser API calls this ArrowExpression, but Esprima and all other
|
||||
// actual parsers use ArrowFunctionExpression.
|
||||
def("ArrowFunctionExpression")
|
||||
.bases("Function", "Expression")
|
||||
.build("params", "body", "expression")
|
||||
// The forced null value here is compatible with the overridden
|
||||
// definition of the "id" field in the Function interface.
|
||||
.field("id", null, defaults["null"])
|
||||
// Arrow function bodies are allowed to be expressions.
|
||||
.field("body", or(def("BlockStatement"), def("Expression")))
|
||||
// The current spec forbids arrow generators, so I have taken the
|
||||
// liberty of enforcing that. TODO Report this.
|
||||
.field("generator", false, defaults["false"]);
|
||||
def("ForOfStatement")
|
||||
.bases("Statement")
|
||||
.build("left", "right", "body")
|
||||
.field("left", or(def("VariableDeclaration"), def("Pattern")))
|
||||
.field("right", def("Expression"))
|
||||
.field("body", def("Statement"));
|
||||
def("YieldExpression")
|
||||
.bases("Expression")
|
||||
.build("argument", "delegate")
|
||||
.field("argument", or(def("Expression"), null))
|
||||
.field("delegate", Boolean, defaults["false"]);
|
||||
def("GeneratorExpression")
|
||||
.bases("Expression")
|
||||
.build("body", "blocks", "filter")
|
||||
.field("body", def("Expression"))
|
||||
.field("blocks", [def("ComprehensionBlock")])
|
||||
.field("filter", or(def("Expression"), null));
|
||||
def("ComprehensionExpression")
|
||||
.bases("Expression")
|
||||
.build("body", "blocks", "filter")
|
||||
.field("body", def("Expression"))
|
||||
.field("blocks", [def("ComprehensionBlock")])
|
||||
.field("filter", or(def("Expression"), null));
|
||||
def("ComprehensionBlock")
|
||||
.bases("Node")
|
||||
.build("left", "right", "each")
|
||||
.field("left", def("Pattern"))
|
||||
.field("right", def("Expression"))
|
||||
.field("each", Boolean);
|
||||
def("Property")
|
||||
.field("key", or(def("Literal"), def("Identifier"), def("Expression")))
|
||||
.field("value", or(def("Expression"), def("Pattern")))
|
||||
.field("method", Boolean, defaults["false"])
|
||||
.field("shorthand", Boolean, defaults["false"])
|
||||
.field("computed", Boolean, defaults["false"]);
|
||||
def("ObjectProperty")
|
||||
.field("shorthand", Boolean, defaults["false"]);
|
||||
def("PropertyPattern")
|
||||
.bases("Pattern")
|
||||
.build("key", "pattern")
|
||||
.field("key", or(def("Literal"), def("Identifier"), def("Expression")))
|
||||
.field("pattern", def("Pattern"))
|
||||
.field("computed", Boolean, defaults["false"]);
|
||||
def("ObjectPattern")
|
||||
.bases("Pattern")
|
||||
.build("properties")
|
||||
.field("properties", [or(def("PropertyPattern"), def("Property"))]);
|
||||
def("ArrayPattern")
|
||||
.bases("Pattern")
|
||||
.build("elements")
|
||||
.field("elements", [or(def("Pattern"), null)]);
|
||||
def("MethodDefinition")
|
||||
.bases("Declaration")
|
||||
.build("kind", "key", "value", "static")
|
||||
.field("kind", or("constructor", "method", "get", "set"))
|
||||
.field("key", def("Expression"))
|
||||
.field("value", def("Function"))
|
||||
.field("computed", Boolean, defaults["false"])
|
||||
.field("static", Boolean, defaults["false"]);
|
||||
def("SpreadElement")
|
||||
.bases("Node")
|
||||
.build("argument")
|
||||
.field("argument", def("Expression"));
|
||||
def("ArrayExpression")
|
||||
.field("elements", [or(def("Expression"), def("SpreadElement"), def("RestElement"), null)]);
|
||||
def("NewExpression")
|
||||
.field("arguments", [or(def("Expression"), def("SpreadElement"))]);
|
||||
def("CallExpression")
|
||||
.field("arguments", [or(def("Expression"), def("SpreadElement"))]);
|
||||
// Note: this node type is *not* an AssignmentExpression with a Pattern on
|
||||
// the left-hand side! The existing AssignmentExpression type already
|
||||
// supports destructuring assignments. AssignmentPattern nodes may appear
|
||||
// wherever a Pattern is allowed, and the right-hand side represents a
|
||||
// default value to be destructured against the left-hand side, if no
|
||||
// value is otherwise provided. For example: default parameter values.
|
||||
def("AssignmentPattern")
|
||||
.bases("Pattern")
|
||||
.build("left", "right")
|
||||
.field("left", def("Pattern"))
|
||||
.field("right", def("Expression"));
|
||||
var ClassBodyElement = or(def("MethodDefinition"), def("VariableDeclarator"), def("ClassPropertyDefinition"), def("ClassProperty"));
|
||||
def("ClassProperty")
|
||||
.bases("Declaration")
|
||||
.build("key")
|
||||
.field("key", or(def("Literal"), def("Identifier"), def("Expression")))
|
||||
.field("computed", Boolean, defaults["false"]);
|
||||
def("ClassPropertyDefinition") // static property
|
||||
.bases("Declaration")
|
||||
.build("definition")
|
||||
// Yes, Virginia, circular definitions are permitted.
|
||||
.field("definition", ClassBodyElement);
|
||||
def("ClassBody")
|
||||
.bases("Declaration")
|
||||
.build("body")
|
||||
.field("body", [ClassBodyElement]);
|
||||
def("ClassDeclaration")
|
||||
.bases("Declaration")
|
||||
.build("id", "body", "superClass")
|
||||
.field("id", or(def("Identifier"), null))
|
||||
.field("body", def("ClassBody"))
|
||||
.field("superClass", or(def("Expression"), null), defaults["null"]);
|
||||
def("ClassExpression")
|
||||
.bases("Expression")
|
||||
.build("id", "body", "superClass")
|
||||
.field("id", or(def("Identifier"), null), defaults["null"])
|
||||
.field("body", def("ClassBody"))
|
||||
.field("superClass", or(def("Expression"), null), defaults["null"]);
|
||||
// Specifier and ModuleSpecifier are abstract non-standard types
|
||||
// introduced for definitional convenience.
|
||||
def("Specifier").bases("Node");
|
||||
// This supertype is shared/abused by both def/babel.js and
|
||||
// def/esprima.js. In the future, it will be possible to load only one set
|
||||
// of definitions appropriate for a given parser, but until then we must
|
||||
// rely on default functions to reconcile the conflicting AST formats.
|
||||
def("ModuleSpecifier")
|
||||
.bases("Specifier")
|
||||
// This local field is used by Babel/Acorn. It should not technically
|
||||
// be optional in the Babel/Acorn AST format, but it must be optional
|
||||
// in the Esprima AST format.
|
||||
.field("local", or(def("Identifier"), null), defaults["null"])
|
||||
// The id and name fields are used by Esprima. The id field should not
|
||||
// technically be optional in the Esprima AST format, but it must be
|
||||
// optional in the Babel/Acorn AST format.
|
||||
.field("id", or(def("Identifier"), null), defaults["null"])
|
||||
.field("name", or(def("Identifier"), null), defaults["null"]);
|
||||
// Like ModuleSpecifier, except type:"ImportSpecifier" and buildable.
|
||||
// import {<id [as name]>} from ...;
|
||||
def("ImportSpecifier")
|
||||
.bases("ModuleSpecifier")
|
||||
.build("id", "name");
|
||||
// import <* as id> from ...;
|
||||
def("ImportNamespaceSpecifier")
|
||||
.bases("ModuleSpecifier")
|
||||
.build("id");
|
||||
// import <id> from ...;
|
||||
def("ImportDefaultSpecifier")
|
||||
.bases("ModuleSpecifier")
|
||||
.build("id");
|
||||
def("ImportDeclaration")
|
||||
.bases("Declaration")
|
||||
.build("specifiers", "source", "importKind")
|
||||
.field("specifiers", [or(def("ImportSpecifier"), def("ImportNamespaceSpecifier"), def("ImportDefaultSpecifier"))], defaults.emptyArray)
|
||||
.field("source", def("Literal"))
|
||||
.field("importKind", or("value", "type"), function () {
|
||||
return "value";
|
||||
});
|
||||
def("TaggedTemplateExpression")
|
||||
.bases("Expression")
|
||||
.build("tag", "quasi")
|
||||
.field("tag", def("Expression"))
|
||||
.field("quasi", def("TemplateLiteral"));
|
||||
def("TemplateLiteral")
|
||||
.bases("Expression")
|
||||
.build("quasis", "expressions")
|
||||
.field("quasis", [def("TemplateElement")])
|
||||
.field("expressions", [def("Expression")]);
|
||||
def("TemplateElement")
|
||||
.bases("Node")
|
||||
.build("value", "tail")
|
||||
.field("value", { "cooked": String, "raw": String })
|
||||
.field("tail", Boolean);
|
||||
}
|
||||
exports.default = default_1;
|
||||
module.exports = exports["default"];
|
||||
@@ -0,0 +1,3 @@
|
||||
- Add support for some SITE commands such as CHMOD, CHGRP, and QUOTA
|
||||
- Active (non-passive) data connections
|
||||
- IPv6 support
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,301 @@
|
||||
export type Options = {
|
||||
/**
|
||||
@default 'http'
|
||||
*/
|
||||
readonly defaultProtocol?: 'https' | 'http';
|
||||
|
||||
/**
|
||||
Prepends `defaultProtocol` to the URL if it's protocol-relative.
|
||||
|
||||
@default true
|
||||
|
||||
@example
|
||||
```
|
||||
normalizeUrl('//sindresorhus.com');
|
||||
//=> 'http://sindresorhus.com'
|
||||
|
||||
normalizeUrl('//sindresorhus.com', {normalizeProtocol: false});
|
||||
//=> '//sindresorhus.com'
|
||||
```
|
||||
*/
|
||||
readonly normalizeProtocol?: boolean;
|
||||
|
||||
/**
|
||||
Normalizes HTTPS URLs to HTTP.
|
||||
|
||||
@default false
|
||||
|
||||
@example
|
||||
```
|
||||
normalizeUrl('https://sindresorhus.com');
|
||||
//=> 'https://sindresorhus.com'
|
||||
|
||||
normalizeUrl('https://sindresorhus.com', {forceHttp: true});
|
||||
//=> 'http://sindresorhus.com'
|
||||
```
|
||||
*/
|
||||
readonly forceHttp?: boolean;
|
||||
|
||||
/**
|
||||
Normalizes HTTP URLs to HTTPS.
|
||||
|
||||
This option cannot be used with the `forceHttp` option at the same time.
|
||||
|
||||
@default false
|
||||
|
||||
@example
|
||||
```
|
||||
normalizeUrl('http://sindresorhus.com');
|
||||
//=> 'http://sindresorhus.com'
|
||||
|
||||
normalizeUrl('http://sindresorhus.com', {forceHttps: true});
|
||||
//=> 'https://sindresorhus.com'
|
||||
```
|
||||
*/
|
||||
readonly forceHttps?: boolean;
|
||||
|
||||
/**
|
||||
Strip the [authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) part of a URL.
|
||||
|
||||
@default true
|
||||
|
||||
@example
|
||||
```
|
||||
normalizeUrl('user:password@sindresorhus.com');
|
||||
//=> 'https://sindresorhus.com'
|
||||
|
||||
normalizeUrl('user:password@sindresorhus.com', {stripAuthentication: false});
|
||||
//=> 'https://user:password@sindresorhus.com'
|
||||
```
|
||||
*/
|
||||
readonly stripAuthentication?: boolean;
|
||||
|
||||
/**
|
||||
Removes hash from the URL.
|
||||
|
||||
@default false
|
||||
|
||||
@example
|
||||
```
|
||||
normalizeUrl('sindresorhus.com/about.html#contact');
|
||||
//=> 'http://sindresorhus.com/about.html#contact'
|
||||
|
||||
normalizeUrl('sindresorhus.com/about.html#contact', {stripHash: true});
|
||||
//=> 'http://sindresorhus.com/about.html'
|
||||
```
|
||||
*/
|
||||
readonly stripHash?: boolean;
|
||||
|
||||
/**
|
||||
Remove the protocol from the URL: `http://sindresorhus.com` → `sindresorhus.com`.
|
||||
|
||||
It will only remove `https://` and `http://` protocols.
|
||||
|
||||
@default false
|
||||
|
||||
@example
|
||||
```
|
||||
normalizeUrl('https://sindresorhus.com');
|
||||
//=> 'https://sindresorhus.com'
|
||||
|
||||
normalizeUrl('sindresorhus.com', {stripProtocol: true});
|
||||
//=> 'sindresorhus.com'
|
||||
```
|
||||
*/
|
||||
readonly stripProtocol?: boolean;
|
||||
|
||||
/**
|
||||
Strip the [text fragment](https://web.dev/text-fragments/) part of the URL
|
||||
|
||||
__Note:__ The text fragment will always be removed if the `stripHash` option is set to `true`, as the hash contains the text fragment.
|
||||
|
||||
@default true
|
||||
|
||||
@example
|
||||
```
|
||||
normalizeUrl('http://sindresorhus.com/about.html#:~:text=hello');
|
||||
//=> 'http://sindresorhus.com/about.html#'
|
||||
|
||||
normalizeUrl('http://sindresorhus.com/about.html#section:~:text=hello');
|
||||
//=> 'http://sindresorhus.com/about.html#section'
|
||||
|
||||
normalizeUrl('http://sindresorhus.com/about.html#:~:text=hello', {stripTextFragment: false});
|
||||
//=> 'http://sindresorhus.com/about.html#:~:text=hello'
|
||||
|
||||
normalizeUrl('http://sindresorhus.com/about.html#section:~:text=hello', {stripTextFragment: false});
|
||||
//=> 'http://sindresorhus.com/about.html#section:~:text=hello'
|
||||
```
|
||||
*/
|
||||
readonly stripTextFragment?: boolean;
|
||||
|
||||
/**
|
||||
Removes `www.` from the URL.
|
||||
|
||||
@default true
|
||||
|
||||
@example
|
||||
```
|
||||
normalizeUrl('http://www.sindresorhus.com');
|
||||
//=> 'http://sindresorhus.com'
|
||||
|
||||
normalizeUrl('http://www.sindresorhus.com', {stripWWW: false});
|
||||
//=> 'http://www.sindresorhus.com'
|
||||
```
|
||||
*/
|
||||
readonly stripWWW?: boolean;
|
||||
|
||||
/**
|
||||
Removes query parameters that matches any of the provided strings or regexes.
|
||||
|
||||
@default [/^utm_\w+/i]
|
||||
|
||||
@example
|
||||
```
|
||||
normalizeUrl('www.sindresorhus.com?foo=bar&ref=test_ref', {
|
||||
removeQueryParameters: ['ref']
|
||||
});
|
||||
//=> 'http://sindresorhus.com/?foo=bar'
|
||||
```
|
||||
|
||||
If a boolean is provided, `true` will remove all the query parameters.
|
||||
|
||||
```
|
||||
normalizeUrl('www.sindresorhus.com?foo=bar', {
|
||||
removeQueryParameters: true
|
||||
});
|
||||
//=> 'http://sindresorhus.com'
|
||||
```
|
||||
|
||||
`false` will not remove any query parameter.
|
||||
|
||||
```
|
||||
normalizeUrl('www.sindresorhus.com?foo=bar&utm_medium=test&ref=test_ref', {
|
||||
removeQueryParameters: false
|
||||
});
|
||||
//=> 'http://www.sindresorhus.com/?foo=bar&ref=test_ref&utm_medium=test'
|
||||
```
|
||||
*/
|
||||
readonly removeQueryParameters?: ReadonlyArray<RegExp | string> | boolean;
|
||||
|
||||
/**
|
||||
Keeps only query parameters that matches any of the provided strings or regexes.
|
||||
|
||||
__Note__: It overrides the `removeQueryParameters` option.
|
||||
|
||||
@default undefined
|
||||
|
||||
@example
|
||||
```
|
||||
normalizeUrl('https://sindresorhus.com?foo=bar&ref=unicorn', {
|
||||
keepQueryParameters: ['ref']
|
||||
});
|
||||
//=> 'https://sindresorhus.com/?ref=unicorn'
|
||||
```
|
||||
*/
|
||||
readonly keepQueryParameters?: ReadonlyArray<RegExp | string>;
|
||||
|
||||
/**
|
||||
Removes trailing slash.
|
||||
|
||||
__Note__: Trailing slash is always removed if the URL doesn't have a pathname unless the `removeSingleSlash` option is set to `false`.
|
||||
|
||||
@default true
|
||||
|
||||
@example
|
||||
```
|
||||
normalizeUrl('http://sindresorhus.com/redirect/');
|
||||
//=> 'http://sindresorhus.com/redirect'
|
||||
|
||||
normalizeUrl('http://sindresorhus.com/redirect/', {removeTrailingSlash: false});
|
||||
//=> 'http://sindresorhus.com/redirect/'
|
||||
|
||||
normalizeUrl('http://sindresorhus.com/', {removeTrailingSlash: false});
|
||||
//=> 'http://sindresorhus.com'
|
||||
```
|
||||
*/
|
||||
readonly removeTrailingSlash?: boolean;
|
||||
|
||||
/**
|
||||
Remove a sole `/` pathname in the output. This option is independent of `removeTrailingSlash`.
|
||||
|
||||
@default true
|
||||
|
||||
@example
|
||||
```
|
||||
normalizeUrl('https://sindresorhus.com/');
|
||||
//=> 'https://sindresorhus.com'
|
||||
|
||||
normalizeUrl('https://sindresorhus.com/', {removeSingleSlash: false});
|
||||
//=> 'https://sindresorhus.com/'
|
||||
```
|
||||
*/
|
||||
readonly removeSingleSlash?: boolean;
|
||||
|
||||
/**
|
||||
Removes the default directory index file from path that matches any of the provided strings or regexes.
|
||||
When `true`, the regex `/^index\.[a-z]+$/` is used.
|
||||
|
||||
@default false
|
||||
|
||||
@example
|
||||
```
|
||||
normalizeUrl('www.sindresorhus.com/foo/default.php', {
|
||||
removeDirectoryIndex: [/^default\.[a-z]+$/]
|
||||
});
|
||||
//=> 'http://sindresorhus.com/foo'
|
||||
```
|
||||
*/
|
||||
readonly removeDirectoryIndex?: boolean | ReadonlyArray<RegExp | string>;
|
||||
|
||||
/**
|
||||
Removes an explicit port number from the URL.
|
||||
|
||||
Port 443 is always removed from HTTPS URLs and 80 is always removed from HTTP URLs regardless of this option.
|
||||
|
||||
@default false
|
||||
|
||||
@example
|
||||
```
|
||||
normalizeUrl('sindresorhus.com:123', {
|
||||
removeExplicitPort: true
|
||||
});
|
||||
//=> 'http://sindresorhus.com'
|
||||
```
|
||||
*/
|
||||
readonly removeExplicitPort?: boolean;
|
||||
|
||||
/**
|
||||
Sorts the query parameters alphabetically by key.
|
||||
|
||||
@default true
|
||||
|
||||
@example
|
||||
```
|
||||
normalizeUrl('www.sindresorhus.com?b=two&a=one&c=three', {
|
||||
sortQueryParameters: false
|
||||
});
|
||||
//=> 'http://sindresorhus.com/?b=two&a=one&c=three'
|
||||
```
|
||||
*/
|
||||
readonly sortQueryParameters?: boolean;
|
||||
};
|
||||
|
||||
/**
|
||||
[Normalize](https://en.wikipedia.org/wiki/URL_normalization) a URL.
|
||||
|
||||
URLs with custom protocols are not normalized and just passed through by default. Supported protocols are: `https`, `http`, `file`, and `data`.
|
||||
|
||||
@param url - URL to normalize, including [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs).
|
||||
|
||||
@example
|
||||
```
|
||||
import normalizeUrl from 'normalize-url';
|
||||
|
||||
normalizeUrl('sindresorhus.com');
|
||||
//=> 'http://sindresorhus.com'
|
||||
|
||||
normalizeUrl('//www.sindresorhus.com:80/../baz?b=bar&a=foo');
|
||||
//=> 'http://sindresorhus.com/baz?a=foo&b=bar'
|
||||
```
|
||||
*/
|
||||
export default function normalizeUrl(url: string, options?: Options): string;
|
||||
@@ -0,0 +1,2 @@
|
||||
/// <reference types="node" />
|
||||
export declare function envReplace(settingValue: string, env: NodeJS.ProcessEnv): string;
|
||||
@@ -0,0 +1,57 @@
|
||||
# path-key
|
||||
|
||||
> Get the [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) environment variable key cross-platform
|
||||
|
||||
It's usually `PATH` but on Windows it can be any casing like `Path`...
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install path-key
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
import pathKey from 'path-key';
|
||||
|
||||
const key = pathKey();
|
||||
//=> 'PATH'
|
||||
|
||||
const PATH = process.env[key];
|
||||
//=> '/usr/local/bin:/usr/bin:/bin'
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### pathKey(options?)
|
||||
|
||||
#### options
|
||||
|
||||
Type: `object`
|
||||
|
||||
##### env
|
||||
|
||||
Type: `object`\
|
||||
Default: [`process.env`](https://nodejs.org/api/process.html#process_process_env)
|
||||
|
||||
Use a custom environment variables object.
|
||||
|
||||
#### platform
|
||||
|
||||
Type: `string`\
|
||||
Default: [`process.platform`](https://nodejs.org/api/process.html#process_process_platform)
|
||||
|
||||
Get the PATH key for a specific platform.
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
<b>
|
||||
<a href="https://tidelift.com/subscription/pkg/npm-path-key?utm_source=npm-path-key&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
|
||||
</b>
|
||||
<br>
|
||||
<sub>
|
||||
Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
|
||||
</sub>
|
||||
</div>
|
||||
@@ -0,0 +1,115 @@
|
||||
v1.0.3:
|
||||
date: 2017-04-18
|
||||
changes:
|
||||
- fix buble support
|
||||
v1.0.2:
|
||||
date: 2017-03-29
|
||||
changes:
|
||||
- add support for coffeescript (now with no hyphen)
|
||||
v1.0.1:
|
||||
date: 2016-05-01
|
||||
changes:
|
||||
- add support for buble
|
||||
v1.0.0:
|
||||
date: 2015-11-18
|
||||
changes:
|
||||
- add support for babel-register
|
||||
- go stable!
|
||||
v0.6.6:
|
||||
date: 2015-09-21
|
||||
changes:
|
||||
- add support for ts-node (formerly typescript-node)
|
||||
v0.6.5:
|
||||
date: 2015-07-22
|
||||
changes:
|
||||
- add support for typescript 1.5 via typescript-node
|
||||
v0.6.4:
|
||||
date: 2015-07-07
|
||||
changes:
|
||||
- add support for earlgrey
|
||||
v0.6.3:
|
||||
date: 2015-07-03
|
||||
changes:
|
||||
- prefer babel/core to babel
|
||||
v0.6.2:
|
||||
date: 2015-05-20
|
||||
changes:
|
||||
- update module list for iced coffee-script
|
||||
v0.6.1:
|
||||
date: 2015-05-20
|
||||
changes:
|
||||
- Fix toml loader.
|
||||
v0.6.0:
|
||||
date: 2015-05-19
|
||||
changes:
|
||||
- Combine fallbacks and loaders into `extensions`.
|
||||
- Provide implementation guidance.
|
||||
v0.5.1:
|
||||
date: 2015-03-01
|
||||
changes:
|
||||
- Add support for CirruScript.
|
||||
v0.5.0:
|
||||
date: 2015-02-27
|
||||
changes:
|
||||
- Refactor es6 support via Babel (formerly 6to5)
|
||||
v0.4.3:
|
||||
date: 2015-02-09
|
||||
changes:
|
||||
- Switch support from typescript-require to typescript-register.
|
||||
v0.4.2:
|
||||
date: 2015-01-16
|
||||
changes:
|
||||
- Add support for wisp.
|
||||
v0.4.1:
|
||||
date: 2015-01-10
|
||||
changes:
|
||||
- Add support for 6to5 (es6)
|
||||
v0.4.0:
|
||||
date: 2014-01-09
|
||||
changes:
|
||||
- Add support for fallback (legacy) modules
|
||||
- Add support for module configurations
|
||||
v0.3.10:
|
||||
date: 2014-12-17
|
||||
changes:
|
||||
- Add support for json5.
|
||||
v0.3.9:
|
||||
date: 2014-12-08
|
||||
changes:
|
||||
- Add support for literate iced coffee.
|
||||
v0.3.8:
|
||||
date: 2014-11-20
|
||||
changes:
|
||||
- Add support for [cjsx](https://github.com/jsdf/coffee-react).
|
||||
v0.3.7:
|
||||
date: 2014-09-08
|
||||
changes:
|
||||
- Add support for [TypeScript](http://www.typescriptlang.org/).
|
||||
v0.3.6:
|
||||
date: 2014-08-25
|
||||
changes:
|
||||
- Add support for coffee.md.
|
||||
v0.3.5:
|
||||
date: 2014-07-03
|
||||
changes:
|
||||
- Add support for jsx.
|
||||
v0.3.4:
|
||||
date: 2014-06-27
|
||||
changes:
|
||||
- Make .js first jsVariant entry.
|
||||
v0.3.3:
|
||||
date: 2014-06-02
|
||||
changes:
|
||||
- Fix casing on livescript dependency.
|
||||
v0.3.0:
|
||||
date: 2014-04-20
|
||||
changes:
|
||||
- Simplify loading of coffee-script and iced-coffee-script.
|
||||
v0.2.0:
|
||||
date: 2014-04-20
|
||||
changes:
|
||||
- Move module loading into rechoir.
|
||||
v0.1.0:
|
||||
date: 2014-04-20
|
||||
changes:
|
||||
- Initial public release.
|
||||
@@ -0,0 +1,56 @@
|
||||
var common = require('./common');
|
||||
|
||||
common.register('set', _set, {
|
||||
allowGlobbing: false,
|
||||
wrapOutput: false,
|
||||
});
|
||||
|
||||
//@
|
||||
//@ ### set(options)
|
||||
//@
|
||||
//@ Available options:
|
||||
//@
|
||||
//@ + `+/-e`: exit upon error (`config.fatal`)
|
||||
//@ + `+/-v`: verbose: show all commands (`config.verbose`)
|
||||
//@ + `+/-f`: disable filename expansion (globbing)
|
||||
//@
|
||||
//@ Examples:
|
||||
//@
|
||||
//@ ```javascript
|
||||
//@ set('-e'); // exit upon first error
|
||||
//@ set('+e'); // this undoes a "set('-e')"
|
||||
//@ ```
|
||||
//@
|
||||
//@ Sets global configuration variables.
|
||||
function _set(options) {
|
||||
if (!options) {
|
||||
var args = [].slice.call(arguments, 0);
|
||||
if (args.length < 2) common.error('must provide an argument');
|
||||
options = args[1];
|
||||
}
|
||||
var negate = (options[0] === '+');
|
||||
if (negate) {
|
||||
options = '-' + options.slice(1); // parseOptions needs a '-' prefix
|
||||
}
|
||||
options = common.parseOptions(options, {
|
||||
'e': 'fatal',
|
||||
'v': 'verbose',
|
||||
'f': 'noglob',
|
||||
});
|
||||
|
||||
if (negate) {
|
||||
Object.keys(options).forEach(function (key) {
|
||||
options[key] = !options[key];
|
||||
});
|
||||
}
|
||||
|
||||
Object.keys(options).forEach(function (key) {
|
||||
// Only change the global config if `negate` is false and the option is true
|
||||
// or if `negate` is true and the option is false (aka negate !== option)
|
||||
if (negate !== options[key]) {
|
||||
common.config[key] = options[key];
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
module.exports = _set;
|
||||
@@ -0,0 +1,180 @@
|
||||
/*
|
||||
@license
|
||||
Rollup.js v2.79.1
|
||||
Thu, 22 Sep 2022 04:55:29 GMT - commit 69ff4181e701a0fe0026d0ba147f31bc86beffa8
|
||||
|
||||
https://github.com/rollup/rollup
|
||||
|
||||
Released under the MIT License.
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
const rollup = require('./rollup.js');
|
||||
|
||||
const commandAliases = {
|
||||
c: 'config',
|
||||
d: 'dir',
|
||||
e: 'external',
|
||||
f: 'format',
|
||||
g: 'globals',
|
||||
h: 'help',
|
||||
i: 'input',
|
||||
m: 'sourcemap',
|
||||
n: 'name',
|
||||
o: 'file',
|
||||
p: 'plugin',
|
||||
v: 'version',
|
||||
w: 'watch'
|
||||
};
|
||||
function mergeOptions(config, rawCommandOptions = { external: [], globals: undefined }, defaultOnWarnHandler = rollup.defaultOnWarn) {
|
||||
const command = getCommandOptions(rawCommandOptions);
|
||||
const inputOptions = mergeInputOptions(config, command, defaultOnWarnHandler);
|
||||
const warn = inputOptions.onwarn;
|
||||
if (command.output) {
|
||||
Object.assign(command, command.output);
|
||||
}
|
||||
const outputOptionsArray = rollup.ensureArray(config.output);
|
||||
if (outputOptionsArray.length === 0)
|
||||
outputOptionsArray.push({});
|
||||
const outputOptions = outputOptionsArray.map(singleOutputOptions => mergeOutputOptions(singleOutputOptions, command, warn));
|
||||
rollup.warnUnknownOptions(command, Object.keys(inputOptions).concat(Object.keys(outputOptions[0]).filter(option => option !== 'sourcemapPathTransform'), Object.keys(commandAliases), 'config', 'environment', 'plugin', 'silent', 'failAfterWarnings', 'stdin', 'waitForBundleInput', 'configPlugin'), 'CLI flags', warn, /^_$|output$|config/);
|
||||
inputOptions.output = outputOptions;
|
||||
return inputOptions;
|
||||
}
|
||||
function getCommandOptions(rawCommandOptions) {
|
||||
const external = rawCommandOptions.external && typeof rawCommandOptions.external === 'string'
|
||||
? rawCommandOptions.external.split(',')
|
||||
: [];
|
||||
return {
|
||||
...rawCommandOptions,
|
||||
external,
|
||||
globals: typeof rawCommandOptions.globals === 'string'
|
||||
? rawCommandOptions.globals.split(',').reduce((globals, globalDefinition) => {
|
||||
const [id, variableName] = globalDefinition.split(':');
|
||||
globals[id] = variableName;
|
||||
if (!external.includes(id)) {
|
||||
external.push(id);
|
||||
}
|
||||
return globals;
|
||||
}, Object.create(null))
|
||||
: undefined
|
||||
};
|
||||
}
|
||||
function mergeInputOptions(config, overrides, defaultOnWarnHandler) {
|
||||
const getOption = (name) => { var _a; return (_a = overrides[name]) !== null && _a !== void 0 ? _a : config[name]; };
|
||||
const inputOptions = {
|
||||
acorn: getOption('acorn'),
|
||||
acornInjectPlugins: config.acornInjectPlugins,
|
||||
cache: config.cache,
|
||||
context: getOption('context'),
|
||||
experimentalCacheExpiry: getOption('experimentalCacheExpiry'),
|
||||
external: getExternal(config, overrides),
|
||||
inlineDynamicImports: getOption('inlineDynamicImports'),
|
||||
input: getOption('input') || [],
|
||||
makeAbsoluteExternalsRelative: getOption('makeAbsoluteExternalsRelative'),
|
||||
manualChunks: getOption('manualChunks'),
|
||||
maxParallelFileOps: getOption('maxParallelFileOps'),
|
||||
maxParallelFileReads: getOption('maxParallelFileReads'),
|
||||
moduleContext: getOption('moduleContext'),
|
||||
onwarn: getOnWarn(config, defaultOnWarnHandler),
|
||||
perf: getOption('perf'),
|
||||
plugins: rollup.ensureArray(config.plugins),
|
||||
preserveEntrySignatures: getOption('preserveEntrySignatures'),
|
||||
preserveModules: getOption('preserveModules'),
|
||||
preserveSymlinks: getOption('preserveSymlinks'),
|
||||
shimMissingExports: getOption('shimMissingExports'),
|
||||
strictDeprecations: getOption('strictDeprecations'),
|
||||
treeshake: getObjectOption(config, overrides, 'treeshake', rollup.objectifyOptionWithPresets(rollup.treeshakePresets, 'treeshake', 'false, true, ')),
|
||||
watch: getWatch(config, overrides)
|
||||
};
|
||||
rollup.warnUnknownOptions(config, Object.keys(inputOptions), 'input options', inputOptions.onwarn, /^output$/);
|
||||
return inputOptions;
|
||||
}
|
||||
const getExternal = (config, overrides) => {
|
||||
const configExternal = config.external;
|
||||
return typeof configExternal === 'function'
|
||||
? (source, importer, isResolved) => configExternal(source, importer, isResolved) || overrides.external.includes(source)
|
||||
: rollup.ensureArray(configExternal).concat(overrides.external);
|
||||
};
|
||||
const getOnWarn = (config, defaultOnWarnHandler) => config.onwarn
|
||||
? warning => config.onwarn(warning, defaultOnWarnHandler)
|
||||
: defaultOnWarnHandler;
|
||||
const getObjectOption = (config, overrides, name, objectifyValue = rollup.objectifyOption) => {
|
||||
const commandOption = normalizeObjectOptionValue(overrides[name], objectifyValue);
|
||||
const configOption = normalizeObjectOptionValue(config[name], objectifyValue);
|
||||
if (commandOption !== undefined) {
|
||||
return commandOption && { ...configOption, ...commandOption };
|
||||
}
|
||||
return configOption;
|
||||
};
|
||||
const getWatch = (config, overrides) => config.watch !== false && getObjectOption(config, overrides, 'watch');
|
||||
const isWatchEnabled = (optionValue) => {
|
||||
if (Array.isArray(optionValue)) {
|
||||
return optionValue.reduce((result, value) => (typeof value === 'boolean' ? value : result), false);
|
||||
}
|
||||
return optionValue === true;
|
||||
};
|
||||
const normalizeObjectOptionValue = (optionValue, objectifyValue) => {
|
||||
if (!optionValue) {
|
||||
return optionValue;
|
||||
}
|
||||
if (Array.isArray(optionValue)) {
|
||||
return optionValue.reduce((result, value) => value && result && { ...result, ...objectifyValue(value) }, {});
|
||||
}
|
||||
return objectifyValue(optionValue);
|
||||
};
|
||||
function mergeOutputOptions(config, overrides, warn) {
|
||||
const getOption = (name) => { var _a; return (_a = overrides[name]) !== null && _a !== void 0 ? _a : config[name]; };
|
||||
const outputOptions = {
|
||||
amd: getObjectOption(config, overrides, 'amd'),
|
||||
assetFileNames: getOption('assetFileNames'),
|
||||
banner: getOption('banner'),
|
||||
chunkFileNames: getOption('chunkFileNames'),
|
||||
compact: getOption('compact'),
|
||||
dir: getOption('dir'),
|
||||
dynamicImportFunction: getOption('dynamicImportFunction'),
|
||||
entryFileNames: getOption('entryFileNames'),
|
||||
esModule: getOption('esModule'),
|
||||
exports: getOption('exports'),
|
||||
extend: getOption('extend'),
|
||||
externalLiveBindings: getOption('externalLiveBindings'),
|
||||
file: getOption('file'),
|
||||
footer: getOption('footer'),
|
||||
format: getOption('format'),
|
||||
freeze: getOption('freeze'),
|
||||
generatedCode: getObjectOption(config, overrides, 'generatedCode', rollup.objectifyOptionWithPresets(rollup.generatedCodePresets, 'output.generatedCode', '')),
|
||||
globals: getOption('globals'),
|
||||
hoistTransitiveImports: getOption('hoistTransitiveImports'),
|
||||
indent: getOption('indent'),
|
||||
inlineDynamicImports: getOption('inlineDynamicImports'),
|
||||
interop: getOption('interop'),
|
||||
intro: getOption('intro'),
|
||||
manualChunks: getOption('manualChunks'),
|
||||
minifyInternalExports: getOption('minifyInternalExports'),
|
||||
name: getOption('name'),
|
||||
namespaceToStringTag: getOption('namespaceToStringTag'),
|
||||
noConflict: getOption('noConflict'),
|
||||
outro: getOption('outro'),
|
||||
paths: getOption('paths'),
|
||||
plugins: rollup.ensureArray(config.plugins),
|
||||
preferConst: getOption('preferConst'),
|
||||
preserveModules: getOption('preserveModules'),
|
||||
preserveModulesRoot: getOption('preserveModulesRoot'),
|
||||
sanitizeFileName: getOption('sanitizeFileName'),
|
||||
sourcemap: getOption('sourcemap'),
|
||||
sourcemapBaseUrl: getOption('sourcemapBaseUrl'),
|
||||
sourcemapExcludeSources: getOption('sourcemapExcludeSources'),
|
||||
sourcemapFile: getOption('sourcemapFile'),
|
||||
sourcemapPathTransform: getOption('sourcemapPathTransform'),
|
||||
strict: getOption('strict'),
|
||||
systemNullSetters: getOption('systemNullSetters'),
|
||||
validate: getOption('validate')
|
||||
};
|
||||
rollup.warnUnknownOptions(config, Object.keys(outputOptions), 'output options', warn);
|
||||
return outputOptions;
|
||||
}
|
||||
|
||||
exports.commandAliases = commandAliases;
|
||||
exports.isWatchEnabled = isWatchEnabled;
|
||||
exports.mergeOptions = mergeOptions;
|
||||
//# sourceMappingURL=mergeOptions.js.map
|
||||
@@ -0,0 +1,31 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = function (trimEnd, t) {
|
||||
t.test('normal cases', function (st) {
|
||||
st.equal(trimEnd(' \t\na \t\n'), ' \t\na', 'strips whitespace off the left side');
|
||||
st.equal(trimEnd('a'), 'a', 'noop when no whitespace');
|
||||
|
||||
var allWhitespaceChars = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
|
||||
st.equal(trimEnd(allWhitespaceChars + 'a' + allWhitespaceChars), allWhitespaceChars + 'a', 'all expected whitespace chars are trimmed');
|
||||
|
||||
st.end();
|
||||
});
|
||||
|
||||
// see https://codeblog.jonskeet.uk/2014/12/01/when-is-an-identifier-not-an-identifier-attack-of-the-mongolian-vowel-separator/
|
||||
var mongolianVowelSeparator = '\u180E';
|
||||
var mvsIsWS = (/^\s$/).test(mongolianVowelSeparator);
|
||||
t.test('mongolian vowel separator: unicode >= 4 && < 6.3', function (st) {
|
||||
st.equal(
|
||||
trimEnd(mongolianVowelSeparator + 'a' + mongolianVowelSeparator),
|
||||
mongolianVowelSeparator + 'a' + (mvsIsWS ? '' : mongolianVowelSeparator),
|
||||
'mongolian vowel separator is ' + (mvsIsWS ? '' : 'not ') + 'whitespace'
|
||||
);
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('zero-width spaces', function (st) {
|
||||
var zeroWidth = '\u200b';
|
||||
st.equal(trimEnd(zeroWidth), zeroWidth, 'zero width space does not trim');
|
||||
st.end();
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,18 @@
|
||||
body {
|
||||
font-family: helvetica, arial, sans-serif;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
kbd {
|
||||
background-color: #ccc;
|
||||
display: inline-block;
|
||||
padding: 0.5ex 1em;
|
||||
}
|
||||
|
||||
.test-record-result {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.test-record-result span:nth-child(n+2) {
|
||||
margin-left: 10px;
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = function (value) {
|
||||
return function () { return value; };
|
||||
};
|
||||
@@ -0,0 +1,166 @@
|
||||
var clone = (function() {
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Clones (copies) an Object using deep copying.
|
||||
*
|
||||
* This function supports circular references by default, but if you are certain
|
||||
* there are no circular references in your object, you can save some CPU time
|
||||
* by calling clone(obj, false).
|
||||
*
|
||||
* Caution: if `circular` is false and `parent` contains circular references,
|
||||
* your program may enter an infinite loop and crash.
|
||||
*
|
||||
* @param `parent` - the object to be cloned
|
||||
* @param `circular` - set to true if the object to be cloned may contain
|
||||
* circular references. (optional - true by default)
|
||||
* @param `depth` - set to a number if the object is only to be cloned to
|
||||
* a particular depth. (optional - defaults to Infinity)
|
||||
* @param `prototype` - sets the prototype to be used when cloning an object.
|
||||
* (optional - defaults to parent prototype).
|
||||
*/
|
||||
function clone(parent, circular, depth, prototype) {
|
||||
var filter;
|
||||
if (typeof circular === 'object') {
|
||||
depth = circular.depth;
|
||||
prototype = circular.prototype;
|
||||
filter = circular.filter;
|
||||
circular = circular.circular
|
||||
}
|
||||
// maintain two arrays for circular references, where corresponding parents
|
||||
// and children have the same index
|
||||
var allParents = [];
|
||||
var allChildren = [];
|
||||
|
||||
var useBuffer = typeof Buffer != 'undefined';
|
||||
|
||||
if (typeof circular == 'undefined')
|
||||
circular = true;
|
||||
|
||||
if (typeof depth == 'undefined')
|
||||
depth = Infinity;
|
||||
|
||||
// recurse this function so we don't reset allParents and allChildren
|
||||
function _clone(parent, depth) {
|
||||
// cloning null always returns null
|
||||
if (parent === null)
|
||||
return null;
|
||||
|
||||
if (depth == 0)
|
||||
return parent;
|
||||
|
||||
var child;
|
||||
var proto;
|
||||
if (typeof parent != 'object') {
|
||||
return parent;
|
||||
}
|
||||
|
||||
if (clone.__isArray(parent)) {
|
||||
child = [];
|
||||
} else if (clone.__isRegExp(parent)) {
|
||||
child = new RegExp(parent.source, __getRegExpFlags(parent));
|
||||
if (parent.lastIndex) child.lastIndex = parent.lastIndex;
|
||||
} else if (clone.__isDate(parent)) {
|
||||
child = new Date(parent.getTime());
|
||||
} else if (useBuffer && Buffer.isBuffer(parent)) {
|
||||
if (Buffer.allocUnsafe) {
|
||||
// Node.js >= 4.5.0
|
||||
child = Buffer.allocUnsafe(parent.length);
|
||||
} else {
|
||||
// Older Node.js versions
|
||||
child = new Buffer(parent.length);
|
||||
}
|
||||
parent.copy(child);
|
||||
return child;
|
||||
} else {
|
||||
if (typeof prototype == 'undefined') {
|
||||
proto = Object.getPrototypeOf(parent);
|
||||
child = Object.create(proto);
|
||||
}
|
||||
else {
|
||||
child = Object.create(prototype);
|
||||
proto = prototype;
|
||||
}
|
||||
}
|
||||
|
||||
if (circular) {
|
||||
var index = allParents.indexOf(parent);
|
||||
|
||||
if (index != -1) {
|
||||
return allChildren[index];
|
||||
}
|
||||
allParents.push(parent);
|
||||
allChildren.push(child);
|
||||
}
|
||||
|
||||
for (var i in parent) {
|
||||
var attrs;
|
||||
if (proto) {
|
||||
attrs = Object.getOwnPropertyDescriptor(proto, i);
|
||||
}
|
||||
|
||||
if (attrs && attrs.set == null) {
|
||||
continue;
|
||||
}
|
||||
child[i] = _clone(parent[i], depth - 1);
|
||||
}
|
||||
|
||||
return child;
|
||||
}
|
||||
|
||||
return _clone(parent, depth);
|
||||
}
|
||||
|
||||
/**
|
||||
* Simple flat clone using prototype, accepts only objects, usefull for property
|
||||
* override on FLAT configuration object (no nested props).
|
||||
*
|
||||
* USE WITH CAUTION! This may not behave as you wish if you do not know how this
|
||||
* works.
|
||||
*/
|
||||
clone.clonePrototype = function clonePrototype(parent) {
|
||||
if (parent === null)
|
||||
return null;
|
||||
|
||||
var c = function () {};
|
||||
c.prototype = parent;
|
||||
return new c();
|
||||
};
|
||||
|
||||
// private utility functions
|
||||
|
||||
function __objToStr(o) {
|
||||
return Object.prototype.toString.call(o);
|
||||
};
|
||||
clone.__objToStr = __objToStr;
|
||||
|
||||
function __isDate(o) {
|
||||
return typeof o === 'object' && __objToStr(o) === '[object Date]';
|
||||
};
|
||||
clone.__isDate = __isDate;
|
||||
|
||||
function __isArray(o) {
|
||||
return typeof o === 'object' && __objToStr(o) === '[object Array]';
|
||||
};
|
||||
clone.__isArray = __isArray;
|
||||
|
||||
function __isRegExp(o) {
|
||||
return typeof o === 'object' && __objToStr(o) === '[object RegExp]';
|
||||
};
|
||||
clone.__isRegExp = __isRegExp;
|
||||
|
||||
function __getRegExpFlags(re) {
|
||||
var flags = '';
|
||||
if (re.global) flags += 'g';
|
||||
if (re.ignoreCase) flags += 'i';
|
||||
if (re.multiline) flags += 'm';
|
||||
return flags;
|
||||
};
|
||||
clone.__getRegExpFlags = __getRegExpFlags;
|
||||
|
||||
return clone;
|
||||
})();
|
||||
|
||||
if (typeof module === 'object' && module.exports) {
|
||||
module.exports = clone;
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
// @ts-check
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "help", {
|
||||
enumerable: true,
|
||||
get: ()=>help
|
||||
});
|
||||
const _packageJson = /*#__PURE__*/ _interopRequireDefault(require("../../../package.json"));
|
||||
function _interopRequireDefault(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
function help({ message , usage , commands , options }) {
|
||||
let indent = 2;
|
||||
// Render header
|
||||
console.log();
|
||||
console.log(`${_packageJson.default.name} v${_packageJson.default.version}`);
|
||||
// Render message
|
||||
if (message) {
|
||||
console.log();
|
||||
for (let msg of message.split("\n")){
|
||||
console.log(msg);
|
||||
}
|
||||
}
|
||||
// Render usage
|
||||
if (usage && usage.length > 0) {
|
||||
console.log();
|
||||
console.log("Usage:");
|
||||
for (let example of usage){
|
||||
console.log(" ".repeat(indent), example);
|
||||
}
|
||||
}
|
||||
// Render commands
|
||||
if (commands && commands.length > 0) {
|
||||
console.log();
|
||||
console.log("Commands:");
|
||||
for (let command of commands){
|
||||
console.log(" ".repeat(indent), command);
|
||||
}
|
||||
}
|
||||
// Render options
|
||||
if (options) {
|
||||
let groupedOptions = {};
|
||||
for (let [key, value] of Object.entries(options)){
|
||||
if (typeof value === "object") {
|
||||
groupedOptions[key] = {
|
||||
...value,
|
||||
flags: [
|
||||
key
|
||||
]
|
||||
};
|
||||
} else {
|
||||
groupedOptions[value].flags.push(key);
|
||||
}
|
||||
}
|
||||
console.log();
|
||||
console.log("Options:");
|
||||
for (let { flags , description , deprecated } of Object.values(groupedOptions)){
|
||||
if (deprecated) continue;
|
||||
if (flags.length === 1) {
|
||||
console.log(" ".repeat(indent + 4 /* 4 = "-i, ".length */ ), flags.slice().reverse().join(", ").padEnd(20, " "), description);
|
||||
} else {
|
||||
console.log(" ".repeat(indent), flags.slice().reverse().join(", ").padEnd(24, " "), description);
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log();
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"name":"http-cache-semantics","version":"4.1.1","files":{"LICENSE":{"checkedAt":1678883670955,"integrity":"sha512-SgivpscCq1W/ejegoKsslMwh2HujD2M8d3AM8YtUPnLSvLrCbtnyykJgiekrXKO+BhDKuWkPDsiZYNMoKN/bBg==","mode":420,"size":1274},"package.json":{"checkedAt":1678883670956,"integrity":"sha512-hJJD2eO2UNQAa/eegGmC40CwqVgyHvMjI8uqgkbbNbkpr/gIXOVfR+LZGxi6oEzTC2joXNiJkMmuLVSZMacwRg==","mode":420,"size":526},"index.js":{"checkedAt":1678883670956,"integrity":"sha512-aca3Ss0dseGzsu/E62f69xOhi4Xed0S6Jbi3exIoLGEPsdf7sTVHzB+5Dq/o5L9kjL/wg/zR9VpTBRGjZMxASQ==","mode":420,"size":23751},"README.md":{"checkedAt":1678883670957,"integrity":"sha512-6EaAJkaRa4y/ULjzkS1OP/xgJXTZrQWopMVCtdvlcmBB3m9QEYQm7NdGLjv8/RCmKJ2klvcw/zEbgaXApHtUVA==","mode":420,"size":10387}}}
|
||||
@@ -0,0 +1,4 @@
|
||||
import commander from './index.js';
|
||||
|
||||
// wrapper to provide named exports for ESM.
|
||||
export const { program, Option, Command, CommanderError, InvalidOptionArgumentError, Help, createCommand } = commander;
|
||||
@@ -0,0 +1,39 @@
|
||||
var baseClamp = require('./_baseClamp'),
|
||||
baseToString = require('./_baseToString'),
|
||||
toInteger = require('./toInteger'),
|
||||
toString = require('./toString');
|
||||
|
||||
/**
|
||||
* Checks if `string` starts with the given target string.
|
||||
*
|
||||
* @static
|
||||
* @memberOf _
|
||||
* @since 3.0.0
|
||||
* @category String
|
||||
* @param {string} [string=''] The string to inspect.
|
||||
* @param {string} [target] The string to search for.
|
||||
* @param {number} [position=0] The position to search from.
|
||||
* @returns {boolean} Returns `true` if `string` starts with `target`,
|
||||
* else `false`.
|
||||
* @example
|
||||
*
|
||||
* _.startsWith('abc', 'a');
|
||||
* // => true
|
||||
*
|
||||
* _.startsWith('abc', 'b');
|
||||
* // => false
|
||||
*
|
||||
* _.startsWith('abc', 'b', 1);
|
||||
* // => true
|
||||
*/
|
||||
function startsWith(string, target, position) {
|
||||
string = toString(string);
|
||||
position = position == null
|
||||
? 0
|
||||
: baseClamp(toInteger(position), 0, string.length);
|
||||
|
||||
target = baseToString(target);
|
||||
return string.slice(position, position + target.length) == target;
|
||||
}
|
||||
|
||||
module.exports = startsWith;
|
||||
@@ -0,0 +1,3 @@
|
||||
/** Identifies an input as being an Iterable */
|
||||
export declare function isIterable(input: any): input is Iterable<any>;
|
||||
//# sourceMappingURL=isIterable.d.ts.map
|
||||
@@ -0,0 +1,63 @@
|
||||
export var ErrorKind;
|
||||
(function (ErrorKind) {
|
||||
/** Argument is unclosed (e.g. `{0`) */
|
||||
ErrorKind[ErrorKind["EXPECT_ARGUMENT_CLOSING_BRACE"] = 1] = "EXPECT_ARGUMENT_CLOSING_BRACE";
|
||||
/** Argument is empty (e.g. `{}`). */
|
||||
ErrorKind[ErrorKind["EMPTY_ARGUMENT"] = 2] = "EMPTY_ARGUMENT";
|
||||
/** Argument is malformed (e.g. `{foo!}``) */
|
||||
ErrorKind[ErrorKind["MALFORMED_ARGUMENT"] = 3] = "MALFORMED_ARGUMENT";
|
||||
/** Expect an argument type (e.g. `{foo,}`) */
|
||||
ErrorKind[ErrorKind["EXPECT_ARGUMENT_TYPE"] = 4] = "EXPECT_ARGUMENT_TYPE";
|
||||
/** Unsupported argument type (e.g. `{foo,foo}`) */
|
||||
ErrorKind[ErrorKind["INVALID_ARGUMENT_TYPE"] = 5] = "INVALID_ARGUMENT_TYPE";
|
||||
/** Expect an argument style (e.g. `{foo, number, }`) */
|
||||
ErrorKind[ErrorKind["EXPECT_ARGUMENT_STYLE"] = 6] = "EXPECT_ARGUMENT_STYLE";
|
||||
/** The number skeleton is invalid. */
|
||||
ErrorKind[ErrorKind["INVALID_NUMBER_SKELETON"] = 7] = "INVALID_NUMBER_SKELETON";
|
||||
/** The date time skeleton is invalid. */
|
||||
ErrorKind[ErrorKind["INVALID_DATE_TIME_SKELETON"] = 8] = "INVALID_DATE_TIME_SKELETON";
|
||||
/** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */
|
||||
ErrorKind[ErrorKind["EXPECT_NUMBER_SKELETON"] = 9] = "EXPECT_NUMBER_SKELETON";
|
||||
/** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */
|
||||
ErrorKind[ErrorKind["EXPECT_DATE_TIME_SKELETON"] = 10] = "EXPECT_DATE_TIME_SKELETON";
|
||||
/** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */
|
||||
ErrorKind[ErrorKind["UNCLOSED_QUOTE_IN_ARGUMENT_STYLE"] = 11] = "UNCLOSED_QUOTE_IN_ARGUMENT_STYLE";
|
||||
/** Missing select argument options (e.g. `{foo, select}`) */
|
||||
ErrorKind[ErrorKind["EXPECT_SELECT_ARGUMENT_OPTIONS"] = 12] = "EXPECT_SELECT_ARGUMENT_OPTIONS";
|
||||
/** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */
|
||||
ErrorKind[ErrorKind["EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE"] = 13] = "EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE";
|
||||
/** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */
|
||||
ErrorKind[ErrorKind["INVALID_PLURAL_ARGUMENT_OFFSET_VALUE"] = 14] = "INVALID_PLURAL_ARGUMENT_OFFSET_VALUE";
|
||||
/** Expecting a selector in `select` argument (e.g `{foo, select}`) */
|
||||
ErrorKind[ErrorKind["EXPECT_SELECT_ARGUMENT_SELECTOR"] = 15] = "EXPECT_SELECT_ARGUMENT_SELECTOR";
|
||||
/** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */
|
||||
ErrorKind[ErrorKind["EXPECT_PLURAL_ARGUMENT_SELECTOR"] = 16] = "EXPECT_PLURAL_ARGUMENT_SELECTOR";
|
||||
/** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */
|
||||
ErrorKind[ErrorKind["EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT"] = 17] = "EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT";
|
||||
/**
|
||||
* Expecting a message fragment after the `plural` or `selectordinal` selector
|
||||
* (e.g. `{foo, plural, one}`)
|
||||
*/
|
||||
ErrorKind[ErrorKind["EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT"] = 18] = "EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT";
|
||||
/** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */
|
||||
ErrorKind[ErrorKind["INVALID_PLURAL_ARGUMENT_SELECTOR"] = 19] = "INVALID_PLURAL_ARGUMENT_SELECTOR";
|
||||
/**
|
||||
* Duplicate selectors in `plural` or `selectordinal` argument.
|
||||
* (e.g. {foo, plural, one {#} one {#}})
|
||||
*/
|
||||
ErrorKind[ErrorKind["DUPLICATE_PLURAL_ARGUMENT_SELECTOR"] = 20] = "DUPLICATE_PLURAL_ARGUMENT_SELECTOR";
|
||||
/** Duplicate selectors in `select` argument.
|
||||
* (e.g. {foo, select, apple {apple} apple {apple}})
|
||||
*/
|
||||
ErrorKind[ErrorKind["DUPLICATE_SELECT_ARGUMENT_SELECTOR"] = 21] = "DUPLICATE_SELECT_ARGUMENT_SELECTOR";
|
||||
/** Plural or select argument option must have `other` clause. */
|
||||
ErrorKind[ErrorKind["MISSING_OTHER_CLAUSE"] = 22] = "MISSING_OTHER_CLAUSE";
|
||||
/** The tag is malformed. (e.g. `<bold!>foo</bold!>) */
|
||||
ErrorKind[ErrorKind["INVALID_TAG"] = 23] = "INVALID_TAG";
|
||||
/** The tag name is invalid. (e.g. `<123>foo</123>`) */
|
||||
ErrorKind[ErrorKind["INVALID_TAG_NAME"] = 25] = "INVALID_TAG_NAME";
|
||||
/** The closing tag does not match the opening tag. (e.g. `<bold>foo</italic>`) */
|
||||
ErrorKind[ErrorKind["UNMATCHED_CLOSING_TAG"] = 26] = "UNMATCHED_CLOSING_TAG";
|
||||
/** The opening tag has unmatched closing tag. (e.g. `<bold>foo`) */
|
||||
ErrorKind[ErrorKind["UNCLOSED_TAG"] = 27] = "UNCLOSED_TAG";
|
||||
})(ErrorKind || (ErrorKind = {}));
|
||||
@@ -0,0 +1,8 @@
|
||||
/// <reference types="node" />
|
||||
import { Readable } from 'stream';
|
||||
import { UrlWithStringQuery } from 'url';
|
||||
import { HttpOptions } from './http';
|
||||
/**
|
||||
* Returns a Readable stream from an "https:" URI.
|
||||
*/
|
||||
export default function get(parsed: UrlWithStringQuery, opts: HttpOptions): Promise<Readable>;
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"windowTime.js","sourceRoot":"","sources":["../../../../src/internal/operators/windowTime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAgG1D,MAAM,UAAU,UAAU,CAAI,cAAsB,EAAE,GAAG,SAAgB;;IACvE,MAAM,SAAS,GAAG,MAAA,YAAY,CAAC,SAAS,CAAC,mCAAI,cAAc,CAAC;IAC5D,MAAM,sBAAsB,GAAG,MAAC,SAAS,CAAC,CAAC,CAAY,mCAAI,IAAI,CAAC;IAChE,MAAM,aAAa,GAAI,SAAS,CAAC,CAAC,CAAY,IAAI,QAAQ,CAAC;IAE3D,OAAO,OAAO,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;QAEpC,IAAI,aAAa,GAA6B,EAAE,CAAC;QAGjD,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,MAAM,WAAW,GAAG,CAAC,MAAkD,EAAE,EAAE;YACzE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;YAChC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACjC,cAAc,IAAI,WAAW,EAAE,CAAC;QAClC,CAAC,CAAC;QAMF,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,aAAa,EAAE;gBACjB,MAAM,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;gBAChC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrB,MAAM,MAAM,GAAG,IAAI,OAAO,EAAK,CAAC;gBAChC,MAAM,MAAM,GAAG;oBACb,MAAM;oBACN,IAAI;oBACJ,IAAI,EAAE,CAAC;iBACR,CAAC;gBACF,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBACvC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;aAC7E;QACH,CAAC,CAAC;QAEF,IAAI,sBAAsB,KAAK,IAAI,IAAI,sBAAsB,IAAI,CAAC,EAAE;YAIlE,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;SACnF;aAAM;YACL,cAAc,GAAG,IAAI,CAAC;SACvB;QAED,WAAW,EAAE,CAAC;QAQd,MAAM,IAAI,GAAG,CAAC,EAAqC,EAAE,EAAE,CAAC,aAAc,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAM3F,MAAM,SAAS,GAAG,CAAC,EAAqC,EAAE,EAAE;YAC1D,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACjC,EAAE,CAAC,UAAU,CAAC,CAAC;YACf,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC;QAEF,MAAM,CAAC,SAAS,CACd,wBAAwB,CACtB,UAAU,EACV,CAAC,KAAQ,EAAE,EAAE;YAEX,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACd,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE1B,aAAa,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACL,CAAC,EAED,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAElD,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CACtD,CACF,CAAC;QAKF,OAAO,GAAG,EAAE;YAEV,aAAa,GAAG,IAAK,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
||||
@@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
|
||||
if (!require("./is-implemented")()) {
|
||||
Object.defineProperty(Object, "assign", {
|
||||
value: require("./shim"),
|
||||
configurable: true,
|
||||
enumerable: false,
|
||||
writable: true
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
2.0.1 / 2021-01-03
|
||||
==================
|
||||
|
||||
* Fix returning values from `Object.prototype`
|
||||
|
||||
2.0.0 / 2020-04-19
|
||||
==================
|
||||
|
||||
* Drop support for Node.js 0.6
|
||||
* Fix messaging casing of `418 I'm a Teapot`
|
||||
* Remove code 306
|
||||
* Remove `status[code]` exports; use `status.message[code]`
|
||||
* Remove `status[msg]` exports; use `status.code[msg]`
|
||||
* Rename `425 Unordered Collection` to standard `425 Too Early`
|
||||
* Rename `STATUS_CODES` export to `message`
|
||||
* Return status message for `statuses(code)` when given code
|
||||
|
||||
1.5.0 / 2018-03-27
|
||||
==================
|
||||
|
||||
* Add `103 Early Hints`
|
||||
|
||||
1.4.0 / 2017-10-20
|
||||
==================
|
||||
|
||||
* Add `STATUS_CODES` export
|
||||
|
||||
1.3.1 / 2016-11-11
|
||||
==================
|
||||
|
||||
* Fix return type in JSDoc
|
||||
|
||||
1.3.0 / 2016-05-17
|
||||
==================
|
||||
|
||||
* Add `421 Misdirected Request`
|
||||
* perf: enable strict mode
|
||||
|
||||
1.2.1 / 2015-02-01
|
||||
==================
|
||||
|
||||
* Fix message for status 451
|
||||
- `451 Unavailable For Legal Reasons`
|
||||
|
||||
1.2.0 / 2014-09-28
|
||||
==================
|
||||
|
||||
* Add `208 Already Repored`
|
||||
* Add `226 IM Used`
|
||||
* Add `306 (Unused)`
|
||||
* Add `415 Unable For Legal Reasons`
|
||||
* Add `508 Loop Detected`
|
||||
|
||||
1.1.1 / 2014-09-24
|
||||
==================
|
||||
|
||||
* Add missing 308 to `codes.json`
|
||||
|
||||
1.1.0 / 2014-09-21
|
||||
==================
|
||||
|
||||
* Add `codes.json` for universal support
|
||||
|
||||
1.0.4 / 2014-08-20
|
||||
==================
|
||||
|
||||
* Package cleanup
|
||||
|
||||
1.0.3 / 2014-06-08
|
||||
==================
|
||||
|
||||
* Add 308 to `.redirect` category
|
||||
|
||||
1.0.2 / 2014-03-13
|
||||
==================
|
||||
|
||||
* Add `.retry` category
|
||||
|
||||
1.0.1 / 2014-03-12
|
||||
==================
|
||||
|
||||
* Initial release
|
||||
@@ -0,0 +1,13 @@
|
||||
Copyright (c) 2015-2020, Matteo Collina <matteo.collina@gmail.com>
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1 @@
|
||||
{"name":"string_decoder","version":"0.10.31","files":{"package.json":{"checkedAt":1678883672075,"integrity":"sha512-NsVxA83AjBTUxAfzzf32FTLBJjxpXf+3TQ2lRnh5JEFOjW9thF8nfzZZSIgIuAH7JaQHbWdu3K1eSvVClFXQhg==","mode":436,"size":519},".npmignore":{"checkedAt":1678883672075,"integrity":"sha512-358TLg/zPIoTabcPUG4cQ5wvez6/KHcw/bNVkI7ljJc/lgcgwg9N7Kv14h4TCdDLj0ILu8BTg2l/R5HPIwZqjQ==","mode":436,"size":11},"README.md":{"checkedAt":1678883672075,"integrity":"sha512-VAnKOnH+Cvo2Ng9KvnB+/eXICPUarWVTAhyLmKD4ZbkN2wJI6LamqwVQcaKFPe/z+Yslnc7kL6tN3BN4xZwojg==","mode":436,"size":498},"LICENSE":{"checkedAt":1678883672075,"integrity":"sha512-8iCjClP1N0Js4K5TXq1lPrvv388FnwXxmlMR8T/10BcajDA4VTZrq/7cWxiBS4aaiy2cg3jC9hj33Ge4Rlxeig==","mode":436,"size":1076},"index.js":{"checkedAt":1678883672075,"integrity":"sha512-Z7aBCYxlFzl9GNB6tWCEYx2jYYzTNqRG6AkSPv67vfKnlxqd0NVeZj//Mr1QUG6IqyY6Ns17RAVFDTKpi1Tsmg==","mode":436,"size":7796}}}
|
||||
Reference in New Issue
Block a user