new license file version [CI SKIP]
This commit is contained in:
@@ -0,0 +1,198 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('get-intrinsic');
|
||||
|
||||
var $floor = GetIntrinsic('%Math.floor%');
|
||||
var $log = GetIntrinsic('%Math.log%');
|
||||
var $log2E = GetIntrinsic('%Math.LOG2E%');
|
||||
var $log2 = GetIntrinsic('%Math.log2%', true) || function log2(x) {
|
||||
return $log(x) * $log2E;
|
||||
};
|
||||
var $parseInt = GetIntrinsic('%parseInt%');
|
||||
var $pow = GetIntrinsic('%Math.pow%');
|
||||
var $TypeError = GetIntrinsic('%TypeError%');
|
||||
|
||||
var callBound = require('call-bind/callBound');
|
||||
|
||||
var $reverse = callBound('Array.prototype.reverse');
|
||||
var $numberToString = callBound('Number.prototype.toString');
|
||||
var $strSlice = callBound('String.prototype.slice');
|
||||
|
||||
var abs = require('./abs');
|
||||
var hasOwnProperty = require('./HasOwnProperty');
|
||||
var ToInt16 = require('./ToInt16');
|
||||
var ToInt32 = require('./ToInt32');
|
||||
var ToInt8 = require('./ToInt8');
|
||||
var ToUint16 = require('./ToUint16');
|
||||
var ToUint32 = require('./ToUint32');
|
||||
var ToUint8 = require('./ToUint8');
|
||||
var ToUint8Clamp = require('./ToUint8Clamp');
|
||||
var Type = require('./Type');
|
||||
|
||||
var isNaN = require('../helpers/isNaN');
|
||||
var isFinite = require('../helpers/isFinite');
|
||||
|
||||
var keys = require('object-keys');
|
||||
|
||||
// https://262.ecma-international.org/8.0/#table-50
|
||||
var TypeToSizes = {
|
||||
__proto__: null,
|
||||
Int8: 1,
|
||||
Uint8: 1,
|
||||
Uint8C: 1,
|
||||
Int16: 2,
|
||||
Uint16: 2,
|
||||
Int32: 4,
|
||||
Uint32: 4,
|
||||
Float32: 4,
|
||||
Float64: 8
|
||||
};
|
||||
|
||||
var TypeToAO = {
|
||||
__proto__: null,
|
||||
Int8: ToInt8,
|
||||
Uint8: ToUint8,
|
||||
Uint8C: ToUint8Clamp,
|
||||
Int16: ToInt16,
|
||||
Uint16: ToUint16,
|
||||
Int32: ToInt32,
|
||||
Uint32: ToUint32
|
||||
};
|
||||
|
||||
// https://262.ecma-international.org/8.0/#sec-numbertorawbytes
|
||||
|
||||
module.exports = function NumberToRawBytes(type, value, isLittleEndian) {
|
||||
if (typeof type !== 'string' || !hasOwnProperty(TypeToSizes, type)) {
|
||||
throw new $TypeError('Assertion failed: `type` must be a TypedArray element type: ' + keys(TypeToSizes));
|
||||
}
|
||||
if (Type(value) !== 'Number') {
|
||||
throw new $TypeError('Assertion failed: `value` must be a Number');
|
||||
}
|
||||
if (Type(isLittleEndian) !== 'Boolean') {
|
||||
throw new $TypeError('Assertion failed: `isLittleEndian` must be a Boolean');
|
||||
}
|
||||
|
||||
var rawBytes = [];
|
||||
var exponent;
|
||||
|
||||
if (type === 'Float32') { // step 1
|
||||
if (isNaN(value)) {
|
||||
return isLittleEndian ? [0, 0, 192, 127] : [127, 192, 0, 0]; // hardcoded
|
||||
}
|
||||
|
||||
var leastSig;
|
||||
|
||||
if (value === 0) {
|
||||
leastSig = Object.is(value, -0) ? 0x80 : 0;
|
||||
return isLittleEndian ? [0, 0, 0, leastSig] : [leastSig, 0, 0, 0];
|
||||
}
|
||||
|
||||
if (!isFinite(value)) {
|
||||
leastSig = value < 0 ? 255 : 127;
|
||||
return isLittleEndian ? [0, 0, 128, leastSig] : [leastSig, 128, 0, 0];
|
||||
}
|
||||
|
||||
var sign = value < 0 ? 1 : 0;
|
||||
value = abs(value); // eslint-disable-line no-param-reassign
|
||||
|
||||
exponent = 0;
|
||||
while (value >= 2) {
|
||||
exponent += 1;
|
||||
value /= 2; // eslint-disable-line no-param-reassign
|
||||
}
|
||||
|
||||
while (value < 1) {
|
||||
exponent -= 1;
|
||||
value *= 2; // eslint-disable-line no-param-reassign
|
||||
}
|
||||
|
||||
var mantissa = value - 1;
|
||||
mantissa *= $pow(2, 23);
|
||||
mantissa = $floor(mantissa);
|
||||
|
||||
exponent += 127;
|
||||
exponent = exponent << 23;
|
||||
|
||||
var result = sign << 31;
|
||||
result |= exponent;
|
||||
result |= mantissa;
|
||||
|
||||
var byte0 = result & 255;
|
||||
result = result >> 8;
|
||||
var byte1 = result & 255;
|
||||
result = result >> 8;
|
||||
var byte2 = result & 255;
|
||||
result = result >> 8;
|
||||
var byte3 = result & 255;
|
||||
|
||||
if (isLittleEndian) {
|
||||
return [byte0, byte1, byte2, byte3];
|
||||
}
|
||||
return [byte3, byte2, byte1, byte0];
|
||||
} else if (type === 'Float64') { // step 2
|
||||
if (value === 0) {
|
||||
leastSig = Object.is(value, -0) ? 0x80 : 0;
|
||||
return isLittleEndian ? [0, 0, 0, 0, 0, 0, 0, leastSig] : [leastSig, 0, 0, 0, 0, 0, 0, 0];
|
||||
}
|
||||
if (isNaN(value)) {
|
||||
return isLittleEndian ? [0, 0, 0, 0, 0, 0, 248, 127] : [127, 248, 0, 0, 0, 0, 0, 0];
|
||||
}
|
||||
if (!isFinite(value)) {
|
||||
var infBytes = value < 0 ? [0, 0, 0, 0, 0, 0, 240, 255] : [0, 0, 0, 0, 0, 0, 240, 127];
|
||||
return isLittleEndian ? infBytes : $reverse(infBytes);
|
||||
}
|
||||
|
||||
var isNegative = value < 0;
|
||||
if (isNegative) { value = -value; } // eslint-disable-line no-param-reassign
|
||||
|
||||
exponent = $floor($log2(value));
|
||||
var significand = (value / $pow(2, exponent)) - 1;
|
||||
|
||||
var bitString = '';
|
||||
for (var i = 0; i < 52; i++) {
|
||||
significand *= 2;
|
||||
if (significand >= 1) {
|
||||
bitString += '1';
|
||||
significand -= 1;
|
||||
} else {
|
||||
bitString += '0';
|
||||
}
|
||||
}
|
||||
|
||||
exponent += 1023;
|
||||
var exponentBits = $numberToString(exponent, 2);
|
||||
while (exponentBits.length < 11) { exponentBits = '0' + exponentBits; }
|
||||
|
||||
var fullBitString = (isNegative ? '1' : '0') + exponentBits + bitString;
|
||||
while (fullBitString.length < 64) { fullBitString = '0' + fullBitString; }
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
rawBytes[i] = $parseInt($strSlice(fullBitString, i * 8, (i + 1) * 8), 2);
|
||||
}
|
||||
|
||||
return isLittleEndian ? $reverse(rawBytes) : rawBytes;
|
||||
} // step 3
|
||||
|
||||
var n = TypeToSizes[type]; // step 3.a
|
||||
|
||||
var convOp = TypeToAO[type]; // step 3.b
|
||||
|
||||
var intValue = convOp(value); // step 3.c
|
||||
|
||||
/*
|
||||
if (intValue >= 0) { // step 3.d
|
||||
// Let rawBytes be a List containing the n-byte binary encoding of intValue. If isLittleEndian is false, the bytes are ordered in big endian order. Otherwise, the bytes are ordered in little endian order.
|
||||
} else { // step 3.e
|
||||
// Let rawBytes be a List containing the n-byte binary 2's complement encoding of intValue. If isLittleEndian is false, the bytes are ordered in big endian order. Otherwise, the bytes are ordered in little endian order.
|
||||
}
|
||||
*/
|
||||
if (intValue < 0) {
|
||||
intValue = intValue >>> 0;
|
||||
}
|
||||
for (i = 0; i < n; i++) {
|
||||
rawBytes[isLittleEndian ? i : n - 1 - i] = intValue & 0xff;
|
||||
intValue = intValue >> 8;
|
||||
}
|
||||
|
||||
return rawBytes; // step 4
|
||||
};
|
||||
@@ -0,0 +1,23 @@
|
||||
import assertString from './util/assertString';
|
||||
import merge from './util/merge';
|
||||
var base32 = /^[A-Z2-7]+=*$/;
|
||||
var crockfordBase32 = /^[A-HJKMNP-TV-Z0-9]+$/;
|
||||
var defaultBase32Options = {
|
||||
crockford: false
|
||||
};
|
||||
export default function isBase32(str, options) {
|
||||
assertString(str);
|
||||
options = merge(options, defaultBase32Options);
|
||||
|
||||
if (options.crockford) {
|
||||
return crockfordBase32.test(str);
|
||||
}
|
||||
|
||||
var len = str.length;
|
||||
|
||||
if (len % 8 === 0 && base32.test(str)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
"use strict";
|
||||
const taskManager = require("./managers/tasks");
|
||||
const patternManager = require("./managers/patterns");
|
||||
const async_1 = require("./providers/async");
|
||||
const stream_1 = require("./providers/stream");
|
||||
const sync_1 = require("./providers/sync");
|
||||
const settings_1 = require("./settings");
|
||||
const utils = require("./utils");
|
||||
async function FastGlob(source, options) {
|
||||
assertPatternsInput(source);
|
||||
const works = getWorks(source, async_1.default, options);
|
||||
const result = await Promise.all(works);
|
||||
return utils.array.flatten(result);
|
||||
}
|
||||
// https://github.com/typescript-eslint/typescript-eslint/issues/60
|
||||
// eslint-disable-next-line no-redeclare
|
||||
(function (FastGlob) {
|
||||
function sync(source, options) {
|
||||
assertPatternsInput(source);
|
||||
const works = getWorks(source, sync_1.default, options);
|
||||
return utils.array.flatten(works);
|
||||
}
|
||||
FastGlob.sync = sync;
|
||||
function stream(source, options) {
|
||||
assertPatternsInput(source);
|
||||
const works = getWorks(source, stream_1.default, options);
|
||||
/**
|
||||
* The stream returned by the provider cannot work with an asynchronous iterator.
|
||||
* To support asynchronous iterators, regardless of the number of tasks, we always multiplex streams.
|
||||
* This affects performance (+25%). I don't see best solution right now.
|
||||
*/
|
||||
return utils.stream.merge(works);
|
||||
}
|
||||
FastGlob.stream = stream;
|
||||
function generateTasks(source, options) {
|
||||
assertPatternsInput(source);
|
||||
const patterns = patternManager.transform([].concat(source));
|
||||
const settings = new settings_1.default(options);
|
||||
return taskManager.generate(patterns, settings);
|
||||
}
|
||||
FastGlob.generateTasks = generateTasks;
|
||||
function isDynamicPattern(source, options) {
|
||||
assertPatternsInput(source);
|
||||
const settings = new settings_1.default(options);
|
||||
return utils.pattern.isDynamicPattern(source, settings);
|
||||
}
|
||||
FastGlob.isDynamicPattern = isDynamicPattern;
|
||||
function escapePath(source) {
|
||||
assertPatternsInput(source);
|
||||
return utils.path.escape(source);
|
||||
}
|
||||
FastGlob.escapePath = escapePath;
|
||||
})(FastGlob || (FastGlob = {}));
|
||||
function getWorks(source, _Provider, options) {
|
||||
const patterns = patternManager.transform([].concat(source));
|
||||
const settings = new settings_1.default(options);
|
||||
const tasks = taskManager.generate(patterns, settings);
|
||||
const provider = new _Provider(settings);
|
||||
return tasks.map(provider.read, provider);
|
||||
}
|
||||
function assertPatternsInput(input) {
|
||||
const source = [].concat(input);
|
||||
const isValidSource = source.every((item) => utils.string.isString(item) && !utils.string.isEmpty(item));
|
||||
if (!isValidSource) {
|
||||
throw new TypeError('Patterns must be a string (non empty) or an array of strings');
|
||||
}
|
||||
}
|
||||
module.exports = FastGlob;
|
||||
@@ -0,0 +1,33 @@
|
||||
/* eslint no-bitwise: "off" */
|
||||
// Credit: https://github.com/paulmillr/es6-shim/
|
||||
|
||||
"use strict";
|
||||
|
||||
var pow = Math.pow;
|
||||
|
||||
module.exports = function (bytes, ebits, fbits) {
|
||||
// Bytes to bits
|
||||
var bits = [], i, j, bit, str, bias, sign, e, fraction;
|
||||
|
||||
for (i = bytes.length; i; i -= 1) {
|
||||
bit = bytes[i - 1];
|
||||
for (j = 8; j; j -= 1) {
|
||||
bits.push(bit % 2 ? 1 : 0);
|
||||
bit >>= 1;
|
||||
}
|
||||
}
|
||||
bits.reverse();
|
||||
str = bits.join("");
|
||||
|
||||
// Unpack sign, exponent, fraction
|
||||
bias = (1 << (ebits - 1)) - 1;
|
||||
sign = parseInt(str.substring(0, 1), 2) ? -1 : 1;
|
||||
e = parseInt(str.substring(1, 1 + ebits), 2);
|
||||
fraction = parseInt(str.substring(1 + ebits), 2);
|
||||
|
||||
// Produce number
|
||||
if (e === (1 << ebits) - 1) return fraction === 0 ? sign * Infinity : NaN;
|
||||
if (e > 0) return sign * pow(2, e - bias) * (1 + fraction / pow(2, fbits));
|
||||
if (fraction !== 0) return sign * pow(2, -(bias - 1)) * (fraction / pow(2, fbits));
|
||||
return sign < 0 ? -0 : 0;
|
||||
};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,27 @@
|
||||
import { Observable } from '../Observable';
|
||||
import { SchedulerLike } from '../types';
|
||||
|
||||
export function scheduleArray<T>(input: ArrayLike<T>, scheduler: SchedulerLike) {
|
||||
return new Observable<T>((subscriber) => {
|
||||
// The current array index.
|
||||
let i = 0;
|
||||
// Start iterating over the array like on a schedule.
|
||||
return scheduler.schedule(function () {
|
||||
if (i === input.length) {
|
||||
// If we have hit the end of the array like in the
|
||||
// previous job, we can complete.
|
||||
subscriber.complete();
|
||||
} else {
|
||||
// Otherwise let's next the value at the current index,
|
||||
// then increment our index.
|
||||
subscriber.next(input[i++]);
|
||||
// If the last emission didn't cause us to close the subscriber
|
||||
// (via take or some side effect), reschedule the job and we'll
|
||||
// make another pass.
|
||||
if (!subscriber.closed) {
|
||||
this.schedule();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"1":"A B","16":"CC","132":"J D E F"},B:{"1":"C 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"},C:{"1":"0 1 2 3 4 5 6 7 8 9 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","2":"DC tB I v J D EC FC"},D:{"1":"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 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"},E:{"1":"I v J D E F A B C K L G IC JC KC LC 0B qB rB 1B MC NC 2B 3B 4B 5B sB 6B 7B 8B 9B OC","2":"HC zB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 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 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 QC RC SC qB AC TC rB","16":"F PC"},G:{"1":"E 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","16":"zB"},H:{"1":"oC"},I:{"1":"tB I f rC sC BC tC uC","16":"pC qC"},J:{"1":"D A"},K:{"1":"A B C h qB AC rB"},L:{"1":"H"},M:{"1":"H"},N:{"1":"A B"},O:{"1":"vC"},P:{"1":"I g wC xC yC zC 0C 0B 1C 2C 3C 4C 5C sB 6C 7C 8C"},Q:{"1":"1B"},R:{"1":"9C"},S:{"1":"AD BD"}},B:4,C:"Element.insertAdjacentHTML()"};
|
||||
@@ -0,0 +1,10 @@
|
||||
/***
|
||||
* Node External Editor
|
||||
*
|
||||
* Kevin Gravier <kevin@mrkmg.com>
|
||||
* MIT 2018
|
||||
*/
|
||||
export declare class CreateFileError extends Error {
|
||||
originalError: Error;
|
||||
constructor(originalError: Error);
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = require('./async').mapLimit;
|
||||
@@ -0,0 +1,11 @@
|
||||
"use strict";
|
||||
|
||||
var generated = Object.create(null), random = Math.random;
|
||||
|
||||
module.exports = function () {
|
||||
var str;
|
||||
do {
|
||||
str = random().toString(36).slice(2);
|
||||
} while (generated[str]);
|
||||
return str;
|
||||
};
|
||||
@@ -0,0 +1,8 @@
|
||||
import { NumberFormatInternal } from '../types/number';
|
||||
/**
|
||||
* https://tc39.es/ecma402/#sec-formatnumberstring
|
||||
*/
|
||||
export declare function PartitionNumberPattern(numberFormat: Intl.NumberFormat, x: number, { getInternalSlots, }: {
|
||||
getInternalSlots(nf: Intl.NumberFormat): NumberFormatInternal;
|
||||
}): import("../types/number").NumberFormatPart[];
|
||||
//# sourceMappingURL=PartitionNumberPattern.d.ts.map
|
||||
@@ -0,0 +1,10 @@
|
||||
import getIterator from 'es-get-iterator';
|
||||
import Module from 'module';
|
||||
|
||||
const require = Module.createRequire(import.meta.url);
|
||||
const id = require.resolve('../node');
|
||||
const mod = new Module(id);
|
||||
mod.exports = getIterator;
|
||||
require.cache[id] = mod;
|
||||
|
||||
require('./');
|
||||
@@ -0,0 +1,414 @@
|
||||
import idbDriver from './drivers/indexeddb';
|
||||
import websqlDriver from './drivers/websql';
|
||||
import localstorageDriver from './drivers/localstorage';
|
||||
import serializer from './utils/serializer';
|
||||
import Promise from './utils/promise';
|
||||
import executeCallback from './utils/executeCallback';
|
||||
import executeTwoCallbacks from './utils/executeTwoCallbacks';
|
||||
import includes from './utils/includes';
|
||||
import isArray from './utils/isArray';
|
||||
|
||||
// Drivers are stored here when `defineDriver()` is called.
|
||||
// They are shared across all instances of localForage.
|
||||
const DefinedDrivers = {};
|
||||
|
||||
const DriverSupport = {};
|
||||
|
||||
const DefaultDrivers = {
|
||||
INDEXEDDB: idbDriver,
|
||||
WEBSQL: websqlDriver,
|
||||
LOCALSTORAGE: localstorageDriver
|
||||
};
|
||||
|
||||
const DefaultDriverOrder = [
|
||||
DefaultDrivers.INDEXEDDB._driver,
|
||||
DefaultDrivers.WEBSQL._driver,
|
||||
DefaultDrivers.LOCALSTORAGE._driver
|
||||
];
|
||||
|
||||
const OptionalDriverMethods = ['dropInstance'];
|
||||
|
||||
const LibraryMethods = [
|
||||
'clear',
|
||||
'getItem',
|
||||
'iterate',
|
||||
'key',
|
||||
'keys',
|
||||
'length',
|
||||
'removeItem',
|
||||
'setItem'
|
||||
].concat(OptionalDriverMethods);
|
||||
|
||||
const DefaultConfig = {
|
||||
description: '',
|
||||
driver: DefaultDriverOrder.slice(),
|
||||
name: 'localforage',
|
||||
// Default DB size is _JUST UNDER_ 5MB, as it's the highest size
|
||||
// we can use without a prompt.
|
||||
size: 4980736,
|
||||
storeName: 'keyvaluepairs',
|
||||
version: 1.0
|
||||
};
|
||||
|
||||
function callWhenReady(localForageInstance, libraryMethod) {
|
||||
localForageInstance[libraryMethod] = function() {
|
||||
const _args = arguments;
|
||||
return localForageInstance.ready().then(function() {
|
||||
return localForageInstance[libraryMethod].apply(
|
||||
localForageInstance,
|
||||
_args
|
||||
);
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
function extend() {
|
||||
for (let i = 1; i < arguments.length; i++) {
|
||||
const arg = arguments[i];
|
||||
|
||||
if (arg) {
|
||||
for (let key in arg) {
|
||||
if (arg.hasOwnProperty(key)) {
|
||||
if (isArray(arg[key])) {
|
||||
arguments[0][key] = arg[key].slice();
|
||||
} else {
|
||||
arguments[0][key] = arg[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return arguments[0];
|
||||
}
|
||||
|
||||
class LocalForage {
|
||||
constructor(options) {
|
||||
for (let driverTypeKey in DefaultDrivers) {
|
||||
if (DefaultDrivers.hasOwnProperty(driverTypeKey)) {
|
||||
const driver = DefaultDrivers[driverTypeKey];
|
||||
const driverName = driver._driver;
|
||||
this[driverTypeKey] = driverName;
|
||||
|
||||
if (!DefinedDrivers[driverName]) {
|
||||
// we don't need to wait for the promise,
|
||||
// since the default drivers can be defined
|
||||
// in a blocking manner
|
||||
this.defineDriver(driver);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this._defaultConfig = extend({}, DefaultConfig);
|
||||
this._config = extend({}, this._defaultConfig, options);
|
||||
this._driverSet = null;
|
||||
this._initDriver = null;
|
||||
this._ready = false;
|
||||
this._dbInfo = null;
|
||||
|
||||
this._wrapLibraryMethodsWithReady();
|
||||
this.setDriver(this._config.driver).catch(() => {});
|
||||
}
|
||||
|
||||
// Set any config values for localForage; can be called anytime before
|
||||
// the first API call (e.g. `getItem`, `setItem`).
|
||||
// We loop through options so we don't overwrite existing config
|
||||
// values.
|
||||
config(options) {
|
||||
// If the options argument is an object, we use it to set values.
|
||||
// Otherwise, we return either a specified config value or all
|
||||
// config values.
|
||||
if (typeof options === 'object') {
|
||||
// If localforage is ready and fully initialized, we can't set
|
||||
// any new configuration values. Instead, we return an error.
|
||||
if (this._ready) {
|
||||
return new Error(
|
||||
"Can't call config() after localforage " + 'has been used.'
|
||||
);
|
||||
}
|
||||
|
||||
for (let i in options) {
|
||||
if (i === 'storeName') {
|
||||
options[i] = options[i].replace(/\W/g, '_');
|
||||
}
|
||||
|
||||
if (i === 'version' && typeof options[i] !== 'number') {
|
||||
return new Error('Database version must be a number.');
|
||||
}
|
||||
|
||||
this._config[i] = options[i];
|
||||
}
|
||||
|
||||
// after all config options are set and
|
||||
// the driver option is used, try setting it
|
||||
if ('driver' in options && options.driver) {
|
||||
return this.setDriver(this._config.driver);
|
||||
}
|
||||
|
||||
return true;
|
||||
} else if (typeof options === 'string') {
|
||||
return this._config[options];
|
||||
} else {
|
||||
return this._config;
|
||||
}
|
||||
}
|
||||
|
||||
// Used to define a custom driver, shared across all instances of
|
||||
// localForage.
|
||||
defineDriver(driverObject, callback, errorCallback) {
|
||||
const promise = new Promise(function(resolve, reject) {
|
||||
try {
|
||||
const driverName = driverObject._driver;
|
||||
const complianceError = new Error(
|
||||
'Custom driver not compliant; see ' +
|
||||
'https://mozilla.github.io/localForage/#definedriver'
|
||||
);
|
||||
|
||||
// A driver name should be defined and not overlap with the
|
||||
// library-defined, default drivers.
|
||||
if (!driverObject._driver) {
|
||||
reject(complianceError);
|
||||
return;
|
||||
}
|
||||
|
||||
const driverMethods = LibraryMethods.concat('_initStorage');
|
||||
for (let i = 0, len = driverMethods.length; i < len; i++) {
|
||||
const driverMethodName = driverMethods[i];
|
||||
|
||||
// when the property is there,
|
||||
// it should be a method even when optional
|
||||
const isRequired = !includes(
|
||||
OptionalDriverMethods,
|
||||
driverMethodName
|
||||
);
|
||||
if (
|
||||
(isRequired || driverObject[driverMethodName]) &&
|
||||
typeof driverObject[driverMethodName] !== 'function'
|
||||
) {
|
||||
reject(complianceError);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
const configureMissingMethods = function() {
|
||||
const methodNotImplementedFactory = function(methodName) {
|
||||
return function() {
|
||||
const error = new Error(
|
||||
`Method ${methodName} is not implemented by the current driver`
|
||||
);
|
||||
const promise = Promise.reject(error);
|
||||
executeCallback(
|
||||
promise,
|
||||
arguments[arguments.length - 1]
|
||||
);
|
||||
return promise;
|
||||
};
|
||||
};
|
||||
|
||||
for (
|
||||
let i = 0, len = OptionalDriverMethods.length;
|
||||
i < len;
|
||||
i++
|
||||
) {
|
||||
const optionalDriverMethod = OptionalDriverMethods[i];
|
||||
if (!driverObject[optionalDriverMethod]) {
|
||||
driverObject[
|
||||
optionalDriverMethod
|
||||
] = methodNotImplementedFactory(
|
||||
optionalDriverMethod
|
||||
);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
configureMissingMethods();
|
||||
|
||||
const setDriverSupport = function(support) {
|
||||
if (DefinedDrivers[driverName]) {
|
||||
console.info(
|
||||
`Redefining LocalForage driver: ${driverName}`
|
||||
);
|
||||
}
|
||||
DefinedDrivers[driverName] = driverObject;
|
||||
DriverSupport[driverName] = support;
|
||||
// don't use a then, so that we can define
|
||||
// drivers that have simple _support methods
|
||||
// in a blocking manner
|
||||
resolve();
|
||||
};
|
||||
|
||||
if ('_support' in driverObject) {
|
||||
if (
|
||||
driverObject._support &&
|
||||
typeof driverObject._support === 'function'
|
||||
) {
|
||||
driverObject._support().then(setDriverSupport, reject);
|
||||
} else {
|
||||
setDriverSupport(!!driverObject._support);
|
||||
}
|
||||
} else {
|
||||
setDriverSupport(true);
|
||||
}
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
});
|
||||
|
||||
executeTwoCallbacks(promise, callback, errorCallback);
|
||||
return promise;
|
||||
}
|
||||
|
||||
driver() {
|
||||
return this._driver || null;
|
||||
}
|
||||
|
||||
getDriver(driverName, callback, errorCallback) {
|
||||
const getDriverPromise = DefinedDrivers[driverName]
|
||||
? Promise.resolve(DefinedDrivers[driverName])
|
||||
: Promise.reject(new Error('Driver not found.'));
|
||||
|
||||
executeTwoCallbacks(getDriverPromise, callback, errorCallback);
|
||||
return getDriverPromise;
|
||||
}
|
||||
|
||||
getSerializer(callback) {
|
||||
const serializerPromise = Promise.resolve(serializer);
|
||||
executeTwoCallbacks(serializerPromise, callback);
|
||||
return serializerPromise;
|
||||
}
|
||||
|
||||
ready(callback) {
|
||||
const self = this;
|
||||
|
||||
const promise = self._driverSet.then(() => {
|
||||
if (self._ready === null) {
|
||||
self._ready = self._initDriver();
|
||||
}
|
||||
|
||||
return self._ready;
|
||||
});
|
||||
|
||||
executeTwoCallbacks(promise, callback, callback);
|
||||
return promise;
|
||||
}
|
||||
|
||||
setDriver(drivers, callback, errorCallback) {
|
||||
const self = this;
|
||||
|
||||
if (!isArray(drivers)) {
|
||||
drivers = [drivers];
|
||||
}
|
||||
|
||||
const supportedDrivers = this._getSupportedDrivers(drivers);
|
||||
|
||||
function setDriverToConfig() {
|
||||
self._config.driver = self.driver();
|
||||
}
|
||||
|
||||
function extendSelfWithDriver(driver) {
|
||||
self._extend(driver);
|
||||
setDriverToConfig();
|
||||
|
||||
self._ready = self._initStorage(self._config);
|
||||
return self._ready;
|
||||
}
|
||||
|
||||
function initDriver(supportedDrivers) {
|
||||
return function() {
|
||||
let currentDriverIndex = 0;
|
||||
|
||||
function driverPromiseLoop() {
|
||||
while (currentDriverIndex < supportedDrivers.length) {
|
||||
let driverName = supportedDrivers[currentDriverIndex];
|
||||
currentDriverIndex++;
|
||||
|
||||
self._dbInfo = null;
|
||||
self._ready = null;
|
||||
|
||||
return self
|
||||
.getDriver(driverName)
|
||||
.then(extendSelfWithDriver)
|
||||
.catch(driverPromiseLoop);
|
||||
}
|
||||
|
||||
setDriverToConfig();
|
||||
const error = new Error(
|
||||
'No available storage method found.'
|
||||
);
|
||||
self._driverSet = Promise.reject(error);
|
||||
return self._driverSet;
|
||||
}
|
||||
|
||||
return driverPromiseLoop();
|
||||
};
|
||||
}
|
||||
|
||||
// There might be a driver initialization in progress
|
||||
// so wait for it to finish in order to avoid a possible
|
||||
// race condition to set _dbInfo
|
||||
const oldDriverSetDone =
|
||||
this._driverSet !== null
|
||||
? this._driverSet.catch(() => Promise.resolve())
|
||||
: Promise.resolve();
|
||||
|
||||
this._driverSet = oldDriverSetDone
|
||||
.then(() => {
|
||||
const driverName = supportedDrivers[0];
|
||||
self._dbInfo = null;
|
||||
self._ready = null;
|
||||
|
||||
return self.getDriver(driverName).then(driver => {
|
||||
self._driver = driver._driver;
|
||||
setDriverToConfig();
|
||||
self._wrapLibraryMethodsWithReady();
|
||||
self._initDriver = initDriver(supportedDrivers);
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
setDriverToConfig();
|
||||
const error = new Error('No available storage method found.');
|
||||
self._driverSet = Promise.reject(error);
|
||||
return self._driverSet;
|
||||
});
|
||||
|
||||
executeTwoCallbacks(this._driverSet, callback, errorCallback);
|
||||
return this._driverSet;
|
||||
}
|
||||
|
||||
supports(driverName) {
|
||||
return !!DriverSupport[driverName];
|
||||
}
|
||||
|
||||
_extend(libraryMethodsAndProperties) {
|
||||
extend(this, libraryMethodsAndProperties);
|
||||
}
|
||||
|
||||
_getSupportedDrivers(drivers) {
|
||||
const supportedDrivers = [];
|
||||
for (let i = 0, len = drivers.length; i < len; i++) {
|
||||
const driverName = drivers[i];
|
||||
if (this.supports(driverName)) {
|
||||
supportedDrivers.push(driverName);
|
||||
}
|
||||
}
|
||||
return supportedDrivers;
|
||||
}
|
||||
|
||||
_wrapLibraryMethodsWithReady() {
|
||||
// Add a stub for each driver API method that delays the call to the
|
||||
// corresponding driver method until localForage is ready. These stubs
|
||||
// will be replaced by the driver methods as soon as the driver is
|
||||
// loaded, so there is no performance impact.
|
||||
for (let i = 0, len = LibraryMethods.length; i < len; i++) {
|
||||
callWhenReady(this, LibraryMethods[i]);
|
||||
}
|
||||
}
|
||||
|
||||
createInstance(options) {
|
||||
return new LocalForage(options);
|
||||
}
|
||||
}
|
||||
|
||||
// The actual localForage object that we expose as a module or via a
|
||||
// global. It's extended by pulling in one of our other libraries.
|
||||
export default new LocalForage();
|
||||
@@ -0,0 +1,5 @@
|
||||
import Component from '../../../Component';
|
||||
import Block from '../../Block';
|
||||
import BindingWrapper from '../Element/Binding';
|
||||
import { Identifier } from 'estree';
|
||||
export default function bind_this(component: Component, block: Block, binding: BindingWrapper, variable: Identifier): import("estree").Node[];
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"2":"J D E F A B CC"},B:{"1":"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","328":"P Q R S T U"},C:{"1":"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":"DC tB EC FC","161":"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 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"},D:{"1":"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 YB uB ZB vB aB bB cB dB eB","328":"fB gB hB iB jB kB h lB mB nB oB pB P Q R S T U"},E:{"1":"3B 4B 5B sB 6B 7B 8B 9B OC","2":"I v J D E F A B C K L HC zB IC JC KC LC 0B qB rB 1B MC","578":"G NC 2B"},F:{"1":"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 UB VB WB XB YB ZB aB bB cB dB PC QC RC SC qB AC TC rB","328":"eB fB gB hB iB jB"},G:{"1":"3B 4B 5B sB 6B 7B 8B 9B","2":"E zB UC BC VC WC XC YC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC","578":"nC 2B"},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:{"2":"vC"},P:{"1":"g 4C 5C sB 6C 7C 8C","2":"I wC xC yC zC 0C 0B 1C 2C 3C"},Q:{"2":"1B"},R:{"1":"9C"},S:{"161":"AD BD"}},B:5,C:":focus-visible CSS pseudo-class"};
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"name": "wrappy",
|
||||
"version": "1.0.2",
|
||||
"description": "Callback wrapping utility",
|
||||
"main": "wrappy.js",
|
||||
"files": [
|
||||
"wrappy.js"
|
||||
],
|
||||
"directories": {
|
||||
"test": "test"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"tap": "^2.3.1"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "tap --coverage test/*.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/npm/wrappy"
|
||||
},
|
||||
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
|
||||
"license": "ISC",
|
||||
"bugs": {
|
||||
"url": "https://github.com/npm/wrappy/issues"
|
||||
},
|
||||
"homepage": "https://github.com/npm/wrappy"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
'use strict';
|
||||
|
||||
var GetIntrinsic = require('get-intrinsic');
|
||||
|
||||
var $TypeError = GetIntrinsic('%TypeError%');
|
||||
|
||||
var substring = require('./substring');
|
||||
var Type = require('./Type');
|
||||
|
||||
var assertRecord = require('../helpers/assertRecord');
|
||||
|
||||
// https://262.ecma-international.org/13.0/#sec-getmatchstring
|
||||
|
||||
module.exports = function GetMatchString(S, match) {
|
||||
if (Type(S) !== 'String') {
|
||||
throw new $TypeError('Assertion failed: `S` must be a String');
|
||||
}
|
||||
assertRecord(Type, 'Match Record', 'match', match);
|
||||
|
||||
if (!(match['[[StartIndex]]'] <= S.length)) {
|
||||
throw new $TypeError('`match` [[StartIndex]] must be a non-negative integer <= the length of S');
|
||||
}
|
||||
if (!(match['[[EndIndex]]'] <= S.length)) {
|
||||
throw new $TypeError('`match` [[EndIndex]] must be an integer between [[StartIndex]] and the length of S, inclusive');
|
||||
}
|
||||
return substring(S, match['[[StartIndex]]'], match['[[EndIndex]]']);
|
||||
};
|
||||
@@ -0,0 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
var objToString = Object.prototype.toString
|
||||
, id = objToString.call((function () { return arguments; })());
|
||||
|
||||
module.exports = function (value) { return objToString.call(value) === id; };
|
||||
@@ -0,0 +1,3 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = require("./lib/weak")(require("./"));
|
||||
@@ -0,0 +1,15 @@
|
||||
if(typeof cptable === 'undefined') cptable = {};
|
||||
cptable[57005] = (function(){ var d = [], e = {}, D = [], j;
|
||||
D[0] = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~
<C29E>ఁంఃఅఆఇఈఉఊఋఎఏఐఐఒఓఔఔకఖగఘఙచఛజఝఞటఠడఢణతథదధననపఫబభమయయరఱలళళవశషసహ<E0B0B8>ాిీుూృెేైైొోౌౌ్<E0B18C>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>౦౧౨౩౪౫౬౭౮౯<E0B1AE><E0B1AF><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}
|
||||
D[166] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ఌ<EFBFBD><E0B08C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}
|
||||
D[167] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ౡ<EFBFBD><E0B1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}
|
||||
D[170] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ౠ<EFBFBD><E0B1A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}
|
||||
D[223] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ౄ<EFBFBD><E0B184><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}
|
||||
D[239] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>౯౯౯౯౯౯౯౯౯౯౯౯<E0B1AF><E0B1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}
|
||||
return {"enc": e, "dec": d }; })();
|
||||
@@ -0,0 +1,80 @@
|
||||
'use strict'
|
||||
module.exports = parseStream
|
||||
|
||||
const stream = require('stream')
|
||||
const TOMLParser = require('./lib/toml-parser.js')
|
||||
|
||||
function parseStream (stm) {
|
||||
if (stm) {
|
||||
return parseReadable(stm)
|
||||
} else {
|
||||
return parseTransform(stm)
|
||||
}
|
||||
}
|
||||
|
||||
function parseReadable (stm) {
|
||||
const parser = new TOMLParser()
|
||||
stm.setEncoding('utf8')
|
||||
return new Promise((resolve, reject) => {
|
||||
let readable
|
||||
let ended = false
|
||||
let errored = false
|
||||
function finish () {
|
||||
ended = true
|
||||
if (readable) return
|
||||
try {
|
||||
resolve(parser.finish())
|
||||
} catch (err) {
|
||||
reject(err)
|
||||
}
|
||||
}
|
||||
function error (err) {
|
||||
errored = true
|
||||
reject(err)
|
||||
}
|
||||
stm.once('end', finish)
|
||||
stm.once('error', error)
|
||||
readNext()
|
||||
|
||||
function readNext () {
|
||||
readable = true
|
||||
let data
|
||||
while ((data = stm.read()) !== null) {
|
||||
try {
|
||||
parser.parse(data)
|
||||
} catch (err) {
|
||||
return error(err)
|
||||
}
|
||||
}
|
||||
readable = false
|
||||
/* istanbul ignore if */
|
||||
if (ended) return finish()
|
||||
/* istanbul ignore if */
|
||||
if (errored) return
|
||||
stm.once('readable', readNext)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function parseTransform () {
|
||||
const parser = new TOMLParser()
|
||||
return new stream.Transform({
|
||||
objectMode: true,
|
||||
transform (chunk, encoding, cb) {
|
||||
try {
|
||||
parser.parse(chunk.toString(encoding))
|
||||
} catch (err) {
|
||||
this.emit('error', err)
|
||||
}
|
||||
cb()
|
||||
},
|
||||
flush (cb) {
|
||||
try {
|
||||
this.push(parser.finish())
|
||||
} catch (err) {
|
||||
this.emit('error', err)
|
||||
}
|
||||
cb()
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
# PostCSS Nested
|
||||
|
||||
<img align="right" width="135" height="95"
|
||||
title="Philosopher’s stone, logo of PostCSS"
|
||||
src="https://postcss.org/logo-leftp.svg">
|
||||
|
||||
[PostCSS] plugin to unwrap nested rules like how Sass does it.
|
||||
|
||||
```css
|
||||
.phone {
|
||||
&_title {
|
||||
width: 500px;
|
||||
@media (max-width: 500px) {
|
||||
width: auto;
|
||||
}
|
||||
body.is_dark & {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
img {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: var(--font);
|
||||
|
||||
@at-root html {
|
||||
--font: 16px
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
will be processed to:
|
||||
|
||||
```css
|
||||
.phone_title {
|
||||
width: 500px;
|
||||
}
|
||||
@media (max-width: 500px) {
|
||||
.phone_title {
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
body.is_dark .phone_title {
|
||||
color: white;
|
||||
}
|
||||
.phone img {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: var(--font);
|
||||
}
|
||||
html {
|
||||
--font: 16px
|
||||
}
|
||||
```
|
||||
|
||||
Related plugins:
|
||||
|
||||
* Use [`postcss-atroot`] for `@at-root` at-rule to move nested child
|
||||
to the CSS root.
|
||||
* Use [`postcss-current-selector`] **after** this plugin if you want
|
||||
to use current selector in properties or variables values.
|
||||
* Use [`postcss-nested-ancestors`] **before** this plugin if you want
|
||||
to reference any ancestor element directly in your selectors with `^&`.
|
||||
|
||||
Alternatives:
|
||||
|
||||
* See also [`postcss-nesting`], which implements [CSSWG draft]
|
||||
(requires the `&` and introduces `@nest`).
|
||||
* [`postcss-nested-props`] for nested properties like `font-size`.
|
||||
|
||||
<a href="https://evilmartians.com/?utm_source=postcss-nested">
|
||||
<img src="https://evilmartians.com/badges/sponsored-by-evil-martians.svg"
|
||||
alt="Sponsored by Evil Martians" width="236" height="54">
|
||||
</a>
|
||||
|
||||
[`postcss-atroot`]: https://github.com/OEvgeny/postcss-atroot
|
||||
[`postcss-current-selector`]: https://github.com/komlev/postcss-current-selector
|
||||
[`postcss-nested-ancestors`]: https://github.com/toomuchdesign/postcss-nested-ancestors
|
||||
[`postcss-nested-props`]: https://github.com/jedmao/postcss-nested-props
|
||||
[`postcss-nesting`]: https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-nesting
|
||||
[CSSWG draft]: https://drafts.csswg.org/css-nesting-1/
|
||||
[PostCSS]: https://github.com/postcss/postcss
|
||||
|
||||
|
||||
## Docs
|
||||
Read **[full docs](https://github.com/postcss/postcss-nested#readme)** on GitHub.
|
||||
@@ -0,0 +1 @@
|
||||
{"name":"balanced-match","version":"1.0.2","files":{"index.js":{"checkedAt":1678883672412,"integrity":"sha512-On+I14WfZSKe2XPS92lPrfgetskE+fzKficLb9X1QFKvV3icK7v09X2e3vLNf/ywEfZm9DoNbjt3blnFcmqUHw==","mode":420,"size":1219},"package.json":{"checkedAt":1678883672412,"integrity":"sha512-Sc4WoEcmCNFuCSsGAoqFTlyA+94wAG/btgiNrpF3Dvh5ZaMvbockdxn7eYH+w969whabnfEY1n1lalN4Yg25wQ==","mode":420,"size":1069},"LICENSE.md":{"checkedAt":1678883672413,"integrity":"sha512-OJZRzHJff6KN+0Xl3oTiMiEmGPStwYdEOVbIcl5WhPOd0lvwQPlVE9F2de0t5xiPoRDmabkZh62VapXCJKzCUQ==","mode":420,"size":1096},"README.md":{"checkedAt":1678883672413,"integrity":"sha512-1aLuAwBwaFDuKgITe09b0qLG7m3apKOatp9257NArTfHQsR755gSKZhacBKxoXWYEvootkJFOzvbEpS3r3il8A==","mode":420,"size":3502},".github/FUNDING.yml":{"checkedAt":1678883672413,"integrity":"sha512-0gDr7nLxDDZ91NG6c++h87vNoDSkjotzVezJvS6yQazB3wQxYOThpd1rIqe3ImbLkKGJ6bR+bLkBKwQKayTYcQ==","mode":420,"size":53}}}
|
||||
@@ -0,0 +1,47 @@
|
||||
import assertString from './util/assertString';
|
||||
/* eslint-disable max-len */
|
||||
// from http://goo.gl/0ejHHW
|
||||
|
||||
var iso8601 = /^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/; // same as above, except with a strict 'T' separator between date and time
|
||||
|
||||
var iso8601StrictSeparator = /^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;
|
||||
/* eslint-enable max-len */
|
||||
|
||||
var isValidDate = function isValidDate(str) {
|
||||
// str must have passed the ISO8601 check
|
||||
// this check is meant to catch invalid dates
|
||||
// like 2009-02-31
|
||||
// first check for ordinal dates
|
||||
var ordinalMatch = str.match(/^(\d{4})-?(\d{3})([ T]{1}\.*|$)/);
|
||||
|
||||
if (ordinalMatch) {
|
||||
var oYear = Number(ordinalMatch[1]);
|
||||
var oDay = Number(ordinalMatch[2]); // if is leap year
|
||||
|
||||
if (oYear % 4 === 0 && oYear % 100 !== 0 || oYear % 400 === 0) return oDay <= 366;
|
||||
return oDay <= 365;
|
||||
}
|
||||
|
||||
var match = str.match(/(\d{4})-?(\d{0,2})-?(\d*)/).map(Number);
|
||||
var year = match[1];
|
||||
var month = match[2];
|
||||
var day = match[3];
|
||||
var monthString = month ? "0".concat(month).slice(-2) : month;
|
||||
var dayString = day ? "0".concat(day).slice(-2) : day; // create a date object and compare
|
||||
|
||||
var d = new Date("".concat(year, "-").concat(monthString || '01', "-").concat(dayString || '01'));
|
||||
|
||||
if (month && day) {
|
||||
return d.getUTCFullYear() === year && d.getUTCMonth() + 1 === month && d.getUTCDate() === day;
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
|
||||
export default function isISO8601(str) {
|
||||
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
||||
assertString(str);
|
||||
var check = options.strictSeparator ? iso8601StrictSeparator.test(str) : iso8601.test(str);
|
||||
if (check && options.strict) return isValidDate(str);
|
||||
return check;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"2":"J D E F CC","260":"A B"},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","260":"C K L G M N O"},C:{"1":"4 5 6 7 8 9 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","2":"DC tB EC","260":"0 1 2 3 I v J D E F A B C K L G M N O w g x y z FC"},D:{"1":"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 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":"I v","260":"0 1 2 3 4 5 6 7 8 9 K L G M N O w g x y z AB BB CB DB","388":"J D E F A B C"},E:{"1":"A B C K L G 0B qB rB 1B MC NC 2B 3B 4B 5B sB 6B 7B 8B 9B OC","2":"I v HC zB","260":"J D E F JC KC LC","388":"IC"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB h lB mB nB oB pB P Q R wB S T U V W X Y Z a b c d e","2":"F B PC QC RC SC","260":"0 C G M N O w g x y z qB AC TC rB"},G:{"1":"bC cC dC eC fC gC hC iC jC kC lC mC nC 2B 3B 4B 5B sB 6B 7B 8B 9B","2":"zB UC BC VC","260":"E WC XC YC ZC aC"},H:{"2":"oC"},I:{"1":"f uC","2":"pC qC rC","260":"tC","388":"tB I sC BC"},J:{"260":"A","388":"D"},K:{"1":"h","2":"A B","260":"C qB AC rB"},L:{"1":"H"},M:{"1":"H"},N:{"2":"A","260":"B"},O:{"1":"vC"},P:{"1":"I g wC xC yC zC 0C 0B 1C 2C 3C 4C 5C sB 6C 7C 8C"},Q:{"1":"1B"},R:{"1":"9C"},S:{"1":"AD BD"}},B:5,C:"File API"};
|
||||
@@ -0,0 +1,18 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = toInt;
|
||||
|
||||
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
function toInt(str, radix) {
|
||||
(0, _assertString.default)(str);
|
||||
return parseInt(str, radix || 10);
|
||||
}
|
||||
|
||||
module.exports = exports.default;
|
||||
module.exports.default = exports.default;
|
||||
@@ -0,0 +1,54 @@
|
||||
import { __assign, __rest } from "tslib";
|
||||
import { createOperatorSubscriber } from '../../operators/OperatorSubscriber';
|
||||
import { Observable } from '../../Observable';
|
||||
import { innerFrom } from '../../observable/innerFrom';
|
||||
export function fromFetch(input, initWithSelector) {
|
||||
if (initWithSelector === void 0) { initWithSelector = {}; }
|
||||
var selector = initWithSelector.selector, init = __rest(initWithSelector, ["selector"]);
|
||||
return new Observable(function (subscriber) {
|
||||
var controller = new AbortController();
|
||||
var signal = controller.signal;
|
||||
var abortable = true;
|
||||
var outerSignal = init.signal;
|
||||
if (outerSignal) {
|
||||
if (outerSignal.aborted) {
|
||||
controller.abort();
|
||||
}
|
||||
else {
|
||||
var outerSignalHandler_1 = function () {
|
||||
if (!signal.aborted) {
|
||||
controller.abort();
|
||||
}
|
||||
};
|
||||
outerSignal.addEventListener('abort', outerSignalHandler_1);
|
||||
subscriber.add(function () { return outerSignal.removeEventListener('abort', outerSignalHandler_1); });
|
||||
}
|
||||
}
|
||||
var perSubscriberInit = __assign(__assign({}, init), { signal: signal });
|
||||
var handleError = function (err) {
|
||||
abortable = false;
|
||||
subscriber.error(err);
|
||||
};
|
||||
fetch(input, perSubscriberInit)
|
||||
.then(function (response) {
|
||||
if (selector) {
|
||||
innerFrom(selector(response)).subscribe(createOperatorSubscriber(subscriber, undefined, function () {
|
||||
abortable = false;
|
||||
subscriber.complete();
|
||||
}, handleError));
|
||||
}
|
||||
else {
|
||||
abortable = false;
|
||||
subscriber.next(response);
|
||||
subscriber.complete();
|
||||
}
|
||||
})
|
||||
.catch(handleError);
|
||||
return function () {
|
||||
if (abortable) {
|
||||
controller.abort();
|
||||
}
|
||||
};
|
||||
});
|
||||
}
|
||||
//# sourceMappingURL=fetch.js.map
|
||||
@@ -0,0 +1,12 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: [ljharb]
|
||||
patreon: # Replace with a single Patreon username
|
||||
open_collective: # Replace with a single Open Collective username
|
||||
ko_fi: # Replace with a single Ko-fi username
|
||||
tidelift: npm/has-property-descriptors
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: # Replace with a single Liberapay username
|
||||
issuehunt: # Replace with a single IssueHunt username
|
||||
otechie: # Replace with a single Otechie username
|
||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
||||
@@ -0,0 +1,55 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ToRawFixed = void 0;
|
||||
var utils_1 = require("../utils");
|
||||
/**
|
||||
* TODO: dedup with intl-pluralrules and support BigInt
|
||||
* https://tc39.es/ecma402/#sec-torawfixed
|
||||
* @param x a finite non-negative Number or BigInt
|
||||
* @param minFraction and integer between 0 and 20
|
||||
* @param maxFraction and integer between 0 and 20
|
||||
*/
|
||||
function ToRawFixed(x, minFraction, maxFraction) {
|
||||
var f = maxFraction;
|
||||
var n = Math.round(x * Math.pow(10, f));
|
||||
var xFinal = n / Math.pow(10, f);
|
||||
// n is a positive integer, but it is possible to be greater than 1e21.
|
||||
// In such case we will go the slow path.
|
||||
// See also: https://tc39.es/ecma262/#sec-numeric-types-number-tostring
|
||||
var m;
|
||||
if (n < 1e21) {
|
||||
m = n.toString();
|
||||
}
|
||||
else {
|
||||
m = n.toString();
|
||||
var _a = m.split('e'), mantissa = _a[0], exponent = _a[1];
|
||||
m = mantissa.replace('.', '');
|
||||
m = m + (0, utils_1.repeat)('0', Math.max(+exponent - m.length + 1, 0));
|
||||
}
|
||||
var int;
|
||||
if (f !== 0) {
|
||||
var k = m.length;
|
||||
if (k <= f) {
|
||||
var z = (0, utils_1.repeat)('0', f + 1 - k);
|
||||
m = z + m;
|
||||
k = f + 1;
|
||||
}
|
||||
var a = m.slice(0, k - f);
|
||||
var b = m.slice(k - f);
|
||||
m = "".concat(a, ".").concat(b);
|
||||
int = a.length;
|
||||
}
|
||||
else {
|
||||
int = m.length;
|
||||
}
|
||||
var cut = maxFraction - minFraction;
|
||||
while (cut > 0 && m[m.length - 1] === '0') {
|
||||
m = m.slice(0, -1);
|
||||
cut--;
|
||||
}
|
||||
if (m[m.length - 1] === '.') {
|
||||
m = m.slice(0, -1);
|
||||
}
|
||||
return { formattedString: m, roundedNumber: xFinal, integerDigitsCount: int };
|
||||
}
|
||||
exports.ToRawFixed = ToRawFixed;
|
||||
@@ -0,0 +1,4 @@
|
||||
(function * () {
|
||||
var a = require('a');
|
||||
var b = yield require('c')(a);
|
||||
})();
|
||||
@@ -0,0 +1,18 @@
|
||||
export declare function importAny(...modules: string[]): Promise<any>;
|
||||
export declare function concat(...arrs: any[]): any[];
|
||||
/** Paths used by preprocessors to resolve @imports */
|
||||
export declare function getIncludePaths(fromFilename: string, base?: string[]): string[];
|
||||
/**
|
||||
* Checks if a package is installed.
|
||||
*
|
||||
* @export
|
||||
* @param {string} dep
|
||||
* @returns boolean
|
||||
*/
|
||||
export declare function hasDepInstalled(dep: string): Promise<boolean>;
|
||||
export declare function isValidLocalPath(path: string): boolean;
|
||||
export declare function findUp({ what, from }: {
|
||||
what: any;
|
||||
from: any;
|
||||
}): string;
|
||||
export declare function setProp(obj: any, keyList: any, val: any): void;
|
||||
@@ -0,0 +1,12 @@
|
||||
const createMakeHotFactory = require('./lib/make-hot.js')
|
||||
const { resolve } = require('path')
|
||||
const { name, version } = require('./package.json')
|
||||
|
||||
const resolveAbsoluteImport = target => resolve(__dirname, target)
|
||||
|
||||
const createMakeHot = createMakeHotFactory({
|
||||
pkg: { name, version },
|
||||
resolveAbsoluteImport,
|
||||
})
|
||||
|
||||
module.exports = { createMakeHot }
|
||||
@@ -0,0 +1,24 @@
|
||||
'use strict';
|
||||
|
||||
var callBound = require('call-bind/callBound');
|
||||
var $arrayPush = callBound('Array.prototype.push');
|
||||
|
||||
var GetIterator = require('./GetIterator');
|
||||
var IteratorStep = require('./IteratorStep');
|
||||
var IteratorValue = require('./IteratorValue');
|
||||
|
||||
// https://262.ecma-international.org/8.0/#sec-iterabletolist
|
||||
|
||||
module.exports = function IterableToList(items, method) {
|
||||
var iterator = GetIterator(items, method);
|
||||
var values = [];
|
||||
var next = true;
|
||||
while (next) {
|
||||
next = IteratorStep(iterator);
|
||||
if (next) {
|
||||
var nextValue = IteratorValue(next);
|
||||
$arrayPush(values, nextValue);
|
||||
}
|
||||
}
|
||||
return values;
|
||||
};
|
||||
@@ -0,0 +1,338 @@
|
||||
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
|
||||
'use strict';
|
||||
var immediate = _dereq_(2);
|
||||
|
||||
/* istanbul ignore next */
|
||||
function INTERNAL() {}
|
||||
|
||||
var handlers = {};
|
||||
|
||||
var REJECTED = ['REJECTED'];
|
||||
var FULFILLED = ['FULFILLED'];
|
||||
var PENDING = ['PENDING'];
|
||||
|
||||
module.exports = Promise;
|
||||
|
||||
function Promise(resolver) {
|
||||
if (typeof resolver !== 'function') {
|
||||
throw new TypeError('resolver must be a function');
|
||||
}
|
||||
this.state = PENDING;
|
||||
this.queue = [];
|
||||
this.outcome = void 0;
|
||||
if (resolver !== INTERNAL) {
|
||||
safelyResolveThenable(this, resolver);
|
||||
}
|
||||
}
|
||||
|
||||
Promise.prototype["catch"] = function (onRejected) {
|
||||
return this.then(null, onRejected);
|
||||
};
|
||||
Promise.prototype.then = function (onFulfilled, onRejected) {
|
||||
if (typeof onFulfilled !== 'function' && this.state === FULFILLED ||
|
||||
typeof onRejected !== 'function' && this.state === REJECTED) {
|
||||
return this;
|
||||
}
|
||||
var promise = new this.constructor(INTERNAL);
|
||||
if (this.state !== PENDING) {
|
||||
var resolver = this.state === FULFILLED ? onFulfilled : onRejected;
|
||||
unwrap(promise, resolver, this.outcome);
|
||||
} else {
|
||||
this.queue.push(new QueueItem(promise, onFulfilled, onRejected));
|
||||
}
|
||||
|
||||
return promise;
|
||||
};
|
||||
function QueueItem(promise, onFulfilled, onRejected) {
|
||||
this.promise = promise;
|
||||
if (typeof onFulfilled === 'function') {
|
||||
this.onFulfilled = onFulfilled;
|
||||
this.callFulfilled = this.otherCallFulfilled;
|
||||
}
|
||||
if (typeof onRejected === 'function') {
|
||||
this.onRejected = onRejected;
|
||||
this.callRejected = this.otherCallRejected;
|
||||
}
|
||||
}
|
||||
QueueItem.prototype.callFulfilled = function (value) {
|
||||
handlers.resolve(this.promise, value);
|
||||
};
|
||||
QueueItem.prototype.otherCallFulfilled = function (value) {
|
||||
unwrap(this.promise, this.onFulfilled, value);
|
||||
};
|
||||
QueueItem.prototype.callRejected = function (value) {
|
||||
handlers.reject(this.promise, value);
|
||||
};
|
||||
QueueItem.prototype.otherCallRejected = function (value) {
|
||||
unwrap(this.promise, this.onRejected, value);
|
||||
};
|
||||
|
||||
function unwrap(promise, func, value) {
|
||||
immediate(function () {
|
||||
var returnValue;
|
||||
try {
|
||||
returnValue = func(value);
|
||||
} catch (e) {
|
||||
return handlers.reject(promise, e);
|
||||
}
|
||||
if (returnValue === promise) {
|
||||
handlers.reject(promise, new TypeError('Cannot resolve promise with itself'));
|
||||
} else {
|
||||
handlers.resolve(promise, returnValue);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
handlers.resolve = function (self, value) {
|
||||
var result = tryCatch(getThen, value);
|
||||
if (result.status === 'error') {
|
||||
return handlers.reject(self, result.value);
|
||||
}
|
||||
var thenable = result.value;
|
||||
|
||||
if (thenable) {
|
||||
safelyResolveThenable(self, thenable);
|
||||
} else {
|
||||
self.state = FULFILLED;
|
||||
self.outcome = value;
|
||||
var i = -1;
|
||||
var len = self.queue.length;
|
||||
while (++i < len) {
|
||||
self.queue[i].callFulfilled(value);
|
||||
}
|
||||
}
|
||||
return self;
|
||||
};
|
||||
handlers.reject = function (self, error) {
|
||||
self.state = REJECTED;
|
||||
self.outcome = error;
|
||||
var i = -1;
|
||||
var len = self.queue.length;
|
||||
while (++i < len) {
|
||||
self.queue[i].callRejected(error);
|
||||
}
|
||||
return self;
|
||||
};
|
||||
|
||||
function getThen(obj) {
|
||||
// Make sure we only access the accessor once as required by the spec
|
||||
var then = obj && obj.then;
|
||||
if (obj && (typeof obj === 'object' || typeof obj === 'function') && typeof then === 'function') {
|
||||
return function appyThen() {
|
||||
then.apply(obj, arguments);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
function safelyResolveThenable(self, thenable) {
|
||||
// Either fulfill, reject or reject with error
|
||||
var called = false;
|
||||
function onError(value) {
|
||||
if (called) {
|
||||
return;
|
||||
}
|
||||
called = true;
|
||||
handlers.reject(self, value);
|
||||
}
|
||||
|
||||
function onSuccess(value) {
|
||||
if (called) {
|
||||
return;
|
||||
}
|
||||
called = true;
|
||||
handlers.resolve(self, value);
|
||||
}
|
||||
|
||||
function tryToUnwrap() {
|
||||
thenable(onSuccess, onError);
|
||||
}
|
||||
|
||||
var result = tryCatch(tryToUnwrap);
|
||||
if (result.status === 'error') {
|
||||
onError(result.value);
|
||||
}
|
||||
}
|
||||
|
||||
function tryCatch(func, value) {
|
||||
var out = {};
|
||||
try {
|
||||
out.value = func(value);
|
||||
out.status = 'success';
|
||||
} catch (e) {
|
||||
out.status = 'error';
|
||||
out.value = e;
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
Promise.resolve = resolve;
|
||||
function resolve(value) {
|
||||
if (value instanceof this) {
|
||||
return value;
|
||||
}
|
||||
return handlers.resolve(new this(INTERNAL), value);
|
||||
}
|
||||
|
||||
Promise.reject = reject;
|
||||
function reject(reason) {
|
||||
var promise = new this(INTERNAL);
|
||||
return handlers.reject(promise, reason);
|
||||
}
|
||||
|
||||
Promise.all = all;
|
||||
function all(iterable) {
|
||||
var self = this;
|
||||
if (Object.prototype.toString.call(iterable) !== '[object Array]') {
|
||||
return this.reject(new TypeError('must be an array'));
|
||||
}
|
||||
|
||||
var len = iterable.length;
|
||||
var called = false;
|
||||
if (!len) {
|
||||
return this.resolve([]);
|
||||
}
|
||||
|
||||
var values = new Array(len);
|
||||
var resolved = 0;
|
||||
var i = -1;
|
||||
var promise = new this(INTERNAL);
|
||||
|
||||
while (++i < len) {
|
||||
allResolver(iterable[i], i);
|
||||
}
|
||||
return promise;
|
||||
function allResolver(value, i) {
|
||||
self.resolve(value).then(resolveFromAll, function (error) {
|
||||
if (!called) {
|
||||
called = true;
|
||||
handlers.reject(promise, error);
|
||||
}
|
||||
});
|
||||
function resolveFromAll(outValue) {
|
||||
values[i] = outValue;
|
||||
if (++resolved === len && !called) {
|
||||
called = true;
|
||||
handlers.resolve(promise, values);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Promise.race = race;
|
||||
function race(iterable) {
|
||||
var self = this;
|
||||
if (Object.prototype.toString.call(iterable) !== '[object Array]') {
|
||||
return this.reject(new TypeError('must be an array'));
|
||||
}
|
||||
|
||||
var len = iterable.length;
|
||||
var called = false;
|
||||
if (!len) {
|
||||
return this.resolve([]);
|
||||
}
|
||||
|
||||
var i = -1;
|
||||
var promise = new this(INTERNAL);
|
||||
|
||||
while (++i < len) {
|
||||
resolver(iterable[i]);
|
||||
}
|
||||
return promise;
|
||||
function resolver(value) {
|
||||
self.resolve(value).then(function (response) {
|
||||
if (!called) {
|
||||
called = true;
|
||||
handlers.resolve(promise, response);
|
||||
}
|
||||
}, function (error) {
|
||||
if (!called) {
|
||||
called = true;
|
||||
handlers.reject(promise, error);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
},{"2":2}],2:[function(_dereq_,module,exports){
|
||||
(function (global){
|
||||
'use strict';
|
||||
var Mutation = global.MutationObserver || global.WebKitMutationObserver;
|
||||
|
||||
var scheduleDrain;
|
||||
|
||||
{
|
||||
if (Mutation) {
|
||||
var called = 0;
|
||||
var observer = new Mutation(nextTick);
|
||||
var element = global.document.createTextNode('');
|
||||
observer.observe(element, {
|
||||
characterData: true
|
||||
});
|
||||
scheduleDrain = function () {
|
||||
element.data = (called = ++called % 2);
|
||||
};
|
||||
} else if (!global.setImmediate && typeof global.MessageChannel !== 'undefined') {
|
||||
var channel = new global.MessageChannel();
|
||||
channel.port1.onmessage = nextTick;
|
||||
scheduleDrain = function () {
|
||||
channel.port2.postMessage(0);
|
||||
};
|
||||
} else if ('document' in global && 'onreadystatechange' in global.document.createElement('script')) {
|
||||
scheduleDrain = function () {
|
||||
|
||||
// Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted
|
||||
// into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.
|
||||
var scriptEl = global.document.createElement('script');
|
||||
scriptEl.onreadystatechange = function () {
|
||||
nextTick();
|
||||
|
||||
scriptEl.onreadystatechange = null;
|
||||
scriptEl.parentNode.removeChild(scriptEl);
|
||||
scriptEl = null;
|
||||
};
|
||||
global.document.documentElement.appendChild(scriptEl);
|
||||
};
|
||||
} else {
|
||||
scheduleDrain = function () {
|
||||
setTimeout(nextTick, 0);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
var draining;
|
||||
var queue = [];
|
||||
//named nextTick for less confusing stack traces
|
||||
function nextTick() {
|
||||
draining = true;
|
||||
var i, oldQueue;
|
||||
var len = queue.length;
|
||||
while (len) {
|
||||
oldQueue = queue;
|
||||
queue = [];
|
||||
i = -1;
|
||||
while (++i < len) {
|
||||
oldQueue[i]();
|
||||
}
|
||||
len = queue.length;
|
||||
}
|
||||
draining = false;
|
||||
}
|
||||
|
||||
module.exports = immediate;
|
||||
function immediate(task) {
|
||||
if (queue.push(task) === 1 && !draining) {
|
||||
scheduleDrain();
|
||||
}
|
||||
}
|
||||
|
||||
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||||
},{}],3:[function(_dereq_,module,exports){
|
||||
(function (global){
|
||||
'use strict';
|
||||
if (typeof global.Promise !== 'function') {
|
||||
global.Promise = _dereq_(1);
|
||||
}
|
||||
|
||||
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||||
},{"1":1}]},{},[3]);
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
import { map } from './map';
|
||||
export function pluck(...properties) {
|
||||
const length = properties.length;
|
||||
if (length === 0) {
|
||||
throw new Error('list of properties cannot be empty.');
|
||||
}
|
||||
return map((x) => {
|
||||
let currentProp = x;
|
||||
for (let i = 0; i < length; i++) {
|
||||
const p = currentProp === null || currentProp === void 0 ? void 0 : currentProp[properties[i]];
|
||||
if (typeof p !== 'undefined') {
|
||||
currentProp = p;
|
||||
}
|
||||
else {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
return currentProp;
|
||||
});
|
||||
}
|
||||
//# sourceMappingURL=pluck.js.map
|
||||
@@ -0,0 +1,43 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
function _export(target, all) {
|
||||
for(var name in all)Object.defineProperty(target, name, {
|
||||
enumerable: true,
|
||||
get: all[name]
|
||||
});
|
||||
}
|
||||
_export(exports, {
|
||||
asClass: ()=>asClass,
|
||||
default: ()=>nameClass,
|
||||
formatClass: ()=>formatClass
|
||||
});
|
||||
const _escapeClassName = /*#__PURE__*/ _interopRequireDefault(require("./escapeClassName"));
|
||||
const _escapeCommas = /*#__PURE__*/ _interopRequireDefault(require("./escapeCommas"));
|
||||
function _interopRequireDefault(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
function asClass(name) {
|
||||
return (0, _escapeCommas.default)(`.${(0, _escapeClassName.default)(name)}`);
|
||||
}
|
||||
function nameClass(classPrefix, key) {
|
||||
return asClass(formatClass(classPrefix, key));
|
||||
}
|
||||
function formatClass(classPrefix, key) {
|
||||
if (key === "DEFAULT") {
|
||||
return classPrefix;
|
||||
}
|
||||
if (key === "-" || key === "-DEFAULT") {
|
||||
return `-${classPrefix}`;
|
||||
}
|
||||
if (key.startsWith("-")) {
|
||||
return `-${classPrefix}${key}`;
|
||||
}
|
||||
if (key.startsWith("/")) {
|
||||
return `${classPrefix}${key}`;
|
||||
}
|
||||
return `${classPrefix}-${key}`;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ArgumentOutOfRangeError.js","sourceRoot":"","sources":["../../../../src/internal/util/ArgumentOutOfRangeError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAsBtD,MAAM,CAAC,MAAM,uBAAuB,GAAgC,gBAAgB,CAClF,CAAC,MAAM,EAAE,EAAE,CACT,SAAS,2BAA2B;IAClC,MAAM,CAAC,IAAI,CAAC,CAAC;IACb,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACtC,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC;AACzC,CAAC,CACJ,CAAC"}
|
||||
@@ -0,0 +1,31 @@
|
||||
if(typeof cptable === 'undefined') cptable = {};
|
||||
cptable[20261] = (function(){ var d = [], e = {}, D = [], j;
|
||||
D[0] = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"<22><>%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]_abcdefghijklmnopqrstuvwxyz|
¡¢£$¥#§¤«°±²³×µ¶·÷»¼½¾¿<C2BF><EFA3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΩÆÐªĦIJĿŁØŒºÞŦŊʼnĸæđðħıijŀłøœßþŧŋ".split("");
|
||||
for(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}
|
||||
D[193] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>`<60><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>À<EFBFBD><C380><EFBFBD>È<EFBFBD><C388><EFBFBD>Ì<EFBFBD><C38C><EFBFBD><EFBFBD><EFBFBD>Ò<EFBFBD><C392><EFBFBD><EFBFBD><EFBFBD>Ù<EFBFBD>Ẁ<EFBFBD>Ỳ<EFBFBD><E1BBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>à<EFBFBD><C3A0><EFBFBD>è<EFBFBD><C3A8><EFBFBD>ì<EFBFBD><C3AC><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD>ẁ<EFBFBD>ỳ<EFBFBD><E1BBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}
|
||||
D[194] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><C2B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Á<EFBFBD>Ć<EFBFBD>É<EFBFBD>Ǵ<EFBFBD>Í<EFBFBD>ḰĹḾŃÓṔ<C393>ŔŚ<C594>Ú<EFBFBD>Ẃ<EFBFBD>ÝŹ<C39D><C5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>á<EFBFBD>ć<EFBFBD>é<EFBFBD>ǵ<EFBFBD>í<EFBFBD>ḱĺḿńóṕ<C3B3>ŕś<C595>ú<EFBFBD>ẃ<EFBFBD>ýź<C3BD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}
|
||||
D[195] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Â<EFBFBD>Ĉ<EFBFBD>Ê<EFBFBD>ĜĤÎĴ<C38E><C4B4><EFBFBD><EFBFBD>Ô<EFBFBD><C394><EFBFBD>Ŝ<EFBFBD>Û<EFBFBD>Ŵ<EFBFBD>ŶẐ<C5B6><E1BA90><EFBFBD><EFBFBD><EFBFBD><EFBFBD>â<EFBFBD>ĉ<EFBFBD>ê<EFBFBD>ĝĥîĵ<C3AE><C4B5><EFBFBD><EFBFBD>ô<EFBFBD><C3B4><EFBFBD>ŝ<EFBFBD>û<EFBFBD>ŵ<EFBFBD>ŷẑ<C5B7><E1BA91><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}
|
||||
D[196] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ã<EFBFBD><C383><EFBFBD>Ẽ<EFBFBD><E1BABC><EFBFBD>Ĩ<EFBFBD><C4A8><EFBFBD><EFBFBD>ÑÕ<C391><C395><EFBFBD><EFBFBD><EFBFBD>ŨṼ<C5A8><E1B9BC>Ỹ<EFBFBD><E1BBB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD>ẽ<EFBFBD><E1BABD><EFBFBD>ĩ<EFBFBD><C4A9><EFBFBD><EFBFBD>ñõ<C3B1><C3B5><EFBFBD><EFBFBD><EFBFBD>ũṽ<C5A9><E1B9BD>ỹ<EFBFBD><E1BBB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}
|
||||
D[197] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¯<EFBFBD><C2AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ā<EFBFBD><C480><EFBFBD>Ē<EFBFBD>Ḡ<EFBFBD>Ī<EFBFBD><C4AA><EFBFBD><EFBFBD><EFBFBD>Ō<EFBFBD><C58C><EFBFBD><EFBFBD><EFBFBD>Ū<EFBFBD><C5AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ā<EFBFBD><C481><EFBFBD>ē<EFBFBD>ḡ<EFBFBD>ī<EFBFBD><C4AB><EFBFBD><EFBFBD><EFBFBD>ō<EFBFBD><C58D><EFBFBD><EFBFBD><EFBFBD>ū<EFBFBD><C5AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǣ<EFBFBD><C7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD><C7A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}
|
||||
D[198] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˘<EFBFBD><CB98><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482><EFBFBD>Ĕ<EFBFBD>Ğ<EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD>Ŏ<EFBFBD><C58E><EFBFBD><EFBFBD><EFBFBD>Ŭ<EFBFBD><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ă<EFBFBD><C483><EFBFBD>ĕ<EFBFBD>ğ<EFBFBD>ĭ<EFBFBD><C4AD><EFBFBD><EFBFBD><EFBFBD>ŏ<EFBFBD><C58F><EFBFBD><EFBFBD><EFBFBD>ŭ<EFBFBD><C5AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}
|
||||
D[199] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˙<EFBFBD><CB99><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ḂĊḊĖḞĠḢİ<E1B8A2><C4B0><EFBFBD>ṀṄ<E1B980>Ṗ<EFBFBD>ṘṠṪ<E1B9A0><E1B9AA>ẆẊẎŻ<E1BA8E><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ḃċḋėḟġḣ<C4A1><E1B8A3><EFBFBD><EFBFBD>ṁṅ<E1B981>ṗ<EFBFBD>ṙṡṫ<E1B9A1><E1B9AB>ẇẋẏż<E1BA8F><C5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}
|
||||
D[200] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¨<EFBFBD><C2A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ä<EFBFBD><C384><EFBFBD>Ë<EFBFBD><C38B>ḦÏ<E1B8A6><C38F><EFBFBD><EFBFBD><EFBFBD>Ö<EFBFBD><C396><EFBFBD><EFBFBD><EFBFBD>Ü<EFBFBD>ẄẌŸ<E1BA8C><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><C3A4><EFBFBD>ë<EFBFBD><C3AB>ḧï<E1B8A7><C3AF><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>ẗü<E1BA97>ẅẍÿ<E1BA8D><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}
|
||||
D[202] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˚<EFBFBD><CB9A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Å<EFBFBD><C385><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ů<EFBFBD><C5AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ů<EFBFBD>ẘ<EFBFBD>ẙ<EFBFBD><E1BA99><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}
|
||||
D[203] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><C2B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÇḐ<C387><E1B890>ĢḨ<C4A2><E1B8A8>ĶĻ<C4B6>Ņ<EFBFBD><C585><EFBFBD>ŖŞŢ<C59E><C5A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>çḑ<C3A7><E1B891>ģḩ<C4A3><E1B8A9>ķļ<C4B7>ņ<EFBFBD><C586><EFBFBD>ŗşţ<C59F><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}
|
||||
D[205] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˝<EFBFBD><CB9D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ő<EFBFBD><C590><EFBFBD><EFBFBD><EFBFBD>Ű<EFBFBD><C5B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ő<EFBFBD><C591><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}
|
||||
D[206] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˛<EFBFBD><CB9B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ą<EFBFBD><C484><EFBFBD>Ę<EFBFBD><C498><EFBFBD>Į<EFBFBD><C4AE><EFBFBD><EFBFBD><EFBFBD>Ǫ<EFBFBD><C7AA><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ą<EFBFBD><C485><EFBFBD>ę<EFBFBD><C499><EFBFBD>į<EFBFBD><C4AF><EFBFBD><EFBFBD><EFBFBD>ǫ<EFBFBD><C7AB><EFBFBD><EFBFBD><EFBFBD>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}
|
||||
D[207] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˇ<EFBFBD><CB87><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǎ<EFBFBD>ČĎĚ<C48E>Ǧ<EFBFBD>Ǐ<EFBFBD>ǨĽ<C7A8>ŇǑ<C587><C791>ŘŠŤǓ<C5A4><C793><EFBFBD><EFBFBD>Ž<EFBFBD><C5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǎ<EFBFBD>čďě<C48F>ǧ<EFBFBD>ǐǰǩľ<C7A9>ňǒ<C588><C792>řšťǔ<C5A5><C794><EFBFBD><EFBFBD>ž<EFBFBD><C5BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".split("");
|
||||
for(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}
|
||||
return {"enc": e, "dec": d }; })();
|
||||
@@ -0,0 +1,84 @@
|
||||
'use strict'
|
||||
|
||||
const DuplexStream = require('readable-stream').Duplex
|
||||
const inherits = require('inherits')
|
||||
const BufferList = require('./BufferList')
|
||||
|
||||
function BufferListStream (callback) {
|
||||
if (!(this instanceof BufferListStream)) {
|
||||
return new BufferListStream(callback)
|
||||
}
|
||||
|
||||
if (typeof callback === 'function') {
|
||||
this._callback = callback
|
||||
|
||||
const piper = function piper (err) {
|
||||
if (this._callback) {
|
||||
this._callback(err)
|
||||
this._callback = null
|
||||
}
|
||||
}.bind(this)
|
||||
|
||||
this.on('pipe', function onPipe (src) {
|
||||
src.on('error', piper)
|
||||
})
|
||||
this.on('unpipe', function onUnpipe (src) {
|
||||
src.removeListener('error', piper)
|
||||
})
|
||||
|
||||
callback = null
|
||||
}
|
||||
|
||||
BufferList._init.call(this, callback)
|
||||
DuplexStream.call(this)
|
||||
}
|
||||
|
||||
inherits(BufferListStream, DuplexStream)
|
||||
Object.assign(BufferListStream.prototype, BufferList.prototype)
|
||||
|
||||
BufferListStream.prototype._new = function _new (callback) {
|
||||
return new BufferListStream(callback)
|
||||
}
|
||||
|
||||
BufferListStream.prototype._write = function _write (buf, encoding, callback) {
|
||||
this._appendBuffer(buf)
|
||||
|
||||
if (typeof callback === 'function') {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
|
||||
BufferListStream.prototype._read = function _read (size) {
|
||||
if (!this.length) {
|
||||
return this.push(null)
|
||||
}
|
||||
|
||||
size = Math.min(size, this.length)
|
||||
this.push(this.slice(0, size))
|
||||
this.consume(size)
|
||||
}
|
||||
|
||||
BufferListStream.prototype.end = function end (chunk) {
|
||||
DuplexStream.prototype.end.call(this, chunk)
|
||||
|
||||
if (this._callback) {
|
||||
this._callback(null, this.slice())
|
||||
this._callback = null
|
||||
}
|
||||
}
|
||||
|
||||
BufferListStream.prototype._destroy = function _destroy (err, cb) {
|
||||
this._bufs.length = 0
|
||||
this.length = 0
|
||||
cb(err)
|
||||
}
|
||||
|
||||
BufferListStream.prototype._isBufferList = function _isBufferList (b) {
|
||||
return b instanceof BufferListStream || b instanceof BufferList || BufferListStream.isBufferList(b)
|
||||
}
|
||||
|
||||
BufferListStream.isBufferList = BufferList.isBufferList
|
||||
|
||||
module.exports = BufferListStream
|
||||
module.exports.BufferListStream = BufferListStream
|
||||
module.exports.BufferList = BufferList
|
||||
@@ -0,0 +1,65 @@
|
||||
### Javascript porting of Markus Kuhn's wcwidth() implementation
|
||||
|
||||
The following explanation comes from the original C implementation:
|
||||
|
||||
This is an implementation of wcwidth() and wcswidth() (defined in
|
||||
IEEE Std 1002.1-2001) for Unicode.
|
||||
|
||||
http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html
|
||||
http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html
|
||||
|
||||
In fixed-width output devices, Latin characters all occupy a single
|
||||
"cell" position of equal width, whereas ideographic CJK characters
|
||||
occupy two such cells. Interoperability between terminal-line
|
||||
applications and (teletype-style) character terminals using the
|
||||
UTF-8 encoding requires agreement on which character should advance
|
||||
the cursor by how many cell positions. No established formal
|
||||
standards exist at present on which Unicode character shall occupy
|
||||
how many cell positions on character terminals. These routines are
|
||||
a first attempt of defining such behavior based on simple rules
|
||||
applied to data provided by the Unicode Consortium.
|
||||
|
||||
For some graphical characters, the Unicode standard explicitly
|
||||
defines a character-cell width via the definition of the East Asian
|
||||
FullWidth (F), Wide (W), Half-width (H), and Narrow (Na) classes.
|
||||
In all these cases, there is no ambiguity about which width a
|
||||
terminal shall use. For characters in the East Asian Ambiguous (A)
|
||||
class, the width choice depends purely on a preference of backward
|
||||
compatibility with either historic CJK or Western practice.
|
||||
Choosing single-width for these characters is easy to justify as
|
||||
the appropriate long-term solution, as the CJK practice of
|
||||
displaying these characters as double-width comes from historic
|
||||
implementation simplicity (8-bit encoded characters were displayed
|
||||
single-width and 16-bit ones double-width, even for Greek,
|
||||
Cyrillic, etc.) and not any typographic considerations.
|
||||
|
||||
Much less clear is the choice of width for the Not East Asian
|
||||
(Neutral) class. Existing practice does not dictate a width for any
|
||||
of these characters. It would nevertheless make sense
|
||||
typographically to allocate two character cells to characters such
|
||||
as for instance EM SPACE or VOLUME INTEGRAL, which cannot be
|
||||
represented adequately with a single-width glyph. The following
|
||||
routines at present merely assign a single-cell width to all
|
||||
neutral characters, in the interest of simplicity. This is not
|
||||
entirely satisfactory and should be reconsidered before
|
||||
establishing a formal standard in this area. At the moment, the
|
||||
decision which Not East Asian (Neutral) characters should be
|
||||
represented by double-width glyphs cannot yet be answered by
|
||||
applying a simple rule from the Unicode database content. Setting
|
||||
up a proper standard for the behavior of UTF-8 character terminals
|
||||
will require a careful analysis not only of each Unicode character,
|
||||
but also of each presentation form, something the author of these
|
||||
routines has avoided to do so far.
|
||||
|
||||
http://www.unicode.org/unicode/reports/tr11/
|
||||
|
||||
Markus Kuhn -- 2007-05-26 (Unicode 5.0)
|
||||
|
||||
Permission to use, copy, modify, and distribute this software
|
||||
for any purpose and without fee is hereby granted. The author
|
||||
disclaims all warranties with regard to this software.
|
||||
|
||||
Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
'use strict';
|
||||
|
||||
const cp = require('child_process');
|
||||
const parse = require('./lib/parse');
|
||||
const enoent = require('./lib/enoent');
|
||||
|
||||
function spawn(command, args, options) {
|
||||
// Parse the arguments
|
||||
const parsed = parse(command, args, options);
|
||||
|
||||
// Spawn the child process
|
||||
const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
|
||||
|
||||
// Hook into child process "exit" event to emit an error if the command
|
||||
// does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16
|
||||
enoent.hookChildProcess(spawned, parsed);
|
||||
|
||||
return spawned;
|
||||
}
|
||||
|
||||
function spawnSync(command, args, options) {
|
||||
// Parse the arguments
|
||||
const parsed = parse(command, args, options);
|
||||
|
||||
// Spawn the child process
|
||||
const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);
|
||||
|
||||
// Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16
|
||||
result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
module.exports = spawn;
|
||||
module.exports.spawn = spawn;
|
||||
module.exports.sync = spawnSync;
|
||||
|
||||
module.exports._parse = parse;
|
||||
module.exports._enoent = enoent;
|
||||
@@ -0,0 +1,40 @@
|
||||
var assignValue = require('./_assignValue'),
|
||||
baseAssignValue = require('./_baseAssignValue');
|
||||
|
||||
/**
|
||||
* Copies properties of `source` to `object`.
|
||||
*
|
||||
* @private
|
||||
* @param {Object} source The object to copy properties from.
|
||||
* @param {Array} props The property identifiers to copy.
|
||||
* @param {Object} [object={}] The object to copy properties to.
|
||||
* @param {Function} [customizer] The function to customize copied values.
|
||||
* @returns {Object} Returns `object`.
|
||||
*/
|
||||
function copyObject(source, props, object, customizer) {
|
||||
var isNew = !object;
|
||||
object || (object = {});
|
||||
|
||||
var index = -1,
|
||||
length = props.length;
|
||||
|
||||
while (++index < length) {
|
||||
var key = props[index];
|
||||
|
||||
var newValue = customizer
|
||||
? customizer(object[key], source[key], key, object, source)
|
||||
: undefined;
|
||||
|
||||
if (newValue === undefined) {
|
||||
newValue = source[key];
|
||||
}
|
||||
if (isNew) {
|
||||
baseAssignValue(object, key, newValue);
|
||||
} else {
|
||||
assignValue(object, key, newValue);
|
||||
}
|
||||
}
|
||||
return object;
|
||||
}
|
||||
|
||||
module.exports = copyObject;
|
||||
@@ -0,0 +1,43 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = isLuhnNumber;
|
||||
|
||||
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
function isLuhnNumber(str) {
|
||||
(0, _assertString.default)(str);
|
||||
var sanitized = str.replace(/[- ]+/g, '');
|
||||
var sum = 0;
|
||||
var digit;
|
||||
var tmpNum;
|
||||
var shouldDouble;
|
||||
|
||||
for (var i = sanitized.length - 1; i >= 0; i--) {
|
||||
digit = sanitized.substring(i, i + 1);
|
||||
tmpNum = parseInt(digit, 10);
|
||||
|
||||
if (shouldDouble) {
|
||||
tmpNum *= 2;
|
||||
|
||||
if (tmpNum >= 10) {
|
||||
sum += tmpNum % 10 + 1;
|
||||
} else {
|
||||
sum += tmpNum;
|
||||
}
|
||||
} else {
|
||||
sum += tmpNum;
|
||||
}
|
||||
|
||||
shouldDouble = !shouldDouble;
|
||||
}
|
||||
|
||||
return !!(sum % 10 === 0 ? sanitized : false);
|
||||
}
|
||||
|
||||
module.exports = exports.default;
|
||||
module.exports.default = exports.default;
|
||||
@@ -0,0 +1,5 @@
|
||||
var convert = require('./convert'),
|
||||
func = convert('noop', require('../noop'), require('./_falseOptions'));
|
||||
|
||||
func.placeholder = require('./placeholder');
|
||||
module.exports = func;
|
||||
@@ -0,0 +1,56 @@
|
||||
var isLaziable = require('./_isLaziable'),
|
||||
setData = require('./_setData'),
|
||||
setWrapToString = require('./_setWrapToString');
|
||||
|
||||
/** Used to compose bitmasks for function metadata. */
|
||||
var WRAP_BIND_FLAG = 1,
|
||||
WRAP_BIND_KEY_FLAG = 2,
|
||||
WRAP_CURRY_BOUND_FLAG = 4,
|
||||
WRAP_CURRY_FLAG = 8,
|
||||
WRAP_PARTIAL_FLAG = 32,
|
||||
WRAP_PARTIAL_RIGHT_FLAG = 64;
|
||||
|
||||
/**
|
||||
* Creates a function that wraps `func` to continue currying.
|
||||
*
|
||||
* @private
|
||||
* @param {Function} func The function to wrap.
|
||||
* @param {number} bitmask The bitmask flags. See `createWrap` for more details.
|
||||
* @param {Function} wrapFunc The function to create the `func` wrapper.
|
||||
* @param {*} placeholder The placeholder value.
|
||||
* @param {*} [thisArg] The `this` binding of `func`.
|
||||
* @param {Array} [partials] The arguments to prepend to those provided to
|
||||
* the new function.
|
||||
* @param {Array} [holders] The `partials` placeholder indexes.
|
||||
* @param {Array} [argPos] The argument positions of the new function.
|
||||
* @param {number} [ary] The arity cap of `func`.
|
||||
* @param {number} [arity] The arity of `func`.
|
||||
* @returns {Function} Returns the new wrapped function.
|
||||
*/
|
||||
function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
|
||||
var isCurry = bitmask & WRAP_CURRY_FLAG,
|
||||
newHolders = isCurry ? holders : undefined,
|
||||
newHoldersRight = isCurry ? undefined : holders,
|
||||
newPartials = isCurry ? partials : undefined,
|
||||
newPartialsRight = isCurry ? undefined : partials;
|
||||
|
||||
bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);
|
||||
bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);
|
||||
|
||||
if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {
|
||||
bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);
|
||||
}
|
||||
var newData = [
|
||||
func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,
|
||||
newHoldersRight, argPos, ary, arity
|
||||
];
|
||||
|
||||
var result = wrapFunc.apply(undefined, newData);
|
||||
if (isLaziable(func)) {
|
||||
setData(result, newData);
|
||||
}
|
||||
result.placeholder = placeholder;
|
||||
return setWrapToString(result, func, bitmask);
|
||||
}
|
||||
|
||||
module.exports = createRecurry;
|
||||
@@ -0,0 +1,43 @@
|
||||
'use strict';
|
||||
|
||||
var parse = require('../');
|
||||
var test = require('tape');
|
||||
|
||||
test('-', function (t) {
|
||||
t.plan(6);
|
||||
t.deepEqual(parse(['-n', '-']), { n: '-', _: [] });
|
||||
t.deepEqual(parse(['--nnn', '-']), { nnn: '-', _: [] });
|
||||
t.deepEqual(parse(['-']), { _: ['-'] });
|
||||
t.deepEqual(parse(['-f-']), { f: '-', _: [] });
|
||||
t.deepEqual(
|
||||
parse(['-b', '-'], { boolean: 'b' }),
|
||||
{ b: true, _: ['-'] }
|
||||
);
|
||||
t.deepEqual(
|
||||
parse(['-s', '-'], { string: 's' }),
|
||||
{ s: '-', _: [] }
|
||||
);
|
||||
});
|
||||
|
||||
test('-a -- b', function (t) {
|
||||
t.plan(2);
|
||||
t.deepEqual(parse(['-a', '--', 'b']), { a: true, _: ['b'] });
|
||||
t.deepEqual(parse(['--a', '--', 'b']), { a: true, _: ['b'] });
|
||||
});
|
||||
|
||||
test('move arguments after the -- into their own `--` array', function (t) {
|
||||
t.plan(1);
|
||||
t.deepEqual(
|
||||
parse(['--name', 'John', 'before', '--', 'after'], { '--': true }),
|
||||
{ name: 'John', _: ['before'], '--': ['after'] }
|
||||
);
|
||||
});
|
||||
|
||||
test('--- option value', function (t) {
|
||||
// A multi-dash value is largely an edge case, but check the behaviour is as expected,
|
||||
// and in particular the same for short option and long option (as made consistent in Jan 2023).
|
||||
t.plan(2);
|
||||
t.deepEqual(parse(['-n', '---']), { n: '---', _: [] });
|
||||
t.deepEqual(parse(['--nnn', '---']), { nnn: '---', _: [] });
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user