StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics
https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56282 lines
2.2 MiB
56282 lines
2.2 MiB
// make sure to keep this as 'var' |
|
// we don't want block scoping |
|
|
|
var dartNodePreambleSelf = typeof global !== "undefined" ? global : window; |
|
|
|
var self = Object.create(dartNodePreambleSelf); |
|
|
|
self.scheduleImmediate = self.setImmediate |
|
? function (cb) { |
|
dartNodePreambleSelf.setImmediate(cb); |
|
} |
|
: function(cb) { |
|
setTimeout(cb, 0); |
|
}; |
|
|
|
// CommonJS globals. |
|
self.exports = exports; |
|
|
|
// Node.js specific exports, check to see if they exist & or polyfilled |
|
|
|
if (typeof process !== "undefined") { |
|
self.process = process; |
|
} |
|
|
|
if (typeof __dirname !== "undefined") { |
|
self.__dirname = __dirname; |
|
} |
|
|
|
if (typeof __filename !== "undefined") { |
|
self.__filename = __filename; |
|
} |
|
|
|
// if we're running in a browser, Dart supports most of this out of box |
|
// make sure we only run these in Node.js environment |
|
if (!dartNodePreambleSelf.window) { |
|
// This line is to: |
|
// 1) Prevent Webpack from bundling. |
|
// 2) In Webpack on Node.js, make sure we're using the native Node.js require, which is available via __non_webpack_require__ |
|
// https://github.com/mbullington/node_preamble.dart/issues/18#issuecomment-527305561 |
|
var url = ("undefined" !== typeof __webpack_require__ ? __non_webpack_require__ : require)("url"); |
|
|
|
self.location = { |
|
get href() { |
|
if (url.pathToFileURL) { |
|
return url.pathToFileURL(process.cwd()).href + "/"; |
|
} else { |
|
// This isn't really a correct transformation, but it's the best we have |
|
// for versions of Node <10.12.0 which introduced `url.pathToFileURL()`. |
|
// For example, it will fail for paths that contain characters that need |
|
// to be escaped in URLs. |
|
return "file://" + (function() { |
|
var cwd = process.cwd(); |
|
if (process.platform != "win32") return cwd; |
|
return "/" + cwd.replace(/\\/g, "/"); |
|
})() + "/" |
|
} |
|
} |
|
}; |
|
|
|
(function() { |
|
function computeCurrentScript() { |
|
try { |
|
throw new Error(); |
|
} catch(e) { |
|
var stack = e.stack; |
|
var re = new RegExp("^ *at [^(]*\\((.*):[0-9]*:[0-9]*\\)$", "mg"); |
|
var lastMatch = null; |
|
do { |
|
var match = re.exec(stack); |
|
if (match != null) lastMatch = match; |
|
} while (match != null); |
|
return lastMatch[1]; |
|
} |
|
} |
|
|
|
var cachedCurrentScript = null; |
|
self.document = { |
|
get currentScript() { |
|
if (cachedCurrentScript == null) { |
|
cachedCurrentScript = {src: computeCurrentScript()}; |
|
} |
|
return cachedCurrentScript; |
|
} |
|
}; |
|
})(); |
|
|
|
self.dartDeferredLibraryLoader = function(uri, successCallback, errorCallback) { |
|
try { |
|
load(uri); |
|
successCallback(); |
|
} catch (error) { |
|
errorCallback(error); |
|
} |
|
}; |
|
} |
|
|
|
self.fs = require("fs"); |
|
self.chokidar = require("chokidar"); |
|
self.readline = require("readline"); |
|
// Generated by dart2js (fast startup emitter, strong, trust primitives, omit checks, lax runtime type), the Dart to JavaScript compiler version: 2.7.0. |
|
// The code supports the following hooks: |
|
// dartPrint(message): |
|
// if this function is defined it is called instead of the Dart [print] |
|
// method. |
|
// |
|
// dartMainRunner(main, args): |
|
// if this function is defined, the Dart [main] method will not be invoked |
|
// directly. Instead, a closure that will invoke [main], and its arguments |
|
// [args] is passed to [dartMainRunner]. |
|
// |
|
// dartDeferredLibraryLoader(uri, successCallback, errorCallback): |
|
// if this function is defined, it will be called when a deferred library |
|
// is loaded. It should load and eval the javascript of `uri`, and call |
|
// successCallback. If it fails to do so, it should call errorCallback with |
|
// an error. |
|
// |
|
// dartCallInstrumentation(id, qualifiedName): |
|
// if this function is defined, it will be called at each entry of a |
|
// method or constructor. Used only when compiling programs with |
|
// --experiment-call-instrumentation. |
|
{ |
|
} |
|
(function dartProgram() { |
|
function copyProperties(from, to) { |
|
var keys = Object.keys(from); |
|
for (var i = 0; i < keys.length; i++) { |
|
var key = keys[i]; |
|
to[key] = from[key]; |
|
} |
|
} |
|
var supportsDirectProtoAccess = function() { |
|
var cls = function() { |
|
}; |
|
cls.prototype = {p: {}}; |
|
var object = new cls(); |
|
if (!(object.__proto__ && object.__proto__.p === cls.prototype.p)) |
|
return false; |
|
try { |
|
if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0) |
|
return true; |
|
if (typeof version == "function" && version.length == 0) { |
|
var v = version(); |
|
if (/^\d+\.\d+\.\d+\.\d+$/.test(v)) |
|
return true; |
|
} |
|
} catch (_) { |
|
} |
|
return false; |
|
}(); |
|
function setFunctionNamesIfNecessary(holders) { |
|
function t() { |
|
} |
|
; |
|
if (typeof t.name == "string") |
|
return; |
|
for (var i = 0; i < holders.length; i++) { |
|
var holder = holders[i]; |
|
var keys = Object.keys(holder); |
|
for (var j = 0; j < keys.length; j++) { |
|
var key = keys[j]; |
|
var f = holder[key]; |
|
if (typeof f == 'function') |
|
f.name = key; |
|
} |
|
} |
|
} |
|
function inherit(cls, sup) { |
|
cls.prototype.constructor = cls; |
|
cls.prototype["$is" + cls.name] = cls; |
|
if (sup != null) { |
|
if (supportsDirectProtoAccess) { |
|
cls.prototype.__proto__ = sup.prototype; |
|
return; |
|
} |
|
var clsPrototype = Object.create(sup.prototype); |
|
copyProperties(cls.prototype, clsPrototype); |
|
cls.prototype = clsPrototype; |
|
} |
|
} |
|
function inheritMany(sup, classes) { |
|
for (var i = 0; i < classes.length; i++) |
|
inherit(classes[i], sup); |
|
} |
|
function mixin(cls, mixin) { |
|
copyProperties(mixin.prototype, cls.prototype); |
|
cls.prototype.constructor = cls; |
|
} |
|
function lazy(holder, name, getterName, initializer) { |
|
var uninitializedSentinel = holder; |
|
holder[name] = uninitializedSentinel; |
|
holder[getterName] = function() { |
|
holder[getterName] = function() { |
|
H.throwCyclicInit(name); |
|
}; |
|
var result; |
|
var sentinelInProgress = initializer; |
|
try { |
|
if (holder[name] === uninitializedSentinel) { |
|
result = holder[name] = sentinelInProgress; |
|
result = holder[name] = initializer(); |
|
} else |
|
result = holder[name]; |
|
} finally { |
|
if (result === sentinelInProgress) |
|
holder[name] = null; |
|
holder[getterName] = function() { |
|
return this[name]; |
|
}; |
|
} |
|
return result; |
|
}; |
|
} |
|
function makeConstList(list) { |
|
list.immutable$list = Array; |
|
list.fixed$length = Array; |
|
return list; |
|
} |
|
function convertToFastObject(properties) { |
|
function t() { |
|
} |
|
t.prototype = properties; |
|
new t(); |
|
return properties; |
|
} |
|
function convertAllToFastObject(arrayOfObjects) { |
|
for (var i = 0; i < arrayOfObjects.length; ++i) |
|
convertToFastObject(arrayOfObjects[i]); |
|
} |
|
var functionCounter = 0; |
|
function tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted) { |
|
return isIntercepted ? new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "(receiver) {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, true, name);" + "return new c(this, funcs[0], receiver, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null) : new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "() {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, false, name);" + "return new c(this, funcs[0], null, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null); |
|
} |
|
function tearOff(funcs, applyTrampolineIndex, reflectionInfo, isStatic, name, isIntercepted) { |
|
var cache = null; |
|
return isStatic ? function() { |
|
if (cache === null) |
|
cache = H.closureFromTearOff(this, funcs, applyTrampolineIndex, reflectionInfo, true, false, name).prototype; |
|
return cache; |
|
} : tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted); |
|
} |
|
var typesOffset = 0; |
|
function installTearOff(container, getterName, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { |
|
var funs = []; |
|
for (var i = 0; i < funsOrNames.length; i++) { |
|
var fun = funsOrNames[i]; |
|
if (typeof fun == 'string') |
|
fun = container[fun]; |
|
fun.$callName = callNames[i]; |
|
funs.push(fun); |
|
} |
|
var fun = funs[0]; |
|
fun.$requiredArgCount = requiredParameterCount; |
|
fun.$defaultValues = optionalParameterDefaultValues; |
|
var reflectionInfo = funType; |
|
if (typeof reflectionInfo == "number") |
|
reflectionInfo += typesOffset; |
|
var name = funsOrNames[0]; |
|
fun.$stubName = name; |
|
var getterFunction = tearOff(funs, applyIndex || 0, reflectionInfo, isStatic, name, isIntercepted); |
|
container[getterName] = getterFunction; |
|
if (isStatic) |
|
fun.$tearOff = getterFunction; |
|
} |
|
function installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { |
|
return installTearOff(container, getterName, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex); |
|
} |
|
function installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { |
|
return installTearOff(container, getterName, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex); |
|
} |
|
function setOrUpdateInterceptorsByTag(newTags) { |
|
var tags = init.interceptorsByTag; |
|
if (!tags) { |
|
init.interceptorsByTag = newTags; |
|
return; |
|
} |
|
copyProperties(newTags, tags); |
|
} |
|
function setOrUpdateLeafTags(newTags) { |
|
var tags = init.leafTags; |
|
if (!tags) { |
|
init.leafTags = newTags; |
|
return; |
|
} |
|
copyProperties(newTags, tags); |
|
} |
|
function updateTypes(newTypes) { |
|
var types = init.types; |
|
var length = types.length; |
|
types.push.apply(types, newTypes); |
|
return length; |
|
} |
|
function updateHolder(holder, newHolder) { |
|
copyProperties(newHolder, holder); |
|
return holder; |
|
} |
|
var hunkHelpers = function() { |
|
var mkInstance = function(isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) { |
|
return function(container, getterName, name, funType) { |
|
return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex); |
|
}; |
|
}, |
|
mkStatic = function(requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) { |
|
return function(container, getterName, name, funType) { |
|
return installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex); |
|
}; |
|
}; |
|
return {inherit: inherit, inheritMany: inheritMany, mixin: mixin, installStaticTearOff: installStaticTearOff, installInstanceTearOff: installInstanceTearOff, _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), _static_0: mkStatic(0, null, ["call$0"], 0), _static_1: mkStatic(1, null, ["call$1"], 0), _static_2: mkStatic(2, null, ["call$2"], 0), makeConstList: makeConstList, lazy: lazy, updateHolder: updateHolder, convertToFastObject: convertToFastObject, setFunctionNamesIfNecessary: setFunctionNamesIfNecessary, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags}; |
|
}(); |
|
function initializeDeferredHunk(hunk) { |
|
typesOffset = init.types.length; |
|
hunk(hunkHelpers, init, holders, $); |
|
} |
|
function getGlobalFromName(name) { |
|
for (var i = 0; i < holders.length; i++) { |
|
if (holders[i] == C) |
|
continue; |
|
if (holders[i][name]) |
|
return holders[i][name]; |
|
} |
|
} |
|
var C = {}, |
|
H = {JS_CONST: function JS_CONST() { |
|
}, |
|
CastIterable_CastIterable: function(source, $S, $T) { |
|
if (H.checkSubtype(source, "$isEfficientLengthIterable", [$S], "$asEfficientLengthIterable")) |
|
return new H._EfficientLengthCastIterable(source, [$S, $T]); |
|
return new H.CastIterable(source, [$S, $T]); |
|
}, |
|
hexDigitValue: function(char) { |
|
var letter, |
|
digit = char ^ 48; |
|
if (digit <= 9) |
|
return digit; |
|
letter = char | 32; |
|
if (97 <= letter && letter <= 102) |
|
return letter - 87; |
|
return -1; |
|
}, |
|
SubListIterable$: function(_iterable, _start, _endOrLength, $E) { |
|
P.RangeError_checkNotNegative(_start, "start"); |
|
if (_endOrLength != null) { |
|
P.RangeError_checkNotNegative(_endOrLength, "end"); |
|
if (_start > _endOrLength) |
|
H.throwExpression(P.RangeError$range(_start, 0, _endOrLength, "start", null)); |
|
} |
|
return new H.SubListIterable(_iterable, _start, _endOrLength, [$E]); |
|
}, |
|
MappedIterable_MappedIterable: function(iterable, $function, $S, $T) { |
|
if (!!J.getInterceptor$(iterable).$isEfficientLengthIterable) |
|
return new H.EfficientLengthMappedIterable(iterable, $function, [$S, $T]); |
|
return new H.MappedIterable(iterable, $function, [$S, $T]); |
|
}, |
|
TakeIterable_TakeIterable: function(iterable, takeCount, $E) { |
|
P.RangeError_checkNotNegative(takeCount, "takeCount"); |
|
if (!!J.getInterceptor$(iterable).$isEfficientLengthIterable) |
|
return new H.EfficientLengthTakeIterable(iterable, takeCount, [$E]); |
|
return new H.TakeIterable(iterable, takeCount, [$E]); |
|
}, |
|
SkipIterable_SkipIterable: function(iterable, count, $E) { |
|
var _s5_ = "count"; |
|
if (!!J.getInterceptor$(iterable).$isEfficientLengthIterable) { |
|
if (count == null) |
|
H.throwExpression(P.ArgumentError$notNull(_s5_)); |
|
P.RangeError_checkNotNegative(count, _s5_); |
|
return new H.EfficientLengthSkipIterable(iterable, count, [$E]); |
|
} |
|
if (count == null) |
|
H.throwExpression(P.ArgumentError$notNull(_s5_)); |
|
P.RangeError_checkNotNegative(count, _s5_); |
|
return new H.SkipIterable(iterable, count, [$E]); |
|
}, |
|
FollowedByIterable_FollowedByIterable$firstEfficient: function(first, second, $E) { |
|
if (H.checkSubtype(second, "$isEfficientLengthIterable", [$E], "$asEfficientLengthIterable")) |
|
return new H.EfficientLengthFollowedByIterable(first, second, [$E]); |
|
return new H.FollowedByIterable(first, second, [$E]); |
|
}, |
|
IterableElementError_noElement: function() { |
|
return new P.StateError("No element"); |
|
}, |
|
IterableElementError_tooMany: function() { |
|
return new P.StateError("Too many elements"); |
|
}, |
|
IterableElementError_tooFew: function() { |
|
return new P.StateError("Too few elements"); |
|
}, |
|
Sort_sort: function(a, compare) { |
|
H.Sort__doSort(a, 0, J.get$length$asx(a) - 1, compare); |
|
}, |
|
Sort__doSort: function(a, left, right, compare) { |
|
if (right - left <= 32) |
|
H.Sort__insertionSort(a, left, right, compare); |
|
else |
|
H.Sort__dualPivotQuicksort(a, left, right, compare); |
|
}, |
|
Sort__insertionSort: function(a, left, right, compare) { |
|
var i, t1, el, j, j0; |
|
for (i = left + 1, t1 = J.getInterceptor$asx(a); i <= right; ++i) { |
|
el = t1.$index(a, i); |
|
j = i; |
|
while (true) { |
|
if (!(j > left && compare.call$2(t1.$index(a, j - 1), el) > 0)) |
|
break; |
|
j0 = j - 1; |
|
t1.$indexSet(a, j, t1.$index(a, j0)); |
|
j = j0; |
|
} |
|
t1.$indexSet(a, j, el); |
|
} |
|
}, |
|
Sort__dualPivotQuicksort: function(a, left, right, compare) { |
|
var t0, less, great, k, ak, comp, great0, less0, pivots_are_equal, t2, |
|
sixth = C.JSInt_methods._tdivFast$1(right - left + 1, 6), |
|
index1 = left + sixth, |
|
index5 = right - sixth, |
|
index3 = C.JSInt_methods._tdivFast$1(left + right, 2), |
|
index2 = index3 - sixth, |
|
index4 = index3 + sixth, |
|
t1 = J.getInterceptor$asx(a), |
|
el1 = t1.$index(a, index1), |
|
el2 = t1.$index(a, index2), |
|
el3 = t1.$index(a, index3), |
|
el4 = t1.$index(a, index4), |
|
el5 = t1.$index(a, index5); |
|
if (compare.call$2(el1, el2) > 0) { |
|
t0 = el2; |
|
el2 = el1; |
|
el1 = t0; |
|
} |
|
if (compare.call$2(el4, el5) > 0) { |
|
t0 = el5; |
|
el5 = el4; |
|
el4 = t0; |
|
} |
|
if (compare.call$2(el1, el3) > 0) { |
|
t0 = el3; |
|
el3 = el1; |
|
el1 = t0; |
|
} |
|
if (compare.call$2(el2, el3) > 0) { |
|
t0 = el3; |
|
el3 = el2; |
|
el2 = t0; |
|
} |
|
if (compare.call$2(el1, el4) > 0) { |
|
t0 = el4; |
|
el4 = el1; |
|
el1 = t0; |
|
} |
|
if (compare.call$2(el3, el4) > 0) { |
|
t0 = el4; |
|
el4 = el3; |
|
el3 = t0; |
|
} |
|
if (compare.call$2(el2, el5) > 0) { |
|
t0 = el5; |
|
el5 = el2; |
|
el2 = t0; |
|
} |
|
if (compare.call$2(el2, el3) > 0) { |
|
t0 = el3; |
|
el3 = el2; |
|
el2 = t0; |
|
} |
|
if (compare.call$2(el4, el5) > 0) { |
|
t0 = el5; |
|
el5 = el4; |
|
el4 = t0; |
|
} |
|
t1.$indexSet(a, index1, el1); |
|
t1.$indexSet(a, index3, el3); |
|
t1.$indexSet(a, index5, el5); |
|
t1.$indexSet(a, index2, t1.$index(a, left)); |
|
t1.$indexSet(a, index4, t1.$index(a, right)); |
|
less = left + 1; |
|
great = right - 1; |
|
if (J.$eq$(compare.call$2(el2, el4), 0)) { |
|
for (k = less; k <= great; ++k) { |
|
ak = t1.$index(a, k); |
|
comp = compare.call$2(ak, el2); |
|
if (comp === 0) |
|
continue; |
|
if (comp < 0) { |
|
if (k !== less) { |
|
t1.$indexSet(a, k, t1.$index(a, less)); |
|
t1.$indexSet(a, less, ak); |
|
} |
|
++less; |
|
} else |
|
for (; true;) { |
|
comp = compare.call$2(t1.$index(a, great), el2); |
|
if (comp > 0) { |
|
--great; |
|
continue; |
|
} else { |
|
great0 = great - 1; |
|
if (comp < 0) { |
|
t1.$indexSet(a, k, t1.$index(a, less)); |
|
less0 = less + 1; |
|
t1.$indexSet(a, less, t1.$index(a, great)); |
|
t1.$indexSet(a, great, ak); |
|
great = great0; |
|
less = less0; |
|
break; |
|
} else { |
|
t1.$indexSet(a, k, t1.$index(a, great)); |
|
t1.$indexSet(a, great, ak); |
|
great = great0; |
|
break; |
|
} |
|
} |
|
} |
|
} |
|
pivots_are_equal = true; |
|
} else { |
|
for (k = less; k <= great; ++k) { |
|
ak = t1.$index(a, k); |
|
if (compare.call$2(ak, el2) < 0) { |
|
if (k !== less) { |
|
t1.$indexSet(a, k, t1.$index(a, less)); |
|
t1.$indexSet(a, less, ak); |
|
} |
|
++less; |
|
} else if (compare.call$2(ak, el4) > 0) |
|
for (; true;) |
|
if (compare.call$2(t1.$index(a, great), el4) > 0) { |
|
--great; |
|
if (great < k) |
|
break; |
|
continue; |
|
} else { |
|
great0 = great - 1; |
|
if (compare.call$2(t1.$index(a, great), el2) < 0) { |
|
t1.$indexSet(a, k, t1.$index(a, less)); |
|
less0 = less + 1; |
|
t1.$indexSet(a, less, t1.$index(a, great)); |
|
t1.$indexSet(a, great, ak); |
|
less = less0; |
|
} else { |
|
t1.$indexSet(a, k, t1.$index(a, great)); |
|
t1.$indexSet(a, great, ak); |
|
} |
|
great = great0; |
|
break; |
|
} |
|
} |
|
pivots_are_equal = false; |
|
} |
|
t2 = less - 1; |
|
t1.$indexSet(a, left, t1.$index(a, t2)); |
|
t1.$indexSet(a, t2, el2); |
|
t2 = great + 1; |
|
t1.$indexSet(a, right, t1.$index(a, t2)); |
|
t1.$indexSet(a, t2, el4); |
|
H.Sort__doSort(a, left, less - 2, compare); |
|
H.Sort__doSort(a, great + 2, right, compare); |
|
if (pivots_are_equal) |
|
return; |
|
if (less < index1 && great > index5) { |
|
for (; J.$eq$(compare.call$2(t1.$index(a, less), el2), 0);) |
|
++less; |
|
for (; J.$eq$(compare.call$2(t1.$index(a, great), el4), 0);) |
|
--great; |
|
for (k = less; k <= great; ++k) { |
|
ak = t1.$index(a, k); |
|
if (compare.call$2(ak, el2) === 0) { |
|
if (k !== less) { |
|
t1.$indexSet(a, k, t1.$index(a, less)); |
|
t1.$indexSet(a, less, ak); |
|
} |
|
++less; |
|
} else if (compare.call$2(ak, el4) === 0) |
|
for (; true;) |
|
if (compare.call$2(t1.$index(a, great), el4) === 0) { |
|
--great; |
|
if (great < k) |
|
break; |
|
continue; |
|
} else { |
|
great0 = great - 1; |
|
if (compare.call$2(t1.$index(a, great), el2) < 0) { |
|
t1.$indexSet(a, k, t1.$index(a, less)); |
|
less0 = less + 1; |
|
t1.$indexSet(a, less, t1.$index(a, great)); |
|
t1.$indexSet(a, great, ak); |
|
less = less0; |
|
} else { |
|
t1.$indexSet(a, k, t1.$index(a, great)); |
|
t1.$indexSet(a, great, ak); |
|
} |
|
great = great0; |
|
break; |
|
} |
|
} |
|
H.Sort__doSort(a, less, great, compare); |
|
} else |
|
H.Sort__doSort(a, less, great, compare); |
|
}, |
|
_CastIterableBase: function _CastIterableBase() { |
|
}, |
|
CastIterator: function CastIterator(t0, t1) { |
|
this._source = t0; |
|
this.$ti = t1; |
|
}, |
|
CastIterable: function CastIterable(t0, t1) { |
|
this._source = t0; |
|
this.$ti = t1; |
|
}, |
|
_EfficientLengthCastIterable: function _EfficientLengthCastIterable(t0, t1) { |
|
this._source = t0; |
|
this.$ti = t1; |
|
}, |
|
_CastListBase: function _CastListBase() { |
|
}, |
|
_CastListBase_sort_closure: function _CastListBase_sort_closure(t0, t1) { |
|
this.$this = t0; |
|
this.compare = t1; |
|
}, |
|
CastList: function CastList(t0, t1) { |
|
this._source = t0; |
|
this.$ti = t1; |
|
}, |
|
CastSet: function CastSet(t0, t1, t2) { |
|
this._source = t0; |
|
this._emptySet = t1; |
|
this.$ti = t2; |
|
}, |
|
CastQueue: function CastQueue(t0, t1) { |
|
this._source = t0; |
|
this.$ti = t1; |
|
}, |
|
CodeUnits: function CodeUnits(t0) { |
|
this.__internal$_string = t0; |
|
}, |
|
EfficientLengthIterable: function EfficientLengthIterable() { |
|
}, |
|
ListIterable: function ListIterable() { |
|
}, |
|
SubListIterable: function SubListIterable(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.__internal$_iterable = t0; |
|
_.__internal$_start = t1; |
|
_._endOrLength = t2; |
|
_.$ti = t3; |
|
}, |
|
ListIterator: function ListIterator(t0, t1) { |
|
var _ = this; |
|
_.__internal$_iterable = t0; |
|
_.__internal$_length = t1; |
|
_.__internal$_index = 0; |
|
_.__internal$_current = null; |
|
}, |
|
MappedIterable: function MappedIterable(t0, t1, t2) { |
|
this.__internal$_iterable = t0; |
|
this._f = t1; |
|
this.$ti = t2; |
|
}, |
|
EfficientLengthMappedIterable: function EfficientLengthMappedIterable(t0, t1, t2) { |
|
this.__internal$_iterable = t0; |
|
this._f = t1; |
|
this.$ti = t2; |
|
}, |
|
MappedIterator: function MappedIterator(t0, t1) { |
|
this.__internal$_current = null; |
|
this._iterator = t0; |
|
this._f = t1; |
|
}, |
|
MappedListIterable: function MappedListIterable(t0, t1, t2) { |
|
this._source = t0; |
|
this._f = t1; |
|
this.$ti = t2; |
|
}, |
|
WhereIterable: function WhereIterable(t0, t1, t2) { |
|
this.__internal$_iterable = t0; |
|
this._f = t1; |
|
this.$ti = t2; |
|
}, |
|
WhereIterator: function WhereIterator(t0, t1) { |
|
this._iterator = t0; |
|
this._f = t1; |
|
}, |
|
ExpandIterable: function ExpandIterable(t0, t1, t2) { |
|
this.__internal$_iterable = t0; |
|
this._f = t1; |
|
this.$ti = t2; |
|
}, |
|
ExpandIterator: function ExpandIterator(t0, t1, t2) { |
|
var _ = this; |
|
_._iterator = t0; |
|
_._f = t1; |
|
_._currentExpansion = t2; |
|
_.__internal$_current = null; |
|
}, |
|
TakeIterable: function TakeIterable(t0, t1, t2) { |
|
this.__internal$_iterable = t0; |
|
this._takeCount = t1; |
|
this.$ti = t2; |
|
}, |
|
EfficientLengthTakeIterable: function EfficientLengthTakeIterable(t0, t1, t2) { |
|
this.__internal$_iterable = t0; |
|
this._takeCount = t1; |
|
this.$ti = t2; |
|
}, |
|
TakeIterator: function TakeIterator(t0, t1) { |
|
this._iterator = t0; |
|
this._remaining = t1; |
|
}, |
|
SkipIterable: function SkipIterable(t0, t1, t2) { |
|
this.__internal$_iterable = t0; |
|
this._skipCount = t1; |
|
this.$ti = t2; |
|
}, |
|
EfficientLengthSkipIterable: function EfficientLengthSkipIterable(t0, t1, t2) { |
|
this.__internal$_iterable = t0; |
|
this._skipCount = t1; |
|
this.$ti = t2; |
|
}, |
|
SkipIterator: function SkipIterator(t0, t1) { |
|
this._iterator = t0; |
|
this._skipCount = t1; |
|
}, |
|
SkipWhileIterable: function SkipWhileIterable(t0, t1, t2) { |
|
this.__internal$_iterable = t0; |
|
this._f = t1; |
|
this.$ti = t2; |
|
}, |
|
SkipWhileIterator: function SkipWhileIterator(t0, t1) { |
|
this._iterator = t0; |
|
this._f = t1; |
|
this._hasSkipped = false; |
|
}, |
|
EmptyIterable: function EmptyIterable(t0) { |
|
this.$ti = t0; |
|
}, |
|
EmptyIterator: function EmptyIterator() { |
|
}, |
|
FollowedByIterable: function FollowedByIterable(t0, t1, t2) { |
|
this.__internal$_first = t0; |
|
this._second = t1; |
|
this.$ti = t2; |
|
}, |
|
EfficientLengthFollowedByIterable: function EfficientLengthFollowedByIterable(t0, t1, t2) { |
|
this.__internal$_first = t0; |
|
this._second = t1; |
|
this.$ti = t2; |
|
}, |
|
FollowedByIterator: function FollowedByIterator(t0, t1) { |
|
this._currentIterator = t0; |
|
this._nextIterable = t1; |
|
}, |
|
WhereTypeIterable: function WhereTypeIterable(t0, t1) { |
|
this._source = t0; |
|
this.$ti = t1; |
|
}, |
|
WhereTypeIterator: function WhereTypeIterator(t0, t1) { |
|
this._source = t0; |
|
this.$ti = t1; |
|
}, |
|
FixedLengthListMixin: function FixedLengthListMixin() { |
|
}, |
|
UnmodifiableListMixin: function UnmodifiableListMixin() { |
|
}, |
|
UnmodifiableListBase: function UnmodifiableListBase() { |
|
}, |
|
ReversedListIterable: function ReversedListIterable(t0, t1) { |
|
this._source = t0; |
|
this.$ti = t1; |
|
}, |
|
Symbol: function Symbol(t0) { |
|
this.__internal$_name = t0; |
|
}, |
|
__CastListBase__CastIterableBase_ListMixin: function __CastListBase__CastIterableBase_ListMixin() { |
|
}, |
|
ConstantMap_ConstantMap$from: function(other, $K, $V) { |
|
var allStrings, k, object, containsProto, protoValue, $length, v, |
|
keys = P.List_List$from(other.get$keys(), true, $K), |
|
t1 = keys.length, |
|
_i = 0; |
|
while (true) { |
|
if (!(_i < t1)) { |
|
allStrings = true; |
|
break; |
|
} |
|
k = keys[_i]; |
|
if (typeof k !== "string") { |
|
allStrings = false; |
|
break; |
|
} |
|
++_i; |
|
} |
|
if (allStrings) { |
|
object = {}; |
|
for (containsProto = false, protoValue = null, $length = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) { |
|
k = keys[_i]; |
|
v = other.$index(0, k); |
|
if (!J.$eq$(k, "__proto__")) { |
|
if (!object.hasOwnProperty(k)) |
|
++$length; |
|
object[k] = v; |
|
} else { |
|
protoValue = v; |
|
containsProto = true; |
|
} |
|
} |
|
if (containsProto) |
|
return new H.ConstantProtoMap(protoValue, $length + 1, object, keys, [$K, $V]); |
|
return new H.ConstantStringMap($length, object, keys, [$K, $V]); |
|
} |
|
return new H.ConstantMapView(P.LinkedHashMap_LinkedHashMap$from(other, $K, $V), [$K, $V]); |
|
}, |
|
ConstantMap__throwUnmodifiable: function() { |
|
throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable Map")); |
|
}, |
|
instantiate1: function(f, T1) { |
|
var t1 = new H.Instantiation1(f, [T1]); |
|
t1.Instantiation$1(f); |
|
return t1; |
|
}, |
|
unminifyOrTag: function(rawClassName) { |
|
var preserved = H.unmangleGlobalNameIfPreservedAnyways(rawClassName); |
|
if (typeof preserved === "string") |
|
return preserved; |
|
return rawClassName; |
|
}, |
|
getType: function(index) { |
|
return init.types[index]; |
|
}, |
|
isJsIndexable: function(object, record) { |
|
var result; |
|
if (record != null) { |
|
result = record.x; |
|
if (result != null) |
|
return result; |
|
} |
|
return !!J.getInterceptor$(object).$isJavaScriptIndexingBehavior; |
|
}, |
|
S: function(value) { |
|
var res; |
|
if (typeof value === "string") |
|
return value; |
|
if (typeof value === "number") { |
|
if (value !== 0) |
|
return "" + value; |
|
} else if (true === value) |
|
return "true"; |
|
else if (false === value) |
|
return "false"; |
|
else if (value == null) |
|
return "null"; |
|
res = J.toString$0$(value); |
|
if (typeof res !== "string") |
|
throw H.wrapException(H.argumentErrorValue(value)); |
|
return res; |
|
}, |
|
Primitives_objectHashCode: function(object) { |
|
var hash = object.$identityHash; |
|
if (hash == null) { |
|
hash = Math.random() * 0x3fffffff | 0; |
|
object.$identityHash = hash; |
|
} |
|
return hash; |
|
}, |
|
Primitives_parseInt: function(source, radix) { |
|
var match, decimalMatch, maxCharCode, digitsPart, t1, i; |
|
if (typeof source !== "string") |
|
H.throwExpression(H.argumentErrorValue(source)); |
|
match = /^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(source); |
|
if (match == null) |
|
return; |
|
decimalMatch = match[3]; |
|
if (radix == null) { |
|
if (decimalMatch != null) |
|
return parseInt(source, 10); |
|
if (match[2] != null) |
|
return parseInt(source, 16); |
|
return; |
|
} |
|
if (radix < 2 || radix > 36) |
|
throw H.wrapException(P.RangeError$range(radix, 2, 36, "radix", null)); |
|
if (radix === 10 && decimalMatch != null) |
|
return parseInt(source, 10); |
|
if (radix < 10 || decimalMatch == null) { |
|
maxCharCode = radix <= 10 ? 47 + radix : 86 + radix; |
|
digitsPart = match[1]; |
|
for (t1 = digitsPart.length, i = 0; i < t1; ++i) |
|
if ((C.JSString_methods._codeUnitAt$1(digitsPart, i) | 32) > maxCharCode) |
|
return; |
|
} |
|
return parseInt(source, radix); |
|
}, |
|
Primitives_parseDouble: function(source) { |
|
var result, trimmed; |
|
if (!/^\s*[+-]?(?:Infinity|NaN|(?:\.\d+|\d+(?:\.\d*)?)(?:[eE][+-]?\d+)?)\s*$/.test(source)) |
|
return; |
|
result = parseFloat(source); |
|
if (isNaN(result)) { |
|
trimmed = C.JSString_methods.trim$0(source); |
|
if (trimmed === "NaN" || trimmed === "+NaN" || trimmed === "-NaN") |
|
return result; |
|
return; |
|
} |
|
return result; |
|
}, |
|
Primitives_objectTypeName: function(object) { |
|
return H.Primitives__objectClassName(object) + H._joinArguments(H.getRuntimeTypeInfo(object), 0, null); |
|
}, |
|
Primitives__objectClassName: function(object) { |
|
var interceptorConstructorName, $name, t1, dispatchName, objectConstructor, match, decompiledName, |
|
interceptor = J.getInterceptor$(object), |
|
interceptorConstructor = interceptor.constructor; |
|
if (typeof interceptorConstructor == "function") { |
|
interceptorConstructorName = interceptorConstructor.name; |
|
$name = typeof interceptorConstructorName === "string" ? interceptorConstructorName : null; |
|
} else |
|
$name = null; |
|
t1 = $name == null; |
|
if (t1 || interceptor === C.Interceptor_methods || !!interceptor.$isUnknownJavaScriptObject) { |
|
dispatchName = C.C_JS_CONST(object); |
|
if (t1) |
|
$name = dispatchName; |
|
if (dispatchName === "Object") { |
|
objectConstructor = object.constructor; |
|
if (typeof objectConstructor == "function") { |
|
match = String(objectConstructor).match(/^\s*function\s*([\w$]*)\s*\(/); |
|
decompiledName = match == null ? null : match[1]; |
|
if (typeof decompiledName === "string" && /^\w+$/.test(decompiledName)) |
|
$name = decompiledName; |
|
} |
|
} |
|
return $name; |
|
} |
|
$name = $name; |
|
return H.unminifyOrTag($name.length > 1 && C.JSString_methods._codeUnitAt$1($name, 0) === 36 ? C.JSString_methods.substring$1($name, 1) : $name); |
|
}, |
|
Primitives_currentUri: function() { |
|
if (!!self.location) |
|
return self.location.href; |
|
return; |
|
}, |
|
Primitives__fromCharCodeApply: function(array) { |
|
var result, i, i0, chunkEnd, |
|
end = J.get$length$asx(array); |
|
if (end <= 500) |
|
return String.fromCharCode.apply(null, array); |
|
for (result = "", i = 0; i < end; i = i0) { |
|
i0 = i + 500; |
|
chunkEnd = i0 < end ? i0 : end; |
|
result += String.fromCharCode.apply(null, array.slice(i, chunkEnd)); |
|
} |
|
return result; |
|
}, |
|
Primitives_stringFromCodePoints: function(codePoints) { |
|
var t1, i, |
|
a = H.setRuntimeTypeInfo([], [P.int]); |
|
for (t1 = J.get$iterator$ax(codePoints); t1.moveNext$0();) { |
|
i = t1.get$current(t1); |
|
if (typeof i !== "number" || Math.floor(i) !== i) |
|
throw H.wrapException(H.argumentErrorValue(i)); |
|
if (i <= 65535) |
|
a.push(i); |
|
else if (i <= 1114111) { |
|
a.push(55296 + (C.JSInt_methods._shrOtherPositive$1(i - 65536, 10) & 1023)); |
|
a.push(56320 + (i & 1023)); |
|
} else |
|
throw H.wrapException(H.argumentErrorValue(i)); |
|
} |
|
return H.Primitives__fromCharCodeApply(a); |
|
}, |
|
Primitives_stringFromCharCodes: function(charCodes) { |
|
var t1, i; |
|
for (t1 = J.get$iterator$ax(charCodes); t1.moveNext$0();) { |
|
i = t1.get$current(t1); |
|
if (typeof i !== "number" || Math.floor(i) !== i) |
|
throw H.wrapException(H.argumentErrorValue(i)); |
|
if (i < 0) |
|
throw H.wrapException(H.argumentErrorValue(i)); |
|
if (i > 65535) |
|
return H.Primitives_stringFromCodePoints(charCodes); |
|
} |
|
return H.Primitives__fromCharCodeApply(charCodes); |
|
}, |
|
Primitives_stringFromNativeUint8List: function(charCodes, start, end) { |
|
var i, result, i0, chunkEnd; |
|
if (end <= 500 && start === 0 && end === charCodes.length) |
|
return String.fromCharCode.apply(null, charCodes); |
|
for (i = start, result = ""; i < end; i = i0) { |
|
i0 = i + 500; |
|
chunkEnd = i0 < end ? i0 : end; |
|
result += String.fromCharCode.apply(null, charCodes.subarray(i, chunkEnd)); |
|
} |
|
return result; |
|
}, |
|
Primitives_stringFromCharCode: function(charCode) { |
|
var bits; |
|
if (0 <= charCode) { |
|
if (charCode <= 65535) |
|
return String.fromCharCode(charCode); |
|
if (charCode <= 1114111) { |
|
bits = charCode - 65536; |
|
return String.fromCharCode((55296 | C.JSInt_methods._shrOtherPositive$1(bits, 10)) >>> 0, 56320 | bits & 1023); |
|
} |
|
} |
|
throw H.wrapException(P.RangeError$range(charCode, 0, 1114111, null, null)); |
|
}, |
|
Primitives_lazyAsJsDate: function(receiver) { |
|
if (receiver.date === void 0) |
|
receiver.date = new Date(receiver._value); |
|
return receiver.date; |
|
}, |
|
Primitives_getYear: function(receiver) { |
|
var t1 = H.Primitives_lazyAsJsDate(receiver).getFullYear() + 0; |
|
return t1; |
|
}, |
|
Primitives_getMonth: function(receiver) { |
|
var t1 = H.Primitives_lazyAsJsDate(receiver).getMonth() + 1; |
|
return t1; |
|
}, |
|
Primitives_getDay: function(receiver) { |
|
var t1 = H.Primitives_lazyAsJsDate(receiver).getDate() + 0; |
|
return t1; |
|
}, |
|
Primitives_getHours: function(receiver) { |
|
var t1 = H.Primitives_lazyAsJsDate(receiver).getHours() + 0; |
|
return t1; |
|
}, |
|
Primitives_getMinutes: function(receiver) { |
|
var t1 = H.Primitives_lazyAsJsDate(receiver).getMinutes() + 0; |
|
return t1; |
|
}, |
|
Primitives_getSeconds: function(receiver) { |
|
var t1 = H.Primitives_lazyAsJsDate(receiver).getSeconds() + 0; |
|
return t1; |
|
}, |
|
Primitives_getMilliseconds: function(receiver) { |
|
var t1 = H.Primitives_lazyAsJsDate(receiver).getMilliseconds() + 0; |
|
return t1; |
|
}, |
|
Primitives_functionNoSuchMethod: function($function, positionalArguments, namedArguments) { |
|
var $arguments, namedArgumentList, t1 = {}; |
|
t1.argumentCount = 0; |
|
$arguments = []; |
|
namedArgumentList = []; |
|
t1.argumentCount = positionalArguments.length; |
|
C.JSArray_methods.addAll$1($arguments, positionalArguments); |
|
t1.names = ""; |
|
if (namedArguments != null && !namedArguments.get$isEmpty(namedArguments)) |
|
namedArguments.forEach$1(0, new H.Primitives_functionNoSuchMethod_closure(t1, namedArgumentList, $arguments)); |
|
"" + t1.argumentCount; |
|
return J.noSuchMethod$1$($function, new H.JSInvocationMirror(C.Symbol_call, 0, $arguments, namedArgumentList, 0)); |
|
}, |
|
Primitives_applyFunction: function($function, positionalArguments, namedArguments) { |
|
var t1, $arguments, argumentCount, jsStub; |
|
if (positionalArguments instanceof Array) |
|
t1 = namedArguments == null || namedArguments.get$isEmpty(namedArguments); |
|
else |
|
t1 = false; |
|
if (t1) { |
|
$arguments = positionalArguments; |
|
argumentCount = $arguments.length; |
|
if (argumentCount === 0) { |
|
if (!!$function.call$0) |
|
return $function.call$0(); |
|
} else if (argumentCount === 1) { |
|
if (!!$function.call$1) |
|
return $function.call$1($arguments[0]); |
|
} else if (argumentCount === 2) { |
|
if (!!$function.call$2) |
|
return $function.call$2($arguments[0], $arguments[1]); |
|
} else if (argumentCount === 3) { |
|
if (!!$function.call$3) |
|
return $function.call$3($arguments[0], $arguments[1], $arguments[2]); |
|
} else if (argumentCount === 4) { |
|
if (!!$function.call$4) |
|
return $function.call$4($arguments[0], $arguments[1], $arguments[2], $arguments[3]); |
|
} else if (argumentCount === 5) |
|
if (!!$function.call$5) |
|
return $function.call$5($arguments[0], $arguments[1], $arguments[2], $arguments[3], $arguments[4]); |
|
jsStub = $function["call" + "$" + argumentCount]; |
|
if (jsStub != null) |
|
return jsStub.apply($function, $arguments); |
|
} |
|
return H.Primitives__genericApplyFunction2($function, positionalArguments, namedArguments); |
|
}, |
|
Primitives__genericApplyFunction2: function($function, positionalArguments, namedArguments) { |
|
var $arguments, argumentCount, requiredParameterCount, defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, keys, _i, used, t2; |
|
if (positionalArguments != null) |
|
$arguments = positionalArguments instanceof Array ? positionalArguments : P.List_List$from(positionalArguments, true, null); |
|
else |
|
$arguments = []; |
|
argumentCount = $arguments.length; |
|
requiredParameterCount = $function.$requiredArgCount; |
|
if (argumentCount < requiredParameterCount) |
|
return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); |
|
defaultValuesClosure = $function.$defaultValues; |
|
t1 = defaultValuesClosure == null; |
|
defaultValues = !t1 ? defaultValuesClosure() : null; |
|
interceptor = J.getInterceptor$($function); |
|
jsFunction = interceptor["call*"]; |
|
if (typeof jsFunction === "string") |
|
jsFunction = interceptor[jsFunction]; |
|
if (t1) { |
|
if (namedArguments != null && namedArguments.get$isNotEmpty(namedArguments)) |
|
return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); |
|
if (argumentCount === requiredParameterCount) |
|
return jsFunction.apply($function, $arguments); |
|
return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); |
|
} |
|
if (defaultValues instanceof Array) { |
|
if (namedArguments != null && namedArguments.get$isNotEmpty(namedArguments)) |
|
return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); |
|
if (argumentCount > requiredParameterCount + defaultValues.length) |
|
return H.Primitives_functionNoSuchMethod($function, $arguments, null); |
|
C.JSArray_methods.addAll$1($arguments, defaultValues.slice(argumentCount - requiredParameterCount)); |
|
return jsFunction.apply($function, $arguments); |
|
} else { |
|
if (argumentCount > requiredParameterCount) |
|
return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); |
|
keys = Object.keys(defaultValues); |
|
if (namedArguments == null) |
|
for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) |
|
C.JSArray_methods.add$1($arguments, defaultValues[keys[_i]]); |
|
else { |
|
for (t1 = keys.length, used = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) { |
|
t2 = keys[_i]; |
|
if (namedArguments.containsKey$1(t2)) { |
|
++used; |
|
C.JSArray_methods.add$1($arguments, namedArguments.$index(0, t2)); |
|
} else |
|
C.JSArray_methods.add$1($arguments, defaultValues[t2]); |
|
} |
|
if (used !== namedArguments.get$length(namedArguments)) |
|
return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments); |
|
} |
|
return jsFunction.apply($function, $arguments); |
|
} |
|
}, |
|
diagnoseIndexError: function(indexable, index) { |
|
var $length, _s5_ = "index"; |
|
if (typeof index !== "number" || Math.floor(index) !== index) |
|
return new P.ArgumentError(true, index, _s5_, null); |
|
$length = J.get$length$asx(indexable); |
|
if (index < 0 || index >= $length) |
|
return P.IndexError$(index, indexable, _s5_, null, $length); |
|
return P.RangeError$value(index, _s5_, null); |
|
}, |
|
diagnoseRangeError: function(start, end, $length) { |
|
var _s13_ = "Invalid value"; |
|
if (start < 0 || start > $length) |
|
return new P.RangeError(0, $length, true, start, "start", _s13_); |
|
if (end != null) |
|
if (end < start || end > $length) |
|
return new P.RangeError(start, $length, true, end, "end", _s13_); |
|
return new P.ArgumentError(true, end, "end", null); |
|
}, |
|
argumentErrorValue: function(object) { |
|
return new P.ArgumentError(true, object, null, null); |
|
}, |
|
checkNum: function(value) { |
|
if (typeof value !== "number") |
|
throw H.wrapException(H.argumentErrorValue(value)); |
|
return value; |
|
}, |
|
wrapException: function(ex) { |
|
var wrapper; |
|
if (ex == null) |
|
ex = new P.NullThrownError(); |
|
wrapper = new Error(); |
|
wrapper.dartException = ex; |
|
if ("defineProperty" in Object) { |
|
Object.defineProperty(wrapper, "message", {get: H.toStringWrapper}); |
|
wrapper.name = ""; |
|
} else |
|
wrapper.toString = H.toStringWrapper; |
|
return wrapper; |
|
}, |
|
toStringWrapper: function() { |
|
return J.toString$0$(this.dartException); |
|
}, |
|
throwExpression: function(ex) { |
|
throw H.wrapException(ex); |
|
}, |
|
throwConcurrentModificationError: function(collection) { |
|
throw H.wrapException(P.ConcurrentModificationError$(collection)); |
|
}, |
|
TypeErrorDecoder_extractPattern: function(message) { |
|
var match, $arguments, argumentsExpr, expr, method, receiver; |
|
message = H.quoteStringForRegExp(message.replace(String({}), '$receiver$')); |
|
match = message.match(/\\\$[a-zA-Z]+\\\$/g); |
|
if (match == null) |
|
match = H.setRuntimeTypeInfo([], [P.String]); |
|
$arguments = match.indexOf("\\$arguments\\$"); |
|
argumentsExpr = match.indexOf("\\$argumentsExpr\\$"); |
|
expr = match.indexOf("\\$expr\\$"); |
|
method = match.indexOf("\\$method\\$"); |
|
receiver = match.indexOf("\\$receiver\\$"); |
|
return new H.TypeErrorDecoder(message.replace(new RegExp('\\\\\\$arguments\\\\\\$', 'g'), '((?:x|[^x])*)').replace(new RegExp('\\\\\\$argumentsExpr\\\\\\$', 'g'), '((?:x|[^x])*)').replace(new RegExp('\\\\\\$expr\\\\\\$', 'g'), '((?:x|[^x])*)').replace(new RegExp('\\\\\\$method\\\\\\$', 'g'), '((?:x|[^x])*)').replace(new RegExp('\\\\\\$receiver\\\\\\$', 'g'), '((?:x|[^x])*)'), $arguments, argumentsExpr, expr, method, receiver); |
|
}, |
|
TypeErrorDecoder_provokeCallErrorOn: function(expression) { |
|
return function($expr$) { |
|
var $argumentsExpr$ = '$arguments$'; |
|
try { |
|
$expr$.$method$($argumentsExpr$); |
|
} catch (e) { |
|
return e.message; |
|
} |
|
}(expression); |
|
}, |
|
TypeErrorDecoder_provokePropertyErrorOn: function(expression) { |
|
return function($expr$) { |
|
try { |
|
$expr$.$method$; |
|
} catch (e) { |
|
return e.message; |
|
} |
|
}(expression); |
|
}, |
|
NullError$: function(_message, match) { |
|
return new H.NullError(_message, match == null ? null : match.method); |
|
}, |
|
JsNoSuchMethodError$: function(_message, match) { |
|
var t1 = match == null, |
|
t2 = t1 ? null : match.method; |
|
return new H.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver); |
|
}, |
|
unwrapException: function(ex) { |
|
var message, number, ieErrorCode, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match, t2, _null = null, |
|
t1 = new H.unwrapException_saveStackTrace(ex); |
|
if (ex == null) |
|
return; |
|
if (ex instanceof H.ExceptionAndStackTrace) |
|
return t1.call$1(ex.dartException); |
|
if (typeof ex !== "object") |
|
return ex; |
|
if ("dartException" in ex) |
|
return t1.call$1(ex.dartException); |
|
else if (!("message" in ex)) |
|
return ex; |
|
message = ex.message; |
|
if ("number" in ex && typeof ex.number == "number") { |
|
number = ex.number; |
|
ieErrorCode = number & 65535; |
|
if ((C.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10) |
|
switch (ieErrorCode) { |
|
case 438: |
|
return t1.call$1(H.JsNoSuchMethodError$(H.S(message) + " (Error " + ieErrorCode + ")", _null)); |
|
case 445: |
|
case 5007: |
|
return t1.call$1(H.NullError$(H.S(message) + " (Error " + ieErrorCode + ")", _null)); |
|
} |
|
} |
|
if (ex instanceof TypeError) { |
|
nsme = $.$get$TypeErrorDecoder_noSuchMethodPattern(); |
|
notClosure = $.$get$TypeErrorDecoder_notClosurePattern(); |
|
nullCall = $.$get$TypeErrorDecoder_nullCallPattern(); |
|
nullLiteralCall = $.$get$TypeErrorDecoder_nullLiteralCallPattern(); |
|
undefCall = $.$get$TypeErrorDecoder_undefinedCallPattern(); |
|
undefLiteralCall = $.$get$TypeErrorDecoder_undefinedLiteralCallPattern(); |
|
nullProperty = $.$get$TypeErrorDecoder_nullPropertyPattern(); |
|
$.$get$TypeErrorDecoder_nullLiteralPropertyPattern(); |
|
undefProperty = $.$get$TypeErrorDecoder_undefinedPropertyPattern(); |
|
undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyPattern(); |
|
match = nsme.matchTypeError$1(message); |
|
if (match != null) |
|
return t1.call$1(H.JsNoSuchMethodError$(message, match)); |
|
else { |
|
match = notClosure.matchTypeError$1(message); |
|
if (match != null) { |
|
match.method = "call"; |
|
return t1.call$1(H.JsNoSuchMethodError$(message, match)); |
|
} else { |
|
match = nullCall.matchTypeError$1(message); |
|
if (match == null) { |
|
match = nullLiteralCall.matchTypeError$1(message); |
|
if (match == null) { |
|
match = undefCall.matchTypeError$1(message); |
|
if (match == null) { |
|
match = undefLiteralCall.matchTypeError$1(message); |
|
if (match == null) { |
|
match = nullProperty.matchTypeError$1(message); |
|
if (match == null) { |
|
match = nullLiteralCall.matchTypeError$1(message); |
|
if (match == null) { |
|
match = undefProperty.matchTypeError$1(message); |
|
if (match == null) { |
|
match = undefLiteralProperty.matchTypeError$1(message); |
|
t2 = match != null; |
|
} else |
|
t2 = true; |
|
} else |
|
t2 = true; |
|
} else |
|
t2 = true; |
|
} else |
|
t2 = true; |
|
} else |
|
t2 = true; |
|
} else |
|
t2 = true; |
|
} else |
|
t2 = true; |
|
if (t2) |
|
return t1.call$1(H.NullError$(message, match)); |
|
} |
|
} |
|
return t1.call$1(new H.UnknownJsTypeError(typeof message === "string" ? message : "")); |
|
} |
|
if (ex instanceof RangeError) { |
|
if (typeof message === "string" && message.indexOf("call stack") !== -1) |
|
return new P.StackOverflowError(); |
|
message = function(ex) { |
|
try { |
|
return String(ex); |
|
} catch (e) { |
|
} |
|
return null; |
|
}(ex); |
|
return t1.call$1(new P.ArgumentError(false, _null, _null, typeof message === "string" ? message.replace(/^RangeError:\s*/, "") : message)); |
|
} |
|
if (typeof InternalError == "function" && ex instanceof InternalError) |
|
if (typeof message === "string" && message === "too much recursion") |
|
return new P.StackOverflowError(); |
|
return ex; |
|
}, |
|
getTraceFromException: function(exception) { |
|
var trace; |
|
if (exception instanceof H.ExceptionAndStackTrace) |
|
return exception.stackTrace; |
|
if (exception == null) |
|
return new H._StackTrace(exception); |
|
trace = exception.$cachedTrace; |
|
if (trace != null) |
|
return trace; |
|
return exception.$cachedTrace = new H._StackTrace(exception); |
|
}, |
|
objectHashCode: function(object) { |
|
if (object == null || typeof object != 'object') |
|
return J.get$hashCode$(object); |
|
else |
|
return H.Primitives_objectHashCode(object); |
|
}, |
|
fillLiteralMap: function(keyValuePairs, result) { |
|
var index, index0, index1, |
|
$length = keyValuePairs.length; |
|
for (index = 0; index < $length; index = index1) { |
|
index0 = index + 1; |
|
index1 = index0 + 1; |
|
result.$indexSet(0, keyValuePairs[index], keyValuePairs[index0]); |
|
} |
|
return result; |
|
}, |
|
fillLiteralSet: function(values, result) { |
|
var index, |
|
$length = values.length; |
|
for (index = 0; index < $length; ++index) |
|
result.add$1(0, values[index]); |
|
return result; |
|
}, |
|
invokeClosure: function(closure, numberOfArguments, arg1, arg2, arg3, arg4) { |
|
switch (numberOfArguments) { |
|
case 0: |
|
return closure.call$0(); |
|
case 1: |
|
return closure.call$1(arg1); |
|
case 2: |
|
return closure.call$2(arg1, arg2); |
|
case 3: |
|
return closure.call$3(arg1, arg2, arg3); |
|
case 4: |
|
return closure.call$4(arg1, arg2, arg3, arg4); |
|
} |
|
throw H.wrapException(new P._Exception("Unsupported number of arguments for wrapped closure")); |
|
}, |
|
convertDartClosureToJS: function(closure, arity) { |
|
var $function; |
|
if (closure == null) |
|
return; |
|
$function = closure.$identity; |
|
if (!!$function) |
|
return $function; |
|
$function = function(closure, arity, invoke) { |
|
return function(a1, a2, a3, a4) { |
|
return invoke(closure, arity, a1, a2, a3, a4); |
|
}; |
|
}(closure, arity, H.invokeClosure); |
|
closure.$identity = $function; |
|
return $function; |
|
}, |
|
Closure_fromTearOff: function(receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, propertyName) { |
|
var $constructor, t1, trampoline, signatureFunction, applyTrampoline, i, stub, stubCallName, _null = null, |
|
$function = functions[0], |
|
callName = $function.$callName, |
|
$prototype = isStatic ? Object.create(new H.StaticClosure().constructor.prototype) : Object.create(new H.BoundClosure(_null, _null, _null, _null).constructor.prototype); |
|
$prototype.$initialize = $prototype.constructor; |
|
if (isStatic) |
|
$constructor = function static_tear_off() { |
|
this.$initialize(); |
|
}; |
|
else { |
|
t1 = $.Closure_functionCounter; |
|
$.Closure_functionCounter = t1 + 1; |
|
t1 = new Function("a,b,c,d" + t1, "this.$initialize(a,b,c,d" + t1 + ")"); |
|
$constructor = t1; |
|
} |
|
$prototype.constructor = $constructor; |
|
$constructor.prototype = $prototype; |
|
if (!isStatic) { |
|
trampoline = H.Closure_forwardCallTo(receiver, $function, isIntercepted); |
|
trampoline.$reflectionInfo = reflectionInfo; |
|
} else { |
|
$prototype.$static_name = propertyName; |
|
trampoline = $function; |
|
} |
|
signatureFunction = H.Closure__computeSignatureFunctionLegacy(reflectionInfo, isStatic, isIntercepted); |
|
$prototype.$signature = signatureFunction; |
|
$prototype[callName] = trampoline; |
|
for (applyTrampoline = trampoline, i = 1; i < functions.length; ++i) { |
|
stub = functions[i]; |
|
stubCallName = stub.$callName; |
|
if (stubCallName != null) { |
|
stub = isStatic ? stub : H.Closure_forwardCallTo(receiver, stub, isIntercepted); |
|
$prototype[stubCallName] = stub; |
|
} |
|
if (i === applyTrampolineIndex) { |
|
stub.$reflectionInfo = reflectionInfo; |
|
applyTrampoline = stub; |
|
} |
|
} |
|
$prototype["call*"] = applyTrampoline; |
|
$prototype.$requiredArgCount = $function.$requiredArgCount; |
|
$prototype.$defaultValues = $function.$defaultValues; |
|
return $constructor; |
|
}, |
|
Closure__computeSignatureFunctionLegacy: function(functionType, isStatic, isIntercepted) { |
|
var getReceiver; |
|
if (typeof functionType == "number") |
|
return function(getType, t) { |
|
return function() { |
|
return getType(t); |
|
}; |
|
}(H.getType, functionType); |
|
if (typeof functionType == "function") |
|
if (isStatic) |
|
return functionType; |
|
else { |
|
getReceiver = isIntercepted ? H.BoundClosure_receiverOf : H.BoundClosure_selfOf; |
|
return function(f, r) { |
|
return function() { |
|
return f.apply({$receiver: r(this)}, arguments); |
|
}; |
|
}(functionType, getReceiver); |
|
} |
|
throw H.wrapException("Error in functionType of tearoff"); |
|
}, |
|
Closure_cspForwardCall: function(arity, isSuperCall, stubName, $function) { |
|
var getSelf = H.BoundClosure_selfOf; |
|
switch (isSuperCall ? -1 : arity) { |
|
case 0: |
|
return function(n, S) { |
|
return function() { |
|
return S(this)[n](); |
|
}; |
|
}(stubName, getSelf); |
|
case 1: |
|
return function(n, S) { |
|
return function(a) { |
|
return S(this)[n](a); |
|
}; |
|
}(stubName, getSelf); |
|
case 2: |
|
return function(n, S) { |
|
return function(a, b) { |
|
return S(this)[n](a, b); |
|
}; |
|
}(stubName, getSelf); |
|
case 3: |
|
return function(n, S) { |
|
return function(a, b, c) { |
|
return S(this)[n](a, b, c); |
|
}; |
|
}(stubName, getSelf); |
|
case 4: |
|
return function(n, S) { |
|
return function(a, b, c, d) { |
|
return S(this)[n](a, b, c, d); |
|
}; |
|
}(stubName, getSelf); |
|
case 5: |
|
return function(n, S) { |
|
return function(a, b, c, d, e) { |
|
return S(this)[n](a, b, c, d, e); |
|
}; |
|
}(stubName, getSelf); |
|
default: |
|
return function(f, s) { |
|
return function() { |
|
return f.apply(s(this), arguments); |
|
}; |
|
}($function, getSelf); |
|
} |
|
}, |
|
Closure_forwardCallTo: function(receiver, $function, isIntercepted) { |
|
var stubName, arity, lookedUpFunction, t1, t2, selfName, $arguments; |
|
if (isIntercepted) |
|
return H.Closure_forwardInterceptedCallTo(receiver, $function); |
|
stubName = $function.$stubName; |
|
arity = $function.length; |
|
lookedUpFunction = receiver[stubName]; |
|
t1 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction; |
|
t2 = !t1 || arity >= 27; |
|
if (t2) |
|
return H.Closure_cspForwardCall(arity, !t1, stubName, $function); |
|
if (arity === 0) { |
|
t1 = $.Closure_functionCounter; |
|
$.Closure_functionCounter = t1 + 1; |
|
selfName = "self" + H.S(t1); |
|
t1 = "return function(){var " + selfName + " = this."; |
|
t2 = $.BoundClosure_selfFieldNameCache; |
|
return new Function(t1 + H.S(t2 == null ? $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self") : t2) + ";return " + selfName + "." + H.S(stubName) + "();}")(); |
|
} |
|
$arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity).join(","); |
|
t1 = $.Closure_functionCounter; |
|
$.Closure_functionCounter = t1 + 1; |
|
$arguments += H.S(t1); |
|
t1 = "return function(" + $arguments + "){return this."; |
|
t2 = $.BoundClosure_selfFieldNameCache; |
|
return new Function(t1 + H.S(t2 == null ? $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self") : t2) + "." + H.S(stubName) + "(" + $arguments + ");}")(); |
|
}, |
|
Closure_cspForwardInterceptedCall: function(arity, isSuperCall, $name, $function) { |
|
var getSelf = H.BoundClosure_selfOf, |
|
getReceiver = H.BoundClosure_receiverOf; |
|
switch (isSuperCall ? -1 : arity) { |
|
case 0: |
|
throw H.wrapException(H.RuntimeError$("Intercepted function with no arguments.")); |
|
case 1: |
|
return function(n, s, r) { |
|
return function() { |
|
return s(this)[n](r(this)); |
|
}; |
|
}($name, getSelf, getReceiver); |
|
case 2: |
|
return function(n, s, r) { |
|
return function(a) { |
|
return s(this)[n](r(this), a); |
|
}; |
|
}($name, getSelf, getReceiver); |
|
case 3: |
|
return function(n, s, r) { |
|
return function(a, b) { |
|
return s(this)[n](r(this), a, b); |
|
}; |
|
}($name, getSelf, getReceiver); |
|
case 4: |
|
return function(n, s, r) { |
|
return function(a, b, c) { |
|
return s(this)[n](r(this), a, b, c); |
|
}; |
|
}($name, getSelf, getReceiver); |
|
case 5: |
|
return function(n, s, r) { |
|
return function(a, b, c, d) { |
|
return s(this)[n](r(this), a, b, c, d); |
|
}; |
|
}($name, getSelf, getReceiver); |
|
case 6: |
|
return function(n, s, r) { |
|
return function(a, b, c, d, e) { |
|
return s(this)[n](r(this), a, b, c, d, e); |
|
}; |
|
}($name, getSelf, getReceiver); |
|
default: |
|
return function(f, s, r, a) { |
|
return function() { |
|
a = [r(this)]; |
|
Array.prototype.push.apply(a, arguments); |
|
return f.apply(s(this), a); |
|
}; |
|
}($function, getSelf, getReceiver); |
|
} |
|
}, |
|
Closure_forwardInterceptedCallTo: function(receiver, $function) { |
|
var t2, stubName, arity, lookedUpFunction, t3, t4, $arguments, |
|
t1 = $.BoundClosure_selfFieldNameCache; |
|
if (t1 == null) |
|
t1 = $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self"); |
|
t2 = $.BoundClosure_receiverFieldNameCache; |
|
if (t2 == null) |
|
t2 = $.BoundClosure_receiverFieldNameCache = H.BoundClosure_computeFieldNamed("receiver"); |
|
stubName = $function.$stubName; |
|
arity = $function.length; |
|
lookedUpFunction = receiver[stubName]; |
|
t3 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction; |
|
t4 = !t3 || arity >= 28; |
|
if (t4) |
|
return H.Closure_cspForwardInterceptedCall(arity, !t3, stubName, $function); |
|
if (arity === 1) { |
|
t1 = "return function(){return this." + H.S(t1) + "." + H.S(stubName) + "(this." + H.S(t2) + ");"; |
|
t2 = $.Closure_functionCounter; |
|
$.Closure_functionCounter = t2 + 1; |
|
return new Function(t1 + H.S(t2) + "}")(); |
|
} |
|
$arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity - 1).join(","); |
|
t1 = "return function(" + $arguments + "){return this." + H.S(t1) + "." + H.S(stubName) + "(this." + H.S(t2) + ", " + $arguments + ");"; |
|
t2 = $.Closure_functionCounter; |
|
$.Closure_functionCounter = t2 + 1; |
|
return new Function(t1 + H.S(t2) + "}")(); |
|
}, |
|
closureFromTearOff: function(receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, $name) { |
|
return H.Closure_fromTearOff(receiver, functions, applyTrampolineIndex, reflectionInfo, !!isStatic, !!isIntercepted, $name); |
|
}, |
|
BoundClosure_selfOf: function(closure) { |
|
return closure._self; |
|
}, |
|
BoundClosure_receiverOf: function(closure) { |
|
return closure._receiver; |
|
}, |
|
BoundClosure_computeFieldNamed: function(fieldName) { |
|
var t1, i, $name, |
|
template = new H.BoundClosure("self", "target", "receiver", "name"), |
|
names = J.JSArray_markFixedList(Object.getOwnPropertyNames(template)); |
|
for (t1 = names.length, i = 0; i < t1; ++i) { |
|
$name = names[i]; |
|
if (template[$name] === fieldName) |
|
return $name; |
|
} |
|
}, |
|
stringTypeCast: function(value) { |
|
if (typeof value === "string" || value == null) |
|
return value; |
|
throw H.wrapException(H.CastErrorImplementation$(value, "String")); |
|
}, |
|
boolTypeCast: function(value) { |
|
if (typeof value === "boolean" || value == null) |
|
return value; |
|
throw H.wrapException(H.CastErrorImplementation$(value, "bool")); |
|
}, |
|
intTypeCast: function(value) { |
|
if (typeof value === "number" && Math.floor(value) === value || value == null) |
|
return value; |
|
throw H.wrapException(H.CastErrorImplementation$(value, "int")); |
|
}, |
|
propertyTypeCastError: function(value, property) { |
|
throw H.wrapException(H.CastErrorImplementation$(value, H.unminifyOrTag(property.substring(3)))); |
|
}, |
|
interceptedTypeCast: function(value, property) { |
|
var t1; |
|
if (value != null) |
|
t1 = (typeof value === "object" || typeof value === "function") && J.getInterceptor$(value)[property]; |
|
else |
|
t1 = true; |
|
if (t1) |
|
return value; |
|
H.propertyTypeCastError(value, property); |
|
}, |
|
numberOrStringSuperNativeTypeCast: function(value, property) { |
|
if (value == null) |
|
return value; |
|
if (typeof value === "string") |
|
return value; |
|
if (typeof value === "number") |
|
return value; |
|
if (J.getInterceptor$(value)[property]) |
|
return value; |
|
H.propertyTypeCastError(value, property); |
|
}, |
|
extractFunctionTypeObjectFromInternal: function(o) { |
|
var signature; |
|
if ("$signature" in o) { |
|
signature = o.$signature; |
|
if (typeof signature == "number") |
|
return init.types[signature]; |
|
else |
|
return o.$signature(); |
|
} |
|
return; |
|
}, |
|
functionTypeTest: function(value, functionTypeRti) { |
|
var functionTypeObject; |
|
if (typeof value == "function") |
|
return true; |
|
functionTypeObject = H.extractFunctionTypeObjectFromInternal(J.getInterceptor$(value)); |
|
if (functionTypeObject == null) |
|
return false; |
|
return H._isFunctionSubtype(functionTypeObject, null, functionTypeRti, null); |
|
}, |
|
CastErrorImplementation$: function(value, type) { |
|
return new H.CastErrorImplementation("CastError: " + P.Error_safeToString(value) + ": type '" + H.S(H._typeDescription(value)) + "' is not a subtype of type '" + type + "'"); |
|
}, |
|
_typeDescription: function(value) { |
|
var functionTypeObject, |
|
t1 = J.getInterceptor$(value); |
|
if (!!t1.$isClosure) { |
|
functionTypeObject = H.extractFunctionTypeObjectFromInternal(t1); |
|
if (functionTypeObject != null) |
|
return H.runtimeTypeToString(functionTypeObject); |
|
return "Closure"; |
|
} |
|
return H.Primitives_objectTypeName(value); |
|
}, |
|
throwCyclicInit: function(staticName) { |
|
throw H.wrapException(new P.CyclicInitializationError(staticName)); |
|
}, |
|
RuntimeError$: function(message) { |
|
return new H.RuntimeError(message); |
|
}, |
|
getIsolateAffinityTag: function($name) { |
|
return init.getIsolateTag($name); |
|
}, |
|
setRuntimeTypeInfo: function(target, rti) { |
|
target.$ti = rti; |
|
return target; |
|
}, |
|
getRuntimeTypeInfo: function(target) { |
|
if (target == null) |
|
return; |
|
return target.$ti; |
|
}, |
|
getRuntimeTypeArguments: function(interceptor, object, substitutionName) { |
|
return H.substitute(interceptor["$as" + H.S(substitutionName)], H.getRuntimeTypeInfo(object)); |
|
}, |
|
getRuntimeTypeArgumentIntercepted: function(interceptor, target, substitutionName, index) { |
|
var $arguments = H.substitute(interceptor["$as" + H.S(substitutionName)], H.getRuntimeTypeInfo(target)); |
|
return $arguments == null ? null : $arguments[index]; |
|
}, |
|
getRuntimeTypeArgument: function(target, substitutionName, index) { |
|
var $arguments = H.substitute(target["$as" + H.S(substitutionName)], H.getRuntimeTypeInfo(target)); |
|
return $arguments == null ? null : $arguments[index]; |
|
}, |
|
getTypeArgumentByIndex: function(target, index) { |
|
var rti = H.getRuntimeTypeInfo(target); |
|
return rti == null ? null : rti[index]; |
|
}, |
|
runtimeTypeToString: function(rti) { |
|
return H._runtimeTypeToString(rti, null); |
|
}, |
|
_runtimeTypeToString: function(rti, genericContext) { |
|
if (rti == null) |
|
return "dynamic"; |
|
if (rti === -1) |
|
return "void"; |
|
if (typeof rti === "object" && rti !== null && rti.constructor === Array) |
|
return H.unminifyOrTag(rti[0].name) + H._joinArguments(rti, 1, genericContext); |
|
if (typeof rti == "function") |
|
return H.unminifyOrTag(rti.name); |
|
if (rti === -2) |
|
return "dynamic"; |
|
if (typeof rti === "number") { |
|
if (genericContext == null || rti < 0 || rti >= genericContext.length) |
|
return "unexpected-generic-index:" + H.S(rti); |
|
return H.S(genericContext[genericContext.length - rti - 1]); |
|
} |
|
if ('func' in rti) |
|
return H._functionRtiToString(rti, genericContext); |
|
if ('futureOr' in rti) |
|
return "FutureOr<" + H._runtimeTypeToString("type" in rti ? rti.type : null, genericContext) + ">"; |
|
return "unknown-reified-type"; |
|
}, |
|
_functionRtiToString: function(rti, genericContext) { |
|
var boundsRti, outerContextLength, offset, i, i0, typeParameters, typeSep, boundRti, returnTypeText, $arguments, t1, argumentsText, sep, _i, argument, optionalArguments, namedArguments, t2, t3, _s2_ = ", "; |
|
if ("bounds" in rti) { |
|
boundsRti = rti.bounds; |
|
if (genericContext == null) { |
|
genericContext = H.setRuntimeTypeInfo([], [P.String]); |
|
outerContextLength = null; |
|
} else |
|
outerContextLength = genericContext.length; |
|
offset = genericContext.length; |
|
for (i = boundsRti.length, i0 = i; i0 > 0; --i0) |
|
genericContext.push("T" + (offset + i0)); |
|
for (typeParameters = "<", typeSep = "", i0 = 0; i0 < i; ++i0, typeSep = _s2_) { |
|
typeParameters = C.JSString_methods.$add(typeParameters + typeSep, genericContext[genericContext.length - i0 - 1]); |
|
boundRti = boundsRti[i0]; |
|
if (boundRti != null && boundRti !== P.Object) |
|
typeParameters += " extends " + H._runtimeTypeToString(boundRti, genericContext); |
|
} |
|
typeParameters += ">"; |
|
} else { |
|
typeParameters = ""; |
|
outerContextLength = null; |
|
} |
|
returnTypeText = !!rti.v ? "void" : H._runtimeTypeToString(rti.ret, genericContext); |
|
if ("args" in rti) { |
|
$arguments = rti.args; |
|
for (t1 = $arguments.length, argumentsText = "", sep = "", _i = 0; _i < t1; ++_i, sep = _s2_) { |
|
argument = $arguments[_i]; |
|
argumentsText = argumentsText + sep + H._runtimeTypeToString(argument, genericContext); |
|
} |
|
} else { |
|
argumentsText = ""; |
|
sep = ""; |
|
} |
|
if ("opt" in rti) { |
|
optionalArguments = rti.opt; |
|
argumentsText += sep + "["; |
|
for (t1 = optionalArguments.length, sep = "", _i = 0; _i < t1; ++_i, sep = _s2_) { |
|
argument = optionalArguments[_i]; |
|
argumentsText = argumentsText + sep + H._runtimeTypeToString(argument, genericContext); |
|
} |
|
argumentsText += "]"; |
|
} |
|
if ("named" in rti) { |
|
namedArguments = rti.named; |
|
argumentsText += sep + "{"; |
|
for (t1 = H.extractKeys(namedArguments), t2 = t1.length, sep = "", _i = 0; _i < t2; ++_i, sep = _s2_) { |
|
t3 = t1[_i]; |
|
argumentsText = argumentsText + sep + H._runtimeTypeToString(namedArguments[t3], genericContext) + (" " + H.S(t3)); |
|
} |
|
argumentsText += "}"; |
|
} |
|
if (outerContextLength != null) |
|
genericContext.length = outerContextLength; |
|
return typeParameters + "(" + argumentsText + ") => " + returnTypeText; |
|
}, |
|
_joinArguments: function(types, startIndex, genericContext) { |
|
var buffer, index, separator, allDynamic, t1, argument; |
|
if (types == null) |
|
return ""; |
|
buffer = new P.StringBuffer(""); |
|
for (index = startIndex, separator = "", allDynamic = true, t1 = ""; index < types.length; ++index, separator = ", ") { |
|
buffer._contents = t1 + separator; |
|
argument = types[index]; |
|
if (argument != null) |
|
allDynamic = false; |
|
t1 = buffer._contents += H._runtimeTypeToString(argument, genericContext); |
|
} |
|
return "<" + buffer.toString$0(0) + ">"; |
|
}, |
|
getRti: function(o) { |
|
var functionRti, type, rti, |
|
t1 = J.getInterceptor$(o); |
|
if (!!t1.$isClosure) { |
|
functionRti = H.extractFunctionTypeObjectFromInternal(t1); |
|
if (functionRti != null) |
|
return functionRti; |
|
} |
|
type = t1.constructor; |
|
if (typeof o != "object") |
|
return type; |
|
rti = H.getRuntimeTypeInfo(o); |
|
if (rti != null) { |
|
rti = rti.slice(); |
|
rti.splice(0, 0, type); |
|
type = rti; |
|
} |
|
return type; |
|
}, |
|
getRuntimeType: function(object) { |
|
return new H.TypeImpl(H.getRti(object)); |
|
}, |
|
substitute: function(substitution, $arguments) { |
|
if (substitution == null) |
|
return $arguments; |
|
substitution = substitution.apply(null, $arguments); |
|
if (substitution == null) |
|
return; |
|
if (typeof substitution === "object" && substitution !== null && substitution.constructor === Array) |
|
return substitution; |
|
if (typeof substitution == "function") |
|
return substitution.apply(null, $arguments); |
|
return $arguments; |
|
}, |
|
checkSubtype: function(object, isField, checks, asField) { |
|
var $arguments, interceptor; |
|
if (object == null) |
|
return false; |
|
$arguments = H.getRuntimeTypeInfo(object); |
|
interceptor = J.getInterceptor$(object); |
|
if (interceptor[isField] == null) |
|
return false; |
|
return H.areSubtypes(H.substitute(interceptor[asField], $arguments), null, checks, null); |
|
}, |
|
subtypeCast: function(object, isField, checks, asField) { |
|
if (object == null) |
|
return object; |
|
if (H.checkSubtype(object, isField, checks, asField)) |
|
return object; |
|
throw H.wrapException(H.CastErrorImplementation$(object, function(str, names) { |
|
return str.replace(/[^<,> ]+/g, function(m) { |
|
return names[m] || m; |
|
}); |
|
}(H.unminifyOrTag(isField.substring(3)) + H._joinArguments(checks, 0, null), init.mangledGlobalNames))); |
|
}, |
|
areSubtypes: function(s, sEnv, t, tEnv) { |
|
var len, i; |
|
if (t == null) |
|
return true; |
|
if (s == null) { |
|
len = t.length; |
|
for (i = 0; i < len; ++i) |
|
if (!H._isSubtype(null, null, t[i], tEnv)) |
|
return false; |
|
return true; |
|
} |
|
len = s.length; |
|
for (i = 0; i < len; ++i) |
|
if (!H._isSubtype(s[i], sEnv, t[i], tEnv)) |
|
return false; |
|
return true; |
|
}, |
|
computeSignature: function(signature, context, contextName) { |
|
return signature.apply(context, H.substitute(J.getInterceptor$(context)["$as" + H.S(contextName)], H.getRuntimeTypeInfo(context))); |
|
}, |
|
isSupertypeOfNullRecursive: function(type) { |
|
var typeArgument; |
|
if (typeof type === "number") |
|
return false; |
|
if ('futureOr' in type) { |
|
typeArgument = "type" in type ? type.type : null; |
|
return type == null || type.name === "Object" || type.name === "Null" || type === -1 || type === -2 || H.isSupertypeOfNullRecursive(typeArgument); |
|
} |
|
return false; |
|
}, |
|
checkSubtypeOfRuntimeType: function(o, t) { |
|
var type, rti; |
|
if (o == null) |
|
return t == null || t.name === "Object" || t.name === "Null" || t === -1 || t === -2 || H.isSupertypeOfNullRecursive(t); |
|
if (t == null || t === -1 || t.name === "Object" || t === -2) |
|
return true; |
|
if (typeof t == "object") { |
|
if ('futureOr' in t) |
|
if (H.checkSubtypeOfRuntimeType(o, "type" in t ? t.type : null)) |
|
return true; |
|
if ('func' in t) |
|
return H.functionTypeTest(o, t); |
|
} |
|
type = J.getInterceptor$(o).constructor; |
|
rti = H.getRuntimeTypeInfo(o); |
|
if (rti != null) { |
|
rti = rti.slice(); |
|
rti.splice(0, 0, type); |
|
type = rti; |
|
} |
|
return H._isSubtype(type, null, t, null); |
|
}, |
|
subtypeOfRuntimeTypeCast: function(object, type) { |
|
if (object != null && !H.checkSubtypeOfRuntimeType(object, type)) |
|
throw H.wrapException(H.CastErrorImplementation$(object, H.runtimeTypeToString(type))); |
|
return object; |
|
}, |
|
_isSubtype: function(s, sEnv, t, tEnv) { |
|
var t1, typeOfS, tTypeArgument, futureSubstitution, futureArguments, t2, typeOfT, typeOfTString, substitution, _null = null; |
|
if (s === t) |
|
return true; |
|
if (t == null || t === -1 || t.name === "Object" || t === -2) |
|
return true; |
|
if (s === -2) |
|
return true; |
|
if (s == null || s === -1 || s.name === "Object" || s === -2) { |
|
if (typeof t === "number") |
|
return false; |
|
if ('futureOr' in t) |
|
return H._isSubtype(s, sEnv, "type" in t ? t.type : _null, tEnv); |
|
return false; |
|
} |
|
if (typeof s === "number") |
|
return H._isSubtype(sEnv[s], sEnv, t, tEnv); |
|
if (typeof t === "number") |
|
return false; |
|
if (s.name === "Null") |
|
return true; |
|
t1 = typeof s === "object" && s !== null && s.constructor === Array; |
|
typeOfS = t1 ? s[0] : s; |
|
if ('futureOr' in t) { |
|
tTypeArgument = "type" in t ? t.type : _null; |
|
if ('futureOr' in s) |
|
return H._isSubtype("type" in s ? s.type : _null, sEnv, tTypeArgument, tEnv); |
|
else if (H._isSubtype(s, sEnv, tTypeArgument, tEnv)) |
|
return true; |
|
else { |
|
if (!('$is' + "Future" in typeOfS.prototype)) |
|
return false; |
|
futureSubstitution = typeOfS.prototype["$as" + "Future"]; |
|
futureArguments = H.substitute(futureSubstitution, t1 ? s.slice(1) : _null); |
|
return H._isSubtype(typeof futureArguments === "object" && futureArguments !== null && futureArguments.constructor === Array ? futureArguments[0] : _null, sEnv, tTypeArgument, tEnv); |
|
} |
|
} |
|
if ('func' in t) |
|
return H._isFunctionSubtype(s, sEnv, t, tEnv); |
|
if ('func' in s) |
|
return t.name === "Function"; |
|
t2 = typeof t === "object" && t !== null && t.constructor === Array; |
|
typeOfT = t2 ? t[0] : t; |
|
if (typeOfT !== typeOfS) { |
|
typeOfTString = typeOfT.name; |
|
if (!('$is' + typeOfTString in typeOfS.prototype)) |
|
return false; |
|
substitution = typeOfS.prototype["$as" + typeOfTString]; |
|
} else |
|
substitution = _null; |
|
if (!t2) |
|
return true; |
|
t1 = t1 ? s.slice(1) : _null; |
|
t2 = t.slice(1); |
|
return H.areSubtypes(H.substitute(substitution, t1), sEnv, t2, tEnv); |
|
}, |
|
_isFunctionSubtype: function(s, sEnv, t, tEnv) { |
|
var sBounds, tBounds, sParameterTypes, tParameterTypes, sOptionalParameterTypes, tOptionalParameterTypes, sParametersLen, tParametersLen, sOptionalParametersLen, tOptionalParametersLen, pos, tPos, sPos, sNamedParameters, tNamedParameters; |
|
if (!('func' in s)) |
|
return false; |
|
if ("bounds" in s) { |
|
if (!("bounds" in t)) |
|
return false; |
|
sBounds = s.bounds; |
|
tBounds = t.bounds; |
|
if (sBounds.length !== tBounds.length) |
|
return false; |
|
sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv); |
|
tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv); |
|
} else if ("bounds" in t) |
|
return false; |
|
if (!H._isSubtype(s.ret, sEnv, t.ret, tEnv)) |
|
return false; |
|
sParameterTypes = s.args; |
|
tParameterTypes = t.args; |
|
sOptionalParameterTypes = s.opt; |
|
tOptionalParameterTypes = t.opt; |
|
sParametersLen = sParameterTypes != null ? sParameterTypes.length : 0; |
|
tParametersLen = tParameterTypes != null ? tParameterTypes.length : 0; |
|
sOptionalParametersLen = sOptionalParameterTypes != null ? sOptionalParameterTypes.length : 0; |
|
tOptionalParametersLen = tOptionalParameterTypes != null ? tOptionalParameterTypes.length : 0; |
|
if (sParametersLen > tParametersLen) |
|
return false; |
|
if (sParametersLen + sOptionalParametersLen < tParametersLen + tOptionalParametersLen) |
|
return false; |
|
for (pos = 0; pos < sParametersLen; ++pos) |
|
if (!H._isSubtype(tParameterTypes[pos], tEnv, sParameterTypes[pos], sEnv)) |
|
return false; |
|
for (tPos = pos, sPos = 0; tPos < tParametersLen; ++sPos, ++tPos) |
|
if (!H._isSubtype(tParameterTypes[tPos], tEnv, sOptionalParameterTypes[sPos], sEnv)) |
|
return false; |
|
for (tPos = 0; tPos < tOptionalParametersLen; ++sPos, ++tPos) |
|
if (!H._isSubtype(tOptionalParameterTypes[tPos], tEnv, sOptionalParameterTypes[sPos], sEnv)) |
|
return false; |
|
sNamedParameters = s.named; |
|
tNamedParameters = t.named; |
|
if (tNamedParameters == null) |
|
return true; |
|
if (sNamedParameters == null) |
|
return false; |
|
return H.namedParametersSubtypeCheck(sNamedParameters, sEnv, tNamedParameters, tEnv); |
|
}, |
|
namedParametersSubtypeCheck: function(s, sEnv, t, tEnv) { |
|
var t1, i, $name, |
|
names = Object.getOwnPropertyNames(t); |
|
for (t1 = names.length, i = 0; i < t1; ++i) { |
|
$name = names[i]; |
|
if (!Object.hasOwnProperty.call(s, $name)) |
|
return false; |
|
if (!H._isSubtype(t[$name], tEnv, s[$name], sEnv)) |
|
return false; |
|
} |
|
return true; |
|
}, |
|
instantiatedGenericFunctionType: function(genericFunctionRti, parameters) { |
|
if (genericFunctionRti == null) |
|
return; |
|
return H.finishBindInstantiatedFunctionType(genericFunctionRti, {func: 1}, parameters, 0); |
|
}, |
|
finishBindInstantiatedFunctionType: function(rti, result, parameters, depth) { |
|
var namedParameters, boundNamed, names, t1, _i, $name; |
|
if ("v" in rti) |
|
result.v = rti.v; |
|
else if ("ret" in rti) |
|
result.ret = H.bindInstantiatedType(rti.ret, parameters, depth); |
|
if ("args" in rti) |
|
result.args = H.bindInstantiatedTypes(rti.args, parameters, depth); |
|
if ("opt" in rti) |
|
result.opt = H.bindInstantiatedTypes(rti.opt, parameters, depth); |
|
if ("named" in rti) { |
|
namedParameters = rti.named; |
|
boundNamed = {}; |
|
names = Object.keys(namedParameters); |
|
for (t1 = names.length, _i = 0; _i < t1; ++_i) { |
|
$name = names[_i]; |
|
boundNamed[$name] = H.bindInstantiatedType(namedParameters[$name], parameters, depth); |
|
} |
|
result.named = boundNamed; |
|
} |
|
return result; |
|
}, |
|
bindInstantiatedType: function(rti, parameters, depth) { |
|
var result, bounds; |
|
if (rti == null) |
|
return rti; |
|
if (rti === -1) |
|
return rti; |
|
if (typeof rti == "function") |
|
return rti; |
|
if (typeof rti === "number") { |
|
if (rti < depth) |
|
return rti; |
|
return parameters[rti - depth]; |
|
} |
|
if (typeof rti === "object" && rti !== null && rti.constructor === Array) |
|
return H.bindInstantiatedTypes(rti, parameters, depth); |
|
if ('func' in rti) { |
|
result = {func: 1}; |
|
if ("bounds" in rti) { |
|
bounds = rti.bounds; |
|
depth += bounds.length; |
|
result.bounds = H.bindInstantiatedTypes(bounds, parameters, depth); |
|
} |
|
return H.finishBindInstantiatedFunctionType(rti, result, parameters, depth); |
|
} |
|
throw H.wrapException(P.ArgumentError$("Unknown RTI format in bindInstantiatedType.")); |
|
}, |
|
bindInstantiatedTypes: function(rti, parameters, depth) { |
|
var t1, i, |
|
array = rti.slice(); |
|
for (t1 = array.length, i = 0; i < t1; ++i) |
|
array[i] = H.bindInstantiatedType(array[i], parameters, depth); |
|
return array; |
|
}, |
|
defineProperty: function(obj, property, value) { |
|
Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true}); |
|
}, |
|
lookupAndCacheInterceptor: function(obj) { |
|
var interceptor, interceptorClass, mark, t1, |
|
tag = $.getTagFunction.call$1(obj), |
|
record = $.dispatchRecordsForInstanceTags[tag]; |
|
if (record != null) { |
|
Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); |
|
return record.i; |
|
} |
|
interceptor = $.interceptorsForUncacheableTags[tag]; |
|
if (interceptor != null) |
|
return interceptor; |
|
interceptorClass = init.interceptorsByTag[tag]; |
|
if (interceptorClass == null) { |
|
tag = $.alternateTagFunction.call$2(obj, tag); |
|
if (tag != null) { |
|
record = $.dispatchRecordsForInstanceTags[tag]; |
|
if (record != null) { |
|
Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); |
|
return record.i; |
|
} |
|
interceptor = $.interceptorsForUncacheableTags[tag]; |
|
if (interceptor != null) |
|
return interceptor; |
|
interceptorClass = init.interceptorsByTag[tag]; |
|
} |
|
} |
|
if (interceptorClass == null) |
|
return; |
|
interceptor = interceptorClass.prototype; |
|
mark = tag[0]; |
|
if (mark === "!") { |
|
record = H.makeLeafDispatchRecord(interceptor); |
|
$.dispatchRecordsForInstanceTags[tag] = record; |
|
Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); |
|
return record.i; |
|
} |
|
if (mark === "~") { |
|
$.interceptorsForUncacheableTags[tag] = interceptor; |
|
return interceptor; |
|
} |
|
if (mark === "-") { |
|
t1 = H.makeLeafDispatchRecord(interceptor); |
|
Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true}); |
|
return t1.i; |
|
} |
|
if (mark === "+") |
|
return H.patchInteriorProto(obj, interceptor); |
|
if (mark === "*") |
|
throw H.wrapException(P.UnimplementedError$(tag)); |
|
if (init.leafTags[tag] === true) { |
|
t1 = H.makeLeafDispatchRecord(interceptor); |
|
Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true}); |
|
return t1.i; |
|
} else |
|
return H.patchInteriorProto(obj, interceptor); |
|
}, |
|
patchInteriorProto: function(obj, interceptor) { |
|
var proto = Object.getPrototypeOf(obj); |
|
Object.defineProperty(proto, init.dispatchPropertyName, {value: J.makeDispatchRecord(interceptor, proto, null, null), enumerable: false, writable: true, configurable: true}); |
|
return interceptor; |
|
}, |
|
makeLeafDispatchRecord: function(interceptor) { |
|
return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior); |
|
}, |
|
makeDefaultDispatchRecord: function(tag, interceptorClass, proto) { |
|
var interceptor = interceptorClass.prototype; |
|
if (init.leafTags[tag] === true) |
|
return H.makeLeafDispatchRecord(interceptor); |
|
else |
|
return J.makeDispatchRecord(interceptor, proto, null, null); |
|
}, |
|
initNativeDispatch: function() { |
|
if (true === $.initNativeDispatchFlag) |
|
return; |
|
$.initNativeDispatchFlag = true; |
|
H.initNativeDispatchContinue(); |
|
}, |
|
initNativeDispatchContinue: function() { |
|
var map, tags, fun, i, tag, proto, record, interceptorClass; |
|
$.dispatchRecordsForInstanceTags = Object.create(null); |
|
$.interceptorsForUncacheableTags = Object.create(null); |
|
H.initHooks(); |
|
map = init.interceptorsByTag; |
|
tags = Object.getOwnPropertyNames(map); |
|
if (typeof window != "undefined") { |
|
window; |
|
fun = function() { |
|
}; |
|
for (i = 0; i < tags.length; ++i) { |
|
tag = tags[i]; |
|
proto = $.prototypeForTagFunction.call$1(tag); |
|
if (proto != null) { |
|
record = H.makeDefaultDispatchRecord(tag, map[tag], proto); |
|
if (record != null) { |
|
Object.defineProperty(proto, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); |
|
fun.prototype = proto; |
|
} |
|
} |
|
} |
|
} |
|
for (i = 0; i < tags.length; ++i) { |
|
tag = tags[i]; |
|
if (/^[A-Za-z_]/.test(tag)) { |
|
interceptorClass = map[tag]; |
|
map["!" + tag] = interceptorClass; |
|
map["~" + tag] = interceptorClass; |
|
map["-" + tag] = interceptorClass; |
|
map["+" + tag] = interceptorClass; |
|
map["*" + tag] = interceptorClass; |
|
} |
|
} |
|
}, |
|
initHooks: function() { |
|
var transformers, i, transformer, getTag, getUnknownTag, prototypeForTag, |
|
hooks = C.C_JS_CONST0(); |
|
hooks = H.applyHooksTransformer(C.C_JS_CONST1, H.applyHooksTransformer(C.C_JS_CONST2, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST4, H.applyHooksTransformer(C.C_JS_CONST5, H.applyHooksTransformer(C.C_JS_CONST6(C.C_JS_CONST), hooks))))))); |
|
if (typeof dartNativeDispatchHooksTransformer != "undefined") { |
|
transformers = dartNativeDispatchHooksTransformer; |
|
if (typeof transformers == "function") |
|
transformers = [transformers]; |
|
if (transformers.constructor == Array) |
|
for (i = 0; i < transformers.length; ++i) { |
|
transformer = transformers[i]; |
|
if (typeof transformer == "function") |
|
hooks = transformer(hooks) || hooks; |
|
} |
|
} |
|
getTag = hooks.getTag; |
|
getUnknownTag = hooks.getUnknownTag; |
|
prototypeForTag = hooks.prototypeForTag; |
|
$.getTagFunction = new H.initHooks_closure(getTag); |
|
$.alternateTagFunction = new H.initHooks_closure0(getUnknownTag); |
|
$.prototypeForTagFunction = new H.initHooks_closure1(prototypeForTag); |
|
}, |
|
applyHooksTransformer: function(transformer, hooks) { |
|
return transformer(hooks) || hooks; |
|
}, |
|
JSSyntaxRegExp_makeNative: function(source, multiLine, caseSensitive, unicode, dotAll, global) { |
|
var m = multiLine ? "m" : "", |
|
i = caseSensitive ? "" : "i", |
|
u = unicode ? "u" : "", |
|
s = dotAll ? "s" : "", |
|
g = global ? "g" : "", |
|
regexp = function(source, modifiers) { |
|
try { |
|
return new RegExp(source, modifiers); |
|
} catch (e) { |
|
return e; |
|
} |
|
}(source, m + i + u + s + g); |
|
if (regexp instanceof RegExp) |
|
return regexp; |
|
throw H.wrapException(P.FormatException$("Illegal RegExp pattern (" + String(regexp) + ")", source, null)); |
|
}, |
|
stringContainsUnchecked: function(receiver, other, startIndex) { |
|
var t1, t2; |
|
if (typeof other === "string") |
|
return receiver.indexOf(other, startIndex) >= 0; |
|
else { |
|
t1 = J.getInterceptor$(other); |
|
if (!!t1.$isJSSyntaxRegExp) { |
|
t1 = C.JSString_methods.substring$1(receiver, startIndex); |
|
t2 = other._nativeRegExp; |
|
return t2.test(t1); |
|
} else { |
|
t1 = t1.allMatches$1(other, C.JSString_methods.substring$1(receiver, startIndex)); |
|
return !t1.get$isEmpty(t1); |
|
} |
|
} |
|
}, |
|
escapeReplacement: function(replacement) { |
|
if (replacement.indexOf("$", 0) >= 0) |
|
return replacement.replace(/\$/g, "$$$$"); |
|
return replacement; |
|
}, |
|
stringReplaceFirstRE: function(receiver, regexp, replacement, startIndex) { |
|
var match = regexp._execGlobal$2(receiver, startIndex); |
|
if (match == null) |
|
return receiver; |
|
return H.stringReplaceRangeUnchecked(receiver, match._match.index, match.get$end(match), replacement); |
|
}, |
|
quoteStringForRegExp: function(string) { |
|
if (/[[\]{}()*+?.\\^$|]/.test(string)) |
|
return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&"); |
|
return string; |
|
}, |
|
stringReplaceAllUnchecked: function(receiver, pattern, replacement) { |
|
var nativeRegexp; |
|
if (typeof pattern === "string") |
|
return H.stringReplaceAllUncheckedString(receiver, pattern, replacement); |
|
if (pattern instanceof H.JSSyntaxRegExp) { |
|
nativeRegexp = pattern.get$_nativeGlobalVersion(); |
|
nativeRegexp.lastIndex = 0; |
|
return receiver.replace(nativeRegexp, H.escapeReplacement(replacement)); |
|
} |
|
if (pattern == null) |
|
H.throwExpression(H.argumentErrorValue(pattern)); |
|
throw H.wrapException("String.replaceAll(Pattern) UNIMPLEMENTED"); |
|
}, |
|
stringReplaceAllUncheckedString: function(receiver, pattern, replacement) { |
|
var $length, t1, i, index; |
|
if (pattern === "") { |
|
if (receiver === "") |
|
return replacement; |
|
$length = receiver.length; |
|
for (t1 = replacement, i = 0; i < $length; ++i) |
|
t1 = t1 + receiver[i] + replacement; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
} |
|
index = receiver.indexOf(pattern, 0); |
|
if (index < 0) |
|
return receiver; |
|
if (receiver.length < 500 || replacement.indexOf("$", 0) >= 0) |
|
return receiver.split(pattern).join(replacement); |
|
return receiver.replace(new RegExp(H.quoteStringForRegExp(pattern), 'g'), H.escapeReplacement(replacement)); |
|
}, |
|
stringReplaceFirstUnchecked: function(receiver, pattern, replacement, startIndex) { |
|
var index, t1, matches, match; |
|
if (typeof pattern === "string") { |
|
index = receiver.indexOf(pattern, startIndex); |
|
if (index < 0) |
|
return receiver; |
|
return H.stringReplaceRangeUnchecked(receiver, index, index + pattern.length, replacement); |
|
} |
|
t1 = J.getInterceptor$(pattern); |
|
if (!!t1.$isJSSyntaxRegExp) |
|
return startIndex === 0 ? receiver.replace(pattern._nativeRegExp, H.escapeReplacement(replacement)) : H.stringReplaceFirstRE(receiver, pattern, replacement, startIndex); |
|
if (pattern == null) |
|
H.throwExpression(H.argumentErrorValue(pattern)); |
|
t1 = t1.allMatches$2(pattern, receiver, startIndex); |
|
matches = t1.get$iterator(t1); |
|
if (!matches.moveNext$0()) |
|
return receiver; |
|
match = matches.get$current(matches); |
|
return C.JSString_methods.replaceRange$3(receiver, match.get$start(match), match.get$end(match), replacement); |
|
}, |
|
stringReplaceRangeUnchecked: function(receiver, start, end, replacement) { |
|
var prefix = receiver.substring(0, start), |
|
suffix = receiver.substring(end); |
|
return prefix + H.S(replacement) + suffix; |
|
}, |
|
ConstantMapView: function ConstantMapView(t0, t1) { |
|
this._collection$_map = t0; |
|
this.$ti = t1; |
|
}, |
|
ConstantMap: function ConstantMap() { |
|
}, |
|
ConstantStringMap: function ConstantStringMap(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.__js_helper$_length = t0; |
|
_._jsObject = t1; |
|
_._keys = t2; |
|
_.$ti = t3; |
|
}, |
|
ConstantStringMap_values_closure: function ConstantStringMap_values_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
ConstantProtoMap: function ConstantProtoMap(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_._protoValue = t0; |
|
_.__js_helper$_length = t1; |
|
_._jsObject = t2; |
|
_._keys = t3; |
|
_.$ti = t4; |
|
}, |
|
_ConstantMapKeyIterable: function _ConstantMapKeyIterable(t0, t1) { |
|
this._map = t0; |
|
this.$ti = t1; |
|
}, |
|
Instantiation: function Instantiation() { |
|
}, |
|
Instantiation1: function Instantiation1(t0, t1) { |
|
this._genericClosure = t0; |
|
this.$ti = t1; |
|
}, |
|
JSInvocationMirror: function JSInvocationMirror(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.__js_helper$_memberName = t0; |
|
_._kind = t1; |
|
_._arguments = t2; |
|
_._namedArgumentNames = t3; |
|
_._typeArgumentCount = t4; |
|
}, |
|
Primitives_functionNoSuchMethod_closure: function Primitives_functionNoSuchMethod_closure(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.namedArgumentList = t1; |
|
this.$arguments = t2; |
|
}, |
|
TypeErrorDecoder: function TypeErrorDecoder(t0, t1, t2, t3, t4, t5) { |
|
var _ = this; |
|
_._pattern = t0; |
|
_._arguments = t1; |
|
_._argumentsExpr = t2; |
|
_._expr = t3; |
|
_._method = t4; |
|
_._receiver = t5; |
|
}, |
|
NullError: function NullError(t0, t1) { |
|
this._message = t0; |
|
this._method = t1; |
|
}, |
|
JsNoSuchMethodError: function JsNoSuchMethodError(t0, t1, t2) { |
|
this._message = t0; |
|
this._method = t1; |
|
this._receiver = t2; |
|
}, |
|
UnknownJsTypeError: function UnknownJsTypeError(t0) { |
|
this._message = t0; |
|
}, |
|
ExceptionAndStackTrace: function ExceptionAndStackTrace(t0, t1) { |
|
this.dartException = t0; |
|
this.stackTrace = t1; |
|
}, |
|
unwrapException_saveStackTrace: function unwrapException_saveStackTrace(t0) { |
|
this.ex = t0; |
|
}, |
|
_StackTrace: function _StackTrace(t0) { |
|
this._exception = t0; |
|
this._trace = null; |
|
}, |
|
Closure: function Closure() { |
|
}, |
|
TearOffClosure: function TearOffClosure() { |
|
}, |
|
StaticClosure: function StaticClosure() { |
|
}, |
|
BoundClosure: function BoundClosure(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._self = t0; |
|
_._target = t1; |
|
_._receiver = t2; |
|
_.__js_helper$_name = t3; |
|
}, |
|
CastErrorImplementation: function CastErrorImplementation(t0) { |
|
this.message = t0; |
|
}, |
|
RuntimeError: function RuntimeError(t0) { |
|
this.message = t0; |
|
}, |
|
TypeImpl: function TypeImpl(t0) { |
|
this._rti = t0; |
|
this._hashCode = this.__typeName = null; |
|
}, |
|
JsLinkedHashMap: function JsLinkedHashMap(t0) { |
|
var _ = this; |
|
_.__js_helper$_length = 0; |
|
_._last = _._first = _._rest = _._nums = _._strings = null; |
|
_._modifications = 0; |
|
_.$ti = t0; |
|
}, |
|
JsLinkedHashMap_values_closure: function JsLinkedHashMap_values_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
JsLinkedHashMap_addAll_closure: function JsLinkedHashMap_addAll_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
LinkedHashMapCell: function LinkedHashMapCell(t0, t1) { |
|
var _ = this; |
|
_.hashMapCellKey = t0; |
|
_.hashMapCellValue = t1; |
|
_._previous = _._next = null; |
|
}, |
|
LinkedHashMapKeyIterable: function LinkedHashMapKeyIterable(t0, t1) { |
|
this._map = t0; |
|
this.$ti = t1; |
|
}, |
|
LinkedHashMapKeyIterator: function LinkedHashMapKeyIterator(t0, t1) { |
|
var _ = this; |
|
_._map = t0; |
|
_._modifications = t1; |
|
_.__js_helper$_current = _._cell = null; |
|
}, |
|
initHooks_closure: function initHooks_closure(t0) { |
|
this.getTag = t0; |
|
}, |
|
initHooks_closure0: function initHooks_closure0(t0) { |
|
this.getUnknownTag = t0; |
|
}, |
|
initHooks_closure1: function initHooks_closure1(t0) { |
|
this.prototypeForTag = t0; |
|
}, |
|
JSSyntaxRegExp: function JSSyntaxRegExp(t0, t1) { |
|
var _ = this; |
|
_.pattern = t0; |
|
_._nativeRegExp = t1; |
|
_._nativeAnchoredRegExp = _._nativeGlobalRegExp = null; |
|
}, |
|
_MatchImplementation: function _MatchImplementation(t0) { |
|
this._match = t0; |
|
}, |
|
_AllMatchesIterable: function _AllMatchesIterable(t0, t1, t2) { |
|
this._re = t0; |
|
this._string = t1; |
|
this.__js_helper$_start = t2; |
|
}, |
|
_AllMatchesIterator: function _AllMatchesIterator(t0, t1, t2) { |
|
var _ = this; |
|
_._regExp = t0; |
|
_._string = t1; |
|
_._nextIndex = t2; |
|
_.__js_helper$_current = null; |
|
}, |
|
StringMatch: function StringMatch(t0, t1) { |
|
this.start = t0; |
|
this.pattern = t1; |
|
}, |
|
_StringAllMatchesIterable: function _StringAllMatchesIterable(t0, t1, t2) { |
|
this._input = t0; |
|
this._pattern = t1; |
|
this.__js_helper$_index = t2; |
|
}, |
|
_StringAllMatchesIterator: function _StringAllMatchesIterator(t0, t1, t2) { |
|
var _ = this; |
|
_._input = t0; |
|
_._pattern = t1; |
|
_.__js_helper$_index = t2; |
|
_.__js_helper$_current = null; |
|
}, |
|
_ensureNativeList: function(list) { |
|
return list; |
|
}, |
|
NativeInt8List__create1: function(arg) { |
|
return new Int8Array(arg); |
|
}, |
|
NativeUint8List_NativeUint8List$view: function(buffer, offsetInBytes, $length) { |
|
var t1 = new Uint8Array(buffer, offsetInBytes, $length); |
|
return t1; |
|
}, |
|
_checkValidIndex: function(index, list, $length) { |
|
if (index >>> 0 !== index || index >= $length) |
|
throw H.wrapException(H.diagnoseIndexError(list, index)); |
|
}, |
|
_checkValidRange: function(start, end, $length) { |
|
var t1; |
|
if (!(start >>> 0 !== start)) |
|
if (end == null) |
|
t1 = start > $length; |
|
else |
|
t1 = end >>> 0 !== end || start > end || end > $length; |
|
else |
|
t1 = true; |
|
if (t1) |
|
throw H.wrapException(H.diagnoseRangeError(start, end, $length)); |
|
if (end == null) |
|
return $length; |
|
return end; |
|
}, |
|
NativeTypedData: function NativeTypedData() { |
|
}, |
|
NativeTypedArray: function NativeTypedArray() { |
|
}, |
|
NativeTypedArrayOfDouble: function NativeTypedArrayOfDouble() { |
|
}, |
|
NativeTypedArrayOfInt: function NativeTypedArrayOfInt() { |
|
}, |
|
NativeFloat32List: function NativeFloat32List() { |
|
}, |
|
NativeFloat64List: function NativeFloat64List() { |
|
}, |
|
NativeInt16List: function NativeInt16List() { |
|
}, |
|
NativeInt32List: function NativeInt32List() { |
|
}, |
|
NativeInt8List: function NativeInt8List() { |
|
}, |
|
NativeUint16List: function NativeUint16List() { |
|
}, |
|
NativeUint32List: function NativeUint32List() { |
|
}, |
|
NativeUint8ClampedList: function NativeUint8ClampedList() { |
|
}, |
|
NativeUint8List: function NativeUint8List() { |
|
}, |
|
_NativeTypedArrayOfDouble_NativeTypedArray_ListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin() { |
|
}, |
|
_NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin() { |
|
}, |
|
_NativeTypedArrayOfInt_NativeTypedArray_ListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin() { |
|
}, |
|
_NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin() { |
|
}, |
|
extractKeys: function(victim) { |
|
return J.JSArray_JSArray$markFixed(victim ? Object.keys(victim) : [], null); |
|
}, |
|
unmangleGlobalNameIfPreservedAnyways: function($name) { |
|
return init.mangledGlobalNames[$name]; |
|
}, |
|
printString: function(string) { |
|
if (typeof dartPrint == "function") { |
|
dartPrint(string); |
|
return; |
|
} |
|
if (typeof console == "object" && typeof console.log != "undefined") { |
|
console.log(string); |
|
return; |
|
} |
|
if (typeof window == "object") |
|
return; |
|
if (typeof print == "function") { |
|
print(string); |
|
return; |
|
} |
|
throw "Unable to print message: " + String(string); |
|
} |
|
}, |
|
J = { |
|
makeDispatchRecord: function(interceptor, proto, extension, indexability) { |
|
return {i: interceptor, p: proto, e: extension, x: indexability}; |
|
}, |
|
getNativeInterceptor: function(object) { |
|
var proto, objectProto, $constructor, interceptor, |
|
record = object[init.dispatchPropertyName]; |
|
if (record == null) |
|
if ($.initNativeDispatchFlag == null) { |
|
H.initNativeDispatch(); |
|
record = object[init.dispatchPropertyName]; |
|
} |
|
if (record != null) { |
|
proto = record.p; |
|
if (false === proto) |
|
return record.i; |
|
if (true === proto) |
|
return object; |
|
objectProto = Object.getPrototypeOf(object); |
|
if (proto === objectProto) |
|
return record.i; |
|
if (record.e === objectProto) |
|
throw H.wrapException(P.UnimplementedError$("Return interceptor for " + H.S(proto(object, record)))); |
|
} |
|
$constructor = object.constructor; |
|
interceptor = $constructor == null ? null : $constructor[$.$get$JS_INTEROP_INTERCEPTOR_TAG()]; |
|
if (interceptor != null) |
|
return interceptor; |
|
interceptor = H.lookupAndCacheInterceptor(object); |
|
if (interceptor != null) |
|
return interceptor; |
|
if (typeof object == "function") |
|
return C.JavaScriptFunction_methods; |
|
proto = Object.getPrototypeOf(object); |
|
if (proto == null) |
|
return C.PlainJavaScriptObject_methods; |
|
if (proto === Object.prototype) |
|
return C.PlainJavaScriptObject_methods; |
|
if (typeof $constructor == "function") { |
|
Object.defineProperty($constructor, $.$get$JS_INTEROP_INTERCEPTOR_TAG(), {value: C.UnknownJavaScriptObject_methods, enumerable: false, writable: true, configurable: true}); |
|
return C.UnknownJavaScriptObject_methods; |
|
} |
|
return C.UnknownJavaScriptObject_methods; |
|
}, |
|
JSArray_JSArray$fixed: function($length, $E) { |
|
if (typeof $length !== "number" || Math.floor($length) !== $length) |
|
throw H.wrapException(P.ArgumentError$value($length, "length", "is not an integer")); |
|
if ($length < 0 || $length > 4294967295) |
|
throw H.wrapException(P.RangeError$range($length, 0, 4294967295, "length", null)); |
|
return J.JSArray_JSArray$markFixed(new Array($length), $E); |
|
}, |
|
JSArray_JSArray$markFixed: function(allocation, $E) { |
|
return J.JSArray_markFixedList(H.setRuntimeTypeInfo(allocation, [$E])); |
|
}, |
|
JSArray_markFixedList: function(list) { |
|
list.fixed$length = Array; |
|
return list; |
|
}, |
|
JSArray_markUnmodifiableList: function(list) { |
|
list.fixed$length = Array; |
|
list.immutable$list = Array; |
|
return list; |
|
}, |
|
JSArray__compareAny: function(a, b) { |
|
return J.compareTo$1$ns(a, b); |
|
}, |
|
JSString__isWhitespace: function(codeUnit) { |
|
if (codeUnit < 256) |
|
switch (codeUnit) { |
|
case 9: |
|
case 10: |
|
case 11: |
|
case 12: |
|
case 13: |
|
case 32: |
|
case 133: |
|
case 160: |
|
return true; |
|
default: |
|
return false; |
|
} |
|
switch (codeUnit) { |
|
case 5760: |
|
case 8192: |
|
case 8193: |
|
case 8194: |
|
case 8195: |
|
case 8196: |
|
case 8197: |
|
case 8198: |
|
case 8199: |
|
case 8200: |
|
case 8201: |
|
case 8202: |
|
case 8232: |
|
case 8233: |
|
case 8239: |
|
case 8287: |
|
case 12288: |
|
case 65279: |
|
return true; |
|
default: |
|
return false; |
|
} |
|
}, |
|
JSString__skipLeadingWhitespace: function(string, index) { |
|
var t1, codeUnit; |
|
for (t1 = string.length; index < t1;) { |
|
codeUnit = C.JSString_methods._codeUnitAt$1(string, index); |
|
if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(codeUnit)) |
|
break; |
|
++index; |
|
} |
|
return index; |
|
}, |
|
JSString__skipTrailingWhitespace: function(string, index) { |
|
var index0, codeUnit; |
|
for (; index > 0; index = index0) { |
|
index0 = index - 1; |
|
codeUnit = C.JSString_methods.codeUnitAt$1(string, index0); |
|
if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(codeUnit)) |
|
break; |
|
} |
|
return index; |
|
}, |
|
getInterceptor$: function(receiver) { |
|
if (typeof receiver == "number") { |
|
if (Math.floor(receiver) == receiver) |
|
return J.JSInt.prototype; |
|
return J.JSDouble.prototype; |
|
} |
|
if (typeof receiver == "string") |
|
return J.JSString.prototype; |
|
if (receiver == null) |
|
return J.JSNull.prototype; |
|
if (typeof receiver == "boolean") |
|
return J.JSBool.prototype; |
|
if (receiver.constructor == Array) |
|
return J.JSArray.prototype; |
|
if (typeof receiver != "object") { |
|
if (typeof receiver == "function") |
|
return J.JavaScriptFunction.prototype; |
|
return receiver; |
|
} |
|
if (receiver instanceof P.Object) |
|
return receiver; |
|
return J.getNativeInterceptor(receiver); |
|
}, |
|
getInterceptor$ansx: function(receiver) { |
|
if (typeof receiver == "number") |
|
return J.JSNumber.prototype; |
|
if (typeof receiver == "string") |
|
return J.JSString.prototype; |
|
if (receiver == null) |
|
return receiver; |
|
if (receiver.constructor == Array) |
|
return J.JSArray.prototype; |
|
if (typeof receiver != "object") { |
|
if (typeof receiver == "function") |
|
return J.JavaScriptFunction.prototype; |
|
return receiver; |
|
} |
|
if (receiver instanceof P.Object) |
|
return receiver; |
|
return J.getNativeInterceptor(receiver); |
|
}, |
|
getInterceptor$asx: function(receiver) { |
|
if (typeof receiver == "string") |
|
return J.JSString.prototype; |
|
if (receiver == null) |
|
return receiver; |
|
if (receiver.constructor == Array) |
|
return J.JSArray.prototype; |
|
if (typeof receiver != "object") { |
|
if (typeof receiver == "function") |
|
return J.JavaScriptFunction.prototype; |
|
return receiver; |
|
} |
|
if (receiver instanceof P.Object) |
|
return receiver; |
|
return J.getNativeInterceptor(receiver); |
|
}, |
|
getInterceptor$ax: function(receiver) { |
|
if (receiver == null) |
|
return receiver; |
|
if (receiver.constructor == Array) |
|
return J.JSArray.prototype; |
|
if (typeof receiver != "object") { |
|
if (typeof receiver == "function") |
|
return J.JavaScriptFunction.prototype; |
|
return receiver; |
|
} |
|
if (receiver instanceof P.Object) |
|
return receiver; |
|
return J.getNativeInterceptor(receiver); |
|
}, |
|
getInterceptor$n: function(receiver) { |
|
if (typeof receiver == "number") |
|
return J.JSNumber.prototype; |
|
if (receiver == null) |
|
return receiver; |
|
if (!(receiver instanceof P.Object)) |
|
return J.UnknownJavaScriptObject.prototype; |
|
return receiver; |
|
}, |
|
getInterceptor$ns: function(receiver) { |
|
if (typeof receiver == "number") |
|
return J.JSNumber.prototype; |
|
if (typeof receiver == "string") |
|
return J.JSString.prototype; |
|
if (receiver == null) |
|
return receiver; |
|
if (!(receiver instanceof P.Object)) |
|
return J.UnknownJavaScriptObject.prototype; |
|
return receiver; |
|
}, |
|
getInterceptor$s: function(receiver) { |
|
if (typeof receiver == "string") |
|
return J.JSString.prototype; |
|
if (receiver == null) |
|
return receiver; |
|
if (!(receiver instanceof P.Object)) |
|
return J.UnknownJavaScriptObject.prototype; |
|
return receiver; |
|
}, |
|
getInterceptor$x: function(receiver) { |
|
if (receiver == null) |
|
return receiver; |
|
if (typeof receiver != "object") { |
|
if (typeof receiver == "function") |
|
return J.JavaScriptFunction.prototype; |
|
return receiver; |
|
} |
|
if (receiver instanceof P.Object) |
|
return receiver; |
|
return J.getNativeInterceptor(receiver); |
|
}, |
|
set$context$x: function(receiver, value) { |
|
return J.getInterceptor$x(receiver).set$context(receiver, value); |
|
}, |
|
set$dartValue$x: function(receiver, value) { |
|
return J.getInterceptor$x(receiver).set$dartValue(receiver, value); |
|
}, |
|
set$info$x: function(receiver, value) { |
|
return J.getInterceptor$x(receiver).set$info(receiver, value); |
|
}, |
|
set$length$asx: function(receiver, value) { |
|
return J.getInterceptor$asx(receiver).set$length(receiver, value); |
|
}, |
|
set$render$x: function(receiver, value) { |
|
return J.getInterceptor$x(receiver).set$render(receiver, value); |
|
}, |
|
set$renderSync$x: function(receiver, value) { |
|
return J.getInterceptor$x(receiver).set$renderSync(receiver, value); |
|
}, |
|
set$run_$x: function(receiver, value) { |
|
return J.getInterceptor$x(receiver).set$run_(receiver, value); |
|
}, |
|
set$types$x: function(receiver, value) { |
|
return J.getInterceptor$x(receiver).set$types(receiver, value); |
|
}, |
|
get$code$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).get$code(receiver); |
|
}, |
|
get$current$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).get$current(receiver); |
|
}, |
|
get$dartValue$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).get$dartValue(receiver); |
|
}, |
|
get$end$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).get$end(receiver); |
|
}, |
|
get$env$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).get$env(receiver); |
|
}, |
|
get$fiber$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).get$fiber(receiver); |
|
}, |
|
get$file$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).get$file(receiver); |
|
}, |
|
get$first$ax: function(receiver) { |
|
return J.getInterceptor$ax(receiver).get$first(receiver); |
|
}, |
|
get$functions$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).get$functions(receiver); |
|
}, |
|
get$hashCode$: function(receiver) { |
|
return J.getInterceptor$(receiver).get$hashCode(receiver); |
|
}, |
|
get$isEmpty$asx: function(receiver) { |
|
return J.getInterceptor$asx(receiver).get$isEmpty(receiver); |
|
}, |
|
get$isNotEmpty$asx: function(receiver) { |
|
return J.getInterceptor$asx(receiver).get$isNotEmpty(receiver); |
|
}, |
|
get$isTTY$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).get$isTTY(receiver); |
|
}, |
|
get$iterator$ax: function(receiver) { |
|
return J.getInterceptor$ax(receiver).get$iterator(receiver); |
|
}, |
|
get$last$ax: function(receiver) { |
|
return J.getInterceptor$ax(receiver).get$last(receiver); |
|
}, |
|
get$length$asx: function(receiver) { |
|
return J.getInterceptor$asx(receiver).get$length(receiver); |
|
}, |
|
get$message$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).get$message(receiver); |
|
}, |
|
get$mtime$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).get$mtime(receiver); |
|
}, |
|
get$options$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).get$options(receiver); |
|
}, |
|
get$path$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).get$path(receiver); |
|
}, |
|
get$platform$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).get$platform(receiver); |
|
}, |
|
get$reversed$ax: function(receiver) { |
|
return J.getInterceptor$ax(receiver).get$reversed(receiver); |
|
}, |
|
get$single$ax: function(receiver) { |
|
return J.getInterceptor$ax(receiver).get$single(receiver); |
|
}, |
|
$add$ansx: function(receiver, a0) { |
|
if (typeof receiver == "number" && typeof a0 == "number") |
|
return receiver + a0; |
|
return J.getInterceptor$ansx(receiver).$add(receiver, a0); |
|
}, |
|
$eq$: function(receiver, a0) { |
|
if (receiver == null) |
|
return a0 == null; |
|
if (typeof receiver != "object") |
|
return a0 != null && receiver === a0; |
|
return J.getInterceptor$(receiver).$eq(receiver, a0); |
|
}, |
|
$index$asx: function(receiver, a0) { |
|
if (typeof a0 === "number") |
|
if (receiver.constructor == Array || typeof receiver == "string" || H.isJsIndexable(receiver, receiver[init.dispatchPropertyName])) |
|
if (a0 >>> 0 === a0 && a0 < receiver.length) |
|
return receiver[a0]; |
|
return J.getInterceptor$asx(receiver).$index(receiver, a0); |
|
}, |
|
$indexSet$ax: function(receiver, a0, a1) { |
|
if (typeof a0 === "number") |
|
if ((receiver.constructor == Array || H.isJsIndexable(receiver, receiver[init.dispatchPropertyName])) && !receiver.immutable$list && a0 >>> 0 === a0 && a0 < receiver.length) |
|
return receiver[a0] = a1; |
|
return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1); |
|
}, |
|
_codeUnitAt$1$s: function(receiver, a0) { |
|
return J.getInterceptor$s(receiver)._codeUnitAt$1(receiver, a0); |
|
}, |
|
add$1$ax: function(receiver, a0) { |
|
return J.getInterceptor$ax(receiver).add$1(receiver, a0); |
|
}, |
|
addAll$1$ax: function(receiver, a0) { |
|
return J.getInterceptor$ax(receiver).addAll$1(receiver, a0); |
|
}, |
|
any$1$ax: function(receiver, a0) { |
|
return J.getInterceptor$ax(receiver).any$1(receiver, a0); |
|
}, |
|
apply$2$x: function(receiver, a0, a1) { |
|
return J.getInterceptor$x(receiver).apply$2(receiver, a0, a1); |
|
}, |
|
cast$1$0$ax: function(receiver, $T1) { |
|
return J.getInterceptor$ax(receiver).cast$1$0(receiver, $T1); |
|
}, |
|
ceil$0$n: function(receiver) { |
|
return J.getInterceptor$n(receiver).ceil$0(receiver); |
|
}, |
|
clamp$2$n: function(receiver, a0, a1) { |
|
return J.getInterceptor$n(receiver).clamp$2(receiver, a0, a1); |
|
}, |
|
close$0$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).close$0(receiver); |
|
}, |
|
codeUnitAt$1$s: function(receiver, a0) { |
|
return J.getInterceptor$s(receiver).codeUnitAt$1(receiver, a0); |
|
}, |
|
compareTo$1$ns: function(receiver, a0) { |
|
return J.getInterceptor$ns(receiver).compareTo$1(receiver, a0); |
|
}, |
|
contains$1$asx: function(receiver, a0) { |
|
return J.getInterceptor$asx(receiver).contains$1(receiver, a0); |
|
}, |
|
createInterface$1$x: function(receiver, a0) { |
|
return J.getInterceptor$x(receiver).createInterface$1(receiver, a0); |
|
}, |
|
elementAt$1$ax: function(receiver, a0) { |
|
return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0); |
|
}, |
|
endsWith$1$s: function(receiver, a0) { |
|
return J.getInterceptor$s(receiver).endsWith$1(receiver, a0); |
|
}, |
|
every$1$ax: function(receiver, a0) { |
|
return J.getInterceptor$ax(receiver).every$1(receiver, a0); |
|
}, |
|
existsSync$1$x: function(receiver, a0) { |
|
return J.getInterceptor$x(receiver).existsSync$1(receiver, a0); |
|
}, |
|
expand$1$1$ax: function(receiver, a0, $T1) { |
|
return J.getInterceptor$ax(receiver).expand$1$1(receiver, a0, $T1); |
|
}, |
|
fillRange$3$ax: function(receiver, a0, a1, a2) { |
|
return J.getInterceptor$ax(receiver).fillRange$3(receiver, a0, a1, a2); |
|
}, |
|
floor$0$n: function(receiver) { |
|
return J.getInterceptor$n(receiver).floor$0(receiver); |
|
}, |
|
fold$2$ax: function(receiver, a0, a1) { |
|
return J.getInterceptor$ax(receiver).fold$2(receiver, a0, a1); |
|
}, |
|
getTime$0$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).getTime$0(receiver); |
|
}, |
|
indexOf$1$asx: function(receiver, a0) { |
|
return J.getInterceptor$asx(receiver).indexOf$1(receiver, a0); |
|
}, |
|
isDirectory$0$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).isDirectory$0(receiver); |
|
}, |
|
isFile$0$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).isFile$0(receiver); |
|
}, |
|
join$0$ax: function(receiver) { |
|
return J.getInterceptor$ax(receiver).join$0(receiver); |
|
}, |
|
join$1$ax: function(receiver, a0) { |
|
return J.getInterceptor$ax(receiver).join$1(receiver, a0); |
|
}, |
|
map$1$ax: function(receiver, a0) { |
|
return J.getInterceptor$ax(receiver).map$1(receiver, a0); |
|
}, |
|
map$1$1$ax: function(receiver, a0, $T1) { |
|
return J.getInterceptor$ax(receiver).map$1$1(receiver, a0, $T1); |
|
}, |
|
matchAsPrefix$2$s: function(receiver, a0, a1) { |
|
return J.getInterceptor$s(receiver).matchAsPrefix$2(receiver, a0, a1); |
|
}, |
|
mkdirSync$1$x: function(receiver, a0) { |
|
return J.getInterceptor$x(receiver).mkdirSync$1(receiver, a0); |
|
}, |
|
noSuchMethod$1$: function(receiver, a0) { |
|
return J.getInterceptor$(receiver).noSuchMethod$1(receiver, a0); |
|
}, |
|
on$2$x: function(receiver, a0, a1) { |
|
return J.getInterceptor$x(receiver).on$2(receiver, a0, a1); |
|
}, |
|
padRight$1$s: function(receiver, a0) { |
|
return J.getInterceptor$s(receiver).padRight$1(receiver, a0); |
|
}, |
|
readFileSync$2$x: function(receiver, a0, a1) { |
|
return J.getInterceptor$x(receiver).readFileSync$2(receiver, a0, a1); |
|
}, |
|
readdirSync$1$x: function(receiver, a0) { |
|
return J.getInterceptor$x(receiver).readdirSync$1(receiver, a0); |
|
}, |
|
remove$1$ax: function(receiver, a0) { |
|
return J.getInterceptor$ax(receiver).remove$1(receiver, a0); |
|
}, |
|
replaceRange$3$asx: function(receiver, a0, a1, a2) { |
|
return J.getInterceptor$asx(receiver).replaceRange$3(receiver, a0, a1, a2); |
|
}, |
|
round$0$n: function(receiver) { |
|
return J.getInterceptor$n(receiver).round$0(receiver); |
|
}, |
|
run$0$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).run$0(receiver); |
|
}, |
|
run$1$x: function(receiver, a0) { |
|
return J.getInterceptor$x(receiver).run$1(receiver, a0); |
|
}, |
|
setPrompt$1$x: function(receiver, a0) { |
|
return J.getInterceptor$x(receiver).setPrompt$1(receiver, a0); |
|
}, |
|
setRange$4$ax: function(receiver, a0, a1, a2, a3) { |
|
return J.getInterceptor$ax(receiver).setRange$4(receiver, a0, a1, a2, a3); |
|
}, |
|
skip$1$ax: function(receiver, a0) { |
|
return J.getInterceptor$ax(receiver).skip$1(receiver, a0); |
|
}, |
|
sort$1$ax: function(receiver, a0) { |
|
return J.getInterceptor$ax(receiver).sort$1(receiver, a0); |
|
}, |
|
startsWith$1$s: function(receiver, a0) { |
|
return J.getInterceptor$s(receiver).startsWith$1(receiver, a0); |
|
}, |
|
startsWith$2$s: function(receiver, a0, a1) { |
|
return J.getInterceptor$s(receiver).startsWith$2(receiver, a0, a1); |
|
}, |
|
statSync$1$x: function(receiver, a0) { |
|
return J.getInterceptor$x(receiver).statSync$1(receiver, a0); |
|
}, |
|
substring$1$s: function(receiver, a0) { |
|
return J.getInterceptor$s(receiver).substring$1(receiver, a0); |
|
}, |
|
substring$2$s: function(receiver, a0, a1) { |
|
return J.getInterceptor$s(receiver).substring$2(receiver, a0, a1); |
|
}, |
|
take$1$ax: function(receiver, a0) { |
|
return J.getInterceptor$ax(receiver).take$1(receiver, a0); |
|
}, |
|
toList$0$ax: function(receiver) { |
|
return J.getInterceptor$ax(receiver).toList$0(receiver); |
|
}, |
|
toList$1$growable$ax: function(receiver, a0) { |
|
return J.getInterceptor$ax(receiver).toList$1$growable(receiver, a0); |
|
}, |
|
toRadixString$1$n: function(receiver, a0) { |
|
return J.getInterceptor$n(receiver).toRadixString$1(receiver, a0); |
|
}, |
|
toSet$0$ax: function(receiver) { |
|
return J.getInterceptor$ax(receiver).toSet$0(receiver); |
|
}, |
|
toString$0$: function(receiver) { |
|
return J.getInterceptor$(receiver).toString$0(receiver); |
|
}, |
|
toString$1$color$: function(receiver, a0) { |
|
return J.getInterceptor$(receiver).toString$1$color(receiver, a0); |
|
}, |
|
trim$0$s: function(receiver) { |
|
return J.getInterceptor$s(receiver).trim$0(receiver); |
|
}, |
|
unlinkSync$1$x: function(receiver, a0) { |
|
return J.getInterceptor$x(receiver).unlinkSync$1(receiver, a0); |
|
}, |
|
watch$2$x: function(receiver, a0, a1) { |
|
return J.getInterceptor$x(receiver).watch$2(receiver, a0, a1); |
|
}, |
|
where$1$ax: function(receiver, a0) { |
|
return J.getInterceptor$ax(receiver).where$1(receiver, a0); |
|
}, |
|
write$1$x: function(receiver, a0) { |
|
return J.getInterceptor$x(receiver).write$1(receiver, a0); |
|
}, |
|
writeFileSync$2$x: function(receiver, a0, a1) { |
|
return J.getInterceptor$x(receiver).writeFileSync$2(receiver, a0, a1); |
|
}, |
|
yield$0$x: function(receiver) { |
|
return J.getInterceptor$x(receiver).yield$0(receiver); |
|
}, |
|
Interceptor: function Interceptor() { |
|
}, |
|
JSBool: function JSBool() { |
|
}, |
|
JSNull: function JSNull() { |
|
}, |
|
JavaScriptObject: function JavaScriptObject() { |
|
}, |
|
PlainJavaScriptObject: function PlainJavaScriptObject() { |
|
}, |
|
UnknownJavaScriptObject: function UnknownJavaScriptObject() { |
|
}, |
|
JavaScriptFunction: function JavaScriptFunction() { |
|
}, |
|
JSArray: function JSArray(t0) { |
|
this.$ti = t0; |
|
}, |
|
JSUnmodifiableArray: function JSUnmodifiableArray(t0) { |
|
this.$ti = t0; |
|
}, |
|
ArrayIterator: function ArrayIterator(t0, t1) { |
|
var _ = this; |
|
_._iterable = t0; |
|
_._length = t1; |
|
_._index = 0; |
|
_._current = null; |
|
}, |
|
JSNumber: function JSNumber() { |
|
}, |
|
JSInt: function JSInt() { |
|
}, |
|
JSDouble: function JSDouble() { |
|
}, |
|
JSString: function JSString() { |
|
} |
|
}, |
|
P = { |
|
_AsyncRun__initializeScheduleImmediate: function() { |
|
var div, span, t1 = {}; |
|
if (self.scheduleImmediate != null) |
|
return P.async__AsyncRun__scheduleImmediateJsOverride$closure(); |
|
if (self.MutationObserver != null && self.document != null) { |
|
div = self.document.createElement("div"); |
|
span = self.document.createElement("span"); |
|
t1.storedCallback = null; |
|
new self.MutationObserver(H.convertDartClosureToJS(new P._AsyncRun__initializeScheduleImmediate_internalCallback(t1), 1)).observe(div, {childList: true}); |
|
return new P._AsyncRun__initializeScheduleImmediate_closure(t1, div, span); |
|
} else if (self.setImmediate != null) |
|
return P.async__AsyncRun__scheduleImmediateWithSetImmediate$closure(); |
|
return P.async__AsyncRun__scheduleImmediateWithTimer$closure(); |
|
}, |
|
_AsyncRun__scheduleImmediateJsOverride: function(callback) { |
|
self.scheduleImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateJsOverride_internalCallback(callback), 0)); |
|
}, |
|
_AsyncRun__scheduleImmediateWithSetImmediate: function(callback) { |
|
self.setImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(callback), 0)); |
|
}, |
|
_AsyncRun__scheduleImmediateWithTimer: function(callback) { |
|
P.Timer__createTimer(C.Duration_0, callback); |
|
}, |
|
Timer__createTimer: function(duration, callback) { |
|
var milliseconds = C.JSInt_methods._tdivFast$1(duration._duration, 1000); |
|
return P._TimerImpl$(milliseconds < 0 ? 0 : milliseconds, callback); |
|
}, |
|
_TimerImpl$: function(milliseconds, callback) { |
|
var t1 = new P._TimerImpl(true); |
|
t1._TimerImpl$2(milliseconds, callback); |
|
return t1; |
|
}, |
|
_TimerImpl$periodic: function(milliseconds, callback) { |
|
var t1 = new P._TimerImpl(false); |
|
t1._TimerImpl$periodic$2(milliseconds, callback); |
|
return t1; |
|
}, |
|
_makeAsyncAwaitCompleter: function($T) { |
|
return new P._AsyncAwaitCompleter(new P._Future($.Zone__current, [$T]), [$T]); |
|
}, |
|
_asyncStartSync: function(bodyFunction, completer) { |
|
bodyFunction.call$2(0, null); |
|
completer.isSync = true; |
|
return completer._future; |
|
}, |
|
_asyncAwait: function(object, bodyFunction) { |
|
P._awaitOnObject(object, bodyFunction); |
|
}, |
|
_asyncReturn: function(object, completer) { |
|
completer.complete$1(object); |
|
}, |
|
_asyncRethrow: function(object, completer) { |
|
completer.completeError$2(H.unwrapException(object), H.getTraceFromException(object)); |
|
}, |
|
_awaitOnObject: function(object, bodyFunction) { |
|
var future, _null = null, |
|
thenCallback = new P._awaitOnObject_closure(bodyFunction), |
|
errorCallback = new P._awaitOnObject_closure0(bodyFunction), |
|
t1 = J.getInterceptor$(object); |
|
if (!!t1.$is_Future) |
|
object._thenAwait$1$2(thenCallback, errorCallback, _null); |
|
else if (!!t1.$isFuture) |
|
object.then$1$2$onError(thenCallback, errorCallback, _null); |
|
else { |
|
future = new P._Future($.Zone__current, [null]); |
|
future._async$_state = 4; |
|
future._resultOrListeners = object; |
|
future._thenAwait$1$2(thenCallback, _null, _null); |
|
} |
|
}, |
|
_wrapJsFunctionForAsync: function($function) { |
|
var $protected = function(fn, ERROR) { |
|
return function(errorCode, result) { |
|
while (true) |
|
try { |
|
fn(errorCode, result); |
|
break; |
|
} catch (error) { |
|
result = error; |
|
errorCode = ERROR; |
|
} |
|
}; |
|
}($function, 1); |
|
return $.Zone__current.registerBinaryCallback$1(new P._wrapJsFunctionForAsync_closure($protected)); |
|
}, |
|
_asyncStarHelper: function(object, bodyFunctionOrErrorCode, controller) { |
|
var t1, t2, stream; |
|
if (bodyFunctionOrErrorCode === 0) { |
|
t1 = controller.cancelationFuture; |
|
if (t1 != null) |
|
t1._completeWithValue$1(null); |
|
else |
|
controller.controller.close$0(0); |
|
return; |
|
} else if (bodyFunctionOrErrorCode === 1) { |
|
t1 = controller.cancelationFuture; |
|
if (t1 != null) |
|
t1._completeError$2(H.unwrapException(object), H.getTraceFromException(object)); |
|
else { |
|
t1 = H.unwrapException(object); |
|
t2 = H.getTraceFromException(object); |
|
controller.controller.addError$2(t1, t2); |
|
controller.controller.close$0(0); |
|
} |
|
return; |
|
} |
|
if (object instanceof P._IterationMarker) { |
|
if (controller.cancelationFuture != null) { |
|
bodyFunctionOrErrorCode.call$2(2, null); |
|
return; |
|
} |
|
t1 = object.state; |
|
if (t1 === 0) { |
|
t1 = object.value; |
|
controller.controller.add$1(0, t1); |
|
P.scheduleMicrotask(new P._asyncStarHelper_closure(controller, bodyFunctionOrErrorCode)); |
|
return; |
|
} else if (t1 === 1) { |
|
stream = object.value; |
|
controller.controller.addStream$2$cancelOnError(stream, false).then$1(new P._asyncStarHelper_closure0(controller, bodyFunctionOrErrorCode)); |
|
return; |
|
} |
|
} |
|
P._awaitOnObject(object, bodyFunctionOrErrorCode); |
|
}, |
|
_streamOfController: function(controller) { |
|
var t1 = controller.controller; |
|
t1.toString; |
|
return new P._ControllerStream(t1, [H.getTypeArgumentByIndex(t1, 0)]); |
|
}, |
|
_AsyncStarStreamController$: function(body, $T) { |
|
var t1 = new P._AsyncStarStreamController([$T]); |
|
t1._AsyncStarStreamController$1(body, $T); |
|
return t1; |
|
}, |
|
_makeAsyncStarStreamController: function(body, $T) { |
|
return P._AsyncStarStreamController$(body, $T); |
|
}, |
|
_IterationMarker_yieldStar: function(values) { |
|
return new P._IterationMarker(values, 1); |
|
}, |
|
_IterationMarker_endOfIteration: function() { |
|
return C._IterationMarker_null_2; |
|
}, |
|
_IterationMarker_yieldSingle: function(value) { |
|
return new P._IterationMarker(value, 0); |
|
}, |
|
_IterationMarker_uncaughtError: function(error) { |
|
return new P._IterationMarker(error, 3); |
|
}, |
|
_makeSyncStarIterable: function(body, $T) { |
|
return new P._SyncStarIterable(body, [$T]); |
|
}, |
|
Future_Future$error: function(error, stackTrace, $T) { |
|
var t1, replacement; |
|
if (error == null) |
|
error = new P.NullThrownError(); |
|
t1 = $.Zone__current; |
|
if (t1 !== C.C__RootZone) { |
|
replacement = t1.errorCallback$2(error, stackTrace); |
|
if (replacement != null) { |
|
error = replacement.error; |
|
if (error == null) |
|
error = new P.NullThrownError(); |
|
stackTrace = replacement.stackTrace; |
|
} |
|
} |
|
t1 = new P._Future($.Zone__current, [$T]); |
|
t1._asyncCompleteError$2(error, stackTrace); |
|
return t1; |
|
}, |
|
Future_wait: function(futures, $T) { |
|
var handleError, future, pos, e, st, t3, t4, exception, _box_0 = {}, cleanUp = null, |
|
eagerError = false, |
|
t1 = [P.List, $T], |
|
t2 = [t1], |
|
result = new P._Future($.Zone__current, t2); |
|
_box_0.values = null; |
|
_box_0.remaining = 0; |
|
_box_0.stackTrace = _box_0.error = null; |
|
handleError = new P.Future_wait_handleError(_box_0, cleanUp, eagerError, result); |
|
try { |
|
for (t3 = J.get$iterator$ax(futures), t4 = P.Null; t3.moveNext$0();) { |
|
future = t3.get$current(t3); |
|
pos = _box_0.remaining; |
|
future.then$1$2$onError(new P.Future_wait_closure(_box_0, pos, result, cleanUp, eagerError, $T), handleError, t4); |
|
++_box_0.remaining; |
|
} |
|
t3 = _box_0.remaining; |
|
if (t3 === 0) { |
|
t2 = new P._Future($.Zone__current, t2); |
|
t2._asyncComplete$1(C.List_empty15); |
|
return t2; |
|
} |
|
t2 = new Array(t3); |
|
t2.fixed$length = Array; |
|
_box_0.values = H.setRuntimeTypeInfo(t2, [$T]); |
|
} catch (exception) { |
|
e = H.unwrapException(exception); |
|
st = H.getTraceFromException(exception); |
|
if (_box_0.remaining === 0 || eagerError) |
|
return P.Future_Future$error(e, st, t1); |
|
else { |
|
_box_0.error = e; |
|
_box_0.stackTrace = st; |
|
} |
|
} |
|
return result; |
|
}, |
|
_Future$zoneValue: function(value, _zone, $T) { |
|
var t1 = new P._Future(_zone, [$T]); |
|
t1._async$_state = 4; |
|
t1._resultOrListeners = value; |
|
return t1; |
|
}, |
|
_Future__chainForeignFuture: function(source, target) { |
|
var e, s, exception; |
|
target._async$_state = 1; |
|
try { |
|
source.then$1$2$onError(new P._Future__chainForeignFuture_closure(target), new P._Future__chainForeignFuture_closure0(target), P.Null); |
|
} catch (exception) { |
|
e = H.unwrapException(exception); |
|
s = H.getTraceFromException(exception); |
|
P.scheduleMicrotask(new P._Future__chainForeignFuture_closure1(target, e, s)); |
|
} |
|
}, |
|
_Future__chainCoreFuture: function(source, target) { |
|
var t1, listeners; |
|
for (; t1 = source._async$_state, t1 === 2;) |
|
source = source._resultOrListeners; |
|
if (t1 >= 4) { |
|
listeners = target._removeListeners$0(); |
|
target._async$_state = source._async$_state; |
|
target._resultOrListeners = source._resultOrListeners; |
|
P._Future__propagateToListeners(target, listeners); |
|
} else { |
|
listeners = target._resultOrListeners; |
|
target._async$_state = 2; |
|
target._resultOrListeners = source; |
|
source._prependListeners$1(listeners); |
|
} |
|
}, |
|
_Future__propagateToListeners: function(source, listeners) { |
|
var _box_0, hasError, t2, listeners0, sourceResult, t3, zone, oldZone, current, result, _box_1 = {}, |
|
t1 = _box_1.source = source; |
|
for (; true;) { |
|
_box_0 = {}; |
|
hasError = t1._async$_state === 8; |
|
if (listeners == null) { |
|
if (hasError) { |
|
t2 = t1._resultOrListeners; |
|
t1._zone.handleUncaughtError$2(t2.error, t2.stackTrace); |
|
} |
|
return; |
|
} |
|
for (; listeners0 = listeners._nextListener, listeners0 != null; listeners = listeners0) { |
|
listeners._nextListener = null; |
|
P._Future__propagateToListeners(_box_1.source, listeners); |
|
} |
|
t1 = _box_1.source; |
|
sourceResult = t1._resultOrListeners; |
|
_box_0.listenerHasError = hasError; |
|
_box_0.listenerValueOrError = sourceResult; |
|
t2 = !hasError; |
|
if (t2) { |
|
t3 = listeners.state; |
|
t3 = (t3 & 1) !== 0 || (t3 & 15) === 8; |
|
} else |
|
t3 = true; |
|
if (t3) { |
|
t3 = listeners.result; |
|
zone = t3._zone; |
|
if (hasError) { |
|
t1 = t1._zone; |
|
t1.toString; |
|
t1 = !(t1 == zone || t1.get$errorZone() === zone.get$errorZone()); |
|
} else |
|
t1 = false; |
|
if (t1) { |
|
t1 = _box_1.source; |
|
t2 = t1._resultOrListeners; |
|
t1._zone.handleUncaughtError$2(t2.error, t2.stackTrace); |
|
return; |
|
} |
|
oldZone = $.Zone__current; |
|
if (oldZone != zone) |
|
$.Zone__current = zone; |
|
else |
|
oldZone = null; |
|
t1 = listeners.state; |
|
if ((t1 & 15) === 8) |
|
new P._Future__propagateToListeners_handleWhenCompleteCallback(_box_1, _box_0, listeners, hasError).call$0(); |
|
else if (t2) { |
|
if ((t1 & 1) !== 0) |
|
new P._Future__propagateToListeners_handleValueCallback(_box_0, listeners, sourceResult).call$0(); |
|
} else if ((t1 & 2) !== 0) |
|
new P._Future__propagateToListeners_handleError(_box_1, _box_0, listeners).call$0(); |
|
if (oldZone != null) |
|
$.Zone__current = oldZone; |
|
t1 = _box_0.listenerValueOrError; |
|
if (!!J.getInterceptor$(t1).$isFuture) { |
|
if (t1._async$_state >= 4) { |
|
current = t3._resultOrListeners; |
|
t3._resultOrListeners = null; |
|
listeners = t3._reverseListeners$1(current); |
|
t3._async$_state = t1._async$_state; |
|
t3._resultOrListeners = t1._resultOrListeners; |
|
_box_1.source = t1; |
|
continue; |
|
} else |
|
P._Future__chainCoreFuture(t1, t3); |
|
return; |
|
} |
|
} |
|
result = listeners.result; |
|
current = result._resultOrListeners; |
|
result._resultOrListeners = null; |
|
listeners = result._reverseListeners$1(current); |
|
t1 = _box_0.listenerHasError; |
|
t2 = _box_0.listenerValueOrError; |
|
if (!t1) { |
|
result._async$_state = 4; |
|
result._resultOrListeners = t2; |
|
} else { |
|
result._async$_state = 8; |
|
result._resultOrListeners = t2; |
|
} |
|
_box_1.source = result; |
|
t1 = result; |
|
} |
|
}, |
|
_registerErrorHandler: function(errorHandler, zone) { |
|
if (H.functionTypeTest(errorHandler, {func: 1, args: [P.Object, P.StackTrace]})) |
|
return zone.registerBinaryCallback$1(errorHandler); |
|
if (H.functionTypeTest(errorHandler, {func: 1, args: [P.Object]})) |
|
return zone.registerUnaryCallback$1(errorHandler); |
|
throw H.wrapException(P.ArgumentError$value(errorHandler, "onError", "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a a valid result")); |
|
}, |
|
_microtaskLoop: function() { |
|
var t1, t2; |
|
for (; t1 = $._nextCallback, t1 != null;) { |
|
$._lastPriorityCallback = null; |
|
t2 = t1.next; |
|
$._nextCallback = t2; |
|
if (t2 == null) |
|
$._lastCallback = null; |
|
t1.callback.call$0(); |
|
} |
|
}, |
|
_startMicrotaskLoop: function() { |
|
$._isInCallbackLoop = true; |
|
try { |
|
P._microtaskLoop(); |
|
} finally { |
|
$._lastPriorityCallback = null; |
|
$._isInCallbackLoop = false; |
|
if ($._nextCallback != null) |
|
$.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure()); |
|
} |
|
}, |
|
_scheduleAsyncCallback: function(callback) { |
|
var newEntry = new P._AsyncCallbackEntry(callback); |
|
if ($._nextCallback == null) { |
|
$._nextCallback = $._lastCallback = newEntry; |
|
if (!$._isInCallbackLoop) |
|
$.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure()); |
|
} else |
|
$._lastCallback = $._lastCallback.next = newEntry; |
|
}, |
|
_schedulePriorityAsyncCallback: function(callback) { |
|
var entry, t2, |
|
t1 = $._nextCallback; |
|
if (t1 == null) { |
|
P._scheduleAsyncCallback(callback); |
|
$._lastPriorityCallback = $._lastCallback; |
|
return; |
|
} |
|
entry = new P._AsyncCallbackEntry(callback); |
|
t2 = $._lastPriorityCallback; |
|
if (t2 == null) { |
|
entry.next = t1; |
|
$._nextCallback = $._lastPriorityCallback = entry; |
|
} else { |
|
entry.next = t2.next; |
|
$._lastPriorityCallback = t2.next = entry; |
|
if (entry.next == null) |
|
$._lastCallback = entry; |
|
} |
|
}, |
|
scheduleMicrotask: function(callback) { |
|
var t1, _null = null, |
|
currentZone = $.Zone__current; |
|
if (C.C__RootZone === currentZone) { |
|
P._rootScheduleMicrotask(_null, _null, C.C__RootZone, callback); |
|
return; |
|
} |
|
if (C.C__RootZone === currentZone.get$_scheduleMicrotask().zone) |
|
t1 = C.C__RootZone.get$errorZone() === currentZone.get$errorZone(); |
|
else |
|
t1 = false; |
|
if (t1) { |
|
P._rootScheduleMicrotask(_null, _null, currentZone, currentZone.registerCallback$1(callback)); |
|
return; |
|
} |
|
t1 = $.Zone__current; |
|
t1.scheduleMicrotask$1(t1.bindCallbackGuarded$1(callback)); |
|
}, |
|
Stream_Stream$fromFuture: function(future, $T) { |
|
var _null = null, |
|
controller = new P._SyncStreamController(_null, _null, _null, _null, [$T]); |
|
future.then$1$2$onError(new P.Stream_Stream$fromFuture_closure(controller, $T), new P.Stream_Stream$fromFuture_closure0(controller), P.Null); |
|
return new P._ControllerStream(controller, [$T]); |
|
}, |
|
StreamIterator_StreamIterator: function(stream) { |
|
return new P._StreamIterator(stream == null ? H.throwExpression(P.ArgumentError$notNull("stream")) : stream); |
|
}, |
|
StreamController_StreamController: function(onCancel, onListen, onPause, onResume, sync, $T) { |
|
return sync ? new P._SyncStreamController(onListen, onPause, onResume, onCancel, [$T]) : new P._AsyncStreamController(onListen, onPause, onResume, onCancel, [$T]); |
|
}, |
|
_runGuarded: function(notificationHandler) { |
|
var e, s, exception; |
|
if (notificationHandler == null) |
|
return; |
|
try { |
|
notificationHandler.call$0(); |
|
} catch (exception) { |
|
e = H.unwrapException(exception); |
|
s = H.getTraceFromException(exception); |
|
$.Zone__current.handleUncaughtError$2(e, s); |
|
} |
|
}, |
|
_nullDataHandler: function(value) { |
|
}, |
|
_nullErrorHandler: function(error, stackTrace) { |
|
$.Zone__current.handleUncaughtError$2(error, stackTrace); |
|
}, |
|
_nullDoneHandler: function() { |
|
}, |
|
_StreamIterator$: function(stream) { |
|
return new P._StreamIterator(stream == null ? H.throwExpression(P.ArgumentError$notNull("stream")) : stream); |
|
}, |
|
_addErrorWithReplacement: function(sink, error, stackTrace) { |
|
var replacement = $.Zone__current.errorCallback$2(error, stackTrace); |
|
if (replacement != null) { |
|
error = replacement.error; |
|
if (error == null) |
|
error = new P.NullThrownError(); |
|
stackTrace = replacement.stackTrace; |
|
} |
|
sink._addError$2(error, stackTrace); |
|
}, |
|
Timer_Timer: function(duration, callback) { |
|
var t1 = $.Zone__current; |
|
if (t1 === C.C__RootZone) |
|
return t1.createTimer$2(duration, callback); |
|
return t1.createTimer$2(duration, t1.bindCallbackGuarded$1(callback)); |
|
}, |
|
_parentDelegate: function(zone) { |
|
if (zone.get$parent() == null) |
|
return; |
|
return zone.get$parent().get$_delegate(); |
|
}, |
|
_rootHandleUncaughtError: function($self, $parent, zone, error, stackTrace) { |
|
var t1 = {}; |
|
t1.error = error; |
|
P._schedulePriorityAsyncCallback(new P._rootHandleUncaughtError_closure(t1, stackTrace)); |
|
}, |
|
_rootRun: function($self, $parent, zone, f) { |
|
var old, |
|
t1 = $.Zone__current; |
|
if (t1 == zone) |
|
return f.call$0(); |
|
$.Zone__current = zone; |
|
old = t1; |
|
try { |
|
t1 = f.call$0(); |
|
return t1; |
|
} finally { |
|
$.Zone__current = old; |
|
} |
|
}, |
|
_rootRunUnary: function($self, $parent, zone, f, arg) { |
|
var old, |
|
t1 = $.Zone__current; |
|
if (t1 == zone) |
|
return f.call$1(arg); |
|
$.Zone__current = zone; |
|
old = t1; |
|
try { |
|
t1 = f.call$1(arg); |
|
return t1; |
|
} finally { |
|
$.Zone__current = old; |
|
} |
|
}, |
|
_rootRunBinary: function($self, $parent, zone, f, arg1, arg2) { |
|
var old, |
|
t1 = $.Zone__current; |
|
if (t1 == zone) |
|
return f.call$2(arg1, arg2); |
|
$.Zone__current = zone; |
|
old = t1; |
|
try { |
|
t1 = f.call$2(arg1, arg2); |
|
return t1; |
|
} finally { |
|
$.Zone__current = old; |
|
} |
|
}, |
|
_rootRegisterCallback: function($self, $parent, zone, f) { |
|
return f; |
|
}, |
|
_rootRegisterUnaryCallback: function($self, $parent, zone, f) { |
|
return f; |
|
}, |
|
_rootRegisterBinaryCallback: function($self, $parent, zone, f) { |
|
return f; |
|
}, |
|
_rootErrorCallback: function($self, $parent, zone, error, stackTrace) { |
|
return; |
|
}, |
|
_rootScheduleMicrotask: function($self, $parent, zone, f) { |
|
var t1 = C.C__RootZone !== zone; |
|
if (t1) |
|
f = !(!t1 || C.C__RootZone.get$errorZone() === zone.get$errorZone()) ? zone.bindCallbackGuarded$1(f) : zone.bindCallback$1(f); |
|
P._scheduleAsyncCallback(f); |
|
}, |
|
_rootCreateTimer: function($self, $parent, zone, duration, callback) { |
|
callback = zone.bindCallback$1(callback); |
|
return P.Timer__createTimer(duration, callback); |
|
}, |
|
_rootCreatePeriodicTimer: function($self, $parent, zone, duration, callback) { |
|
var milliseconds; |
|
callback = zone.bindUnaryCallback$2$1(callback, null, P.Timer); |
|
milliseconds = C.JSInt_methods._tdivFast$1(duration._duration, 1000); |
|
return P._TimerImpl$periodic(milliseconds < 0 ? 0 : milliseconds, callback); |
|
}, |
|
_rootPrint: function($self, $parent, zone, line) { |
|
H.printString(line); |
|
}, |
|
_printToZone: function(line) { |
|
$.Zone__current.print$1(line); |
|
}, |
|
_rootFork: function($self, $parent, zone, specification, zoneValues) { |
|
var valueMap, t1, t2; |
|
$.printToZone = P.async___printToZone$closure(); |
|
if (specification == null) |
|
specification = C._ZoneSpecification_ALf; |
|
if (zoneValues == null) |
|
valueMap = zone.get$_async$_map(); |
|
else |
|
valueMap = P.HashMap_HashMap$from(zoneValues, null, null); |
|
t1 = new P._CustomZone(zone, valueMap); |
|
t2 = zone.get$_run(); |
|
t1._run = t2; |
|
t2 = zone.get$_runUnary(); |
|
t1._runUnary = t2; |
|
t2 = zone.get$_runBinary(); |
|
t1._runBinary = t2; |
|
t2 = zone.get$_registerCallback(); |
|
t1._registerCallback = t2; |
|
t2 = zone.get$_registerUnaryCallback(); |
|
t1._registerUnaryCallback = t2; |
|
t2 = zone.get$_registerBinaryCallback(); |
|
t1._registerBinaryCallback = t2; |
|
t2 = zone.get$_errorCallback(); |
|
t1._errorCallback = t2; |
|
t2 = zone.get$_scheduleMicrotask(); |
|
t1._scheduleMicrotask = t2; |
|
t2 = zone.get$_createTimer(); |
|
t1._createTimer = t2; |
|
t2 = zone.get$_createPeriodicTimer(); |
|
t1._createPeriodicTimer = t2; |
|
t2 = zone.get$_print(); |
|
t1._print = t2; |
|
t2 = zone.get$_fork(); |
|
t1._fork = t2; |
|
t2 = specification.handleUncaughtError; |
|
t1._handleUncaughtError = t2 != null ? new P._ZoneFunction(t1, t2) : zone.get$_handleUncaughtError(); |
|
return t1; |
|
}, |
|
runZoned: function(body, zoneValues) { |
|
var zoneSpecification = null, |
|
t1 = P._runZoned(body, zoneValues, zoneSpecification); |
|
return t1; |
|
}, |
|
_runZoned: function(body, zoneValues, specification) { |
|
return $.Zone__current.fork$2$specification$zoneValues(specification, zoneValues).run$1(0, body); |
|
}, |
|
_AsyncRun__initializeScheduleImmediate_internalCallback: function _AsyncRun__initializeScheduleImmediate_internalCallback(t0) { |
|
this._box_0 = t0; |
|
}, |
|
_AsyncRun__initializeScheduleImmediate_closure: function _AsyncRun__initializeScheduleImmediate_closure(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.div = t1; |
|
this.span = t2; |
|
}, |
|
_AsyncRun__scheduleImmediateJsOverride_internalCallback: function _AsyncRun__scheduleImmediateJsOverride_internalCallback(t0) { |
|
this.callback = t0; |
|
}, |
|
_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback: function _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(t0) { |
|
this.callback = t0; |
|
}, |
|
_TimerImpl: function _TimerImpl(t0) { |
|
this._once = t0; |
|
this._handle = null; |
|
this._tick = 0; |
|
}, |
|
_TimerImpl_internalCallback: function _TimerImpl_internalCallback(t0, t1) { |
|
this.$this = t0; |
|
this.callback = t1; |
|
}, |
|
_TimerImpl$periodic_closure: function _TimerImpl$periodic_closure(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.milliseconds = t1; |
|
_.start = t2; |
|
_.callback = t3; |
|
}, |
|
_AsyncAwaitCompleter: function _AsyncAwaitCompleter(t0, t1) { |
|
this._future = t0; |
|
this.isSync = false; |
|
this.$ti = t1; |
|
}, |
|
_awaitOnObject_closure: function _awaitOnObject_closure(t0) { |
|
this.bodyFunction = t0; |
|
}, |
|
_awaitOnObject_closure0: function _awaitOnObject_closure0(t0) { |
|
this.bodyFunction = t0; |
|
}, |
|
_wrapJsFunctionForAsync_closure: function _wrapJsFunctionForAsync_closure(t0) { |
|
this.$protected = t0; |
|
}, |
|
_asyncStarHelper_closure: function _asyncStarHelper_closure(t0, t1) { |
|
this.controller = t0; |
|
this.bodyFunctionOrErrorCode = t1; |
|
}, |
|
_asyncStarHelper_closure0: function _asyncStarHelper_closure0(t0, t1) { |
|
this.controller = t0; |
|
this.bodyFunctionOrErrorCode = t1; |
|
}, |
|
_AsyncStarStreamController: function _AsyncStarStreamController(t0) { |
|
var _ = this; |
|
_.controller = null; |
|
_.isSuspended = false; |
|
_.cancelationFuture = null; |
|
_.$ti = t0; |
|
}, |
|
_AsyncStarStreamController__resumeBody: function _AsyncStarStreamController__resumeBody(t0) { |
|
this.body = t0; |
|
}, |
|
_AsyncStarStreamController__resumeBody_closure: function _AsyncStarStreamController__resumeBody_closure(t0) { |
|
this.body = t0; |
|
}, |
|
_AsyncStarStreamController_closure0: function _AsyncStarStreamController_closure0(t0) { |
|
this._resumeBody = t0; |
|
}, |
|
_AsyncStarStreamController_closure1: function _AsyncStarStreamController_closure1(t0, t1) { |
|
this.$this = t0; |
|
this._resumeBody = t1; |
|
}, |
|
_AsyncStarStreamController_closure: function _AsyncStarStreamController_closure(t0, t1) { |
|
this.$this = t0; |
|
this.body = t1; |
|
}, |
|
_AsyncStarStreamController__closure: function _AsyncStarStreamController__closure(t0) { |
|
this.body = t0; |
|
}, |
|
_IterationMarker: function _IterationMarker(t0, t1) { |
|
this.value = t0; |
|
this.state = t1; |
|
}, |
|
_SyncStarIterator: function _SyncStarIterator(t0) { |
|
var _ = this; |
|
_._body = t0; |
|
_._suspendedBodies = _._nestedIterator = _._async$_current = null; |
|
}, |
|
_SyncStarIterable: function _SyncStarIterable(t0, t1) { |
|
this._outerHelper = t0; |
|
this.$ti = t1; |
|
}, |
|
_BroadcastStream: function _BroadcastStream(t0, t1) { |
|
this._async$_controller = t0; |
|
this.$ti = t1; |
|
}, |
|
_BroadcastSubscription: function _BroadcastSubscription(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._eventState = 0; |
|
_._async$_previous = _._async$_next = null; |
|
_._async$_controller = t0; |
|
_._onDone = _._onError = _._onData = null; |
|
_._zone = t1; |
|
_._async$_state = t2; |
|
_._pending = _._cancelFuture = null; |
|
_.$ti = t3; |
|
}, |
|
_BroadcastStreamController: function _BroadcastStreamController() { |
|
}, |
|
_SyncBroadcastStreamController: function _SyncBroadcastStreamController(t0, t1, t2) { |
|
var _ = this; |
|
_.onListen = t0; |
|
_.onCancel = t1; |
|
_._async$_state = 0; |
|
_._doneFuture = _._addStreamState = _._lastSubscription = _._firstSubscription = null; |
|
_.$ti = t2; |
|
}, |
|
_SyncBroadcastStreamController__sendData_closure: function _SyncBroadcastStreamController__sendData_closure(t0) { |
|
this.data = t0; |
|
}, |
|
_SyncBroadcastStreamController__sendError_closure: function _SyncBroadcastStreamController__sendError_closure(t0, t1) { |
|
this.error = t0; |
|
this.stackTrace = t1; |
|
}, |
|
_SyncBroadcastStreamController__sendDone_closure: function _SyncBroadcastStreamController__sendDone_closure() { |
|
}, |
|
Future: function Future() { |
|
}, |
|
Future_wait_handleError: function Future_wait_handleError(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.cleanUp = t1; |
|
_.eagerError = t2; |
|
_.result = t3; |
|
}, |
|
Future_wait_closure: function Future_wait_closure(t0, t1, t2, t3, t4, t5) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.pos = t1; |
|
_.result = t2; |
|
_.cleanUp = t3; |
|
_.eagerError = t4; |
|
_.T = t5; |
|
}, |
|
_Completer: function _Completer() { |
|
}, |
|
_AsyncCompleter: function _AsyncCompleter(t0, t1) { |
|
this.future = t0; |
|
this.$ti = t1; |
|
}, |
|
_FutureListener: function _FutureListener(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._nextListener = null; |
|
_.result = t0; |
|
_.state = t1; |
|
_.callback = t2; |
|
_.errorCallback = t3; |
|
}, |
|
_Future: function _Future(t0, t1) { |
|
var _ = this; |
|
_._async$_state = 0; |
|
_._zone = t0; |
|
_._resultOrListeners = null; |
|
_.$ti = t1; |
|
}, |
|
_Future__addListener_closure: function _Future__addListener_closure(t0, t1) { |
|
this.$this = t0; |
|
this.listener = t1; |
|
}, |
|
_Future__prependListeners_closure: function _Future__prependListeners_closure(t0, t1) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
}, |
|
_Future__chainForeignFuture_closure: function _Future__chainForeignFuture_closure(t0) { |
|
this.target = t0; |
|
}, |
|
_Future__chainForeignFuture_closure0: function _Future__chainForeignFuture_closure0(t0) { |
|
this.target = t0; |
|
}, |
|
_Future__chainForeignFuture_closure1: function _Future__chainForeignFuture_closure1(t0, t1, t2) { |
|
this.target = t0; |
|
this.e = t1; |
|
this.s = t2; |
|
}, |
|
_Future__asyncComplete_closure: function _Future__asyncComplete_closure(t0, t1) { |
|
this.$this = t0; |
|
this.value = t1; |
|
}, |
|
_Future__chainFuture_closure: function _Future__chainFuture_closure(t0, t1) { |
|
this.$this = t0; |
|
this.value = t1; |
|
}, |
|
_Future__asyncCompleteError_closure: function _Future__asyncCompleteError_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.error = t1; |
|
this.stackTrace = t2; |
|
}, |
|
_Future__propagateToListeners_handleWhenCompleteCallback: function _Future__propagateToListeners_handleWhenCompleteCallback(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._box_1 = t0; |
|
_._box_0 = t1; |
|
_.listener = t2; |
|
_.hasError = t3; |
|
}, |
|
_Future__propagateToListeners_handleWhenCompleteCallback_closure: function _Future__propagateToListeners_handleWhenCompleteCallback_closure(t0) { |
|
this.originalSource = t0; |
|
}, |
|
_Future__propagateToListeners_handleValueCallback: function _Future__propagateToListeners_handleValueCallback(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.listener = t1; |
|
this.sourceResult = t2; |
|
}, |
|
_Future__propagateToListeners_handleError: function _Future__propagateToListeners_handleError(t0, t1, t2) { |
|
this._box_1 = t0; |
|
this._box_0 = t1; |
|
this.listener = t2; |
|
}, |
|
_AsyncCallbackEntry: function _AsyncCallbackEntry(t0) { |
|
this.callback = t0; |
|
this.next = null; |
|
}, |
|
Stream: function Stream() { |
|
}, |
|
Stream_Stream$fromFuture_closure: function Stream_Stream$fromFuture_closure(t0, t1) { |
|
this.controller = t0; |
|
this.T = t1; |
|
}, |
|
Stream_Stream$fromFuture_closure0: function Stream_Stream$fromFuture_closure0(t0) { |
|
this.controller = t0; |
|
}, |
|
Stream_length_closure: function Stream_length_closure(t0, t1) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
}, |
|
Stream_length_closure0: function Stream_length_closure0(t0, t1) { |
|
this._box_0 = t0; |
|
this.future = t1; |
|
}, |
|
StreamSubscription: function StreamSubscription() { |
|
}, |
|
EventSink: function EventSink() { |
|
}, |
|
StreamTransformerBase: function StreamTransformerBase() { |
|
}, |
|
_StreamController: function _StreamController() { |
|
}, |
|
_StreamController__subscribe_closure: function _StreamController__subscribe_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
_StreamController__recordCancel_complete: function _StreamController__recordCancel_complete(t0) { |
|
this.$this = t0; |
|
}, |
|
_SyncStreamControllerDispatch: function _SyncStreamControllerDispatch() { |
|
}, |
|
_AsyncStreamControllerDispatch: function _AsyncStreamControllerDispatch() { |
|
}, |
|
_AsyncStreamController: function _AsyncStreamController(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_._varData = null; |
|
_._async$_state = 0; |
|
_._doneFuture = null; |
|
_.onListen = t0; |
|
_.onPause = t1; |
|
_.onResume = t2; |
|
_.onCancel = t3; |
|
_.$ti = t4; |
|
}, |
|
_SyncStreamController: function _SyncStreamController(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_._varData = null; |
|
_._async$_state = 0; |
|
_._doneFuture = null; |
|
_.onListen = t0; |
|
_.onPause = t1; |
|
_.onResume = t2; |
|
_.onCancel = t3; |
|
_.$ti = t4; |
|
}, |
|
_ControllerStream: function _ControllerStream(t0, t1) { |
|
this._async$_controller = t0; |
|
this.$ti = t1; |
|
}, |
|
_ControllerSubscription: function _ControllerSubscription(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._async$_controller = t0; |
|
_._onDone = _._onError = _._onData = null; |
|
_._zone = t1; |
|
_._async$_state = t2; |
|
_._pending = _._cancelFuture = null; |
|
_.$ti = t3; |
|
}, |
|
_AddStreamState: function _AddStreamState() { |
|
}, |
|
_AddStreamState_cancel_closure: function _AddStreamState_cancel_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
_StreamControllerAddStreamState: function _StreamControllerAddStreamState(t0, t1, t2) { |
|
this.varData = t0; |
|
this.addStreamFuture = t1; |
|
this.addSubscription = t2; |
|
}, |
|
_BufferingStreamSubscription: function _BufferingStreamSubscription() { |
|
}, |
|
_BufferingStreamSubscription__sendError_sendError: function _BufferingStreamSubscription__sendError_sendError(t0, t1, t2) { |
|
this.$this = t0; |
|
this.error = t1; |
|
this.stackTrace = t2; |
|
}, |
|
_BufferingStreamSubscription__sendDone_sendDone: function _BufferingStreamSubscription__sendDone_sendDone(t0) { |
|
this.$this = t0; |
|
}, |
|
_StreamImpl: function _StreamImpl() { |
|
}, |
|
_DelayedEvent: function _DelayedEvent() { |
|
}, |
|
_DelayedData: function _DelayedData(t0) { |
|
this.value = t0; |
|
this.next = null; |
|
}, |
|
_DelayedError: function _DelayedError(t0, t1) { |
|
this.error = t0; |
|
this.stackTrace = t1; |
|
this.next = null; |
|
}, |
|
_DelayedDone: function _DelayedDone() { |
|
}, |
|
_PendingEvents: function _PendingEvents() { |
|
}, |
|
_PendingEvents_schedule_closure: function _PendingEvents_schedule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.dispatch = t1; |
|
}, |
|
_StreamImplEvents: function _StreamImplEvents() { |
|
this.lastPendingEvent = this.firstPendingEvent = null; |
|
this._async$_state = 0; |
|
}, |
|
_DoneStreamSubscription: function _DoneStreamSubscription(t0, t1, t2) { |
|
var _ = this; |
|
_._zone = t0; |
|
_._async$_state = 0; |
|
_._onDone = t1; |
|
_.$ti = t2; |
|
}, |
|
_StreamIterator: function _StreamIterator(t0) { |
|
this._subscription = null; |
|
this._stateData = t0; |
|
this._isPaused = false; |
|
}, |
|
_ForwardingStream: function _ForwardingStream() { |
|
}, |
|
_ForwardingStreamSubscription: function _ForwardingStreamSubscription(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._stream = t0; |
|
_._onDone = _._onError = _._onData = _._subscription = null; |
|
_._zone = t1; |
|
_._async$_state = t2; |
|
_._pending = _._cancelFuture = null; |
|
_.$ti = t3; |
|
}, |
|
_ExpandStream: function _ExpandStream(t0, t1, t2) { |
|
this._expand = t0; |
|
this._async$_source = t1; |
|
this.$ti = t2; |
|
}, |
|
Timer: function Timer() { |
|
}, |
|
AsyncError: function AsyncError(t0, t1) { |
|
this.error = t0; |
|
this.stackTrace = t1; |
|
}, |
|
_ZoneFunction: function _ZoneFunction(t0, t1) { |
|
this.zone = t0; |
|
this.$function = t1; |
|
}, |
|
ZoneSpecification: function ZoneSpecification() { |
|
}, |
|
_ZoneSpecification: function _ZoneSpecification(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) { |
|
var _ = this; |
|
_.handleUncaughtError = t0; |
|
_.run = t1; |
|
_.runUnary = t2; |
|
_.runBinary = t3; |
|
_.registerCallback = t4; |
|
_.registerUnaryCallback = t5; |
|
_.registerBinaryCallback = t6; |
|
_.errorCallback = t7; |
|
_.scheduleMicrotask = t8; |
|
_.createTimer = t9; |
|
_.createPeriodicTimer = t10; |
|
_.print = t11; |
|
_.fork = t12; |
|
}, |
|
ZoneDelegate: function ZoneDelegate() { |
|
}, |
|
Zone: function Zone() { |
|
}, |
|
_ZoneDelegate: function _ZoneDelegate(t0) { |
|
this._delegationTarget = t0; |
|
}, |
|
_Zone: function _Zone() { |
|
}, |
|
_CustomZone: function _CustomZone(t0, t1) { |
|
var _ = this; |
|
_._delegateCache = _._handleUncaughtError = _._fork = _._print = _._createPeriodicTimer = _._createTimer = _._scheduleMicrotask = _._errorCallback = _._registerBinaryCallback = _._registerUnaryCallback = _._registerCallback = _._runBinary = _._runUnary = _._run = null; |
|
_.parent = t0; |
|
_._async$_map = t1; |
|
}, |
|
_CustomZone_bindCallback_closure: function _CustomZone_bindCallback_closure(t0, t1) { |
|
this.$this = t0; |
|
this.registered = t1; |
|
}, |
|
_CustomZone_bindUnaryCallback_closure: function _CustomZone_bindUnaryCallback_closure(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.registered = t1; |
|
_.T = t2; |
|
_.R = t3; |
|
}, |
|
_CustomZone_bindCallbackGuarded_closure: function _CustomZone_bindCallbackGuarded_closure(t0, t1) { |
|
this.$this = t0; |
|
this.registered = t1; |
|
}, |
|
_rootHandleUncaughtError_closure: function _rootHandleUncaughtError_closure(t0, t1) { |
|
this._box_0 = t0; |
|
this.stackTrace = t1; |
|
}, |
|
_RootZone: function _RootZone() { |
|
}, |
|
_RootZone_bindCallback_closure: function _RootZone_bindCallback_closure(t0, t1) { |
|
this.$this = t0; |
|
this.f = t1; |
|
}, |
|
_RootZone_bindCallbackGuarded_closure: function _RootZone_bindCallbackGuarded_closure(t0, t1) { |
|
this.$this = t0; |
|
this.f = t1; |
|
}, |
|
HashMap_HashMap: function($K, $V) { |
|
return new P._HashMap([$K, $V]); |
|
}, |
|
_HashMap__getTableEntry: function(table, key) { |
|
var entry = table[key]; |
|
return entry === table ? null : entry; |
|
}, |
|
_HashMap__setTableEntry: function(table, key, value) { |
|
if (value == null) |
|
table[key] = table; |
|
else |
|
table[key] = value; |
|
}, |
|
_HashMap__newHashTable: function() { |
|
var table = Object.create(null); |
|
P._HashMap__setTableEntry(table, "<non-identifier-key>", table); |
|
delete table["<non-identifier-key>"]; |
|
return table; |
|
}, |
|
LinkedHashMap_LinkedHashMap: function(equals, hashCode, isValidKey, $K, $V) { |
|
if (isValidKey == null) |
|
if (hashCode == null) { |
|
if (equals == null) |
|
return new H.JsLinkedHashMap([$K, $V]); |
|
hashCode = P.collection___defaultHashCode$closure(); |
|
} else { |
|
if (P.core__identityHashCode$closure() === hashCode && P.core__identical$closure() === equals) |
|
return P._LinkedIdentityHashMap__LinkedIdentityHashMap$es6($K, $V); |
|
if (equals == null) |
|
equals = P.collection___defaultEquals$closure(); |
|
} |
|
else { |
|
if (hashCode == null) |
|
hashCode = P.collection___defaultHashCode$closure(); |
|
if (equals == null) |
|
equals = P.collection___defaultEquals$closure(); |
|
} |
|
return P._LinkedCustomHashMap$(equals, hashCode, isValidKey, $K, $V); |
|
}, |
|
LinkedHashMap_LinkedHashMap$_literal: function(keyValuePairs, $K, $V) { |
|
return H.fillLiteralMap(keyValuePairs, new H.JsLinkedHashMap([$K, $V])); |
|
}, |
|
LinkedHashMap_LinkedHashMap$_empty: function($K, $V) { |
|
return new H.JsLinkedHashMap([$K, $V]); |
|
}, |
|
LinkedHashMap__makeLiteral: function(keyValuePairs) { |
|
return H.fillLiteralMap(keyValuePairs, new H.JsLinkedHashMap([null, null])); |
|
}, |
|
_LinkedIdentityHashMap__LinkedIdentityHashMap$es6: function($K, $V) { |
|
return new P._LinkedIdentityHashMap([$K, $V]); |
|
}, |
|
_LinkedCustomHashMap$: function(_equals, _hashCode, validKey, $K, $V) { |
|
var t1 = validKey != null ? validKey : new P._LinkedCustomHashMap_closure($K); |
|
return new P._LinkedCustomHashMap(_equals, _hashCode, t1, [$K, $V]); |
|
}, |
|
LinkedHashSet_LinkedHashSet: function($E) { |
|
return new P._LinkedHashSet([$E]); |
|
}, |
|
LinkedHashSet_LinkedHashSet$_empty: function($E) { |
|
return new P._LinkedHashSet([$E]); |
|
}, |
|
LinkedHashSet_LinkedHashSet$_literal: function(values, $E) { |
|
return H.fillLiteralSet(values, new P._LinkedHashSet([$E])); |
|
}, |
|
_LinkedHashSet__newHashTable: function() { |
|
var table = Object.create(null); |
|
table["<non-identifier-key>"] = table; |
|
delete table["<non-identifier-key>"]; |
|
return table; |
|
}, |
|
_LinkedHashSetIterator$: function(_set, _modifications) { |
|
var t1 = new P._LinkedHashSetIterator(_set, _modifications); |
|
t1._collection$_cell = _set._collection$_first; |
|
return t1; |
|
}, |
|
UnmodifiableListView$: function(source, $E) { |
|
return new P.UnmodifiableListView(source, [$E]); |
|
}, |
|
_defaultEquals: function(a, b) { |
|
return J.$eq$(a, b); |
|
}, |
|
_defaultHashCode: function(a) { |
|
return J.get$hashCode$(a); |
|
}, |
|
HashMap_HashMap$from: function(other, $K, $V) { |
|
var result = P.HashMap_HashMap($K, $V); |
|
other.forEach$1(0, new P.HashMap_HashMap$from_closure(result)); |
|
return result; |
|
}, |
|
IterableBase_iterableToShortString: function(iterable, leftDelimiter, rightDelimiter) { |
|
var parts, t1; |
|
if (P._isToStringVisiting(iterable)) { |
|
if (leftDelimiter === "(" && rightDelimiter === ")") |
|
return "(...)"; |
|
return leftDelimiter + "..." + rightDelimiter; |
|
} |
|
parts = H.setRuntimeTypeInfo([], [P.String]); |
|
$._toStringVisiting.push(iterable); |
|
try { |
|
P._iterablePartsToStrings(iterable, parts); |
|
} finally { |
|
$._toStringVisiting.pop(); |
|
} |
|
t1 = P.StringBuffer__writeAll(leftDelimiter, parts, ", ") + rightDelimiter; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
IterableBase_iterableToFullString: function(iterable, leftDelimiter, rightDelimiter) { |
|
var buffer, t1; |
|
if (P._isToStringVisiting(iterable)) |
|
return leftDelimiter + "..." + rightDelimiter; |
|
buffer = new P.StringBuffer(leftDelimiter); |
|
$._toStringVisiting.push(iterable); |
|
try { |
|
t1 = buffer; |
|
t1._contents = P.StringBuffer__writeAll(t1._contents, iterable, ", "); |
|
} finally { |
|
$._toStringVisiting.pop(); |
|
} |
|
buffer._contents += rightDelimiter; |
|
t1 = buffer._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
_isToStringVisiting: function(o) { |
|
var t1, i; |
|
for (t1 = $._toStringVisiting.length, i = 0; i < t1; ++i) |
|
if (o === $._toStringVisiting[i]) |
|
return true; |
|
return false; |
|
}, |
|
_iterablePartsToStrings: function(iterable, parts) { |
|
var next, ultimateString, penultimateString, penultimate, ultimate, ultimate0, elision, |
|
it = iterable.get$iterator(iterable), |
|
$length = 0, count = 0; |
|
while (true) { |
|
if (!($length < 80 || count < 3)) |
|
break; |
|
if (!it.moveNext$0()) |
|
return; |
|
next = H.S(it.get$current(it)); |
|
parts.push(next); |
|
$length += next.length + 2; |
|
++count; |
|
} |
|
if (!it.moveNext$0()) { |
|
if (count <= 5) |
|
return; |
|
ultimateString = parts.pop(); |
|
penultimateString = parts.pop(); |
|
} else { |
|
penultimate = it.get$current(it); |
|
++count; |
|
if (!it.moveNext$0()) { |
|
if (count <= 4) { |
|
parts.push(H.S(penultimate)); |
|
return; |
|
} |
|
ultimateString = H.S(penultimate); |
|
penultimateString = parts.pop(); |
|
$length += ultimateString.length + 2; |
|
} else { |
|
ultimate = it.get$current(it); |
|
++count; |
|
for (; it.moveNext$0(); penultimate = ultimate, ultimate = ultimate0) { |
|
ultimate0 = it.get$current(it); |
|
++count; |
|
if (count > 100) { |
|
while (true) { |
|
if (!($length > 75 && count > 3)) |
|
break; |
|
$length -= parts.pop().length + 2; |
|
--count; |
|
} |
|
parts.push("..."); |
|
return; |
|
} |
|
} |
|
penultimateString = H.S(penultimate); |
|
ultimateString = H.S(ultimate); |
|
$length += ultimateString.length + penultimateString.length + 4; |
|
} |
|
} |
|
if (count > parts.length + 2) { |
|
$length += 5; |
|
elision = "..."; |
|
} else |
|
elision = null; |
|
while (true) { |
|
if (!($length > 80 && parts.length > 3)) |
|
break; |
|
$length -= parts.pop().length + 2; |
|
if (elision == null) { |
|
$length += 5; |
|
elision = "..."; |
|
} |
|
} |
|
if (elision != null) |
|
parts.push(elision); |
|
parts.push(penultimateString); |
|
parts.push(ultimateString); |
|
}, |
|
LinkedHashMap_LinkedHashMap$from: function(other, $K, $V) { |
|
var result = P.LinkedHashMap_LinkedHashMap(null, null, null, $K, $V); |
|
other.forEach$1(0, new P.LinkedHashMap_LinkedHashMap$from_closure(result)); |
|
return result; |
|
}, |
|
LinkedHashMap_LinkedHashMap$of: function(other, $K, $V) { |
|
var t1 = P.LinkedHashMap_LinkedHashMap(null, null, null, $K, $V); |
|
t1.addAll$1(0, other); |
|
return t1; |
|
}, |
|
LinkedHashSet_LinkedHashSet$from: function(elements, $E) { |
|
var t1, |
|
result = P.LinkedHashSet_LinkedHashSet($E); |
|
for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) |
|
result.add$1(0, t1.get$current(t1)); |
|
return result; |
|
}, |
|
LinkedHashSet_LinkedHashSet$of: function(elements, $E) { |
|
var t1 = P.LinkedHashSet_LinkedHashSet($E); |
|
t1.addAll$1(0, elements); |
|
return t1; |
|
}, |
|
ListMixin__compareAny: function(a, b) { |
|
return J.compareTo$1$ns(a, b); |
|
}, |
|
MapBase_mapToString: function(m) { |
|
var result, t1 = {}; |
|
if (P._isToStringVisiting(m)) |
|
return "{...}"; |
|
result = new P.StringBuffer(""); |
|
try { |
|
$._toStringVisiting.push(m); |
|
result._contents += "{"; |
|
t1.first = true; |
|
m.forEach$1(0, new P.MapBase_mapToString_closure(t1, result)); |
|
result._contents += "}"; |
|
} finally { |
|
$._toStringVisiting.pop(); |
|
} |
|
t1 = result._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
MapBase__id: function(x) { |
|
return x; |
|
}, |
|
MapBase__fillMapWithMappedIterable: function(map, iterable, key, value) { |
|
var t1, _i, element; |
|
for (t1 = iterable.length, _i = 0; _i < t1; ++_i) { |
|
element = iterable[_i]; |
|
map.$indexSet(0, P.MapBase__id(element), value.call$1(element)); |
|
} |
|
}, |
|
MapBase__fillMapWithIterables: function(map, keys, values) { |
|
var keyIterator = keys.get$iterator(keys), |
|
valueIterator = values.get$iterator(values), |
|
hasNextKey = keyIterator.moveNext$0(), |
|
hasNextValue = valueIterator.moveNext$0(); |
|
while (true) { |
|
if (!(hasNextKey && hasNextValue)) |
|
break; |
|
map.$indexSet(0, keyIterator.get$current(keyIterator), valueIterator.get$current(valueIterator)); |
|
hasNextKey = keyIterator.moveNext$0(); |
|
hasNextValue = valueIterator.moveNext$0(); |
|
} |
|
if (hasNextKey || hasNextValue) |
|
throw H.wrapException(P.ArgumentError$("Iterables do not have same length.")); |
|
}, |
|
ListQueue$: function($E) { |
|
var t1 = new P.ListQueue([$E]), |
|
t2 = new Array(8); |
|
t2.fixed$length = Array; |
|
t1._collection$_table = H.setRuntimeTypeInfo(t2, [$E]); |
|
return t1; |
|
}, |
|
ListQueue_ListQueue$of: function(elements, $E) { |
|
var t1 = P.ListQueue$($E); |
|
t1.addAll$1(0, elements); |
|
return t1; |
|
}, |
|
ListQueue__nextPowerOf2: function(number) { |
|
var nextNumber; |
|
number = (number << 1 >>> 0) - 1; |
|
for (; true; number = nextNumber) { |
|
nextNumber = (number & number - 1) >>> 0; |
|
if (nextNumber === 0) |
|
return number; |
|
} |
|
}, |
|
_ListQueueIterator$: function(queue) { |
|
return new P._ListQueueIterator(queue, queue._collection$_tail, queue._modificationCount, queue._collection$_head); |
|
}, |
|
_HashMap: function _HashMap(t0) { |
|
var _ = this; |
|
_._collection$_length = 0; |
|
_._collection$_keys = _._collection$_rest = _._collection$_nums = _._collection$_strings = null; |
|
_.$ti = t0; |
|
}, |
|
_HashMap_values_closure: function _HashMap_values_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
_HashMap_addAll_closure: function _HashMap_addAll_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
_HashMapKeyIterable: function _HashMapKeyIterable(t0, t1) { |
|
this._collection$_map = t0; |
|
this.$ti = t1; |
|
}, |
|
_HashMapKeyIterator: function _HashMapKeyIterator(t0, t1) { |
|
var _ = this; |
|
_._collection$_map = t0; |
|
_._collection$_keys = t1; |
|
_._offset = 0; |
|
_._collection$_current = null; |
|
}, |
|
_LinkedIdentityHashMap: function _LinkedIdentityHashMap(t0) { |
|
var _ = this; |
|
_.__js_helper$_length = 0; |
|
_._last = _._first = _._rest = _._nums = _._strings = null; |
|
_._modifications = 0; |
|
_.$ti = t0; |
|
}, |
|
_LinkedCustomHashMap: function _LinkedCustomHashMap(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._equals = t0; |
|
_._collection$_hashCode = t1; |
|
_._validKey = t2; |
|
_.__js_helper$_length = 0; |
|
_._last = _._first = _._rest = _._nums = _._strings = null; |
|
_._modifications = 0; |
|
_.$ti = t3; |
|
}, |
|
_LinkedCustomHashMap_closure: function _LinkedCustomHashMap_closure(t0) { |
|
this.K = t0; |
|
}, |
|
_LinkedHashSet: function _LinkedHashSet(t0) { |
|
var _ = this; |
|
_._collection$_length = 0; |
|
_._collection$_last = _._collection$_first = _._collection$_rest = _._collection$_nums = _._collection$_strings = null; |
|
_._collection$_modifications = 0; |
|
_.$ti = t0; |
|
}, |
|
_LinkedIdentityHashSet: function _LinkedIdentityHashSet(t0) { |
|
var _ = this; |
|
_._collection$_length = 0; |
|
_._collection$_last = _._collection$_first = _._collection$_rest = _._collection$_nums = _._collection$_strings = null; |
|
_._collection$_modifications = 0; |
|
_.$ti = t0; |
|
}, |
|
_LinkedHashSetCell: function _LinkedHashSetCell(t0) { |
|
this._element = t0; |
|
this._collection$_previous = this._collection$_next = null; |
|
}, |
|
_LinkedHashSetIterator: function _LinkedHashSetIterator(t0, t1) { |
|
var _ = this; |
|
_._set = t0; |
|
_._collection$_modifications = t1; |
|
_._collection$_current = _._collection$_cell = null; |
|
}, |
|
UnmodifiableListView: function UnmodifiableListView(t0, t1) { |
|
this._collection$_source = t0; |
|
this.$ti = t1; |
|
}, |
|
HashMap_HashMap$from_closure: function HashMap_HashMap$from_closure(t0) { |
|
this.result = t0; |
|
}, |
|
IterableBase: function IterableBase() { |
|
}, |
|
LinkedHashMap_LinkedHashMap$from_closure: function LinkedHashMap_LinkedHashMap$from_closure(t0) { |
|
this.result = t0; |
|
}, |
|
ListBase: function ListBase() { |
|
}, |
|
ListMixin: function ListMixin() { |
|
}, |
|
MapBase: function MapBase() { |
|
}, |
|
MapBase_mapToString_closure: function MapBase_mapToString_closure(t0, t1) { |
|
this._box_0 = t0; |
|
this.result = t1; |
|
}, |
|
MapMixin: function MapMixin() { |
|
}, |
|
MapMixin_entries_closure: function MapMixin_entries_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
UnmodifiableMapBase: function UnmodifiableMapBase() { |
|
}, |
|
_MapBaseValueIterable: function _MapBaseValueIterable(t0, t1) { |
|
this._collection$_map = t0; |
|
this.$ti = t1; |
|
}, |
|
_MapBaseValueIterator: function _MapBaseValueIterator(t0, t1) { |
|
this._collection$_keys = t0; |
|
this._collection$_map = t1; |
|
this._collection$_current = null; |
|
}, |
|
_UnmodifiableMapMixin: function _UnmodifiableMapMixin() { |
|
}, |
|
MapView: function MapView() { |
|
}, |
|
UnmodifiableMapView: function UnmodifiableMapView(t0, t1) { |
|
this._collection$_map = t0; |
|
this.$ti = t1; |
|
}, |
|
Queue: function Queue() { |
|
}, |
|
ListQueue: function ListQueue(t0) { |
|
var _ = this; |
|
_._collection$_table = null; |
|
_._modificationCount = _._collection$_tail = _._collection$_head = 0; |
|
_.$ti = t0; |
|
}, |
|
_ListQueueIterator: function _ListQueueIterator(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._queue = t0; |
|
_._end = t1; |
|
_._modificationCount = t2; |
|
_._position = t3; |
|
_._collection$_current = null; |
|
}, |
|
_SetBase: function _SetBase() { |
|
}, |
|
_ListBase_Object_ListMixin: function _ListBase_Object_ListMixin() { |
|
}, |
|
_UnmodifiableMapView_MapView__UnmodifiableMapMixin: function _UnmodifiableMapView_MapView__UnmodifiableMapMixin() { |
|
}, |
|
Utf8Decoder__convertIntercepted: function(allowMalformed, codeUnits, start, end) { |
|
if (codeUnits instanceof Uint8Array) |
|
return P.Utf8Decoder__convertInterceptedUint8List(false, codeUnits, start, end); |
|
return; |
|
}, |
|
Utf8Decoder__convertInterceptedUint8List: function(allowMalformed, codeUnits, start, end) { |
|
var t1, $length, |
|
decoder = $.$get$Utf8Decoder__decoder(); |
|
if (decoder == null) |
|
return; |
|
t1 = 0 === start; |
|
if (t1 && true) |
|
return P.Utf8Decoder__useTextDecoderChecked(decoder, codeUnits); |
|
$length = codeUnits.length; |
|
end = P.RangeError_checkValidRange(start, end, $length); |
|
if (t1 && end === $length) |
|
return P.Utf8Decoder__useTextDecoderChecked(decoder, codeUnits); |
|
return P.Utf8Decoder__useTextDecoderChecked(decoder, codeUnits.subarray(start, end)); |
|
}, |
|
Utf8Decoder__useTextDecoderChecked: function(decoder, codeUnits) { |
|
if (P.Utf8Decoder__unsafe(codeUnits)) |
|
return; |
|
return P.Utf8Decoder__useTextDecoderUnchecked(decoder, codeUnits); |
|
}, |
|
Utf8Decoder__useTextDecoderUnchecked: function(decoder, codeUnits) { |
|
var t1, exception; |
|
try { |
|
t1 = decoder.decode(codeUnits); |
|
return t1; |
|
} catch (exception) { |
|
H.unwrapException(exception); |
|
} |
|
return; |
|
}, |
|
Utf8Decoder__unsafe: function(codeUnits) { |
|
var i, |
|
limit = codeUnits.length - 2; |
|
for (i = 0; i < limit; ++i) |
|
if (codeUnits[i] === 237) |
|
if ((codeUnits[i + 1] & 224) === 160) |
|
return true; |
|
return false; |
|
}, |
|
Utf8Decoder__makeDecoder: function() { |
|
var t1, exception; |
|
try { |
|
t1 = new TextDecoder("utf-8", {fatal: true}); |
|
return t1; |
|
} catch (exception) { |
|
H.unwrapException(exception); |
|
} |
|
return; |
|
}, |
|
_scanOneByteCharacters: function(units, from, endIndex) { |
|
var t1, i, unit; |
|
for (t1 = J.getInterceptor$asx(units), i = from; i < endIndex; ++i) { |
|
unit = t1.$index(units, i); |
|
if ((unit & 127) !== unit) |
|
return i - from; |
|
} |
|
return endIndex - from; |
|
}, |
|
Base64Codec__checkPadding: function(source, sourceIndex, sourceEnd, firstPadding, paddingCount, $length) { |
|
if (C.JSInt_methods.$mod($length, 4) !== 0) |
|
throw H.wrapException(P.FormatException$("Invalid base64 padding, padded length must be multiple of four, is " + $length, source, sourceEnd)); |
|
if (firstPadding + paddingCount !== $length) |
|
throw H.wrapException(P.FormatException$("Invalid base64 padding, '=' not at the end", source, sourceIndex)); |
|
if (paddingCount > 2) |
|
throw H.wrapException(P.FormatException$("Invalid base64 padding, more than two '=' characters", source, sourceIndex)); |
|
}, |
|
_Base64Encoder_encodeChunk: function(alphabet, bytes, start, end, isLast, output, outputIndex, state) { |
|
var t1, i, byteOr, byte, outputIndex0, outputIndex1, |
|
bits = state >>> 2, |
|
expectedChars = 3 - (state & 3); |
|
for (t1 = J.getInterceptor$asx(bytes), i = start, byteOr = 0; i < end; ++i) { |
|
byte = t1.$index(bytes, i); |
|
byteOr = (byteOr | byte) >>> 0; |
|
bits = (bits << 8 | byte) & 16777215; |
|
--expectedChars; |
|
if (expectedChars === 0) { |
|
outputIndex0 = outputIndex + 1; |
|
output[outputIndex] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 18 & 63); |
|
outputIndex = outputIndex0 + 1; |
|
output[outputIndex0] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 12 & 63); |
|
outputIndex0 = outputIndex + 1; |
|
output[outputIndex] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 6 & 63); |
|
outputIndex = outputIndex0 + 1; |
|
output[outputIndex0] = C.JSString_methods._codeUnitAt$1(alphabet, bits & 63); |
|
bits = 0; |
|
expectedChars = 3; |
|
} |
|
} |
|
if (byteOr >= 0 && byteOr <= 255) { |
|
if (isLast && expectedChars < 3) { |
|
outputIndex0 = outputIndex + 1; |
|
outputIndex1 = outputIndex0 + 1; |
|
if (3 - expectedChars === 1) { |
|
output[outputIndex] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 2 & 63); |
|
output[outputIndex0] = C.JSString_methods._codeUnitAt$1(alphabet, bits << 4 & 63); |
|
output[outputIndex1] = 61; |
|
output[outputIndex1 + 1] = 61; |
|
} else { |
|
output[outputIndex] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 10 & 63); |
|
output[outputIndex0] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 4 & 63); |
|
output[outputIndex1] = C.JSString_methods._codeUnitAt$1(alphabet, bits << 2 & 63); |
|
output[outputIndex1 + 1] = 61; |
|
} |
|
return 0; |
|
} |
|
return (bits << 2 | 3 - expectedChars) >>> 0; |
|
} |
|
for (i = start; i < end;) { |
|
byte = t1.$index(bytes, i); |
|
if (byte < 0 || byte > 255) |
|
break; |
|
++i; |
|
} |
|
throw H.wrapException(P.ArgumentError$value(bytes, "Not a byte value at index " + i + ": 0x" + J.toRadixString$1$n(t1.$index(bytes, i), 16), null)); |
|
}, |
|
JsonUnsupportedObjectError$: function(unsupportedObject, cause, partialResult) { |
|
return new P.JsonUnsupportedObjectError(unsupportedObject, cause); |
|
}, |
|
_defaultToEncodable: function(object) { |
|
return object.toJson$0(); |
|
}, |
|
_JsonStringStringifier_stringify: function(object, toEncodable, indent) { |
|
var t1, |
|
output = new P.StringBuffer(""); |
|
P._JsonStringStringifier_printOn(object, output, toEncodable, indent); |
|
t1 = output._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
_JsonStringStringifier_printOn: function(object, output, toEncodable, indent) { |
|
var stringifier = new P._JsonStringStringifier(output, [], P.convert___defaultToEncodable$closure()); |
|
stringifier.writeObject$1(object); |
|
}, |
|
AsciiCodec: function AsciiCodec() { |
|
}, |
|
_UnicodeSubsetEncoder: function _UnicodeSubsetEncoder() { |
|
}, |
|
AsciiEncoder: function AsciiEncoder(t0) { |
|
this._subsetMask = t0; |
|
}, |
|
Base64Codec: function Base64Codec() { |
|
}, |
|
Base64Encoder: function Base64Encoder() { |
|
}, |
|
_Base64Encoder: function _Base64Encoder(t0) { |
|
this._state = 0; |
|
this._alphabet = t0; |
|
}, |
|
_BufferCachingBase64Encoder: function _BufferCachingBase64Encoder(t0) { |
|
this.bufferCache = null; |
|
this._state = 0; |
|
this._alphabet = t0; |
|
}, |
|
_Base64EncoderSink: function _Base64EncoderSink() { |
|
}, |
|
_AsciiBase64EncoderSink: function _AsciiBase64EncoderSink(t0, t1) { |
|
this._sink = t0; |
|
this._encoder = t1; |
|
}, |
|
_Utf8Base64EncoderSink: function _Utf8Base64EncoderSink(t0, t1) { |
|
this._sink = t0; |
|
this._encoder = t1; |
|
}, |
|
ByteConversionSink: function ByteConversionSink() { |
|
}, |
|
ByteConversionSinkBase: function ByteConversionSinkBase() { |
|
}, |
|
ChunkedConversionSink: function ChunkedConversionSink() { |
|
}, |
|
Codec: function Codec() { |
|
}, |
|
Converter: function Converter() { |
|
}, |
|
Encoding: function Encoding() { |
|
}, |
|
JsonUnsupportedObjectError: function JsonUnsupportedObjectError(t0, t1) { |
|
this.unsupportedObject = t0; |
|
this.cause = t1; |
|
}, |
|
JsonCyclicError: function JsonCyclicError(t0, t1) { |
|
this.unsupportedObject = t0; |
|
this.cause = t1; |
|
}, |
|
JsonCodec: function JsonCodec() { |
|
}, |
|
JsonEncoder: function JsonEncoder(t0) { |
|
this._toEncodable = t0; |
|
}, |
|
_JsonStringifier: function _JsonStringifier() { |
|
}, |
|
_JsonStringifier_writeMap_closure: function _JsonStringifier_writeMap_closure(t0, t1) { |
|
this._box_0 = t0; |
|
this.keyValueList = t1; |
|
}, |
|
_JsonStringStringifier: function _JsonStringStringifier(t0, t1, t2) { |
|
this._sink = t0; |
|
this._seen = t1; |
|
this._toEncodable = t2; |
|
}, |
|
StringConversionSinkBase: function StringConversionSinkBase() { |
|
}, |
|
StringConversionSinkMixin: function StringConversionSinkMixin() { |
|
}, |
|
_StringSinkConversionSink: function _StringSinkConversionSink(t0) { |
|
this._stringSink = t0; |
|
}, |
|
_StringCallbackSink: function _StringCallbackSink(t0, t1) { |
|
this._convert$_callback = t0; |
|
this._stringSink = t1; |
|
}, |
|
_StringAdapterSink: function _StringAdapterSink(t0) { |
|
this._sink = t0; |
|
}, |
|
_Utf8StringSinkAdapter: function _Utf8StringSinkAdapter(t0, t1) { |
|
this._decoder = t0; |
|
this._sink = t1; |
|
}, |
|
_Utf8ConversionSink: function _Utf8ConversionSink(t0, t1, t2) { |
|
this._decoder = t0; |
|
this._chunkedSink = t1; |
|
this._buffer = t2; |
|
}, |
|
Utf8Codec: function Utf8Codec() { |
|
}, |
|
Utf8Encoder: function Utf8Encoder() { |
|
}, |
|
_Utf8Encoder: function _Utf8Encoder(t0) { |
|
this._bufferIndex = this._carry = 0; |
|
this._buffer = t0; |
|
}, |
|
Utf8Decoder: function Utf8Decoder(t0) { |
|
this._allowMalformed = t0; |
|
}, |
|
_Utf8Decoder: function _Utf8Decoder(t0, t1) { |
|
var _ = this; |
|
_._allowMalformed = t0; |
|
_._stringSink = t1; |
|
_._isFirstCharacter = true; |
|
_._extraUnits = _._expectedUnits = _._convert$_value = 0; |
|
}, |
|
identityHashCode: function(object) { |
|
return H.objectHashCode(object); |
|
}, |
|
Function_apply: function($function, positionalArguments) { |
|
return H.Primitives_applyFunction($function, positionalArguments, null); |
|
}, |
|
int_parse: function(source, onError, radix) { |
|
var value = H.Primitives_parseInt(source, radix); |
|
if (value != null) |
|
return value; |
|
if (onError != null) |
|
return onError.call$1(source); |
|
throw H.wrapException(P.FormatException$(source, null, null)); |
|
}, |
|
double_parse: function(source) { |
|
var value = H.Primitives_parseDouble(source); |
|
if (value != null) |
|
return value; |
|
throw H.wrapException(P.FormatException$("Invalid double", source, null)); |
|
}, |
|
Error__objectToString: function(object) { |
|
if (object instanceof H.Closure) |
|
return object.toString$0(0); |
|
return "Instance of '" + H.S(H.Primitives_objectTypeName(object)) + "'"; |
|
}, |
|
List_List$filled: function($length, fill, $E) { |
|
var t1, i, |
|
result = J.JSArray_JSArray$fixed($length, $E); |
|
if ($length !== 0 && fill != null) |
|
for (t1 = result.length, i = 0; i < t1; ++i) |
|
result[i] = fill; |
|
return result; |
|
}, |
|
List_List$from: function(elements, growable, $E) { |
|
var t1, |
|
list = H.setRuntimeTypeInfo([], [$E]); |
|
for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) |
|
list.push(t1.get$current(t1)); |
|
if (growable) |
|
return list; |
|
return J.JSArray_markFixedList(list); |
|
}, |
|
List_List$unmodifiable: function(elements, $E) { |
|
return J.JSArray_markUnmodifiableList(P.List_List$from(elements, false, $E)); |
|
}, |
|
String_String$fromCharCodes: function(charCodes, start, end) { |
|
var len; |
|
if (typeof charCodes === "object" && charCodes !== null && charCodes.constructor === Array) { |
|
len = charCodes.length; |
|
end = P.RangeError_checkValidRange(start, end, len); |
|
return H.Primitives_stringFromCharCodes(start > 0 || end < len ? C.JSArray_methods.sublist$2(charCodes, start, end) : charCodes); |
|
} |
|
if (!!J.getInterceptor$(charCodes).$isNativeUint8List) |
|
return H.Primitives_stringFromNativeUint8List(charCodes, start, P.RangeError_checkValidRange(start, end, charCodes.length)); |
|
return P.String__stringFromIterable(charCodes, start, end); |
|
}, |
|
String_String$fromCharCode: function(charCode) { |
|
return H.Primitives_stringFromCharCode(charCode); |
|
}, |
|
String__stringFromIterable: function(charCodes, start, end) { |
|
var t1, it, i, list, _null = null; |
|
if (start < 0) |
|
throw H.wrapException(P.RangeError$range(start, 0, J.get$length$asx(charCodes), _null, _null)); |
|
t1 = end == null; |
|
if (!t1 && end < start) |
|
throw H.wrapException(P.RangeError$range(end, start, J.get$length$asx(charCodes), _null, _null)); |
|
it = J.get$iterator$ax(charCodes); |
|
for (i = 0; i < start; ++i) |
|
if (!it.moveNext$0()) |
|
throw H.wrapException(P.RangeError$range(start, 0, i, _null, _null)); |
|
list = []; |
|
if (t1) |
|
for (; it.moveNext$0();) |
|
list.push(it.get$current(it)); |
|
else |
|
for (i = start; i < end; ++i) { |
|
if (!it.moveNext$0()) |
|
throw H.wrapException(P.RangeError$range(end, start, i, _null, _null)); |
|
list.push(it.get$current(it)); |
|
} |
|
return H.Primitives_stringFromCharCodes(list); |
|
}, |
|
RegExp_RegExp: function(source, multiLine) { |
|
return new H.JSSyntaxRegExp(source, H.JSSyntaxRegExp_makeNative(source, multiLine, true, false, false, false)); |
|
}, |
|
identical: function(a, b) { |
|
return a == null ? b == null : a === b; |
|
}, |
|
StringBuffer__writeAll: function(string, objects, separator) { |
|
var iterator = J.get$iterator$ax(objects); |
|
if (!iterator.moveNext$0()) |
|
return string; |
|
if (separator.length === 0) { |
|
do |
|
string += H.S(iterator.get$current(iterator)); |
|
while (iterator.moveNext$0()); |
|
} else { |
|
string += H.S(iterator.get$current(iterator)); |
|
for (; iterator.moveNext$0();) |
|
string = string + separator + H.S(iterator.get$current(iterator)); |
|
} |
|
return string; |
|
}, |
|
NoSuchMethodError$: function(receiver, memberName, positionalArguments, namedArguments) { |
|
return new P.NoSuchMethodError(receiver, memberName, positionalArguments, namedArguments); |
|
}, |
|
Uri_base: function() { |
|
var uri = H.Primitives_currentUri(); |
|
if (uri != null) |
|
return P.Uri_parse(uri); |
|
throw H.wrapException(P.UnsupportedError$("'Uri.base' is not supported")); |
|
}, |
|
_Uri__uriEncode: function(canonicalTable, text, encoding, spaceToPlus) { |
|
var t1, bytes, i, t2, byte, |
|
_s16_ = "0123456789ABCDEF"; |
|
if (encoding === C.C_Utf8Codec) { |
|
t1 = $.$get$_Uri__needsNoEncoding()._nativeRegExp; |
|
if (typeof text !== "string") |
|
H.throwExpression(H.argumentErrorValue(text)); |
|
t1 = t1.test(text); |
|
} else |
|
t1 = false; |
|
if (t1) |
|
return text; |
|
bytes = encoding.get$encoder().convert$1(text); |
|
for (t1 = bytes.length, i = 0, t2 = ""; i < t1; ++i) { |
|
byte = bytes[i]; |
|
if (byte < 128 && (canonicalTable[byte >>> 4] & 1 << (byte & 15)) !== 0) |
|
t2 += H.Primitives_stringFromCharCode(byte); |
|
else |
|
t2 = spaceToPlus && byte === 32 ? t2 + "+" : t2 + "%" + _s16_[byte >>> 4 & 15] + _s16_[byte & 15]; |
|
} |
|
return t2.charCodeAt(0) == 0 ? t2 : t2; |
|
}, |
|
StackTrace_current: function() { |
|
var stackTrace, exception; |
|
if ($.$get$_hasErrorStackProperty()) |
|
return H.getTraceFromException(new Error()); |
|
try { |
|
throw H.wrapException(""); |
|
} catch (exception) { |
|
H.unwrapException(exception); |
|
stackTrace = H.getTraceFromException(exception); |
|
return stackTrace; |
|
} |
|
}, |
|
DateTime$_withValue: function(_value, isUtc) { |
|
var t1; |
|
if (Math.abs(_value) <= 864e13) |
|
t1 = false; |
|
else |
|
t1 = true; |
|
if (t1) |
|
H.throwExpression(P.ArgumentError$("DateTime is outside valid range: " + _value)); |
|
return new P.DateTime(_value, false); |
|
}, |
|
DateTime__fourDigits: function(n) { |
|
var absN = Math.abs(n), |
|
sign = n < 0 ? "-" : ""; |
|
if (absN >= 1000) |
|
return "" + n; |
|
if (absN >= 100) |
|
return sign + "0" + absN; |
|
if (absN >= 10) |
|
return sign + "00" + absN; |
|
return sign + "000" + absN; |
|
}, |
|
DateTime__threeDigits: function(n) { |
|
if (n >= 100) |
|
return "" + n; |
|
if (n >= 10) |
|
return "0" + n; |
|
return "00" + n; |
|
}, |
|
DateTime__twoDigits: function(n) { |
|
if (n >= 10) |
|
return "" + n; |
|
return "0" + n; |
|
}, |
|
Duration$: function(milliseconds) { |
|
return new P.Duration(1000 * milliseconds); |
|
}, |
|
Error_safeToString: function(object) { |
|
if (typeof object === "number" || typeof object === "boolean" || null == object) |
|
return J.toString$0$(object); |
|
if (typeof object === "string") |
|
return JSON.stringify(object); |
|
return P.Error__objectToString(object); |
|
}, |
|
ArgumentError$: function(message) { |
|
return new P.ArgumentError(false, null, null, message); |
|
}, |
|
ArgumentError$value: function(value, $name, message) { |
|
return new P.ArgumentError(true, value, $name, message); |
|
}, |
|
ArgumentError$notNull: function($name) { |
|
return new P.ArgumentError(false, null, $name, "Must not be null"); |
|
}, |
|
RangeError$: function(message) { |
|
var _null = null; |
|
return new P.RangeError(_null, _null, false, _null, _null, message); |
|
}, |
|
RangeError$value: function(value, $name, message) { |
|
return new P.RangeError(null, null, true, value, $name, message != null ? message : "Value not in range"); |
|
}, |
|
RangeError$range: function(invalidValue, minValue, maxValue, $name, message) { |
|
return new P.RangeError(minValue, maxValue, true, invalidValue, $name, "Invalid value"); |
|
}, |
|
RangeError_checkValueInInterval: function(value, minValue, maxValue, $name) { |
|
if (value < minValue || value > maxValue) |
|
throw H.wrapException(P.RangeError$range(value, minValue, maxValue, $name, null)); |
|
}, |
|
RangeError_checkValidIndex: function(index, indexable, $name) { |
|
var $length = indexable.get$length(indexable); |
|
if (0 > index || index >= $length) |
|
throw H.wrapException(P.IndexError$(index, indexable, $name == null ? "index" : $name, null, $length)); |
|
}, |
|
RangeError_checkValidRange: function(start, end, $length) { |
|
if (0 > start || start > $length) |
|
throw H.wrapException(P.RangeError$range(start, 0, $length, "start", null)); |
|
if (end != null) { |
|
if (start > end || end > $length) |
|
throw H.wrapException(P.RangeError$range(end, start, $length, "end", null)); |
|
return end; |
|
} |
|
return $length; |
|
}, |
|
RangeError_checkNotNegative: function(value, $name) { |
|
if (value < 0) |
|
throw H.wrapException(P.RangeError$range(value, 0, null, $name, null)); |
|
}, |
|
IndexError$: function(invalidValue, indexable, $name, message, $length) { |
|
var t1 = $length == null ? J.get$length$asx(indexable) : $length; |
|
return new P.IndexError(t1, true, invalidValue, $name, "Index out of range"); |
|
}, |
|
UnsupportedError$: function(message) { |
|
return new P.UnsupportedError(message); |
|
}, |
|
UnimplementedError$: function(message) { |
|
return new P.UnimplementedError(message); |
|
}, |
|
StateError$: function(message) { |
|
return new P.StateError(message); |
|
}, |
|
ConcurrentModificationError$: function(modifiedObject) { |
|
return new P.ConcurrentModificationError(modifiedObject); |
|
}, |
|
FormatException$: function(message, source, offset) { |
|
return new P.FormatException(message, source, offset); |
|
}, |
|
Iterable_Iterable$generate: function(count, generator, $E) { |
|
if (count <= 0) |
|
return new H.EmptyIterable([$E]); |
|
return new P._GeneratorIterable(count, generator, [$E]); |
|
}, |
|
List_List$generate: function($length, generator, growable, $E) { |
|
var result, t1, i; |
|
if (growable) { |
|
result = H.setRuntimeTypeInfo([], [$E]); |
|
C.JSArray_methods.set$length(result, $length); |
|
} else { |
|
t1 = new Array($length); |
|
t1.fixed$length = Array; |
|
result = H.setRuntimeTypeInfo(t1, [$E]); |
|
} |
|
for (i = 0; i < $length; ++i) |
|
result[i] = generator.call$1(i); |
|
return result; |
|
}, |
|
print: function(object) { |
|
var line = H.S(object), |
|
t1 = $.printToZone; |
|
if (t1 == null) |
|
H.printString(line); |
|
else |
|
t1.call$1(line); |
|
}, |
|
Set_castFrom: function(source, newSet, $S, $T) { |
|
return new H.CastSet(source, newSet, [$S, $T]); |
|
}, |
|
_combineSurrogatePair: function(start, end) { |
|
return 65536 + ((start & 1023) << 10) + (end & 1023); |
|
}, |
|
Uri_Uri$dataFromString: function($content, encoding, mimeType) { |
|
var encodingName, t1, |
|
buffer = new P.StringBuffer(""), |
|
indices = H.setRuntimeTypeInfo([-1], [P.int]); |
|
if (encoding == null) |
|
encodingName = null; |
|
else |
|
encodingName = "utf-8"; |
|
if (encoding == null) |
|
encoding = C.C_AsciiCodec; |
|
P.UriData__writeUri(mimeType, encodingName, null, buffer, indices); |
|
indices.push(buffer._contents.length); |
|
buffer._contents += ","; |
|
P.UriData__uriEncodeBytes(C.List_CVk, encoding.encode$1($content), buffer); |
|
t1 = buffer._contents; |
|
return new P.UriData(t1.charCodeAt(0) == 0 ? t1 : t1, indices, null).get$uri(); |
|
}, |
|
Uri_parse: function(uri) { |
|
var delta, t1, indices, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, isSimple, scheme, t2, schemeAuth, queryStart0, pathStart0, _null = null, |
|
end = uri.length; |
|
if (end >= 5) { |
|
delta = ((J._codeUnitAt$1$s(uri, 4) ^ 58) * 3 | C.JSString_methods._codeUnitAt$1(uri, 0) ^ 100 | C.JSString_methods._codeUnitAt$1(uri, 1) ^ 97 | C.JSString_methods._codeUnitAt$1(uri, 2) ^ 116 | C.JSString_methods._codeUnitAt$1(uri, 3) ^ 97) >>> 0; |
|
if (delta === 0) |
|
return P.UriData__parse(end < end ? C.JSString_methods.substring$2(uri, 0, end) : uri, 5, _null).get$uri(); |
|
else if (delta === 32) |
|
return P.UriData__parse(C.JSString_methods.substring$2(uri, 5, end), 0, _null).get$uri(); |
|
} |
|
t1 = new Array(8); |
|
t1.fixed$length = Array; |
|
indices = H.setRuntimeTypeInfo(t1, [P.int]); |
|
indices[0] = 0; |
|
indices[1] = -1; |
|
indices[2] = -1; |
|
indices[7] = -1; |
|
indices[3] = 0; |
|
indices[4] = 0; |
|
indices[5] = end; |
|
indices[6] = end; |
|
if (P._scan(uri, 0, end, 0, indices) >= 14) |
|
indices[7] = end; |
|
schemeEnd = indices[1]; |
|
if (schemeEnd >= 0) |
|
if (P._scan(uri, 0, schemeEnd, 20, indices) === 20) |
|
indices[7] = schemeEnd; |
|
hostStart = indices[2] + 1; |
|
portStart = indices[3]; |
|
pathStart = indices[4]; |
|
queryStart = indices[5]; |
|
fragmentStart = indices[6]; |
|
if (fragmentStart < queryStart) |
|
queryStart = fragmentStart; |
|
if (pathStart < hostStart) |
|
pathStart = queryStart; |
|
else if (pathStart <= schemeEnd) |
|
pathStart = schemeEnd + 1; |
|
if (portStart < hostStart) |
|
portStart = pathStart; |
|
isSimple = indices[7] < 0; |
|
if (isSimple) |
|
if (hostStart > schemeEnd + 3) { |
|
scheme = _null; |
|
isSimple = false; |
|
} else { |
|
t1 = portStart > 0; |
|
if (t1 && portStart + 1 === pathStart) { |
|
scheme = _null; |
|
isSimple = false; |
|
} else { |
|
if (!(queryStart < end && queryStart === pathStart + 2 && J.startsWith$2$s(uri, "..", pathStart))) |
|
t2 = queryStart > pathStart + 2 && J.startsWith$2$s(uri, "/..", queryStart - 3); |
|
else |
|
t2 = true; |
|
if (t2) { |
|
scheme = _null; |
|
isSimple = false; |
|
} else { |
|
if (schemeEnd === 4) |
|
if (J.startsWith$2$s(uri, "file", 0)) { |
|
if (hostStart <= 0) { |
|
if (!C.JSString_methods.startsWith$2(uri, "/", pathStart)) { |
|
schemeAuth = "file:///"; |
|
delta = 3; |
|
} else { |
|
schemeAuth = "file://"; |
|
delta = 2; |
|
} |
|
uri = schemeAuth + C.JSString_methods.substring$2(uri, pathStart, end); |
|
schemeEnd -= 0; |
|
t1 = delta - 0; |
|
queryStart += t1; |
|
fragmentStart += t1; |
|
end = uri.length; |
|
hostStart = 7; |
|
portStart = 7; |
|
pathStart = 7; |
|
} else if (pathStart === queryStart) { |
|
queryStart0 = queryStart + 1; |
|
++fragmentStart; |
|
uri = C.JSString_methods.replaceRange$3(uri, pathStart, queryStart, "/"); |
|
++end; |
|
queryStart = queryStart0; |
|
} |
|
scheme = "file"; |
|
} else if (C.JSString_methods.startsWith$2(uri, "http", 0)) { |
|
if (t1 && portStart + 3 === pathStart && C.JSString_methods.startsWith$2(uri, "80", portStart + 1)) { |
|
pathStart0 = pathStart - 3; |
|
queryStart -= 3; |
|
fragmentStart -= 3; |
|
uri = C.JSString_methods.replaceRange$3(uri, portStart, pathStart, ""); |
|
end -= 3; |
|
pathStart = pathStart0; |
|
} |
|
scheme = "http"; |
|
} else |
|
scheme = _null; |
|
else if (schemeEnd === 5 && J.startsWith$2$s(uri, "https", 0)) { |
|
if (t1 && portStart + 4 === pathStart && J.startsWith$2$s(uri, "443", portStart + 1)) { |
|
pathStart0 = pathStart - 4; |
|
queryStart -= 4; |
|
fragmentStart -= 4; |
|
uri = J.replaceRange$3$asx(uri, portStart, pathStart, ""); |
|
end -= 3; |
|
pathStart = pathStart0; |
|
} |
|
scheme = "https"; |
|
} else |
|
scheme = _null; |
|
isSimple = true; |
|
} |
|
} |
|
} |
|
else |
|
scheme = _null; |
|
if (isSimple) { |
|
t1 = uri.length; |
|
if (end < t1) { |
|
uri = J.substring$2$s(uri, 0, end); |
|
schemeEnd -= 0; |
|
hostStart -= 0; |
|
portStart -= 0; |
|
pathStart -= 0; |
|
queryStart -= 0; |
|
fragmentStart -= 0; |
|
} |
|
return new P._SimpleUri(uri, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme); |
|
} |
|
return P._Uri__Uri$notSimple(uri, 0, end, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme); |
|
}, |
|
Uri_decodeComponent: function(encodedComponent) { |
|
return P._Uri__uriDecode(encodedComponent, 0, encodedComponent.length, C.C_Utf8Codec, false); |
|
}, |
|
Uri__parseIPv4Address: function(host, start, end) { |
|
var i, partStart, partIndex, char, part, partIndex0, _null = null, |
|
_s43_ = "IPv4 address should contain exactly 4 parts", |
|
_s37_ = "each part must be in the range 0..255", |
|
error = new P.Uri__parseIPv4Address_error(host), |
|
result = new Uint8Array(4); |
|
for (i = start, partStart = i, partIndex = 0; i < end; ++i) { |
|
char = C.JSString_methods.codeUnitAt$1(host, i); |
|
if (char !== 46) { |
|
if ((char ^ 48) > 9) |
|
error.call$2("invalid character", i); |
|
} else { |
|
if (partIndex === 3) |
|
error.call$2(_s43_, i); |
|
part = P.int_parse(C.JSString_methods.substring$2(host, partStart, i), _null, _null); |
|
if (part > 255) |
|
error.call$2(_s37_, partStart); |
|
partIndex0 = partIndex + 1; |
|
result[partIndex] = part; |
|
partStart = i + 1; |
|
partIndex = partIndex0; |
|
} |
|
} |
|
if (partIndex !== 3) |
|
error.call$2(_s43_, end); |
|
part = P.int_parse(C.JSString_methods.substring$2(host, partStart, end), _null, _null); |
|
if (part > 255) |
|
error.call$2(_s37_, partStart); |
|
result[partIndex] = part; |
|
return result; |
|
}, |
|
Uri_parseIPv6Address: function(host, start, end) { |
|
var parts, i, partStart, wildcardSeen, seenDot, char, atEnd, t1, last, bytes, wildCardLength, index, value, j, |
|
error = new P.Uri_parseIPv6Address_error(host), |
|
parseHex = new P.Uri_parseIPv6Address_parseHex(error, host); |
|
if (host.length < 2) |
|
error.call$1("address is too short"); |
|
parts = H.setRuntimeTypeInfo([], [P.int]); |
|
for (i = start, partStart = i, wildcardSeen = false, seenDot = false; i < end; ++i) { |
|
char = C.JSString_methods.codeUnitAt$1(host, i); |
|
if (char === 58) { |
|
if (i === start) { |
|
++i; |
|
if (C.JSString_methods.codeUnitAt$1(host, i) !== 58) |
|
error.call$2("invalid start colon.", i); |
|
partStart = i; |
|
} |
|
if (i === partStart) { |
|
if (wildcardSeen) |
|
error.call$2("only one wildcard `::` is allowed", i); |
|
parts.push(-1); |
|
wildcardSeen = true; |
|
} else |
|
parts.push(parseHex.call$2(partStart, i)); |
|
partStart = i + 1; |
|
} else if (char === 46) |
|
seenDot = true; |
|
} |
|
if (parts.length === 0) |
|
error.call$1("too few parts"); |
|
atEnd = partStart === end; |
|
t1 = C.JSArray_methods.get$last(parts); |
|
if (atEnd && t1 !== -1) |
|
error.call$2("expected a part after last `:`", end); |
|
if (!atEnd) |
|
if (!seenDot) |
|
parts.push(parseHex.call$2(partStart, end)); |
|
else { |
|
last = P.Uri__parseIPv4Address(host, partStart, end); |
|
parts.push((last[0] << 8 | last[1]) >>> 0); |
|
parts.push((last[2] << 8 | last[3]) >>> 0); |
|
} |
|
if (wildcardSeen) { |
|
if (parts.length > 7) |
|
error.call$1("an address with a wildcard must have less than 7 parts"); |
|
} else if (parts.length !== 8) |
|
error.call$1("an address without a wildcard must contain exactly 8 parts"); |
|
bytes = new Uint8Array(16); |
|
for (t1 = parts.length, wildCardLength = 9 - t1, i = 0, index = 0; i < t1; ++i) { |
|
value = parts[i]; |
|
if (value === -1) |
|
for (j = 0; j < wildCardLength; ++j) { |
|
bytes[index] = 0; |
|
bytes[index + 1] = 0; |
|
index += 2; |
|
} |
|
else { |
|
bytes[index] = C.JSInt_methods._shrOtherPositive$1(value, 8); |
|
bytes[index + 1] = value & 255; |
|
index += 2; |
|
} |
|
} |
|
return bytes; |
|
}, |
|
_Uri__Uri$notSimple: function(uri, start, end, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme) { |
|
var userInfoStart, userInfo, host, t1, port, path, query, _null = null; |
|
if (scheme == null) |
|
if (schemeEnd > start) |
|
scheme = P._Uri__makeScheme(uri, start, schemeEnd); |
|
else { |
|
if (schemeEnd === start) |
|
P._Uri__fail(uri, start, "Invalid empty scheme"); |
|
scheme = ""; |
|
} |
|
if (hostStart > start) { |
|
userInfoStart = schemeEnd + 3; |
|
userInfo = userInfoStart < hostStart ? P._Uri__makeUserInfo(uri, userInfoStart, hostStart - 1) : ""; |
|
host = P._Uri__makeHost(uri, hostStart, portStart, false); |
|
t1 = portStart + 1; |
|
port = t1 < pathStart ? P._Uri__makePort(P.int_parse(J.substring$2$s(uri, t1, pathStart), new P._Uri__Uri$notSimple_closure(uri, portStart), _null), scheme) : _null; |
|
} else { |
|
port = _null; |
|
host = port; |
|
userInfo = ""; |
|
} |
|
path = P._Uri__makePath(uri, pathStart, queryStart, _null, scheme, host != null); |
|
query = queryStart < fragmentStart ? P._Uri__makeQuery(uri, queryStart + 1, fragmentStart, _null) : _null; |
|
return new P._Uri(scheme, userInfo, host, port, path, query, fragmentStart < end ? P._Uri__makeFragment(uri, fragmentStart + 1, end) : _null); |
|
}, |
|
_Uri__Uri: function(host, path, pathSegments, scheme) { |
|
var userInfo, query, fragment, port, isFile, t1, hasAuthority, t2, _null = null; |
|
scheme = P._Uri__makeScheme(scheme, 0, scheme == null ? 0 : scheme.length); |
|
userInfo = P._Uri__makeUserInfo(_null, 0, 0); |
|
host = P._Uri__makeHost(host, 0, host == null ? 0 : host.length, false); |
|
query = P._Uri__makeQuery(_null, 0, 0, _null); |
|
fragment = P._Uri__makeFragment(_null, 0, 0); |
|
port = P._Uri__makePort(_null, scheme); |
|
isFile = scheme === "file"; |
|
if (host == null) |
|
t1 = userInfo.length !== 0 || port != null || isFile; |
|
else |
|
t1 = false; |
|
if (t1) |
|
host = ""; |
|
t1 = host == null; |
|
hasAuthority = !t1; |
|
path = P._Uri__makePath(path, 0, path == null ? 0 : path.length, pathSegments, scheme, hasAuthority); |
|
t2 = scheme.length === 0; |
|
if (t2 && t1 && !C.JSString_methods.startsWith$1(path, "/")) |
|
path = P._Uri__normalizeRelativePath(path, !t2 || hasAuthority); |
|
else |
|
path = P._Uri__removeDotSegments(path); |
|
return new P._Uri(scheme, userInfo, t1 && C.JSString_methods.startsWith$1(path, "//") ? "" : host, port, path, query, fragment); |
|
}, |
|
_Uri__defaultPort: function(scheme) { |
|
if (scheme === "http") |
|
return 80; |
|
if (scheme === "https") |
|
return 443; |
|
return 0; |
|
}, |
|
_Uri__fail: function(uri, index, message) { |
|
throw H.wrapException(P.FormatException$(message, uri, index)); |
|
}, |
|
_Uri__Uri$file: function(path, windows) { |
|
return windows ? P._Uri__makeWindowsFileUrl(path, false) : P._Uri__makeFileUri(path, false); |
|
}, |
|
_Uri__checkNonWindowsPathReservedCharacters: function(segments, argumentError) { |
|
C.JSArray_methods.forEach$1(segments, new P._Uri__checkNonWindowsPathReservedCharacters_closure(false)); |
|
}, |
|
_Uri__checkWindowsPathReservedCharacters: function(segments, argumentError, firstSegment) { |
|
var t1, t2, t3; |
|
for (t1 = H.SubListIterable$(segments, firstSegment, null, H.getTypeArgumentByIndex(segments, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();) { |
|
t2 = t1.__internal$_current; |
|
t3 = P.RegExp_RegExp('["*/:<>?\\\\|]', false); |
|
t2.length; |
|
if (H.stringContainsUnchecked(t2, t3, 0)) |
|
if (argumentError) |
|
throw H.wrapException(P.ArgumentError$("Illegal character in path")); |
|
else |
|
throw H.wrapException(P.UnsupportedError$("Illegal character in path: " + H.S(t2))); |
|
} |
|
}, |
|
_Uri__checkWindowsDriveLetter: function(charCode, argumentError) { |
|
var t1, |
|
_s21_ = "Illegal drive letter "; |
|
if (!(65 <= charCode && charCode <= 90)) |
|
t1 = 97 <= charCode && charCode <= 122; |
|
else |
|
t1 = true; |
|
if (t1) |
|
return; |
|
if (argumentError) |
|
throw H.wrapException(P.ArgumentError$(_s21_ + P.String_String$fromCharCode(charCode))); |
|
else |
|
throw H.wrapException(P.UnsupportedError$(_s21_ + P.String_String$fromCharCode(charCode))); |
|
}, |
|
_Uri__makeFileUri: function(path, slashTerminated) { |
|
var _null = null, |
|
segments = H.setRuntimeTypeInfo(path.split("/"), [P.String]); |
|
if (C.JSString_methods.startsWith$1(path, "/")) |
|
return P._Uri__Uri(_null, _null, segments, "file"); |
|
else |
|
return P._Uri__Uri(_null, _null, segments, _null); |
|
}, |
|
_Uri__makeWindowsFileUrl: function(path, slashTerminated) { |
|
var t1, pathSegments, pathStart, hostPart, _s1_ = "\\", _null = null, _s4_ = "file"; |
|
if (C.JSString_methods.startsWith$1(path, "\\\\?\\")) |
|
if (C.JSString_methods.startsWith$2(path, "UNC\\", 4)) |
|
path = C.JSString_methods.replaceRange$3(path, 0, 7, _s1_); |
|
else { |
|
path = C.JSString_methods.substring$1(path, 4); |
|
if (path.length < 3 || C.JSString_methods._codeUnitAt$1(path, 1) !== 58 || C.JSString_methods._codeUnitAt$1(path, 2) !== 92) |
|
throw H.wrapException(P.ArgumentError$("Windows paths with \\\\?\\ prefix must be absolute")); |
|
} |
|
else |
|
path = H.stringReplaceAllUnchecked(path, "/", _s1_); |
|
t1 = path.length; |
|
if (t1 > 1 && C.JSString_methods._codeUnitAt$1(path, 1) === 58) { |
|
P._Uri__checkWindowsDriveLetter(C.JSString_methods._codeUnitAt$1(path, 0), true); |
|
if (t1 === 2 || C.JSString_methods._codeUnitAt$1(path, 2) !== 92) |
|
throw H.wrapException(P.ArgumentError$("Windows paths with drive letter must be absolute")); |
|
pathSegments = H.setRuntimeTypeInfo(path.split(_s1_), [P.String]); |
|
P._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 1); |
|
return P._Uri__Uri(_null, _null, pathSegments, _s4_); |
|
} |
|
if (C.JSString_methods.startsWith$1(path, _s1_)) |
|
if (C.JSString_methods.startsWith$2(path, _s1_, 1)) { |
|
pathStart = C.JSString_methods.indexOf$2(path, _s1_, 2); |
|
t1 = pathStart < 0; |
|
hostPart = t1 ? C.JSString_methods.substring$1(path, 2) : C.JSString_methods.substring$2(path, 2, pathStart); |
|
pathSegments = H.setRuntimeTypeInfo((t1 ? "" : C.JSString_methods.substring$1(path, pathStart + 1)).split(_s1_), [P.String]); |
|
P._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0); |
|
return P._Uri__Uri(hostPart, _null, pathSegments, _s4_); |
|
} else { |
|
pathSegments = H.setRuntimeTypeInfo(path.split(_s1_), [P.String]); |
|
P._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0); |
|
return P._Uri__Uri(_null, _null, pathSegments, _s4_); |
|
} |
|
else { |
|
pathSegments = H.setRuntimeTypeInfo(path.split(_s1_), [P.String]); |
|
P._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0); |
|
return P._Uri__Uri(_null, _null, pathSegments, _null); |
|
} |
|
}, |
|
_Uri__makePort: function(port, scheme) { |
|
if (port != null && port === P._Uri__defaultPort(scheme)) |
|
return; |
|
return port; |
|
}, |
|
_Uri__makeHost: function(host, start, end, strictIPv6) { |
|
var t1, t2, index, zoneIDstart, zoneID, i; |
|
if (host == null) |
|
return; |
|
if (start === end) |
|
return ""; |
|
if (C.JSString_methods.codeUnitAt$1(host, start) === 91) { |
|
t1 = end - 1; |
|
if (C.JSString_methods.codeUnitAt$1(host, t1) !== 93) |
|
P._Uri__fail(host, start, "Missing end `]` to match `[` in host"); |
|
t2 = start + 1; |
|
index = P._Uri__checkZoneID(host, t2, t1); |
|
if (index < t1) { |
|
zoneIDstart = index + 1; |
|
zoneID = P._Uri__normalizeZoneID(host, C.JSString_methods.startsWith$2(host, "25", zoneIDstart) ? index + 3 : zoneIDstart, t1, "%25"); |
|
} else |
|
zoneID = ""; |
|
P.Uri_parseIPv6Address(host, t2, index); |
|
return C.JSString_methods.substring$2(host, start, index).toLowerCase() + zoneID + "]"; |
|
} |
|
for (i = start; i < end; ++i) |
|
if (C.JSString_methods.codeUnitAt$1(host, i) === 58) { |
|
index = C.JSString_methods.indexOf$2(host, "%", start); |
|
index = index >= start && index < end ? index : end; |
|
if (index < end) { |
|
zoneIDstart = index + 1; |
|
zoneID = P._Uri__normalizeZoneID(host, C.JSString_methods.startsWith$2(host, "25", zoneIDstart) ? index + 3 : zoneIDstart, end, "%25"); |
|
} else |
|
zoneID = ""; |
|
P.Uri_parseIPv6Address(host, start, index); |
|
return "[" + C.JSString_methods.substring$2(host, start, index) + zoneID + "]"; |
|
} |
|
return P._Uri__normalizeRegName(host, start, end); |
|
}, |
|
_Uri__checkZoneID: function(host, start, end) { |
|
var index = C.JSString_methods.indexOf$2(host, "%", start); |
|
return index >= start && index < end ? index : end; |
|
}, |
|
_Uri__normalizeZoneID: function(host, start, end, prefix) { |
|
var index, sectionStart, isNormalized, char, replacement, t1, t2, tail, sourceLength, |
|
buffer = prefix !== "" ? new P.StringBuffer(prefix) : null; |
|
for (index = start, sectionStart = index, isNormalized = true; index < end;) { |
|
char = C.JSString_methods.codeUnitAt$1(host, index); |
|
if (char === 37) { |
|
replacement = P._Uri__normalizeEscape(host, index, true); |
|
t1 = replacement == null; |
|
if (t1 && isNormalized) { |
|
index += 3; |
|
continue; |
|
} |
|
if (buffer == null) |
|
buffer = new P.StringBuffer(""); |
|
t2 = buffer._contents += C.JSString_methods.substring$2(host, sectionStart, index); |
|
if (t1) |
|
replacement = C.JSString_methods.substring$2(host, index, index + 3); |
|
else if (replacement === "%") |
|
P._Uri__fail(host, index, "ZoneID should not contain % anymore"); |
|
buffer._contents = t2 + replacement; |
|
index += 3; |
|
sectionStart = index; |
|
isNormalized = true; |
|
} else if (char < 127 && (C.List_nxB[char >>> 4] & 1 << (char & 15)) !== 0) { |
|
if (isNormalized && 65 <= char && 90 >= char) { |
|
if (buffer == null) |
|
buffer = new P.StringBuffer(""); |
|
if (sectionStart < index) { |
|
buffer._contents += C.JSString_methods.substring$2(host, sectionStart, index); |
|
sectionStart = index; |
|
} |
|
isNormalized = false; |
|
} |
|
++index; |
|
} else { |
|
if ((char & 64512) === 55296 && index + 1 < end) { |
|
tail = C.JSString_methods.codeUnitAt$1(host, index + 1); |
|
if ((tail & 64512) === 56320) { |
|
char = 65536 | (char & 1023) << 10 | tail & 1023; |
|
sourceLength = 2; |
|
} else |
|
sourceLength = 1; |
|
} else |
|
sourceLength = 1; |
|
if (buffer == null) |
|
buffer = new P.StringBuffer(""); |
|
buffer._contents += C.JSString_methods.substring$2(host, sectionStart, index); |
|
buffer._contents += P._Uri__escapeChar(char); |
|
index += sourceLength; |
|
sectionStart = index; |
|
} |
|
} |
|
if (buffer == null) |
|
return C.JSString_methods.substring$2(host, start, end); |
|
if (sectionStart < end) |
|
buffer._contents += C.JSString_methods.substring$2(host, sectionStart, end); |
|
t1 = buffer._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
_Uri__normalizeRegName: function(host, start, end) { |
|
var index, sectionStart, buffer, isNormalized, char, replacement, t1, slice, t2, sourceLength, tail; |
|
for (index = start, sectionStart = index, buffer = null, isNormalized = true; index < end;) { |
|
char = C.JSString_methods.codeUnitAt$1(host, index); |
|
if (char === 37) { |
|
replacement = P._Uri__normalizeEscape(host, index, true); |
|
t1 = replacement == null; |
|
if (t1 && isNormalized) { |
|
index += 3; |
|
continue; |
|
} |
|
if (buffer == null) |
|
buffer = new P.StringBuffer(""); |
|
slice = C.JSString_methods.substring$2(host, sectionStart, index); |
|
t2 = buffer._contents += !isNormalized ? slice.toLowerCase() : slice; |
|
if (t1) { |
|
replacement = C.JSString_methods.substring$2(host, index, index + 3); |
|
sourceLength = 3; |
|
} else if (replacement === "%") { |
|
replacement = "%25"; |
|
sourceLength = 1; |
|
} else |
|
sourceLength = 3; |
|
buffer._contents = t2 + replacement; |
|
index += sourceLength; |
|
sectionStart = index; |
|
isNormalized = true; |
|
} else if (char < 127 && (C.List_qNA[char >>> 4] & 1 << (char & 15)) !== 0) { |
|
if (isNormalized && 65 <= char && 90 >= char) { |
|
if (buffer == null) |
|
buffer = new P.StringBuffer(""); |
|
if (sectionStart < index) { |
|
buffer._contents += C.JSString_methods.substring$2(host, sectionStart, index); |
|
sectionStart = index; |
|
} |
|
isNormalized = false; |
|
} |
|
++index; |
|
} else if (char <= 93 && (C.List_2Vk[char >>> 4] & 1 << (char & 15)) !== 0) |
|
P._Uri__fail(host, index, "Invalid character"); |
|
else { |
|
if ((char & 64512) === 55296 && index + 1 < end) { |
|
tail = C.JSString_methods.codeUnitAt$1(host, index + 1); |
|
if ((tail & 64512) === 56320) { |
|
char = 65536 | (char & 1023) << 10 | tail & 1023; |
|
sourceLength = 2; |
|
} else |
|
sourceLength = 1; |
|
} else |
|
sourceLength = 1; |
|
if (buffer == null) |
|
buffer = new P.StringBuffer(""); |
|
slice = C.JSString_methods.substring$2(host, sectionStart, index); |
|
buffer._contents += !isNormalized ? slice.toLowerCase() : slice; |
|
buffer._contents += P._Uri__escapeChar(char); |
|
index += sourceLength; |
|
sectionStart = index; |
|
} |
|
} |
|
if (buffer == null) |
|
return C.JSString_methods.substring$2(host, start, end); |
|
if (sectionStart < end) { |
|
slice = C.JSString_methods.substring$2(host, sectionStart, end); |
|
buffer._contents += !isNormalized ? slice.toLowerCase() : slice; |
|
} |
|
t1 = buffer._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
_Uri__makeScheme: function(scheme, start, end) { |
|
var i, containsUpperCase, codeUnit; |
|
if (start === end) |
|
return ""; |
|
if (!P._Uri__isAlphabeticCharacter(J.getInterceptor$s(scheme)._codeUnitAt$1(scheme, start))) |
|
P._Uri__fail(scheme, start, "Scheme not starting with alphabetic character"); |
|
for (i = start, containsUpperCase = false; i < end; ++i) { |
|
codeUnit = C.JSString_methods._codeUnitAt$1(scheme, i); |
|
if (!(codeUnit < 128 && (C.List_JYB[codeUnit >>> 4] & 1 << (codeUnit & 15)) !== 0)) |
|
P._Uri__fail(scheme, i, "Illegal scheme character"); |
|
if (65 <= codeUnit && codeUnit <= 90) |
|
containsUpperCase = true; |
|
} |
|
scheme = C.JSString_methods.substring$2(scheme, start, end); |
|
return P._Uri__canonicalizeScheme(containsUpperCase ? scheme.toLowerCase() : scheme); |
|
}, |
|
_Uri__canonicalizeScheme: function(scheme) { |
|
if (scheme === "http") |
|
return "http"; |
|
if (scheme === "file") |
|
return "file"; |
|
if (scheme === "https") |
|
return "https"; |
|
if (scheme === "package") |
|
return "package"; |
|
return scheme; |
|
}, |
|
_Uri__makeUserInfo: function(userInfo, start, end) { |
|
if (userInfo == null) |
|
return ""; |
|
return P._Uri__normalizeOrSubstring(userInfo, start, end, C.List_gRj, false); |
|
}, |
|
_Uri__makePath: function(path, start, end, pathSegments, scheme, hasAuthority) { |
|
var result, |
|
isFile = scheme === "file", |
|
ensureLeadingSlash = isFile || hasAuthority, |
|
t1 = path == null; |
|
if (t1 && pathSegments == null) |
|
return isFile ? "/" : ""; |
|
t1 = !t1; |
|
if (t1 && pathSegments != null) |
|
throw H.wrapException(P.ArgumentError$("Both path and pathSegments specified")); |
|
if (t1) |
|
result = P._Uri__normalizeOrSubstring(path, start, end, C.List_qg4, true); |
|
else { |
|
pathSegments.toString; |
|
result = new H.MappedListIterable(pathSegments, new P._Uri__makePath_closure(), [H.getTypeArgumentByIndex(pathSegments, 0), P.String]).join$1(0, "/"); |
|
} |
|
if (result.length === 0) { |
|
if (isFile) |
|
return "/"; |
|
} else if (ensureLeadingSlash && !C.JSString_methods.startsWith$1(result, "/")) |
|
result = "/" + result; |
|
return P._Uri__normalizePath(result, scheme, hasAuthority); |
|
}, |
|
_Uri__normalizePath: function(path, scheme, hasAuthority) { |
|
var t1 = scheme.length === 0; |
|
if (t1 && !hasAuthority && !C.JSString_methods.startsWith$1(path, "/")) |
|
return P._Uri__normalizeRelativePath(path, !t1 || hasAuthority); |
|
return P._Uri__removeDotSegments(path); |
|
}, |
|
_Uri__makeQuery: function(query, start, end, queryParameters) { |
|
if (query != null) |
|
return P._Uri__normalizeOrSubstring(query, start, end, C.List_CVk, true); |
|
return; |
|
}, |
|
_Uri__makeFragment: function(fragment, start, end) { |
|
if (fragment == null) |
|
return; |
|
return P._Uri__normalizeOrSubstring(fragment, start, end, C.List_CVk, true); |
|
}, |
|
_Uri__normalizeEscape: function(source, index, lowerCase) { |
|
var firstDigit, secondDigit, firstDigitValue, secondDigitValue, value, |
|
t1 = index + 2; |
|
if (t1 >= source.length) |
|
return "%"; |
|
firstDigit = C.JSString_methods.codeUnitAt$1(source, index + 1); |
|
secondDigit = C.JSString_methods.codeUnitAt$1(source, t1); |
|
firstDigitValue = H.hexDigitValue(firstDigit); |
|
secondDigitValue = H.hexDigitValue(secondDigit); |
|
if (firstDigitValue < 0 || secondDigitValue < 0) |
|
return "%"; |
|
value = firstDigitValue * 16 + secondDigitValue; |
|
if (value < 127 && (C.List_nxB[C.JSInt_methods._shrOtherPositive$1(value, 4)] & 1 << (value & 15)) !== 0) |
|
return H.Primitives_stringFromCharCode(lowerCase && 65 <= value && 90 >= value ? (value | 32) >>> 0 : value); |
|
if (firstDigit >= 97 || secondDigit >= 97) |
|
return C.JSString_methods.substring$2(source, index, index + 3).toUpperCase(); |
|
return; |
|
}, |
|
_Uri__escapeChar: function(char) { |
|
var t1, codeUnits, flag, encodedBytes, index, byte, |
|
_s16_ = "0123456789ABCDEF"; |
|
if (char < 128) { |
|
t1 = new Array(3); |
|
t1.fixed$length = Array; |
|
codeUnits = H.setRuntimeTypeInfo(t1, [P.int]); |
|
codeUnits[0] = 37; |
|
codeUnits[1] = C.JSString_methods._codeUnitAt$1(_s16_, char >>> 4); |
|
codeUnits[2] = C.JSString_methods._codeUnitAt$1(_s16_, char & 15); |
|
} else { |
|
if (char > 2047) |
|
if (char > 65535) { |
|
flag = 240; |
|
encodedBytes = 4; |
|
} else { |
|
flag = 224; |
|
encodedBytes = 3; |
|
} |
|
else { |
|
flag = 192; |
|
encodedBytes = 2; |
|
} |
|
t1 = new Array(3 * encodedBytes); |
|
t1.fixed$length = Array; |
|
codeUnits = H.setRuntimeTypeInfo(t1, [P.int]); |
|
for (index = 0; --encodedBytes, encodedBytes >= 0; flag = 128) { |
|
byte = C.JSInt_methods._shrReceiverPositive$1(char, 6 * encodedBytes) & 63 | flag; |
|
codeUnits[index] = 37; |
|
codeUnits[index + 1] = C.JSString_methods._codeUnitAt$1(_s16_, byte >>> 4); |
|
codeUnits[index + 2] = C.JSString_methods._codeUnitAt$1(_s16_, byte & 15); |
|
index += 3; |
|
} |
|
} |
|
return P.String_String$fromCharCodes(codeUnits, 0, null); |
|
}, |
|
_Uri__normalizeOrSubstring: function(component, start, end, charTable, escapeDelimiters) { |
|
var t1 = P._Uri__normalize(component, start, end, charTable, escapeDelimiters); |
|
return t1 == null ? C.JSString_methods.substring$2(component, start, end) : t1; |
|
}, |
|
_Uri__normalize: function(component, start, end, charTable, escapeDelimiters) { |
|
var t1, index, sectionStart, buffer, char, replacement, sourceLength, t2, tail; |
|
for (t1 = !escapeDelimiters, index = start, sectionStart = index, buffer = null; index < end;) { |
|
char = C.JSString_methods.codeUnitAt$1(component, index); |
|
if (char < 127 && (charTable[char >>> 4] & 1 << (char & 15)) !== 0) |
|
++index; |
|
else { |
|
if (char === 37) { |
|
replacement = P._Uri__normalizeEscape(component, index, false); |
|
if (replacement == null) { |
|
index += 3; |
|
continue; |
|
} |
|
if ("%" === replacement) { |
|
replacement = "%25"; |
|
sourceLength = 1; |
|
} else |
|
sourceLength = 3; |
|
} else if (t1 && char <= 93 && (C.List_2Vk[char >>> 4] & 1 << (char & 15)) !== 0) { |
|
P._Uri__fail(component, index, "Invalid character"); |
|
replacement = null; |
|
sourceLength = null; |
|
} else { |
|
if ((char & 64512) === 55296) { |
|
t2 = index + 1; |
|
if (t2 < end) { |
|
tail = C.JSString_methods.codeUnitAt$1(component, t2); |
|
if ((tail & 64512) === 56320) { |
|
char = 65536 | (char & 1023) << 10 | tail & 1023; |
|
sourceLength = 2; |
|
} else |
|
sourceLength = 1; |
|
} else |
|
sourceLength = 1; |
|
} else |
|
sourceLength = 1; |
|
replacement = P._Uri__escapeChar(char); |
|
} |
|
if (buffer == null) |
|
buffer = new P.StringBuffer(""); |
|
buffer._contents += C.JSString_methods.substring$2(component, sectionStart, index); |
|
buffer._contents += H.S(replacement); |
|
index += sourceLength; |
|
sectionStart = index; |
|
} |
|
} |
|
if (buffer == null) |
|
return; |
|
if (sectionStart < end) |
|
buffer._contents += C.JSString_methods.substring$2(component, sectionStart, end); |
|
t1 = buffer._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
_Uri__mayContainDotSegments: function(path) { |
|
if (C.JSString_methods.startsWith$1(path, ".")) |
|
return true; |
|
return C.JSString_methods.indexOf$1(path, "/.") !== -1; |
|
}, |
|
_Uri__removeDotSegments: function(path) { |
|
var output, t1, t2, appendSlash, _i, segment; |
|
if (!P._Uri__mayContainDotSegments(path)) |
|
return path; |
|
output = H.setRuntimeTypeInfo([], [P.String]); |
|
for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0; _i < t2; ++_i) { |
|
segment = t1[_i]; |
|
if (J.$eq$(segment, "..")) { |
|
if (output.length !== 0) { |
|
output.pop(); |
|
if (output.length === 0) |
|
output.push(""); |
|
} |
|
appendSlash = true; |
|
} else if ("." === segment) |
|
appendSlash = true; |
|
else { |
|
output.push(segment); |
|
appendSlash = false; |
|
} |
|
} |
|
if (appendSlash) |
|
output.push(""); |
|
return C.JSArray_methods.join$1(output, "/"); |
|
}, |
|
_Uri__normalizeRelativePath: function(path, allowScheme) { |
|
var output, t1, t2, appendSlash, _i, segment; |
|
if (!P._Uri__mayContainDotSegments(path)) |
|
return !allowScheme ? P._Uri__escapeScheme(path) : path; |
|
output = H.setRuntimeTypeInfo([], [P.String]); |
|
for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0; _i < t2; ++_i) { |
|
segment = t1[_i]; |
|
if (".." === segment) |
|
if (output.length !== 0 && C.JSArray_methods.get$last(output) !== "..") { |
|
output.pop(); |
|
appendSlash = true; |
|
} else { |
|
output.push(".."); |
|
appendSlash = false; |
|
} |
|
else if ("." === segment) |
|
appendSlash = true; |
|
else { |
|
output.push(segment); |
|
appendSlash = false; |
|
} |
|
} |
|
t1 = output.length; |
|
if (t1 !== 0) |
|
t1 = t1 === 1 && output[0].length === 0; |
|
else |
|
t1 = true; |
|
if (t1) |
|
return "./"; |
|
if (appendSlash || C.JSArray_methods.get$last(output) === "..") |
|
output.push(""); |
|
if (!allowScheme) |
|
output[0] = P._Uri__escapeScheme(output[0]); |
|
return C.JSArray_methods.join$1(output, "/"); |
|
}, |
|
_Uri__escapeScheme: function(path) { |
|
var i, char, |
|
t1 = path.length; |
|
if (t1 >= 2 && P._Uri__isAlphabeticCharacter(J._codeUnitAt$1$s(path, 0))) |
|
for (i = 1; i < t1; ++i) { |
|
char = C.JSString_methods._codeUnitAt$1(path, i); |
|
if (char === 58) |
|
return C.JSString_methods.substring$2(path, 0, i) + "%3A" + C.JSString_methods.substring$1(path, i + 1); |
|
if (char > 127 || (C.List_JYB[char >>> 4] & 1 << (char & 15)) === 0) |
|
break; |
|
} |
|
return path; |
|
}, |
|
_Uri__toWindowsFilePath: function(uri) { |
|
var hasDriveLetter, t2, host, |
|
segments = uri.get$pathSegments(), |
|
t1 = segments.length; |
|
if (t1 > 0 && J.get$length$asx(segments[0]) === 2 && J.codeUnitAt$1$s(segments[0], 1) === 58) { |
|
P._Uri__checkWindowsDriveLetter(J.codeUnitAt$1$s(segments[0], 0), false); |
|
P._Uri__checkWindowsPathReservedCharacters(segments, false, 1); |
|
hasDriveLetter = true; |
|
} else { |
|
P._Uri__checkWindowsPathReservedCharacters(segments, false, 0); |
|
hasDriveLetter = false; |
|
} |
|
t2 = uri.get$hasAbsolutePath() && !hasDriveLetter ? "\\" : ""; |
|
if (uri.get$hasAuthority()) { |
|
host = uri.get$host(); |
|
if (host.length !== 0) |
|
t2 = t2 + "\\" + H.S(host) + "\\"; |
|
} |
|
t2 = P.StringBuffer__writeAll(t2, segments, "\\"); |
|
t1 = hasDriveLetter && t1 === 1 ? t2 + "\\" : t2; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
_Uri__hexCharPairToByte: function(s, pos) { |
|
var byte, i, charCode; |
|
for (byte = 0, i = 0; i < 2; ++i) { |
|
charCode = C.JSString_methods._codeUnitAt$1(s, pos + i); |
|
if (48 <= charCode && charCode <= 57) |
|
byte = byte * 16 + charCode - 48; |
|
else { |
|
charCode |= 32; |
|
if (97 <= charCode && charCode <= 102) |
|
byte = byte * 16 + charCode - 87; |
|
else |
|
throw H.wrapException(P.ArgumentError$("Invalid URL encoding")); |
|
} |
|
} |
|
return byte; |
|
}, |
|
_Uri__uriDecode: function(text, start, end, encoding, plusToSpace) { |
|
var simple, codeUnit, t2, bytes, |
|
t1 = J.getInterceptor$s(text), |
|
i = start; |
|
while (true) { |
|
if (!(i < end)) { |
|
simple = true; |
|
break; |
|
} |
|
codeUnit = t1._codeUnitAt$1(text, i); |
|
if (codeUnit <= 127) |
|
if (codeUnit !== 37) |
|
t2 = false; |
|
else |
|
t2 = true; |
|
else |
|
t2 = true; |
|
if (t2) { |
|
simple = false; |
|
break; |
|
} |
|
++i; |
|
} |
|
if (simple) { |
|
if (C.C_Utf8Codec !== encoding) |
|
t2 = false; |
|
else |
|
t2 = true; |
|
if (t2) |
|
return t1.substring$2(text, start, end); |
|
else |
|
bytes = new H.CodeUnits(t1.substring$2(text, start, end)); |
|
} else { |
|
bytes = H.setRuntimeTypeInfo([], [P.int]); |
|
for (i = start; i < end; ++i) { |
|
codeUnit = t1._codeUnitAt$1(text, i); |
|
if (codeUnit > 127) |
|
throw H.wrapException(P.ArgumentError$("Illegal percent encoding in URI")); |
|
if (codeUnit === 37) { |
|
if (i + 3 > text.length) |
|
throw H.wrapException(P.ArgumentError$("Truncated URI")); |
|
bytes.push(P._Uri__hexCharPairToByte(text, i + 1)); |
|
i += 2; |
|
} else |
|
bytes.push(codeUnit); |
|
} |
|
} |
|
return new P.Utf8Decoder(false).convert$1(bytes); |
|
}, |
|
_Uri__isAlphabeticCharacter: function(codeUnit) { |
|
var lowerCase = codeUnit | 32; |
|
return 97 <= lowerCase && lowerCase <= 122; |
|
}, |
|
UriData__writeUri: function(mimeType, charsetName, parameters, buffer, indices) { |
|
var t1, slashIndex; |
|
if (mimeType == null || mimeType === "text/plain") |
|
mimeType = ""; |
|
if (mimeType.length === 0 || mimeType === "application/octet-stream") |
|
t1 = buffer._contents += mimeType; |
|
else { |
|
slashIndex = P.UriData__validateMimeType(mimeType); |
|
if (slashIndex < 0) |
|
throw H.wrapException(P.ArgumentError$value(mimeType, "mimeType", "Invalid MIME type")); |
|
t1 = buffer._contents += H.S(P._Uri__uriEncode(C.List_qFt, C.JSString_methods.substring$2(mimeType, 0, slashIndex), C.C_Utf8Codec, false)); |
|
buffer._contents = t1 + "/"; |
|
t1 = buffer._contents += H.S(P._Uri__uriEncode(C.List_qFt, C.JSString_methods.substring$1(mimeType, slashIndex + 1), C.C_Utf8Codec, false)); |
|
} |
|
if (charsetName != null) { |
|
indices.push(t1.length); |
|
indices.push(buffer._contents.length + 8); |
|
buffer._contents += ";charset="; |
|
buffer._contents += H.S(P._Uri__uriEncode(C.List_qFt, charsetName, C.C_Utf8Codec, false)); |
|
} |
|
}, |
|
UriData__validateMimeType: function(mimeType) { |
|
var t1, slashIndex, i; |
|
for (t1 = mimeType.length, slashIndex = -1, i = 0; i < t1; ++i) { |
|
if (C.JSString_methods._codeUnitAt$1(mimeType, i) !== 47) |
|
continue; |
|
if (slashIndex < 0) { |
|
slashIndex = i; |
|
continue; |
|
} |
|
return -1; |
|
} |
|
return slashIndex; |
|
}, |
|
UriData__parse: function(text, start, sourceUri) { |
|
var t1, i, slashIndex, char, equalsIndex, lastSeparator, t2, data, |
|
_s17_ = "Invalid MIME type", |
|
indices = H.setRuntimeTypeInfo([start - 1], [P.int]); |
|
for (t1 = text.length, i = start, slashIndex = -1, char = null; i < t1; ++i) { |
|
char = C.JSString_methods._codeUnitAt$1(text, i); |
|
if (char === 44 || char === 59) |
|
break; |
|
if (char === 47) { |
|
if (slashIndex < 0) { |
|
slashIndex = i; |
|
continue; |
|
} |
|
throw H.wrapException(P.FormatException$(_s17_, text, i)); |
|
} |
|
} |
|
if (slashIndex < 0 && i > start) |
|
throw H.wrapException(P.FormatException$(_s17_, text, i)); |
|
for (; char !== 44;) { |
|
indices.push(i); |
|
++i; |
|
for (equalsIndex = -1; i < t1; ++i) { |
|
char = C.JSString_methods._codeUnitAt$1(text, i); |
|
if (char === 61) { |
|
if (equalsIndex < 0) |
|
equalsIndex = i; |
|
} else if (char === 59 || char === 44) |
|
break; |
|
} |
|
if (equalsIndex >= 0) |
|
indices.push(equalsIndex); |
|
else { |
|
lastSeparator = C.JSArray_methods.get$last(indices); |
|
if (char !== 44 || i !== lastSeparator + 7 || !C.JSString_methods.startsWith$2(text, "base64", lastSeparator + 1)) |
|
throw H.wrapException(P.FormatException$("Expecting '='", text, i)); |
|
break; |
|
} |
|
} |
|
indices.push(i); |
|
t2 = i + 1; |
|
if ((indices.length & 1) === 1) |
|
text = C.C_Base64Codec.normalize$3(text, t2, t1); |
|
else { |
|
data = P._Uri__normalize(text, t2, t1, C.List_CVk, true); |
|
if (data != null) |
|
text = C.JSString_methods.replaceRange$3(text, t2, t1, data); |
|
} |
|
return new P.UriData(text, indices, sourceUri); |
|
}, |
|
UriData__uriEncodeBytes: function(canonicalTable, bytes, buffer) { |
|
var t1, byteOr, i, byte, |
|
_s16_ = "0123456789ABCDEF"; |
|
for (t1 = J.getInterceptor$asx(bytes), byteOr = 0, i = 0; i < t1.get$length(bytes); ++i) { |
|
byte = t1.$index(bytes, i); |
|
byteOr |= byte; |
|
if (byte < 128 && (canonicalTable[C.JSInt_methods._shrOtherPositive$1(byte, 4)] & 1 << (byte & 15)) !== 0) |
|
buffer._contents += H.Primitives_stringFromCharCode(byte); |
|
else { |
|
buffer._contents += H.Primitives_stringFromCharCode(37); |
|
buffer._contents += H.Primitives_stringFromCharCode(C.JSString_methods._codeUnitAt$1(_s16_, C.JSInt_methods._shrOtherPositive$1(byte, 4))); |
|
buffer._contents += H.Primitives_stringFromCharCode(C.JSString_methods._codeUnitAt$1(_s16_, byte & 15)); |
|
} |
|
} |
|
if ((byteOr & 4294967040) >>> 0 !== 0) |
|
for (i = 0; i < t1.get$length(bytes); ++i) { |
|
byte = t1.$index(bytes, i); |
|
if (byte < 0 || byte > 255) |
|
throw H.wrapException(P.ArgumentError$value(byte, "non-byte value", null)); |
|
} |
|
}, |
|
_createTables: function() { |
|
var _s77_ = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=", |
|
_s1_ = ".", _s1_0 = ":", _s1_1 = "/", _s1_2 = "?", _s1_3 = "#", |
|
tables = P.List_List$generate(22, new P._createTables_closure(), true, P.Uint8List), |
|
t1 = new P._createTables_build(tables), |
|
t2 = new P._createTables_setChars(), |
|
t3 = new P._createTables_setRange(), |
|
b = t1.call$2(0, 225); |
|
t2.call$3(b, _s77_, 1); |
|
t2.call$3(b, _s1_, 14); |
|
t2.call$3(b, _s1_0, 34); |
|
t2.call$3(b, _s1_1, 3); |
|
t2.call$3(b, _s1_2, 172); |
|
t2.call$3(b, _s1_3, 205); |
|
b = t1.call$2(14, 225); |
|
t2.call$3(b, _s77_, 1); |
|
t2.call$3(b, _s1_, 15); |
|
t2.call$3(b, _s1_0, 34); |
|
t2.call$3(b, _s1_1, 234); |
|
t2.call$3(b, _s1_2, 172); |
|
t2.call$3(b, _s1_3, 205); |
|
b = t1.call$2(15, 225); |
|
t2.call$3(b, _s77_, 1); |
|
t2.call$3(b, "%", 225); |
|
t2.call$3(b, _s1_0, 34); |
|
t2.call$3(b, _s1_1, 9); |
|
t2.call$3(b, _s1_2, 172); |
|
t2.call$3(b, _s1_3, 205); |
|
b = t1.call$2(1, 225); |
|
t2.call$3(b, _s77_, 1); |
|
t2.call$3(b, _s1_0, 34); |
|
t2.call$3(b, _s1_1, 10); |
|
t2.call$3(b, _s1_2, 172); |
|
t2.call$3(b, _s1_3, 205); |
|
b = t1.call$2(2, 235); |
|
t2.call$3(b, _s77_, 139); |
|
t2.call$3(b, _s1_1, 131); |
|
t2.call$3(b, _s1_, 146); |
|
t2.call$3(b, _s1_2, 172); |
|
t2.call$3(b, _s1_3, 205); |
|
b = t1.call$2(3, 235); |
|
t2.call$3(b, _s77_, 11); |
|
t2.call$3(b, _s1_1, 68); |
|
t2.call$3(b, _s1_, 18); |
|
t2.call$3(b, _s1_2, 172); |
|
t2.call$3(b, _s1_3, 205); |
|
b = t1.call$2(4, 229); |
|
t2.call$3(b, _s77_, 5); |
|
t3.call$3(b, "AZ", 229); |
|
t2.call$3(b, _s1_0, 102); |
|
t2.call$3(b, "@", 68); |
|
t2.call$3(b, "[", 232); |
|
t2.call$3(b, _s1_1, 138); |
|
t2.call$3(b, _s1_2, 172); |
|
t2.call$3(b, _s1_3, 205); |
|
b = t1.call$2(5, 229); |
|
t2.call$3(b, _s77_, 5); |
|
t3.call$3(b, "AZ", 229); |
|
t2.call$3(b, _s1_0, 102); |
|
t2.call$3(b, "@", 68); |
|
t2.call$3(b, _s1_1, 138); |
|
t2.call$3(b, _s1_2, 172); |
|
t2.call$3(b, _s1_3, 205); |
|
b = t1.call$2(6, 231); |
|
t3.call$3(b, "19", 7); |
|
t2.call$3(b, "@", 68); |
|
t2.call$3(b, _s1_1, 138); |
|
t2.call$3(b, _s1_2, 172); |
|
t2.call$3(b, _s1_3, 205); |
|
b = t1.call$2(7, 231); |
|
t3.call$3(b, "09", 7); |
|
t2.call$3(b, "@", 68); |
|
t2.call$3(b, _s1_1, 138); |
|
t2.call$3(b, _s1_2, 172); |
|
t2.call$3(b, _s1_3, 205); |
|
t2.call$3(t1.call$2(8, 8), "]", 5); |
|
b = t1.call$2(9, 235); |
|
t2.call$3(b, _s77_, 11); |
|
t2.call$3(b, _s1_, 16); |
|
t2.call$3(b, _s1_1, 234); |
|
t2.call$3(b, _s1_2, 172); |
|
t2.call$3(b, _s1_3, 205); |
|
b = t1.call$2(16, 235); |
|
t2.call$3(b, _s77_, 11); |
|
t2.call$3(b, _s1_, 17); |
|
t2.call$3(b, _s1_1, 234); |
|
t2.call$3(b, _s1_2, 172); |
|
t2.call$3(b, _s1_3, 205); |
|
b = t1.call$2(17, 235); |
|
t2.call$3(b, _s77_, 11); |
|
t2.call$3(b, _s1_1, 9); |
|
t2.call$3(b, _s1_2, 172); |
|
t2.call$3(b, _s1_3, 205); |
|
b = t1.call$2(10, 235); |
|
t2.call$3(b, _s77_, 11); |
|
t2.call$3(b, _s1_, 18); |
|
t2.call$3(b, _s1_1, 234); |
|
t2.call$3(b, _s1_2, 172); |
|
t2.call$3(b, _s1_3, 205); |
|
b = t1.call$2(18, 235); |
|
t2.call$3(b, _s77_, 11); |
|
t2.call$3(b, _s1_, 19); |
|
t2.call$3(b, _s1_1, 234); |
|
t2.call$3(b, _s1_2, 172); |
|
t2.call$3(b, _s1_3, 205); |
|
b = t1.call$2(19, 235); |
|
t2.call$3(b, _s77_, 11); |
|
t2.call$3(b, _s1_1, 234); |
|
t2.call$3(b, _s1_2, 172); |
|
t2.call$3(b, _s1_3, 205); |
|
b = t1.call$2(11, 235); |
|
t2.call$3(b, _s77_, 11); |
|
t2.call$3(b, _s1_1, 10); |
|
t2.call$3(b, _s1_2, 172); |
|
t2.call$3(b, _s1_3, 205); |
|
b = t1.call$2(12, 236); |
|
t2.call$3(b, _s77_, 12); |
|
t2.call$3(b, _s1_2, 12); |
|
t2.call$3(b, _s1_3, 205); |
|
b = t1.call$2(13, 237); |
|
t2.call$3(b, _s77_, 13); |
|
t2.call$3(b, _s1_2, 13); |
|
t3.call$3(t1.call$2(20, 245), "az", 21); |
|
b = t1.call$2(21, 245); |
|
t3.call$3(b, "az", 21); |
|
t3.call$3(b, "09", 21); |
|
t2.call$3(b, "+-.", 21); |
|
return tables; |
|
}, |
|
_scan: function(uri, start, end, state, indices) { |
|
var t1, i, table, char, transition, |
|
tables = $.$get$_scannerTables(); |
|
for (t1 = J.getInterceptor$s(uri), i = start; i < end; ++i) { |
|
table = tables[state]; |
|
char = t1._codeUnitAt$1(uri, i) ^ 96; |
|
transition = table[char > 95 ? 31 : char]; |
|
state = transition & 31; |
|
indices[transition >>> 5] = i; |
|
} |
|
return state; |
|
}, |
|
NoSuchMethodError_toString_closure: function NoSuchMethodError_toString_closure(t0, t1) { |
|
this._box_0 = t0; |
|
this.sb = t1; |
|
}, |
|
bool: function bool() { |
|
}, |
|
DateTime: function DateTime(t0, t1) { |
|
this._value = t0; |
|
this.isUtc = t1; |
|
}, |
|
double: function double() { |
|
}, |
|
Duration: function Duration(t0) { |
|
this._duration = t0; |
|
}, |
|
Duration_toString_sixDigits: function Duration_toString_sixDigits() { |
|
}, |
|
Duration_toString_twoDigits: function Duration_toString_twoDigits() { |
|
}, |
|
Error: function Error() { |
|
}, |
|
NullThrownError: function NullThrownError() { |
|
}, |
|
ArgumentError: function ArgumentError(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._hasValue = t0; |
|
_.invalidValue = t1; |
|
_.name = t2; |
|
_.message = t3; |
|
}, |
|
RangeError: function RangeError(t0, t1, t2, t3, t4, t5) { |
|
var _ = this; |
|
_.start = t0; |
|
_.end = t1; |
|
_._hasValue = t2; |
|
_.invalidValue = t3; |
|
_.name = t4; |
|
_.message = t5; |
|
}, |
|
IndexError: function IndexError(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.length = t0; |
|
_._hasValue = t1; |
|
_.invalidValue = t2; |
|
_.name = t3; |
|
_.message = t4; |
|
}, |
|
NoSuchMethodError: function NoSuchMethodError(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._core$_receiver = t0; |
|
_._memberName = t1; |
|
_._core$_arguments = t2; |
|
_._namedArguments = t3; |
|
}, |
|
UnsupportedError: function UnsupportedError(t0) { |
|
this.message = t0; |
|
}, |
|
UnimplementedError: function UnimplementedError(t0) { |
|
this.message = t0; |
|
}, |
|
StateError: function StateError(t0) { |
|
this.message = t0; |
|
}, |
|
ConcurrentModificationError: function ConcurrentModificationError(t0) { |
|
this.modifiedObject = t0; |
|
}, |
|
OutOfMemoryError: function OutOfMemoryError() { |
|
}, |
|
StackOverflowError: function StackOverflowError() { |
|
}, |
|
CyclicInitializationError: function CyclicInitializationError(t0) { |
|
this.variableName = t0; |
|
}, |
|
_Exception: function _Exception(t0) { |
|
this.message = t0; |
|
}, |
|
FormatException: function FormatException(t0, t1, t2) { |
|
this.message = t0; |
|
this.source = t1; |
|
this.offset = t2; |
|
}, |
|
Function: function Function() { |
|
}, |
|
int: function int() { |
|
}, |
|
Iterable: function Iterable() { |
|
}, |
|
_GeneratorIterable: function _GeneratorIterable(t0, t1, t2) { |
|
this.length = t0; |
|
this._generator = t1; |
|
this.$ti = t2; |
|
}, |
|
Iterator: function Iterator() { |
|
}, |
|
List: function List() { |
|
}, |
|
Map: function Map() { |
|
}, |
|
MapEntry: function MapEntry(t0, t1, t2) { |
|
this.key = t0; |
|
this.value = t1; |
|
this.$ti = t2; |
|
}, |
|
Null: function Null() { |
|
}, |
|
num: function num() { |
|
}, |
|
Object: function Object() { |
|
}, |
|
Match: function Match() { |
|
}, |
|
RegExpMatch: function RegExpMatch() { |
|
}, |
|
Set: function Set() { |
|
}, |
|
StackTrace: function StackTrace() { |
|
}, |
|
_StringStackTrace: function _StringStackTrace(t0) { |
|
this._core$_stackTrace = t0; |
|
}, |
|
String: function String() { |
|
}, |
|
Runes: function Runes(t0) { |
|
this.string = t0; |
|
}, |
|
RuneIterator: function RuneIterator(t0) { |
|
var _ = this; |
|
_.string = t0; |
|
_._nextPosition = _._core$_position = 0; |
|
_._currentCodePoint = null; |
|
}, |
|
StringBuffer: function StringBuffer(t0) { |
|
this._contents = t0; |
|
}, |
|
StringSink: function StringSink() { |
|
}, |
|
Symbol0: function Symbol0() { |
|
}, |
|
Uri: function Uri() { |
|
}, |
|
Uri__parseIPv4Address_error: function Uri__parseIPv4Address_error(t0) { |
|
this.host = t0; |
|
}, |
|
Uri_parseIPv6Address_error: function Uri_parseIPv6Address_error(t0) { |
|
this.host = t0; |
|
}, |
|
Uri_parseIPv6Address_parseHex: function Uri_parseIPv6Address_parseHex(t0, t1) { |
|
this.error = t0; |
|
this.host = t1; |
|
}, |
|
_Uri: function _Uri(t0, t1, t2, t3, t4, t5, t6) { |
|
var _ = this; |
|
_.scheme = t0; |
|
_._userInfo = t1; |
|
_._host = t2; |
|
_._port = t3; |
|
_.path = t4; |
|
_._query = t5; |
|
_._fragment = t6; |
|
_._hashCodeCache = _._text = _._pathSegments = null; |
|
}, |
|
_Uri__Uri$notSimple_closure: function _Uri__Uri$notSimple_closure(t0, t1) { |
|
this.uri = t0; |
|
this.portStart = t1; |
|
}, |
|
_Uri__checkNonWindowsPathReservedCharacters_closure: function _Uri__checkNonWindowsPathReservedCharacters_closure(t0) { |
|
this.argumentError = t0; |
|
}, |
|
_Uri__makePath_closure: function _Uri__makePath_closure() { |
|
}, |
|
UriData: function UriData(t0, t1, t2) { |
|
this._text = t0; |
|
this._separatorIndices = t1; |
|
this._uriCache = t2; |
|
}, |
|
_createTables_closure: function _createTables_closure() { |
|
}, |
|
_createTables_build: function _createTables_build(t0) { |
|
this.tables = t0; |
|
}, |
|
_createTables_setChars: function _createTables_setChars() { |
|
}, |
|
_createTables_setRange: function _createTables_setRange() { |
|
}, |
|
_SimpleUri: function _SimpleUri(t0, t1, t2, t3, t4, t5, t6, t7) { |
|
var _ = this; |
|
_._uri = t0; |
|
_._schemeEnd = t1; |
|
_._hostStart = t2; |
|
_._portStart = t3; |
|
_._pathStart = t4; |
|
_._queryStart = t5; |
|
_._fragmentStart = t6; |
|
_._schemeCache = t7; |
|
_._hashCodeCache = null; |
|
}, |
|
_DataUri: function _DataUri(t0, t1, t2, t3, t4, t5, t6) { |
|
var _ = this; |
|
_.scheme = t0; |
|
_._userInfo = t1; |
|
_._host = t2; |
|
_._port = t3; |
|
_.path = t4; |
|
_._query = t5; |
|
_._fragment = t6; |
|
_._hashCodeCache = _._text = _._pathSegments = null; |
|
}, |
|
max: function(a, b) { |
|
return Math.max(H.checkNum(a), H.checkNum(b)); |
|
}, |
|
pow: function(x, exponent) { |
|
H.checkNum(x); |
|
H.checkNum(exponent); |
|
return Math.pow(x, exponent); |
|
}, |
|
Random_Random: function() { |
|
return C.C__JSRandom; |
|
}, |
|
_JSRandom: function _JSRandom() { |
|
}, |
|
Uint8List: function Uint8List() { |
|
}, |
|
_convertDartFunctionFast: function(f) { |
|
var ret, |
|
existing = f.$dart_jsFunction; |
|
if (existing != null) |
|
return existing; |
|
ret = function(_call, f) { |
|
return function() { |
|
return _call(f, Array.prototype.slice.apply(arguments)); |
|
}; |
|
}(P._callDartFunctionFast, f); |
|
ret[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f; |
|
f.$dart_jsFunction = ret; |
|
return ret; |
|
}, |
|
_convertDartFunctionFastCaptureThis: function(f) { |
|
var ret, |
|
existing = f._$dart_jsFunctionCaptureThis; |
|
if (existing != null) |
|
return existing; |
|
ret = function(_call, f) { |
|
return function() { |
|
return _call(f, this, Array.prototype.slice.apply(arguments)); |
|
}; |
|
}(P._callDartFunctionFastCaptureThis, f); |
|
ret[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f; |
|
f._$dart_jsFunctionCaptureThis = ret; |
|
return ret; |
|
}, |
|
_callDartFunctionFast: function(callback, $arguments) { |
|
return P.Function_apply(callback, $arguments); |
|
}, |
|
_callDartFunctionFastCaptureThis: function(callback, $self, $arguments) { |
|
var t1 = [$self]; |
|
C.JSArray_methods.addAll$1(t1, $arguments); |
|
return P.Function_apply(callback, t1); |
|
}, |
|
allowInterop: function(f) { |
|
if (typeof f == "function") |
|
return f; |
|
else |
|
return P._convertDartFunctionFast(f); |
|
}, |
|
allowInteropCaptureThis: function(f) { |
|
if (typeof f == "function") |
|
throw H.wrapException(P.ArgumentError$("Function is already a JS function so cannot capture this.")); |
|
else |
|
return P._convertDartFunctionFastCaptureThis(f); |
|
}, |
|
callConstructor: function(constr, $arguments) { |
|
var args, factoryFunction; |
|
if ($arguments instanceof Array) |
|
switch ($arguments.length) { |
|
case 0: |
|
return new constr(); |
|
case 1: |
|
return new constr($arguments[0]); |
|
case 2: |
|
return new constr($arguments[0], $arguments[1]); |
|
case 3: |
|
return new constr($arguments[0], $arguments[1], $arguments[2]); |
|
case 4: |
|
return new constr($arguments[0], $arguments[1], $arguments[2], $arguments[3]); |
|
} |
|
args = [null]; |
|
C.JSArray_methods.addAll$1(args, $arguments); |
|
factoryFunction = constr.bind.apply(constr, args); |
|
String(factoryFunction); |
|
return new factoryFunction(); |
|
} |
|
}, |
|
N = {ArgParser: function ArgParser(t0, t1, t2, t3, t4, t5) { |
|
var _ = this; |
|
_._arg_parser$_options = t0; |
|
_.options = t1; |
|
_.commands = t2; |
|
_._optionsAndSeparators = t3; |
|
_.allowTrailingOptions = t4; |
|
_.usageLineLength = t5; |
|
}, ArgParser_findByAbbreviation_closure: function ArgParser_findByAbbreviation_closure(t0) { |
|
this.abbr = t0; |
|
}, ArgParser_findByAbbreviation_closure0: function ArgParser_findByAbbreviation_closure0() { |
|
}, SupportsCondition: function SupportsCondition() { |
|
}, AttributeSelector: function AttributeSelector(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.name = t0; |
|
_.op = t1; |
|
_.value = t2; |
|
_.modifier = t3; |
|
}, AttributeOperator: function AttributeOperator(t0) { |
|
this._attribute$_text = t0; |
|
}, IDSelector: function IDSelector(t0) { |
|
this.name = t0; |
|
}, IDSelector_unify_closure: function IDSelector_unify_closure(t0) { |
|
this.$this = t0; |
|
}, PlaceholderSelector: function PlaceholderSelector(t0) { |
|
this.name = t0; |
|
}, UniversalSelector: function UniversalSelector(t0) { |
|
this.namespace = t0; |
|
}, NoSourceMapBuffer: function NoSourceMapBuffer(t0) { |
|
this._no_source_map_buffer$_buffer = t0; |
|
}, |
|
serialize: function(node, charset, indentWidth, inspect, lineFeed, sourceMap, style, useSpaces) { |
|
var t1, css, t2, prefix, t3, |
|
visitor = N._SerializeVisitor$(indentWidth == null ? 2 : indentWidth, inspect, lineFeed, true, sourceMap, style, useSpaces); |
|
node.accept$1(visitor); |
|
t1 = visitor._serialize$_buffer; |
|
css = t1.toString$0(0); |
|
if (charset) { |
|
t2 = new H.CodeUnits(css); |
|
t2 = t2.any$1(t2, new N.serialize_closure()); |
|
} else |
|
t2 = false; |
|
if (t2) |
|
prefix = style === C.OutputStyle_compressed ? "\ufeff" : '@charset "UTF-8";\n'; |
|
else |
|
prefix = ""; |
|
t2 = prefix + css; |
|
t3 = sourceMap ? t1.buildSourceMap$1$prefix(prefix) : null; |
|
if (sourceMap) |
|
t1.get$sourceFiles(); |
|
return new N.SerializeResult(t2, t3); |
|
}, |
|
serializeValue: function(value, inspect, quote) { |
|
var visitor = N._SerializeVisitor$(null, inspect, null, quote, false, null, true); |
|
value.accept$1(visitor); |
|
return visitor._serialize$_buffer.toString$0(0); |
|
}, |
|
_SerializeVisitor$: function(indentWidth, inspect, lineFeed, quote, sourceMap, style, useSpaces) { |
|
var t1 = sourceMap ? new D.SourceMapBuffer(new P.StringBuffer(""), H.setRuntimeTypeInfo([], [L.Entry]), P.LinkedHashMap_LinkedHashMap$_empty(P.Uri, Y.SourceFile)) : new N.NoSourceMapBuffer(new P.StringBuffer("")), |
|
t2 = style == null ? C.OutputStyle_expanded : style, |
|
t3 = useSpaces ? 32 : 9, |
|
t4 = indentWidth == null ? 2 : indentWidth, |
|
t5 = lineFeed == null ? C.LineFeed_D6m : lineFeed; |
|
P.RangeError_checkValueInInterval(t4, 0, 10, "indentWidth"); |
|
return new N._SerializeVisitor(t1, t2, inspect, quote, t3, t4, t5); |
|
}, |
|
serialize_closure: function serialize_closure() { |
|
}, |
|
_SerializeVisitor: function _SerializeVisitor(t0, t1, t2, t3, t4, t5, t6) { |
|
var _ = this; |
|
_._serialize$_buffer = t0; |
|
_._indentation = 0; |
|
_._style = t1; |
|
_._inspect = t2; |
|
_._quote = t3; |
|
_._indentCharacter = t4; |
|
_._indentWidth = t5; |
|
_._lineFeed = t6; |
|
}, |
|
_SerializeVisitor_visitCssComment_closure: function _SerializeVisitor_visitCssComment_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_SerializeVisitor_visitCssAtRule_closure: function _SerializeVisitor_visitCssAtRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_SerializeVisitor_visitCssMediaRule_closure: function _SerializeVisitor_visitCssMediaRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_SerializeVisitor_visitCssImport_closure: function _SerializeVisitor_visitCssImport_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_SerializeVisitor_visitCssImport__closure: function _SerializeVisitor_visitCssImport__closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_SerializeVisitor_visitCssKeyframeBlock_closure: function _SerializeVisitor_visitCssKeyframeBlock_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_SerializeVisitor_visitCssStyleRule_closure: function _SerializeVisitor_visitCssStyleRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_SerializeVisitor_visitCssSupportsRule_closure: function _SerializeVisitor_visitCssSupportsRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_SerializeVisitor_visitCssDeclaration_closure: function _SerializeVisitor_visitCssDeclaration_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_SerializeVisitor_visitCssDeclaration_closure0: function _SerializeVisitor_visitCssDeclaration_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_SerializeVisitor_visitList_closure: function _SerializeVisitor_visitList_closure() { |
|
}, |
|
_SerializeVisitor_visitList_closure0: function _SerializeVisitor_visitList_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.value = t1; |
|
}, |
|
_SerializeVisitor_visitList_closure1: function _SerializeVisitor_visitList_closure1(t0) { |
|
this.$this = t0; |
|
}, |
|
_SerializeVisitor_visitMap_closure: function _SerializeVisitor_visitMap_closure(t0, t1) { |
|
this.$this = t0; |
|
this.map = t1; |
|
}, |
|
_SerializeVisitor_visitSelectorList_closure: function _SerializeVisitor_visitSelectorList_closure() { |
|
}, |
|
_SerializeVisitor__write_closure: function _SerializeVisitor__write_closure(t0, t1) { |
|
this.$this = t0; |
|
this.value = t1; |
|
}, |
|
_SerializeVisitor__visitChildren_closure: function _SerializeVisitor__visitChildren_closure(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
this.children = t2; |
|
}, |
|
OutputStyle: function OutputStyle(t0) { |
|
this._serialize$_name = t0; |
|
}, |
|
LineFeed: function LineFeed(t0, t1) { |
|
this.name = t0; |
|
this.text = t1; |
|
}, |
|
SerializeResult: function SerializeResult(t0, t1) { |
|
this.css = t0; |
|
this.sourceMap = t1; |
|
}, |
|
warn: function(message, deprecation) { |
|
var warnDefinition = $.Zone__current.$index(0, C.Symbol__warn); |
|
if (warnDefinition == null) |
|
throw H.wrapException(P.ArgumentError$("warn() may only be called within a custom function or importer callback.")); |
|
warnDefinition.call$2(message, deprecation); |
|
}, |
|
withWarnCallback: function(warn, callback) { |
|
return P.runZoned(new N.withWarnCallback_closure(callback), P.LinkedHashMap__makeLiteral([C.Symbol__warn, warn])); |
|
}, |
|
withWarnCallback_closure: function withWarnCallback_closure(t0) { |
|
this.callback = t0; |
|
}, |
|
UnparsedFrame: function UnparsedFrame(t0, t1) { |
|
this.uri = t0; |
|
this.member = t1; |
|
} |
|
}, |
|
Z = { |
|
ArgParserException$: function(message, commands) { |
|
return new Z.ArgParserException(commands == null ? C.List_empty : P.List_List$unmodifiable(commands, P.String), message, null, null); |
|
}, |
|
ArgParserException: function ArgParserException(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.commands = t0; |
|
_.message = t1; |
|
_.source = t2; |
|
_.offset = t3; |
|
}, |
|
Argument: function Argument(t0, t1, t2) { |
|
this.name = t0; |
|
this.defaultValue = t1; |
|
this.span = t2; |
|
}, |
|
ConfiguredVariable: function ConfiguredVariable(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.name = t0; |
|
_.expression = t1; |
|
_.isGuarded = t2; |
|
_.span = t3; |
|
}, |
|
BooleanExpression: function BooleanExpression(t0, t1) { |
|
this.value = t0; |
|
this.span = t1; |
|
}, |
|
VariableDeclaration$: function($name, expression, span, comment, global, guarded, namespace) { |
|
if (namespace != null && global) |
|
H.throwExpression(P.ArgumentError$("Other modules' members can't be defined with !global.")); |
|
return new Z.VariableDeclaration(namespace, $name, expression, guarded, global, span); |
|
}, |
|
VariableDeclaration: function VariableDeclaration(t0, t1, t2, t3, t4, t5) { |
|
var _ = this; |
|
_.namespace = t0; |
|
_.name = t1; |
|
_.expression = t2; |
|
_.isGuarded = t3; |
|
_.isGlobal = t4; |
|
_.span = t5; |
|
}, |
|
ConfiguredValue: function ConfiguredValue(t0, t1, t2) { |
|
this.value = t0; |
|
this.configurationSpan = t1; |
|
this.assignmentNode = t2; |
|
}, |
|
InterpolationBuffer: function InterpolationBuffer(t0, t1) { |
|
this._interpolation_buffer$_text = t0; |
|
this._interpolation_buffer$_contents = t1; |
|
}, |
|
RenderContext: function RenderContext() { |
|
}, |
|
closure141: function closure141() { |
|
}, |
|
_closure19: function _closure19() { |
|
}, |
|
_closure20: function _closure20() { |
|
}, |
|
MergedMapView$: function(maps, $K, $V) { |
|
var t1 = new Z.MergedMapView(P.LinkedHashMap_LinkedHashMap$_empty($K, [P.Map, $K, $V]), [$K, $V]); |
|
t1.MergedMapView$1(maps, $K, $V); |
|
return t1; |
|
}, |
|
MergedMapView: function MergedMapView(t0, t1) { |
|
this._mapsByKey = t0; |
|
this.$ti = t1; |
|
}, |
|
SassBoolean: function SassBoolean(t0) { |
|
this.value = t0; |
|
}, |
|
LineScanner: function LineScanner(t0, t1) { |
|
var _ = this; |
|
_._line_scanner$_column = _._line_scanner$_line = 0; |
|
_.sourceUrl = t0; |
|
_.string = t1; |
|
_._string_scanner$_position = 0; |
|
_._lastMatchPosition = _._lastMatch = null; |
|
} |
|
}, |
|
V = { |
|
ArgResults$_: function(_parser, _parsed, $name, command, rest, $arguments) { |
|
return new V.ArgResults(_parser, _parsed, $name, new P.UnmodifiableListView(rest, [P.String])); |
|
}, |
|
ArgResults: function ArgResults(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._parser = t0; |
|
_._parsed = t1; |
|
_.name = t2; |
|
_.rest = t3; |
|
}, |
|
ErrorResult: function ErrorResult(t0, t1) { |
|
this.error = t0; |
|
this.stackTrace = t1; |
|
}, |
|
ModifiableCssStylesheet: function ModifiableCssStylesheet(t0, t1, t2) { |
|
var _ = this; |
|
_.span = t0; |
|
_.children = t1; |
|
_._children = t2; |
|
_._indexInParent = _._parent = null; |
|
_.isGroupEnd = false; |
|
}, |
|
CssStylesheet: function CssStylesheet(t0, t1) { |
|
this.children = t0; |
|
this.span = t1; |
|
}, |
|
AtRootQuery: function AtRootQuery(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.include = t0; |
|
_.names = t1; |
|
_._all = t2; |
|
_._at_root_query$_rule = t3; |
|
}, |
|
BinaryOperationExpression: function BinaryOperationExpression(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.operator = t0; |
|
_.left = t1; |
|
_.right = t2; |
|
_.allowsSlash = t3; |
|
}, |
|
BinaryOperator: function BinaryOperator(t0, t1, t2) { |
|
this.name = t0; |
|
this.operator = t1; |
|
this.precedence = t2; |
|
}, |
|
AtRootRule: function AtRootRule(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.query = t0; |
|
_.span = t1; |
|
_.children = t2; |
|
_.hasDeclarations = t3; |
|
}, |
|
EachRule: function EachRule(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.variables = t0; |
|
_.list = t1; |
|
_.span = t2; |
|
_.children = t3; |
|
_.hasDeclarations = t4; |
|
}, |
|
EachRule_toString_closure: function EachRule_toString_closure() { |
|
}, |
|
IfRule: function IfRule(t0, t1, t2) { |
|
this.clauses = t0; |
|
this.lastClause = t1; |
|
this.span = t2; |
|
}, |
|
IfRule_toString_closure: function IfRule_toString_closure(t0) { |
|
this._box_0 = t0; |
|
}, |
|
IfClause: function IfClause(t0, t1, t2) { |
|
this.expression = t0; |
|
this.children = t1; |
|
this.hasDeclarations = t2; |
|
}, |
|
IfClause$__closure: function IfClause$__closure() { |
|
}, |
|
IfClause$___closure: function IfClause$___closure() { |
|
}, |
|
Stylesheet$: function(children, span, plainCss) { |
|
var t1 = H.setRuntimeTypeInfo([], [T.UseRule]), |
|
t2 = H.setRuntimeTypeInfo([], [L.ForwardRule]), |
|
t3 = P.List_List$unmodifiable(children, O.Statement), |
|
t4 = C.JSArray_methods.any$1(t3, new M.ParentStatement_closure()); |
|
t1 = new V.Stylesheet(span, plainCss, t1, t2, t3, t4); |
|
t1.Stylesheet$3$plainCss(children, span, plainCss); |
|
return t1; |
|
}, |
|
Stylesheet_Stylesheet$parse: function(contents, syntax, logger, url) { |
|
var t1, t2, t3, t4; |
|
switch (syntax) { |
|
case C.Syntax_Sass: |
|
contents.toString; |
|
t1 = new H.CodeUnits(contents); |
|
t2 = H.setRuntimeTypeInfo([0], [P.int]); |
|
t3 = typeof url === "string"; |
|
t4 = t3 ? P.Uri_parse(url) : H.interceptedTypeCast(url, "$isUri"); |
|
t2 = new Y.SourceFile(t4, t2, new Uint32Array(H._ensureNativeList(t1.toList$0(t1)))); |
|
t2.SourceFile$decoded$2$url(t1, url); |
|
t1 = t3 ? P.Uri_parse(url) : H.interceptedTypeCast(url, "$isUri"); |
|
t3 = logger == null ? C.StderrLogger_false : logger; |
|
return new U.SassParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), new S.SpanScanner(t2, t1, contents), t3).parse$0(); |
|
case C.Syntax_SCSS: |
|
t1 = S.SpanScanner$(contents, url); |
|
t2 = logger == null ? C.StderrLogger_false : logger; |
|
return new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, t2).parse$0(); |
|
case C.Syntax_CSS: |
|
contents.toString; |
|
t1 = new H.CodeUnits(contents); |
|
t2 = H.setRuntimeTypeInfo([0], [P.int]); |
|
t3 = typeof url === "string"; |
|
t4 = t3 ? P.Uri_parse(url) : H.interceptedTypeCast(url, "$isUri"); |
|
t2 = new Y.SourceFile(t4, t2, new Uint32Array(H._ensureNativeList(t1.toList$0(t1)))); |
|
t2.SourceFile$decoded$2$url(t1, url); |
|
t1 = t3 ? P.Uri_parse(url) : H.interceptedTypeCast(url, "$isUri"); |
|
t3 = logger == null ? C.StderrLogger_false : logger; |
|
return new Q.CssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), new S.SpanScanner(t2, t1, contents), t3).parse$0(); |
|
default: |
|
throw H.wrapException(P.ArgumentError$("Unknown syntax " + syntax.toString$0(0) + ".")); |
|
} |
|
}, |
|
Stylesheet: function Stylesheet(t0, t1, t2, t3, t4, t5) { |
|
var _ = this; |
|
_.span = t0; |
|
_.plainCss = t1; |
|
_._uses = t2; |
|
_._forwards = t3; |
|
_.children = t4; |
|
_.hasDeclarations = t5; |
|
}, |
|
JSError: function JSError() { |
|
}, |
|
AtRootQueryParser: function AtRootQueryParser(t0, t1) { |
|
this.scanner = t0; |
|
this.logger = t1; |
|
}, |
|
AtRootQueryParser_parse_closure: function AtRootQueryParser_parse_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
StylesheetParser: function StylesheetParser() { |
|
}, |
|
StylesheetParser_parse_closure: function StylesheetParser_parse_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
StylesheetParser_parse__closure: function StylesheetParser_parse__closure(t0) { |
|
this.$this = t0; |
|
}, |
|
StylesheetParser_parse__closure0: function StylesheetParser_parse__closure0() { |
|
}, |
|
StylesheetParser_parseArgumentDeclaration_closure: function StylesheetParser_parseArgumentDeclaration_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
StylesheetParser_parseVariableDeclaration_closure: function StylesheetParser_parseVariableDeclaration_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
StylesheetParser_parseUseRule_closure: function StylesheetParser_parseUseRule_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
StylesheetParser__parseSingleProduction_closure: function StylesheetParser__parseSingleProduction_closure(t0, t1) { |
|
this.$this = t0; |
|
this.production = t1; |
|
}, |
|
StylesheetParser_parseSignature_closure: function StylesheetParser_parseSignature_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
StylesheetParser__statement_closure: function StylesheetParser__statement_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
StylesheetParser_variableDeclarationWithoutNamespace_closure: function StylesheetParser_variableDeclarationWithoutNamespace_closure(t0, t1) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
}, |
|
StylesheetParser_variableDeclarationWithoutNamespace_closure0: function StylesheetParser_variableDeclarationWithoutNamespace_closure0(t0) { |
|
this.declaration = t0; |
|
}, |
|
StylesheetParser__declarationOrBuffer_closure: function StylesheetParser__declarationOrBuffer_closure(t0) { |
|
this.name = t0; |
|
}, |
|
StylesheetParser__declarationOrBuffer_closure0: function StylesheetParser__declarationOrBuffer_closure0(t0, t1) { |
|
this._box_0 = t0; |
|
this.name = t1; |
|
}, |
|
StylesheetParser__styleRule_closure: function StylesheetParser__styleRule_closure(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
this.wasInStyleRule = t2; |
|
}, |
|
StylesheetParser__propertyOrVariableDeclaration_closure: function StylesheetParser__propertyOrVariableDeclaration_closure(t0) { |
|
this._box_0 = t0; |
|
}, |
|
StylesheetParser__propertyOrVariableDeclaration_closure0: function StylesheetParser__propertyOrVariableDeclaration_closure0(t0, t1) { |
|
this._box_0 = t0; |
|
this.value = t1; |
|
}, |
|
StylesheetParser__atRootRule_closure: function StylesheetParser__atRootRule_closure(t0) { |
|
this.query = t0; |
|
}, |
|
StylesheetParser__atRootRule_closure0: function StylesheetParser__atRootRule_closure0() { |
|
}, |
|
StylesheetParser__eachRule_closure: function StylesheetParser__eachRule_closure(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.wasInControlDirective = t1; |
|
_.variables = t2; |
|
_.list = t3; |
|
}, |
|
StylesheetParser__functionRule_closure: function StylesheetParser__functionRule_closure(t0, t1, t2) { |
|
this.name = t0; |
|
this.$arguments = t1; |
|
this.precedingComment = t2; |
|
}, |
|
StylesheetParser__forRule_closure: function StylesheetParser__forRule_closure(t0, t1) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
}, |
|
StylesheetParser__forRule_closure0: function StylesheetParser__forRule_closure0(t0, t1, t2, t3, t4, t5) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.$this = t1; |
|
_.wasInControlDirective = t2; |
|
_.variable = t3; |
|
_.from = t4; |
|
_.to = t5; |
|
}, |
|
StylesheetParser__memberList_closure: function StylesheetParser__memberList_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.variables = t1; |
|
this.identifiers = t2; |
|
}, |
|
StylesheetParser__includeRule_closure: function StylesheetParser__includeRule_closure(t0) { |
|
this._box_0 = t0; |
|
}, |
|
StylesheetParser_mediaRule_closure: function StylesheetParser_mediaRule_closure(t0) { |
|
this.query = t0; |
|
}, |
|
StylesheetParser__mixinRule_closure: function StylesheetParser__mixinRule_closure(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.name = t1; |
|
_.$arguments = t2; |
|
_.precedingComment = t3; |
|
}, |
|
StylesheetParser_mozDocumentRule_closure: function StylesheetParser_mozDocumentRule_closure(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.$this = t1; |
|
_.name = t2; |
|
_.value = t3; |
|
}, |
|
StylesheetParser_supportsRule_closure: function StylesheetParser_supportsRule_closure(t0) { |
|
this.condition = t0; |
|
}, |
|
StylesheetParser__whileRule_closure: function StylesheetParser__whileRule_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.wasInControlDirective = t1; |
|
this.condition = t2; |
|
}, |
|
StylesheetParser_unknownAtRule_closure: function StylesheetParser_unknownAtRule_closure(t0, t1) { |
|
this._box_0 = t0; |
|
this.name = t1; |
|
}, |
|
StylesheetParser_expression_resetState: function StylesheetParser_expression_resetState(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
this.start = t2; |
|
}, |
|
StylesheetParser_expression_resolveOneOperation: function StylesheetParser_expression_resolveOneOperation(t0, t1) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
}, |
|
StylesheetParser_expression_resolveOperations: function StylesheetParser_expression_resolveOperations(t0, t1) { |
|
this._box_0 = t0; |
|
this.resolveOneOperation = t1; |
|
}, |
|
StylesheetParser_expression_addSingleExpression: function StylesheetParser_expression_addSingleExpression(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.$this = t1; |
|
_.resetState = t2; |
|
_.resolveOperations = t3; |
|
}, |
|
StylesheetParser_expression_addOperator: function StylesheetParser_expression_addOperator(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
this.resolveOneOperation = t2; |
|
}, |
|
StylesheetParser_expression_resolveSpaceExpressions: function StylesheetParser_expression_resolveSpaceExpressions(t0, t1) { |
|
this._box_0 = t0; |
|
this.resolveOperations = t1; |
|
}, |
|
StylesheetParser__expressionUntilComma_closure: function StylesheetParser__expressionUntilComma_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
StylesheetParser__unicodeRange_closure: function StylesheetParser__unicodeRange_closure() { |
|
}, |
|
StylesheetParser__unicodeRange_closure0: function StylesheetParser__unicodeRange_closure0() { |
|
}, |
|
StylesheetParser_identifierLike_closure: function StylesheetParser_identifierLike_closure(t0, t1) { |
|
this.$this = t0; |
|
this.start = t1; |
|
}, |
|
StylesheetParser__expressionUntilComparison_closure: function StylesheetParser__expressionUntilComparison_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
StylesheetParser__publicIdentifier_closure: function StylesheetParser__publicIdentifier_closure(t0, t1) { |
|
this.$this = t0; |
|
this.start = t1; |
|
}, |
|
cloneCssStylesheet: function(stylesheet, extender) { |
|
var result = extender.clone$0(), |
|
t1 = stylesheet.get$span(), |
|
t2 = B.ModifiableCssNode, |
|
t3 = H.setRuntimeTypeInfo([], [t2]); |
|
return new S.Tuple2(new V._CloneCssVisitor(result.item2)._visitChildren$2(new V.ModifiableCssStylesheet(t1, new P.UnmodifiableListView(t3, [t2]), t3), stylesheet), result.item1, [V.ModifiableCssStylesheet, F.Extender]); |
|
}, |
|
_CloneCssVisitor: function _CloneCssVisitor(t0) { |
|
this._oldToNewSelectors = t0; |
|
}, |
|
SourceLocation$: function(offset, column, line, sourceUrl) { |
|
var t1 = line == null, |
|
t2 = t1 ? 0 : line; |
|
if (offset < 0) |
|
H.throwExpression(P.RangeError$("Offset may not be negative, was " + offset + ".")); |
|
else if (!t1 && line < 0) |
|
H.throwExpression(P.RangeError$("Line may not be negative, was " + H.S(line) + ".")); |
|
else if (column < 0) |
|
H.throwExpression(P.RangeError$("Column may not be negative, was " + column + ".")); |
|
return new V.SourceLocation(sourceUrl, offset, t2, column); |
|
}, |
|
SourceLocation: function SourceLocation(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.sourceUrl = t0; |
|
_.offset = t1; |
|
_.line = t2; |
|
_.column = t3; |
|
}, |
|
SourceSpan: function SourceSpan() { |
|
}, |
|
SourceSpanBase: function SourceSpanBase() { |
|
} |
|
}, |
|
G = {Option: function Option(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) { |
|
var _ = this; |
|
_.name = t0; |
|
_.abbr = t1; |
|
_.help = t2; |
|
_.valueHelp = t3; |
|
_.allowed = t4; |
|
_.allowedHelp = t5; |
|
_.defaultsTo = t6; |
|
_.negatable = t7; |
|
_.callback = t8; |
|
_.type = t9; |
|
_.splitCommas = t10; |
|
_.hide = t11; |
|
}, OptionType: function OptionType(t0) { |
|
this.name = t0; |
|
}, |
|
Parser$0: function(commandName, grammar, args, $parent, rest) { |
|
var t1 = P.String, |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
if (rest != null) |
|
C.JSArray_methods.addAll$1(t2, rest); |
|
return new G.Parser0(commandName, $parent, grammar, args, t2, P.LinkedHashMap_LinkedHashMap$_empty(t1, null)); |
|
}, |
|
Parser0: function Parser0(t0, t1, t2, t3, t4, t5) { |
|
var _ = this; |
|
_.commandName = t0; |
|
_.parent = t1; |
|
_.grammar = t2; |
|
_.args = t3; |
|
_.rest = t4; |
|
_.results = t5; |
|
}, |
|
Parser_parse_closure: function Parser_parse_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
Parser_setOption_closure: function Parser_setOption_closure() { |
|
}, |
|
Usage: function Usage(t0, t1) { |
|
var _ = this; |
|
_.optionsAndSeparators = t0; |
|
_.buffer = null; |
|
_.currentColumn = 0; |
|
_.columnWidths = null; |
|
_.newlinesNeeded = _.numHelpLines = 0; |
|
_.lineLength = t1; |
|
}, |
|
Usage_generate_closure: function Usage_generate_closure() { |
|
}, |
|
Usage_buildAllowedList_closure: function Usage_buildAllowedList_closure(t0) { |
|
this.option = t0; |
|
}, |
|
StreamQueue: function StreamQueue(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._stream_queue$_source = t0; |
|
_._stream_queue$_subscription = null; |
|
_._isDone = false; |
|
_._eventsReceived = 0; |
|
_._eventQueue = t1; |
|
_._requestQueue = t2; |
|
_.$ti = t3; |
|
}, |
|
StreamQueue__ensureListening_closure: function StreamQueue__ensureListening_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
StreamQueue__ensureListening_closure1: function StreamQueue__ensureListening_closure1(t0) { |
|
this.$this = t0; |
|
}, |
|
StreamQueue__ensureListening_closure0: function StreamQueue__ensureListening_closure0(t0) { |
|
this.$this = t0; |
|
}, |
|
_EventRequest: function _EventRequest() { |
|
}, |
|
_NextRequest: function _NextRequest(t0, t1) { |
|
this._completer = t0; |
|
this.$ti = t1; |
|
}, |
|
ModifiableCssMediaRule$: function(queries, span) { |
|
var t1 = P.List_List$unmodifiable(queries, F.CssMediaQuery), |
|
t2 = B.ModifiableCssNode, |
|
t3 = H.setRuntimeTypeInfo([], [t2]); |
|
if (J.get$isEmpty$asx(queries)) |
|
H.throwExpression(P.ArgumentError$value(queries, "queries", "may not be empty.")); |
|
return new G.ModifiableCssMediaRule(t1, span, new P.UnmodifiableListView(t3, [t2]), t3); |
|
}, |
|
ModifiableCssMediaRule: function ModifiableCssMediaRule(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.queries = t0; |
|
_.span = t1; |
|
_.children = t2; |
|
_._children = t3; |
|
_._indexInParent = _._parent = null; |
|
_.isGroupEnd = false; |
|
}, |
|
MediaRule: function MediaRule(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.query = t0; |
|
_.span = t1; |
|
_.children = t2; |
|
_.hasDeclarations = t3; |
|
}, |
|
WhileRule: function WhileRule(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.condition = t0; |
|
_.span = t1; |
|
_.children = t2; |
|
_.hasDeclarations = t3; |
|
}, |
|
Module: function Module() { |
|
}, |
|
Types: function Types() { |
|
}, |
|
Parser_isIdentifier: function(text) { |
|
var exception, logger = null; |
|
try { |
|
G.Parser$(text, logger, null)._parseIdentifier$0(); |
|
return true; |
|
} catch (exception) { |
|
if (H.unwrapException(exception) instanceof E.SassFormatException) |
|
return false; |
|
else |
|
throw exception; |
|
} |
|
}, |
|
Parser$: function(contents, logger, url) { |
|
var t1, t2, t3, t4; |
|
contents.toString; |
|
t1 = new H.CodeUnits(contents); |
|
t2 = H.setRuntimeTypeInfo([0], [P.int]); |
|
t3 = typeof url === "string"; |
|
t4 = t3 ? P.Uri_parse(url) : H.interceptedTypeCast(url, "$isUri"); |
|
t2 = new Y.SourceFile(t4, t2, new Uint32Array(H._ensureNativeList(t1.toList$0(t1)))); |
|
t2.SourceFile$decoded$2$url(t1, url); |
|
t1 = t3 ? P.Uri_parse(url) : H.interceptedTypeCast(url, "$isUri"); |
|
t3 = logger == null ? C.StderrLogger_false : logger; |
|
return new G.Parser(new S.SpanScanner(t2, t1, contents), t3); |
|
}, |
|
Parser: function Parser(t0, t1) { |
|
this.scanner = t0; |
|
this.logger = t1; |
|
}, |
|
Parser__parseIdentifier_closure: function Parser__parseIdentifier_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
FixedLengthListBuilder: function FixedLengthListBuilder(t0, t1) { |
|
this._list = t0; |
|
this._fixed_length_list_builder$_index = 0; |
|
this.$ti = t1; |
|
}, |
|
SourceSpanFormatException$: function(message, span, source) { |
|
return new G.SourceSpanFormatException(source, message, span); |
|
}, |
|
SourceSpanException: function SourceSpanException() { |
|
}, |
|
SourceSpanFormatException: function SourceSpanFormatException(t0, t1, t2) { |
|
this.source = t0; |
|
this._span_exception$_message = t1; |
|
this._span = t2; |
|
} |
|
}, |
|
E = {Result: function Result() { |
|
}, PosixStyle: function PosixStyle(t0, t1, t2) { |
|
this.separatorPattern = t0; |
|
this.needsSeparatorPattern = t1; |
|
this.rootPattern = t2; |
|
}, UserDefinedCallable: function UserDefinedCallable(t0, t1, t2) { |
|
this.declaration = t0; |
|
this.environment = t1; |
|
this.$ti = t2; |
|
}, |
|
SassException$: function(message, span) { |
|
return new E.SassException(message, span); |
|
}, |
|
MultiSpanSassException$: function(message, span, primaryLabel, secondarySpans) { |
|
return new E.MultiSpanSassException(primaryLabel, H.ConstantMap_ConstantMap$from(secondarySpans, Y.FileSpan, P.String), message, span); |
|
}, |
|
SassRuntimeException$: function(message, span, trace) { |
|
return new E.SassRuntimeException(trace, message, span); |
|
}, |
|
MultiSpanSassRuntimeException$: function(message, span, primaryLabel, secondarySpans, trace) { |
|
return new E.MultiSpanSassRuntimeException(trace, primaryLabel, H.ConstantMap_ConstantMap$from(secondarySpans, Y.FileSpan, P.String), message, span); |
|
}, |
|
SassFormatException$: function(message, span) { |
|
return new E.SassFormatException(message, span); |
|
}, |
|
SassScriptException$: function(message) { |
|
return new E.SassScriptException(message); |
|
}, |
|
MultiSpanSassScriptException$: function(message, primaryLabel, secondarySpans) { |
|
return new E.MultiSpanSassScriptException(primaryLabel, H.ConstantMap_ConstantMap$from(secondarySpans, Y.FileSpan, P.String), message); |
|
}, |
|
SassException: function SassException(t0, t1) { |
|
this._span_exception$_message = t0; |
|
this._span = t1; |
|
}, |
|
MultiSpanSassException: function MultiSpanSassException(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.primaryLabel = t0; |
|
_.secondarySpans = t1; |
|
_._span_exception$_message = t2; |
|
_._span = t3; |
|
}, |
|
SassRuntimeException: function SassRuntimeException(t0, t1, t2) { |
|
this.trace = t0; |
|
this._span_exception$_message = t1; |
|
this._span = t2; |
|
}, |
|
MultiSpanSassRuntimeException: function MultiSpanSassRuntimeException(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.trace = t0; |
|
_.primaryLabel = t1; |
|
_.secondarySpans = t2; |
|
_._span_exception$_message = t3; |
|
_._span = t4; |
|
}, |
|
SassFormatException: function SassFormatException(t0, t1) { |
|
this._span_exception$_message = t0; |
|
this._span = t1; |
|
}, |
|
SassScriptException: function SassScriptException(t0) { |
|
this.message = t0; |
|
}, |
|
MultiSpanSassScriptException: function MultiSpanSassScriptException(t0, t1, t2) { |
|
this.primaryLabel = t0; |
|
this.secondarySpans = t1; |
|
this.message = t2; |
|
}, |
|
ImporterResult: function ImporterResult(t0, t1, t2) { |
|
this.contents = t0; |
|
this._sourceMapUrl = t1; |
|
this.syntax = t2; |
|
}, |
|
FiberClass: function FiberClass() { |
|
}, |
|
Fiber: function Fiber() { |
|
}, |
|
KeyframeSelectorParser: function KeyframeSelectorParser(t0, t1) { |
|
this.scanner = t0; |
|
this.logger = t1; |
|
}, |
|
KeyframeSelectorParser_parse_closure: function KeyframeSelectorParser_parse_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor$0: function(functions, importCache, logger, nodeImporter, sourceMap) { |
|
var t6, t7, |
|
t1 = P.String, |
|
t2 = P.Uri, |
|
t3 = [G.Module, B.AsyncCallable], |
|
t4 = B.AstNode, |
|
t5 = H.setRuntimeTypeInfo([], [[S.Tuple2, P.String, B.AstNode]]); |
|
if (nodeImporter == null) |
|
t6 = importCache == null ? O.AsyncImportCache$none(logger) : importCache; |
|
else |
|
t6 = null; |
|
t7 = logger == null ? C.StderrLogger_false : logger; |
|
t5 = new E._EvaluateVisitor0(t6, nodeImporter, P.LinkedHashMap_LinkedHashMap$_empty(t1, B.AsyncCallable), P.LinkedHashMap_LinkedHashMap$_empty(t2, t3), P.LinkedHashMap_LinkedHashMap$_empty(t2, t3), P.LinkedHashMap_LinkedHashMap$_empty(t2, t4), t7, sourceMap, Q.AsyncEnvironment$(sourceMap), P.LinkedHashSet_LinkedHashSet$_empty(t1), P.LinkedHashMap_LinkedHashMap$_empty(t2, t4), t5, C.Configuration_Map_empty_null_true); |
|
t5._EvaluateVisitor$5$functions$importCache$logger$nodeImporter$sourceMap0(functions, importCache, logger, nodeImporter, sourceMap); |
|
return t5; |
|
}, |
|
_ArgumentResults$0: function(positional, named, separator, namedNodes, positionalNodes) { |
|
return new E._ArgumentResults0(positional, positionalNodes, named, namedNodes, separator); |
|
}, |
|
_EvaluateVisitor0: function _EvaluateVisitor0(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) { |
|
var _ = this; |
|
_._async_evaluate$_importCache = t0; |
|
_._async_evaluate$_nodeImporter = t1; |
|
_._async_evaluate$_builtInFunctions = t2; |
|
_._async_evaluate$_builtInModules = t3; |
|
_._async_evaluate$_modules = t4; |
|
_._async_evaluate$_moduleNodes = t5; |
|
_._async_evaluate$_logger = t6; |
|
_._async_evaluate$_sourceMap = t7; |
|
_._async_evaluate$_environment = t8; |
|
_._async_evaluate$_declarationName = _._async_evaluate$_parent = _._async_evaluate$_mediaQueries = _._async_evaluate$_styleRule = null; |
|
_._async_evaluate$_member = "root stylesheet"; |
|
_._async_evaluate$_importSpan = _._async_evaluate$_callableNode = null; |
|
_._async_evaluate$_inKeyframes = _._async_evaluate$_atRootExcludingStyleRule = _._async_evaluate$_inUnknownAtRule = _._async_evaluate$_inFunction = false; |
|
_._async_evaluate$_includedFiles = t9; |
|
_._async_evaluate$_activeModules = t10; |
|
_._async_evaluate$_stack = t11; |
|
_._async_evaluate$_extender = _._async_evaluate$_outOfOrderImports = _._async_evaluate$_endOfImports = _._async_evaluate$_root = _._async_evaluate$_stylesheet = _._async_evaluate$_importer = null; |
|
_._async_evaluate$_configuration = t12; |
|
}, |
|
_EvaluateVisitor_closure9: function _EvaluateVisitor_closure9(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_closure10: function _EvaluateVisitor_closure10(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_closure11: function _EvaluateVisitor_closure11(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_closure12: function _EvaluateVisitor_closure12(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_closure13: function _EvaluateVisitor_closure13(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_closure14: function _EvaluateVisitor_closure14(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_closure15: function _EvaluateVisitor_closure15(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_closure16: function _EvaluateVisitor_closure16(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor__closure8: function _EvaluateVisitor__closure8(t0, t1, t2) { |
|
this.$this = t0; |
|
this.name = t1; |
|
this.module = t2; |
|
}, |
|
_EvaluateVisitor_closure17: function _EvaluateVisitor_closure17(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor__closure6: function _EvaluateVisitor__closure6() { |
|
}, |
|
_EvaluateVisitor__closure7: function _EvaluateVisitor__closure7() { |
|
}, |
|
_EvaluateVisitor_closure18: function _EvaluateVisitor_closure18(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor__closure4: function _EvaluateVisitor__closure4(t0, t1) { |
|
this.values = t0; |
|
this.span = t1; |
|
}, |
|
_EvaluateVisitor__closure5: function _EvaluateVisitor__closure5(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_run_closure0: function _EvaluateVisitor_run_closure0(t0, t1, t2) { |
|
this.$this = t0; |
|
this.node = t1; |
|
this.importer = t2; |
|
}, |
|
_EvaluateVisitor__withWarnCallback_closure0: function _EvaluateVisitor__withWarnCallback_closure0(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor__loadModule_closure0: function _EvaluateVisitor__loadModule_closure0(t0, t1, t2, t3, t4, t5, t6) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.url = t1; |
|
_.nodeWithSpan = t2; |
|
_.baseUrl = t3; |
|
_.namesInErrors = t4; |
|
_.configuration = t5; |
|
_.callback = t6; |
|
}, |
|
_EvaluateVisitor__execute_closure0: function _EvaluateVisitor__execute_closure0(t0, t1, t2, t3, t4, t5) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.$this = t1; |
|
_.importer = t2; |
|
_.stylesheet = t3; |
|
_.extender = t4; |
|
_.configuration = t5; |
|
}, |
|
_EvaluateVisitor__combineCss_closure2: function _EvaluateVisitor__combineCss_closure2() { |
|
}, |
|
_EvaluateVisitor__combineCss_closure3: function _EvaluateVisitor__combineCss_closure3(t0) { |
|
this.selectors = t0; |
|
}, |
|
_EvaluateVisitor__combineCss_closure4: function _EvaluateVisitor__combineCss_closure4() { |
|
}, |
|
_EvaluateVisitor__extendModules_closure1: function _EvaluateVisitor__extendModules_closure1(t0) { |
|
this.originalSelectors = t0; |
|
}, |
|
_EvaluateVisitor__extendModules_closure2: function _EvaluateVisitor__extendModules_closure2() { |
|
}, |
|
_EvaluateVisitor__topologicalModules_visitModule0: function _EvaluateVisitor__topologicalModules_visitModule0(t0, t1) { |
|
this.seen = t0; |
|
this.sorted = t1; |
|
}, |
|
_EvaluateVisitor_visitAtRootRule_closure2: function _EvaluateVisitor_visitAtRootRule_closure2(t0, t1) { |
|
this.$this = t0; |
|
this.resolved = t1; |
|
}, |
|
_EvaluateVisitor_visitAtRootRule_closure3: function _EvaluateVisitor_visitAtRootRule_closure3(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitAtRootRule_closure4: function _EvaluateVisitor_visitAtRootRule_closure4(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor__scopeForAtRoot_closure5: function _EvaluateVisitor__scopeForAtRoot_closure5(t0, t1, t2) { |
|
this.$this = t0; |
|
this.newParent = t1; |
|
this.node = t2; |
|
}, |
|
_EvaluateVisitor__scopeForAtRoot_closure6: function _EvaluateVisitor__scopeForAtRoot_closure6(t0, t1) { |
|
this.$this = t0; |
|
this.innerScope = t1; |
|
}, |
|
_EvaluateVisitor__scopeForAtRoot_closure7: function _EvaluateVisitor__scopeForAtRoot_closure7(t0, t1) { |
|
this.$this = t0; |
|
this.innerScope = t1; |
|
}, |
|
_EvaluateVisitor__scopeForAtRoot__closure0: function _EvaluateVisitor__scopeForAtRoot__closure0(t0, t1) { |
|
this.innerScope = t0; |
|
this.callback = t1; |
|
}, |
|
_EvaluateVisitor__scopeForAtRoot_closure8: function _EvaluateVisitor__scopeForAtRoot_closure8(t0, t1) { |
|
this.$this = t0; |
|
this.innerScope = t1; |
|
}, |
|
_EvaluateVisitor__scopeForAtRoot_closure9: function _EvaluateVisitor__scopeForAtRoot_closure9() { |
|
}, |
|
_EvaluateVisitor__scopeForAtRoot_closure10: function _EvaluateVisitor__scopeForAtRoot_closure10(t0, t1) { |
|
this.$this = t0; |
|
this.innerScope = t1; |
|
}, |
|
_EvaluateVisitor_visitContentRule_closure0: function _EvaluateVisitor_visitContentRule_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.content = t1; |
|
}, |
|
_EvaluateVisitor_visitDeclaration_closure0: function _EvaluateVisitor_visitDeclaration_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitEachRule_closure2: function _EvaluateVisitor_visitEachRule_closure2(t0, t1, t2) { |
|
this.$this = t0; |
|
this.node = t1; |
|
this.nodeWithSpan = t2; |
|
}, |
|
_EvaluateVisitor_visitEachRule_closure3: function _EvaluateVisitor_visitEachRule_closure3(t0, t1, t2) { |
|
this.$this = t0; |
|
this.node = t1; |
|
this.nodeWithSpan = t2; |
|
}, |
|
_EvaluateVisitor_visitEachRule_closure4: function _EvaluateVisitor_visitEachRule_closure4(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.list = t1; |
|
_.setVariables = t2; |
|
_.node = t3; |
|
}, |
|
_EvaluateVisitor_visitEachRule__closure0: function _EvaluateVisitor_visitEachRule__closure0(t0, t1, t2) { |
|
this.$this = t0; |
|
this.setVariables = t1; |
|
this.node = t2; |
|
}, |
|
_EvaluateVisitor_visitEachRule___closure0: function _EvaluateVisitor_visitEachRule___closure0(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_visitExtendRule_closure0: function _EvaluateVisitor_visitExtendRule_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.targetText = t1; |
|
}, |
|
_EvaluateVisitor_visitAtRule_closure1: function _EvaluateVisitor_visitAtRule_closure1(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitAtRule__closure0: function _EvaluateVisitor_visitAtRule__closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitAtRule_closure2: function _EvaluateVisitor_visitAtRule_closure2() { |
|
}, |
|
_EvaluateVisitor_visitForRule_closure4: function _EvaluateVisitor_visitForRule_closure4(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitForRule_closure5: function _EvaluateVisitor_visitForRule_closure5(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitForRule_closure6: function _EvaluateVisitor_visitForRule_closure6(t0, t1) { |
|
this.fromNumber = t0; |
|
this.toNumber = t1; |
|
}, |
|
_EvaluateVisitor_visitForRule_closure7: function _EvaluateVisitor_visitForRule_closure7(t0) { |
|
this.toNumber = t0; |
|
}, |
|
_EvaluateVisitor_visitForRule_closure8: function _EvaluateVisitor_visitForRule_closure8(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.$this = t1; |
|
_.node = t2; |
|
_.from = t3; |
|
_.direction = t4; |
|
}, |
|
_EvaluateVisitor_visitForRule__closure0: function _EvaluateVisitor_visitForRule__closure0(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_visitForwardRule_closure1: function _EvaluateVisitor_visitForwardRule_closure1(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitForwardRule_closure2: function _EvaluateVisitor_visitForwardRule_closure2(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor__assertConfigurationIsEmpty_closure0: function _EvaluateVisitor__assertConfigurationIsEmpty_closure0(t0, t1, t2) { |
|
this.$this = t0; |
|
this.only = t1; |
|
this.nameInError = t2; |
|
}, |
|
_EvaluateVisitor_visitIfRule_closure0: function _EvaluateVisitor_visitIfRule_closure0(t0, t1) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
}, |
|
_EvaluateVisitor_visitIfRule__closure0: function _EvaluateVisitor_visitIfRule__closure0(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor__visitDynamicImport_closure0: function _EvaluateVisitor__visitDynamicImport_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.$import = t1; |
|
}, |
|
_EvaluateVisitor__visitDynamicImport__closure0: function _EvaluateVisitor__visitDynamicImport__closure0(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.$this = t1; |
|
_.importer = t2; |
|
_.stylesheet = t3; |
|
_.environment = t4; |
|
}, |
|
_EvaluateVisitor_visitIncludeRule_closure2: function _EvaluateVisitor_visitIncludeRule_closure2(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitIncludeRule_closure3: function _EvaluateVisitor_visitIncludeRule_closure3(t0) { |
|
this.node = t0; |
|
}, |
|
_EvaluateVisitor_visitIncludeRule_closure4: function _EvaluateVisitor_visitIncludeRule_closure4(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.contentCallable = t1; |
|
_.mixin = t2; |
|
_.nodeWithSpan = t3; |
|
}, |
|
_EvaluateVisitor_visitIncludeRule__closure0: function _EvaluateVisitor_visitIncludeRule__closure0(t0, t1, t2) { |
|
this.$this = t0; |
|
this.mixin = t1; |
|
this.nodeWithSpan = t2; |
|
}, |
|
_EvaluateVisitor_visitIncludeRule___closure0: function _EvaluateVisitor_visitIncludeRule___closure0(t0, t1, t2) { |
|
this.$this = t0; |
|
this.mixin = t1; |
|
this.nodeWithSpan = t2; |
|
}, |
|
_EvaluateVisitor_visitIncludeRule____closure0: function _EvaluateVisitor_visitIncludeRule____closure0(t0, t1) { |
|
this.$this = t0; |
|
this.statement = t1; |
|
}, |
|
_EvaluateVisitor_visitMediaRule_closure1: function _EvaluateVisitor_visitMediaRule_closure1(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.mergedQueries = t1; |
|
_.queries = t2; |
|
_.node = t3; |
|
}, |
|
_EvaluateVisitor_visitMediaRule__closure0: function _EvaluateVisitor_visitMediaRule__closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitMediaRule___closure0: function _EvaluateVisitor_visitMediaRule___closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitMediaRule_closure2: function _EvaluateVisitor_visitMediaRule_closure2(t0) { |
|
this.mergedQueries = t0; |
|
}, |
|
_EvaluateVisitor__visitMediaQueries_closure0: function _EvaluateVisitor__visitMediaQueries_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.resolved = t1; |
|
}, |
|
_EvaluateVisitor_visitStyleRule_closure6: function _EvaluateVisitor_visitStyleRule_closure6(t0, t1) { |
|
this.$this = t0; |
|
this.selectorText = t1; |
|
}, |
|
_EvaluateVisitor_visitStyleRule_closure7: function _EvaluateVisitor_visitStyleRule_closure7(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitStyleRule_closure8: function _EvaluateVisitor_visitStyleRule_closure8() { |
|
}, |
|
_EvaluateVisitor_visitStyleRule_closure9: function _EvaluateVisitor_visitStyleRule_closure9(t0, t1) { |
|
this.$this = t0; |
|
this.selectorText = t1; |
|
}, |
|
_EvaluateVisitor_visitStyleRule_closure10: function _EvaluateVisitor_visitStyleRule_closure10(t0, t1) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
}, |
|
_EvaluateVisitor_visitStyleRule_closure11: function _EvaluateVisitor_visitStyleRule_closure11(t0, t1, t2) { |
|
this.$this = t0; |
|
this.rule = t1; |
|
this.node = t2; |
|
}, |
|
_EvaluateVisitor_visitStyleRule__closure0: function _EvaluateVisitor_visitStyleRule__closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitStyleRule_closure12: function _EvaluateVisitor_visitStyleRule_closure12() { |
|
}, |
|
_EvaluateVisitor_visitSupportsRule_closure1: function _EvaluateVisitor_visitSupportsRule_closure1(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitSupportsRule__closure0: function _EvaluateVisitor_visitSupportsRule__closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitSupportsRule_closure2: function _EvaluateVisitor_visitSupportsRule_closure2() { |
|
}, |
|
_EvaluateVisitor_visitVariableDeclaration_closure2: function _EvaluateVisitor_visitVariableDeclaration_closure2(t0, t1, t2) { |
|
this.$this = t0; |
|
this.node = t1; |
|
this.override = t2; |
|
}, |
|
_EvaluateVisitor_visitVariableDeclaration_closure3: function _EvaluateVisitor_visitVariableDeclaration_closure3(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitVariableDeclaration_closure4: function _EvaluateVisitor_visitVariableDeclaration_closure4(t0, t1, t2) { |
|
this.$this = t0; |
|
this.node = t1; |
|
this.value = t2; |
|
}, |
|
_EvaluateVisitor_visitUseRule_closure0: function _EvaluateVisitor_visitUseRule_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitWarnRule_closure0: function _EvaluateVisitor_visitWarnRule_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitWhileRule_closure0: function _EvaluateVisitor_visitWhileRule_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitWhileRule__closure0: function _EvaluateVisitor_visitWhileRule__closure0(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_visitBinaryOperationExpression_closure0: function _EvaluateVisitor_visitBinaryOperationExpression_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitVariableExpression_closure0: function _EvaluateVisitor_visitVariableExpression_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitListExpression_closure0: function _EvaluateVisitor_visitListExpression_closure0(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_visitFunctionExpression_closure1: function _EvaluateVisitor_visitFunctionExpression_closure1(t0, t1, t2) { |
|
this.$this = t0; |
|
this.node = t1; |
|
this.plainName = t2; |
|
}, |
|
_EvaluateVisitor_visitFunctionExpression_closure2: function _EvaluateVisitor_visitFunctionExpression_closure2(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
this.node = t2; |
|
}, |
|
_EvaluateVisitor__runUserDefinedCallable_closure0: function _EvaluateVisitor__runUserDefinedCallable_closure0(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.callable = t1; |
|
_.evaluated = t2; |
|
_.nodeWithSpan = t3; |
|
_.run = t4; |
|
}, |
|
_EvaluateVisitor__runUserDefinedCallable__closure0: function _EvaluateVisitor__runUserDefinedCallable__closure0(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.evaluated = t1; |
|
_.callable = t2; |
|
_.nodeWithSpan = t3; |
|
_.run = t4; |
|
}, |
|
_EvaluateVisitor__runUserDefinedCallable___closure0: function _EvaluateVisitor__runUserDefinedCallable___closure0(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.evaluated = t1; |
|
_.callable = t2; |
|
_.nodeWithSpan = t3; |
|
_.run = t4; |
|
}, |
|
_EvaluateVisitor__runUserDefinedCallable____closure0: function _EvaluateVisitor__runUserDefinedCallable____closure0() { |
|
}, |
|
_EvaluateVisitor__runFunctionCallable_closure0: function _EvaluateVisitor__runFunctionCallable_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.callable = t1; |
|
}, |
|
_EvaluateVisitor__runBuiltInCallable_closure1: function _EvaluateVisitor__runBuiltInCallable_closure1(t0, t1, t2) { |
|
this.overload = t0; |
|
this.evaluated = t1; |
|
this.namedSet = t2; |
|
}, |
|
_EvaluateVisitor__runBuiltInCallable_closure2: function _EvaluateVisitor__runBuiltInCallable_closure2() { |
|
}, |
|
_EvaluateVisitor__evaluateArguments_closure2: function _EvaluateVisitor__evaluateArguments_closure2(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor__evaluateArguments_closure3: function _EvaluateVisitor__evaluateArguments_closure3(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor__evaluateArguments_closure4: function _EvaluateVisitor__evaluateArguments_closure4(t0, t1, t2) { |
|
this.named = t0; |
|
this.namedNodes = t1; |
|
this.restNodeForSpan = t2; |
|
}, |
|
_EvaluateVisitor__evaluateMacroArguments_closure3: function _EvaluateVisitor__evaluateMacroArguments_closure3() { |
|
}, |
|
_EvaluateVisitor__evaluateMacroArguments_closure4: function _EvaluateVisitor__evaluateMacroArguments_closure4() { |
|
}, |
|
_EvaluateVisitor__evaluateMacroArguments_closure5: function _EvaluateVisitor__evaluateMacroArguments_closure5(t0) { |
|
this.named = t0; |
|
}, |
|
_EvaluateVisitor__evaluateMacroArguments_closure6: function _EvaluateVisitor__evaluateMacroArguments_closure6() { |
|
}, |
|
_EvaluateVisitor__addRestMap_closure1: function _EvaluateVisitor__addRestMap_closure1(t0) { |
|
this.T = t0; |
|
}, |
|
_EvaluateVisitor__addRestMap_closure2: function _EvaluateVisitor__addRestMap_closure2(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.$this = t1; |
|
_.values = t2; |
|
_.map = t3; |
|
_.nodeWithSpan = t4; |
|
}, |
|
_EvaluateVisitor__verifyArguments_closure0: function _EvaluateVisitor__verifyArguments_closure0(t0, t1, t2) { |
|
this.$arguments = t0; |
|
this.positional = t1; |
|
this.named = t2; |
|
}, |
|
_EvaluateVisitor_visitStringExpression_closure0: function _EvaluateVisitor_visitStringExpression_closure0(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_visitCssAtRule_closure1: function _EvaluateVisitor_visitCssAtRule_closure1(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitCssAtRule_closure2: function _EvaluateVisitor_visitCssAtRule_closure2() { |
|
}, |
|
_EvaluateVisitor_visitCssKeyframeBlock_closure1: function _EvaluateVisitor_visitCssKeyframeBlock_closure1(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitCssKeyframeBlock_closure2: function _EvaluateVisitor_visitCssKeyframeBlock_closure2() { |
|
}, |
|
_EvaluateVisitor_visitCssMediaRule_closure1: function _EvaluateVisitor_visitCssMediaRule_closure1(t0, t1, t2) { |
|
this.$this = t0; |
|
this.mergedQueries = t1; |
|
this.node = t2; |
|
}, |
|
_EvaluateVisitor_visitCssMediaRule__closure0: function _EvaluateVisitor_visitCssMediaRule__closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitCssMediaRule___closure0: function _EvaluateVisitor_visitCssMediaRule___closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitCssMediaRule_closure2: function _EvaluateVisitor_visitCssMediaRule_closure2(t0) { |
|
this.mergedQueries = t0; |
|
}, |
|
_EvaluateVisitor_visitCssStyleRule_closure1: function _EvaluateVisitor_visitCssStyleRule_closure1(t0, t1, t2) { |
|
this.$this = t0; |
|
this.rule = t1; |
|
this.node = t2; |
|
}, |
|
_EvaluateVisitor_visitCssStyleRule__closure0: function _EvaluateVisitor_visitCssStyleRule__closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitCssStyleRule_closure2: function _EvaluateVisitor_visitCssStyleRule_closure2() { |
|
}, |
|
_EvaluateVisitor_visitCssSupportsRule_closure1: function _EvaluateVisitor_visitCssSupportsRule_closure1(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitCssSupportsRule__closure0: function _EvaluateVisitor_visitCssSupportsRule__closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitCssSupportsRule_closure2: function _EvaluateVisitor_visitCssSupportsRule_closure2() { |
|
}, |
|
_EvaluateVisitor__performInterpolation_closure0: function _EvaluateVisitor__performInterpolation_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.warnForColor = t1; |
|
}, |
|
_EvaluateVisitor__serialize_closure0: function _EvaluateVisitor__serialize_closure0(t0, t1) { |
|
this.value = t0; |
|
this.quote = t1; |
|
}, |
|
_EvaluateVisitor__stackTrace_closure0: function _EvaluateVisitor__stackTrace_closure0(t0) { |
|
this.$this = t0; |
|
}, |
|
_ImportedCssVisitor0: function _ImportedCssVisitor0(t0) { |
|
this._async_evaluate$_visitor = t0; |
|
}, |
|
_ImportedCssVisitor_visitCssAtRule_closure0: function _ImportedCssVisitor_visitCssAtRule_closure0() { |
|
}, |
|
_ImportedCssVisitor_visitCssMediaRule_closure0: function _ImportedCssVisitor_visitCssMediaRule_closure0(t0) { |
|
this.hasBeenMerged = t0; |
|
}, |
|
_ImportedCssVisitor_visitCssStyleRule_closure0: function _ImportedCssVisitor_visitCssStyleRule_closure0() { |
|
}, |
|
_ImportedCssVisitor_visitCssSupportsRule_closure0: function _ImportedCssVisitor_visitCssSupportsRule_closure0() { |
|
}, |
|
EvaluateResult: function EvaluateResult(t0, t1) { |
|
this.stylesheet = t0; |
|
this.includedFiles = t1; |
|
}, |
|
_ArgumentResults0: function _ArgumentResults0(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.positional = t0; |
|
_.positionalNodes = t1; |
|
_.named = t2; |
|
_.namedNodes = t3; |
|
_.separator = t4; |
|
}, |
|
StringScannerException$: function(message, span, source) { |
|
return new E.StringScannerException(source, message, span); |
|
}, |
|
StringScannerException: function StringScannerException(t0, t1, t2) { |
|
this.source = t0; |
|
this._span_exception$_message = t1; |
|
this._span = t2; |
|
}, |
|
WatchEvent: function WatchEvent(t0, t1) { |
|
this.type = t0; |
|
this.path = t1; |
|
}, |
|
ChangeType: function ChangeType(t0) { |
|
this._watch_event$_name = t0; |
|
} |
|
}, |
|
F = {ValueResult: function ValueResult(t0, t1) { |
|
this.value = t0; |
|
this.$ti = t1; |
|
}, UrlStyle: function UrlStyle(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.separatorPattern = t0; |
|
_.needsSeparatorPattern = t1; |
|
_.rootPattern = t2; |
|
_.relativeRootPattern = t3; |
|
}, |
|
CssMediaQuery$: function(type, features, modifier) { |
|
return new F.CssMediaQuery(modifier, type, features == null ? C.List_empty : P.List_List$unmodifiable(features, P.String)); |
|
}, |
|
CssMediaQuery: function CssMediaQuery(t0, t1, t2) { |
|
this.modifier = t0; |
|
this.type = t1; |
|
this.features = t2; |
|
}, |
|
_SingletonCssMediaQueryMergeResult: function _SingletonCssMediaQueryMergeResult(t0) { |
|
this._media_query$_name = t0; |
|
}, |
|
MediaQuerySuccessfulMergeResult: function MediaQuerySuccessfulMergeResult(t0) { |
|
this.query = t0; |
|
}, |
|
ModifiableCssImport$: function(url, span, media, supports) { |
|
return new F.ModifiableCssImport(url, supports, media == null ? null : P.List_List$unmodifiable(media, F.CssMediaQuery), span); |
|
}, |
|
ModifiableCssImport: function ModifiableCssImport(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.url = t0; |
|
_.supports = t1; |
|
_.media = t2; |
|
_.span = t3; |
|
_._indexInParent = _._parent = null; |
|
_.isGroupEnd = false; |
|
}, |
|
ModifiableCssValue: function ModifiableCssValue(t0, t1, t2) { |
|
this.value = t0; |
|
this.span = t1; |
|
this.$ti = t2; |
|
}, |
|
CssValue: function CssValue(t0, t1, t2) { |
|
this.value = t0; |
|
this.span = t1; |
|
this.$ti = t2; |
|
}, |
|
FunctionExpression: function FunctionExpression(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.namespace = t0; |
|
_.name = t1; |
|
_.$arguments = t2; |
|
_.span = t3; |
|
}, |
|
ValueExpression: function ValueExpression(t0, t1) { |
|
this.value = t0; |
|
this.span = t1; |
|
}, |
|
Import: function Import() { |
|
}, |
|
TypeSelector: function TypeSelector(t0) { |
|
this.name = t0; |
|
}, |
|
main: function(args) { |
|
return F.main$body(args); |
|
}, |
|
main$body: function(args) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], printError, graph, source, destination, error, stackTrace, error0, stackTrace0, error1, error2, stackTrace1, buffer, options, t1, t2, t3, t4, exception, _box_0, $async$exception, $async$exception1, $async$temp1; |
|
var $async$main = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) { |
|
$async$currentError = $async$result; |
|
$async$goto = $async$handler; |
|
} |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
_box_0 = {}; |
|
_box_0.printedError = false; |
|
printError = new F.main_printError(_box_0); |
|
_box_0.options = null; |
|
$async$handler = 4; |
|
options = B.ExecutableOptions_ExecutableOptions$parse(args); |
|
_box_0.options = options; |
|
t1 = options._options; |
|
$._glyphs = !(t1.wasParsed$1("unicode") ? H.boolTypeCast(t1.$index(0, "unicode")) : $._glyphs !== C.C_AsciiGlyphSet) ? C.C_AsciiGlyphSet : C.C_UnicodeGlyphSet; |
|
$async$goto = H.boolTypeCast(_box_0.options._options.$index(0, "version")) ? 7 : 8; |
|
break; |
|
case 7: |
|
// then |
|
$async$temp1 = P; |
|
$async$goto = 9; |
|
return P._asyncAwait(F._loadVersion(), $async$main); |
|
case 9: |
|
// returning from await. |
|
$async$temp1.print($async$result); |
|
self.process.exitCode = 0; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 8: |
|
// join |
|
$async$goto = _box_0.options.get$interactive() ? 10 : 11; |
|
break; |
|
case 10: |
|
// then |
|
$async$goto = 12; |
|
return P._asyncAwait(Y.repl(_box_0.options), $async$main); |
|
case 12: |
|
// returning from await. |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 11: |
|
// join |
|
t1 = H.setRuntimeTypeInfo([], [M.Importer]); |
|
t2 = H.subtypeCast(_box_0.options._options.$index(0, "load-path"), "$isList", [P.String], "$asList"); |
|
t3 = _box_0.options; |
|
t4 = P.Uri; |
|
graph = new M.StylesheetGraph(P.LinkedHashMap_LinkedHashMap$_empty(t4, M.StylesheetNode), R.ImportCache$(t1, t2, H.boolTypeCast(t3._options.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(t3.get$color())), P.LinkedHashMap_LinkedHashMap$_empty(t4, P.DateTime)); |
|
$async$goto = H.boolTypeCast(_box_0.options._options.$index(0, "watch")) ? 13 : 14; |
|
break; |
|
case 13: |
|
// then |
|
$async$goto = 15; |
|
return P._asyncAwait(A.watch(_box_0.options, graph), $async$main); |
|
case 15: |
|
// returning from await. |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 14: |
|
// join |
|
t1 = _box_0.options, t1._ensureSources$0(), t1 = J.get$iterator$ax(t1._sourcesToDestinations.get$keys()); |
|
case 16: |
|
// for condition |
|
if (!t1.moveNext$0()) { |
|
// goto after for |
|
$async$goto = 17; |
|
break; |
|
} |
|
source = t1.get$current(t1); |
|
t2 = _box_0.options; |
|
t2._ensureSources$0(); |
|
destination = t2._sourcesToDestinations.$index(0, source); |
|
$async$handler = 19; |
|
t2 = _box_0.options; |
|
$async$goto = 22; |
|
return P._asyncAwait(D.compileStylesheet(t2, graph, source, destination, H.boolTypeCast(t2._options.$index(0, "update"))), $async$main); |
|
case 22: |
|
// returning from await. |
|
$async$handler = 4; |
|
// goto after finally |
|
$async$goto = 21; |
|
break; |
|
case 19: |
|
// catch |
|
$async$handler = 18; |
|
$async$exception = $async$currentError; |
|
t2 = H.unwrapException($async$exception); |
|
t3 = J.getInterceptor$(t2); |
|
if (!!t3.$isSassException) { |
|
error = t2; |
|
stackTrace = H.getTraceFromException($async$exception); |
|
new F.main_closure0(_box_0, destination).call$0(); |
|
t2 = _box_0.options._options; |
|
if (t2._parser.options._collection$_map.$index(0, "color") == null) |
|
H.throwExpression(P.ArgumentError$('Could not find an option named "color".')); |
|
if (t2._parsed.containsKey$1("color")) |
|
t2 = H.boolTypeCast(t2.$index(0, "color")); |
|
else { |
|
t2 = self.process.stdout.isTTY; |
|
if (t2 == null) |
|
t2 = false; |
|
} |
|
t2 = J.toString$1$color$(error, t2); |
|
t3 = H.boolTypeCast(_box_0.options._options.$index(0, "trace")) ? stackTrace : null; |
|
printError.call$2(t2, t3); |
|
if (!J.$eq$(self.process.exitCode, 66)) |
|
self.process.exitCode = 65; |
|
if (H.boolTypeCast(_box_0.options._options.$index(0, "stop-on-error"))) { |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
} else if (!!t3.$isFileSystemException) { |
|
error0 = t2; |
|
stackTrace0 = H.getTraceFromException($async$exception); |
|
t2 = error0.path; |
|
t2 = "Error reading " + H.S($.$get$context().relative$2$from(t2, null)) + ": " + error0.message + "."; |
|
t3 = H.boolTypeCast(_box_0.options._options.$index(0, "trace")) ? stackTrace0 : null; |
|
printError.call$2(t2, t3); |
|
self.process.exitCode = 66; |
|
if (H.boolTypeCast(_box_0.options._options.$index(0, "stop-on-error"))) { |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
} else |
|
throw $async$exception; |
|
// goto after finally |
|
$async$goto = 21; |
|
break; |
|
case 18: |
|
// uncaught |
|
// goto catch |
|
$async$goto = 4; |
|
break; |
|
case 21: |
|
// after finally |
|
// goto for condition |
|
$async$goto = 16; |
|
break; |
|
case 17: |
|
// after for |
|
$async$handler = 2; |
|
// goto after finally |
|
$async$goto = 6; |
|
break; |
|
case 4: |
|
// catch |
|
$async$handler = 3; |
|
$async$exception1 = $async$currentError; |
|
t1 = H.unwrapException($async$exception1); |
|
if (t1 instanceof B.UsageException) { |
|
error1 = t1; |
|
P.print(H.S(error1.message) + "\n"); |
|
P.print("Usage: sass <input.scss> [output.css]\n sass <input.scss>:<output.css> <input/>:<output/> <dir/>\n"); |
|
t1 = $.$get$ExecutableOptions__parser(); |
|
P.print(new G.Usage(t1._optionsAndSeparators, t1.usageLineLength).generate$0()); |
|
self.process.exitCode = 64; |
|
} else { |
|
error2 = t1; |
|
stackTrace1 = H.getTraceFromException($async$exception1); |
|
buffer = new P.StringBuffer(""); |
|
t1 = _box_0.options; |
|
if (t1 != null && t1.get$color()) |
|
buffer._contents += "\x1b[31m\x1b[1m"; |
|
buffer._contents += "Unexpected exception:"; |
|
t1 = _box_0.options; |
|
if (t1 != null && t1.get$color()) |
|
buffer._contents += "\x1b[0m"; |
|
buffer._contents += "\n"; |
|
buffer._contents += H.S(error2) + "\n"; |
|
t1 = buffer._contents; |
|
printError.call$2(t1.charCodeAt(0) == 0 ? t1 : t1, stackTrace1); |
|
self.process.exitCode = 255; |
|
} |
|
// goto after finally |
|
$async$goto = 6; |
|
break; |
|
case 3: |
|
// uncaught |
|
// goto rethrow |
|
$async$goto = 2; |
|
break; |
|
case 6: |
|
// after finally |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
case 2: |
|
// rethrow |
|
return P._asyncRethrow($async$currentError, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$main, $async$completer); |
|
}, |
|
_loadVersion: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.String), |
|
$async$returnValue; |
|
var $async$_loadVersion = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$returnValue = "1.25.0 compiled with dart2js 2.7.0"; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_loadVersion, $async$completer); |
|
}, |
|
main_printError: function main_printError(t0) { |
|
this._box_0 = t0; |
|
}, |
|
main_closure0: function main_closure0(t0, t1) { |
|
this._box_0 = t0; |
|
this.destination = t1; |
|
}, |
|
Extender__extendOrReplace: function(selector, source, targets, mode) { |
|
var t2, t3, t4, _i, complex, t5, t6, t7, _i0, extender, _null = null, |
|
t1 = source.components, |
|
map = P.LinkedHashMap_LinkedHashMap(_null, _null, _null, S.ComplexSelector, S.Extension); |
|
P.MapBase__fillMapWithMappedIterable(map, t1, _null, new F.Extender__extendOrReplace_closure()); |
|
for (t1 = targets.components, t2 = t1.length, t3 = M.SimpleSelector, t4 = [P.Map, S.ComplexSelector, S.Extension], _i = 0; _i < t2; ++_i) { |
|
complex = t1[_i]; |
|
t5 = complex.components; |
|
if (t5.length !== 1) |
|
throw H.wrapException(E.SassScriptException$("Can't extend complex selector " + H.S(complex) + ".")); |
|
t6 = P.LinkedHashMap_LinkedHashMap$_empty(t3, t4); |
|
for (t5 = H.interceptedTypeCast(C.JSArray_methods.get$first(t5), "$isCompoundSelector").components, t7 = t5.length, _i0 = 0; _i0 < t7; ++_i0) |
|
t6.$indexSet(0, t5[_i0], map); |
|
extender = F.Extender$_mode(mode); |
|
if (!selector.get$isInvisible()) |
|
extender._originals.addAll$1(0, selector.components); |
|
selector = extender._extendList$3(selector, t6, _null); |
|
} |
|
return selector; |
|
}, |
|
Extender$_mode: function(_mode) { |
|
var t1 = M.SimpleSelector; |
|
return new F.Extender(P.LinkedHashMap_LinkedHashMap$_empty(t1, [P.Set, [F.ModifiableCssValue, D.SelectorList]]), P.LinkedHashMap_LinkedHashMap$_empty(t1, [P.Map, S.ComplexSelector, S.Extension]), P.LinkedHashMap_LinkedHashMap$_empty(t1, [P.List, S.Extension]), P.LinkedHashMap_LinkedHashMap$_empty([F.ModifiableCssValue, D.SelectorList], [P.List, F.CssMediaQuery]), P._LinkedIdentityHashMap__LinkedIdentityHashMap$es6(t1, P.int), new P._LinkedIdentityHashSet([S.ComplexSelector]), _mode); |
|
}, |
|
Extender: function Extender(t0, t1, t2, t3, t4, t5, t6) { |
|
var _ = this; |
|
_._selectors = t0; |
|
_._extensions = t1; |
|
_._extensionsByExtender = t2; |
|
_._mediaContexts = t3; |
|
_._sourceSpecificity = t4; |
|
_._originals = t5; |
|
_._mode = t6; |
|
}, |
|
Extender__extendOrReplace_closure: function Extender__extendOrReplace_closure() { |
|
}, |
|
Extender_extensionsWhereTarget_closure: function Extender_extensionsWhereTarget_closure() { |
|
}, |
|
Extender__registerSelector_closure: function Extender__registerSelector_closure() { |
|
}, |
|
Extender_addExtension_closure: function Extender_addExtension_closure() { |
|
}, |
|
Extender_addExtension_closure0: function Extender_addExtension_closure0() { |
|
}, |
|
Extender_addExtension_closure1: function Extender_addExtension_closure1(t0) { |
|
this.complex = t0; |
|
}, |
|
Extender__extendExistingExtensions_closure: function Extender__extendExistingExtensions_closure() { |
|
}, |
|
Extender__extendExistingExtensions_closure0: function Extender__extendExistingExtensions_closure0() { |
|
}, |
|
Extender_addExtensions_closure: function Extender_addExtensions_closure(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
this.extender = t2; |
|
}, |
|
Extender_addExtensions__closure: function Extender_addExtensions__closure(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.existingSources = t1; |
|
_.extensionsForTarget = t2; |
|
_.selectorsForTarget = t3; |
|
_.target = t4; |
|
}, |
|
Extender_addExtensions___closure: function Extender_addExtensions___closure() { |
|
}, |
|
Extender_addExtensions___closure0: function Extender_addExtensions___closure0(t0) { |
|
this.extension = t0; |
|
}, |
|
Extender__extendList_closure: function Extender__extendList_closure() { |
|
}, |
|
Extender__extendComplex_closure: function Extender__extendComplex_closure(t0) { |
|
this.complex = t0; |
|
}, |
|
Extender__extendComplex_closure0: function Extender__extendComplex_closure0(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
this.complex = t2; |
|
}, |
|
Extender__extendComplex__closure: function Extender__extendComplex__closure() { |
|
}, |
|
Extender__extendComplex__closure0: function Extender__extendComplex__closure0(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.$this = t1; |
|
_.complex = t2; |
|
_.path = t3; |
|
}, |
|
Extender__extendComplex___closure: function Extender__extendComplex___closure() { |
|
}, |
|
Extender__extendCompound_closure: function Extender__extendCompound_closure(t0) { |
|
this.mediaQueryContext = t0; |
|
}, |
|
Extender__extendCompound_closure0: function Extender__extendCompound_closure0(t0, t1) { |
|
this._box_1 = t0; |
|
this.mediaQueryContext = t1; |
|
}, |
|
Extender__extendCompound__closure: function Extender__extendCompound__closure() { |
|
}, |
|
Extender__extendCompound__closure0: function Extender__extendCompound__closure0(t0) { |
|
this._box_0 = t0; |
|
}, |
|
Extender__extendCompound_closure1: function Extender__extendCompound_closure1() { |
|
}, |
|
Extender__extendCompound_closure2: function Extender__extendCompound_closure2() { |
|
}, |
|
Extender__extendSimple_withoutPseudo: function Extender__extendSimple_withoutPseudo(t0, t1, t2) { |
|
this.$this = t0; |
|
this.extensions = t1; |
|
this.targetsUsed = t2; |
|
}, |
|
Extender__extendSimple_closure: function Extender__extendSimple_closure(t0, t1) { |
|
this.$this = t0; |
|
this.withoutPseudo = t1; |
|
}, |
|
Extender__extendPseudo_closure: function Extender__extendPseudo_closure() { |
|
}, |
|
Extender__extendPseudo_closure0: function Extender__extendPseudo_closure0() { |
|
}, |
|
Extender__extendPseudo_closure1: function Extender__extendPseudo_closure1() { |
|
}, |
|
Extender__extendPseudo_closure2: function Extender__extendPseudo_closure2(t0) { |
|
this.pseudo = t0; |
|
}, |
|
Extender__extendPseudo_closure3: function Extender__extendPseudo_closure3(t0) { |
|
this.pseudo = t0; |
|
}, |
|
Extender__trim_closure: function Extender__trim_closure(t0, t1) { |
|
this._box_0 = t0; |
|
this.complex1 = t1; |
|
}, |
|
Extender__trim_closure0: function Extender__trim_closure0(t0, t1) { |
|
this._box_0 = t0; |
|
this.complex1 = t1; |
|
}, |
|
Extender_clone_closure: function Extender_clone_closure(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.newSelectors = t1; |
|
_.oldToNewSelectors = t2; |
|
_.newMediaContexts = t3; |
|
}, |
|
FilesystemImporter: function FilesystemImporter(t0) { |
|
this._loadPath = t0; |
|
}, |
|
NodeImporter__addSassPath: function($async$includePaths) { |
|
return P._makeSyncStarIterable(function() { |
|
var includePaths = $async$includePaths; |
|
var $async$goto = 0, $async$handler = 2, $async$currentError, sassPath; |
|
return function $async$NodeImporter__addSassPath($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) { |
|
$async$currentError = $async$result; |
|
$async$goto = $async$handler; |
|
} |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._IterationMarker_yieldStar(includePaths); |
|
case 3: |
|
// after yield |
|
sassPath = H.stringTypeCast(J.get$env$x(self.process).SASS_PATH); |
|
if (sassPath == null) { |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
$async$goto = 4; |
|
return P._IterationMarker_yieldStar(H.setRuntimeTypeInfo(sassPath.split(J.$eq$(J.get$platform$x(self.process), "win32") ? ";" : ":"), [P.String])); |
|
case 4: |
|
// after yield |
|
case 1: |
|
// return |
|
return P._IterationMarker_endOfIteration(); |
|
case 2: |
|
// rethrow |
|
return P._IterationMarker_uncaughtError($async$currentError); |
|
} |
|
}; |
|
}, P.String); |
|
}, |
|
NodeImporter: function NodeImporter(t0, t1, t2) { |
|
this._implementation$_context = t0; |
|
this._includePaths = t1; |
|
this._implementation$_importers = t2; |
|
}, |
|
NodeImporter__tryPath_closure: function NodeImporter__tryPath_closure(t0) { |
|
this.path = t0; |
|
}, |
|
realCasePath: function(path) { |
|
var t1, basename, matches; |
|
if (!(J.$eq$(J.get$platform$x(self.process), "win32") || J.$eq$(J.get$platform$x(self.process), "darwin"))) |
|
return path; |
|
t1 = $.$get$context(); |
|
basename = X.ParsedPath_ParsedPath$parse(path, t1.style).get$basename(); |
|
matches = J.where$1$ax(B.listDir(t1.dirname$1(path), false), new F.realCasePath_closure(basename)).toList$0(0); |
|
if (matches.length !== 1) |
|
return path; |
|
return C.JSArray_methods.get$first(matches); |
|
}, |
|
realCasePath_closure: function realCasePath_closure(t0) { |
|
this.basename = t0; |
|
}, |
|
_QuietLogger: function _QuietLogger() { |
|
}, |
|
JSFunction: function JSFunction() { |
|
}, |
|
NodeImporterResult: function NodeImporterResult() { |
|
}, |
|
MediaQueryParser: function MediaQueryParser(t0, t1) { |
|
this.scanner = t0; |
|
this.logger = t1; |
|
}, |
|
MediaQueryParser_parse_closure: function MediaQueryParser_parse_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
PrefixedMapView: function PrefixedMapView(t0, t1, t2) { |
|
this._prefixed_map_view$_map = t0; |
|
this._prefix = t1; |
|
this.$ti = t2; |
|
}, |
|
_PrefixedKeys: function _PrefixedKeys(t0) { |
|
this._view = t0; |
|
}, |
|
_PrefixedKeys_iterator_closure: function _PrefixedKeys_iterator_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
Value: function Value() { |
|
}, |
|
SassFunction: function SassFunction(t0) { |
|
this.callable = t0; |
|
}, |
|
_FindDependenciesVisitor: function _FindDependenciesVisitor(t0, t1) { |
|
this._usesAndForwards = t0; |
|
this._imports = t1; |
|
}, |
|
unwrapValue: function(object) { |
|
var value; |
|
if (object != null) { |
|
if (object instanceof F.Value) |
|
return object; |
|
value = object.dartValue; |
|
if (value != null && value instanceof F.Value) |
|
return value; |
|
if (object instanceof self.Error) |
|
throw H.wrapException(object); |
|
} |
|
throw H.wrapException(H.S(object) + " must be a Sass value type."); |
|
}, |
|
wrapValue: function(value) { |
|
var t1 = J.getInterceptor$(value); |
|
if (!!t1.$isSassColor) |
|
return P.callConstructor($.$get$colorConstructor(), [null, null, null, null, value]); |
|
if (!!t1.$isSassList) |
|
return P.callConstructor($.$get$listConstructor(), [null, null, value]); |
|
if (!!t1.$isSassMap) |
|
return P.callConstructor($.$get$mapConstructor(), [null, value]); |
|
if (!!t1.$isSassNumber) |
|
return P.callConstructor($.$get$numberConstructor(), [null, null, value]); |
|
if (!!t1.$isSassString) |
|
return P.callConstructor($.$get$stringConstructor(), [null, value]); |
|
return value; |
|
} |
|
}, |
|
Y = {StreamCompleter: function StreamCompleter(t0, t1) { |
|
this._stream_completer$_stream = t0; |
|
this.$ti = t1; |
|
}, _CompleterStream: function _CompleterStream(t0) { |
|
this._sourceStream = this._stream_completer$_controller = null; |
|
this.$ti = t0; |
|
}, |
|
mapMap: function(map, key, value, K1, V1, K2, V2) { |
|
var result, t1 = {}; |
|
t1.key = key; |
|
t1.value = value; |
|
if (key == null) |
|
t1.key = new Y.mapMap_closure(K2, K1, V1); |
|
if (value == null) |
|
t1.value = new Y.mapMap_closure0(V2, K1, V1); |
|
result = P.LinkedHashMap_LinkedHashMap$_empty(K2, V2); |
|
map.forEach$1(0, new Y.mapMap_closure1(t1, result, K1, V1)); |
|
return result; |
|
}, |
|
groupBy: function(values, key, $S, $T) { |
|
var t1, _i, element, |
|
map = P.LinkedHashMap_LinkedHashMap$_empty($T, [P.List, $S]); |
|
for (t1 = values.length, _i = 0; _i < values.length; values.length === t1 || (0, H.throwConcurrentModificationError)(values), ++_i) { |
|
element = values[_i]; |
|
J.add$1$ax(map.putIfAbsent$2(key.call$1(element), new Y.groupBy_closure($S)), element); |
|
} |
|
return map; |
|
}, |
|
minBy: function(values, orderBy, $S, $T) { |
|
var t1, minValue, minOrderBy, element, elementOrderBy, |
|
compare = B.defaultCompare($T); |
|
for (t1 = new H.MappedIterator(J.get$iterator$ax(values.__internal$_iterable), values._f), minValue = null, minOrderBy = null; t1.moveNext$0();) { |
|
element = t1.__internal$_current; |
|
elementOrderBy = orderBy.call$1(element); |
|
if (minOrderBy == null || compare.call$2(elementOrderBy, minOrderBy) < 0) { |
|
minOrderBy = elementOrderBy; |
|
minValue = element; |
|
} |
|
} |
|
return minValue; |
|
}, |
|
mapMap_closure: function mapMap_closure(t0, t1, t2) { |
|
this.K2 = t0; |
|
this.K1 = t1; |
|
this.V1 = t2; |
|
}, |
|
mapMap_closure0: function mapMap_closure0(t0, t1, t2) { |
|
this.V2 = t0; |
|
this.K1 = t1; |
|
this.V1 = t2; |
|
}, |
|
mapMap_closure1: function mapMap_closure1(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.result = t1; |
|
_.K1 = t2; |
|
_.V1 = t3; |
|
}, |
|
groupBy_closure: function groupBy_closure(t0) { |
|
this.S = t0; |
|
}, |
|
ContentBlock: function ContentBlock(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.name = t0; |
|
_.$arguments = t1; |
|
_.span = t2; |
|
_.children = t3; |
|
_.hasDeclarations = t4; |
|
}, |
|
WarnRule: function WarnRule(t0, t1) { |
|
this.expression = t0; |
|
this.span = t1; |
|
}, |
|
unifyComplex: function(complexes) { |
|
var t2, unifiedBase, base, t3, t4, _i, complexesWithoutBases, |
|
t1 = J.getInterceptor$asx(complexes); |
|
if (t1.get$length(complexes) === 1) |
|
return complexes; |
|
for (t2 = t1.get$iterator(complexes), unifiedBase = null; t2.moveNext$0();) { |
|
base = J.get$last$ax(t2.get$current(t2)); |
|
if (base instanceof X.CompoundSelector) |
|
if (unifiedBase == null) |
|
unifiedBase = base.components; |
|
else |
|
for (t3 = base.components, t4 = t3.length, _i = 0; _i < t4; ++_i) { |
|
unifiedBase = t3[_i].unify$1(unifiedBase); |
|
if (unifiedBase == null) |
|
return; |
|
} |
|
else |
|
return; |
|
} |
|
complexesWithoutBases = t1.map$1$1(complexes, new Y.unifyComplex_closure(), [P.List, S.ComplexSelectorComponent]).toList$0(0); |
|
J.add$1$ax(C.JSArray_methods.get$last(complexesWithoutBases), X.CompoundSelector$(unifiedBase)); |
|
return Y.weave(complexesWithoutBases); |
|
}, |
|
unifyCompound: function(compound1, compound2) { |
|
var t1, result, _i; |
|
for (t1 = compound1.length, result = compound2, _i = 0; _i < t1; ++_i) { |
|
result = compound1[_i].unify$1(result); |
|
if (result == null) |
|
return; |
|
} |
|
return X.CompoundSelector$(result); |
|
}, |
|
unifyUniversalAndElement: function(selector1, selector2) { |
|
var namespace1, name1, t1, namespace2, name2, namespace, $name, |
|
_s45_ = "must be a UniversalSelector or a TypeSelector"; |
|
if (!!selector1.$isUniversalSelector) { |
|
namespace1 = selector1.namespace; |
|
name1 = null; |
|
} else if (!!selector1.$isTypeSelector) { |
|
t1 = selector1.name; |
|
namespace1 = t1.namespace; |
|
name1 = t1.name; |
|
} else |
|
throw H.wrapException(P.ArgumentError$value(selector1, "selector1", _s45_)); |
|
t1 = J.getInterceptor$(selector2); |
|
if (!!t1.$isUniversalSelector) { |
|
namespace2 = selector2.namespace; |
|
name2 = null; |
|
} else if (!!t1.$isTypeSelector) { |
|
t1 = selector2.name; |
|
namespace2 = t1.namespace; |
|
name2 = t1.name; |
|
} else |
|
throw H.wrapException(P.ArgumentError$value(selector2, "selector2", _s45_)); |
|
if (namespace1 == namespace2 || namespace2 === "*") |
|
namespace = namespace1; |
|
else { |
|
if (namespace1 !== "*") |
|
return; |
|
namespace = namespace2; |
|
} |
|
if (name1 == name2 || name2 == null) |
|
$name = name1; |
|
else { |
|
if (!(name1 == null || name1 === "*")) |
|
return; |
|
$name = name2; |
|
} |
|
return $name == null ? new N.UniversalSelector(namespace) : new F.TypeSelector(new D.QualifiedName($name, namespace)); |
|
}, |
|
weave: function(complexes) { |
|
var t2, t3, t4, target, _i, parents, newPrefixes, parentPrefixes, t5, |
|
t1 = [[P.List, S.ComplexSelectorComponent]], |
|
prefixes = H.setRuntimeTypeInfo([J.toList$0$ax(C.JSArray_methods.get$first(complexes))], t1); |
|
for (t2 = H.SubListIterable$(complexes, 1, null, H.getTypeArgumentByIndex(complexes, 0)), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) { |
|
t3 = t2.__internal$_current; |
|
t4 = J.getInterceptor$asx(t3); |
|
if (t4.get$isEmpty(t3)) |
|
continue; |
|
target = t4.get$last(t3); |
|
if (t4.get$length(t3) === 1) { |
|
for (t3 = prefixes.length, _i = 0; _i < prefixes.length; prefixes.length === t3 || (0, H.throwConcurrentModificationError)(prefixes), ++_i) |
|
J.add$1$ax(prefixes[_i], target); |
|
continue; |
|
} |
|
parents = t4.take$1(t3, t4.get$length(t3) - 1).toList$0(0); |
|
newPrefixes = H.setRuntimeTypeInfo([], t1); |
|
for (t3 = prefixes.length, _i = 0; _i < prefixes.length; prefixes.length === t3 || (0, H.throwConcurrentModificationError)(prefixes), ++_i) { |
|
parentPrefixes = Y._weaveParents(prefixes[_i], parents); |
|
if (parentPrefixes == null) |
|
continue; |
|
for (t4 = parentPrefixes.get$iterator(parentPrefixes); t4.moveNext$0();) { |
|
t5 = t4.get$current(t4); |
|
J.add$1$ax(t5, target); |
|
newPrefixes.push(t5); |
|
} |
|
} |
|
prefixes = newPrefixes; |
|
} |
|
return prefixes; |
|
}, |
|
_weaveParents: function(parents1, parents2) { |
|
var finalCombinators, root1, root2, root, groups1, groups2, lcs, t2, t3, choices, t4, _i, group, t5, |
|
t1 = S.ComplexSelectorComponent, |
|
queue1 = P.ListQueue_ListQueue$of(parents1, t1), |
|
queue2 = P.ListQueue_ListQueue$of(parents2, t1), |
|
initialCombinators = Y._mergeInitialCombinators(queue1, queue2); |
|
if (initialCombinators == null) |
|
return; |
|
finalCombinators = Y._mergeFinalCombinators(queue1, queue2, null); |
|
if (finalCombinators == null) |
|
return; |
|
root1 = Y._firstIfRoot(queue1); |
|
root2 = Y._firstIfRoot(queue2); |
|
t1 = root1 != null; |
|
if (t1 && root2 != null) { |
|
root = Y.unifyCompound(root1.components, root2.components); |
|
if (root == null) |
|
return; |
|
queue1.addFirst$1(root); |
|
queue2.addFirst$1(root); |
|
} else if (t1) |
|
queue2.addFirst$1(root1); |
|
else if (root2 != null) |
|
queue1.addFirst$1(root2); |
|
groups1 = Y._groupSelectors(queue1); |
|
groups2 = Y._groupSelectors(queue2); |
|
t1 = [P.List, S.ComplexSelectorComponent]; |
|
lcs = B.longestCommonSubsequence(groups2, groups1, new Y._weaveParents_closure(), t1); |
|
t2 = [P.Iterable, S.ComplexSelectorComponent]; |
|
t3 = [t2]; |
|
choices = H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([initialCombinators], t3)], [[P.List, [P.Iterable, S.ComplexSelectorComponent]]]); |
|
for (t4 = lcs.length, _i = 0; _i < lcs.length; lcs.length === t4 || (0, H.throwConcurrentModificationError)(lcs), ++_i) { |
|
group = lcs[_i]; |
|
t5 = Y._chunks(groups1, groups2, new Y._weaveParents_closure0(group), t1); |
|
choices.push(new H.MappedListIterable(t5, new Y._weaveParents_closure1(), [H.getTypeArgumentByIndex(t5, 0), t2]).toList$0(0)); |
|
choices.push(H.setRuntimeTypeInfo([group], t3)); |
|
groups1.removeFirst$0(); |
|
groups2.removeFirst$0(); |
|
} |
|
t3 = Y._chunks(groups1, groups2, new Y._weaveParents_closure2(), t1); |
|
choices.push(new H.MappedListIterable(t3, new Y._weaveParents_closure3(), [H.getTypeArgumentByIndex(t3, 0), t2]).toList$0(0)); |
|
C.JSArray_methods.addAll$1(choices, finalCombinators); |
|
return J.map$1$1$ax(Y.paths(new H.WhereIterable(choices, new Y._weaveParents_closure4(), [H.getTypeArgumentByIndex(choices, 0)]), t2), new Y._weaveParents_closure5(), t1); |
|
}, |
|
_firstIfRoot: function(queue) { |
|
var first; |
|
if (queue._collection$_head === queue._collection$_tail) |
|
return; |
|
first = queue.get$first(queue); |
|
if (first instanceof X.CompoundSelector) { |
|
if (!Y._hasRoot(first)) |
|
return; |
|
queue.removeFirst$0(); |
|
return first; |
|
} else |
|
return; |
|
}, |
|
_mergeInitialCombinators: function(components1, components2) { |
|
var t3, combinators2, lcs, |
|
t1 = S.Combinator, |
|
t2 = [t1], |
|
combinators1 = H.setRuntimeTypeInfo([], t2); |
|
while (true) { |
|
if (!components1.get$isEmpty(components1)) { |
|
t3 = components1._collection$_head; |
|
if (t3 === components1._collection$_tail) |
|
H.throwExpression(H.IterableElementError_noElement()); |
|
t3 = components1._collection$_table[t3] instanceof S.Combinator; |
|
} else |
|
t3 = false; |
|
if (!t3) |
|
break; |
|
combinators1.push(H.interceptedTypeCast(components1.removeFirst$0(), "$isCombinator")); |
|
} |
|
combinators2 = H.setRuntimeTypeInfo([], t2); |
|
while (true) { |
|
if (!components2.get$isEmpty(components2)) { |
|
t2 = components2._collection$_head; |
|
if (t2 === components2._collection$_tail) |
|
H.throwExpression(H.IterableElementError_noElement()); |
|
t2 = components2._collection$_table[t2] instanceof S.Combinator; |
|
} else |
|
t2 = false; |
|
if (!t2) |
|
break; |
|
combinators2.push(H.interceptedTypeCast(components2.removeFirst$0(), "$isCombinator")); |
|
} |
|
lcs = B.longestCommonSubsequence(combinators1, combinators2, null, t1); |
|
if (C.C_ListEquality.equals$2(lcs, combinators1)) |
|
return combinators2; |
|
if (C.C_ListEquality.equals$2(lcs, combinators2)) |
|
return combinators1; |
|
return; |
|
}, |
|
_mergeFinalCombinators: function(components1, components2, result) { |
|
var t1, t2, combinators1, combinators2, lcs, combinator1, combinator2, compound1, compound2, choices, unified, followingSiblingSelector, nextSiblingSelector, _null = null; |
|
if (result == null) |
|
result = Q.QueueList$(_null, [P.List, [P.List, S.ComplexSelectorComponent]]); |
|
if (components1._collection$_head === components1._collection$_tail || !(components1.get$last(components1) instanceof S.Combinator)) |
|
t1 = components2._collection$_head === components2._collection$_tail || !(components2.get$last(components2) instanceof S.Combinator); |
|
else |
|
t1 = false; |
|
if (t1) |
|
return result; |
|
t1 = S.Combinator; |
|
t2 = [t1]; |
|
combinators1 = H.setRuntimeTypeInfo([], t2); |
|
while (true) { |
|
if (!(!components1.get$isEmpty(components1) && components1.get$last(components1) instanceof S.Combinator)) |
|
break; |
|
combinators1.push(H.interceptedTypeCast(components1.removeLast$0(0), "$isCombinator")); |
|
} |
|
combinators2 = H.setRuntimeTypeInfo([], t2); |
|
while (true) { |
|
if (!(!components2.get$isEmpty(components2) && components2.get$last(components2) instanceof S.Combinator)) |
|
break; |
|
combinators2.push(H.interceptedTypeCast(components2.removeLast$0(0), "$isCombinator")); |
|
} |
|
t2 = combinators1.length; |
|
if (t2 > 1 || combinators2.length > 1) { |
|
lcs = B.longestCommonSubsequence(combinators1, combinators2, _null, t1); |
|
if (C.C_ListEquality.equals$2(lcs, combinators1)) |
|
result.addFirst$1(H.setRuntimeTypeInfo([P.List_List$from(new H.ReversedListIterable(combinators2, [H.getTypeArgumentByIndex(combinators2, 0)]), true, S.ComplexSelectorComponent)], [[P.List, S.ComplexSelectorComponent]])); |
|
else if (C.C_ListEquality.equals$2(lcs, combinators2)) |
|
result.addFirst$1(H.setRuntimeTypeInfo([P.List_List$from(new H.ReversedListIterable(combinators1, [H.getTypeArgumentByIndex(combinators1, 0)]), true, S.ComplexSelectorComponent)], [[P.List, S.ComplexSelectorComponent]])); |
|
else |
|
return; |
|
return result; |
|
} |
|
combinator1 = t2 === 0 ? _null : C.JSArray_methods.get$first(combinators1); |
|
combinator2 = combinators2.length === 0 ? _null : C.JSArray_methods.get$first(combinators2); |
|
t1 = combinator1 != null; |
|
if (t1 && combinator2 != null) { |
|
compound1 = H.interceptedTypeCast(components1.removeLast$0(0), "$isCompoundSelector"); |
|
compound2 = H.interceptedTypeCast(components2.removeLast$0(0), "$isCompoundSelector"); |
|
t1 = combinator1 === C.Combinator_CzM; |
|
if (t1 && combinator2 === C.Combinator_CzM) { |
|
compound1.toString; |
|
if (Y.compoundIsSuperselector(compound1, compound2, _null)) |
|
result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([compound2, C.Combinator_CzM], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]])); |
|
else { |
|
compound2.toString; |
|
t1 = [S.ComplexSelectorComponent]; |
|
t2 = [[P.List, S.ComplexSelectorComponent]]; |
|
if (Y.compoundIsSuperselector(compound2, compound1, _null)) |
|
result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([compound1, C.Combinator_CzM], t1)], t2)); |
|
else { |
|
choices = H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([compound1, C.Combinator_CzM, compound2, C.Combinator_CzM], t1), H.setRuntimeTypeInfo([compound2, C.Combinator_CzM, compound1, C.Combinator_CzM], t1)], t2); |
|
unified = Y.unifyCompound(compound1.components, compound2.components); |
|
if (unified != null) |
|
choices.push(H.setRuntimeTypeInfo([unified, C.Combinator_CzM], t1)); |
|
result.addFirst$1(choices); |
|
} |
|
} |
|
} else { |
|
if (!(t1 && combinator2 === C.Combinator_uzg)) |
|
t2 = combinator1 === C.Combinator_uzg && combinator2 === C.Combinator_CzM; |
|
else |
|
t2 = true; |
|
if (t2) { |
|
followingSiblingSelector = t1 ? compound1 : compound2; |
|
nextSiblingSelector = t1 ? compound2 : compound1; |
|
followingSiblingSelector.toString; |
|
t1 = [S.ComplexSelectorComponent]; |
|
t2 = [[P.List, S.ComplexSelectorComponent]]; |
|
if (Y.compoundIsSuperselector(followingSiblingSelector, nextSiblingSelector, _null)) |
|
result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([nextSiblingSelector, C.Combinator_uzg], t1)], t2)); |
|
else { |
|
unified = Y.unifyCompound(compound1.components, compound2.components); |
|
t2 = H.setRuntimeTypeInfo([], t2); |
|
t2.push(H.setRuntimeTypeInfo([followingSiblingSelector, C.Combinator_CzM, nextSiblingSelector, C.Combinator_uzg], t1)); |
|
if (unified != null) |
|
t2.push(H.setRuntimeTypeInfo([unified, C.Combinator_uzg], t1)); |
|
result.addFirst$1(t2); |
|
} |
|
} else { |
|
if (combinator1 === C.Combinator_sgq) |
|
t2 = combinator2 === C.Combinator_uzg || combinator2 === C.Combinator_CzM; |
|
else |
|
t2 = false; |
|
if (t2) { |
|
result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([compound2, combinator2], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]])); |
|
components1._collection$_add$1(compound1); |
|
components1._collection$_add$1(C.Combinator_sgq); |
|
} else { |
|
if (combinator2 === C.Combinator_sgq) |
|
t1 = combinator1 === C.Combinator_uzg || t1; |
|
else |
|
t1 = false; |
|
if (t1) { |
|
result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([compound1, combinator1], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]])); |
|
components2._collection$_add$1(compound2); |
|
components2._collection$_add$1(C.Combinator_sgq); |
|
} else if (combinator1 === combinator2) { |
|
unified = Y.unifyCompound(compound1.components, compound2.components); |
|
if (unified == null) |
|
return; |
|
result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([unified, combinator1], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]])); |
|
} else |
|
return; |
|
} |
|
} |
|
} |
|
return Y._mergeFinalCombinators(components1, components2, result); |
|
} else if (t1) { |
|
if (combinator1 === C.Combinator_sgq) |
|
if (!components2.get$isEmpty(components2)) { |
|
t1 = H.interceptedTypeCast(components2.get$last(components2), "$isCompoundSelector"); |
|
t2 = H.interceptedTypeCast(components1.get$last(components1), "$isCompoundSelector"); |
|
t1.toString; |
|
t2 = Y.compoundIsSuperselector(t1, t2, _null); |
|
t1 = t2; |
|
} else |
|
t1 = false; |
|
else |
|
t1 = false; |
|
if (t1) |
|
components2.removeLast$0(0); |
|
result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([components1.removeLast$0(0), combinator1], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]])); |
|
return Y._mergeFinalCombinators(components1, components2, result); |
|
} else { |
|
if (combinator2 === C.Combinator_sgq) |
|
if (!components1.get$isEmpty(components1)) { |
|
t1 = H.interceptedTypeCast(components1.get$last(components1), "$isCompoundSelector"); |
|
t2 = H.interceptedTypeCast(components2.get$last(components2), "$isCompoundSelector"); |
|
t1.toString; |
|
t2 = Y.compoundIsSuperselector(t1, t2, _null); |
|
t1 = t2; |
|
} else |
|
t1 = false; |
|
else |
|
t1 = false; |
|
if (t1) |
|
components1.removeLast$0(0); |
|
result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([components2.removeLast$0(0), combinator2], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]])); |
|
return Y._mergeFinalCombinators(components1, components2, result); |
|
} |
|
}, |
|
_mustUnify: function(complex1, complex2) { |
|
var t2, t3, t4, |
|
t1 = P.LinkedHashSet_LinkedHashSet(M.SimpleSelector); |
|
for (t2 = J.get$iterator$ax(complex1); t2.moveNext$0();) { |
|
t3 = t2.get$current(t2); |
|
if (t3 instanceof X.CompoundSelector) |
|
for (t3 = C.JSArray_methods.get$iterator(t3.components), t4 = new H.WhereIterator(t3, Y.functions___isUnique$closure()); t4.moveNext$0();) |
|
t1.add$1(0, t3.get$current(t3)); |
|
} |
|
if (t1._collection$_length === 0) |
|
return false; |
|
return J.any$1$ax(complex2, new Y._mustUnify_closure(t1)); |
|
}, |
|
_isUnique: function(simple) { |
|
var t1 = J.getInterceptor$(simple); |
|
if (!t1.$isIDSelector) |
|
t1 = !!t1.$isPseudoSelector && !simple.isClass; |
|
else |
|
t1 = true; |
|
return t1; |
|
}, |
|
_chunks: function(queue1, queue2, done, $T) { |
|
var chunk2, t2, t3, _i, |
|
t1 = [$T], |
|
chunk1 = H.setRuntimeTypeInfo([], t1); |
|
for (; !done.call$1(queue1);) |
|
chunk1.push(queue1.removeFirst$0()); |
|
chunk2 = H.setRuntimeTypeInfo([], t1); |
|
for (; !done.call$1(queue2);) |
|
chunk2.push(queue2.removeFirst$0()); |
|
t2 = chunk1.length === 0; |
|
if (t2 && chunk2.length === 0) |
|
return H.setRuntimeTypeInfo([], [[P.List, $T]]); |
|
if (t2) |
|
return H.setRuntimeTypeInfo([chunk2], [[P.List, $T]]); |
|
if (chunk2.length === 0) |
|
return H.setRuntimeTypeInfo([chunk1], [[P.List, $T]]); |
|
t2 = H.setRuntimeTypeInfo([], t1); |
|
for (t3 = chunk1.length, _i = 0; _i < chunk1.length; chunk1.length === t3 || (0, H.throwConcurrentModificationError)(chunk1), ++_i) |
|
t2.push(chunk1[_i]); |
|
for (t3 = chunk2.length, _i = 0; _i < chunk2.length; chunk2.length === t3 || (0, H.throwConcurrentModificationError)(chunk2), ++_i) |
|
t2.push(chunk2[_i]); |
|
t1 = H.setRuntimeTypeInfo([], t1); |
|
for (t3 = chunk2.length, _i = 0; _i < chunk2.length; chunk2.length === t3 || (0, H.throwConcurrentModificationError)(chunk2), ++_i) |
|
t1.push(chunk2[_i]); |
|
for (t3 = chunk1.length, _i = 0; _i < chunk1.length; chunk1.length === t3 || (0, H.throwConcurrentModificationError)(chunk1), ++_i) |
|
t1.push(chunk1[_i]); |
|
return H.setRuntimeTypeInfo([t2, t1], [[P.List, $T]]); |
|
}, |
|
paths: function(choices, $T) { |
|
return J.fold$2$ax(choices, H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([], [$T])], [[P.List, $T]]), new Y.paths_closure($T)); |
|
}, |
|
_groupSelectors: function(complex) { |
|
var t1, group, t2, t3, |
|
groups = Q.QueueList$(null, [P.List, S.ComplexSelectorComponent]), |
|
iterator = P._ListQueueIterator$(complex); |
|
if (!iterator.moveNext$0()) |
|
return groups; |
|
t1 = [S.ComplexSelectorComponent]; |
|
group = H.setRuntimeTypeInfo([iterator._collection$_current], t1); |
|
groups._queue_list$_add$1(group); |
|
for (; iterator.moveNext$0();) { |
|
t2 = C.JSArray_methods.get$last(group) instanceof S.Combinator || iterator._collection$_current instanceof S.Combinator; |
|
t3 = iterator._collection$_current; |
|
if (t2) |
|
group.push(t3); |
|
else { |
|
group = H.setRuntimeTypeInfo([t3], t1); |
|
groups._queue_list$_add$1(group); |
|
} |
|
} |
|
return groups; |
|
}, |
|
_hasRoot: function(compound) { |
|
return C.JSArray_methods.any$1(compound.components, new Y._hasRoot_closure()); |
|
}, |
|
listIsSuperslector: function(list1, list2) { |
|
return C.JSArray_methods.every$1(list2, new Y.listIsSuperslector_closure(list1)); |
|
}, |
|
complexIsParentSuperselector: function(complex1, complex2) { |
|
var t2, base, t3, t4, |
|
t1 = J.getInterceptor$ax(complex1); |
|
if (t1.get$first(complex1) instanceof S.Combinator) |
|
return false; |
|
t2 = J.getInterceptor$ax(complex2); |
|
if (t2.get$first(complex2) instanceof S.Combinator) |
|
return false; |
|
if (t1.get$length(complex1) > t2.get$length(complex2)) |
|
return false; |
|
base = X.CompoundSelector$(H.setRuntimeTypeInfo([new N.PlaceholderSelector("<temp>")], [M.SimpleSelector])); |
|
t3 = [S.ComplexSelectorComponent]; |
|
t4 = H.setRuntimeTypeInfo([], t3); |
|
for (t1 = t1.get$iterator(complex1); t1.moveNext$0();) |
|
t4.push(t1.get$current(t1)); |
|
t4.push(base); |
|
t1 = H.setRuntimeTypeInfo([], t3); |
|
for (t2 = t2.get$iterator(complex2); t2.moveNext$0();) |
|
t1.push(t2.get$current(t2)); |
|
t1.push(base); |
|
return Y.complexIsSuperselector(t4, t1); |
|
}, |
|
complexIsSuperselector: function(complex1, complex2) { |
|
var t1, i1, i2, remaining1, remaining2, t2, afterSuperselector, afterSuperselector0, t3, compound2, i10, combinator1, combinator2; |
|
if (C.JSArray_methods.get$last(complex1) instanceof S.Combinator) |
|
return false; |
|
if (C.JSArray_methods.get$last(complex2) instanceof S.Combinator) |
|
return false; |
|
for (t1 = H.getTypeArgumentByIndex(complex2, 0), i1 = 0, i2 = 0; true;) { |
|
remaining1 = complex1.length - i1; |
|
remaining2 = complex2.length - i2; |
|
if (remaining1 === 0 || remaining2 === 0) |
|
return false; |
|
if (remaining1 > remaining2) |
|
return false; |
|
t2 = complex1[i1]; |
|
if (t2 instanceof S.Combinator) |
|
return false; |
|
if (complex2[i2] instanceof S.Combinator) |
|
return false; |
|
H.interceptedTypeCast(t2, "$isCompoundSelector"); |
|
if (remaining1 === 1) |
|
return Y.compoundIsSuperselector(t2, H.interceptedTypeCast(C.JSArray_methods.get$last(complex2), "$isCompoundSelector"), H.SubListIterable$(complex2, 0, complex2.length - 1, t1).skip$1(0, i2)); |
|
afterSuperselector = i2 + 1; |
|
for (afterSuperselector0 = afterSuperselector; afterSuperselector0 < complex2.length; ++afterSuperselector0) { |
|
t3 = afterSuperselector0 - 1; |
|
compound2 = complex2[t3]; |
|
if (compound2 instanceof X.CompoundSelector) |
|
if (Y.compoundIsSuperselector(t2, compound2, H.SubListIterable$(complex2, 0, t3, t1).skip$1(0, afterSuperselector))) |
|
break; |
|
} |
|
if (afterSuperselector0 === complex2.length) |
|
return false; |
|
i10 = i1 + 1; |
|
combinator1 = complex1[i10]; |
|
combinator2 = complex2[afterSuperselector0]; |
|
if (combinator1 instanceof S.Combinator) { |
|
if (!(combinator2 instanceof S.Combinator)) |
|
return false; |
|
if (combinator1 === C.Combinator_CzM) { |
|
if (combinator2 === C.Combinator_sgq) |
|
return false; |
|
} else if (combinator2 !== combinator1) |
|
return false; |
|
if (remaining1 === 3 && remaining2 > 3) |
|
return false; |
|
i1 += 2; |
|
i2 = afterSuperselector0 + 1; |
|
} else { |
|
if (combinator2 instanceof S.Combinator) { |
|
if (combinator2 !== C.Combinator_sgq) |
|
return false; |
|
i2 = afterSuperselector0 + 1; |
|
} else |
|
i2 = afterSuperselector0; |
|
i1 = i10; |
|
} |
|
} |
|
}, |
|
compoundIsSuperselector: function(compound1, compound2, parents) { |
|
var t1, t2, _i, simple1, simple2; |
|
for (t1 = compound1.components, t2 = t1.length, _i = 0; _i < t2; ++_i) { |
|
simple1 = t1[_i]; |
|
if (simple1 instanceof D.PseudoSelector && simple1.selector != null) { |
|
if (!Y._selectorPseudoIsSuperselector(simple1, compound2, parents)) |
|
return false; |
|
} else if (!Y._simpleIsSuperselectorOfCompound(simple1, compound2)) |
|
return false; |
|
} |
|
for (t1 = compound2.components, t2 = t1.length, _i = 0; _i < t2; ++_i) { |
|
simple2 = t1[_i]; |
|
if (simple2 instanceof D.PseudoSelector && !simple2.isClass && simple2.selector == null && !Y._simpleIsSuperselectorOfCompound(simple2, compound1)) |
|
return false; |
|
} |
|
return true; |
|
}, |
|
_simpleIsSuperselectorOfCompound: function(simple, compound) { |
|
return C.JSArray_methods.any$1(compound.components, new Y._simpleIsSuperselectorOfCompound_closure(simple)); |
|
}, |
|
_selectorPseudoIsSuperselector: function(pseudo1, compound2, parents) { |
|
switch (pseudo1.normalizedName) { |
|
case "matches": |
|
case "any": |
|
return Y._selectorPseudosNamed(compound2, pseudo1.name, true).any$1(0, new Y._selectorPseudoIsSuperselector_closure(pseudo1)) || C.JSArray_methods.any$1(pseudo1.selector.components, new Y._selectorPseudoIsSuperselector_closure0(parents, compound2)); |
|
case "has": |
|
case "host": |
|
case "host-context": |
|
return Y._selectorPseudosNamed(compound2, pseudo1.name, true).any$1(0, new Y._selectorPseudoIsSuperselector_closure1(pseudo1)); |
|
case "slotted": |
|
return Y._selectorPseudosNamed(compound2, pseudo1.name, false).any$1(0, new Y._selectorPseudoIsSuperselector_closure2(pseudo1)); |
|
case "not": |
|
return C.JSArray_methods.every$1(pseudo1.selector.components, new Y._selectorPseudoIsSuperselector_closure3(compound2, pseudo1)); |
|
case "current": |
|
return Y._selectorPseudosNamed(compound2, pseudo1.name, true).any$1(0, new Y._selectorPseudoIsSuperselector_closure4(pseudo1)); |
|
case "nth-child": |
|
case "nth-last-child": |
|
return C.JSArray_methods.any$1(compound2.components, new Y._selectorPseudoIsSuperselector_closure5(pseudo1)); |
|
default: |
|
throw H.wrapException("unreachable"); |
|
} |
|
}, |
|
_selectorPseudosNamed: function(compound, $name, isClass) { |
|
var t1 = D.PseudoSelector; |
|
return new H.WhereIterable(new H.WhereTypeIterable(compound.components, [t1]), new Y._selectorPseudosNamed_closure(isClass, $name), [t1]); |
|
}, |
|
unifyComplex_closure: function unifyComplex_closure() { |
|
}, |
|
_weaveParents_closure: function _weaveParents_closure() { |
|
}, |
|
_weaveParents_closure0: function _weaveParents_closure0(t0) { |
|
this.group = t0; |
|
}, |
|
_weaveParents_closure1: function _weaveParents_closure1() { |
|
}, |
|
_weaveParents__closure1: function _weaveParents__closure1() { |
|
}, |
|
_weaveParents_closure2: function _weaveParents_closure2() { |
|
}, |
|
_weaveParents_closure3: function _weaveParents_closure3() { |
|
}, |
|
_weaveParents__closure0: function _weaveParents__closure0() { |
|
}, |
|
_weaveParents_closure4: function _weaveParents_closure4() { |
|
}, |
|
_weaveParents_closure5: function _weaveParents_closure5() { |
|
}, |
|
_weaveParents__closure: function _weaveParents__closure() { |
|
}, |
|
_mustUnify_closure: function _mustUnify_closure(t0) { |
|
this.uniqueSelectors = t0; |
|
}, |
|
_mustUnify__closure: function _mustUnify__closure(t0) { |
|
this.uniqueSelectors = t0; |
|
}, |
|
paths_closure: function paths_closure(t0) { |
|
this.T = t0; |
|
}, |
|
paths__closure: function paths__closure(t0, t1) { |
|
this.paths = t0; |
|
this.T = t1; |
|
}, |
|
paths___closure: function paths___closure(t0, t1) { |
|
this.option = t0; |
|
this.T = t1; |
|
}, |
|
_hasRoot_closure: function _hasRoot_closure() { |
|
}, |
|
listIsSuperslector_closure: function listIsSuperslector_closure(t0) { |
|
this.list1 = t0; |
|
}, |
|
listIsSuperslector__closure: function listIsSuperslector__closure(t0) { |
|
this.complex1 = t0; |
|
}, |
|
_simpleIsSuperselectorOfCompound_closure: function _simpleIsSuperselectorOfCompound_closure(t0) { |
|
this.simple = t0; |
|
}, |
|
_simpleIsSuperselectorOfCompound__closure: function _simpleIsSuperselectorOfCompound__closure(t0) { |
|
this.simple = t0; |
|
}, |
|
_selectorPseudoIsSuperselector_closure: function _selectorPseudoIsSuperselector_closure(t0) { |
|
this.pseudo1 = t0; |
|
}, |
|
_selectorPseudoIsSuperselector_closure0: function _selectorPseudoIsSuperselector_closure0(t0, t1) { |
|
this.parents = t0; |
|
this.compound2 = t1; |
|
}, |
|
_selectorPseudoIsSuperselector_closure1: function _selectorPseudoIsSuperselector_closure1(t0) { |
|
this.pseudo1 = t0; |
|
}, |
|
_selectorPseudoIsSuperselector_closure2: function _selectorPseudoIsSuperselector_closure2(t0) { |
|
this.pseudo1 = t0; |
|
}, |
|
_selectorPseudoIsSuperselector_closure3: function _selectorPseudoIsSuperselector_closure3(t0, t1) { |
|
this.compound2 = t0; |
|
this.pseudo1 = t1; |
|
}, |
|
_selectorPseudoIsSuperselector__closure: function _selectorPseudoIsSuperselector__closure(t0, t1) { |
|
this.complex = t0; |
|
this.pseudo1 = t1; |
|
}, |
|
_selectorPseudoIsSuperselector___closure: function _selectorPseudoIsSuperselector___closure(t0) { |
|
this.simple2 = t0; |
|
}, |
|
_selectorPseudoIsSuperselector___closure0: function _selectorPseudoIsSuperselector___closure0(t0) { |
|
this.simple2 = t0; |
|
}, |
|
_selectorPseudoIsSuperselector_closure4: function _selectorPseudoIsSuperselector_closure4(t0) { |
|
this.pseudo1 = t0; |
|
}, |
|
_selectorPseudoIsSuperselector_closure5: function _selectorPseudoIsSuperselector_closure5(t0) { |
|
this.pseudo1 = t0; |
|
}, |
|
_selectorPseudosNamed_closure: function _selectorPseudosNamed_closure(t0, t1) { |
|
this.isClass = t0; |
|
this.name = t1; |
|
}, |
|
closure: function closure() { |
|
}, |
|
Chokidar: function Chokidar() { |
|
}, |
|
ChokidarOptions: function ChokidarOptions() { |
|
}, |
|
ChokidarWatcher: function ChokidarWatcher() { |
|
}, |
|
SourceFile$decoded: function(decodedChars, url) { |
|
var t1 = H.setRuntimeTypeInfo([0], [P.int]), |
|
t2 = typeof url === "string" ? P.Uri_parse(url) : H.interceptedTypeCast(url, "$isUri"); |
|
t1 = new Y.SourceFile(t2, t1, new Uint32Array(H._ensureNativeList(J.toList$0$ax(decodedChars)))); |
|
t1.SourceFile$decoded$2$url(decodedChars, url); |
|
return t1; |
|
}, |
|
FileLocation$_: function(file, offset) { |
|
if (offset < 0) |
|
H.throwExpression(P.RangeError$("Offset may not be negative, was " + offset + ".")); |
|
else if (offset > file._decodedChars.length) |
|
H.throwExpression(P.RangeError$("Offset " + offset + " must not be greater than the number of characters in the file, " + file.get$length(file) + ".")); |
|
return new Y.FileLocation(file, offset); |
|
}, |
|
_FileSpan$: function(file, _start, _end) { |
|
if (_end < _start) |
|
H.throwExpression(P.ArgumentError$("End " + _end + " must come after start " + _start + ".")); |
|
else if (_end > file._decodedChars.length) |
|
H.throwExpression(P.RangeError$("End " + _end + " must not be greater than the number of characters in the file, " + file.get$length(file) + ".")); |
|
else if (_start < 0) |
|
H.throwExpression(P.RangeError$("Start may not be negative, was " + _start + ".")); |
|
return new Y._FileSpan(file, _start, _end); |
|
}, |
|
SourceFile: function SourceFile(t0, t1, t2) { |
|
var _ = this; |
|
_.url = t0; |
|
_._lineStarts = t1; |
|
_._decodedChars = t2; |
|
_._cachedLine = null; |
|
}, |
|
FileLocation: function FileLocation(t0, t1) { |
|
this.file = t0; |
|
this.offset = t1; |
|
}, |
|
FileSpan: function FileSpan() { |
|
}, |
|
_FileSpan: function _FileSpan(t0, t1, t2) { |
|
this.file = t0; |
|
this._start = t1; |
|
this._file$_end = t2; |
|
}, |
|
SourceSpanMixin: function SourceSpanMixin() { |
|
}, |
|
Trace_Trace$from: function(trace) { |
|
if (trace == null) |
|
throw H.wrapException(P.ArgumentError$("Cannot create a Trace from null.")); |
|
if (!!trace.$isTrace) |
|
return trace; |
|
if (!!trace.$isChain) |
|
return trace.toTrace$0(); |
|
return new T.LazyTrace(new Y.Trace_Trace$from_closure(trace)); |
|
}, |
|
Trace_Trace$parse: function(trace) { |
|
var error, t1, exception; |
|
try { |
|
if (trace.length === 0) { |
|
t1 = A.Frame; |
|
t1 = P.List_List$unmodifiable(H.setRuntimeTypeInfo([], [t1]), t1); |
|
return new Y.Trace(t1, new P._StringStackTrace(null)); |
|
} |
|
if (J.getInterceptor$asx(trace).contains$1(trace, $.$get$_v8Trace())) { |
|
t1 = Y.Trace$parseV8(trace); |
|
return t1; |
|
} |
|
if (C.JSString_methods.contains$1(trace, "\tat ")) { |
|
t1 = Y.Trace$parseJSCore(trace); |
|
return t1; |
|
} |
|
if (C.JSString_methods.contains$1(trace, $.$get$_firefoxSafariTrace())) { |
|
t1 = Y.Trace$parseFirefox(trace); |
|
return t1; |
|
} |
|
if (C.JSString_methods.contains$1(trace, "===== asynchronous gap ===========================\n")) { |
|
t1 = U.Chain_Chain$parse(trace).toTrace$0(); |
|
return t1; |
|
} |
|
if (C.JSString_methods.contains$1(trace, $.$get$_friendlyTrace())) { |
|
t1 = Y.Trace$parseFriendly(trace); |
|
return t1; |
|
} |
|
t1 = P.List_List$unmodifiable(Y.Trace__parseVM(trace), A.Frame); |
|
return new Y.Trace(t1, new P._StringStackTrace(trace)); |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (!!J.getInterceptor$(t1).$isFormatException) { |
|
error = t1; |
|
throw H.wrapException(P.FormatException$(H.S(J.get$message$x(error)) + "\nStack trace:\n" + H.S(trace), null, null)); |
|
} else |
|
throw exception; |
|
} |
|
}, |
|
Trace__parseVM: function(trace) { |
|
var $frames, |
|
t1 = J.trim$0$s(trace), |
|
lines = H.setRuntimeTypeInfo(H.stringReplaceAllUnchecked(t1, "<asynchronous suspension>\n", "").split("\n"), [P.String]); |
|
t1 = H.SubListIterable$(lines, 0, lines.length - 1, H.getTypeArgumentByIndex(lines, 0)); |
|
$frames = new H.MappedListIterable(t1, new Y.Trace__parseVM_closure(), [H.getTypeArgumentByIndex(t1, 0), A.Frame]).toList$0(0); |
|
if (!J.endsWith$1$s(C.JSArray_methods.get$last(lines), ".da")) |
|
C.JSArray_methods.add$1($frames, A.Frame_Frame$parseVM(C.JSArray_methods.get$last(lines))); |
|
return $frames; |
|
}, |
|
Trace$parseV8: function(trace) { |
|
var t2, |
|
t1 = H.setRuntimeTypeInfo(trace.split("\n"), [P.String]); |
|
t1 = H.SubListIterable$(t1, 1, null, H.getTypeArgumentByIndex(t1, 0)).super$Iterable$skipWhile(0, new Y.Trace$parseV8_closure()); |
|
t2 = A.Frame; |
|
return new Y.Trace(P.List_List$unmodifiable(H.MappedIterable_MappedIterable(t1, new Y.Trace$parseV8_closure0(), H.getTypeArgumentByIndex(t1, 0), t2), t2), new P._StringStackTrace(trace)); |
|
}, |
|
Trace$parseJSCore: function(trace) { |
|
var t1 = H.setRuntimeTypeInfo(trace.split("\n"), [P.String]), |
|
t2 = H.getTypeArgumentByIndex(t1, 0), |
|
t3 = A.Frame; |
|
return new Y.Trace(P.List_List$unmodifiable(new H.MappedIterable(new H.WhereIterable(t1, new Y.Trace$parseJSCore_closure(), [t2]), new Y.Trace$parseJSCore_closure0(), [t2, t3]), t3), new P._StringStackTrace(trace)); |
|
}, |
|
Trace$parseFirefox: function(trace) { |
|
var t1 = H.setRuntimeTypeInfo(C.JSString_methods.trim$0(trace).split("\n"), [P.String]), |
|
t2 = H.getTypeArgumentByIndex(t1, 0), |
|
t3 = A.Frame; |
|
return new Y.Trace(P.List_List$unmodifiable(new H.MappedIterable(new H.WhereIterable(t1, new Y.Trace$parseFirefox_closure(), [t2]), new Y.Trace$parseFirefox_closure0(), [t2, t3]), t3), new P._StringStackTrace(trace)); |
|
}, |
|
Trace$parseFriendly: function(trace) { |
|
var t2, t3, |
|
t1 = A.Frame; |
|
if (trace.length === 0) |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
else { |
|
t2 = H.setRuntimeTypeInfo(J.trim$0$s(trace).split("\n"), [P.String]); |
|
t3 = H.getTypeArgumentByIndex(t2, 0); |
|
t3 = new H.MappedIterable(new H.WhereIterable(t2, new Y.Trace$parseFriendly_closure(), [t3]), new Y.Trace$parseFriendly_closure0(), [t3, t1]); |
|
t2 = t3; |
|
} |
|
return new Y.Trace(P.List_List$unmodifiable(t2, t1), new P._StringStackTrace(trace)); |
|
}, |
|
Trace: function Trace(t0, t1) { |
|
this.frames = t0; |
|
this.original = t1; |
|
}, |
|
Trace_Trace$from_closure: function Trace_Trace$from_closure(t0) { |
|
this.trace = t0; |
|
}, |
|
Trace__parseVM_closure: function Trace__parseVM_closure() { |
|
}, |
|
Trace$parseV8_closure: function Trace$parseV8_closure() { |
|
}, |
|
Trace$parseV8_closure0: function Trace$parseV8_closure0() { |
|
}, |
|
Trace$parseJSCore_closure: function Trace$parseJSCore_closure() { |
|
}, |
|
Trace$parseJSCore_closure0: function Trace$parseJSCore_closure0() { |
|
}, |
|
Trace$parseFirefox_closure: function Trace$parseFirefox_closure() { |
|
}, |
|
Trace$parseFirefox_closure0: function Trace$parseFirefox_closure0() { |
|
}, |
|
Trace$parseFriendly_closure: function Trace$parseFriendly_closure() { |
|
}, |
|
Trace$parseFriendly_closure0: function Trace$parseFriendly_closure0() { |
|
}, |
|
Trace_terse_closure: function Trace_terse_closure() { |
|
}, |
|
Trace_foldFrames_closure: function Trace_foldFrames_closure(t0) { |
|
this.oldPredicate = t0; |
|
}, |
|
Trace_foldFrames_closure0: function Trace_foldFrames_closure0(t0) { |
|
this._box_0 = t0; |
|
}, |
|
Trace_toString_closure0: function Trace_toString_closure0() { |
|
}, |
|
Trace_toString_closure: function Trace_toString_closure(t0) { |
|
this.longest = t0; |
|
}, |
|
repl: function(options) { |
|
return Y.repl$body(options); |
|
}, |
|
repl$body: function(options) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$handler = 1, $async$currentError, $async$next = [], repl, logger, evaluator, line, declaration, error, stackTrace, t6, t7, t8, t9, line0, exception, t1, t2, t3, t4, t5, repl0; |
|
var $async$repl = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) { |
|
$async$currentError = $async$result; |
|
$async$goto = $async$handler; |
|
} |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = P.String; |
|
t2 = [t1]; |
|
t3 = H.setRuntimeTypeInfo([], t2); |
|
t4 = C.JSString_methods.$mul(" ", 3); |
|
t5 = $.$get$alwaysValid(); |
|
repl0 = new Q.Repl(">> ", t4, t5, t3); |
|
repl0._adapter = new B.ReplAdapter(repl0); |
|
repl = repl0; |
|
t3 = options._options; |
|
logger = new T.TrackingLogger(H.boolTypeCast(t3.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(options.get$color())); |
|
t4 = D.absolute("."); |
|
evaluator = new R.Evaluator(R._EvaluateVisitor$(null, R.ImportCache$(C.List_empty10, H.subtypeCast(t3.$index(0, "load-path"), "$isList", t2, "$asList"), logger), logger, null, false), new F.FilesystemImporter(t4)); |
|
t4 = P._StreamIterator$(repl._adapter.runAsync$0()); |
|
$async$handler = 2; |
|
t2 = Z.VariableDeclaration, t3 = [P.int]; |
|
case 5: |
|
// for condition |
|
$async$goto = 7; |
|
return P._asyncAwait(t4.moveNext$0(), $async$repl); |
|
case 7: |
|
// returning from await. |
|
if (!$async$result) { |
|
// goto after for |
|
$async$goto = 6; |
|
break; |
|
} |
|
line = t4.get$current(t4); |
|
if (J.trim$0$s(line).length === 0) { |
|
// goto for condition |
|
$async$goto = 5; |
|
break; |
|
} |
|
try { |
|
if (J.startsWith$1$s(line, "@")) { |
|
t5 = evaluator; |
|
t6 = line; |
|
t7 = logger; |
|
t6.toString; |
|
t8 = new H.CodeUnits(t6); |
|
t9 = H.setRuntimeTypeInfo([0], t3); |
|
t9 = new Y.SourceFile(null, t9, new Uint32Array(H._ensureNativeList(t8.toList$0(t8)))); |
|
t9.SourceFile$decoded$2$url(t8, null); |
|
if (t7 == null) |
|
t7 = C.StderrLogger_false; |
|
t7 = new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), new S.SpanScanner(t9, null, t6), t7).parseUseRule$0(); |
|
t5._visitor.runStatement$2(t5._importer, t7); |
|
// goto for condition |
|
$async$goto = 5; |
|
break; |
|
} |
|
t5 = line; |
|
t5.toString; |
|
t6 = new H.CodeUnits(t5); |
|
t7 = H.setRuntimeTypeInfo([0], t3); |
|
t7 = new Y.SourceFile(null, t7, new Uint32Array(H._ensureNativeList(t6.toList$0(t6)))); |
|
t7.SourceFile$decoded$2$url(t6, null); |
|
if (new G.Parser(new S.SpanScanner(t7, null, t5), C.StderrLogger_false)._isVariableDeclarationLike$0()) { |
|
t5 = line; |
|
t6 = logger; |
|
t5.toString; |
|
t7 = new H.CodeUnits(t5); |
|
t8 = H.setRuntimeTypeInfo([0], t3); |
|
t8 = new Y.SourceFile(null, t8, new Uint32Array(H._ensureNativeList(t7.toList$0(t7)))); |
|
t8.SourceFile$decoded$2$url(t7, null); |
|
if (t6 == null) |
|
t6 = C.StderrLogger_false; |
|
declaration = new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), new S.SpanScanner(t8, null, t5), t6).parseVariableDeclaration$0(); |
|
t6 = evaluator; |
|
t6._visitor.runStatement$2(t6._importer, declaration); |
|
t6 = evaluator; |
|
t5 = declaration.name; |
|
t8 = declaration.span; |
|
t7 = declaration.namespace; |
|
line0 = H.S(t6._visitor.runExpression$2(t6._importer, new S.VariableExpression(t7, t5, t8))); |
|
t5 = $.printToZone; |
|
if (t5 == null) |
|
H.printString(line0); |
|
else |
|
t5.call$1(line0); |
|
} else { |
|
t5 = evaluator; |
|
t6 = line; |
|
t7 = logger; |
|
t6.toString; |
|
t8 = new H.CodeUnits(t6); |
|
t9 = H.setRuntimeTypeInfo([0], t3); |
|
t9 = new Y.SourceFile(null, t9, new Uint32Array(H._ensureNativeList(t8.toList$0(t8)))); |
|
t9.SourceFile$decoded$2$url(t8, null); |
|
if (t7 == null) |
|
t7 = C.StderrLogger_false; |
|
t7 = new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), new S.SpanScanner(t9, null, t6), t7); |
|
t7 = t7._parseSingleProduction$1(t7.get$expression()); |
|
line0 = H.S(t5._visitor.runExpression$2(t5._importer, t7)); |
|
t5 = $.printToZone; |
|
if (t5 == null) |
|
H.printString(line0); |
|
else |
|
t5.call$1(line0); |
|
} |
|
} catch (exception) { |
|
t5 = H.unwrapException(exception); |
|
if (t5 instanceof E.SassException) { |
|
error = t5; |
|
stackTrace = H.getTraceFromException(exception); |
|
Y._logError(error, stackTrace, line, repl, options, logger); |
|
} else |
|
throw exception; |
|
} |
|
// goto for condition |
|
$async$goto = 5; |
|
break; |
|
case 6: |
|
// after for |
|
$async$next.push(4); |
|
// goto finally |
|
$async$goto = 3; |
|
break; |
|
case 2: |
|
// uncaught |
|
$async$next = [1]; |
|
case 3: |
|
// finally |
|
$async$handler = 1; |
|
$async$goto = 8; |
|
return P._asyncAwait(t4.cancel$0(), $async$repl); |
|
case 8: |
|
// returning from await. |
|
// goto the next finally handler |
|
$async$goto = $async$next.pop(); |
|
break; |
|
case 4: |
|
// after finally |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
case 1: |
|
// rethrow |
|
return P._asyncRethrow($async$currentError, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$repl, $async$completer); |
|
}, |
|
_logError: function(error, stackTrace, line, repl, options, logger) { |
|
var t1, t2, spacesBeforeError; |
|
if (G.SourceSpanException.prototype.get$span.call(error).file.url == null) |
|
if (!H.boolTypeCast(options._options.$index(0, "quiet"))) |
|
t1 = logger._emittedDebug || logger._emittedWarning; |
|
else |
|
t1 = false; |
|
else |
|
t1 = true; |
|
if (t1) { |
|
P.print(error.toString$1$color(0, options.get$color())); |
|
return; |
|
} |
|
t1 = options.get$color() ? "\x1b[31m" : ""; |
|
t2 = G.SourceSpanException.prototype.get$span.call(error); |
|
t2 = Y.FileLocation$_(t2.file, t2._start); |
|
spacesBeforeError = repl.prompt.length + t2.file.getColumn$1(t2.offset); |
|
if (options.get$color()) { |
|
t2 = G.SourceSpanException.prototype.get$span.call(error); |
|
t2 = Y.FileLocation$_(t2.file, t2._start); |
|
t2 = t2.file.getColumn$1(t2.offset) < line.length; |
|
} else |
|
t2 = false; |
|
if (t2) { |
|
t1 += "\x1b[1F\x1b[" + spacesBeforeError + "C"; |
|
t2 = G.SourceSpanException.prototype.get$span.call(error); |
|
t2 = t1 + (P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t2.file._decodedChars, t2._start, t2._file$_end), 0, null) + "\n"); |
|
t1 = t2; |
|
} |
|
t1 += C.JSString_methods.$mul(" ", spacesBeforeError); |
|
t2 = G.SourceSpanException.prototype.get$span.call(error); |
|
t2 = t1 + (C.JSString_methods.$mul("^", Math.max(1, t2._file$_end - t2._start)) + "\n"); |
|
t1 = options.get$color() ? t2 + "\x1b[0m" : t2; |
|
t1 += "Error: " + H.S(error._span_exception$_message) + "\n"; |
|
if (H.boolTypeCast(options._options.$index(0, "trace"))) |
|
t1 += Y.Trace_Trace$from(stackTrace).get$terse().toString$0(0); |
|
P.print(C.JSString_methods.trimRight$0(t1.charCodeAt(0) == 0 ? t1 : t1)); |
|
} |
|
}, |
|
L = {StreamGroup: function StreamGroup(t0, t1, t2) { |
|
var _ = this; |
|
_._controller = null; |
|
_._closed = false; |
|
_._stream_group$_state = t0; |
|
_._subscriptions = t1; |
|
_.$ti = t2; |
|
}, StreamGroup_add_closure: function StreamGroup_add_closure() { |
|
}, StreamGroup_add_closure0: function StreamGroup_add_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.stream = t1; |
|
}, StreamGroup__onListen_closure: function StreamGroup__onListen_closure(t0) { |
|
this.$this = t0; |
|
}, StreamGroup__onCancel_closure: function StreamGroup__onCancel_closure() { |
|
}, StreamGroup__onCancel_closure0: function StreamGroup__onCancel_closure0() { |
|
}, StreamGroup__listenToStream_closure: function StreamGroup__listenToStream_closure(t0, t1) { |
|
this.$this = t0; |
|
this.stream = t1; |
|
}, _StreamGroupState: function _StreamGroupState(t0) { |
|
this.name = t0; |
|
}, |
|
UnmodifiableSetMixin__throw: function() { |
|
throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable Set")); |
|
}, |
|
UnmodifiableSetView: function UnmodifiableSetView(t0, t1) { |
|
this._base = t0; |
|
this.$ti = t1; |
|
}, |
|
UnmodifiableSetMixin: function UnmodifiableSetMixin() { |
|
}, |
|
_UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin: function _UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin() { |
|
}, |
|
WindowsStyle: function WindowsStyle(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.separatorPattern = t0; |
|
_.needsSeparatorPattern = t1; |
|
_.rootPattern = t2; |
|
_.relativeRootPattern = t3; |
|
}, |
|
WindowsStyle_absolutePathToUri_closure: function WindowsStyle_absolutePathToUri_closure() { |
|
}, |
|
ModifiableCssDeclaration$: function($name, value, span, valueSpanForMap) { |
|
return new L.ModifiableCssDeclaration($name, value, valueSpanForMap == null ? span : valueSpanForMap, span); |
|
}, |
|
ModifiableCssDeclaration: function ModifiableCssDeclaration(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.name = t0; |
|
_.value = t1; |
|
_.valueSpanForMap = t2; |
|
_.span = t3; |
|
_._indexInParent = _._parent = null; |
|
_.isGroupEnd = false; |
|
}, |
|
IfExpression: function IfExpression(t0, t1) { |
|
this.$arguments = t0; |
|
this.span = t1; |
|
}, |
|
Declaration$: function($name, span, children, value) { |
|
var t1; |
|
children = children == null ? null : P.List_List$unmodifiable(children, O.Statement); |
|
t1 = children == null ? null : C.JSArray_methods.any$1(children, new M.ParentStatement_closure()); |
|
return new L.Declaration($name, value, span, children, t1 === true); |
|
}, |
|
Declaration: function Declaration(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.name = t0; |
|
_.value = t1; |
|
_.span = t2; |
|
_.children = t3; |
|
_.hasDeclarations = t4; |
|
}, |
|
ForwardRule: function ForwardRule(t0, t1, t2, t3, t4, t5, t6, t7) { |
|
var _ = this; |
|
_.url = t0; |
|
_.shownMixinsAndFunctions = t1; |
|
_.shownVariables = t2; |
|
_.hiddenMixinsAndFunctions = t3; |
|
_.hiddenVariables = t4; |
|
_.prefix = t5; |
|
_.configuration = t6; |
|
_.span = t7; |
|
}, |
|
ForwardRule__memberList_closure: function ForwardRule__memberList_closure() { |
|
}, |
|
LoudComment: function LoudComment(t0) { |
|
this.text = t0; |
|
}, |
|
SupportsDeclaration: function SupportsDeclaration(t0, t1, t2) { |
|
this.name = t0; |
|
this.value = t1; |
|
this.span = t2; |
|
}, |
|
PlainCssCallable: function PlainCssCallable(t0) { |
|
this.name = t0; |
|
}, |
|
ExtendMode: function ExtendMode(t0) { |
|
this.name = t0; |
|
}, |
|
RenderContextOptions: function RenderContextOptions() { |
|
}, |
|
ScssParser: function ScssParser(t0, t1, t2) { |
|
var _ = this; |
|
_._isUseAllowed = true; |
|
_._stylesheet$_inMixin = false; |
|
_._mixinHasContent = null; |
|
_._inParentheses = _._inStyleRule = _._stylesheet$_inUnknownAtRule = _._inControlDirective = _._inContentBlock = false; |
|
_._globalVariables = t0; |
|
_.lastSilentComment = null; |
|
_.scanner = t1; |
|
_.logger = t2; |
|
}, |
|
Entry: function Entry(t0, t1, t2) { |
|
this.source = t0; |
|
this.target = t1; |
|
this.identifierName = t2; |
|
}, |
|
_StreamTransformer__defaultHandleError: function(error, stackTrace, sink) { |
|
sink.addError$2(error, stackTrace); |
|
}, |
|
_StreamTransformer: function _StreamTransformer(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._from_handlers$_handleData = t0; |
|
_._from_handlers$_handleDone = t1; |
|
_._from_handlers$_handleError = t2; |
|
_.$ti = t3; |
|
}, |
|
_StreamTransformer_bind_closure: function _StreamTransformer_bind_closure(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._box_1 = t0; |
|
_.$this = t1; |
|
_.values = t2; |
|
_.controller = t3; |
|
}, |
|
_StreamTransformer_bind__closure: function _StreamTransformer_bind__closure(t0, t1) { |
|
this.$this = t0; |
|
this.controller = t1; |
|
}, |
|
_StreamTransformer_bind__closure1: function _StreamTransformer_bind__closure1(t0, t1) { |
|
this.$this = t0; |
|
this.controller = t1; |
|
}, |
|
_StreamTransformer_bind__closure0: function _StreamTransformer_bind__closure0(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
this.controller = t2; |
|
}, |
|
_StreamTransformer_bind__closure2: function _StreamTransformer_bind__closure2(t0, t1) { |
|
this._box_1 = t0; |
|
this._box_0 = t1; |
|
}, |
|
encodeVlq: function(value) { |
|
var res, signBit, digit, t1; |
|
if (value < $.$get$MIN_INT32() || value > $.$get$MAX_INT32()) |
|
throw H.wrapException(P.ArgumentError$("expected 32 bit int, got: " + value)); |
|
res = H.setRuntimeTypeInfo([], [P.String]); |
|
if (value < 0) { |
|
value = -value; |
|
signBit = 1; |
|
} else |
|
signBit = 0; |
|
value = value << 1 | signBit; |
|
do { |
|
digit = value & 31; |
|
value = value >>> 5; |
|
t1 = value > 0; |
|
res.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[t1 ? digit | 32 : digit]); |
|
} while (t1); |
|
return res; |
|
} |
|
}, |
|
Q = {Repl: function Repl(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.prompt = t0; |
|
_.continuation = t1; |
|
_.validator = t2; |
|
_._adapter = null; |
|
_.history = t3; |
|
}, closure142: function closure142() { |
|
}, |
|
QueueList$: function(initialCapacity, $E) { |
|
var t1 = new Q.QueueList(0, 0, [$E]); |
|
t1.QueueList$1(initialCapacity, $E); |
|
return t1; |
|
}, |
|
QueueList_QueueList$from: function(source, $E) { |
|
var $length, queue, |
|
t1 = J.getInterceptor$(source); |
|
if (!!t1.$isList) { |
|
$length = t1.get$length(source); |
|
queue = Q.QueueList$($length + 1, $E); |
|
J.setRange$4$ax(queue._table, 0, $length, source, 0); |
|
queue._tail = $length; |
|
return queue; |
|
} else { |
|
t1 = Q.QueueList$(null, $E); |
|
t1.addAll$1(0, source); |
|
return t1; |
|
} |
|
}, |
|
QueueList__nextPowerOf2: function(number) { |
|
var nextNumber; |
|
number = (number << 1 >>> 0) - 1; |
|
for (; true; number = nextNumber) { |
|
nextNumber = (number & number - 1) >>> 0; |
|
if (nextNumber === 0) |
|
return number; |
|
} |
|
}, |
|
QueueList: function QueueList(t0, t1, t2) { |
|
var _ = this; |
|
_._table = null; |
|
_._head = t0; |
|
_._tail = t1; |
|
_.$ti = t2; |
|
}, |
|
_CastQueueList: function _CastQueueList(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._queue_list$_delegate = t0; |
|
_._table = null; |
|
_._head = t1; |
|
_._tail = t2; |
|
_.$ti = t3; |
|
}, |
|
_QueueList_Object_ListMixin: function _QueueList_Object_ListMixin() { |
|
}, |
|
StaticImport: function StaticImport(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.url = t0; |
|
_.supports = t1; |
|
_.media = t2; |
|
_.span = t3; |
|
}, |
|
ContentRule: function ContentRule(t0, t1) { |
|
this.span = t0; |
|
this.$arguments = t1; |
|
}, |
|
DebugRule: function DebugRule(t0, t1) { |
|
this.expression = t0; |
|
this.span = t1; |
|
}, |
|
AsyncEnvironment$: function(sourceMap) { |
|
var _null = null, |
|
t1 = P.String, |
|
t2 = [G.Module, B.AsyncCallable], |
|
t3 = B.AstNode, |
|
t4 = H.setRuntimeTypeInfo([], [t2]), |
|
t5 = H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, F.Value)], [[P.Map, P.String, F.Value]]), |
|
t6 = sourceMap ? H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, t3)], [[P.Map, P.String, B.AstNode]]) : _null, |
|
t7 = P.int, |
|
t8 = B.AsyncCallable, |
|
t9 = [[P.Map, P.String, B.AsyncCallable]]; |
|
return new Q.AsyncEnvironment(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), P.LinkedHashMap_LinkedHashMap$_empty(t1, t3), _null, _null, _null, _null, _null, t4, t5, t6, P.LinkedHashMap_LinkedHashMap$_empty(t1, t7), H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, t8)], t9), P.LinkedHashMap_LinkedHashMap$_empty(t1, t7), H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, t8)], t9), P.LinkedHashMap_LinkedHashMap$_empty(t1, t7), _null); |
|
}, |
|
AsyncEnvironment$_: function(_modules, _namespaceNodes, _globalModules, _globalModuleNodes, _forwardedModules, _forwardedModuleNodes, _nestedForwardedModules, _allModules, _variables, _variableNodes, _functions, _mixins, _content) { |
|
var t1 = P.String, |
|
t2 = P.int; |
|
return new Q.AsyncEnvironment(_modules, _namespaceNodes, _globalModules, _globalModuleNodes, _forwardedModules, _forwardedModuleNodes, _nestedForwardedModules, _allModules, _variables, _variableNodes, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _functions, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _mixins, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _content); |
|
}, |
|
_EnvironmentModule__EnvironmentModule0: function(environment, css, extender, forwarded) { |
|
var t1, t2, t3, t4, t5, t6; |
|
if (forwarded == null) |
|
forwarded = C.List_empty13; |
|
t1 = Q._EnvironmentModule__makeModulesByVariable0(forwarded); |
|
t2 = H.getTypeArgumentByIndex(forwarded, 0); |
|
t3 = Q._EnvironmentModule__memberMap0(C.JSArray_methods.get$first(environment._async_environment$_variables), new H.MappedListIterable(forwarded, new Q._EnvironmentModule__EnvironmentModule_closure5(), [t2, [P.Map, P.String, F.Value]]), F.Value); |
|
t4 = environment._async_environment$_variableNodes; |
|
t4 = t4 == null ? null : Q._EnvironmentModule__memberMap0(C.JSArray_methods.get$first(t4), new H.MappedListIterable(forwarded, new Q._EnvironmentModule__EnvironmentModule_closure6(), [t2, [P.Map, P.String, B.AstNode]]), B.AstNode); |
|
t2 = [t2, [P.Map, P.String, B.AsyncCallable]]; |
|
t5 = B.AsyncCallable; |
|
t6 = Q._EnvironmentModule__memberMap0(C.JSArray_methods.get$first(environment._async_environment$_functions), new H.MappedListIterable(forwarded, new Q._EnvironmentModule__EnvironmentModule_closure7(), t2), t5); |
|
t5 = Q._EnvironmentModule__memberMap0(C.JSArray_methods.get$first(environment._async_environment$_mixins), new H.MappedListIterable(forwarded, new Q._EnvironmentModule__EnvironmentModule_closure8(), t2), t5); |
|
t2 = J.get$isNotEmpty$asx(css.get$children()) || C.JSArray_methods.any$1(environment._async_environment$_allModules, new Q._EnvironmentModule__EnvironmentModule_closure9()); |
|
return Q._EnvironmentModule$_0(environment, css, extender, t1, t3, t4, t6, t5, t2, !extender.get$isEmpty(extender) || C.JSArray_methods.any$1(environment._async_environment$_allModules, new Q._EnvironmentModule__EnvironmentModule_closure10())); |
|
}, |
|
_EnvironmentModule__makeModulesByVariable0: function(forwarded) { |
|
var modulesByVariable, _i, module, t2, t3, |
|
t1 = forwarded.length; |
|
if (t1 === 0) |
|
return C.Map_empty5; |
|
modulesByVariable = P.LinkedHashMap_LinkedHashMap$_empty(P.String, [G.Module, B.AsyncCallable]); |
|
for (_i = 0; _i < forwarded.length; forwarded.length === t1 || (0, H.throwConcurrentModificationError)(forwarded), ++_i) { |
|
module = forwarded[_i]; |
|
if (module instanceof Q._EnvironmentModule0) { |
|
for (t2 = module._async_environment$_modulesByVariable.get$values(), t2 = t2.get$iterator(t2); t2.moveNext$0();) { |
|
t3 = t2.get$current(t2); |
|
B.setAll(modulesByVariable, t3.get$variables().get$keys(), t3); |
|
} |
|
B.setAll(modulesByVariable, C.JSArray_methods.get$first(module._async_environment$_environment._async_environment$_variables).get$keys(), module); |
|
} else |
|
B.setAll(modulesByVariable, module.get$variables().get$keys(), module); |
|
} |
|
return modulesByVariable; |
|
}, |
|
_EnvironmentModule__memberMap0: function(localMap, otherMaps, $V) { |
|
var t1, t2, t3; |
|
localMap = new U.PublicMemberMapView(localMap, [$V]); |
|
if (otherMaps.get$length(otherMaps) === 0) |
|
return localMap; |
|
t1 = H.setRuntimeTypeInfo([], [[P.Map, P.String, $V]]); |
|
for (t2 = new H.ListIterator(otherMaps, otherMaps.get$length(otherMaps)); t2.moveNext$0();) { |
|
t3 = t2.__internal$_current; |
|
if (t3.get$isNotEmpty(t3)) |
|
t1.push(t3); |
|
} |
|
t1.push(localMap); |
|
if (t1.length === 1) |
|
return localMap; |
|
return Z.MergedMapView$(t1, P.String, $V); |
|
}, |
|
_EnvironmentModule$_0: function(_environment, css, extender, _modulesByVariable, variables, variableNodes, functions, mixins, transitivelyContainsCss, transitivelyContainsExtensions) { |
|
return new Q._EnvironmentModule0(_environment._async_environment$_allModules, variables, variableNodes, functions, mixins, extender, css, transitivelyContainsCss, transitivelyContainsExtensions, _environment, _modulesByVariable); |
|
}, |
|
AsyncEnvironment: function AsyncEnvironment(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) { |
|
var _ = this; |
|
_._async_environment$_modules = t0; |
|
_._async_environment$_namespaceNodes = t1; |
|
_._async_environment$_globalModules = t2; |
|
_._async_environment$_globalModuleNodes = t3; |
|
_._async_environment$_forwardedModules = t4; |
|
_._async_environment$_forwardedModuleNodes = t5; |
|
_._async_environment$_nestedForwardedModules = t6; |
|
_._async_environment$_allModules = t7; |
|
_._async_environment$_variables = t8; |
|
_._async_environment$_variableNodes = t9; |
|
_._async_environment$_variableIndices = t10; |
|
_._async_environment$_functions = t11; |
|
_._async_environment$_functionIndices = t12; |
|
_._async_environment$_mixins = t13; |
|
_._async_environment$_mixinIndices = t14; |
|
_._async_environment$_content = t15; |
|
_._async_environment$_inMixin = false; |
|
_._async_environment$_inSemiGlobalScope = true; |
|
_._async_environment$_lastVariableIndex = _._async_environment$_lastVariableName = null; |
|
}, |
|
AsyncEnvironment_importForwards_closure: function AsyncEnvironment_importForwards_closure() { |
|
}, |
|
AsyncEnvironment_importForwards_closure0: function AsyncEnvironment_importForwards_closure0() { |
|
}, |
|
AsyncEnvironment_importForwards_closure1: function AsyncEnvironment_importForwards_closure1() { |
|
}, |
|
AsyncEnvironment_importForwards_closure2: function AsyncEnvironment_importForwards_closure2() { |
|
}, |
|
AsyncEnvironment__getVariableFromGlobalModule_closure: function AsyncEnvironment__getVariableFromGlobalModule_closure(t0) { |
|
this.name = t0; |
|
}, |
|
AsyncEnvironment_setVariable_closure: function AsyncEnvironment_setVariable_closure(t0, t1) { |
|
this.$this = t0; |
|
this.name = t1; |
|
}, |
|
AsyncEnvironment_setVariable_closure0: function AsyncEnvironment_setVariable_closure0(t0) { |
|
this.name = t0; |
|
}, |
|
AsyncEnvironment_setVariable_closure1: function AsyncEnvironment_setVariable_closure1(t0, t1) { |
|
this.$this = t0; |
|
this.name = t1; |
|
}, |
|
AsyncEnvironment__getFunctionFromGlobalModule_closure: function AsyncEnvironment__getFunctionFromGlobalModule_closure(t0) { |
|
this.name = t0; |
|
}, |
|
AsyncEnvironment__getMixinFromGlobalModule_closure: function AsyncEnvironment__getMixinFromGlobalModule_closure(t0) { |
|
this.name = t0; |
|
}, |
|
_EnvironmentModule0: function _EnvironmentModule0(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) { |
|
var _ = this; |
|
_.upstream = t0; |
|
_.variables = t1; |
|
_.variableNodes = t2; |
|
_.functions = t3; |
|
_.mixins = t4; |
|
_.extender = t5; |
|
_.css = t6; |
|
_.transitivelyContainsCss = t7; |
|
_.transitivelyContainsExtensions = t8; |
|
_._async_environment$_environment = t9; |
|
_._async_environment$_modulesByVariable = t10; |
|
}, |
|
_EnvironmentModule__EnvironmentModule_closure5: function _EnvironmentModule__EnvironmentModule_closure5() { |
|
}, |
|
_EnvironmentModule__EnvironmentModule_closure6: function _EnvironmentModule__EnvironmentModule_closure6() { |
|
}, |
|
_EnvironmentModule__EnvironmentModule_closure7: function _EnvironmentModule__EnvironmentModule_closure7() { |
|
}, |
|
_EnvironmentModule__EnvironmentModule_closure8: function _EnvironmentModule__EnvironmentModule_closure8() { |
|
}, |
|
_EnvironmentModule__EnvironmentModule_closure9: function _EnvironmentModule__EnvironmentModule_closure9() { |
|
}, |
|
_EnvironmentModule__EnvironmentModule_closure10: function _EnvironmentModule__EnvironmentModule_closure10() { |
|
}, |
|
BuiltInCallable$function: function($name, $arguments, callback, url) { |
|
var t1 = S.SpanScanner$("@function " + $name + "(" + $arguments + ") {", url); |
|
return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false).parseArgumentDeclaration$0(), callback, [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]])); |
|
}, |
|
BuiltInCallable$mixin: function($name, $arguments, callback, url) { |
|
var t1 = S.SpanScanner$("@mixin " + $name + "(" + $arguments + ") {", url); |
|
return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false).parseArgumentDeclaration$0(), new Q.BuiltInCallable$mixin_closure(callback), [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]])); |
|
}, |
|
BuiltInCallable$parsed: function($name, $arguments, callback) { |
|
return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2($arguments, callback, [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]])); |
|
}, |
|
BuiltInCallable$overloadedFunction: function($name, overloads) { |
|
var t2, t3, t4, t5, t6, t7, t8, t9, t10, |
|
t1 = H.setRuntimeTypeInfo([], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]]); |
|
for (t2 = overloads.get$entries(), t2 = t2.get$iterator(t2), t3 = [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}], t4 = P.String, t5 = Z.VariableDeclaration, t6 = [P.int]; t2.moveNext$0();) { |
|
t7 = t2.get$current(t2); |
|
t8 = "@function " + $name + "(" + H.S(t7.key) + ") {"; |
|
t9 = new H.CodeUnits(t8); |
|
t10 = H.setRuntimeTypeInfo([0], t6); |
|
t10 = new Y.SourceFile(null, t10, new Uint32Array(H._ensureNativeList(t9.toList$0(t9)))); |
|
t10.SourceFile$decoded$2$url(t9, null); |
|
t1.push(new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t4, t5), new S.SpanScanner(t10, null, t8), C.StderrLogger_false).parseArgumentDeclaration$0(), t7.value, t3)); |
|
} |
|
return new Q.BuiltInCallable($name, t1); |
|
}, |
|
BuiltInCallable: function BuiltInCallable(t0, t1) { |
|
this.name = t0; |
|
this._overloads = t1; |
|
}, |
|
BuiltInCallable$mixin_closure: function BuiltInCallable$mixin_closure(t0) { |
|
this.callback = t0; |
|
}, |
|
_function5: function($name, $arguments, callback) { |
|
var t1 = S.SpanScanner$("@function " + $name + "(" + $arguments + ") {", "sass:meta"); |
|
return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false).parseArgumentDeclaration$0(), callback, [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]])); |
|
}, |
|
closure101: function closure101() { |
|
}, |
|
closure102: function closure102() { |
|
}, |
|
closure103: function closure103() { |
|
}, |
|
closure104: function closure104() { |
|
}, |
|
_closure13: function _closure13() { |
|
}, |
|
BuiltInModule$: function($name, functions, mixins, variables, $T) { |
|
var t1 = P._Uri__Uri(null, $name, null, "sass"), |
|
t2 = Q.BuiltInModule__callableMap(functions, $T), |
|
t3 = Q.BuiltInModule__callableMap(mixins, $T), |
|
t4 = variables == null ? C.Map_empty2 : new P.UnmodifiableMapView(variables, [P.String, F.Value]); |
|
return new Q.BuiltInModule(t1, t2, t3, t4, [$T]); |
|
}, |
|
BuiltInModule__callableMap: function(callables, $T) { |
|
var t2, t3, _i, callable, |
|
t1 = P.String; |
|
if (callables == null) |
|
t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, $T); |
|
else { |
|
t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, $T); |
|
for (t3 = callables.length, _i = 0; _i < callables.length; callables.length === t3 || (0, H.throwConcurrentModificationError)(callables), ++_i) { |
|
callable = callables[_i]; |
|
t2.$indexSet(0, callable.get$name(), callable); |
|
} |
|
t2 = new P.UnmodifiableMapView(t2, [t1, $T]); |
|
} |
|
return new P.UnmodifiableMapView(t2, [t1, $T]); |
|
}, |
|
BuiltInModule: function BuiltInModule(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.url = t0; |
|
_.functions = t1; |
|
_.mixins = t2; |
|
_.variables = t3; |
|
_.$ti = t4; |
|
}, |
|
closure105: function closure105() { |
|
}, |
|
CssParser: function CssParser(t0, t1, t2) { |
|
var _ = this; |
|
_._isUseAllowed = true; |
|
_._stylesheet$_inMixin = false; |
|
_._mixinHasContent = null; |
|
_._inParentheses = _._inStyleRule = _._stylesheet$_inUnknownAtRule = _._inControlDirective = _._inContentBlock = false; |
|
_._globalVariables = t0; |
|
_.lastSilentComment = null; |
|
_.scanner = t1; |
|
_.logger = t2; |
|
} |
|
}, |
|
B = {ReplAdapter: function ReplAdapter(t0) { |
|
this.repl = t0; |
|
this.rl = null; |
|
}, ReplAdapter_runAsync_closure: function ReplAdapter_runAsync_closure(t0) { |
|
this.controller = t0; |
|
}, Stdin: function Stdin() { |
|
}, Stdout: function Stdout() { |
|
}, ReadlineModule: function ReadlineModule() { |
|
}, ReadlineOptions: function ReadlineOptions() { |
|
}, ReadlineInterface: function ReadlineInterface() { |
|
}, |
|
defaultCompare: function($T) { |
|
return new B.defaultCompare_closure($T); |
|
}, |
|
defaultCompare_closure: function defaultCompare_closure(t0) { |
|
this.T = t0; |
|
}, |
|
InternalStyle: function InternalStyle() { |
|
}, |
|
ModifiableCssNode: function ModifiableCssNode() { |
|
}, |
|
ModifiableCssParentNode: function ModifiableCssParentNode() { |
|
}, |
|
ModifiableCssSupportsRule: function ModifiableCssSupportsRule(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.condition = t0; |
|
_.span = t1; |
|
_.children = t2; |
|
_._children = t3; |
|
_._indexInParent = _._parent = null; |
|
_.isGroupEnd = false; |
|
}, |
|
CssNode: function CssNode() { |
|
}, |
|
CssParentNode: function CssParentNode() { |
|
}, |
|
AstNode: function AstNode() { |
|
}, |
|
_FakeAstNode: function _FakeAstNode(t0) { |
|
this._callback = t0; |
|
}, |
|
ArgumentDeclaration_ArgumentDeclaration$parse: function(contents, url) { |
|
var t1 = S.SpanScanner$(contents, url); |
|
return new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false).parseArgumentDeclaration$0(); |
|
}, |
|
ArgumentDeclaration: function ArgumentDeclaration(t0, t1, t2) { |
|
this.$arguments = t0; |
|
this.restArgument = t1; |
|
this.span = t2; |
|
}, |
|
ArgumentDeclaration_verify_closure: function ArgumentDeclaration_verify_closure() { |
|
}, |
|
ArgumentDeclaration_verify_closure0: function ArgumentDeclaration_verify_closure0() { |
|
}, |
|
DynamicImport: function DynamicImport(t0, t1) { |
|
this.url = t0; |
|
this.span = t1; |
|
}, |
|
SassNode: function SassNode() { |
|
}, |
|
ForRule: function ForRule(t0, t1, t2, t3, t4, t5, t6) { |
|
var _ = this; |
|
_.variable = t0; |
|
_.from = t1; |
|
_.to = t2; |
|
_.isExclusive = t3; |
|
_.span = t4; |
|
_.children = t5; |
|
_.hasDeclarations = t6; |
|
}, |
|
ImportRule: function ImportRule(t0, t1) { |
|
this.imports = t0; |
|
this.span = t1; |
|
}, |
|
ReturnRule: function ReturnRule(t0, t1) { |
|
this.expression = t0; |
|
this.span = t1; |
|
}, |
|
SilentComment: function SilentComment(t0, t1) { |
|
this.text = t0; |
|
this.span = t1; |
|
}, |
|
SupportsRule: function SupportsRule(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.condition = t0; |
|
_.span = t1; |
|
_.children = t2; |
|
_.hasDeclarations = t3; |
|
}, |
|
AsyncCallable: function AsyncCallable() { |
|
}, |
|
ExecutableOptions__separator: function(text) { |
|
var t1 = $.$get$ExecutableOptions__separatorBar(), |
|
t2 = C.JSString_methods.$mul(t1, 3) + " ", |
|
t3 = self.process.stdout.isTTY; |
|
t2 = t2 + ((t3 == null ? false : t3) ? "\x1b[1m" : "") + text; |
|
t3 = self.process.stdout.isTTY; |
|
return t2 + ((t3 == null ? false : t3) ? "\x1b[0m" : "") + " " + C.JSString_methods.$mul(t1, 35 - text.length); |
|
}, |
|
ExecutableOptions__fail: function(message) { |
|
return H.throwExpression(B.UsageException$(message)); |
|
}, |
|
ExecutableOptions_ExecutableOptions$parse: function(args) { |
|
var options, error, t1, t2, exception; |
|
try { |
|
t1 = $.$get$ExecutableOptions__parser(); |
|
t1.toString; |
|
t2 = H.setRuntimeTypeInfo(args.slice(0), [H.getTypeArgumentByIndex(args, 0)]); |
|
t1 = G.Parser$0(null, t1, t2, null, null).parse$0(); |
|
if (t1.wasParsed$1("poll") && !H.boolTypeCast(t1.$index(0, "watch"))) |
|
B.ExecutableOptions__fail("--poll may not be passed without --watch."); |
|
options = new B.ExecutableOptions(t1); |
|
if (H.boolTypeCast(options._options.$index(0, "help"))) |
|
B.ExecutableOptions__fail("Compile Sass to CSS."); |
|
return options; |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (!!J.getInterceptor$(t1).$isFormatException) { |
|
error = t1; |
|
B.ExecutableOptions__fail(J.get$message$x(error)); |
|
} else |
|
throw exception; |
|
} |
|
}, |
|
UsageException$: function(message) { |
|
return new B.UsageException(message); |
|
}, |
|
ExecutableOptions: function ExecutableOptions(t0) { |
|
var _ = this; |
|
_._options = t0; |
|
_._sourceDirectoriesToDestinations = _._sourcesToDestinations = _._interactive = null; |
|
}, |
|
ExecutableOptions_closure: function ExecutableOptions_closure() { |
|
}, |
|
ExecutableOptions_emitErrorCss_closure: function ExecutableOptions_emitErrorCss_closure() { |
|
}, |
|
UsageException: function UsageException(t0) { |
|
this.message = t0; |
|
}, |
|
AsyncImporter: function AsyncImporter() { |
|
}, |
|
inImportRule: function(callback) { |
|
var t1, |
|
wasInImportRule = $._inImportRule; |
|
$._inImportRule = true; |
|
try { |
|
t1 = callback.call$0(); |
|
return t1; |
|
} finally { |
|
$._inImportRule = wasInImportRule; |
|
} |
|
}, |
|
resolveImportPath: function(path) { |
|
var t1, |
|
extension = X.ParsedPath_ParsedPath$parse(path, $.$get$context().style)._splitExtension$0()[1]; |
|
if (extension === ".sass" || extension === ".scss" || extension === ".css") { |
|
t1 = $._inImportRule ? new B.resolveImportPath_closure(path, extension).call$0() : null; |
|
return t1 == null ? B._exactlyOne(B._tryPath(path)) : t1; |
|
} |
|
t1 = $._inImportRule ? new B.resolveImportPath_closure0(path).call$0() : null; |
|
if (t1 == null) |
|
t1 = B._exactlyOne(B._tryPathWithExtensions(path)); |
|
return t1 == null ? B._tryPathAsDirectory(path) : t1; |
|
}, |
|
_tryPathWithExtensions: function(path) { |
|
var result = B._tryPath(J.$add$ansx(path, ".sass")); |
|
C.JSArray_methods.addAll$1(result, B._tryPath(path + ".scss")); |
|
return result.length !== 0 ? result : B._tryPath(path + ".css"); |
|
}, |
|
_tryPath: function(path) { |
|
var t1 = $.$get$context(), |
|
partial = D.join(t1.dirname$1(path), "_" + H.S(X.ParsedPath_ParsedPath$parse(path, t1.style).get$basename()), null); |
|
t1 = H.setRuntimeTypeInfo([], [P.String]); |
|
if (B.fileExists(partial)) |
|
t1.push(partial); |
|
if (B.fileExists(path)) |
|
t1.push(path); |
|
return t1; |
|
}, |
|
_tryPathAsDirectory: function(path) { |
|
var t1; |
|
if (!B.dirExists(path)) |
|
return; |
|
t1 = $._inImportRule ? new B._tryPathAsDirectory_closure(path).call$0() : null; |
|
return t1 == null ? B._exactlyOne(B._tryPathWithExtensions(D.join(path, "index", null))) : t1; |
|
}, |
|
_exactlyOne: function(paths) { |
|
var t1 = paths.length; |
|
if (t1 === 0) |
|
return; |
|
if (t1 === 1) |
|
return C.JSArray_methods.get$first(paths); |
|
throw H.wrapException("It's not clear which file to import. Found:\n" + C.JSArray_methods.map$1$1(paths, new B._exactlyOne_closure(), P.String).join$1(0, "\n")); |
|
}, |
|
resolveImportPath_closure: function resolveImportPath_closure(t0, t1) { |
|
this.path = t0; |
|
this.extension = t1; |
|
}, |
|
resolveImportPath_closure0: function resolveImportPath_closure0(t0) { |
|
this.path = t0; |
|
}, |
|
_tryPathAsDirectory_closure: function _tryPathAsDirectory_closure(t0) { |
|
this.path = t0; |
|
}, |
|
_exactlyOne_closure: function _exactlyOne_closure() { |
|
}, |
|
readFile: function(path) { |
|
var t1, t2, t3, sourceFile, i, |
|
contents = H.stringTypeCast(B._readFile(path, "utf8")); |
|
if (!J.getInterceptor$asx(contents).contains$1(contents, "\ufffd")) |
|
return contents; |
|
t1 = $.$get$context().toUri$1(path); |
|
t2 = new H.CodeUnits(contents); |
|
t3 = H.setRuntimeTypeInfo([0], [P.int]); |
|
sourceFile = new Y.SourceFile(t1, t3, new Uint32Array(H._ensureNativeList(t2.toList$0(t2)))); |
|
sourceFile.SourceFile$decoded$2$url(t2, t1); |
|
for (t1 = contents.length, i = 0; i < t1; ++i) { |
|
if (C.JSString_methods._codeUnitAt$1(contents, i) !== 65533) |
|
continue; |
|
throw H.wrapException(E.SassException$("Invalid UTF-8.", Y.FileLocation$_(sourceFile, i).pointSpan$0())); |
|
} |
|
return contents; |
|
}, |
|
_readFile: function(path, encoding) { |
|
return B._systemErrorToFileSystemException(new B._readFile_closure(path, encoding)); |
|
}, |
|
writeFile: function(path, contents) { |
|
return B._systemErrorToFileSystemException(new B.writeFile_closure(path, contents)); |
|
}, |
|
deleteFile: function(path) { |
|
return B._systemErrorToFileSystemException(new B.deleteFile_closure(path)); |
|
}, |
|
readStdin: function() { |
|
return B.readStdin$body(); |
|
}, |
|
readStdin$body: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.String), |
|
$async$returnValue, sink, t1, t2, t3, completer; |
|
var $async$readStdin = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = {}; |
|
t2 = P.String; |
|
t3 = new P._Future($.Zone__current, [t2]); |
|
completer = new P._AsyncCompleter(t3, [t2]); |
|
t1.contents = null; |
|
sink = new P.Utf8Decoder(false).startChunkedConversion$1(new P._StringCallbackSink(new B.readStdin_closure(t1, completer), new P.StringBuffer(""))); |
|
J.on$2$x(self.process.stdin, "data", P.allowInterop(new B.readStdin_closure0(sink))); |
|
J.on$2$x(self.process.stdin, "end", P.allowInterop(new B.readStdin_closure1(sink))); |
|
J.on$2$x(self.process.stdin, "error", P.allowInterop(new B.readStdin_closure2(completer))); |
|
$async$returnValue = t3; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$readStdin, $async$completer); |
|
}, |
|
fileExists: function(path) { |
|
return B._systemErrorToFileSystemException(new B.fileExists_closure(path)); |
|
}, |
|
dirExists: function(path) { |
|
return B._systemErrorToFileSystemException(new B.dirExists_closure(path)); |
|
}, |
|
ensureDir: function(path) { |
|
return B._systemErrorToFileSystemException(new B.ensureDir_closure(path)); |
|
}, |
|
listDir: function(path, recursive) { |
|
return B._systemErrorToFileSystemException(new B.listDir_closure(recursive, path)); |
|
}, |
|
modificationTime: function(path) { |
|
return B._systemErrorToFileSystemException(new B.modificationTime_closure(path)); |
|
}, |
|
_systemErrorToFileSystemException: function(callback) { |
|
var error, systemError, t1, exception, t2; |
|
try { |
|
t1 = callback.call$0(); |
|
return t1; |
|
} catch (exception) { |
|
error = H.unwrapException(exception); |
|
systemError = H.interceptedTypeCast(error, "$is_SystemError"); |
|
t1 = systemError; |
|
t2 = J.getInterceptor$x(t1); |
|
throw H.wrapException(new B.FileSystemException(J.substring$2$s(t2.get$message(t1), (H.S(t2.get$code(t1)) + ": ").length, J.get$length$asx(t2.get$message(t1)) - (", " + H.S(t2.get$syscall(t1)) + " '" + H.S(t2.get$path(t1)) + "'").length), J.get$path$x(systemError))); |
|
} |
|
}, |
|
isWindows: function() { |
|
return J.$eq$(J.get$platform$x(self.process), "win32"); |
|
}, |
|
watchDir: function(path, poll) { |
|
var t2, t3, t4, t1 = {}, |
|
watcher = J.watch$2$x(self.chokidar, path, {disableGlobbing: true, usePolling: poll}); |
|
t1.controller = null; |
|
t2 = J.getInterceptor$x(watcher); |
|
t2.on$2(watcher, "add", P.allowInterop(new B.watchDir_closure(t1))); |
|
t2.on$2(watcher, "change", P.allowInterop(new B.watchDir_closure0(t1))); |
|
t2.on$2(watcher, "unlink", P.allowInterop(new B.watchDir_closure1(t1))); |
|
t2.on$2(watcher, "error", P.allowInterop(new B.watchDir_closure2(t1))); |
|
t3 = [P.Stream, E.WatchEvent]; |
|
t4 = new P._Future($.Zone__current, [t3]); |
|
t2.on$2(watcher, "ready", P.allowInterop(new B.watchDir_closure3(t1, watcher, new P._AsyncCompleter(t4, [t3])))); |
|
return t4; |
|
}, |
|
_FS: function _FS() { |
|
}, |
|
_Stat: function _Stat() { |
|
}, |
|
_Date: function _Date() { |
|
}, |
|
_Stderr: function _Stderr() { |
|
}, |
|
_Stdin: function _Stdin() { |
|
}, |
|
_SystemError: function _SystemError() { |
|
}, |
|
_Process: function _Process() { |
|
}, |
|
FileSystemException: function FileSystemException(t0, t1) { |
|
this.message = t0; |
|
this.path = t1; |
|
}, |
|
Stderr: function Stderr(t0) { |
|
this._stderr = t0; |
|
}, |
|
_readFile_closure: function _readFile_closure(t0, t1) { |
|
this.path = t0; |
|
this.encoding = t1; |
|
}, |
|
writeFile_closure: function writeFile_closure(t0, t1) { |
|
this.path = t0; |
|
this.contents = t1; |
|
}, |
|
deleteFile_closure: function deleteFile_closure(t0) { |
|
this.path = t0; |
|
}, |
|
readStdin_closure: function readStdin_closure(t0, t1) { |
|
this._box_0 = t0; |
|
this.completer = t1; |
|
}, |
|
readStdin_closure0: function readStdin_closure0(t0) { |
|
this.sink = t0; |
|
}, |
|
readStdin_closure1: function readStdin_closure1(t0) { |
|
this.sink = t0; |
|
}, |
|
readStdin_closure2: function readStdin_closure2(t0) { |
|
this.completer = t0; |
|
}, |
|
fileExists_closure: function fileExists_closure(t0) { |
|
this.path = t0; |
|
}, |
|
dirExists_closure: function dirExists_closure(t0) { |
|
this.path = t0; |
|
}, |
|
ensureDir_closure: function ensureDir_closure(t0) { |
|
this.path = t0; |
|
}, |
|
listDir_closure: function listDir_closure(t0, t1) { |
|
this.recursive = t0; |
|
this.path = t1; |
|
}, |
|
listDir__closure: function listDir__closure(t0) { |
|
this.path = t0; |
|
}, |
|
listDir__closure0: function listDir__closure0() { |
|
}, |
|
listDir_closure_list: function listDir_closure_list() { |
|
}, |
|
listDir__list_closure: function listDir__list_closure(t0, t1) { |
|
this.parent = t0; |
|
this.list = t1; |
|
}, |
|
modificationTime_closure: function modificationTime_closure(t0) { |
|
this.path = t0; |
|
}, |
|
watchDir_closure: function watchDir_closure(t0) { |
|
this._box_0 = t0; |
|
}, |
|
watchDir_closure0: function watchDir_closure0(t0) { |
|
this._box_0 = t0; |
|
}, |
|
watchDir_closure1: function watchDir_closure1(t0) { |
|
this._box_0 = t0; |
|
}, |
|
watchDir_closure2: function watchDir_closure2(t0) { |
|
this._box_0 = t0; |
|
}, |
|
watchDir_closure3: function watchDir_closure3(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.watcher = t1; |
|
this.completer = t2; |
|
}, |
|
watchDir__closure: function watchDir__closure(t0) { |
|
this.watcher = t0; |
|
}, |
|
ShadowedModuleView_ifNecessary: function(inner, functions, mixins, variables, $T) { |
|
return B.ShadowedModuleView__needsBlacklist(inner.get$variables(), variables) || B.ShadowedModuleView__needsBlacklist(inner.get$functions(inner), functions) || B.ShadowedModuleView__needsBlacklist(inner.get$mixins(), mixins) ? new B.ShadowedModuleView(inner, B.ShadowedModuleView__shadowedMap(inner.get$variables(), variables, F.Value), B.ShadowedModuleView__shadowedMap(inner.get$variableNodes(), variables, B.AstNode), B.ShadowedModuleView__shadowedMap(inner.get$functions(inner), functions, $T), B.ShadowedModuleView__shadowedMap(inner.get$mixins(), mixins, $T), [$T]) : null; |
|
}, |
|
ShadowedModuleView__shadowedMap: function(map, blocklist, $V) { |
|
if (map == null || !B.ShadowedModuleView__needsBlacklist(map, blocklist)) |
|
return map; |
|
return K.LimitedMapView$blocklist(map, blocklist, P.String, $V); |
|
}, |
|
ShadowedModuleView__needsBlacklist: function(map, blocklist) { |
|
var t1 = map.get$isNotEmpty(map) && blocklist.any$1(0, map.get$containsKey()); |
|
return t1; |
|
}, |
|
ShadowedModuleView: function ShadowedModuleView(t0, t1, t2, t3, t4, t5) { |
|
var _ = this; |
|
_._shadowed_view$_inner = t0; |
|
_.variables = t1; |
|
_.variableNodes = t2; |
|
_.functions = t3; |
|
_.mixins = t4; |
|
_.$ti = t5; |
|
}, |
|
main0: function() { |
|
J.set$run_$x(self.exports, P.allowInterop(new B.main_closure())); |
|
J.set$render$x(self.exports, P.allowInterop(B.node___render$closure())); |
|
J.set$renderSync$x(self.exports, P.allowInterop(B.node___renderSync$closure())); |
|
J.set$info$x(self.exports, "dart-sass\t1.25.0\t(Sass Compiler)\t[Dart]\ndart2js\t2.7.0\t(Dart Compiler)\t[Dart]"); |
|
J.set$types$x(self.exports, {Boolean: $.$get$booleanConstructor(), Color: $.$get$colorConstructor(), List: $.$get$listConstructor(), Map: $.$get$mapConstructor(), Null: $.$get$nullConstructor(), Number: $.$get$numberConstructor(), String: $.$get$stringConstructor(), Error: self.Error}); |
|
}, |
|
_render: function(options, callback) { |
|
var t1 = J.getInterceptor$x(options); |
|
if (t1.get$fiber(options) != null) |
|
J.run$0$x(t1.get$fiber(options).call$1(P.allowInterop(new B._render_closure(callback, options)))); |
|
else |
|
B._renderAsync(options).then$1$2$onError(new B._render_closure0(callback), new B._render_closure1(callback), P.Null); |
|
}, |
|
_renderAsync: function(options) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(U.RenderResult), |
|
$async$returnValue, t2, t3, t4, t5, t6, t7, t8, t9, result, start, t1, file; |
|
var $async$_renderAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
start = new P.DateTime(Date.now(), false); |
|
t1 = J.getInterceptor$x(options); |
|
file = t1.get$file(options) == null ? null : D.absolute(t1.get$file(options)); |
|
$async$goto = t1.get$data(options) != null ? 3 : 5; |
|
break; |
|
case 3: |
|
// then |
|
t2 = t1.get$data(options); |
|
t3 = B._parseImporter(options, start); |
|
t4 = B._parseFunctions(options, true); |
|
t5 = t1.get$indentedSyntax(options); |
|
t5 = !J.$eq$(t5, false) && t5 != null ? C.Syntax_Sass : null; |
|
t6 = B._parseOutputStyle(t1.get$outputStyle(options)); |
|
t7 = J.$eq$(t1.get$indentType(options), "tab"); |
|
t8 = B._parseIndentWidth(t1.get$indentWidth(options)); |
|
t9 = B._parseLineFeed(t1.get$linefeed(options)); |
|
t1 = t1.get$file(options) == null ? "stdin" : J.toString$0$($.$get$context().toUri$1(file)); |
|
$async$goto = 6; |
|
return P._asyncAwait(X.compileStringAsync(t2, true, t4, null, null, t8, t9, null, t3, B._enableSourceMaps(options), t6, t5, t1, !t7), $async$_renderAsync); |
|
case 6: |
|
// returning from await. |
|
result = $async$result; |
|
// goto join |
|
$async$goto = 4; |
|
break; |
|
case 5: |
|
// else |
|
$async$goto = t1.get$file(options) != null ? 7 : 9; |
|
break; |
|
case 7: |
|
// then |
|
t2 = B._parseImporter(options, start); |
|
t3 = B._parseFunctions(options, true); |
|
t4 = t1.get$indentedSyntax(options); |
|
t4 = !J.$eq$(t4, false) && t4 != null ? C.Syntax_Sass : null; |
|
t5 = B._parseOutputStyle(t1.get$outputStyle(options)); |
|
t6 = J.$eq$(t1.get$indentType(options), "tab"); |
|
$async$goto = 10; |
|
return P._asyncAwait(X.compileAsync(file, true, t3, null, B._parseIndentWidth(t1.get$indentWidth(options)), B._parseLineFeed(t1.get$linefeed(options)), null, t2, B._enableSourceMaps(options), t5, t4, !t6), $async$_renderAsync); |
|
case 10: |
|
// returning from await. |
|
result = $async$result; |
|
// goto join |
|
$async$goto = 8; |
|
break; |
|
case 9: |
|
// else |
|
throw H.wrapException(P.ArgumentError$("Either options.data or options.file must be set.")); |
|
case 8: |
|
// join |
|
case 4: |
|
// join |
|
$async$returnValue = B._newRenderResult(options, result, start); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_renderAsync, $async$completer); |
|
}, |
|
_renderSync: function(options) { |
|
var start, file, result, error, error0, t1, t2, t3, t4, t5, t6, t7, t8, t9, exception, _null = null; |
|
try { |
|
start = new P.DateTime(Date.now(), false); |
|
t1 = J.getInterceptor$x(options); |
|
file = t1.get$file(options) == null ? _null : D.absolute(t1.get$file(options)); |
|
result = null; |
|
if (t1.get$data(options) != null) { |
|
t2 = t1.get$data(options); |
|
t3 = B._parseImporter(options, start); |
|
t4 = B._parseFunctions(options, false); |
|
t5 = t1.get$indentedSyntax(options); |
|
t5 = !J.$eq$(t5, false) && t5 != null ? C.Syntax_Sass : _null; |
|
t6 = B._parseOutputStyle(t1.get$outputStyle(options)); |
|
t7 = J.$eq$(t1.get$indentType(options), "tab"); |
|
t8 = B._parseIndentWidth(t1.get$indentWidth(options)); |
|
t9 = B._parseLineFeed(t1.get$linefeed(options)); |
|
t1 = t1.get$file(options) == null ? "stdin" : J.toString$0$($.$get$context().toUri$1(file)); |
|
result = U.compileString(t2, true, new H.CastList(t4, [H.getTypeArgumentByIndex(t4, 0), D.Callable]), _null, _null, t8, t9, _null, t3, B._enableSourceMaps(options), t6, t5, t1, !t7); |
|
} else if (t1.get$file(options) != null) { |
|
t2 = B._parseImporter(options, start); |
|
t3 = B._parseFunctions(options, false); |
|
t4 = t1.get$indentedSyntax(options); |
|
t4 = !J.$eq$(t4, false) && t4 != null ? C.Syntax_Sass : _null; |
|
t5 = B._parseOutputStyle(t1.get$outputStyle(options)); |
|
t6 = J.$eq$(t1.get$indentType(options), "tab"); |
|
result = U.compile(file, true, new H.CastList(t3, [H.getTypeArgumentByIndex(t3, 0), D.Callable]), _null, B._parseIndentWidth(t1.get$indentWidth(options)), B._parseLineFeed(t1.get$linefeed(options)), _null, t2, B._enableSourceMaps(options), t5, t4, !t6); |
|
} else { |
|
t1 = P.ArgumentError$("Either options.data or options.file must be set."); |
|
throw H.wrapException(t1); |
|
} |
|
t1 = B._newRenderResult(options, result, start); |
|
return t1; |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (t1 instanceof E.SassException) { |
|
error = t1; |
|
t1 = B._wrapException(error); |
|
$.$get$_jsThrow().call$1(t1); |
|
} else { |
|
error0 = t1; |
|
t1 = B._newRenderError(J.toString$0$(error0), _null, _null, _null, 3); |
|
$.$get$_jsThrow().call$1(t1); |
|
} |
|
} |
|
throw H.wrapException("unreachable"); |
|
}, |
|
_wrapException: function(exception) { |
|
var t3, t4, |
|
t1 = C.JSString_methods.replaceFirst$2(exception.toString$0(0), "Error: ", ""), |
|
t2 = G.SourceSpanException.prototype.get$span.call(exception); |
|
t2 = Y.FileLocation$_(t2.file, t2._start); |
|
t2 = t2.file.getLine$1(t2.offset); |
|
t3 = G.SourceSpanException.prototype.get$span.call(exception); |
|
t3 = Y.FileLocation$_(t3.file, t3._start); |
|
t3 = t3.file.getColumn$1(t3.offset); |
|
if (G.SourceSpanException.prototype.get$span.call(exception).file.url == null) |
|
t4 = "stdin"; |
|
else { |
|
t4 = G.SourceSpanException.prototype.get$span.call(exception).file; |
|
t4 = $.$get$context().style.pathFromUri$1(M._parseUri(t4.url)); |
|
} |
|
return B._newRenderError(t1, t3 + 1, t4, t2 + 1, 1); |
|
}, |
|
_parseFunctions: function(options, asynch) { |
|
var result, |
|
t1 = J.getInterceptor$x(options); |
|
if (t1.get$functions(options) == null) |
|
return C.List_empty11; |
|
result = H.setRuntimeTypeInfo([], [B.AsyncCallable]); |
|
B.jsForEach(t1.get$functions(options), new B._parseFunctions_closure(options, result, asynch)); |
|
return result; |
|
}, |
|
_parseImporter: function(options, start) { |
|
var importers, t2, t3, includePaths, t4, t5, t6, t7, _i, t8, t9, t10, context, |
|
t1 = J.getInterceptor$x(options); |
|
if (t1.get$importer(options) == null) |
|
importers = H.setRuntimeTypeInfo([], [F.JSFunction]); |
|
else { |
|
t2 = F.JSFunction; |
|
importers = !!J.getInterceptor$(t1.get$importer(options)).$isList ? J.cast$1$0$ax(H.subtypeCast(t1.get$importer(options), "$isList", [P.Object], "$asList"), t2) : H.setRuntimeTypeInfo([H.interceptedTypeCast(t1.get$importer(options), "$isJSFunction")], [t2]); |
|
} |
|
t2 = t1.get$includePaths(options); |
|
if (t2 == null) |
|
t2 = []; |
|
t3 = P.String; |
|
includePaths = P.List_List$from(t2, true, t3); |
|
t2 = J.getInterceptor$asx(importers); |
|
if (t2.get$isNotEmpty(importers)) { |
|
t4 = t1.get$file(options); |
|
t5 = t1.get$data(options); |
|
t6 = H.setRuntimeTypeInfo([], [t3]); |
|
t6.push(D.current()); |
|
for (t7 = includePaths.length, _i = 0; _i < includePaths.length; includePaths.length === t7 || (0, H.throwConcurrentModificationError)(includePaths), ++_i) |
|
t6.push(includePaths[_i]); |
|
t6 = C.JSArray_methods.join$1(t6, J.$eq$(J.get$platform$x(self.process), "win32") ? ";" : ":"); |
|
t7 = J.$eq$(t1.get$indentType(options), "tab") ? 1 : 0; |
|
t8 = B._parseIndentWidth(t1.get$indentWidth(options)); |
|
if (t8 == null) |
|
t8 = 2; |
|
t9 = B._parseLineFeed(t1.get$linefeed(options)); |
|
t10 = t1.get$file(options); |
|
if (t10 == null) |
|
t10 = "data"; |
|
context = {options: {file: t4, data: t5, includePaths: t6, precision: 10, style: 1, indentType: t7, indentWidth: t8, linefeed: t9.text, result: {stats: {entry: t10, start: start._value}}}}; |
|
J.set$context$x(J.get$options$x(context), context); |
|
} else |
|
context = null; |
|
if (t1.get$fiber(options) != null) |
|
importers = t2.map$1$1(importers, new B._parseImporter_closure(options), F.JSFunction).toList$0(0); |
|
return new F.NodeImporter(context, P.List_List$unmodifiable(F.NodeImporter__addSassPath(includePaths), t3), P.List_List$unmodifiable(J.cast$1$0$ax(importers, null), F.JSFunction)); |
|
}, |
|
_parseOutputStyle: function(style) { |
|
if (style == null || style === "expanded") |
|
return C.OutputStyle_expanded; |
|
if (style === "compressed") |
|
return C.OutputStyle_compressed; |
|
throw H.wrapException(P.ArgumentError$('Unsupported output style "' + H.S(style) + '".')); |
|
}, |
|
_parseIndentWidth: function(width) { |
|
if (width == null) |
|
return; |
|
return typeof width === "number" && Math.floor(width) === width ? width : P.int_parse(J.toString$0$(width), null, null); |
|
}, |
|
_parseLineFeed: function(str) { |
|
switch (str) { |
|
case "cr": |
|
return C.LineFeed_kMT; |
|
case "crlf": |
|
return C.LineFeed_Mss; |
|
case "lfcr": |
|
return C.LineFeed_a1Y; |
|
default: |
|
return C.LineFeed_D6m; |
|
} |
|
}, |
|
_newRenderResult: function(options, result, start) { |
|
var t3, t4, sourceMapPath, sourceMapDir, sourceMapDirUrl, i, source, t5, t6, sourceMapBytes, buffer, indices, url, _null = null, |
|
t1 = Date.now(), |
|
t2 = result._serialize, |
|
css = t2.css; |
|
if (B._enableSourceMaps(options)) { |
|
t3 = J.getInterceptor$x(options); |
|
t4 = t3.get$sourceMap(options); |
|
sourceMapPath = typeof t4 === "string" ? H.stringTypeCast(t3.get$sourceMap(options)) : J.$add$ansx(t3.get$outFile(options), ".map"); |
|
t4 = $.$get$context(); |
|
sourceMapDir = t4.dirname$1(sourceMapPath); |
|
t2 = t2.sourceMap; |
|
t2.sourceRoot = t3.get$sourceMapRoot(options); |
|
if (t3.get$outFile(options) == null) |
|
if (t3.get$file(options) == null) |
|
t2.targetUrl = "stdin.css"; |
|
else |
|
t2.targetUrl = J.toString$0$(t4.toUri$1(t4.withoutExtension$1(t3.get$file(options)) + ".css")); |
|
else |
|
t2.targetUrl = J.toString$0$(t4.toUri$1(t4.relative$2$from(t3.get$outFile(options), sourceMapDir))); |
|
sourceMapDirUrl = J.toString$0$(t4.toUri$1(sourceMapDir)); |
|
for (t4 = t2.urls, i = 0; i < t4.length; ++i) { |
|
source = t4[i]; |
|
if (source === "stdin") |
|
continue; |
|
t5 = $.$get$url(); |
|
t6 = t5.style; |
|
if (t6.rootLength$1(source) <= 0 || t6.isRootRelative$1(source)) |
|
continue; |
|
t4[i] = t5.relative$2$from(source, sourceMapDirUrl); |
|
} |
|
t4 = t3.get$sourceMapContents(options); |
|
t2 = C.C_JsonCodec.encode$2$toEncodable(t2.toJson$1$includeSourceContents(!J.$eq$(t4, false) && t4 != null), _null); |
|
sourceMapBytes = self.Buffer.from(t2, "utf8"); |
|
t2 = t3.get$omitSourceMapUrl(options); |
|
if (!(!J.$eq$(t2, false) && t2 != null)) { |
|
t2 = t3.get$sourceMapEmbed(options); |
|
if (!J.$eq$(t2, false) && t2 != null) { |
|
buffer = new P.StringBuffer(""); |
|
indices = H.setRuntimeTypeInfo([-1], [P.int]); |
|
P.UriData__writeUri("application/json", _null, _null, buffer, indices); |
|
indices.push(buffer._contents.length); |
|
t2 = buffer._contents += ";base64,"; |
|
indices.push(t2.length - 1); |
|
C.C_Base64Encoder.startChunkedConversion$1(new P._StringSinkConversionSink(buffer)).addSlice$4(sourceMapBytes, 0, sourceMapBytes.length, true); |
|
t2 = buffer._contents; |
|
url = new P.UriData(t2.charCodeAt(0) == 0 ? t2 : t2, indices, _null).get$uri(); |
|
} else { |
|
if (t3.get$outFile(options) == null) |
|
t2 = sourceMapPath; |
|
else { |
|
t2 = t3.get$outFile(options); |
|
t3 = $.$get$context(); |
|
t2 = t3.relative$2$from(sourceMapPath, t3.dirname$1(t2)); |
|
} |
|
url = $.$get$context().toUri$1(t2); |
|
} |
|
css += "\n\n/*# sourceMappingURL=" + H.S(url) + " */"; |
|
} |
|
} else |
|
sourceMapBytes = _null; |
|
t2 = self.Buffer.from(css, "utf8"); |
|
t3 = J.get$file$x(options); |
|
if (t3 == null) |
|
t3 = "data"; |
|
t4 = start._value; |
|
t1 = new P.DateTime(t1, false)._value; |
|
return {css: t2, map: sourceMapBytes, stats: {entry: t3, start: t4, end: t1, duration: C.JSInt_methods._tdivFast$1(P.Duration$(t1 - t4)._duration, 1000), includedFiles: result._evaluate.includedFiles.toList$0(0)}}; |
|
}, |
|
_enableSourceMaps: function(options) { |
|
var t1 = J.getInterceptor$x(options), |
|
t2 = t1.get$sourceMap(options); |
|
if (typeof t2 !== "string") { |
|
t2 = t1.get$sourceMap(options); |
|
t1 = !J.$eq$(t2, false) && t2 != null && t1.get$outFile(options) != null; |
|
} else |
|
t1 = true; |
|
return t1; |
|
}, |
|
_newRenderError: function(message, column, file, line, $status) { |
|
var error = new self.Error(message); |
|
error.formatted = "Error: " + H.S(message); |
|
if (line != null) |
|
error.line = line; |
|
if (column != null) |
|
error.column = column; |
|
if (file != null) |
|
error.file = file; |
|
error.status = $status; |
|
return error; |
|
}, |
|
main_closure: function main_closure() { |
|
}, |
|
_render_closure: function _render_closure(t0, t1) { |
|
this.callback = t0; |
|
this.options = t1; |
|
}, |
|
_render_closure0: function _render_closure0(t0) { |
|
this.callback = t0; |
|
}, |
|
_render_closure1: function _render_closure1(t0) { |
|
this.callback = t0; |
|
}, |
|
_parseFunctions_closure: function _parseFunctions_closure(t0, t1, t2) { |
|
this.options = t0; |
|
this.result = t1; |
|
this.asynch = t2; |
|
}, |
|
_parseFunctions__closure: function _parseFunctions__closure(t0, t1) { |
|
this.options = t0; |
|
this.callback = t1; |
|
}, |
|
_parseFunctions___closure0: function _parseFunctions___closure0(t0) { |
|
this.fiber = t0; |
|
}, |
|
_parseFunctions____closure: function _parseFunctions____closure(t0, t1) { |
|
this.fiber = t0; |
|
this.result = t1; |
|
}, |
|
_parseFunctions__closure0: function _parseFunctions__closure0(t0) { |
|
this.callback = t0; |
|
}, |
|
_parseFunctions__closure1: function _parseFunctions__closure1(t0) { |
|
this.callback = t0; |
|
}, |
|
_parseFunctions___closure: function _parseFunctions___closure(t0) { |
|
this.completer = t0; |
|
}, |
|
_parseImporter_closure: function _parseImporter_closure(t0) { |
|
this.options = t0; |
|
}, |
|
_parseImporter__closure: function _parseImporter__closure(t0, t1) { |
|
this.options = t0; |
|
this.importer = t1; |
|
}, |
|
_parseImporter___closure: function _parseImporter___closure(t0) { |
|
this.fiber = t0; |
|
}, |
|
_parseImporter____closure: function _parseImporter____closure(t0, t1) { |
|
this.fiber = t0; |
|
this.result = t1; |
|
}, |
|
forwardToString: function(klass) { |
|
klass.prototype.toString = P.allowInteropCaptureThis(new B.forwardToString_closure()); |
|
}, |
|
jsForEach: function(object, callback) { |
|
var t1, t2; |
|
for (t1 = J.get$iterator$ax(self.Object.keys(object)); t1.moveNext$0();) { |
|
t2 = t1.get$current(t1); |
|
callback.call$2(t2, object[t2]); |
|
} |
|
}, |
|
createClass: function($name, $constructor, methods) { |
|
var klass = P.allowInteropCaptureThis($constructor), |
|
t1 = {value: $name}; |
|
self.Object.defineProperty(klass, "name", t1); |
|
methods.forEach$1(0, new B.createClass_closure(klass.prototype)); |
|
return klass; |
|
}, |
|
injectSuperclass: function(object, $constructor) { |
|
var t1, |
|
$prototype = self.Object.getPrototypeOf(object), |
|
$parent = self.Object.getPrototypeOf($prototype); |
|
if ($parent != null) { |
|
t1 = $constructor.prototype; |
|
self.Object.setPrototypeOf(t1, $parent); |
|
} |
|
t1 = $constructor.prototype; |
|
t1 = self.Object.create(t1); |
|
self.Object.setPrototypeOf($prototype, t1); |
|
}, |
|
forwardToString_closure: function forwardToString_closure() { |
|
}, |
|
createClass_closure: function createClass_closure(t0) { |
|
this.$prototype = t0; |
|
}, |
|
_PropertyDescriptor: function _PropertyDescriptor() { |
|
}, |
|
toSentence: function(iter, conjunction) { |
|
if (iter.get$length(iter) === 1) |
|
return J.toString$0$(iter.get$first(iter)); |
|
return iter.take$1(0, iter.get$length(iter) - 1).join$1(0, ", ") + (" " + conjunction + " " + H.S(iter.get$last(iter))); |
|
}, |
|
indent: function(string, indentation) { |
|
var t1 = P.String, |
|
t2 = H.setRuntimeTypeInfo(string.split("\n"), [t1]); |
|
return new H.MappedListIterable(t2, new B.indent_closure(indentation), [H.getTypeArgumentByIndex(t2, 0), t1]).join$1(0, "\n"); |
|
}, |
|
pluralize: function($name, number, plural) { |
|
if (number === 1) |
|
return $name; |
|
if (plural != null) |
|
return plural; |
|
return $name + "s"; |
|
}, |
|
trimAscii: function(string, excludeEscape) { |
|
var start = B._firstNonWhitespace(string); |
|
return start == null ? "" : J.substring$2$s(string, start, B._lastNonWhitespace(string, true) + 1); |
|
}, |
|
trimAsciiRight: function(string, excludeEscape) { |
|
var end = B._lastNonWhitespace(string, excludeEscape); |
|
return end == null ? "" : J.substring$2$s(string, 0, end + 1); |
|
}, |
|
_firstNonWhitespace: function(string) { |
|
var t1, i, t2; |
|
for (t1 = string.length, i = 0; i < t1; ++i) { |
|
t2 = C.JSString_methods._codeUnitAt$1(string, i); |
|
if (!(t2 === 32 || t2 === 9 || t2 === 10 || t2 === 13 || t2 === 12)) |
|
return i; |
|
} |
|
return; |
|
}, |
|
_lastNonWhitespace: function(string, excludeEscape) { |
|
var t1, i, t2, codeUnit; |
|
for (t1 = string.length, i = t1 - 1, t2 = J.getInterceptor$s(string); i >= 0; --i) { |
|
codeUnit = t2.codeUnitAt$1(string, i); |
|
if (!(codeUnit === 32 || codeUnit === 9 || codeUnit === 10 || codeUnit === 13 || codeUnit === 12)) |
|
if (excludeEscape && i !== 0 && i !== t1 && codeUnit === 92) |
|
return i + 1; |
|
else |
|
return i; |
|
} |
|
return; |
|
}, |
|
isPublic: function(member) { |
|
var start = J._codeUnitAt$1$s(member, 0); |
|
return start !== 45 && start !== 95; |
|
}, |
|
flattenVertically: function(iterable, $T) { |
|
var result, |
|
queues = new H.MappedListIterable(iterable, new B.flattenVertically_closure($T), [H.getRuntimeTypeArgument(iterable, "ListIterable", 0), [Q.QueueList, $T]]).toList$0(0); |
|
if (queues.length === 1) |
|
return C.JSArray_methods.get$first(queues); |
|
result = H.setRuntimeTypeInfo([], [$T]); |
|
for (; queues.length !== 0;) { |
|
if (!!queues.fixed$length) |
|
H.throwExpression(P.UnsupportedError$("removeWhere")); |
|
C.JSArray_methods._removeWhere$2(queues, new B.flattenVertically_closure0(result), true); |
|
} |
|
return result; |
|
}, |
|
firstOrNull: function(iterable) { |
|
var iterator = J.get$iterator$ax(iterable); |
|
return iterator.moveNext$0() ? iterator.get$current(iterator) : null; |
|
}, |
|
codepointIndexToCodeUnitIndex: function(string, codepointIndex) { |
|
var t1, codeUnitIndex, i, codeUnitIndex0, t2; |
|
for (t1 = J.getInterceptor$s(string), codeUnitIndex = 0, i = 0; i < codepointIndex; ++i) { |
|
codeUnitIndex0 = codeUnitIndex + 1; |
|
t2 = t1._codeUnitAt$1(string, codeUnitIndex); |
|
codeUnitIndex = t2 >= 55296 && t2 <= 56319 ? codeUnitIndex0 + 1 : codeUnitIndex0; |
|
} |
|
return codeUnitIndex; |
|
}, |
|
codeUnitIndexToCodepointIndex: function(string, codeUnitIndex) { |
|
var t1, codepointIndex, i, t2; |
|
for (t1 = J.getInterceptor$s(string), codepointIndex = 0, i = 0; i < codeUnitIndex; i = (t2 >= 55296 && t2 <= 56319 ? i + 1 : i) + 1) { |
|
++codepointIndex; |
|
t2 = t1._codeUnitAt$1(string, i); |
|
} |
|
return codepointIndex; |
|
}, |
|
frameForSpan: function(span, member, url) { |
|
var t2, t3, t4, |
|
t1 = url == null ? span.file.url : url; |
|
if (t1 == null) |
|
t1 = $.$get$_noSourceUrl(); |
|
t2 = span.file; |
|
t3 = span._start; |
|
t4 = Y.FileLocation$_(t2, t3); |
|
t4 = t4.file.getLine$1(t4.offset); |
|
t3 = Y.FileLocation$_(t2, t3); |
|
return new A.Frame(t1, t4 + 1, t3.file.getColumn$1(t3.offset) + 1, member); |
|
}, |
|
spanForList: function(nodes) { |
|
var left, right; |
|
if (nodes.length === 0) |
|
return; |
|
left = C.JSArray_methods.get$first(nodes).get$span(); |
|
if (left == null) |
|
return; |
|
right = C.JSArray_methods.get$last(nodes).get$span(); |
|
if (right == null) |
|
return; |
|
return left.expand$1(0, right); |
|
}, |
|
declarationName: function(span) { |
|
var text = P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(span.file._decodedChars, span._start, span._file$_end), 0, null); |
|
return B.trimAsciiRight(C.JSString_methods.substring$2(text, 0, C.JSString_methods.indexOf$1(text, ":")), false); |
|
}, |
|
unvendor: function($name) { |
|
var i, |
|
t1 = $name.length; |
|
if (t1 < 2) |
|
return $name; |
|
if (J.getInterceptor$s($name)._codeUnitAt$1($name, 0) !== 45) |
|
return $name; |
|
if (C.JSString_methods._codeUnitAt$1($name, 1) === 45) |
|
return $name; |
|
for (i = 2; i < t1; ++i) |
|
if (C.JSString_methods._codeUnitAt$1($name, i) === 45) |
|
return C.JSString_methods.substring$1($name, i + 1); |
|
return $name; |
|
}, |
|
equalsIgnoreCase: function(string1, string2) { |
|
var t1, i; |
|
if (string1 == string2) |
|
return true; |
|
if (string1 == null || string2 == null) |
|
return false; |
|
t1 = string1.length; |
|
if (t1 !== string2.length) |
|
return false; |
|
for (i = 0; i < t1; ++i) |
|
if (!T.characterEqualsIgnoreCase(C.JSString_methods._codeUnitAt$1(string1, i), C.JSString_methods._codeUnitAt$1(string2, i))) |
|
return false; |
|
return true; |
|
}, |
|
startsWithIgnoreCase: function(string, prefix) { |
|
var t2, i, |
|
t1 = prefix.length; |
|
if (string.length < t1) |
|
return false; |
|
for (t2 = J.getInterceptor$s(string), i = 0; i < t1; ++i) |
|
if (!T.characterEqualsIgnoreCase(t2._codeUnitAt$1(string, i), C.JSString_methods._codeUnitAt$1(prefix, i))) |
|
return false; |
|
return true; |
|
}, |
|
mapInPlace: function(list, $function) { |
|
var i; |
|
for (i = 0; i < list.length; ++i) |
|
list[i] = $function.call$1(list[i]); |
|
}, |
|
longestCommonSubsequence: function(list1, list2, select, $T) { |
|
var t1, lengths, selections, t2, i, i0, j, selection, t3, j0, t4, t5; |
|
if (select == null) |
|
select = new B.longestCommonSubsequence_closure($T); |
|
t1 = J.getInterceptor$asx(list1); |
|
lengths = P.List_List$generate(t1.get$length(list1) + 1, new B.longestCommonSubsequence_closure0(list2), false, [P.List, P.int]); |
|
selections = P.List_List$generate(t1.get$length(list1), new B.longestCommonSubsequence_closure1(list2, $T), false, [P.List, $T]); |
|
for (t2 = J.getInterceptor$asx(list2), i = 0; i < t1.get$length(list1); i = i0) |
|
for (i0 = i + 1, j = 0; j < t2.get$length(list2); j = j0) { |
|
selection = select.call$2(t1.$index(list1, i), t2.$index(list2, j)); |
|
J.$indexSet$ax(selections[i], j, selection); |
|
t3 = lengths[i0]; |
|
j0 = j + 1; |
|
if (selection == null) { |
|
t4 = J.$index$asx(t3, j); |
|
t5 = J.$index$asx(lengths[i], j0); |
|
t5 = Math.max(H.checkNum(t4), H.checkNum(t5)); |
|
t4 = t5; |
|
} else |
|
t4 = J.$index$asx(lengths[i], j) + 1; |
|
J.$indexSet$ax(t3, j0, t4); |
|
} |
|
return new B.longestCommonSubsequence_backtrack(selections, lengths, $T).call$2(t1.get$length(list1) - 1, t2.get$length(list2) - 1); |
|
}, |
|
removeFirstWhere: function(list, test, orElse) { |
|
var toRemove, element, |
|
t1 = list.length, |
|
_i = 0; |
|
while (true) { |
|
if (!(_i < list.length)) { |
|
toRemove = null; |
|
break; |
|
} |
|
c$0: { |
|
element = list[_i]; |
|
if (!test.call$1(element)) |
|
break c$0; |
|
toRemove = element; |
|
break; |
|
} |
|
list.length === t1 || (0, H.throwConcurrentModificationError)(list); |
|
++_i; |
|
} |
|
if (toRemove == null) |
|
return orElse.call$0(); |
|
else { |
|
C.JSArray_methods.remove$1(list, toRemove); |
|
return toRemove; |
|
} |
|
}, |
|
mapAddAll2: function(destination, source) { |
|
source.forEach$1(0, new B.mapAddAll2_closure(destination)); |
|
}, |
|
setAll: function(map, keys, value) { |
|
var t1; |
|
for (t1 = J.get$iterator$ax(keys); t1.moveNext$0();) |
|
map.$indexSet(0, t1.get$current(t1), value); |
|
}, |
|
rotateSlice: function(list, start, end) { |
|
var i, next, |
|
element = list.$index(0, end - 1); |
|
for (i = start; i < end; ++i, element = next) { |
|
next = list.$index(0, i); |
|
list.$indexSet(0, i, element); |
|
} |
|
}, |
|
mapAsync: function(iterable, callback, $E, $F) { |
|
return B.mapAsync$body(iterable, callback, $E, $F, [P.Iterable, $F]); |
|
}, |
|
mapAsync$body: function(iterable, callback, $E, $F, $async$type) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter($async$type), |
|
$async$returnValue, t2, _i, t1, $async$temp1; |
|
var $async$mapAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = H.setRuntimeTypeInfo([], [$F]); |
|
t2 = iterable.length, _i = 0; |
|
case 3: |
|
// for condition |
|
if (!(_i < t2)) { |
|
// goto after for |
|
$async$goto = 5; |
|
break; |
|
} |
|
$async$temp1 = t1; |
|
$async$goto = 6; |
|
return P._asyncAwait(callback.call$1(iterable[_i]), $async$mapAsync); |
|
case 6: |
|
// returning from await. |
|
$async$temp1.push($async$result); |
|
case 4: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 5: |
|
// after for |
|
$async$returnValue = t1; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$mapAsync, $async$completer); |
|
}, |
|
putIfAbsentAsync: function(map, key, ifAbsent, $K, $V) { |
|
return B.putIfAbsentAsync$body(map, key, ifAbsent, $K, $V, $V); |
|
}, |
|
putIfAbsentAsync$body: function(map, key, ifAbsent, $K, $V, $async$type) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter($async$type), |
|
$async$returnValue, value; |
|
var $async$putIfAbsentAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if (map.containsKey$1(key)) { |
|
$async$returnValue = map.$index(0, key); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
$async$goto = 3; |
|
return P._asyncAwait(ifAbsent.call$0(), $async$putIfAbsentAsync); |
|
case 3: |
|
// returning from await. |
|
value = $async$result; |
|
map.$indexSet(0, key, value); |
|
$async$returnValue = value; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$putIfAbsentAsync, $async$completer); |
|
}, |
|
mapMapAsync: function(map, value, K1, V1, K2, V2) { |
|
return B.mapMapAsync$body(map, value, K1, V1, K2, V2, [P.Map, K2, V2]); |
|
}, |
|
mapMapAsync$body: function(map, value, K1, V1, K2, V2, $async$type) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter($async$type), |
|
$async$returnValue, t1, mapKey, mapValue, key, result, $async$temp1, $async$temp2; |
|
var $async$mapMapAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
key = new B.mapMapAsync_closure(K2, K1, V1); |
|
result = P.LinkedHashMap_LinkedHashMap$_empty(K2, V2); |
|
t1 = J.get$iterator$ax(map.get$keys()); |
|
case 3: |
|
// for condition |
|
if (!t1.moveNext$0()) { |
|
// goto after for |
|
$async$goto = 4; |
|
break; |
|
} |
|
mapKey = t1.get$current(t1); |
|
mapValue = map.$index(0, mapKey); |
|
$async$temp1 = result; |
|
$async$goto = 5; |
|
return P._asyncAwait(key.call$2(mapKey, mapValue), $async$mapMapAsync); |
|
case 5: |
|
// returning from await. |
|
$async$temp2 = $async$result; |
|
$async$goto = 6; |
|
return P._asyncAwait(value.call$2(mapKey, mapValue), $async$mapMapAsync); |
|
case 6: |
|
// returning from await. |
|
$async$temp1.$indexSet(0, $async$temp2, $async$result); |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 4: |
|
// after for |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$mapMapAsync, $async$completer); |
|
}, |
|
copyMapOfMap: function(map, K1, K2, $V) { |
|
var t1 = [P.Map, K2, $V]; |
|
return Y.mapMap(map, null, new B.copyMapOfMap_closure(K2, $V), K1, t1, K1, t1); |
|
}, |
|
copyMapOfList: function(map, $K, $E) { |
|
var t1 = [P.List, $E]; |
|
return Y.mapMap(map, null, new B.copyMapOfList_closure(), $K, t1, $K, t1); |
|
}, |
|
SpanExtensions_trim: function(_this) { |
|
var t3, end, end0, |
|
t1 = _this.file, |
|
t2 = _this._start, |
|
text = P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1._decodedChars, t2, _this._file$_end), 0, null), |
|
start = 0; |
|
while (true) { |
|
t3 = C.JSString_methods._codeUnitAt$1(text, start); |
|
if (!(t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12)) |
|
break; |
|
++start; |
|
} |
|
end = text.length - 1; |
|
end0 = end; |
|
while (true) { |
|
t3 = C.JSString_methods.codeUnitAt$1(text, end0); |
|
if (!(t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12)) |
|
break; |
|
--end0; |
|
} |
|
return start === 0 && end0 === end ? _this : t1.span$2(Y.FileLocation$_(t1, t2).offset + start, Y.FileLocation$_(t1, t2).offset + end0 + 1); |
|
}, |
|
indent_closure: function indent_closure(t0) { |
|
this.indentation = t0; |
|
}, |
|
flattenVertically_closure: function flattenVertically_closure(t0) { |
|
this.T = t0; |
|
}, |
|
flattenVertically_closure0: function flattenVertically_closure0(t0) { |
|
this.result = t0; |
|
}, |
|
longestCommonSubsequence_closure: function longestCommonSubsequence_closure(t0) { |
|
this.T = t0; |
|
}, |
|
longestCommonSubsequence_closure0: function longestCommonSubsequence_closure0(t0) { |
|
this.list2 = t0; |
|
}, |
|
longestCommonSubsequence_closure1: function longestCommonSubsequence_closure1(t0, t1) { |
|
this.list2 = t0; |
|
this.T = t1; |
|
}, |
|
longestCommonSubsequence_backtrack: function longestCommonSubsequence_backtrack(t0, t1, t2) { |
|
this.selections = t0; |
|
this.lengths = t1; |
|
this.T = t2; |
|
}, |
|
mapAddAll2_closure: function mapAddAll2_closure(t0) { |
|
this.destination = t0; |
|
}, |
|
mapMapAsync_closure: function mapMapAsync_closure(t0, t1, t2) { |
|
this.K2 = t0; |
|
this.K1 = t1; |
|
this.V1 = t2; |
|
}, |
|
copyMapOfMap_closure: function copyMapOfMap_closure(t0, t1) { |
|
this.K2 = t0; |
|
this.V = t1; |
|
}, |
|
copyMapOfList_closure: function copyMapOfList_closure() { |
|
}, |
|
isAlphabetic: function(char) { |
|
var t1; |
|
if (!(char >= 65 && char <= 90)) |
|
t1 = char >= 97 && char <= 122; |
|
else |
|
t1 = true; |
|
return t1; |
|
}, |
|
isDriveLetter: function(path, index) { |
|
var t1 = path.length, |
|
t2 = index + 2; |
|
if (t1 < t2) |
|
return false; |
|
if (!B.isAlphabetic(C.JSString_methods.codeUnitAt$1(path, index))) |
|
return false; |
|
if (C.JSString_methods.codeUnitAt$1(path, index + 1) !== 58) |
|
return false; |
|
if (t1 === t2) |
|
return true; |
|
return C.JSString_methods.codeUnitAt$1(path, t2) === 47; |
|
}, |
|
isAllTheSame: function(iter) { |
|
var t1, lastValue, value; |
|
for (t1 = new H.ListIterator(iter, iter.get$length(iter)), lastValue = null; t1.moveNext$0();) { |
|
value = t1.__internal$_current; |
|
if (lastValue == null) |
|
lastValue = value; |
|
else if (!J.$eq$(value, lastValue)) |
|
return false; |
|
} |
|
return true; |
|
}, |
|
replaceFirstNull: function(list, element) { |
|
var index = C.JSArray_methods.indexOf$1(list, null); |
|
if (index < 0) |
|
throw H.wrapException(P.ArgumentError$(H.S(list) + " contains no null elements.")); |
|
list[index] = element; |
|
}, |
|
replaceWithNull: function(list, element) { |
|
var index = C.JSArray_methods.indexOf$1(list, element); |
|
if (index < 0) |
|
throw H.wrapException(P.ArgumentError$(H.S(list) + " contains no elements matching " + element.toString$0(0) + ".")); |
|
list[index] = null; |
|
}, |
|
countCodeUnits: function(string, codeUnit) { |
|
var t1, count; |
|
for (t1 = new H.CodeUnits(string), t1 = new H.ListIterator(t1, t1.get$length(t1)), count = 0; t1.moveNext$0();) |
|
if (t1.__internal$_current === codeUnit) |
|
++count; |
|
return count; |
|
}, |
|
findLineStart: function(context, text, column) { |
|
var beginningOfLine, index, lineStart; |
|
if (text.length === 0) |
|
for (beginningOfLine = 0; true;) { |
|
index = C.JSString_methods.indexOf$2(context, "\n", beginningOfLine); |
|
if (index === -1) |
|
return context.length - beginningOfLine >= column ? beginningOfLine : null; |
|
if (index - beginningOfLine >= column) |
|
return beginningOfLine; |
|
beginningOfLine = index + 1; |
|
} |
|
index = C.JSString_methods.indexOf$1(context, text); |
|
for (; index !== -1;) { |
|
lineStart = index === 0 ? 0 : C.JSString_methods.lastIndexOf$2(context, "\n", index - 1) + 1; |
|
if (column === index - lineStart) |
|
return lineStart; |
|
index = C.JSString_methods.indexOf$2(context, text, index + 1); |
|
} |
|
return; |
|
}, |
|
validateErrorArgs: function(string, match, position, $length) { |
|
var t2, |
|
t1 = position != null; |
|
if (t1) |
|
if (position < 0) |
|
throw H.wrapException(P.RangeError$("position must be greater than or equal to 0.")); |
|
else if (position > string.length) |
|
throw H.wrapException(P.RangeError$("position must be less than or equal to the string length.")); |
|
t2 = $length != null; |
|
if (t2 && $length < 0) |
|
throw H.wrapException(P.RangeError$("length must be greater than or equal to 0.")); |
|
if (t1 && t2 && position + $length > string.length) |
|
throw H.wrapException(P.RangeError$("position plus length must not go beyond the end of the string.")); |
|
} |
|
}, |
|
O = { |
|
EmptyUnmodifiableSet__throw: function() { |
|
throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable Set")); |
|
}, |
|
EmptyUnmodifiableSet: function EmptyUnmodifiableSet(t0) { |
|
this.$ti = t0; |
|
}, |
|
Style__getPlatformStyle: function() { |
|
if (P.Uri_base().get$scheme() !== "file") |
|
return $.$get$Style_url(); |
|
var t1 = P.Uri_base(); |
|
if (!C.JSString_methods.endsWith$1(t1.get$path(t1), "/")) |
|
return $.$get$Style_url(); |
|
if (P._Uri__Uri(null, "a/b", null, null).toFilePath$0() === "a\\b") |
|
return $.$get$Style_windows(); |
|
return $.$get$Style_posix(); |
|
}, |
|
Style: function Style() { |
|
}, |
|
NullExpression: function NullExpression(t0) { |
|
this.span = t0; |
|
}, |
|
Statement: function Statement() { |
|
}, |
|
AsyncImportCache$none: function(logger) { |
|
var t1 = logger == null ? C.StderrLogger_false : logger, |
|
t2 = P.Uri; |
|
return new O.AsyncImportCache(C.List_empty14, t1, P.LinkedHashMap_LinkedHashMap$_empty([S.Tuple2, P.Uri, P.bool], [S.Tuple3, B.AsyncImporter, P.Uri, P.Uri]), P.LinkedHashMap_LinkedHashMap$_empty(t2, V.Stylesheet), P.LinkedHashMap_LinkedHashMap$_empty(t2, E.ImporterResult)); |
|
}, |
|
AsyncImportCache__toImporters: function(importers, loadPaths, packageResolver) { |
|
var _i, t2, t3, path, _null = null, |
|
sassPath = H.stringTypeCast(J.get$env$x(self.process).SASS_PATH), |
|
t1 = H.setRuntimeTypeInfo([], [B.AsyncImporter]); |
|
for (_i = 0; false; ++_i) |
|
t1.push(importers[_i]); |
|
if (loadPaths != null) |
|
for (t2 = J.get$iterator$ax(loadPaths); t2.moveNext$0();) { |
|
t3 = t2.get$current(t2); |
|
t1.push(new F.FilesystemImporter($.$get$context().absolute$7(t3, _null, _null, _null, _null, _null, _null))); |
|
} |
|
if (sassPath != null) { |
|
t2 = sassPath.split(J.$eq$(J.get$platform$x(self.process), "win32") ? ";" : ":"); |
|
t3 = t2.length; |
|
_i = 0; |
|
for (; _i < t3; ++_i) { |
|
path = t2[_i]; |
|
t1.push(new F.FilesystemImporter($.$get$context().absolute$7(path, _null, _null, _null, _null, _null, _null))); |
|
} |
|
} |
|
return t1; |
|
}, |
|
AsyncImportCache: function AsyncImportCache(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_._async_import_cache$_importers = t0; |
|
_._async_import_cache$_logger = t1; |
|
_._async_import_cache$_canonicalizeCache = t2; |
|
_._async_import_cache$_importCache = t3; |
|
_._async_import_cache$_resultsCache = t4; |
|
}, |
|
AsyncImportCache_canonicalize_closure: function AsyncImportCache_canonicalize_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.url = t1; |
|
this.forImport = t2; |
|
}, |
|
AsyncImportCache__canonicalize_closure: function AsyncImportCache__canonicalize_closure(t0, t1) { |
|
this.importer = t0; |
|
this.url = t1; |
|
}, |
|
AsyncImportCache_importCanonical_closure: function AsyncImportCache_importCanonical_closure(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.importer = t1; |
|
_.canonicalUrl = t2; |
|
_.originalUrl = t3; |
|
}, |
|
AsyncImportCache_humanize_closure: function AsyncImportCache_humanize_closure(t0) { |
|
this.canonicalUrl = t0; |
|
}, |
|
AsyncImportCache_humanize_closure0: function AsyncImportCache_humanize_closure0() { |
|
}, |
|
AsyncImportCache_humanize_closure1: function AsyncImportCache_humanize_closure1() { |
|
}, |
|
Environment$: function(sourceMap) { |
|
var _null = null, |
|
t1 = P.String, |
|
t2 = [G.Module, D.Callable], |
|
t3 = B.AstNode, |
|
t4 = H.setRuntimeTypeInfo([], [t2]), |
|
t5 = H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, F.Value)], [[P.Map, P.String, F.Value]]), |
|
t6 = sourceMap ? H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, t3)], [[P.Map, P.String, B.AstNode]]) : _null, |
|
t7 = P.int, |
|
t8 = D.Callable, |
|
t9 = [[P.Map, P.String, D.Callable]]; |
|
return new O.Environment(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), P.LinkedHashMap_LinkedHashMap$_empty(t1, t3), _null, _null, _null, _null, _null, t4, t5, t6, P.LinkedHashMap_LinkedHashMap$_empty(t1, t7), H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, t8)], t9), P.LinkedHashMap_LinkedHashMap$_empty(t1, t7), H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, t8)], t9), P.LinkedHashMap_LinkedHashMap$_empty(t1, t7), _null); |
|
}, |
|
Environment$_: function(_modules, _namespaceNodes, _globalModules, _globalModuleNodes, _forwardedModules, _forwardedModuleNodes, _nestedForwardedModules, _allModules, _variables, _variableNodes, _functions, _mixins, _content) { |
|
var t1 = P.String, |
|
t2 = P.int; |
|
return new O.Environment(_modules, _namespaceNodes, _globalModules, _globalModuleNodes, _forwardedModules, _forwardedModuleNodes, _nestedForwardedModules, _allModules, _variables, _variableNodes, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _functions, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _mixins, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _content); |
|
}, |
|
_EnvironmentModule__EnvironmentModule: function(environment, css, extender, forwarded) { |
|
var t1, t2, t3, t4, t5, t6; |
|
if (forwarded == null) |
|
forwarded = C.List_empty0; |
|
t1 = O._EnvironmentModule__makeModulesByVariable(forwarded); |
|
t2 = H.getTypeArgumentByIndex(forwarded, 0); |
|
t3 = O._EnvironmentModule__memberMap(C.JSArray_methods.get$first(environment._variables), new H.MappedListIterable(forwarded, new O._EnvironmentModule__EnvironmentModule_closure(), [t2, [P.Map, P.String, F.Value]]), F.Value); |
|
t4 = environment._variableNodes; |
|
t4 = t4 == null ? null : O._EnvironmentModule__memberMap(C.JSArray_methods.get$first(t4), new H.MappedListIterable(forwarded, new O._EnvironmentModule__EnvironmentModule_closure0(), [t2, [P.Map, P.String, B.AstNode]]), B.AstNode); |
|
t2 = [t2, [P.Map, P.String, D.Callable]]; |
|
t5 = D.Callable; |
|
t6 = O._EnvironmentModule__memberMap(C.JSArray_methods.get$first(environment._functions), new H.MappedListIterable(forwarded, new O._EnvironmentModule__EnvironmentModule_closure1(), t2), t5); |
|
t5 = O._EnvironmentModule__memberMap(C.JSArray_methods.get$first(environment._mixins), new H.MappedListIterable(forwarded, new O._EnvironmentModule__EnvironmentModule_closure2(), t2), t5); |
|
t2 = J.get$isNotEmpty$asx(css.get$children()) || C.JSArray_methods.any$1(environment._allModules, new O._EnvironmentModule__EnvironmentModule_closure3()); |
|
return O._EnvironmentModule$_(environment, css, extender, t1, t3, t4, t6, t5, t2, !extender.get$isEmpty(extender) || C.JSArray_methods.any$1(environment._allModules, new O._EnvironmentModule__EnvironmentModule_closure4())); |
|
}, |
|
_EnvironmentModule__makeModulesByVariable: function(forwarded) { |
|
var modulesByVariable, _i, module, t2, t3, |
|
t1 = forwarded.length; |
|
if (t1 === 0) |
|
return C.Map_empty0; |
|
modulesByVariable = P.LinkedHashMap_LinkedHashMap$_empty(P.String, [G.Module, D.Callable]); |
|
for (_i = 0; _i < forwarded.length; forwarded.length === t1 || (0, H.throwConcurrentModificationError)(forwarded), ++_i) { |
|
module = forwarded[_i]; |
|
if (module instanceof O._EnvironmentModule) { |
|
for (t2 = module._modulesByVariable.get$values(), t2 = t2.get$iterator(t2); t2.moveNext$0();) { |
|
t3 = t2.get$current(t2); |
|
B.setAll(modulesByVariable, t3.get$variables().get$keys(), t3); |
|
} |
|
B.setAll(modulesByVariable, C.JSArray_methods.get$first(module._environment._variables).get$keys(), module); |
|
} else |
|
B.setAll(modulesByVariable, module.get$variables().get$keys(), module); |
|
} |
|
return modulesByVariable; |
|
}, |
|
_EnvironmentModule__memberMap: function(localMap, otherMaps, $V) { |
|
var t1, t2, t3; |
|
localMap = new U.PublicMemberMapView(localMap, [$V]); |
|
if (otherMaps.get$length(otherMaps) === 0) |
|
return localMap; |
|
t1 = H.setRuntimeTypeInfo([], [[P.Map, P.String, $V]]); |
|
for (t2 = new H.ListIterator(otherMaps, otherMaps.get$length(otherMaps)); t2.moveNext$0();) { |
|
t3 = t2.__internal$_current; |
|
if (t3.get$isNotEmpty(t3)) |
|
t1.push(t3); |
|
} |
|
t1.push(localMap); |
|
if (t1.length === 1) |
|
return localMap; |
|
return Z.MergedMapView$(t1, P.String, $V); |
|
}, |
|
_EnvironmentModule$_: function(_environment, css, extender, _modulesByVariable, variables, variableNodes, functions, mixins, transitivelyContainsCss, transitivelyContainsExtensions) { |
|
return new O._EnvironmentModule(_environment._allModules, variables, variableNodes, functions, mixins, extender, css, transitivelyContainsCss, transitivelyContainsExtensions, _environment, _modulesByVariable); |
|
}, |
|
Environment: function Environment(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) { |
|
var _ = this; |
|
_._environment$_modules = t0; |
|
_._namespaceNodes = t1; |
|
_._globalModules = t2; |
|
_._globalModuleNodes = t3; |
|
_._forwardedModules = t4; |
|
_._forwardedModuleNodes = t5; |
|
_._nestedForwardedModules = t6; |
|
_._allModules = t7; |
|
_._variables = t8; |
|
_._variableNodes = t9; |
|
_._variableIndices = t10; |
|
_._functions = t11; |
|
_._functionIndices = t12; |
|
_._mixins = t13; |
|
_._mixinIndices = t14; |
|
_._content = t15; |
|
_._inMixin = false; |
|
_._inSemiGlobalScope = true; |
|
_._lastVariableIndex = _._lastVariableName = null; |
|
}, |
|
Environment_importForwards_closure: function Environment_importForwards_closure() { |
|
}, |
|
Environment_importForwards_closure0: function Environment_importForwards_closure0() { |
|
}, |
|
Environment_importForwards_closure1: function Environment_importForwards_closure1() { |
|
}, |
|
Environment_importForwards_closure2: function Environment_importForwards_closure2() { |
|
}, |
|
Environment__getVariableFromGlobalModule_closure: function Environment__getVariableFromGlobalModule_closure(t0) { |
|
this.name = t0; |
|
}, |
|
Environment_setVariable_closure: function Environment_setVariable_closure(t0, t1) { |
|
this.$this = t0; |
|
this.name = t1; |
|
}, |
|
Environment_setVariable_closure0: function Environment_setVariable_closure0(t0) { |
|
this.name = t0; |
|
}, |
|
Environment_setVariable_closure1: function Environment_setVariable_closure1(t0, t1) { |
|
this.$this = t0; |
|
this.name = t1; |
|
}, |
|
Environment__getFunctionFromGlobalModule_closure: function Environment__getFunctionFromGlobalModule_closure(t0) { |
|
this.name = t0; |
|
}, |
|
Environment__getMixinFromGlobalModule_closure: function Environment__getMixinFromGlobalModule_closure(t0) { |
|
this.name = t0; |
|
}, |
|
_EnvironmentModule: function _EnvironmentModule(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) { |
|
var _ = this; |
|
_.upstream = t0; |
|
_.variables = t1; |
|
_.variableNodes = t2; |
|
_.functions = t3; |
|
_.mixins = t4; |
|
_.extender = t5; |
|
_.css = t6; |
|
_.transitivelyContainsCss = t7; |
|
_.transitivelyContainsExtensions = t8; |
|
_._environment = t9; |
|
_._modulesByVariable = t10; |
|
}, |
|
_EnvironmentModule__EnvironmentModule_closure: function _EnvironmentModule__EnvironmentModule_closure() { |
|
}, |
|
_EnvironmentModule__EnvironmentModule_closure0: function _EnvironmentModule__EnvironmentModule_closure0() { |
|
}, |
|
_EnvironmentModule__EnvironmentModule_closure1: function _EnvironmentModule__EnvironmentModule_closure1() { |
|
}, |
|
_EnvironmentModule__EnvironmentModule_closure2: function _EnvironmentModule__EnvironmentModule_closure2() { |
|
}, |
|
_EnvironmentModule__EnvironmentModule_closure3: function _EnvironmentModule__EnvironmentModule_closure3() { |
|
}, |
|
_EnvironmentModule__EnvironmentModule_closure4: function _EnvironmentModule__EnvironmentModule_closure4() { |
|
}, |
|
closure116: function closure116() { |
|
}, |
|
_closure14: function _closure14() { |
|
}, |
|
_closure15: function _closure15() { |
|
}, |
|
SassNull: function SassNull() { |
|
} |
|
}, |
|
U = {DefaultEquality: function DefaultEquality() { |
|
}, ListEquality: function ListEquality() { |
|
}, _MapEntry: function _MapEntry(t0, t1, t2) { |
|
this.equality = t0; |
|
this.key = t1; |
|
this.value = t2; |
|
}, MapEquality: function MapEquality() { |
|
}, ModifiableCssAtRule: function ModifiableCssAtRule(t0, t1, t2, t3, t4, t5) { |
|
var _ = this; |
|
_.name = t0; |
|
_.value = t1; |
|
_.isChildless = t2; |
|
_.span = t3; |
|
_.children = t4; |
|
_._children = t5; |
|
_._indexInParent = _._parent = null; |
|
_.isGroupEnd = false; |
|
}, ModifiableCssKeyframeBlock: function ModifiableCssKeyframeBlock(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.selector = t0; |
|
_.span = t1; |
|
_.children = t2; |
|
_._children = t3; |
|
_._indexInParent = _._parent = null; |
|
_.isGroupEnd = false; |
|
}, |
|
AtRule$: function($name, span, children, value) { |
|
var t1 = children == null ? null : P.List_List$unmodifiable(children, O.Statement), |
|
t2 = t1 == null ? null : C.JSArray_methods.any$1(t1, new M.ParentStatement_closure()); |
|
return new U.AtRule($name, value, span, t1, t2 === true); |
|
}, |
|
AtRule: function AtRule(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.name = t0; |
|
_.value = t1; |
|
_.span = t2; |
|
_.children = t3; |
|
_.hasDeclarations = t4; |
|
}, |
|
SupportsOperation: function SupportsOperation(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.left = t0; |
|
_.right = t1; |
|
_.operator = t2; |
|
_.span = t3; |
|
}, |
|
compile: function(path, charset, functions, importCache, indentWidth, lineFeed, logger, nodeImporter, sourceMap, style, syntax, useSpaces) { |
|
var t1, t2, stylesheet; |
|
if (nodeImporter == null) |
|
t1 = syntax == null || syntax === M.Syntax_forPath(path); |
|
else |
|
t1 = false; |
|
if (t1) { |
|
if (importCache == null) |
|
importCache = R.ImportCache$none(logger); |
|
t1 = D.absolute("."); |
|
t2 = $.$get$context(); |
|
stylesheet = importCache.importCanonical$3(new F.FilesystemImporter(t1), t2.toUri$1(t2.canonicalize$1(path)), t2.toUri$1(path)); |
|
} else { |
|
t1 = B.readFile(path); |
|
t2 = syntax == null ? M.Syntax_forPath(path) : syntax; |
|
stylesheet = V.Stylesheet_Stylesheet$parse(t1, t2, logger, $.$get$context().toUri$1(path)); |
|
} |
|
return U._compileStylesheet(stylesheet, logger, importCache, nodeImporter, new F.FilesystemImporter(D.absolute(".")), functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset); |
|
}, |
|
compileString: function(source, charset, functions, importCache, importer, indentWidth, lineFeed, logger, nodeImporter, sourceMap, style, syntax, url, useSpaces) { |
|
var stylesheet = V.Stylesheet_Stylesheet$parse(source, syntax == null ? C.Syntax_SCSS : syntax, logger, url); |
|
return U._compileStylesheet(stylesheet, logger, importCache, nodeImporter, importer == null ? new F.FilesystemImporter(D.absolute(".")) : importer, functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset); |
|
}, |
|
_compileStylesheet: function(stylesheet, logger, importCache, nodeImporter, importer, functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset) { |
|
var evaluateResult = R._EvaluateVisitor$(functions, importCache, logger, nodeImporter, sourceMap).run$2(0, importer, stylesheet), |
|
serializeResult = N.serialize(evaluateResult.stylesheet, charset, indentWidth, false, lineFeed, sourceMap, style, useSpaces), |
|
t1 = serializeResult.sourceMap; |
|
if (t1 != null && importCache != null) |
|
B.mapInPlace(t1.urls, new U._compileStylesheet_closure(stylesheet, importCache)); |
|
return new X.CompileResult(evaluateResult, serializeResult); |
|
}, |
|
_compileStylesheet_closure: function _compileStylesheet_closure(t0, t1) { |
|
this.stylesheet = t0; |
|
this.importCache = t1; |
|
}, |
|
RenderResult: function RenderResult() { |
|
}, |
|
RenderResultStats: function RenderResultStats() { |
|
}, |
|
SassParser: function SassParser(t0, t1, t2) { |
|
var _ = this; |
|
_._currentIndentation = 0; |
|
_._spaces = _._nextIndentationEnd = _._nextIndentation = null; |
|
_._isUseAllowed = true; |
|
_._stylesheet$_inMixin = false; |
|
_._mixinHasContent = null; |
|
_._inParentheses = _._inStyleRule = _._stylesheet$_inUnknownAtRule = _._inControlDirective = _._inContentBlock = false; |
|
_._globalVariables = t0; |
|
_.lastSilentComment = null; |
|
_.scanner = t1; |
|
_.logger = t2; |
|
}, |
|
SassParser_children_closure: function SassParser_children_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.children = t1; |
|
this.child = t2; |
|
}, |
|
MultiDirWatcher: function MultiDirWatcher(t0, t1, t2) { |
|
this._watchers = t0; |
|
this._group = t1; |
|
this._poll = t2; |
|
}, |
|
PublicMemberMapView: function PublicMemberMapView(t0, t1) { |
|
this._inner = t0; |
|
this.$ti = t1; |
|
}, |
|
Highlighter$: function(span, color) { |
|
var t1 = U.Highlighter__collateLines(H.setRuntimeTypeInfo([U._Highlight$(span, null, true)], [U._Highlight])), |
|
t2 = new U.Highlighter_closure(color).call$0(), |
|
t3 = C.JSInt_methods.toString$0(C.JSArray_methods.get$last(t1).number + 1), |
|
t4 = U.Highlighter__contiguous(t1) ? 0 : 3, |
|
t5 = P.int, |
|
t6 = H.getTypeArgumentByIndex(t1, 0); |
|
return new U.Highlighter(t1, t2, null, 1 + Math.max(t3.length, t4), new H.MappedListIterable(t1, new U.Highlighter$__closure(), [t6, t5]).reduce$1(0, H.instantiate1(P.math__max$closure(), t5)), !B.isAllTheSame(new H.MappedListIterable(t1, new U.Highlighter$__closure0(), [t6, P.Object])), new P.StringBuffer("")); |
|
}, |
|
Highlighter$multiple: function(primarySpan, primaryLabel, secondarySpans, color, primaryColor, secondaryColor) { |
|
var t2, t3, t4, t5, t6, t7, |
|
t1 = H.setRuntimeTypeInfo([], [U._Highlight]); |
|
t1.push(U._Highlight$(primarySpan, primaryLabel, true)); |
|
for (t2 = secondarySpans.get$entries(), t2 = t2.get$iterator(t2); t2.moveNext$0();) { |
|
t3 = t2.get$current(t2); |
|
t1.push(U._Highlight$(t3.key, t3.value, false)); |
|
} |
|
t1 = U.Highlighter__collateLines(t1); |
|
if (color) |
|
t2 = "\x1b[31m"; |
|
else |
|
t2 = null; |
|
if (color) |
|
t3 = "\x1b[34m"; |
|
else |
|
t3 = null; |
|
t4 = C.JSInt_methods.toString$0(C.JSArray_methods.get$last(t1).number + 1); |
|
t5 = U.Highlighter__contiguous(t1) ? 0 : 3; |
|
t6 = P.int; |
|
t7 = H.getTypeArgumentByIndex(t1, 0); |
|
return new U.Highlighter(t1, t2, t3, 1 + Math.max(t4.length, t5), new H.MappedListIterable(t1, new U.Highlighter$__closure(), [t7, t6]).reduce$1(0, H.instantiate1(P.math__max$closure(), t6)), !B.isAllTheSame(new H.MappedListIterable(t1, new U.Highlighter$__closure0(), [t7, P.Object])), new P.StringBuffer("")); |
|
}, |
|
Highlighter__contiguous: function(lines) { |
|
var i, thisLine, nextLine; |
|
for (i = 0; i < lines.length - 1;) { |
|
thisLine = lines[i]; |
|
++i; |
|
nextLine = lines[i]; |
|
if (thisLine.number + 1 !== nextLine.number && J.$eq$(thisLine.url, nextLine.url)) |
|
return false; |
|
} |
|
return true; |
|
}, |
|
Highlighter__collateLines: function(highlights) { |
|
var t1, t2, |
|
highlightsByUrl = Y.groupBy(highlights, new U.Highlighter__collateLines_closure(), U._Highlight, null); |
|
for (t1 = highlightsByUrl.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();) |
|
J.sort$1$ax(t1.get$current(t1), new U.Highlighter__collateLines_closure0()); |
|
t1 = highlightsByUrl.get$values(); |
|
t2 = U._Line; |
|
return P.List_List$from(new H.ExpandIterable(t1, new U.Highlighter__collateLines_closure1(), [H.getRuntimeTypeArgument(t1, "Iterable", 0), t2]), true, t2); |
|
}, |
|
_Highlight$: function(span, label, primary) { |
|
return new U._Highlight(new U._Highlight_closure(span).call$0(), primary, label); |
|
}, |
|
_Highlight__normalizeNewlines: function(span) { |
|
var endOffset, t1, i, t2, t3, t4, |
|
text = span.get$text(); |
|
if (!C.JSString_methods.contains$1(text, "\r\n")) |
|
return span; |
|
endOffset = span.get$end(span).get$offset(); |
|
for (t1 = text.length - 1, i = 0; i < t1; ++i) |
|
if (C.JSString_methods._codeUnitAt$1(text, i) === 13 && C.JSString_methods._codeUnitAt$1(text, i + 1) === 10) |
|
--endOffset; |
|
t1 = span.get$start(span); |
|
t2 = span.get$sourceUrl(); |
|
t3 = span.get$end(span).get$line(); |
|
t2 = V.SourceLocation$(endOffset, span.get$end(span).get$column(), t3, t2); |
|
t3 = H.stringReplaceAllUnchecked(text, "\r\n", "\n"); |
|
t4 = span.get$context(span); |
|
return X.SourceSpanWithContext$(t1, t2, t3, H.stringReplaceAllUnchecked(t4, "\r\n", "\n")); |
|
}, |
|
_Highlight__normalizeTrailingNewline: function(span) { |
|
var context, text, start, end, t1, t2, t3; |
|
if (!C.JSString_methods.endsWith$1(span.get$context(span), "\n")) |
|
return span; |
|
if (C.JSString_methods.endsWith$1(span.get$text(), "\n\n")) |
|
return span; |
|
context = C.JSString_methods.substring$2(span.get$context(span), 0, span.get$context(span).length - 1); |
|
text = span.get$text(); |
|
start = span.get$start(span); |
|
end = span.get$end(span); |
|
if (C.JSString_methods.endsWith$1(span.get$text(), "\n") && B.findLineStart(span.get$context(span), span.get$text(), span.get$start(span).get$column()) + span.get$start(span).get$column() + span.get$length(span) === span.get$context(span).length) { |
|
text = C.JSString_methods.substring$2(span.get$text(), 0, span.get$text().length - 1); |
|
if (text.length === 0) |
|
end = start; |
|
else { |
|
t1 = span.get$end(span).get$offset(); |
|
t2 = span.get$sourceUrl(); |
|
t3 = span.get$end(span).get$line(); |
|
end = V.SourceLocation$(t1 - 1, U._Highlight__lastLineLength(context), t3 - 1, t2); |
|
start = span.get$start(span).get$offset() === span.get$end(span).get$offset() ? end : span.get$start(span); |
|
} |
|
} |
|
return X.SourceSpanWithContext$(start, end, text, context); |
|
}, |
|
_Highlight__normalizeEndOfLine: function(span) { |
|
var text, t1, t2, t3, t4; |
|
if (span.get$end(span).get$column() !== 0) |
|
return span; |
|
if (span.get$end(span).get$line() == span.get$start(span).get$line()) |
|
return span; |
|
text = C.JSString_methods.substring$2(span.get$text(), 0, span.get$text().length - 1); |
|
t1 = span.get$start(span); |
|
t2 = span.get$end(span).get$offset(); |
|
t3 = span.get$sourceUrl(); |
|
t4 = span.get$end(span).get$line(); |
|
t3 = V.SourceLocation$(t2 - 1, text.length - C.JSString_methods.lastIndexOf$1(text, "\n") - 1, t4 - 1, t3); |
|
return X.SourceSpanWithContext$(t1, t3, text, C.JSString_methods.endsWith$1(span.get$context(span), "\n") ? C.JSString_methods.substring$2(span.get$context(span), 0, span.get$context(span).length - 1) : span.get$context(span)); |
|
}, |
|
_Highlight__lastLineLength: function(text) { |
|
var t1 = text.length; |
|
if (t1 === 0) |
|
return 0; |
|
else if (C.JSString_methods.codeUnitAt$1(text, t1 - 1) === 10) |
|
return t1 === 1 ? 0 : t1 - C.JSString_methods.lastIndexOf$2(text, "\n", t1 - 2) - 1; |
|
else |
|
return t1 - C.JSString_methods.lastIndexOf$1(text, "\n") - 1; |
|
}, |
|
Highlighter: function Highlighter(t0, t1, t2, t3, t4, t5, t6) { |
|
var _ = this; |
|
_._lines = t0; |
|
_._primaryColor = t1; |
|
_._secondaryColor = t2; |
|
_._paddingBeforeSidebar = t3; |
|
_._maxMultilineSpans = t4; |
|
_._multipleFiles = t5; |
|
_._highlighter$_buffer = t6; |
|
}, |
|
Highlighter_closure: function Highlighter_closure(t0) { |
|
this.color = t0; |
|
}, |
|
Highlighter$__closure: function Highlighter$__closure() { |
|
}, |
|
Highlighter$___closure: function Highlighter$___closure() { |
|
}, |
|
Highlighter$__closure0: function Highlighter$__closure0() { |
|
}, |
|
Highlighter__collateLines_closure: function Highlighter__collateLines_closure() { |
|
}, |
|
Highlighter__collateLines_closure0: function Highlighter__collateLines_closure0() { |
|
}, |
|
Highlighter__collateLines_closure1: function Highlighter__collateLines_closure1() { |
|
}, |
|
Highlighter__collateLines__closure: function Highlighter__collateLines__closure(t0) { |
|
this.line = t0; |
|
}, |
|
Highlighter_highlight_closure: function Highlighter_highlight_closure() { |
|
}, |
|
Highlighter_highlight_closure0: function Highlighter_highlight_closure0() { |
|
}, |
|
Highlighter__writeFileStart_closure: function Highlighter__writeFileStart_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
Highlighter__writeMultilineHighlights_closure: function Highlighter__writeMultilineHighlights_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.startLine = t1; |
|
this.line = t2; |
|
}, |
|
Highlighter__writeMultilineHighlights_closure0: function Highlighter__writeMultilineHighlights_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.highlight = t1; |
|
}, |
|
Highlighter__writeMultilineHighlights_closure1: function Highlighter__writeMultilineHighlights_closure1(t0) { |
|
this.$this = t0; |
|
}, |
|
Highlighter__writeMultilineHighlights_closure2: function Highlighter__writeMultilineHighlights_closure2(t0, t1, t2, t3, t4, t5, t6) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.$this = t1; |
|
_.current = t2; |
|
_.startLine = t3; |
|
_.line = t4; |
|
_.highlight = t5; |
|
_.endLine = t6; |
|
}, |
|
Highlighter__writeMultilineHighlights__closure: function Highlighter__writeMultilineHighlights__closure(t0, t1) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
}, |
|
Highlighter__writeMultilineHighlights__closure0: function Highlighter__writeMultilineHighlights__closure0(t0, t1) { |
|
this.$this = t0; |
|
this.vertical = t1; |
|
}, |
|
Highlighter__writeHighlightedText_closure: function Highlighter__writeHighlightedText_closure(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.text = t1; |
|
_.startColumn = t2; |
|
_.endColumn = t3; |
|
}, |
|
Highlighter__writeIndicator_closure: function Highlighter__writeIndicator_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.line = t1; |
|
this.highlight = t2; |
|
}, |
|
Highlighter__writeIndicator_closure0: function Highlighter__writeIndicator_closure0(t0, t1, t2) { |
|
this.$this = t0; |
|
this.line = t1; |
|
this.highlight = t2; |
|
}, |
|
Highlighter__writeIndicator_closure1: function Highlighter__writeIndicator_closure1(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.coversWholeLine = t1; |
|
_.line = t2; |
|
_.highlight = t3; |
|
}, |
|
Highlighter__writeSidebar_closure: function Highlighter__writeSidebar_closure(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
this.end = t2; |
|
}, |
|
_Highlight: function _Highlight(t0, t1, t2) { |
|
this.span = t0; |
|
this.isPrimary = t1; |
|
this.label = t2; |
|
}, |
|
_Highlight_closure: function _Highlight_closure(t0) { |
|
this.span = t0; |
|
}, |
|
_Line: function _Line(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.text = t0; |
|
_.number = t1; |
|
_.url = t2; |
|
_.highlights = t3; |
|
}, |
|
Chain_Chain$parse: function(chain) { |
|
var t1, t2, |
|
_s26_ = "<asynchronous suspension>\n", |
|
_s51_ = "===== asynchronous gap ===========================\n"; |
|
if (chain.length === 0) { |
|
t1 = Y.Trace; |
|
return new U.Chain(P.List_List$unmodifiable(H.setRuntimeTypeInfo([], [t1]), t1)); |
|
} |
|
if (C.JSString_methods.contains$1(chain, _s26_)) { |
|
t1 = H.setRuntimeTypeInfo(chain.split(_s26_), [P.String]); |
|
t2 = Y.Trace; |
|
return new U.Chain(P.List_List$unmodifiable(new H.MappedListIterable(t1, new U.Chain_Chain$parse_closure(), [H.getTypeArgumentByIndex(t1, 0), t2]), t2)); |
|
} |
|
if (!C.JSString_methods.contains$1(chain, _s51_)) { |
|
t1 = Y.Trace; |
|
return new U.Chain(P.List_List$unmodifiable(H.setRuntimeTypeInfo([Y.Trace_Trace$parse(chain)], [t1]), t1)); |
|
} |
|
t1 = H.setRuntimeTypeInfo(chain.split(_s51_), [P.String]); |
|
t2 = Y.Trace; |
|
return new U.Chain(P.List_List$unmodifiable(new H.MappedListIterable(t1, new U.Chain_Chain$parse_closure0(), [H.getTypeArgumentByIndex(t1, 0), t2]), t2)); |
|
}, |
|
Chain: function Chain(t0) { |
|
this.traces = t0; |
|
}, |
|
Chain_Chain$parse_closure: function Chain_Chain$parse_closure() { |
|
}, |
|
Chain_Chain$parse_closure0: function Chain_Chain$parse_closure0() { |
|
}, |
|
Chain_toTrace_closure: function Chain_toTrace_closure() { |
|
}, |
|
Chain_toString_closure0: function Chain_toString_closure0() { |
|
}, |
|
Chain_toString__closure0: function Chain_toString__closure0() { |
|
}, |
|
Chain_toString_closure: function Chain_toString_closure(t0) { |
|
this.longest = t0; |
|
}, |
|
Chain_toString__closure: function Chain_toString__closure(t0) { |
|
this.longest = t0; |
|
} |
|
}, |
|
M = {_DelegatingIterableBase: function _DelegatingIterableBase() { |
|
}, DelegatingIterable: function DelegatingIterable() { |
|
}, DelegatingSet: function DelegatingSet(t0, t1) { |
|
this._base = t0; |
|
this.$ti = t1; |
|
}, MapKeySet: function MapKeySet(t0, t1) { |
|
this._baseMap = t0; |
|
this.$ti = t1; |
|
}, _MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin: function _MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin() { |
|
}, |
|
Context_Context: function(style) { |
|
var current = style == null ? D.current() : "."; |
|
if (style == null) |
|
style = $.$get$Style_platform(); |
|
return new M.Context(style, current); |
|
}, |
|
_parseUri: function(uri) { |
|
if (typeof uri === "string") |
|
return P.Uri_parse(uri); |
|
if (!!J.getInterceptor$(uri).$isUri) |
|
return uri; |
|
throw H.wrapException(P.ArgumentError$value(uri, "uri", "Value must be a String or a Uri")); |
|
}, |
|
_validateArgList: function(method, args) { |
|
var numArgs, i, numArgs0, message, t1, t2; |
|
for (numArgs = args.length, i = 1; i < numArgs; ++i) { |
|
if (args[i] == null || args[i - 1] != null) |
|
continue; |
|
for (; numArgs >= 1; numArgs = numArgs0) { |
|
numArgs0 = numArgs - 1; |
|
if (args[numArgs0] != null) |
|
break; |
|
} |
|
message = new P.StringBuffer(""); |
|
t1 = method + "("; |
|
message._contents = t1; |
|
t2 = H.SubListIterable$(args, 0, numArgs, H.getTypeArgumentByIndex(args, 0)); |
|
t2 = t1 + new H.MappedListIterable(t2, new M._validateArgList_closure(), [H.getTypeArgumentByIndex(t2, 0), P.String]).join$1(0, ", "); |
|
message._contents = t2; |
|
message._contents = t2 + ("): part " + (i - 1) + " was null, but part " + i + " was not."); |
|
throw H.wrapException(P.ArgumentError$(message.toString$0(0))); |
|
} |
|
}, |
|
Context: function Context(t0, t1) { |
|
this.style = t0; |
|
this._context$_current = t1; |
|
}, |
|
Context_join_closure: function Context_join_closure() { |
|
}, |
|
Context_joinAll_closure: function Context_joinAll_closure() { |
|
}, |
|
Context_split_closure: function Context_split_closure() { |
|
}, |
|
_validateArgList_closure: function _validateArgList_closure() { |
|
}, |
|
_PathDirection: function _PathDirection(t0) { |
|
this.name = t0; |
|
}, |
|
_PathRelation: function _PathRelation(t0) { |
|
this.name = t0; |
|
}, |
|
CallableDeclaration: function CallableDeclaration() { |
|
}, |
|
FunctionRule: function FunctionRule(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.name = t0; |
|
_.$arguments = t1; |
|
_.span = t2; |
|
_.children = t3; |
|
_.hasDeclarations = t4; |
|
}, |
|
ParentStatement: function ParentStatement() { |
|
}, |
|
ParentStatement_closure: function ParentStatement_closure() { |
|
}, |
|
ParentStatement__closure: function ParentStatement__closure() { |
|
}, |
|
SupportsNegation: function SupportsNegation(t0, t1) { |
|
this.condition = t0; |
|
this.span = t1; |
|
}, |
|
ParentSelector: function ParentSelector(t0) { |
|
this.suffix = t0; |
|
}, |
|
SimpleSelector: function SimpleSelector() { |
|
}, |
|
Importer: function Importer() { |
|
}, |
|
StylesheetNode$_: function(_stylesheet, importer, canonicalUrl, allUpstream) { |
|
var t1 = new M.StylesheetNode(importer, canonicalUrl, allUpstream.item1, allUpstream.item2, P.LinkedHashSet_LinkedHashSet$_empty(M.StylesheetNode)); |
|
t1.StylesheetNode$_$4(_stylesheet, importer, canonicalUrl, allUpstream); |
|
return t1; |
|
}, |
|
StylesheetGraph: function StylesheetGraph(t0, t1, t2) { |
|
this._nodes = t0; |
|
this.importCache = t1; |
|
this._transitiveModificationTimes = t2; |
|
}, |
|
StylesheetGraph_modifiedSince_transitiveModificationTime: function StylesheetGraph_modifiedSince_transitiveModificationTime(t0) { |
|
this.$this = t0; |
|
}, |
|
StylesheetGraph_modifiedSince_transitiveModificationTime_closure: function StylesheetGraph_modifiedSince_transitiveModificationTime_closure(t0, t1) { |
|
this.node = t0; |
|
this.transitiveModificationTime = t1; |
|
}, |
|
StylesheetGraph__add_closure: function StylesheetGraph__add_closure(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.url = t1; |
|
_.baseImporter = t2; |
|
_.baseUrl = t3; |
|
}, |
|
StylesheetGraph_addCanonical_closure: function StylesheetGraph_addCanonical_closure(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.importer = t1; |
|
_.canonicalUrl = t2; |
|
_.originalUrl = t3; |
|
}, |
|
StylesheetGraph_addCanonical_closure0: function StylesheetGraph_addCanonical_closure0(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.stylesheet = t1; |
|
_.importer = t2; |
|
_.canonicalUrl = t3; |
|
}, |
|
StylesheetGraph_reload_closure: function StylesheetGraph_reload_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.node = t1; |
|
this.canonicalUrl = t2; |
|
}, |
|
StylesheetGraph__nodeFor_closure: function StylesheetGraph__nodeFor_closure(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.url = t1; |
|
_.baseImporter = t2; |
|
_.baseUrl = t3; |
|
_.forImport = t4; |
|
}, |
|
StylesheetGraph__nodeFor_closure0: function StylesheetGraph__nodeFor_closure0(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.importer = t1; |
|
_.canonicalUrl = t2; |
|
_.resolvedUrl = t3; |
|
}, |
|
StylesheetNode: function StylesheetNode(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.importer = t0; |
|
_.canonicalUrl = t1; |
|
_._upstream = t2; |
|
_._upstreamImports = t3; |
|
_._downstream = t4; |
|
}, |
|
Syntax_forPath: function(path) { |
|
switch (X.ParsedPath_ParsedPath$parse(path, $.$get$context().style)._splitExtension$0()[1]) { |
|
case ".sass": |
|
return C.Syntax_Sass; |
|
case ".css": |
|
return C.Syntax_CSS; |
|
default: |
|
return C.Syntax_SCSS; |
|
} |
|
}, |
|
Syntax: function Syntax(t0) { |
|
this._name = t0; |
|
} |
|
}, |
|
X = { |
|
ParsedPath_ParsedPath$parse: function(path, style) { |
|
var t1, parts, separators, start, i, |
|
root = style.getRoot$1(path), |
|
isRootRelative = style.isRootRelative$1(path); |
|
if (root != null) |
|
path = J.substring$1$s(path, root.length); |
|
t1 = [P.String]; |
|
parts = H.setRuntimeTypeInfo([], t1); |
|
separators = H.setRuntimeTypeInfo([], t1); |
|
t1 = path.length; |
|
if (t1 !== 0 && style.isSeparator$1(C.JSString_methods._codeUnitAt$1(path, 0))) { |
|
separators.push(path[0]); |
|
start = 1; |
|
} else { |
|
separators.push(""); |
|
start = 0; |
|
} |
|
for (i = start; i < t1; ++i) |
|
if (style.isSeparator$1(C.JSString_methods._codeUnitAt$1(path, i))) { |
|
parts.push(C.JSString_methods.substring$2(path, start, i)); |
|
separators.push(path[i]); |
|
start = i + 1; |
|
} |
|
if (start < t1) { |
|
parts.push(C.JSString_methods.substring$1(path, start)); |
|
separators.push(""); |
|
} |
|
return new X.ParsedPath(style, root, isRootRelative, parts, separators); |
|
}, |
|
ParsedPath: function ParsedPath(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.style = t0; |
|
_.root = t1; |
|
_.isRootRelative = t2; |
|
_.parts = t3; |
|
_.separators = t4; |
|
}, |
|
ParsedPath_normalize_closure: function ParsedPath_normalize_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
ParsedPath__splitExtension_closure: function ParsedPath__splitExtension_closure() { |
|
}, |
|
ParsedPath__splitExtension_closure0: function ParsedPath__splitExtension_closure0() { |
|
}, |
|
PathException$: function(message) { |
|
return new X.PathException(message); |
|
}, |
|
PathException: function PathException(t0) { |
|
this.message = t0; |
|
}, |
|
ModifiableCssStyleRule$: function(selector, span, originalSelector) { |
|
var t1 = originalSelector == null ? selector.value : originalSelector, |
|
t2 = B.ModifiableCssNode, |
|
t3 = H.setRuntimeTypeInfo([], [t2]); |
|
return new X.ModifiableCssStyleRule(selector, t1, span, new P.UnmodifiableListView(t3, [t2]), t3); |
|
}, |
|
ModifiableCssStyleRule: function ModifiableCssStyleRule(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.selector = t0; |
|
_.originalSelector = t1; |
|
_.span = t2; |
|
_.children = t3; |
|
_._children = t4; |
|
_._indexInParent = _._parent = null; |
|
_.isGroupEnd = false; |
|
}, |
|
ArgumentInvocation$: function(positional, named, span, keywordRest, rest) { |
|
var t1 = T.Expression; |
|
return new X.ArgumentInvocation(P.List_List$unmodifiable(positional, t1), H.ConstantMap_ConstantMap$from(named, P.String, t1), rest, keywordRest, span); |
|
}, |
|
ArgumentInvocation: function ArgumentInvocation(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.positional = t0; |
|
_.named = t1; |
|
_.rest = t2; |
|
_.keywordRest = t3; |
|
_.span = t4; |
|
}, |
|
UnaryOperationExpression: function UnaryOperationExpression(t0, t1, t2) { |
|
this.operator = t0; |
|
this.operand = t1; |
|
this.span = t2; |
|
}, |
|
UnaryOperator: function UnaryOperator(t0, t1) { |
|
this.name = t0; |
|
this.operator = t1; |
|
}, |
|
Interpolation$: function(contents, span) { |
|
var t1 = new X.Interpolation(P.List_List$unmodifiable(contents, P.Object), span); |
|
t1.Interpolation$2(contents, span); |
|
return t1; |
|
}, |
|
Interpolation: function Interpolation(t0, t1) { |
|
this.contents = t0; |
|
this.span = t1; |
|
}, |
|
Interpolation_toString_closure: function Interpolation_toString_closure() { |
|
}, |
|
ExtendRule: function ExtendRule(t0, t1, t2) { |
|
this.selector = t0; |
|
this.isOptional = t1; |
|
this.span = t2; |
|
}, |
|
StyleRule: function StyleRule(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.selector = t0; |
|
_.span = t1; |
|
_.children = t2; |
|
_.hasDeclarations = t3; |
|
}, |
|
SupportsInterpolation: function SupportsInterpolation(t0, t1) { |
|
this.expression = t0; |
|
this.span = t1; |
|
}, |
|
ClassSelector: function ClassSelector(t0) { |
|
this.name = t0; |
|
}, |
|
CompoundSelector$: function(components) { |
|
var t1 = P.List_List$unmodifiable(components, M.SimpleSelector); |
|
if (t1.length === 0) |
|
H.throwExpression(P.ArgumentError$("components may not be empty.")); |
|
return new X.CompoundSelector(t1); |
|
}, |
|
CompoundSelector: function CompoundSelector(t0) { |
|
this.components = t0; |
|
this._compound$_maxSpecificity = this._compound$_minSpecificity = null; |
|
}, |
|
CompoundSelector_isInvisible_closure: function CompoundSelector_isInvisible_closure() { |
|
}, |
|
compileAsync: function(path, charset, functions, importCache, indentWidth, lineFeed, logger, nodeImporter, sourceMap, style, syntax, useSpaces) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(X.CompileResult), |
|
$async$returnValue, t1, t2, stylesheet; |
|
var $async$compileAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if (nodeImporter == null) |
|
t1 = syntax == null || syntax === M.Syntax_forPath(path); |
|
else |
|
t1 = false; |
|
$async$goto = t1 ? 3 : 5; |
|
break; |
|
case 3: |
|
// then |
|
if (importCache == null) |
|
importCache = O.AsyncImportCache$none(logger); |
|
t1 = D.absolute("."); |
|
t2 = $.$get$context(); |
|
$async$goto = 6; |
|
return P._asyncAwait(importCache.importCanonical$3(new F.FilesystemImporter(t1), t2.toUri$1(t2.canonicalize$1(path)), t2.toUri$1(path)), $async$compileAsync); |
|
case 6: |
|
// returning from await. |
|
stylesheet = $async$result; |
|
// goto join |
|
$async$goto = 4; |
|
break; |
|
case 5: |
|
// else |
|
t1 = B.readFile(path); |
|
t2 = syntax == null ? M.Syntax_forPath(path) : syntax; |
|
stylesheet = V.Stylesheet_Stylesheet$parse(t1, t2, logger, $.$get$context().toUri$1(path)); |
|
case 4: |
|
// join |
|
$async$goto = 7; |
|
return P._asyncAwait(X._compileStylesheet0(stylesheet, logger, importCache, nodeImporter, new F.FilesystemImporter(D.absolute(".")), functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset), $async$compileAsync); |
|
case 7: |
|
// returning from await. |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$compileAsync, $async$completer); |
|
}, |
|
compileStringAsync: function(source, charset, functions, importCache, importer, indentWidth, lineFeed, logger, nodeImporter, sourceMap, style, syntax, url, useSpaces) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(X.CompileResult), |
|
$async$returnValue, stylesheet; |
|
var $async$compileStringAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
stylesheet = V.Stylesheet_Stylesheet$parse(source, syntax == null ? C.Syntax_SCSS : syntax, logger, url); |
|
$async$returnValue = X._compileStylesheet0(stylesheet, logger, importCache, nodeImporter, importer == null ? new F.FilesystemImporter(D.absolute(".")) : importer, functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$compileStringAsync, $async$completer); |
|
}, |
|
_compileStylesheet0: function(stylesheet, logger, importCache, nodeImporter, importer, functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(X.CompileResult), |
|
$async$returnValue, evaluateResult, serializeResult, t1; |
|
var $async$_compileStylesheet0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._asyncAwait(E._EvaluateVisitor$0(functions, importCache, logger, nodeImporter, sourceMap).run$2(0, importer, stylesheet), $async$_compileStylesheet0); |
|
case 3: |
|
// returning from await. |
|
evaluateResult = $async$result; |
|
serializeResult = N.serialize(evaluateResult.stylesheet, charset, indentWidth, false, lineFeed, sourceMap, style, useSpaces); |
|
t1 = serializeResult.sourceMap; |
|
if (t1 != null && importCache != null) |
|
B.mapInPlace(t1.urls, new X._compileStylesheet_closure0(stylesheet, importCache)); |
|
$async$returnValue = new X.CompileResult(evaluateResult, serializeResult); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_compileStylesheet0, $async$completer); |
|
}, |
|
_compileStylesheet_closure0: function _compileStylesheet_closure0(t0, t1) { |
|
this.stylesheet = t0; |
|
this.importCache = t1; |
|
}, |
|
CompileResult: function CompileResult(t0, t1) { |
|
this._evaluate = t0; |
|
this._serialize = t1; |
|
}, |
|
closure70: function closure70() { |
|
}, |
|
closure71: function closure71() { |
|
}, |
|
SourceSpanWithContext$: function(start, end, text, _context) { |
|
var t1 = new X.SourceSpanWithContext(_context, start, end, text); |
|
t1.SourceSpanBase$3(start, end, text); |
|
if (!C.JSString_methods.contains$1(_context, text)) |
|
H.throwExpression(P.ArgumentError$('The context line "' + _context + '" must contain "' + text + '".')); |
|
if (B.findLineStart(_context, text, start.get$column()) == null) |
|
H.throwExpression(P.ArgumentError$('The span text "' + text + '" must start at column ' + (start.get$column() + 1) + ' in a line within "' + _context + '".')); |
|
return t1; |
|
}, |
|
SourceSpanWithContext: function SourceSpanWithContext(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._context = t0; |
|
_.start = t1; |
|
_.end = t2; |
|
_.text = t3; |
|
}, |
|
StringScanner$: function(string, position, sourceUrl) { |
|
var t1 = typeof sourceUrl === "string" ? P.Uri_parse(sourceUrl) : H.interceptedTypeCast(sourceUrl, "$isUri"); |
|
return new X.StringScanner(t1, string); |
|
}, |
|
StringScanner: function StringScanner(t0, t1) { |
|
var _ = this; |
|
_.sourceUrl = t0; |
|
_.string = t1; |
|
_._string_scanner$_position = 0; |
|
_._lastMatchPosition = _._lastMatch = null; |
|
}, |
|
_combine: function(hash, value) { |
|
hash = 536870911 & hash + value; |
|
hash = 536870911 & hash + ((524287 & hash) << 10); |
|
return hash ^ hash >>> 6; |
|
}, |
|
_finish: function(hash) { |
|
hash = 536870911 & hash + ((67108863 & hash) << 3); |
|
hash ^= hash >>> 11; |
|
return 536870911 & hash + ((16383 & hash) << 15); |
|
} |
|
}, |
|
K = { |
|
PathMap__create: function(context, $V) { |
|
var t1 = {}; |
|
t1.context = context; |
|
t1.context = $.$get$context(); |
|
return P.LinkedHashMap_LinkedHashMap(new K.PathMap__create_closure(t1), new K.PathMap__create_closure0(t1), new K.PathMap__create_closure1(), P.String, $V); |
|
}, |
|
PathMap: function PathMap(t0, t1) { |
|
this._collection$_map = t0; |
|
this.$ti = t1; |
|
}, |
|
PathMap__create_closure: function PathMap__create_closure(t0) { |
|
this._box_0 = t0; |
|
}, |
|
PathMap__create_closure0: function PathMap__create_closure0(t0) { |
|
this._box_0 = t0; |
|
}, |
|
PathMap__create_closure1: function PathMap__create_closure1() { |
|
}, |
|
ColorExpression: function ColorExpression(t0) { |
|
this.value = t0; |
|
}, |
|
_functionString: function($name, $arguments) { |
|
return new D.SassString($name + "(" + J.map$1$1$ax($arguments, new K._functionString_closure(), P.String).join$1(0, ", ") + ")", false); |
|
}, |
|
_removedColorFunction: function($name, argument, negative) { |
|
var t1 = S.SpanScanner$("@function " + $name + "($color, $amount) {", "sass:color"); |
|
return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false).parseArgumentDeclaration$0(), new K._removedColorFunction_closure($name, argument, negative), [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]])); |
|
}, |
|
_rgb: function($name, $arguments) { |
|
var t2, red, green, blue, t3, _null = null, |
|
t1 = J.getInterceptor$asx($arguments), |
|
alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : _null; |
|
if (!t1.$index($arguments, 0).get$isSpecialNumber()) |
|
if (!t1.$index($arguments, 1).get$isSpecialNumber()) |
|
if (!t1.$index($arguments, 2).get$isSpecialNumber()) { |
|
t2 = alpha == null ? _null : alpha.get$isSpecialNumber(); |
|
t2 = t2 === true; |
|
} else |
|
t2 = true; |
|
else |
|
t2 = true; |
|
else |
|
t2 = true; |
|
if (t2) |
|
return K._functionString($name, $arguments); |
|
red = t1.$index($arguments, 0).assertNumber$1("red"); |
|
green = t1.$index($arguments, 1).assertNumber$1("green"); |
|
blue = t1.$index($arguments, 2).assertNumber$1("blue"); |
|
t1 = T.fuzzyRound(K._percentageOrUnitless(red, 255, "red")); |
|
t2 = T.fuzzyRound(K._percentageOrUnitless(green, 255, "green")); |
|
t3 = T.fuzzyRound(K._percentageOrUnitless(blue, 255, "blue")); |
|
return K.SassColor$rgb(t1, t2, t3, alpha == null ? _null : K._percentageOrUnitless(alpha.assertNumber$1("alpha"), 1, "alpha"), _null); |
|
}, |
|
_rgbTwoArg: function($name, $arguments) { |
|
var first, t2, color, |
|
t1 = J.getInterceptor$asx($arguments); |
|
if (t1.$index($arguments, 0).get$isVar()) |
|
return K._functionString($name, $arguments); |
|
else if (t1.$index($arguments, 1).get$isVar()) { |
|
first = t1.$index($arguments, 0); |
|
if (first instanceof K.SassColor) { |
|
t2 = $name + "(" + H.S(first.get$red()) + ", " + H.S(first.get$green()) + ", " + H.S(first.get$blue()) + ", "; |
|
t1 = t1.$index($arguments, 1); |
|
t1.toString; |
|
return new D.SassString(t2 + N.serializeValue(t1, false, true) + ")", false); |
|
} else |
|
return K._functionString($name, $arguments); |
|
} else if (t1.$index($arguments, 1).get$isSpecialNumber()) { |
|
color = t1.$index($arguments, 0).assertColor$1("color"); |
|
t2 = $name + "(" + H.S(color.get$red()) + ", " + H.S(color.get$green()) + ", " + H.S(color.get$blue()) + ", "; |
|
t1 = t1.$index($arguments, 1); |
|
t1.toString; |
|
return new D.SassString(t2 + N.serializeValue(t1, false, true) + ")", false); |
|
} |
|
return t1.$index($arguments, 0).assertColor$1("color").changeAlpha$1(K._percentageOrUnitless(t1.$index($arguments, 1).assertNumber$1("alpha"), 1, "alpha")); |
|
}, |
|
_hsl: function($name, $arguments) { |
|
var t2, hue, saturation, lightness, t3, |
|
t1 = J.getInterceptor$asx($arguments), |
|
alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null; |
|
if (!t1.$index($arguments, 0).get$isSpecialNumber()) |
|
if (!t1.$index($arguments, 1).get$isSpecialNumber()) |
|
if (!t1.$index($arguments, 2).get$isSpecialNumber()) { |
|
t2 = alpha == null ? null : alpha.get$isSpecialNumber(); |
|
t2 = t2 === true; |
|
} else |
|
t2 = true; |
|
else |
|
t2 = true; |
|
else |
|
t2 = true; |
|
if (t2) |
|
return K._functionString($name, $arguments); |
|
hue = t1.$index($arguments, 0).assertNumber$1("hue"); |
|
saturation = t1.$index($arguments, 1).assertNumber$1("saturation"); |
|
lightness = t1.$index($arguments, 2).assertNumber$1("lightness"); |
|
t1 = J.clamp$2$n(saturation.value, 0, 100); |
|
t2 = J.clamp$2$n(lightness.value, 0, 100); |
|
t3 = alpha == null ? null : K._percentageOrUnitless(alpha.assertNumber$1("alpha"), 1, "alpha"); |
|
return K.SassColor$hsl(hue.value, t1, t2, t3); |
|
}, |
|
_parseChannels: function($name, argumentNames, channels) { |
|
var isCommaSeparated, isBracketed, buffer, t1, list, maybeSlashSeparated, t2, t3, |
|
_s17_ = "$channels must be", |
|
_s32_ = "$channels must be an unbracketed"; |
|
if (channels.get$isVar()) |
|
return K._functionString($name, H.setRuntimeTypeInfo([channels], [F.Value])); |
|
isCommaSeparated = channels.get$separator() === C.ListSeparator_comma; |
|
isBracketed = channels.get$hasBrackets(); |
|
if (isCommaSeparated || isBracketed) { |
|
buffer = new P.StringBuffer(_s17_); |
|
if (isBracketed) { |
|
buffer._contents = _s32_; |
|
t1 = _s32_; |
|
} else |
|
t1 = _s17_; |
|
if (isCommaSeparated) { |
|
t1 += isBracketed ? "," : " a"; |
|
buffer._contents = t1; |
|
t1 = buffer._contents = t1 + " space-separated"; |
|
} |
|
buffer._contents = t1 + " list."; |
|
throw H.wrapException(E.SassScriptException$(buffer.toString$0(0))); |
|
} |
|
list = channels.get$asList(); |
|
t1 = list.length; |
|
if (t1 > 3) |
|
throw H.wrapException(E.SassScriptException$("Only 3 elements allowed, but " + t1 + " were passed.")); |
|
else if (t1 < 3) { |
|
if (!C.JSArray_methods.any$1(list, new K._parseChannels_closure())) |
|
if (list.length !== 0) { |
|
t1 = C.JSArray_methods.get$last(list); |
|
if (t1 instanceof D.SassString) |
|
if (t1.hasQuotes) { |
|
t1 = t1.text; |
|
t1 = B.startsWithIgnoreCase(t1, "var(") && J.contains$1$asx(t1, "/"); |
|
} else |
|
t1 = false; |
|
else |
|
t1 = false; |
|
} else |
|
t1 = false; |
|
else |
|
t1 = true; |
|
if (t1) |
|
return K._functionString($name, H.setRuntimeTypeInfo([channels], [F.Value])); |
|
else |
|
throw H.wrapException(E.SassScriptException$("Missing element " + argumentNames[list.length] + ".")); |
|
} |
|
maybeSlashSeparated = list[2]; |
|
t1 = J.getInterceptor$(maybeSlashSeparated); |
|
if (!!t1.$isSassNumber && maybeSlashSeparated.asSlash != null) { |
|
t1 = list[0]; |
|
t2 = list[1]; |
|
t3 = maybeSlashSeparated.asSlash; |
|
return H.setRuntimeTypeInfo([t1, t2, t3.item1, t3.item2], [F.Value]); |
|
} else if (!!t1.$isSassString && !maybeSlashSeparated.hasQuotes && J.contains$1$asx(maybeSlashSeparated.text, "/")) |
|
return K._functionString($name, H.setRuntimeTypeInfo([channels], [F.Value])); |
|
else |
|
return list; |
|
}, |
|
_percentageOrUnitless: function(number, max, $name) { |
|
var value; |
|
if (!(number.numeratorUnits.length !== 0 || number.denominatorUnits.length !== 0)) |
|
value = number.value; |
|
else if (number.hasUnit$1("%")) |
|
value = max * number.value / 100; |
|
else |
|
throw H.wrapException(E.SassScriptException$("$" + $name + ": Expected " + number.toString$0(0) + ' to have no units or "%".')); |
|
return J.clamp$2$n(value, 0, max); |
|
}, |
|
_mixColors: function(color1, color2, weight) { |
|
var weightScale = weight.valueInRange$3(0, 100, "weight") / 100, |
|
normalizedWeight = weightScale * 2 - 1, |
|
t1 = color1.alpha, |
|
t2 = color2.alpha, |
|
alphaDistance = t1 - t2, |
|
t3 = normalizedWeight * alphaDistance, |
|
weight1 = ((t3 === -1 ? normalizedWeight : (normalizedWeight + alphaDistance) / (1 + t3)) + 1) / 2, |
|
weight2 = 1 - weight1; |
|
return K.SassColor$rgb(T.fuzzyRound(color1.get$red() * weight1 + color2.get$red() * weight2), T.fuzzyRound(color1.get$green() * weight1 + color2.get$green() * weight2), T.fuzzyRound(color1.get$blue() * weight1 + color2.get$blue() * weight2), t1 * weightScale + t2 * (1 - weightScale), null); |
|
}, |
|
_opacify: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments), |
|
color = t1.$index($arguments, 0).assertColor$1("color"); |
|
return color.changeAlpha$1(C.JSNumber_methods.clamp$2(color.alpha + t1.$index($arguments, 1).assertNumber$1("amount").valueInRange$3(0, 1, "amount"), 0, 1)); |
|
}, |
|
_transparentize: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments), |
|
color = t1.$index($arguments, 0).assertColor$1("color"); |
|
return color.changeAlpha$1(C.JSNumber_methods.clamp$2(color.alpha - t1.$index($arguments, 1).assertNumber$1("amount").valueInRange$3(0, 1, "amount"), 0, 1)); |
|
}, |
|
_function4: function($name, $arguments, callback) { |
|
var t1 = S.SpanScanner$("@function " + $name + "(" + $arguments + ") {", "sass:color"); |
|
return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false).parseArgumentDeclaration$0(), callback, [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]])); |
|
}, |
|
closure43: function closure43() { |
|
}, |
|
closure44: function closure44() { |
|
}, |
|
closure45: function closure45() { |
|
}, |
|
closure46: function closure46() { |
|
}, |
|
closure47: function closure47() { |
|
}, |
|
closure48: function closure48() { |
|
}, |
|
closure49: function closure49() { |
|
}, |
|
closure50: function closure50() { |
|
}, |
|
closure51: function closure51() { |
|
}, |
|
closure52: function closure52() { |
|
}, |
|
closure53: function closure53() { |
|
}, |
|
closure54: function closure54() { |
|
}, |
|
closure55: function closure55() { |
|
}, |
|
closure56: function closure56() { |
|
}, |
|
closure57: function closure57() { |
|
}, |
|
closure58: function closure58() { |
|
}, |
|
closure59: function closure59() { |
|
}, |
|
closure60: function closure60() { |
|
}, |
|
closure61: function closure61() { |
|
}, |
|
closure62: function closure62() { |
|
}, |
|
closure63: function closure63() { |
|
}, |
|
closure64: function closure64() { |
|
}, |
|
closure65: function closure65() { |
|
}, |
|
closure66: function closure66() { |
|
}, |
|
closure67: function closure67() { |
|
}, |
|
closure68: function closure68() { |
|
}, |
|
_closure10: function _closure10() { |
|
}, |
|
closure69: function closure69() { |
|
}, |
|
closure96: function closure96() { |
|
}, |
|
closure97: function closure97() { |
|
}, |
|
closure98: function closure98() { |
|
}, |
|
closure99: function closure99() { |
|
}, |
|
_closure12: function _closure12() { |
|
}, |
|
closure100: function closure100() { |
|
}, |
|
closure83: function closure83() { |
|
}, |
|
closure82: function closure82() { |
|
}, |
|
closure81: function closure81() { |
|
}, |
|
closure80: function closure80() { |
|
}, |
|
closure79: function closure79() { |
|
}, |
|
closure78: function closure78() { |
|
}, |
|
closure77: function closure77() { |
|
}, |
|
closure76: function closure76() { |
|
}, |
|
closure74: function closure74() { |
|
}, |
|
closure_getInRange0: function closure_getInRange0(t0) { |
|
this.keywords = t0; |
|
}, |
|
_closure9: function _closure9() { |
|
}, |
|
closure73: function closure73() { |
|
}, |
|
closure_getScale: function closure_getScale(t0) { |
|
this.keywords = t0; |
|
}, |
|
closure_scaleValue: function closure_scaleValue() { |
|
}, |
|
_closure8: function _closure8() { |
|
}, |
|
closure72: function closure72() { |
|
}, |
|
closure_getInRange: function closure_getInRange(t0) { |
|
this.keywords = t0; |
|
}, |
|
_closure7: function _closure7() { |
|
}, |
|
closure75: function closure75() { |
|
}, |
|
closure_hexString: function closure_hexString() { |
|
}, |
|
_functionString_closure: function _functionString_closure() { |
|
}, |
|
_removedColorFunction_closure: function _removedColorFunction_closure(t0, t1, t2) { |
|
this.name = t0; |
|
this.argument = t1; |
|
this.negative = t2; |
|
}, |
|
_parseChannels_closure: function _parseChannels_closure() { |
|
}, |
|
_fuzzyRoundIfZero: function(number) { |
|
if (!(Math.abs(number - 0) < $.$get$epsilon())) |
|
return number; |
|
return C.JSNumber_methods.get$isNegative(number) ? -0.0 : 0; |
|
}, |
|
_coerceToRad: function(number) { |
|
var error, t1, t2, exception; |
|
try { |
|
t1 = [P.String]; |
|
t2 = H.setRuntimeTypeInfo(["rad"], t1); |
|
t1 = H.setRuntimeTypeInfo([], t1); |
|
t2 = T.SassNumber$withUnits(number.valueInUnits$2(t2, t1), t1, t2); |
|
return t2; |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (t1 instanceof E.SassScriptException) { |
|
error = t1; |
|
if (!C.JSString_methods.startsWith$1(error.message, "Incompatible units")) |
|
throw exception; |
|
throw H.wrapException(E.SassScriptException$("$number: Expected " + number.toString$0(0) + " to be an angle.")); |
|
} else |
|
throw exception; |
|
} |
|
}, |
|
_numberFunction: function($name, transform) { |
|
var t1 = S.SpanScanner$("@function " + $name + "($number) {", "sass:math"); |
|
return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false).parseArgumentDeclaration$0(), new K._numberFunction_closure(transform), [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]])); |
|
}, |
|
_function1: function($name, $arguments, callback) { |
|
var t1 = S.SpanScanner$("@function " + $name + "(" + $arguments + ") {", "sass:math"); |
|
return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false).parseArgumentDeclaration$0(), callback, [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]])); |
|
}, |
|
closure25: function closure25() { |
|
}, |
|
closure91: function closure91() { |
|
}, |
|
closure24: function closure24() { |
|
}, |
|
closure23: function closure23() { |
|
}, |
|
closure22: function closure22() { |
|
}, |
|
closure26: function closure26() { |
|
}, |
|
closure89: function closure89() { |
|
}, |
|
_closure11: function _closure11() { |
|
}, |
|
closure88: function closure88() { |
|
}, |
|
closure87: function closure87() { |
|
}, |
|
closure85: function closure85() { |
|
}, |
|
closure95: function closure95() { |
|
}, |
|
closure94: function closure94() { |
|
}, |
|
closure93: function closure93() { |
|
}, |
|
closure92: function closure92() { |
|
}, |
|
closure90: function closure90() { |
|
}, |
|
closure86: function closure86() { |
|
}, |
|
closure84: function closure84() { |
|
}, |
|
closure18: function closure18() { |
|
}, |
|
closure17: function closure17() { |
|
}, |
|
closure19: function closure19() { |
|
}, |
|
closure21: function closure21() { |
|
}, |
|
closure20: function closure20() { |
|
}, |
|
_numberFunction_closure: function _numberFunction_closure(t0) { |
|
this.transform = t0; |
|
}, |
|
_NodeSassColor: function _NodeSassColor() { |
|
}, |
|
closure131: function closure131() { |
|
}, |
|
closure132: function closure132() { |
|
}, |
|
closure133: function closure133() { |
|
}, |
|
closure134: function closure134() { |
|
}, |
|
closure135: function closure135() { |
|
}, |
|
closure136: function closure136() { |
|
}, |
|
closure137: function closure137() { |
|
}, |
|
closure138: function closure138() { |
|
}, |
|
closure139: function closure139() { |
|
}, |
|
closure140: function closure140() { |
|
}, |
|
LimitedMapView$safelist: function(_map, safelist, $K, $V) { |
|
return new K.LimitedMapView(_map, safelist._base.intersection$1(new M.MapKeySet(_map, [P.Object])), [$K, $V]); |
|
}, |
|
LimitedMapView$blocklist: function(_map, blocklist, $K, $V) { |
|
var t2, key, |
|
t1 = P.LinkedHashSet_LinkedHashSet($K); |
|
for (t2 = J.get$iterator$ax(_map.get$keys()); t2.moveNext$0();) { |
|
key = t2.get$current(t2); |
|
if (!blocklist.contains$1(0, key)) |
|
t1.add$1(0, key); |
|
} |
|
return new K.LimitedMapView(_map, t1, [$K, $V]); |
|
}, |
|
LimitedMapView: function LimitedMapView(t0, t1, t2) { |
|
this._limited_map_view$_map = t0; |
|
this._limited_map_view$_keys = t1; |
|
this.$ti = t2; |
|
}, |
|
SassColor$rgb: function(_red, _green, _blue, alpha, originalSpan) { |
|
var t1 = new K.SassColor(_red, _green, _blue, null, null, null, alpha == null ? 1 : T.fuzzyAssertRange(alpha, 0, 1, "alpha"), originalSpan); |
|
P.RangeError_checkValueInInterval(t1.get$red(), 0, 255, "red"); |
|
P.RangeError_checkValueInInterval(t1.get$green(), 0, 255, "green"); |
|
P.RangeError_checkValueInInterval(t1.get$blue(), 0, 255, "blue"); |
|
return t1; |
|
}, |
|
SassColor$hsl: function(hue, saturation, lightness, alpha) { |
|
var _null = null, |
|
t1 = C.JSNumber_methods.$mod(hue, 360), |
|
t2 = T.fuzzyAssertRange(saturation, 0, 100, "saturation"), |
|
t3 = T.fuzzyAssertRange(lightness, 0, 100, "lightness"); |
|
return new K.SassColor(_null, _null, _null, t1, t2, t3, alpha == null ? 1 : T.fuzzyAssertRange(alpha, 0, 1, "alpha"), _null); |
|
}, |
|
SassColor: function SassColor(t0, t1, t2, t3, t4, t5, t6, t7) { |
|
var _ = this; |
|
_._red = t0; |
|
_._green = t1; |
|
_._blue = t2; |
|
_._hue = t3; |
|
_._saturation = t4; |
|
_._lightness = t5; |
|
_.alpha = t6; |
|
_.originalSpan = t7; |
|
}, |
|
UnicodeGlyphSet: function UnicodeGlyphSet() { |
|
} |
|
}, |
|
R = {ModifiableCssComment: function ModifiableCssComment(t0, t1) { |
|
var _ = this; |
|
_.text = t0; |
|
_.span = t1; |
|
_._indexInParent = _._parent = null; |
|
_.isGroupEnd = false; |
|
}, |
|
ImportCache$: function(importers, loadPaths, logger) { |
|
var t1 = R.ImportCache__toImporters(importers, loadPaths, null), |
|
t2 = logger == null ? C.StderrLogger_false : logger, |
|
t3 = P.Uri; |
|
return new R.ImportCache(t1, t2, P.LinkedHashMap_LinkedHashMap$_empty([S.Tuple2, P.Uri, P.bool], [S.Tuple3, M.Importer, P.Uri, P.Uri]), P.LinkedHashMap_LinkedHashMap$_empty(t3, V.Stylesheet), P.LinkedHashMap_LinkedHashMap$_empty(t3, E.ImporterResult)); |
|
}, |
|
ImportCache$none: function(logger) { |
|
var t1 = logger == null ? C.StderrLogger_false : logger, |
|
t2 = P.Uri; |
|
return new R.ImportCache(C.List_empty10, t1, P.LinkedHashMap_LinkedHashMap$_empty([S.Tuple2, P.Uri, P.bool], [S.Tuple3, M.Importer, P.Uri, P.Uri]), P.LinkedHashMap_LinkedHashMap$_empty(t2, V.Stylesheet), P.LinkedHashMap_LinkedHashMap$_empty(t2, E.ImporterResult)); |
|
}, |
|
ImportCache__toImporters: function(importers, loadPaths, packageResolver) { |
|
var _i, t2, t3, path, _null = null, |
|
sassPath = H.stringTypeCast(J.get$env$x(self.process).SASS_PATH), |
|
t1 = H.setRuntimeTypeInfo([], [M.Importer]); |
|
for (_i = 0; false; ++_i) |
|
t1.push(importers[_i]); |
|
if (loadPaths != null) |
|
for (t2 = J.get$iterator$ax(loadPaths); t2.moveNext$0();) { |
|
t3 = t2.get$current(t2); |
|
t1.push(new F.FilesystemImporter($.$get$context().absolute$7(t3, _null, _null, _null, _null, _null, _null))); |
|
} |
|
if (sassPath != null) { |
|
t2 = sassPath.split(J.$eq$(J.get$platform$x(self.process), "win32") ? ";" : ":"); |
|
t3 = t2.length; |
|
_i = 0; |
|
for (; _i < t3; ++_i) { |
|
path = t2[_i]; |
|
t1.push(new F.FilesystemImporter($.$get$context().absolute$7(path, _null, _null, _null, _null, _null, _null))); |
|
} |
|
} |
|
return t1; |
|
}, |
|
ImportCache: function ImportCache(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_._importers = t0; |
|
_._import_cache$_logger = t1; |
|
_._canonicalizeCache = t2; |
|
_._import_cache$_importCache = t3; |
|
_._resultsCache = t4; |
|
}, |
|
ImportCache_canonicalize_closure: function ImportCache_canonicalize_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.url = t1; |
|
this.forImport = t2; |
|
}, |
|
ImportCache__canonicalize_closure: function ImportCache__canonicalize_closure(t0, t1) { |
|
this.importer = t0; |
|
this.url = t1; |
|
}, |
|
ImportCache_importCanonical_closure: function ImportCache_importCanonical_closure(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.importer = t1; |
|
_.canonicalUrl = t2; |
|
_.originalUrl = t3; |
|
}, |
|
ImportCache_humanize_closure: function ImportCache_humanize_closure(t0) { |
|
this.canonicalUrl = t0; |
|
}, |
|
ImportCache_humanize_closure0: function ImportCache_humanize_closure0() { |
|
}, |
|
ImportCache_humanize_closure1: function ImportCache_humanize_closure1() { |
|
}, |
|
ForwardedModuleView$: function(_inner, _rule, $T) { |
|
var t5, |
|
t1 = _rule.prefix, |
|
t2 = _rule.shownVariables, |
|
t3 = _rule.hiddenVariables, |
|
t4 = R.ForwardedModuleView__forwardedMap(_inner.get$variables(), t1, t2, t3, F.Value); |
|
t2 = _inner.get$variableNodes() == null ? null : R.ForwardedModuleView__forwardedMap(_inner.get$variableNodes(), t1, t2, t3, B.AstNode); |
|
t3 = _rule.shownMixinsAndFunctions; |
|
t5 = _rule.hiddenMixinsAndFunctions; |
|
return new R.ForwardedModuleView(_inner, _rule, t4, t2, R.ForwardedModuleView__forwardedMap(_inner.get$functions(_inner), t1, t3, t5, $T), R.ForwardedModuleView__forwardedMap(_inner.get$mixins(), t1, t3, t5, $T), [$T]); |
|
}, |
|
ForwardedModuleView__forwardedMap: function(map, prefix, safelist, blocklist, $V) { |
|
var t2, |
|
t1 = prefix == null; |
|
if (t1) |
|
if (safelist == null) |
|
if (blocklist != null) { |
|
t2 = blocklist._base; |
|
t2 = t2.get$isEmpty(t2); |
|
} else |
|
t2 = true; |
|
else |
|
t2 = false; |
|
else |
|
t2 = false; |
|
if (t2) |
|
return map; |
|
if (!t1) |
|
map = new F.PrefixedMapView(map, prefix, [$V]); |
|
if (safelist != null) |
|
map = K.LimitedMapView$safelist(map, safelist, P.String, $V); |
|
else { |
|
if (blocklist != null) { |
|
t1 = blocklist._base; |
|
t1 = t1.get$isNotEmpty(t1); |
|
} else |
|
t1 = false; |
|
if (t1) |
|
map = K.LimitedMapView$blocklist(map, blocklist, P.String, $V); |
|
} |
|
return map; |
|
}, |
|
ForwardedModuleView: function ForwardedModuleView(t0, t1, t2, t3, t4, t5, t6) { |
|
var _ = this; |
|
_._forwarded_view$_inner = t0; |
|
_._rule = t1; |
|
_.variables = t2; |
|
_.variableNodes = t3; |
|
_.functions = t4; |
|
_.mixins = t5; |
|
_.$ti = t6; |
|
}, |
|
RenderOptions: function RenderOptions() { |
|
}, |
|
UnprefixedMapView: function UnprefixedMapView(t0, t1, t2) { |
|
this._unprefixed_map_view$_map = t0; |
|
this._unprefixed_map_view$_prefix = t1; |
|
this.$ti = t2; |
|
}, |
|
_UnprefixedKeys: function _UnprefixedKeys(t0) { |
|
this._unprefixed_map_view$_view = t0; |
|
}, |
|
_UnprefixedKeys_iterator_closure: function _UnprefixedKeys_iterator_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
_UnprefixedKeys_iterator_closure0: function _UnprefixedKeys_iterator_closure0(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor$: function(functions, importCache, logger, nodeImporter, sourceMap) { |
|
var t6, t7, |
|
t1 = P.String, |
|
t2 = P.Uri, |
|
t3 = [G.Module, D.Callable], |
|
t4 = B.AstNode, |
|
t5 = H.setRuntimeTypeInfo([], [[S.Tuple2, P.String, B.AstNode]]); |
|
if (nodeImporter == null) |
|
t6 = importCache == null ? R.ImportCache$none(logger) : importCache; |
|
else |
|
t6 = null; |
|
t7 = logger == null ? C.StderrLogger_false : logger; |
|
t5 = new R._EvaluateVisitor(t6, nodeImporter, P.LinkedHashMap_LinkedHashMap$_empty(t1, D.Callable), P.LinkedHashMap_LinkedHashMap$_empty(t2, t3), P.LinkedHashMap_LinkedHashMap$_empty(t2, t3), P.LinkedHashMap_LinkedHashMap$_empty(t2, t4), t7, sourceMap, O.Environment$(sourceMap), P.LinkedHashSet_LinkedHashSet$_empty(t1), P.LinkedHashMap_LinkedHashMap$_empty(t2, t4), t5, C.Configuration_Map_empty_null_true); |
|
t5._EvaluateVisitor$5$functions$importCache$logger$nodeImporter$sourceMap(functions, importCache, logger, nodeImporter, sourceMap); |
|
return t5; |
|
}, |
|
_ArgumentResults$: function(positional, named, separator, namedNodes, positionalNodes) { |
|
return new R._ArgumentResults(positional, positionalNodes, named, namedNodes, separator); |
|
}, |
|
Evaluator: function Evaluator(t0, t1) { |
|
this._visitor = t0; |
|
this._importer = t1; |
|
}, |
|
_EvaluateVisitor: function _EvaluateVisitor(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) { |
|
var _ = this; |
|
_._importCache = t0; |
|
_._nodeImporter = t1; |
|
_._builtInFunctions = t2; |
|
_._builtInModules = t3; |
|
_._modules = t4; |
|
_._moduleNodes = t5; |
|
_._logger = t6; |
|
_._sourceMap = t7; |
|
_._evaluate$_environment = t8; |
|
_._declarationName = _._evaluate$_parent = _._mediaQueries = _._styleRule = null; |
|
_._member = "root stylesheet"; |
|
_._importSpan = _._callableNode = null; |
|
_._inKeyframes = _._atRootExcludingStyleRule = _._inUnknownAtRule = _._inFunction = false; |
|
_._includedFiles = t9; |
|
_._activeModules = t10; |
|
_._stack = t11; |
|
_._extender = _._outOfOrderImports = _._endOfImports = _._root = _._stylesheet = _._importer = null; |
|
_._configuration = t12; |
|
}, |
|
_EvaluateVisitor_closure: function _EvaluateVisitor_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_closure0: function _EvaluateVisitor_closure0(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_closure1: function _EvaluateVisitor_closure1(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_closure2: function _EvaluateVisitor_closure2(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_closure3: function _EvaluateVisitor_closure3(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_closure4: function _EvaluateVisitor_closure4(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_closure5: function _EvaluateVisitor_closure5(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_closure6: function _EvaluateVisitor_closure6(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor__closure3: function _EvaluateVisitor__closure3(t0, t1, t2) { |
|
this.$this = t0; |
|
this.name = t1; |
|
this.module = t2; |
|
}, |
|
_EvaluateVisitor_closure7: function _EvaluateVisitor_closure7(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor__closure1: function _EvaluateVisitor__closure1() { |
|
}, |
|
_EvaluateVisitor__closure2: function _EvaluateVisitor__closure2() { |
|
}, |
|
_EvaluateVisitor_closure8: function _EvaluateVisitor_closure8(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor__closure: function _EvaluateVisitor__closure(t0, t1) { |
|
this.values = t0; |
|
this.span = t1; |
|
}, |
|
_EvaluateVisitor__closure0: function _EvaluateVisitor__closure0(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_run_closure: function _EvaluateVisitor_run_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.node = t1; |
|
this.importer = t2; |
|
}, |
|
_EvaluateVisitor_runExpression_closure: function _EvaluateVisitor_runExpression_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.importer = t1; |
|
this.expression = t2; |
|
}, |
|
_EvaluateVisitor_runExpression__closure: function _EvaluateVisitor_runExpression__closure(t0, t1) { |
|
this.$this = t0; |
|
this.expression = t1; |
|
}, |
|
_EvaluateVisitor_runStatement_closure: function _EvaluateVisitor_runStatement_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.importer = t1; |
|
this.statement = t2; |
|
}, |
|
_EvaluateVisitor_runStatement__closure: function _EvaluateVisitor_runStatement__closure(t0, t1) { |
|
this.$this = t0; |
|
this.statement = t1; |
|
}, |
|
_EvaluateVisitor__withWarnCallback_closure: function _EvaluateVisitor__withWarnCallback_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor__loadModule_closure: function _EvaluateVisitor__loadModule_closure(t0, t1, t2, t3, t4, t5, t6) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.url = t1; |
|
_.nodeWithSpan = t2; |
|
_.baseUrl = t3; |
|
_.namesInErrors = t4; |
|
_.configuration = t5; |
|
_.callback = t6; |
|
}, |
|
_EvaluateVisitor__execute_closure: function _EvaluateVisitor__execute_closure(t0, t1, t2, t3, t4, t5) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.$this = t1; |
|
_.importer = t2; |
|
_.stylesheet = t3; |
|
_.extender = t4; |
|
_.configuration = t5; |
|
}, |
|
_EvaluateVisitor__combineCss_closure: function _EvaluateVisitor__combineCss_closure() { |
|
}, |
|
_EvaluateVisitor__combineCss_closure0: function _EvaluateVisitor__combineCss_closure0(t0) { |
|
this.selectors = t0; |
|
}, |
|
_EvaluateVisitor__combineCss_closure1: function _EvaluateVisitor__combineCss_closure1() { |
|
}, |
|
_EvaluateVisitor__extendModules_closure: function _EvaluateVisitor__extendModules_closure(t0) { |
|
this.originalSelectors = t0; |
|
}, |
|
_EvaluateVisitor__extendModules_closure0: function _EvaluateVisitor__extendModules_closure0() { |
|
}, |
|
_EvaluateVisitor__topologicalModules_visitModule: function _EvaluateVisitor__topologicalModules_visitModule(t0, t1) { |
|
this.seen = t0; |
|
this.sorted = t1; |
|
}, |
|
_EvaluateVisitor_visitAtRootRule_closure: function _EvaluateVisitor_visitAtRootRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.resolved = t1; |
|
}, |
|
_EvaluateVisitor_visitAtRootRule_closure0: function _EvaluateVisitor_visitAtRootRule_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitAtRootRule_closure1: function _EvaluateVisitor_visitAtRootRule_closure1(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor__scopeForAtRoot_closure: function _EvaluateVisitor__scopeForAtRoot_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.newParent = t1; |
|
this.node = t2; |
|
}, |
|
_EvaluateVisitor__scopeForAtRoot_closure0: function _EvaluateVisitor__scopeForAtRoot_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.innerScope = t1; |
|
}, |
|
_EvaluateVisitor__scopeForAtRoot_closure1: function _EvaluateVisitor__scopeForAtRoot_closure1(t0, t1) { |
|
this.$this = t0; |
|
this.innerScope = t1; |
|
}, |
|
_EvaluateVisitor__scopeForAtRoot__closure: function _EvaluateVisitor__scopeForAtRoot__closure(t0, t1) { |
|
this.innerScope = t0; |
|
this.callback = t1; |
|
}, |
|
_EvaluateVisitor__scopeForAtRoot_closure2: function _EvaluateVisitor__scopeForAtRoot_closure2(t0, t1) { |
|
this.$this = t0; |
|
this.innerScope = t1; |
|
}, |
|
_EvaluateVisitor__scopeForAtRoot_closure3: function _EvaluateVisitor__scopeForAtRoot_closure3() { |
|
}, |
|
_EvaluateVisitor__scopeForAtRoot_closure4: function _EvaluateVisitor__scopeForAtRoot_closure4(t0, t1) { |
|
this.$this = t0; |
|
this.innerScope = t1; |
|
}, |
|
_EvaluateVisitor_visitContentRule_closure: function _EvaluateVisitor_visitContentRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.content = t1; |
|
}, |
|
_EvaluateVisitor_visitDeclaration_closure: function _EvaluateVisitor_visitDeclaration_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitEachRule_closure: function _EvaluateVisitor_visitEachRule_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.node = t1; |
|
this.nodeWithSpan = t2; |
|
}, |
|
_EvaluateVisitor_visitEachRule_closure0: function _EvaluateVisitor_visitEachRule_closure0(t0, t1, t2) { |
|
this.$this = t0; |
|
this.node = t1; |
|
this.nodeWithSpan = t2; |
|
}, |
|
_EvaluateVisitor_visitEachRule_closure1: function _EvaluateVisitor_visitEachRule_closure1(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.list = t1; |
|
_.setVariables = t2; |
|
_.node = t3; |
|
}, |
|
_EvaluateVisitor_visitEachRule__closure: function _EvaluateVisitor_visitEachRule__closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.setVariables = t1; |
|
this.node = t2; |
|
}, |
|
_EvaluateVisitor_visitEachRule___closure: function _EvaluateVisitor_visitEachRule___closure(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_visitExtendRule_closure: function _EvaluateVisitor_visitExtendRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.targetText = t1; |
|
}, |
|
_EvaluateVisitor_visitAtRule_closure: function _EvaluateVisitor_visitAtRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitAtRule__closure: function _EvaluateVisitor_visitAtRule__closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitAtRule_closure0: function _EvaluateVisitor_visitAtRule_closure0() { |
|
}, |
|
_EvaluateVisitor_visitForRule_closure: function _EvaluateVisitor_visitForRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitForRule_closure0: function _EvaluateVisitor_visitForRule_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitForRule_closure1: function _EvaluateVisitor_visitForRule_closure1(t0, t1) { |
|
this.fromNumber = t0; |
|
this.toNumber = t1; |
|
}, |
|
_EvaluateVisitor_visitForRule_closure2: function _EvaluateVisitor_visitForRule_closure2(t0) { |
|
this.toNumber = t0; |
|
}, |
|
_EvaluateVisitor_visitForRule_closure3: function _EvaluateVisitor_visitForRule_closure3(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.$this = t1; |
|
_.node = t2; |
|
_.from = t3; |
|
_.direction = t4; |
|
}, |
|
_EvaluateVisitor_visitForRule__closure: function _EvaluateVisitor_visitForRule__closure(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_visitForwardRule_closure: function _EvaluateVisitor_visitForwardRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitForwardRule_closure0: function _EvaluateVisitor_visitForwardRule_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor__assertConfigurationIsEmpty_closure: function _EvaluateVisitor__assertConfigurationIsEmpty_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.only = t1; |
|
this.nameInError = t2; |
|
}, |
|
_EvaluateVisitor_visitIfRule_closure: function _EvaluateVisitor_visitIfRule_closure(t0, t1) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
}, |
|
_EvaluateVisitor_visitIfRule__closure: function _EvaluateVisitor_visitIfRule__closure(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor__visitDynamicImport_closure: function _EvaluateVisitor__visitDynamicImport_closure(t0, t1) { |
|
this.$this = t0; |
|
this.$import = t1; |
|
}, |
|
_EvaluateVisitor__visitDynamicImport__closure: function _EvaluateVisitor__visitDynamicImport__closure(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.$this = t1; |
|
_.importer = t2; |
|
_.stylesheet = t3; |
|
_.environment = t4; |
|
}, |
|
_EvaluateVisitor_visitIncludeRule_closure: function _EvaluateVisitor_visitIncludeRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitIncludeRule_closure0: function _EvaluateVisitor_visitIncludeRule_closure0(t0) { |
|
this.node = t0; |
|
}, |
|
_EvaluateVisitor_visitIncludeRule_closure1: function _EvaluateVisitor_visitIncludeRule_closure1(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.contentCallable = t1; |
|
_.mixin = t2; |
|
_.nodeWithSpan = t3; |
|
}, |
|
_EvaluateVisitor_visitIncludeRule__closure: function _EvaluateVisitor_visitIncludeRule__closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.mixin = t1; |
|
this.nodeWithSpan = t2; |
|
}, |
|
_EvaluateVisitor_visitIncludeRule___closure: function _EvaluateVisitor_visitIncludeRule___closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.mixin = t1; |
|
this.nodeWithSpan = t2; |
|
}, |
|
_EvaluateVisitor_visitIncludeRule____closure: function _EvaluateVisitor_visitIncludeRule____closure(t0, t1) { |
|
this.$this = t0; |
|
this.statement = t1; |
|
}, |
|
_EvaluateVisitor_visitMediaRule_closure: function _EvaluateVisitor_visitMediaRule_closure(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.mergedQueries = t1; |
|
_.queries = t2; |
|
_.node = t3; |
|
}, |
|
_EvaluateVisitor_visitMediaRule__closure: function _EvaluateVisitor_visitMediaRule__closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitMediaRule___closure: function _EvaluateVisitor_visitMediaRule___closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitMediaRule_closure0: function _EvaluateVisitor_visitMediaRule_closure0(t0) { |
|
this.mergedQueries = t0; |
|
}, |
|
_EvaluateVisitor__visitMediaQueries_closure: function _EvaluateVisitor__visitMediaQueries_closure(t0, t1) { |
|
this.$this = t0; |
|
this.resolved = t1; |
|
}, |
|
_EvaluateVisitor_visitStyleRule_closure: function _EvaluateVisitor_visitStyleRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.selectorText = t1; |
|
}, |
|
_EvaluateVisitor_visitStyleRule_closure0: function _EvaluateVisitor_visitStyleRule_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitStyleRule_closure1: function _EvaluateVisitor_visitStyleRule_closure1() { |
|
}, |
|
_EvaluateVisitor_visitStyleRule_closure2: function _EvaluateVisitor_visitStyleRule_closure2(t0, t1) { |
|
this.$this = t0; |
|
this.selectorText = t1; |
|
}, |
|
_EvaluateVisitor_visitStyleRule_closure3: function _EvaluateVisitor_visitStyleRule_closure3(t0, t1) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
}, |
|
_EvaluateVisitor_visitStyleRule_closure4: function _EvaluateVisitor_visitStyleRule_closure4(t0, t1, t2) { |
|
this.$this = t0; |
|
this.rule = t1; |
|
this.node = t2; |
|
}, |
|
_EvaluateVisitor_visitStyleRule__closure: function _EvaluateVisitor_visitStyleRule__closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitStyleRule_closure5: function _EvaluateVisitor_visitStyleRule_closure5() { |
|
}, |
|
_EvaluateVisitor_visitSupportsRule_closure: function _EvaluateVisitor_visitSupportsRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitSupportsRule__closure: function _EvaluateVisitor_visitSupportsRule__closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitSupportsRule_closure0: function _EvaluateVisitor_visitSupportsRule_closure0() { |
|
}, |
|
_EvaluateVisitor_visitVariableDeclaration_closure: function _EvaluateVisitor_visitVariableDeclaration_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.node = t1; |
|
this.override = t2; |
|
}, |
|
_EvaluateVisitor_visitVariableDeclaration_closure0: function _EvaluateVisitor_visitVariableDeclaration_closure0(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitVariableDeclaration_closure1: function _EvaluateVisitor_visitVariableDeclaration_closure1(t0, t1, t2) { |
|
this.$this = t0; |
|
this.node = t1; |
|
this.value = t2; |
|
}, |
|
_EvaluateVisitor_visitUseRule_closure: function _EvaluateVisitor_visitUseRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitWarnRule_closure: function _EvaluateVisitor_visitWarnRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitWhileRule_closure: function _EvaluateVisitor_visitWhileRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitWhileRule__closure: function _EvaluateVisitor_visitWhileRule__closure(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_visitBinaryOperationExpression_closure: function _EvaluateVisitor_visitBinaryOperationExpression_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitVariableExpression_closure: function _EvaluateVisitor_visitVariableExpression_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitListExpression_closure: function _EvaluateVisitor_visitListExpression_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_visitFunctionExpression_closure: function _EvaluateVisitor_visitFunctionExpression_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.node = t1; |
|
this.plainName = t2; |
|
}, |
|
_EvaluateVisitor_visitFunctionExpression_closure0: function _EvaluateVisitor_visitFunctionExpression_closure0(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
this.node = t2; |
|
}, |
|
_EvaluateVisitor__runUserDefinedCallable_closure: function _EvaluateVisitor__runUserDefinedCallable_closure(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.callable = t1; |
|
_.evaluated = t2; |
|
_.nodeWithSpan = t3; |
|
_.run = t4; |
|
}, |
|
_EvaluateVisitor__runUserDefinedCallable__closure: function _EvaluateVisitor__runUserDefinedCallable__closure(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.evaluated = t1; |
|
_.callable = t2; |
|
_.nodeWithSpan = t3; |
|
_.run = t4; |
|
}, |
|
_EvaluateVisitor__runUserDefinedCallable___closure: function _EvaluateVisitor__runUserDefinedCallable___closure(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.$this = t0; |
|
_.evaluated = t1; |
|
_.callable = t2; |
|
_.nodeWithSpan = t3; |
|
_.run = t4; |
|
}, |
|
_EvaluateVisitor__runUserDefinedCallable____closure: function _EvaluateVisitor__runUserDefinedCallable____closure() { |
|
}, |
|
_EvaluateVisitor__runFunctionCallable_closure: function _EvaluateVisitor__runFunctionCallable_closure(t0, t1) { |
|
this.$this = t0; |
|
this.callable = t1; |
|
}, |
|
_EvaluateVisitor__runBuiltInCallable_closure: function _EvaluateVisitor__runBuiltInCallable_closure(t0, t1, t2) { |
|
this.overload = t0; |
|
this.evaluated = t1; |
|
this.namedSet = t2; |
|
}, |
|
_EvaluateVisitor__runBuiltInCallable_closure0: function _EvaluateVisitor__runBuiltInCallable_closure0() { |
|
}, |
|
_EvaluateVisitor__evaluateArguments_closure: function _EvaluateVisitor__evaluateArguments_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor__evaluateArguments_closure0: function _EvaluateVisitor__evaluateArguments_closure0(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor__evaluateArguments_closure1: function _EvaluateVisitor__evaluateArguments_closure1(t0, t1, t2) { |
|
this.named = t0; |
|
this.namedNodes = t1; |
|
this.restNodeForSpan = t2; |
|
}, |
|
_EvaluateVisitor__evaluateMacroArguments_closure: function _EvaluateVisitor__evaluateMacroArguments_closure() { |
|
}, |
|
_EvaluateVisitor__evaluateMacroArguments_closure0: function _EvaluateVisitor__evaluateMacroArguments_closure0() { |
|
}, |
|
_EvaluateVisitor__evaluateMacroArguments_closure1: function _EvaluateVisitor__evaluateMacroArguments_closure1(t0) { |
|
this.named = t0; |
|
}, |
|
_EvaluateVisitor__evaluateMacroArguments_closure2: function _EvaluateVisitor__evaluateMacroArguments_closure2() { |
|
}, |
|
_EvaluateVisitor__addRestMap_closure: function _EvaluateVisitor__addRestMap_closure(t0) { |
|
this.T = t0; |
|
}, |
|
_EvaluateVisitor__addRestMap_closure0: function _EvaluateVisitor__addRestMap_closure0(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.$this = t1; |
|
_.values = t2; |
|
_.map = t3; |
|
_.nodeWithSpan = t4; |
|
}, |
|
_EvaluateVisitor__verifyArguments_closure: function _EvaluateVisitor__verifyArguments_closure(t0, t1, t2) { |
|
this.$arguments = t0; |
|
this.positional = t1; |
|
this.named = t2; |
|
}, |
|
_EvaluateVisitor_visitStringExpression_closure: function _EvaluateVisitor_visitStringExpression_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
_EvaluateVisitor_visitCssAtRule_closure: function _EvaluateVisitor_visitCssAtRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitCssAtRule_closure0: function _EvaluateVisitor_visitCssAtRule_closure0() { |
|
}, |
|
_EvaluateVisitor_visitCssKeyframeBlock_closure: function _EvaluateVisitor_visitCssKeyframeBlock_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitCssKeyframeBlock_closure0: function _EvaluateVisitor_visitCssKeyframeBlock_closure0() { |
|
}, |
|
_EvaluateVisitor_visitCssMediaRule_closure: function _EvaluateVisitor_visitCssMediaRule_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.mergedQueries = t1; |
|
this.node = t2; |
|
}, |
|
_EvaluateVisitor_visitCssMediaRule__closure: function _EvaluateVisitor_visitCssMediaRule__closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitCssMediaRule___closure: function _EvaluateVisitor_visitCssMediaRule___closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitCssMediaRule_closure0: function _EvaluateVisitor_visitCssMediaRule_closure0(t0) { |
|
this.mergedQueries = t0; |
|
}, |
|
_EvaluateVisitor_visitCssStyleRule_closure: function _EvaluateVisitor_visitCssStyleRule_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.rule = t1; |
|
this.node = t2; |
|
}, |
|
_EvaluateVisitor_visitCssStyleRule__closure: function _EvaluateVisitor_visitCssStyleRule__closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitCssStyleRule_closure0: function _EvaluateVisitor_visitCssStyleRule_closure0() { |
|
}, |
|
_EvaluateVisitor_visitCssSupportsRule_closure: function _EvaluateVisitor_visitCssSupportsRule_closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitCssSupportsRule__closure: function _EvaluateVisitor_visitCssSupportsRule__closure(t0, t1) { |
|
this.$this = t0; |
|
this.node = t1; |
|
}, |
|
_EvaluateVisitor_visitCssSupportsRule_closure0: function _EvaluateVisitor_visitCssSupportsRule_closure0() { |
|
}, |
|
_EvaluateVisitor__performInterpolation_closure: function _EvaluateVisitor__performInterpolation_closure(t0, t1) { |
|
this.$this = t0; |
|
this.warnForColor = t1; |
|
}, |
|
_EvaluateVisitor__serialize_closure: function _EvaluateVisitor__serialize_closure(t0, t1) { |
|
this.value = t0; |
|
this.quote = t1; |
|
}, |
|
_EvaluateVisitor__stackTrace_closure: function _EvaluateVisitor__stackTrace_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
_ImportedCssVisitor: function _ImportedCssVisitor(t0) { |
|
this._visitor = t0; |
|
}, |
|
_ImportedCssVisitor_visitCssAtRule_closure: function _ImportedCssVisitor_visitCssAtRule_closure() { |
|
}, |
|
_ImportedCssVisitor_visitCssMediaRule_closure: function _ImportedCssVisitor_visitCssMediaRule_closure(t0) { |
|
this.hasBeenMerged = t0; |
|
}, |
|
_ImportedCssVisitor_visitCssStyleRule_closure: function _ImportedCssVisitor_visitCssStyleRule_closure() { |
|
}, |
|
_ImportedCssVisitor_visitCssSupportsRule_closure: function _ImportedCssVisitor_visitCssSupportsRule_closure() { |
|
}, |
|
_ArgumentResults: function _ArgumentResults(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.positional = t0; |
|
_.positionalNodes = t1; |
|
_.named = t2; |
|
_.namedNodes = t3; |
|
_.separator = t4; |
|
}, |
|
_collectToList: function(element, soFar, $T) { |
|
if (soFar == null) |
|
soFar = H.setRuntimeTypeInfo([], [$T]); |
|
J.add$1$ax(soFar, element); |
|
return soFar; |
|
}, |
|
_debounceAggregate: function(duration, collect, $T, $R) { |
|
var t1 = {}; |
|
t1.soFar = t1.timer = null; |
|
t1.shouldClose = false; |
|
return new L._StreamTransformer(new R._debounceAggregate_closure(t1, duration, collect), new R._debounceAggregate_closure0(t1), H.instantiate1(L.from_handlers__StreamTransformer__defaultHandleError$closure(), $R), [$T, $R]); |
|
}, |
|
_debounceAggregate_closure: function _debounceAggregate_closure(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.duration = t1; |
|
this.collect = t2; |
|
}, |
|
_debounceAggregate__closure: function _debounceAggregate__closure(t0, t1) { |
|
this._box_0 = t0; |
|
this.sink = t1; |
|
}, |
|
_debounceAggregate_closure0: function _debounceAggregate_closure0(t0) { |
|
this._box_0 = t0; |
|
} |
|
}, |
|
T = {Expression: function Expression() { |
|
}, NumberExpression: function NumberExpression(t0, t1, t2) { |
|
this.value = t0; |
|
this.unit = t1; |
|
this.span = t2; |
|
}, ParenthesizedExpression: function ParenthesizedExpression(t0, t1) { |
|
this.expression = t0; |
|
this.span = t1; |
|
}, SelectorExpression: function SelectorExpression(t0) { |
|
this.span = t0; |
|
}, MixinRule: function MixinRule(t0, t1, t2, t3, t4, t5) { |
|
var _ = this; |
|
_.hasContent = t0; |
|
_.name = t1; |
|
_.$arguments = t2; |
|
_.span = t3; |
|
_.children = t4; |
|
_.hasDeclarations = t5; |
|
}, |
|
UseRule$: function(url, namespace, span, configuration) { |
|
var t1 = new T.UseRule(url, namespace, configuration == null ? C.List_empty7 : P.List_List$unmodifiable(configuration, Z.ConfiguredVariable), span); |
|
t1.UseRule$4$configuration(url, namespace, span, configuration); |
|
return t1; |
|
}, |
|
UseRule: function UseRule(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.url = t0; |
|
_.namespace = t1; |
|
_.configuration = t2; |
|
_.span = t3; |
|
}, |
|
Selector: function Selector() { |
|
}, |
|
EmptyExtender: function EmptyExtender() { |
|
}, |
|
_prependParent: function(compound) { |
|
var t3, _i, |
|
t1 = compound.components, |
|
first = C.JSArray_methods.get$first(t1), |
|
t2 = J.getInterceptor$(first); |
|
if (!!t2.$isUniversalSelector) |
|
return; |
|
if (!!t2.$isTypeSelector) { |
|
t2 = first.name; |
|
if (t2.namespace != null) |
|
return; |
|
t3 = H.setRuntimeTypeInfo([], [M.SimpleSelector]); |
|
t3.push(new M.ParentSelector(t2.name)); |
|
for (t1 = H.SubListIterable$(t1, 1, null, H.getTypeArgumentByIndex(t1, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();) |
|
t3.push(t1.__internal$_current); |
|
return X.CompoundSelector$(t3); |
|
} else { |
|
t2 = H.setRuntimeTypeInfo([], [M.SimpleSelector]); |
|
t2.push(new M.ParentSelector(null)); |
|
for (t3 = t1.length, _i = 0; _i < t3; ++_i) |
|
t2.push(t1[_i]); |
|
return X.CompoundSelector$(t2); |
|
} |
|
}, |
|
_function0: function($name, $arguments, callback) { |
|
var t1 = S.SpanScanner$("@function " + $name + "(" + $arguments + ") {", "sass:selector"); |
|
return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false).parseArgumentDeclaration$0(), callback, [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]])); |
|
}, |
|
closure13: function closure13() { |
|
}, |
|
_closure1: function _closure1() { |
|
}, |
|
_closure2: function _closure2() { |
|
}, |
|
closure12: function closure12() { |
|
}, |
|
_closure: function _closure() { |
|
}, |
|
_closure0: function _closure0() { |
|
}, |
|
__closure: function __closure(t0) { |
|
this.parent = t0; |
|
}, |
|
closure11: function closure11() { |
|
}, |
|
closure10: function closure10() { |
|
}, |
|
closure9: function closure9() { |
|
}, |
|
closure16: function closure16() { |
|
}, |
|
closure15: function closure15() { |
|
}, |
|
_closure3: function _closure3() { |
|
}, |
|
closure14: function closure14() { |
|
}, |
|
TrackingLogger: function TrackingLogger(t0) { |
|
this._tracking$_logger = t0; |
|
this._emittedDebug = this._emittedWarning = false; |
|
}, |
|
_parseNumber: function(value, unit) { |
|
var t1, t2, invalidUnit, operands, numerator, denominator, numeratorUnits, denominatorUnits; |
|
if (unit == null || unit.length === 0) |
|
return new T.SassNumber(value, C.List_empty, C.List_empty, null); |
|
if (!J.contains$1$asx(unit, "*") && !C.JSString_methods.contains$1(unit, "/")) { |
|
t1 = P.String; |
|
t2 = H.setRuntimeTypeInfo([unit], [t1]); |
|
t1 = P.List_List$unmodifiable(t2, t1); |
|
return new T.SassNumber(value, t1, C.List_empty, null); |
|
} |
|
invalidUnit = new P.ArgumentError(true, unit, "unit", "is invalid."); |
|
operands = unit.split("/"); |
|
t1 = operands.length; |
|
if (t1 > 2) |
|
throw H.wrapException(invalidUnit); |
|
numerator = operands[0]; |
|
denominator = t1 === 1 ? null : operands[1]; |
|
t1 = P.String; |
|
numeratorUnits = numerator.length === 0 ? H.setRuntimeTypeInfo([], [t1]) : H.setRuntimeTypeInfo(numerator.split("*"), [t1]); |
|
if (C.JSArray_methods.any$1(numeratorUnits, new T._parseNumber_closure())) |
|
throw H.wrapException(invalidUnit); |
|
denominatorUnits = denominator == null ? H.setRuntimeTypeInfo([], [t1]) : H.setRuntimeTypeInfo(denominator.split("*"), [t1]); |
|
if (C.JSArray_methods.any$1(denominatorUnits, new T._parseNumber_closure0())) |
|
throw H.wrapException(invalidUnit); |
|
return T.SassNumber$withUnits(value, denominatorUnits, numeratorUnits); |
|
}, |
|
_NodeSassNumber: function _NodeSassNumber() { |
|
}, |
|
closure110: function closure110() { |
|
}, |
|
closure111: function closure111() { |
|
}, |
|
closure112: function closure112() { |
|
}, |
|
closure113: function closure113() { |
|
}, |
|
closure114: function closure114() { |
|
}, |
|
closure115: function closure115() { |
|
}, |
|
_parseNumber_closure: function _parseNumber_closure() { |
|
}, |
|
_parseNumber_closure0: function _parseNumber_closure0() { |
|
}, |
|
SelectorParser: function SelectorParser(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._allowParent = t0; |
|
_._allowPlaceholder = t1; |
|
_.scanner = t2; |
|
_.logger = t3; |
|
}, |
|
SelectorParser_parse_closure: function SelectorParser_parse_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
SelectorParser_parseCompoundSelector_closure: function SelectorParser_parseCompoundSelector_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
SassNumber$: function(value, unit) { |
|
var t1 = unit == null ? null : H.setRuntimeTypeInfo([unit], [P.String]); |
|
t1 = t1 == null ? C.List_empty : P.List_List$unmodifiable(t1, P.String); |
|
return new T.SassNumber(value, t1, C.List_empty, null); |
|
}, |
|
SassNumber$withUnits: function(value, denominatorUnits, numeratorUnits) { |
|
var t1 = numeratorUnits == null ? C.List_empty : P.List_List$unmodifiable(numeratorUnits, P.String); |
|
return new T.SassNumber(value, t1, denominatorUnits == null ? C.List_empty : P.List_List$unmodifiable(denominatorUnits, P.String), null); |
|
}, |
|
SassNumber: function SassNumber(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.value = t0; |
|
_.numeratorUnits = t1; |
|
_.denominatorUnits = t2; |
|
_.asSlash = t3; |
|
}, |
|
SassNumber_valueInUnits_closure: function SassNumber_valueInUnits_closure(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
this.newNumerator = t2; |
|
}, |
|
SassNumber_valueInUnits_closure0: function SassNumber_valueInUnits_closure0(t0, t1, t2) { |
|
this.$this = t0; |
|
this.newNumerators = t1; |
|
this.newDenominators = t2; |
|
}, |
|
SassNumber_valueInUnits_closure1: function SassNumber_valueInUnits_closure1(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
this.newDenominator = t2; |
|
}, |
|
SassNumber_valueInUnits_closure2: function SassNumber_valueInUnits_closure2(t0, t1, t2) { |
|
this.$this = t0; |
|
this.newNumerators = t1; |
|
this.newDenominators = t2; |
|
}, |
|
SassNumber_modulo_closure: function SassNumber_modulo_closure() { |
|
}, |
|
SassNumber_plus_closure: function SassNumber_plus_closure() { |
|
}, |
|
SassNumber_minus_closure: function SassNumber_minus_closure() { |
|
}, |
|
SassNumber__multiplyUnits_closure: function SassNumber__multiplyUnits_closure(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
this.numerator = t2; |
|
}, |
|
SassNumber__multiplyUnits_closure0: function SassNumber__multiplyUnits_closure0(t0, t1) { |
|
this.newNumerators = t0; |
|
this.numerator = t1; |
|
}, |
|
SassNumber__multiplyUnits_closure1: function SassNumber__multiplyUnits_closure1(t0, t1, t2) { |
|
this._box_0 = t0; |
|
this.$this = t1; |
|
this.numerator = t2; |
|
}, |
|
SassNumber__multiplyUnits_closure2: function SassNumber__multiplyUnits_closure2(t0, t1) { |
|
this.newNumerators = t0; |
|
this.numerator = t1; |
|
}, |
|
SassNumber__areAnyConvertible_closure: function SassNumber__areAnyConvertible_closure(t0, t1) { |
|
this.$this = t0; |
|
this.units2 = t1; |
|
}, |
|
SassNumber__canonicalMultiplier_closure: function SassNumber__canonicalMultiplier_closure() { |
|
}, |
|
SingleMapping_SingleMapping$fromEntries: function(entries) { |
|
var lines, t1, t2, urls, t3, files, t4, t5, targetEntries, lineNum, _i, sourceEntry, sourceUrl, t6, urlId, _null = null, |
|
sourceEntries = P.List_List$from(entries, true, _null); |
|
C.JSArray_methods.sort$0(sourceEntries); |
|
lines = H.setRuntimeTypeInfo([], [T.TargetLineEntry]); |
|
t1 = P.String; |
|
t2 = P.int; |
|
urls = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2); |
|
t3 = Y.SourceFile; |
|
files = P.LinkedHashMap_LinkedHashMap$_empty(t2, t3); |
|
for (t4 = sourceEntries.length, t5 = [T.TargetEntry], targetEntries = _null, lineNum = targetEntries, _i = 0; _i < sourceEntries.length; sourceEntries.length === t4 || (0, H.throwConcurrentModificationError)(sourceEntries), ++_i) { |
|
sourceEntry = sourceEntries[_i]; |
|
if (lineNum == null || sourceEntry.get$target().get$line() > lineNum) { |
|
lineNum = sourceEntry.get$target().get$line(); |
|
targetEntries = H.setRuntimeTypeInfo([], t5); |
|
lines.push(new T.TargetLineEntry(lineNum, targetEntries)); |
|
} |
|
if (sourceEntry.get$source() == null) |
|
targetEntries.push(new T.TargetEntry(sourceEntry.get$target().get$column(), _null, _null, _null, _null)); |
|
else { |
|
sourceUrl = sourceEntry.get$source().get$sourceUrl(); |
|
t6 = sourceUrl == null ? "" : sourceUrl.toString$0(0); |
|
urlId = urls.putIfAbsent$2(t6, new T.SingleMapping_SingleMapping$fromEntries_closure(urls)); |
|
if (sourceEntry.get$source() instanceof Y.FileLocation) |
|
files.putIfAbsent$2(urlId, new T.SingleMapping_SingleMapping$fromEntries_closure0(sourceEntry)); |
|
sourceEntry.get$identifierName(); |
|
targetEntries.push(new T.TargetEntry(sourceEntry.get$target().get$column(), urlId, sourceEntry.get$source().get$line(), sourceEntry.get$source().get$column(), _null)); |
|
} |
|
} |
|
t4 = urls.get$values(); |
|
t3 = H.MappedIterable_MappedIterable(t4, new T.SingleMapping_SingleMapping$fromEntries_closure1(files), H.getRuntimeTypeArgument(t4, "Iterable", 0), t3); |
|
t3 = P.List_List$from(t3, true, H.getRuntimeTypeArgument(t3, "Iterable", 0)); |
|
t4 = urls.get$keys(); |
|
t4 = P.List_List$from(t4, true, H.getRuntimeTypeArgument(t4, "Iterable", 0)); |
|
t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2).get$keys(); |
|
return new T.SingleMapping(t4, P.List_List$from(t2, true, H.getRuntimeTypeArgument(t2, "Iterable", 0)), t3, lines, _null, P.LinkedHashMap_LinkedHashMap$_empty(t1, _null)); |
|
}, |
|
Mapping: function Mapping() { |
|
}, |
|
SingleMapping: function SingleMapping(t0, t1, t2, t3, t4, t5) { |
|
var _ = this; |
|
_.urls = t0; |
|
_.names = t1; |
|
_.files = t2; |
|
_.lines = t3; |
|
_.targetUrl = t4; |
|
_.sourceRoot = null; |
|
_.extensions = t5; |
|
}, |
|
SingleMapping_SingleMapping$fromEntries_closure: function SingleMapping_SingleMapping$fromEntries_closure(t0) { |
|
this.urls = t0; |
|
}, |
|
SingleMapping_SingleMapping$fromEntries_closure0: function SingleMapping_SingleMapping$fromEntries_closure0(t0) { |
|
this.sourceEntry = t0; |
|
}, |
|
SingleMapping_SingleMapping$fromEntries_closure1: function SingleMapping_SingleMapping$fromEntries_closure1(t0) { |
|
this.files = t0; |
|
}, |
|
SingleMapping_toJson_closure: function SingleMapping_toJson_closure() { |
|
}, |
|
SingleMapping_toJson_closure0: function SingleMapping_toJson_closure0(t0) { |
|
this.result = t0; |
|
}, |
|
TargetLineEntry: function TargetLineEntry(t0, t1) { |
|
this.line = t0; |
|
this.entries = t1; |
|
}, |
|
TargetEntry: function TargetEntry(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.column = t0; |
|
_.sourceUrlId = t1; |
|
_.sourceLine = t2; |
|
_.sourceColumn = t3; |
|
_.sourceNameId = t4; |
|
}, |
|
LazyTrace: function LazyTrace(t0) { |
|
this._thunk = t0; |
|
this._lazy_trace$_inner = null; |
|
}, |
|
LazyTrace_terse_closure: function LazyTrace_terse_closure(t0) { |
|
this.$this = t0; |
|
}, |
|
isWhitespace: function(character) { |
|
return character === 32 || character === 9 || T.isNewline(character); |
|
}, |
|
isNewline: function(character) { |
|
return character === 10 || character === 13 || character === 12; |
|
}, |
|
isAlphabetic0: function(character) { |
|
var t1; |
|
if (!(character >= 97 && character <= 122)) |
|
t1 = character >= 65 && character <= 90; |
|
else |
|
t1 = true; |
|
return t1; |
|
}, |
|
isDigit: function(character) { |
|
return character != null && character >= 48 && character <= 57; |
|
}, |
|
isHex: function(character) { |
|
if (character == null) |
|
return false; |
|
if (T.isDigit(character)) |
|
return true; |
|
if (character >= 97 && character <= 102) |
|
return true; |
|
if (character >= 65 && character <= 70) |
|
return true; |
|
return false; |
|
}, |
|
isPrivate: function(identifier) { |
|
var first = C.JSString_methods._codeUnitAt$1(identifier, 0); |
|
return first === 45 || first === 95; |
|
}, |
|
asHex: function(character) { |
|
if (character <= 57) |
|
return character - 48; |
|
if (character <= 70) |
|
return 10 + character - 65; |
|
return 10 + character - 97; |
|
}, |
|
hexCharFor: function(number) { |
|
return number < 10 ? 48 + number : 87 + number; |
|
}, |
|
opposite: function(character) { |
|
switch (character) { |
|
case 40: |
|
return 41; |
|
case 123: |
|
return 125; |
|
case 91: |
|
return 93; |
|
default: |
|
return; |
|
} |
|
}, |
|
characterEqualsIgnoreCase: function(character1, character2) { |
|
var upperCase1; |
|
if (character1 === character2) |
|
return true; |
|
if ((character1 ^ character2) !== 32) |
|
return false; |
|
upperCase1 = character1 & 4294967263; |
|
return upperCase1 >= 65 && upperCase1 <= 90; |
|
}, |
|
fuzzyEquals: function(number1, number2) { |
|
return Math.abs(number1 - number2) < $.$get$epsilon(); |
|
}, |
|
fuzzyLessThan: function(number1, number2) { |
|
return number1 < number2 && !(Math.abs(number1 - number2) < $.$get$epsilon()); |
|
}, |
|
fuzzyLessThanOrEquals: function(number1, number2) { |
|
return number1 < number2 || Math.abs(number1 - number2) < $.$get$epsilon(); |
|
}, |
|
fuzzyGreaterThan: function(number1, number2) { |
|
return number1 > number2 && !(Math.abs(number1 - number2) < $.$get$epsilon()); |
|
}, |
|
fuzzyGreaterThanOrEquals: function(number1, number2) { |
|
return number1 > number2 || Math.abs(number1 - number2) < $.$get$epsilon(); |
|
}, |
|
fuzzyIsInt: function(number) { |
|
if (typeof number === "number" && Math.floor(number) === number) |
|
return true; |
|
return Math.abs(C.JSNumber_methods.$mod(Math.abs(number - 0.5), 1) - 0.5) < $.$get$epsilon(); |
|
}, |
|
fuzzyRound: function(number) { |
|
var t1; |
|
if (number > 0) { |
|
t1 = C.JSNumber_methods.$mod(number, 1); |
|
return t1 < 0.5 && !(Math.abs(t1 - 0.5) < $.$get$epsilon()) ? C.JSNumber_methods.floor$0(number) : C.JSNumber_methods.ceil$0(number); |
|
} else { |
|
t1 = C.JSNumber_methods.$mod(number, 1); |
|
return t1 < 0.5 || Math.abs(t1 - 0.5) < $.$get$epsilon() ? C.JSNumber_methods.floor$0(number) : C.JSNumber_methods.ceil$0(number); |
|
} |
|
}, |
|
fuzzyCheckRange: function(number, min, max) { |
|
var t1 = $.$get$epsilon(); |
|
if (Math.abs(number - min) < t1) |
|
return min; |
|
if (Math.abs(number - max) < t1) |
|
return max; |
|
if (number > min && number < max) |
|
return number; |
|
return; |
|
}, |
|
fuzzyAssertRange: function(number, min, max, $name) { |
|
var result = T.fuzzyCheckRange(number, min, max); |
|
if (result != null) |
|
return result; |
|
throw H.wrapException(P.RangeError$value(number, $name, "must be between " + min + " and " + max + ".")); |
|
} |
|
}, |
|
D = {ListExpression: function ListExpression(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.contents = t0; |
|
_.separator = t1; |
|
_.hasBrackets = t2; |
|
_.span = t3; |
|
}, ListExpression_toString_closure: function ListExpression_toString_closure(t0) { |
|
this.$this = t0; |
|
}, StringExpression: function StringExpression(t0, t1) { |
|
this.text = t0; |
|
this.hasQuotes = t1; |
|
}, ErrorRule: function ErrorRule(t0, t1) { |
|
this.expression = t0; |
|
this.span = t1; |
|
}, |
|
SelectorList$: function(components) { |
|
var t1 = P.List_List$unmodifiable(components, S.ComplexSelector); |
|
if (t1.length === 0) |
|
H.throwExpression(P.ArgumentError$("components may not be empty.")); |
|
return new D.SelectorList(t1); |
|
}, |
|
SelectorList_SelectorList$parse: function(contents, allowParent, allowPlaceholder, logger) { |
|
var t1 = S.SpanScanner$(contents, null); |
|
return new T.SelectorParser(allowParent, allowPlaceholder, t1, logger == null ? C.StderrLogger_false : logger).parse$0(); |
|
}, |
|
SelectorList: function SelectorList(t0) { |
|
this.components = t0; |
|
}, |
|
SelectorList_isInvisible_closure: function SelectorList_isInvisible_closure() { |
|
}, |
|
SelectorList_asSassList_closure: function SelectorList_asSassList_closure() { |
|
}, |
|
SelectorList_asSassList__closure: function SelectorList_asSassList__closure() { |
|
}, |
|
SelectorList_unify_closure: function SelectorList_unify_closure(t0) { |
|
this.other = t0; |
|
}, |
|
SelectorList_unify__closure: function SelectorList_unify__closure(t0) { |
|
this.complex1 = t0; |
|
}, |
|
SelectorList_unify___closure: function SelectorList_unify___closure() { |
|
}, |
|
SelectorList_resolveParentSelectors_closure: function SelectorList_resolveParentSelectors_closure(t0, t1, t2) { |
|
this.$this = t0; |
|
this.implicitParent = t1; |
|
this.parent = t2; |
|
}, |
|
SelectorList_resolveParentSelectors__closure: function SelectorList_resolveParentSelectors__closure(t0) { |
|
this.complex = t0; |
|
}, |
|
SelectorList_resolveParentSelectors__closure0: function SelectorList_resolveParentSelectors__closure0(t0) { |
|
this._box_0 = t0; |
|
}, |
|
SelectorList__complexContainsParentSelector_closure: function SelectorList__complexContainsParentSelector_closure() { |
|
}, |
|
SelectorList__complexContainsParentSelector__closure: function SelectorList__complexContainsParentSelector__closure() { |
|
}, |
|
SelectorList__resolveParentSelectorsCompound_closure: function SelectorList__resolveParentSelectorsCompound_closure() { |
|
}, |
|
SelectorList__resolveParentSelectorsCompound_closure0: function SelectorList__resolveParentSelectorsCompound_closure0(t0) { |
|
this.parent = t0; |
|
}, |
|
SelectorList__resolveParentSelectorsCompound_closure1: function SelectorList__resolveParentSelectorsCompound_closure1(t0, t1) { |
|
this.compound = t0; |
|
this.resolvedMembers = t1; |
|
}, |
|
PseudoSelector$: function($name, argument, element, selector) { |
|
var t1 = !element, |
|
t2 = t1 && !D.PseudoSelector__isFakePseudoElement($name); |
|
return new D.PseudoSelector($name, B.unvendor($name), t2, t1, argument, selector); |
|
}, |
|
PseudoSelector__isFakePseudoElement: function($name) { |
|
switch (C.JSString_methods._codeUnitAt$1($name, 0)) { |
|
case 97: |
|
case 65: |
|
return B.equalsIgnoreCase($name, "after"); |
|
case 98: |
|
case 66: |
|
return B.equalsIgnoreCase($name, "before"); |
|
case 102: |
|
case 70: |
|
return B.equalsIgnoreCase($name, "first-line") || B.equalsIgnoreCase($name, "first-letter"); |
|
default: |
|
return false; |
|
} |
|
}, |
|
PseudoSelector: function PseudoSelector(t0, t1, t2, t3, t4, t5) { |
|
var _ = this; |
|
_.name = t0; |
|
_.normalizedName = t1; |
|
_.isClass = t2; |
|
_.isSyntacticClass = t3; |
|
_.argument = t4; |
|
_.selector = t5; |
|
_._pseudo$_maxSpecificity = _._pseudo$_minSpecificity = null; |
|
}, |
|
QualifiedName: function QualifiedName(t0, t1) { |
|
this.name = t0; |
|
this.namespace = t1; |
|
}, |
|
Callable: function Callable() { |
|
}, |
|
compileStylesheet: function(options, graph, source, destination, ifModified) { |
|
return D.compileStylesheet$body(options, graph, source, destination, ifModified); |
|
}, |
|
compileStylesheet$body: function(options, graph, source, destination, ifModified) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], syntax, result, importCache, error, exception, t1, t2, t3, t4, t5, t6, t7, result0, css, buffer, sourceName, destinationName, importer, $async$exception; |
|
var $async$compileStylesheet = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) { |
|
$async$currentError = $async$result; |
|
$async$goto = $async$handler; |
|
} |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
importer = new F.FilesystemImporter(D.absolute(".")); |
|
if (ifModified) |
|
try { |
|
if (source != null && destination != null && !graph.modifiedSince$3($.$get$context().toUri$1(source), B.modificationTime(destination), importer)) { |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
} catch (exception) { |
|
if (!(H.unwrapException(exception) instanceof B.FileSystemException)) |
|
throw exception; |
|
} |
|
syntax = null; |
|
if (H.boolTypeCast(options._ifParsed$1("indented")) === true) |
|
syntax = C.Syntax_Sass; |
|
else if (source != null) |
|
syntax = M.Syntax_forPath(source); |
|
else |
|
syntax = C.Syntax_SCSS; |
|
result = null; |
|
$async$handler = 4; |
|
t1 = options._options; |
|
$async$goto = H.boolTypeCast(t1.$index(0, "async")) ? 7 : 9; |
|
break; |
|
case 7: |
|
// then |
|
t2 = H.setRuntimeTypeInfo([], [B.AsyncImporter]); |
|
t3 = H.subtypeCast(t1.$index(0, "load-path"), "$isList", [P.String], "$asList"); |
|
t4 = H.boolTypeCast(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(options.get$color()); |
|
t3 = O.AsyncImportCache__toImporters(t2, t3, null); |
|
t2 = t4 == null ? C.StderrLogger_false : t4; |
|
t4 = P.Uri; |
|
importCache = new O.AsyncImportCache(t3, t2, P.LinkedHashMap_LinkedHashMap$_empty([S.Tuple2, P.Uri, P.bool], [S.Tuple3, B.AsyncImporter, P.Uri, P.Uri]), P.LinkedHashMap_LinkedHashMap$_empty(t4, V.Stylesheet), P.LinkedHashMap_LinkedHashMap$_empty(t4, E.ImporterResult)); |
|
$async$goto = source == null ? 10 : 12; |
|
break; |
|
case 10: |
|
// then |
|
$async$goto = 13; |
|
return P._asyncAwait(B.readStdin(), $async$compileStylesheet); |
|
case 13: |
|
// returning from await. |
|
t2 = $async$result; |
|
t3 = syntax; |
|
t4 = H.boolTypeCast(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(options.get$color()); |
|
t5 = D.absolute("."); |
|
t6 = J.$eq$(t1.$index(0, "style"), "compressed") ? C.OutputStyle_compressed : C.OutputStyle_expanded; |
|
t7 = options.get$emitSourceMap(); |
|
$async$goto = 14; |
|
return P._asyncAwait(X.compileStringAsync(t2, H.boolTypeCast(t1.$index(0, "charset")), null, importCache, new F.FilesystemImporter(t5), null, null, t4, null, t7, t6, t3, null, true), $async$compileStylesheet); |
|
case 14: |
|
// returning from await. |
|
result0 = $async$result; |
|
// goto join |
|
$async$goto = 11; |
|
break; |
|
case 12: |
|
// else |
|
t2 = syntax; |
|
t3 = H.boolTypeCast(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(options.get$color()); |
|
t4 = J.$eq$(t1.$index(0, "style"), "compressed") ? C.OutputStyle_compressed : C.OutputStyle_expanded; |
|
t5 = options.get$emitSourceMap(); |
|
$async$goto = 15; |
|
return P._asyncAwait(X.compileAsync(source, H.boolTypeCast(t1.$index(0, "charset")), null, importCache, null, null, t3, null, t5, t4, t2, true), $async$compileStylesheet); |
|
case 15: |
|
// returning from await. |
|
result0 = $async$result; |
|
case 11: |
|
// join |
|
result = result0; |
|
// goto join |
|
$async$goto = 8; |
|
break; |
|
case 9: |
|
// else |
|
$async$goto = source == null ? 16 : 18; |
|
break; |
|
case 16: |
|
// then |
|
$async$goto = 19; |
|
return P._asyncAwait(B.readStdin(), $async$compileStylesheet); |
|
case 19: |
|
// returning from await. |
|
t2 = $async$result; |
|
t3 = syntax; |
|
t4 = H.boolTypeCast(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(options.get$color()); |
|
t5 = D.absolute("."); |
|
t6 = J.$eq$(t1.$index(0, "style"), "compressed") ? C.OutputStyle_compressed : C.OutputStyle_expanded; |
|
t7 = options.get$emitSourceMap(); |
|
result0 = U.compileString(t2, H.boolTypeCast(t1.$index(0, "charset")), null, graph.importCache, new F.FilesystemImporter(t5), null, null, t4, null, t7, t6, t3, null, true); |
|
// goto join |
|
$async$goto = 17; |
|
break; |
|
case 18: |
|
// else |
|
t2 = syntax; |
|
t3 = H.boolTypeCast(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(options.get$color()); |
|
t4 = J.$eq$(t1.$index(0, "style"), "compressed") ? C.OutputStyle_compressed : C.OutputStyle_expanded; |
|
t5 = options.get$emitSourceMap(); |
|
result0 = U.compile(source, H.boolTypeCast(t1.$index(0, "charset")), null, graph.importCache, null, null, t3, null, t5, t4, t2, true); |
|
case 17: |
|
// join |
|
result = result0; |
|
case 8: |
|
// join |
|
$async$handler = 2; |
|
// goto after finally |
|
$async$goto = 6; |
|
break; |
|
case 4: |
|
// catch |
|
$async$handler = 3; |
|
$async$exception = $async$currentError; |
|
t1 = H.unwrapException($async$exception); |
|
if (t1 instanceof E.SassException) { |
|
error = t1; |
|
if (options.get$emitErrorCss()) |
|
if (destination == null) |
|
P.print(error.toCssString$0()); |
|
else { |
|
B.ensureDir($.$get$context().dirname$1(destination)); |
|
B.writeFile(destination, error.toCssString$0() + "\n"); |
|
} |
|
throw $async$exception; |
|
} else |
|
throw $async$exception; |
|
// goto after finally |
|
$async$goto = 6; |
|
break; |
|
case 3: |
|
// uncaught |
|
// goto rethrow |
|
$async$goto = 2; |
|
break; |
|
case 6: |
|
// after finally |
|
css = result._serialize.css + D._writeSourceMap(options, result._serialize.sourceMap, destination); |
|
if (destination == null) { |
|
if (css.length !== 0) |
|
P.print(css); |
|
} else { |
|
B.ensureDir($.$get$context().dirname$1(destination)); |
|
B.writeFile(destination, css + "\n"); |
|
} |
|
t1 = options._options; |
|
if (!H.boolTypeCast(t1.$index(0, "quiet"))) |
|
t1 = !H.boolTypeCast(t1.$index(0, "update")) && !H.boolTypeCast(t1.$index(0, "watch")); |
|
else |
|
t1 = true; |
|
if (t1) { |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
buffer = new P.StringBuffer(""); |
|
t1 = options.get$color() ? buffer._contents = "\x1b[32m" : ""; |
|
if (source == null) |
|
sourceName = "stdin"; |
|
else { |
|
t2 = $.$get$context(); |
|
sourceName = t2.prettyUri$1(t2.toUri$1(source)); |
|
} |
|
t2 = $.$get$context(); |
|
destinationName = t2.prettyUri$1(t2.toUri$1(destination)); |
|
t1 += "Compiled " + H.S(sourceName) + " to " + H.S(destinationName) + "."; |
|
buffer._contents = t1; |
|
if (options.get$color()) |
|
buffer._contents = t1 + "\x1b[0m"; |
|
P.print(buffer); |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
case 2: |
|
// rethrow |
|
return P._asyncRethrow($async$currentError, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$compileStylesheet, $async$completer); |
|
}, |
|
_writeSourceMap: function(options, sourceMap, destination) { |
|
var t1, sourceMapText, url, sourceMapPath, t2; |
|
if (sourceMap == null) |
|
return ""; |
|
if (destination != null) { |
|
t1 = $.$get$context(); |
|
sourceMap.targetUrl = J.toString$0$(t1.toUri$1(X.ParsedPath_ParsedPath$parse(destination, t1.style).get$basename())); |
|
} |
|
B.mapInPlace(sourceMap.urls, new D._writeSourceMap_closure(options, destination)); |
|
t1 = options._options; |
|
sourceMapText = C.C_JsonCodec.encode$2$toEncodable(sourceMap.toJson$1$includeSourceContents(H.boolTypeCast(t1.$index(0, "embed-sources"))), null); |
|
if (H.boolTypeCast(t1.$index(0, "embed-source-map"))) |
|
url = P.Uri_Uri$dataFromString(sourceMapText, C.C_Utf8Codec, "application/json"); |
|
else { |
|
sourceMapPath = J.$add$ansx(destination, ".map"); |
|
t2 = $.$get$context(); |
|
B.ensureDir(t2.dirname$1(sourceMapPath)); |
|
B.writeFile(sourceMapPath, sourceMapText); |
|
url = t2.toUri$1(t2.relative$2$from(sourceMapPath, t2.dirname$1(destination))); |
|
} |
|
t1 = (J.$eq$(t1.$index(0, "style"), "compressed") ? C.OutputStyle_compressed : C.OutputStyle_expanded) === C.OutputStyle_compressed ? "" : "\n\n"; |
|
return t1 + ("/*# sourceMappingURL=" + H.S(url) + " */"); |
|
}, |
|
_writeSourceMap_closure: function _writeSourceMap_closure(t0, t1) { |
|
this.options = t0; |
|
this.destination = t1; |
|
}, |
|
_function3: function($name, $arguments, callback) { |
|
var t1 = S.SpanScanner$("@function " + $name + "(" + $arguments + ") {", "sass:list"); |
|
return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false).parseArgumentDeclaration$0(), callback, [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]])); |
|
}, |
|
closure42: function closure42() { |
|
}, |
|
closure41: function closure41() { |
|
}, |
|
closure40: function closure40() { |
|
}, |
|
closure39: function closure39() { |
|
}, |
|
closure38: function closure38() { |
|
}, |
|
closure37: function closure37() { |
|
}, |
|
_closure4: function _closure4() { |
|
}, |
|
_closure5: function _closure5(t0) { |
|
this._box_0 = t0; |
|
}, |
|
_closure6: function _closure6(t0) { |
|
this._box_0 = t0; |
|
}, |
|
closure36: function closure36() { |
|
}, |
|
closure34: function closure34() { |
|
}, |
|
closure35: function closure35() { |
|
}, |
|
_codepointForIndex: function(index, lengthInCodepoints, allowNegative) { |
|
var result; |
|
if (index === 0) |
|
return 0; |
|
if (index > 0) |
|
return Math.min(index - 1, H.checkNum(lengthInCodepoints)); |
|
result = lengthInCodepoints + index; |
|
if (result < 0 && !allowNegative) |
|
return 0; |
|
return result; |
|
}, |
|
_function: function($name, $arguments, callback) { |
|
var t1 = S.SpanScanner$("@function " + $name + "(" + $arguments + ") {", "sass:string"); |
|
return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false).parseArgumentDeclaration$0(), callback, [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]])); |
|
}, |
|
closure8: function closure8() { |
|
}, |
|
closure7: function closure7() { |
|
}, |
|
closure3: function closure3() { |
|
}, |
|
closure2: function closure2() { |
|
}, |
|
closure1: function closure1() { |
|
}, |
|
closure0: function closure0() { |
|
}, |
|
closure6: function closure6() { |
|
}, |
|
closure5: function closure5() { |
|
}, |
|
closure4: function closure4() { |
|
}, |
|
Exports: function Exports() { |
|
}, |
|
_NodeSassList: function _NodeSassList() { |
|
}, |
|
closure124: function closure124() { |
|
}, |
|
_closure18: function _closure18() { |
|
}, |
|
closure125: function closure125() { |
|
}, |
|
closure126: function closure126() { |
|
}, |
|
closure127: function closure127() { |
|
}, |
|
closure128: function closure128() { |
|
}, |
|
closure129: function closure129() { |
|
}, |
|
closure130: function closure130() { |
|
}, |
|
_NodeSassString: function _NodeSassString() { |
|
}, |
|
closure106: function closure106() { |
|
}, |
|
closure107: function closure107() { |
|
}, |
|
closure108: function closure108() { |
|
}, |
|
closure109: function closure109() { |
|
}, |
|
SourceMapBuffer: function SourceMapBuffer(t0, t1, t2) { |
|
var _ = this; |
|
_._source_map_buffer$_buffer = t0; |
|
_._entries = t1; |
|
_._sourceFiles = t2; |
|
_._column = _._line = 0; |
|
_._inSpan = false; |
|
}, |
|
SourceMapBuffer_sourceFiles_closure: function SourceMapBuffer_sourceFiles_closure() { |
|
}, |
|
SourceMapBuffer__addEntry_closure: function SourceMapBuffer__addEntry_closure(t0) { |
|
this.source = t0; |
|
}, |
|
SourceMapBuffer_buildSourceMap_closure: function SourceMapBuffer_buildSourceMap_closure(t0, t1) { |
|
this._box_0 = t0; |
|
this.prefixLength = t1; |
|
}, |
|
SassArgumentList: function SassArgumentList(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._keywords = t0; |
|
_._wereKeywordsAccessed = false; |
|
_._list$_contents = t1; |
|
_.separator = t2; |
|
_.hasBrackets = t3; |
|
}, |
|
SassList$: function(contents, separator, brackets) { |
|
var t1 = new D.SassList(P.List_List$unmodifiable(contents, F.Value), separator, brackets); |
|
t1.SassList$3$brackets(contents, separator, brackets); |
|
return t1; |
|
}, |
|
SassList: function SassList(t0, t1, t2) { |
|
this._list$_contents = t0; |
|
this.separator = t1; |
|
this.hasBrackets = t2; |
|
}, |
|
SassList_isBlank_closure: function SassList_isBlank_closure() { |
|
}, |
|
ListSeparator: function ListSeparator(t0) { |
|
this._list$_name = t0; |
|
}, |
|
SassString$: function(text, quotes) { |
|
return new D.SassString(text, quotes); |
|
}, |
|
SassString: function SassString(t0, t1) { |
|
this.text = t0; |
|
this.hasQuotes = t1; |
|
this._sassLength = null; |
|
}, |
|
RecursiveStatementVisitor: function RecursiveStatementVisitor() { |
|
}, |
|
SourceLocationMixin: function SourceLocationMixin() { |
|
}, |
|
current: function() { |
|
var exception, t1, path, lastIndex, uri = null; |
|
try { |
|
uri = P.Uri_base(); |
|
} catch (exception) { |
|
if (!!J.getInterceptor$(H.unwrapException(exception)).$isException) { |
|
t1 = $._current; |
|
if (t1 != null) |
|
return t1; |
|
throw exception; |
|
} else |
|
throw exception; |
|
} |
|
if (J.$eq$(uri, $._currentUriBase)) |
|
return $._current; |
|
$._currentUriBase = uri; |
|
if ($.$get$Style_platform() == $.$get$Style_url()) |
|
return $._current = uri.resolve$1(".").toString$0(0); |
|
else { |
|
path = uri.toFilePath$0(); |
|
lastIndex = path.length - 1; |
|
return $._current = lastIndex === 0 ? path : C.JSString_methods.substring$2(path, 0, lastIndex); |
|
} |
|
}, |
|
absolute: function(part1) { |
|
var _null = null; |
|
return $.$get$context().absolute$7(part1, _null, _null, _null, _null, _null, _null); |
|
}, |
|
dirname: function(path) { |
|
return $.$get$context().dirname$1(path); |
|
}, |
|
join: function(part1, part2, part3) { |
|
var _null = null; |
|
return $.$get$context().join$8(0, part1, part2, part3, _null, _null, _null, _null, _null); |
|
} |
|
}, |
|
A = {MapExpression: function MapExpression(t0, t1) { |
|
this.pairs = t0; |
|
this.span = t1; |
|
}, MapExpression_toString_closure: function MapExpression_toString_closure() { |
|
}, IncludeRule: function IncludeRule(t0, t1, t2, t3, t4) { |
|
var _ = this; |
|
_.namespace = t0; |
|
_.name = t1; |
|
_.$arguments = t2; |
|
_.content = t3; |
|
_.span = t4; |
|
}, Configuration: function Configuration(t0, t1, t2) { |
|
this._values = t0; |
|
this.nodeWithSpan = t1; |
|
this.isImplicit = t2; |
|
}, |
|
watch: function(options, graph) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$returnValue, t4, t5, t6, t7, dirWatcher, watcher, destination, t1, t2, t3; |
|
var $async$watch = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = P.String; |
|
t2 = [t1]; |
|
t3 = H.setRuntimeTypeInfo([], t2); |
|
for (options._ensureSources$0(), t4 = J.get$iterator$ax(options._sourceDirectoriesToDestinations.get$keys()); t4.moveNext$0();) |
|
t3.push(t4.get$current(t4)); |
|
for (options._ensureSources$0(), t4 = J.map$1$1$ax(options._sourcesToDestinations.get$keys(), D.path__dirname$closure(), t1), t4 = t4.get$iterator(t4); t4.moveNext$0();) |
|
t3.push(t4.get$current(t4)); |
|
for (t4 = options._options, t2 = J.get$iterator$ax(H.subtypeCast(t4.$index(0, "load-path"), "$isList", t2, "$asList")); t2.moveNext$0();) |
|
t3.push(t2.get$current(t2)); |
|
t2 = H.boolTypeCast(t4.$index(0, "poll")); |
|
t5 = [P.Stream, E.WatchEvent]; |
|
t6 = E.WatchEvent; |
|
t7 = new L.StreamGroup(C._StreamGroupState_dormant, new H.JsLinkedHashMap([t5, [P.StreamSubscription, E.WatchEvent]]), [t6]); |
|
t7._controller = P.StreamController_StreamController(t7.get$_onCancel(), t7.get$_onListen(), t7.get$_onPause(), t7.get$_onResume(), true, t6); |
|
dirWatcher = new U.MultiDirWatcher(P.LinkedHashMap_LinkedHashMap$_empty(t1, t5), t7, t2); |
|
$async$goto = 3; |
|
return P._asyncAwait(P.Future_wait(new H.MappedListIterable(t3, new A.watch_closure(dirWatcher), [H.getTypeArgumentByIndex(t3, 0), [P.Future, -1]]), -1), $async$watch); |
|
case 3: |
|
// returning from await. |
|
watcher = new A._Watcher(options, graph); |
|
options._ensureSources$0(), t1 = J.get$iterator$ax(options._sourcesToDestinations.get$keys()); |
|
case 4: |
|
// for condition |
|
if (!t1.moveNext$0()) { |
|
// goto after for |
|
$async$goto = 5; |
|
break; |
|
} |
|
t2 = t1.get$current(t1); |
|
options._ensureSources$0(); |
|
destination = options._sourcesToDestinations.$index(0, t2); |
|
t3 = $.$get$context(); |
|
graph.addCanonical$3(new F.FilesystemImporter(t3.absolute$7(".", null, null, null, null, null, null)), t3.toUri$1(t3.canonicalize$1(t2)), t3.toUri$1(t2)); |
|
$async$goto = 6; |
|
return P._asyncAwait(watcher.compile$3$ifModified(t2, destination, true), $async$watch); |
|
case 6: |
|
// returning from await. |
|
if (!$async$result && H.boolTypeCast(t4.$index(0, "stop-on-error"))) { |
|
dirWatcher._group._controller._subscribe$4(null, null, null, false).cancel$0(); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
// goto for condition |
|
$async$goto = 4; |
|
break; |
|
case 5: |
|
// after for |
|
P.print("Sass is watching for changes. Press Ctrl-C to stop.\n"); |
|
$async$goto = 7; |
|
return P._asyncAwait(watcher.watch$1(0, dirWatcher), $async$watch); |
|
case 7: |
|
// returning from await. |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$watch, $async$completer); |
|
}, |
|
watch_closure: function watch_closure(t0) { |
|
this.dirWatcher = t0; |
|
}, |
|
_Watcher: function _Watcher(t0, t1) { |
|
this._watch$_options = t0; |
|
this._graph = t1; |
|
}, |
|
_Watcher__debounceEvents_closure: function _Watcher__debounceEvents_closure() { |
|
}, |
|
_Watcher__debounceEvents__closure: function _Watcher__debounceEvents__closure(t0) { |
|
this.typeForPath = t0; |
|
}, |
|
_Watcher__retryPotentialImports_recanonicalize: function _Watcher__retryPotentialImports_recanonicalize(t0, t1, t2, t3) { |
|
var _ = this; |
|
_._box_0 = t0; |
|
_.$this = t1; |
|
_.name = t2; |
|
_.node = t3; |
|
}, |
|
MergedExtension_merge: function(left, right) { |
|
var t2, t3, t4, |
|
t1 = left.extender; |
|
if (!J.$eq$(t1, right.extender) || !J.$eq$(left.target, right.target)) |
|
throw H.wrapException(P.ArgumentError$(left.toString$0(0) + " and " + right.toString$0(0) + " aren't the same extension.")); |
|
t2 = left.mediaContext; |
|
t3 = t2 == null; |
|
if (!t3) { |
|
t4 = right.mediaContext; |
|
t4 = t4 != null && !C.C_ListEquality.equals$2(t2, t4); |
|
} else |
|
t4 = false; |
|
if (t4) |
|
throw H.wrapException(E.SassException$("From " + left.span.message$1(0, "") + "\nYou may not @extend the same selector from within different media queries.", right.span)); |
|
if (right.isOptional && right.mediaContext == null) |
|
return left; |
|
if (left.isOptional && t3) |
|
return right; |
|
if (t3) |
|
t2 = right.mediaContext; |
|
t3 = left.specificity; |
|
if (t3 == null) |
|
t3 = t1.get$maxSpecificity(); |
|
return new A.MergedExtension(left, right, t1, left.target, t3, true, false, t2, left.extenderSpan, left.span); |
|
}, |
|
MergedExtension: function MergedExtension(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) { |
|
var _ = this; |
|
_.left = t0; |
|
_.right = t1; |
|
_.extender = t2; |
|
_.target = t3; |
|
_.specificity = t4; |
|
_.isOptional = t5; |
|
_.isOriginal = t6; |
|
_.mediaContext = t7; |
|
_.extenderSpan = t8; |
|
_.span = t9; |
|
}, |
|
_function2: function($name, $arguments, callback) { |
|
var t1 = S.SpanScanner$("@function " + $name + "(" + $arguments + ") {", "sass:map"); |
|
return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false).parseArgumentDeclaration$0(), callback, [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]])); |
|
}, |
|
closure33: function closure33() { |
|
}, |
|
closure32: function closure32() { |
|
}, |
|
closure30: function closure30() { |
|
}, |
|
closure31: function closure31() { |
|
}, |
|
closure29: function closure29() { |
|
}, |
|
closure28: function closure28() { |
|
}, |
|
closure27: function closure27() { |
|
}, |
|
_NodeSassMap: function _NodeSassMap() { |
|
}, |
|
closure117: function closure117() { |
|
}, |
|
_closure16: function _closure16() { |
|
}, |
|
_closure17: function _closure17() { |
|
}, |
|
closure118: function closure118() { |
|
}, |
|
closure119: function closure119() { |
|
}, |
|
closure120: function closure120() { |
|
}, |
|
closure121: function closure121() { |
|
}, |
|
closure122: function closure122() { |
|
}, |
|
closure123: function closure123() { |
|
}, |
|
SassMap: function SassMap(t0) { |
|
this.contents = t0; |
|
}, |
|
SassMap_asList_closure: function SassMap_asList_closure(t0) { |
|
this.result = t0; |
|
}, |
|
Frame_Frame$parseVM: function(frame) { |
|
return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseVM_closure(frame)); |
|
}, |
|
Frame_Frame$parseV8: function(frame) { |
|
return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseV8_closure(frame)); |
|
}, |
|
Frame_Frame$parseFirefox: function(frame) { |
|
return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseFirefox_closure(frame)); |
|
}, |
|
Frame_Frame$parseFriendly: function(frame) { |
|
return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseFriendly_closure(frame)); |
|
}, |
|
Frame__uriOrPathToUri: function(uriOrPath) { |
|
if (J.getInterceptor$asx(uriOrPath).contains$1(uriOrPath, $.$get$Frame__uriRegExp())) |
|
return P.Uri_parse(uriOrPath); |
|
else if (C.JSString_methods.contains$1(uriOrPath, $.$get$Frame__windowsRegExp())) |
|
return P._Uri__Uri$file(uriOrPath, true); |
|
else if (C.JSString_methods.startsWith$1(uriOrPath, "/")) |
|
return P._Uri__Uri$file(uriOrPath, false); |
|
if (C.JSString_methods.contains$1(uriOrPath, "\\")) |
|
return $.$get$windows().toUri$1(uriOrPath); |
|
return P.Uri_parse(uriOrPath); |
|
}, |
|
Frame__catchFormatException: function(text, body) { |
|
var t1, exception; |
|
try { |
|
t1 = body.call$0(); |
|
return t1; |
|
} catch (exception) { |
|
if (!!J.getInterceptor$(H.unwrapException(exception)).$isFormatException) |
|
return new N.UnparsedFrame(P._Uri__Uri(null, "unparsed", null, null), text); |
|
else |
|
throw exception; |
|
} |
|
}, |
|
Frame: function Frame(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.uri = t0; |
|
_.line = t1; |
|
_.column = t2; |
|
_.member = t3; |
|
}, |
|
Frame_Frame$parseVM_closure: function Frame_Frame$parseVM_closure(t0) { |
|
this.frame = t0; |
|
}, |
|
Frame_Frame$parseV8_closure: function Frame_Frame$parseV8_closure(t0) { |
|
this.frame = t0; |
|
}, |
|
Frame_Frame$parseV8_closure_parseLocation: function Frame_Frame$parseV8_closure_parseLocation(t0) { |
|
this.frame = t0; |
|
}, |
|
Frame_Frame$parseFirefox_closure: function Frame_Frame$parseFirefox_closure(t0) { |
|
this.frame = t0; |
|
}, |
|
Frame_Frame$parseFriendly_closure: function Frame_Frame$parseFriendly_closure(t0) { |
|
this.frame = t0; |
|
}, |
|
AsciiGlyphSet: function AsciiGlyphSet() { |
|
} |
|
}, |
|
S = {VariableExpression: function VariableExpression(t0, t1, t2) { |
|
this.namespace = t0; |
|
this.name = t1; |
|
this.span = t2; |
|
}, |
|
ComplexSelector$: function(components, lineBreak) { |
|
var t1 = P.List_List$unmodifiable(components, S.ComplexSelectorComponent); |
|
if (t1.length === 0) |
|
H.throwExpression(P.ArgumentError$("components may not be empty.")); |
|
return new S.ComplexSelector(t1, lineBreak); |
|
}, |
|
ComplexSelector: function ComplexSelector(t0, t1) { |
|
var _ = this; |
|
_.components = t0; |
|
_.lineBreak = t1; |
|
_._complex$_isInvisible = _._maxSpecificity = _._minSpecificity = null; |
|
}, |
|
ComplexSelector_isInvisible_closure: function ComplexSelector_isInvisible_closure() { |
|
}, |
|
ComplexSelectorComponent: function ComplexSelectorComponent() { |
|
}, |
|
Combinator: function Combinator(t0) { |
|
this._complex$_text = t0; |
|
}, |
|
AsyncBuiltInCallable$mixin: function($name, $arguments, callback, url) { |
|
var t1 = S.SpanScanner$("@mixin " + $name + "(" + $arguments + ") {", url); |
|
return new S.AsyncBuiltInCallable($name, new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false).parseArgumentDeclaration$0(), new S.AsyncBuiltInCallable$mixin_closure(callback)); |
|
}, |
|
AsyncBuiltInCallable: function AsyncBuiltInCallable(t0, t1, t2) { |
|
this.name = t0; |
|
this._async_built_in$_arguments = t1; |
|
this._async_built_in$_callback = t2; |
|
}, |
|
AsyncBuiltInCallable$mixin_closure: function AsyncBuiltInCallable$mixin_closure(t0) { |
|
this.callback = t0; |
|
}, |
|
Extension$oneOff: function(extender, isOriginal, specificity) { |
|
var _null = null; |
|
return new S.Extension(extender, _null, specificity == null ? extender.get$maxSpecificity() : specificity, true, isOriginal, _null, _null, _null); |
|
}, |
|
Extension: function Extension(t0, t1, t2, t3, t4, t5, t6, t7) { |
|
var _ = this; |
|
_.extender = t0; |
|
_.target = t1; |
|
_.specificity = t2; |
|
_.isOptional = t3; |
|
_.isOriginal = t4; |
|
_.mediaContext = t5; |
|
_.extenderSpan = t6; |
|
_.span = t7; |
|
}, |
|
StderrLogger: function StderrLogger(t0) { |
|
this.color = t0; |
|
}, |
|
SpanScanner$: function(string, sourceUrl) { |
|
var t1, t2, t3, t4; |
|
string.toString; |
|
t1 = new H.CodeUnits(string); |
|
t2 = H.setRuntimeTypeInfo([0], [P.int]); |
|
t3 = typeof sourceUrl === "string"; |
|
t4 = t3 ? P.Uri_parse(sourceUrl) : H.interceptedTypeCast(sourceUrl, "$isUri"); |
|
t2 = new Y.SourceFile(t4, t2, new Uint32Array(H._ensureNativeList(t1.toList$0(t1)))); |
|
t2.SourceFile$decoded$2$url(t1, sourceUrl); |
|
t1 = t3 ? P.Uri_parse(sourceUrl) : H.interceptedTypeCast(sourceUrl, "$isUri"); |
|
return new S.SpanScanner(t2, t1, string); |
|
}, |
|
SpanScanner: function SpanScanner(t0, t1, t2) { |
|
var _ = this; |
|
_._sourceFile = t0; |
|
_.sourceUrl = t1; |
|
_.string = t2; |
|
_._string_scanner$_position = 0; |
|
_._lastMatchPosition = _._lastMatch = null; |
|
}, |
|
_SpanScannerState: function _SpanScannerState(t0, t1) { |
|
this._scanner = t0; |
|
this.position = t1; |
|
}, |
|
Tuple2: function Tuple2(t0, t1, t2) { |
|
this.item1 = t0; |
|
this.item2 = t1; |
|
this.$ti = t2; |
|
}, |
|
Tuple3: function Tuple3(t0, t1, t2, t3) { |
|
var _ = this; |
|
_.item1 = t0; |
|
_.item2 = t1; |
|
_.item3 = t2; |
|
_.$ti = t3; |
|
} |
|
}; |
|
var holders = [C, H, J, P, N, Z, V, G, E, F, Y, L, Q, B, O, U, M, X, K, R, T, D, A, S]; |
|
hunkHelpers.setFunctionNamesIfNecessary(holders); |
|
var $ = {}; |
|
H.JS_CONST.prototype = {}; |
|
J.Interceptor.prototype = { |
|
$eq: function(receiver, other) { |
|
return receiver === other; |
|
}, |
|
get$hashCode: function(receiver) { |
|
return H.Primitives_objectHashCode(receiver); |
|
}, |
|
toString$0: function(receiver) { |
|
return "Instance of '" + H.S(H.Primitives_objectTypeName(receiver)) + "'"; |
|
}, |
|
noSuchMethod$1: function(receiver, invocation) { |
|
throw H.wrapException(P.NoSuchMethodError$(receiver, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments())); |
|
} |
|
}; |
|
J.JSBool.prototype = { |
|
toString$0: function(receiver) { |
|
return String(receiver); |
|
}, |
|
get$hashCode: function(receiver) { |
|
return receiver ? 519018 : 218159; |
|
}, |
|
$isbool: 1 |
|
}; |
|
J.JSNull.prototype = { |
|
$eq: function(receiver, other) { |
|
return null == other; |
|
}, |
|
toString$0: function(receiver) { |
|
return "null"; |
|
}, |
|
get$hashCode: function(receiver) { |
|
return 0; |
|
}, |
|
noSuchMethod$1: function(receiver, invocation) { |
|
return this.super$Interceptor$noSuchMethod(receiver, invocation); |
|
}, |
|
$isNull: 1 |
|
}; |
|
J.JavaScriptObject.prototype = { |
|
get$hashCode: function(receiver) { |
|
return 0; |
|
}, |
|
toString$0: function(receiver) { |
|
return String(receiver); |
|
}, |
|
$is_SystemError: 1, |
|
$isJSError: 1, |
|
$isFunction: 1, |
|
$isJSFunction: 1, |
|
$isNodeImporterResult: 1, |
|
$isRenderOptions: 1, |
|
$isRenderResult: 1, |
|
$is_NodeSassColor: 1, |
|
$is_NodeSassList: 1, |
|
$is_NodeSassMap: 1, |
|
$is_NodeSassNumber: 1, |
|
$is_NodeSassString: 1, |
|
get$isTTY: function(obj) { |
|
return obj.isTTY; |
|
}, |
|
get$write: function(obj) { |
|
return obj.write; |
|
}, |
|
write$1: function(receiver, p0) { |
|
return receiver.write(p0); |
|
}, |
|
createInterface$1: function(receiver, p0) { |
|
return receiver.createInterface(p0); |
|
}, |
|
on$2: function(receiver, p0, p1) { |
|
return receiver.on(p0, p1); |
|
}, |
|
get$close: function(obj) { |
|
return obj.close; |
|
}, |
|
close$0: function(receiver) { |
|
return receiver.close(); |
|
}, |
|
setPrompt$1: function(receiver, p0) { |
|
return receiver.setPrompt(p0); |
|
}, |
|
readFileSync$2: function(receiver, p0, p1) { |
|
return receiver.readFileSync(p0, p1); |
|
}, |
|
writeFileSync$2: function(receiver, p0, p1) { |
|
return receiver.writeFileSync(p0, p1); |
|
}, |
|
existsSync$1: function(receiver, p0) { |
|
return receiver.existsSync(p0); |
|
}, |
|
mkdirSync$1: function(receiver, p0) { |
|
return receiver.mkdirSync(p0); |
|
}, |
|
statSync$1: function(receiver, p0) { |
|
return receiver.statSync(p0); |
|
}, |
|
unlinkSync$1: function(receiver, p0) { |
|
return receiver.unlinkSync(p0); |
|
}, |
|
readdirSync$1: function(receiver, p0) { |
|
return receiver.readdirSync(p0); |
|
}, |
|
isFile$0: function(receiver) { |
|
return receiver.isFile(); |
|
}, |
|
isDirectory$0: function(receiver) { |
|
return receiver.isDirectory(); |
|
}, |
|
get$mtime: function(obj) { |
|
return obj.mtime; |
|
}, |
|
getTime$0: function(receiver) { |
|
return receiver.getTime(); |
|
}, |
|
get$message: function(obj) { |
|
return obj.message; |
|
}, |
|
message$1: function(receiver, p0) { |
|
return receiver.message(p0); |
|
}, |
|
get$code: function(obj) { |
|
return obj.code; |
|
}, |
|
get$syscall: function(obj) { |
|
return obj.syscall; |
|
}, |
|
get$path: function(obj) { |
|
return obj.path; |
|
}, |
|
get$platform: function(obj) { |
|
return obj.platform; |
|
}, |
|
get$env: function(obj) { |
|
return obj.env; |
|
}, |
|
watch$2: function(receiver, p0, p1) { |
|
return receiver.watch(p0, p1); |
|
}, |
|
set$run_: function(obj, v) { |
|
return obj.run_ = v; |
|
}, |
|
set$render: function(obj, v) { |
|
return obj.render = v; |
|
}, |
|
set$renderSync: function(obj, v) { |
|
return obj.renderSync = v; |
|
}, |
|
set$info: function(obj, v) { |
|
return obj.info = v; |
|
}, |
|
set$types: function(obj, v) { |
|
return obj.types = v; |
|
}, |
|
call$1: function(receiver, p0) { |
|
return receiver.call(p0); |
|
}, |
|
call$1$1: function(receiver, p0) { |
|
return receiver.call(p0); |
|
}, |
|
get$current: function(obj) { |
|
return obj.current; |
|
}, |
|
yield$0: function(receiver) { |
|
return receiver.yield(); |
|
}, |
|
run$1: function(receiver, p0) { |
|
return receiver.run(p0); |
|
}, |
|
run$0: function(receiver) { |
|
return receiver.run(); |
|
}, |
|
call$0: function(receiver) { |
|
return receiver.call(); |
|
}, |
|
call$2: function(receiver, p0, p1) { |
|
return receiver.call(p0, p1); |
|
}, |
|
call$3: function(receiver, p0, p1, p2) { |
|
return receiver.call(p0, p1, p2); |
|
}, |
|
call$1$3: function(receiver, p0, p1, p2) { |
|
return receiver.call(p0, p1, p2); |
|
}, |
|
call$2$2: function(receiver, p0, p1) { |
|
return receiver.call(p0, p1); |
|
}, |
|
call$1$0: function(receiver) { |
|
return receiver.call(); |
|
}, |
|
apply$2: function(receiver, p0, p1) { |
|
return receiver.apply(p0, p1); |
|
}, |
|
get$file: function(obj) { |
|
return obj.file; |
|
}, |
|
get$contents: function(obj) { |
|
return obj.contents; |
|
}, |
|
get$options: function(obj) { |
|
return obj.options; |
|
}, |
|
get$data: function(obj) { |
|
return obj.data; |
|
}, |
|
get$includePaths: function(obj) { |
|
return obj.includePaths; |
|
}, |
|
get$indentType: function(obj) { |
|
return obj.indentType; |
|
}, |
|
get$indentWidth: function(obj) { |
|
return obj.indentWidth; |
|
}, |
|
get$linefeed: function(obj) { |
|
return obj.linefeed; |
|
}, |
|
set$context: function(obj, v) { |
|
return obj.context = v; |
|
}, |
|
get$importer: function(obj) { |
|
return obj.importer; |
|
}, |
|
get$functions: function(obj) { |
|
return obj.functions; |
|
}, |
|
get$indentedSyntax: function(obj) { |
|
return obj.indentedSyntax; |
|
}, |
|
get$omitSourceMapUrl: function(obj) { |
|
return obj.omitSourceMapUrl; |
|
}, |
|
get$outFile: function(obj) { |
|
return obj.outFile; |
|
}, |
|
get$outputStyle: function(obj) { |
|
return obj.outputStyle; |
|
}, |
|
get$fiber: function(obj) { |
|
return obj.fiber; |
|
}, |
|
get$sourceMap: function(obj) { |
|
return obj.sourceMap; |
|
}, |
|
get$sourceMapContents: function(obj) { |
|
return obj.sourceMapContents; |
|
}, |
|
get$sourceMapEmbed: function(obj) { |
|
return obj.sourceMapEmbed; |
|
}, |
|
get$sourceMapRoot: function(obj) { |
|
return obj.sourceMapRoot; |
|
}, |
|
map$1$1: function(receiver, p0) { |
|
return receiver.map(p0); |
|
}, |
|
map$1: function(receiver, p0) { |
|
return receiver.map(p0); |
|
}, |
|
get$start: function(obj) { |
|
return obj.start; |
|
}, |
|
get$end: function(obj) { |
|
return obj.end; |
|
}, |
|
get$dartValue: function(obj) { |
|
return obj.dartValue; |
|
}, |
|
set$dartValue: function(obj, v) { |
|
return obj.dartValue = v; |
|
} |
|
}; |
|
J.PlainJavaScriptObject.prototype = {}; |
|
J.UnknownJavaScriptObject.prototype = {}; |
|
J.JavaScriptFunction.prototype = { |
|
toString$0: function(receiver) { |
|
var dartClosure = receiver[$.$get$DART_CLOSURE_PROPERTY_NAME()]; |
|
if (dartClosure == null) |
|
return this.super$JavaScriptObject$toString(receiver); |
|
return "JavaScript function for " + H.S(J.toString$0$(dartClosure)); |
|
}, |
|
$signature: function() { |
|
return {func: 1, opt: [,,,,,,,,,,,,,,,,]}; |
|
}, |
|
$isFunction: 1 |
|
}; |
|
J.JSArray.prototype = { |
|
cast$1$0: function(receiver, $R) { |
|
return new H.CastList(receiver, [H.getTypeArgumentByIndex(receiver, 0), $R]); |
|
}, |
|
add$1: function(receiver, value) { |
|
if (!!receiver.fixed$length) |
|
H.throwExpression(P.UnsupportedError$("add")); |
|
receiver.push(value); |
|
}, |
|
removeAt$1: function(receiver, index) { |
|
var t1; |
|
if (!!receiver.fixed$length) |
|
H.throwExpression(P.UnsupportedError$("removeAt")); |
|
t1 = receiver.length; |
|
if (index >= t1) |
|
throw H.wrapException(P.RangeError$value(index, null, null)); |
|
return receiver.splice(index, 1)[0]; |
|
}, |
|
insert$2: function(receiver, index, value) { |
|
var t1; |
|
if (!!receiver.fixed$length) |
|
H.throwExpression(P.UnsupportedError$("insert")); |
|
t1 = receiver.length; |
|
if (index > t1) |
|
throw H.wrapException(P.RangeError$value(index, null, null)); |
|
receiver.splice(index, 0, value); |
|
}, |
|
insertAll$2: function(receiver, index, iterable) { |
|
var t1, insertionLength, end; |
|
if (!!receiver.fixed$length) |
|
H.throwExpression(P.UnsupportedError$("insertAll")); |
|
P.RangeError_checkValueInInterval(index, 0, receiver.length, "index"); |
|
t1 = J.getInterceptor$(iterable); |
|
if (!t1.$isEfficientLengthIterable) |
|
iterable = t1.toList$0(iterable); |
|
insertionLength = J.get$length$asx(iterable); |
|
this.set$length(receiver, receiver.length + insertionLength); |
|
end = index + insertionLength; |
|
this.setRange$4(receiver, end, receiver.length, receiver, index); |
|
this.setRange$3(receiver, index, end, iterable); |
|
}, |
|
setAll$2: function(receiver, index, iterable) { |
|
var t1, index0; |
|
if (!!receiver.immutable$list) |
|
H.throwExpression(P.UnsupportedError$("setAll")); |
|
P.RangeError_checkValueInInterval(index, 0, receiver.length, "index"); |
|
for (t1 = J.get$iterator$ax(iterable); t1.moveNext$0(); index = index0) { |
|
index0 = index + 1; |
|
this.$indexSet(receiver, index, t1.get$current(t1)); |
|
} |
|
}, |
|
removeLast$0: function(receiver) { |
|
if (!!receiver.fixed$length) |
|
H.throwExpression(P.UnsupportedError$("removeLast")); |
|
if (receiver.length === 0) |
|
throw H.wrapException(H.diagnoseIndexError(receiver, -1)); |
|
return receiver.pop(); |
|
}, |
|
remove$1: function(receiver, element) { |
|
var i; |
|
if (!!receiver.fixed$length) |
|
H.throwExpression(P.UnsupportedError$("remove")); |
|
for (i = 0; i < receiver.length; ++i) |
|
if (J.$eq$(receiver[i], element)) { |
|
receiver.splice(i, 1); |
|
return true; |
|
} |
|
return false; |
|
}, |
|
_removeWhere$2: function(receiver, test, removeMatching) { |
|
var i, element, t1, retained = [], |
|
end = receiver.length; |
|
for (i = 0; i < end; ++i) { |
|
element = receiver[i]; |
|
if (!test.call$1(element)) |
|
retained.push(element); |
|
if (receiver.length !== end) |
|
throw H.wrapException(P.ConcurrentModificationError$(receiver)); |
|
} |
|
t1 = retained.length; |
|
if (t1 === end) |
|
return; |
|
this.set$length(receiver, t1); |
|
for (i = 0; i < retained.length; ++i) |
|
receiver[i] = retained[i]; |
|
}, |
|
where$1: function(receiver, f) { |
|
return new H.WhereIterable(receiver, f, [H.getTypeArgumentByIndex(receiver, 0)]); |
|
}, |
|
expand$1$1: function(receiver, f, $T) { |
|
return new H.ExpandIterable(receiver, f, [H.getTypeArgumentByIndex(receiver, 0), $T]); |
|
}, |
|
addAll$1: function(receiver, collection) { |
|
var t1; |
|
if (!!receiver.fixed$length) |
|
H.throwExpression(P.UnsupportedError$("addAll")); |
|
for (t1 = J.get$iterator$ax(collection); t1.moveNext$0();) |
|
receiver.push(t1.get$current(t1)); |
|
}, |
|
forEach$1: function(receiver, f) { |
|
var i, |
|
end = receiver.length; |
|
for (i = 0; i < end; ++i) { |
|
f.call$1(receiver[i]); |
|
if (receiver.length !== end) |
|
throw H.wrapException(P.ConcurrentModificationError$(receiver)); |
|
} |
|
}, |
|
map$1$1: function(receiver, f, $T) { |
|
return new H.MappedListIterable(receiver, f, [H.getTypeArgumentByIndex(receiver, 0), $T]); |
|
}, |
|
map$1: function($receiver, f) { |
|
return this.map$1$1($receiver, f, null); |
|
}, |
|
join$1: function(receiver, separator) { |
|
var i, |
|
list = new Array(receiver.length); |
|
list.fixed$length = Array; |
|
for (i = 0; i < receiver.length; ++i) |
|
list[i] = H.S(receiver[i]); |
|
return list.join(separator); |
|
}, |
|
join$0: function($receiver) { |
|
return this.join$1($receiver, ""); |
|
}, |
|
take$1: function(receiver, n) { |
|
return H.SubListIterable$(receiver, 0, n, H.getTypeArgumentByIndex(receiver, 0)); |
|
}, |
|
skip$1: function(receiver, n) { |
|
return H.SubListIterable$(receiver, n, null, H.getTypeArgumentByIndex(receiver, 0)); |
|
}, |
|
fold$1$2: function(receiver, initialValue, combine) { |
|
var value, i, |
|
$length = receiver.length; |
|
for (value = initialValue, i = 0; i < $length; ++i) { |
|
value = combine.call$2(value, receiver[i]); |
|
if (receiver.length !== $length) |
|
throw H.wrapException(P.ConcurrentModificationError$(receiver)); |
|
} |
|
return value; |
|
}, |
|
fold$2: function($receiver, initialValue, combine) { |
|
return this.fold$1$2($receiver, initialValue, combine, null); |
|
}, |
|
firstWhere$2$orElse: function(receiver, test, orElse) { |
|
var i, element, |
|
end = receiver.length; |
|
for (i = 0; i < end; ++i) { |
|
element = receiver[i]; |
|
if (test.call$1(element)) |
|
return element; |
|
if (receiver.length !== end) |
|
throw H.wrapException(P.ConcurrentModificationError$(receiver)); |
|
} |
|
if (orElse != null) |
|
return orElse.call$0(); |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
}, |
|
lastWhere$2$orElse: function(receiver, test, orElse) { |
|
var i, element, |
|
$length = receiver.length; |
|
for (i = $length - 1; i >= 0; --i) { |
|
element = receiver[i]; |
|
if (test.call$1(element)) |
|
return element; |
|
if ($length !== receiver.length) |
|
throw H.wrapException(P.ConcurrentModificationError$(receiver)); |
|
} |
|
if (orElse != null) |
|
return orElse.call$0(); |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
}, |
|
elementAt$1: function(receiver, index) { |
|
return receiver[index]; |
|
}, |
|
sublist$2: function(receiver, start, end) { |
|
if (start < 0 || start > receiver.length) |
|
throw H.wrapException(P.RangeError$range(start, 0, receiver.length, "start", null)); |
|
if (end == null) |
|
end = receiver.length; |
|
else if (end < start || end > receiver.length) |
|
throw H.wrapException(P.RangeError$range(end, start, receiver.length, "end", null)); |
|
if (start === end) |
|
return H.setRuntimeTypeInfo([], [H.getTypeArgumentByIndex(receiver, 0)]); |
|
return H.setRuntimeTypeInfo(receiver.slice(start, end), [H.getTypeArgumentByIndex(receiver, 0)]); |
|
}, |
|
sublist$1: function($receiver, start) { |
|
return this.sublist$2($receiver, start, null); |
|
}, |
|
getRange$2: function(receiver, start, end) { |
|
P.RangeError_checkValidRange(start, end, receiver.length); |
|
return H.SubListIterable$(receiver, start, end, H.getTypeArgumentByIndex(receiver, 0)); |
|
}, |
|
get$first: function(receiver) { |
|
if (receiver.length > 0) |
|
return receiver[0]; |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
}, |
|
get$last: function(receiver) { |
|
var t1 = receiver.length; |
|
if (t1 > 0) |
|
return receiver[t1 - 1]; |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
}, |
|
get$single: function(receiver) { |
|
var t1 = receiver.length; |
|
if (t1 === 1) |
|
return receiver[0]; |
|
if (t1 === 0) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
throw H.wrapException(H.IterableElementError_tooMany()); |
|
}, |
|
removeRange$2: function(receiver, start, end) { |
|
if (!!receiver.fixed$length) |
|
H.throwExpression(P.UnsupportedError$("removeRange")); |
|
P.RangeError_checkValidRange(start, end, receiver.length); |
|
receiver.splice(start, end - start); |
|
}, |
|
setRange$4: function(receiver, start, end, iterable, skipCount) { |
|
var $length, t1, otherStart, otherList, i; |
|
if (!!receiver.immutable$list) |
|
H.throwExpression(P.UnsupportedError$("setRange")); |
|
P.RangeError_checkValidRange(start, end, receiver.length); |
|
$length = end - start; |
|
if ($length === 0) |
|
return; |
|
P.RangeError_checkNotNegative(skipCount, "skipCount"); |
|
t1 = J.getInterceptor$(iterable); |
|
if (!!t1.$isList) { |
|
otherStart = skipCount; |
|
otherList = iterable; |
|
} else { |
|
otherList = t1.skip$1(iterable, skipCount).toList$1$growable(0, false); |
|
otherStart = 0; |
|
} |
|
t1 = J.getInterceptor$asx(otherList); |
|
if (otherStart + $length > t1.get$length(otherList)) |
|
throw H.wrapException(H.IterableElementError_tooFew()); |
|
if (otherStart < start) |
|
for (i = $length - 1; i >= 0; --i) |
|
receiver[start + i] = t1.$index(otherList, otherStart + i); |
|
else |
|
for (i = 0; i < $length; ++i) |
|
receiver[start + i] = t1.$index(otherList, otherStart + i); |
|
}, |
|
setRange$3: function($receiver, start, end, iterable) { |
|
return this.setRange$4($receiver, start, end, iterable, 0); |
|
}, |
|
fillRange$3: function(receiver, start, end, fillValue) { |
|
var i; |
|
if (!!receiver.immutable$list) |
|
H.throwExpression(P.UnsupportedError$("fill range")); |
|
P.RangeError_checkValidRange(start, end, receiver.length); |
|
for (i = start; i < end; ++i) |
|
receiver[i] = fillValue; |
|
}, |
|
any$1: function(receiver, test) { |
|
var i, |
|
end = receiver.length; |
|
for (i = 0; i < end; ++i) { |
|
if (test.call$1(receiver[i])) |
|
return true; |
|
if (receiver.length !== end) |
|
throw H.wrapException(P.ConcurrentModificationError$(receiver)); |
|
} |
|
return false; |
|
}, |
|
every$1: function(receiver, test) { |
|
var i, |
|
end = receiver.length; |
|
for (i = 0; i < end; ++i) { |
|
if (!test.call$1(receiver[i])) |
|
return false; |
|
if (receiver.length !== end) |
|
throw H.wrapException(P.ConcurrentModificationError$(receiver)); |
|
} |
|
return true; |
|
}, |
|
get$reversed: function(receiver) { |
|
return new H.ReversedListIterable(receiver, [H.getTypeArgumentByIndex(receiver, 0)]); |
|
}, |
|
sort$1: function(receiver, compare) { |
|
if (!!receiver.immutable$list) |
|
H.throwExpression(P.UnsupportedError$("sort")); |
|
H.Sort_sort(receiver, compare == null ? J._interceptors_JSArray__compareAny$closure() : compare); |
|
}, |
|
sort$0: function($receiver) { |
|
return this.sort$1($receiver, null); |
|
}, |
|
indexOf$1: function(receiver, element) { |
|
var i; |
|
if (0 >= receiver.length) |
|
return -1; |
|
for (i = 0; i < receiver.length; ++i) |
|
if (J.$eq$(receiver[i], element)) |
|
return i; |
|
return -1; |
|
}, |
|
contains$1: function(receiver, other) { |
|
var i; |
|
for (i = 0; i < receiver.length; ++i) |
|
if (J.$eq$(receiver[i], other)) |
|
return true; |
|
return false; |
|
}, |
|
get$isEmpty: function(receiver) { |
|
return receiver.length === 0; |
|
}, |
|
get$isNotEmpty: function(receiver) { |
|
return receiver.length !== 0; |
|
}, |
|
toString$0: function(receiver) { |
|
return P.IterableBase_iterableToFullString(receiver, "[", "]"); |
|
}, |
|
toList$1$growable: function(receiver, growable) { |
|
var t1 = H.getTypeArgumentByIndex(receiver, 0); |
|
return growable ? H.setRuntimeTypeInfo(receiver.slice(0), [t1]) : J.JSArray_JSArray$markFixed(receiver.slice(0), t1); |
|
}, |
|
toList$0: function($receiver) { |
|
return this.toList$1$growable($receiver, true); |
|
}, |
|
toSet$0: function(receiver) { |
|
return P.LinkedHashSet_LinkedHashSet$from(receiver, H.getTypeArgumentByIndex(receiver, 0)); |
|
}, |
|
get$iterator: function(receiver) { |
|
return new J.ArrayIterator(receiver, receiver.length); |
|
}, |
|
get$hashCode: function(receiver) { |
|
return H.Primitives_objectHashCode(receiver); |
|
}, |
|
get$length: function(receiver) { |
|
return receiver.length; |
|
}, |
|
set$length: function(receiver, newLength) { |
|
if (!!receiver.fixed$length) |
|
H.throwExpression(P.UnsupportedError$("set length")); |
|
if (newLength < 0) |
|
throw H.wrapException(P.RangeError$range(newLength, 0, null, "newLength", null)); |
|
receiver.length = newLength; |
|
}, |
|
$index: function(receiver, index) { |
|
if (typeof index !== "number" || Math.floor(index) !== index) |
|
throw H.wrapException(H.diagnoseIndexError(receiver, index)); |
|
if (index >= receiver.length || index < 0) |
|
throw H.wrapException(H.diagnoseIndexError(receiver, index)); |
|
return receiver[index]; |
|
}, |
|
$indexSet: function(receiver, index, value) { |
|
if (!!receiver.immutable$list) |
|
H.throwExpression(P.UnsupportedError$("indexed set")); |
|
if (typeof index !== "number" || Math.floor(index) !== index) |
|
throw H.wrapException(H.diagnoseIndexError(receiver, index)); |
|
if (index >= receiver.length || index < 0) |
|
throw H.wrapException(H.diagnoseIndexError(receiver, index)); |
|
receiver[index] = value; |
|
}, |
|
$add: function(receiver, other) { |
|
var totalLength = receiver.length + other.length, |
|
t1 = H.setRuntimeTypeInfo([], [H.getTypeArgumentByIndex(receiver, 0)]); |
|
this.set$length(t1, totalLength); |
|
this.setRange$3(t1, 0, receiver.length, receiver); |
|
this.setRange$3(t1, receiver.length, totalLength, other); |
|
return t1; |
|
}, |
|
$isEfficientLengthIterable: 1, |
|
$isIterable: 1, |
|
$isList: 1 |
|
}; |
|
J.JSUnmodifiableArray.prototype = {}; |
|
J.ArrayIterator.prototype = { |
|
get$current: function(_) { |
|
return this._current; |
|
}, |
|
moveNext$0: function() { |
|
var t2, _this = this, |
|
t1 = _this._iterable, |
|
$length = t1.length; |
|
if (_this._length !== $length) |
|
throw H.wrapException(H.throwConcurrentModificationError(t1)); |
|
t2 = _this._index; |
|
if (t2 >= $length) { |
|
_this._current = null; |
|
return false; |
|
} |
|
_this._current = t1[t2]; |
|
_this._index = t2 + 1; |
|
return true; |
|
} |
|
}; |
|
J.JSNumber.prototype = { |
|
compareTo$1: function(receiver, b) { |
|
var bIsNegative; |
|
if (typeof b !== "number") |
|
throw H.wrapException(H.argumentErrorValue(b)); |
|
if (receiver < b) |
|
return -1; |
|
else if (receiver > b) |
|
return 1; |
|
else if (receiver === b) { |
|
if (receiver === 0) { |
|
bIsNegative = this.get$isNegative(b); |
|
if (this.get$isNegative(receiver) === bIsNegative) |
|
return 0; |
|
if (this.get$isNegative(receiver)) |
|
return -1; |
|
return 1; |
|
} |
|
return 0; |
|
} else if (isNaN(receiver)) { |
|
if (isNaN(b)) |
|
return 0; |
|
return 1; |
|
} else |
|
return -1; |
|
}, |
|
get$isNegative: function(receiver) { |
|
return receiver === 0 ? 1 / receiver < 0 : receiver < 0; |
|
}, |
|
ceil$0: function(receiver) { |
|
var truncated, d; |
|
if (receiver >= 0) { |
|
if (receiver <= 2147483647) { |
|
truncated = receiver | 0; |
|
return receiver === truncated ? truncated : truncated + 1; |
|
} |
|
} else if (receiver >= -2147483648) |
|
return receiver | 0; |
|
d = Math.ceil(receiver); |
|
if (isFinite(d)) |
|
return d; |
|
throw H.wrapException(P.UnsupportedError$("" + receiver + ".ceil()")); |
|
}, |
|
floor$0: function(receiver) { |
|
var truncated, d; |
|
if (receiver >= 0) { |
|
if (receiver <= 2147483647) |
|
return receiver | 0; |
|
} else if (receiver >= -2147483648) { |
|
truncated = receiver | 0; |
|
return receiver === truncated ? truncated : truncated - 1; |
|
} |
|
d = Math.floor(receiver); |
|
if (isFinite(d)) |
|
return d; |
|
throw H.wrapException(P.UnsupportedError$("" + receiver + ".floor()")); |
|
}, |
|
round$0: function(receiver) { |
|
if (receiver > 0) { |
|
if (receiver !== 1 / 0) |
|
return Math.round(receiver); |
|
} else if (receiver > -1 / 0) |
|
return 0 - Math.round(0 - receiver); |
|
throw H.wrapException(P.UnsupportedError$("" + receiver + ".round()")); |
|
}, |
|
clamp$2: function(receiver, lowerLimit, upperLimit) { |
|
if (C.JSInt_methods.compareTo$1(lowerLimit, upperLimit) > 0) |
|
throw H.wrapException(H.argumentErrorValue(lowerLimit)); |
|
if (this.compareTo$1(receiver, lowerLimit) < 0) |
|
return lowerLimit; |
|
if (this.compareTo$1(receiver, upperLimit) > 0) |
|
return upperLimit; |
|
return receiver; |
|
}, |
|
toRadixString$1: function(receiver, radix) { |
|
var result, match, exponent, t1; |
|
if (radix < 2 || radix > 36) |
|
throw H.wrapException(P.RangeError$range(radix, 2, 36, "radix", null)); |
|
result = receiver.toString(radix); |
|
if (C.JSString_methods.codeUnitAt$1(result, result.length - 1) !== 41) |
|
return result; |
|
match = /^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(result); |
|
if (match == null) |
|
H.throwExpression(P.UnsupportedError$("Unexpected toString result: " + result)); |
|
result = match[1]; |
|
exponent = +match[3]; |
|
t1 = match[2]; |
|
if (t1 != null) { |
|
result += t1; |
|
exponent -= t1.length; |
|
} |
|
return result + C.JSString_methods.$mul("0", exponent); |
|
}, |
|
toString$0: function(receiver) { |
|
if (receiver === 0 && 1 / receiver < 0) |
|
return "-0.0"; |
|
else |
|
return "" + receiver; |
|
}, |
|
get$hashCode: function(receiver) { |
|
var absolute, floorLog2, factor, scaled, |
|
intValue = receiver | 0; |
|
if (receiver === intValue) |
|
return 536870911 & intValue; |
|
absolute = Math.abs(receiver); |
|
floorLog2 = Math.log(absolute) / 0.6931471805599453 | 0; |
|
factor = Math.pow(2, floorLog2); |
|
scaled = absolute < 1 ? absolute / factor : factor / absolute; |
|
return 536870911 & ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259; |
|
}, |
|
$add: function(receiver, other) { |
|
if (typeof other !== "number") |
|
throw H.wrapException(H.argumentErrorValue(other)); |
|
return receiver + other; |
|
}, |
|
$mod: function(receiver, other) { |
|
var result = receiver % other; |
|
if (result === 0) |
|
return 0; |
|
if (result > 0) |
|
return result; |
|
if (other < 0) |
|
return result - other; |
|
else |
|
return result + other; |
|
}, |
|
$tdiv: function(receiver, other) { |
|
if ((receiver | 0) === receiver) |
|
if (other >= 1 || other < -1) |
|
return receiver / other | 0; |
|
return this._tdivSlow$1(receiver, other); |
|
}, |
|
_tdivFast$1: function(receiver, other) { |
|
return (receiver | 0) === receiver ? receiver / other | 0 : this._tdivSlow$1(receiver, other); |
|
}, |
|
_tdivSlow$1: function(receiver, other) { |
|
var quotient = receiver / other; |
|
if (quotient >= -2147483648 && quotient <= 2147483647) |
|
return quotient | 0; |
|
if (quotient > 0) { |
|
if (quotient !== 1 / 0) |
|
return Math.floor(quotient); |
|
} else if (quotient > -1 / 0) |
|
return Math.ceil(quotient); |
|
throw H.wrapException(P.UnsupportedError$("Result of truncating division is " + H.S(quotient) + ": " + H.S(receiver) + " ~/ " + other)); |
|
}, |
|
_shrOtherPositive$1: function(receiver, other) { |
|
var t1; |
|
if (receiver > 0) |
|
t1 = this._shrBothPositive$1(receiver, other); |
|
else { |
|
t1 = other > 31 ? 31 : other; |
|
t1 = receiver >> t1 >>> 0; |
|
} |
|
return t1; |
|
}, |
|
_shrReceiverPositive$1: function(receiver, other) { |
|
if (other < 0) |
|
throw H.wrapException(H.argumentErrorValue(other)); |
|
return this._shrBothPositive$1(receiver, other); |
|
}, |
|
_shrBothPositive$1: function(receiver, other) { |
|
return other > 31 ? 0 : receiver >>> other; |
|
}, |
|
$isComparable: 1, |
|
$asComparable: function() { |
|
return [P.num]; |
|
}, |
|
$isdouble: 1, |
|
$isnum: 1 |
|
}; |
|
J.JSInt.prototype = {$isint: 1}; |
|
J.JSDouble.prototype = {}; |
|
J.JSString.prototype = { |
|
codeUnitAt$1: function(receiver, index) { |
|
if (typeof index !== "number" || Math.floor(index) !== index) |
|
throw H.wrapException(H.diagnoseIndexError(receiver, index)); |
|
if (index < 0) |
|
throw H.wrapException(H.diagnoseIndexError(receiver, index)); |
|
if (index >= receiver.length) |
|
H.throwExpression(H.diagnoseIndexError(receiver, index)); |
|
return receiver.charCodeAt(index); |
|
}, |
|
_codeUnitAt$1: function(receiver, index) { |
|
if (index >= receiver.length) |
|
throw H.wrapException(H.diagnoseIndexError(receiver, index)); |
|
return receiver.charCodeAt(index); |
|
}, |
|
allMatches$2: function(receiver, string, start) { |
|
var t1; |
|
if (typeof string !== "string") |
|
H.throwExpression(H.argumentErrorValue(string)); |
|
t1 = string.length; |
|
if (start > t1) |
|
throw H.wrapException(P.RangeError$range(start, 0, t1, null, null)); |
|
return new H._StringAllMatchesIterable(string, receiver, start); |
|
}, |
|
allMatches$1: function($receiver, string) { |
|
return this.allMatches$2($receiver, string, 0); |
|
}, |
|
matchAsPrefix$2: function(receiver, string, start) { |
|
var t1, t2, i; |
|
if (start < 0 || start > string.length) |
|
throw H.wrapException(P.RangeError$range(start, 0, string.length, null, null)); |
|
t1 = receiver.length; |
|
if (start + t1 > string.length) |
|
return; |
|
for (t2 = J.getInterceptor$s(string), i = 0; i < t1; ++i) |
|
if (t2.codeUnitAt$1(string, start + i) !== this._codeUnitAt$1(receiver, i)) |
|
return; |
|
return new H.StringMatch(start, receiver); |
|
}, |
|
$add: function(receiver, other) { |
|
if (typeof other !== "string") |
|
throw H.wrapException(P.ArgumentError$value(other, null, null)); |
|
return receiver + other; |
|
}, |
|
endsWith$1: function(receiver, other) { |
|
var otherLength = other.length, |
|
t1 = receiver.length; |
|
if (otherLength > t1) |
|
return false; |
|
return other === this.substring$1(receiver, t1 - otherLength); |
|
}, |
|
replaceFirst$2: function(receiver, from, to) { |
|
P.RangeError_checkValueInInterval(0, 0, receiver.length, "startIndex"); |
|
return H.stringReplaceFirstUnchecked(receiver, from, to, 0); |
|
}, |
|
replaceRange$3: function(receiver, start, end, replacement) { |
|
if (typeof replacement !== "string") |
|
H.throwExpression(H.argumentErrorValue(replacement)); |
|
end = P.RangeError_checkValidRange(start, end, receiver.length); |
|
return H.stringReplaceRangeUnchecked(receiver, start, end, replacement); |
|
}, |
|
startsWith$2: function(receiver, pattern, index) { |
|
var endIndex; |
|
if (typeof index !== "number" || Math.floor(index) !== index) |
|
H.throwExpression(H.argumentErrorValue(index)); |
|
if (index < 0 || index > receiver.length) |
|
throw H.wrapException(P.RangeError$range(index, 0, receiver.length, null, null)); |
|
if (typeof pattern === "string") { |
|
endIndex = index + pattern.length; |
|
if (endIndex > receiver.length) |
|
return false; |
|
return pattern === receiver.substring(index, endIndex); |
|
} |
|
return J.matchAsPrefix$2$s(pattern, receiver, index) != null; |
|
}, |
|
startsWith$1: function($receiver, pattern) { |
|
return this.startsWith$2($receiver, pattern, 0); |
|
}, |
|
substring$2: function(receiver, startIndex, endIndex) { |
|
var _null = null; |
|
if (typeof startIndex !== "number" || Math.floor(startIndex) !== startIndex) |
|
H.throwExpression(H.argumentErrorValue(startIndex)); |
|
if (endIndex == null) |
|
endIndex = receiver.length; |
|
if (startIndex < 0) |
|
throw H.wrapException(P.RangeError$value(startIndex, _null, _null)); |
|
if (startIndex > endIndex) |
|
throw H.wrapException(P.RangeError$value(startIndex, _null, _null)); |
|
if (endIndex > receiver.length) |
|
throw H.wrapException(P.RangeError$value(endIndex, _null, _null)); |
|
return receiver.substring(startIndex, endIndex); |
|
}, |
|
substring$1: function($receiver, startIndex) { |
|
return this.substring$2($receiver, startIndex, null); |
|
}, |
|
trim$0: function(receiver) { |
|
var startIndex, t1, endIndex0, |
|
result = receiver.trim(), |
|
endIndex = result.length; |
|
if (endIndex === 0) |
|
return result; |
|
if (this._codeUnitAt$1(result, 0) === 133) { |
|
startIndex = J.JSString__skipLeadingWhitespace(result, 1); |
|
if (startIndex === endIndex) |
|
return ""; |
|
} else |
|
startIndex = 0; |
|
t1 = endIndex - 1; |
|
endIndex0 = this.codeUnitAt$1(result, t1) === 133 ? J.JSString__skipTrailingWhitespace(result, t1) : endIndex; |
|
if (startIndex === 0 && endIndex0 === endIndex) |
|
return result; |
|
return result.substring(startIndex, endIndex0); |
|
}, |
|
trimRight$0: function(receiver) { |
|
var result, endIndex, t1; |
|
if (typeof receiver.trimRight != "undefined") { |
|
result = receiver.trimRight(); |
|
endIndex = result.length; |
|
if (endIndex === 0) |
|
return result; |
|
t1 = endIndex - 1; |
|
if (this.codeUnitAt$1(result, t1) === 133) |
|
endIndex = J.JSString__skipTrailingWhitespace(result, t1); |
|
} else { |
|
endIndex = J.JSString__skipTrailingWhitespace(receiver, receiver.length); |
|
result = receiver; |
|
} |
|
if (endIndex === result.length) |
|
return result; |
|
if (endIndex === 0) |
|
return ""; |
|
return result.substring(0, endIndex); |
|
}, |
|
$mul: function(receiver, times) { |
|
var s, result; |
|
if (0 >= times) |
|
return ""; |
|
if (times === 1 || receiver.length === 0) |
|
return receiver; |
|
if (times !== times >>> 0) |
|
throw H.wrapException(C.C_OutOfMemoryError); |
|
for (s = receiver, result = ""; true;) { |
|
if ((times & 1) === 1) |
|
result = s + result; |
|
times = times >>> 1; |
|
if (times === 0) |
|
break; |
|
s += s; |
|
} |
|
return result; |
|
}, |
|
padLeft$2: function(receiver, width, padding) { |
|
var delta = width - receiver.length; |
|
if (delta <= 0) |
|
return receiver; |
|
return this.$mul(padding, delta) + receiver; |
|
}, |
|
padRight$1: function(receiver, width) { |
|
var delta = width - receiver.length; |
|
if (delta <= 0) |
|
return receiver; |
|
return receiver + this.$mul(" ", delta); |
|
}, |
|
indexOf$2: function(receiver, pattern, start) { |
|
var t1, t2, i; |
|
if (pattern == null) |
|
H.throwExpression(H.argumentErrorValue(pattern)); |
|
if (start < 0 || start > receiver.length) |
|
throw H.wrapException(P.RangeError$range(start, 0, receiver.length, null, null)); |
|
if (typeof pattern === "string") |
|
return receiver.indexOf(pattern, start); |
|
for (t1 = receiver.length, t2 = J.getInterceptor$s(pattern), i = start; i <= t1; ++i) |
|
if (t2.matchAsPrefix$2(pattern, receiver, i) != null) |
|
return i; |
|
return -1; |
|
}, |
|
indexOf$1: function($receiver, pattern) { |
|
return this.indexOf$2($receiver, pattern, 0); |
|
}, |
|
lastIndexOf$2: function(receiver, pattern, start) { |
|
var t1, t2, i; |
|
if (pattern == null) |
|
H.throwExpression(H.argumentErrorValue(pattern)); |
|
if (start == null) |
|
start = receiver.length; |
|
else if (start < 0 || start > receiver.length) |
|
throw H.wrapException(P.RangeError$range(start, 0, receiver.length, null, null)); |
|
if (typeof pattern === "string") { |
|
t1 = pattern.length; |
|
t2 = receiver.length; |
|
if (start + t1 > t2) |
|
start = t2 - t1; |
|
return receiver.lastIndexOf(pattern, start); |
|
} |
|
for (t1 = J.getInterceptor$s(pattern), i = start; i >= 0; --i) |
|
if (t1.matchAsPrefix$2(pattern, receiver, i) != null) |
|
return i; |
|
return -1; |
|
}, |
|
lastIndexOf$1: function($receiver, pattern) { |
|
return this.lastIndexOf$2($receiver, pattern, null); |
|
}, |
|
contains$2: function(receiver, other, startIndex) { |
|
var t1; |
|
if (other == null) |
|
H.throwExpression(H.argumentErrorValue(other)); |
|
t1 = receiver.length; |
|
if (startIndex > t1) |
|
throw H.wrapException(P.RangeError$range(startIndex, 0, t1, null, null)); |
|
return H.stringContainsUnchecked(receiver, other, startIndex); |
|
}, |
|
contains$1: function($receiver, other) { |
|
return this.contains$2($receiver, other, 0); |
|
}, |
|
get$isNotEmpty: function(receiver) { |
|
return receiver.length !== 0; |
|
}, |
|
compareTo$1: function(receiver, other) { |
|
var t1; |
|
if (typeof other !== "string") |
|
throw H.wrapException(H.argumentErrorValue(other)); |
|
if (receiver === other) |
|
t1 = 0; |
|
else |
|
t1 = receiver < other ? -1 : 1; |
|
return t1; |
|
}, |
|
toString$0: function(receiver) { |
|
return receiver; |
|
}, |
|
get$hashCode: function(receiver) { |
|
var t1, hash, i; |
|
for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) { |
|
hash = 536870911 & hash + receiver.charCodeAt(i); |
|
hash = 536870911 & hash + ((524287 & hash) << 10); |
|
hash ^= hash >> 6; |
|
} |
|
hash = 536870911 & hash + ((67108863 & hash) << 3); |
|
hash ^= hash >> 11; |
|
return 536870911 & hash + ((16383 & hash) << 15); |
|
}, |
|
get$length: function(receiver) { |
|
return receiver.length; |
|
}, |
|
$isComparable: 1, |
|
$asComparable: function() { |
|
return [P.String]; |
|
}, |
|
$isString: 1 |
|
}; |
|
H._CastIterableBase.prototype = { |
|
get$iterator: function(_) { |
|
return new H.CastIterator(J.get$iterator$ax(this.get$_source()), this.$ti); |
|
}, |
|
get$length: function(_) { |
|
return J.get$length$asx(this.get$_source()); |
|
}, |
|
get$isEmpty: function(_) { |
|
return J.get$isEmpty$asx(this.get$_source()); |
|
}, |
|
get$isNotEmpty: function(_) { |
|
return J.get$isNotEmpty$asx(this.get$_source()); |
|
}, |
|
skip$1: function(_, count) { |
|
return H.CastIterable_CastIterable(J.skip$1$ax(this.get$_source(), count), H.getTypeArgumentByIndex(this, 0), H.getTypeArgumentByIndex(this, 1)); |
|
}, |
|
take$1: function(_, count) { |
|
return H.CastIterable_CastIterable(J.take$1$ax(this.get$_source(), count), H.getTypeArgumentByIndex(this, 0), H.getTypeArgumentByIndex(this, 1)); |
|
}, |
|
elementAt$1: function(_, index) { |
|
return H.subtypeOfRuntimeTypeCast(J.elementAt$1$ax(this.get$_source(), index), H.getTypeArgumentByIndex(this, 1)); |
|
}, |
|
get$first: function(_) { |
|
return H.subtypeOfRuntimeTypeCast(J.get$first$ax(this.get$_source()), H.getTypeArgumentByIndex(this, 1)); |
|
}, |
|
get$last: function(_) { |
|
return H.subtypeOfRuntimeTypeCast(J.get$last$ax(this.get$_source()), H.getTypeArgumentByIndex(this, 1)); |
|
}, |
|
get$single: function(_) { |
|
return H.subtypeOfRuntimeTypeCast(J.get$single$ax(this.get$_source()), H.getTypeArgumentByIndex(this, 1)); |
|
}, |
|
contains$1: function(_, other) { |
|
return J.contains$1$asx(this.get$_source(), other); |
|
}, |
|
toString$0: function(_) { |
|
return J.toString$0$(this.get$_source()); |
|
}, |
|
$asIterable: function($S, $T) { |
|
return [$T]; |
|
} |
|
}; |
|
H.CastIterator.prototype = { |
|
moveNext$0: function() { |
|
return this._source.moveNext$0(); |
|
}, |
|
get$current: function(_) { |
|
var t1 = this._source; |
|
return H.subtypeOfRuntimeTypeCast(t1.get$current(t1), H.getTypeArgumentByIndex(this, 1)); |
|
} |
|
}; |
|
H.CastIterable.prototype = { |
|
cast$1$0: function(_, $R) { |
|
return H.CastIterable_CastIterable(this._source, H.getTypeArgumentByIndex(this, 0), $R); |
|
}, |
|
get$_source: function() { |
|
return this._source; |
|
} |
|
}; |
|
H._EfficientLengthCastIterable.prototype = {$isEfficientLengthIterable: 1, |
|
$asEfficientLengthIterable: function($S, $T) { |
|
return [$T]; |
|
} |
|
}; |
|
H._CastListBase.prototype = { |
|
$index: function(_, index) { |
|
return H.subtypeOfRuntimeTypeCast(J.$index$asx(this._source, index), H.getTypeArgumentByIndex(this, 1)); |
|
}, |
|
$indexSet: function(_, index, value) { |
|
J.$indexSet$ax(this._source, index, H.subtypeOfRuntimeTypeCast(value, H.getTypeArgumentByIndex(this, 0))); |
|
}, |
|
set$length: function(_, $length) { |
|
J.set$length$asx(this._source, $length); |
|
}, |
|
add$1: function(_, value) { |
|
J.add$1$ax(this._source, H.subtypeOfRuntimeTypeCast(value, H.getTypeArgumentByIndex(this, 0))); |
|
}, |
|
addAll$1: function(_, values) { |
|
J.addAll$1$ax(this._source, H.CastIterable_CastIterable(values, H.getTypeArgumentByIndex(this, 1), H.getTypeArgumentByIndex(this, 0))); |
|
}, |
|
sort$1: function(_, compare) { |
|
var t1 = compare == null ? null : new H._CastListBase_sort_closure(this, compare); |
|
J.sort$1$ax(this._source, t1); |
|
}, |
|
setRange$4: function(_, start, end, iterable, skipCount) { |
|
J.setRange$4$ax(this._source, start, end, H.CastIterable_CastIterable(iterable, H.getTypeArgumentByIndex(this, 1), H.getTypeArgumentByIndex(this, 0)), skipCount); |
|
}, |
|
fillRange$3: function(_, start, end, fillValue) { |
|
J.fillRange$3$ax(this._source, start, end, H.subtypeOfRuntimeTypeCast(fillValue, H.getTypeArgumentByIndex(this, 0))); |
|
}, |
|
$isEfficientLengthIterable: 1, |
|
$asEfficientLengthIterable: function($S, $T) { |
|
return [$T]; |
|
}, |
|
$asListMixin: function($S, $T) { |
|
return [$T]; |
|
}, |
|
$isList: 1, |
|
$asList: function($S, $T) { |
|
return [$T]; |
|
} |
|
}; |
|
H._CastListBase_sort_closure.prototype = { |
|
call$2: function(v1, v2) { |
|
var t1 = H.getTypeArgumentByIndex(this.$this, 1); |
|
return this.compare.call$2(H.subtypeOfRuntimeTypeCast(v1, t1), H.subtypeOfRuntimeTypeCast(v2, t1)); |
|
}, |
|
$signature: function() { |
|
var t1 = H.getTypeArgumentByIndex(this.$this, 0); |
|
return {func: 1, ret: P.int, args: [t1, t1]}; |
|
} |
|
}; |
|
H.CastList.prototype = { |
|
cast$1$0: function(_, $R) { |
|
return new H.CastList(this._source, [H.getTypeArgumentByIndex(this, 0), $R]); |
|
}, |
|
get$_source: function() { |
|
return this._source; |
|
} |
|
}; |
|
H.CastSet.prototype = { |
|
cast$1$0: function(_, $R) { |
|
return new H.CastSet(this._source, this._emptySet, [H.getTypeArgumentByIndex(this, 0), $R]); |
|
}, |
|
add$1: function(_, value) { |
|
return this._source.add$1(0, H.subtypeOfRuntimeTypeCast(value, H.getTypeArgumentByIndex(this, 0))); |
|
}, |
|
addAll$1: function(_, elements) { |
|
this._source.addAll$1(0, H.CastIterable_CastIterable(elements, H.getTypeArgumentByIndex(this, 1), H.getTypeArgumentByIndex(this, 0))); |
|
}, |
|
toSet$0: function(_) { |
|
var t1 = this._emptySet, |
|
result = t1 == null ? P.LinkedHashSet_LinkedHashSet(H.getTypeArgumentByIndex(this, 1)) : t1.call$0(); |
|
result.addAll$1(0, this); |
|
return result; |
|
}, |
|
$isEfficientLengthIterable: 1, |
|
$asEfficientLengthIterable: function($S, $T) { |
|
return [$T]; |
|
}, |
|
$isSet: 1, |
|
$asSet: function($S, $T) { |
|
return [$T]; |
|
}, |
|
get$_source: function() { |
|
return this._source; |
|
} |
|
}; |
|
H.CastQueue.prototype = { |
|
cast$1$0: function(_, $R) { |
|
return new H.CastQueue(this._source, [H.getTypeArgumentByIndex(this, 0), $R]); |
|
}, |
|
add$1: function(_, value) { |
|
this._source._collection$_add$1(H.subtypeOfRuntimeTypeCast(value, H.getTypeArgumentByIndex(this, 0))); |
|
}, |
|
$isEfficientLengthIterable: 1, |
|
$asEfficientLengthIterable: function($S, $T) { |
|
return [$T]; |
|
}, |
|
$isQueue: 1, |
|
$asQueue: function($S, $T) { |
|
return [$T]; |
|
}, |
|
get$_source: function() { |
|
return this._source; |
|
} |
|
}; |
|
H.CodeUnits.prototype = { |
|
get$length: function(_) { |
|
return this.__internal$_string.length; |
|
}, |
|
$index: function(_, i) { |
|
return C.JSString_methods.codeUnitAt$1(this.__internal$_string, i); |
|
}, |
|
$asEfficientLengthIterable: function() { |
|
return [P.int]; |
|
}, |
|
$asListMixin: function() { |
|
return [P.int]; |
|
}, |
|
$asIterable: function() { |
|
return [P.int]; |
|
}, |
|
$asList: function() { |
|
return [P.int]; |
|
} |
|
}; |
|
H.EfficientLengthIterable.prototype = {}; |
|
H.ListIterable.prototype = { |
|
get$iterator: function(_) { |
|
return new H.ListIterator(this, this.get$length(this)); |
|
}, |
|
get$isEmpty: function(_) { |
|
return this.get$length(this) === 0; |
|
}, |
|
get$first: function(_) { |
|
if (this.get$length(this) === 0) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
return this.elementAt$1(0, 0); |
|
}, |
|
get$last: function(_) { |
|
var _this = this; |
|
if (_this.get$length(_this) === 0) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
return _this.elementAt$1(0, _this.get$length(_this) - 1); |
|
}, |
|
get$single: function(_) { |
|
var _this = this; |
|
if (_this.get$length(_this) === 0) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
if (_this.get$length(_this) > 1) |
|
throw H.wrapException(H.IterableElementError_tooMany()); |
|
return _this.elementAt$1(0, 0); |
|
}, |
|
contains$1: function(_, element) { |
|
var i, _this = this, |
|
$length = _this.get$length(_this); |
|
for (i = 0; i < $length; ++i) { |
|
if (J.$eq$(_this.elementAt$1(0, i), element)) |
|
return true; |
|
if ($length !== _this.get$length(_this)) |
|
throw H.wrapException(P.ConcurrentModificationError$(_this)); |
|
} |
|
return false; |
|
}, |
|
any$1: function(_, test) { |
|
var i, _this = this, |
|
$length = _this.get$length(_this); |
|
for (i = 0; i < $length; ++i) { |
|
if (test.call$1(_this.elementAt$1(0, i))) |
|
return true; |
|
if ($length !== _this.get$length(_this)) |
|
throw H.wrapException(P.ConcurrentModificationError$(_this)); |
|
} |
|
return false; |
|
}, |
|
join$1: function(_, separator) { |
|
var first, t1, i, _this = this, |
|
$length = _this.get$length(_this); |
|
if (separator.length !== 0) { |
|
if ($length === 0) |
|
return ""; |
|
first = H.S(_this.elementAt$1(0, 0)); |
|
if ($length !== _this.get$length(_this)) |
|
throw H.wrapException(P.ConcurrentModificationError$(_this)); |
|
for (t1 = first, i = 1; i < $length; ++i) { |
|
t1 = t1 + separator + H.S(_this.elementAt$1(0, i)); |
|
if ($length !== _this.get$length(_this)) |
|
throw H.wrapException(P.ConcurrentModificationError$(_this)); |
|
} |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
} else { |
|
for (i = 0, t1 = ""; i < $length; ++i) { |
|
t1 += H.S(_this.elementAt$1(0, i)); |
|
if ($length !== _this.get$length(_this)) |
|
throw H.wrapException(P.ConcurrentModificationError$(_this)); |
|
} |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
} |
|
}, |
|
join$0: function($receiver) { |
|
return this.join$1($receiver, ""); |
|
}, |
|
where$1: function(_, test) { |
|
return this.super$Iterable$where(0, test); |
|
}, |
|
map$1$1: function(_, f, $T) { |
|
return new H.MappedListIterable(this, f, [H.getRuntimeTypeArgument(this, "ListIterable", 0), $T]); |
|
}, |
|
reduce$1: function(_, combine) { |
|
var value, i, _this = this, |
|
$length = _this.get$length(_this); |
|
if ($length === 0) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
value = _this.elementAt$1(0, 0); |
|
for (i = 1; i < $length; ++i) { |
|
value = combine.call$2(value, _this.elementAt$1(0, i)); |
|
if ($length !== _this.get$length(_this)) |
|
throw H.wrapException(P.ConcurrentModificationError$(_this)); |
|
} |
|
return value; |
|
}, |
|
fold$1$2: function(_, initialValue, combine) { |
|
var value, i, _this = this, |
|
$length = _this.get$length(_this); |
|
for (value = initialValue, i = 0; i < $length; ++i) { |
|
value = combine.call$2(value, _this.elementAt$1(0, i)); |
|
if ($length !== _this.get$length(_this)) |
|
throw H.wrapException(P.ConcurrentModificationError$(_this)); |
|
} |
|
return value; |
|
}, |
|
fold$2: function($receiver, initialValue, combine) { |
|
return this.fold$1$2($receiver, initialValue, combine, null); |
|
}, |
|
skip$1: function(_, count) { |
|
return H.SubListIterable$(this, count, null, H.getRuntimeTypeArgument(this, "ListIterable", 0)); |
|
}, |
|
take$1: function(_, count) { |
|
return H.SubListIterable$(this, 0, count, H.getRuntimeTypeArgument(this, "ListIterable", 0)); |
|
}, |
|
toList$1$growable: function(_, growable) { |
|
var result, t2, i, _this = this, |
|
t1 = H.getRuntimeTypeArgument(_this, "ListIterable", 0); |
|
if (growable) { |
|
result = H.setRuntimeTypeInfo([], [t1]); |
|
C.JSArray_methods.set$length(result, _this.get$length(_this)); |
|
} else { |
|
t2 = new Array(_this.get$length(_this)); |
|
t2.fixed$length = Array; |
|
result = H.setRuntimeTypeInfo(t2, [t1]); |
|
} |
|
for (i = 0; i < _this.get$length(_this); ++i) |
|
result[i] = _this.elementAt$1(0, i); |
|
return result; |
|
}, |
|
toList$0: function($receiver) { |
|
return this.toList$1$growable($receiver, true); |
|
}, |
|
toSet$0: function(_) { |
|
var i, _this = this, |
|
result = P.LinkedHashSet_LinkedHashSet(H.getRuntimeTypeArgument(_this, "ListIterable", 0)); |
|
for (i = 0; i < _this.get$length(_this); ++i) |
|
result.add$1(0, _this.elementAt$1(0, i)); |
|
return result; |
|
} |
|
}; |
|
H.SubListIterable.prototype = { |
|
get$_endIndex: function() { |
|
var $length = J.get$length$asx(this.__internal$_iterable), |
|
t1 = this._endOrLength; |
|
if (t1 == null || t1 > $length) |
|
return $length; |
|
return t1; |
|
}, |
|
get$_startIndex: function() { |
|
var $length = J.get$length$asx(this.__internal$_iterable), |
|
t1 = this.__internal$_start; |
|
if (t1 > $length) |
|
return $length; |
|
return t1; |
|
}, |
|
get$length: function(_) { |
|
var t2, |
|
$length = J.get$length$asx(this.__internal$_iterable), |
|
t1 = this.__internal$_start; |
|
if (t1 >= $length) |
|
return 0; |
|
t2 = this._endOrLength; |
|
if (t2 == null || t2 >= $length) |
|
return $length - t1; |
|
return t2 - t1; |
|
}, |
|
elementAt$1: function(_, index) { |
|
var _this = this, |
|
realIndex = _this.get$_startIndex() + index; |
|
if (index < 0 || realIndex >= _this.get$_endIndex()) |
|
throw H.wrapException(P.IndexError$(index, _this, "index", null, null)); |
|
return J.elementAt$1$ax(_this.__internal$_iterable, realIndex); |
|
}, |
|
skip$1: function(_, count) { |
|
var newStart, t1, _this = this; |
|
P.RangeError_checkNotNegative(count, "count"); |
|
newStart = _this.__internal$_start + count; |
|
t1 = _this._endOrLength; |
|
if (t1 != null && newStart >= t1) |
|
return new H.EmptyIterable(_this.$ti); |
|
return H.SubListIterable$(_this.__internal$_iterable, newStart, t1, H.getTypeArgumentByIndex(_this, 0)); |
|
}, |
|
take$1: function(_, count) { |
|
var t1, t2, newEnd, _this = this; |
|
P.RangeError_checkNotNegative(count, "count"); |
|
t1 = _this._endOrLength; |
|
t2 = _this.__internal$_start; |
|
if (t1 == null) |
|
return H.SubListIterable$(_this.__internal$_iterable, t2, t2 + count, H.getTypeArgumentByIndex(_this, 0)); |
|
else { |
|
newEnd = t2 + count; |
|
if (t1 < newEnd) |
|
return _this; |
|
return H.SubListIterable$(_this.__internal$_iterable, t2, newEnd, H.getTypeArgumentByIndex(_this, 0)); |
|
} |
|
}, |
|
toList$1$growable: function(_, growable) { |
|
var $length, t3, result, t4, i, _this = this, |
|
start = _this.__internal$_start, |
|
t1 = _this.__internal$_iterable, |
|
t2 = J.getInterceptor$asx(t1), |
|
end = t2.get$length(t1), |
|
end0 = _this._endOrLength; |
|
if (end0 != null && end0 < end) |
|
end = end0; |
|
$length = end - start; |
|
if ($length < 0) |
|
$length = 0; |
|
t3 = _this.$ti; |
|
if (growable) { |
|
result = H.setRuntimeTypeInfo([], t3); |
|
C.JSArray_methods.set$length(result, $length); |
|
} else { |
|
t4 = new Array($length); |
|
t4.fixed$length = Array; |
|
result = H.setRuntimeTypeInfo(t4, t3); |
|
} |
|
for (i = 0; i < $length; ++i) { |
|
result[i] = t2.elementAt$1(t1, start + i); |
|
if (t2.get$length(t1) < end) |
|
throw H.wrapException(P.ConcurrentModificationError$(_this)); |
|
} |
|
return result; |
|
}, |
|
toList$0: function($receiver) { |
|
return this.toList$1$growable($receiver, true); |
|
} |
|
}; |
|
H.ListIterator.prototype = { |
|
get$current: function(_) { |
|
return this.__internal$_current; |
|
}, |
|
moveNext$0: function() { |
|
var t3, _this = this, |
|
t1 = _this.__internal$_iterable, |
|
t2 = J.getInterceptor$asx(t1), |
|
$length = t2.get$length(t1); |
|
if (_this.__internal$_length !== $length) |
|
throw H.wrapException(P.ConcurrentModificationError$(t1)); |
|
t3 = _this.__internal$_index; |
|
if (t3 >= $length) { |
|
_this.__internal$_current = null; |
|
return false; |
|
} |
|
_this.__internal$_current = t2.elementAt$1(t1, t3); |
|
++_this.__internal$_index; |
|
return true; |
|
} |
|
}; |
|
H.MappedIterable.prototype = { |
|
get$iterator: function(_) { |
|
return new H.MappedIterator(J.get$iterator$ax(this.__internal$_iterable), this._f); |
|
}, |
|
get$length: function(_) { |
|
return J.get$length$asx(this.__internal$_iterable); |
|
}, |
|
get$isEmpty: function(_) { |
|
return J.get$isEmpty$asx(this.__internal$_iterable); |
|
}, |
|
get$first: function(_) { |
|
return this._f.call$1(J.get$first$ax(this.__internal$_iterable)); |
|
}, |
|
get$last: function(_) { |
|
return this._f.call$1(J.get$last$ax(this.__internal$_iterable)); |
|
}, |
|
get$single: function(_) { |
|
return this._f.call$1(J.get$single$ax(this.__internal$_iterable)); |
|
}, |
|
elementAt$1: function(_, index) { |
|
return this._f.call$1(J.elementAt$1$ax(this.__internal$_iterable, index)); |
|
}, |
|
$asIterable: function($S, $T) { |
|
return [$T]; |
|
} |
|
}; |
|
H.EfficientLengthMappedIterable.prototype = {$isEfficientLengthIterable: 1, |
|
$asEfficientLengthIterable: function($S, $T) { |
|
return [$T]; |
|
} |
|
}; |
|
H.MappedIterator.prototype = { |
|
moveNext$0: function() { |
|
var _this = this, |
|
t1 = _this._iterator; |
|
if (t1.moveNext$0()) { |
|
_this.__internal$_current = _this._f.call$1(t1.get$current(t1)); |
|
return true; |
|
} |
|
_this.__internal$_current = null; |
|
return false; |
|
}, |
|
get$current: function(_) { |
|
return this.__internal$_current; |
|
} |
|
}; |
|
H.MappedListIterable.prototype = { |
|
get$length: function(_) { |
|
return J.get$length$asx(this._source); |
|
}, |
|
elementAt$1: function(_, index) { |
|
return this._f.call$1(J.elementAt$1$ax(this._source, index)); |
|
}, |
|
$asEfficientLengthIterable: function($S, $T) { |
|
return [$T]; |
|
}, |
|
$asListIterable: function($S, $T) { |
|
return [$T]; |
|
}, |
|
$asIterable: function($S, $T) { |
|
return [$T]; |
|
} |
|
}; |
|
H.WhereIterable.prototype = { |
|
get$iterator: function(_) { |
|
return new H.WhereIterator(J.get$iterator$ax(this.__internal$_iterable), this._f); |
|
}, |
|
map$1$1: function(_, f, $T) { |
|
return new H.MappedIterable(this, f, [H.getTypeArgumentByIndex(this, 0), $T]); |
|
} |
|
}; |
|
H.WhereIterator.prototype = { |
|
moveNext$0: function() { |
|
var t1, t2; |
|
for (t1 = this._iterator, t2 = this._f; t1.moveNext$0();) |
|
if (t2.call$1(t1.get$current(t1))) |
|
return true; |
|
return false; |
|
}, |
|
get$current: function(_) { |
|
var t1 = this._iterator; |
|
return t1.get$current(t1); |
|
} |
|
}; |
|
H.ExpandIterable.prototype = { |
|
get$iterator: function(_) { |
|
return new H.ExpandIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, C.C_EmptyIterator); |
|
}, |
|
$asIterable: function($S, $T) { |
|
return [$T]; |
|
} |
|
}; |
|
H.ExpandIterator.prototype = { |
|
get$current: function(_) { |
|
return this.__internal$_current; |
|
}, |
|
moveNext$0: function() { |
|
var t2, t3, _this = this, |
|
t1 = _this._currentExpansion; |
|
if (t1 == null) |
|
return false; |
|
for (t2 = _this._iterator, t3 = _this._f; !t1.moveNext$0();) { |
|
_this.__internal$_current = null; |
|
if (t2.moveNext$0()) { |
|
_this._currentExpansion = null; |
|
t1 = J.get$iterator$ax(t3.call$1(t2.get$current(t2))); |
|
_this._currentExpansion = t1; |
|
} else |
|
return false; |
|
} |
|
t1 = _this._currentExpansion; |
|
_this.__internal$_current = t1.get$current(t1); |
|
return true; |
|
} |
|
}; |
|
H.TakeIterable.prototype = { |
|
get$iterator: function(_) { |
|
return new H.TakeIterator(J.get$iterator$ax(this.__internal$_iterable), this._takeCount); |
|
} |
|
}; |
|
H.EfficientLengthTakeIterable.prototype = { |
|
get$length: function(_) { |
|
var iterableLength = J.get$length$asx(this.__internal$_iterable), |
|
t1 = this._takeCount; |
|
if (iterableLength > t1) |
|
return t1; |
|
return iterableLength; |
|
}, |
|
$isEfficientLengthIterable: 1 |
|
}; |
|
H.TakeIterator.prototype = { |
|
moveNext$0: function() { |
|
if (--this._remaining >= 0) |
|
return this._iterator.moveNext$0(); |
|
this._remaining = -1; |
|
return false; |
|
}, |
|
get$current: function(_) { |
|
var t1; |
|
if (this._remaining < 0) |
|
return; |
|
t1 = this._iterator; |
|
return t1.get$current(t1); |
|
} |
|
}; |
|
H.SkipIterable.prototype = { |
|
skip$1: function(_, count) { |
|
if (count == null) |
|
H.throwExpression(P.ArgumentError$notNull("count")); |
|
P.RangeError_checkNotNegative(count, "count"); |
|
return new H.SkipIterable(this.__internal$_iterable, this._skipCount + count, this.$ti); |
|
}, |
|
get$iterator: function(_) { |
|
return new H.SkipIterator(J.get$iterator$ax(this.__internal$_iterable), this._skipCount); |
|
} |
|
}; |
|
H.EfficientLengthSkipIterable.prototype = { |
|
get$length: function(_) { |
|
var $length = J.get$length$asx(this.__internal$_iterable) - this._skipCount; |
|
if ($length >= 0) |
|
return $length; |
|
return 0; |
|
}, |
|
skip$1: function(_, count) { |
|
if (count == null) |
|
H.throwExpression(P.ArgumentError$notNull("count")); |
|
P.RangeError_checkNotNegative(count, "count"); |
|
return new H.EfficientLengthSkipIterable(this.__internal$_iterable, this._skipCount + count, this.$ti); |
|
}, |
|
$isEfficientLengthIterable: 1 |
|
}; |
|
H.SkipIterator.prototype = { |
|
moveNext$0: function() { |
|
var t1, i; |
|
for (t1 = this._iterator, i = 0; i < this._skipCount; ++i) |
|
t1.moveNext$0(); |
|
this._skipCount = 0; |
|
return t1.moveNext$0(); |
|
}, |
|
get$current: function(_) { |
|
var t1 = this._iterator; |
|
return t1.get$current(t1); |
|
} |
|
}; |
|
H.SkipWhileIterable.prototype = { |
|
get$iterator: function(_) { |
|
return new H.SkipWhileIterator(J.get$iterator$ax(this.__internal$_iterable), this._f); |
|
} |
|
}; |
|
H.SkipWhileIterator.prototype = { |
|
moveNext$0: function() { |
|
var t1, t2, _this = this; |
|
if (!_this._hasSkipped) { |
|
_this._hasSkipped = true; |
|
for (t1 = _this._iterator, t2 = _this._f; t1.moveNext$0();) |
|
if (!t2.call$1(t1.get$current(t1))) |
|
return true; |
|
} |
|
return _this._iterator.moveNext$0(); |
|
}, |
|
get$current: function(_) { |
|
var t1 = this._iterator; |
|
return t1.get$current(t1); |
|
} |
|
}; |
|
H.EmptyIterable.prototype = { |
|
get$iterator: function(_) { |
|
return C.C_EmptyIterator; |
|
}, |
|
get$isEmpty: function(_) { |
|
return true; |
|
}, |
|
get$length: function(_) { |
|
return 0; |
|
}, |
|
get$first: function(_) { |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
}, |
|
get$last: function(_) { |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
}, |
|
get$single: function(_) { |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
}, |
|
elementAt$1: function(_, index) { |
|
throw H.wrapException(P.RangeError$range(index, 0, 0, "index", null)); |
|
}, |
|
contains$1: function(_, element) { |
|
return false; |
|
}, |
|
join$1: function(_, separator) { |
|
return ""; |
|
}, |
|
join$0: function($receiver) { |
|
return this.join$1($receiver, ""); |
|
}, |
|
where$1: function(_, test) { |
|
return this; |
|
}, |
|
map$1$1: function(_, f, $T) { |
|
return new H.EmptyIterable([$T]); |
|
}, |
|
skip$1: function(_, count) { |
|
P.RangeError_checkNotNegative(count, "count"); |
|
return this; |
|
}, |
|
take$1: function(_, count) { |
|
P.RangeError_checkNotNegative(count, "count"); |
|
return this; |
|
}, |
|
toList$1$growable: function(_, growable) { |
|
var t2, |
|
t1 = this.$ti; |
|
if (growable) |
|
t1 = H.setRuntimeTypeInfo([], t1); |
|
else { |
|
t2 = new Array(0); |
|
t2.fixed$length = Array; |
|
t1 = H.setRuntimeTypeInfo(t2, t1); |
|
} |
|
return t1; |
|
}, |
|
toList$0: function($receiver) { |
|
return this.toList$1$growable($receiver, true); |
|
}, |
|
toSet$0: function(_) { |
|
return P.LinkedHashSet_LinkedHashSet(H.getTypeArgumentByIndex(this, 0)); |
|
} |
|
}; |
|
H.EmptyIterator.prototype = { |
|
moveNext$0: function() { |
|
return false; |
|
}, |
|
get$current: function(_) { |
|
return; |
|
} |
|
}; |
|
H.FollowedByIterable.prototype = { |
|
get$iterator: function(_) { |
|
return new H.FollowedByIterator(J.get$iterator$ax(this.__internal$_first), this._second); |
|
}, |
|
get$length: function(_) { |
|
var t1 = this._second; |
|
return J.get$length$asx(this.__internal$_first) + t1.get$length(t1); |
|
}, |
|
get$isEmpty: function(_) { |
|
var t1; |
|
if (J.get$isEmpty$asx(this.__internal$_first)) { |
|
t1 = this._second; |
|
t1 = t1.get$isEmpty(t1); |
|
} else |
|
t1 = false; |
|
return t1; |
|
}, |
|
get$isNotEmpty: function(_) { |
|
var t1; |
|
if (!J.get$isNotEmpty$asx(this.__internal$_first)) { |
|
t1 = this._second; |
|
t1 = t1.get$isNotEmpty(t1); |
|
} else |
|
t1 = true; |
|
return t1; |
|
}, |
|
contains$1: function(_, value) { |
|
var t1; |
|
if (!J.contains$1$asx(this.__internal$_first, value)) { |
|
t1 = this._second; |
|
t1 = t1.contains$1(t1, value); |
|
} else |
|
t1 = true; |
|
return t1; |
|
}, |
|
get$first: function(_) { |
|
var t1, |
|
iterator = J.get$iterator$ax(this.__internal$_first); |
|
if (iterator.moveNext$0()) |
|
return iterator.get$current(iterator); |
|
t1 = this._second; |
|
return t1.get$first(t1); |
|
}, |
|
get$last: function(_) { |
|
var last, |
|
t1 = this._second, |
|
iterator = t1.get$iterator(t1); |
|
if (iterator.moveNext$0()) { |
|
last = iterator.get$current(iterator); |
|
for (; iterator.moveNext$0();) |
|
last = iterator.get$current(iterator); |
|
return last; |
|
} |
|
return J.get$last$ax(this.__internal$_first); |
|
} |
|
}; |
|
H.EfficientLengthFollowedByIterable.prototype = { |
|
skip$1: function(_, count) { |
|
var _this = this, |
|
t1 = _this.__internal$_first, |
|
t2 = J.getInterceptor$asx(t1), |
|
firstLength = t2.get$length(t1); |
|
if (count >= firstLength) { |
|
t1 = _this._second; |
|
return t1.skip$1(t1, count - firstLength); |
|
} |
|
return new H.EfficientLengthFollowedByIterable(t2.skip$1(t1, count), _this._second, _this.$ti); |
|
}, |
|
take$1: function(_, count) { |
|
var t1 = this.__internal$_first, |
|
t2 = J.getInterceptor$asx(t1), |
|
firstLength = t2.get$length(t1); |
|
if (count <= firstLength) |
|
return t2.take$1(t1, count); |
|
t2 = this._second; |
|
return new H.EfficientLengthFollowedByIterable(t1, t2.take$1(t2, count - firstLength), this.$ti); |
|
}, |
|
elementAt$1: function(_, index) { |
|
var t1 = this.__internal$_first, |
|
t2 = J.getInterceptor$asx(t1), |
|
firstLength = t2.get$length(t1); |
|
if (index < firstLength) |
|
return t2.elementAt$1(t1, index); |
|
t1 = this._second; |
|
return t1.elementAt$1(t1, index - firstLength); |
|
}, |
|
get$first: function(_) { |
|
var t1 = this.__internal$_first, |
|
t2 = J.getInterceptor$asx(t1); |
|
if (t2.get$isNotEmpty(t1)) |
|
return t2.get$first(t1); |
|
t1 = this._second; |
|
return t1.get$first(t1); |
|
}, |
|
get$last: function(_) { |
|
var t1 = this._second; |
|
if (t1.get$isNotEmpty(t1)) |
|
return t1.get$last(t1); |
|
return J.get$last$ax(this.__internal$_first); |
|
}, |
|
$isEfficientLengthIterable: 1 |
|
}; |
|
H.FollowedByIterator.prototype = { |
|
moveNext$0: function() { |
|
var t1, _this = this; |
|
if (_this._currentIterator.moveNext$0()) |
|
return true; |
|
t1 = _this._nextIterable; |
|
if (t1 != null) { |
|
t1 = t1.get$iterator(t1); |
|
_this._currentIterator = t1; |
|
_this._nextIterable = null; |
|
return t1.moveNext$0(); |
|
} |
|
return false; |
|
}, |
|
get$current: function(_) { |
|
var t1 = this._currentIterator; |
|
return t1.get$current(t1); |
|
} |
|
}; |
|
H.WhereTypeIterable.prototype = { |
|
get$iterator: function(_) { |
|
return new H.WhereTypeIterator(J.get$iterator$ax(this._source), this.$ti); |
|
} |
|
}; |
|
H.WhereTypeIterator.prototype = { |
|
moveNext$0: function() { |
|
var t1, t2, t3; |
|
for (t1 = this._source, t2 = H.getTypeArgumentByIndex(this, 0); t1.moveNext$0();) { |
|
t3 = t1.get$current(t1); |
|
if (H.checkSubtypeOfRuntimeType(t3, t2)) |
|
return true; |
|
} |
|
return false; |
|
}, |
|
get$current: function(_) { |
|
var t1 = this._source; |
|
return t1.get$current(t1); |
|
} |
|
}; |
|
H.FixedLengthListMixin.prototype = { |
|
set$length: function(receiver, newLength) { |
|
throw H.wrapException(P.UnsupportedError$("Cannot change the length of a fixed-length list")); |
|
}, |
|
add$1: function(receiver, value) { |
|
throw H.wrapException(P.UnsupportedError$("Cannot add to a fixed-length list")); |
|
}, |
|
addAll$1: function(receiver, iterable) { |
|
throw H.wrapException(P.UnsupportedError$("Cannot add to a fixed-length list")); |
|
} |
|
}; |
|
H.UnmodifiableListMixin.prototype = { |
|
$indexSet: function(_, index, value) { |
|
throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable list")); |
|
}, |
|
set$length: function(_, newLength) { |
|
throw H.wrapException(P.UnsupportedError$("Cannot change the length of an unmodifiable list")); |
|
}, |
|
add$1: function(_, value) { |
|
throw H.wrapException(P.UnsupportedError$("Cannot add to an unmodifiable list")); |
|
}, |
|
addAll$1: function(_, iterable) { |
|
throw H.wrapException(P.UnsupportedError$("Cannot add to an unmodifiable list")); |
|
}, |
|
sort$1: function(_, compare) { |
|
throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable list")); |
|
}, |
|
setRange$4: function(_, start, end, iterable, skipCount) { |
|
throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable list")); |
|
}, |
|
fillRange$3: function(_, start, end, fillValue) { |
|
throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable list")); |
|
} |
|
}; |
|
H.UnmodifiableListBase.prototype = {}; |
|
H.ReversedListIterable.prototype = { |
|
get$length: function(_) { |
|
return J.get$length$asx(this._source); |
|
}, |
|
elementAt$1: function(_, index) { |
|
var t1 = this._source, |
|
t2 = J.getInterceptor$asx(t1); |
|
return t2.elementAt$1(t1, t2.get$length(t1) - 1 - index); |
|
} |
|
}; |
|
H.Symbol.prototype = { |
|
get$hashCode: function(_) { |
|
var hash = this._hashCode; |
|
if (hash != null) |
|
return hash; |
|
hash = 536870911 & 664597 * J.get$hashCode$(this.__internal$_name); |
|
this._hashCode = hash; |
|
return hash; |
|
}, |
|
toString$0: function(_) { |
|
return 'Symbol("' + H.S(this.__internal$_name) + '")'; |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof H.Symbol && this.__internal$_name == other.__internal$_name; |
|
}, |
|
$isSymbol0: 1 |
|
}; |
|
H.__CastListBase__CastIterableBase_ListMixin.prototype = {}; |
|
H.ConstantMapView.prototype = {}; |
|
H.ConstantMap.prototype = { |
|
get$isEmpty: function(_) { |
|
return this.get$length(this) === 0; |
|
}, |
|
get$isNotEmpty: function(_) { |
|
return this.get$length(this) !== 0; |
|
}, |
|
toString$0: function(_) { |
|
return P.MapBase_mapToString(this); |
|
}, |
|
$indexSet: function(_, key, val) { |
|
return H.ConstantMap__throwUnmodifiable(); |
|
}, |
|
putIfAbsent$2: function(key, ifAbsent) { |
|
return H.ConstantMap__throwUnmodifiable(); |
|
}, |
|
remove$1: function(_, key) { |
|
return H.ConstantMap__throwUnmodifiable(); |
|
}, |
|
addAll$1: function(_, other) { |
|
return H.ConstantMap__throwUnmodifiable(); |
|
}, |
|
get$entries: function() { |
|
return this.entries$body$ConstantMap([P.MapEntry, H.getTypeArgumentByIndex(this, 0), H.getTypeArgumentByIndex(this, 1)]); |
|
}, |
|
entries$body$ConstantMap: function($async$type) { |
|
var $async$self = this; |
|
return P._makeSyncStarIterable(function() { |
|
var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, key; |
|
return function $async$get$entries($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) { |
|
$async$currentError = $async$result; |
|
$async$goto = $async$handler; |
|
} |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.get$keys(), t1 = t1.get$iterator(t1), t2 = $async$self.$ti; |
|
case 2: |
|
// for condition |
|
if (!t1.moveNext$0()) { |
|
// goto after for |
|
$async$goto = 3; |
|
break; |
|
} |
|
key = t1.get$current(t1); |
|
$async$goto = 4; |
|
return new P.MapEntry(key, $async$self.$index(0, key), t2); |
|
case 4: |
|
// after yield |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
case 3: |
|
// after for |
|
// implicit return |
|
return P._IterationMarker_endOfIteration(); |
|
case 1: |
|
// rethrow |
|
return P._IterationMarker_uncaughtError($async$currentError); |
|
} |
|
}; |
|
}, $async$type); |
|
}, |
|
$isMap: 1 |
|
}; |
|
H.ConstantStringMap.prototype = { |
|
get$length: function(_) { |
|
return this.__js_helper$_length; |
|
}, |
|
containsKey$1: function(key) { |
|
if (typeof key !== "string") |
|
return false; |
|
if ("__proto__" === key) |
|
return false; |
|
return this._jsObject.hasOwnProperty(key); |
|
}, |
|
$index: function(_, key) { |
|
if (!this.containsKey$1(key)) |
|
return; |
|
return this._fetch$1(key); |
|
}, |
|
_fetch$1: function(key) { |
|
return this._jsObject[key]; |
|
}, |
|
forEach$1: function(_, f) { |
|
var t1, i, key, |
|
keys = this._keys; |
|
for (t1 = keys.length, i = 0; i < t1; ++i) { |
|
key = keys[i]; |
|
f.call$2(key, this._fetch$1(key)); |
|
} |
|
}, |
|
get$keys: function() { |
|
return new H._ConstantMapKeyIterable(this, [H.getTypeArgumentByIndex(this, 0)]); |
|
}, |
|
get$values: function() { |
|
var _this = this; |
|
return H.MappedIterable_MappedIterable(_this._keys, new H.ConstantStringMap_values_closure(_this), H.getTypeArgumentByIndex(_this, 0), H.getTypeArgumentByIndex(_this, 1)); |
|
} |
|
}; |
|
H.ConstantStringMap_values_closure.prototype = { |
|
call$1: function(key) { |
|
return this.$this._fetch$1(key); |
|
}, |
|
$signature: function() { |
|
var t1 = this.$this; |
|
return {func: 1, ret: H.getTypeArgumentByIndex(t1, 1), args: [H.getTypeArgumentByIndex(t1, 0)]}; |
|
} |
|
}; |
|
H.ConstantProtoMap.prototype = { |
|
containsKey$1: function(key) { |
|
if (typeof key !== "string") |
|
return false; |
|
if ("__proto__" === key) |
|
return true; |
|
return this._jsObject.hasOwnProperty(key); |
|
}, |
|
_fetch$1: function(key) { |
|
return "__proto__" === key ? this._protoValue : this._jsObject[key]; |
|
} |
|
}; |
|
H._ConstantMapKeyIterable.prototype = { |
|
get$iterator: function(_) { |
|
var t1 = this._map._keys; |
|
return new J.ArrayIterator(t1, t1.length); |
|
}, |
|
get$length: function(_) { |
|
return this._map._keys.length; |
|
} |
|
}; |
|
H.Instantiation.prototype = { |
|
Instantiation$1: function(_genericClosure) { |
|
if (false) |
|
H.instantiatedGenericFunctionType(0, 0); |
|
}, |
|
toString$0: function(_) { |
|
var types = "<" + C.JSArray_methods.join$1(this.get$_types(), ", ") + ">"; |
|
return H.S(this._genericClosure) + " with " + types; |
|
} |
|
}; |
|
H.Instantiation1.prototype = { |
|
get$_types: function() { |
|
return [new H.TypeImpl(H.getTypeArgumentByIndex(this, 0))]; |
|
}, |
|
call$0: function() { |
|
return this._genericClosure.call$1$0(this.$ti[0]); |
|
}, |
|
call$2: function(a0, a1) { |
|
return this._genericClosure.call$1$2(a0, a1, this.$ti[0]); |
|
}, |
|
call$3: function(a0, a1, a2) { |
|
return this._genericClosure.call$1$3(a0, a1, a2, this.$ti[0]); |
|
}, |
|
call$4: function(a0, a1, a2, a3) { |
|
return this._genericClosure.call$1$4(a0, a1, a2, a3, this.$ti[0]); |
|
}, |
|
$signature: function() { |
|
return H.instantiatedGenericFunctionType(H.extractFunctionTypeObjectFromInternal(this._genericClosure), this.$ti); |
|
} |
|
}; |
|
H.JSInvocationMirror.prototype = { |
|
get$memberName: function() { |
|
var t1 = this.__js_helper$_memberName; |
|
return t1; |
|
}, |
|
get$positionalArguments: function() { |
|
var t1, argumentCount, list, index, _this = this; |
|
if (_this._kind === 1) |
|
return C.List_empty12; |
|
t1 = _this._arguments; |
|
argumentCount = t1.length - _this._namedArgumentNames.length - _this._typeArgumentCount; |
|
if (argumentCount === 0) |
|
return C.List_empty12; |
|
list = []; |
|
for (index = 0; index < argumentCount; ++index) |
|
list.push(t1[index]); |
|
return J.JSArray_markUnmodifiableList(list); |
|
}, |
|
get$namedArguments: function() { |
|
var t1, namedArgumentCount, t2, namedArgumentsStartIndex, t3, map, i, _this = this; |
|
if (_this._kind !== 0) |
|
return C.Map_empty4; |
|
t1 = _this._namedArgumentNames; |
|
namedArgumentCount = t1.length; |
|
t2 = _this._arguments; |
|
namedArgumentsStartIndex = t2.length - namedArgumentCount - _this._typeArgumentCount; |
|
if (namedArgumentCount === 0) |
|
return C.Map_empty4; |
|
t3 = P.Symbol0; |
|
map = new H.JsLinkedHashMap([t3, null]); |
|
for (i = 0; i < namedArgumentCount; ++i) |
|
map.$indexSet(0, new H.Symbol(t1[i]), t2[namedArgumentsStartIndex + i]); |
|
return new H.ConstantMapView(map, [t3, null]); |
|
} |
|
}; |
|
H.Primitives_functionNoSuchMethod_closure.prototype = { |
|
call$2: function($name, argument) { |
|
var t1 = this._box_0; |
|
t1.names = t1.names + "$" + H.S($name); |
|
this.namedArgumentList.push($name); |
|
this.$arguments.push(argument); |
|
++t1.argumentCount; |
|
} |
|
}; |
|
H.TypeErrorDecoder.prototype = { |
|
matchTypeError$1: function(message) { |
|
var result, t1, _this = this, |
|
match = new RegExp(_this._pattern).exec(message); |
|
if (match == null) |
|
return; |
|
result = Object.create(null); |
|
t1 = _this._arguments; |
|
if (t1 !== -1) |
|
result.arguments = match[t1 + 1]; |
|
t1 = _this._argumentsExpr; |
|
if (t1 !== -1) |
|
result.argumentsExpr = match[t1 + 1]; |
|
t1 = _this._expr; |
|
if (t1 !== -1) |
|
result.expr = match[t1 + 1]; |
|
t1 = _this._method; |
|
if (t1 !== -1) |
|
result.method = match[t1 + 1]; |
|
t1 = _this._receiver; |
|
if (t1 !== -1) |
|
result.receiver = match[t1 + 1]; |
|
return result; |
|
} |
|
}; |
|
H.NullError.prototype = { |
|
toString$0: function(_) { |
|
var t1 = this._method; |
|
if (t1 == null) |
|
return "NoSuchMethodError: " + H.S(this._message); |
|
return "NoSuchMethodError: method not found: '" + t1 + "' on null"; |
|
} |
|
}; |
|
H.JsNoSuchMethodError.prototype = { |
|
toString$0: function(_) { |
|
var t2, _this = this, |
|
_s38_ = "NoSuchMethodError: method not found: '", |
|
t1 = _this._method; |
|
if (t1 == null) |
|
return "NoSuchMethodError: " + H.S(_this._message); |
|
t2 = _this._receiver; |
|
if (t2 == null) |
|
return _s38_ + t1 + "' (" + H.S(_this._message) + ")"; |
|
return _s38_ + t1 + "' on '" + t2 + "' (" + H.S(_this._message) + ")"; |
|
} |
|
}; |
|
H.UnknownJsTypeError.prototype = { |
|
toString$0: function(_) { |
|
var t1 = this._message; |
|
return t1.length === 0 ? "Error" : "Error: " + t1; |
|
} |
|
}; |
|
H.ExceptionAndStackTrace.prototype = {}; |
|
H.unwrapException_saveStackTrace.prototype = { |
|
call$1: function(error) { |
|
if (!!J.getInterceptor$(error).$isError) |
|
if (error.$thrownJsError == null) |
|
error.$thrownJsError = this.ex; |
|
return error; |
|
}, |
|
$signature: 10 |
|
}; |
|
H._StackTrace.prototype = { |
|
toString$0: function(_) { |
|
var trace, |
|
t1 = this._trace; |
|
if (t1 != null) |
|
return t1; |
|
t1 = this._exception; |
|
trace = t1 !== null && typeof t1 === "object" ? t1.stack : null; |
|
return this._trace = trace == null ? "" : trace; |
|
}, |
|
$isStackTrace: 1 |
|
}; |
|
H.Closure.prototype = { |
|
toString$0: function(_) { |
|
var $constructor = this.constructor, |
|
$name = $constructor == null ? null : $constructor.name; |
|
return "Closure '" + H.unminifyOrTag($name == null ? "unknown" : $name) + "'"; |
|
}, |
|
$isFunction: 1, |
|
get$$call: function() { |
|
return this; |
|
}, |
|
"call*": "call$1", |
|
$requiredArgCount: 1, |
|
$defaultValues: null |
|
}; |
|
H.TearOffClosure.prototype = {}; |
|
H.StaticClosure.prototype = { |
|
toString$0: function(_) { |
|
var $name = this.$static_name; |
|
if ($name == null) |
|
return "Closure of unknown static method"; |
|
return "Closure '" + H.unminifyOrTag($name) + "'"; |
|
} |
|
}; |
|
H.BoundClosure.prototype = { |
|
$eq: function(_, other) { |
|
var _this = this; |
|
if (other == null) |
|
return false; |
|
if (_this === other) |
|
return true; |
|
if (!(other instanceof H.BoundClosure)) |
|
return false; |
|
return _this._self === other._self && _this._target === other._target && _this._receiver === other._receiver; |
|
}, |
|
get$hashCode: function(_) { |
|
var receiverHashCode, |
|
t1 = this._receiver; |
|
if (t1 == null) |
|
receiverHashCode = H.Primitives_objectHashCode(this._self); |
|
else |
|
receiverHashCode = typeof t1 !== "object" ? J.get$hashCode$(t1) : H.Primitives_objectHashCode(t1); |
|
return (receiverHashCode ^ H.Primitives_objectHashCode(this._target)) >>> 0; |
|
}, |
|
toString$0: function(_) { |
|
var receiver = this._receiver; |
|
if (receiver == null) |
|
receiver = this._self; |
|
return "Closure '" + H.S(this.__js_helper$_name) + "' of " + ("Instance of '" + H.S(H.Primitives_objectTypeName(receiver)) + "'"); |
|
} |
|
}; |
|
H.CastErrorImplementation.prototype = { |
|
toString$0: function(_) { |
|
return this.message; |
|
}, |
|
get$message: function(receiver) { |
|
return this.message; |
|
} |
|
}; |
|
H.RuntimeError.prototype = { |
|
toString$0: function(_) { |
|
return "RuntimeError: " + H.S(this.message); |
|
}, |
|
get$message: function(receiver) { |
|
return this.message; |
|
} |
|
}; |
|
H.TypeImpl.prototype = { |
|
get$_typeName: function() { |
|
var t1 = this.__typeName; |
|
return t1 == null ? this.__typeName = H.runtimeTypeToString(this._rti) : t1; |
|
}, |
|
toString$0: function(_) { |
|
return this.get$_typeName(); |
|
}, |
|
get$hashCode: function(_) { |
|
var t1 = this._hashCode; |
|
return t1 == null ? this._hashCode = C.JSString_methods.get$hashCode(this.get$_typeName()) : t1; |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof H.TypeImpl && this.get$_typeName() === other.get$_typeName(); |
|
} |
|
}; |
|
H.JsLinkedHashMap.prototype = { |
|
get$length: function(_) { |
|
return this.__js_helper$_length; |
|
}, |
|
get$isEmpty: function(_) { |
|
return this.__js_helper$_length === 0; |
|
}, |
|
get$isNotEmpty: function(_) { |
|
return !this.get$isEmpty(this); |
|
}, |
|
get$keys: function() { |
|
return new H.LinkedHashMapKeyIterable(this, [H.getTypeArgumentByIndex(this, 0)]); |
|
}, |
|
get$values: function() { |
|
var _this = this; |
|
return H.MappedIterable_MappedIterable(_this.get$keys(), new H.JsLinkedHashMap_values_closure(_this), H.getTypeArgumentByIndex(_this, 0), H.getTypeArgumentByIndex(_this, 1)); |
|
}, |
|
containsKey$1: function(key) { |
|
var strings, nums, _this = this; |
|
if (typeof key === "string") { |
|
strings = _this._strings; |
|
if (strings == null) |
|
return false; |
|
return _this._containsTableEntry$2(strings, key); |
|
} else if (typeof key === "number" && (key & 0x3ffffff) === key) { |
|
nums = _this._nums; |
|
if (nums == null) |
|
return false; |
|
return _this._containsTableEntry$2(nums, key); |
|
} else |
|
return _this.internalContainsKey$1(key); |
|
}, |
|
internalContainsKey$1: function(key) { |
|
var _this = this, |
|
rest = _this._rest; |
|
if (rest == null) |
|
return false; |
|
return _this.internalFindBucketIndex$2(_this._getTableBucket$2(rest, _this.internalComputeHashCode$1(key)), key) >= 0; |
|
}, |
|
addAll$1: function(_, other) { |
|
other.forEach$1(0, new H.JsLinkedHashMap_addAll_closure(this)); |
|
}, |
|
$index: function(_, key) { |
|
var strings, cell, t1, nums, _this = this; |
|
if (typeof key === "string") { |
|
strings = _this._strings; |
|
if (strings == null) |
|
return; |
|
cell = _this._getTableCell$2(strings, key); |
|
t1 = cell == null ? null : cell.hashMapCellValue; |
|
return t1; |
|
} else if (typeof key === "number" && (key & 0x3ffffff) === key) { |
|
nums = _this._nums; |
|
if (nums == null) |
|
return; |
|
cell = _this._getTableCell$2(nums, key); |
|
t1 = cell == null ? null : cell.hashMapCellValue; |
|
return t1; |
|
} else |
|
return _this.internalGet$1(key); |
|
}, |
|
internalGet$1: function(key) { |
|
var bucket, index, _this = this, |
|
rest = _this._rest; |
|
if (rest == null) |
|
return; |
|
bucket = _this._getTableBucket$2(rest, _this.internalComputeHashCode$1(key)); |
|
index = _this.internalFindBucketIndex$2(bucket, key); |
|
if (index < 0) |
|
return; |
|
return bucket[index].hashMapCellValue; |
|
}, |
|
$indexSet: function(_, key, value) { |
|
var strings, nums, _this = this; |
|
if (typeof key === "string") { |
|
strings = _this._strings; |
|
_this._addHashTableEntry$3(strings == null ? _this._strings = _this._newHashTable$0() : strings, key, value); |
|
} else if (typeof key === "number" && (key & 0x3ffffff) === key) { |
|
nums = _this._nums; |
|
_this._addHashTableEntry$3(nums == null ? _this._nums = _this._newHashTable$0() : nums, key, value); |
|
} else |
|
_this.internalSet$2(key, value); |
|
}, |
|
internalSet$2: function(key, value) { |
|
var hash, bucket, index, _this = this, |
|
rest = _this._rest; |
|
if (rest == null) |
|
rest = _this._rest = _this._newHashTable$0(); |
|
hash = _this.internalComputeHashCode$1(key); |
|
bucket = _this._getTableBucket$2(rest, hash); |
|
if (bucket == null) |
|
_this._setTableEntry$3(rest, hash, [_this._newLinkedCell$2(key, value)]); |
|
else { |
|
index = _this.internalFindBucketIndex$2(bucket, key); |
|
if (index >= 0) |
|
bucket[index].hashMapCellValue = value; |
|
else |
|
bucket.push(_this._newLinkedCell$2(key, value)); |
|
} |
|
}, |
|
putIfAbsent$2: function(key, ifAbsent) { |
|
var value; |
|
if (this.containsKey$1(key)) |
|
return this.$index(0, key); |
|
value = ifAbsent.call$0(); |
|
this.$indexSet(0, key, value); |
|
return value; |
|
}, |
|
remove$1: function(_, key) { |
|
var _this = this; |
|
if (typeof key === "string") |
|
return _this.__js_helper$_removeHashTableEntry$2(_this._strings, key); |
|
else if (typeof key === "number" && (key & 0x3ffffff) === key) |
|
return _this.__js_helper$_removeHashTableEntry$2(_this._nums, key); |
|
else |
|
return _this.internalRemove$1(key); |
|
}, |
|
internalRemove$1: function(key) { |
|
var hash, bucket, index, cell, _this = this, |
|
rest = _this._rest; |
|
if (rest == null) |
|
return; |
|
hash = _this.internalComputeHashCode$1(key); |
|
bucket = _this._getTableBucket$2(rest, hash); |
|
index = _this.internalFindBucketIndex$2(bucket, key); |
|
if (index < 0) |
|
return; |
|
cell = bucket.splice(index, 1)[0]; |
|
_this.__js_helper$_unlinkCell$1(cell); |
|
if (bucket.length === 0) |
|
_this._deleteTableEntry$2(rest, hash); |
|
return cell.hashMapCellValue; |
|
}, |
|
clear$0: function(_) { |
|
var _this = this; |
|
if (_this.__js_helper$_length > 0) { |
|
_this._strings = _this._nums = _this._rest = _this._first = _this._last = null; |
|
_this.__js_helper$_length = 0; |
|
_this._modified$0(); |
|
} |
|
}, |
|
forEach$1: function(_, action) { |
|
var _this = this, |
|
cell = _this._first, |
|
modifications = _this._modifications; |
|
for (; cell != null;) { |
|
action.call$2(cell.hashMapCellKey, cell.hashMapCellValue); |
|
if (modifications !== _this._modifications) |
|
throw H.wrapException(P.ConcurrentModificationError$(_this)); |
|
cell = cell._next; |
|
} |
|
}, |
|
_addHashTableEntry$3: function(table, key, value) { |
|
var cell = this._getTableCell$2(table, key); |
|
if (cell == null) |
|
this._setTableEntry$3(table, key, this._newLinkedCell$2(key, value)); |
|
else |
|
cell.hashMapCellValue = value; |
|
}, |
|
__js_helper$_removeHashTableEntry$2: function(table, key) { |
|
var cell; |
|
if (table == null) |
|
return; |
|
cell = this._getTableCell$2(table, key); |
|
if (cell == null) |
|
return; |
|
this.__js_helper$_unlinkCell$1(cell); |
|
this._deleteTableEntry$2(table, key); |
|
return cell.hashMapCellValue; |
|
}, |
|
_modified$0: function() { |
|
this._modifications = this._modifications + 1 & 67108863; |
|
}, |
|
_newLinkedCell$2: function(key, value) { |
|
var last, _this = this, |
|
cell = new H.LinkedHashMapCell(key, value); |
|
if (_this._first == null) |
|
_this._first = _this._last = cell; |
|
else { |
|
last = _this._last; |
|
cell._previous = last; |
|
_this._last = last._next = cell; |
|
} |
|
++_this.__js_helper$_length; |
|
_this._modified$0(); |
|
return cell; |
|
}, |
|
__js_helper$_unlinkCell$1: function(cell) { |
|
var _this = this, |
|
previous = cell._previous, |
|
next = cell._next; |
|
if (previous == null) |
|
_this._first = next; |
|
else |
|
previous._next = next; |
|
if (next == null) |
|
_this._last = previous; |
|
else |
|
next._previous = previous; |
|
--_this.__js_helper$_length; |
|
_this._modified$0(); |
|
}, |
|
internalComputeHashCode$1: function(key) { |
|
return J.get$hashCode$(key) & 0x3ffffff; |
|
}, |
|
internalFindBucketIndex$2: function(bucket, key) { |
|
var $length, i; |
|
if (bucket == null) |
|
return -1; |
|
$length = bucket.length; |
|
for (i = 0; i < $length; ++i) |
|
if (J.$eq$(bucket[i].hashMapCellKey, key)) |
|
return i; |
|
return -1; |
|
}, |
|
toString$0: function(_) { |
|
return P.MapBase_mapToString(this); |
|
}, |
|
_getTableCell$2: function(table, key) { |
|
return table[key]; |
|
}, |
|
_getTableBucket$2: function(table, key) { |
|
return table[key]; |
|
}, |
|
_setTableEntry$3: function(table, key, value) { |
|
table[key] = value; |
|
}, |
|
_deleteTableEntry$2: function(table, key) { |
|
delete table[key]; |
|
}, |
|
_containsTableEntry$2: function(table, key) { |
|
return this._getTableCell$2(table, key) != null; |
|
}, |
|
_newHashTable$0: function() { |
|
var _s20_ = "<non-identifier-key>", |
|
table = Object.create(null); |
|
this._setTableEntry$3(table, _s20_, table); |
|
this._deleteTableEntry$2(table, _s20_); |
|
return table; |
|
} |
|
}; |
|
H.JsLinkedHashMap_values_closure.prototype = { |
|
call$1: function(each) { |
|
return this.$this.$index(0, each); |
|
}, |
|
$signature: function() { |
|
var t1 = this.$this; |
|
return {func: 1, ret: H.getTypeArgumentByIndex(t1, 1), args: [H.getTypeArgumentByIndex(t1, 0)]}; |
|
} |
|
}; |
|
H.JsLinkedHashMap_addAll_closure.prototype = { |
|
call$2: function(key, value) { |
|
this.$this.$indexSet(0, key, value); |
|
}, |
|
$signature: function() { |
|
var t1 = this.$this; |
|
return {func: 1, ret: P.Null, args: [H.getTypeArgumentByIndex(t1, 0), H.getTypeArgumentByIndex(t1, 1)]}; |
|
} |
|
}; |
|
H.LinkedHashMapCell.prototype = {}; |
|
H.LinkedHashMapKeyIterable.prototype = { |
|
get$length: function(_) { |
|
return this._map.__js_helper$_length; |
|
}, |
|
get$isEmpty: function(_) { |
|
return this._map.__js_helper$_length === 0; |
|
}, |
|
get$iterator: function(_) { |
|
var t1 = this._map, |
|
t2 = new H.LinkedHashMapKeyIterator(t1, t1._modifications); |
|
t2._cell = t1._first; |
|
return t2; |
|
}, |
|
contains$1: function(_, element) { |
|
return this._map.containsKey$1(element); |
|
} |
|
}; |
|
H.LinkedHashMapKeyIterator.prototype = { |
|
get$current: function(_) { |
|
return this.__js_helper$_current; |
|
}, |
|
moveNext$0: function() { |
|
var _this = this, |
|
t1 = _this._map; |
|
if (_this._modifications !== t1._modifications) |
|
throw H.wrapException(P.ConcurrentModificationError$(t1)); |
|
else { |
|
t1 = _this._cell; |
|
if (t1 == null) { |
|
_this.__js_helper$_current = null; |
|
return false; |
|
} else { |
|
_this.__js_helper$_current = t1.hashMapCellKey; |
|
_this._cell = t1._next; |
|
return true; |
|
} |
|
} |
|
} |
|
}; |
|
H.initHooks_closure.prototype = { |
|
call$1: function(o) { |
|
return this.getTag(o); |
|
}, |
|
$signature: 10 |
|
}; |
|
H.initHooks_closure0.prototype = { |
|
call$2: function(o, tag) { |
|
return this.getUnknownTag(o, tag); |
|
} |
|
}; |
|
H.initHooks_closure1.prototype = { |
|
call$1: function(tag) { |
|
return this.prototypeForTag(tag); |
|
} |
|
}; |
|
H.JSSyntaxRegExp.prototype = { |
|
toString$0: function(_) { |
|
return "RegExp/" + this.pattern + "/" + this._nativeRegExp.flags; |
|
}, |
|
get$_nativeGlobalVersion: function() { |
|
var _this = this, |
|
t1 = _this._nativeGlobalRegExp; |
|
if (t1 != null) |
|
return t1; |
|
t1 = _this._nativeRegExp; |
|
return _this._nativeGlobalRegExp = H.JSSyntaxRegExp_makeNative(_this.pattern, t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, true); |
|
}, |
|
get$_nativeAnchoredVersion: function() { |
|
var _this = this, |
|
t1 = _this._nativeAnchoredRegExp; |
|
if (t1 != null) |
|
return t1; |
|
t1 = _this._nativeRegExp; |
|
return _this._nativeAnchoredRegExp = H.JSSyntaxRegExp_makeNative(_this.pattern + "|()", t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, true); |
|
}, |
|
firstMatch$1: function(string) { |
|
var m; |
|
if (typeof string !== "string") |
|
H.throwExpression(H.argumentErrorValue(string)); |
|
m = this._nativeRegExp.exec(string); |
|
if (m == null) |
|
return; |
|
return new H._MatchImplementation(m); |
|
}, |
|
allMatches$2: function(_, string, start) { |
|
var t1 = string.length; |
|
if (start > t1) |
|
throw H.wrapException(P.RangeError$range(start, 0, t1, null, null)); |
|
return new H._AllMatchesIterable(this, string, start); |
|
}, |
|
allMatches$1: function($receiver, string) { |
|
return this.allMatches$2($receiver, string, 0); |
|
}, |
|
_execGlobal$2: function(string, start) { |
|
var match, |
|
regexp = this.get$_nativeGlobalVersion(); |
|
regexp.lastIndex = start; |
|
match = regexp.exec(string); |
|
if (match == null) |
|
return; |
|
return new H._MatchImplementation(match); |
|
}, |
|
_execAnchored$2: function(string, start) { |
|
var match, |
|
regexp = this.get$_nativeAnchoredVersion(); |
|
regexp.lastIndex = start; |
|
match = regexp.exec(string); |
|
if (match == null) |
|
return; |
|
if (match.pop() != null) |
|
return; |
|
return new H._MatchImplementation(match); |
|
}, |
|
matchAsPrefix$2: function(_, string, start) { |
|
if (start < 0 || start > string.length) |
|
throw H.wrapException(P.RangeError$range(start, 0, string.length, null, null)); |
|
return this._execAnchored$2(string, start); |
|
} |
|
}; |
|
H._MatchImplementation.prototype = { |
|
get$start: function(_) { |
|
return this._match.index; |
|
}, |
|
get$end: function(_) { |
|
var t1 = this._match; |
|
return t1.index + t1[0].length; |
|
}, |
|
$isMatch: 1, |
|
$isRegExpMatch: 1 |
|
}; |
|
H._AllMatchesIterable.prototype = { |
|
get$iterator: function(_) { |
|
return new H._AllMatchesIterator(this._re, this._string, this.__js_helper$_start); |
|
}, |
|
$asIterable: function() { |
|
return [P.RegExpMatch]; |
|
} |
|
}; |
|
H._AllMatchesIterator.prototype = { |
|
get$current: function(_) { |
|
return this.__js_helper$_current; |
|
}, |
|
moveNext$0: function() { |
|
var t2, t3, match, nextIndex, _this = this, |
|
t1 = _this._string; |
|
if (t1 == null) |
|
return false; |
|
t2 = _this._nextIndex; |
|
if (t2 <= t1.length) { |
|
t3 = _this._regExp; |
|
match = t3._execGlobal$2(t1, t2); |
|
if (match != null) { |
|
_this.__js_helper$_current = match; |
|
nextIndex = match.get$end(match); |
|
if (match._match.index === nextIndex) { |
|
if (t3._nativeRegExp.unicode) { |
|
t1 = _this._nextIndex; |
|
t2 = t1 + 1; |
|
t3 = _this._string; |
|
if (t2 < t3.length) { |
|
t1 = J.getInterceptor$s(t3).codeUnitAt$1(t3, t1); |
|
if (t1 >= 55296 && t1 <= 56319) { |
|
t1 = C.JSString_methods.codeUnitAt$1(t3, t2); |
|
t1 = t1 >= 56320 && t1 <= 57343; |
|
} else |
|
t1 = false; |
|
} else |
|
t1 = false; |
|
} else |
|
t1 = false; |
|
nextIndex = (t1 ? nextIndex + 1 : nextIndex) + 1; |
|
} |
|
_this._nextIndex = nextIndex; |
|
return true; |
|
} |
|
} |
|
_this._string = _this.__js_helper$_current = null; |
|
return false; |
|
} |
|
}; |
|
H.StringMatch.prototype = { |
|
get$end: function(_) { |
|
return this.start + this.pattern.length; |
|
}, |
|
group$1: function(group_) { |
|
if (group_ !== 0) |
|
throw H.wrapException(P.RangeError$value(group_, null, null)); |
|
return this.pattern; |
|
}, |
|
$isMatch: 1, |
|
get$start: function(receiver) { |
|
return this.start; |
|
} |
|
}; |
|
H._StringAllMatchesIterable.prototype = { |
|
get$iterator: function(_) { |
|
return new H._StringAllMatchesIterator(this._input, this._pattern, this.__js_helper$_index); |
|
}, |
|
get$first: function(_) { |
|
var t1 = this._pattern, |
|
index = this._input.indexOf(t1, this.__js_helper$_index); |
|
if (index >= 0) |
|
return new H.StringMatch(index, t1); |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
}, |
|
$asIterable: function() { |
|
return [P.Match]; |
|
} |
|
}; |
|
H._StringAllMatchesIterator.prototype = { |
|
moveNext$0: function() { |
|
var index, end, _this = this, |
|
t1 = _this.__js_helper$_index, |
|
t2 = _this._pattern, |
|
t3 = t2.length, |
|
t4 = _this._input, |
|
t5 = t4.length; |
|
if (t1 + t3 > t5) { |
|
_this.__js_helper$_current = null; |
|
return false; |
|
} |
|
index = t4.indexOf(t2, t1); |
|
if (index < 0) { |
|
_this.__js_helper$_index = t5 + 1; |
|
_this.__js_helper$_current = null; |
|
return false; |
|
} |
|
end = index + t3; |
|
_this.__js_helper$_current = new H.StringMatch(index, t2); |
|
_this.__js_helper$_index = end === _this.__js_helper$_index ? end + 1 : end; |
|
return true; |
|
}, |
|
get$current: function(_) { |
|
return this.__js_helper$_current; |
|
} |
|
}; |
|
H.NativeTypedData.prototype = { |
|
_invalidPosition$3: function(receiver, position, $length, $name) { |
|
if (typeof position !== "number" || Math.floor(position) !== position) |
|
throw H.wrapException(P.ArgumentError$value(position, $name, "Invalid list position")); |
|
else |
|
throw H.wrapException(P.RangeError$range(position, 0, $length, $name, null)); |
|
}, |
|
_checkPosition$3: function(receiver, position, $length, $name) { |
|
if (position >>> 0 !== position || position > $length) |
|
this._invalidPosition$3(receiver, position, $length, $name); |
|
} |
|
}; |
|
H.NativeTypedArray.prototype = { |
|
get$length: function(receiver) { |
|
return receiver.length; |
|
}, |
|
_setRangeFast$4: function(receiver, start, end, source, skipCount) { |
|
var count, sourceLength, |
|
targetLength = receiver.length; |
|
this._checkPosition$3(receiver, start, targetLength, "start"); |
|
this._checkPosition$3(receiver, end, targetLength, "end"); |
|
if (start > end) |
|
throw H.wrapException(P.RangeError$range(start, 0, end, null, null)); |
|
count = end - start; |
|
if (skipCount < 0) |
|
throw H.wrapException(P.ArgumentError$(skipCount)); |
|
sourceLength = source.length; |
|
if (sourceLength - skipCount < count) |
|
throw H.wrapException(P.StateError$("Not enough elements")); |
|
if (skipCount !== 0 || sourceLength !== count) |
|
source = source.subarray(skipCount, skipCount + count); |
|
receiver.set(source, start); |
|
}, |
|
$isJavaScriptIndexingBehavior: 1, |
|
$asJavaScriptIndexingBehavior: function() { |
|
} |
|
}; |
|
H.NativeTypedArrayOfDouble.prototype = { |
|
$index: function(receiver, index) { |
|
H._checkValidIndex(index, receiver, receiver.length); |
|
return receiver[index]; |
|
}, |
|
$indexSet: function(receiver, index, value) { |
|
H._checkValidIndex(index, receiver, receiver.length); |
|
receiver[index] = value; |
|
}, |
|
setRange$4: function(receiver, start, end, iterable, skipCount) { |
|
if (!!J.getInterceptor$(iterable).$isNativeTypedArrayOfDouble) { |
|
this._setRangeFast$4(receiver, start, end, iterable, skipCount); |
|
return; |
|
} |
|
this.super$ListMixin$setRange(receiver, start, end, iterable, skipCount); |
|
}, |
|
$isEfficientLengthIterable: 1, |
|
$asEfficientLengthIterable: function() { |
|
return [P.double]; |
|
}, |
|
$asListMixin: function() { |
|
return [P.double]; |
|
}, |
|
$isIterable: 1, |
|
$asIterable: function() { |
|
return [P.double]; |
|
}, |
|
$isList: 1, |
|
$asList: function() { |
|
return [P.double]; |
|
} |
|
}; |
|
H.NativeTypedArrayOfInt.prototype = { |
|
$indexSet: function(receiver, index, value) { |
|
H._checkValidIndex(index, receiver, receiver.length); |
|
receiver[index] = value; |
|
}, |
|
setRange$4: function(receiver, start, end, iterable, skipCount) { |
|
if (!!J.getInterceptor$(iterable).$isNativeTypedArrayOfInt) { |
|
this._setRangeFast$4(receiver, start, end, iterable, skipCount); |
|
return; |
|
} |
|
this.super$ListMixin$setRange(receiver, start, end, iterable, skipCount); |
|
}, |
|
$isEfficientLengthIterable: 1, |
|
$asEfficientLengthIterable: function() { |
|
return [P.int]; |
|
}, |
|
$asListMixin: function() { |
|
return [P.int]; |
|
}, |
|
$isIterable: 1, |
|
$asIterable: function() { |
|
return [P.int]; |
|
}, |
|
$isList: 1, |
|
$asList: function() { |
|
return [P.int]; |
|
} |
|
}; |
|
H.NativeFloat32List.prototype = { |
|
sublist$2: function(receiver, start, end) { |
|
return new Float32Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length))); |
|
} |
|
}; |
|
H.NativeFloat64List.prototype = { |
|
sublist$2: function(receiver, start, end) { |
|
return new Float64Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length))); |
|
} |
|
}; |
|
H.NativeInt16List.prototype = { |
|
$index: function(receiver, index) { |
|
H._checkValidIndex(index, receiver, receiver.length); |
|
return receiver[index]; |
|
}, |
|
sublist$2: function(receiver, start, end) { |
|
return new Int16Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length))); |
|
} |
|
}; |
|
H.NativeInt32List.prototype = { |
|
$index: function(receiver, index) { |
|
H._checkValidIndex(index, receiver, receiver.length); |
|
return receiver[index]; |
|
}, |
|
sublist$2: function(receiver, start, end) { |
|
return new Int32Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length))); |
|
} |
|
}; |
|
H.NativeInt8List.prototype = { |
|
$index: function(receiver, index) { |
|
H._checkValidIndex(index, receiver, receiver.length); |
|
return receiver[index]; |
|
}, |
|
sublist$2: function(receiver, start, end) { |
|
return new Int8Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length))); |
|
} |
|
}; |
|
H.NativeUint16List.prototype = { |
|
$index: function(receiver, index) { |
|
H._checkValidIndex(index, receiver, receiver.length); |
|
return receiver[index]; |
|
}, |
|
sublist$2: function(receiver, start, end) { |
|
return new Uint16Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length))); |
|
} |
|
}; |
|
H.NativeUint32List.prototype = { |
|
$index: function(receiver, index) { |
|
H._checkValidIndex(index, receiver, receiver.length); |
|
return receiver[index]; |
|
}, |
|
sublist$2: function(receiver, start, end) { |
|
return new Uint32Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length))); |
|
} |
|
}; |
|
H.NativeUint8ClampedList.prototype = { |
|
get$length: function(receiver) { |
|
return receiver.length; |
|
}, |
|
$index: function(receiver, index) { |
|
H._checkValidIndex(index, receiver, receiver.length); |
|
return receiver[index]; |
|
}, |
|
sublist$2: function(receiver, start, end) { |
|
return new Uint8ClampedArray(receiver.subarray(start, H._checkValidRange(start, end, receiver.length))); |
|
} |
|
}; |
|
H.NativeUint8List.prototype = { |
|
get$length: function(receiver) { |
|
return receiver.length; |
|
}, |
|
$index: function(receiver, index) { |
|
H._checkValidIndex(index, receiver, receiver.length); |
|
return receiver[index]; |
|
}, |
|
sublist$2: function(receiver, start, end) { |
|
return new Uint8Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length))); |
|
}, |
|
$isNativeUint8List: 1, |
|
$isUint8List: 1 |
|
}; |
|
H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.prototype = {}; |
|
H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {}; |
|
H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.prototype = {}; |
|
H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {}; |
|
P._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = { |
|
call$1: function(_) { |
|
var t1 = this._box_0, |
|
f = t1.storedCallback; |
|
t1.storedCallback = null; |
|
f.call$0(); |
|
}, |
|
$signature: 20 |
|
}; |
|
P._AsyncRun__initializeScheduleImmediate_closure.prototype = { |
|
call$1: function(callback) { |
|
var t1, t2; |
|
this._box_0.storedCallback = callback; |
|
t1 = this.div; |
|
t2 = this.span; |
|
t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2); |
|
} |
|
}; |
|
P._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { |
|
call$0: function() { |
|
this.callback.call$0(); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = { |
|
call$0: function() { |
|
this.callback.call$0(); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._TimerImpl.prototype = { |
|
_TimerImpl$2: function(milliseconds, callback) { |
|
if (self.setTimeout != null) |
|
this._handle = self.setTimeout(H.convertDartClosureToJS(new P._TimerImpl_internalCallback(this, callback), 0), milliseconds); |
|
else |
|
throw H.wrapException(P.UnsupportedError$("`setTimeout()` not found.")); |
|
}, |
|
_TimerImpl$periodic$2: function(milliseconds, callback) { |
|
if (self.setTimeout != null) |
|
this._handle = self.setInterval(H.convertDartClosureToJS(new P._TimerImpl$periodic_closure(this, milliseconds, Date.now(), callback), 0), milliseconds); |
|
else |
|
throw H.wrapException(P.UnsupportedError$("Periodic timer.")); |
|
}, |
|
cancel$0: function() { |
|
if (self.setTimeout != null) { |
|
var t1 = this._handle; |
|
if (t1 == null) |
|
return; |
|
if (this._once) |
|
self.clearTimeout(t1); |
|
else |
|
self.clearInterval(t1); |
|
this._handle = null; |
|
} else |
|
throw H.wrapException(P.UnsupportedError$("Canceling a timer.")); |
|
} |
|
}; |
|
P._TimerImpl_internalCallback.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this; |
|
t1._handle = null; |
|
t1._tick = 1; |
|
this.callback.call$0(); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._TimerImpl$periodic_closure.prototype = { |
|
call$0: function() { |
|
var duration, _this = this, |
|
t1 = _this.$this, |
|
tick = t1._tick + 1, |
|
t2 = _this.milliseconds; |
|
if (t2 > 0) { |
|
duration = Date.now() - _this.start; |
|
if (duration > (tick + 1) * t2) |
|
tick = C.JSInt_methods.$tdiv(duration, t2); |
|
} |
|
t1._tick = tick; |
|
_this.callback.call$1(t1); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._AsyncAwaitCompleter.prototype = { |
|
complete$1: function(value) { |
|
var t1 = !this.isSync || H.checkSubtype(value, "$isFuture", this.$ti, "$asFuture"), |
|
t2 = this._future; |
|
if (t1) |
|
t2._asyncComplete$1(value); |
|
else |
|
t2._completeWithValue$1(value); |
|
}, |
|
completeError$2: function(e, st) { |
|
var t1 = this._future; |
|
if (this.isSync) |
|
t1._completeError$2(e, st); |
|
else |
|
t1._asyncCompleteError$2(e, st); |
|
} |
|
}; |
|
P._awaitOnObject_closure.prototype = { |
|
call$1: function(result) { |
|
return this.bodyFunction.call$2(0, result); |
|
}, |
|
$signature: 50 |
|
}; |
|
P._awaitOnObject_closure0.prototype = { |
|
call$2: function(error, stackTrace) { |
|
this.bodyFunction.call$2(1, new H.ExceptionAndStackTrace(error, stackTrace)); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2, |
|
$signature: 15 |
|
}; |
|
P._wrapJsFunctionForAsync_closure.prototype = { |
|
call$2: function(errorCode, result) { |
|
this.$protected(errorCode, result); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2 |
|
}; |
|
P._asyncStarHelper_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.controller, |
|
t2 = t1.controller, |
|
t3 = t2._async$_state; |
|
if ((t3 & 1) !== 0 ? (t2.get$_subscription()._async$_state & 4) !== 0 : (t3 & 2) === 0) { |
|
t1.isSuspended = true; |
|
return; |
|
} |
|
this.bodyFunctionOrErrorCode.call$2(null, 0); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._asyncStarHelper_closure0.prototype = { |
|
call$1: function(_) { |
|
var errorCode = this.controller.cancelationFuture != null ? 2 : 0; |
|
this.bodyFunctionOrErrorCode.call$2(errorCode, null); |
|
}, |
|
$signature: 20 |
|
}; |
|
P._AsyncStarStreamController.prototype = { |
|
add$1: function(_, $event) { |
|
return this.controller.add$1(0, $event); |
|
}, |
|
_AsyncStarStreamController$1: function(body, $T) { |
|
var t1 = new P._AsyncStarStreamController__resumeBody(body); |
|
this.controller = P.StreamController_StreamController(new P._AsyncStarStreamController_closure(this, body), new P._AsyncStarStreamController_closure0(t1), null, new P._AsyncStarStreamController_closure1(this, t1), false, $T); |
|
} |
|
}; |
|
P._AsyncStarStreamController__resumeBody.prototype = { |
|
call$0: function() { |
|
P.scheduleMicrotask(new P._AsyncStarStreamController__resumeBody_closure(this.body)); |
|
} |
|
}; |
|
P._AsyncStarStreamController__resumeBody_closure.prototype = { |
|
call$0: function() { |
|
this.body.call$2(0, null); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._AsyncStarStreamController_closure0.prototype = { |
|
call$0: function() { |
|
this._resumeBody.call$0(); |
|
} |
|
}; |
|
P._AsyncStarStreamController_closure1.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this; |
|
if (t1.isSuspended) { |
|
t1.isSuspended = false; |
|
this._resumeBody.call$0(); |
|
} |
|
} |
|
}; |
|
P._AsyncStarStreamController_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this; |
|
if ((t1.controller._async$_state & 4) === 0) { |
|
t1.cancelationFuture = new P._Future($.Zone__current, [null]); |
|
if (t1.isSuspended) { |
|
t1.isSuspended = false; |
|
P.scheduleMicrotask(new P._AsyncStarStreamController__closure(this.body)); |
|
} |
|
return t1.cancelationFuture; |
|
} |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._AsyncStarStreamController__closure.prototype = { |
|
call$0: function() { |
|
this.body.call$2(2, null); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._IterationMarker.prototype = { |
|
toString$0: function(_) { |
|
return "IterationMarker(" + this.state + ", " + H.S(this.value) + ")"; |
|
} |
|
}; |
|
P._SyncStarIterator.prototype = { |
|
get$current: function(_) { |
|
var t1 = this._nestedIterator; |
|
if (t1 == null) |
|
return this._async$_current; |
|
return t1.get$current(t1); |
|
}, |
|
moveNext$0: function() { |
|
var t1, value, state, inner, _this = this; |
|
for (; true;) { |
|
t1 = _this._nestedIterator; |
|
if (t1 != null) |
|
if (t1.moveNext$0()) |
|
return true; |
|
else |
|
_this._nestedIterator = null; |
|
value = function(body, SUCCESS, ERROR) { |
|
var errorValue, |
|
errorCode = SUCCESS; |
|
while (true) |
|
try { |
|
return body(errorCode, errorValue); |
|
} catch (error) { |
|
errorValue = error; |
|
errorCode = ERROR; |
|
} |
|
}(_this._body, 0, 1); |
|
if (value instanceof P._IterationMarker) { |
|
state = value.state; |
|
if (state === 2) { |
|
t1 = _this._suspendedBodies; |
|
if (t1 == null || t1.length === 0) { |
|
_this._async$_current = null; |
|
return false; |
|
} |
|
_this._body = t1.pop(); |
|
continue; |
|
} else { |
|
t1 = value.value; |
|
if (state === 3) |
|
throw t1; |
|
else { |
|
inner = J.get$iterator$ax(t1); |
|
if (!!inner.$is_SyncStarIterator) { |
|
t1 = _this._suspendedBodies; |
|
if (t1 == null) |
|
t1 = _this._suspendedBodies = []; |
|
t1.push(_this._body); |
|
_this._body = inner._body; |
|
continue; |
|
} else { |
|
_this._nestedIterator = inner; |
|
continue; |
|
} |
|
} |
|
} |
|
} else { |
|
_this._async$_current = value; |
|
return true; |
|
} |
|
} |
|
return false; |
|
} |
|
}; |
|
P._SyncStarIterable.prototype = { |
|
get$iterator: function(_) { |
|
return new P._SyncStarIterator(this._outerHelper()); |
|
} |
|
}; |
|
P._BroadcastStream.prototype = { |
|
get$isBroadcast: function() { |
|
return true; |
|
} |
|
}; |
|
P._BroadcastSubscription.prototype = { |
|
_async$_onPause$0: function() { |
|
}, |
|
_async$_onResume$0: function() { |
|
} |
|
}; |
|
P._BroadcastStreamController.prototype = { |
|
set$onPause: function(onPauseHandler) { |
|
throw H.wrapException(P.UnsupportedError$("Broadcast stream controllers do not support pause callbacks")); |
|
}, |
|
set$onResume: function(onResumeHandler) { |
|
throw H.wrapException(P.UnsupportedError$("Broadcast stream controllers do not support pause callbacks")); |
|
}, |
|
get$stream: function() { |
|
return new P._BroadcastStream(this, this.$ti); |
|
}, |
|
get$_mayAddEvent: function() { |
|
return this._async$_state < 4; |
|
}, |
|
_ensureDoneFuture$0: function() { |
|
var t1 = this._doneFuture; |
|
if (t1 != null) |
|
return t1; |
|
return this._doneFuture = new P._Future($.Zone__current, [null]); |
|
}, |
|
_removeListener$1: function(subscription) { |
|
var previous = subscription._async$_previous, |
|
next = subscription._async$_next; |
|
if (previous == null) |
|
this._firstSubscription = next; |
|
else |
|
previous._async$_next = next; |
|
if (next == null) |
|
this._lastSubscription = previous; |
|
else |
|
next._async$_previous = previous; |
|
subscription._async$_previous = subscription; |
|
subscription._async$_next = subscription; |
|
}, |
|
_subscribe$4: function(onData, onError, onDone, cancelOnError) { |
|
var t1, t2, subscription, oldLast, _this = this; |
|
if ((_this._async$_state & 4) !== 0) { |
|
if (onDone == null) |
|
onDone = P.async___nullDoneHandler$closure(); |
|
t1 = new P._DoneStreamSubscription($.Zone__current, onDone, _this.$ti); |
|
t1._schedule$0(); |
|
return t1; |
|
} |
|
t1 = $.Zone__current; |
|
t2 = cancelOnError ? 1 : 0; |
|
subscription = new P._BroadcastSubscription(_this, t1, t2, _this.$ti); |
|
subscription._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError, H.getTypeArgumentByIndex(_this, 0)); |
|
subscription._async$_previous = subscription; |
|
subscription._async$_next = subscription; |
|
subscription._eventState = _this._async$_state & 1; |
|
oldLast = _this._lastSubscription; |
|
_this._lastSubscription = subscription; |
|
subscription._async$_next = null; |
|
subscription._async$_previous = oldLast; |
|
if (oldLast == null) |
|
_this._firstSubscription = subscription; |
|
else |
|
oldLast._async$_next = subscription; |
|
if (_this._firstSubscription === subscription) |
|
P._runGuarded(_this.onListen); |
|
return subscription; |
|
}, |
|
_recordCancel$1: function(sub) { |
|
var t1, _this = this; |
|
if (sub._async$_next === sub) |
|
return; |
|
t1 = sub._eventState; |
|
if ((t1 & 2) !== 0) |
|
sub._eventState = t1 | 4; |
|
else { |
|
_this._removeListener$1(sub); |
|
if ((_this._async$_state & 2) === 0 && _this._firstSubscription == null) |
|
_this._callOnCancel$0(); |
|
} |
|
return; |
|
}, |
|
_recordPause$1: function(subscription) { |
|
}, |
|
_recordResume$1: function(subscription) { |
|
}, |
|
_addEventError$0: function() { |
|
if ((this._async$_state & 4) !== 0) |
|
return new P.StateError("Cannot add new events after calling close"); |
|
return new P.StateError("Cannot add new events while doing an addStream"); |
|
}, |
|
add$1: function(_, data) { |
|
if (!this.get$_mayAddEvent()) |
|
throw H.wrapException(this._addEventError$0()); |
|
this._sendData$1(data); |
|
}, |
|
addError$2: function(error, stackTrace) { |
|
var replacement; |
|
if (error == null) |
|
error = new P.NullThrownError(); |
|
if (!this.get$_mayAddEvent()) |
|
throw H.wrapException(this._addEventError$0()); |
|
replacement = $.Zone__current.errorCallback$2(error, stackTrace); |
|
if (replacement != null) { |
|
error = replacement.error; |
|
if (error == null) |
|
error = new P.NullThrownError(); |
|
stackTrace = replacement.stackTrace; |
|
} |
|
this._sendError$2(error, stackTrace); |
|
}, |
|
close$0: function(_) { |
|
var doneFuture, _this = this; |
|
if ((_this._async$_state & 4) !== 0) |
|
return _this._doneFuture; |
|
if (!_this.get$_mayAddEvent()) |
|
throw H.wrapException(_this._addEventError$0()); |
|
_this._async$_state |= 4; |
|
doneFuture = _this._ensureDoneFuture$0(); |
|
_this._sendDone$0(); |
|
return doneFuture; |
|
}, |
|
_forEachListener$1: function(action) { |
|
var subscription, id, next, _this = this, |
|
t1 = _this._async$_state; |
|
if ((t1 & 2) !== 0) |
|
throw H.wrapException(P.StateError$("Cannot fire new event. Controller is already firing an event")); |
|
subscription = _this._firstSubscription; |
|
if (subscription == null) |
|
return; |
|
id = t1 & 1; |
|
_this._async$_state = t1 ^ 3; |
|
for (; subscription != null;) { |
|
t1 = subscription._eventState; |
|
if ((t1 & 1) === id) { |
|
subscription._eventState = t1 | 2; |
|
action.call$1(subscription); |
|
t1 = subscription._eventState ^= 1; |
|
next = subscription._async$_next; |
|
if ((t1 & 4) !== 0) |
|
_this._removeListener$1(subscription); |
|
subscription._eventState &= 4294967293; |
|
subscription = next; |
|
} else |
|
subscription = subscription._async$_next; |
|
} |
|
_this._async$_state &= 4294967293; |
|
if (_this._firstSubscription == null) |
|
_this._callOnCancel$0(); |
|
}, |
|
_callOnCancel$0: function() { |
|
var _this = this; |
|
if ((_this._async$_state & 4) !== 0 && _this._doneFuture._async$_state === 0) |
|
_this._doneFuture._asyncComplete$1(null); |
|
P._runGuarded(_this.onCancel); |
|
}, |
|
$isEventSink: 1, |
|
set$onListen: function(val) { |
|
return this.onListen = val; |
|
}, |
|
set$onCancel: function(val) { |
|
return this.onCancel = val; |
|
} |
|
}; |
|
P._SyncBroadcastStreamController.prototype = { |
|
get$_mayAddEvent: function() { |
|
return P._BroadcastStreamController.prototype.get$_mayAddEvent.call(this) && (this._async$_state & 2) === 0; |
|
}, |
|
_addEventError$0: function() { |
|
if ((this._async$_state & 2) !== 0) |
|
return new P.StateError("Cannot fire new event. Controller is already firing an event"); |
|
return this.super$_BroadcastStreamController$_addEventError(); |
|
}, |
|
_sendData$1: function(data) { |
|
var _this = this, |
|
t1 = _this._firstSubscription; |
|
if (t1 == null) |
|
return; |
|
if (t1 === _this._lastSubscription) { |
|
_this._async$_state |= 2; |
|
t1._async$_add$1(data); |
|
_this._async$_state &= 4294967293; |
|
if (_this._firstSubscription == null) |
|
_this._callOnCancel$0(); |
|
return; |
|
} |
|
_this._forEachListener$1(new P._SyncBroadcastStreamController__sendData_closure(data)); |
|
}, |
|
_sendError$2: function(error, stackTrace) { |
|
if (this._firstSubscription == null) |
|
return; |
|
this._forEachListener$1(new P._SyncBroadcastStreamController__sendError_closure(error, stackTrace)); |
|
}, |
|
_sendDone$0: function() { |
|
if (this._firstSubscription != null) |
|
this._forEachListener$1(new P._SyncBroadcastStreamController__sendDone_closure()); |
|
else |
|
this._doneFuture._asyncComplete$1(null); |
|
} |
|
}; |
|
P._SyncBroadcastStreamController__sendData_closure.prototype = { |
|
call$1: function(subscription) { |
|
subscription._async$_add$1(this.data); |
|
} |
|
}; |
|
P._SyncBroadcastStreamController__sendError_closure.prototype = { |
|
call$1: function(subscription) { |
|
subscription._addError$2(this.error, this.stackTrace); |
|
} |
|
}; |
|
P._SyncBroadcastStreamController__sendDone_closure.prototype = { |
|
call$1: function(subscription) { |
|
subscription._close$0(); |
|
} |
|
}; |
|
P.Future.prototype = {}; |
|
P.Future_wait_handleError.prototype = { |
|
call$2: function(theError, theStackTrace) { |
|
var _this = this, |
|
t1 = _this._box_0, |
|
t2 = --t1.remaining; |
|
if (t1.values != null) { |
|
t1.values = null; |
|
if (t1.remaining === 0 || _this.eagerError) |
|
_this.result._completeError$2(theError, theStackTrace); |
|
else { |
|
t1.error = theError; |
|
t1.stackTrace = theStackTrace; |
|
} |
|
} else if (t2 === 0 && !_this.eagerError) |
|
_this.result._completeError$2(t1.error, t1.stackTrace); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2, |
|
$signature: 15 |
|
}; |
|
P.Future_wait_closure.prototype = { |
|
call$1: function(value) { |
|
var _this = this, |
|
t1 = _this._box_0, |
|
t2 = --t1.remaining, |
|
t3 = t1.values; |
|
if (t3 != null) { |
|
t3[_this.pos] = value; |
|
if (t2 === 0) |
|
_this.result._completeWithValue$1(t3); |
|
} else if (t1.remaining === 0 && !_this.eagerError) |
|
_this.result._completeError$2(t1.error, t1.stackTrace); |
|
}, |
|
$signature: function() { |
|
return {func: 1, ret: P.Null, args: [this.T]}; |
|
} |
|
}; |
|
P._Completer.prototype = { |
|
completeError$2: function(error, stackTrace) { |
|
var t1, replacement; |
|
if (error == null) |
|
error = new P.NullThrownError(); |
|
t1 = this.future; |
|
if (t1._async$_state !== 0) |
|
throw H.wrapException(P.StateError$("Future already completed")); |
|
replacement = $.Zone__current.errorCallback$2(error, stackTrace); |
|
if (replacement != null) { |
|
error = replacement.error; |
|
if (error == null) |
|
error = new P.NullThrownError(); |
|
stackTrace = replacement.stackTrace; |
|
} |
|
t1._asyncCompleteError$2(error, stackTrace); |
|
}, |
|
completeError$1: function(error) { |
|
return this.completeError$2(error, null); |
|
} |
|
}; |
|
P._AsyncCompleter.prototype = { |
|
complete$1: function(value) { |
|
var t1 = this.future; |
|
if (t1._async$_state !== 0) |
|
throw H.wrapException(P.StateError$("Future already completed")); |
|
t1._asyncComplete$1(value); |
|
}, |
|
complete$0: function() { |
|
return this.complete$1(null); |
|
} |
|
}; |
|
P._FutureListener.prototype = { |
|
matchesErrorTest$1: function(asyncError) { |
|
if ((this.state & 15) !== 6) |
|
return true; |
|
return this.result._zone.runUnary$2(this.callback, asyncError.error); |
|
}, |
|
handleError$1: function(asyncError) { |
|
var errorCallback = this.errorCallback, |
|
t1 = this.result._zone; |
|
if (H.functionTypeTest(errorCallback, {func: 1, args: [P.Object, P.StackTrace]})) |
|
return t1.runBinary$3(errorCallback, asyncError.error, asyncError.stackTrace); |
|
else |
|
return t1.runUnary$2(errorCallback, asyncError.error); |
|
} |
|
}; |
|
P._Future.prototype = { |
|
then$1$2$onError: function(f, onError, $R) { |
|
var result, |
|
currentZone = $.Zone__current; |
|
if (currentZone !== C.C__RootZone) { |
|
f = currentZone.registerUnaryCallback$1(f); |
|
if (onError != null) |
|
onError = P._registerErrorHandler(onError, currentZone); |
|
} |
|
result = new P._Future($.Zone__current, [$R]); |
|
this._addListener$1(new P._FutureListener(result, onError == null ? 1 : 3, f, onError)); |
|
return result; |
|
}, |
|
then$1$1: function(f, $R) { |
|
return this.then$1$2$onError(f, null, $R); |
|
}, |
|
then$1: function(f) { |
|
return this.then$1$2$onError(f, null, null); |
|
}, |
|
_thenAwait$1$2: function(f, onError, $E) { |
|
var result = new P._Future($.Zone__current, [$E]); |
|
this._addListener$1(new P._FutureListener(result, (onError == null ? 1 : 3) | 16, f, onError)); |
|
return result; |
|
}, |
|
whenComplete$1: function(action) { |
|
var t1 = $.Zone__current, |
|
result = new P._Future(t1, this.$ti); |
|
this._addListener$1(new P._FutureListener(result, 8, t1 !== C.C__RootZone ? t1.registerCallback$1(action) : action, null)); |
|
return result; |
|
}, |
|
_addListener$1: function(listener) { |
|
var t2, _this = this, |
|
t1 = _this._async$_state; |
|
if (t1 <= 1) { |
|
listener._nextListener = _this._resultOrListeners; |
|
_this._resultOrListeners = listener; |
|
} else { |
|
if (t1 === 2) { |
|
t1 = _this._resultOrListeners; |
|
t2 = t1._async$_state; |
|
if (t2 < 4) { |
|
t1._addListener$1(listener); |
|
return; |
|
} |
|
_this._async$_state = t2; |
|
_this._resultOrListeners = t1._resultOrListeners; |
|
} |
|
_this._zone.scheduleMicrotask$1(new P._Future__addListener_closure(_this, listener)); |
|
} |
|
}, |
|
_prependListeners$1: function(listeners) { |
|
var t1, existingListeners, cursor, cursor0, t2, _this = this, _box_0 = {}; |
|
_box_0.listeners = listeners; |
|
if (listeners == null) |
|
return; |
|
t1 = _this._async$_state; |
|
if (t1 <= 1) { |
|
existingListeners = _this._resultOrListeners; |
|
cursor = _this._resultOrListeners = listeners; |
|
if (existingListeners != null) { |
|
for (; cursor0 = cursor._nextListener, cursor0 != null; cursor = cursor0) |
|
; |
|
cursor._nextListener = existingListeners; |
|
} |
|
} else { |
|
if (t1 === 2) { |
|
t1 = _this._resultOrListeners; |
|
t2 = t1._async$_state; |
|
if (t2 < 4) { |
|
t1._prependListeners$1(listeners); |
|
return; |
|
} |
|
_this._async$_state = t2; |
|
_this._resultOrListeners = t1._resultOrListeners; |
|
} |
|
_box_0.listeners = _this._reverseListeners$1(listeners); |
|
_this._zone.scheduleMicrotask$1(new P._Future__prependListeners_closure(_box_0, _this)); |
|
} |
|
}, |
|
_removeListeners$0: function() { |
|
var current = this._resultOrListeners; |
|
this._resultOrListeners = null; |
|
return this._reverseListeners$1(current); |
|
}, |
|
_reverseListeners$1: function(listeners) { |
|
var current, prev, next; |
|
for (current = listeners, prev = null; current != null; prev = current, current = next) { |
|
next = current._nextListener; |
|
current._nextListener = prev; |
|
} |
|
return prev; |
|
}, |
|
_complete$1: function(value) { |
|
var listeners, _this = this, |
|
t1 = _this.$ti; |
|
if (H.checkSubtype(value, "$isFuture", t1, "$asFuture")) |
|
if (H.checkSubtype(value, "$is_Future", t1, null)) |
|
P._Future__chainCoreFuture(value, _this); |
|
else |
|
P._Future__chainForeignFuture(value, _this); |
|
else { |
|
listeners = _this._removeListeners$0(); |
|
_this._async$_state = 4; |
|
_this._resultOrListeners = value; |
|
P._Future__propagateToListeners(_this, listeners); |
|
} |
|
}, |
|
_completeWithValue$1: function(value) { |
|
var _this = this, |
|
listeners = _this._removeListeners$0(); |
|
_this._async$_state = 4; |
|
_this._resultOrListeners = value; |
|
P._Future__propagateToListeners(_this, listeners); |
|
}, |
|
_completeError$2: function(error, stackTrace) { |
|
var _this = this, |
|
listeners = _this._removeListeners$0(); |
|
_this._async$_state = 8; |
|
_this._resultOrListeners = new P.AsyncError(error, stackTrace); |
|
P._Future__propagateToListeners(_this, listeners); |
|
}, |
|
_completeError$1: function(error) { |
|
return this._completeError$2(error, null); |
|
}, |
|
_asyncComplete$1: function(value) { |
|
var _this = this; |
|
if (H.checkSubtype(value, "$isFuture", _this.$ti, "$asFuture")) { |
|
_this._chainFuture$1(value); |
|
return; |
|
} |
|
_this._async$_state = 1; |
|
_this._zone.scheduleMicrotask$1(new P._Future__asyncComplete_closure(_this, value)); |
|
}, |
|
_chainFuture$1: function(value) { |
|
var _this = this; |
|
if (H.checkSubtype(value, "$is_Future", _this.$ti, null)) { |
|
if (value._async$_state === 8) { |
|
_this._async$_state = 1; |
|
_this._zone.scheduleMicrotask$1(new P._Future__chainFuture_closure(_this, value)); |
|
} else |
|
P._Future__chainCoreFuture(value, _this); |
|
return; |
|
} |
|
P._Future__chainForeignFuture(value, _this); |
|
}, |
|
_asyncCompleteError$2: function(error, stackTrace) { |
|
this._async$_state = 1; |
|
this._zone.scheduleMicrotask$1(new P._Future__asyncCompleteError_closure(this, error, stackTrace)); |
|
}, |
|
$isFuture: 1 |
|
}; |
|
P._Future__addListener_closure.prototype = { |
|
call$0: function() { |
|
P._Future__propagateToListeners(this.$this, this.listener); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._Future__prependListeners_closure.prototype = { |
|
call$0: function() { |
|
P._Future__propagateToListeners(this.$this, this._box_0.listeners); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._Future__chainForeignFuture_closure.prototype = { |
|
call$1: function(value) { |
|
var t1 = this.target; |
|
t1._async$_state = 0; |
|
t1._complete$1(value); |
|
}, |
|
$signature: 20 |
|
}; |
|
P._Future__chainForeignFuture_closure0.prototype = { |
|
call$2: function(error, stackTrace) { |
|
this.target._completeError$2(error, stackTrace); |
|
}, |
|
call$1: function(error) { |
|
return this.call$2(error, null); |
|
}, |
|
"call*": "call$2", |
|
$defaultValues: function() { |
|
return [null]; |
|
}, |
|
$signature: 56 |
|
}; |
|
P._Future__chainForeignFuture_closure1.prototype = { |
|
call$0: function() { |
|
this.target._completeError$2(this.e, this.s); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._Future__asyncComplete_closure.prototype = { |
|
call$0: function() { |
|
this.$this._completeWithValue$1(this.value); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._Future__chainFuture_closure.prototype = { |
|
call$0: function() { |
|
P._Future__chainCoreFuture(this.value, this.$this); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._Future__asyncCompleteError_closure.prototype = { |
|
call$0: function() { |
|
this.$this._completeError$2(this.error, this.stackTrace); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._Future__propagateToListeners_handleWhenCompleteCallback.prototype = { |
|
call$0: function() { |
|
var e, s, t1, exception, t2, originalSource, _this = this, completeResult = null; |
|
try { |
|
t1 = _this.listener; |
|
completeResult = t1.result._zone.run$1(0, t1.callback); |
|
} catch (exception) { |
|
e = H.unwrapException(exception); |
|
s = H.getTraceFromException(exception); |
|
if (_this.hasError) { |
|
t1 = _this._box_1.source._resultOrListeners.error; |
|
t2 = e; |
|
t2 = t1 == null ? t2 == null : t1 === t2; |
|
t1 = t2; |
|
} else |
|
t1 = false; |
|
t2 = _this._box_0; |
|
if (t1) |
|
t2.listenerValueOrError = _this._box_1.source._resultOrListeners; |
|
else |
|
t2.listenerValueOrError = new P.AsyncError(e, s); |
|
t2.listenerHasError = true; |
|
return; |
|
} |
|
if (!!J.getInterceptor$(completeResult).$isFuture) { |
|
if (completeResult instanceof P._Future && completeResult._async$_state >= 4) { |
|
if (completeResult._async$_state === 8) { |
|
t1 = _this._box_0; |
|
t1.listenerValueOrError = completeResult._resultOrListeners; |
|
t1.listenerHasError = true; |
|
} |
|
return; |
|
} |
|
originalSource = _this._box_1.source; |
|
t1 = _this._box_0; |
|
t1.listenerValueOrError = completeResult.then$1$1(new P._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), null); |
|
t1.listenerHasError = false; |
|
} |
|
} |
|
}; |
|
P._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = { |
|
call$1: function(_) { |
|
return this.originalSource; |
|
}, |
|
$signature: 57 |
|
}; |
|
P._Future__propagateToListeners_handleValueCallback.prototype = { |
|
call$0: function() { |
|
var e, s, t1, exception, _this = this; |
|
try { |
|
t1 = _this.listener; |
|
_this._box_0.listenerValueOrError = t1.result._zone.runUnary$2(t1.callback, _this.sourceResult); |
|
} catch (exception) { |
|
e = H.unwrapException(exception); |
|
s = H.getTraceFromException(exception); |
|
t1 = _this._box_0; |
|
t1.listenerValueOrError = new P.AsyncError(e, s); |
|
t1.listenerHasError = true; |
|
} |
|
} |
|
}; |
|
P._Future__propagateToListeners_handleError.prototype = { |
|
call$0: function() { |
|
var asyncError, e, s, t1, t2, exception, t3, t4, _this = this; |
|
try { |
|
asyncError = _this._box_1.source._resultOrListeners; |
|
t1 = _this.listener; |
|
if (t1.matchesErrorTest$1(asyncError) && t1.errorCallback != null) { |
|
t2 = _this._box_0; |
|
t2.listenerValueOrError = t1.handleError$1(asyncError); |
|
t2.listenerHasError = false; |
|
} |
|
} catch (exception) { |
|
e = H.unwrapException(exception); |
|
s = H.getTraceFromException(exception); |
|
t1 = _this._box_1.source._resultOrListeners; |
|
t2 = t1.error; |
|
t3 = e; |
|
t4 = _this._box_0; |
|
if (t2 == null ? t3 == null : t2 === t3) |
|
t4.listenerValueOrError = t1; |
|
else |
|
t4.listenerValueOrError = new P.AsyncError(e, s); |
|
t4.listenerHasError = true; |
|
} |
|
} |
|
}; |
|
P._AsyncCallbackEntry.prototype = {}; |
|
P.Stream.prototype = { |
|
get$isBroadcast: function() { |
|
return false; |
|
}, |
|
get$length: function(_) { |
|
var t1 = {}, |
|
future = new P._Future($.Zone__current, [P.int]); |
|
t1.count = 0; |
|
this.listen$4$cancelOnError$onDone$onError(new P.Stream_length_closure(t1, this), true, new P.Stream_length_closure0(t1, future), future.get$_completeError()); |
|
return future; |
|
} |
|
}; |
|
P.Stream_Stream$fromFuture_closure.prototype = { |
|
call$1: function(value) { |
|
var t1 = this.controller; |
|
t1._async$_add$1(value); |
|
t1._closeUnchecked$0(); |
|
}, |
|
$signature: function() { |
|
return {func: 1, ret: P.Null, args: [this.T]}; |
|
} |
|
}; |
|
P.Stream_Stream$fromFuture_closure0.prototype = { |
|
call$2: function(error, stackTrace) { |
|
var t1 = this.controller; |
|
t1._addError$2(error, stackTrace); |
|
t1._closeUnchecked$0(); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2, |
|
$signature: 12 |
|
}; |
|
P.Stream_length_closure.prototype = { |
|
call$1: function(_) { |
|
++this._box_0.count; |
|
}, |
|
$signature: function() { |
|
return {func: 1, ret: P.Null, args: [H.getRuntimeTypeArgument(this.$this, "Stream", 0)]}; |
|
} |
|
}; |
|
P.Stream_length_closure0.prototype = { |
|
call$0: function() { |
|
this.future._complete$1(this._box_0.count); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P.StreamSubscription.prototype = {}; |
|
P.EventSink.prototype = {}; |
|
P.StreamTransformerBase.prototype = {}; |
|
P._StreamController.prototype = { |
|
get$stream: function() { |
|
return new P._ControllerStream(this, this.$ti); |
|
}, |
|
get$_pendingEvents: function() { |
|
if ((this._async$_state & 8) === 0) |
|
return this._varData; |
|
return this._varData.varData; |
|
}, |
|
_ensurePendingEvents$0: function() { |
|
var t1, state, _this = this; |
|
if ((_this._async$_state & 8) === 0) { |
|
t1 = _this._varData; |
|
return t1 == null ? _this._varData = new P._StreamImplEvents() : t1; |
|
} |
|
state = _this._varData; |
|
t1 = state.varData; |
|
return t1 == null ? state.varData = new P._StreamImplEvents() : t1; |
|
}, |
|
get$_subscription: function() { |
|
if ((this._async$_state & 8) !== 0) |
|
return this._varData.varData; |
|
return this._varData; |
|
}, |
|
_badEventState$0: function() { |
|
if ((this._async$_state & 4) !== 0) |
|
return new P.StateError("Cannot add event after closing"); |
|
return new P.StateError("Cannot add event while adding a stream"); |
|
}, |
|
addStream$2$cancelOnError: function(source, cancelOnError) { |
|
var t2, t3, t4, _this = this, |
|
t1 = _this._async$_state; |
|
if (t1 >= 4) |
|
throw H.wrapException(_this._badEventState$0()); |
|
if ((t1 & 2) !== 0) { |
|
t1 = new P._Future($.Zone__current, [null]); |
|
t1._asyncComplete$1(null); |
|
return t1; |
|
} |
|
t1 = _this._varData; |
|
t2 = new P._Future($.Zone__current, [null]); |
|
t3 = source.listen$4$cancelOnError$onDone$onError(_this.get$_async$_add(), false, _this.get$_close(), _this.get$_addError()); |
|
t4 = _this._async$_state; |
|
if ((t4 & 1) !== 0 ? (_this.get$_subscription()._async$_state & 4) !== 0 : (t4 & 2) === 0) |
|
t3.pause$0(0); |
|
_this._varData = new P._StreamControllerAddStreamState(t1, t2, t3); |
|
_this._async$_state |= 8; |
|
return t2; |
|
}, |
|
_ensureDoneFuture$0: function() { |
|
var t1 = this._doneFuture; |
|
if (t1 == null) |
|
t1 = this._doneFuture = (this._async$_state & 2) !== 0 ? $.$get$Future__nullFuture() : new P._Future($.Zone__current, [null]); |
|
return t1; |
|
}, |
|
add$1: function(_, value) { |
|
if (this._async$_state >= 4) |
|
throw H.wrapException(this._badEventState$0()); |
|
this._async$_add$1(value); |
|
}, |
|
addError$2: function(error, stackTrace) { |
|
var replacement; |
|
if (this._async$_state >= 4) |
|
throw H.wrapException(this._badEventState$0()); |
|
if (error == null) |
|
error = new P.NullThrownError(); |
|
replacement = $.Zone__current.errorCallback$2(error, stackTrace); |
|
if (replacement != null) { |
|
error = replacement.error; |
|
if (error == null) |
|
error = new P.NullThrownError(); |
|
stackTrace = replacement.stackTrace; |
|
} |
|
this._addError$2(error, stackTrace); |
|
}, |
|
addError$1: function(error) { |
|
return this.addError$2(error, null); |
|
}, |
|
close$0: function(_) { |
|
var _this = this, |
|
t1 = _this._async$_state; |
|
if ((t1 & 4) !== 0) |
|
return _this._ensureDoneFuture$0(); |
|
if (t1 >= 4) |
|
throw H.wrapException(_this._badEventState$0()); |
|
_this._closeUnchecked$0(); |
|
return _this._ensureDoneFuture$0(); |
|
}, |
|
_closeUnchecked$0: function() { |
|
var t1 = this._async$_state |= 4; |
|
if ((t1 & 1) !== 0) |
|
this._sendDone$0(); |
|
else if ((t1 & 3) === 0) |
|
this._ensurePendingEvents$0().add$1(0, C.C__DelayedDone); |
|
}, |
|
_async$_add$1: function(value) { |
|
var t1 = this._async$_state; |
|
if ((t1 & 1) !== 0) |
|
this._sendData$1(value); |
|
else if ((t1 & 3) === 0) |
|
this._ensurePendingEvents$0().add$1(0, new P._DelayedData(value)); |
|
}, |
|
_addError$2: function(error, stackTrace) { |
|
var t1 = this._async$_state; |
|
if ((t1 & 1) !== 0) |
|
this._sendError$2(error, stackTrace); |
|
else if ((t1 & 3) === 0) |
|
this._ensurePendingEvents$0().add$1(0, new P._DelayedError(error, stackTrace)); |
|
}, |
|
_close$0: function() { |
|
var addState = this._varData; |
|
this._varData = addState.varData; |
|
this._async$_state &= 4294967287; |
|
addState.addStreamFuture._asyncComplete$1(null); |
|
}, |
|
_subscribe$4: function(onData, onError, onDone, cancelOnError) { |
|
var t1, t2, subscription, pendingEvents, addState, _this = this; |
|
if ((_this._async$_state & 3) !== 0) |
|
throw H.wrapException(P.StateError$("Stream has already been listened to.")); |
|
t1 = $.Zone__current; |
|
t2 = cancelOnError ? 1 : 0; |
|
subscription = new P._ControllerSubscription(_this, t1, t2, _this.$ti); |
|
subscription._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError, H.getTypeArgumentByIndex(_this, 0)); |
|
pendingEvents = _this.get$_pendingEvents(); |
|
t2 = _this._async$_state |= 1; |
|
if ((t2 & 8) !== 0) { |
|
addState = _this._varData; |
|
addState.varData = subscription; |
|
addState.addSubscription.resume$0(); |
|
} else |
|
_this._varData = subscription; |
|
subscription._setPendingEvents$1(pendingEvents); |
|
subscription._guardCallback$1(new P._StreamController__subscribe_closure(_this)); |
|
return subscription; |
|
}, |
|
_recordCancel$1: function(subscription) { |
|
var e, s, t1, exception, result0, _this = this, result = null; |
|
if ((_this._async$_state & 8) !== 0) |
|
result = _this._varData.cancel$0(); |
|
_this._varData = null; |
|
_this._async$_state = _this._async$_state & 4294967286 | 2; |
|
t1 = _this.onCancel; |
|
if (t1 != null) |
|
if (result == null) |
|
try { |
|
result = t1.call$0(); |
|
} catch (exception) { |
|
e = H.unwrapException(exception); |
|
s = H.getTraceFromException(exception); |
|
result0 = new P._Future($.Zone__current, [null]); |
|
result0._asyncCompleteError$2(e, s); |
|
result = result0; |
|
} |
|
else |
|
result = result.whenComplete$1(t1); |
|
t1 = new P._StreamController__recordCancel_complete(_this); |
|
if (result != null) |
|
result = result.whenComplete$1(t1); |
|
else |
|
t1.call$0(); |
|
return result; |
|
}, |
|
_recordPause$1: function(subscription) { |
|
if ((this._async$_state & 8) !== 0) |
|
this._varData.addSubscription.pause$0(0); |
|
P._runGuarded(this.onPause); |
|
}, |
|
_recordResume$1: function(subscription) { |
|
if ((this._async$_state & 8) !== 0) |
|
this._varData.addSubscription.resume$0(); |
|
P._runGuarded(this.onResume); |
|
}, |
|
$isEventSink: 1, |
|
set$onListen: function(val) { |
|
return this.onListen = val; |
|
}, |
|
set$onPause: function(val) { |
|
return this.onPause = val; |
|
}, |
|
set$onResume: function(val) { |
|
return this.onResume = val; |
|
}, |
|
set$onCancel: function(val) { |
|
return this.onCancel = val; |
|
} |
|
}; |
|
P._StreamController__subscribe_closure.prototype = { |
|
call$0: function() { |
|
P._runGuarded(this.$this.onListen); |
|
} |
|
}; |
|
P._StreamController__recordCancel_complete.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this._doneFuture; |
|
if (t1 != null && t1._async$_state === 0) |
|
t1._asyncComplete$1(null); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._SyncStreamControllerDispatch.prototype = { |
|
_sendData$1: function(data) { |
|
this.get$_subscription()._async$_add$1(data); |
|
}, |
|
_sendError$2: function(error, stackTrace) { |
|
this.get$_subscription()._addError$2(error, stackTrace); |
|
}, |
|
_sendDone$0: function() { |
|
this.get$_subscription()._close$0(); |
|
} |
|
}; |
|
P._AsyncStreamControllerDispatch.prototype = { |
|
_sendData$1: function(data) { |
|
this.get$_subscription()._addPending$1(new P._DelayedData(data)); |
|
}, |
|
_sendError$2: function(error, stackTrace) { |
|
this.get$_subscription()._addPending$1(new P._DelayedError(error, stackTrace)); |
|
}, |
|
_sendDone$0: function() { |
|
this.get$_subscription()._addPending$1(C.C__DelayedDone); |
|
} |
|
}; |
|
P._AsyncStreamController.prototype = {}; |
|
P._SyncStreamController.prototype = {}; |
|
P._ControllerStream.prototype = { |
|
get$hashCode: function(_) { |
|
return (H.Primitives_objectHashCode(this._async$_controller) ^ 892482866) >>> 0; |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
if (this === other) |
|
return true; |
|
return other instanceof P._ControllerStream && other._async$_controller === this._async$_controller; |
|
} |
|
}; |
|
P._ControllerSubscription.prototype = { |
|
_async$_onCancel$0: function() { |
|
return this._async$_controller._recordCancel$1(this); |
|
}, |
|
_async$_onPause$0: function() { |
|
this._async$_controller._recordPause$1(this); |
|
}, |
|
_async$_onResume$0: function() { |
|
this._async$_controller._recordResume$1(this); |
|
} |
|
}; |
|
P._AddStreamState.prototype = { |
|
cancel$0: function() { |
|
var cancel = this.addSubscription.cancel$0(); |
|
if (cancel == null) { |
|
this.addStreamFuture._asyncComplete$1(null); |
|
return; |
|
} |
|
return cancel.whenComplete$1(new P._AddStreamState_cancel_closure(this)); |
|
} |
|
}; |
|
P._AddStreamState_cancel_closure.prototype = { |
|
call$0: function() { |
|
this.$this.addStreamFuture._asyncComplete$1(null); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._StreamControllerAddStreamState.prototype = {}; |
|
P._BufferingStreamSubscription.prototype = { |
|
_BufferingStreamSubscription$4: function(onData, onError, onDone, cancelOnError, $T) { |
|
var handleError, _this = this, |
|
handleData = onData == null ? P.async___nullDataHandler$closure() : onData, |
|
t1 = _this._zone; |
|
_this._onData = t1.registerUnaryCallback$1(handleData); |
|
handleError = onError == null ? P.async___nullErrorHandler$closure() : onError; |
|
if (H.functionTypeTest(handleError, {func: 1, ret: -1, args: [P.Object, P.StackTrace]})) |
|
_this._onError = t1.registerBinaryCallback$1(handleError); |
|
else if (H.functionTypeTest(handleError, {func: 1, ret: -1, args: [P.Object]})) |
|
_this._onError = t1.registerUnaryCallback$1(handleError); |
|
else |
|
H.throwExpression(P.ArgumentError$("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.")); |
|
_this._onDone = t1.registerCallback$1(onDone == null ? P.async___nullDoneHandler$closure() : onDone); |
|
}, |
|
_setPendingEvents$1: function(pendingEvents) { |
|
var _this = this; |
|
if (pendingEvents == null) |
|
return; |
|
_this._pending = pendingEvents; |
|
if (pendingEvents.lastPendingEvent != null) { |
|
_this._async$_state = (_this._async$_state | 64) >>> 0; |
|
pendingEvents.schedule$1(_this); |
|
} |
|
}, |
|
pause$1: function(_, resumeSignal) { |
|
var t2, t3, _this = this, |
|
t1 = _this._async$_state; |
|
if ((t1 & 8) !== 0) |
|
return; |
|
t2 = (t1 + 128 | 4) >>> 0; |
|
_this._async$_state = t2; |
|
if (t1 < 128 && _this._pending != null) { |
|
t3 = _this._pending; |
|
if (t3._async$_state === 1) |
|
t3._async$_state = 3; |
|
} |
|
if ((t1 & 4) === 0 && (t2 & 32) === 0) |
|
_this._guardCallback$1(_this.get$_async$_onPause()); |
|
}, |
|
pause$0: function($receiver) { |
|
return this.pause$1($receiver, null); |
|
}, |
|
resume$0: function() { |
|
var _this = this, |
|
t1 = _this._async$_state; |
|
if ((t1 & 8) !== 0) |
|
return; |
|
if (t1 >= 128) { |
|
t1 = _this._async$_state = t1 - 128; |
|
if (t1 < 128) |
|
if ((t1 & 64) !== 0 && _this._pending.lastPendingEvent != null) |
|
_this._pending.schedule$1(_this); |
|
else { |
|
t1 = (t1 & 4294967291) >>> 0; |
|
_this._async$_state = t1; |
|
if ((t1 & 32) === 0) |
|
_this._guardCallback$1(_this.get$_async$_onResume()); |
|
} |
|
} |
|
}, |
|
cancel$0: function() { |
|
var _this = this, |
|
t1 = (_this._async$_state & 4294967279) >>> 0; |
|
_this._async$_state = t1; |
|
if ((t1 & 8) === 0) |
|
_this._cancel$0(); |
|
t1 = _this._cancelFuture; |
|
return t1 == null ? $.$get$Future__nullFuture() : t1; |
|
}, |
|
_cancel$0: function() { |
|
var t2, _this = this, |
|
t1 = _this._async$_state = (_this._async$_state | 8) >>> 0; |
|
if ((t1 & 64) !== 0) { |
|
t2 = _this._pending; |
|
if (t2._async$_state === 1) |
|
t2._async$_state = 3; |
|
} |
|
if ((t1 & 32) === 0) |
|
_this._pending = null; |
|
_this._cancelFuture = _this._async$_onCancel$0(); |
|
}, |
|
_async$_add$1: function(data) { |
|
var t1 = this._async$_state; |
|
if ((t1 & 8) !== 0) |
|
return; |
|
if (t1 < 32) |
|
this._sendData$1(data); |
|
else |
|
this._addPending$1(new P._DelayedData(data)); |
|
}, |
|
_addError$2: function(error, stackTrace) { |
|
var t1 = this._async$_state; |
|
if ((t1 & 8) !== 0) |
|
return; |
|
if (t1 < 32) |
|
this._sendError$2(error, stackTrace); |
|
else |
|
this._addPending$1(new P._DelayedError(error, stackTrace)); |
|
}, |
|
_close$0: function() { |
|
var _this = this, |
|
t1 = _this._async$_state; |
|
if ((t1 & 8) !== 0) |
|
return; |
|
t1 = (t1 | 2) >>> 0; |
|
_this._async$_state = t1; |
|
if (t1 < 32) |
|
_this._sendDone$0(); |
|
else |
|
_this._addPending$1(C.C__DelayedDone); |
|
}, |
|
_async$_onPause$0: function() { |
|
}, |
|
_async$_onResume$0: function() { |
|
}, |
|
_async$_onCancel$0: function() { |
|
return; |
|
}, |
|
_addPending$1: function($event) { |
|
var t1, _this = this, |
|
pending = _this._pending; |
|
(pending == null ? _this._pending = new P._StreamImplEvents() : pending).add$1(0, $event); |
|
t1 = _this._async$_state; |
|
if ((t1 & 64) === 0) { |
|
t1 = (t1 | 64) >>> 0; |
|
_this._async$_state = t1; |
|
if (t1 < 128) |
|
_this._pending.schedule$1(_this); |
|
} |
|
}, |
|
_sendData$1: function(data) { |
|
var _this = this, |
|
t1 = _this._async$_state; |
|
_this._async$_state = (t1 | 32) >>> 0; |
|
_this._zone.runUnaryGuarded$2(_this._onData, data); |
|
_this._async$_state = (_this._async$_state & 4294967263) >>> 0; |
|
_this._checkState$1((t1 & 4) !== 0); |
|
}, |
|
_sendError$2: function(error, stackTrace) { |
|
var _this = this, |
|
t1 = _this._async$_state, |
|
t2 = new P._BufferingStreamSubscription__sendError_sendError(_this, error, stackTrace); |
|
if ((t1 & 1) !== 0) { |
|
_this._async$_state = (t1 | 16) >>> 0; |
|
_this._cancel$0(); |
|
t1 = _this._cancelFuture; |
|
if (t1 != null && t1 !== $.$get$Future__nullFuture()) |
|
t1.whenComplete$1(t2); |
|
else |
|
t2.call$0(); |
|
} else { |
|
t2.call$0(); |
|
_this._checkState$1((t1 & 4) !== 0); |
|
} |
|
}, |
|
_sendDone$0: function() { |
|
var t2, _this = this, |
|
t1 = new P._BufferingStreamSubscription__sendDone_sendDone(_this); |
|
_this._cancel$0(); |
|
_this._async$_state = (_this._async$_state | 16) >>> 0; |
|
t2 = _this._cancelFuture; |
|
if (t2 != null && t2 !== $.$get$Future__nullFuture()) |
|
t2.whenComplete$1(t1); |
|
else |
|
t1.call$0(); |
|
}, |
|
_guardCallback$1: function(callback) { |
|
var _this = this, |
|
t1 = _this._async$_state; |
|
_this._async$_state = (t1 | 32) >>> 0; |
|
callback.call$0(); |
|
_this._async$_state = (_this._async$_state & 4294967263) >>> 0; |
|
_this._checkState$1((t1 & 4) !== 0); |
|
}, |
|
_checkState$1: function(wasInputPaused) { |
|
var t2, isInputPaused, _this = this, |
|
t1 = _this._async$_state; |
|
if ((t1 & 64) !== 0 && _this._pending.lastPendingEvent == null) { |
|
t1 = _this._async$_state = (t1 & 4294967231) >>> 0; |
|
if ((t1 & 4) !== 0) |
|
if (t1 < 128) { |
|
t2 = _this._pending; |
|
t2 = t2 == null || t2.lastPendingEvent == null; |
|
} else |
|
t2 = false; |
|
else |
|
t2 = false; |
|
if (t2) { |
|
t1 = (t1 & 4294967291) >>> 0; |
|
_this._async$_state = t1; |
|
} |
|
} |
|
for (; true; wasInputPaused = isInputPaused) { |
|
if ((t1 & 8) !== 0) |
|
return _this._pending = null; |
|
isInputPaused = (t1 & 4) !== 0; |
|
if (wasInputPaused === isInputPaused) |
|
break; |
|
_this._async$_state = (t1 ^ 32) >>> 0; |
|
if (isInputPaused) |
|
_this._async$_onPause$0(); |
|
else |
|
_this._async$_onResume$0(); |
|
t1 = (_this._async$_state & 4294967263) >>> 0; |
|
_this._async$_state = t1; |
|
} |
|
if ((t1 & 64) !== 0 && t1 < 128) |
|
_this._pending.schedule$1(_this); |
|
}, |
|
$isStreamSubscription: 1 |
|
}; |
|
P._BufferingStreamSubscription__sendError_sendError.prototype = { |
|
call$0: function() { |
|
var onError, t3, |
|
t1 = this.$this, |
|
t2 = t1._async$_state; |
|
if ((t2 & 8) !== 0 && (t2 & 16) === 0) |
|
return; |
|
t1._async$_state = (t2 | 32) >>> 0; |
|
onError = t1._onError; |
|
t2 = this.error; |
|
t3 = t1._zone; |
|
if (H.functionTypeTest(onError, {func: 1, ret: -1, args: [P.Object, P.StackTrace]})) |
|
t3.runBinaryGuarded$3(onError, t2, this.stackTrace); |
|
else |
|
t3.runUnaryGuarded$2(t1._onError, t2); |
|
t1._async$_state = (t1._async$_state & 4294967263) >>> 0; |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._BufferingStreamSubscription__sendDone_sendDone.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
t2 = t1._async$_state; |
|
if ((t2 & 16) === 0) |
|
return; |
|
t1._async$_state = (t2 | 42) >>> 0; |
|
t1._zone.runGuarded$1(t1._onDone); |
|
t1._async$_state = (t1._async$_state & 4294967263) >>> 0; |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._StreamImpl.prototype = { |
|
listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) { |
|
return this._async$_controller._subscribe$4(onData, onError, onDone, true === cancelOnError); |
|
}, |
|
listen$3$onDone$onError: function(onData, onDone, onError) { |
|
return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); |
|
} |
|
}; |
|
P._DelayedEvent.prototype = { |
|
get$next: function() { |
|
return this.next; |
|
}, |
|
set$next: function(val) { |
|
return this.next = val; |
|
} |
|
}; |
|
P._DelayedData.prototype = { |
|
perform$1: function(dispatch) { |
|
dispatch._sendData$1(this.value); |
|
} |
|
}; |
|
P._DelayedError.prototype = { |
|
perform$1: function(dispatch) { |
|
dispatch._sendError$2(this.error, this.stackTrace); |
|
} |
|
}; |
|
P._DelayedDone.prototype = { |
|
perform$1: function(dispatch) { |
|
dispatch._sendDone$0(); |
|
}, |
|
get$next: function() { |
|
return; |
|
}, |
|
set$next: function(_) { |
|
throw H.wrapException(P.StateError$("No events after a done.")); |
|
} |
|
}; |
|
P._PendingEvents.prototype = { |
|
schedule$1: function(dispatch) { |
|
var _this = this, |
|
t1 = _this._async$_state; |
|
if (t1 === 1) |
|
return; |
|
if (t1 >= 1) { |
|
_this._async$_state = 1; |
|
return; |
|
} |
|
P.scheduleMicrotask(new P._PendingEvents_schedule_closure(_this, dispatch)); |
|
_this._async$_state = 1; |
|
} |
|
}; |
|
P._PendingEvents_schedule_closure.prototype = { |
|
call$0: function() { |
|
var $event, t2, |
|
t1 = this.$this, |
|
oldState = t1._async$_state; |
|
t1._async$_state = 0; |
|
if (oldState === 3) |
|
return; |
|
$event = t1.firstPendingEvent; |
|
t2 = $event.get$next(); |
|
t1.firstPendingEvent = t2; |
|
if (t2 == null) |
|
t1.lastPendingEvent = null; |
|
$event.perform$1(this.dispatch); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._StreamImplEvents.prototype = { |
|
add$1: function(_, $event) { |
|
var _this = this, |
|
t1 = _this.lastPendingEvent; |
|
if (t1 == null) |
|
_this.firstPendingEvent = _this.lastPendingEvent = $event; |
|
else { |
|
t1.set$next($event); |
|
_this.lastPendingEvent = $event; |
|
} |
|
} |
|
}; |
|
P._DoneStreamSubscription.prototype = { |
|
_schedule$0: function() { |
|
var _this = this; |
|
if ((_this._async$_state & 2) !== 0) |
|
return; |
|
_this._zone.scheduleMicrotask$1(_this.get$_sendDone()); |
|
_this._async$_state = (_this._async$_state | 2) >>> 0; |
|
}, |
|
pause$1: function(_, resumeSignal) { |
|
this._async$_state += 4; |
|
}, |
|
pause$0: function($receiver) { |
|
return this.pause$1($receiver, null); |
|
}, |
|
resume$0: function() { |
|
var t1 = this._async$_state; |
|
if (t1 >= 4) { |
|
t1 = this._async$_state = t1 - 4; |
|
if (t1 < 4 && (t1 & 1) === 0) |
|
this._schedule$0(); |
|
} |
|
}, |
|
cancel$0: function() { |
|
return $.$get$Future__nullFuture(); |
|
}, |
|
_sendDone$0: function() { |
|
var _this = this, |
|
t1 = _this._async$_state = (_this._async$_state & 4294967293) >>> 0; |
|
if (t1 >= 4) |
|
return; |
|
_this._async$_state = (t1 | 1) >>> 0; |
|
_this._zone.runGuarded$1(_this._onDone); |
|
}, |
|
$isStreamSubscription: 1 |
|
}; |
|
P._StreamIterator.prototype = { |
|
get$current: function(_) { |
|
if (this._subscription != null && this._isPaused) |
|
return this._stateData; |
|
return; |
|
}, |
|
moveNext$0: function() { |
|
var future, _this = this, |
|
t1 = _this._subscription; |
|
if (t1 != null) { |
|
if (_this._isPaused) { |
|
future = new P._Future($.Zone__current, [P.bool]); |
|
_this._stateData = future; |
|
_this._isPaused = false; |
|
t1.resume$0(); |
|
return future; |
|
} |
|
throw H.wrapException(P.StateError$("Already waiting for next.")); |
|
} |
|
return _this._initializeOrDone$0(); |
|
}, |
|
_initializeOrDone$0: function() { |
|
var _this = this, |
|
stateData = _this._stateData; |
|
if (stateData != null) { |
|
_this._subscription = stateData.listen$4$cancelOnError$onDone$onError(_this.get$_onData(), true, _this.get$_onDone(), _this.get$_onError()); |
|
return _this._stateData = new P._Future($.Zone__current, [P.bool]); |
|
} |
|
return $.$get$Future__falseFuture(); |
|
}, |
|
cancel$0: function() { |
|
var _this = this, |
|
subscription = _this._subscription, |
|
stateData = _this._stateData; |
|
_this._stateData = null; |
|
if (subscription != null) { |
|
_this._subscription = null; |
|
if (!_this._isPaused) |
|
stateData._asyncComplete$1(false); |
|
return subscription.cancel$0(); |
|
} |
|
return $.$get$Future__nullFuture(); |
|
}, |
|
_onData$1: function(data) { |
|
var t1, _this = this, |
|
moveNextFuture = _this._stateData; |
|
_this._stateData = data; |
|
_this._isPaused = true; |
|
moveNextFuture._complete$1(true); |
|
t1 = _this._subscription; |
|
if (t1 != null && _this._isPaused) |
|
t1.pause$0(0); |
|
}, |
|
_onError$2: function(error, stackTrace) { |
|
var moveNextFuture = this._stateData; |
|
this._stateData = this._subscription = null; |
|
moveNextFuture._completeError$2(error, stackTrace); |
|
}, |
|
_onError$1: function(error) { |
|
return this._onError$2(error, null); |
|
}, |
|
_onDone$0: function() { |
|
var moveNextFuture = this._stateData; |
|
this._stateData = this._subscription = null; |
|
moveNextFuture._complete$1(false); |
|
} |
|
}; |
|
P._ForwardingStream.prototype = { |
|
get$isBroadcast: function() { |
|
return this._async$_source.get$isBroadcast(); |
|
}, |
|
listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) { |
|
var t1, t2, _this = this; |
|
cancelOnError = true === cancelOnError; |
|
t1 = $.Zone__current; |
|
t2 = cancelOnError ? 1 : 0; |
|
t2 = new P._ForwardingStreamSubscription(_this, t1, t2, _this.$ti); |
|
t2._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError, H.getTypeArgumentByIndex(_this, 1)); |
|
t2._subscription = _this._async$_source.listen$3$onDone$onError(t2.get$_handleData(), t2.get$_handleDone(), t2.get$_handleError()); |
|
return t2; |
|
}, |
|
listen$3$onDone$onError: function(onData, onDone, onError) { |
|
return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); |
|
}, |
|
_handleData$2: function(data, sink) { |
|
sink._async$_add$1(data); |
|
}, |
|
$asStream: function($S, $T) { |
|
return [$T]; |
|
} |
|
}; |
|
P._ForwardingStreamSubscription.prototype = { |
|
_async$_add$1: function(data) { |
|
if ((this._async$_state & 2) !== 0) |
|
return; |
|
this.super$_BufferingStreamSubscription$_add(data); |
|
}, |
|
_addError$2: function(error, stackTrace) { |
|
if ((this._async$_state & 2) !== 0) |
|
return; |
|
this.super$_BufferingStreamSubscription$_addError(error, stackTrace); |
|
}, |
|
_async$_onPause$0: function() { |
|
var t1 = this._subscription; |
|
if (t1 == null) |
|
return; |
|
t1.pause$0(0); |
|
}, |
|
_async$_onResume$0: function() { |
|
var t1 = this._subscription; |
|
if (t1 == null) |
|
return; |
|
t1.resume$0(); |
|
}, |
|
_async$_onCancel$0: function() { |
|
var t1 = this._subscription; |
|
if (t1 != null) { |
|
this._subscription = null; |
|
return t1.cancel$0(); |
|
} |
|
return; |
|
}, |
|
_handleData$1: function(data) { |
|
this._stream._handleData$2(data, this); |
|
}, |
|
_handleError$2: function(error, stackTrace) { |
|
this._addError$2(error, stackTrace); |
|
}, |
|
_handleDone$0: function() { |
|
this._close$0(); |
|
}, |
|
$asStreamSubscription: function($S, $T) { |
|
return [$T]; |
|
}, |
|
$as_BufferingStreamSubscription: function($S, $T) { |
|
return [$T]; |
|
} |
|
}; |
|
P._ExpandStream.prototype = { |
|
_handleData$2: function(inputEvent, sink) { |
|
var value, e, s, t1, exception; |
|
try { |
|
for (t1 = J.get$iterator$ax(this._expand.call$1(inputEvent)); t1.moveNext$0();) { |
|
value = t1.get$current(t1); |
|
sink._async$_add$1(value); |
|
} |
|
} catch (exception) { |
|
e = H.unwrapException(exception); |
|
s = H.getTraceFromException(exception); |
|
P._addErrorWithReplacement(sink, e, s); |
|
} |
|
} |
|
}; |
|
P.Timer.prototype = {}; |
|
P.AsyncError.prototype = { |
|
toString$0: function(_) { |
|
return H.S(this.error); |
|
}, |
|
$isError: 1 |
|
}; |
|
P._ZoneFunction.prototype = {}; |
|
P.ZoneSpecification.prototype = {}; |
|
P._ZoneSpecification.prototype = {$isZoneSpecification: 1}; |
|
P.ZoneDelegate.prototype = {}; |
|
P.Zone.prototype = {}; |
|
P._ZoneDelegate.prototype = {$isZoneDelegate: 1}; |
|
P._Zone.prototype = {$isZone: 1}; |
|
P._CustomZone.prototype = { |
|
get$_delegate: function() { |
|
var t1 = this._delegateCache; |
|
if (t1 != null) |
|
return t1; |
|
return this._delegateCache = new P._ZoneDelegate(this); |
|
}, |
|
get$errorZone: function() { |
|
return this._handleUncaughtError.zone; |
|
}, |
|
runGuarded$1: function(f) { |
|
var e, s, exception; |
|
try { |
|
this.run$1(0, f); |
|
} catch (exception) { |
|
e = H.unwrapException(exception); |
|
s = H.getTraceFromException(exception); |
|
this.handleUncaughtError$2(e, s); |
|
} |
|
}, |
|
runUnaryGuarded$1$2: function(f, arg) { |
|
var e, s, exception; |
|
try { |
|
this.runUnary$2(f, arg); |
|
} catch (exception) { |
|
e = H.unwrapException(exception); |
|
s = H.getTraceFromException(exception); |
|
this.handleUncaughtError$2(e, s); |
|
} |
|
}, |
|
runUnaryGuarded$2: function(f, arg) { |
|
return this.runUnaryGuarded$1$2(f, arg, null); |
|
}, |
|
runBinaryGuarded$2$3: function(f, arg1, arg2) { |
|
var e, s, exception; |
|
try { |
|
this.runBinary$3(f, arg1, arg2); |
|
} catch (exception) { |
|
e = H.unwrapException(exception); |
|
s = H.getTraceFromException(exception); |
|
this.handleUncaughtError$2(e, s); |
|
} |
|
}, |
|
runBinaryGuarded$3: function(f, arg1, arg2) { |
|
return this.runBinaryGuarded$2$3(f, arg1, arg2, null, null); |
|
}, |
|
bindCallback$1$1: function(f) { |
|
return new P._CustomZone_bindCallback_closure(this, this.registerCallback$1(f)); |
|
}, |
|
bindCallback$1: function(f) { |
|
return this.bindCallback$1$1(f, null); |
|
}, |
|
bindUnaryCallback$2$1: function(f, $R, $T) { |
|
return new P._CustomZone_bindUnaryCallback_closure(this, this.registerUnaryCallback$1(f), $T, $R); |
|
}, |
|
bindCallbackGuarded$1: function(f) { |
|
return new P._CustomZone_bindCallbackGuarded_closure(this, this.registerCallback$1(f)); |
|
}, |
|
$index: function(_, key) { |
|
var value, |
|
t1 = this._async$_map, |
|
result = t1.$index(0, key); |
|
if (result != null || t1.containsKey$1(key)) |
|
return result; |
|
value = this.parent.$index(0, key); |
|
if (value != null) |
|
t1.$indexSet(0, key, value); |
|
return value; |
|
}, |
|
handleUncaughtError$2: function(error, stackTrace) { |
|
var implementation = this._handleUncaughtError, |
|
t1 = implementation.zone, |
|
parentDelegate = P._parentDelegate(t1); |
|
return implementation.$function.call$5(t1, parentDelegate, this, error, stackTrace); |
|
}, |
|
fork$2$specification$zoneValues: function(specification, zoneValues) { |
|
var implementation = this._fork, |
|
t1 = implementation.zone, |
|
parentDelegate = P._parentDelegate(t1); |
|
return implementation.$function.call$5(t1, parentDelegate, this, specification, zoneValues); |
|
}, |
|
run$1$1: function(_, f) { |
|
var implementation = this._run, |
|
t1 = implementation.zone, |
|
parentDelegate = P._parentDelegate(t1); |
|
return implementation.$function.call$4(t1, parentDelegate, this, f); |
|
}, |
|
run$1: function($receiver, f) { |
|
return this.run$1$1($receiver, f, null); |
|
}, |
|
runUnary$2$2: function(f, arg) { |
|
var implementation = this._runUnary, |
|
t1 = implementation.zone, |
|
parentDelegate = P._parentDelegate(t1); |
|
return implementation.$function.call$5(t1, parentDelegate, this, f, arg); |
|
}, |
|
runUnary$2: function(f, arg) { |
|
return this.runUnary$2$2(f, arg, null, null); |
|
}, |
|
runBinary$3$3: function(f, arg1, arg2) { |
|
var implementation = this._runBinary, |
|
t1 = implementation.zone, |
|
parentDelegate = P._parentDelegate(t1); |
|
return implementation.$function.call$6(t1, parentDelegate, this, f, arg1, arg2); |
|
}, |
|
runBinary$3: function(f, arg1, arg2) { |
|
return this.runBinary$3$3(f, arg1, arg2, null, null, null); |
|
}, |
|
registerCallback$1$1: function(callback) { |
|
var implementation = this._registerCallback, |
|
t1 = implementation.zone, |
|
parentDelegate = P._parentDelegate(t1); |
|
return implementation.$function.call$4(t1, parentDelegate, this, callback); |
|
}, |
|
registerCallback$1: function(callback) { |
|
return this.registerCallback$1$1(callback, null); |
|
}, |
|
registerUnaryCallback$2$1: function(callback) { |
|
var implementation = this._registerUnaryCallback, |
|
t1 = implementation.zone, |
|
parentDelegate = P._parentDelegate(t1); |
|
return implementation.$function.call$4(t1, parentDelegate, this, callback); |
|
}, |
|
registerUnaryCallback$1: function(callback) { |
|
return this.registerUnaryCallback$2$1(callback, null, null); |
|
}, |
|
registerBinaryCallback$3$1: function(callback) { |
|
var implementation = this._registerBinaryCallback, |
|
t1 = implementation.zone, |
|
parentDelegate = P._parentDelegate(t1); |
|
return implementation.$function.call$4(t1, parentDelegate, this, callback); |
|
}, |
|
registerBinaryCallback$1: function(callback) { |
|
return this.registerBinaryCallback$3$1(callback, null, null, null); |
|
}, |
|
errorCallback$2: function(error, stackTrace) { |
|
var parentDelegate, |
|
implementation = this._errorCallback, |
|
implementationZone = implementation.zone; |
|
if (implementationZone === C.C__RootZone) |
|
return; |
|
parentDelegate = P._parentDelegate(implementationZone); |
|
return implementation.$function.call$5(implementationZone, parentDelegate, this, error, stackTrace); |
|
}, |
|
scheduleMicrotask$1: function(f) { |
|
var implementation = this._scheduleMicrotask, |
|
t1 = implementation.zone, |
|
parentDelegate = P._parentDelegate(t1); |
|
return implementation.$function.call$4(t1, parentDelegate, this, f); |
|
}, |
|
createTimer$2: function(duration, f) { |
|
var implementation = this._createTimer, |
|
t1 = implementation.zone, |
|
parentDelegate = P._parentDelegate(t1); |
|
return implementation.$function.call$5(t1, parentDelegate, this, duration, f); |
|
}, |
|
print$1: function(line) { |
|
var implementation = this._print, |
|
t1 = implementation.zone, |
|
parentDelegate = P._parentDelegate(t1); |
|
return implementation.$function.call$4(t1, parentDelegate, this, line); |
|
}, |
|
get$_run: function() { |
|
return this._run; |
|
}, |
|
get$_runUnary: function() { |
|
return this._runUnary; |
|
}, |
|
get$_runBinary: function() { |
|
return this._runBinary; |
|
}, |
|
get$_registerCallback: function() { |
|
return this._registerCallback; |
|
}, |
|
get$_registerUnaryCallback: function() { |
|
return this._registerUnaryCallback; |
|
}, |
|
get$_registerBinaryCallback: function() { |
|
return this._registerBinaryCallback; |
|
}, |
|
get$_errorCallback: function() { |
|
return this._errorCallback; |
|
}, |
|
get$_scheduleMicrotask: function() { |
|
return this._scheduleMicrotask; |
|
}, |
|
get$_createTimer: function() { |
|
return this._createTimer; |
|
}, |
|
get$_createPeriodicTimer: function() { |
|
return this._createPeriodicTimer; |
|
}, |
|
get$_print: function() { |
|
return this._print; |
|
}, |
|
get$_fork: function() { |
|
return this._fork; |
|
}, |
|
get$_handleUncaughtError: function() { |
|
return this._handleUncaughtError; |
|
}, |
|
get$parent: function() { |
|
return this.parent; |
|
}, |
|
get$_async$_map: function() { |
|
return this._async$_map; |
|
} |
|
}; |
|
P._CustomZone_bindCallback_closure.prototype = { |
|
call$0: function() { |
|
return this.$this.run$1(0, this.registered); |
|
} |
|
}; |
|
P._CustomZone_bindUnaryCallback_closure.prototype = { |
|
call$1: function(arg) { |
|
return this.$this.runUnary$2(this.registered, arg); |
|
}, |
|
$signature: function() { |
|
return {func: 1, ret: this.R, args: [this.T]}; |
|
} |
|
}; |
|
P._CustomZone_bindCallbackGuarded_closure.prototype = { |
|
call$0: function() { |
|
return this.$this.runGuarded$1(this.registered); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._rootHandleUncaughtError_closure.prototype = { |
|
call$0: function() { |
|
var error, |
|
t1 = this._box_0, |
|
t2 = t1.error; |
|
t1 = t2 == null ? t1.error = new P.NullThrownError() : t2; |
|
t2 = this.stackTrace; |
|
if (t2 == null) |
|
throw H.wrapException(t1); |
|
error = H.wrapException(t1); |
|
error.stack = t2.toString$0(0); |
|
throw error; |
|
} |
|
}; |
|
P._RootZone.prototype = { |
|
get$_run: function() { |
|
return C._ZoneFunction__RootZone__rootRun; |
|
}, |
|
get$_runUnary: function() { |
|
return C._ZoneFunction__RootZone__rootRunUnary; |
|
}, |
|
get$_runBinary: function() { |
|
return C._ZoneFunction__RootZone__rootRunBinary; |
|
}, |
|
get$_registerCallback: function() { |
|
return C._ZoneFunction__RootZone__rootRegisterCallback; |
|
}, |
|
get$_registerUnaryCallback: function() { |
|
return C._ZoneFunction_Eeh; |
|
}, |
|
get$_registerBinaryCallback: function() { |
|
return C._ZoneFunction_7G2; |
|
}, |
|
get$_errorCallback: function() { |
|
return C._ZoneFunction__RootZone__rootErrorCallback; |
|
}, |
|
get$_scheduleMicrotask: function() { |
|
return C._ZoneFunction__RootZone__rootScheduleMicrotask; |
|
}, |
|
get$_createTimer: function() { |
|
return C._ZoneFunction__RootZone__rootCreateTimer; |
|
}, |
|
get$_createPeriodicTimer: function() { |
|
return C._ZoneFunction_3bB; |
|
}, |
|
get$_print: function() { |
|
return C._ZoneFunction__RootZone__rootPrint; |
|
}, |
|
get$_fork: function() { |
|
return C._ZoneFunction__RootZone__rootFork; |
|
}, |
|
get$_handleUncaughtError: function() { |
|
return C._ZoneFunction_NMc; |
|
}, |
|
get$parent: function() { |
|
return; |
|
}, |
|
get$_async$_map: function() { |
|
return $.$get$_RootZone__rootMap(); |
|
}, |
|
get$_delegate: function() { |
|
var t1 = $._RootZone__rootDelegate; |
|
if (t1 != null) |
|
return t1; |
|
return $._RootZone__rootDelegate = new P._ZoneDelegate(this); |
|
}, |
|
get$errorZone: function() { |
|
return this; |
|
}, |
|
runGuarded$1: function(f) { |
|
var e, s, exception, _null = null; |
|
try { |
|
if (C.C__RootZone === $.Zone__current) { |
|
f.call$0(); |
|
return; |
|
} |
|
P._rootRun(_null, _null, this, f); |
|
} catch (exception) { |
|
e = H.unwrapException(exception); |
|
s = H.getTraceFromException(exception); |
|
P._rootHandleUncaughtError(_null, _null, this, e, s); |
|
} |
|
}, |
|
runUnaryGuarded$1$2: function(f, arg) { |
|
var e, s, exception, _null = null; |
|
try { |
|
if (C.C__RootZone === $.Zone__current) { |
|
f.call$1(arg); |
|
return; |
|
} |
|
P._rootRunUnary(_null, _null, this, f, arg); |
|
} catch (exception) { |
|
e = H.unwrapException(exception); |
|
s = H.getTraceFromException(exception); |
|
P._rootHandleUncaughtError(_null, _null, this, e, s); |
|
} |
|
}, |
|
runUnaryGuarded$2: function(f, arg) { |
|
return this.runUnaryGuarded$1$2(f, arg, null); |
|
}, |
|
runBinaryGuarded$2$3: function(f, arg1, arg2) { |
|
var e, s, exception, _null = null; |
|
try { |
|
if (C.C__RootZone === $.Zone__current) { |
|
f.call$2(arg1, arg2); |
|
return; |
|
} |
|
P._rootRunBinary(_null, _null, this, f, arg1, arg2); |
|
} catch (exception) { |
|
e = H.unwrapException(exception); |
|
s = H.getTraceFromException(exception); |
|
P._rootHandleUncaughtError(_null, _null, this, e, s); |
|
} |
|
}, |
|
runBinaryGuarded$3: function(f, arg1, arg2) { |
|
return this.runBinaryGuarded$2$3(f, arg1, arg2, null, null); |
|
}, |
|
bindCallback$1$1: function(f) { |
|
return new P._RootZone_bindCallback_closure(this, f); |
|
}, |
|
bindCallback$1: function(f) { |
|
return this.bindCallback$1$1(f, null); |
|
}, |
|
bindCallbackGuarded$1: function(f) { |
|
return new P._RootZone_bindCallbackGuarded_closure(this, f); |
|
}, |
|
$index: function(_, key) { |
|
return; |
|
}, |
|
handleUncaughtError$2: function(error, stackTrace) { |
|
P._rootHandleUncaughtError(null, null, this, error, stackTrace); |
|
}, |
|
fork$2$specification$zoneValues: function(specification, zoneValues) { |
|
return P._rootFork(null, null, this, specification, zoneValues); |
|
}, |
|
run$1$1: function(_, f) { |
|
if ($.Zone__current === C.C__RootZone) |
|
return f.call$0(); |
|
return P._rootRun(null, null, this, f); |
|
}, |
|
run$1: function($receiver, f) { |
|
return this.run$1$1($receiver, f, null); |
|
}, |
|
runUnary$2$2: function(f, arg) { |
|
if ($.Zone__current === C.C__RootZone) |
|
return f.call$1(arg); |
|
return P._rootRunUnary(null, null, this, f, arg); |
|
}, |
|
runUnary$2: function(f, arg) { |
|
return this.runUnary$2$2(f, arg, null, null); |
|
}, |
|
runBinary$3$3: function(f, arg1, arg2) { |
|
if ($.Zone__current === C.C__RootZone) |
|
return f.call$2(arg1, arg2); |
|
return P._rootRunBinary(null, null, this, f, arg1, arg2); |
|
}, |
|
runBinary$3: function(f, arg1, arg2) { |
|
return this.runBinary$3$3(f, arg1, arg2, null, null, null); |
|
}, |
|
registerCallback$1$1: function(f) { |
|
return f; |
|
}, |
|
registerCallback$1: function(f) { |
|
return this.registerCallback$1$1(f, null); |
|
}, |
|
registerUnaryCallback$2$1: function(f) { |
|
return f; |
|
}, |
|
registerUnaryCallback$1: function(f) { |
|
return this.registerUnaryCallback$2$1(f, null, null); |
|
}, |
|
registerBinaryCallback$3$1: function(f) { |
|
return f; |
|
}, |
|
registerBinaryCallback$1: function(f) { |
|
return this.registerBinaryCallback$3$1(f, null, null, null); |
|
}, |
|
errorCallback$2: function(error, stackTrace) { |
|
return; |
|
}, |
|
scheduleMicrotask$1: function(f) { |
|
P._rootScheduleMicrotask(null, null, this, f); |
|
}, |
|
createTimer$2: function(duration, f) { |
|
return P.Timer__createTimer(duration, f); |
|
}, |
|
print$1: function(line) { |
|
H.printString(line); |
|
} |
|
}; |
|
P._RootZone_bindCallback_closure.prototype = { |
|
call$0: function() { |
|
return this.$this.run$1(0, this.f); |
|
} |
|
}; |
|
P._RootZone_bindCallbackGuarded_closure.prototype = { |
|
call$0: function() { |
|
return this.$this.runGuarded$1(this.f); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
P._HashMap.prototype = { |
|
get$length: function(_) { |
|
return this._collection$_length; |
|
}, |
|
get$isEmpty: function(_) { |
|
return this._collection$_length === 0; |
|
}, |
|
get$isNotEmpty: function(_) { |
|
return this._collection$_length !== 0; |
|
}, |
|
get$keys: function() { |
|
return new P._HashMapKeyIterable(this, [H.getTypeArgumentByIndex(this, 0)]); |
|
}, |
|
get$values: function() { |
|
var _this = this, |
|
t1 = H.getTypeArgumentByIndex(_this, 0); |
|
return H.MappedIterable_MappedIterable(new P._HashMapKeyIterable(_this, [t1]), new P._HashMap_values_closure(_this), t1, H.getTypeArgumentByIndex(_this, 1)); |
|
}, |
|
containsKey$1: function(key) { |
|
var strings, nums; |
|
if (typeof key === "string" && key !== "__proto__") { |
|
strings = this._collection$_strings; |
|
return strings == null ? false : strings[key] != null; |
|
} else if (typeof key === "number" && (key & 1073741823) === key) { |
|
nums = this._collection$_nums; |
|
return nums == null ? false : nums[key] != null; |
|
} else |
|
return this._containsKey$1(key); |
|
}, |
|
_containsKey$1: function(key) { |
|
var rest = this._collection$_rest; |
|
if (rest == null) |
|
return false; |
|
return this._findBucketIndex$2(this._getBucket$2(rest, key), key) >= 0; |
|
}, |
|
addAll$1: function(_, other) { |
|
other.forEach$1(0, new P._HashMap_addAll_closure(this)); |
|
}, |
|
$index: function(_, key) { |
|
var strings, t1, nums; |
|
if (typeof key === "string" && key !== "__proto__") { |
|
strings = this._collection$_strings; |
|
t1 = strings == null ? null : P._HashMap__getTableEntry(strings, key); |
|
return t1; |
|
} else if (typeof key === "number" && (key & 1073741823) === key) { |
|
nums = this._collection$_nums; |
|
t1 = nums == null ? null : P._HashMap__getTableEntry(nums, key); |
|
return t1; |
|
} else |
|
return this._get$1(key); |
|
}, |
|
_get$1: function(key) { |
|
var bucket, index, |
|
rest = this._collection$_rest; |
|
if (rest == null) |
|
return; |
|
bucket = this._getBucket$2(rest, key); |
|
index = this._findBucketIndex$2(bucket, key); |
|
return index < 0 ? null : bucket[index + 1]; |
|
}, |
|
$indexSet: function(_, key, value) { |
|
var strings, nums, _this = this; |
|
if (typeof key === "string" && key !== "__proto__") { |
|
strings = _this._collection$_strings; |
|
_this._collection$_addHashTableEntry$3(strings == null ? _this._collection$_strings = P._HashMap__newHashTable() : strings, key, value); |
|
} else if (typeof key === "number" && (key & 1073741823) === key) { |
|
nums = _this._collection$_nums; |
|
_this._collection$_addHashTableEntry$3(nums == null ? _this._collection$_nums = P._HashMap__newHashTable() : nums, key, value); |
|
} else |
|
_this._set$2(key, value); |
|
}, |
|
_set$2: function(key, value) { |
|
var hash, bucket, index, _this = this, |
|
rest = _this._collection$_rest; |
|
if (rest == null) |
|
rest = _this._collection$_rest = P._HashMap__newHashTable(); |
|
hash = _this._computeHashCode$1(key); |
|
bucket = rest[hash]; |
|
if (bucket == null) { |
|
P._HashMap__setTableEntry(rest, hash, [key, value]); |
|
++_this._collection$_length; |
|
_this._collection$_keys = null; |
|
} else { |
|
index = _this._findBucketIndex$2(bucket, key); |
|
if (index >= 0) |
|
bucket[index + 1] = value; |
|
else { |
|
bucket.push(key, value); |
|
++_this._collection$_length; |
|
_this._collection$_keys = null; |
|
} |
|
} |
|
}, |
|
putIfAbsent$2: function(key, ifAbsent) { |
|
var value; |
|
if (this.containsKey$1(key)) |
|
return this.$index(0, key); |
|
value = ifAbsent.call$0(); |
|
this.$indexSet(0, key, value); |
|
return value; |
|
}, |
|
remove$1: function(_, key) { |
|
var t1; |
|
if (typeof key === "string" && key !== "__proto__") |
|
return this._removeHashTableEntry$2(this._collection$_strings, key); |
|
else { |
|
t1 = this._remove$1(key); |
|
return t1; |
|
} |
|
}, |
|
_remove$1: function(key) { |
|
var bucket, index, _this = this, |
|
rest = _this._collection$_rest; |
|
if (rest == null) |
|
return; |
|
bucket = _this._getBucket$2(rest, key); |
|
index = _this._findBucketIndex$2(bucket, key); |
|
if (index < 0) |
|
return; |
|
--_this._collection$_length; |
|
_this._collection$_keys = null; |
|
return bucket.splice(index, 2)[1]; |
|
}, |
|
forEach$1: function(_, action) { |
|
var $length, i, key, _this = this, |
|
keys = _this._computeKeys$0(); |
|
for ($length = keys.length, i = 0; i < $length; ++i) { |
|
key = keys[i]; |
|
action.call$2(key, _this.$index(0, key)); |
|
if (keys !== _this._collection$_keys) |
|
throw H.wrapException(P.ConcurrentModificationError$(_this)); |
|
} |
|
}, |
|
_computeKeys$0: function() { |
|
var result, strings, names, entries, index, i, nums, rest, bucket, $length, i0, _this = this, |
|
t1 = _this._collection$_keys; |
|
if (t1 != null) |
|
return t1; |
|
result = new Array(_this._collection$_length); |
|
result.fixed$length = Array; |
|
strings = _this._collection$_strings; |
|
if (strings != null) { |
|
names = Object.getOwnPropertyNames(strings); |
|
entries = names.length; |
|
for (index = 0, i = 0; i < entries; ++i) { |
|
result[index] = names[i]; |
|
++index; |
|
} |
|
} else |
|
index = 0; |
|
nums = _this._collection$_nums; |
|
if (nums != null) { |
|
names = Object.getOwnPropertyNames(nums); |
|
entries = names.length; |
|
for (i = 0; i < entries; ++i) { |
|
result[index] = +names[i]; |
|
++index; |
|
} |
|
} |
|
rest = _this._collection$_rest; |
|
if (rest != null) { |
|
names = Object.getOwnPropertyNames(rest); |
|
entries = names.length; |
|
for (i = 0; i < entries; ++i) { |
|
bucket = rest[names[i]]; |
|
$length = bucket.length; |
|
for (i0 = 0; i0 < $length; i0 += 2) { |
|
result[index] = bucket[i0]; |
|
++index; |
|
} |
|
} |
|
} |
|
return _this._collection$_keys = result; |
|
}, |
|
_collection$_addHashTableEntry$3: function(table, key, value) { |
|
if (table[key] == null) { |
|
++this._collection$_length; |
|
this._collection$_keys = null; |
|
} |
|
P._HashMap__setTableEntry(table, key, value); |
|
}, |
|
_removeHashTableEntry$2: function(table, key) { |
|
var value; |
|
if (table != null && table[key] != null) { |
|
value = P._HashMap__getTableEntry(table, key); |
|
delete table[key]; |
|
--this._collection$_length; |
|
this._collection$_keys = null; |
|
return value; |
|
} else |
|
return; |
|
}, |
|
_computeHashCode$1: function(key) { |
|
return J.get$hashCode$(key) & 1073741823; |
|
}, |
|
_getBucket$2: function(table, key) { |
|
return table[this._computeHashCode$1(key)]; |
|
}, |
|
_findBucketIndex$2: function(bucket, key) { |
|
var $length, i; |
|
if (bucket == null) |
|
return -1; |
|
$length = bucket.length; |
|
for (i = 0; i < $length; i += 2) |
|
if (J.$eq$(bucket[i], key)) |
|
return i; |
|
return -1; |
|
} |
|
}; |
|
P._HashMap_values_closure.prototype = { |
|
call$1: function(each) { |
|
return this.$this.$index(0, each); |
|
}, |
|
$signature: function() { |
|
var t1 = this.$this; |
|
return {func: 1, ret: H.getTypeArgumentByIndex(t1, 1), args: [H.getTypeArgumentByIndex(t1, 0)]}; |
|
} |
|
}; |
|
P._HashMap_addAll_closure.prototype = { |
|
call$2: function(key, value) { |
|
this.$this.$indexSet(0, key, value); |
|
}, |
|
$signature: function() { |
|
var t1 = this.$this; |
|
return {func: 1, ret: P.Null, args: [H.getTypeArgumentByIndex(t1, 0), H.getTypeArgumentByIndex(t1, 1)]}; |
|
} |
|
}; |
|
P._HashMapKeyIterable.prototype = { |
|
get$length: function(_) { |
|
return this._collection$_map._collection$_length; |
|
}, |
|
get$isEmpty: function(_) { |
|
return this._collection$_map._collection$_length === 0; |
|
}, |
|
get$iterator: function(_) { |
|
var t1 = this._collection$_map; |
|
return new P._HashMapKeyIterator(t1, t1._computeKeys$0()); |
|
}, |
|
contains$1: function(_, element) { |
|
return this._collection$_map.containsKey$1(element); |
|
} |
|
}; |
|
P._HashMapKeyIterator.prototype = { |
|
get$current: function(_) { |
|
return this._collection$_current; |
|
}, |
|
moveNext$0: function() { |
|
var _this = this, |
|
keys = _this._collection$_keys, |
|
offset = _this._offset, |
|
t1 = _this._collection$_map; |
|
if (keys !== t1._collection$_keys) |
|
throw H.wrapException(P.ConcurrentModificationError$(t1)); |
|
else if (offset >= keys.length) { |
|
_this._collection$_current = null; |
|
return false; |
|
} else { |
|
_this._collection$_current = keys[offset]; |
|
_this._offset = offset + 1; |
|
return true; |
|
} |
|
} |
|
}; |
|
P._LinkedIdentityHashMap.prototype = { |
|
internalComputeHashCode$1: function(key) { |
|
return H.objectHashCode(key) & 1073741823; |
|
}, |
|
internalFindBucketIndex$2: function(bucket, key) { |
|
var $length, i, t1; |
|
if (bucket == null) |
|
return -1; |
|
$length = bucket.length; |
|
for (i = 0; i < $length; ++i) { |
|
t1 = bucket[i].hashMapCellKey; |
|
if (t1 == null ? key == null : t1 === key) |
|
return i; |
|
} |
|
return -1; |
|
} |
|
}; |
|
P._LinkedCustomHashMap.prototype = { |
|
$index: function(_, key) { |
|
if (!this._validKey.call$1(key)) |
|
return; |
|
return this.super$JsLinkedHashMap$internalGet(key); |
|
}, |
|
$indexSet: function(_, key, value) { |
|
this.super$JsLinkedHashMap$internalSet(key, value); |
|
}, |
|
containsKey$1: function(key) { |
|
if (!this._validKey.call$1(key)) |
|
return false; |
|
return this.super$JsLinkedHashMap$internalContainsKey(key); |
|
}, |
|
remove$1: function(_, key) { |
|
if (!this._validKey.call$1(key)) |
|
return; |
|
return this.super$JsLinkedHashMap$internalRemove(key); |
|
}, |
|
internalComputeHashCode$1: function(key) { |
|
return this._collection$_hashCode.call$1(key) & 1073741823; |
|
}, |
|
internalFindBucketIndex$2: function(bucket, key) { |
|
var $length, t1, i; |
|
if (bucket == null) |
|
return -1; |
|
$length = bucket.length; |
|
for (t1 = this._equals, i = 0; i < $length; ++i) |
|
if (t1.call$2(bucket[i].hashMapCellKey, key)) |
|
return i; |
|
return -1; |
|
} |
|
}; |
|
P._LinkedCustomHashMap_closure.prototype = { |
|
call$1: function(v) { |
|
return H.checkSubtypeOfRuntimeType(v, this.K); |
|
}, |
|
$signature: 21 |
|
}; |
|
P._LinkedHashSet.prototype = { |
|
_newSet$0: function() { |
|
return new P._LinkedHashSet(this.$ti); |
|
}, |
|
_newSimilarSet$1$0: function($R) { |
|
return new P._LinkedHashSet([$R]); |
|
}, |
|
_newSimilarSet$0: function() { |
|
return this._newSimilarSet$1$0(null); |
|
}, |
|
get$iterator: function(_) { |
|
var t1 = new P._LinkedHashSetIterator(this, this._collection$_modifications); |
|
t1._collection$_cell = this._collection$_first; |
|
return t1; |
|
}, |
|
get$length: function(_) { |
|
return this._collection$_length; |
|
}, |
|
get$isEmpty: function(_) { |
|
return this._collection$_length === 0; |
|
}, |
|
get$isNotEmpty: function(_) { |
|
return this._collection$_length !== 0; |
|
}, |
|
contains$1: function(_, object) { |
|
var strings, nums; |
|
if (typeof object === "string" && object !== "__proto__") { |
|
strings = this._collection$_strings; |
|
if (strings == null) |
|
return false; |
|
return strings[object] != null; |
|
} else if (typeof object === "number" && (object & 1073741823) === object) { |
|
nums = this._collection$_nums; |
|
if (nums == null) |
|
return false; |
|
return nums[object] != null; |
|
} else |
|
return this._contains$1(object); |
|
}, |
|
_contains$1: function(object) { |
|
var rest = this._collection$_rest; |
|
if (rest == null) |
|
return false; |
|
return this._findBucketIndex$2(this._getBucket$2(rest, object), object) >= 0; |
|
}, |
|
get$first: function(_) { |
|
var t1 = this._collection$_first; |
|
if (t1 == null) |
|
throw H.wrapException(P.StateError$("No elements")); |
|
return t1._element; |
|
}, |
|
get$last: function(_) { |
|
var t1 = this._collection$_last; |
|
if (t1 == null) |
|
throw H.wrapException(P.StateError$("No elements")); |
|
return t1._element; |
|
}, |
|
add$1: function(_, element) { |
|
var strings, nums, _this = this; |
|
if (typeof element === "string" && element !== "__proto__") { |
|
strings = _this._collection$_strings; |
|
return _this._collection$_addHashTableEntry$2(strings == null ? _this._collection$_strings = P._LinkedHashSet__newHashTable() : strings, element); |
|
} else if (typeof element === "number" && (element & 1073741823) === element) { |
|
nums = _this._collection$_nums; |
|
return _this._collection$_addHashTableEntry$2(nums == null ? _this._collection$_nums = P._LinkedHashSet__newHashTable() : nums, element); |
|
} else |
|
return _this._collection$_add$1(element); |
|
}, |
|
_collection$_add$1: function(element) { |
|
var hash, bucket, _this = this, |
|
rest = _this._collection$_rest; |
|
if (rest == null) |
|
rest = _this._collection$_rest = P._LinkedHashSet__newHashTable(); |
|
hash = _this._computeHashCode$1(element); |
|
bucket = rest[hash]; |
|
if (bucket == null) |
|
rest[hash] = [_this._collection$_newLinkedCell$1(element)]; |
|
else { |
|
if (_this._findBucketIndex$2(bucket, element) >= 0) |
|
return false; |
|
bucket.push(_this._collection$_newLinkedCell$1(element)); |
|
} |
|
return true; |
|
}, |
|
remove$1: function(_, object) { |
|
var _this = this; |
|
if (typeof object === "string" && object !== "__proto__") |
|
return _this._removeHashTableEntry$2(_this._collection$_strings, object); |
|
else if (typeof object === "number" && (object & 1073741823) === object) |
|
return _this._removeHashTableEntry$2(_this._collection$_nums, object); |
|
else |
|
return _this._remove$1(object); |
|
}, |
|
_remove$1: function(object) { |
|
var bucket, index, _this = this, |
|
rest = _this._collection$_rest; |
|
if (rest == null) |
|
return false; |
|
bucket = _this._getBucket$2(rest, object); |
|
index = _this._findBucketIndex$2(bucket, object); |
|
if (index < 0) |
|
return false; |
|
_this._unlinkCell$1(bucket.splice(index, 1)[0]); |
|
return true; |
|
}, |
|
_collection$_addHashTableEntry$2: function(table, element) { |
|
if (table[element] != null) |
|
return false; |
|
table[element] = this._collection$_newLinkedCell$1(element); |
|
return true; |
|
}, |
|
_removeHashTableEntry$2: function(table, element) { |
|
var cell; |
|
if (table == null) |
|
return false; |
|
cell = table[element]; |
|
if (cell == null) |
|
return false; |
|
this._unlinkCell$1(cell); |
|
delete table[element]; |
|
return true; |
|
}, |
|
_collection$_modified$0: function() { |
|
this._collection$_modifications = 1073741823 & this._collection$_modifications + 1; |
|
}, |
|
_collection$_newLinkedCell$1: function(element) { |
|
var last, _this = this, |
|
cell = new P._LinkedHashSetCell(element); |
|
if (_this._collection$_first == null) |
|
_this._collection$_first = _this._collection$_last = cell; |
|
else { |
|
last = _this._collection$_last; |
|
cell._collection$_previous = last; |
|
_this._collection$_last = last._collection$_next = cell; |
|
} |
|
++_this._collection$_length; |
|
_this._collection$_modified$0(); |
|
return cell; |
|
}, |
|
_unlinkCell$1: function(cell) { |
|
var _this = this, |
|
previous = cell._collection$_previous, |
|
next = cell._collection$_next; |
|
if (previous == null) |
|
_this._collection$_first = next; |
|
else |
|
previous._collection$_next = next; |
|
if (next == null) |
|
_this._collection$_last = previous; |
|
else |
|
next._collection$_previous = previous; |
|
--_this._collection$_length; |
|
_this._collection$_modified$0(); |
|
}, |
|
_computeHashCode$1: function(element) { |
|
return J.get$hashCode$(element) & 1073741823; |
|
}, |
|
_getBucket$2: function(table, element) { |
|
return table[this._computeHashCode$1(element)]; |
|
}, |
|
_findBucketIndex$2: function(bucket, element) { |
|
var $length, i; |
|
if (bucket == null) |
|
return -1; |
|
$length = bucket.length; |
|
for (i = 0; i < $length; ++i) |
|
if (J.$eq$(bucket[i]._element, element)) |
|
return i; |
|
return -1; |
|
} |
|
}; |
|
P._LinkedIdentityHashSet.prototype = { |
|
_newSet$0: function() { |
|
return new P._LinkedIdentityHashSet(this.$ti); |
|
}, |
|
_newSimilarSet$1$0: function($R) { |
|
return new P._LinkedIdentityHashSet([$R]); |
|
}, |
|
_newSimilarSet$0: function() { |
|
return this._newSimilarSet$1$0(null); |
|
}, |
|
_computeHashCode$1: function(key) { |
|
return H.objectHashCode(key) & 1073741823; |
|
}, |
|
_findBucketIndex$2: function(bucket, element) { |
|
var $length, i, t1; |
|
if (bucket == null) |
|
return -1; |
|
$length = bucket.length; |
|
for (i = 0; i < $length; ++i) { |
|
t1 = bucket[i]._element; |
|
if (t1 == null ? element == null : t1 === element) |
|
return i; |
|
} |
|
return -1; |
|
} |
|
}; |
|
P._LinkedHashSetCell.prototype = {}; |
|
P._LinkedHashSetIterator.prototype = { |
|
get$current: function(_) { |
|
return this._collection$_current; |
|
}, |
|
moveNext$0: function() { |
|
var _this = this, |
|
t1 = _this._set; |
|
if (_this._collection$_modifications !== t1._collection$_modifications) |
|
throw H.wrapException(P.ConcurrentModificationError$(t1)); |
|
else { |
|
t1 = _this._collection$_cell; |
|
if (t1 == null) { |
|
_this._collection$_current = null; |
|
return false; |
|
} else { |
|
_this._collection$_current = t1._element; |
|
_this._collection$_cell = t1._collection$_next; |
|
return true; |
|
} |
|
} |
|
} |
|
}; |
|
P.UnmodifiableListView.prototype = { |
|
cast$1$0: function(_, $R) { |
|
return new P.UnmodifiableListView(J.cast$1$0$ax(this._collection$_source, $R), [$R]); |
|
}, |
|
get$length: function(_) { |
|
return J.get$length$asx(this._collection$_source); |
|
}, |
|
$index: function(_, index) { |
|
return J.elementAt$1$ax(this._collection$_source, index); |
|
} |
|
}; |
|
P.HashMap_HashMap$from_closure.prototype = { |
|
call$2: function(k, v) { |
|
this.result.$indexSet(0, k, v); |
|
}, |
|
$signature: 12 |
|
}; |
|
P.IterableBase.prototype = {}; |
|
P.LinkedHashMap_LinkedHashMap$from_closure.prototype = { |
|
call$2: function(k, v) { |
|
this.result.$indexSet(0, k, v); |
|
}, |
|
$signature: 12 |
|
}; |
|
P.ListBase.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1, $isList: 1}; |
|
P.ListMixin.prototype = { |
|
get$iterator: function(receiver) { |
|
return new H.ListIterator(receiver, this.get$length(receiver)); |
|
}, |
|
elementAt$1: function(receiver, index) { |
|
return this.$index(receiver, index); |
|
}, |
|
get$isEmpty: function(receiver) { |
|
return this.get$length(receiver) === 0; |
|
}, |
|
get$isNotEmpty: function(receiver) { |
|
return !this.get$isEmpty(receiver); |
|
}, |
|
get$first: function(receiver) { |
|
if (this.get$length(receiver) === 0) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
return this.$index(receiver, 0); |
|
}, |
|
get$last: function(receiver) { |
|
if (this.get$length(receiver) === 0) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
return this.$index(receiver, this.get$length(receiver) - 1); |
|
}, |
|
get$single: function(receiver) { |
|
if (this.get$length(receiver) === 0) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
if (this.get$length(receiver) > 1) |
|
throw H.wrapException(H.IterableElementError_tooMany()); |
|
return this.$index(receiver, 0); |
|
}, |
|
contains$1: function(receiver, element) { |
|
var i, |
|
$length = this.get$length(receiver); |
|
for (i = 0; i < $length; ++i) { |
|
if (J.$eq$(this.$index(receiver, i), element)) |
|
return true; |
|
if ($length !== this.get$length(receiver)) |
|
throw H.wrapException(P.ConcurrentModificationError$(receiver)); |
|
} |
|
return false; |
|
}, |
|
every$1: function(receiver, test) { |
|
var i, |
|
$length = this.get$length(receiver); |
|
for (i = 0; i < $length; ++i) { |
|
if (!test.call$1(this.$index(receiver, i))) |
|
return false; |
|
if ($length !== this.get$length(receiver)) |
|
throw H.wrapException(P.ConcurrentModificationError$(receiver)); |
|
} |
|
return true; |
|
}, |
|
any$1: function(receiver, test) { |
|
var i, |
|
$length = this.get$length(receiver); |
|
for (i = 0; i < $length; ++i) { |
|
if (test.call$1(this.$index(receiver, i))) |
|
return true; |
|
if ($length !== this.get$length(receiver)) |
|
throw H.wrapException(P.ConcurrentModificationError$(receiver)); |
|
} |
|
return false; |
|
}, |
|
join$1: function(receiver, separator) { |
|
var t1; |
|
if (this.get$length(receiver) === 0) |
|
return ""; |
|
t1 = P.StringBuffer__writeAll("", receiver, separator); |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
join$0: function($receiver) { |
|
return this.join$1($receiver, ""); |
|
}, |
|
where$1: function(receiver, test) { |
|
return new H.WhereIterable(receiver, test, [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0)]); |
|
}, |
|
map$1$1: function(receiver, f, $T) { |
|
return new H.MappedListIterable(receiver, f, [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0), $T]); |
|
}, |
|
expand$1$1: function(receiver, f, $T) { |
|
return new H.ExpandIterable(receiver, f, [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0), $T]); |
|
}, |
|
skip$1: function(receiver, count) { |
|
return H.SubListIterable$(receiver, count, null, H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0)); |
|
}, |
|
take$1: function(receiver, count) { |
|
return H.SubListIterable$(receiver, 0, count, H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0)); |
|
}, |
|
toList$1$growable: function(receiver, growable) { |
|
var result, t2, i, _this = this, |
|
t1 = H.getRuntimeTypeArgumentIntercepted(_this, receiver, "ListMixin", 0); |
|
if (growable) { |
|
result = H.setRuntimeTypeInfo([], [t1]); |
|
C.JSArray_methods.set$length(result, _this.get$length(receiver)); |
|
} else { |
|
t2 = new Array(_this.get$length(receiver)); |
|
t2.fixed$length = Array; |
|
result = H.setRuntimeTypeInfo(t2, [t1]); |
|
} |
|
for (i = 0; i < _this.get$length(receiver); ++i) |
|
result[i] = _this.$index(receiver, i); |
|
return result; |
|
}, |
|
toList$0: function($receiver) { |
|
return this.toList$1$growable($receiver, true); |
|
}, |
|
toSet$0: function(receiver) { |
|
var i, |
|
result = P.LinkedHashSet_LinkedHashSet(H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0)); |
|
for (i = 0; i < this.get$length(receiver); ++i) |
|
result.add$1(0, this.$index(receiver, i)); |
|
return result; |
|
}, |
|
add$1: function(receiver, element) { |
|
var t1 = this.get$length(receiver); |
|
this.set$length(receiver, t1 + 1); |
|
this.$indexSet(receiver, t1, element); |
|
}, |
|
addAll$1: function(receiver, iterable) { |
|
var t1, element, i0, |
|
i = this.get$length(receiver); |
|
for (t1 = J.get$iterator$ax(iterable); t1.moveNext$0(); i = i0) { |
|
element = t1.get$current(t1); |
|
i0 = i + 1; |
|
this.set$length(receiver, i0); |
|
this.$indexSet(receiver, i, element); |
|
} |
|
}, |
|
cast$1$0: function(receiver, $R) { |
|
return new H.CastList(receiver, [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0), $R]); |
|
}, |
|
sort$1: function(receiver, compare) { |
|
H.Sort_sort(receiver, compare == null ? P.collection_ListMixin__compareAny$closure() : compare); |
|
}, |
|
sublist$2: function(receiver, start, end) { |
|
var $length, result, i, |
|
listLength = this.get$length(receiver); |
|
P.RangeError_checkValidRange(start, end, listLength); |
|
$length = end - start; |
|
result = H.setRuntimeTypeInfo([], [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0)]); |
|
C.JSArray_methods.set$length(result, $length); |
|
for (i = 0; i < $length; ++i) |
|
result[i] = this.$index(receiver, start + i); |
|
return result; |
|
}, |
|
getRange$2: function(receiver, start, end) { |
|
P.RangeError_checkValidRange(start, end, this.get$length(receiver)); |
|
return H.SubListIterable$(receiver, start, end, H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0)); |
|
}, |
|
fillRange$3: function(receiver, start, end, fill) { |
|
var i; |
|
P.RangeError_checkValidRange(start, end, this.get$length(receiver)); |
|
for (i = start; i < end; ++i) |
|
this.$indexSet(receiver, i, fill); |
|
}, |
|
setRange$4: function(receiver, start, end, iterable, skipCount) { |
|
var $length, otherStart, otherList, t1, i, _this = this; |
|
P.RangeError_checkValidRange(start, end, _this.get$length(receiver)); |
|
$length = end - start; |
|
if ($length === 0) |
|
return; |
|
P.RangeError_checkNotNegative(skipCount, "skipCount"); |
|
if (H.checkSubtype(iterable, "$isList", [H.getRuntimeTypeArgumentIntercepted(_this, receiver, "ListMixin", 0)], "$asList")) { |
|
otherStart = skipCount; |
|
otherList = iterable; |
|
} else { |
|
otherList = J.skip$1$ax(iterable, skipCount).toList$1$growable(0, false); |
|
otherStart = 0; |
|
} |
|
t1 = J.getInterceptor$asx(otherList); |
|
if (otherStart + $length > t1.get$length(otherList)) |
|
throw H.wrapException(H.IterableElementError_tooFew()); |
|
if (otherStart < start) |
|
for (i = $length - 1; i >= 0; --i) |
|
_this.$indexSet(receiver, start + i, t1.$index(otherList, otherStart + i)); |
|
else |
|
for (i = 0; i < $length; ++i) |
|
_this.$indexSet(receiver, start + i, t1.$index(otherList, otherStart + i)); |
|
}, |
|
get$reversed: function(receiver) { |
|
return new H.ReversedListIterable(receiver, [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0)]); |
|
}, |
|
toString$0: function(receiver) { |
|
return P.IterableBase_iterableToFullString(receiver, "[", "]"); |
|
} |
|
}; |
|
P.MapBase.prototype = {}; |
|
P.MapBase_mapToString_closure.prototype = { |
|
call$2: function(k, v) { |
|
var t2, |
|
t1 = this._box_0; |
|
if (!t1.first) |
|
this.result._contents += ", "; |
|
t1.first = false; |
|
t1 = this.result; |
|
t2 = t1._contents += H.S(k); |
|
t1._contents = t2 + ": "; |
|
t1._contents += H.S(v); |
|
}, |
|
$signature: 12 |
|
}; |
|
P.MapMixin.prototype = { |
|
forEach$1: function(_, action) { |
|
var t1, key; |
|
for (t1 = J.get$iterator$ax(this.get$keys()); t1.moveNext$0();) { |
|
key = t1.get$current(t1); |
|
action.call$2(key, this.$index(0, key)); |
|
} |
|
}, |
|
addAll$1: function(_, other) { |
|
var t1, key; |
|
for (t1 = J.get$iterator$ax(other.get$keys()); t1.moveNext$0();) { |
|
key = t1.get$current(t1); |
|
this.$indexSet(0, key, other.$index(0, key)); |
|
} |
|
}, |
|
putIfAbsent$2: function(key, ifAbsent) { |
|
var t1; |
|
if (this.containsKey$1(key)) |
|
return this.$index(0, key); |
|
t1 = ifAbsent.call$0(); |
|
this.$indexSet(0, key, t1); |
|
return t1; |
|
}, |
|
get$entries: function() { |
|
var _this = this; |
|
return J.map$1$1$ax(_this.get$keys(), new P.MapMixin_entries_closure(_this), [P.MapEntry, H.getRuntimeTypeArgument(_this, "MapMixin", 0), H.getRuntimeTypeArgument(_this, "MapMixin", 1)]); |
|
}, |
|
containsKey$1: function(key) { |
|
return J.contains$1$asx(this.get$keys(), key); |
|
}, |
|
get$length: function(_) { |
|
return J.get$length$asx(this.get$keys()); |
|
}, |
|
get$isEmpty: function(_) { |
|
return J.get$isEmpty$asx(this.get$keys()); |
|
}, |
|
get$isNotEmpty: function(_) { |
|
return J.get$isNotEmpty$asx(this.get$keys()); |
|
}, |
|
get$values: function() { |
|
return new P._MapBaseValueIterable(this, [H.getRuntimeTypeArgument(this, "MapMixin", 0), H.getRuntimeTypeArgument(this, "MapMixin", 1)]); |
|
}, |
|
toString$0: function(_) { |
|
return P.MapBase_mapToString(this); |
|
}, |
|
$isMap: 1 |
|
}; |
|
P.MapMixin_entries_closure.prototype = { |
|
call$1: function(key) { |
|
var t1 = this.$this; |
|
return new P.MapEntry(key, t1.$index(0, key), [H.getRuntimeTypeArgument(t1, "MapMixin", 0), H.getRuntimeTypeArgument(t1, "MapMixin", 1)]); |
|
}, |
|
$signature: function() { |
|
var t1 = this.$this, |
|
t2 = H.getRuntimeTypeArgument(t1, "MapMixin", 0); |
|
return {func: 1, ret: [P.MapEntry, t2, H.getRuntimeTypeArgument(t1, "MapMixin", 1)], args: [t2]}; |
|
} |
|
}; |
|
P.UnmodifiableMapBase.prototype = {}; |
|
P._MapBaseValueIterable.prototype = { |
|
get$length: function(_) { |
|
var t1 = this._collection$_map; |
|
return t1.get$length(t1); |
|
}, |
|
get$isEmpty: function(_) { |
|
var t1 = this._collection$_map; |
|
return t1.get$isEmpty(t1); |
|
}, |
|
get$isNotEmpty: function(_) { |
|
var t1 = this._collection$_map; |
|
return t1.get$isNotEmpty(t1); |
|
}, |
|
get$first: function(_) { |
|
var t1 = this._collection$_map; |
|
return t1.$index(0, J.get$first$ax(t1.get$keys())); |
|
}, |
|
get$single: function(_) { |
|
var t1 = this._collection$_map; |
|
return t1.$index(0, J.get$single$ax(t1.get$keys())); |
|
}, |
|
get$last: function(_) { |
|
var t1 = this._collection$_map; |
|
return t1.$index(0, J.get$last$ax(t1.get$keys())); |
|
}, |
|
get$iterator: function(_) { |
|
var t1 = this._collection$_map; |
|
return new P._MapBaseValueIterator(J.get$iterator$ax(t1.get$keys()), t1); |
|
}, |
|
$asEfficientLengthIterable: function($K, $V) { |
|
return [$V]; |
|
}, |
|
$asIterable: function($K, $V) { |
|
return [$V]; |
|
} |
|
}; |
|
P._MapBaseValueIterator.prototype = { |
|
moveNext$0: function() { |
|
var _this = this, |
|
t1 = _this._collection$_keys; |
|
if (t1.moveNext$0()) { |
|
_this._collection$_current = _this._collection$_map.$index(0, t1.get$current(t1)); |
|
return true; |
|
} |
|
_this._collection$_current = null; |
|
return false; |
|
}, |
|
get$current: function(_) { |
|
return this._collection$_current; |
|
} |
|
}; |
|
P._UnmodifiableMapMixin.prototype = { |
|
$indexSet: function(_, key, value) { |
|
throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map")); |
|
}, |
|
addAll$1: function(_, other) { |
|
throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map")); |
|
}, |
|
remove$1: function(_, key) { |
|
throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map")); |
|
}, |
|
putIfAbsent$2: function(key, ifAbsent) { |
|
throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map")); |
|
} |
|
}; |
|
P.MapView.prototype = { |
|
$index: function(_, key) { |
|
return this._collection$_map.$index(0, key); |
|
}, |
|
$indexSet: function(_, key, value) { |
|
this._collection$_map.$indexSet(0, key, value); |
|
}, |
|
addAll$1: function(_, other) { |
|
this._collection$_map.addAll$1(0, other); |
|
}, |
|
putIfAbsent$2: function(key, ifAbsent) { |
|
return this._collection$_map.putIfAbsent$2(key, ifAbsent); |
|
}, |
|
containsKey$1: function(key) { |
|
return this._collection$_map.containsKey$1(key); |
|
}, |
|
forEach$1: function(_, action) { |
|
this._collection$_map.forEach$1(0, action); |
|
}, |
|
get$isEmpty: function(_) { |
|
var t1 = this._collection$_map; |
|
return t1.get$isEmpty(t1); |
|
}, |
|
get$isNotEmpty: function(_) { |
|
var t1 = this._collection$_map; |
|
return t1.get$isNotEmpty(t1); |
|
}, |
|
get$length: function(_) { |
|
var t1 = this._collection$_map; |
|
return t1.get$length(t1); |
|
}, |
|
get$keys: function() { |
|
return this._collection$_map.get$keys(); |
|
}, |
|
remove$1: function(_, key) { |
|
return this._collection$_map.remove$1(0, key); |
|
}, |
|
toString$0: function(_) { |
|
return J.toString$0$(this._collection$_map); |
|
}, |
|
get$values: function() { |
|
return this._collection$_map.get$values(); |
|
}, |
|
get$entries: function() { |
|
return this._collection$_map.get$entries(); |
|
}, |
|
$isMap: 1 |
|
}; |
|
P.UnmodifiableMapView.prototype = {}; |
|
P.Queue.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1}; |
|
P.ListQueue.prototype = { |
|
cast$1$0: function(_, $R) { |
|
return new H.CastQueue(this, [H.getTypeArgumentByIndex(this, 0), $R]); |
|
}, |
|
get$iterator: function(_) { |
|
var _this = this; |
|
return new P._ListQueueIterator(_this, _this._collection$_tail, _this._modificationCount, _this._collection$_head); |
|
}, |
|
get$isEmpty: function(_) { |
|
return this._collection$_head === this._collection$_tail; |
|
}, |
|
get$length: function(_) { |
|
return (this._collection$_tail - this._collection$_head & this._collection$_table.length - 1) >>> 0; |
|
}, |
|
get$first: function(_) { |
|
var t1 = this._collection$_head; |
|
if (t1 === this._collection$_tail) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
return this._collection$_table[t1]; |
|
}, |
|
get$last: function(_) { |
|
var t1 = this._collection$_head, |
|
t2 = this._collection$_tail; |
|
if (t1 === t2) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
t1 = this._collection$_table; |
|
return t1[(t2 - 1 & t1.length - 1) >>> 0]; |
|
}, |
|
get$single: function(_) { |
|
var _this = this; |
|
if (_this._collection$_head === _this._collection$_tail) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
if (_this.get$length(_this) > 1) |
|
throw H.wrapException(H.IterableElementError_tooMany()); |
|
return _this._collection$_table[_this._collection$_head]; |
|
}, |
|
elementAt$1: function(_, index) { |
|
var t1; |
|
P.RangeError_checkValidIndex(index, this, null); |
|
t1 = this._collection$_table; |
|
return t1[(this._collection$_head + index & t1.length - 1) >>> 0]; |
|
}, |
|
toList$1$growable: function(_, growable) { |
|
var list, t2, _this = this, |
|
t1 = _this.$ti; |
|
if (growable) { |
|
list = H.setRuntimeTypeInfo([], t1); |
|
C.JSArray_methods.set$length(list, _this.get$length(_this)); |
|
} else { |
|
t2 = new Array(_this.get$length(_this)); |
|
t2.fixed$length = Array; |
|
list = H.setRuntimeTypeInfo(t2, t1); |
|
} |
|
_this._collection$_writeToList$1(list); |
|
return list; |
|
}, |
|
toList$0: function($receiver) { |
|
return this.toList$1$growable($receiver, true); |
|
}, |
|
add$1: function(_, value) { |
|
this._collection$_add$1(value); |
|
}, |
|
addAll$1: function(_, elements) { |
|
var addCount, $length, t2, t3, t4, newTable, endSpace, preSpace, _this = this, |
|
t1 = _this.$ti; |
|
if (H.checkSubtype(elements, "$isList", t1, "$asList")) { |
|
addCount = J.get$length$asx(elements); |
|
$length = _this.get$length(_this); |
|
t2 = $length + addCount; |
|
t3 = _this._collection$_table; |
|
t4 = t3.length; |
|
if (t2 >= t4) { |
|
t3 = new Array(P.ListQueue__nextPowerOf2(t2 + C.JSInt_methods._shrOtherPositive$1(t2, 1))); |
|
t3.fixed$length = Array; |
|
newTable = H.setRuntimeTypeInfo(t3, t1); |
|
_this._collection$_tail = _this._collection$_writeToList$1(newTable); |
|
_this._collection$_table = newTable; |
|
_this._collection$_head = 0; |
|
C.JSArray_methods.setRange$4(newTable, $length, t2, elements, 0); |
|
_this._collection$_tail += addCount; |
|
} else { |
|
t1 = _this._collection$_tail; |
|
endSpace = t4 - t1; |
|
if (addCount < endSpace) { |
|
C.JSArray_methods.setRange$4(t3, t1, t1 + addCount, elements, 0); |
|
_this._collection$_tail += addCount; |
|
} else { |
|
preSpace = addCount - endSpace; |
|
C.JSArray_methods.setRange$4(t3, t1, t1 + endSpace, elements, 0); |
|
C.JSArray_methods.setRange$4(_this._collection$_table, 0, preSpace, elements, endSpace); |
|
_this._collection$_tail = preSpace; |
|
} |
|
} |
|
++_this._modificationCount; |
|
} else |
|
for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) |
|
_this._collection$_add$1(t1.get$current(t1)); |
|
}, |
|
toString$0: function(_) { |
|
return P.IterableBase_iterableToFullString(this, "{", "}"); |
|
}, |
|
addFirst$1: function(value) { |
|
var _this = this, |
|
t1 = _this._collection$_head, |
|
t2 = _this._collection$_table; |
|
t1 = _this._collection$_head = (t1 - 1 & t2.length - 1) >>> 0; |
|
t2[t1] = value; |
|
if (t1 === _this._collection$_tail) |
|
_this._collection$_grow$0(); |
|
++_this._modificationCount; |
|
}, |
|
removeFirst$0: function() { |
|
var t2, result, _this = this, |
|
t1 = _this._collection$_head; |
|
if (t1 === _this._collection$_tail) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
++_this._modificationCount; |
|
t2 = _this._collection$_table; |
|
result = t2[t1]; |
|
t2[t1] = null; |
|
_this._collection$_head = (t1 + 1 & t2.length - 1) >>> 0; |
|
return result; |
|
}, |
|
removeLast$0: function(_) { |
|
var result, _this = this, |
|
t1 = _this._collection$_head, |
|
t2 = _this._collection$_tail; |
|
if (t1 === t2) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
++_this._modificationCount; |
|
t1 = _this._collection$_table; |
|
t2 = _this._collection$_tail = (t2 - 1 & t1.length - 1) >>> 0; |
|
result = t1[t2]; |
|
t1[t2] = null; |
|
return result; |
|
}, |
|
_collection$_add$1: function(element) { |
|
var _this = this, |
|
t1 = _this._collection$_table, |
|
t2 = _this._collection$_tail; |
|
t1[t2] = element; |
|
t1 = (t2 + 1 & t1.length - 1) >>> 0; |
|
_this._collection$_tail = t1; |
|
if (_this._collection$_head === t1) |
|
_this._collection$_grow$0(); |
|
++_this._modificationCount; |
|
}, |
|
_collection$_grow$0: function() { |
|
var newTable, t2, split, _this = this, |
|
t1 = new Array(_this._collection$_table.length * 2); |
|
t1.fixed$length = Array; |
|
newTable = H.setRuntimeTypeInfo(t1, _this.$ti); |
|
t1 = _this._collection$_table; |
|
t2 = _this._collection$_head; |
|
split = t1.length - t2; |
|
C.JSArray_methods.setRange$4(newTable, 0, split, t1, t2); |
|
C.JSArray_methods.setRange$4(newTable, split, split + _this._collection$_head, _this._collection$_table, 0); |
|
_this._collection$_head = 0; |
|
_this._collection$_tail = _this._collection$_table.length; |
|
_this._collection$_table = newTable; |
|
}, |
|
_collection$_writeToList$1: function(target) { |
|
var $length, firstPartSize, _this = this, |
|
t1 = _this._collection$_head, |
|
t2 = _this._collection$_tail, |
|
t3 = _this._collection$_table; |
|
if (t1 <= t2) { |
|
$length = t2 - t1; |
|
C.JSArray_methods.setRange$4(target, 0, $length, t3, t1); |
|
return $length; |
|
} else { |
|
firstPartSize = t3.length - t1; |
|
C.JSArray_methods.setRange$4(target, 0, firstPartSize, t3, t1); |
|
C.JSArray_methods.setRange$4(target, firstPartSize, firstPartSize + _this._collection$_tail, _this._collection$_table, 0); |
|
return _this._collection$_tail + firstPartSize; |
|
} |
|
}, |
|
$isQueue: 1 |
|
}; |
|
P._ListQueueIterator.prototype = { |
|
get$current: function(_) { |
|
return this._collection$_current; |
|
}, |
|
moveNext$0: function() { |
|
var t2, _this = this, |
|
t1 = _this._queue; |
|
if (_this._modificationCount !== t1._modificationCount) |
|
H.throwExpression(P.ConcurrentModificationError$(t1)); |
|
t2 = _this._position; |
|
if (t2 === _this._end) { |
|
_this._collection$_current = null; |
|
return false; |
|
} |
|
t1 = t1._collection$_table; |
|
_this._collection$_current = t1[t2]; |
|
_this._position = (t2 + 1 & t1.length - 1) >>> 0; |
|
return true; |
|
} |
|
}; |
|
P._SetBase.prototype = { |
|
cast$1$0: function(_, $R) { |
|
return P.Set_castFrom(this, this.get$_newSimilarSet(), H.getTypeArgumentByIndex(this, 0), $R); |
|
}, |
|
difference$1: function(other) { |
|
var t1, element, |
|
result = this._newSet$0(); |
|
for (t1 = this.get$iterator(this); t1.moveNext$0();) { |
|
element = t1.get$current(t1); |
|
if (!other.contains$1(0, element)) |
|
result.add$1(0, element); |
|
} |
|
return result; |
|
}, |
|
intersection$1: function(other) { |
|
var t1, t2, element, |
|
result = this._newSet$0(); |
|
for (t1 = this.get$iterator(this), t2 = other._baseMap; t1.moveNext$0();) { |
|
element = t1.get$current(t1); |
|
if (t2.containsKey$1(element)) |
|
result.add$1(0, element); |
|
} |
|
return result; |
|
}, |
|
toSet$0: function(_) { |
|
var t1 = this._newSet$0(); |
|
t1.addAll$1(0, this); |
|
return t1; |
|
}, |
|
get$isEmpty: function(_) { |
|
return this.get$length(this) === 0; |
|
}, |
|
get$isNotEmpty: function(_) { |
|
return this.get$length(this) !== 0; |
|
}, |
|
followedBy$1: function(_, other) { |
|
return H.FollowedByIterable_FollowedByIterable$firstEfficient(this, other, H.getTypeArgumentByIndex(this, 0)); |
|
}, |
|
addAll$1: function(_, elements) { |
|
var t1; |
|
for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) |
|
this.add$1(0, t1.get$current(t1)); |
|
}, |
|
removeAll$1: function(elements) { |
|
var t1; |
|
for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) |
|
this.remove$1(0, t1.get$current(t1)); |
|
}, |
|
toList$1$growable: function(_, growable) { |
|
var result, t2, i, i0, _this = this, |
|
t1 = _this.$ti; |
|
if (growable) { |
|
result = H.setRuntimeTypeInfo([], t1); |
|
C.JSArray_methods.set$length(result, _this.get$length(_this)); |
|
} else { |
|
t2 = new Array(_this.get$length(_this)); |
|
t2.fixed$length = Array; |
|
result = H.setRuntimeTypeInfo(t2, t1); |
|
} |
|
for (t1 = _this.get$iterator(_this), i = 0; t1.moveNext$0(); i = i0) { |
|
i0 = i + 1; |
|
result[i] = t1.get$current(t1); |
|
} |
|
return result; |
|
}, |
|
toList$0: function($receiver) { |
|
return this.toList$1$growable($receiver, true); |
|
}, |
|
map$1$1: function(_, f, $T) { |
|
return new H.EfficientLengthMappedIterable(this, f, [H.getTypeArgumentByIndex(this, 0), $T]); |
|
}, |
|
get$single: function(_) { |
|
var it, _this = this; |
|
if (_this.get$length(_this) > 1) |
|
throw H.wrapException(H.IterableElementError_tooMany()); |
|
it = _this.get$iterator(_this); |
|
if (!it.moveNext$0()) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
return it.get$current(it); |
|
}, |
|
toString$0: function(_) { |
|
return P.IterableBase_iterableToFullString(this, "{", "}"); |
|
}, |
|
where$1: function(_, f) { |
|
return new H.WhereIterable(this, f, this.$ti); |
|
}, |
|
join$1: function(_, separator) { |
|
var t1, |
|
iterator = this.get$iterator(this); |
|
if (!iterator.moveNext$0()) |
|
return ""; |
|
if (separator === "") { |
|
t1 = ""; |
|
do |
|
t1 += H.S(iterator.get$current(iterator)); |
|
while (iterator.moveNext$0()); |
|
} else { |
|
t1 = H.S(iterator.get$current(iterator)); |
|
for (; iterator.moveNext$0();) |
|
t1 = t1 + separator + H.S(iterator.get$current(iterator)); |
|
} |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
join$0: function($receiver) { |
|
return this.join$1($receiver, ""); |
|
}, |
|
any$1: function(_, test) { |
|
var t1; |
|
for (t1 = this.get$iterator(this); t1.moveNext$0();) |
|
if (test.call$1(t1.get$current(t1))) |
|
return true; |
|
return false; |
|
}, |
|
take$1: function(_, n) { |
|
return H.TakeIterable_TakeIterable(this, n, H.getTypeArgumentByIndex(this, 0)); |
|
}, |
|
skip$1: function(_, n) { |
|
return H.SkipIterable_SkipIterable(this, n, H.getTypeArgumentByIndex(this, 0)); |
|
}, |
|
get$first: function(_) { |
|
var it = this.get$iterator(this); |
|
if (!it.moveNext$0()) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
return it.get$current(it); |
|
}, |
|
get$last: function(_) { |
|
var result, |
|
it = this.get$iterator(this); |
|
if (!it.moveNext$0()) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
do |
|
result = it.get$current(it); |
|
while (it.moveNext$0()); |
|
return result; |
|
}, |
|
elementAt$1: function(_, index) { |
|
var t1, elementIndex, element, _s5_ = "index"; |
|
if (index == null) |
|
H.throwExpression(P.ArgumentError$notNull(_s5_)); |
|
P.RangeError_checkNotNegative(index, _s5_); |
|
for (t1 = this.get$iterator(this), elementIndex = 0; t1.moveNext$0();) { |
|
element = t1.get$current(t1); |
|
if (index === elementIndex) |
|
return element; |
|
++elementIndex; |
|
} |
|
throw H.wrapException(P.IndexError$(index, this, _s5_, null, elementIndex)); |
|
}, |
|
$isEfficientLengthIterable: 1, |
|
$isIterable: 1, |
|
$isSet: 1 |
|
}; |
|
P._ListBase_Object_ListMixin.prototype = {}; |
|
P._UnmodifiableMapView_MapView__UnmodifiableMapMixin.prototype = {}; |
|
P.AsciiCodec.prototype = { |
|
encode$1: function(source) { |
|
return C.AsciiEncoder_127.convert$1(source); |
|
}, |
|
get$encoder: function() { |
|
return C.AsciiEncoder_127; |
|
} |
|
}; |
|
P._UnicodeSubsetEncoder.prototype = { |
|
convert$1: function(string) { |
|
var t1, t2, i, codeUnit, |
|
$length = P.RangeError_checkValidRange(0, null, string.length) - 0, |
|
result = new Uint8Array($length); |
|
for (t1 = ~this._subsetMask, t2 = J.getInterceptor$s(string), i = 0; i < $length; ++i) { |
|
codeUnit = t2._codeUnitAt$1(string, i); |
|
if ((codeUnit & t1) !== 0) |
|
throw H.wrapException(P.ArgumentError$value(string, "string", "Contains invalid characters.")); |
|
result[i] = codeUnit; |
|
} |
|
return result; |
|
}, |
|
$asConverter: function() { |
|
return [P.String, [P.List, P.int]]; |
|
} |
|
}; |
|
P.AsciiEncoder.prototype = {}; |
|
P.Base64Codec.prototype = { |
|
get$encoder: function() { |
|
return C.C_Base64Encoder; |
|
}, |
|
normalize$3: function(source, start, end) { |
|
var inverseAlphabet, i, sliceStart, buffer, firstPadding, firstPaddingSourceIndex, paddingCount, i0, char, i1, digit1, digit2, char0, value, t1, t2, endLength, $length, |
|
_s31_ = "Invalid base64 encoding length "; |
|
end = P.RangeError_checkValidRange(start, end, source.length); |
|
inverseAlphabet = $.$get$_Base64Decoder__inverseAlphabet(); |
|
for (i = start, sliceStart = i, buffer = null, firstPadding = -1, firstPaddingSourceIndex = -1, paddingCount = 0; i < end; i = i0) { |
|
i0 = i + 1; |
|
char = C.JSString_methods._codeUnitAt$1(source, i); |
|
if (char === 37) { |
|
i1 = i0 + 2; |
|
if (i1 <= end) { |
|
digit1 = H.hexDigitValue(C.JSString_methods._codeUnitAt$1(source, i0)); |
|
digit2 = H.hexDigitValue(C.JSString_methods._codeUnitAt$1(source, i0 + 1)); |
|
char0 = digit1 * 16 + digit2 - (digit2 & 256); |
|
if (char0 === 37) |
|
char0 = -1; |
|
i0 = i1; |
|
} else |
|
char0 = -1; |
|
} else |
|
char0 = char; |
|
if (0 <= char0 && char0 <= 127) { |
|
value = inverseAlphabet[char0]; |
|
if (value >= 0) { |
|
char0 = C.JSString_methods.codeUnitAt$1("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", value); |
|
if (char0 === char) |
|
continue; |
|
char = char0; |
|
} else { |
|
if (value === -1) { |
|
if (firstPadding < 0) { |
|
t1 = buffer == null ? null : buffer._contents.length; |
|
if (t1 == null) |
|
t1 = 0; |
|
firstPadding = t1 + (i - sliceStart); |
|
firstPaddingSourceIndex = i; |
|
} |
|
++paddingCount; |
|
if (char === 61) |
|
continue; |
|
} |
|
char = char0; |
|
} |
|
if (value !== -2) { |
|
if (buffer == null) |
|
buffer = new P.StringBuffer(""); |
|
buffer._contents += C.JSString_methods.substring$2(source, sliceStart, i); |
|
buffer._contents += H.Primitives_stringFromCharCode(char); |
|
sliceStart = i0; |
|
continue; |
|
} |
|
} |
|
throw H.wrapException(P.FormatException$("Invalid base64 data", source, i)); |
|
} |
|
if (buffer != null) { |
|
t1 = buffer._contents += C.JSString_methods.substring$2(source, sliceStart, end); |
|
t2 = t1.length; |
|
if (firstPadding >= 0) |
|
P.Base64Codec__checkPadding(source, firstPaddingSourceIndex, end, firstPadding, paddingCount, t2); |
|
else { |
|
endLength = C.JSInt_methods.$mod(t2 - 1, 4) + 1; |
|
if (endLength === 1) |
|
throw H.wrapException(P.FormatException$(_s31_, source, end)); |
|
for (; endLength < 4;) { |
|
t1 += "="; |
|
buffer._contents = t1; |
|
++endLength; |
|
} |
|
} |
|
t1 = buffer._contents; |
|
return C.JSString_methods.replaceRange$3(source, start, end, t1.charCodeAt(0) == 0 ? t1 : t1); |
|
} |
|
$length = end - start; |
|
if (firstPadding >= 0) |
|
P.Base64Codec__checkPadding(source, firstPaddingSourceIndex, end, firstPadding, paddingCount, $length); |
|
else { |
|
endLength = C.JSInt_methods.$mod($length, 4); |
|
if (endLength === 1) |
|
throw H.wrapException(P.FormatException$(_s31_, source, end)); |
|
if (endLength > 1) |
|
source = C.JSString_methods.replaceRange$3(source, end, end, endLength === 2 ? "==" : "="); |
|
} |
|
return source; |
|
}, |
|
$asCodec: function() { |
|
return [[P.List, P.int], P.String]; |
|
} |
|
}; |
|
P.Base64Encoder.prototype = { |
|
convert$1: function(input) { |
|
var t1 = J.getInterceptor$asx(input); |
|
if (t1.get$isEmpty(input)) |
|
return ""; |
|
return P.String_String$fromCharCodes(new P._Base64Encoder("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").encode$4(input, 0, t1.get$length(input), true), 0, null); |
|
}, |
|
startChunkedConversion$1: function(sink) { |
|
var t1, |
|
_s64_ = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; |
|
if (!!sink.$isStringConversionSink) { |
|
t1 = sink.asUtf8Sink$1(false); |
|
return new P._Utf8Base64EncoderSink(t1, new P._Base64Encoder(_s64_)); |
|
} |
|
return new P._AsciiBase64EncoderSink(sink, new P._BufferCachingBase64Encoder(_s64_)); |
|
}, |
|
$asConverter: function() { |
|
return [[P.List, P.int], P.String]; |
|
} |
|
}; |
|
P._Base64Encoder.prototype = { |
|
createBuffer$1: function(bufferLength) { |
|
return new Uint8Array(bufferLength); |
|
}, |
|
encode$4: function(bytes, start, end, isLast) { |
|
var output, _this = this, |
|
byteCount = (_this._state & 3) + (end - start), |
|
fullChunks = C.JSInt_methods._tdivFast$1(byteCount, 3), |
|
bufferLength = fullChunks * 4; |
|
if (isLast && byteCount - fullChunks * 3 > 0) |
|
bufferLength += 4; |
|
output = _this.createBuffer$1(bufferLength); |
|
_this._state = P._Base64Encoder_encodeChunk(_this._alphabet, bytes, start, end, isLast, output, 0, _this._state); |
|
if (bufferLength > 0) |
|
return output; |
|
return; |
|
} |
|
}; |
|
P._BufferCachingBase64Encoder.prototype = { |
|
createBuffer$1: function(bufferLength) { |
|
var t1 = this.bufferCache; |
|
if (t1 == null || t1.length < bufferLength) |
|
t1 = this.bufferCache = new Uint8Array(bufferLength); |
|
t1 = t1.buffer; |
|
t1.toString; |
|
return H.NativeUint8List_NativeUint8List$view(t1, 0, bufferLength); |
|
} |
|
}; |
|
P._Base64EncoderSink.prototype = { |
|
add$1: function(_, source) { |
|
this._add$4(source, 0, J.get$length$asx(source), false); |
|
}, |
|
close$0: function(_) { |
|
this._add$4(null, 0, 0, true); |
|
}, |
|
addSlice$4: function(source, start, end, isLast) { |
|
P.RangeError_checkValidRange(start, end, source.length); |
|
this._add$4(source, start, end, isLast); |
|
} |
|
}; |
|
P._AsciiBase64EncoderSink.prototype = { |
|
_add$4: function(source, start, end, isLast) { |
|
var buffer = this._encoder.encode$4(source, start, end, isLast); |
|
if (buffer != null) |
|
this._sink.add$1(0, P.String_String$fromCharCodes(buffer, 0, null)); |
|
if (isLast) |
|
this._sink.close$0(0); |
|
} |
|
}; |
|
P._Utf8Base64EncoderSink.prototype = { |
|
_add$4: function(source, start, end, isLast) { |
|
var buffer = this._encoder.encode$4(source, start, end, isLast); |
|
if (buffer != null) |
|
this._sink.addSlice$4(buffer, 0, buffer.length, isLast); |
|
} |
|
}; |
|
P.ByteConversionSink.prototype = {}; |
|
P.ByteConversionSinkBase.prototype = {}; |
|
P.ChunkedConversionSink.prototype = {}; |
|
P.Codec.prototype = { |
|
encode$1: function(input) { |
|
return this.get$encoder().convert$1(input); |
|
} |
|
}; |
|
P.Converter.prototype = {}; |
|
P.Encoding.prototype = { |
|
$asCodec: function() { |
|
return [P.String, [P.List, P.int]]; |
|
} |
|
}; |
|
P.JsonUnsupportedObjectError.prototype = { |
|
toString$0: function(_) { |
|
var safeString = P.Error_safeToString(this.unsupportedObject); |
|
return (this.cause != null ? "Converting object to an encodable object failed:" : "Converting object did not return an encodable object:") + " " + safeString; |
|
} |
|
}; |
|
P.JsonCyclicError.prototype = { |
|
toString$0: function(_) { |
|
return "Cyclic error in JSON stringify"; |
|
} |
|
}; |
|
P.JsonCodec.prototype = { |
|
encode$2$toEncodable: function(value, toEncodable) { |
|
var t1 = P._JsonStringStringifier_stringify(value, this.get$encoder()._toEncodable, null); |
|
return t1; |
|
}, |
|
get$encoder: function() { |
|
return C.JsonEncoder_null; |
|
}, |
|
$asCodec: function() { |
|
return [P.Object, P.String]; |
|
} |
|
}; |
|
P.JsonEncoder.prototype = { |
|
convert$1: function(object) { |
|
var t1, |
|
output = new P.StringBuffer(""); |
|
P._JsonStringStringifier_printOn(object, output, this._toEncodable, null); |
|
t1 = output._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
$asConverter: function() { |
|
return [P.Object, P.String]; |
|
} |
|
}; |
|
P._JsonStringifier.prototype = { |
|
writeStringContent$1: function(s) { |
|
var t1, offset, i, charCode, t2, _this = this, |
|
$length = s.length; |
|
for (t1 = J.getInterceptor$s(s), offset = 0, i = 0; i < $length; ++i) { |
|
charCode = t1._codeUnitAt$1(s, i); |
|
if (charCode > 92) |
|
continue; |
|
if (charCode < 32) { |
|
if (i > offset) |
|
_this.writeStringSlice$3(s, offset, i); |
|
offset = i + 1; |
|
_this.writeCharCode$1(92); |
|
switch (charCode) { |
|
case 8: |
|
_this.writeCharCode$1(98); |
|
break; |
|
case 9: |
|
_this.writeCharCode$1(116); |
|
break; |
|
case 10: |
|
_this.writeCharCode$1(110); |
|
break; |
|
case 12: |
|
_this.writeCharCode$1(102); |
|
break; |
|
case 13: |
|
_this.writeCharCode$1(114); |
|
break; |
|
default: |
|
_this.writeCharCode$1(117); |
|
_this.writeCharCode$1(48); |
|
_this.writeCharCode$1(48); |
|
t2 = charCode >>> 4 & 15; |
|
_this.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2); |
|
t2 = charCode & 15; |
|
_this.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2); |
|
break; |
|
} |
|
} else if (charCode === 34 || charCode === 92) { |
|
if (i > offset) |
|
_this.writeStringSlice$3(s, offset, i); |
|
offset = i + 1; |
|
_this.writeCharCode$1(92); |
|
_this.writeCharCode$1(charCode); |
|
} |
|
} |
|
if (offset === 0) |
|
_this.writeString$1(s); |
|
else if (offset < $length) |
|
_this.writeStringSlice$3(s, offset, $length); |
|
}, |
|
_checkCycle$1: function(object) { |
|
var t1, t2, i, t3; |
|
for (t1 = this._seen, t2 = t1.length, i = 0; i < t2; ++i) { |
|
t3 = t1[i]; |
|
if (object == null ? t3 == null : object === t3) |
|
throw H.wrapException(new P.JsonCyclicError(object, null)); |
|
} |
|
t1.push(object); |
|
}, |
|
writeObject$1: function(object) { |
|
var customJson, e, t1, exception, _this = this; |
|
if (_this.writeJsonValue$1(object)) |
|
return; |
|
_this._checkCycle$1(object); |
|
try { |
|
customJson = _this._toEncodable.call$1(object); |
|
if (!_this.writeJsonValue$1(customJson)) { |
|
t1 = P.JsonUnsupportedObjectError$(object, null, _this.get$_partialResult()); |
|
throw H.wrapException(t1); |
|
} |
|
_this._seen.pop(); |
|
} catch (exception) { |
|
e = H.unwrapException(exception); |
|
t1 = P.JsonUnsupportedObjectError$(object, e, _this.get$_partialResult()); |
|
throw H.wrapException(t1); |
|
} |
|
}, |
|
writeJsonValue$1: function(object) { |
|
var t1, success, _this = this; |
|
if (typeof object === "number") { |
|
if (!isFinite(object)) |
|
return false; |
|
_this.writeNumber$1(object); |
|
return true; |
|
} else if (object === true) { |
|
_this.writeString$1("true"); |
|
return true; |
|
} else if (object === false) { |
|
_this.writeString$1("false"); |
|
return true; |
|
} else if (object == null) { |
|
_this.writeString$1("null"); |
|
return true; |
|
} else if (typeof object === "string") { |
|
_this.writeString$1('"'); |
|
_this.writeStringContent$1(object); |
|
_this.writeString$1('"'); |
|
return true; |
|
} else { |
|
t1 = J.getInterceptor$(object); |
|
if (!!t1.$isList) { |
|
_this._checkCycle$1(object); |
|
_this.writeList$1(object); |
|
_this._seen.pop(); |
|
return true; |
|
} else if (!!t1.$isMap) { |
|
_this._checkCycle$1(object); |
|
success = _this.writeMap$1(object); |
|
_this._seen.pop(); |
|
return success; |
|
} else |
|
return false; |
|
} |
|
}, |
|
writeList$1: function(list) { |
|
var t1, i, _this = this; |
|
_this.writeString$1("["); |
|
t1 = J.getInterceptor$asx(list); |
|
if (t1.get$isNotEmpty(list)) { |
|
_this.writeObject$1(t1.$index(list, 0)); |
|
for (i = 1; i < t1.get$length(list); ++i) { |
|
_this.writeString$1(","); |
|
_this.writeObject$1(t1.$index(list, i)); |
|
} |
|
} |
|
_this.writeString$1("]"); |
|
}, |
|
writeMap$1: function(map) { |
|
var t1, keyValueList, i, separator, _this = this, _box_0 = {}; |
|
if (map.get$isEmpty(map)) { |
|
_this.writeString$1("{}"); |
|
return true; |
|
} |
|
t1 = map.get$length(map) * 2; |
|
keyValueList = new Array(t1); |
|
keyValueList.fixed$length = Array; |
|
i = _box_0.i = 0; |
|
_box_0.allStringKeys = true; |
|
map.forEach$1(0, new P._JsonStringifier_writeMap_closure(_box_0, keyValueList)); |
|
if (!_box_0.allStringKeys) |
|
return false; |
|
_this.writeString$1("{"); |
|
for (separator = '"'; i < t1; i += 2, separator = ',"') { |
|
_this.writeString$1(separator); |
|
_this.writeStringContent$1(keyValueList[i]); |
|
_this.writeString$1('":'); |
|
_this.writeObject$1(keyValueList[i + 1]); |
|
} |
|
_this.writeString$1("}"); |
|
return true; |
|
} |
|
}; |
|
P._JsonStringifier_writeMap_closure.prototype = { |
|
call$2: function(key, value) { |
|
var t1, t2, t3, i; |
|
if (typeof key !== "string") |
|
this._box_0.allStringKeys = false; |
|
t1 = this.keyValueList; |
|
t2 = this._box_0; |
|
t3 = t2.i; |
|
i = t2.i = t3 + 1; |
|
t1[t3] = key; |
|
t2.i = i + 1; |
|
t1[i] = value; |
|
}, |
|
$signature: 12 |
|
}; |
|
P._JsonStringStringifier.prototype = { |
|
get$_partialResult: function() { |
|
var t1 = this._sink; |
|
return !!t1.$isStringBuffer ? t1.toString$0(0) : null; |
|
}, |
|
writeNumber$1: function(number) { |
|
this._sink.write$1(0, C.JSNumber_methods.toString$0(number)); |
|
}, |
|
writeString$1: function(string) { |
|
this._sink.write$1(0, string); |
|
}, |
|
writeStringSlice$3: function(string, start, end) { |
|
this._sink.write$1(0, C.JSString_methods.substring$2(string, start, end)); |
|
}, |
|
writeCharCode$1: function(charCode) { |
|
this._sink.writeCharCode$1(charCode); |
|
} |
|
}; |
|
P.StringConversionSinkBase.prototype = {}; |
|
P.StringConversionSinkMixin.prototype = { |
|
add$1: function(_, str) { |
|
this.addSlice$4(str, 0, str.length, false); |
|
}, |
|
asUtf8Sink$1: function(allowMalformed) { |
|
var t1 = new P.StringBuffer(""); |
|
return new P._Utf8ConversionSink(new P._Utf8Decoder(false, t1), this, t1); |
|
}, |
|
$isStringConversionSink: 1 |
|
}; |
|
P._StringSinkConversionSink.prototype = { |
|
close$0: function(_) { |
|
}, |
|
addSlice$4: function(str, start, end, isLast) { |
|
var t1, t2, i; |
|
if (start !== 0 || end !== str.length) |
|
for (t1 = this._stringSink, t2 = J.getInterceptor$s(str), i = start; i < end; ++i) |
|
t1._contents += H.Primitives_stringFromCharCode(t2._codeUnitAt$1(str, i)); |
|
else |
|
this._stringSink._contents += H.S(str); |
|
if (isLast) |
|
this.close$0(0); |
|
}, |
|
add$1: function(_, str) { |
|
this._stringSink._contents += H.S(str); |
|
}, |
|
asUtf8Sink$1: function(allowMalformed) { |
|
return new P._Utf8StringSinkAdapter(new P._Utf8Decoder(false, this._stringSink), this); |
|
} |
|
}; |
|
P._StringCallbackSink.prototype = { |
|
close$0: function(_) { |
|
var t1 = this._stringSink, |
|
t2 = t1._contents; |
|
t1._contents = ""; |
|
this._convert$_callback.call$1(t2.charCodeAt(0) == 0 ? t2 : t2); |
|
}, |
|
asUtf8Sink$1: function(allowMalformed) { |
|
return new P._Utf8StringSinkAdapter(new P._Utf8Decoder(false, this._stringSink), this); |
|
} |
|
}; |
|
P._StringAdapterSink.prototype = { |
|
add$1: function(_, str) { |
|
this._sink.add$1(0, str); |
|
}, |
|
addSlice$4: function(str, start, end, isLast) { |
|
var t1 = start === 0 && end === str.length, |
|
t2 = this._sink; |
|
if (t1) |
|
t2.add$1(0, str); |
|
else |
|
t2.add$1(0, J.substring$2$s(str, start, end)); |
|
if (isLast) |
|
t2.close$0(0); |
|
}, |
|
close$0: function(_) { |
|
this._sink.close$0(0); |
|
} |
|
}; |
|
P._Utf8StringSinkAdapter.prototype = { |
|
close$0: function(_) { |
|
this._decoder.flush$0(); |
|
this._sink.close$0(0); |
|
}, |
|
add$1: function(_, chunk) { |
|
this._decoder.convert$3(chunk, 0, J.get$length$asx(chunk)); |
|
}, |
|
addSlice$4: function(codeUnits, startIndex, endIndex, isLast) { |
|
this._decoder.convert$3(codeUnits, startIndex, endIndex); |
|
if (isLast) |
|
this.close$0(0); |
|
} |
|
}; |
|
P._Utf8ConversionSink.prototype = { |
|
close$0: function(_) { |
|
var t1, t2, t3, accumulated; |
|
this._decoder.flush$0(); |
|
t1 = this._buffer; |
|
t2 = t1._contents; |
|
t3 = this._chunkedSink; |
|
if (t2.length !== 0) { |
|
accumulated = t2.charCodeAt(0) == 0 ? t2 : t2; |
|
t1._contents = ""; |
|
t3.addSlice$4(accumulated, 0, accumulated.length, true); |
|
} else |
|
t3.close$0(0); |
|
}, |
|
add$1: function(_, chunk) { |
|
this.addSlice$4(chunk, 0, J.get$length$asx(chunk), false); |
|
}, |
|
addSlice$4: function(chunk, startIndex, endIndex, isLast) { |
|
var t1, t2, accumulated, _this = this; |
|
_this._decoder.convert$3(chunk, startIndex, endIndex); |
|
t1 = _this._buffer; |
|
t2 = t1._contents; |
|
if (t2.length !== 0) { |
|
accumulated = t2.charCodeAt(0) == 0 ? t2 : t2; |
|
_this._chunkedSink.addSlice$4(accumulated, 0, accumulated.length, isLast); |
|
t1._contents = ""; |
|
return; |
|
} |
|
if (isLast) |
|
_this.close$0(0); |
|
} |
|
}; |
|
P.Utf8Codec.prototype = { |
|
get$encoder: function() { |
|
return C.C_Utf8Encoder; |
|
} |
|
}; |
|
P.Utf8Encoder.prototype = { |
|
convert$1: function(string) { |
|
var t1, encoder, |
|
end = P.RangeError_checkValidRange(0, null, string.length), |
|
$length = end - 0; |
|
if ($length === 0) |
|
return new Uint8Array(0); |
|
t1 = new Uint8Array($length * 3); |
|
encoder = new P._Utf8Encoder(t1); |
|
if (encoder._fillBuffer$3(string, 0, end) !== end) |
|
encoder._writeSurrogate$2(J.codeUnitAt$1$s(string, end - 1), 0); |
|
return C.NativeUint8List_methods.sublist$2(t1, 0, encoder._bufferIndex); |
|
}, |
|
$asConverter: function() { |
|
return [P.String, [P.List, P.int]]; |
|
} |
|
}; |
|
P._Utf8Encoder.prototype = { |
|
_writeSurrogate$2: function(leadingSurrogate, nextCodeUnit) { |
|
var rune, _this = this, |
|
t1 = _this._buffer, |
|
t2 = _this._bufferIndex, |
|
t3 = t2 + 1; |
|
if ((nextCodeUnit & 64512) === 56320) { |
|
rune = 65536 + ((leadingSurrogate & 1023) << 10) | nextCodeUnit & 1023; |
|
_this._bufferIndex = t3; |
|
t1[t2] = 240 | rune >>> 18; |
|
t2 = _this._bufferIndex = t3 + 1; |
|
t1[t3] = 128 | rune >>> 12 & 63; |
|
t3 = _this._bufferIndex = t2 + 1; |
|
t1[t2] = 128 | rune >>> 6 & 63; |
|
_this._bufferIndex = t3 + 1; |
|
t1[t3] = 128 | rune & 63; |
|
return true; |
|
} else { |
|
_this._bufferIndex = t3; |
|
t1[t2] = 224 | leadingSurrogate >>> 12; |
|
t2 = _this._bufferIndex = t3 + 1; |
|
t1[t3] = 128 | leadingSurrogate >>> 6 & 63; |
|
_this._bufferIndex = t2 + 1; |
|
t1[t2] = 128 | leadingSurrogate & 63; |
|
return false; |
|
} |
|
}, |
|
_fillBuffer$3: function(str, start, end) { |
|
var t1, t2, t3, stringIndex, codeUnit, t4, stringIndex0, t5, _this = this; |
|
if (start !== end && (J.codeUnitAt$1$s(str, end - 1) & 64512) === 55296) |
|
--end; |
|
for (t1 = _this._buffer, t2 = t1.length, t3 = J.getInterceptor$s(str), stringIndex = start; stringIndex < end; ++stringIndex) { |
|
codeUnit = t3._codeUnitAt$1(str, stringIndex); |
|
if (codeUnit <= 127) { |
|
t4 = _this._bufferIndex; |
|
if (t4 >= t2) |
|
break; |
|
_this._bufferIndex = t4 + 1; |
|
t1[t4] = codeUnit; |
|
} else if ((codeUnit & 64512) === 55296) { |
|
if (_this._bufferIndex + 3 >= t2) |
|
break; |
|
stringIndex0 = stringIndex + 1; |
|
if (_this._writeSurrogate$2(codeUnit, C.JSString_methods._codeUnitAt$1(str, stringIndex0))) |
|
stringIndex = stringIndex0; |
|
} else if (codeUnit <= 2047) { |
|
t4 = _this._bufferIndex; |
|
t5 = t4 + 1; |
|
if (t5 >= t2) |
|
break; |
|
_this._bufferIndex = t5; |
|
t1[t4] = 192 | codeUnit >>> 6; |
|
_this._bufferIndex = t5 + 1; |
|
t1[t5] = 128 | codeUnit & 63; |
|
} else { |
|
t4 = _this._bufferIndex; |
|
if (t4 + 2 >= t2) |
|
break; |
|
t5 = _this._bufferIndex = t4 + 1; |
|
t1[t4] = 224 | codeUnit >>> 12; |
|
t4 = _this._bufferIndex = t5 + 1; |
|
t1[t5] = 128 | codeUnit >>> 6 & 63; |
|
_this._bufferIndex = t4 + 1; |
|
t1[t4] = 128 | codeUnit & 63; |
|
} |
|
} |
|
return stringIndex; |
|
} |
|
}; |
|
P.Utf8Decoder.prototype = { |
|
convert$1: function(codeUnits) { |
|
var end, oneBytes, firstPart, buffer, start, isFirstCharacter, decoder, t1, |
|
result = P.Utf8Decoder__convertIntercepted(false, codeUnits, 0, null); |
|
if (result != null) |
|
return result; |
|
end = P.RangeError_checkValidRange(0, null, J.get$length$asx(codeUnits)); |
|
oneBytes = P._scanOneByteCharacters(codeUnits, 0, end); |
|
if (oneBytes > 0) { |
|
firstPart = P.String_String$fromCharCodes(codeUnits, 0, oneBytes); |
|
if (oneBytes === end) |
|
return firstPart; |
|
buffer = new P.StringBuffer(firstPart); |
|
start = oneBytes; |
|
isFirstCharacter = false; |
|
} else { |
|
start = 0; |
|
buffer = null; |
|
isFirstCharacter = true; |
|
} |
|
if (buffer == null) |
|
buffer = new P.StringBuffer(""); |
|
decoder = new P._Utf8Decoder(false, buffer); |
|
decoder._isFirstCharacter = isFirstCharacter; |
|
decoder.convert$3(codeUnits, start, end); |
|
decoder.flush$2(codeUnits, end); |
|
t1 = buffer._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
startChunkedConversion$1: function(sink) { |
|
return (!!sink.$isStringConversionSink ? sink : new P._StringAdapterSink(sink)).asUtf8Sink$1(false); |
|
}, |
|
$asConverter: function() { |
|
return [[P.List, P.int], P.String]; |
|
} |
|
}; |
|
P._Utf8Decoder.prototype = { |
|
flush$2: function(source, offset) { |
|
var t1; |
|
if (this._expectedUnits > 0) { |
|
t1 = P.FormatException$("Unfinished UTF-8 octet sequence", source, offset); |
|
throw H.wrapException(t1); |
|
} |
|
}, |
|
flush$0: function() { |
|
return this.flush$2(null, null); |
|
}, |
|
convert$3: function(codeUnits, startIndex, endIndex) { |
|
var t1, t2, i, unit, t3, oneBytes, i0, i1, t4, _this = this, |
|
_s21_ = "Bad UTF-8 encoding 0x", |
|
value = _this._convert$_value, |
|
expectedUnits = _this._expectedUnits, |
|
extraUnits = _this._extraUnits; |
|
_this._extraUnits = _this._expectedUnits = _this._convert$_value = 0; |
|
$label0$0: |
|
for (t1 = J.getInterceptor$asx(codeUnits), t2 = _this._stringSink, i = startIndex; true; i = i1) { |
|
$label1$1: |
|
if (expectedUnits > 0) { |
|
do { |
|
if (i === endIndex) |
|
break $label0$0; |
|
unit = t1.$index(codeUnits, i); |
|
if ((unit & 192) !== 128) { |
|
t3 = P.FormatException$(_s21_ + C.JSInt_methods.toRadixString$1(unit, 16), codeUnits, i); |
|
throw H.wrapException(t3); |
|
} else { |
|
value = (value << 6 | unit & 63) >>> 0; |
|
--expectedUnits; |
|
++i; |
|
} |
|
} while (expectedUnits > 0); |
|
if (value <= C.List_127_2047_65535_1114111[extraUnits - 1]) { |
|
t3 = P.FormatException$("Overlong encoding of 0x" + C.JSInt_methods.toRadixString$1(value, 16), codeUnits, i - extraUnits - 1); |
|
throw H.wrapException(t3); |
|
} |
|
if (value > 1114111) { |
|
t3 = P.FormatException$("Character outside valid Unicode range: 0x" + C.JSInt_methods.toRadixString$1(value, 16), codeUnits, i - extraUnits - 1); |
|
throw H.wrapException(t3); |
|
} |
|
if (!_this._isFirstCharacter || value !== 65279) |
|
t2._contents += H.Primitives_stringFromCharCode(value); |
|
_this._isFirstCharacter = false; |
|
} |
|
for (t3 = i < endIndex; t3;) { |
|
oneBytes = P._scanOneByteCharacters(codeUnits, i, endIndex); |
|
if (oneBytes > 0) { |
|
_this._isFirstCharacter = false; |
|
i0 = i + oneBytes; |
|
t2._contents += P.String_String$fromCharCodes(codeUnits, i, i0); |
|
if (i0 === endIndex) |
|
break; |
|
} else |
|
i0 = i; |
|
i1 = i0 + 1; |
|
unit = t1.$index(codeUnits, i0); |
|
if (unit < 0) { |
|
t4 = P.FormatException$("Negative UTF-8 code unit: -0x" + C.JSInt_methods.toRadixString$1(-unit, 16), codeUnits, i1 - 1); |
|
throw H.wrapException(t4); |
|
} else { |
|
if ((unit & 224) === 192) { |
|
value = unit & 31; |
|
expectedUnits = 1; |
|
extraUnits = 1; |
|
continue $label0$0; |
|
} |
|
if ((unit & 240) === 224) { |
|
value = unit & 15; |
|
expectedUnits = 2; |
|
extraUnits = 2; |
|
continue $label0$0; |
|
} |
|
if ((unit & 248) === 240 && unit < 245) { |
|
value = unit & 7; |
|
expectedUnits = 3; |
|
extraUnits = 3; |
|
continue $label0$0; |
|
} |
|
t4 = P.FormatException$(_s21_ + C.JSInt_methods.toRadixString$1(unit, 16), codeUnits, i1 - 1); |
|
throw H.wrapException(t4); |
|
} |
|
} |
|
break $label0$0; |
|
} |
|
if (expectedUnits > 0) { |
|
_this._convert$_value = value; |
|
_this._expectedUnits = expectedUnits; |
|
_this._extraUnits = extraUnits; |
|
} |
|
} |
|
}; |
|
P.NoSuchMethodError_toString_closure.prototype = { |
|
call$2: function(key, value) { |
|
var t3, |
|
t1 = this.sb, |
|
t2 = this._box_0; |
|
t1._contents += t2.comma; |
|
t3 = t1._contents += H.S(key.__internal$_name); |
|
t1._contents = t3 + ": "; |
|
t1._contents += P.Error_safeToString(value); |
|
t2.comma = ", "; |
|
} |
|
}; |
|
P.bool.prototype = {}; |
|
P.DateTime.prototype = { |
|
add$1: function(_, duration) { |
|
return P.DateTime$_withValue(C.JSInt_methods.$add(this._value, duration.get$inMilliseconds()), false); |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof P.DateTime && this._value === other._value && true; |
|
}, |
|
compareTo$1: function(_, other) { |
|
return C.JSInt_methods.compareTo$1(this._value, other._value); |
|
}, |
|
get$hashCode: function(_) { |
|
var t1 = this._value; |
|
return (t1 ^ C.JSInt_methods._shrOtherPositive$1(t1, 30)) & 1073741823; |
|
}, |
|
toString$0: function(_) { |
|
var _this = this, |
|
y = P.DateTime__fourDigits(H.Primitives_getYear(_this)), |
|
m = P.DateTime__twoDigits(H.Primitives_getMonth(_this)), |
|
d = P.DateTime__twoDigits(H.Primitives_getDay(_this)), |
|
h = P.DateTime__twoDigits(H.Primitives_getHours(_this)), |
|
min = P.DateTime__twoDigits(H.Primitives_getMinutes(_this)), |
|
sec = P.DateTime__twoDigits(H.Primitives_getSeconds(_this)), |
|
ms = P.DateTime__threeDigits(H.Primitives_getMilliseconds(_this)), |
|
t1 = y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms; |
|
return t1; |
|
}, |
|
$isComparable: 1, |
|
$asComparable: function() { |
|
return [P.DateTime]; |
|
} |
|
}; |
|
P.double.prototype = {}; |
|
P.Duration.prototype = { |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof P.Duration && this._duration === other._duration; |
|
}, |
|
get$hashCode: function(_) { |
|
return C.JSInt_methods.get$hashCode(this._duration); |
|
}, |
|
compareTo$1: function(_, other) { |
|
return C.JSInt_methods.compareTo$1(this._duration, other._duration); |
|
}, |
|
toString$0: function(_) { |
|
var twoDigitMinutes, twoDigitSeconds, sixDigitUs, |
|
t1 = new P.Duration_toString_twoDigits(), |
|
t2 = this._duration; |
|
if (t2 < 0) |
|
return "-" + new P.Duration(0 - t2).toString$0(0); |
|
twoDigitMinutes = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 60000000) % 60); |
|
twoDigitSeconds = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 1000000) % 60); |
|
sixDigitUs = new P.Duration_toString_sixDigits().call$1(t2 % 1000000); |
|
return "" + C.JSInt_methods._tdivFast$1(t2, 3600000000) + ":" + H.S(twoDigitMinutes) + ":" + H.S(twoDigitSeconds) + "." + H.S(sixDigitUs); |
|
}, |
|
$isComparable: 1, |
|
$asComparable: function() { |
|
return [P.Duration]; |
|
} |
|
}; |
|
P.Duration_toString_sixDigits.prototype = { |
|
call$1: function(n) { |
|
if (n >= 100000) |
|
return "" + n; |
|
if (n >= 10000) |
|
return "0" + n; |
|
if (n >= 1000) |
|
return "00" + n; |
|
if (n >= 100) |
|
return "000" + n; |
|
if (n >= 10) |
|
return "0000" + n; |
|
return "00000" + n; |
|
}, |
|
$signature: 17 |
|
}; |
|
P.Duration_toString_twoDigits.prototype = { |
|
call$1: function(n) { |
|
if (n >= 10) |
|
return "" + n; |
|
return "0" + n; |
|
}, |
|
$signature: 17 |
|
}; |
|
P.Error.prototype = {}; |
|
P.NullThrownError.prototype = { |
|
toString$0: function(_) { |
|
return "Throw of null."; |
|
} |
|
}; |
|
P.ArgumentError.prototype = { |
|
get$_errorName: function() { |
|
return "Invalid argument" + (!this._hasValue ? "(s)" : ""); |
|
}, |
|
get$_errorExplanation: function() { |
|
return ""; |
|
}, |
|
toString$0: function(_) { |
|
var message, prefix, explanation, errorValue, _this = this, |
|
t1 = _this.name, |
|
nameString = t1 != null ? " (" + t1 + ")" : ""; |
|
t1 = _this.message; |
|
message = t1 == null ? "" : ": " + H.S(t1); |
|
prefix = _this.get$_errorName() + nameString + message; |
|
if (!_this._hasValue) |
|
return prefix; |
|
explanation = _this.get$_errorExplanation(); |
|
errorValue = P.Error_safeToString(_this.invalidValue); |
|
return prefix + explanation + ": " + errorValue; |
|
}, |
|
get$message: function(receiver) { |
|
return this.message; |
|
} |
|
}; |
|
P.RangeError.prototype = { |
|
get$_errorName: function() { |
|
return "RangeError"; |
|
}, |
|
get$_errorExplanation: function() { |
|
var explanation, t2, |
|
t1 = this.start; |
|
if (t1 == null) { |
|
t1 = this.end; |
|
explanation = t1 != null ? ": Not less than or equal to " + H.S(t1) : ""; |
|
} else { |
|
t2 = this.end; |
|
if (t2 == null) |
|
explanation = ": Not greater than or equal to " + H.S(t1); |
|
else if (t2 > t1) |
|
explanation = ": Not in range " + H.S(t1) + ".." + H.S(t2) + ", inclusive"; |
|
else |
|
explanation = t2 < t1 ? ": Valid value range is empty" : ": Only valid value is " + H.S(t1); |
|
} |
|
return explanation; |
|
} |
|
}; |
|
P.IndexError.prototype = { |
|
get$_errorName: function() { |
|
return "RangeError"; |
|
}, |
|
get$_errorExplanation: function() { |
|
if (this.invalidValue < 0) |
|
return ": index must not be negative"; |
|
var t1 = this.length; |
|
if (t1 === 0) |
|
return ": no indices are valid"; |
|
return ": index should be less than " + t1; |
|
}, |
|
get$length: function(receiver) { |
|
return this.length; |
|
} |
|
}; |
|
P.NoSuchMethodError.prototype = { |
|
toString$0: function(_) { |
|
var t1, t2, _i, t3, t4, argument, receiverText, actualParameters, _this = this, _box_0 = {}, |
|
sb = new P.StringBuffer(""); |
|
_box_0.comma = ""; |
|
for (t1 = _this._core$_arguments, t2 = t1.length, _i = 0, t3 = "", t4 = ""; _i < t2; ++_i, t4 = ", ") { |
|
argument = t1[_i]; |
|
sb._contents = t3 + t4; |
|
t3 = sb._contents += P.Error_safeToString(argument); |
|
_box_0.comma = ", "; |
|
} |
|
_this._namedArguments.forEach$1(0, new P.NoSuchMethodError_toString_closure(_box_0, sb)); |
|
receiverText = P.Error_safeToString(_this._core$_receiver); |
|
actualParameters = sb.toString$0(0); |
|
t1 = "NoSuchMethodError: method not found: '" + H.S(_this._memberName.__internal$_name) + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]"; |
|
return t1; |
|
} |
|
}; |
|
P.UnsupportedError.prototype = { |
|
toString$0: function(_) { |
|
return "Unsupported operation: " + this.message; |
|
}, |
|
get$message: function(receiver) { |
|
return this.message; |
|
} |
|
}; |
|
P.UnimplementedError.prototype = { |
|
toString$0: function(_) { |
|
var t1 = this.message; |
|
return t1 != null ? "UnimplementedError: " + t1 : "UnimplementedError"; |
|
}, |
|
get$message: function(receiver) { |
|
return this.message; |
|
} |
|
}; |
|
P.StateError.prototype = { |
|
toString$0: function(_) { |
|
return "Bad state: " + this.message; |
|
}, |
|
get$message: function(receiver) { |
|
return this.message; |
|
} |
|
}; |
|
P.ConcurrentModificationError.prototype = { |
|
toString$0: function(_) { |
|
var t1 = this.modifiedObject; |
|
if (t1 == null) |
|
return "Concurrent modification during iteration."; |
|
return "Concurrent modification during iteration: " + P.Error_safeToString(t1) + "."; |
|
} |
|
}; |
|
P.OutOfMemoryError.prototype = { |
|
toString$0: function(_) { |
|
return "Out of Memory"; |
|
}, |
|
$isError: 1 |
|
}; |
|
P.StackOverflowError.prototype = { |
|
toString$0: function(_) { |
|
return "Stack Overflow"; |
|
}, |
|
$isError: 1 |
|
}; |
|
P.CyclicInitializationError.prototype = { |
|
toString$0: function(_) { |
|
var t1 = this.variableName; |
|
return t1 == null ? "Reading static variable during its initialization" : "Reading static variable '" + t1 + "' during its initialization"; |
|
} |
|
}; |
|
P._Exception.prototype = { |
|
toString$0: function(_) { |
|
return "Exception: " + this.message; |
|
}, |
|
$isException: 1, |
|
get$message: function(receiver) { |
|
return this.message; |
|
} |
|
}; |
|
P.FormatException.prototype = { |
|
toString$0: function(_) { |
|
var source, lineNum, lineStart, previousCharWasCR, i, char, lineEnd, end, start, prefix, postfix, slice, |
|
t1 = this.message, |
|
report = t1 != null && "" !== t1 ? "FormatException: " + H.S(t1) : "FormatException", |
|
offset = this.offset, |
|
objectSource = this.source; |
|
if (typeof objectSource === "string") { |
|
if (offset != null) |
|
t1 = offset < 0 || offset > objectSource.length; |
|
else |
|
t1 = false; |
|
if (t1) |
|
offset = null; |
|
if (offset == null) { |
|
source = objectSource.length > 78 ? C.JSString_methods.substring$2(objectSource, 0, 75) + "..." : objectSource; |
|
return report + "\n" + source; |
|
} |
|
for (lineNum = 1, lineStart = 0, previousCharWasCR = false, i = 0; i < offset; ++i) { |
|
char = C.JSString_methods._codeUnitAt$1(objectSource, i); |
|
if (char === 10) { |
|
if (lineStart !== i || !previousCharWasCR) |
|
++lineNum; |
|
lineStart = i + 1; |
|
previousCharWasCR = false; |
|
} else if (char === 13) { |
|
++lineNum; |
|
lineStart = i + 1; |
|
previousCharWasCR = true; |
|
} |
|
} |
|
report = lineNum > 1 ? report + (" (at line " + lineNum + ", character " + (offset - lineStart + 1) + ")\n") : report + (" (at character " + (offset + 1) + ")\n"); |
|
lineEnd = objectSource.length; |
|
for (i = offset; i < lineEnd; ++i) { |
|
char = C.JSString_methods.codeUnitAt$1(objectSource, i); |
|
if (char === 10 || char === 13) { |
|
lineEnd = i; |
|
break; |
|
} |
|
} |
|
if (lineEnd - lineStart > 78) |
|
if (offset - lineStart < 75) { |
|
end = lineStart + 75; |
|
start = lineStart; |
|
prefix = ""; |
|
postfix = "..."; |
|
} else { |
|
if (lineEnd - offset < 75) { |
|
start = lineEnd - 75; |
|
end = lineEnd; |
|
postfix = ""; |
|
} else { |
|
start = offset - 36; |
|
end = offset + 36; |
|
postfix = "..."; |
|
} |
|
prefix = "..."; |
|
} |
|
else { |
|
end = lineEnd; |
|
start = lineStart; |
|
prefix = ""; |
|
postfix = ""; |
|
} |
|
slice = C.JSString_methods.substring$2(objectSource, start, end); |
|
return report + prefix + slice + postfix + "\n" + C.JSString_methods.$mul(" ", offset - start + prefix.length) + "^\n"; |
|
} else |
|
return offset != null ? report + (" (at offset " + H.S(offset) + ")") : report; |
|
}, |
|
$isException: 1, |
|
get$message: function(receiver) { |
|
return this.message; |
|
}, |
|
get$source: function() { |
|
return this.source; |
|
} |
|
}; |
|
P.Function.prototype = {}; |
|
P.int.prototype = {}; |
|
P.Iterable.prototype = { |
|
cast$1$0: function(_, $R) { |
|
return H.CastIterable_CastIterable(this, H.getRuntimeTypeArgument(this, "Iterable", 0), $R); |
|
}, |
|
followedBy$1: function(_, other) { |
|
var _this = this, |
|
t1 = H.getRuntimeTypeArgument(_this, "Iterable", 0); |
|
if (H.checkSubtype(_this, "$isEfficientLengthIterable", [t1], "$asEfficientLengthIterable")) |
|
return H.FollowedByIterable_FollowedByIterable$firstEfficient(_this, other, t1); |
|
return new H.FollowedByIterable(_this, other, [t1]); |
|
}, |
|
map$1$1: function(_, f, $T) { |
|
return H.MappedIterable_MappedIterable(this, f, H.getRuntimeTypeArgument(this, "Iterable", 0), $T); |
|
}, |
|
where$1: function(_, test) { |
|
return new H.WhereIterable(this, test, [H.getRuntimeTypeArgument(this, "Iterable", 0)]); |
|
}, |
|
expand$1$1: function(_, f, $T) { |
|
return new H.ExpandIterable(this, f, [H.getRuntimeTypeArgument(this, "Iterable", 0), $T]); |
|
}, |
|
contains$1: function(_, element) { |
|
var t1; |
|
for (t1 = this.get$iterator(this); t1.moveNext$0();) |
|
if (J.$eq$(t1.get$current(t1), element)) |
|
return true; |
|
return false; |
|
}, |
|
fold$1$2: function(_, initialValue, combine) { |
|
var t1, value; |
|
for (t1 = this.get$iterator(this), value = initialValue; t1.moveNext$0();) |
|
value = combine.call$2(value, t1.get$current(t1)); |
|
return value; |
|
}, |
|
fold$2: function($receiver, initialValue, combine) { |
|
return this.fold$1$2($receiver, initialValue, combine, null); |
|
}, |
|
join$1: function(_, separator) { |
|
var t1, |
|
iterator = this.get$iterator(this); |
|
if (!iterator.moveNext$0()) |
|
return ""; |
|
if (separator === "") { |
|
t1 = ""; |
|
do |
|
t1 += H.S(iterator.get$current(iterator)); |
|
while (iterator.moveNext$0()); |
|
} else { |
|
t1 = H.S(iterator.get$current(iterator)); |
|
for (; iterator.moveNext$0();) |
|
t1 = t1 + separator + H.S(iterator.get$current(iterator)); |
|
} |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
join$0: function($receiver) { |
|
return this.join$1($receiver, ""); |
|
}, |
|
any$1: function(_, test) { |
|
var t1; |
|
for (t1 = this.get$iterator(this); t1.moveNext$0();) |
|
if (test.call$1(t1.get$current(t1))) |
|
return true; |
|
return false; |
|
}, |
|
toList$1$growable: function(_, growable) { |
|
return P.List_List$from(this, growable, H.getRuntimeTypeArgument(this, "Iterable", 0)); |
|
}, |
|
toList$0: function($receiver) { |
|
return this.toList$1$growable($receiver, true); |
|
}, |
|
toSet$0: function(_) { |
|
return P.LinkedHashSet_LinkedHashSet$from(this, H.getRuntimeTypeArgument(this, "Iterable", 0)); |
|
}, |
|
get$length: function(_) { |
|
var count, |
|
it = this.get$iterator(this); |
|
for (count = 0; it.moveNext$0();) |
|
++count; |
|
return count; |
|
}, |
|
get$isEmpty: function(_) { |
|
return !this.get$iterator(this).moveNext$0(); |
|
}, |
|
get$isNotEmpty: function(_) { |
|
return !this.get$isEmpty(this); |
|
}, |
|
take$1: function(_, count) { |
|
return H.TakeIterable_TakeIterable(this, count, H.getRuntimeTypeArgument(this, "Iterable", 0)); |
|
}, |
|
skip$1: function(_, count) { |
|
return H.SkipIterable_SkipIterable(this, count, H.getRuntimeTypeArgument(this, "Iterable", 0)); |
|
}, |
|
skipWhile$1: function(_, test) { |
|
return new H.SkipWhileIterable(this, test, [H.getRuntimeTypeArgument(this, "Iterable", 0)]); |
|
}, |
|
get$first: function(_) { |
|
var it = this.get$iterator(this); |
|
if (!it.moveNext$0()) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
return it.get$current(it); |
|
}, |
|
get$last: function(_) { |
|
var result, |
|
it = this.get$iterator(this); |
|
if (!it.moveNext$0()) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
do |
|
result = it.get$current(it); |
|
while (it.moveNext$0()); |
|
return result; |
|
}, |
|
get$single: function(_) { |
|
var result, |
|
it = this.get$iterator(this); |
|
if (!it.moveNext$0()) |
|
throw H.wrapException(H.IterableElementError_noElement()); |
|
result = it.get$current(it); |
|
if (it.moveNext$0()) |
|
throw H.wrapException(H.IterableElementError_tooMany()); |
|
return result; |
|
}, |
|
firstWhere$2$orElse: function(_, test, orElse) { |
|
var t1, element; |
|
for (t1 = this.get$iterator(this); t1.moveNext$0();) { |
|
element = t1.get$current(t1); |
|
if (test.call$1(element)) |
|
return element; |
|
} |
|
return orElse.call$0(); |
|
}, |
|
elementAt$1: function(_, index) { |
|
var t1, elementIndex, element, _s5_ = "index"; |
|
if (index == null) |
|
H.throwExpression(P.ArgumentError$notNull(_s5_)); |
|
P.RangeError_checkNotNegative(index, _s5_); |
|
for (t1 = this.get$iterator(this), elementIndex = 0; t1.moveNext$0();) { |
|
element = t1.get$current(t1); |
|
if (index === elementIndex) |
|
return element; |
|
++elementIndex; |
|
} |
|
throw H.wrapException(P.IndexError$(index, this, _s5_, null, elementIndex)); |
|
}, |
|
toString$0: function(_) { |
|
return P.IterableBase_iterableToShortString(this, "(", ")"); |
|
} |
|
}; |
|
P._GeneratorIterable.prototype = { |
|
elementAt$1: function(_, index) { |
|
P.RangeError_checkValidIndex(index, this, null); |
|
return this._generator.call$1(index); |
|
}, |
|
get$length: function(receiver) { |
|
return this.length; |
|
} |
|
}; |
|
P.Iterator.prototype = {}; |
|
P.List.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1}; |
|
P.Map.prototype = {}; |
|
P.MapEntry.prototype = { |
|
toString$0: function(_) { |
|
return "MapEntry(" + H.S(this.key) + ": " + H.S(this.value) + ")"; |
|
} |
|
}; |
|
P.Null.prototype = { |
|
get$hashCode: function(_) { |
|
return P.Object.prototype.get$hashCode.call(this, this); |
|
}, |
|
toString$0: function(_) { |
|
return "null"; |
|
} |
|
}; |
|
P.num.prototype = {$isComparable: 1, |
|
$asComparable: function() { |
|
return [P.num]; |
|
} |
|
}; |
|
P.Object.prototype = {constructor: P.Object, $isObject: 1, |
|
$eq: function(_, other) { |
|
return this === other; |
|
}, |
|
get$hashCode: function(_) { |
|
return H.Primitives_objectHashCode(this); |
|
}, |
|
toString$0: function(_) { |
|
return "Instance of '" + H.S(H.Primitives_objectTypeName(this)) + "'"; |
|
}, |
|
noSuchMethod$1: function(_, invocation) { |
|
throw H.wrapException(P.NoSuchMethodError$(this, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments())); |
|
}, |
|
toString: function() { |
|
return this.toString$0(this); |
|
} |
|
}; |
|
P.Match.prototype = {}; |
|
P.RegExpMatch.prototype = {$isMatch: 1}; |
|
P.Set.prototype = {}; |
|
P.StackTrace.prototype = {}; |
|
P._StringStackTrace.prototype = { |
|
toString$0: function(_) { |
|
return this._core$_stackTrace; |
|
}, |
|
$isStackTrace: 1 |
|
}; |
|
P.String.prototype = {$isComparable: 1, |
|
$asComparable: function() { |
|
return [P.String]; |
|
} |
|
}; |
|
P.Runes.prototype = { |
|
get$iterator: function(_) { |
|
return new P.RuneIterator(this.string); |
|
}, |
|
get$last: function(_) { |
|
var code, previousCode, |
|
t1 = this.string, |
|
t2 = t1.length; |
|
if (t2 === 0) |
|
throw H.wrapException(P.StateError$("No elements.")); |
|
code = C.JSString_methods.codeUnitAt$1(t1, t2 - 1); |
|
if ((code & 64512) === 56320 && t2 > 1) { |
|
previousCode = C.JSString_methods.codeUnitAt$1(t1, t2 - 2); |
|
if ((previousCode & 64512) === 55296) |
|
return P._combineSurrogatePair(previousCode, code); |
|
} |
|
return code; |
|
}, |
|
$asIterable: function() { |
|
return [P.int]; |
|
} |
|
}; |
|
P.RuneIterator.prototype = { |
|
get$current: function(_) { |
|
return this._currentCodePoint; |
|
}, |
|
moveNext$0: function() { |
|
var codeUnit, nextPosition, nextCodeUnit, _this = this, |
|
t1 = _this._core$_position = _this._nextPosition, |
|
t2 = _this.string, |
|
t3 = t2.length; |
|
if (t1 === t3) { |
|
_this._currentCodePoint = null; |
|
return false; |
|
} |
|
codeUnit = C.JSString_methods._codeUnitAt$1(t2, t1); |
|
nextPosition = t1 + 1; |
|
if ((codeUnit & 64512) === 55296 && nextPosition < t3) { |
|
nextCodeUnit = C.JSString_methods._codeUnitAt$1(t2, nextPosition); |
|
if ((nextCodeUnit & 64512) === 56320) { |
|
_this._nextPosition = nextPosition + 1; |
|
_this._currentCodePoint = P._combineSurrogatePair(codeUnit, nextCodeUnit); |
|
return true; |
|
} |
|
} |
|
_this._nextPosition = nextPosition; |
|
_this._currentCodePoint = codeUnit; |
|
return true; |
|
} |
|
}; |
|
P.StringBuffer.prototype = { |
|
get$length: function(_) { |
|
return this._contents.length; |
|
}, |
|
write$1: function(_, obj) { |
|
this._contents += H.S(obj); |
|
}, |
|
writeCharCode$1: function(charCode) { |
|
this._contents += H.Primitives_stringFromCharCode(charCode); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
} |
|
}; |
|
P.StringSink.prototype = {}; |
|
P.Symbol0.prototype = {}; |
|
P.Uri.prototype = {}; |
|
P.Uri__parseIPv4Address_error.prototype = { |
|
call$2: function(msg, position) { |
|
throw H.wrapException(P.FormatException$("Illegal IPv4 address, " + msg, this.host, position)); |
|
} |
|
}; |
|
P.Uri_parseIPv6Address_error.prototype = { |
|
call$2: function(msg, position) { |
|
throw H.wrapException(P.FormatException$("Illegal IPv6 address, " + msg, this.host, position)); |
|
}, |
|
call$1: function(msg) { |
|
return this.call$2(msg, null); |
|
} |
|
}; |
|
P.Uri_parseIPv6Address_parseHex.prototype = { |
|
call$2: function(start, end) { |
|
var value; |
|
if (end - start > 4) |
|
this.error.call$2("an IPv6 part can only contain a maximum of 4 hex digits", start); |
|
value = P.int_parse(C.JSString_methods.substring$2(this.host, start, end), null, 16); |
|
if (value < 0 || value > 65535) |
|
this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start); |
|
return value; |
|
} |
|
}; |
|
P._Uri.prototype = { |
|
get$userInfo: function() { |
|
return this._userInfo; |
|
}, |
|
get$host: function() { |
|
var t1 = this._host; |
|
if (t1 == null) |
|
return ""; |
|
if (C.JSString_methods.startsWith$1(t1, "[")) |
|
return C.JSString_methods.substring$2(t1, 1, t1.length - 1); |
|
return t1; |
|
}, |
|
get$port: function() { |
|
var t1 = this._port; |
|
if (t1 == null) |
|
return P._Uri__defaultPort(this.scheme); |
|
return t1; |
|
}, |
|
get$query: function() { |
|
var t1 = this._query; |
|
return t1 == null ? "" : t1; |
|
}, |
|
get$fragment: function() { |
|
var t1 = this._fragment; |
|
return t1 == null ? "" : t1; |
|
}, |
|
get$pathSegments: function() { |
|
var pathToSplit, t1, t2, |
|
result = this._pathSegments; |
|
if (result != null) |
|
return result; |
|
pathToSplit = this.path; |
|
if (pathToSplit.length !== 0 && C.JSString_methods._codeUnitAt$1(pathToSplit, 0) === 47) |
|
pathToSplit = C.JSString_methods.substring$1(pathToSplit, 1); |
|
if (pathToSplit === "") |
|
result = C.List_empty; |
|
else { |
|
t1 = P.String; |
|
t2 = H.setRuntimeTypeInfo(pathToSplit.split("/"), [t1]); |
|
result = P.List_List$unmodifiable(new H.MappedListIterable(t2, P.core_Uri_decodeComponent$closure(), [H.getTypeArgumentByIndex(t2, 0), null]), t1); |
|
} |
|
return this._pathSegments = result; |
|
}, |
|
_mergePaths$2: function(base, reference) { |
|
var backCount, refStart, baseEnd, newEnd, delta, t1; |
|
for (backCount = 0, refStart = 0; C.JSString_methods.startsWith$2(reference, "../", refStart);) { |
|
refStart += 3; |
|
++backCount; |
|
} |
|
baseEnd = C.JSString_methods.lastIndexOf$1(base, "/"); |
|
while (true) { |
|
if (!(baseEnd > 0 && backCount > 0)) |
|
break; |
|
newEnd = C.JSString_methods.lastIndexOf$2(base, "/", baseEnd - 1); |
|
if (newEnd < 0) |
|
break; |
|
delta = baseEnd - newEnd; |
|
t1 = delta !== 2; |
|
if (!t1 || delta === 3) |
|
if (C.JSString_methods.codeUnitAt$1(base, newEnd + 1) === 46) |
|
t1 = !t1 || C.JSString_methods.codeUnitAt$1(base, newEnd + 2) === 46; |
|
else |
|
t1 = false; |
|
else |
|
t1 = false; |
|
if (t1) |
|
break; |
|
--backCount; |
|
baseEnd = newEnd; |
|
} |
|
return C.JSString_methods.replaceRange$3(base, baseEnd + 1, null, C.JSString_methods.substring$1(reference, refStart - 3 * backCount)); |
|
}, |
|
resolve$1: function(reference) { |
|
return this.resolveUri$1(P.Uri_parse(reference)); |
|
}, |
|
resolveUri$1: function(reference) { |
|
var targetScheme, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, t1, mergedPath, t2, _this = this, _null = null; |
|
if (reference.get$scheme().length !== 0) { |
|
targetScheme = reference.get$scheme(); |
|
if (reference.get$hasAuthority()) { |
|
targetUserInfo = reference.get$userInfo(); |
|
targetHost = reference.get$host(); |
|
targetPort = reference.get$hasPort() ? reference.get$port() : _null; |
|
} else { |
|
targetPort = _null; |
|
targetHost = targetPort; |
|
targetUserInfo = ""; |
|
} |
|
targetPath = P._Uri__removeDotSegments(reference.get$path(reference)); |
|
targetQuery = reference.get$hasQuery() ? reference.get$query() : _null; |
|
} else { |
|
targetScheme = _this.scheme; |
|
if (reference.get$hasAuthority()) { |
|
targetUserInfo = reference.get$userInfo(); |
|
targetHost = reference.get$host(); |
|
targetPort = P._Uri__makePort(reference.get$hasPort() ? reference.get$port() : _null, targetScheme); |
|
targetPath = P._Uri__removeDotSegments(reference.get$path(reference)); |
|
targetQuery = reference.get$hasQuery() ? reference.get$query() : _null; |
|
} else { |
|
targetUserInfo = _this._userInfo; |
|
targetHost = _this._host; |
|
targetPort = _this._port; |
|
if (reference.get$path(reference) === "") { |
|
targetPath = _this.path; |
|
targetQuery = reference.get$hasQuery() ? reference.get$query() : _this._query; |
|
} else { |
|
if (reference.get$hasAbsolutePath()) |
|
targetPath = P._Uri__removeDotSegments(reference.get$path(reference)); |
|
else { |
|
t1 = _this.path; |
|
if (t1.length === 0) |
|
if (targetHost == null) |
|
targetPath = targetScheme.length === 0 ? reference.get$path(reference) : P._Uri__removeDotSegments(reference.get$path(reference)); |
|
else |
|
targetPath = P._Uri__removeDotSegments("/" + reference.get$path(reference)); |
|
else { |
|
mergedPath = _this._mergePaths$2(t1, reference.get$path(reference)); |
|
t2 = targetScheme.length === 0; |
|
if (!t2 || targetHost != null || C.JSString_methods.startsWith$1(t1, "/")) |
|
targetPath = P._Uri__removeDotSegments(mergedPath); |
|
else |
|
targetPath = P._Uri__normalizeRelativePath(mergedPath, !t2 || targetHost != null); |
|
} |
|
} |
|
targetQuery = reference.get$hasQuery() ? reference.get$query() : _null; |
|
} |
|
} |
|
} |
|
return new P._Uri(targetScheme, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, reference.get$hasFragment() ? reference.get$fragment() : _null); |
|
}, |
|
get$hasAuthority: function() { |
|
return this._host != null; |
|
}, |
|
get$hasPort: function() { |
|
return this._port != null; |
|
}, |
|
get$hasQuery: function() { |
|
return this._query != null; |
|
}, |
|
get$hasFragment: function() { |
|
return this._fragment != null; |
|
}, |
|
get$hasAbsolutePath: function() { |
|
return C.JSString_methods.startsWith$1(this.path, "/"); |
|
}, |
|
toFilePath$0: function() { |
|
var windows, pathSegments, _this = this, |
|
t1 = _this.scheme; |
|
if (t1 !== "" && t1 !== "file") |
|
throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a " + H.S(t1) + " URI")); |
|
t1 = _this._query; |
|
if ((t1 == null ? "" : t1) !== "") |
|
throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a URI with a query component")); |
|
t1 = _this._fragment; |
|
if ((t1 == null ? "" : t1) !== "") |
|
throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a URI with a fragment component")); |
|
windows = $.$get$_Uri__isWindowsCached(); |
|
if (windows) |
|
t1 = P._Uri__toWindowsFilePath(_this); |
|
else { |
|
if (_this._host != null && _this.get$host() !== "") |
|
H.throwExpression(P.UnsupportedError$("Cannot extract a non-Windows file path from a file URI with an authority")); |
|
pathSegments = _this.get$pathSegments(); |
|
P._Uri__checkNonWindowsPathReservedCharacters(pathSegments, false); |
|
t1 = P.StringBuffer__writeAll(C.JSString_methods.startsWith$1(_this.path, "/") ? "/" : "", pathSegments, "/"); |
|
t1 = t1.charCodeAt(0) == 0 ? t1 : t1; |
|
} |
|
return t1; |
|
}, |
|
toString$0: function(_) { |
|
var t2, t3, t4, _this = this, |
|
t1 = _this._text; |
|
if (t1 == null) { |
|
t1 = _this.scheme; |
|
t2 = t1.length !== 0 ? H.S(t1) + ":" : ""; |
|
t3 = _this._host; |
|
t4 = t3 == null; |
|
if (!t4 || t1 === "file") { |
|
t1 = t2 + "//"; |
|
t2 = _this._userInfo; |
|
if (t2.length !== 0) |
|
t1 = t1 + H.S(t2) + "@"; |
|
if (!t4) |
|
t1 += t3; |
|
t2 = _this._port; |
|
if (t2 != null) |
|
t1 = t1 + ":" + H.S(t2); |
|
} else |
|
t1 = t2; |
|
t1 += _this.path; |
|
t2 = _this._query; |
|
if (t2 != null) |
|
t1 = t1 + "?" + t2; |
|
t2 = _this._fragment; |
|
if (t2 != null) |
|
t1 = t1 + "#" + t2; |
|
t1 = _this._text = t1.charCodeAt(0) == 0 ? t1 : t1; |
|
} |
|
return t1; |
|
}, |
|
$eq: function(_, other) { |
|
var t1, t2, _this = this; |
|
if (other == null) |
|
return false; |
|
if (_this === other) |
|
return true; |
|
if (!!J.getInterceptor$(other).$isUri) |
|
if (_this.scheme == other.get$scheme()) |
|
if (_this._host != null === other.get$hasAuthority()) |
|
if (_this._userInfo == other.get$userInfo()) |
|
if (_this.get$host() == other.get$host()) |
|
if (_this.get$port() == other.get$port()) |
|
if (_this.path === other.get$path(other)) { |
|
t1 = _this._query; |
|
t2 = t1 == null; |
|
if (!t2 === other.get$hasQuery()) { |
|
if (t2) |
|
t1 = ""; |
|
if (t1 === other.get$query()) { |
|
t1 = _this._fragment; |
|
t2 = t1 == null; |
|
if (!t2 === other.get$hasFragment()) { |
|
if (t2) |
|
t1 = ""; |
|
t1 = t1 === other.get$fragment(); |
|
} else |
|
t1 = false; |
|
} else |
|
t1 = false; |
|
} else |
|
t1 = false; |
|
} else |
|
t1 = false; |
|
else |
|
t1 = false; |
|
else |
|
t1 = false; |
|
else |
|
t1 = false; |
|
else |
|
t1 = false; |
|
else |
|
t1 = false; |
|
else |
|
t1 = false; |
|
return t1; |
|
}, |
|
get$hashCode: function(_) { |
|
var t1 = this._hashCodeCache; |
|
return t1 == null ? this._hashCodeCache = C.JSString_methods.get$hashCode(this.toString$0(0)) : t1; |
|
}, |
|
$isUri: 1, |
|
get$scheme: function() { |
|
return this.scheme; |
|
}, |
|
get$path: function(receiver) { |
|
return this.path; |
|
} |
|
}; |
|
P._Uri__Uri$notSimple_closure.prototype = { |
|
call$1: function(_) { |
|
throw H.wrapException(P.FormatException$("Invalid port", this.uri, this.portStart + 1)); |
|
} |
|
}; |
|
P._Uri__checkNonWindowsPathReservedCharacters_closure.prototype = { |
|
call$1: function(segment) { |
|
var _s23_ = "Illegal path character "; |
|
if (J.contains$1$asx(segment, "/")) |
|
if (this.argumentError) |
|
throw H.wrapException(P.ArgumentError$(_s23_ + segment)); |
|
else |
|
throw H.wrapException(P.UnsupportedError$(_s23_ + segment)); |
|
} |
|
}; |
|
P._Uri__makePath_closure.prototype = { |
|
call$1: function(s) { |
|
return P._Uri__uriEncode(C.List_qg40, s, C.C_Utf8Codec, false); |
|
} |
|
}; |
|
P.UriData.prototype = { |
|
get$uri: function() { |
|
var t2, queryIndex, end, query, _this = this, _null = null, |
|
t1 = _this._uriCache; |
|
if (t1 != null) |
|
return t1; |
|
t1 = _this._text; |
|
t2 = _this._separatorIndices[0] + 1; |
|
queryIndex = C.JSString_methods.indexOf$2(t1, "?", t2); |
|
end = t1.length; |
|
if (queryIndex >= 0) { |
|
query = P._Uri__normalizeOrSubstring(t1, queryIndex + 1, end, C.List_CVk, false); |
|
end = queryIndex; |
|
} else |
|
query = _null; |
|
return _this._uriCache = new P._DataUri("data", _null, _null, _null, P._Uri__normalizeOrSubstring(t1, t2, end, C.List_qg4, false), query, _null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this._text; |
|
return this._separatorIndices[0] === -1 ? "data:" + t1 : t1; |
|
} |
|
}; |
|
P._createTables_closure.prototype = { |
|
call$1: function(_) { |
|
return new Uint8Array(96); |
|
}, |
|
$signature: 83 |
|
}; |
|
P._createTables_build.prototype = { |
|
call$2: function(state, defaultTransition) { |
|
var t1 = this.tables[state]; |
|
J.fillRange$3$ax(t1, 0, 96, defaultTransition); |
|
return t1; |
|
}, |
|
$signature: 37 |
|
}; |
|
P._createTables_setChars.prototype = { |
|
call$3: function(target, chars, transition) { |
|
var t1, i; |
|
for (t1 = chars.length, i = 0; i < t1; ++i) |
|
target[C.JSString_methods._codeUnitAt$1(chars, i) ^ 96] = transition; |
|
} |
|
}; |
|
P._createTables_setRange.prototype = { |
|
call$3: function(target, range, transition) { |
|
var i, n; |
|
for (i = C.JSString_methods._codeUnitAt$1(range, 0), n = C.JSString_methods._codeUnitAt$1(range, 1); i <= n; ++i) |
|
target[(i ^ 96) >>> 0] = transition; |
|
} |
|
}; |
|
P._SimpleUri.prototype = { |
|
get$hasAuthority: function() { |
|
return this._hostStart > 0; |
|
}, |
|
get$hasPort: function() { |
|
return this._hostStart > 0 && this._portStart + 1 < this._pathStart; |
|
}, |
|
get$hasQuery: function() { |
|
return this._queryStart < this._fragmentStart; |
|
}, |
|
get$hasFragment: function() { |
|
return this._fragmentStart < this._uri.length; |
|
}, |
|
get$_isFile: function() { |
|
return this._schemeEnd === 4 && C.JSString_methods.startsWith$1(this._uri, "file"); |
|
}, |
|
get$_isHttp: function() { |
|
return this._schemeEnd === 4 && C.JSString_methods.startsWith$1(this._uri, "http"); |
|
}, |
|
get$_isHttps: function() { |
|
return this._schemeEnd === 5 && C.JSString_methods.startsWith$1(this._uri, "https"); |
|
}, |
|
get$hasAbsolutePath: function() { |
|
return C.JSString_methods.startsWith$2(this._uri, "/", this._pathStart); |
|
}, |
|
get$scheme: function() { |
|
var t2, _this = this, |
|
_s7_ = "package", |
|
t1 = _this._schemeEnd; |
|
if (t1 <= 0) |
|
return ""; |
|
t2 = _this._schemeCache; |
|
if (t2 != null) |
|
return t2; |
|
if (_this.get$_isHttp()) |
|
t1 = _this._schemeCache = "http"; |
|
else if (_this.get$_isHttps()) { |
|
_this._schemeCache = "https"; |
|
t1 = "https"; |
|
} else if (_this.get$_isFile()) { |
|
_this._schemeCache = "file"; |
|
t1 = "file"; |
|
} else if (t1 === 7 && C.JSString_methods.startsWith$1(_this._uri, _s7_)) { |
|
_this._schemeCache = _s7_; |
|
t1 = _s7_; |
|
} else { |
|
t1 = C.JSString_methods.substring$2(_this._uri, 0, t1); |
|
_this._schemeCache = t1; |
|
} |
|
return t1; |
|
}, |
|
get$userInfo: function() { |
|
var t1 = this._hostStart, |
|
t2 = this._schemeEnd + 3; |
|
return t1 > t2 ? C.JSString_methods.substring$2(this._uri, t2, t1 - 1) : ""; |
|
}, |
|
get$host: function() { |
|
var t1 = this._hostStart; |
|
return t1 > 0 ? C.JSString_methods.substring$2(this._uri, t1, this._portStart) : ""; |
|
}, |
|
get$port: function() { |
|
var _this = this; |
|
if (_this.get$hasPort()) |
|
return P.int_parse(C.JSString_methods.substring$2(_this._uri, _this._portStart + 1, _this._pathStart), null, null); |
|
if (_this.get$_isHttp()) |
|
return 80; |
|
if (_this.get$_isHttps()) |
|
return 443; |
|
return 0; |
|
}, |
|
get$path: function(_) { |
|
return C.JSString_methods.substring$2(this._uri, this._pathStart, this._queryStart); |
|
}, |
|
get$query: function() { |
|
var t1 = this._queryStart, |
|
t2 = this._fragmentStart; |
|
return t1 < t2 ? C.JSString_methods.substring$2(this._uri, t1 + 1, t2) : ""; |
|
}, |
|
get$fragment: function() { |
|
var t1 = this._fragmentStart, |
|
t2 = this._uri; |
|
return t1 < t2.length ? C.JSString_methods.substring$1(t2, t1 + 1) : ""; |
|
}, |
|
get$pathSegments: function() { |
|
var t2, parts, i, |
|
start = this._pathStart, |
|
end = this._queryStart, |
|
t1 = this._uri; |
|
if (C.JSString_methods.startsWith$2(t1, "/", start)) |
|
++start; |
|
if (start == end) |
|
return C.List_empty; |
|
t2 = P.String; |
|
parts = H.setRuntimeTypeInfo([], [t2]); |
|
for (i = start; i < end; ++i) |
|
if (C.JSString_methods.codeUnitAt$1(t1, i) === 47) { |
|
parts.push(C.JSString_methods.substring$2(t1, start, i)); |
|
start = i + 1; |
|
} |
|
parts.push(C.JSString_methods.substring$2(t1, start, end)); |
|
return P.List_List$unmodifiable(parts, t2); |
|
}, |
|
_isPort$1: function(port) { |
|
var portDigitStart = this._portStart + 1; |
|
return portDigitStart + port.length === this._pathStart && C.JSString_methods.startsWith$2(this._uri, port, portDigitStart); |
|
}, |
|
removeFragment$0: function() { |
|
var _this = this, |
|
t1 = _this._fragmentStart, |
|
t2 = _this._uri; |
|
if (t1 >= t2.length) |
|
return _this; |
|
return new P._SimpleUri(C.JSString_methods.substring$2(t2, 0, t1), _this._schemeEnd, _this._hostStart, _this._portStart, _this._pathStart, _this._queryStart, t1, _this._schemeCache); |
|
}, |
|
resolve$1: function(reference) { |
|
return this.resolveUri$1(P.Uri_parse(reference)); |
|
}, |
|
resolveUri$1: function(reference) { |
|
if (reference instanceof P._SimpleUri) |
|
return this._simpleMerge$2(this, reference); |
|
return this._toNonSimple$0().resolveUri$1(reference); |
|
}, |
|
_simpleMerge$2: function(base, ref) { |
|
var t2, t3, isSimple, delta, refStart, baseStart, baseEnd, baseUri, baseStart0, backCount, refStart0, insert, |
|
t1 = ref._schemeEnd; |
|
if (t1 > 0) |
|
return ref; |
|
t2 = ref._hostStart; |
|
if (t2 > 0) { |
|
t3 = base._schemeEnd; |
|
if (t3 <= 0) |
|
return ref; |
|
if (base.get$_isFile()) |
|
isSimple = ref._pathStart != ref._queryStart; |
|
else if (base.get$_isHttp()) |
|
isSimple = !ref._isPort$1("80"); |
|
else |
|
isSimple = !base.get$_isHttps() || !ref._isPort$1("443"); |
|
if (isSimple) { |
|
delta = t3 + 1; |
|
return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, delta) + C.JSString_methods.substring$1(ref._uri, t1 + 1), t3, t2 + delta, ref._portStart + delta, ref._pathStart + delta, ref._queryStart + delta, ref._fragmentStart + delta, base._schemeCache); |
|
} else |
|
return this._toNonSimple$0().resolveUri$1(ref); |
|
} |
|
refStart = ref._pathStart; |
|
t1 = ref._queryStart; |
|
if (refStart == t1) { |
|
t2 = ref._fragmentStart; |
|
if (t1 < t2) { |
|
t3 = base._queryStart; |
|
delta = t3 - t1; |
|
return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, t3) + C.JSString_methods.substring$1(ref._uri, t1), base._schemeEnd, base._hostStart, base._portStart, base._pathStart, t1 + delta, t2 + delta, base._schemeCache); |
|
} |
|
t1 = ref._uri; |
|
if (t2 < t1.length) { |
|
t3 = base._fragmentStart; |
|
return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, t3) + C.JSString_methods.substring$1(t1, t2), base._schemeEnd, base._hostStart, base._portStart, base._pathStart, base._queryStart, t2 + (t3 - t2), base._schemeCache); |
|
} |
|
return base.removeFragment$0(); |
|
} |
|
t2 = ref._uri; |
|
if (C.JSString_methods.startsWith$2(t2, "/", refStart)) { |
|
t3 = base._pathStart; |
|
delta = t3 - refStart; |
|
return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, t3) + C.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, t3, t1 + delta, ref._fragmentStart + delta, base._schemeCache); |
|
} |
|
baseStart = base._pathStart; |
|
baseEnd = base._queryStart; |
|
if (baseStart == baseEnd && base._hostStart > 0) { |
|
for (; C.JSString_methods.startsWith$2(t2, "../", refStart);) |
|
refStart += 3; |
|
delta = baseStart - refStart + 1; |
|
return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, baseStart) + "/" + C.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache); |
|
} |
|
baseUri = base._uri; |
|
for (baseStart0 = baseStart; C.JSString_methods.startsWith$2(baseUri, "../", baseStart0);) |
|
baseStart0 += 3; |
|
backCount = 0; |
|
while (true) { |
|
refStart0 = refStart + 3; |
|
if (!(refStart0 <= t1 && C.JSString_methods.startsWith$2(t2, "../", refStart))) |
|
break; |
|
++backCount; |
|
refStart = refStart0; |
|
} |
|
for (insert = ""; baseEnd > baseStart0;) { |
|
--baseEnd; |
|
if (C.JSString_methods.codeUnitAt$1(baseUri, baseEnd) === 47) { |
|
if (backCount === 0) { |
|
insert = "/"; |
|
break; |
|
} |
|
--backCount; |
|
insert = "/"; |
|
} |
|
} |
|
if (baseEnd === baseStart0 && base._schemeEnd <= 0 && !C.JSString_methods.startsWith$2(baseUri, "/", baseStart)) { |
|
refStart -= backCount * 3; |
|
insert = ""; |
|
} |
|
delta = baseEnd - refStart + insert.length; |
|
return new P._SimpleUri(C.JSString_methods.substring$2(baseUri, 0, baseEnd) + insert + C.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache); |
|
}, |
|
toFilePath$0: function() { |
|
var t1, t2, windows, _this = this; |
|
if (_this._schemeEnd >= 0 && !_this.get$_isFile()) |
|
throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a " + H.S(_this.get$scheme()) + " URI")); |
|
t1 = _this._queryStart; |
|
t2 = _this._uri; |
|
if (t1 < t2.length) { |
|
if (t1 < _this._fragmentStart) |
|
throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a URI with a query component")); |
|
throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a URI with a fragment component")); |
|
} |
|
windows = $.$get$_Uri__isWindowsCached(); |
|
if (windows) |
|
t1 = P._Uri__toWindowsFilePath(_this); |
|
else { |
|
if (_this._hostStart < _this._portStart) |
|
H.throwExpression(P.UnsupportedError$("Cannot extract a non-Windows file path from a file URI with an authority")); |
|
t1 = C.JSString_methods.substring$2(t2, _this._pathStart, t1); |
|
} |
|
return t1; |
|
}, |
|
get$hashCode: function(_) { |
|
var t1 = this._hashCodeCache; |
|
return t1 == null ? this._hashCodeCache = C.JSString_methods.get$hashCode(this._uri) : t1; |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
if (this === other) |
|
return true; |
|
return !!J.getInterceptor$(other).$isUri && this._uri === other.toString$0(0); |
|
}, |
|
_toNonSimple$0: function() { |
|
var _this = this, _null = null, |
|
t1 = _this.get$scheme(), |
|
t2 = _this.get$userInfo(), |
|
t3 = _this._hostStart > 0 ? _this.get$host() : _null, |
|
t4 = _this.get$hasPort() ? _this.get$port() : _null, |
|
t5 = _this._uri, |
|
t6 = _this._queryStart, |
|
t7 = C.JSString_methods.substring$2(t5, _this._pathStart, t6), |
|
t8 = _this._fragmentStart; |
|
t6 = t6 < t8 ? _this.get$query() : _null; |
|
return new P._Uri(t1, t2, t3, t4, t7, t6, t8 < t5.length ? _this.get$fragment() : _null); |
|
}, |
|
toString$0: function(_) { |
|
return this._uri; |
|
}, |
|
$isUri: 1 |
|
}; |
|
P._DataUri.prototype = {}; |
|
P._JSRandom.prototype = { |
|
nextInt$1: function(max) { |
|
if (max <= 0 || max > 4294967296) |
|
throw H.wrapException(P.RangeError$("max must be in range 0 < max \u2264 2^32, was " + max)); |
|
return Math.random() * max >>> 0; |
|
}, |
|
nextDouble$0: function() { |
|
return Math.random(); |
|
} |
|
}; |
|
P.Uint8List.prototype = {$isEfficientLengthIterable: 1, |
|
$asEfficientLengthIterable: function() { |
|
return [P.int]; |
|
}, |
|
$isIterable: 1, |
|
$asIterable: function() { |
|
return [P.int]; |
|
}, |
|
$isList: 1, |
|
$asList: function() { |
|
return [P.int]; |
|
} |
|
}; |
|
N.ArgParser.prototype = { |
|
addFlag$6$abbr$defaultsTo$help$hide$negatable: function($name, abbr, defaultsTo, help, hide, negatable) { |
|
var _null = null; |
|
this._addOption$11$hide$negatable($name, abbr, help, _null, _null, _null, defaultsTo, _null, C.OptionType_nMZ, hide, negatable); |
|
}, |
|
addFlag$2$hide: function($name, hide) { |
|
return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, null, false, null, hide, true); |
|
}, |
|
addFlag$2$help: function($name, help) { |
|
return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, null, false, help, false, true); |
|
}, |
|
addFlag$3$defaultsTo$help: function($name, defaultsTo, help) { |
|
return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, null, defaultsTo, help, false, true); |
|
}, |
|
addFlag$3$help$negatable: function($name, help, negatable) { |
|
return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, null, false, help, false, negatable); |
|
}, |
|
addFlag$4$abbr$help$negatable: function($name, abbr, help, negatable) { |
|
return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, abbr, false, help, false, negatable); |
|
}, |
|
addFlag$3$abbr$help: function($name, abbr, help) { |
|
return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, abbr, false, help, false, true); |
|
}, |
|
addOption$7$abbr$allowed$defaultsTo$help$hide$valueHelp: function($name, abbr, allowed, defaultsTo, help, hide, valueHelp) { |
|
this._addOption$11$hide$splitCommas($name, abbr, help, valueHelp, allowed, null, defaultsTo, null, C.OptionType_YwU, hide, null); |
|
}, |
|
addOption$2$hide: function($name, hide) { |
|
return this.addOption$7$abbr$allowed$defaultsTo$help$hide$valueHelp($name, null, null, null, null, hide, null); |
|
}, |
|
addOption$6$abbr$allowed$defaultsTo$help$valueHelp: function($name, abbr, allowed, defaultsTo, help, valueHelp) { |
|
return this.addOption$7$abbr$allowed$defaultsTo$help$hide$valueHelp($name, abbr, allowed, defaultsTo, help, false, valueHelp); |
|
}, |
|
addOption$4$allowed$defaultsTo$help: function($name, allowed, defaultsTo, help) { |
|
return this.addOption$7$abbr$allowed$defaultsTo$help$hide$valueHelp($name, null, allowed, defaultsTo, help, false, null); |
|
}, |
|
addMultiOption$5$abbr$help$splitCommas$valueHelp: function($name, abbr, help, splitCommas, valueHelp) { |
|
var t1 = H.setRuntimeTypeInfo([], [P.String]); |
|
this._addOption$11$hide$splitCommas($name, abbr, help, valueHelp, null, null, t1, null, C.OptionType_qyr, false, false); |
|
}, |
|
_addOption$12$hide$negatable$splitCommas: function($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, hide, negatable, splitCommas) { |
|
var t2, existing, t3, option, |
|
t1 = this._arg_parser$_options; |
|
if (t1.containsKey$1($name)) |
|
throw H.wrapException(P.ArgumentError$('Duplicate option "' + $name + '".')); |
|
t2 = abbr != null; |
|
if (t2) { |
|
existing = this.findByAbbreviation$1(abbr); |
|
if (existing != null) |
|
throw H.wrapException(P.ArgumentError$('Abbreviation "' + abbr + '" is already used by "' + existing.name + '".')); |
|
} |
|
t3 = allowed == null ? null : P.List_List$unmodifiable(allowed, P.String); |
|
option = new G.Option($name, abbr, help, valueHelp, t3, null, defaultsTo, negatable, callback, type, splitCommas == null ? type === C.OptionType_qyr : splitCommas, hide); |
|
if ($name.length === 0) |
|
H.throwExpression(P.ArgumentError$("Name cannot be empty.")); |
|
else if (C.JSString_methods.startsWith$1($name, "-")) |
|
H.throwExpression(P.ArgumentError$("Name " + $name + ' cannot start with "-".')); |
|
t3 = $.$get$Option__invalidChars()._nativeRegExp; |
|
if (t3.test($name)) |
|
H.throwExpression(P.ArgumentError$('Name "' + $name + '" contains invalid characters.')); |
|
if (t2) { |
|
if (abbr.length !== 1) |
|
H.throwExpression(P.ArgumentError$("Abbreviation must be null or have length 1.")); |
|
else if (abbr === "-") |
|
H.throwExpression(P.ArgumentError$('Abbreviation cannot be "-".')); |
|
if (t3.test(abbr)) |
|
H.throwExpression(P.ArgumentError$("Abbreviation is an invalid character.")); |
|
} |
|
t1.$indexSet(0, $name, option); |
|
this._optionsAndSeparators.push(option); |
|
}, |
|
_addOption$11$hide$splitCommas: function($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, hide, splitCommas) { |
|
return this._addOption$12$hide$negatable$splitCommas($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, hide, false, splitCommas); |
|
}, |
|
_addOption$11$hide$negatable: function($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, hide, negatable) { |
|
return this._addOption$12$hide$negatable$splitCommas($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, hide, negatable, null); |
|
}, |
|
findByAbbreviation$1: function(abbr) { |
|
return this.options._collection$_map.get$values().firstWhere$2$orElse(0, new N.ArgParser_findByAbbreviation_closure(abbr), new N.ArgParser_findByAbbreviation_closure0()); |
|
} |
|
}; |
|
N.ArgParser_findByAbbreviation_closure.prototype = { |
|
call$1: function(option) { |
|
return option.abbr == this.abbr; |
|
} |
|
}; |
|
N.ArgParser_findByAbbreviation_closure0.prototype = { |
|
call$0: function() { |
|
return; |
|
} |
|
}; |
|
Z.ArgParserException.prototype = {}; |
|
V.ArgResults.prototype = { |
|
$index: function(_, $name) { |
|
var t1 = this._parser.options._collection$_map; |
|
if (!t1.containsKey$1($name)) |
|
throw H.wrapException(P.ArgumentError$('Could not find an option named "' + $name + '".')); |
|
return t1.$index(0, $name).getOrDefault$1(this._parsed.$index(0, $name)); |
|
}, |
|
wasParsed$1: function($name) { |
|
if (this._parser.options._collection$_map.$index(0, $name) == null) |
|
throw H.wrapException(P.ArgumentError$('Could not find an option named "' + H.S($name) + '".')); |
|
return this._parsed.containsKey$1($name); |
|
} |
|
}; |
|
G.Option.prototype = { |
|
getOrDefault$1: function(value) { |
|
var t1; |
|
if (value != null) |
|
return value; |
|
if (this.type === C.OptionType_qyr) { |
|
t1 = this.defaultsTo; |
|
return t1 == null ? H.setRuntimeTypeInfo([], [P.String]) : t1; |
|
} |
|
return this.defaultsTo; |
|
} |
|
}; |
|
G.OptionType.prototype = {}; |
|
G.Parser0.prototype = { |
|
parse$0: function() { |
|
var commandName, commandParser, error, t3, t4, t5, t6, t7, command, exception, _this = this, |
|
t1 = _this.args, |
|
t2 = H.setRuntimeTypeInfo(t1.slice(0), [H.getTypeArgumentByIndex(t1, 0)]), |
|
commandResults = null; |
|
for (t3 = _this.rest, t4 = _this.grammar, t5 = !t4.allowTrailingOptions, t6 = t4.commands._collection$_map; t1.length !== 0;) { |
|
t7 = t1[0]; |
|
if (t7 === "--") { |
|
C.JSArray_methods.removeAt$1(t1, 0); |
|
break; |
|
} |
|
command = t6.$index(0, t7); |
|
if (command != null) { |
|
if (t3.length !== 0) |
|
H.throwExpression(Z.ArgParserException$("Cannot specify arguments before a command.", null)); |
|
commandName = C.JSArray_methods.removeAt$1(t1, 0); |
|
t5 = P.String; |
|
t6 = [t5]; |
|
t7 = H.setRuntimeTypeInfo([], t6); |
|
C.JSArray_methods.addAll$1(t7, t3); |
|
commandParser = new G.Parser0(commandName, _this, command, t1, t7, P.LinkedHashMap_LinkedHashMap$_empty(t5, null)); |
|
try { |
|
commandResults = commandParser.parse$0(); |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (t1 instanceof Z.ArgParserException) { |
|
error = t1; |
|
if (commandName == null) |
|
throw exception; |
|
t1 = error.message; |
|
t6 = H.setRuntimeTypeInfo([commandName], t6); |
|
C.JSArray_methods.addAll$1(t6, error.commands); |
|
throw H.wrapException(Z.ArgParserException$(t1, t6)); |
|
} else |
|
throw exception; |
|
} |
|
C.JSArray_methods.set$length(t3, 0); |
|
break; |
|
} |
|
if (_this.parseSoloOption$0()) |
|
continue; |
|
if (_this.parseAbbreviation$1(_this)) |
|
continue; |
|
if (_this.parseLongOption$0()) |
|
continue; |
|
if (t5) |
|
break; |
|
t3.push(C.JSArray_methods.removeAt$1(t1, 0)); |
|
} |
|
t4.options._collection$_map.forEach$1(0, new G.Parser_parse_closure(_this)); |
|
C.JSArray_methods.addAll$1(t3, t1); |
|
C.JSArray_methods.set$length(t1, 0); |
|
return V.ArgResults$_(t4, _this.results, _this.commandName, commandResults, t3, t2); |
|
}, |
|
readNextArgAsValue$1: function(option) { |
|
var t1 = this.args, |
|
t2 = t1.length, |
|
t3 = 'Missing argument for "' + option.name + '".'; |
|
if (t2 === 0) |
|
H.throwExpression(Z.ArgParserException$(t3, null)); |
|
this.setOption$3(this.results, option, t1[0]); |
|
C.JSArray_methods.removeAt$1(t1, 0); |
|
}, |
|
parseSoloOption$0: function() { |
|
var t2, option, _this = this, |
|
t1 = _this.args, |
|
soloOpt = $.$get$_soloOpt().firstMatch$1(t1[0]); |
|
if (soloOpt == null) |
|
return false; |
|
t2 = soloOpt._match; |
|
option = _this.grammar.findByAbbreviation$1(t2[1]); |
|
if (option == null) { |
|
t1 = _this.parent; |
|
t2 = 'Could not find an option or flag "-' + H.S(t2[1]) + '".'; |
|
if (t1 == null) |
|
H.throwExpression(Z.ArgParserException$(t2, null)); |
|
return t1.parseSoloOption$0(); |
|
} |
|
C.JSArray_methods.removeAt$1(t1, 0); |
|
if (option.type === C.OptionType_nMZ) |
|
_this.results.$indexSet(0, option.name, true); |
|
else |
|
_this.readNextArgAsValue$1(option); |
|
return true; |
|
}, |
|
parseAbbreviation$1: function(innermostCommand) { |
|
var t2, c, first, t3, t4, i, i0, _this = this, |
|
t1 = _this.args, |
|
abbrOpt = $.$get$_abbrOpt().firstMatch$1(t1[0]); |
|
if (abbrOpt == null) |
|
return false; |
|
t2 = abbrOpt._match; |
|
c = J.substring$2$s(t2[1], 0, 1); |
|
first = _this.grammar.findByAbbreviation$1(c); |
|
if (first == null) { |
|
t1 = _this.parent; |
|
t2 = 'Could not find an option with short name "-' + c + '".'; |
|
if (t1 == null) |
|
H.throwExpression(Z.ArgParserException$(t2, null)); |
|
return t1.parseAbbreviation$1(innermostCommand); |
|
} else if (first.type !== C.OptionType_nMZ) |
|
_this.setOption$3(_this.results, first, J.substring$1$s(t2[1], 1) + H.S(t2[2])); |
|
else { |
|
t3 = t2[2]; |
|
t4 = 'Option "-' + c + '" is a flag and cannot handle value "' + J.substring$1$s(t2[1], 1) + H.S(t3) + '".'; |
|
if (t3 !== "") |
|
H.throwExpression(Z.ArgParserException$(t4, null)); |
|
for (i = 0; t3 = t2[1], i < t3.length; i = i0) { |
|
i0 = i + 1; |
|
innermostCommand.parseShortFlag$1(J.substring$2$s(t3, i, i0)); |
|
} |
|
} |
|
C.JSArray_methods.removeAt$1(t1, 0); |
|
return true; |
|
}, |
|
parseShortFlag$1: function(c) { |
|
var t1, t2, |
|
option = this.grammar.findByAbbreviation$1(c); |
|
if (option == null) { |
|
t1 = this.parent; |
|
t2 = 'Could not find an option with short name "-' + c + '".'; |
|
if (t1 == null) |
|
H.throwExpression(Z.ArgParserException$(t2, null)); |
|
t1.parseShortFlag$1(c); |
|
return; |
|
} |
|
t1 = option.type; |
|
t2 = 'Option "-' + c + '" must be a flag to be in a collapsed "-".'; |
|
if (t1 !== C.OptionType_nMZ) |
|
H.throwExpression(Z.ArgParserException$(t2, null)); |
|
this.results.$indexSet(0, option.name, true); |
|
}, |
|
parseLongOption$0: function() { |
|
var t2, $name, t3, option, _this = this, _null = null, |
|
_s32_ = 'Could not find an option named "', |
|
t1 = _this.args, |
|
longOpt = $.$get$_longOpt().firstMatch$1(t1[0]); |
|
if (longOpt == null) |
|
return false; |
|
t2 = longOpt._match; |
|
$name = t2[1]; |
|
t3 = _this.grammar.options._collection$_map; |
|
option = t3.$index(0, $name); |
|
if (option != null) { |
|
C.JSArray_methods.removeAt$1(t1, 0); |
|
if (option.type === C.OptionType_nMZ) { |
|
t1 = t2[3]; |
|
t2 = 'Flag option "' + H.S($name) + '" should not be given a value.'; |
|
if (t1 != null) |
|
H.throwExpression(Z.ArgParserException$(t2, _null)); |
|
_this.results.$indexSet(0, option.name, true); |
|
} else { |
|
t1 = t2[3]; |
|
if (t1 != null) |
|
_this.setOption$3(_this.results, option, t1); |
|
else |
|
_this.readNextArgAsValue$1(option); |
|
} |
|
} else if (J.getInterceptor$s($name).startsWith$1($name, "no-")) { |
|
$name = C.JSString_methods.substring$1($name, 3); |
|
option = t3.$index(0, $name); |
|
if (option == null) { |
|
t1 = _this.parent; |
|
t2 = _s32_ + $name + '".'; |
|
if (t1 == null) |
|
H.throwExpression(Z.ArgParserException$(t2, _null)); |
|
return t1.parseLongOption$0(); |
|
} |
|
C.JSArray_methods.removeAt$1(t1, 0); |
|
t1 = option.type; |
|
t2 = 'Cannot negate non-flag option "' + $name + '".'; |
|
if (t1 !== C.OptionType_nMZ) |
|
H.throwExpression(Z.ArgParserException$(t2, _null)); |
|
t1 = option.negatable; |
|
t2 = 'Cannot negate option "' + $name + '".'; |
|
if (!t1) |
|
H.throwExpression(Z.ArgParserException$(t2, _null)); |
|
_this.results.$indexSet(0, option.name, false); |
|
} else { |
|
t1 = _this.parent; |
|
t2 = _s32_ + $name + '".'; |
|
if (t1 == null) |
|
H.throwExpression(Z.ArgParserException$(t2, _null)); |
|
return t1.parseLongOption$0(); |
|
} |
|
return true; |
|
}, |
|
setOption$3: function(results, option, value) { |
|
var list, t1, t2, t3, _i, element; |
|
if (option.type !== C.OptionType_qyr) { |
|
this._validateAllowed$2(option, value); |
|
results.$indexSet(0, option.name, value); |
|
return; |
|
} |
|
list = results.putIfAbsent$2(option.name, new G.Parser_setOption_closure()); |
|
if (option.splitCommas) |
|
for (t1 = value.split(","), t2 = t1.length, t3 = J.getInterceptor$ax(list), _i = 0; _i < t2; ++_i) { |
|
element = t1[_i]; |
|
this._validateAllowed$2(option, element); |
|
t3.add$1(list, element); |
|
} |
|
else { |
|
this._validateAllowed$2(option, value); |
|
J.add$1$ax(list, value); |
|
} |
|
}, |
|
_validateAllowed$2: function(option, value) { |
|
var t2, |
|
t1 = option.allowed; |
|
if (t1 == null) |
|
return; |
|
t1 = C.JSArray_methods.contains$1(t1, value); |
|
t2 = '"' + H.S(value) + '" is not an allowed value for option "' + option.name + '".'; |
|
if (!t1) |
|
H.throwExpression(Z.ArgParserException$(t2, null)); |
|
} |
|
}; |
|
G.Parser_parse_closure.prototype = { |
|
call$2: function($name, option) { |
|
var t1 = option.callback; |
|
if (t1 == null) |
|
return; |
|
t1.call$1(option.getOrDefault$1(this.$this.results.$index(0, $name))); |
|
} |
|
}; |
|
G.Parser_setOption_closure.prototype = { |
|
call$0: function() { |
|
return H.setRuntimeTypeInfo([], [P.String]); |
|
} |
|
}; |
|
G.Usage.prototype = { |
|
generate$0: function() { |
|
var t1, t2, _i, optionOrSeparator, t3, t4, allowedNames, t5, t6, _i0, $name, isDefault, t7, _this = this; |
|
_this.buffer = new P.StringBuffer(""); |
|
_this.calculateColumnWidths$0(); |
|
for (t1 = _this.optionsAndSeparators, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { |
|
optionOrSeparator = t1[_i]; |
|
if (typeof optionOrSeparator === "string") { |
|
t3 = _this.buffer; |
|
t4 = t3._contents; |
|
t3._contents = (t4.length !== 0 ? t3._contents = t4 + "\n\n" : t4) + optionOrSeparator; |
|
_this.newlinesNeeded = 1; |
|
continue; |
|
} |
|
H.interceptedTypeCast(optionOrSeparator, "$isOption"); |
|
if (optionOrSeparator.hide) |
|
continue; |
|
t3 = optionOrSeparator.abbr; |
|
_this.write$2(0, 0, t3 == null ? "" : "-" + t3 + ", "); |
|
_this.write$2(0, 1, _this.getLongOption$1(optionOrSeparator)); |
|
t3 = optionOrSeparator.help; |
|
if (t3 != null) |
|
_this.write$2(0, 2, t3); |
|
t3 = optionOrSeparator.allowedHelp; |
|
if (t3 != null) { |
|
allowedNames = J.toList$1$growable$ax(t3.get$keys(), false); |
|
if (!!allowedNames.immutable$list) |
|
H.throwExpression(P.UnsupportedError$("sort")); |
|
t4 = allowedNames.length - 1; |
|
if (t4 - 0 <= 32) |
|
H.Sort__insertionSort(allowedNames, 0, t4, J._interceptors_JSArray__compareAny$closure()); |
|
else |
|
H.Sort__dualPivotQuicksort(allowedNames, 0, t4, J._interceptors_JSArray__compareAny$closure()); |
|
++_this.newlinesNeeded; |
|
_this.numHelpLines = _this.currentColumn = 0; |
|
for (t4 = allowedNames.length, t5 = optionOrSeparator.defaultsTo, t6 = !!J.getInterceptor$(t5).$isList, _i0 = 0; _i0 < allowedNames.length; allowedNames.length === t4 || (0, H.throwConcurrentModificationError)(allowedNames), ++_i0) { |
|
$name = allowedNames[_i0]; |
|
isDefault = t6 ? C.JSArray_methods.contains$1(t5, $name) : t5 == null ? $name == null : t5 === $name; |
|
t7 = " [" + H.S($name) + "]"; |
|
_this.write$2(0, 1, t7 + (isDefault ? " (default)" : "")); |
|
_this.write$2(0, 2, t3.$index(0, $name)); |
|
} |
|
++_this.newlinesNeeded; |
|
_this.numHelpLines = _this.currentColumn = 0; |
|
} else if (optionOrSeparator.allowed != null) |
|
_this.write$2(0, 2, _this.buildAllowedList$1(optionOrSeparator)); |
|
else { |
|
t3 = optionOrSeparator.type; |
|
if (t3 === C.OptionType_nMZ) { |
|
if (optionOrSeparator.defaultsTo === true) |
|
_this.write$2(0, 2, "(defaults to on)"); |
|
} else if (t3 === C.OptionType_qyr) { |
|
t3 = optionOrSeparator.defaultsTo; |
|
if (t3 != null && J.get$isNotEmpty$asx(t3)) |
|
_this.write$2(0, 2, "(defaults to " + J.map$1$ax(t3, new G.Usage_generate_closure()).join$1(0, ", ") + ")"); |
|
} else { |
|
t3 = optionOrSeparator.defaultsTo; |
|
if (t3 != null) |
|
_this.write$2(0, 2, '(defaults to "' + H.S(t3) + '")'); |
|
} |
|
} |
|
if (_this.numHelpLines > 1) { |
|
++_this.newlinesNeeded; |
|
_this.numHelpLines = _this.currentColumn = 0; |
|
} |
|
} |
|
return J.toString$0$(_this.buffer); |
|
}, |
|
getLongOption$1: function(option) { |
|
var t1 = option.name, |
|
result = option.negatable ? "--[no-]" + t1 : "--" + t1; |
|
t1 = option.valueHelp; |
|
return t1 != null ? result + ("=<" + t1 + ">") : result; |
|
}, |
|
calculateColumnWidths$0: function() { |
|
var t1, t2, abbr, title, _i, option, t3, t4, t5, allowed, isDefault, t6; |
|
for (t1 = this.optionsAndSeparators, t2 = t1.length, abbr = 0, title = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { |
|
option = t1[_i]; |
|
if (!(option instanceof G.Option)) |
|
continue; |
|
if (option.hide) |
|
continue; |
|
t3 = option.abbr; |
|
abbr = Math.max(abbr, (t3 == null ? "" : "-" + t3 + ", ").length); |
|
title = Math.max(title, this.getLongOption$1(option).length); |
|
t3 = option.allowedHelp; |
|
if (t3 != null) |
|
for (t3 = J.get$iterator$ax(t3.get$keys()), t4 = option.defaultsTo, t5 = !!J.getInterceptor$(t4).$isList; t3.moveNext$0();) { |
|
allowed = t3.get$current(t3); |
|
isDefault = t5 ? C.JSArray_methods.contains$1(t4, allowed) : t4 == null ? allowed == null : t4 === allowed; |
|
t6 = " [" + H.S(allowed) + "]"; |
|
title = Math.max(title, (t6 + (isDefault ? " (default)" : "")).length); |
|
} |
|
} |
|
this.columnWidths = H.setRuntimeTypeInfo([abbr, title + 4], [P.int]); |
|
}, |
|
write$2: function(_, column, text) { |
|
var t1, _i, |
|
lines = H.setRuntimeTypeInfo(text.split("\n"), [P.String]); |
|
this.columnWidths.length; |
|
while (true) { |
|
if (!(lines.length !== 0 && J.trim$0$s(lines[0]) === "")) |
|
break; |
|
if (!!lines.fixed$length) |
|
H.throwExpression(P.UnsupportedError$("removeRange")); |
|
P.RangeError_checkValidRange(0, 1, lines.length); |
|
lines.splice(0, 1); |
|
} |
|
while (true) { |
|
t1 = lines.length; |
|
if (!(t1 !== 0 && J.trim$0$s(lines[t1 - 1]) === "")) |
|
break; |
|
lines.pop(); |
|
} |
|
for (t1 = lines.length, _i = 0; _i < lines.length; lines.length === t1 || (0, H.throwConcurrentModificationError)(lines), ++_i) |
|
this.writeLine$2(column, lines[_i]); |
|
}, |
|
writeLine$2: function(column, text) { |
|
var t1, t2, _this = this; |
|
for (; t1 = _this.newlinesNeeded, t1 > 0;) { |
|
_this.buffer._contents += "\n"; |
|
_this.newlinesNeeded = t1 - 1; |
|
} |
|
for (; t1 = _this.currentColumn, t1 !== column;) { |
|
t2 = _this.buffer; |
|
if (t1 < 2) |
|
t2._contents += C.JSString_methods.$mul(" ", _this.columnWidths[t1]); |
|
else |
|
t2._contents += "\n"; |
|
_this.currentColumn = (_this.currentColumn + 1) % 3; |
|
} |
|
t1 = _this.columnWidths; |
|
t1.length; |
|
t2 = _this.buffer; |
|
if (column < 2) |
|
t2._contents += J.padRight$1$s(text, t1[column]); |
|
else { |
|
t2.toString; |
|
t2._contents += H.S(text); |
|
} |
|
_this.currentColumn = (_this.currentColumn + 1) % 3; |
|
t1 = column === 2; |
|
if (t1) |
|
++_this.newlinesNeeded; |
|
if (t1) |
|
++_this.numHelpLines; |
|
else |
|
_this.numHelpLines = 0; |
|
}, |
|
buildAllowedList$1: function(option) { |
|
var t2, first, _i, t3, allowed, |
|
t1 = option.defaultsTo, |
|
isDefault = !!J.getInterceptor$(t1).$isList ? C.JSArray_methods.get$contains(t1) : new G.Usage_buildAllowedList_closure(option); |
|
for (t1 = option.allowed, t2 = t1.length, first = true, _i = 0, t3 = "["; _i < t2; ++_i, first = false) { |
|
allowed = t1[_i]; |
|
if (!first) |
|
t3 += ", "; |
|
t3 += H.S(allowed); |
|
if (isDefault.call$1(allowed)) |
|
t3 += " (default)"; |
|
} |
|
t1 = t3 + "]"; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
} |
|
}; |
|
G.Usage_generate_closure.prototype = { |
|
call$1: function(value) { |
|
return '"' + H.S(value) + '"'; |
|
}, |
|
$signature: 38 |
|
}; |
|
G.Usage_buildAllowedList_closure.prototype = { |
|
call$1: function(value) { |
|
var t1 = this.option.defaultsTo; |
|
return value == null ? t1 == null : value === t1; |
|
}, |
|
$signature: 21 |
|
}; |
|
V.ErrorResult.prototype = { |
|
complete$1: function(completer) { |
|
completer.completeError$2(this.error, this.stackTrace); |
|
}, |
|
get$hashCode: function(_) { |
|
return (J.get$hashCode$(this.error) ^ J.get$hashCode$(this.stackTrace) ^ 492929599) >>> 0; |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof V.ErrorResult && J.$eq$(this.error, other.error) && this.stackTrace == other.stackTrace; |
|
}, |
|
$isResult: 1, |
|
$asResult: function() { |
|
return [P.Null]; |
|
} |
|
}; |
|
E.Result.prototype = {}; |
|
F.ValueResult.prototype = { |
|
complete$1: function(completer) { |
|
completer.complete$1(this.value); |
|
}, |
|
get$hashCode: function(_) { |
|
return (J.get$hashCode$(this.value) ^ 842997089) >>> 0; |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof F.ValueResult && J.$eq$(this.value, other.value); |
|
}, |
|
$isResult: 1 |
|
}; |
|
Y.StreamCompleter.prototype = { |
|
setSourceStream$1: function(sourceStream) { |
|
var t1 = this._stream_completer$_stream; |
|
if (t1._sourceStream != null) |
|
throw H.wrapException(P.StateError$("Source stream already set")); |
|
t1._sourceStream = sourceStream; |
|
if (t1._stream_completer$_controller != null) |
|
t1._linkStreamToController$0(); |
|
}, |
|
setError$2: function(error, stackTrace) { |
|
var t1 = H.getTypeArgumentByIndex(this, 0); |
|
this.setSourceStream$1(P.Stream_Stream$fromFuture(P.Future_Future$error(error, stackTrace, t1), t1)); |
|
}, |
|
setError$1: function(error) { |
|
return this.setError$2(error, null); |
|
} |
|
}; |
|
Y._CompleterStream.prototype = { |
|
listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) { |
|
var t1, _this = this, _null = null; |
|
if (_this._stream_completer$_controller == null) { |
|
t1 = _this._sourceStream; |
|
if (t1 != null && !t1.get$isBroadcast()) |
|
return _this._sourceStream.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError); |
|
_this._stream_completer$_controller = P.StreamController_StreamController(_null, _null, _null, _null, true, H.getTypeArgumentByIndex(_this, 0)); |
|
if (_this._sourceStream != null) |
|
_this._linkStreamToController$0(); |
|
} |
|
t1 = _this._stream_completer$_controller; |
|
t1.toString; |
|
return new P._ControllerStream(t1, [H.getTypeArgumentByIndex(t1, 0)]).listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError); |
|
}, |
|
listen$3$onDone$onError: function(onData, onDone, onError) { |
|
return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); |
|
}, |
|
listen$1: function(onData) { |
|
return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null); |
|
}, |
|
_linkStreamToController$0: function() { |
|
var t1 = this._stream_completer$_controller.addStream$2$cancelOnError(this._sourceStream, false), |
|
t2 = this._stream_completer$_controller; |
|
t1.whenComplete$1(t2.get$close(t2)); |
|
} |
|
}; |
|
L.StreamGroup.prototype = { |
|
add$1: function(_, stream) { |
|
var t1, _this = this; |
|
if (_this._closed) |
|
throw H.wrapException(P.StateError$("Can't add a Stream to a closed StreamGroup.")); |
|
t1 = _this._stream_group$_state; |
|
if (t1 === C._StreamGroupState_dormant) |
|
_this._subscriptions.putIfAbsent$2(stream, new L.StreamGroup_add_closure()); |
|
else if (t1 === C._StreamGroupState_canceled) |
|
return stream.listen$1(null).cancel$0(); |
|
else |
|
_this._subscriptions.putIfAbsent$2(stream, new L.StreamGroup_add_closure0(_this, stream)); |
|
return; |
|
}, |
|
remove$1: function(_, stream) { |
|
var t1 = this._subscriptions, |
|
subscription = t1.remove$1(0, stream), |
|
future = subscription == null ? null : subscription.cancel$0(); |
|
if (this._closed && t1.get$isEmpty(t1)) |
|
this._controller.close$0(0); |
|
return future; |
|
}, |
|
_onListen$0: function() { |
|
this._stream_group$_state = C._StreamGroupState_listening; |
|
this._subscriptions.forEach$1(0, new L.StreamGroup__onListen_closure(this)); |
|
}, |
|
_onPause$0: function() { |
|
this._stream_group$_state = C._StreamGroupState_paused; |
|
for (var t1 = this._subscriptions.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();) |
|
t1.get$current(t1).pause$0(0); |
|
}, |
|
_onResume$0: function() { |
|
this._stream_group$_state = C._StreamGroupState_listening; |
|
for (var t1 = this._subscriptions.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();) |
|
t1.get$current(t1).resume$0(); |
|
}, |
|
_onCancel$0: function() { |
|
var t1, t2, t3, futures; |
|
this._stream_group$_state = C._StreamGroupState_canceled; |
|
t1 = this._subscriptions; |
|
t2 = t1.get$values(); |
|
t2 = H.MappedIterable_MappedIterable(t2, new L.StreamGroup__onCancel_closure(), H.getRuntimeTypeArgument(t2, "Iterable", 0), [P.Future,,]); |
|
t3 = H.getRuntimeTypeArgument(t2, "Iterable", 0); |
|
futures = P.List_List$from(new H.WhereIterable(t2, new L.StreamGroup__onCancel_closure0(), [t3]), true, t3); |
|
t1.clear$0(0); |
|
return futures.length === 0 ? null : P.Future_wait(futures, null); |
|
}, |
|
_listenToStream$1: function(stream) { |
|
var t1 = this._controller, |
|
subscription = stream.listen$3$onDone$onError(t1.get$add(t1), new L.StreamGroup__listenToStream_closure(this, stream), t1.get$addError()); |
|
if (this._stream_group$_state === C._StreamGroupState_paused) |
|
subscription.pause$0(0); |
|
return subscription; |
|
} |
|
}; |
|
L.StreamGroup_add_closure.prototype = { |
|
call$0: function() { |
|
return; |
|
} |
|
}; |
|
L.StreamGroup_add_closure0.prototype = { |
|
call$0: function() { |
|
return this.$this._listenToStream$1(this.stream); |
|
} |
|
}; |
|
L.StreamGroup__onListen_closure.prototype = { |
|
call$2: function(stream, subscription) { |
|
var t1; |
|
if (subscription != null) |
|
return; |
|
t1 = this.$this; |
|
t1._subscriptions.$indexSet(0, stream, t1._listenToStream$1(stream)); |
|
} |
|
}; |
|
L.StreamGroup__onCancel_closure.prototype = { |
|
call$1: function(subscription) { |
|
return subscription.cancel$0(); |
|
} |
|
}; |
|
L.StreamGroup__onCancel_closure0.prototype = { |
|
call$1: function(future) { |
|
return future != null; |
|
} |
|
}; |
|
L.StreamGroup__listenToStream_closure.prototype = { |
|
call$0: function() { |
|
return this.$this.remove$1(0, this.stream); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
L._StreamGroupState.prototype = { |
|
toString$0: function(_) { |
|
return this.name; |
|
} |
|
}; |
|
G.StreamQueue.prototype = { |
|
get$next: function() { |
|
var t1 = this.$ti, |
|
t2 = new P._Future($.Zone__current, t1); |
|
this._addRequest$1(new G._NextRequest(new P._AsyncCompleter(t2, t1), t1)); |
|
return t2; |
|
}, |
|
_updateRequests$0: function() { |
|
var t1, t2, t3, _this = this; |
|
for (t1 = _this._requestQueue, t2 = _this._eventQueue; !t1.get$isEmpty(t1);) { |
|
t3 = t1._collection$_head; |
|
if (t3 === t1._collection$_tail) |
|
H.throwExpression(H.IterableElementError_noElement()); |
|
if (t1._collection$_table[t3].update$2(t2, _this._isDone)) |
|
t1.removeFirst$0(); |
|
else |
|
return; |
|
} |
|
if (!_this._isDone) |
|
_this._stream_queue$_subscription.pause$0(0); |
|
}, |
|
_ensureListening$0: function() { |
|
var t1, _this = this; |
|
if (_this._isDone) |
|
return; |
|
t1 = _this._stream_queue$_subscription; |
|
if (t1 == null) |
|
_this._stream_queue$_subscription = _this._stream_queue$_source.listen$3$onDone$onError(new G.StreamQueue__ensureListening_closure(_this), new G.StreamQueue__ensureListening_closure0(_this), new G.StreamQueue__ensureListening_closure1(_this)); |
|
else |
|
t1.resume$0(); |
|
}, |
|
_addResult$1: function(result) { |
|
++this._eventsReceived; |
|
this._eventQueue._queue_list$_add$1(result); |
|
this._updateRequests$0(); |
|
}, |
|
_addRequest$1: function(request) { |
|
var _this = this, |
|
t1 = _this._requestQueue; |
|
if (t1._collection$_head === t1._collection$_tail) { |
|
if (request.update$2(_this._eventQueue, _this._isDone)) |
|
return; |
|
_this._ensureListening$0(); |
|
} |
|
t1._collection$_add$1(request); |
|
} |
|
}; |
|
G.StreamQueue__ensureListening_closure.prototype = { |
|
call$1: function(data) { |
|
var t1 = this.$this; |
|
t1._addResult$1(new F.ValueResult(data, [H.getTypeArgumentByIndex(t1, 0)])); |
|
}, |
|
$signature: function() { |
|
return {func: 1, ret: P.Null, args: [H.getTypeArgumentByIndex(this.$this, 0)]}; |
|
} |
|
}; |
|
G.StreamQueue__ensureListening_closure1.prototype = { |
|
call$2: function(error, stackTrace) { |
|
this.$this._addResult$1(new V.ErrorResult(error, stackTrace)); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2, |
|
$signature: 15 |
|
}; |
|
G.StreamQueue__ensureListening_closure0.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this; |
|
t1._stream_queue$_subscription = null; |
|
t1._isDone = true; |
|
t1._updateRequests$0(); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
G._EventRequest.prototype = {}; |
|
G._NextRequest.prototype = { |
|
update$2: function(events, isDone) { |
|
if (!events.get$isEmpty(events)) { |
|
events.removeFirst$0().complete$1(this._completer); |
|
return true; |
|
} |
|
if (isDone) { |
|
this._completer.completeError$2(new P.StateError("No elements"), P.StackTrace_current()); |
|
return true; |
|
} |
|
return false; |
|
}, |
|
$is_EventRequest: 1 |
|
}; |
|
Q.Repl.prototype = {}; |
|
Q.closure142.prototype = { |
|
call$1: function(text) { |
|
return true; |
|
} |
|
}; |
|
B.ReplAdapter.prototype = { |
|
runAsync$0: function() { |
|
var $async$runAsync$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
switch ($async$errorCode) { |
|
case 2: |
|
$async$next = $async$nextWhenCanceled; |
|
$async$goto = $async$next.pop(); |
|
break; |
|
case 1: |
|
$async$currentError = $async$result; |
|
$async$goto = $async$handler; |
|
} |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = J.get$isTTY$x(self.process.stdin); |
|
output = (t1 == null ? false : t1) ? self.process.stdout : null; |
|
t1 = $async$self.repl; |
|
$prompt = t1.prompt; |
|
$async$self.rl = J.createInterface$1$x($.$get$readline(), {input: self.process.stdin, output: output, prompt: $prompt}); |
|
t2 = P.String; |
|
controller = P.StreamController_StreamController(null, null, null, null, false, t2); |
|
queue = new G.StreamQueue(new P._ControllerStream(controller, [H.getTypeArgumentByIndex(controller, 0)]), Q.QueueList$(null, [E.Result, t2]), P.ListQueue$([G._EventRequest,,]), [t2]); |
|
J.on$2$x($async$self.rl, "line", P.allowInterop(new B.ReplAdapter_runAsync_closure(controller))); |
|
prompt0 = t1.continuation, prompt1 = $prompt, statement = ""; |
|
case 3: |
|
// for condition |
|
// trivial condition |
|
t2 = J.get$isTTY$x(self.process.stdin); |
|
if (t2 == null ? false : t2) |
|
J.write$1$x(self.process.stdout, prompt1); |
|
$async$goto = 5; |
|
return P._asyncStarHelper(queue.get$next(), $async$runAsync$0, $async$controller); |
|
case 5: |
|
// returning from await. |
|
line = $async$result; |
|
t2 = J.get$isTTY$x(self.process.stdin); |
|
if (!(t2 == null ? false : t2)) { |
|
line0 = prompt1 + H.S(line); |
|
t2 = $.printToZone; |
|
if (t2 == null) |
|
H.printString(line0); |
|
else |
|
t2.call$1(line0); |
|
} |
|
statement = C.JSString_methods.$add(statement, line); |
|
$async$goto = t1.validator.call$1(statement) ? 6 : 8; |
|
break; |
|
case 6: |
|
// then |
|
$async$goto = 9; |
|
$async$nextWhenCanceled = [1]; |
|
return P._asyncStarHelper(P._IterationMarker_yieldSingle(statement), $async$runAsync$0, $async$controller); |
|
case 9: |
|
// after yield |
|
J.setPrompt$1$x($async$self.rl, $prompt); |
|
prompt1 = $prompt; |
|
statement = ""; |
|
// goto join |
|
$async$goto = 7; |
|
break; |
|
case 8: |
|
// else |
|
statement += "\n"; |
|
J.setPrompt$1$x($async$self.rl, prompt0); |
|
prompt1 = prompt0; |
|
case 7: |
|
// join |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 4: |
|
// after for |
|
case 1: |
|
// return |
|
return P._asyncStarHelper(null, 0, $async$controller); |
|
case 2: |
|
// rethrow |
|
return P._asyncStarHelper($async$currentError, 1, $async$controller); |
|
} |
|
}); |
|
var $async$goto = 0, |
|
$async$controller = P._makeAsyncStarStreamController($async$runAsync$0, P.String), |
|
$async$nextWhenCanceled, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, $prompt, t2, controller, queue, prompt0, prompt1, statement, line, line0, t1, output; |
|
return P._streamOfController($async$controller); |
|
} |
|
}; |
|
B.ReplAdapter_runAsync_closure.prototype = { |
|
call$1: function(value) { |
|
this.controller.add$1(0, value); |
|
}, |
|
call$0: function() { |
|
return this.call$1(null); |
|
}, |
|
"call*": "call$1", |
|
$requiredArgCount: 0, |
|
$defaultValues: function() { |
|
return [null]; |
|
}, |
|
$signature: 22 |
|
}; |
|
B.Stdin.prototype = {}; |
|
B.Stdout.prototype = {}; |
|
B.ReadlineModule.prototype = {}; |
|
B.ReadlineOptions.prototype = {}; |
|
B.ReadlineInterface.prototype = {}; |
|
O.EmptyUnmodifiableSet.prototype = { |
|
get$iterator: function(_) { |
|
return C.C_EmptyIterator; |
|
}, |
|
get$length: function(_) { |
|
return 0; |
|
}, |
|
cast$1$0: function(_, $T) { |
|
return new O.EmptyUnmodifiableSet([$T]); |
|
}, |
|
contains$1: function(_, element) { |
|
return false; |
|
}, |
|
toSet$0: function(_) { |
|
return P.LinkedHashSet_LinkedHashSet(H.getTypeArgumentByIndex(this, 0)); |
|
}, |
|
add$1: function(_, value) { |
|
return O.EmptyUnmodifiableSet__throw(); |
|
}, |
|
addAll$1: function(_, elements) { |
|
return O.EmptyUnmodifiableSet__throw(); |
|
}, |
|
$isEfficientLengthIterable: 1, |
|
$isSet: 1 |
|
}; |
|
U.DefaultEquality.prototype = {}; |
|
U.ListEquality.prototype = { |
|
equals$2: function(list1, list2) { |
|
var t1, $length, t2, i; |
|
if (list1 == null ? list2 == null : list1 === list2) |
|
return true; |
|
if (list1 == null || list2 == null) |
|
return false; |
|
t1 = J.getInterceptor$asx(list1); |
|
$length = t1.get$length(list1); |
|
t2 = J.getInterceptor$asx(list2); |
|
if ($length !== t2.get$length(list2)) |
|
return false; |
|
for (i = 0; i < $length; ++i) |
|
if (!J.$eq$(t1.$index(list1, i), t2.$index(list2, i))) |
|
return false; |
|
return true; |
|
}, |
|
hash$1: function(list) { |
|
var t1, hash, i; |
|
for (t1 = list.length, hash = 0, i = 0; i < t1; ++i) { |
|
hash = hash + J.get$hashCode$(list[i]) & 2147483647; |
|
hash = hash + (hash << 10 >>> 0) & 2147483647; |
|
hash ^= hash >>> 6; |
|
} |
|
hash = hash + (hash << 3 >>> 0) & 2147483647; |
|
hash ^= hash >>> 11; |
|
return hash + (hash << 15 >>> 0) & 2147483647; |
|
} |
|
}; |
|
U._MapEntry.prototype = { |
|
get$hashCode: function(_) { |
|
return 3 * J.get$hashCode$(this.key) + 7 * J.get$hashCode$(this.value) & 2147483647; |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof U._MapEntry && J.$eq$(this.key, other.key) && J.$eq$(this.value, other.value); |
|
} |
|
}; |
|
U.MapEquality.prototype = { |
|
equals$2: function(map1, map2) { |
|
var equalElementCounts, t1, key, entry, count; |
|
if (map1 === map2) |
|
return true; |
|
if (map1.get$length(map1) !== map2.get$length(map2)) |
|
return false; |
|
equalElementCounts = P.HashMap_HashMap(U._MapEntry, P.int); |
|
for (t1 = J.get$iterator$ax(map1.get$keys()); t1.moveNext$0();) { |
|
key = t1.get$current(t1); |
|
entry = new U._MapEntry(this, key, map1.$index(0, key)); |
|
count = equalElementCounts.$index(0, entry); |
|
equalElementCounts.$indexSet(0, entry, (count == null ? 0 : count) + 1); |
|
} |
|
for (t1 = J.get$iterator$ax(map2.get$keys()); t1.moveNext$0();) { |
|
key = t1.get$current(t1); |
|
entry = new U._MapEntry(this, key, map2.$index(0, key)); |
|
count = equalElementCounts.$index(0, entry); |
|
if (count == null || count === 0) |
|
return false; |
|
equalElementCounts.$indexSet(0, entry, count - 1); |
|
} |
|
return true; |
|
}, |
|
hash$1: function(map) { |
|
var t1, hash, key; |
|
for (t1 = J.get$iterator$ax(map.get$keys()), hash = 0; t1.moveNext$0();) { |
|
key = t1.get$current(t1); |
|
hash = hash + 3 * J.get$hashCode$(key) + 7 * J.get$hashCode$(map.$index(0, key)) & 2147483647; |
|
} |
|
hash = hash + (hash << 3 >>> 0) & 2147483647; |
|
hash ^= hash >>> 11; |
|
return hash + (hash << 15 >>> 0) & 2147483647; |
|
} |
|
}; |
|
Y.mapMap_closure.prototype = { |
|
call$2: function(mapKey, _) { |
|
return H.subtypeOfRuntimeTypeCast(mapKey, this.K2); |
|
}, |
|
$signature: function() { |
|
return {func: 1, ret: this.K2, args: [this.K1, this.V1]}; |
|
} |
|
}; |
|
Y.mapMap_closure0.prototype = { |
|
call$2: function(_, mapValue) { |
|
return H.subtypeOfRuntimeTypeCast(mapValue, this.V2); |
|
}, |
|
$signature: function() { |
|
return {func: 1, ret: this.V2, args: [this.K1, this.V1]}; |
|
} |
|
}; |
|
Y.mapMap_closure1.prototype = { |
|
call$2: function(mapKey, mapValue) { |
|
var t1 = this._box_0; |
|
this.result.$indexSet(0, t1.key.call$2(mapKey, mapValue), t1.value.call$2(mapKey, mapValue)); |
|
}, |
|
$signature: function() { |
|
return {func: 1, ret: P.Null, args: [this.K1, this.V1]}; |
|
} |
|
}; |
|
Y.groupBy_closure.prototype = { |
|
call$0: function() { |
|
return H.setRuntimeTypeInfo([], [this.S]); |
|
} |
|
}; |
|
Q.QueueList.prototype = { |
|
QueueList$1: function(initialCapacity, $E) { |
|
var t1; |
|
if (initialCapacity == null || initialCapacity < 8) |
|
initialCapacity = 8; |
|
else if ((initialCapacity & initialCapacity - 1) >>> 0 !== 0) |
|
initialCapacity = Q.QueueList__nextPowerOf2(initialCapacity); |
|
t1 = new Array(initialCapacity); |
|
t1.fixed$length = Array; |
|
this._table = H.setRuntimeTypeInfo(t1, [$E]); |
|
}, |
|
add$1: function(_, element) { |
|
this._queue_list$_add$1(element); |
|
}, |
|
addAll$1: function(_, iterable) { |
|
var addCount, $length, endSpace, preSpace, _this = this, |
|
t1 = J.getInterceptor$(iterable); |
|
if (!!t1.$isList) { |
|
addCount = t1.get$length(iterable); |
|
$length = _this.get$length(_this); |
|
t1 = $length + addCount; |
|
if (t1 >= J.get$length$asx(_this._table)) { |
|
_this._preGrow$1(t1); |
|
J.setRange$4$ax(_this._table, $length, t1, iterable, 0); |
|
_this.set$_tail(_this.get$_tail() + addCount); |
|
} else { |
|
endSpace = J.get$length$asx(_this._table) - _this.get$_tail(); |
|
t1 = _this._table; |
|
if (addCount < endSpace) { |
|
J.setRange$4$ax(t1, _this.get$_tail(), _this.get$_tail() + addCount, iterable, 0); |
|
_this.set$_tail(_this.get$_tail() + addCount); |
|
} else { |
|
preSpace = addCount - endSpace; |
|
J.setRange$4$ax(t1, _this.get$_tail(), _this.get$_tail() + endSpace, iterable, 0); |
|
J.setRange$4$ax(_this._table, 0, preSpace, iterable, endSpace); |
|
_this.set$_tail(preSpace); |
|
} |
|
} |
|
} else |
|
for (t1 = t1.get$iterator(iterable); t1.moveNext$0();) |
|
_this._queue_list$_add$1(t1.get$current(t1)); |
|
}, |
|
cast$1$0: function(_, $T) { |
|
var t1 = new Q._CastQueueList(this, null, null, [H.getRuntimeTypeArgument(this, "QueueList", 0), $T]); |
|
t1._table = J.cast$1$0$ax(this._table, $T); |
|
return t1; |
|
}, |
|
toString$0: function(_) { |
|
return P.IterableBase_iterableToFullString(this, "{", "}"); |
|
}, |
|
addFirst$1: function(element) { |
|
var _this = this; |
|
_this.set$_head((_this.get$_head() - 1 & J.get$length$asx(_this._table) - 1) >>> 0); |
|
J.$indexSet$ax(_this._table, _this.get$_head(), element); |
|
if (_this.get$_head() == _this.get$_tail()) |
|
_this._grow$0(); |
|
}, |
|
removeFirst$0: function() { |
|
var result, _this = this; |
|
if (_this.get$_head() == _this.get$_tail()) |
|
throw H.wrapException(P.StateError$("No element")); |
|
result = J.$index$asx(_this._table, _this.get$_head()); |
|
J.$indexSet$ax(_this._table, _this.get$_head(), null); |
|
_this.set$_head((_this.get$_head() + 1 & J.get$length$asx(_this._table) - 1) >>> 0); |
|
return result; |
|
}, |
|
get$length: function(_) { |
|
return (this.get$_tail() - this.get$_head() & J.get$length$asx(this._table) - 1) >>> 0; |
|
}, |
|
set$length: function(_, value) { |
|
var delta, newTail, t1, t2, _this = this; |
|
if (value < 0) |
|
throw H.wrapException(P.RangeError$("Length " + value + " may not be negative.")); |
|
delta = value - _this.get$length(_this); |
|
if (delta >= 0) { |
|
if (J.get$length$asx(_this._table) <= value) |
|
_this._preGrow$1(value); |
|
_this.set$_tail((_this.get$_tail() + delta & J.get$length$asx(_this._table) - 1) >>> 0); |
|
return; |
|
} |
|
newTail = _this.get$_tail() + delta; |
|
t1 = _this._table; |
|
if (newTail >= 0) |
|
J.fillRange$3$ax(t1, newTail, _this.get$_tail(), null); |
|
else { |
|
newTail += J.get$length$asx(t1); |
|
J.fillRange$3$ax(_this._table, 0, _this.get$_tail(), null); |
|
t1 = _this._table; |
|
t2 = J.getInterceptor$asx(t1); |
|
t2.fillRange$3(t1, newTail, t2.get$length(t1), null); |
|
} |
|
_this.set$_tail(newTail); |
|
}, |
|
$index: function(_, index) { |
|
var _this = this; |
|
if (index < 0 || index >= _this.get$length(_this)) |
|
throw H.wrapException(P.RangeError$("Index " + H.S(index) + " must be in the range [0.." + _this.get$length(_this) + ").")); |
|
return J.$index$asx(_this._table, (_this.get$_head() + index & J.get$length$asx(_this._table) - 1) >>> 0); |
|
}, |
|
$indexSet: function(_, index, value) { |
|
var _this = this; |
|
if (index < 0 || index >= _this.get$length(_this)) |
|
throw H.wrapException(P.RangeError$("Index " + H.S(index) + " must be in the range [0.." + _this.get$length(_this) + ").")); |
|
J.$indexSet$ax(_this._table, (_this.get$_head() + index & J.get$length$asx(_this._table) - 1) >>> 0, value); |
|
}, |
|
_queue_list$_add$1: function(element) { |
|
var _this = this; |
|
J.$indexSet$ax(_this._table, _this.get$_tail(), element); |
|
_this.set$_tail((_this.get$_tail() + 1 & J.get$length$asx(_this._table) - 1) >>> 0); |
|
if (_this.get$_head() == _this.get$_tail()) |
|
_this._grow$0(); |
|
}, |
|
_grow$0: function() { |
|
var newTable, split, _this = this, |
|
t1 = new Array(J.get$length$asx(_this._table) * 2); |
|
t1.fixed$length = Array; |
|
newTable = H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(_this, "QueueList", 0)]); |
|
split = J.get$length$asx(_this._table) - _this.get$_head(); |
|
C.JSArray_methods.setRange$4(newTable, 0, split, _this._table, _this.get$_head()); |
|
C.JSArray_methods.setRange$4(newTable, split, split + _this.get$_head(), _this._table, 0); |
|
_this.set$_head(0); |
|
_this.set$_tail(J.get$length$asx(_this._table)); |
|
_this._table = newTable; |
|
}, |
|
_writeToList$1: function(target) { |
|
var $length, firstPartSize, _this = this; |
|
if (_this.get$_head() <= _this.get$_tail()) { |
|
$length = _this.get$_tail() - _this.get$_head(); |
|
C.JSArray_methods.setRange$4(target, 0, $length, _this._table, _this.get$_head()); |
|
return $length; |
|
} else { |
|
firstPartSize = J.get$length$asx(_this._table) - _this.get$_head(); |
|
C.JSArray_methods.setRange$4(target, 0, firstPartSize, _this._table, _this.get$_head()); |
|
C.JSArray_methods.setRange$4(target, firstPartSize, firstPartSize + _this.get$_tail(), _this._table, 0); |
|
return _this.get$_tail() + firstPartSize; |
|
} |
|
}, |
|
_preGrow$1: function(newElementCount) { |
|
var newTable, _this = this, |
|
t1 = new Array(Q.QueueList__nextPowerOf2(newElementCount + C.JSInt_methods._shrOtherPositive$1(newElementCount, 1))); |
|
t1.fixed$length = Array; |
|
newTable = H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(_this, "QueueList", 0)]); |
|
_this.set$_tail(_this._writeToList$1(newTable)); |
|
_this._table = newTable; |
|
_this.set$_head(0); |
|
}, |
|
$isEfficientLengthIterable: 1, |
|
$isQueue: 1, |
|
$isIterable: 1, |
|
$isList: 1, |
|
get$_head: function() { |
|
return this._head; |
|
}, |
|
get$_tail: function() { |
|
return this._tail; |
|
}, |
|
set$_head: function(val) { |
|
return this._head = val; |
|
}, |
|
set$_tail: function(val) { |
|
return this._tail = val; |
|
} |
|
}; |
|
Q._CastQueueList.prototype = { |
|
get$_head: function() { |
|
return this._queue_list$_delegate.get$_head(); |
|
}, |
|
set$_head: function(value) { |
|
this._queue_list$_delegate.set$_head(value); |
|
}, |
|
get$_tail: function() { |
|
return this._queue_list$_delegate.get$_tail(); |
|
}, |
|
set$_tail: function(value) { |
|
this._queue_list$_delegate.set$_tail(value); |
|
}, |
|
$asEfficientLengthIterable: function($S, $T) { |
|
return [$T]; |
|
}, |
|
$asListMixin: function($S, $T) { |
|
return [$T]; |
|
}, |
|
$asQueue: function($S, $T) { |
|
return [$T]; |
|
}, |
|
$asIterable: function($S, $T) { |
|
return [$T]; |
|
}, |
|
$asList: function($S, $T) { |
|
return [$T]; |
|
}, |
|
$asQueueList: function($S, $T) { |
|
return [$T]; |
|
} |
|
}; |
|
Q._QueueList_Object_ListMixin.prototype = {}; |
|
L.UnmodifiableSetView.prototype = {}; |
|
L.UnmodifiableSetMixin.prototype = { |
|
add$1: function(_, value) { |
|
return L.UnmodifiableSetMixin__throw(); |
|
}, |
|
addAll$1: function(_, elements) { |
|
return L.UnmodifiableSetMixin__throw(); |
|
} |
|
}; |
|
L._UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin.prototype = {}; |
|
B.defaultCompare_closure.prototype = { |
|
call$2: function(value1, value2) { |
|
return J.compareTo$1$ns(H.numberOrStringSuperNativeTypeCast(value1, "$isComparable"), value2); |
|
}, |
|
$signature: function() { |
|
var t1 = this.T; |
|
return {func: 1, ret: P.int, args: [t1, t1]}; |
|
} |
|
}; |
|
M._DelegatingIterableBase.prototype = { |
|
cast$1$0: function(_, $T) { |
|
return J.cast$1$0$ax(this.get$_base(), $T); |
|
}, |
|
contains$1: function(_, element) { |
|
return J.contains$1$asx(this.get$_base(), element); |
|
}, |
|
elementAt$1: function(_, index) { |
|
return J.elementAt$1$ax(this.get$_base(), index); |
|
}, |
|
get$first: function(_) { |
|
return J.get$first$ax(this.get$_base()); |
|
}, |
|
get$isEmpty: function(_) { |
|
return J.get$isEmpty$asx(this.get$_base()); |
|
}, |
|
get$isNotEmpty: function(_) { |
|
return J.get$isNotEmpty$asx(this.get$_base()); |
|
}, |
|
get$iterator: function(_) { |
|
return J.get$iterator$ax(this.get$_base()); |
|
}, |
|
join$1: function(_, separator) { |
|
return J.join$1$ax(this.get$_base(), separator); |
|
}, |
|
join$0: function($receiver) { |
|
return this.join$1($receiver, ""); |
|
}, |
|
get$last: function(_) { |
|
return J.get$last$ax(this.get$_base()); |
|
}, |
|
get$length: function(_) { |
|
return J.get$length$asx(this.get$_base()); |
|
}, |
|
map$1$1: function(_, f, $T) { |
|
return J.map$1$1$ax(this.get$_base(), f, $T); |
|
}, |
|
get$single: function(_) { |
|
return J.get$single$ax(this.get$_base()); |
|
}, |
|
skip$1: function(_, n) { |
|
return J.skip$1$ax(this.get$_base(), n); |
|
}, |
|
take$1: function(_, n) { |
|
return J.take$1$ax(this.get$_base(), n); |
|
}, |
|
toList$1$growable: function(_, growable) { |
|
return J.toList$1$growable$ax(this.get$_base(), growable); |
|
}, |
|
toList$0: function($receiver) { |
|
return this.toList$1$growable($receiver, true); |
|
}, |
|
toSet$0: function(_) { |
|
return J.toSet$0$ax(this.get$_base()); |
|
}, |
|
where$1: function(_, test) { |
|
return J.where$1$ax(this.get$_base(), test); |
|
}, |
|
toString$0: function(_) { |
|
return J.toString$0$(this.get$_base()); |
|
}, |
|
$isIterable: 1 |
|
}; |
|
M.DelegatingIterable.prototype = { |
|
get$_base: function() { |
|
return this._base; |
|
} |
|
}; |
|
M.DelegatingSet.prototype = { |
|
add$1: function(_, value) { |
|
return this._base.add$1(0, value); |
|
}, |
|
addAll$1: function(_, elements) { |
|
this._base.addAll$1(0, elements); |
|
}, |
|
cast$1$0: function(_, $T) { |
|
var t1 = this._base; |
|
return P.Set_castFrom(t1, t1.get$_newSimilarSet(), H.getTypeArgumentByIndex(t1, 0), $T); |
|
}, |
|
toSet$0: function(_) { |
|
return new M.DelegatingSet(this._base.toSet$0(0), this.$ti); |
|
}, |
|
$isEfficientLengthIterable: 1, |
|
$isSet: 1 |
|
}; |
|
M.MapKeySet.prototype = { |
|
get$_base: function() { |
|
return this._baseMap.get$keys(); |
|
}, |
|
cast$1$0: function(_, $T) { |
|
var _this = this, |
|
t1 = [$T]; |
|
if (H.checkSubtype(_this, "$isMapKeySet", t1, null)) |
|
return H.subtypeCast(_this, "$isMapKeySet", t1, "$asMapKeySet"); |
|
return P.Set_castFrom(_this, null, H.getTypeArgumentByIndex(_this, 0), $T); |
|
}, |
|
contains$1: function(_, element) { |
|
return this._baseMap.containsKey$1(element); |
|
}, |
|
get$isEmpty: function(_) { |
|
var t1 = this._baseMap; |
|
return t1.get$isEmpty(t1); |
|
}, |
|
get$isNotEmpty: function(_) { |
|
var t1 = this._baseMap; |
|
return t1.get$isNotEmpty(t1); |
|
}, |
|
get$length: function(_) { |
|
var t1 = this._baseMap; |
|
return t1.get$length(t1); |
|
}, |
|
toString$0: function(_) { |
|
return "{" + J.join$1$ax(this._baseMap.get$keys(), ", ") + "}"; |
|
}, |
|
$isEfficientLengthIterable: 1, |
|
$isSet: 1 |
|
}; |
|
M._MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin.prototype = {}; |
|
M.Context.prototype = { |
|
absolute$7: function(part1, part2, part3, part4, part5, part6, part7) { |
|
var t1; |
|
M._validateArgList("absolute", H.setRuntimeTypeInfo([part1, part2, part3, part4, part5, part6, part7], [P.String])); |
|
t1 = this.style; |
|
t1 = t1.rootLength$1(part1) > 0 && !t1.isRootRelative$1(part1); |
|
if (t1) |
|
return part1; |
|
t1 = this._context$_current; |
|
return this.join$8(0, t1 != null ? t1 : D.current(), part1, part2, part3, part4, part5, part6, part7); |
|
}, |
|
absolute$1: function(part1) { |
|
return this.absolute$7(part1, null, null, null, null, null, null); |
|
}, |
|
dirname$1: function(path) { |
|
var t1, t2, |
|
parsed = X.ParsedPath_ParsedPath$parse(path, this.style); |
|
parsed.removeTrailingSeparators$0(); |
|
t1 = parsed.parts; |
|
t2 = t1.length; |
|
if (t2 === 0) { |
|
t1 = parsed.root; |
|
return t1 == null ? "." : t1; |
|
} |
|
if (t2 === 1) { |
|
t1 = parsed.root; |
|
return t1 == null ? "." : t1; |
|
} |
|
C.JSArray_methods.removeLast$0(t1); |
|
C.JSArray_methods.removeLast$0(parsed.separators); |
|
parsed.removeTrailingSeparators$0(); |
|
return parsed.toString$0(0); |
|
}, |
|
join$8: function(_, part1, part2, part3, part4, part5, part6, part7, part8) { |
|
var parts = H.setRuntimeTypeInfo([part1, part2, part3, part4, part5, part6, part7, part8], [P.String]); |
|
M._validateArgList("join", parts); |
|
return this.joinAll$1(new H.WhereIterable(parts, new M.Context_join_closure(), [H.getTypeArgumentByIndex(parts, 0)])); |
|
}, |
|
join$2: function($receiver, part1, part2) { |
|
return this.join$8($receiver, part1, part2, null, null, null, null, null, null); |
|
}, |
|
joinAll$1: function(parts) { |
|
var t1, t2, t3, needsSeparator, isAbsoluteAndNotRootRelative, t4, t5, parsed, path; |
|
for (t1 = parts.get$iterator(parts), t2 = new H.WhereIterator(t1, new M.Context_joinAll_closure()), t3 = this.style, needsSeparator = false, isAbsoluteAndNotRootRelative = false, t4 = ""; t2.moveNext$0();) { |
|
t5 = t1.get$current(t1); |
|
if (t3.isRootRelative$1(t5) && isAbsoluteAndNotRootRelative) { |
|
parsed = X.ParsedPath_ParsedPath$parse(t5, t3); |
|
path = t4.charCodeAt(0) == 0 ? t4 : t4; |
|
t4 = C.JSString_methods.substring$2(path, 0, t3.rootLength$2$withDrive(path, true)); |
|
parsed.root = t4; |
|
if (t3.needsSeparator$1(t4)) |
|
parsed.separators[0] = t3.get$separator(); |
|
t4 = parsed.toString$0(0); |
|
} else if (t3.rootLength$1(t5) > 0) { |
|
isAbsoluteAndNotRootRelative = !t3.isRootRelative$1(t5); |
|
t4 = H.S(t5); |
|
} else { |
|
if (!(t5.length !== 0 && t3.containsSeparator$1(t5[0]))) |
|
if (needsSeparator) |
|
t4 += t3.get$separator(); |
|
t4 += H.S(t5); |
|
} |
|
needsSeparator = t3.needsSeparator$1(t5); |
|
} |
|
return t4.charCodeAt(0) == 0 ? t4 : t4; |
|
}, |
|
split$1: function(_, path) { |
|
var parsed = X.ParsedPath_ParsedPath$parse(path, this.style), |
|
t1 = parsed.parts, |
|
t2 = H.getTypeArgumentByIndex(t1, 0); |
|
t2 = P.List_List$from(new H.WhereIterable(t1, new M.Context_split_closure(), [t2]), true, t2); |
|
parsed.parts = t2; |
|
t1 = parsed.root; |
|
if (t1 != null) |
|
C.JSArray_methods.insert$2(t2, 0, t1); |
|
return parsed.parts; |
|
}, |
|
canonicalize$1: function(path) { |
|
var t1, parsed; |
|
path = this.absolute$1(path); |
|
t1 = this.style; |
|
if (t1 != $.$get$Style_windows() && !this._needsNormalization$1(path)) |
|
return path; |
|
parsed = X.ParsedPath_ParsedPath$parse(path, t1); |
|
parsed.normalize$1$canonicalize(true); |
|
return parsed.toString$0(0); |
|
}, |
|
normalize$1: function(path) { |
|
var parsed; |
|
if (!this._needsNormalization$1(path)) |
|
return path; |
|
parsed = X.ParsedPath_ParsedPath$parse(path, this.style); |
|
parsed.normalize$0(); |
|
return parsed.toString$0(0); |
|
}, |
|
_needsNormalization$1: function(path) { |
|
var t1, root, t2, i, start, previous, t3, previousPrevious, codeUnit, t4; |
|
path.toString; |
|
t1 = this.style; |
|
root = t1.rootLength$1(path); |
|
if (root !== 0) { |
|
if (t1 === $.$get$Style_windows()) |
|
for (t2 = J.getInterceptor$s(path), i = 0; i < root; ++i) |
|
if (t2._codeUnitAt$1(path, i) === 47) |
|
return true; |
|
start = root; |
|
previous = 47; |
|
} else { |
|
start = 0; |
|
previous = null; |
|
} |
|
for (t2 = new H.CodeUnits(path).__internal$_string, t3 = t2.length, i = start, previousPrevious = null; i < t3; ++i, previousPrevious = previous, previous = codeUnit) { |
|
codeUnit = C.JSString_methods.codeUnitAt$1(t2, i); |
|
if (t1.isSeparator$1(codeUnit)) { |
|
if (t1 === $.$get$Style_windows() && codeUnit === 47) |
|
return true; |
|
if (previous != null && t1.isSeparator$1(previous)) |
|
return true; |
|
if (previous === 46) |
|
t4 = previousPrevious == null || previousPrevious === 46 || t1.isSeparator$1(previousPrevious); |
|
else |
|
t4 = false; |
|
if (t4) |
|
return true; |
|
} |
|
} |
|
if (previous == null) |
|
return true; |
|
if (t1.isSeparator$1(previous)) |
|
return true; |
|
if (previous === 46) |
|
t1 = previousPrevious == null || t1.isSeparator$1(previousPrevious) || previousPrevious === 46; |
|
else |
|
t1 = false; |
|
if (t1) |
|
return true; |
|
return false; |
|
}, |
|
relative$2$from: function(path, from) { |
|
var fromParsed, pathParsed, t2, t3, _this = this, |
|
_s26_ = 'Unable to find a path to "', |
|
t1 = from == null; |
|
if (t1 && _this.style.rootLength$1(path) <= 0) |
|
return _this.normalize$1(path); |
|
if (t1) { |
|
t1 = _this._context$_current; |
|
from = t1 != null ? t1 : D.current(); |
|
} else |
|
from = _this.absolute$1(from); |
|
t1 = _this.style; |
|
if (t1.rootLength$1(from) <= 0 && t1.rootLength$1(path) > 0) |
|
return _this.normalize$1(path); |
|
if (t1.rootLength$1(path) <= 0 || t1.isRootRelative$1(path)) |
|
path = _this.absolute$1(path); |
|
if (t1.rootLength$1(path) <= 0 && t1.rootLength$1(from) > 0) |
|
throw H.wrapException(X.PathException$(_s26_ + H.S(path) + '" from "' + H.S(from) + '".')); |
|
fromParsed = X.ParsedPath_ParsedPath$parse(from, t1); |
|
fromParsed.normalize$0(); |
|
pathParsed = X.ParsedPath_ParsedPath$parse(path, t1); |
|
pathParsed.normalize$0(); |
|
t2 = fromParsed.parts; |
|
if (t2.length !== 0 && J.$eq$(t2[0], ".")) |
|
return pathParsed.toString$0(0); |
|
t2 = fromParsed.root; |
|
t3 = pathParsed.root; |
|
if (t2 != t3) |
|
t2 = t2 == null || t3 == null || !t1.pathsEqual$2(t2, t3); |
|
else |
|
t2 = false; |
|
if (t2) |
|
return pathParsed.toString$0(0); |
|
while (true) { |
|
t2 = fromParsed.parts; |
|
if (t2.length !== 0) { |
|
t3 = pathParsed.parts; |
|
t2 = t3.length !== 0 && t1.pathsEqual$2(t2[0], t3[0]); |
|
} else |
|
t2 = false; |
|
if (!t2) |
|
break; |
|
C.JSArray_methods.removeAt$1(fromParsed.parts, 0); |
|
C.JSArray_methods.removeAt$1(fromParsed.separators, 1); |
|
C.JSArray_methods.removeAt$1(pathParsed.parts, 0); |
|
C.JSArray_methods.removeAt$1(pathParsed.separators, 1); |
|
} |
|
t2 = fromParsed.parts; |
|
if (t2.length !== 0 && J.$eq$(t2[0], "..")) |
|
throw H.wrapException(X.PathException$(_s26_ + H.S(path) + '" from "' + H.S(from) + '".')); |
|
t2 = P.String; |
|
C.JSArray_methods.insertAll$2(pathParsed.parts, 0, P.List_List$filled(fromParsed.parts.length, "..", t2)); |
|
t3 = pathParsed.separators; |
|
t3[0] = ""; |
|
C.JSArray_methods.insertAll$2(t3, 1, P.List_List$filled(fromParsed.parts.length, t1.get$separator(), t2)); |
|
t1 = pathParsed.parts; |
|
t2 = t1.length; |
|
if (t2 === 0) |
|
return "."; |
|
if (t2 > 1 && J.$eq$(C.JSArray_methods.get$last(t1), ".")) { |
|
C.JSArray_methods.removeLast$0(pathParsed.parts); |
|
t1 = pathParsed.separators; |
|
C.JSArray_methods.removeLast$0(t1); |
|
C.JSArray_methods.removeLast$0(t1); |
|
C.JSArray_methods.add$1(t1, ""); |
|
} |
|
pathParsed.root = ""; |
|
pathParsed.removeTrailingSeparators$0(); |
|
return pathParsed.toString$0(0); |
|
}, |
|
relative$1: function(path) { |
|
return this.relative$2$from(path, null); |
|
}, |
|
_isWithinOrEquals$2: function($parent, child) { |
|
var relative, childIsRootRelative, parentIsRootRelative, result, exception, _this = this, |
|
t1 = _this.style, |
|
parentIsAbsolute = t1.rootLength$1($parent) > 0, |
|
childIsAbsolute = t1.rootLength$1(child) > 0; |
|
if (parentIsAbsolute && !childIsAbsolute) { |
|
child = _this.absolute$1(child); |
|
if (t1.isRootRelative$1($parent)) |
|
$parent = _this.absolute$1($parent); |
|
} else if (childIsAbsolute && !parentIsAbsolute) { |
|
$parent = _this.absolute$1($parent); |
|
if (t1.isRootRelative$1(child)) |
|
child = _this.absolute$1(child); |
|
} else if (childIsAbsolute && parentIsAbsolute) { |
|
childIsRootRelative = t1.isRootRelative$1(child); |
|
parentIsRootRelative = t1.isRootRelative$1($parent); |
|
if (childIsRootRelative && !parentIsRootRelative) |
|
child = _this.absolute$1(child); |
|
else if (parentIsRootRelative && !childIsRootRelative) |
|
$parent = _this.absolute$1($parent); |
|
} |
|
result = _this._isWithinOrEqualsFast$2($parent, child); |
|
if (result !== C._PathRelation_inconclusive) |
|
return result; |
|
relative = null; |
|
try { |
|
relative = _this.relative$2$from(child, $parent); |
|
} catch (exception) { |
|
if (H.unwrapException(exception) instanceof X.PathException) |
|
return C._PathRelation_different; |
|
else |
|
throw exception; |
|
} |
|
if (t1.rootLength$1(relative) > 0) |
|
return C._PathRelation_different; |
|
if (J.$eq$(relative, ".")) |
|
return C._PathRelation_equal; |
|
if (J.$eq$(relative, "..")) |
|
return C._PathRelation_different; |
|
return J.get$length$asx(relative) >= 3 && J.startsWith$1$s(relative, "..") && t1.isSeparator$1(J.codeUnitAt$1$s(relative, 2)) ? C._PathRelation_different : C._PathRelation_within; |
|
}, |
|
_isWithinOrEqualsFast$2: function($parent, child) { |
|
var t1, parentRootLength, childRootLength, t2, t3, i, childIndex, parentIndex, lastCodeUnit, lastParentSeparator, parentCodeUnit, childCodeUnit, parentIndex0, t4, direction, _this = this; |
|
if ($parent === ".") |
|
$parent = ""; |
|
t1 = _this.style; |
|
parentRootLength = t1.rootLength$1($parent); |
|
childRootLength = t1.rootLength$1(child); |
|
if (parentRootLength !== childRootLength) |
|
return C._PathRelation_different; |
|
for (t2 = J.getInterceptor$s($parent), t3 = J.getInterceptor$s(child), i = 0; i < parentRootLength; ++i) |
|
if (!t1.codeUnitsEqual$2(t2._codeUnitAt$1($parent, i), t3._codeUnitAt$1(child, i))) |
|
return C._PathRelation_different; |
|
t2 = $parent.length; |
|
childIndex = childRootLength; |
|
parentIndex = parentRootLength; |
|
lastCodeUnit = 47; |
|
lastParentSeparator = null; |
|
while (true) { |
|
if (!(parentIndex < t2 && childIndex < child.length)) |
|
break; |
|
c$0: { |
|
parentCodeUnit = C.JSString_methods.codeUnitAt$1($parent, parentIndex); |
|
childCodeUnit = t3.codeUnitAt$1(child, childIndex); |
|
if (t1.codeUnitsEqual$2(parentCodeUnit, childCodeUnit)) { |
|
if (t1.isSeparator$1(parentCodeUnit)) |
|
lastParentSeparator = parentIndex; |
|
++parentIndex; |
|
++childIndex; |
|
lastCodeUnit = parentCodeUnit; |
|
break c$0; |
|
} |
|
if (t1.isSeparator$1(parentCodeUnit) && t1.isSeparator$1(lastCodeUnit)) { |
|
parentIndex0 = parentIndex + 1; |
|
lastParentSeparator = parentIndex; |
|
parentIndex = parentIndex0; |
|
break c$0; |
|
} else if (t1.isSeparator$1(childCodeUnit) && t1.isSeparator$1(lastCodeUnit)) { |
|
++childIndex; |
|
break c$0; |
|
} |
|
if (parentCodeUnit === 46 && t1.isSeparator$1(lastCodeUnit)) { |
|
++parentIndex; |
|
if (parentIndex === t2) |
|
break; |
|
parentCodeUnit = C.JSString_methods.codeUnitAt$1($parent, parentIndex); |
|
if (t1.isSeparator$1(parentCodeUnit)) { |
|
parentIndex0 = parentIndex + 1; |
|
lastParentSeparator = parentIndex; |
|
parentIndex = parentIndex0; |
|
break c$0; |
|
} |
|
if (parentCodeUnit === 46) { |
|
++parentIndex; |
|
if (parentIndex === t2 || t1.isSeparator$1(C.JSString_methods.codeUnitAt$1($parent, parentIndex))) |
|
return C._PathRelation_inconclusive; |
|
} |
|
} |
|
if (childCodeUnit === 46 && t1.isSeparator$1(lastCodeUnit)) { |
|
++childIndex; |
|
t4 = child.length; |
|
if (childIndex === t4) |
|
break; |
|
childCodeUnit = C.JSString_methods.codeUnitAt$1(child, childIndex); |
|
if (t1.isSeparator$1(childCodeUnit)) { |
|
++childIndex; |
|
break c$0; |
|
} |
|
if (childCodeUnit === 46) { |
|
++childIndex; |
|
if (childIndex === t4 || t1.isSeparator$1(C.JSString_methods.codeUnitAt$1(child, childIndex))) |
|
return C._PathRelation_inconclusive; |
|
} |
|
} |
|
if (_this._pathDirection$2(child, childIndex) !== C._PathDirection_988) |
|
return C._PathRelation_inconclusive; |
|
if (_this._pathDirection$2($parent, parentIndex) !== C._PathDirection_988) |
|
return C._PathRelation_inconclusive; |
|
return C._PathRelation_different; |
|
} |
|
} |
|
if (childIndex === child.length) { |
|
if (parentIndex === t2 || t1.isSeparator$1(C.JSString_methods.codeUnitAt$1($parent, parentIndex))) |
|
lastParentSeparator = parentIndex; |
|
else if (lastParentSeparator == null) |
|
lastParentSeparator = Math.max(0, parentRootLength - 1); |
|
direction = _this._pathDirection$2($parent, lastParentSeparator); |
|
if (direction === C._PathDirection_8Gl) |
|
return C._PathRelation_equal; |
|
return direction === C._PathDirection_ZGD ? C._PathRelation_inconclusive : C._PathRelation_different; |
|
} |
|
direction = _this._pathDirection$2(child, childIndex); |
|
if (direction === C._PathDirection_8Gl) |
|
return C._PathRelation_equal; |
|
if (direction === C._PathDirection_ZGD) |
|
return C._PathRelation_inconclusive; |
|
return t1.isSeparator$1(C.JSString_methods.codeUnitAt$1(child, childIndex)) || t1.isSeparator$1(lastCodeUnit) ? C._PathRelation_within : C._PathRelation_different; |
|
}, |
|
_pathDirection$2: function(path, index) { |
|
var t1, t2, i, depth, reachedRoot, i0, t3; |
|
for (t1 = path.length, t2 = this.style, i = index, depth = 0, reachedRoot = false; i < t1;) { |
|
while (true) { |
|
if (!(i < t1 && t2.isSeparator$1(C.JSString_methods.codeUnitAt$1(path, i)))) |
|
break; |
|
++i; |
|
} |
|
if (i === t1) |
|
break; |
|
i0 = i; |
|
while (true) { |
|
if (!(i0 < t1 && !t2.isSeparator$1(C.JSString_methods.codeUnitAt$1(path, i0)))) |
|
break; |
|
++i0; |
|
} |
|
t3 = i0 - i; |
|
if (!(t3 === 1 && C.JSString_methods.codeUnitAt$1(path, i) === 46)) |
|
if (t3 === 2 && C.JSString_methods.codeUnitAt$1(path, i) === 46 && C.JSString_methods.codeUnitAt$1(path, i + 1) === 46) { |
|
--depth; |
|
if (depth < 0) |
|
break; |
|
if (depth === 0) |
|
reachedRoot = true; |
|
} else |
|
++depth; |
|
if (i0 === t1) |
|
break; |
|
i = i0 + 1; |
|
} |
|
if (depth < 0) |
|
return C._PathDirection_ZGD; |
|
if (depth === 0) |
|
return C._PathDirection_8Gl; |
|
if (reachedRoot) |
|
return C._PathDirection_FIw; |
|
return C._PathDirection_988; |
|
}, |
|
hash$1: function(path) { |
|
var result, parsed, _this = this; |
|
path = _this.absolute$1(path); |
|
result = _this._hashFast$1(path); |
|
if (result != null) |
|
return result; |
|
parsed = X.ParsedPath_ParsedPath$parse(path, _this.style); |
|
parsed.normalize$0(); |
|
return _this._hashFast$1(parsed.toString$0(0)); |
|
}, |
|
_hashFast$1: function(path) { |
|
var t1, t2, hash, beginning, wasSeparator, i, codeUnit, t3, next; |
|
for (t1 = path.length, t2 = this.style, hash = 4603, beginning = true, wasSeparator = true, i = 0; i < t1; ++i) { |
|
codeUnit = t2.canonicalizeCodeUnit$1(C.JSString_methods._codeUnitAt$1(path, i)); |
|
if (t2.isSeparator$1(codeUnit)) { |
|
wasSeparator = true; |
|
continue; |
|
} |
|
if (codeUnit === 46 && wasSeparator) { |
|
t3 = i + 1; |
|
if (t3 === t1) |
|
break; |
|
next = C.JSString_methods._codeUnitAt$1(path, t3); |
|
if (t2.isSeparator$1(next)) |
|
continue; |
|
if (!beginning) |
|
if (next === 46) { |
|
t3 = i + 2; |
|
t3 = t3 === t1 || t2.isSeparator$1(C.JSString_methods._codeUnitAt$1(path, t3)); |
|
} else |
|
t3 = false; |
|
else |
|
t3 = false; |
|
if (t3) |
|
return; |
|
} |
|
hash = ((hash & 67108863) * 33 ^ codeUnit) >>> 0; |
|
beginning = false; |
|
wasSeparator = false; |
|
} |
|
return hash; |
|
}, |
|
withoutExtension$1: function(path) { |
|
var i, |
|
parsed = X.ParsedPath_ParsedPath$parse(path, this.style); |
|
for (i = parsed.parts.length - 1; i >= 0; --i) |
|
if (J.get$length$asx(parsed.parts[i]) !== 0) { |
|
parsed.parts[i] = parsed._splitExtension$0()[0]; |
|
break; |
|
} |
|
return parsed.toString$0(0); |
|
}, |
|
toUri$1: function(path) { |
|
var t2, |
|
t1 = this.style; |
|
if (t1.rootLength$1(path) <= 0) |
|
return t1.relativePathToUri$1(path); |
|
else { |
|
t2 = this._context$_current; |
|
return t1.absolutePathToUri$1(this.join$2(0, t2 != null ? t2 : D.current(), path)); |
|
} |
|
}, |
|
prettyUri$1: function(uri) { |
|
var path, rel, _this = this, |
|
typedUri = M._parseUri(uri); |
|
if (typedUri.get$scheme() === "file" && _this.style == $.$get$Style_url()) |
|
return typedUri.toString$0(0); |
|
else if (typedUri.get$scheme() !== "file" && typedUri.get$scheme() !== "" && _this.style != $.$get$Style_url()) |
|
return typedUri.toString$0(0); |
|
path = _this.normalize$1(_this.style.pathFromUri$1(M._parseUri(typedUri))); |
|
rel = _this.relative$1(path); |
|
return _this.split$1(0, rel).length > _this.split$1(0, path).length ? path : rel; |
|
} |
|
}; |
|
M.Context_join_closure.prototype = { |
|
call$1: function(part) { |
|
return part != null; |
|
} |
|
}; |
|
M.Context_joinAll_closure.prototype = { |
|
call$1: function(part) { |
|
return part !== ""; |
|
} |
|
}; |
|
M.Context_split_closure.prototype = { |
|
call$1: function(part) { |
|
return part.length !== 0; |
|
} |
|
}; |
|
M._validateArgList_closure.prototype = { |
|
call$1: function(arg) { |
|
return arg == null ? "null" : '"' + arg + '"'; |
|
} |
|
}; |
|
M._PathDirection.prototype = { |
|
toString$0: function(_) { |
|
return this.name; |
|
} |
|
}; |
|
M._PathRelation.prototype = { |
|
toString$0: function(_) { |
|
return this.name; |
|
} |
|
}; |
|
B.InternalStyle.prototype = { |
|
getRoot$1: function(path) { |
|
var $length = this.rootLength$1(path); |
|
if ($length > 0) |
|
return J.substring$2$s(path, 0, $length); |
|
return this.isRootRelative$1(path) ? path[0] : null; |
|
}, |
|
relativePathToUri$1: function(path) { |
|
var segments = M.Context_Context(this).split$1(0, path); |
|
if (this.isSeparator$1(J.codeUnitAt$1$s(path, path.length - 1))) |
|
C.JSArray_methods.add$1(segments, ""); |
|
return P._Uri__Uri(null, null, segments, null); |
|
}, |
|
codeUnitsEqual$2: function(codeUnit1, codeUnit2) { |
|
return codeUnit1 === codeUnit2; |
|
}, |
|
pathsEqual$2: function(path1, path2) { |
|
return path1 == path2; |
|
}, |
|
canonicalizeCodeUnit$1: function(codeUnit) { |
|
return codeUnit; |
|
}, |
|
canonicalizePart$1: function(part) { |
|
return part; |
|
} |
|
}; |
|
X.ParsedPath.prototype = { |
|
get$basename: function() { |
|
var _this = this, |
|
t1 = P.String, |
|
copy = new X.ParsedPath(_this.style, _this.root, _this.isRootRelative, P.List_List$from(_this.parts, true, t1), P.List_List$from(_this.separators, true, t1)); |
|
copy.removeTrailingSeparators$0(); |
|
t1 = copy.parts; |
|
if (t1.length === 0) { |
|
t1 = _this.root; |
|
return t1 == null ? "" : t1; |
|
} |
|
return C.JSArray_methods.get$last(t1); |
|
}, |
|
get$hasTrailingSeparator: function() { |
|
var t1 = this.parts; |
|
if (t1.length !== 0) |
|
t1 = J.$eq$(C.JSArray_methods.get$last(t1), "") || !J.$eq$(C.JSArray_methods.get$last(this.separators), ""); |
|
else |
|
t1 = false; |
|
return t1; |
|
}, |
|
removeTrailingSeparators$0: function() { |
|
var t1, t2, _this = this; |
|
while (true) { |
|
t1 = _this.parts; |
|
if (!(t1.length !== 0 && J.$eq$(C.JSArray_methods.get$last(t1), ""))) |
|
break; |
|
C.JSArray_methods.removeLast$0(_this.parts); |
|
C.JSArray_methods.removeLast$0(_this.separators); |
|
} |
|
t1 = _this.separators; |
|
t2 = t1.length; |
|
if (t2 !== 0) |
|
t1[t2 - 1] = ""; |
|
}, |
|
normalize$1$canonicalize: function(canonicalize) { |
|
var t2, t3, t4, leadingDoubles, _i, part, t5, newSeparators, _this = this, |
|
t1 = P.String, |
|
newParts = H.setRuntimeTypeInfo([], [t1]); |
|
for (t2 = _this.parts, t3 = t2.length, t4 = _this.style, leadingDoubles = 0, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) { |
|
part = t2[_i]; |
|
t5 = J.getInterceptor$(part); |
|
if (!(t5.$eq(part, ".") || t5.$eq(part, ""))) |
|
if (t5.$eq(part, "..")) |
|
if (newParts.length !== 0) |
|
newParts.pop(); |
|
else |
|
++leadingDoubles; |
|
else |
|
newParts.push(canonicalize ? t4.canonicalizePart$1(part) : part); |
|
} |
|
if (_this.root == null) |
|
C.JSArray_methods.insertAll$2(newParts, 0, P.List_List$filled(leadingDoubles, "..", t1)); |
|
if (newParts.length === 0 && _this.root == null) |
|
newParts.push("."); |
|
newSeparators = P.List_List$generate(newParts.length, new X.ParsedPath_normalize_closure(_this), true, t1); |
|
t1 = _this.root; |
|
C.JSArray_methods.insert$2(newSeparators, 0, t1 != null && newParts.length !== 0 && t4.needsSeparator$1(t1) ? t4.get$separator() : ""); |
|
_this.parts = newParts; |
|
_this.separators = newSeparators; |
|
t1 = _this.root; |
|
if (t1 != null && t4 === $.$get$Style_windows()) { |
|
if (canonicalize) |
|
t1 = _this.root = t1.toLowerCase(); |
|
t1.toString; |
|
_this.root = H.stringReplaceAllUnchecked(t1, "/", "\\"); |
|
} |
|
_this.removeTrailingSeparators$0(); |
|
}, |
|
normalize$0: function() { |
|
return this.normalize$1$canonicalize(false); |
|
}, |
|
toString$0: function(_) { |
|
var i, _this = this, |
|
t1 = _this.root; |
|
t1 = t1 != null ? t1 : ""; |
|
for (i = 0; i < _this.parts.length; ++i) |
|
t1 = t1 + H.S(_this.separators[i]) + H.S(_this.parts[i]); |
|
t1 += H.S(C.JSArray_methods.get$last(_this.separators)); |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
_splitExtension$0: function() { |
|
var lastDot, |
|
file = C.JSArray_methods.lastWhere$2$orElse(this.parts, new X.ParsedPath__splitExtension_closure(), new X.ParsedPath__splitExtension_closure0()); |
|
if (file == null) |
|
return H.setRuntimeTypeInfo(["", ""], [P.String]); |
|
if (file === "..") |
|
return H.setRuntimeTypeInfo(["..", ""], [P.String]); |
|
lastDot = C.JSString_methods.lastIndexOf$1(file, "."); |
|
if (lastDot <= 0) |
|
return H.setRuntimeTypeInfo([file, ""], [P.String]); |
|
return H.setRuntimeTypeInfo([C.JSString_methods.substring$2(file, 0, lastDot), C.JSString_methods.substring$1(file, lastDot)], [P.String]); |
|
} |
|
}; |
|
X.ParsedPath_normalize_closure.prototype = { |
|
call$1: function(_) { |
|
return this.$this.style.get$separator(); |
|
}, |
|
$signature: 17 |
|
}; |
|
X.ParsedPath__splitExtension_closure.prototype = { |
|
call$1: function(p) { |
|
return p !== ""; |
|
} |
|
}; |
|
X.ParsedPath__splitExtension_closure0.prototype = { |
|
call$0: function() { |
|
return; |
|
} |
|
}; |
|
X.PathException.prototype = { |
|
toString$0: function(_) { |
|
return "PathException: " + this.message; |
|
}, |
|
$isException: 1, |
|
get$message: function(receiver) { |
|
return this.message; |
|
} |
|
}; |
|
K.PathMap.prototype = { |
|
$asMap: function($V) { |
|
return [P.String, $V]; |
|
} |
|
}; |
|
K.PathMap__create_closure.prototype = { |
|
call$2: function(path1, path2) { |
|
if (path1 == null) |
|
return path2 == null; |
|
if (path2 == null) |
|
return false; |
|
return this._box_0.context._isWithinOrEquals$2(path1, path2) === C._PathRelation_equal; |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2 |
|
}; |
|
K.PathMap__create_closure0.prototype = { |
|
call$1: function(path) { |
|
return path == null ? 0 : this._box_0.context.hash$1(path); |
|
} |
|
}; |
|
K.PathMap__create_closure1.prototype = { |
|
call$1: function(path) { |
|
return typeof path === "string" || path == null; |
|
}, |
|
$signature: 21 |
|
}; |
|
O.Style.prototype = { |
|
toString$0: function(_) { |
|
return this.get$name(); |
|
} |
|
}; |
|
E.PosixStyle.prototype = { |
|
containsSeparator$1: function(path) { |
|
return C.JSString_methods.contains$1(path, "/"); |
|
}, |
|
isSeparator$1: function(codeUnit) { |
|
return codeUnit === 47; |
|
}, |
|
needsSeparator$1: function(path) { |
|
var t1 = path.length; |
|
return t1 !== 0 && J.codeUnitAt$1$s(path, t1 - 1) !== 47; |
|
}, |
|
rootLength$2$withDrive: function(path, withDrive) { |
|
if (path.length !== 0 && J._codeUnitAt$1$s(path, 0) === 47) |
|
return 1; |
|
return 0; |
|
}, |
|
rootLength$1: function(path) { |
|
return this.rootLength$2$withDrive(path, false); |
|
}, |
|
isRootRelative$1: function(path) { |
|
return false; |
|
}, |
|
pathFromUri$1: function(uri) { |
|
var t1; |
|
if (uri.get$scheme() === "" || uri.get$scheme() === "file") { |
|
t1 = uri.get$path(uri); |
|
return P._Uri__uriDecode(t1, 0, t1.length, C.C_Utf8Codec, false); |
|
} |
|
throw H.wrapException(P.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'.")); |
|
}, |
|
absolutePathToUri$1: function(path) { |
|
var parsed = X.ParsedPath_ParsedPath$parse(path, this), |
|
t1 = parsed.parts; |
|
if (t1.length === 0) |
|
C.JSArray_methods.addAll$1(t1, H.setRuntimeTypeInfo(["", ""], [P.String])); |
|
else if (parsed.get$hasTrailingSeparator()) |
|
C.JSArray_methods.add$1(parsed.parts, ""); |
|
return P._Uri__Uri(null, null, parsed.parts, "file"); |
|
}, |
|
get$name: function() { |
|
return "posix"; |
|
}, |
|
get$separator: function() { |
|
return "/"; |
|
} |
|
}; |
|
F.UrlStyle.prototype = { |
|
containsSeparator$1: function(path) { |
|
return C.JSString_methods.contains$1(path, "/"); |
|
}, |
|
isSeparator$1: function(codeUnit) { |
|
return codeUnit === 47; |
|
}, |
|
needsSeparator$1: function(path) { |
|
var t1 = path.length; |
|
if (t1 === 0) |
|
return false; |
|
if (J.getInterceptor$s(path).codeUnitAt$1(path, t1 - 1) !== 47) |
|
return true; |
|
return C.JSString_methods.endsWith$1(path, "://") && this.rootLength$1(path) === t1; |
|
}, |
|
rootLength$2$withDrive: function(path, withDrive) { |
|
var i, codeUnit, index, t2, |
|
t1 = path.length; |
|
if (t1 === 0) |
|
return 0; |
|
if (J.getInterceptor$s(path)._codeUnitAt$1(path, 0) === 47) |
|
return 1; |
|
for (i = 0; i < t1; ++i) { |
|
codeUnit = C.JSString_methods._codeUnitAt$1(path, i); |
|
if (codeUnit === 47) |
|
return 0; |
|
if (codeUnit === 58) { |
|
if (i === 0) |
|
return 0; |
|
index = C.JSString_methods.indexOf$2(path, "/", C.JSString_methods.startsWith$2(path, "//", i + 1) ? i + 3 : i); |
|
if (index <= 0) |
|
return t1; |
|
if (!withDrive || t1 < index + 3) |
|
return index; |
|
if (!C.JSString_methods.startsWith$1(path, "file://")) |
|
return index; |
|
if (!B.isDriveLetter(path, index + 1)) |
|
return index; |
|
t2 = index + 3; |
|
return t1 === t2 ? t2 : index + 4; |
|
} |
|
} |
|
return 0; |
|
}, |
|
rootLength$1: function(path) { |
|
return this.rootLength$2$withDrive(path, false); |
|
}, |
|
isRootRelative$1: function(path) { |
|
return path.length !== 0 && J._codeUnitAt$1$s(path, 0) === 47; |
|
}, |
|
pathFromUri$1: function(uri) { |
|
return J.toString$0$(uri); |
|
}, |
|
relativePathToUri$1: function(path) { |
|
return P.Uri_parse(path); |
|
}, |
|
absolutePathToUri$1: function(path) { |
|
return P.Uri_parse(path); |
|
}, |
|
get$name: function() { |
|
return "url"; |
|
}, |
|
get$separator: function() { |
|
return "/"; |
|
} |
|
}; |
|
L.WindowsStyle.prototype = { |
|
containsSeparator$1: function(path) { |
|
return C.JSString_methods.contains$1(path, "/"); |
|
}, |
|
isSeparator$1: function(codeUnit) { |
|
return codeUnit === 47 || codeUnit === 92; |
|
}, |
|
needsSeparator$1: function(path) { |
|
var t1 = path.length; |
|
if (t1 === 0) |
|
return false; |
|
t1 = J.codeUnitAt$1$s(path, t1 - 1); |
|
return !(t1 === 47 || t1 === 92); |
|
}, |
|
rootLength$2$withDrive: function(path, withDrive) { |
|
var t2, index, |
|
t1 = path.length; |
|
if (t1 === 0) |
|
return 0; |
|
t2 = J.getInterceptor$s(path)._codeUnitAt$1(path, 0); |
|
if (t2 === 47) |
|
return 1; |
|
if (t2 === 92) { |
|
if (t1 < 2 || C.JSString_methods._codeUnitAt$1(path, 1) !== 92) |
|
return 1; |
|
index = C.JSString_methods.indexOf$2(path, "\\", 2); |
|
if (index > 0) { |
|
index = C.JSString_methods.indexOf$2(path, "\\", index + 1); |
|
if (index > 0) |
|
return index; |
|
} |
|
return t1; |
|
} |
|
if (t1 < 3) |
|
return 0; |
|
if (!B.isAlphabetic(t2)) |
|
return 0; |
|
if (C.JSString_methods._codeUnitAt$1(path, 1) !== 58) |
|
return 0; |
|
t1 = C.JSString_methods._codeUnitAt$1(path, 2); |
|
if (!(t1 === 47 || t1 === 92)) |
|
return 0; |
|
return 3; |
|
}, |
|
rootLength$1: function(path) { |
|
return this.rootLength$2$withDrive(path, false); |
|
}, |
|
isRootRelative$1: function(path) { |
|
return this.rootLength$1(path) === 1; |
|
}, |
|
pathFromUri$1: function(uri) { |
|
var path, t1; |
|
if (uri.get$scheme() !== "" && uri.get$scheme() !== "file") |
|
throw H.wrapException(P.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'.")); |
|
path = uri.get$path(uri); |
|
if (uri.get$host() === "") { |
|
if (path.length >= 3 && C.JSString_methods.startsWith$1(path, "/") && B.isDriveLetter(path, 1)) |
|
path = C.JSString_methods.replaceFirst$2(path, "/", ""); |
|
} else |
|
path = "\\\\" + H.S(uri.get$host()) + path; |
|
t1 = H.stringReplaceAllUnchecked(path, "/", "\\"); |
|
return P._Uri__uriDecode(t1, 0, t1.length, C.C_Utf8Codec, false); |
|
}, |
|
absolutePathToUri$1: function(path) { |
|
var rootParts, t2, |
|
parsed = X.ParsedPath_ParsedPath$parse(path, this), |
|
t1 = parsed.root; |
|
if (J.startsWith$1$s(t1, "\\\\")) { |
|
t1 = H.setRuntimeTypeInfo(t1.split("\\"), [P.String]); |
|
rootParts = new H.WhereIterable(t1, new L.WindowsStyle_absolutePathToUri_closure(), [H.getTypeArgumentByIndex(t1, 0)]); |
|
C.JSArray_methods.insert$2(parsed.parts, 0, rootParts.get$last(rootParts)); |
|
if (parsed.get$hasTrailingSeparator()) |
|
C.JSArray_methods.add$1(parsed.parts, ""); |
|
return P._Uri__Uri(rootParts.get$first(rootParts), null, parsed.parts, "file"); |
|
} else { |
|
if (parsed.parts.length === 0 || parsed.get$hasTrailingSeparator()) |
|
C.JSArray_methods.add$1(parsed.parts, ""); |
|
t1 = parsed.parts; |
|
t2 = parsed.root; |
|
t2.toString; |
|
t2 = H.stringReplaceAllUnchecked(t2, "/", ""); |
|
C.JSArray_methods.insert$2(t1, 0, H.stringReplaceAllUnchecked(t2, "\\", "")); |
|
return P._Uri__Uri(null, null, parsed.parts, "file"); |
|
} |
|
}, |
|
codeUnitsEqual$2: function(codeUnit1, codeUnit2) { |
|
var upperCase1; |
|
if (codeUnit1 === codeUnit2) |
|
return true; |
|
if (codeUnit1 === 47) |
|
return codeUnit2 === 92; |
|
if (codeUnit1 === 92) |
|
return codeUnit2 === 47; |
|
if ((codeUnit1 ^ codeUnit2) !== 32) |
|
return false; |
|
upperCase1 = codeUnit1 | 32; |
|
return upperCase1 >= 97 && upperCase1 <= 122; |
|
}, |
|
pathsEqual$2: function(path1, path2) { |
|
var t1, t2, i; |
|
if (path1 == path2) |
|
return true; |
|
t1 = path1.length; |
|
if (t1 !== path2.length) |
|
return false; |
|
for (t2 = J.getInterceptor$s(path2), i = 0; i < t1; ++i) |
|
if (!this.codeUnitsEqual$2(C.JSString_methods._codeUnitAt$1(path1, i), t2._codeUnitAt$1(path2, i))) |
|
return false; |
|
return true; |
|
}, |
|
canonicalizeCodeUnit$1: function(codeUnit) { |
|
if (codeUnit === 47) |
|
return 92; |
|
if (codeUnit < 65) |
|
return codeUnit; |
|
if (codeUnit > 90) |
|
return codeUnit; |
|
return codeUnit | 32; |
|
}, |
|
canonicalizePart$1: function(part) { |
|
return part.toLowerCase(); |
|
}, |
|
get$name: function() { |
|
return "windows"; |
|
}, |
|
get$separator: function() { |
|
return "\\"; |
|
} |
|
}; |
|
L.WindowsStyle_absolutePathToUri_closure.prototype = { |
|
call$1: function(part) { |
|
return part !== ""; |
|
} |
|
}; |
|
F.CssMediaQuery.prototype = { |
|
merge$1: function(other) { |
|
var _i, t8, negativeFeatures, features, type, modifier, fewerFeatures, fewerFeatures0, moreFeatures, _this = this, _null = null, _s3_ = "all", |
|
t1 = _this.modifier, |
|
ourModifier = t1 == null ? _null : t1.toLowerCase(), |
|
t2 = _this.type, |
|
t3 = t2 == null, |
|
ourType = t3 ? _null : t2.toLowerCase(), |
|
t4 = other.modifier, |
|
theirModifier = t4 == null ? _null : t4.toLowerCase(), |
|
t5 = other.type, |
|
t6 = t5 == null, |
|
theirType = t6 ? _null : t5.toLowerCase(), |
|
t7 = ourType == null; |
|
if (t7 && theirType == null) { |
|
t1 = P.String; |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
for (t3 = _this.features, t4 = t3.length, _i = 0; _i < t4; ++_i) |
|
t2.push(t3[_i]); |
|
for (t3 = other.features, t4 = t3.length, _i = 0; _i < t4; ++_i) |
|
t2.push(t3[_i]); |
|
return new F.MediaQuerySuccessfulMergeResult(new F.CssMediaQuery(_null, _null, P.List_List$unmodifiable(t2, t1))); |
|
} |
|
t8 = ourModifier === "not"; |
|
if (t8 !== (theirModifier === "not")) { |
|
if (ourType == theirType) { |
|
negativeFeatures = t8 ? _this.features : other.features; |
|
if (C.JSArray_methods.every$1(negativeFeatures, C.JSArray_methods.get$contains(t8 ? other.features : _this.features))) |
|
return C._SingletonCssMediaQueryMergeResult_empty; |
|
else |
|
return C._SingletonCssMediaQueryMergeResult_unrepresentable; |
|
} else if (t3 || B.equalsIgnoreCase(t2, _s3_) || t6 || B.equalsIgnoreCase(t5, _s3_)) |
|
return C._SingletonCssMediaQueryMergeResult_unrepresentable; |
|
if (t8) { |
|
features = other.features; |
|
type = theirType; |
|
modifier = theirModifier; |
|
} else { |
|
features = _this.features; |
|
type = ourType; |
|
modifier = ourModifier; |
|
} |
|
} else if (t8) { |
|
if (ourType != theirType) |
|
return C._SingletonCssMediaQueryMergeResult_unrepresentable; |
|
fewerFeatures = _this.features; |
|
fewerFeatures0 = other.features; |
|
t3 = fewerFeatures.length > fewerFeatures0.length; |
|
moreFeatures = t3 ? fewerFeatures : fewerFeatures0; |
|
if (t3) |
|
fewerFeatures = fewerFeatures0; |
|
if (!C.JSArray_methods.every$1(fewerFeatures, C.JSArray_methods.get$contains(moreFeatures))) |
|
return C._SingletonCssMediaQueryMergeResult_unrepresentable; |
|
features = moreFeatures; |
|
type = ourType; |
|
modifier = ourModifier; |
|
} else if (t3 || B.equalsIgnoreCase(t2, _s3_)) { |
|
type = (t6 || B.equalsIgnoreCase(t5, _s3_)) && t7 ? _null : theirType; |
|
t3 = H.setRuntimeTypeInfo([], [P.String]); |
|
for (t6 = _this.features, t7 = t6.length, _i = 0; _i < t7; ++_i) |
|
t3.push(t6[_i]); |
|
for (t6 = other.features, t7 = t6.length, _i = 0; _i < t7; ++_i) |
|
t3.push(t6[_i]); |
|
features = t3; |
|
modifier = theirModifier; |
|
} else { |
|
if (t6 || B.equalsIgnoreCase(t5, _s3_)) { |
|
t3 = H.setRuntimeTypeInfo([], [P.String]); |
|
for (t6 = _this.features, t7 = t6.length, _i = 0; _i < t7; ++_i) |
|
t3.push(t6[_i]); |
|
for (t6 = other.features, t7 = t6.length, _i = 0; _i < t7; ++_i) |
|
t3.push(t6[_i]); |
|
features = t3; |
|
modifier = ourModifier; |
|
} else { |
|
if (ourType != theirType) |
|
return C._SingletonCssMediaQueryMergeResult_empty; |
|
else { |
|
modifier = ourModifier == null ? theirModifier : ourModifier; |
|
t3 = H.setRuntimeTypeInfo([], [P.String]); |
|
for (t6 = _this.features, t7 = t6.length, _i = 0; _i < t7; ++_i) |
|
t3.push(t6[_i]); |
|
for (t6 = other.features, t7 = t6.length, _i = 0; _i < t7; ++_i) |
|
t3.push(t6[_i]); |
|
} |
|
features = t3; |
|
} |
|
type = ourType; |
|
} |
|
t2 = type == ourType ? t2 : t5; |
|
return new F.MediaQuerySuccessfulMergeResult(F.CssMediaQuery$(t2, features, modifier == ourModifier ? t1 : t4)); |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof F.CssMediaQuery && other.modifier == this.modifier && other.type == this.type && C.C_ListEquality.equals$2(other.features, this.features); |
|
}, |
|
get$hashCode: function(_) { |
|
return J.get$hashCode$(this.modifier) ^ J.get$hashCode$(this.type) ^ C.C_ListEquality.hash$1(this.features); |
|
}, |
|
toString$0: function(_) { |
|
var t2, _this = this, |
|
t1 = _this.modifier; |
|
t1 = t1 != null ? t1 + " " : ""; |
|
t2 = _this.type; |
|
if (t2 != null) { |
|
t1 += t2; |
|
if (_this.features.length !== 0) |
|
t1 += " and "; |
|
} |
|
t1 += C.JSArray_methods.join$1(_this.features, " and "); |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
} |
|
}; |
|
F._SingletonCssMediaQueryMergeResult.prototype = { |
|
toString$0: function(_) { |
|
return this._media_query$_name; |
|
} |
|
}; |
|
F.MediaQuerySuccessfulMergeResult.prototype = {}; |
|
U.ModifiableCssAtRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitCssAtRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
copyWithoutChildren$0: function() { |
|
var _this = this, |
|
t1 = B.ModifiableCssNode, |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
return new U.ModifiableCssAtRule(_this.name, _this.value, _this.isChildless, _this.span, new P.UnmodifiableListView(t2, [t1]), t2); |
|
}, |
|
addChild$1: function(child) { |
|
this.super$ModifiableCssParentNode$addChild(child); |
|
}, |
|
$isCssAtRule: 1, |
|
get$isChildless: function() { |
|
return this.isChildless; |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
R.ModifiableCssComment.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitCssComment$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
$isCssComment: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
L.ModifiableCssDeclaration.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitCssDeclaration$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
F.ModifiableCssImport.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitCssImport$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
$isCssImport: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
U.ModifiableCssKeyframeBlock.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitCssKeyframeBlock$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
copyWithoutChildren$0: function() { |
|
var t1 = B.ModifiableCssNode, |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
return new U.ModifiableCssKeyframeBlock(this.selector, this.span, new P.UnmodifiableListView(t2, [t1]), t2); |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
G.ModifiableCssMediaRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitCssMediaRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
copyWithoutChildren$0: function() { |
|
return G.ModifiableCssMediaRule$(this.queries, this.span); |
|
}, |
|
$isCssMediaRule: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
B.ModifiableCssNode.prototype = { |
|
get$hasFollowingSibling: function() { |
|
var siblings, i, t2, |
|
t1 = this._parent; |
|
if (t1 == null) |
|
return false; |
|
siblings = t1.children; |
|
for (i = this._indexInParent + 1, t1 = siblings._collection$_source, t2 = J.getInterceptor$asx(t1); i < t2.get$length(t1); ++i) |
|
if (!this._node0$_isInvisible$1(t2.elementAt$1(t1, i))) |
|
return true; |
|
return false; |
|
}, |
|
_node0$_isInvisible$1: function(node) { |
|
if (!!J.getInterceptor$(node).$isCssParentNode) { |
|
if (!!node.$isCssAtRule) |
|
return false; |
|
if (!!node.$isCssStyleRule && node.selector.value.get$isInvisible()) |
|
return true; |
|
return J.every$1$ax(node.get$children(), this.get$_node0$_isInvisible()); |
|
} else |
|
return false; |
|
}, |
|
get$isGroupEnd: function() { |
|
return this.isGroupEnd; |
|
} |
|
}; |
|
B.ModifiableCssParentNode.prototype = { |
|
get$isChildless: function() { |
|
return false; |
|
}, |
|
addChild$1: function(child) { |
|
var t1; |
|
child._parent = this; |
|
t1 = this._children; |
|
child._indexInParent = t1.length; |
|
t1.push(child); |
|
}, |
|
$isCssParentNode: 1, |
|
get$children: function() { |
|
return this.children; |
|
} |
|
}; |
|
X.ModifiableCssStyleRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitCssStyleRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
copyWithoutChildren$0: function() { |
|
return X.ModifiableCssStyleRule$(this.selector, this.span, this.originalSelector); |
|
}, |
|
$isCssStyleRule: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
V.ModifiableCssStylesheet.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitCssStylesheet$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
copyWithoutChildren$0: function() { |
|
var t1 = B.ModifiableCssNode, |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
return new V.ModifiableCssStylesheet(this.span, new P.UnmodifiableListView(t2, [t1]), t2); |
|
}, |
|
$isCssStylesheet: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
B.ModifiableCssSupportsRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitCssSupportsRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
copyWithoutChildren$0: function() { |
|
var t1 = B.ModifiableCssNode, |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
return new B.ModifiableCssSupportsRule(this.condition, this.span, new P.UnmodifiableListView(t2, [t1]), t2); |
|
}, |
|
$isCssSupportsRule: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
F.ModifiableCssValue.prototype = { |
|
toString$0: function(_) { |
|
return J.toString$0$(this.value); |
|
}, |
|
$isCssValue: 1, |
|
$isAstNode: 1, |
|
get$value: function(receiver) { |
|
return this.value; |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
B.CssNode.prototype = { |
|
toString$0: function(_) { |
|
return N.serialize(this, true, null, true, null, false, null, true).css; |
|
} |
|
}; |
|
B.CssParentNode.prototype = {}; |
|
V.CssStylesheet.prototype = { |
|
get$isGroupEnd: function() { |
|
return false; |
|
}, |
|
get$isChildless: function() { |
|
return false; |
|
}, |
|
accept$1$1: function(visitor) { |
|
return visitor.visitCssStylesheet$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
get$children: function() { |
|
return this.children; |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
F.CssValue.prototype = { |
|
toString$0: function(_) { |
|
return J.toString$0$(this.value); |
|
}, |
|
$isAstNode: 1, |
|
get$value: function(receiver) { |
|
return this.value; |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
B.AstNode.prototype = {}; |
|
B._FakeAstNode.prototype = { |
|
get$span: function() { |
|
return this._callback.call$0(); |
|
}, |
|
$isAstNode: 1 |
|
}; |
|
Z.Argument.prototype = { |
|
toString$0: function(_) { |
|
var t1 = this.defaultValue, |
|
t2 = this.name; |
|
return t1 == null ? t2 : t2 + ": " + t1.toString$0(0); |
|
}, |
|
$isAstNode: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
B.ArgumentDeclaration.prototype = { |
|
get$spanWithName: function() { |
|
var t3, t4, |
|
t1 = this.span, |
|
t2 = t1.file, |
|
text = P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t2._decodedChars, 0, null), 0, null), |
|
i = Y.FileLocation$_(t2, t1._start).offset - 1; |
|
while (true) { |
|
if (i > 0) { |
|
t3 = C.JSString_methods.codeUnitAt$1(text, i); |
|
t3 = t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12; |
|
} else |
|
t3 = false; |
|
if (!t3) |
|
break; |
|
--i; |
|
} |
|
t3 = C.JSString_methods.codeUnitAt$1(text, i); |
|
if (!(t3 === 95 || T.isAlphabetic0(t3) || t3 >= 128 || T.isDigit(t3) || t3 === 45)) |
|
return t1; |
|
--i; |
|
while (true) { |
|
if (i >= 0) { |
|
t3 = C.JSString_methods.codeUnitAt$1(text, i); |
|
if (t3 !== 95) { |
|
if (!(t3 >= 97 && t3 <= 122)) |
|
t4 = t3 >= 65 && t3 <= 90; |
|
else |
|
t4 = true; |
|
t4 = t4 || t3 >= 128; |
|
} else |
|
t4 = true; |
|
if (!t4) { |
|
t4 = t3 >= 48 && t3 <= 57; |
|
t3 = t4 || t3 === 45; |
|
} else |
|
t3 = true; |
|
} else |
|
t3 = false; |
|
if (!t3) |
|
break; |
|
--i; |
|
} |
|
t3 = i + 1; |
|
t4 = C.JSString_methods.codeUnitAt$1(text, t3); |
|
if (!(t4 === 95 || T.isAlphabetic0(t4) || t4 >= 128)) |
|
return t1; |
|
return B.SpanExtensions_trim(t2.span$2(t3, Y.FileLocation$_(t2, t1._file$_end).offset)); |
|
}, |
|
get$originalRestArgument: function() { |
|
var t1, text; |
|
if (this.restArgument == null) |
|
return; |
|
t1 = this.span; |
|
text = P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._start, t1._file$_end), 0, null); |
|
return C.JSString_methods.substring$2(C.JSString_methods.substring$1(text, C.JSString_methods.lastIndexOf$1(text, "$")), 0, C.JSString_methods.indexOf$1(text, ".")); |
|
}, |
|
verify$2: function(positional, names) { |
|
var t1, t2, t3, namedUsed, i, argument, t4, unknownNames, _this = this, |
|
_s10_ = "invocation", |
|
_s8_ = "argument"; |
|
for (t1 = _this.$arguments, t2 = t1.length, t3 = names._baseMap, namedUsed = 0, i = 0; i < t2; ++i) { |
|
argument = t1[i]; |
|
if (i < positional) { |
|
t4 = argument.name; |
|
if (t3.containsKey$1(t4)) |
|
throw H.wrapException(E.SassScriptException$("Argument " + H.S(_this._originalArgumentName$1(t4)) + " was passed both by position and by name.")); |
|
} else { |
|
t4 = argument.name; |
|
if (t3.containsKey$1(t4)) |
|
++namedUsed; |
|
else if (argument.defaultValue == null) |
|
throw H.wrapException(E.MultiSpanSassScriptException$("Missing argument " + H.S(_this._originalArgumentName$1(t4)) + ".", _s10_, P.LinkedHashMap_LinkedHashMap$_literal([_this.get$spanWithName(), "declaration"], Y.FileSpan, P.String))); |
|
} |
|
} |
|
if (_this.restArgument != null) |
|
return; |
|
if (positional > t2) { |
|
t1 = "Only " + t2 + " "; |
|
throw H.wrapException(E.MultiSpanSassScriptException$(t1 + (names.get$isEmpty(names) ? "" : "positional ") + B.pluralize(_s8_, t2, null) + " allowed, but " + positional + " " + B.pluralize("was", positional, "were") + " passed.", _s10_, P.LinkedHashMap_LinkedHashMap$_literal([_this.get$spanWithName(), "declaration"], Y.FileSpan, P.String))); |
|
} |
|
if (namedUsed < t3.get$length(t3)) { |
|
t2 = P.String; |
|
unknownNames = P.LinkedHashSet_LinkedHashSet$of(names, t2); |
|
t3 = P.Object; |
|
unknownNames.removeAll$1(new H.MappedListIterable(t1, new B.ArgumentDeclaration_verify_closure(), [H.getTypeArgumentByIndex(t1, 0), t3])); |
|
throw H.wrapException(E.MultiSpanSassScriptException$("No " + B.pluralize(_s8_, unknownNames._collection$_length, null) + " named " + H.S(B.toSentence(unknownNames.map$1$1(0, new B.ArgumentDeclaration_verify_closure0(), t3), "or")) + ".", _s10_, P.LinkedHashMap_LinkedHashMap$_literal([_this.get$spanWithName(), "declaration"], Y.FileSpan, t2))); |
|
} |
|
}, |
|
_originalArgumentName$1: function($name) { |
|
var t1, t2, _i, argument, t3, text, end; |
|
if ($name === this.restArgument) |
|
return this.get$originalRestArgument(); |
|
for (t1 = this.$arguments, t2 = t1.length, _i = 0; _i < t2; ++_i) { |
|
argument = t1[_i]; |
|
if (argument.name === $name) { |
|
if (argument.defaultValue == null) { |
|
t1 = argument.span; |
|
t2 = t1._start; |
|
t3 = t1.file._decodedChars; |
|
t3 = P.String_String$fromCharCodes(new Uint32Array(t3.subarray(t2, H._checkValidRange(t2, t1._file$_end, t3.length))), 0, null); |
|
t1 = t3; |
|
} else { |
|
t1 = argument.span; |
|
t2 = t1._start; |
|
t3 = t1.file._decodedChars; |
|
text = P.String_String$fromCharCodes(new Uint32Array(t3.subarray(t2, H._checkValidRange(t2, t1._file$_end, t3.length))), 0, null); |
|
t3 = C.JSString_methods.substring$2(text, 0, C.JSString_methods.indexOf$1(text, ":")); |
|
end = B._lastNonWhitespace(t3, false); |
|
t1 = end == null ? "" : C.JSString_methods.substring$2(t3, 0, end + 1); |
|
} |
|
return t1; |
|
} |
|
} |
|
throw H.wrapException(P.ArgumentError$('This declaration has no argument named "$' + $name + '".')); |
|
}, |
|
matches$2: function(positional, names) { |
|
var t1, t2, t3, namedUsed, i, argument; |
|
for (t1 = this.$arguments, t2 = t1.length, t3 = names._baseMap, namedUsed = 0, i = 0; i < t2; ++i) { |
|
argument = t1[i]; |
|
if (i < positional) { |
|
if (t3.containsKey$1(argument.name)) |
|
return false; |
|
} else if (t3.containsKey$1(argument.name)) |
|
++namedUsed; |
|
else if (argument.defaultValue == null) |
|
return false; |
|
} |
|
if (this.restArgument != null) |
|
return true; |
|
if (positional > t2) |
|
return false; |
|
if (namedUsed < t3.get$length(t3)) |
|
return false; |
|
return true; |
|
}, |
|
toString$0: function(_) { |
|
var t2, t3, _i, |
|
t1 = H.setRuntimeTypeInfo([], [P.String]); |
|
for (t2 = this.$arguments, t3 = t2.length, _i = 0; _i < t3; ++_i) |
|
t1.push(J.toString$0$(t2[_i])); |
|
t2 = this.restArgument; |
|
if (t2 != null) |
|
t1.push(t2 + "..."); |
|
return C.JSArray_methods.join$1(t1, ", "); |
|
}, |
|
$isAstNode: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
B.ArgumentDeclaration_verify_closure.prototype = { |
|
call$1: function(argument) { |
|
return argument.name; |
|
} |
|
}; |
|
B.ArgumentDeclaration_verify_closure0.prototype = { |
|
call$1: function($name) { |
|
return "$" + H.S($name); |
|
} |
|
}; |
|
X.ArgumentInvocation.prototype = { |
|
get$isEmpty: function(_) { |
|
var t1; |
|
if (this.positional.length === 0) { |
|
t1 = this.named; |
|
t1 = t1.get$isEmpty(t1) && this.rest == null; |
|
} else |
|
t1 = false; |
|
return t1; |
|
}, |
|
toString$0: function(_) { |
|
var t2, t3, _i, t4, _this = this, |
|
t1 = H.setRuntimeTypeInfo([], [P.Object]); |
|
for (t2 = _this.positional, t3 = t2.length, _i = 0; _i < t3; ++_i) |
|
t1.push(t2[_i]); |
|
for (t2 = _this.named, t3 = J.get$iterator$ax(t2.get$keys()); t3.moveNext$0();) { |
|
t4 = t3.get$current(t3); |
|
t1.push(H.S(t4) + ": " + H.S(t2.$index(0, t4))); |
|
} |
|
t2 = _this.rest; |
|
if (t2 != null) |
|
t1.push(t2.toString$0(0) + "..."); |
|
t2 = _this.keywordRest; |
|
if (t2 != null) |
|
t1.push(t2.toString$0(0) + "..."); |
|
return "(" + C.JSArray_methods.join$1(t1, ", ") + ")"; |
|
}, |
|
$isAstNode: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
V.AtRootQuery.prototype = { |
|
excludes$1: function(node) { |
|
var _this = this; |
|
if (_this._all) |
|
return !_this.include; |
|
if (_this._at_root_query$_rule && !!J.getInterceptor$(node).$isCssStyleRule) |
|
return !_this.include; |
|
return _this.names.contains$1(0, _this._nameFor$1(node)) !== _this.include; |
|
}, |
|
_nameFor$1: function(node) { |
|
var t1 = J.getInterceptor$(node); |
|
if (!!t1.$isCssMediaRule) |
|
return "media"; |
|
if (!!t1.$isCssSupportsRule) |
|
return "supports"; |
|
if (!!t1.$isCssAtRule) { |
|
t1 = node.name; |
|
return t1.get$value(t1).toLowerCase(); |
|
} |
|
return; |
|
} |
|
}; |
|
Z.ConfiguredVariable.prototype = { |
|
toString$0: function(_) { |
|
var t1 = "$" + this.name + ": " + H.S(this.expression); |
|
return t1 + (this.isGuarded ? " !default" : ""); |
|
}, |
|
$isAstNode: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
T.Expression.prototype = {$isAstNode: 1}; |
|
V.BinaryOperationExpression.prototype = { |
|
get$span: function() { |
|
var right, |
|
left = this.left; |
|
for (; left instanceof V.BinaryOperationExpression;) |
|
left = left.left; |
|
right = this.right; |
|
for (; right instanceof V.BinaryOperationExpression;) |
|
right = right.right; |
|
return B.spanForList(H.setRuntimeTypeInfo([left, right], [B.AstNode])); |
|
}, |
|
accept$1$1: function(visitor) { |
|
return visitor.visitBinaryOperationExpression$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t2, right, rightNeedsParens, _this = this, |
|
left = _this.left, |
|
leftNeedsParens = left instanceof V.BinaryOperationExpression && left.operator.precedence < _this.operator.precedence, |
|
t1 = leftNeedsParens ? H.Primitives_stringFromCharCode(40) : ""; |
|
t1 += H.S(left); |
|
if (leftNeedsParens) |
|
t1 += H.Primitives_stringFromCharCode(41); |
|
t2 = _this.operator; |
|
t1 = t1 + H.Primitives_stringFromCharCode(32) + t2.operator + H.Primitives_stringFromCharCode(32); |
|
right = _this.right; |
|
rightNeedsParens = right instanceof V.BinaryOperationExpression && right.operator.precedence <= t2.precedence; |
|
if (rightNeedsParens) |
|
t1 += H.Primitives_stringFromCharCode(40); |
|
t1 += H.S(right); |
|
if (rightNeedsParens) |
|
t1 += H.Primitives_stringFromCharCode(41); |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
$isAstNode: 1, |
|
$isExpression: 1 |
|
}; |
|
V.BinaryOperator.prototype = { |
|
toString$0: function(_) { |
|
return this.name; |
|
} |
|
}; |
|
Z.BooleanExpression.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitBooleanExpression$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
return String(this.value); |
|
}, |
|
$isAstNode: 1, |
|
$isExpression: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
K.ColorExpression.prototype = { |
|
get$span: function() { |
|
return this.value.originalSpan; |
|
}, |
|
accept$1$1: function(visitor) { |
|
return visitor.visitColorExpression$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
return N.serializeValue(this.value, true, true); |
|
}, |
|
$isAstNode: 1, |
|
$isExpression: 1 |
|
}; |
|
F.FunctionExpression.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitFunctionExpression$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.namespace; |
|
t1 = t1 != null ? t1 + "." : ""; |
|
t1 += this.name.toString$0(0) + this.$arguments.toString$0(0); |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
$isAstNode: 1, |
|
$isExpression: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
L.IfExpression.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitIfExpression$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
return "if" + this.$arguments.toString$0(0); |
|
}, |
|
$isAstNode: 1, |
|
$isExpression: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
D.ListExpression.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitListExpression$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var _this = this, |
|
t1 = _this.hasBrackets, |
|
t2 = t1 ? H.Primitives_stringFromCharCode(91) : "", |
|
t3 = _this.contents, |
|
t4 = _this.separator === C.ListSeparator_comma ? ", " : " "; |
|
t4 = t2 + new H.MappedListIterable(t3, new D.ListExpression_toString_closure(_this), [H.getTypeArgumentByIndex(t3, 0), P.String]).join$1(0, t4); |
|
t1 = t1 ? t4 + H.Primitives_stringFromCharCode(93) : t4; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
_list0$_elementNeedsParens$1: function(expression) { |
|
var t2, |
|
t1 = J.getInterceptor$(expression); |
|
if (!!t1.$isListExpression) { |
|
if (expression.contents.length < 2) |
|
return false; |
|
if (expression.hasBrackets) |
|
return false; |
|
t1 = this.separator; |
|
t2 = t1 === C.ListSeparator_comma; |
|
return t2 ? t2 : t1 !== C.ListSeparator_undecided; |
|
} |
|
if (this.separator !== C.ListSeparator_space) |
|
return false; |
|
if (!!t1.$isUnaryOperationExpression) { |
|
t1 = expression.operator; |
|
return t1 === C.UnaryOperator_j2w || t1 === C.UnaryOperator_U4G; |
|
} |
|
return false; |
|
}, |
|
$isAstNode: 1, |
|
$isExpression: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
D.ListExpression_toString_closure.prototype = { |
|
call$1: function(element) { |
|
return this.$this._list0$_elementNeedsParens$1(element) ? "(" + H.S(element) + ")" : J.toString$0$(element); |
|
} |
|
}; |
|
A.MapExpression.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitMapExpression$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.pairs; |
|
return "(" + new H.MappedListIterable(t1, new A.MapExpression_toString_closure(), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$1(0, ", ") + ")"; |
|
}, |
|
$isAstNode: 1, |
|
$isExpression: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
A.MapExpression_toString_closure.prototype = { |
|
call$1: function(pair) { |
|
return H.S(pair.item1) + ": " + H.S(pair.item2); |
|
} |
|
}; |
|
O.NullExpression.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitNullExpression$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
return "null"; |
|
}, |
|
$isAstNode: 1, |
|
$isExpression: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
T.NumberExpression.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitNumberExpression$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = H.S(this.value), |
|
t2 = this.unit; |
|
return t1 + (t2 == null ? "" : t2); |
|
}, |
|
$isAstNode: 1, |
|
$isExpression: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
T.ParenthesizedExpression.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitParenthesizedExpression$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
return J.toString$0$(this.expression); |
|
}, |
|
$isAstNode: 1, |
|
$isExpression: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
T.SelectorExpression.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitSelectorExpression$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
return "&"; |
|
}, |
|
$isAstNode: 1, |
|
$isExpression: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
D.StringExpression.prototype = { |
|
get$span: function() { |
|
return this.text.span; |
|
}, |
|
accept$1$1: function(visitor) { |
|
return visitor.visitStringExpression$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
asInterpolation$1$static: function($static) { |
|
var quote, t1, t2, buffer, t3, t4, t5, _i, value, t6, t7, i, codeUnit, next, t8, _this = this; |
|
if (!_this.hasQuotes) |
|
return _this.text; |
|
quote = _this._bestQuote$0(); |
|
t1 = new P.StringBuffer(""); |
|
t2 = []; |
|
buffer = new Z.InterpolationBuffer(t1, t2); |
|
t1._contents += H.Primitives_stringFromCharCode(quote); |
|
for (t3 = _this.text, t4 = t3.contents, t5 = t4.length, _i = 0; _i < t5; ++_i) { |
|
value = t4[_i]; |
|
if (!!J.getInterceptor$(value).$isExpression) { |
|
buffer._flushText$0(); |
|
t2.push(value); |
|
} else if (typeof value === "string") |
|
for (t6 = value.length, t7 = t6 - 1, i = 0; i < t6; ++i) { |
|
codeUnit = C.JSString_methods._codeUnitAt$1(value, i); |
|
if (codeUnit === 10 || codeUnit === 13 || codeUnit === 12) { |
|
t1._contents += H.Primitives_stringFromCharCode(92); |
|
t1._contents += H.Primitives_stringFromCharCode(97); |
|
if (i !== t7) { |
|
next = C.JSString_methods._codeUnitAt$1(value, i + 1); |
|
if (next === 32 || next === 9 || next === 10 || next === 13 || next === 12 || T.isHex(next)) |
|
t1._contents += H.Primitives_stringFromCharCode(32); |
|
} |
|
} else { |
|
if (codeUnit !== quote) |
|
if (codeUnit !== 92) |
|
t8 = $static && codeUnit === 35 && i < t7 && C.JSString_methods._codeUnitAt$1(value, i + 1) === 123; |
|
else |
|
t8 = true; |
|
else |
|
t8 = true; |
|
if (t8) |
|
t1._contents += H.Primitives_stringFromCharCode(92); |
|
t1._contents += H.Primitives_stringFromCharCode(codeUnit); |
|
} |
|
} |
|
} |
|
t1._contents += H.Primitives_stringFromCharCode(quote); |
|
return buffer.interpolation$1(t3.span); |
|
}, |
|
asInterpolation$0: function() { |
|
return this.asInterpolation$1$static(false); |
|
}, |
|
_bestQuote$0: function() { |
|
var t1, t2, containsDoubleQuote, _i, value, t3, i, codeUnit; |
|
for (t1 = this.text.contents, t2 = t1.length, containsDoubleQuote = false, _i = 0; _i < t2; ++_i) { |
|
value = t1[_i]; |
|
if (typeof value === "string") |
|
for (t3 = value.length, i = 0; i < t3; ++i) { |
|
codeUnit = C.JSString_methods._codeUnitAt$1(value, i); |
|
if (codeUnit === 39) |
|
return 34; |
|
if (codeUnit === 34) |
|
containsDoubleQuote = true; |
|
} |
|
} |
|
return containsDoubleQuote ? 39 : 34; |
|
}, |
|
toString$0: function(_) { |
|
return this.asInterpolation$0().toString$0(0); |
|
}, |
|
$isAstNode: 1, |
|
$isExpression: 1 |
|
}; |
|
X.UnaryOperationExpression.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitUnaryOperationExpression$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.operator, |
|
t2 = t1.operator; |
|
t1 = t1 === C.UnaryOperator_not_not ? t2 + H.Primitives_stringFromCharCode(32) : t2; |
|
t1 += H.S(this.operand); |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
$isAstNode: 1, |
|
$isExpression: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
X.UnaryOperator.prototype = { |
|
toString$0: function(_) { |
|
return this.name; |
|
} |
|
}; |
|
F.ValueExpression.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitValueExpression$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
return J.toString$0$(this.value); |
|
}, |
|
$isAstNode: 1, |
|
$isExpression: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
S.VariableExpression.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitVariableExpression$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.namespace; |
|
t1 = t1 != null ? "$" + (t1 + ".") : "$"; |
|
t1 += this.name; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
$isAstNode: 1, |
|
$isExpression: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
F.Import.prototype = {$isAstNode: 1}; |
|
B.DynamicImport.prototype = { |
|
toString$0: function(_) { |
|
return new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo([this.url], [P.Object]), null), true).asInterpolation$1$static(true).get$asPlain(); |
|
}, |
|
$isAstNode: 1, |
|
$isImport: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
Q.StaticImport.prototype = { |
|
toString$0: function(_) { |
|
var t1 = this.url.toString$0(0), |
|
t2 = this.supports; |
|
if (t2 != null) |
|
t1 += " supports(" + t2.toString$0(0) + ")"; |
|
t2 = this.media; |
|
if (t2 != null) |
|
t1 += " " + t2.toString$0(0); |
|
t1 += H.Primitives_stringFromCharCode(59); |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
$isAstNode: 1, |
|
$isImport: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
X.Interpolation.prototype = { |
|
get$asPlain: function() { |
|
var first, |
|
t1 = this.contents, |
|
t2 = t1.length; |
|
if (t2 === 0) |
|
return ""; |
|
if (t2 > 1) |
|
return; |
|
first = C.JSArray_methods.get$first(t1); |
|
return typeof first === "string" ? first : null; |
|
}, |
|
Interpolation$2: function(contents, span) { |
|
var t1, t2, i, t3, t4, |
|
_s8_ = "contents"; |
|
for (t1 = this.contents, t2 = t1.length, i = 0; i < t2; ++i) { |
|
t3 = t1[i]; |
|
t4 = typeof t3 === "string"; |
|
if (!t4 && !J.getInterceptor$(t3).$isExpression) |
|
throw H.wrapException(P.ArgumentError$value(t1, _s8_, "May only contains Strings or Expressions.")); |
|
if (i !== 0) { |
|
t3 = t1[i - 1]; |
|
t3 = typeof t3 === "string" && t4; |
|
} else |
|
t3 = false; |
|
if (t3) |
|
throw H.wrapException(P.ArgumentError$value(t1, _s8_, "May not contain adjacent Strings.")); |
|
} |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.contents; |
|
return new H.MappedListIterable(t1, new X.Interpolation_toString_closure(), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$0(0); |
|
}, |
|
$isAstNode: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
X.Interpolation_toString_closure.prototype = { |
|
call$1: function(value) { |
|
return typeof value === "string" ? value : "#{" + H.S(value) + "}"; |
|
}, |
|
$signature: 13 |
|
}; |
|
B.SassNode.prototype = {}; |
|
O.Statement.prototype = {$isAstNode: 1}; |
|
V.AtRootRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitAtRootRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var buffer = new P.StringBuffer("@at-root "), |
|
t1 = this.query; |
|
if (t1 != null) |
|
buffer._contents = "@at-root " + (t1.toString$0(0) + " "); |
|
t1 = this.children; |
|
return buffer.toString$0(0) + " {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}"; |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
U.AtRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitAtRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = "@" + this.name.toString$0(0), |
|
buffer = new P.StringBuffer(t1), |
|
t2 = this.value; |
|
if (t2 != null) |
|
buffer._contents = t1 + (" " + t2.toString$0(0)); |
|
t1 = this.children; |
|
return t1 == null ? buffer.toString$0(0) + ";" : buffer.toString$0(0) + " {" + C.JSArray_methods.join$1(t1, " ") + "}"; |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
M.CallableDeclaration.prototype = { |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
Y.ContentBlock.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitContentBlock$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t2, |
|
t1 = this.$arguments; |
|
t1 = t1.$arguments.length === 0 && t1.restArgument == null ? "" : " using (" + H.S(t1) + ")"; |
|
t2 = this.children; |
|
return t1 + (" {" + (t2 && C.JSArray_methods).join$1(t2, " ") + "}"); |
|
} |
|
}; |
|
Q.ContentRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitContentRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.$arguments; |
|
return t1.get$isEmpty(t1) ? "@content;" : "@content(" + t1.toString$0(0) + ");"; |
|
}, |
|
$isAstNode: 1, |
|
$isStatement: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
Q.DebugRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitDebugRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
return "@debug " + H.S(this.expression) + ";"; |
|
}, |
|
$isAstNode: 1, |
|
$isStatement: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
L.Declaration.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitDeclaration$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
return H.S(this.name) + ": " + H.S(this.value) + ";"; |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
V.EachRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitEachRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.variables, |
|
t2 = this.children; |
|
return "@each " + new H.MappedListIterable(t1, new V.EachRule_toString_closure(), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$1(0, ", ") + " in " + H.S(this.list) + " {" + (t2 && C.JSArray_methods).join$1(t2, " ") + "}"; |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
V.EachRule_toString_closure.prototype = { |
|
call$1: function(variable) { |
|
return C.JSString_methods.$add("$", variable); |
|
} |
|
}; |
|
D.ErrorRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitErrorRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
return "@error " + H.S(this.expression) + ";"; |
|
}, |
|
$isAstNode: 1, |
|
$isStatement: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
X.ExtendRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitExtendRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
return "@extend " + this.selector.toString$0(0); |
|
}, |
|
$isAstNode: 1, |
|
$isStatement: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
B.ForRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitForRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var _this = this, |
|
t1 = "@for $" + _this.variable + " from " + H.S(_this.from) + " ", |
|
t2 = _this.children; |
|
return t1 + (_this.isExclusive ? "to" : "through") + " " + H.S(_this.to) + " {" + (t2 && C.JSArray_methods).join$1(t2, " ") + "}"; |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
L.ForwardRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitForwardRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var _this = this, |
|
t1 = "@forward " + H.S(new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo([J.toString$0$(_this.url)], [P.Object]), null), true).asInterpolation$1$static(true).get$asPlain()), |
|
t2 = _this.shownMixinsAndFunctions; |
|
if (t2 != null) |
|
t1 = t1 + " show " + _this._forward_rule$_memberList$2(t2, _this.shownVariables); |
|
else { |
|
t2 = _this.hiddenMixinsAndFunctions; |
|
if (t2 != null) |
|
t1 = t1 + " hide " + _this._forward_rule$_memberList$2(t2, _this.hiddenVariables); |
|
} |
|
t2 = _this.prefix; |
|
if (t2 != null) |
|
t1 += " as " + t2 + "*"; |
|
t2 = _this.configuration; |
|
t1 = (t2.length !== 0 ? t1 + (" with (" + C.JSArray_methods.join$1(t2, ", ") + ")") : t1) + ";"; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
_forward_rule$_memberList$2: function(mixinsAndFunctions, variables) { |
|
var t1 = this.shownVariables._base.map$1$1(0, new L.ForwardRule__memberList_closure(), P.String); |
|
return this.shownMixinsAndFunctions._base.followedBy$1(0, t1).join$1(0, ", "); |
|
}, |
|
$isAstNode: 1, |
|
$isStatement: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
L.ForwardRule__memberList_closure.prototype = { |
|
call$1: function($name) { |
|
return "$" + H.S($name); |
|
} |
|
}; |
|
M.FunctionRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitFunctionRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.children; |
|
return "@function " + H.S(this.name) + "(" + H.S(this.$arguments) + ") {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}"; |
|
} |
|
}; |
|
V.IfRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitIfRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t2, t1 = {}; |
|
t1.first = true; |
|
t2 = this.clauses; |
|
return new H.MappedListIterable(t2, new V.IfRule_toString_closure(t1), [H.getTypeArgumentByIndex(t2, 0), P.String]).join$1(0, " "); |
|
}, |
|
$isAstNode: 1, |
|
$isStatement: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
V.IfRule_toString_closure.prototype = { |
|
call$1: function(clause) { |
|
var t1 = this._box_0, |
|
$name = t1.first ? "if" : "else"; |
|
t1.first = false; |
|
return "@" + $name + " " + H.S(clause.expression) + " {" + C.JSArray_methods.join$1(clause.children, " ") + "}"; |
|
} |
|
}; |
|
V.IfClause.prototype = { |
|
toString$0: function(_) { |
|
var t1 = this.expression; |
|
t1 = t1 == null ? "@else" : "@if " + t1.toString$0(0); |
|
return t1 + (" {" + C.JSArray_methods.join$1(this.children, " ") + "}"); |
|
} |
|
}; |
|
V.IfClause$__closure.prototype = { |
|
call$1: function(child) { |
|
var t1 = J.getInterceptor$(child); |
|
if (!t1.$isVariableDeclaration) |
|
if (!t1.$isFunctionRule) |
|
if (!t1.$isMixinRule) |
|
t1 = !!t1.$isImportRule && C.JSArray_methods.any$1(child.imports, new V.IfClause$___closure()); |
|
else |
|
t1 = true; |
|
else |
|
t1 = true; |
|
else |
|
t1 = true; |
|
return t1; |
|
} |
|
}; |
|
V.IfClause$___closure.prototype = { |
|
call$1: function($import) { |
|
return $import instanceof B.DynamicImport; |
|
} |
|
}; |
|
B.ImportRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitImportRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
return "@import " + C.JSArray_methods.join$1(this.imports, ", ") + ";"; |
|
}, |
|
$isAstNode: 1, |
|
$isStatement: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
A.IncludeRule.prototype = { |
|
get$spanWithoutContent: function() { |
|
var t2, t3, |
|
t1 = this.span; |
|
if (!(this.content == null)) { |
|
t2 = t1.file; |
|
t3 = this.$arguments.span; |
|
t3 = B.SpanExtensions_trim(t2.span$2(Y.FileLocation$_(t2, t1._start).offset, Y.FileLocation$_(t3.file, t3._file$_end).offset)); |
|
t1 = t3; |
|
} |
|
return t1; |
|
}, |
|
accept$1$1: function(visitor) { |
|
return visitor.visitIncludeRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t2, _this = this, |
|
t1 = _this.namespace; |
|
t1 = t1 != null ? "@include " + (t1 + ".") : "@include "; |
|
t1 += _this.name; |
|
t2 = _this.$arguments; |
|
if (!t2.get$isEmpty(t2)) |
|
t1 += "(" + t2.toString$0(0) + ")"; |
|
t2 = _this.content; |
|
t1 += t2 == null ? ";" : " " + t2.toString$0(0); |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
$isAstNode: 1, |
|
$isStatement: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
L.LoudComment.prototype = { |
|
get$span: function() { |
|
return this.text.span; |
|
}, |
|
accept$1$1: function(visitor) { |
|
return visitor.visitLoudComment$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
return this.text.toString$0(0); |
|
}, |
|
$isAstNode: 1, |
|
$isStatement: 1 |
|
}; |
|
G.MediaRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitMediaRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.children; |
|
return "@media " + this.query.toString$0(0) + " {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}"; |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
T.MixinRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitMixinRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = "@mixin " + H.S(this.name), |
|
t2 = this.$arguments; |
|
if (!(t2.$arguments.length === 0 && t2.restArgument == null)) |
|
t1 += "(" + H.S(t2) + ")"; |
|
t2 = this.children; |
|
t2 = t1 + (" {" + (t2 && C.JSArray_methods).join$1(t2, " ") + "}"); |
|
return t2.charCodeAt(0) == 0 ? t2 : t2; |
|
} |
|
}; |
|
M.ParentStatement.prototype = {$isAstNode: 1, $isStatement: 1}; |
|
M.ParentStatement_closure.prototype = { |
|
call$1: function(child) { |
|
var t1 = J.getInterceptor$(child); |
|
if (!t1.$isVariableDeclaration) |
|
if (!t1.$isFunctionRule) |
|
if (!t1.$isMixinRule) |
|
t1 = !!t1.$isImportRule && C.JSArray_methods.any$1(child.imports, new M.ParentStatement__closure()); |
|
else |
|
t1 = true; |
|
else |
|
t1 = true; |
|
else |
|
t1 = true; |
|
return t1; |
|
} |
|
}; |
|
M.ParentStatement__closure.prototype = { |
|
call$1: function($import) { |
|
return $import instanceof B.DynamicImport; |
|
} |
|
}; |
|
B.ReturnRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitReturnRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
return "@return " + H.S(this.expression) + ";"; |
|
}, |
|
$isAstNode: 1, |
|
$isStatement: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
B.SilentComment.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitSilentComment$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
return this.text; |
|
}, |
|
$isAstNode: 1, |
|
$isStatement: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
X.StyleRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitStyleRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.children; |
|
return this.selector.toString$0(0) + " {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}"; |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
V.Stylesheet.prototype = { |
|
Stylesheet$3$plainCss: function(children, span, plainCss) { |
|
var t1, t2, t3, t4, _i, child, t5; |
|
for (t1 = this.children, t2 = t1.length, t3 = this._forwards, t4 = this._uses, _i = 0; _i < t2; ++_i) { |
|
child = t1[_i]; |
|
t5 = J.getInterceptor$(child); |
|
if (!!t5.$isUseRule) |
|
t4.push(child); |
|
else if (!!t5.$isForwardRule) |
|
t3.push(child); |
|
else if (!t5.$isSilentComment && !t5.$isLoudComment && !t5.$isVariableDeclaration) |
|
break; |
|
} |
|
}, |
|
accept$1$1: function(visitor) { |
|
return visitor.visitStylesheet$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.children; |
|
return (t1 && C.JSArray_methods).join$1(t1, " "); |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
B.SupportsRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitSupportsRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.children; |
|
return "@supports " + this.condition.toString$0(0) + " {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}"; |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
T.UseRule.prototype = { |
|
UseRule$4$configuration: function(url, namespace, span, configuration) { |
|
var t1, t2, _i, variable; |
|
for (t1 = this.configuration, t2 = t1.length, _i = 0; _i < t2; ++_i) { |
|
variable = t1[_i]; |
|
if (variable.isGuarded) |
|
throw H.wrapException(P.ArgumentError$value(variable, "configured variable", "can't be guarded in a @use rule.")); |
|
} |
|
}, |
|
accept$1$1: function(visitor) { |
|
return visitor.visitUseRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.url, |
|
t2 = "@use " + H.S(new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo([J.toString$0$(t1)], [P.Object]), null), true).asInterpolation$1$static(true).get$asPlain()), |
|
basename = t1.get$pathSegments().length === 0 ? "" : C.JSArray_methods.get$last(t1.get$pathSegments()), |
|
dot = J.getInterceptor$asx(basename).indexOf$1(basename, "."); |
|
t1 = this.namespace; |
|
if (t1 !== C.JSString_methods.substring$2(basename, 0, dot === -1 ? basename.length : dot)) |
|
t1 = t2 + (" as " + (t1 == null ? "*" : t1)); |
|
else |
|
t1 = t2; |
|
t2 = this.configuration; |
|
t1 = (t2.length !== 0 ? t1 + (" with (" + C.JSArray_methods.join$1(t2, ", ") + ")") : t1) + ";"; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
$isAstNode: 1, |
|
$isStatement: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
Z.VariableDeclaration.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitVariableDeclaration$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.namespace; |
|
t1 = t1 != null ? "$" + (t1 + ".") : "$"; |
|
t1 += this.name + ": " + H.S(this.expression) + ";"; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
$isAstNode: 1, |
|
$isStatement: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
Y.WarnRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitWarnRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
return "@warn " + H.S(this.expression) + ";"; |
|
}, |
|
$isAstNode: 1, |
|
$isStatement: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
G.WhileRule.prototype = { |
|
accept$1$1: function(visitor) { |
|
return visitor.visitWhileRule$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.children; |
|
return "@while " + H.S(this.condition) + " {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}"; |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
N.SupportsCondition.prototype = {}; |
|
L.SupportsDeclaration.prototype = { |
|
toString$0: function(_) { |
|
return "(" + H.S(this.name) + ": " + H.S(this.value) + ")"; |
|
}, |
|
$isAstNode: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
X.SupportsInterpolation.prototype = { |
|
toString$0: function(_) { |
|
return "#{" + H.S(this.expression) + "}"; |
|
}, |
|
$isAstNode: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
M.SupportsNegation.prototype = { |
|
toString$0: function(_) { |
|
var t1 = this.condition; |
|
if (!!t1.$isSupportsNegation || !!t1.$isSupportsOperation) |
|
return "not (" + t1.toString$0(0) + ")"; |
|
else |
|
return "not " + t1.toString$0(0); |
|
}, |
|
$isAstNode: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
U.SupportsOperation.prototype = { |
|
toString$0: function(_) { |
|
var _this = this; |
|
return _this._operation$_parenthesize$1(_this.left) + " " + _this.operator + " " + _this._operation$_parenthesize$1(_this.right); |
|
}, |
|
_operation$_parenthesize$1: function(condition) { |
|
var t1; |
|
if (!condition.$isSupportsNegation) |
|
t1 = !!condition.$isSupportsOperation && condition.operator === this.operator; |
|
else |
|
t1 = true; |
|
return t1 ? "(" + condition.toString$0(0) + ")" : condition.toString$0(0); |
|
}, |
|
$isAstNode: 1, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
T.Selector.prototype = { |
|
get$isInvisible: function() { |
|
return false; |
|
}, |
|
toString$0: function(_) { |
|
var visitor = N._SerializeVisitor$(null, true, null, true, false, null, true); |
|
this.accept$1(visitor); |
|
return visitor._serialize$_buffer.toString$0(0); |
|
} |
|
}; |
|
N.AttributeSelector.prototype = { |
|
accept$1$1: function(visitor) { |
|
var t2, _this = this, |
|
t1 = visitor._serialize$_buffer; |
|
t1.writeCharCode$1(91); |
|
t1.write$1(0, _this.name); |
|
t2 = _this.op; |
|
if (t2 != null) { |
|
t1.write$1(0, t2); |
|
t2 = _this.value; |
|
if (G.Parser_isIdentifier(t2) && !J.startsWith$1$s(t2, "--")) { |
|
t1.write$1(0, t2); |
|
t2 = _this.modifier; |
|
if (t2 != null) |
|
t1.writeCharCode$1(32); |
|
} else { |
|
visitor._visitQuotedString$1(t2); |
|
t2 = _this.modifier; |
|
if (t2 != null) |
|
if (visitor._style !== C.OutputStyle_compressed) |
|
t1.writeCharCode$1(32); |
|
} |
|
if (t2 != null) |
|
t1.write$1(0, t2); |
|
} |
|
t1.writeCharCode$1(93); |
|
return; |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
$eq: function(_, other) { |
|
var _this = this; |
|
if (other == null) |
|
return false; |
|
return other instanceof N.AttributeSelector && other.name.$eq(0, _this.name) && other.op == _this.op && other.value == _this.value && other.modifier == _this.modifier; |
|
}, |
|
get$hashCode: function(_) { |
|
var _this = this, |
|
t1 = _this.name; |
|
return (C.JSString_methods.get$hashCode(t1.name) ^ J.get$hashCode$(t1.namespace) ^ J.get$hashCode$(_this.op) ^ J.get$hashCode$(_this.value) ^ J.get$hashCode$(_this.modifier)) >>> 0; |
|
} |
|
}; |
|
N.AttributeOperator.prototype = { |
|
toString$0: function(_) { |
|
return this._attribute$_text; |
|
} |
|
}; |
|
X.ClassSelector.prototype = { |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof X.ClassSelector && other.name === this.name; |
|
}, |
|
accept$1$1: function(visitor) { |
|
var t1 = visitor._serialize$_buffer; |
|
t1.writeCharCode$1(46); |
|
t1.write$1(0, this.name); |
|
return; |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
addSuffix$1: function(suffix) { |
|
return new X.ClassSelector(this.name + suffix); |
|
}, |
|
get$hashCode: function(_) { |
|
return C.JSString_methods.get$hashCode(this.name); |
|
} |
|
}; |
|
S.ComplexSelector.prototype = { |
|
get$minSpecificity: function() { |
|
if (this._minSpecificity == null) |
|
this._computeSpecificity$0(); |
|
return this._minSpecificity; |
|
}, |
|
get$maxSpecificity: function() { |
|
if (this._maxSpecificity == null) |
|
this._computeSpecificity$0(); |
|
return this._maxSpecificity; |
|
}, |
|
get$isInvisible: function() { |
|
var t1 = this._complex$_isInvisible; |
|
if (t1 != null) |
|
return t1; |
|
return this._complex$_isInvisible = C.JSArray_methods.any$1(this.components, new S.ComplexSelector_isInvisible_closure()); |
|
}, |
|
accept$1$1: function(visitor) { |
|
return visitor.visitComplexSelector$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
_computeSpecificity$0: function() { |
|
var t1, t2, component, t3, _this = this, |
|
_i = _this._maxSpecificity = _this._minSpecificity = 0; |
|
for (t1 = _this.components, t2 = t1.length; _i < t2; ++_i) { |
|
component = t1[_i]; |
|
if (component instanceof X.CompoundSelector) { |
|
t3 = _this._minSpecificity; |
|
if (component._compound$_minSpecificity == null) |
|
component._compound$_computeSpecificity$0(); |
|
_this._minSpecificity = t3 + component._compound$_minSpecificity; |
|
t3 = _this._maxSpecificity; |
|
if (component._compound$_maxSpecificity == null) |
|
component._compound$_computeSpecificity$0(); |
|
_this._maxSpecificity = t3 + component._compound$_maxSpecificity; |
|
} |
|
} |
|
}, |
|
get$hashCode: function(_) { |
|
return C.C_ListEquality.hash$1(this.components); |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof S.ComplexSelector && C.C_ListEquality.equals$2(this.components, other.components); |
|
} |
|
}; |
|
S.ComplexSelector_isInvisible_closure.prototype = { |
|
call$1: function(component) { |
|
return component instanceof X.CompoundSelector && component.get$isInvisible(); |
|
} |
|
}; |
|
S.ComplexSelectorComponent.prototype = {}; |
|
S.Combinator.prototype = { |
|
toString$0: function(_) { |
|
return this._complex$_text; |
|
}, |
|
$isComplexSelectorComponent: 1 |
|
}; |
|
X.CompoundSelector.prototype = { |
|
get$isInvisible: function() { |
|
return C.JSArray_methods.any$1(this.components, new X.CompoundSelector_isInvisible_closure()); |
|
}, |
|
accept$1$1: function(visitor) { |
|
return visitor.visitCompoundSelector$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
_compound$_computeSpecificity$0: function() { |
|
var t1, t2, simple, _this = this, |
|
_i = _this._compound$_maxSpecificity = _this._compound$_minSpecificity = 0; |
|
for (t1 = _this.components, t2 = t1.length; _i < t2; ++_i) { |
|
simple = t1[_i]; |
|
_this._compound$_minSpecificity = _this._compound$_minSpecificity + simple.get$minSpecificity(); |
|
_this._compound$_maxSpecificity = _this._compound$_maxSpecificity + simple.get$maxSpecificity(); |
|
} |
|
}, |
|
get$hashCode: function(_) { |
|
return C.C_ListEquality.hash$1(this.components); |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof X.CompoundSelector && C.C_ListEquality.equals$2(this.components, other.components); |
|
}, |
|
$isComplexSelectorComponent: 1 |
|
}; |
|
X.CompoundSelector_isInvisible_closure.prototype = { |
|
call$1: function(component) { |
|
return component.get$isInvisible(); |
|
} |
|
}; |
|
N.IDSelector.prototype = { |
|
get$minSpecificity: function() { |
|
return H.intTypeCast(Math.pow(M.SimpleSelector.prototype.get$minSpecificity.call(this), 2)); |
|
}, |
|
accept$1$1: function(visitor) { |
|
var t1 = visitor._serialize$_buffer; |
|
t1.writeCharCode$1(35); |
|
t1.write$1(0, this.name); |
|
return; |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
addSuffix$1: function(suffix) { |
|
return new N.IDSelector(this.name + suffix); |
|
}, |
|
unify$1: function(compound) { |
|
if (C.JSArray_methods.any$1(compound, new N.IDSelector_unify_closure(this))) |
|
return; |
|
return this.super$SimpleSelector$unify(compound); |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof N.IDSelector && other.name === this.name; |
|
}, |
|
get$hashCode: function(_) { |
|
return C.JSString_methods.get$hashCode(this.name); |
|
} |
|
}; |
|
N.IDSelector_unify_closure.prototype = { |
|
call$1: function(simple) { |
|
var t1; |
|
if (simple instanceof N.IDSelector) { |
|
t1 = simple.name; |
|
t1 = this.$this.name !== t1; |
|
} else |
|
t1 = false; |
|
return t1; |
|
} |
|
}; |
|
D.SelectorList.prototype = { |
|
get$isInvisible: function() { |
|
return C.JSArray_methods.every$1(this.components, new D.SelectorList_isInvisible_closure()); |
|
}, |
|
get$asSassList: function() { |
|
var t1 = this.components; |
|
return D.SassList$(new H.MappedListIterable(t1, new D.SelectorList_asSassList_closure(), [H.getTypeArgumentByIndex(t1, 0), F.Value]), C.ListSeparator_comma, false); |
|
}, |
|
accept$1$1: function(visitor) { |
|
return visitor.visitSelectorList$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
unify$1: function(other) { |
|
var t1 = this.components, |
|
t2 = S.ComplexSelector, |
|
contents = P.List_List$from(new H.ExpandIterable(t1, new D.SelectorList_unify_closure(other), [H.getTypeArgumentByIndex(t1, 0), t2]), true, t2); |
|
return contents.length === 0 ? null : D.SelectorList$(contents); |
|
}, |
|
resolveParentSelectors$2$implicitParent: function($parent, implicitParent) { |
|
var t1, _this = this; |
|
if ($parent == null) { |
|
if (!C.JSArray_methods.any$1(_this.components, _this.get$_complexContainsParentSelector())) |
|
return _this; |
|
throw H.wrapException(E.SassScriptException$('Top-level selectors may not contain the parent selector "&".')); |
|
} |
|
t1 = _this.components; |
|
return D.SelectorList$(B.flattenVertically(new H.MappedListIterable(t1, new D.SelectorList_resolveParentSelectors_closure(_this, implicitParent, $parent), [H.getTypeArgumentByIndex(t1, 0), [P.Iterable, S.ComplexSelector]]), S.ComplexSelector)); |
|
}, |
|
resolveParentSelectors$1: function($parent) { |
|
return this.resolveParentSelectors$2$implicitParent($parent, true); |
|
}, |
|
_complexContainsParentSelector$1: function(complex) { |
|
return C.JSArray_methods.any$1(complex.components, new D.SelectorList__complexContainsParentSelector_closure()); |
|
}, |
|
_resolveParentSelectorsCompound$2: function(compound, $parent) { |
|
var resolvedMembers0, parentSelector, t1, |
|
resolvedMembers = compound.components, |
|
containsSelectorPseudo = C.JSArray_methods.any$1(resolvedMembers, new D.SelectorList__resolveParentSelectorsCompound_closure()); |
|
if (!containsSelectorPseudo && !(C.JSArray_methods.get$first(resolvedMembers) instanceof M.ParentSelector)) |
|
return; |
|
resolvedMembers0 = containsSelectorPseudo ? new H.MappedListIterable(resolvedMembers, new D.SelectorList__resolveParentSelectorsCompound_closure0($parent), [H.getTypeArgumentByIndex(resolvedMembers, 0), M.SimpleSelector]) : resolvedMembers; |
|
parentSelector = C.JSArray_methods.get$first(resolvedMembers); |
|
if (parentSelector instanceof M.ParentSelector) { |
|
if (resolvedMembers.length === 1 && parentSelector.suffix == null) |
|
return $parent.components; |
|
} else |
|
return H.setRuntimeTypeInfo([S.ComplexSelector$(H.setRuntimeTypeInfo([X.CompoundSelector$(resolvedMembers0)], [S.ComplexSelectorComponent]), false)], [S.ComplexSelector]); |
|
t1 = $parent.components; |
|
return new H.MappedListIterable(t1, new D.SelectorList__resolveParentSelectorsCompound_closure1(compound, resolvedMembers0), [H.getTypeArgumentByIndex(t1, 0), S.ComplexSelector]); |
|
}, |
|
get$hashCode: function(_) { |
|
return C.C_ListEquality.hash$1(this.components); |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof D.SelectorList && C.C_ListEquality.equals$2(this.components, other.components); |
|
} |
|
}; |
|
D.SelectorList_isInvisible_closure.prototype = { |
|
call$1: function(complex) { |
|
return complex.get$isInvisible(); |
|
} |
|
}; |
|
D.SelectorList_asSassList_closure.prototype = { |
|
call$1: function(complex) { |
|
var t1 = complex.components; |
|
return D.SassList$(new H.MappedListIterable(t1, new D.SelectorList_asSassList__closure(), [H.getTypeArgumentByIndex(t1, 0), F.Value]), C.ListSeparator_space, false); |
|
} |
|
}; |
|
D.SelectorList_asSassList__closure.prototype = { |
|
call$1: function(component) { |
|
return new D.SassString(J.toString$0$(component), false); |
|
} |
|
}; |
|
D.SelectorList_unify_closure.prototype = { |
|
call$1: function(complex1) { |
|
var t1 = this.other.components; |
|
return new H.ExpandIterable(t1, new D.SelectorList_unify__closure(complex1), [H.getTypeArgumentByIndex(t1, 0), S.ComplexSelector]); |
|
} |
|
}; |
|
D.SelectorList_unify__closure.prototype = { |
|
call$1: function(complex2) { |
|
var unified = Y.unifyComplex(H.setRuntimeTypeInfo([this.complex1.components, complex2.components], [[P.List, S.ComplexSelectorComponent]])); |
|
if (unified == null) |
|
return C.List_empty5; |
|
return J.map$1$1$ax(unified, new D.SelectorList_unify___closure(), S.ComplexSelector); |
|
} |
|
}; |
|
D.SelectorList_unify___closure.prototype = { |
|
call$1: function(complex) { |
|
return S.ComplexSelector$(complex, false); |
|
} |
|
}; |
|
D.SelectorList_resolveParentSelectors_closure.prototype = { |
|
call$1: function(complex) { |
|
var t2, t3, newComplexes, t4, t5, t6, t7, _i, component, resolved, t8, _i0, previousLineBreaks, newComplexes0, t9, i, newComplex, i0, lineBreak, t10, t11, t12, t13, t14, t15, _i1, _this = this, _box_0 = {}, |
|
t1 = _this.$this; |
|
if (!t1._complexContainsParentSelector$1(complex)) { |
|
if (!_this.implicitParent) |
|
return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]); |
|
t1 = _this.parent.components; |
|
return new H.MappedListIterable(t1, new D.SelectorList_resolveParentSelectors__closure(complex), [H.getTypeArgumentByIndex(t1, 0), S.ComplexSelector]); |
|
} |
|
t2 = [S.ComplexSelectorComponent]; |
|
t3 = [[P.List, S.ComplexSelectorComponent]]; |
|
newComplexes = H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([], t2)], t3); |
|
t4 = [P.bool]; |
|
_box_0.lineBreaks = H.setRuntimeTypeInfo([false], t4); |
|
for (t5 = complex.components, t6 = t5.length, t7 = _this.parent, _i = 0; _i < t6; ++_i) { |
|
component = t5[_i]; |
|
if (component instanceof X.CompoundSelector) { |
|
resolved = t1._resolveParentSelectorsCompound$2(component, t7); |
|
if (resolved == null) { |
|
for (t8 = newComplexes.length, _i0 = 0; _i0 < newComplexes.length; newComplexes.length === t8 || (0, H.throwConcurrentModificationError)(newComplexes), ++_i0) |
|
newComplexes[_i0].push(component); |
|
continue; |
|
} |
|
previousLineBreaks = _box_0.lineBreaks; |
|
newComplexes0 = H.setRuntimeTypeInfo([], t3); |
|
_box_0.lineBreaks = H.setRuntimeTypeInfo([], t4); |
|
for (t8 = newComplexes.length, t9 = J.getInterceptor$ax(resolved), i = 0, _i0 = 0; _i0 < newComplexes.length; newComplexes.length === t8 || (0, H.throwConcurrentModificationError)(newComplexes), ++_i0, i = i0) { |
|
newComplex = newComplexes[_i0]; |
|
i0 = i + 1; |
|
lineBreak = previousLineBreaks[i]; |
|
for (t10 = t9.get$iterator(resolved), t11 = !lineBreak; t10.moveNext$0();) { |
|
t12 = t10.get$current(t10); |
|
t13 = H.setRuntimeTypeInfo([], t2); |
|
for (t14 = C.JSArray_methods.get$iterator(newComplex); t14.moveNext$0();) |
|
t13.push(t14.get$current(t14)); |
|
for (t14 = t12.components, t15 = t14.length, _i1 = 0; _i1 < t15; ++_i1) |
|
t13.push(t14[_i1]); |
|
newComplexes0.push(t13); |
|
t13 = _box_0.lineBreaks; |
|
t13.push(!t11 || t12.lineBreak); |
|
} |
|
} |
|
newComplexes = newComplexes0; |
|
} else |
|
for (t8 = newComplexes.length, _i0 = 0; _i0 < newComplexes.length; newComplexes.length === t8 || (0, H.throwConcurrentModificationError)(newComplexes), ++_i0) |
|
newComplexes[_i0].push(component); |
|
} |
|
_box_0.i = 0; |
|
return new H.MappedListIterable(newComplexes, new D.SelectorList_resolveParentSelectors__closure0(_box_0), [H.getTypeArgumentByIndex(newComplexes, 0), S.ComplexSelector]); |
|
} |
|
}; |
|
D.SelectorList_resolveParentSelectors__closure.prototype = { |
|
call$1: function(parentComplex) { |
|
var t2, t3, _i, t4, |
|
t1 = H.setRuntimeTypeInfo([], [S.ComplexSelectorComponent]); |
|
for (t2 = parentComplex.components, t3 = t2.length, _i = 0; _i < t3; ++_i) |
|
t1.push(t2[_i]); |
|
for (t2 = this.complex, t3 = t2.components, t4 = t3.length, _i = 0; _i < t4; ++_i) |
|
t1.push(t3[_i]); |
|
return S.ComplexSelector$(t1, t2.lineBreak || parentComplex.lineBreak); |
|
} |
|
}; |
|
D.SelectorList_resolveParentSelectors__closure0.prototype = { |
|
call$1: function(newComplex) { |
|
var t1 = this._box_0; |
|
return S.ComplexSelector$(newComplex, t1.lineBreaks[t1.i++]); |
|
} |
|
}; |
|
D.SelectorList__complexContainsParentSelector_closure.prototype = { |
|
call$1: function(component) { |
|
return component instanceof X.CompoundSelector && C.JSArray_methods.any$1(component.components, new D.SelectorList__complexContainsParentSelector__closure()); |
|
} |
|
}; |
|
D.SelectorList__complexContainsParentSelector__closure.prototype = { |
|
call$1: function(simple) { |
|
var t1 = J.getInterceptor$(simple); |
|
if (!t1.$isParentSelector) |
|
if (!!t1.$isPseudoSelector) { |
|
t1 = simple.selector; |
|
t1 = t1 != null && C.JSArray_methods.any$1(t1.components, t1.get$_complexContainsParentSelector()); |
|
} else |
|
t1 = false; |
|
else |
|
t1 = true; |
|
return t1; |
|
} |
|
}; |
|
D.SelectorList__resolveParentSelectorsCompound_closure.prototype = { |
|
call$1: function(simple) { |
|
var t1; |
|
if (simple instanceof D.PseudoSelector) { |
|
t1 = simple.selector; |
|
t1 = t1 != null && C.JSArray_methods.any$1(t1.components, t1.get$_complexContainsParentSelector()); |
|
} else |
|
t1 = false; |
|
return t1; |
|
} |
|
}; |
|
D.SelectorList__resolveParentSelectorsCompound_closure0.prototype = { |
|
call$1: function(simple) { |
|
var t1, t2, t3; |
|
if (simple instanceof D.PseudoSelector) { |
|
t1 = simple.selector; |
|
if (t1 == null) |
|
return simple; |
|
if (!C.JSArray_methods.any$1(t1.components, t1.get$_complexContainsParentSelector())) |
|
return simple; |
|
t1 = t1.resolveParentSelectors$2$implicitParent(this.parent, false); |
|
t2 = simple.name; |
|
t3 = simple.isClass; |
|
return D.PseudoSelector$(t2, simple.argument, !t3, t1); |
|
} else |
|
return simple; |
|
} |
|
}; |
|
D.SelectorList__resolveParentSelectorsCompound_closure1.prototype = { |
|
call$1: function(complex) { |
|
var suffix, t2, t3, t4, last, _i, |
|
t1 = complex.components, |
|
lastComponent = C.JSArray_methods.get$last(t1); |
|
if (!(lastComponent instanceof X.CompoundSelector)) |
|
throw H.wrapException(E.SassScriptException$('Parent "' + H.S(complex) + '" is incompatible with this selector.')); |
|
suffix = H.interceptedTypeCast(C.JSArray_methods.get$first(this.compound.components), "$isParentSelector").suffix; |
|
t2 = [M.SimpleSelector]; |
|
if (suffix != null) { |
|
t2 = H.setRuntimeTypeInfo([], t2); |
|
for (t3 = lastComponent.components, t4 = H.SubListIterable$(t3, 0, t3.length - 1, H.getTypeArgumentByIndex(t3, 0)), t4 = new H.ListIterator(t4, t4.get$length(t4)); t4.moveNext$0();) |
|
t2.push(t4.__internal$_current); |
|
t2.push(C.JSArray_methods.get$last(t3).addSuffix$1(suffix)); |
|
for (t3 = J.skip$1$ax(this.resolvedMembers, 1), t3 = new H.ListIterator(t3, t3.get$length(t3)); t3.moveNext$0();) |
|
t2.push(t3.__internal$_current); |
|
last = X.CompoundSelector$(t2); |
|
} else { |
|
t2 = H.setRuntimeTypeInfo([], t2); |
|
for (t3 = lastComponent.components, t4 = t3.length, _i = 0; _i < t4; ++_i) |
|
t2.push(t3[_i]); |
|
for (t3 = J.skip$1$ax(this.resolvedMembers, 1), t3 = new H.ListIterator(t3, t3.get$length(t3)); t3.moveNext$0();) |
|
t2.push(t3.__internal$_current); |
|
last = X.CompoundSelector$(t2); |
|
} |
|
t2 = H.setRuntimeTypeInfo([], [S.ComplexSelectorComponent]); |
|
for (t1 = H.SubListIterable$(t1, 0, t1.length - 1, H.getTypeArgumentByIndex(t1, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();) |
|
t2.push(t1.__internal$_current); |
|
t2.push(last); |
|
return S.ComplexSelector$(t2, complex.lineBreak); |
|
} |
|
}; |
|
M.ParentSelector.prototype = { |
|
accept$1$1: function(visitor) { |
|
var t2, |
|
t1 = visitor._serialize$_buffer; |
|
t1.writeCharCode$1(38); |
|
t2 = this.suffix; |
|
if (t2 != null) |
|
t1.write$1(0, t2); |
|
return; |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
unify$1: function(compound) { |
|
return H.throwExpression(P.UnsupportedError$("& doesn't support unification.")); |
|
} |
|
}; |
|
N.PlaceholderSelector.prototype = { |
|
get$isInvisible: function() { |
|
return true; |
|
}, |
|
accept$1$1: function(visitor) { |
|
var t1 = visitor._serialize$_buffer; |
|
t1.writeCharCode$1(37); |
|
t1.write$1(0, this.name); |
|
return; |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
addSuffix$1: function(suffix) { |
|
return new N.PlaceholderSelector(this.name + suffix); |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof N.PlaceholderSelector && other.name === this.name; |
|
}, |
|
get$hashCode: function(_) { |
|
return C.JSString_methods.get$hashCode(this.name); |
|
} |
|
}; |
|
D.PseudoSelector.prototype = { |
|
get$minSpecificity: function() { |
|
if (this._pseudo$_minSpecificity == null) |
|
this._pseudo$_computeSpecificity$0(); |
|
return this._pseudo$_minSpecificity; |
|
}, |
|
get$maxSpecificity: function() { |
|
if (this._pseudo$_maxSpecificity == null) |
|
this._pseudo$_computeSpecificity$0(); |
|
return this._pseudo$_maxSpecificity; |
|
}, |
|
get$isInvisible: function() { |
|
var t1 = this.selector; |
|
if (t1 == null) |
|
return false; |
|
return this.name !== "not" && t1.get$isInvisible(); |
|
}, |
|
addSuffix$1: function(suffix) { |
|
var _this = this; |
|
if (_this.argument != null || _this.selector != null) |
|
_this.super$SimpleSelector$addSuffix(suffix); |
|
return D.PseudoSelector$(_this.name + suffix, null, !_this.isClass, null); |
|
}, |
|
unify$1: function(compound) { |
|
var result, t1, t2, addedThis, _i, simple, _this = this; |
|
if (compound.length === 1 && C.JSArray_methods.get$first(compound) instanceof N.UniversalSelector) |
|
return C.JSArray_methods.get$first(compound).unify$1(H.setRuntimeTypeInfo([_this], [M.SimpleSelector])); |
|
if (C.JSArray_methods.contains$1(compound, _this)) |
|
return compound; |
|
result = H.setRuntimeTypeInfo([], [M.SimpleSelector]); |
|
for (t1 = compound.length, t2 = !_this.isClass, addedThis = false, _i = 0; _i < compound.length; compound.length === t1 || (0, H.throwConcurrentModificationError)(compound), ++_i) { |
|
simple = compound[_i]; |
|
if (simple instanceof D.PseudoSelector && !simple.isClass) { |
|
if (t2) |
|
return; |
|
result.push(_this); |
|
addedThis = true; |
|
} |
|
result.push(simple); |
|
} |
|
if (!addedThis) |
|
result.push(_this); |
|
return result; |
|
}, |
|
_pseudo$_computeSpecificity$0: function() { |
|
var t1, _i, t2, complex, t3, t4, _this = this; |
|
if (!_this.isClass) { |
|
_this._pseudo$_maxSpecificity = _this._pseudo$_minSpecificity = 1; |
|
return; |
|
} |
|
t1 = _this.selector; |
|
if (t1 == null) { |
|
_this._pseudo$_minSpecificity = M.SimpleSelector.prototype.get$minSpecificity.call(_this); |
|
_this._pseudo$_maxSpecificity = M.SimpleSelector.prototype.get$maxSpecificity.call(_this); |
|
return; |
|
} |
|
if (_this.name === "not") { |
|
_i = _this._pseudo$_maxSpecificity = _this._pseudo$_minSpecificity = 0; |
|
for (t1 = t1.components, t2 = t1.length; _i < t2; ++_i) { |
|
complex = t1[_i]; |
|
t3 = _this._pseudo$_minSpecificity; |
|
if (complex._minSpecificity == null) |
|
complex._computeSpecificity$0(); |
|
t4 = complex._minSpecificity; |
|
_this._pseudo$_minSpecificity = Math.max(H.checkNum(t3), H.checkNum(t4)); |
|
t4 = _this._pseudo$_maxSpecificity; |
|
if (complex._maxSpecificity == null) |
|
complex._computeSpecificity$0(); |
|
t3 = complex._maxSpecificity; |
|
_this._pseudo$_maxSpecificity = Math.max(H.checkNum(t4), H.checkNum(t3)); |
|
} |
|
} else { |
|
_this._pseudo$_minSpecificity = H.intTypeCast(Math.pow(M.SimpleSelector.prototype.get$minSpecificity.call(_this), 3)); |
|
_i = _this._pseudo$_maxSpecificity = 0; |
|
for (t1 = t1.components, t2 = t1.length; _i < t2; ++_i) { |
|
complex = t1[_i]; |
|
t3 = _this._pseudo$_minSpecificity; |
|
if (complex._minSpecificity == null) |
|
complex._computeSpecificity$0(); |
|
t4 = complex._minSpecificity; |
|
_this._pseudo$_minSpecificity = Math.min(H.checkNum(t3), H.checkNum(t4)); |
|
t4 = _this._pseudo$_maxSpecificity; |
|
if (complex._maxSpecificity == null) |
|
complex._computeSpecificity$0(); |
|
t3 = complex._maxSpecificity; |
|
_this._pseudo$_maxSpecificity = Math.max(H.checkNum(t4), H.checkNum(t3)); |
|
} |
|
} |
|
}, |
|
accept$1$1: function(visitor) { |
|
return visitor.visitPseudoSelector$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
$eq: function(_, other) { |
|
var _this = this; |
|
if (other == null) |
|
return false; |
|
return other instanceof D.PseudoSelector && other.name === _this.name && other.isClass === _this.isClass && other.argument == _this.argument && J.$eq$(other.selector, _this.selector); |
|
}, |
|
get$hashCode: function(_) { |
|
var _this = this; |
|
return (C.JSString_methods.get$hashCode(_this.name) ^ C.JSBool_methods.get$hashCode(!_this.isClass) ^ J.get$hashCode$(_this.argument) ^ J.get$hashCode$(_this.selector)) >>> 0; |
|
} |
|
}; |
|
D.QualifiedName.prototype = { |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof D.QualifiedName && other.name === this.name && other.namespace == this.namespace; |
|
}, |
|
get$hashCode: function(_) { |
|
return C.JSString_methods.get$hashCode(this.name) ^ J.get$hashCode$(this.namespace); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.namespace, |
|
t2 = this.name; |
|
return t1 == null ? t2 : t1 + "|" + t2; |
|
} |
|
}; |
|
M.SimpleSelector.prototype = { |
|
get$minSpecificity: function() { |
|
return 1000; |
|
}, |
|
get$maxSpecificity: function() { |
|
return this.get$minSpecificity(); |
|
}, |
|
addSuffix$1: function(suffix) { |
|
return H.throwExpression(E.SassScriptException$('Invalid parent selector "' + this.toString$0(0) + '"')); |
|
}, |
|
unify$1: function(compound) { |
|
var result, t1, addedThis, _i, simple, _this = this; |
|
if (compound.length === 1 && C.JSArray_methods.get$first(compound) instanceof N.UniversalSelector) |
|
return C.JSArray_methods.get$first(compound).unify$1(H.setRuntimeTypeInfo([_this], [M.SimpleSelector])); |
|
if (C.JSArray_methods.contains$1(compound, _this)) |
|
return compound; |
|
result = H.setRuntimeTypeInfo([], [M.SimpleSelector]); |
|
for (t1 = compound.length, addedThis = false, _i = 0; _i < compound.length; compound.length === t1 || (0, H.throwConcurrentModificationError)(compound), ++_i) { |
|
simple = compound[_i]; |
|
if (!addedThis && simple instanceof D.PseudoSelector) { |
|
result.push(_this); |
|
addedThis = true; |
|
} |
|
result.push(simple); |
|
} |
|
if (!addedThis) |
|
result.push(_this); |
|
return result; |
|
} |
|
}; |
|
F.TypeSelector.prototype = { |
|
get$minSpecificity: function() { |
|
return 1; |
|
}, |
|
accept$1$1: function(visitor) { |
|
visitor._serialize$_buffer.write$1(0, this.name); |
|
return; |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
addSuffix$1: function(suffix) { |
|
var t1 = this.name; |
|
return new F.TypeSelector(new D.QualifiedName(t1.name + suffix, t1.namespace)); |
|
}, |
|
unify$1: function(compound) { |
|
var unified, t1, t2, _i; |
|
if (C.JSArray_methods.get$first(compound) instanceof N.UniversalSelector || C.JSArray_methods.get$first(compound) instanceof F.TypeSelector) { |
|
unified = Y.unifyUniversalAndElement(this, C.JSArray_methods.get$first(compound)); |
|
if (unified == null) |
|
return; |
|
t1 = H.setRuntimeTypeInfo([], [M.SimpleSelector]); |
|
t1.push(unified); |
|
for (t2 = H.SubListIterable$(compound, 1, null, H.getTypeArgumentByIndex(compound, 0)), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) |
|
t1.push(t2.__internal$_current); |
|
return t1; |
|
} else { |
|
t1 = H.setRuntimeTypeInfo([], [M.SimpleSelector]); |
|
t1.push(this); |
|
for (t2 = compound.length, _i = 0; _i < compound.length; compound.length === t2 || (0, H.throwConcurrentModificationError)(compound), ++_i) |
|
t1.push(compound[_i]); |
|
return t1; |
|
} |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof F.TypeSelector && other.name.$eq(0, this.name); |
|
}, |
|
get$hashCode: function(_) { |
|
var t1 = this.name; |
|
return C.JSString_methods.get$hashCode(t1.name) ^ J.get$hashCode$(t1.namespace); |
|
} |
|
}; |
|
N.UniversalSelector.prototype = { |
|
get$minSpecificity: function() { |
|
return 0; |
|
}, |
|
accept$1$1: function(visitor) { |
|
var t2, |
|
t1 = this.namespace; |
|
if (t1 != null) { |
|
t2 = visitor._serialize$_buffer; |
|
t2.write$1(0, t1); |
|
t2.writeCharCode$1(124); |
|
} |
|
visitor._serialize$_buffer.writeCharCode$1(42); |
|
return; |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
unify$1: function(compound) { |
|
var unified, t1, t2, _i, _this = this; |
|
if (C.JSArray_methods.get$first(compound) instanceof N.UniversalSelector || C.JSArray_methods.get$first(compound) instanceof F.TypeSelector) { |
|
unified = Y.unifyUniversalAndElement(_this, C.JSArray_methods.get$first(compound)); |
|
if (unified == null) |
|
return; |
|
t1 = H.setRuntimeTypeInfo([], [M.SimpleSelector]); |
|
t1.push(unified); |
|
for (t2 = H.SubListIterable$(compound, 1, null, H.getTypeArgumentByIndex(compound, 0)), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) |
|
t1.push(t2.__internal$_current); |
|
return t1; |
|
} |
|
t1 = _this.namespace; |
|
if (t1 != null && t1 !== "*") { |
|
t1 = H.setRuntimeTypeInfo([], [M.SimpleSelector]); |
|
t1.push(_this); |
|
for (t2 = compound.length, _i = 0; _i < compound.length; compound.length === t2 || (0, H.throwConcurrentModificationError)(compound), ++_i) |
|
t1.push(compound[_i]); |
|
return t1; |
|
} |
|
if (compound.length !== 0) |
|
return compound; |
|
return H.setRuntimeTypeInfo([_this], [M.SimpleSelector]); |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof N.UniversalSelector && other.namespace == this.namespace; |
|
}, |
|
get$hashCode: function(_) { |
|
return J.get$hashCode$(this.namespace); |
|
} |
|
}; |
|
X._compileStylesheet_closure0.prototype = { |
|
call$1: function(url) { |
|
var t1, t2, _null = null; |
|
if (url === "") |
|
t1 = J.toString$0$(P.Uri_Uri$dataFromString(P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(this.stylesheet.span.file._decodedChars, 0, _null), 0, _null), C.C_Utf8Codec, _null)); |
|
else { |
|
t1 = P.Uri_parse(url); |
|
t2 = this.importCache._async_import_cache$_resultsCache.$index(0, t1); |
|
t2 = t2 == null ? _null : t2.get$sourceMapUrl(); |
|
t1 = J.toString$0$(t2 == null ? t1 : t2); |
|
} |
|
return t1; |
|
} |
|
}; |
|
X.CompileResult.prototype = {}; |
|
Q.AsyncEnvironment.prototype = { |
|
closure$0: function() { |
|
var t7, t8, t9, _this = this, |
|
t1 = _this._async_environment$_globalModules, |
|
t2 = _this._async_environment$_globalModuleNodes, |
|
t3 = _this._async_environment$_forwardedModules, |
|
t4 = _this._async_environment$_forwardedModuleNodes, |
|
t5 = _this._async_environment$_nestedForwardedModules, |
|
t6 = _this._async_environment$_variables; |
|
t6 = H.setRuntimeTypeInfo(t6.slice(0), [H.getTypeArgumentByIndex(t6, 0)]); |
|
t7 = _this._async_environment$_variableNodes; |
|
if (t7 == null) |
|
t7 = null; |
|
else |
|
t7 = H.setRuntimeTypeInfo(t7.slice(0), [H.getTypeArgumentByIndex(t7, 0)]); |
|
t8 = _this._async_environment$_functions; |
|
t8 = H.setRuntimeTypeInfo(t8.slice(0), [H.getTypeArgumentByIndex(t8, 0)]); |
|
t9 = _this._async_environment$_mixins; |
|
t9 = H.setRuntimeTypeInfo(t9.slice(0), [H.getTypeArgumentByIndex(t9, 0)]); |
|
return Q.AsyncEnvironment$_(_this._async_environment$_modules, _this._async_environment$_namespaceNodes, t1, t2, t3, t4, t5, _this._async_environment$_allModules, t6, t7, t8, t9, _this._async_environment$_content); |
|
}, |
|
addModule$3$namespace: function(module, nodeWithSpan, namespace) { |
|
var t1, t2, _this = this; |
|
if (namespace == null) { |
|
t1 = _this._async_environment$_globalModules; |
|
if (t1 == null) |
|
t1 = _this._async_environment$_globalModules = P.LinkedHashSet_LinkedHashSet$_empty([G.Module, B.AsyncCallable]); |
|
if (_this._async_environment$_globalModuleNodes == null) |
|
_this._async_environment$_globalModuleNodes = P.LinkedHashMap_LinkedHashMap$_empty([G.Module, B.AsyncCallable], B.AstNode); |
|
t1.add$1(0, module); |
|
_this._async_environment$_globalModuleNodes.$indexSet(0, module, nodeWithSpan); |
|
_this._async_environment$_allModules.push(module); |
|
for (t1 = J.get$iterator$ax(C.JSArray_methods.get$first(_this._async_environment$_variables).get$keys()); t1.moveNext$0();) { |
|
t2 = t1.get$current(t1); |
|
if (module.get$variables().containsKey$1(t2)) |
|
throw H.wrapException(E.SassScriptException$('This module and the new module both define a variable named "$' + H.S(t2) + '".')); |
|
} |
|
} else { |
|
t1 = _this._async_environment$_modules; |
|
if (t1.containsKey$1(namespace)) |
|
throw H.wrapException(E.MultiSpanSassScriptException$("There's already a module with namespace \"" + namespace + '".', "new @use", P.LinkedHashMap_LinkedHashMap$_literal([_this._async_environment$_namespaceNodes.$index(0, namespace).get$span(), "original @use"], Y.FileSpan, P.String))); |
|
t1.$indexSet(0, namespace, module); |
|
_this._async_environment$_namespaceNodes.$indexSet(0, namespace, nodeWithSpan); |
|
_this._async_environment$_allModules.push(module); |
|
} |
|
}, |
|
forwardModule$2: function(module, rule) { |
|
var view, t1, t2, t3, t4, t5, _i, other, _this = this; |
|
if (_this._async_environment$_forwardedModules == null) |
|
_this._async_environment$_forwardedModules = H.setRuntimeTypeInfo([], [[G.Module, B.AsyncCallable]]); |
|
if (_this._async_environment$_forwardedModuleNodes == null) |
|
_this._async_environment$_forwardedModuleNodes = P.LinkedHashMap_LinkedHashMap$_empty([G.Module, B.AsyncCallable], B.AstNode); |
|
view = R.ForwardedModuleView$(module, rule, B.AsyncCallable); |
|
for (t1 = _this._async_environment$_forwardedModules, t2 = t1.length, t3 = view.variables, t4 = view.functions, t5 = view.mixins, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { |
|
other = t1[_i]; |
|
_this._async_environment$_assertNoConflicts$5(t3, other.get$variables(), "variable", other, rule); |
|
_this._async_environment$_assertNoConflicts$5(t4, J.get$functions$x(other), "function", other, rule); |
|
_this._async_environment$_assertNoConflicts$5(t5, other.get$mixins(), "mixin", other, rule); |
|
} |
|
_this._async_environment$_allModules.push(module); |
|
_this._async_environment$_forwardedModules.push(view); |
|
_this._async_environment$_forwardedModuleNodes.$indexSet(0, view, rule); |
|
}, |
|
_async_environment$_assertNoConflicts$5: function(newMembers, oldMembers, type, other, newModuleNodeWithSpan) { |
|
var larger, smaller, t1, $name; |
|
if (newMembers.get$length(newMembers) < oldMembers.get$length(oldMembers)) { |
|
larger = oldMembers; |
|
smaller = newMembers; |
|
} else { |
|
larger = newMembers; |
|
smaller = oldMembers; |
|
} |
|
for (t1 = J.get$iterator$ax(smaller.get$keys()); t1.moveNext$0();) { |
|
$name = t1.get$current(t1); |
|
if (larger.containsKey$1($name)) { |
|
if (type === "variable") |
|
$name = "$" + H.S($name); |
|
throw H.wrapException(E.MultiSpanSassScriptException$("Two forwarded modules both define a " + type + " named " + H.S($name) + ".", "new @forward", P.LinkedHashMap_LinkedHashMap$_literal([this._async_environment$_forwardedModuleNodes.$index(0, other).get$span(), "original @forward"], Y.FileSpan, P.String))); |
|
} |
|
} |
|
}, |
|
importForwards$1: function(module) { |
|
var t2, t3, forwardedVariableNames, forwardedFunctionNames, forwardedMixinNames, t4, t5, _i, shadowed, t6, i, _this = this, |
|
t1 = module._async_environment$_environment, |
|
forwarded = t1._async_environment$_forwardedModules; |
|
if (forwarded == null) |
|
return; |
|
if (_this._async_environment$_globalModules == null) |
|
_this._async_environment$_globalModules = P.LinkedHashSet_LinkedHashSet$_empty([G.Module, B.AsyncCallable]); |
|
if (_this._async_environment$_globalModuleNodes == null) |
|
_this._async_environment$_globalModuleNodes = P.LinkedHashMap_LinkedHashMap$_empty([G.Module, B.AsyncCallable], B.AstNode); |
|
if (_this._async_environment$_forwardedModules == null) |
|
_this._async_environment$_forwardedModules = H.setRuntimeTypeInfo([], [[G.Module, B.AsyncCallable]]); |
|
if (_this._async_environment$_forwardedModuleNodes == null) |
|
_this._async_environment$_forwardedModuleNodes = P.LinkedHashMap_LinkedHashMap$_empty([G.Module, B.AsyncCallable], B.AstNode); |
|
t2 = P.String; |
|
t3 = [H.getTypeArgumentByIndex(forwarded, 0), t2]; |
|
forwardedVariableNames = P.LinkedHashSet_LinkedHashSet$from(new H.ExpandIterable(forwarded, new Q.AsyncEnvironment_importForwards_closure(), t3), t2); |
|
forwardedFunctionNames = P.LinkedHashSet_LinkedHashSet$from(new H.ExpandIterable(forwarded, new Q.AsyncEnvironment_importForwards_closure0(), t3), t2); |
|
forwardedMixinNames = P.LinkedHashSet_LinkedHashSet$from(new H.ExpandIterable(forwarded, new Q.AsyncEnvironment_importForwards_closure1(), t3), t2); |
|
t2 = _this._async_environment$_variables; |
|
t3 = t2.length; |
|
if (t3 === 1) { |
|
for (t3 = _this._async_environment$_globalModules.toList$0(0), t4 = t3.length, t5 = B.AsyncCallable, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i) { |
|
module = t3[_i]; |
|
shadowed = B.ShadowedModuleView_ifNecessary(module, forwardedFunctionNames, forwardedMixinNames, forwardedVariableNames, t5); |
|
if (shadowed != null) { |
|
_this._async_environment$_globalModules.remove$1(0, module); |
|
_this._async_environment$_globalModules.add$1(0, shadowed); |
|
t6 = _this._async_environment$_globalModuleNodes; |
|
t6.$indexSet(0, shadowed, t6.remove$1(0, module)); |
|
} |
|
} |
|
for (i = 0; t3 = _this._async_environment$_forwardedModules, i < t3.length; ++i) { |
|
module = t3[i]; |
|
shadowed = B.ShadowedModuleView_ifNecessary(module, forwardedFunctionNames, forwardedMixinNames, forwardedVariableNames, t5); |
|
if (shadowed != null) { |
|
_this._async_environment$_forwardedModules[i] = shadowed; |
|
t3 = _this._async_environment$_forwardedModuleNodes; |
|
t3.$indexSet(0, shadowed, t3.remove$1(0, module)); |
|
} |
|
} |
|
_this._async_environment$_globalModules.addAll$1(0, forwarded); |
|
_this._async_environment$_globalModuleNodes.addAll$1(0, t1._async_environment$_forwardedModuleNodes); |
|
t3 = _this._async_environment$_forwardedModules; |
|
(t3 && C.JSArray_methods).addAll$1(t3, forwarded); |
|
_this._async_environment$_forwardedModuleNodes.addAll$1(0, t1._async_environment$_forwardedModuleNodes); |
|
} else { |
|
t1 = _this._async_environment$_nestedForwardedModules; |
|
J.addAll$1$ax(C.JSArray_methods.get$last(t1 == null ? _this._async_environment$_nestedForwardedModules = P.List_List$generate(t3 - 1, new Q.AsyncEnvironment_importForwards_closure2(), true, [P.List, [G.Module, B.AsyncCallable]]) : t1), forwarded); |
|
} |
|
for (t1 = P._LinkedHashSetIterator$(forwardedVariableNames, forwardedVariableNames._collection$_modifications), t3 = _this._async_environment$_variableNodes, t4 = t3 != null, t5 = _this._async_environment$_variableIndices; t1.moveNext$0();) { |
|
t6 = t1._collection$_current; |
|
t5.remove$1(0, t6); |
|
J.remove$1$ax(C.JSArray_methods.get$last(t2), t6); |
|
if (t4) |
|
J.remove$1$ax(C.JSArray_methods.get$last(t3), t6); |
|
} |
|
for (t1 = P._LinkedHashSetIterator$(forwardedFunctionNames, forwardedFunctionNames._collection$_modifications), t2 = _this._async_environment$_functionIndices, t3 = _this._async_environment$_functions; t1.moveNext$0();) { |
|
t4 = t1._collection$_current; |
|
t2.remove$1(0, t4); |
|
J.remove$1$ax(C.JSArray_methods.get$last(t3), t4); |
|
} |
|
for (t1 = P._LinkedHashSetIterator$(forwardedMixinNames, forwardedMixinNames._collection$_modifications), t2 = _this._async_environment$_mixinIndices, t3 = _this._async_environment$_mixins; t1.moveNext$0();) { |
|
t4 = t1._collection$_current; |
|
t2.remove$1(0, t4); |
|
J.remove$1$ax(C.JSArray_methods.get$last(t3), t4); |
|
} |
|
}, |
|
getVariable$2$namespace: function($name, namespace) { |
|
var t1, index, _this = this; |
|
if (namespace != null) |
|
return _this._async_environment$_getModule$1(namespace).get$variables().$index(0, $name); |
|
if (_this._async_environment$_lastVariableName === $name) { |
|
t1 = J.$index$asx(_this._async_environment$_variables[_this._async_environment$_lastVariableIndex], $name); |
|
return t1 == null ? _this._async_environment$_getVariableFromGlobalModule$1($name) : t1; |
|
} |
|
t1 = _this._async_environment$_variableIndices; |
|
index = t1.$index(0, $name); |
|
if (index != null) { |
|
_this._async_environment$_lastVariableName = $name; |
|
_this._async_environment$_lastVariableIndex = index; |
|
t1 = J.$index$asx(_this._async_environment$_variables[index], $name); |
|
return t1 == null ? _this._async_environment$_getVariableFromGlobalModule$1($name) : t1; |
|
} |
|
index = _this._async_environment$_variableIndex$1($name); |
|
if (index == null) |
|
return _this._async_environment$_getVariableFromGlobalModule$1($name); |
|
_this._async_environment$_lastVariableName = $name; |
|
_this._async_environment$_lastVariableIndex = index; |
|
t1.$indexSet(0, $name, index); |
|
t1 = J.$index$asx(_this._async_environment$_variables[index], $name); |
|
return t1 == null ? _this._async_environment$_getVariableFromGlobalModule$1($name) : t1; |
|
}, |
|
getVariable$1: function($name) { |
|
return this.getVariable$2$namespace($name, null); |
|
}, |
|
_async_environment$_getVariableFromGlobalModule$1: function($name) { |
|
return this._async_environment$_fromOneModule$2("variable", new Q.AsyncEnvironment__getVariableFromGlobalModule_closure($name)); |
|
}, |
|
getVariableNode$2$namespace: function($name, namespace) { |
|
var t1, index, _this = this; |
|
if (namespace != null) |
|
return _this._async_environment$_getModule$1(namespace).get$variableNodes().$index(0, $name); |
|
if (_this._async_environment$_lastVariableName === $name) { |
|
t1 = J.$index$asx(_this._async_environment$_variableNodes[_this._async_environment$_lastVariableIndex], $name); |
|
return t1 == null ? _this._async_environment$_getVariableNodeFromGlobalModule$1($name) : t1; |
|
} |
|
t1 = _this._async_environment$_variableIndices; |
|
index = t1.$index(0, $name); |
|
if (index != null) { |
|
_this._async_environment$_lastVariableName = $name; |
|
_this._async_environment$_lastVariableIndex = index; |
|
t1 = J.$index$asx(_this._async_environment$_variableNodes[index], $name); |
|
return t1 == null ? _this._async_environment$_getVariableNodeFromGlobalModule$1($name) : t1; |
|
} |
|
index = _this._async_environment$_variableIndex$1($name); |
|
if (index == null) |
|
return _this._async_environment$_getVariableNodeFromGlobalModule$1($name); |
|
_this._async_environment$_lastVariableName = $name; |
|
_this._async_environment$_lastVariableIndex = index; |
|
t1.$indexSet(0, $name, index); |
|
t1 = J.$index$asx(_this._async_environment$_variableNodes[index], $name); |
|
return t1 == null ? _this._async_environment$_getVariableNodeFromGlobalModule$1($name) : t1; |
|
}, |
|
_async_environment$_getVariableNodeFromGlobalModule$1: function($name) { |
|
var t1, value; |
|
this._async_environment$_lastVariableName = $name; |
|
this._async_environment$_lastVariableIndex = 0; |
|
t1 = this._async_environment$_globalModules; |
|
if (t1 == null) |
|
return; |
|
for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications); t1.moveNext$0();) { |
|
value = t1._collection$_current.get$variableNodes().$index(0, $name); |
|
if (value != null) |
|
return value; |
|
} |
|
return; |
|
}, |
|
globalVariableExists$2$namespace: function($name, namespace) { |
|
if (namespace != null) |
|
return this._async_environment$_getModule$1(namespace).get$variables().containsKey$1($name); |
|
if (C.JSArray_methods.get$first(this._async_environment$_variables).containsKey$1($name)) |
|
return true; |
|
return this._async_environment$_getVariableFromGlobalModule$1($name) != null; |
|
}, |
|
globalVariableExists$1: function($name) { |
|
return this.globalVariableExists$2$namespace($name, null); |
|
}, |
|
_async_environment$_variableIndex$1: function($name) { |
|
var t1, i; |
|
for (t1 = this._async_environment$_variables, i = t1.length - 1; i >= 0; --i) |
|
if (t1[i].containsKey$1($name)) |
|
return i; |
|
return; |
|
}, |
|
setVariable$5$global$namespace: function($name, value, nodeWithSpan, global, namespace) { |
|
var t1, moduleWithName, t2, t3, index, _this = this; |
|
if (namespace != null) { |
|
_this._async_environment$_getModule$1(namespace).setVariable$3($name, value, nodeWithSpan); |
|
return; |
|
} |
|
if (global || _this._async_environment$_variables.length === 1) { |
|
_this._async_environment$_variableIndices.putIfAbsent$2($name, new Q.AsyncEnvironment_setVariable_closure(_this, $name)); |
|
t1 = _this._async_environment$_variables; |
|
if (!C.JSArray_methods.get$first(t1).containsKey$1($name) && _this._async_environment$_globalModules != null) { |
|
moduleWithName = _this._async_environment$_fromOneModule$2("variable", new Q.AsyncEnvironment_setVariable_closure0($name)); |
|
if (moduleWithName != null) { |
|
moduleWithName.setVariable$3($name, value, nodeWithSpan); |
|
return; |
|
} |
|
} |
|
J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, value); |
|
t1 = _this._async_environment$_variableNodes; |
|
if (t1 != null) |
|
J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, nodeWithSpan); |
|
return; |
|
} |
|
if (_this._async_environment$_nestedForwardedModules != null && !_this._async_environment$_variableIndices.containsKey$1($name) && _this._async_environment$_variableIndex$1($name) == null) |
|
for (t1 = _this._async_environment$_nestedForwardedModules, t1.toString, t1 = new H.ReversedListIterable(t1, [H.getTypeArgumentByIndex(t1, 0)]), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();) |
|
for (t2 = J.get$reversed$ax(t1.__internal$_current), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) { |
|
t3 = t2.__internal$_current; |
|
if (t3.get$variables().containsKey$1($name)) { |
|
t3.setVariable$3($name, value, nodeWithSpan); |
|
return; |
|
} |
|
} |
|
index = _this._async_environment$_lastVariableName === $name ? _this._async_environment$_lastVariableIndex : _this._async_environment$_variableIndices.putIfAbsent$2($name, new Q.AsyncEnvironment_setVariable_closure1(_this, $name)); |
|
if (!_this._async_environment$_inSemiGlobalScope && index === 0) { |
|
index = _this._async_environment$_variables.length - 1; |
|
_this._async_environment$_variableIndices.$indexSet(0, $name, index); |
|
} |
|
_this._async_environment$_lastVariableName = $name; |
|
_this._async_environment$_lastVariableIndex = index; |
|
J.$indexSet$ax(_this._async_environment$_variables[index], $name, value); |
|
t1 = _this._async_environment$_variableNodes; |
|
if (t1 != null) |
|
J.$indexSet$ax(t1[index], $name, nodeWithSpan); |
|
}, |
|
setVariable$4$global: function($name, value, nodeWithSpan, global) { |
|
return this.setVariable$5$global$namespace($name, value, nodeWithSpan, global, null); |
|
}, |
|
setLocalVariable$3: function($name, value, nodeWithSpan) { |
|
var index, _this = this, |
|
t1 = _this._async_environment$_variables, |
|
t2 = t1.length; |
|
_this._async_environment$_lastVariableName = $name; |
|
index = _this._async_environment$_lastVariableIndex = t2 - 1; |
|
_this._async_environment$_variableIndices.$indexSet(0, $name, index); |
|
J.$indexSet$ax(t1[index], $name, value); |
|
t1 = _this._async_environment$_variableNodes; |
|
if (t1 != null) |
|
J.$indexSet$ax(t1[index], $name, nodeWithSpan); |
|
}, |
|
getFunction$2$namespace: function($name, namespace) { |
|
var t1, index, _this = this; |
|
if (namespace != null) { |
|
t1 = _this._async_environment$_getModule$1(namespace); |
|
return t1.get$functions(t1).$index(0, $name); |
|
} |
|
t1 = _this._async_environment$_functionIndices; |
|
index = t1.$index(0, $name); |
|
if (index != null) { |
|
t1 = J.$index$asx(_this._async_environment$_functions[index], $name); |
|
return t1 == null ? _this._async_environment$_getFunctionFromGlobalModule$1($name) : t1; |
|
} |
|
index = _this._async_environment$_functionIndex$1($name); |
|
if (index == null) |
|
return _this._async_environment$_getFunctionFromGlobalModule$1($name); |
|
t1.$indexSet(0, $name, index); |
|
t1 = J.$index$asx(_this._async_environment$_functions[index], $name); |
|
return t1 == null ? _this._async_environment$_getFunctionFromGlobalModule$1($name) : t1; |
|
}, |
|
_async_environment$_getFunctionFromGlobalModule$1: function($name) { |
|
return this._async_environment$_fromOneModule$2("function", new Q.AsyncEnvironment__getFunctionFromGlobalModule_closure($name)); |
|
}, |
|
_async_environment$_functionIndex$1: function($name) { |
|
var t1, i; |
|
for (t1 = this._async_environment$_functions, i = t1.length - 1; i >= 0; --i) |
|
if (t1[i].containsKey$1($name)) |
|
return i; |
|
return; |
|
}, |
|
getMixin$2$namespace: function($name, namespace) { |
|
var t1, index, _this = this; |
|
if (namespace != null) |
|
return _this._async_environment$_getModule$1(namespace).get$mixins().$index(0, $name); |
|
t1 = _this._async_environment$_mixinIndices; |
|
index = t1.$index(0, $name); |
|
if (index != null) { |
|
t1 = J.$index$asx(_this._async_environment$_mixins[index], $name); |
|
return t1 == null ? _this._async_environment$_getMixinFromGlobalModule$1($name) : t1; |
|
} |
|
index = _this._async_environment$_mixinIndex$1($name); |
|
if (index == null) |
|
return _this._async_environment$_getMixinFromGlobalModule$1($name); |
|
t1.$indexSet(0, $name, index); |
|
t1 = J.$index$asx(_this._async_environment$_mixins[index], $name); |
|
return t1 == null ? _this._async_environment$_getMixinFromGlobalModule$1($name) : t1; |
|
}, |
|
_async_environment$_getMixinFromGlobalModule$1: function($name) { |
|
return this._async_environment$_fromOneModule$2("mixin", new Q.AsyncEnvironment__getMixinFromGlobalModule_closure($name)); |
|
}, |
|
_async_environment$_mixinIndex$1: function($name) { |
|
var t1, i; |
|
for (t1 = this._async_environment$_mixins, i = t1.length - 1; i >= 0; --i) |
|
if (t1[i].containsKey$1($name)) |
|
return i; |
|
return; |
|
}, |
|
withContent$2: function($content, callback) { |
|
return this.withContent$body$AsyncEnvironment($content, callback); |
|
}, |
|
withContent$body$AsyncEnvironment: function($content, callback) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$self = this, oldContent; |
|
var $async$withContent$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
oldContent = $async$self._async_environment$_content; |
|
$async$self._async_environment$_content = $content; |
|
$async$goto = 2; |
|
return P._asyncAwait(callback.call$0(), $async$withContent$2); |
|
case 2: |
|
// returning from await. |
|
$async$self._async_environment$_content = oldContent; |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$withContent$2, $async$completer); |
|
}, |
|
asMixin$1: function(callback) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$self = this, oldInMixin; |
|
var $async$asMixin$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
oldInMixin = $async$self._async_environment$_inMixin; |
|
$async$self._async_environment$_inMixin = true; |
|
$async$goto = 2; |
|
return P._asyncAwait(callback.call$0(), $async$asMixin$1); |
|
case 2: |
|
// returning from await. |
|
$async$self._async_environment$_inMixin = oldInMixin; |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$asMixin$1, $async$completer); |
|
}, |
|
scope$1$3$semiGlobal$when: function(callback, semiGlobal, when, $T) { |
|
return this.scope$body$AsyncEnvironment(callback, semiGlobal, when, $T, $T); |
|
}, |
|
scope$1$1: function(callback, $T) { |
|
return this.scope$1$3$semiGlobal$when(callback, false, true, $T); |
|
}, |
|
scope$1$2$when: function(callback, when, $T) { |
|
return this.scope$1$3$semiGlobal$when(callback, false, when, $T); |
|
}, |
|
scope$1$2$semiGlobal: function(callback, semiGlobal, $T) { |
|
return this.scope$1$3$semiGlobal$when(callback, semiGlobal, true, $T); |
|
}, |
|
scope$body$AsyncEnvironment: function(callback, semiGlobal, when, $T, $async$type) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter($async$type), |
|
$async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, wasInSemiGlobalScope, wasInSemiGlobalScope0, $name, name0, name1, t1, t2, t3, t4, t5; |
|
var $async$scope$1$3$semiGlobal$when = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) { |
|
$async$currentError = $async$result; |
|
$async$goto = $async$handler; |
|
} |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = !when ? 3 : 4; |
|
break; |
|
case 3: |
|
// then |
|
wasInSemiGlobalScope = $async$self._async_environment$_inSemiGlobalScope; |
|
$async$self._async_environment$_inSemiGlobalScope = semiGlobal; |
|
$async$handler = 5; |
|
$async$goto = 8; |
|
return P._asyncAwait(callback.call$0(), $async$scope$1$3$semiGlobal$when); |
|
case 8: |
|
// returning from await. |
|
t1 = $async$result; |
|
$async$returnValue = t1; |
|
$async$next = [1]; |
|
// goto finally |
|
$async$goto = 6; |
|
break; |
|
$async$next.push(7); |
|
// goto finally |
|
$async$goto = 6; |
|
break; |
|
case 5: |
|
// uncaught |
|
$async$next = [2]; |
|
case 6: |
|
// finally |
|
$async$handler = 2; |
|
$async$self._async_environment$_inSemiGlobalScope = wasInSemiGlobalScope; |
|
// goto the next finally handler |
|
$async$goto = $async$next.pop(); |
|
break; |
|
case 7: |
|
// after finally |
|
case 4: |
|
// join |
|
semiGlobal = semiGlobal && $async$self._async_environment$_inSemiGlobalScope; |
|
wasInSemiGlobalScope0 = $async$self._async_environment$_inSemiGlobalScope; |
|
$async$self._async_environment$_inSemiGlobalScope = semiGlobal; |
|
t1 = $async$self._async_environment$_variables; |
|
t2 = P.String; |
|
C.JSArray_methods.add$1(t1, P.LinkedHashMap_LinkedHashMap$_empty(t2, F.Value)); |
|
t3 = $async$self._async_environment$_variableNodes; |
|
if (t3 != null) |
|
C.JSArray_methods.add$1(t3, P.LinkedHashMap_LinkedHashMap$_empty(t2, B.AstNode)); |
|
t3 = $async$self._async_environment$_functions; |
|
t4 = B.AsyncCallable; |
|
C.JSArray_methods.add$1(t3, P.LinkedHashMap_LinkedHashMap$_empty(t2, t4)); |
|
t5 = $async$self._async_environment$_mixins; |
|
C.JSArray_methods.add$1(t5, P.LinkedHashMap_LinkedHashMap$_empty(t2, t4)); |
|
t4 = $async$self._async_environment$_nestedForwardedModules; |
|
if (t4 != null) |
|
C.JSArray_methods.add$1(t4, H.setRuntimeTypeInfo([], [[G.Module, B.AsyncCallable]])); |
|
$async$handler = 9; |
|
$async$goto = 12; |
|
return P._asyncAwait(callback.call$0(), $async$scope$1$3$semiGlobal$when); |
|
case 12: |
|
// returning from await. |
|
t2 = $async$result; |
|
$async$returnValue = t2; |
|
$async$next = [1]; |
|
// goto finally |
|
$async$goto = 10; |
|
break; |
|
$async$next.push(11); |
|
// goto finally |
|
$async$goto = 10; |
|
break; |
|
case 9: |
|
// uncaught |
|
$async$next = [2]; |
|
case 10: |
|
// finally |
|
$async$handler = 2; |
|
$async$self._async_environment$_inSemiGlobalScope = wasInSemiGlobalScope0; |
|
$async$self._async_environment$_lastVariableIndex = $async$self._async_environment$_lastVariableName = null; |
|
for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t1).get$keys()), t2 = $async$self._async_environment$_variableIndices; t1.moveNext$0();) { |
|
$name = t1.get$current(t1); |
|
t2.remove$1(0, $name); |
|
} |
|
for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t3).get$keys()), t2 = $async$self._async_environment$_functionIndices; t1.moveNext$0();) { |
|
name0 = t1.get$current(t1); |
|
t2.remove$1(0, name0); |
|
} |
|
for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t5).get$keys()), t2 = $async$self._async_environment$_mixinIndices; t1.moveNext$0();) { |
|
name1 = t1.get$current(t1); |
|
t2.remove$1(0, name1); |
|
} |
|
t1 = $async$self._async_environment$_nestedForwardedModules; |
|
if (t1 != null) |
|
C.JSArray_methods.removeLast$0(t1); |
|
// goto the next finally handler |
|
$async$goto = $async$next.pop(); |
|
break; |
|
case 11: |
|
// after finally |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
case 2: |
|
// rethrow |
|
return P._asyncRethrow($async$currentError, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$scope$1$3$semiGlobal$when, $async$completer); |
|
}, |
|
toImplicitConfiguration$0: function() { |
|
var t2, t3, t4, t5, i, values, nodes, t6, t7, |
|
t1 = P.String, |
|
configuration = P.LinkedHashMap_LinkedHashMap$_empty(t1, Z.ConfiguredValue); |
|
for (t2 = this._async_environment$_variables, t3 = this._async_environment$_variableNodes, t4 = t3 == null, t5 = B.AstNode, i = 0; i < t2.length; ++i) { |
|
values = t2[i]; |
|
nodes = t4 ? P.LinkedHashMap_LinkedHashMap$_empty(t1, t5) : t3[i]; |
|
for (t6 = J.get$iterator$ax(values.get$keys()); t6.moveNext$0();) { |
|
t7 = t6.get$current(t6); |
|
configuration.$indexSet(0, t7, new Z.ConfiguredValue(values.$index(0, t7), null, nodes.$index(0, t7))); |
|
} |
|
} |
|
return new A.Configuration(configuration, null, true); |
|
}, |
|
_async_environment$_getModule$1: function(namespace) { |
|
var module = this._async_environment$_modules.$index(0, namespace); |
|
if (module != null) |
|
return module; |
|
throw H.wrapException(E.SassScriptException$('There is no module with the namespace "' + namespace + '".')); |
|
}, |
|
_async_environment$_fromOneModule$1$2: function(type, callback) { |
|
var t2, value, valueInModule, t3, t4, t5, |
|
t1 = this._async_environment$_nestedForwardedModules; |
|
if (t1 != null) |
|
for (t1 = new H.ReversedListIterable(t1, [H.getTypeArgumentByIndex(t1, 0)]), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();) |
|
for (t2 = J.get$reversed$ax(t1.__internal$_current), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) { |
|
value = callback.call$1(t2.__internal$_current); |
|
if (value != null) |
|
return value; |
|
} |
|
t1 = this._async_environment$_globalModules; |
|
if (t1 == null) |
|
return; |
|
for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications), value = null; t1.moveNext$0();) { |
|
valueInModule = callback.call$1(t1._collection$_current); |
|
if (valueInModule == null) |
|
continue; |
|
if (value != null) { |
|
t1 = "This " + type + " is available from multiple global modules."; |
|
t2 = type + " use"; |
|
t3 = P.LinkedHashMap_LinkedHashMap$_empty(Y.FileSpan, P.String); |
|
for (t4 = this._async_environment$_globalModuleNodes.get$entries(), t4 = t4.get$iterator(t4); t4.moveNext$0();) { |
|
t5 = t4.get$current(t4); |
|
if (callback.call$1(t5.key) != null) |
|
t3.$indexSet(0, t5.value.get$span(), "includes " + type); |
|
} |
|
throw H.wrapException(E.MultiSpanSassScriptException$(t1, t2, t3)); |
|
} |
|
value = valueInModule; |
|
} |
|
return value; |
|
}, |
|
_async_environment$_fromOneModule$2: function(type, callback) { |
|
return this._async_environment$_fromOneModule$1$2(type, callback, null); |
|
} |
|
}; |
|
Q.AsyncEnvironment_importForwards_closure.prototype = { |
|
call$1: function(module) { |
|
return module.get$variables().get$keys(); |
|
} |
|
}; |
|
Q.AsyncEnvironment_importForwards_closure0.prototype = { |
|
call$1: function(module) { |
|
return module.get$functions(module).get$keys(); |
|
} |
|
}; |
|
Q.AsyncEnvironment_importForwards_closure1.prototype = { |
|
call$1: function(module) { |
|
return module.get$mixins().get$keys(); |
|
} |
|
}; |
|
Q.AsyncEnvironment_importForwards_closure2.prototype = { |
|
call$1: function(_) { |
|
return H.setRuntimeTypeInfo([], [[G.Module, B.AsyncCallable]]); |
|
}, |
|
$signature: 49 |
|
}; |
|
Q.AsyncEnvironment__getVariableFromGlobalModule_closure.prototype = { |
|
call$1: function(module) { |
|
return module.get$variables().$index(0, this.name); |
|
} |
|
}; |
|
Q.AsyncEnvironment_setVariable_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this; |
|
t1._async_environment$_lastVariableName = this.name; |
|
return t1._async_environment$_lastVariableIndex = 0; |
|
} |
|
}; |
|
Q.AsyncEnvironment_setVariable_closure0.prototype = { |
|
call$1: function(module) { |
|
return module.get$variables().containsKey$1(this.name) ? module : null; |
|
} |
|
}; |
|
Q.AsyncEnvironment_setVariable_closure1.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
t2 = t1._async_environment$_variableIndex$1(this.name); |
|
return t2 == null ? t1._async_environment$_variables.length - 1 : t2; |
|
} |
|
}; |
|
Q.AsyncEnvironment__getFunctionFromGlobalModule_closure.prototype = { |
|
call$1: function(module) { |
|
return module.get$functions(module).$index(0, this.name); |
|
} |
|
}; |
|
Q.AsyncEnvironment__getMixinFromGlobalModule_closure.prototype = { |
|
call$1: function(module) { |
|
return module.get$mixins().$index(0, this.name); |
|
} |
|
}; |
|
Q._EnvironmentModule0.prototype = { |
|
get$url: function() { |
|
return this.css.get$span().file.url; |
|
}, |
|
setVariable$3: function($name, value, nodeWithSpan) { |
|
var t1, t2, |
|
module = this._async_environment$_modulesByVariable.$index(0, $name); |
|
if (module != null) { |
|
module.setVariable$3($name, value, nodeWithSpan); |
|
return; |
|
} |
|
t1 = this._async_environment$_environment; |
|
t2 = t1._async_environment$_variables; |
|
if (!C.JSArray_methods.get$first(t2).containsKey$1($name)) |
|
throw H.wrapException(E.SassScriptException$("Undefined variable.")); |
|
J.$indexSet$ax(C.JSArray_methods.get$first(t2), $name, value); |
|
t1 = t1._async_environment$_variableNodes; |
|
if (t1 != null) |
|
J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, nodeWithSpan); |
|
return; |
|
}, |
|
cloneCss$0: function() { |
|
var newCssAndExtender, _this = this, |
|
t1 = _this.css; |
|
if (J.get$isEmpty$asx(t1.get$children())) |
|
return _this; |
|
newCssAndExtender = V.cloneCssStylesheet(t1, _this.extender); |
|
return Q._EnvironmentModule$_0(_this._async_environment$_environment, newCssAndExtender.item1, newCssAndExtender.item2, _this._async_environment$_modulesByVariable, _this.variables, _this.variableNodes, _this.functions, _this.mixins, _this.transitivelyContainsCss, _this.transitivelyContainsExtensions); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.css.get$span().file; |
|
return $.$get$context().prettyUri$1(t1.url); |
|
}, |
|
$isModule: 1, |
|
$asModule: function() { |
|
return [B.AsyncCallable]; |
|
}, |
|
get$upstream: function() { |
|
return this.upstream; |
|
}, |
|
get$variables: function() { |
|
return this.variables; |
|
}, |
|
get$variableNodes: function() { |
|
return this.variableNodes; |
|
}, |
|
get$functions: function(receiver) { |
|
return this.functions; |
|
}, |
|
get$mixins: function() { |
|
return this.mixins; |
|
}, |
|
get$extender: function() { |
|
return this.extender; |
|
}, |
|
get$css: function(receiver) { |
|
return this.css; |
|
}, |
|
get$transitivelyContainsCss: function() { |
|
return this.transitivelyContainsCss; |
|
}, |
|
get$transitivelyContainsExtensions: function() { |
|
return this.transitivelyContainsExtensions; |
|
} |
|
}; |
|
Q._EnvironmentModule__EnvironmentModule_closure5.prototype = { |
|
call$1: function(module) { |
|
return module.get$variables(); |
|
} |
|
}; |
|
Q._EnvironmentModule__EnvironmentModule_closure6.prototype = { |
|
call$1: function(module) { |
|
return module.get$variableNodes(); |
|
} |
|
}; |
|
Q._EnvironmentModule__EnvironmentModule_closure7.prototype = { |
|
call$1: function(module) { |
|
return module.get$functions(module); |
|
} |
|
}; |
|
Q._EnvironmentModule__EnvironmentModule_closure8.prototype = { |
|
call$1: function(module) { |
|
return module.get$mixins(); |
|
} |
|
}; |
|
Q._EnvironmentModule__EnvironmentModule_closure9.prototype = { |
|
call$1: function(module) { |
|
return module.get$transitivelyContainsCss(); |
|
} |
|
}; |
|
Q._EnvironmentModule__EnvironmentModule_closure10.prototype = { |
|
call$1: function(module) { |
|
return module.get$transitivelyContainsExtensions(); |
|
} |
|
}; |
|
O.AsyncImportCache.prototype = { |
|
canonicalize$4$baseImporter$baseUrl$forImport: function(url, baseImporter, baseUrl, forImport) { |
|
return this.canonicalize$body$AsyncImportCache(url, baseImporter, baseUrl, forImport); |
|
}, |
|
canonicalize$body$AsyncImportCache: function(url, baseImporter, baseUrl, forImport) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter([S.Tuple3, B.AsyncImporter, P.Uri, P.Uri]), |
|
$async$returnValue, $async$self = this, resolvedUrl, canonicalUrl, t1; |
|
var $async$canonicalize$4$baseImporter$baseUrl$forImport = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = baseImporter != null ? 3 : 4; |
|
break; |
|
case 3: |
|
// then |
|
resolvedUrl = baseUrl != null ? baseUrl.resolveUri$1(url) : url; |
|
$async$goto = 5; |
|
return P._asyncAwait($async$self._async_import_cache$_canonicalize$3(baseImporter, resolvedUrl, forImport), $async$canonicalize$4$baseImporter$baseUrl$forImport); |
|
case 5: |
|
// returning from await. |
|
canonicalUrl = $async$result; |
|
if (canonicalUrl != null) { |
|
t1 = P.Uri; |
|
$async$returnValue = new S.Tuple3(baseImporter, canonicalUrl, resolvedUrl, [B.AsyncImporter, t1, t1]); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
case 4: |
|
// join |
|
$async$goto = 6; |
|
return P._asyncAwait(B.putIfAbsentAsync($async$self._async_import_cache$_canonicalizeCache, new S.Tuple2(url, forImport, [P.Uri, P.bool]), new O.AsyncImportCache_canonicalize_closure($async$self, url, forImport), [S.Tuple2, P.Uri, P.bool], [S.Tuple3, B.AsyncImporter, P.Uri, P.Uri]), $async$canonicalize$4$baseImporter$baseUrl$forImport); |
|
case 6: |
|
// returning from await. |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$canonicalize$4$baseImporter$baseUrl$forImport, $async$completer); |
|
}, |
|
_async_import_cache$_canonicalize$3: function(importer, url, forImport) { |
|
return this._canonicalize$body$AsyncImportCache(importer, url, forImport); |
|
}, |
|
_canonicalize$body$AsyncImportCache: function(importer, url, forImport) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Uri), |
|
$async$returnValue, $async$self = this, result; |
|
var $async$_async_import_cache$_canonicalize$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._asyncAwait(forImport ? B.inImportRule(new O.AsyncImportCache__canonicalize_closure(importer, url)) : importer.canonicalize$1(url), $async$_async_import_cache$_canonicalize$3); |
|
case 3: |
|
// returning from await. |
|
result = $async$result; |
|
if ((result == null ? null : result.get$scheme()) === "") |
|
$async$self._async_import_cache$_logger.warn$2$deprecation("Importer " + H.S(importer) + " canonicalized " + H.S(url) + " to " + H.S(result) + ".\nRelative canonical URLs are deprecated and will eventually be disallowed.\n", true); |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_import_cache$_canonicalize$3, $async$completer); |
|
}, |
|
import$4$baseImporter$baseUrl$forImport: function(url, baseImporter, baseUrl, forImport) { |
|
return this.import$body$AsyncImportCache(url, baseImporter, baseUrl, forImport); |
|
}, |
|
import$body$AsyncImportCache: function(url, baseImporter, baseUrl, forImport) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter([S.Tuple2, B.AsyncImporter, V.Stylesheet]), |
|
$async$returnValue, $async$self = this, t1, tuple, $async$temp1, $async$temp2; |
|
var $async$import$4$baseImporter$baseUrl$forImport = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self.canonicalize$4$baseImporter$baseUrl$forImport(url, baseImporter, baseUrl, forImport), $async$import$4$baseImporter$baseUrl$forImport); |
|
case 3: |
|
// returning from await. |
|
tuple = $async$result; |
|
if (tuple == null) { |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
t1 = tuple.item1; |
|
$async$temp1 = S; |
|
$async$temp2 = t1; |
|
$async$goto = 4; |
|
return P._asyncAwait($async$self.importCanonical$3(t1, tuple.item2, tuple.item3), $async$import$4$baseImporter$baseUrl$forImport); |
|
case 4: |
|
// returning from await. |
|
$async$returnValue = new $async$temp1.Tuple2($async$temp2, $async$result, [B.AsyncImporter, V.Stylesheet]); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$import$4$baseImporter$baseUrl$forImport, $async$completer); |
|
}, |
|
importCanonical$3: function(importer, canonicalUrl, originalUrl) { |
|
return this.importCanonical$body$AsyncImportCache(importer, canonicalUrl, originalUrl); |
|
}, |
|
importCanonical$body$AsyncImportCache: function(importer, canonicalUrl, originalUrl) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(V.Stylesheet), |
|
$async$returnValue, $async$self = this; |
|
var $async$importCanonical$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._asyncAwait(B.putIfAbsentAsync($async$self._async_import_cache$_importCache, canonicalUrl, new O.AsyncImportCache_importCanonical_closure($async$self, importer, canonicalUrl, originalUrl), P.Uri, V.Stylesheet), $async$importCanonical$3); |
|
case 3: |
|
// returning from await. |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$importCanonical$3, $async$completer); |
|
}, |
|
humanize$1: function(canonicalUrl) { |
|
var t1 = this._async_import_cache$_canonicalizeCache.get$values(), |
|
t2 = H.getRuntimeTypeArgument(t1, "Iterable", 0), |
|
t3 = P.Uri, |
|
url = Y.minBy(new H.MappedIterable(new H.WhereIterable(t1, new O.AsyncImportCache_humanize_closure(canonicalUrl), [t2]), new O.AsyncImportCache_humanize_closure0(), [t2, t3]), new O.AsyncImportCache_humanize_closure1(), t3, null); |
|
if (url == null) |
|
return canonicalUrl; |
|
t1 = $.$get$url(); |
|
return url.resolve$1(X.ParsedPath_ParsedPath$parse(canonicalUrl.get$path(canonicalUrl), t1.style).get$basename()); |
|
} |
|
}; |
|
O.AsyncImportCache_canonicalize_closure.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter([S.Tuple3, B.AsyncImporter, P.Uri, P.Uri]), |
|
$async$returnValue, $async$self = this, t1, t2, t3, t4, t5, _i, importer, canonicalUrl; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this, t2 = t1._async_import_cache$_importers, t3 = t2.length, t4 = $async$self.url, t5 = $async$self.forImport, _i = 0; |
|
case 3: |
|
// for condition |
|
if (!(_i < t2.length)) { |
|
// goto after for |
|
$async$goto = 5; |
|
break; |
|
} |
|
importer = t2[_i]; |
|
$async$goto = 6; |
|
return P._asyncAwait(t1._async_import_cache$_canonicalize$3(importer, t4, t5), $async$call$0); |
|
case 6: |
|
// returning from await. |
|
canonicalUrl = $async$result; |
|
if (canonicalUrl != null) { |
|
t1 = P.Uri; |
|
$async$returnValue = new S.Tuple3(importer, canonicalUrl, t4, [B.AsyncImporter, t1, t1]); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
case 4: |
|
// for update |
|
t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i; |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 5: |
|
// after for |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
O.AsyncImportCache__canonicalize_closure.prototype = { |
|
call$0: function() { |
|
return this.importer.canonicalize$1(this.url); |
|
} |
|
}; |
|
O.AsyncImportCache_importCanonical_closure.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(V.Stylesheet), |
|
$async$returnValue, $async$self = this, t2, t3, t4, t5, t1, result; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.canonicalUrl; |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self.importer.load$1(t1), $async$call$0); |
|
case 3: |
|
// returning from await. |
|
result = $async$result; |
|
if (result == null) { |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
t2 = $async$self.$this; |
|
t2._async_import_cache$_resultsCache.$indexSet(0, t1, result); |
|
t3 = result.contents; |
|
t4 = result.syntax; |
|
t5 = $async$self.originalUrl; |
|
t1 = t5 == null ? t1 : t5.resolveUri$1(t1); |
|
$async$returnValue = V.Stylesheet_Stylesheet$parse(t3, t4, t2._async_import_cache$_logger, t1); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
O.AsyncImportCache_humanize_closure.prototype = { |
|
call$1: function(tuple) { |
|
var t1 = tuple == null ? null : tuple.item2; |
|
return J.$eq$(t1, this.canonicalUrl); |
|
} |
|
}; |
|
O.AsyncImportCache_humanize_closure0.prototype = { |
|
call$1: function(tuple) { |
|
return tuple.item3; |
|
} |
|
}; |
|
O.AsyncImportCache_humanize_closure1.prototype = { |
|
call$1: function(url) { |
|
return J.get$length$asx(J.get$path$x(url)); |
|
}, |
|
$signature: 10 |
|
}; |
|
D.Callable.prototype = {}; |
|
B.AsyncCallable.prototype = {}; |
|
S.AsyncBuiltInCallable.prototype = { |
|
callbackFor$2: function(positional, names) { |
|
return new S.Tuple2(this._async_built_in$_arguments, this._async_built_in$_callback, [B.ArgumentDeclaration, {func: 1, ret: {futureOr: 1, type: F.Value}, args: [[P.List, F.Value]]}]); |
|
}, |
|
$isAsyncCallable: 1, |
|
get$name: function() { |
|
return this.name; |
|
} |
|
}; |
|
S.AsyncBuiltInCallable$mixin_closure.prototype = { |
|
call$1: function($arguments) { |
|
return this.$call$body$AsyncBuiltInCallable$mixin_closure($arguments); |
|
}, |
|
$call$body$AsyncBuiltInCallable$mixin_closure: function($arguments) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$returnValue, $async$self = this; |
|
var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self.callback.call$1($arguments), $async$call$1); |
|
case 3: |
|
// returning from await. |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$1, $async$completer); |
|
} |
|
}; |
|
Q.BuiltInCallable.prototype = { |
|
callbackFor$2: function(positional, names) { |
|
var t1, t2, fuzzyMatch, minMismatchDistance, _i, overload, t3, mismatchDistance, t4; |
|
for (t1 = this._overloads, t2 = t1.length, fuzzyMatch = null, minMismatchDistance = null, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { |
|
overload = t1[_i]; |
|
t3 = overload.item1; |
|
if (t3.matches$2(positional, names)) |
|
return overload; |
|
mismatchDistance = t3.$arguments.length - positional; |
|
if (minMismatchDistance != null) { |
|
t3 = Math.abs(mismatchDistance); |
|
t4 = Math.abs(minMismatchDistance); |
|
if (t3 > t4) |
|
continue; |
|
if (t3 === t4 && mismatchDistance < 0) |
|
continue; |
|
} |
|
minMismatchDistance = mismatchDistance; |
|
fuzzyMatch = overload; |
|
} |
|
return fuzzyMatch; |
|
}, |
|
withName$1: function($name) { |
|
return new Q.BuiltInCallable($name, this._overloads); |
|
}, |
|
$isCallable: 1, |
|
$isAsyncCallable: 1, |
|
$isAsyncBuiltInCallable: 1, |
|
get$name: function() { |
|
return this.name; |
|
} |
|
}; |
|
Q.BuiltInCallable$mixin_closure.prototype = { |
|
call$1: function($arguments) { |
|
this.callback.call$1($arguments); |
|
return; |
|
}, |
|
$signature: 23 |
|
}; |
|
L.PlainCssCallable.prototype = { |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof L.PlainCssCallable && this.name == other.name; |
|
}, |
|
get$hashCode: function(_) { |
|
return J.get$hashCode$(this.name); |
|
}, |
|
$isCallable: 1, |
|
$isAsyncCallable: 1, |
|
get$name: function() { |
|
return this.name; |
|
} |
|
}; |
|
E.UserDefinedCallable.prototype = { |
|
get$name: function() { |
|
return this.declaration.name; |
|
}, |
|
$isCallable: 1, |
|
$isAsyncCallable: 1 |
|
}; |
|
X.closure70.prototype = { |
|
call$2: function(_, color) { |
|
return color; |
|
} |
|
}; |
|
X.closure71.prototype = { |
|
call$2: function($name, _) { |
|
return $name; |
|
} |
|
}; |
|
U._compileStylesheet_closure.prototype = { |
|
call$1: function(url) { |
|
var t1, t2, _null = null; |
|
if (url === "") |
|
t1 = J.toString$0$(P.Uri_Uri$dataFromString(P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(this.stylesheet.span.file._decodedChars, 0, _null), 0, _null), C.C_Utf8Codec, _null)); |
|
else { |
|
t1 = P.Uri_parse(url); |
|
t2 = this.importCache._resultsCache.$index(0, t1); |
|
t2 = t2 == null ? _null : t2.get$sourceMapUrl(); |
|
t1 = J.toString$0$(t2 == null ? t1 : t2); |
|
} |
|
return t1; |
|
} |
|
}; |
|
A.Configuration.prototype = { |
|
throughForward$1: function($forward) { |
|
var t3, t4, |
|
newValues = this._values, |
|
t1 = P.String, |
|
t2 = Z.ConfiguredValue; |
|
if (newValues.get$isEmpty(newValues)) |
|
return C.Configuration_Map_empty_null_true; |
|
t3 = $forward.prefix; |
|
if (t3 != null) |
|
newValues = new R.UnprefixedMapView(newValues, t3, [t2]); |
|
t3 = $forward.shownVariables; |
|
if (t3 != null) |
|
newValues = K.LimitedMapView$safelist(newValues, t3, t1, t2); |
|
else { |
|
t3 = $forward.hiddenVariables; |
|
if (t3 == null) |
|
t4 = null; |
|
else { |
|
t4 = t3._base; |
|
t4 = t4.get$isNotEmpty(t4); |
|
} |
|
if (t4 === true) |
|
newValues = K.LimitedMapView$blocklist(newValues, t3, t1, t2); |
|
} |
|
return this.isImplicit ? new A.Configuration(newValues, null, true) : new A.Configuration(newValues, this.nodeWithSpan, false); |
|
} |
|
}; |
|
Z.ConfiguredValue.prototype = {}; |
|
O.Environment.prototype = { |
|
closure$0: function() { |
|
var t7, t8, t9, _this = this, |
|
t1 = _this._globalModules, |
|
t2 = _this._globalModuleNodes, |
|
t3 = _this._forwardedModules, |
|
t4 = _this._forwardedModuleNodes, |
|
t5 = _this._nestedForwardedModules, |
|
t6 = _this._variables; |
|
t6 = H.setRuntimeTypeInfo(t6.slice(0), [H.getTypeArgumentByIndex(t6, 0)]); |
|
t7 = _this._variableNodes; |
|
if (t7 == null) |
|
t7 = null; |
|
else |
|
t7 = H.setRuntimeTypeInfo(t7.slice(0), [H.getTypeArgumentByIndex(t7, 0)]); |
|
t8 = _this._functions; |
|
t8 = H.setRuntimeTypeInfo(t8.slice(0), [H.getTypeArgumentByIndex(t8, 0)]); |
|
t9 = _this._mixins; |
|
t9 = H.setRuntimeTypeInfo(t9.slice(0), [H.getTypeArgumentByIndex(t9, 0)]); |
|
return O.Environment$_(_this._environment$_modules, _this._namespaceNodes, t1, t2, t3, t4, t5, _this._allModules, t6, t7, t8, t9, _this._content); |
|
}, |
|
addModule$3$namespace: function(module, nodeWithSpan, namespace) { |
|
var t1, t2, _this = this; |
|
if (namespace == null) { |
|
t1 = _this._globalModules; |
|
if (t1 == null) |
|
t1 = _this._globalModules = P.LinkedHashSet_LinkedHashSet$_empty([G.Module, D.Callable]); |
|
if (_this._globalModuleNodes == null) |
|
_this._globalModuleNodes = P.LinkedHashMap_LinkedHashMap$_empty([G.Module, D.Callable], B.AstNode); |
|
t1.add$1(0, module); |
|
_this._globalModuleNodes.$indexSet(0, module, nodeWithSpan); |
|
_this._allModules.push(module); |
|
for (t1 = J.get$iterator$ax(C.JSArray_methods.get$first(_this._variables).get$keys()); t1.moveNext$0();) { |
|
t2 = t1.get$current(t1); |
|
if (module.get$variables().containsKey$1(t2)) |
|
throw H.wrapException(E.SassScriptException$('This module and the new module both define a variable named "$' + H.S(t2) + '".')); |
|
} |
|
} else { |
|
t1 = _this._environment$_modules; |
|
if (t1.containsKey$1(namespace)) |
|
throw H.wrapException(E.MultiSpanSassScriptException$("There's already a module with namespace \"" + namespace + '".', "new @use", P.LinkedHashMap_LinkedHashMap$_literal([_this._namespaceNodes.$index(0, namespace).get$span(), "original @use"], Y.FileSpan, P.String))); |
|
t1.$indexSet(0, namespace, module); |
|
_this._namespaceNodes.$indexSet(0, namespace, nodeWithSpan); |
|
_this._allModules.push(module); |
|
} |
|
}, |
|
forwardModule$2: function(module, rule) { |
|
var view, t1, t2, t3, t4, t5, _i, other, _this = this; |
|
if (_this._forwardedModules == null) |
|
_this._forwardedModules = H.setRuntimeTypeInfo([], [[G.Module, D.Callable]]); |
|
if (_this._forwardedModuleNodes == null) |
|
_this._forwardedModuleNodes = P.LinkedHashMap_LinkedHashMap$_empty([G.Module, D.Callable], B.AstNode); |
|
view = R.ForwardedModuleView$(module, rule, D.Callable); |
|
for (t1 = _this._forwardedModules, t2 = t1.length, t3 = view.variables, t4 = view.functions, t5 = view.mixins, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { |
|
other = t1[_i]; |
|
_this._assertNoConflicts$5(t3, other.get$variables(), "variable", other, rule); |
|
_this._assertNoConflicts$5(t4, J.get$functions$x(other), "function", other, rule); |
|
_this._assertNoConflicts$5(t5, other.get$mixins(), "mixin", other, rule); |
|
} |
|
_this._allModules.push(module); |
|
_this._forwardedModules.push(view); |
|
_this._forwardedModuleNodes.$indexSet(0, view, rule); |
|
}, |
|
_assertNoConflicts$5: function(newMembers, oldMembers, type, other, newModuleNodeWithSpan) { |
|
var larger, smaller, t1, $name; |
|
if (newMembers.get$length(newMembers) < oldMembers.get$length(oldMembers)) { |
|
larger = oldMembers; |
|
smaller = newMembers; |
|
} else { |
|
larger = newMembers; |
|
smaller = oldMembers; |
|
} |
|
for (t1 = J.get$iterator$ax(smaller.get$keys()); t1.moveNext$0();) { |
|
$name = t1.get$current(t1); |
|
if (larger.containsKey$1($name)) { |
|
if (type === "variable") |
|
$name = "$" + H.S($name); |
|
throw H.wrapException(E.MultiSpanSassScriptException$("Two forwarded modules both define a " + type + " named " + H.S($name) + ".", "new @forward", P.LinkedHashMap_LinkedHashMap$_literal([this._forwardedModuleNodes.$index(0, other).get$span(), "original @forward"], Y.FileSpan, P.String))); |
|
} |
|
} |
|
}, |
|
importForwards$1: function(module) { |
|
var t2, t3, forwardedVariableNames, forwardedFunctionNames, forwardedMixinNames, t4, t5, _i, shadowed, t6, i, _this = this, |
|
t1 = module._environment, |
|
forwarded = t1._forwardedModules; |
|
if (forwarded == null) |
|
return; |
|
if (_this._globalModules == null) |
|
_this._globalModules = P.LinkedHashSet_LinkedHashSet$_empty([G.Module, D.Callable]); |
|
if (_this._globalModuleNodes == null) |
|
_this._globalModuleNodes = P.LinkedHashMap_LinkedHashMap$_empty([G.Module, D.Callable], B.AstNode); |
|
if (_this._forwardedModules == null) |
|
_this._forwardedModules = H.setRuntimeTypeInfo([], [[G.Module, D.Callable]]); |
|
if (_this._forwardedModuleNodes == null) |
|
_this._forwardedModuleNodes = P.LinkedHashMap_LinkedHashMap$_empty([G.Module, D.Callable], B.AstNode); |
|
t2 = P.String; |
|
t3 = [H.getTypeArgumentByIndex(forwarded, 0), t2]; |
|
forwardedVariableNames = P.LinkedHashSet_LinkedHashSet$from(new H.ExpandIterable(forwarded, new O.Environment_importForwards_closure(), t3), t2); |
|
forwardedFunctionNames = P.LinkedHashSet_LinkedHashSet$from(new H.ExpandIterable(forwarded, new O.Environment_importForwards_closure0(), t3), t2); |
|
forwardedMixinNames = P.LinkedHashSet_LinkedHashSet$from(new H.ExpandIterable(forwarded, new O.Environment_importForwards_closure1(), t3), t2); |
|
t2 = _this._variables; |
|
t3 = t2.length; |
|
if (t3 === 1) { |
|
for (t3 = _this._globalModules.toList$0(0), t4 = t3.length, t5 = D.Callable, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i) { |
|
module = t3[_i]; |
|
shadowed = B.ShadowedModuleView_ifNecessary(module, forwardedFunctionNames, forwardedMixinNames, forwardedVariableNames, t5); |
|
if (shadowed != null) { |
|
_this._globalModules.remove$1(0, module); |
|
_this._globalModules.add$1(0, shadowed); |
|
t6 = _this._globalModuleNodes; |
|
t6.$indexSet(0, shadowed, t6.remove$1(0, module)); |
|
} |
|
} |
|
for (i = 0; t3 = _this._forwardedModules, i < t3.length; ++i) { |
|
module = t3[i]; |
|
shadowed = B.ShadowedModuleView_ifNecessary(module, forwardedFunctionNames, forwardedMixinNames, forwardedVariableNames, t5); |
|
if (shadowed != null) { |
|
_this._forwardedModules[i] = shadowed; |
|
t3 = _this._forwardedModuleNodes; |
|
t3.$indexSet(0, shadowed, t3.remove$1(0, module)); |
|
} |
|
} |
|
_this._globalModules.addAll$1(0, forwarded); |
|
_this._globalModuleNodes.addAll$1(0, t1._forwardedModuleNodes); |
|
t3 = _this._forwardedModules; |
|
(t3 && C.JSArray_methods).addAll$1(t3, forwarded); |
|
_this._forwardedModuleNodes.addAll$1(0, t1._forwardedModuleNodes); |
|
} else { |
|
t1 = _this._nestedForwardedModules; |
|
J.addAll$1$ax(C.JSArray_methods.get$last(t1 == null ? _this._nestedForwardedModules = P.List_List$generate(t3 - 1, new O.Environment_importForwards_closure2(), true, [P.List, [G.Module, D.Callable]]) : t1), forwarded); |
|
} |
|
for (t1 = P._LinkedHashSetIterator$(forwardedVariableNames, forwardedVariableNames._collection$_modifications), t3 = _this._variableNodes, t4 = t3 != null, t5 = _this._variableIndices; t1.moveNext$0();) { |
|
t6 = t1._collection$_current; |
|
t5.remove$1(0, t6); |
|
J.remove$1$ax(C.JSArray_methods.get$last(t2), t6); |
|
if (t4) |
|
J.remove$1$ax(C.JSArray_methods.get$last(t3), t6); |
|
} |
|
for (t1 = P._LinkedHashSetIterator$(forwardedFunctionNames, forwardedFunctionNames._collection$_modifications), t2 = _this._functionIndices, t3 = _this._functions; t1.moveNext$0();) { |
|
t4 = t1._collection$_current; |
|
t2.remove$1(0, t4); |
|
J.remove$1$ax(C.JSArray_methods.get$last(t3), t4); |
|
} |
|
for (t1 = P._LinkedHashSetIterator$(forwardedMixinNames, forwardedMixinNames._collection$_modifications), t2 = _this._mixinIndices, t3 = _this._mixins; t1.moveNext$0();) { |
|
t4 = t1._collection$_current; |
|
t2.remove$1(0, t4); |
|
J.remove$1$ax(C.JSArray_methods.get$last(t3), t4); |
|
} |
|
}, |
|
getVariable$2$namespace: function($name, namespace) { |
|
var t1, index, _this = this; |
|
if (namespace != null) |
|
return _this._getModule$1(namespace).get$variables().$index(0, $name); |
|
if (_this._lastVariableName === $name) { |
|
t1 = J.$index$asx(_this._variables[_this._lastVariableIndex], $name); |
|
return t1 == null ? _this._getVariableFromGlobalModule$1($name) : t1; |
|
} |
|
t1 = _this._variableIndices; |
|
index = t1.$index(0, $name); |
|
if (index != null) { |
|
_this._lastVariableName = $name; |
|
_this._lastVariableIndex = index; |
|
t1 = J.$index$asx(_this._variables[index], $name); |
|
return t1 == null ? _this._getVariableFromGlobalModule$1($name) : t1; |
|
} |
|
index = _this._variableIndex$1($name); |
|
if (index == null) |
|
return _this._getVariableFromGlobalModule$1($name); |
|
_this._lastVariableName = $name; |
|
_this._lastVariableIndex = index; |
|
t1.$indexSet(0, $name, index); |
|
t1 = J.$index$asx(_this._variables[index], $name); |
|
return t1 == null ? _this._getVariableFromGlobalModule$1($name) : t1; |
|
}, |
|
getVariable$1: function($name) { |
|
return this.getVariable$2$namespace($name, null); |
|
}, |
|
_getVariableFromGlobalModule$1: function($name) { |
|
return this._fromOneModule$2("variable", new O.Environment__getVariableFromGlobalModule_closure($name)); |
|
}, |
|
getVariableNode$2$namespace: function($name, namespace) { |
|
var t1, index, _this = this; |
|
if (namespace != null) |
|
return _this._getModule$1(namespace).get$variableNodes().$index(0, $name); |
|
if (_this._lastVariableName === $name) { |
|
t1 = J.$index$asx(_this._variableNodes[_this._lastVariableIndex], $name); |
|
return t1 == null ? _this._getVariableNodeFromGlobalModule$1($name) : t1; |
|
} |
|
t1 = _this._variableIndices; |
|
index = t1.$index(0, $name); |
|
if (index != null) { |
|
_this._lastVariableName = $name; |
|
_this._lastVariableIndex = index; |
|
t1 = J.$index$asx(_this._variableNodes[index], $name); |
|
return t1 == null ? _this._getVariableNodeFromGlobalModule$1($name) : t1; |
|
} |
|
index = _this._variableIndex$1($name); |
|
if (index == null) |
|
return _this._getVariableNodeFromGlobalModule$1($name); |
|
_this._lastVariableName = $name; |
|
_this._lastVariableIndex = index; |
|
t1.$indexSet(0, $name, index); |
|
t1 = J.$index$asx(_this._variableNodes[index], $name); |
|
return t1 == null ? _this._getVariableNodeFromGlobalModule$1($name) : t1; |
|
}, |
|
_getVariableNodeFromGlobalModule$1: function($name) { |
|
var t1, value; |
|
this._lastVariableName = $name; |
|
this._lastVariableIndex = 0; |
|
t1 = this._globalModules; |
|
if (t1 == null) |
|
return; |
|
for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications); t1.moveNext$0();) { |
|
value = t1._collection$_current.get$variableNodes().$index(0, $name); |
|
if (value != null) |
|
return value; |
|
} |
|
return; |
|
}, |
|
globalVariableExists$2$namespace: function($name, namespace) { |
|
if (namespace != null) |
|
return this._getModule$1(namespace).get$variables().containsKey$1($name); |
|
if (C.JSArray_methods.get$first(this._variables).containsKey$1($name)) |
|
return true; |
|
return this._getVariableFromGlobalModule$1($name) != null; |
|
}, |
|
globalVariableExists$1: function($name) { |
|
return this.globalVariableExists$2$namespace($name, null); |
|
}, |
|
_variableIndex$1: function($name) { |
|
var t1, i; |
|
for (t1 = this._variables, i = t1.length - 1; i >= 0; --i) |
|
if (t1[i].containsKey$1($name)) |
|
return i; |
|
return; |
|
}, |
|
setVariable$5$global$namespace: function($name, value, nodeWithSpan, global, namespace) { |
|
var t1, moduleWithName, t2, t3, index, _this = this; |
|
if (namespace != null) { |
|
_this._getModule$1(namespace).setVariable$3($name, value, nodeWithSpan); |
|
return; |
|
} |
|
if (global || _this._variables.length === 1) { |
|
_this._variableIndices.putIfAbsent$2($name, new O.Environment_setVariable_closure(_this, $name)); |
|
t1 = _this._variables; |
|
if (!C.JSArray_methods.get$first(t1).containsKey$1($name) && _this._globalModules != null) { |
|
moduleWithName = _this._fromOneModule$2("variable", new O.Environment_setVariable_closure0($name)); |
|
if (moduleWithName != null) { |
|
moduleWithName.setVariable$3($name, value, nodeWithSpan); |
|
return; |
|
} |
|
} |
|
J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, value); |
|
t1 = _this._variableNodes; |
|
if (t1 != null) |
|
J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, nodeWithSpan); |
|
return; |
|
} |
|
if (_this._nestedForwardedModules != null && !_this._variableIndices.containsKey$1($name) && _this._variableIndex$1($name) == null) |
|
for (t1 = _this._nestedForwardedModules, t1.toString, t1 = new H.ReversedListIterable(t1, [H.getTypeArgumentByIndex(t1, 0)]), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();) |
|
for (t2 = J.get$reversed$ax(t1.__internal$_current), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) { |
|
t3 = t2.__internal$_current; |
|
if (t3.get$variables().containsKey$1($name)) { |
|
t3.setVariable$3($name, value, nodeWithSpan); |
|
return; |
|
} |
|
} |
|
index = _this._lastVariableName === $name ? _this._lastVariableIndex : _this._variableIndices.putIfAbsent$2($name, new O.Environment_setVariable_closure1(_this, $name)); |
|
if (!_this._inSemiGlobalScope && index === 0) { |
|
index = _this._variables.length - 1; |
|
_this._variableIndices.$indexSet(0, $name, index); |
|
} |
|
_this._lastVariableName = $name; |
|
_this._lastVariableIndex = index; |
|
J.$indexSet$ax(_this._variables[index], $name, value); |
|
t1 = _this._variableNodes; |
|
if (t1 != null) |
|
J.$indexSet$ax(t1[index], $name, nodeWithSpan); |
|
}, |
|
setVariable$4$global: function($name, value, nodeWithSpan, global) { |
|
return this.setVariable$5$global$namespace($name, value, nodeWithSpan, global, null); |
|
}, |
|
setLocalVariable$3: function($name, value, nodeWithSpan) { |
|
var index, _this = this, |
|
t1 = _this._variables, |
|
t2 = t1.length; |
|
_this._lastVariableName = $name; |
|
index = _this._lastVariableIndex = t2 - 1; |
|
_this._variableIndices.$indexSet(0, $name, index); |
|
J.$indexSet$ax(t1[index], $name, value); |
|
t1 = _this._variableNodes; |
|
if (t1 != null) |
|
J.$indexSet$ax(t1[index], $name, nodeWithSpan); |
|
}, |
|
getFunction$2$namespace: function($name, namespace) { |
|
var t1, index, _this = this; |
|
if (namespace != null) { |
|
t1 = _this._getModule$1(namespace); |
|
return t1.get$functions(t1).$index(0, $name); |
|
} |
|
t1 = _this._functionIndices; |
|
index = t1.$index(0, $name); |
|
if (index != null) { |
|
t1 = J.$index$asx(_this._functions[index], $name); |
|
return t1 == null ? _this._getFunctionFromGlobalModule$1($name) : t1; |
|
} |
|
index = _this._functionIndex$1($name); |
|
if (index == null) |
|
return _this._getFunctionFromGlobalModule$1($name); |
|
t1.$indexSet(0, $name, index); |
|
t1 = J.$index$asx(_this._functions[index], $name); |
|
return t1 == null ? _this._getFunctionFromGlobalModule$1($name) : t1; |
|
}, |
|
_getFunctionFromGlobalModule$1: function($name) { |
|
return this._fromOneModule$2("function", new O.Environment__getFunctionFromGlobalModule_closure($name)); |
|
}, |
|
_functionIndex$1: function($name) { |
|
var t1, i; |
|
for (t1 = this._functions, i = t1.length - 1; i >= 0; --i) |
|
if (t1[i].containsKey$1($name)) |
|
return i; |
|
return; |
|
}, |
|
getMixin$2$namespace: function($name, namespace) { |
|
var t1, index, _this = this; |
|
if (namespace != null) |
|
return _this._getModule$1(namespace).get$mixins().$index(0, $name); |
|
t1 = _this._mixinIndices; |
|
index = t1.$index(0, $name); |
|
if (index != null) { |
|
t1 = J.$index$asx(_this._mixins[index], $name); |
|
return t1 == null ? _this._getMixinFromGlobalModule$1($name) : t1; |
|
} |
|
index = _this._mixinIndex$1($name); |
|
if (index == null) |
|
return _this._getMixinFromGlobalModule$1($name); |
|
t1.$indexSet(0, $name, index); |
|
t1 = J.$index$asx(_this._mixins[index], $name); |
|
return t1 == null ? _this._getMixinFromGlobalModule$1($name) : t1; |
|
}, |
|
_getMixinFromGlobalModule$1: function($name) { |
|
return this._fromOneModule$2("mixin", new O.Environment__getMixinFromGlobalModule_closure($name)); |
|
}, |
|
_mixinIndex$1: function($name) { |
|
var t1, i; |
|
for (t1 = this._mixins, i = t1.length - 1; i >= 0; --i) |
|
if (t1[i].containsKey$1($name)) |
|
return i; |
|
return; |
|
}, |
|
scope$1$3$semiGlobal$when: function(callback, semiGlobal, when) { |
|
var wasInSemiGlobalScope, wasInSemiGlobalScope0, $name, name0, name1, t1, t2, t3, t4, t5, _this = this; |
|
if (!when) { |
|
wasInSemiGlobalScope = _this._inSemiGlobalScope; |
|
_this._inSemiGlobalScope = semiGlobal; |
|
try { |
|
t1 = callback.call$0(); |
|
return t1; |
|
} finally { |
|
_this._inSemiGlobalScope = wasInSemiGlobalScope; |
|
} |
|
} |
|
semiGlobal = semiGlobal && _this._inSemiGlobalScope; |
|
wasInSemiGlobalScope0 = _this._inSemiGlobalScope; |
|
_this._inSemiGlobalScope = semiGlobal; |
|
t1 = _this._variables; |
|
t2 = P.String; |
|
C.JSArray_methods.add$1(t1, P.LinkedHashMap_LinkedHashMap$_empty(t2, F.Value)); |
|
t3 = _this._variableNodes; |
|
if (t3 != null) |
|
C.JSArray_methods.add$1(t3, P.LinkedHashMap_LinkedHashMap$_empty(t2, B.AstNode)); |
|
t3 = _this._functions; |
|
t4 = D.Callable; |
|
C.JSArray_methods.add$1(t3, P.LinkedHashMap_LinkedHashMap$_empty(t2, t4)); |
|
t5 = _this._mixins; |
|
C.JSArray_methods.add$1(t5, P.LinkedHashMap_LinkedHashMap$_empty(t2, t4)); |
|
t4 = _this._nestedForwardedModules; |
|
if (t4 != null) |
|
C.JSArray_methods.add$1(t4, H.setRuntimeTypeInfo([], [[G.Module, D.Callable]])); |
|
try { |
|
t2 = callback.call$0(); |
|
return t2; |
|
} finally { |
|
_this._inSemiGlobalScope = wasInSemiGlobalScope0; |
|
_this._lastVariableIndex = _this._lastVariableName = null; |
|
for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t1).get$keys()), t2 = _this._variableIndices; t1.moveNext$0();) { |
|
$name = t1.get$current(t1); |
|
t2.remove$1(0, $name); |
|
} |
|
for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t3).get$keys()), t2 = _this._functionIndices; t1.moveNext$0();) { |
|
name0 = t1.get$current(t1); |
|
t2.remove$1(0, name0); |
|
} |
|
for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t5).get$keys()), t2 = _this._mixinIndices; t1.moveNext$0();) { |
|
name1 = t1.get$current(t1); |
|
t2.remove$1(0, name1); |
|
} |
|
t1 = _this._nestedForwardedModules; |
|
if (t1 != null) |
|
C.JSArray_methods.removeLast$0(t1); |
|
} |
|
}, |
|
scope$1$1: function(callback, $T) { |
|
return this.scope$1$3$semiGlobal$when(callback, false, true, $T); |
|
}, |
|
scope$1$2$when: function(callback, when, $T) { |
|
return this.scope$1$3$semiGlobal$when(callback, false, when, $T); |
|
}, |
|
scope$1$2$semiGlobal: function(callback, semiGlobal, $T) { |
|
return this.scope$1$3$semiGlobal$when(callback, semiGlobal, true, $T); |
|
}, |
|
toImplicitConfiguration$0: function() { |
|
var t2, t3, t4, t5, i, values, nodes, t6, t7, |
|
t1 = P.String, |
|
configuration = P.LinkedHashMap_LinkedHashMap$_empty(t1, Z.ConfiguredValue); |
|
for (t2 = this._variables, t3 = this._variableNodes, t4 = t3 == null, t5 = B.AstNode, i = 0; i < t2.length; ++i) { |
|
values = t2[i]; |
|
nodes = t4 ? P.LinkedHashMap_LinkedHashMap$_empty(t1, t5) : t3[i]; |
|
for (t6 = J.get$iterator$ax(values.get$keys()); t6.moveNext$0();) { |
|
t7 = t6.get$current(t6); |
|
configuration.$indexSet(0, t7, new Z.ConfiguredValue(values.$index(0, t7), null, nodes.$index(0, t7))); |
|
} |
|
} |
|
return new A.Configuration(configuration, null, true); |
|
}, |
|
_getModule$1: function(namespace) { |
|
var module = this._environment$_modules.$index(0, namespace); |
|
if (module != null) |
|
return module; |
|
throw H.wrapException(E.SassScriptException$('There is no module with the namespace "' + namespace + '".')); |
|
}, |
|
_fromOneModule$1$2: function(type, callback) { |
|
var t2, value, valueInModule, t3, t4, t5, |
|
t1 = this._nestedForwardedModules; |
|
if (t1 != null) |
|
for (t1 = new H.ReversedListIterable(t1, [H.getTypeArgumentByIndex(t1, 0)]), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();) |
|
for (t2 = J.get$reversed$ax(t1.__internal$_current), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) { |
|
value = callback.call$1(t2.__internal$_current); |
|
if (value != null) |
|
return value; |
|
} |
|
t1 = this._globalModules; |
|
if (t1 == null) |
|
return; |
|
for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications), value = null; t1.moveNext$0();) { |
|
valueInModule = callback.call$1(t1._collection$_current); |
|
if (valueInModule == null) |
|
continue; |
|
if (value != null) { |
|
t1 = "This " + type + " is available from multiple global modules."; |
|
t2 = type + " use"; |
|
t3 = P.LinkedHashMap_LinkedHashMap$_empty(Y.FileSpan, P.String); |
|
for (t4 = this._globalModuleNodes.get$entries(), t4 = t4.get$iterator(t4); t4.moveNext$0();) { |
|
t5 = t4.get$current(t4); |
|
if (callback.call$1(t5.key) != null) |
|
t3.$indexSet(0, t5.value.get$span(), "includes " + type); |
|
} |
|
throw H.wrapException(E.MultiSpanSassScriptException$(t1, t2, t3)); |
|
} |
|
value = valueInModule; |
|
} |
|
return value; |
|
}, |
|
_fromOneModule$2: function(type, callback) { |
|
return this._fromOneModule$1$2(type, callback, null); |
|
} |
|
}; |
|
O.Environment_importForwards_closure.prototype = { |
|
call$1: function(module) { |
|
return module.get$variables().get$keys(); |
|
} |
|
}; |
|
O.Environment_importForwards_closure0.prototype = { |
|
call$1: function(module) { |
|
return module.get$functions(module).get$keys(); |
|
} |
|
}; |
|
O.Environment_importForwards_closure1.prototype = { |
|
call$1: function(module) { |
|
return module.get$mixins().get$keys(); |
|
} |
|
}; |
|
O.Environment_importForwards_closure2.prototype = { |
|
call$1: function(_) { |
|
return H.setRuntimeTypeInfo([], [[G.Module, D.Callable]]); |
|
}, |
|
$signature: 61 |
|
}; |
|
O.Environment__getVariableFromGlobalModule_closure.prototype = { |
|
call$1: function(module) { |
|
return module.get$variables().$index(0, this.name); |
|
} |
|
}; |
|
O.Environment_setVariable_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this; |
|
t1._lastVariableName = this.name; |
|
return t1._lastVariableIndex = 0; |
|
} |
|
}; |
|
O.Environment_setVariable_closure0.prototype = { |
|
call$1: function(module) { |
|
return module.get$variables().containsKey$1(this.name) ? module : null; |
|
} |
|
}; |
|
O.Environment_setVariable_closure1.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
t2 = t1._variableIndex$1(this.name); |
|
return t2 == null ? t1._variables.length - 1 : t2; |
|
} |
|
}; |
|
O.Environment__getFunctionFromGlobalModule_closure.prototype = { |
|
call$1: function(module) { |
|
return module.get$functions(module).$index(0, this.name); |
|
} |
|
}; |
|
O.Environment__getMixinFromGlobalModule_closure.prototype = { |
|
call$1: function(module) { |
|
return module.get$mixins().$index(0, this.name); |
|
} |
|
}; |
|
O._EnvironmentModule.prototype = { |
|
get$url: function() { |
|
return this.css.get$span().file.url; |
|
}, |
|
setVariable$3: function($name, value, nodeWithSpan) { |
|
var t1, t2, |
|
module = this._modulesByVariable.$index(0, $name); |
|
if (module != null) { |
|
module.setVariable$3($name, value, nodeWithSpan); |
|
return; |
|
} |
|
t1 = this._environment; |
|
t2 = t1._variables; |
|
if (!C.JSArray_methods.get$first(t2).containsKey$1($name)) |
|
throw H.wrapException(E.SassScriptException$("Undefined variable.")); |
|
J.$indexSet$ax(C.JSArray_methods.get$first(t2), $name, value); |
|
t1 = t1._variableNodes; |
|
if (t1 != null) |
|
J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, nodeWithSpan); |
|
return; |
|
}, |
|
cloneCss$0: function() { |
|
var newCssAndExtender, _this = this, |
|
t1 = _this.css; |
|
if (J.get$isEmpty$asx(t1.get$children())) |
|
return _this; |
|
newCssAndExtender = V.cloneCssStylesheet(t1, _this.extender); |
|
return O._EnvironmentModule$_(_this._environment, newCssAndExtender.item1, newCssAndExtender.item2, _this._modulesByVariable, _this.variables, _this.variableNodes, _this.functions, _this.mixins, _this.transitivelyContainsCss, _this.transitivelyContainsExtensions); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.css.get$span().file; |
|
return $.$get$context().prettyUri$1(t1.url); |
|
}, |
|
$isModule: 1, |
|
$asModule: function() { |
|
return [D.Callable]; |
|
}, |
|
get$upstream: function() { |
|
return this.upstream; |
|
}, |
|
get$variables: function() { |
|
return this.variables; |
|
}, |
|
get$variableNodes: function() { |
|
return this.variableNodes; |
|
}, |
|
get$functions: function(receiver) { |
|
return this.functions; |
|
}, |
|
get$mixins: function() { |
|
return this.mixins; |
|
}, |
|
get$extender: function() { |
|
return this.extender; |
|
}, |
|
get$css: function(receiver) { |
|
return this.css; |
|
}, |
|
get$transitivelyContainsCss: function() { |
|
return this.transitivelyContainsCss; |
|
}, |
|
get$transitivelyContainsExtensions: function() { |
|
return this.transitivelyContainsExtensions; |
|
} |
|
}; |
|
O._EnvironmentModule__EnvironmentModule_closure.prototype = { |
|
call$1: function(module) { |
|
return module.get$variables(); |
|
} |
|
}; |
|
O._EnvironmentModule__EnvironmentModule_closure0.prototype = { |
|
call$1: function(module) { |
|
return module.get$variableNodes(); |
|
} |
|
}; |
|
O._EnvironmentModule__EnvironmentModule_closure1.prototype = { |
|
call$1: function(module) { |
|
return module.get$functions(module); |
|
} |
|
}; |
|
O._EnvironmentModule__EnvironmentModule_closure2.prototype = { |
|
call$1: function(module) { |
|
return module.get$mixins(); |
|
} |
|
}; |
|
O._EnvironmentModule__EnvironmentModule_closure3.prototype = { |
|
call$1: function(module) { |
|
return module.get$transitivelyContainsCss(); |
|
} |
|
}; |
|
O._EnvironmentModule__EnvironmentModule_closure4.prototype = { |
|
call$1: function(module) { |
|
return module.get$transitivelyContainsExtensions(); |
|
} |
|
}; |
|
E.SassException.prototype = { |
|
get$trace: function() { |
|
var t1 = A.Frame; |
|
return new Y.Trace(P.List_List$unmodifiable(H.setRuntimeTypeInfo([B.frameForSpan(G.SourceSpanException.prototype.get$span.call(this), "root stylesheet", null)], [t1]), t1), new P._StringStackTrace(null)); |
|
}, |
|
get$span: function() { |
|
return G.SourceSpanException.prototype.get$span.call(this); |
|
}, |
|
toString$1$color: function(_, color) { |
|
var t2, _i, frame, t3, |
|
buffer = new P.StringBuffer(""), |
|
t1 = "Error: " + H.S(this._span_exception$_message) + "\n"; |
|
buffer._contents = t1; |
|
buffer._contents = t1 + G.SourceSpanException.prototype.get$span.call(this).highlight$1$color(color); |
|
for (t1 = this.get$trace().toString$0(0).split("\n"), t2 = t1.length, _i = 0; _i < t2; ++_i) { |
|
frame = t1[_i]; |
|
if (J.get$length$asx(frame) === 0) |
|
continue; |
|
t3 = buffer._contents += "\n"; |
|
buffer._contents = t3 + (" " + H.S(frame)); |
|
} |
|
t1 = buffer._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
toString$0: function($receiver) { |
|
return this.toString$1$color($receiver, null); |
|
}, |
|
toCssString$0: function() { |
|
var stringMessage, rune, |
|
t1 = $._glyphs, |
|
t2 = $._glyphs = C.C_AsciiGlyphSet, |
|
t3 = this.toString$1$color(0, false), |
|
commentMessage = H.stringReplaceAllUnchecked(t3, "*/", "*\u2215"); |
|
$._glyphs = t1 === C.C_AsciiGlyphSet ? t2 : C.C_UnicodeGlyphSet; |
|
stringMessage = new P.StringBuffer(""); |
|
for (t1 = new P.RuneIterator(N.serializeValue(new D.SassString(this.toString$1$color(0, false), true), true, true)); t1.moveNext$0();) { |
|
rune = t1._currentCodePoint; |
|
if (rune > 255) { |
|
stringMessage._contents += H.Primitives_stringFromCharCode(92); |
|
stringMessage._contents += C.JSInt_methods.toRadixString$1(rune, 16); |
|
t2 = stringMessage._contents += H.Primitives_stringFromCharCode(32); |
|
} else |
|
t2 = stringMessage._contents += H.Primitives_stringFromCharCode(rune); |
|
} |
|
return "/* " + C.JSArray_methods.join$1(H.setRuntimeTypeInfo(commentMessage.split("\n"), [P.String]), "\n * ") + ' */\n\nbody::before {\n font-family: "Source Code Pro", "SF Mono", Monaco, Inconsolata, "Fira Mono",\n "Droid Sans Mono", monospace, monospace;\n white-space: pre;\n display: block;\n padding: 1em;\n margin-bottom: 1em;\n border-bottom: 2px solid black;\n content: ' + stringMessage.toString$0(0) + ";\n}"; |
|
} |
|
}; |
|
E.MultiSpanSassException.prototype = { |
|
toString$1$color: function(_, color) { |
|
var t2, _i, frame, t3, _this = this, |
|
useColor = color === true && true, |
|
buffer = new P.StringBuffer(""), |
|
t1 = "Error: " + H.S(_this._span_exception$_message) + "\n"; |
|
buffer._contents = t1; |
|
buffer._contents = t1 + U.Highlighter$multiple(G.SourceSpanException.prototype.get$span.call(_this), _this.primaryLabel, _this.secondarySpans, useColor, null, null).highlight$0(); |
|
for (t1 = _this.get$trace().toString$0(0).split("\n"), t2 = t1.length, _i = 0; _i < t2; ++_i) { |
|
frame = t1[_i]; |
|
if (J.get$length$asx(frame) === 0) |
|
continue; |
|
t3 = buffer._contents += "\n"; |
|
buffer._contents = t3 + (" " + H.S(frame)); |
|
} |
|
t1 = buffer._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
toString$0: function($receiver) { |
|
return this.toString$1$color($receiver, null); |
|
} |
|
}; |
|
E.SassRuntimeException.prototype = { |
|
get$trace: function() { |
|
return this.trace; |
|
} |
|
}; |
|
E.MultiSpanSassRuntimeException.prototype = {$isSassRuntimeException: 1, |
|
get$trace: function() { |
|
return this.trace; |
|
} |
|
}; |
|
E.SassFormatException.prototype = { |
|
get$source: function() { |
|
return P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(G.SourceSpanException.prototype.get$span.call(this).file._decodedChars, 0, null), 0, null); |
|
}, |
|
$isFormatException: 1, |
|
$isSourceSpanFormatException: 1 |
|
}; |
|
E.SassScriptException.prototype = { |
|
toString$0: function(_) { |
|
return this.message + "\n\nBUG: This should include a source span!"; |
|
}, |
|
get$message: function(receiver) { |
|
return this.message; |
|
} |
|
}; |
|
E.MultiSpanSassScriptException.prototype = {}; |
|
F.main_printError.prototype = { |
|
call$2: function(error, stackTrace) { |
|
var t1 = this._box_0; |
|
if (t1.printedError) |
|
$.$get$stderr().writeln$0(); |
|
t1.printedError = true; |
|
t1 = $.$get$stderr(); |
|
t1.writeln$1(error); |
|
if (stackTrace != null) { |
|
t1.writeln$0(); |
|
t1.writeln$1(C.JSString_methods.trimRight$0(Y.Trace_Trace$from(stackTrace).get$terse().toString$0(0))); |
|
} |
|
} |
|
}; |
|
F.main_closure0.prototype = { |
|
call$0: function() { |
|
var t1, exception; |
|
try { |
|
t1 = this.destination; |
|
if (t1 != null && !this._box_0.options.get$emitErrorCss()) |
|
B.deleteFile(t1); |
|
} catch (exception) { |
|
if (!(H.unwrapException(exception) instanceof B.FileSystemException)) |
|
throw exception; |
|
} |
|
} |
|
}; |
|
D._writeSourceMap_closure.prototype = { |
|
call$1: function(url) { |
|
return J.toString$0$(this.options.sourceMapUrl$2(P.Uri_parse(url), this.destination)); |
|
} |
|
}; |
|
B.ExecutableOptions.prototype = { |
|
get$interactive: function() { |
|
var t2, invalidOptions, _i, option, |
|
t1 = this._interactive; |
|
if (t1 != null) |
|
return t1; |
|
t1 = this._options; |
|
t2 = H.boolTypeCast(t1.$index(0, "interactive")); |
|
this._interactive = t2; |
|
if (!t2) |
|
return false; |
|
invalidOptions = ["stdin", "indented", "style", "source-map", "source-map-urls", "embed-sources", "embed-source-map", "update", "watch"]; |
|
for (t2 = t1._parser.options._collection$_map, _i = 0; _i < 9; ++_i) { |
|
option = invalidOptions[_i]; |
|
if (t2.$index(0, option) == null) |
|
H.throwExpression(P.ArgumentError$('Could not find an option named "' + option + '".')); |
|
if (t1._parsed.containsKey$1(option)) |
|
throw H.wrapException(B.UsageException$("--" + option + " isn't allowed with --interactive.")); |
|
} |
|
return true; |
|
}, |
|
get$color: function() { |
|
var t1 = this._options; |
|
if (t1.wasParsed$1("color")) |
|
t1 = H.boolTypeCast(t1.$index(0, "color")); |
|
else { |
|
t1 = self.process.stdout.isTTY; |
|
if (t1 == null) |
|
t1 = false; |
|
} |
|
return t1; |
|
}, |
|
get$emitErrorCss: function() { |
|
var t1 = H.boolTypeCast(this._options.$index(0, "error-css")); |
|
if (t1 == null) { |
|
this._ensureSources$0(); |
|
t1 = this._sourcesToDestinations.get$values().any$1(0, new B.ExecutableOptions_emitErrorCss_closure()); |
|
} |
|
return t1; |
|
}, |
|
_ensureSources$0: function() { |
|
var t1, stdin, t2, t3, $directories, t4, colonArgs, positionalArgs, t5, t6, t7, message, target, source, destination, seen, i, t8, t9, _this = this, _null = null, |
|
_s18_ = 'Duplicate source "'; |
|
if (_this._sourcesToDestinations != null) |
|
return; |
|
t1 = _this._options; |
|
stdin = H.boolTypeCast(t1.$index(0, "stdin")); |
|
t2 = t1.rest; |
|
if (t2.get$length(t2) === 0 && !stdin) |
|
B.ExecutableOptions__fail("Compile Sass to CSS."); |
|
t3 = P.String; |
|
$directories = P.LinkedHashSet_LinkedHashSet$_empty(t3); |
|
for (t4 = new H.ListIterator(t2, t2.get$length(t2)), colonArgs = false, positionalArgs = false; t4.moveNext$0();) { |
|
t5 = t4.__internal$_current; |
|
t6 = t5.length; |
|
if (t6 === 0) |
|
B.ExecutableOptions__fail('Invalid argument "".'); |
|
if (H.stringContainsUnchecked(t5, ":", 0)) { |
|
if (t6 > 2) { |
|
t7 = J.getInterceptor$s(t5)._codeUnitAt$1(t5, 0); |
|
if (!(t7 >= 97 && t7 <= 122)) |
|
t7 = t7 >= 65 && t7 <= 90; |
|
else |
|
t7 = true; |
|
t7 = t7 && C.JSString_methods._codeUnitAt$1(t5, 1) === 58; |
|
} else |
|
t7 = false; |
|
if (t7) { |
|
if (2 > t6) |
|
H.throwExpression(P.RangeError$range(2, 0, t6, _null, _null)); |
|
t6 = H.stringContainsUnchecked(t5, ":", 2); |
|
} else |
|
t6 = true; |
|
} else |
|
t6 = false; |
|
if (t6) |
|
colonArgs = true; |
|
else if (B.dirExists(t5)) |
|
$directories.add$1(0, t5); |
|
else |
|
positionalArgs = true; |
|
} |
|
if (positionalArgs || t2.get$length(t2) === 0) { |
|
if (colonArgs) |
|
B.ExecutableOptions__fail('Positional and ":" arguments may not both be used.'); |
|
else if (stdin) { |
|
if (J.get$length$asx(t2._collection$_source) > 1) |
|
B.ExecutableOptions__fail("Only one argument is allowed with --stdin."); |
|
else if (H.boolTypeCast(t1.$index(0, "update"))) |
|
B.ExecutableOptions__fail("--update is not allowed with --stdin."); |
|
else if (H.boolTypeCast(t1.$index(0, "watch"))) |
|
B.ExecutableOptions__fail("--watch is not allowed with --stdin."); |
|
_this._sourcesToDestinations = H.ConstantMap_ConstantMap$from(P.LinkedHashMap__makeLiteral([null, t2.get$length(t2) === 0 ? _null : t2.get$first(t2)]), t3, t3); |
|
} else { |
|
t4 = t2._collection$_source; |
|
t5 = J.getInterceptor$asx(t4); |
|
if (t5.get$length(t4) > 2) |
|
B.ExecutableOptions__fail("Only two positional args may be passed."); |
|
else if ($directories._collection$_length !== 0) { |
|
message = 'Directory "' + H.S($directories.get$first($directories)) + '" may not be a positional arg.'; |
|
target = t2.get$last(t2); |
|
B.ExecutableOptions__fail(J.$eq$($directories.get$first($directories), t2.get$first(t2)) && !B.fileExists(target) ? message + ('\nTo compile all CSS in "' + H.S($directories.get$first($directories)) + '" to "' + H.S(target) + '", use `sass ' + H.S($directories.get$first($directories)) + ":" + H.S(target) + "`.") : message); |
|
} else { |
|
source = J.$eq$(t2.get$first(t2), "-") ? _null : t2.get$first(t2); |
|
destination = t5.get$length(t4) === 1 ? _null : t2.get$last(t2); |
|
if (destination == null) |
|
if (H.boolTypeCast(t1.$index(0, "update"))) |
|
B.ExecutableOptions__fail("--update is not allowed when printing to stdout."); |
|
else if (H.boolTypeCast(t1.$index(0, "watch"))) |
|
B.ExecutableOptions__fail("--watch is not allowed when printing to stdout."); |
|
t1 = P.LinkedHashMap_LinkedHashMap$_literal([source, destination], t3, t3); |
|
t2 = K.PathMap__create(_null, t3); |
|
t2.addAll$1(0, t1); |
|
_this._sourcesToDestinations = new P.UnmodifiableMapView(new K.PathMap(t2, [t3]), [t3, t3]); |
|
} |
|
} |
|
_this._sourceDirectoriesToDestinations = C.Map_empty6; |
|
return; |
|
} |
|
if (stdin) |
|
B.ExecutableOptions__fail('--stdin may not be used with ":" arguments.'); |
|
seen = P.LinkedHashSet_LinkedHashSet$_empty(t3); |
|
t1 = K.PathMap__create(_null, t3); |
|
t4 = [t3]; |
|
t5 = K.PathMap__create(_null, t3); |
|
for (t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) { |
|
t6 = t2.__internal$_current; |
|
if ($directories.contains$1(0, t6)) { |
|
if (!seen.add$1(0, t6)) |
|
B.ExecutableOptions__fail(_s18_ + H.S(t6) + '".'); |
|
t5.$indexSet(0, t6, t6); |
|
t1.addAll$1(0, _this._listSourceDirectory$2(t6, t6)); |
|
continue; |
|
} |
|
for (t7 = t6.length, destination = _null, source = destination, i = 0; i < t7; ++i) { |
|
if (i === 1) { |
|
t8 = i - 1; |
|
if (t7 > t8 + 2) { |
|
t9 = C.JSString_methods.codeUnitAt$1(t6, t8); |
|
if (!(t9 >= 97 && t9 <= 122)) |
|
t9 = t9 >= 65 && t9 <= 90; |
|
else |
|
t9 = true; |
|
t8 = t9 && C.JSString_methods.codeUnitAt$1(t6, t8 + 1) === 58; |
|
} else |
|
t8 = false; |
|
} else |
|
t8 = false; |
|
if (t8) |
|
continue; |
|
if (C.JSString_methods._codeUnitAt$1(t6, i) === 58) |
|
if (source == null) { |
|
source = C.JSString_methods.substring$2(t6, 0, i); |
|
destination = C.JSString_methods.substring$1(t6, i + 1); |
|
} else { |
|
if (i === source.length + 2) { |
|
t8 = i - 1; |
|
if (t7 > t8 + 2) { |
|
t9 = C.JSString_methods.codeUnitAt$1(t6, t8); |
|
if (!(t9 >= 97 && t9 <= 122)) |
|
t9 = t9 >= 65 && t9 <= 90; |
|
else |
|
t9 = true; |
|
t8 = t9 && C.JSString_methods.codeUnitAt$1(t6, t8 + 1) === 58; |
|
} else |
|
t8 = false; |
|
t8 = !t8; |
|
} else |
|
t8 = true; |
|
if (t8) |
|
B.ExecutableOptions__fail('"' + t6 + '" may only contain one ":".'); |
|
} |
|
} |
|
if (!seen.add$1(0, source)) |
|
B.ExecutableOptions__fail(_s18_ + H.S(source) + '".'); |
|
if (source === "-") |
|
t1.$indexSet(0, _null, destination); |
|
else if (B.dirExists(source)) { |
|
t5.$indexSet(0, source, destination); |
|
t1.addAll$1(0, _this._listSourceDirectory$2(source, destination)); |
|
} else |
|
t1.$indexSet(0, source, destination); |
|
} |
|
t2 = [t3, t3]; |
|
_this._sourcesToDestinations = new P.UnmodifiableMapView(new K.PathMap(t1, t4), t2); |
|
_this._sourceDirectoriesToDestinations = new P.UnmodifiableMapView(new K.PathMap(t5, t4), t2); |
|
}, |
|
_listSourceDirectory$2: function(source, destination) { |
|
var t2, t3, t4, t5, _null = null, |
|
t1 = P.String; |
|
t1 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1); |
|
for (t2 = J.get$iterator$ax(B.listDir(source, true)), t3 = source == destination; t2.moveNext$0();) { |
|
t4 = t2.get$current(t2); |
|
if (this._isEntrypoint$1(t4)) |
|
t5 = !(t3 && X.ParsedPath_ParsedPath$parse(t4, $.$get$context().style)._splitExtension$0()[1] === ".css"); |
|
else |
|
t5 = false; |
|
if (t5) { |
|
t5 = $.$get$context(); |
|
t1.$indexSet(0, t4, t5.join$8(0, destination, t5.withoutExtension$1(t5.relative$2$from(t4, source)) + ".css", _null, _null, _null, _null, _null, _null)); |
|
} |
|
} |
|
return t1; |
|
}, |
|
_isEntrypoint$1: function(path) { |
|
var extension, |
|
t1 = $.$get$context().style; |
|
if (J.startsWith$1$s(X.ParsedPath_ParsedPath$parse(path, t1).get$basename(), "_")) |
|
return false; |
|
extension = X.ParsedPath_ParsedPath$parse(path, t1)._splitExtension$0()[1]; |
|
return extension === ".scss" || extension === ".sass" || extension === ".css"; |
|
}, |
|
get$emitSourceMap: function() { |
|
var t2, writeToStdout, _this = this, |
|
_s10_ = "source-map", |
|
_s15_ = "source-map-urls", |
|
_s13_ = "embed-sources", |
|
_s16_ = "embed-source-map", |
|
t1 = _this._options; |
|
if (!H.boolTypeCast(t1.$index(0, _s10_))) |
|
if (t1.wasParsed$1(_s15_)) |
|
B.ExecutableOptions__fail("--source-map-urls isn't allowed with --no-source-map."); |
|
else if (t1.wasParsed$1(_s13_)) |
|
B.ExecutableOptions__fail("--embed-sources isn't allowed with --no-source-map."); |
|
else if (t1.wasParsed$1(_s16_)) |
|
B.ExecutableOptions__fail("--embed-source-map isn't allowed with --no-source-map."); |
|
_this._ensureSources$0(); |
|
t2 = _this._sourcesToDestinations; |
|
if (t2.get$length(t2) === 1) { |
|
_this._ensureSources$0(); |
|
t2 = _this._sourcesToDestinations.get$values(); |
|
writeToStdout = t2.get$single(t2) == null; |
|
} else |
|
writeToStdout = false; |
|
if (!writeToStdout) |
|
return H.boolTypeCast(t1.$index(0, _s10_)); |
|
if (J.$eq$(_this._ifParsed$1(_s15_), "relative")) |
|
B.ExecutableOptions__fail("--source-map-urls=relative isn't allowed when printing to stdout."); |
|
if (H.boolTypeCast(t1.$index(0, _s16_))) |
|
return H.boolTypeCast(t1.$index(0, _s10_)); |
|
else if (J.$eq$(_this._ifParsed$1(_s10_), true)) |
|
B.ExecutableOptions__fail("When printing to stdout, --source-map requires --embed-source-map."); |
|
else if (t1.wasParsed$1(_s15_)) |
|
B.ExecutableOptions__fail("When printing to stdout, --source-map-urls requires --embed-source-map."); |
|
else if (H.boolTypeCast(t1.$index(0, _s13_))) |
|
B.ExecutableOptions__fail("When printing to stdout, --embed-sources requires --embed-source-map."); |
|
else |
|
return false; |
|
}, |
|
sourceMapUrl$2: function(url, destination) { |
|
var t1, path; |
|
if (url.get$scheme().length !== 0 && url.get$scheme() !== "file") |
|
return url; |
|
t1 = $.$get$context(); |
|
path = t1.style.pathFromUri$1(M._parseUri(url)); |
|
return t1.toUri$1(J.$eq$(this._options.$index(0, "source-map-urls"), "relative") ? t1.relative$2$from(path, t1.dirname$1(destination)) : D.absolute(path)); |
|
}, |
|
_ifParsed$1: function($name) { |
|
var t1 = this._options; |
|
return t1.wasParsed$1($name) ? t1.$index(0, $name) : null; |
|
} |
|
}; |
|
B.ExecutableOptions_closure.prototype = { |
|
call$0: function() { |
|
var t1 = P.String, |
|
t2 = G.Option, |
|
t3 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), |
|
t4 = N.ArgParser, |
|
t5 = [], |
|
parser = new N.ArgParser(t3, new P.UnmodifiableMapView(t3, [t1, t2]), new P.UnmodifiableMapView(P.LinkedHashMap_LinkedHashMap$_empty(t1, t4), [t1, t4]), t5, true, null); |
|
parser.addOption$2$hide("precision", true); |
|
parser.addFlag$2$hide("async", true); |
|
t5.push(B.ExecutableOptions__separator("Input and Output")); |
|
parser.addFlag$2$help("stdin", "Read the stylesheet from stdin."); |
|
parser.addFlag$2$help("indented", "Use the indented syntax for input from stdin."); |
|
parser.addMultiOption$5$abbr$help$splitCommas$valueHelp("load-path", "I", "A path to use when resolving imports.\nMay be passed multiple times.", false, "PATH"); |
|
t1 = [t1]; |
|
parser.addOption$6$abbr$allowed$defaultsTo$help$valueHelp("style", "s", H.setRuntimeTypeInfo(["expanded", "compressed"], t1), "expanded", "Output style.", "NAME"); |
|
parser.addFlag$3$defaultsTo$help("charset", true, "Emit a @charset or BOM for CSS with non-ASCII characters."); |
|
parser.addFlag$3$defaultsTo$help("error-css", null, "When an error occurs, emit a stylesheet describing it.\nDefaults to true when compiling to a file."); |
|
parser.addFlag$3$help$negatable("update", "Only compile out-of-date stylesheets.", false); |
|
t5.push(B.ExecutableOptions__separator("Source Maps")); |
|
parser.addFlag$3$defaultsTo$help("source-map", true, "Whether to generate source maps."); |
|
parser.addOption$4$allowed$defaultsTo$help("source-map-urls", H.setRuntimeTypeInfo(["relative", "absolute"], t1), "relative", "How to link from source maps to source files."); |
|
parser.addFlag$3$defaultsTo$help("embed-sources", false, "Embed source file contents in source maps."); |
|
parser.addFlag$3$defaultsTo$help("embed-source-map", false, "Embed source map contents in CSS."); |
|
t5.push(B.ExecutableOptions__separator("Other")); |
|
parser.addFlag$3$help$negatable("watch", "Watch stylesheets and recompile when they change.", false); |
|
parser.addFlag$2$help("poll", "Manually check for changes rather than using a native watcher.\nOnly valid with --watch."); |
|
parser.addFlag$2$help("stop-on-error", "Don't compile more files once an error is encountered."); |
|
parser.addFlag$4$abbr$help$negatable("interactive", "i", "Run an interactive SassScript shell.", false); |
|
parser.addFlag$3$abbr$help("color", "c", "Whether to use terminal colors for messages."); |
|
parser.addFlag$2$help("unicode", "Whether to use Unicode characters for messages."); |
|
parser.addFlag$3$abbr$help("quiet", "q", "Don't print warnings."); |
|
parser.addFlag$2$help("trace", "Print full Dart stack traces for exceptions."); |
|
parser.addFlag$4$abbr$help$negatable("help", "h", "Print this usage information.", false); |
|
parser.addFlag$3$help$negatable("version", "Print the version of Dart Sass.", false); |
|
return parser; |
|
} |
|
}; |
|
B.ExecutableOptions_emitErrorCss_closure.prototype = { |
|
call$1: function(destination) { |
|
return destination != null; |
|
} |
|
}; |
|
B.UsageException.prototype = {$isException: 1, |
|
get$message: function(receiver) { |
|
return this.message; |
|
} |
|
}; |
|
A.watch_closure.prototype = { |
|
call$1: function(dir) { |
|
for (; !B.dirExists(dir);) |
|
dir = $.$get$context().dirname$1(dir); |
|
return this.dirWatcher.watch$1(0, dir); |
|
} |
|
}; |
|
A._Watcher.prototype = { |
|
compile$3$ifModified: function(source, destination, ifModified) { |
|
return this.compile$body$_Watcher(source, destination, ifModified); |
|
}, |
|
compile$2: function(source, destination) { |
|
return this.compile$3$ifModified(source, destination, false); |
|
}, |
|
compile$body$_Watcher: function(source, destination, ifModified) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.bool), |
|
$async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, error, stackTrace, error0, stackTrace0, exception, t1, t2, $async$exception; |
|
var $async$compile$3$ifModified = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) { |
|
$async$currentError = $async$result; |
|
$async$goto = $async$handler; |
|
} |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$handler = 4; |
|
$async$goto = 7; |
|
return P._asyncAwait(D.compileStylesheet($async$self._watch$_options, $async$self._graph, source, destination, ifModified), $async$compile$3$ifModified); |
|
case 7: |
|
// returning from await. |
|
$async$returnValue = true; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
$async$handler = 2; |
|
// goto after finally |
|
$async$goto = 6; |
|
break; |
|
case 4: |
|
// catch |
|
$async$handler = 3; |
|
$async$exception = $async$currentError; |
|
t1 = H.unwrapException($async$exception); |
|
t2 = J.getInterceptor$(t1); |
|
if (!!t2.$isSassException) { |
|
error = t1; |
|
stackTrace = H.getTraceFromException($async$exception); |
|
t1 = $async$self._watch$_options; |
|
if (!t1.get$emitErrorCss()) |
|
$async$self._delete$1(destination); |
|
$async$self._printError$2(J.toString$1$color$(error, t1.get$color()), stackTrace); |
|
self.process.exitCode = 65; |
|
$async$returnValue = false; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} else if (!!t2.$isFileSystemException) { |
|
error0 = t1; |
|
stackTrace0 = H.getTraceFromException($async$exception); |
|
t1 = error0.path; |
|
$async$self._printError$2("Error reading " + H.S($.$get$context().relative$2$from(t1, null)) + ": " + error0.message + ".", stackTrace0); |
|
self.process.exitCode = 66; |
|
$async$returnValue = false; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} else |
|
throw $async$exception; |
|
// goto after finally |
|
$async$goto = 6; |
|
break; |
|
case 3: |
|
// uncaught |
|
// goto rethrow |
|
$async$goto = 2; |
|
break; |
|
case 6: |
|
// after finally |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
case 2: |
|
// rethrow |
|
return P._asyncRethrow($async$currentError, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$compile$3$ifModified, $async$completer); |
|
}, |
|
_delete$1: function(path) { |
|
var buffer, t1, exception; |
|
try { |
|
B.deleteFile(path); |
|
buffer = new P.StringBuffer(""); |
|
t1 = this._watch$_options; |
|
if (t1.get$color()) |
|
buffer._contents += "\x1b[33m"; |
|
buffer._contents += "Deleted " + H.S(path) + "."; |
|
if (t1.get$color()) |
|
buffer._contents += "\x1b[0m"; |
|
P.print(buffer); |
|
} catch (exception) { |
|
if (!(H.unwrapException(exception) instanceof B.FileSystemException)) |
|
throw exception; |
|
} |
|
}, |
|
_printError$2: function(message, stackTrace) { |
|
var t2, |
|
t1 = $.$get$stderr(); |
|
t1.writeln$1(message); |
|
t2 = this._watch$_options._options; |
|
if (H.boolTypeCast(t2.$index(0, "trace"))) { |
|
t1.writeln$0(); |
|
t1.writeln$1(C.JSString_methods.trimRight$0(Y.Trace_Trace$from(stackTrace).get$terse().toString$0(0))); |
|
} |
|
if (!H.boolTypeCast(t2.$index(0, "stop-on-error"))) |
|
t1.writeln$0(); |
|
}, |
|
watch$1: function(_, watcher) { |
|
return this.watch$body$_Watcher(_, watcher); |
|
}, |
|
watch$body$_Watcher: function(_, watcher) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, $event, extension, success, success0, success1, t2, t1; |
|
var $async$watch$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) { |
|
$async$currentError = $async$result; |
|
$async$goto = $async$handler; |
|
} |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = watcher._group._controller; |
|
t1.toString; |
|
t1 = P._StreamIterator$($async$self._debounceEvents$1(new P._ControllerStream(t1, [H.getTypeArgumentByIndex(t1, 0)]))); |
|
$async$handler = 3; |
|
t2 = $async$self._watch$_options._options; |
|
case 6: |
|
// for condition |
|
$async$goto = 8; |
|
return P._asyncAwait(t1.moveNext$0(), $async$watch$1); |
|
case 8: |
|
// returning from await. |
|
if (!$async$result) { |
|
// goto after for |
|
$async$goto = 7; |
|
break; |
|
} |
|
$event = t1.get$current(t1); |
|
extension = X.ParsedPath_ParsedPath$parse($event.path, $.$get$context().style)._splitExtension$0()[1]; |
|
if (!J.$eq$(extension, ".sass") && !J.$eq$(extension, ".scss") && !J.$eq$(extension, ".css")) { |
|
// goto for condition |
|
$async$goto = 6; |
|
break; |
|
} |
|
case 9: |
|
// switch |
|
switch ($event.type) { |
|
case C.ChangeType_modify: |
|
// goto case |
|
$async$goto = 11; |
|
break; |
|
case C.ChangeType_add: |
|
// goto case |
|
$async$goto = 12; |
|
break; |
|
case C.ChangeType_remove: |
|
// goto case |
|
$async$goto = 13; |
|
break; |
|
default: |
|
// goto after switch |
|
$async$goto = 10; |
|
break; |
|
} |
|
break; |
|
case 11: |
|
// case |
|
$async$goto = 14; |
|
return P._asyncAwait($async$self._handleModify$1($event.path), $async$watch$1); |
|
case 14: |
|
// returning from await. |
|
success = $async$result; |
|
if (!success && H.boolTypeCast(t2.$index(0, "stop-on-error"))) { |
|
$async$next = [1]; |
|
// goto finally |
|
$async$goto = 4; |
|
break; |
|
} |
|
// goto after switch |
|
$async$goto = 10; |
|
break; |
|
case 12: |
|
// case |
|
$async$goto = 15; |
|
return P._asyncAwait($async$self._handleAdd$1($event.path), $async$watch$1); |
|
case 15: |
|
// returning from await. |
|
success0 = $async$result; |
|
if (!success0 && H.boolTypeCast(t2.$index(0, "stop-on-error"))) { |
|
$async$next = [1]; |
|
// goto finally |
|
$async$goto = 4; |
|
break; |
|
} |
|
// goto after switch |
|
$async$goto = 10; |
|
break; |
|
case 13: |
|
// case |
|
$async$goto = 16; |
|
return P._asyncAwait($async$self._handleRemove$1($event.path), $async$watch$1); |
|
case 16: |
|
// returning from await. |
|
success1 = $async$result; |
|
if (!success1 && H.boolTypeCast(t2.$index(0, "stop-on-error"))) { |
|
$async$next = [1]; |
|
// goto finally |
|
$async$goto = 4; |
|
break; |
|
} |
|
// goto after switch |
|
$async$goto = 10; |
|
break; |
|
case 10: |
|
// after switch |
|
// goto for condition |
|
$async$goto = 6; |
|
break; |
|
case 7: |
|
// after for |
|
$async$next.push(5); |
|
// goto finally |
|
$async$goto = 4; |
|
break; |
|
case 3: |
|
// uncaught |
|
$async$next = [2]; |
|
case 4: |
|
// finally |
|
$async$handler = 2; |
|
$async$goto = 17; |
|
return P._asyncAwait(t1.cancel$0(), $async$watch$1); |
|
case 17: |
|
// returning from await. |
|
// goto the next finally handler |
|
$async$goto = $async$next.pop(); |
|
break; |
|
case 5: |
|
// after finally |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
case 2: |
|
// rethrow |
|
return P._asyncRethrow($async$currentError, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$watch$1, $async$completer); |
|
}, |
|
_handleModify$1: function(path) { |
|
return this._handleModify$body$_Watcher(path); |
|
}, |
|
_handleModify$body$_Watcher: function(path) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.bool), |
|
$async$returnValue, $async$self = this, t2, node, t1, url; |
|
var $async$_handleModify$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $.$get$context(); |
|
url = t1.toUri$1(t1.canonicalize$1(path)); |
|
t1 = $async$self._graph; |
|
t2 = t1._nodes; |
|
if (!t2.containsKey$1(url)) { |
|
$async$returnValue = $async$self._handleAdd$1(path); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
node = t2.$index(0, url); |
|
t1.reload$1(url); |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._recompileDownstream$1(H.setRuntimeTypeInfo([node], [M.StylesheetNode])), $async$_handleModify$1); |
|
case 3: |
|
// returning from await. |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_handleModify$1, $async$completer); |
|
}, |
|
_handleAdd$1: function(path) { |
|
return this._handleAdd$body$_Watcher(path); |
|
}, |
|
_handleAdd$body$_Watcher: function(path) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.bool), |
|
$async$returnValue, $async$self = this, destination, t1, t2; |
|
var $async$_handleAdd$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._retryPotentialImports$1(path), $async$_handleAdd$1); |
|
case 3: |
|
// returning from await. |
|
if (!$async$result && H.boolTypeCast($async$self._watch$_options._options.$index(0, "stop-on-error"))) { |
|
$async$returnValue = false; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
destination = $async$self._destinationFor$1(path); |
|
if (destination == null) { |
|
$async$returnValue = true; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
t1 = D.absolute("."); |
|
t2 = $.$get$context(); |
|
$async$self._graph.addCanonical$3(new F.FilesystemImporter(t1), t2.toUri$1(t2.canonicalize$1(path)), t2.toUri$1(path)); |
|
$async$goto = 4; |
|
return P._asyncAwait($async$self.compile$2(path, destination), $async$_handleAdd$1); |
|
case 4: |
|
// returning from await. |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_handleAdd$1, $async$completer); |
|
}, |
|
_handleRemove$1: function(path) { |
|
return this._handleRemove$body$_Watcher(path); |
|
}, |
|
_handleRemove$body$_Watcher: function(path) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.bool), |
|
$async$returnValue, $async$self = this, t2, destination, t1, url; |
|
var $async$_handleRemove$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $.$get$context(); |
|
url = t1.toUri$1(t1.canonicalize$1(path)); |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._retryPotentialImports$1(path), $async$_handleRemove$1); |
|
case 3: |
|
// returning from await. |
|
if (!$async$result && H.boolTypeCast($async$self._watch$_options._options.$index(0, "stop-on-error"))) { |
|
$async$returnValue = false; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
t1 = $async$self._graph; |
|
t2 = t1._nodes; |
|
if (!t2.containsKey$1(url)) { |
|
$async$returnValue = true; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
destination = $async$self._destinationFor$1(path); |
|
if (destination != null) |
|
$async$self._delete$1(destination); |
|
t2 = t2.$index(0, url)._downstream; |
|
t1.remove$1(0, url); |
|
$async$goto = 4; |
|
return P._asyncAwait($async$self._recompileDownstream$1(new L.UnmodifiableSetView(t2, [M.StylesheetNode])), $async$_handleRemove$1); |
|
case 4: |
|
// returning from await. |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_handleRemove$1, $async$completer); |
|
}, |
|
_debounceEvents$1: function(events) { |
|
var t1 = E.WatchEvent, |
|
t2 = R._debounceAggregate(P.Duration$(25), H.instantiate1(R.rate_limit___collectToList$closure(), t1), t1, [P.List, t1]).bind$1(events); |
|
return new P._ExpandStream(new A._Watcher__debounceEvents_closure(), t2, [H.getRuntimeTypeArgument(t2, "Stream", 0), t1]); |
|
}, |
|
_recompileDownstream$1: function(nodes) { |
|
return this._recompileDownstream$body$_Watcher(nodes); |
|
}, |
|
_recompileDownstream$body$_Watcher: function(nodes) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.bool), |
|
$async$returnValue, $async$self = this, t2, allSucceeded, node, success, t1, seen, toRecompile; |
|
var $async$_recompileDownstream$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = M.StylesheetNode; |
|
seen = P.LinkedHashSet_LinkedHashSet$_empty(t1); |
|
toRecompile = P.ListQueue_ListQueue$of(nodes, t1); |
|
t1 = [t1], t2 = $async$self._watch$_options._options, allSucceeded = true; |
|
case 3: |
|
// for condition |
|
if (!!toRecompile.get$isEmpty(toRecompile)) { |
|
// goto after for |
|
$async$goto = 4; |
|
break; |
|
} |
|
node = toRecompile.removeFirst$0(); |
|
if (!seen.add$1(0, node)) { |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
} |
|
$async$goto = 5; |
|
return P._asyncAwait($async$self._compileIfEntrypoint$1(node.canonicalUrl), $async$_recompileDownstream$1); |
|
case 5: |
|
// returning from await. |
|
success = $async$result; |
|
allSucceeded = allSucceeded && success; |
|
if (!success && H.boolTypeCast(t2.$index(0, "stop-on-error"))) { |
|
$async$returnValue = false; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
toRecompile.addAll$1(0, new L.UnmodifiableSetView(node._downstream, t1)); |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 4: |
|
// after for |
|
$async$returnValue = allSucceeded; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_recompileDownstream$1, $async$completer); |
|
}, |
|
_compileIfEntrypoint$1: function(url) { |
|
return this._compileIfEntrypoint$body$_Watcher(url); |
|
}, |
|
_compileIfEntrypoint$body$_Watcher: function(url) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.bool), |
|
$async$returnValue, $async$self = this, source, destination; |
|
var $async$_compileIfEntrypoint$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if (url.get$scheme() !== "file") { |
|
$async$returnValue = true; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
source = $.$get$context().style.pathFromUri$1(M._parseUri(url)); |
|
destination = $async$self._destinationFor$1(source); |
|
if (destination == null) { |
|
$async$returnValue = true; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self.compile$2(source, destination), $async$_compileIfEntrypoint$1); |
|
case 3: |
|
// returning from await. |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_compileIfEntrypoint$1, $async$completer); |
|
}, |
|
_destinationFor$1: function(source) { |
|
var destination, t2, t3, t4, _null = null, |
|
t1 = this._watch$_options; |
|
t1._ensureSources$0(); |
|
destination = t1._sourcesToDestinations.$index(0, source); |
|
if (destination != null) |
|
return destination; |
|
t2 = $.$get$context(); |
|
if (J.startsWith$1$s(X.ParsedPath_ParsedPath$parse(source, t2.style).get$basename(), "_")) |
|
return; |
|
for (t1._ensureSources$0(), t3 = J.get$iterator$ax(t1._sourceDirectoriesToDestinations.get$keys()); t3.moveNext$0();) { |
|
t4 = t3.get$current(t3); |
|
if (t2._isWithinOrEquals$2(t4, source) !== C._PathRelation_within) |
|
continue; |
|
t1._ensureSources$0(); |
|
destination = t2.join$8(0, t1._sourceDirectoriesToDestinations.$index(0, t4), t2.withoutExtension$1(t2.relative$2$from(source, t4)) + ".css", _null, _null, _null, _null, _null, _null); |
|
if (destination !== source) |
|
return destination; |
|
} |
|
return; |
|
}, |
|
_retryPotentialImports$1: function(path) { |
|
return this._retryPotentialImports$body$_Watcher(path); |
|
}, |
|
_retryPotentialImports$body$_Watcher: function(path) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.bool), |
|
$async$returnValue, $async$self = this, t1, _box_0, t2, recanonicalize, t3, t4, $name, changed; |
|
var $async$_retryPotentialImports$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$name = $async$self._watch$_name$1(X.ParsedPath_ParsedPath$parse(path, $.$get$context().style).get$basename()); |
|
changed = H.setRuntimeTypeInfo([], [M.StylesheetNode]); |
|
for (t1 = $async$self._graph._nodes.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();) { |
|
_box_0 = {}; |
|
t2 = t1.get$current(t1); |
|
_box_0.importChanged = false; |
|
recanonicalize = new A._Watcher__retryPotentialImports_recanonicalize(_box_0, $async$self, $name, t2); |
|
for (t3 = t2._upstream.get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) { |
|
t4 = t3.get$current(t3); |
|
recanonicalize.call$3$forImport(t4.key, t4.value, false); |
|
} |
|
for (t3 = t2._upstreamImports.get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) { |
|
t4 = t3.get$current(t3); |
|
recanonicalize.call$3$forImport(t4.key, t4.value, true); |
|
} |
|
if (_box_0.importChanged) |
|
changed.push(t2); |
|
} |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._recompileDownstream$1(changed), $async$_retryPotentialImports$1); |
|
case 3: |
|
// returning from await. |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_retryPotentialImports$1, $async$completer); |
|
}, |
|
_watch$_name$1: function(basename) { |
|
basename = $.$get$context().withoutExtension$1(basename); |
|
return C.JSString_methods.startsWith$1(basename, "_") ? C.JSString_methods.substring$1(basename, 1) : basename; |
|
} |
|
}; |
|
A._Watcher__debounceEvents_closure.prototype = { |
|
call$1: function(buffer) { |
|
var t3, t4, t5, oldType, |
|
t1 = E.ChangeType, |
|
t2 = K.PathMap__create(null, t1); |
|
for (t3 = J.get$iterator$ax(buffer); t3.moveNext$0();) { |
|
t4 = t3.get$current(t3); |
|
t5 = t4.path; |
|
oldType = t2.$index(0, t5); |
|
if (oldType == null) |
|
t2.$indexSet(0, t5, t4.type); |
|
else if (t4.type === C.ChangeType_remove) |
|
t2.$indexSet(0, t5, C.ChangeType_remove); |
|
else if (oldType !== C.ChangeType_add) |
|
t2.$indexSet(0, t5, C.ChangeType_modify); |
|
} |
|
return t2.get$keys().map$1$1(0, new A._Watcher__debounceEvents__closure(new K.PathMap(t2, [t1])), E.WatchEvent); |
|
} |
|
}; |
|
A._Watcher__debounceEvents__closure.prototype = { |
|
call$1: function(path) { |
|
return new E.WatchEvent(this.typeForPath._collection$_map.$index(0, path), path); |
|
} |
|
}; |
|
A._Watcher__retryPotentialImports_recanonicalize.prototype = { |
|
call$3$forImport: function(url, upstream, forImport) { |
|
var newCanonicalUrl, t3, exception, _this = this, |
|
t1 = _this.$this, |
|
t2 = $.$get$url(); |
|
if (t1._watch$_name$1(X.ParsedPath_ParsedPath$parse(url.get$path(url), t2.style).get$basename()) !== _this.name) |
|
return; |
|
t1 = t1._graph; |
|
t1._transitiveModificationTimes.clear$0(0); |
|
t1 = t1.importCache; |
|
t2 = t1._canonicalizeCache; |
|
t3 = [P.Uri, P.bool]; |
|
t2.remove$1(0, new S.Tuple2(url, false, t3)); |
|
t2.remove$1(0, new S.Tuple2(url, true, t3)); |
|
t2 = _this._box_0; |
|
if (!t2.importChanged) { |
|
newCanonicalUrl = null; |
|
try { |
|
t3 = _this.node; |
|
t3 = t1.canonicalize$4$baseImporter$baseUrl$forImport(url, t3.importer, t3.canonicalUrl, forImport); |
|
newCanonicalUrl = t3 == null ? null : t3.item2; |
|
} catch (exception) { |
|
H.unwrapException(exception); |
|
} |
|
t1 = newCanonicalUrl; |
|
t2.importChanged = !J.$eq$(t1, upstream == null ? null : upstream.canonicalUrl); |
|
} |
|
}, |
|
call$2: function(url, upstream) { |
|
return this.call$3$forImport(url, upstream, null); |
|
} |
|
}; |
|
T.EmptyExtender.prototype = { |
|
get$isEmpty: function(_) { |
|
return true; |
|
}, |
|
get$simpleSelectors: function() { |
|
return C.C_EmptyUnmodifiableSet; |
|
}, |
|
extensionsWhereTarget$1: function(callback) { |
|
return C.List_empty3; |
|
}, |
|
addExtensions$1: function(extenders) { |
|
throw H.wrapException(P.UnsupportedError$("addExtensions() can't be called for a const Extender.")); |
|
}, |
|
clone$0: function() { |
|
return C.Tuple2_EmptyExtender_Map_empty; |
|
}, |
|
$isExtender: 1 |
|
}; |
|
F.Extender.prototype = { |
|
get$isEmpty: function(_) { |
|
var t1 = this._extensions; |
|
return t1.get$isEmpty(t1); |
|
}, |
|
get$simpleSelectors: function() { |
|
return new M.MapKeySet(this._selectors, [M.SimpleSelector]); |
|
}, |
|
extensionsWhereTarget$1: function($async$callback) { |
|
var $async$self = this; |
|
return P._makeSyncStarIterable(function() { |
|
var callback = $async$callback; |
|
var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, t3, t4; |
|
return function $async$extensionsWhereTarget$1($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) { |
|
$async$currentError = $async$result; |
|
$async$goto = $async$handler; |
|
} |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self._extensions, t2 = t1.get$keys(), t2 = t2.get$iterator(t2); |
|
case 2: |
|
// for condition |
|
if (!t2.moveNext$0()) { |
|
// goto after for |
|
$async$goto = 3; |
|
break; |
|
} |
|
t3 = t2.get$current(t2); |
|
if (!callback.call$1(t3)) { |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
} |
|
t3 = t1.$index(0, t3).get$values(), t3 = t3.get$iterator(t3); |
|
case 4: |
|
// for condition |
|
if (!t3.moveNext$0()) { |
|
// goto after for |
|
$async$goto = 5; |
|
break; |
|
} |
|
t4 = t3.get$current(t3); |
|
$async$goto = t4 instanceof A.MergedExtension ? 6 : 8; |
|
break; |
|
case 6: |
|
// then |
|
t4 = t4.unmerge$0(); |
|
$async$goto = 9; |
|
return P._IterationMarker_yieldStar(new H.WhereIterable(t4, new F.Extender_extensionsWhereTarget_closure(), [H.getTypeArgumentByIndex(t4, 0)])); |
|
case 9: |
|
// after yield |
|
// goto join |
|
$async$goto = 7; |
|
break; |
|
case 8: |
|
// else |
|
$async$goto = !t4.isOptional ? 10 : 11; |
|
break; |
|
case 10: |
|
// then |
|
$async$goto = 12; |
|
return t4; |
|
case 12: |
|
// after yield |
|
case 11: |
|
// join |
|
case 7: |
|
// join |
|
// goto for condition |
|
$async$goto = 4; |
|
break; |
|
case 5: |
|
// after for |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
case 3: |
|
// after for |
|
// implicit return |
|
return P._IterationMarker_endOfIteration(); |
|
case 1: |
|
// rethrow |
|
return P._IterationMarker_uncaughtError($async$currentError); |
|
} |
|
}; |
|
}, S.Extension); |
|
}, |
|
addSelector$3: function(selector, span, mediaContext) { |
|
var error, t1, t2, t3, _i, exception, modifiableSelector, _this = this, |
|
originalSelector = selector; |
|
if (!originalSelector.get$isInvisible()) |
|
for (t1 = originalSelector.components, t2 = t1.length, t3 = _this._originals, _i = 0; _i < t2; ++_i) |
|
t3.add$1(0, t1[_i]); |
|
t1 = _this._extensions; |
|
if (t1.get$isNotEmpty(t1)) |
|
try { |
|
selector = _this._extendList$3(originalSelector, t1, mediaContext); |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (t1 instanceof E.SassException) { |
|
error = t1; |
|
throw H.wrapException(E.SassException$("From " + error.get$span().message$1(0, "") + "\n" + H.S(error._span_exception$_message), span)); |
|
} else |
|
throw exception; |
|
} |
|
modifiableSelector = new F.ModifiableCssValue(selector, span, [D.SelectorList]); |
|
if (mediaContext != null) |
|
_this._mediaContexts.$indexSet(0, modifiableSelector, mediaContext); |
|
_this._registerSelector$2(selector, modifiableSelector); |
|
return modifiableSelector; |
|
}, |
|
_registerSelector$2: function(list, selector) { |
|
var t1, t2, t3, _i, t4, t5, _i0, component, t6, t7, _i1, simple; |
|
for (t1 = list.components, t2 = t1.length, t3 = this._selectors, _i = 0; _i < t2; ++_i) |
|
for (t4 = t1[_i].components, t5 = t4.length, _i0 = 0; _i0 < t5; ++_i0) { |
|
component = t4[_i0]; |
|
if (component instanceof X.CompoundSelector) |
|
for (t6 = component.components, t7 = t6.length, _i1 = 0; _i1 < t7; ++_i1) { |
|
simple = t6[_i1]; |
|
J.add$1$ax(t3.putIfAbsent$2(simple, new F.Extender__registerSelector_closure()), selector); |
|
if (simple instanceof D.PseudoSelector && simple.selector != null) |
|
this._registerSelector$2(simple.selector, selector); |
|
} |
|
} |
|
}, |
|
addExtension$4: function(extender, target, extend, mediaContext) { |
|
var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, newExtensions, _i, complex, t12, state, existingState, t13, _i0, component, t14, t15, _i1, simple, newExtensionsByTarget, additionalExtensions, _this = this, |
|
selectors = _this._selectors.$index(0, target), |
|
t1 = _this._extensionsByExtender, |
|
existingExtensions = t1.$index(0, target), |
|
sources = _this._extensions.putIfAbsent$2(target, new F.Extender_addExtension_closure()); |
|
for (t2 = extender.value.components, t3 = t2.length, t4 = selectors == null, t5 = _this._sourceSpecificity, t6 = extender.span, t7 = extend.span, t8 = extend.isOptional, t9 = existingExtensions != null, t10 = S.ComplexSelector, t11 = S.Extension, newExtensions = null, _i = 0; _i < t3; ++_i) { |
|
complex = t2[_i]; |
|
if (complex._maxSpecificity == null) |
|
complex._computeSpecificity$0(); |
|
t12 = complex._maxSpecificity; |
|
state = new S.Extension(complex, target, t12, t8, false, mediaContext, t6, t7); |
|
existingState = sources.$index(0, complex); |
|
if (existingState != null) { |
|
sources.$indexSet(0, complex, A.MergedExtension_merge(existingState, state)); |
|
continue; |
|
} |
|
sources.$indexSet(0, complex, state); |
|
for (t12 = complex.components, t13 = t12.length, _i0 = 0; _i0 < t13; ++_i0) { |
|
component = t12[_i0]; |
|
if (component instanceof X.CompoundSelector) |
|
for (t14 = component.components, t15 = t14.length, _i1 = 0; _i1 < t15; ++_i1) { |
|
simple = t14[_i1]; |
|
J.add$1$ax(t1.putIfAbsent$2(simple, new F.Extender_addExtension_closure0()), state); |
|
t5.putIfAbsent$2(simple, new F.Extender_addExtension_closure1(complex)); |
|
} |
|
} |
|
if (!t4 || t9) { |
|
if (newExtensions == null) |
|
newExtensions = P.LinkedHashMap_LinkedHashMap$_empty(t10, t11); |
|
newExtensions.$indexSet(0, complex, state); |
|
} |
|
} |
|
if (newExtensions == null) |
|
return; |
|
newExtensionsByTarget = P.LinkedHashMap_LinkedHashMap$_literal([target, newExtensions], M.SimpleSelector, [P.Map, S.ComplexSelector, S.Extension]); |
|
if (t9) { |
|
additionalExtensions = _this._extendExistingExtensions$2(existingExtensions, newExtensionsByTarget); |
|
if (additionalExtensions != null) |
|
B.mapAddAll2(newExtensionsByTarget, additionalExtensions); |
|
} |
|
if (!t4) |
|
_this._extendExistingSelectors$2(selectors, newExtensionsByTarget); |
|
}, |
|
_extendExistingExtensions$2: function(extensions, newExtensions) { |
|
var extension, selectors, error, t1, t2, t3, t4, t5, t6, additionalExtensions, _i, sources, exception, containsExtension, t7, t8, first, _i0, complex, t9, t10, t11, t12, t13, t14, withExtender, existingExtension, _i1, component, _i2; |
|
for (t1 = J.toList$0$ax(extensions), t2 = t1.length, t3 = this._extensionsByExtender, t4 = M.SimpleSelector, t5 = [P.Map, S.ComplexSelector, S.Extension], t6 = this._extensions, additionalExtensions = null, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { |
|
extension = t1[_i]; |
|
sources = t6.$index(0, extension.target); |
|
selectors = null; |
|
try { |
|
selectors = this._extendComplex$3(extension.extender, newExtensions, extension.mediaContext); |
|
if (selectors == null) |
|
continue; |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (t1 instanceof E.SassException) { |
|
error = t1; |
|
throw H.wrapException(E.SassException$("From " + extension.extenderSpan.message$1(0, "") + "\n" + H.S(error._span_exception$_message), error.get$span())); |
|
} else |
|
throw exception; |
|
} |
|
containsExtension = J.$eq$(J.get$first$ax(selectors), extension.extender); |
|
for (t7 = selectors, t8 = t7.length, first = false, _i0 = 0; _i0 < t7.length; t7.length === t8 || (0, H.throwConcurrentModificationError)(t7), ++_i0) { |
|
complex = t7[_i0]; |
|
if (containsExtension && first) { |
|
first = false; |
|
continue; |
|
} |
|
t9 = extension; |
|
t10 = t9.target; |
|
t11 = t9.extenderSpan; |
|
t12 = t9.span; |
|
t13 = t9.mediaContext; |
|
t14 = t9.specificity; |
|
t9 = t9.isOptional; |
|
if (t14 == null) { |
|
if (complex._maxSpecificity == null) |
|
complex._computeSpecificity$0(); |
|
t14 = complex._maxSpecificity; |
|
} |
|
withExtender = new S.Extension(complex, t10, t14, t9, false, t13, t11, t12); |
|
existingExtension = sources.$index(0, complex); |
|
if (existingExtension != null) |
|
sources.$indexSet(0, complex, A.MergedExtension_merge(existingExtension, withExtender)); |
|
else { |
|
sources.$indexSet(0, complex, withExtender); |
|
for (t9 = complex.components, t10 = t9.length, _i1 = 0; _i1 < t10; ++_i1) { |
|
component = t9[_i1]; |
|
if (component instanceof X.CompoundSelector) |
|
for (t11 = component.components, t12 = t11.length, _i2 = 0; _i2 < t12; ++_i2) |
|
J.add$1$ax(t3.putIfAbsent$2(t11[_i2], new F.Extender__extendExistingExtensions_closure()), withExtender); |
|
} |
|
if (newExtensions.containsKey$1(extension.target)) { |
|
if (additionalExtensions == null) |
|
additionalExtensions = P.LinkedHashMap_LinkedHashMap$_empty(t4, t5); |
|
additionalExtensions.putIfAbsent$2(extension.target, new F.Extender__extendExistingExtensions_closure0()).$indexSet(0, complex, withExtender); |
|
} |
|
} |
|
} |
|
if (!containsExtension) |
|
sources.remove$1(0, extension.extender); |
|
} |
|
return additionalExtensions; |
|
}, |
|
_extendExistingSelectors$2: function(selectors, newExtensions) { |
|
var selector, error, t1, t2, oldValue, exception; |
|
for (t1 = selectors.get$iterator(selectors), t2 = this._mediaContexts; t1.moveNext$0();) { |
|
selector = t1.get$current(t1); |
|
oldValue = selector.value; |
|
try { |
|
selector.value = this._extendList$3(selector.value, newExtensions, t2.$index(0, selector)); |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (t1 instanceof E.SassException) { |
|
error = t1; |
|
throw H.wrapException(E.SassException$("From " + selector.span.message$1(0, "") + "\n" + H.S(error._span_exception$_message), error.get$span())); |
|
} else |
|
throw exception; |
|
} |
|
if (oldValue == selector.value) |
|
continue; |
|
this._registerSelector$2(selector.value, selector); |
|
} |
|
}, |
|
addExtensions$1: function(extenders) { |
|
var t1, t2, t3, _this = this, _box_0 = {}; |
|
_box_0.newExtensions = _box_0.selectorsToExtend = _box_0.extensionsToExtend = null; |
|
for (t1 = J.get$iterator$ax(extenders), t2 = _this._sourceSpecificity; t1.moveNext$0();) { |
|
t3 = t1.get$current(t1); |
|
if (t3.get$isEmpty(t3)) |
|
continue; |
|
t2.addAll$1(0, t3.get$_sourceSpecificity()); |
|
t3.get$_extensions().forEach$1(0, new F.Extender_addExtensions_closure(_box_0, _this, t3)); |
|
} |
|
t1 = _box_0.newExtensions; |
|
if (t1 == null) |
|
return; |
|
t2 = _box_0.extensionsToExtend; |
|
if (t2 != null) |
|
_this._extendExistingExtensions$2(t2, t1); |
|
t1 = _box_0.selectorsToExtend; |
|
if (t1 != null) |
|
_this._extendExistingSelectors$2(t1, _box_0.newExtensions); |
|
}, |
|
_extendList$3: function(list, extensions, mediaQueryContext) { |
|
var t1, t2, t3, extended, i, complex, result, t4; |
|
for (t1 = list.components, t2 = t1.length, t3 = [S.ComplexSelector], extended = null, i = 0; i < t2; ++i) { |
|
complex = t1[i]; |
|
result = this._extendComplex$3(complex, extensions, mediaQueryContext); |
|
if (result == null) { |
|
if (extended != null) |
|
extended.push(complex); |
|
} else { |
|
if (extended == null) |
|
if (i === 0) |
|
extended = H.setRuntimeTypeInfo([], t3); |
|
else { |
|
t4 = C.JSArray_methods.sublist$2(t1, 0, i); |
|
extended = H.setRuntimeTypeInfo(t4.slice(0), [H.getTypeArgumentByIndex(t4, 0)]); |
|
} |
|
C.JSArray_methods.addAll$1(extended, result); |
|
} |
|
} |
|
if (extended == null) |
|
return list; |
|
t1 = this._originals; |
|
return D.SelectorList$(J.where$1$ax(this._trim$2(extended, t1.get$contains(t1)), new F.Extender__extendList_closure())); |
|
}, |
|
_extendComplex$3: function(complex, extensions, mediaQueryContext) { |
|
var t1, t2, t3, t4, t5, t6, t7, extendedNotExpanded, i, component, extended, result, t8, |
|
_s28_ = "components may not be empty.", |
|
_box_0 = {}, |
|
isOriginal = this._originals.contains$1(0, complex); |
|
for (t1 = complex.components, t2 = t1.length, t3 = S.ComplexSelector, t4 = [t3], t5 = S.ComplexSelectorComponent, t6 = [t5], t7 = [P.List, S.ComplexSelector], extendedNotExpanded = null, i = 0; i < t2; ++i) { |
|
component = t1[i]; |
|
if (component instanceof X.CompoundSelector) { |
|
extended = this._extendCompound$4$inOriginal(component, extensions, mediaQueryContext, isOriginal); |
|
if (extended == null) { |
|
if (extendedNotExpanded != null) { |
|
result = P.List_List$from(H.setRuntimeTypeInfo([component], t6), false, t5); |
|
result.fixed$length = Array; |
|
result.immutable$list = Array; |
|
t8 = result; |
|
if (t8.length === 0) |
|
H.throwExpression(P.ArgumentError$(_s28_)); |
|
C.JSArray_methods.add$1(extendedNotExpanded, H.setRuntimeTypeInfo([new S.ComplexSelector(t8, false)], t4)); |
|
} |
|
} else { |
|
if (extendedNotExpanded == null) { |
|
t8 = H.SubListIterable$(t1, 0, i, H.getTypeArgumentByIndex(t1, 0)); |
|
extendedNotExpanded = new H.MappedListIterable(t8, new F.Extender__extendComplex_closure(complex), [H.getTypeArgumentByIndex(t8, 0), t7]).toList$0(0); |
|
} |
|
C.JSArray_methods.add$1(extendedNotExpanded, extended); |
|
} |
|
} else if (extendedNotExpanded != null) { |
|
result = P.List_List$from(H.setRuntimeTypeInfo([component], t6), false, t5); |
|
result.fixed$length = Array; |
|
result.immutable$list = Array; |
|
t8 = result; |
|
if (t8.length === 0) |
|
H.throwExpression(P.ArgumentError$(_s28_)); |
|
C.JSArray_methods.add$1(extendedNotExpanded, H.setRuntimeTypeInfo([new S.ComplexSelector(t8, false)], t4)); |
|
} |
|
} |
|
if (extendedNotExpanded == null) |
|
return; |
|
_box_0.first = true; |
|
t1 = J.expand$1$1$ax(Y.paths(extendedNotExpanded, t3), new F.Extender__extendComplex_closure0(_box_0, this, complex), t3); |
|
return P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0)); |
|
}, |
|
_extendCompound$4$inOriginal: function(compound, extensions, mediaQueryContext, inOriginal) { |
|
var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, options, i, simple, extended, result, t13, t14, _this = this, _null = null, |
|
_s28_ = "components may not be empty.", |
|
_box_1 = {}, |
|
t1 = _this._mode, |
|
targetsUsed = t1 === C.ExtendMode_normal || extensions.get$length(extensions) < 2 ? _null : P.LinkedHashSet_LinkedHashSet$_empty(M.SimpleSelector); |
|
for (t2 = compound.components, t3 = t2.length, t4 = [[P.List, S.Extension]], t5 = S.Extension, t6 = [t5], t7 = S.ComplexSelectorComponent, t8 = [t7], t9 = H.getTypeArgumentByIndex(t2, 0), t10 = M.SimpleSelector, t11 = _this._sourceSpecificity, t12 = [t10], options = _null, i = 0; i < t3; ++i) { |
|
simple = t2[i]; |
|
extended = _this._extendSimple$4(simple, extensions, mediaQueryContext, targetsUsed); |
|
if (extended == null) { |
|
if (options != null) { |
|
result = P.List_List$from(H.setRuntimeTypeInfo([simple], t12), false, t10); |
|
result.fixed$length = Array; |
|
result.immutable$list = Array; |
|
t13 = result; |
|
if (t13.length === 0) |
|
H.throwExpression(P.ArgumentError$(_s28_)); |
|
result = P.List_List$from(H.setRuntimeTypeInfo([new X.CompoundSelector(t13)], t8), false, t7); |
|
result.fixed$length = Array; |
|
result.immutable$list = Array; |
|
t13 = result; |
|
if (t13.length === 0) |
|
H.throwExpression(P.ArgumentError$(_s28_)); |
|
t14 = t11.$index(0, simple); |
|
if (t14 == null) |
|
t14 = 0; |
|
options.push(H.setRuntimeTypeInfo([new S.Extension(new S.ComplexSelector(t13, false), _null, t14, true, true, _null, _null, _null)], t6)); |
|
} |
|
} else { |
|
if (options == null) { |
|
options = H.setRuntimeTypeInfo([], t4); |
|
if (i !== 0) { |
|
result = P.List_List$from(H.SubListIterable$(t2, 0, i, t9), false, t10); |
|
result.fixed$length = Array; |
|
result.immutable$list = Array; |
|
t13 = result; |
|
compound = new X.CompoundSelector(t13); |
|
if (t13.length === 0) |
|
H.throwExpression(P.ArgumentError$(_s28_)); |
|
result = P.List_List$from(H.setRuntimeTypeInfo([compound], t8), false, t7); |
|
result.fixed$length = Array; |
|
result.immutable$list = Array; |
|
t13 = result; |
|
if (t13.length === 0) |
|
H.throwExpression(P.ArgumentError$(_s28_)); |
|
t14 = _this._sourceSpecificityFor$1(compound); |
|
options.push(H.setRuntimeTypeInfo([new S.Extension(new S.ComplexSelector(t13, false), _null, t14, true, true, _null, _null, _null)], t6)); |
|
} |
|
} |
|
C.JSArray_methods.addAll$1(options, extended); |
|
} |
|
} |
|
if (options == null) |
|
return; |
|
if (targetsUsed != null && targetsUsed._collection$_length !== extensions.get$length(extensions)) |
|
return; |
|
if (options.length === 1) |
|
return J.map$1$1$ax(C.JSArray_methods.get$first(options), new F.Extender__extendCompound_closure(mediaQueryContext), S.ComplexSelector).toList$0(0); |
|
_box_1.first = t1 !== C.ExtendMode_replace; |
|
t1 = J.map$1$1$ax(Y.paths(options, t5), new F.Extender__extendCompound_closure0(_box_1, mediaQueryContext), [P.List, S.ComplexSelector]).where$1(0, new F.Extender__extendCompound_closure1()); |
|
t2 = S.ComplexSelector; |
|
return P.List_List$from(new H.ExpandIterable(t1, new F.Extender__extendCompound_closure2(), [H.getTypeArgumentByIndex(t1, 0), t2]), true, t2); |
|
}, |
|
_extendSimple$4: function(simple, extensions, mediaQueryContext, targetsUsed) { |
|
var extended, result, |
|
t1 = new F.Extender__extendSimple_withoutPseudo(this, extensions, targetsUsed); |
|
if (simple instanceof D.PseudoSelector && simple.selector != null) { |
|
extended = this._extendPseudo$3(simple, extensions, mediaQueryContext); |
|
if (extended != null) |
|
return new H.MappedListIterable(extended, new F.Extender__extendSimple_closure(this, t1), [H.getTypeArgumentByIndex(extended, 0), [P.List, S.Extension]]); |
|
} |
|
result = t1.call$1(simple); |
|
return result == null ? null : H.setRuntimeTypeInfo([result], [[P.List, S.Extension]]); |
|
}, |
|
_extensionForSimple$1: function(simple) { |
|
var t1 = S.ComplexSelector$(H.setRuntimeTypeInfo([X.CompoundSelector$(H.setRuntimeTypeInfo([simple], [M.SimpleSelector]))], [S.ComplexSelectorComponent]), false), |
|
t2 = this._sourceSpecificity.$index(0, simple); |
|
return S.Extension$oneOff(t1, true, t2 == null ? 0 : t2); |
|
}, |
|
_extendPseudo$3: function(pseudo, extensions, mediaQueryContext) { |
|
var complexes, t2, result, |
|
t1 = pseudo.selector, |
|
extended = this._extendList$3(t1, extensions, mediaQueryContext); |
|
if (extended == t1) |
|
return; |
|
complexes = extended.components; |
|
t2 = pseudo.normalizedName === "not"; |
|
if (t2 && !C.JSArray_methods.any$1(t1.components, new F.Extender__extendPseudo_closure()) && C.JSArray_methods.any$1(complexes, new F.Extender__extendPseudo_closure0())) |
|
complexes = new H.WhereIterable(complexes, new F.Extender__extendPseudo_closure1(), [H.getTypeArgumentByIndex(complexes, 0)]); |
|
complexes = J.expand$1$1$ax(complexes, new F.Extender__extendPseudo_closure2(pseudo), S.ComplexSelector); |
|
t1 = t2 && t1.components.length === 1; |
|
t2 = D.PseudoSelector; |
|
if (t1) { |
|
t1 = H.MappedIterable_MappedIterable(complexes, new F.Extender__extendPseudo_closure3(pseudo), H.getRuntimeTypeArgument(complexes, "Iterable", 0), t2); |
|
result = P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0)); |
|
return result.length === 0 ? null : result; |
|
} else |
|
return H.setRuntimeTypeInfo([D.PseudoSelector$(pseudo.name, pseudo.argument, !pseudo.isClass, D.SelectorList$(complexes))], [t2]); |
|
}, |
|
_trim$2: function(selectors, isOriginal) { |
|
var result, i, t1, numOriginals, _box_0, complex1, j, t2, t3, _i, component; |
|
if (selectors.length > 100) |
|
return selectors; |
|
result = Q.QueueList$(null, S.ComplexSelector); |
|
$label0$0: |
|
for (i = selectors.length - 1, t1 = H.getTypeArgumentByIndex(selectors, 0), numOriginals = 0; i >= 0; --i) { |
|
_box_0 = {}; |
|
complex1 = selectors[i]; |
|
if (isOriginal.call$1(complex1)) { |
|
for (j = 0; j < numOriginals; ++j) |
|
if (J.$eq$(result.$index(0, j), complex1)) { |
|
B.rotateSlice(result, 0, j + 1); |
|
continue $label0$0; |
|
} |
|
++numOriginals; |
|
result.addFirst$1(complex1); |
|
continue $label0$0; |
|
} |
|
_box_0.maxSpecificity = 0; |
|
for (t2 = complex1.components, t3 = t2.length, _i = 0; _i < t3; ++_i) { |
|
component = t2[_i]; |
|
if (component instanceof X.CompoundSelector) |
|
_box_0.maxSpecificity = Math.max(_box_0.maxSpecificity, this._sourceSpecificityFor$1(component)); |
|
} |
|
if (result.any$1(result, new F.Extender__trim_closure(_box_0, complex1))) |
|
continue $label0$0; |
|
if (H.SubListIterable$(selectors, 0, i, t1).any$1(0, new F.Extender__trim_closure0(_box_0, complex1))) |
|
continue $label0$0; |
|
result.addFirst$1(complex1); |
|
} |
|
return result; |
|
}, |
|
_sourceSpecificityFor$1: function(compound) { |
|
var t1, t2, t3, specificity, _i, t4; |
|
for (t1 = compound.components, t2 = t1.length, t3 = this._sourceSpecificity, specificity = 0, _i = 0; _i < t2; ++_i) { |
|
t4 = t3.$index(0, t1[_i]); |
|
specificity = Math.max(specificity, H.checkNum(t4 == null ? 0 : t4)); |
|
} |
|
return specificity; |
|
}, |
|
clone$0: function() { |
|
var t3, t4, _this = this, |
|
t1 = M.SimpleSelector, |
|
newSelectors = P.LinkedHashMap_LinkedHashMap$_empty(t1, [P.Set, [F.ModifiableCssValue, D.SelectorList]]), |
|
t2 = [F.ModifiableCssValue, D.SelectorList], |
|
newMediaContexts = P.LinkedHashMap_LinkedHashMap$_empty(t2, [P.List, F.CssMediaQuery]), |
|
oldToNewSelectors = P.LinkedHashMap_LinkedHashMap$_empty([F.CssValue, D.SelectorList], t2); |
|
_this._selectors.forEach$1(0, new F.Extender_clone_closure(_this, newSelectors, oldToNewSelectors, newMediaContexts)); |
|
t2 = S.ComplexSelector; |
|
t3 = S.Extension; |
|
t4 = B.copyMapOfMap(_this._extensions, t1, t2, t3); |
|
t3 = B.copyMapOfList(_this._extensionsByExtender, t1, t3); |
|
t1 = P._LinkedIdentityHashMap__LinkedIdentityHashMap$es6(t1, P.int); |
|
t1.addAll$1(0, _this._sourceSpecificity); |
|
t2 = new P._LinkedIdentityHashSet([t2]); |
|
t2.addAll$1(0, _this._originals); |
|
return new S.Tuple2(new F.Extender(newSelectors, t4, t3, newMediaContexts, t1, t2, C.ExtendMode_normal), oldToNewSelectors, [F.Extender, [P.Map, [F.CssValue, D.SelectorList], [F.ModifiableCssValue, D.SelectorList]]]); |
|
}, |
|
get$_extensions: function() { |
|
return this._extensions; |
|
}, |
|
get$_sourceSpecificity: function() { |
|
return this._sourceSpecificity; |
|
} |
|
}; |
|
F.Extender__extendOrReplace_closure.prototype = { |
|
call$1: function(complex) { |
|
return S.Extension$oneOff(H.interceptedTypeCast(complex, "$isComplexSelector"), false, null); |
|
}, |
|
$signature: 63 |
|
}; |
|
F.Extender_extensionsWhereTarget_closure.prototype = { |
|
call$1: function(extension) { |
|
return !extension.isOptional; |
|
} |
|
}; |
|
F.Extender__registerSelector_closure.prototype = { |
|
call$0: function() { |
|
return P.LinkedHashSet_LinkedHashSet$_empty([F.ModifiableCssValue, D.SelectorList]); |
|
} |
|
}; |
|
F.Extender_addExtension_closure.prototype = { |
|
call$0: function() { |
|
return P.LinkedHashMap_LinkedHashMap$_empty(S.ComplexSelector, S.Extension); |
|
} |
|
}; |
|
F.Extender_addExtension_closure0.prototype = { |
|
call$0: function() { |
|
return H.setRuntimeTypeInfo([], [S.Extension]); |
|
} |
|
}; |
|
F.Extender_addExtension_closure1.prototype = { |
|
call$0: function() { |
|
return this.complex.get$maxSpecificity(); |
|
} |
|
}; |
|
F.Extender__extendExistingExtensions_closure.prototype = { |
|
call$0: function() { |
|
return H.setRuntimeTypeInfo([], [S.Extension]); |
|
} |
|
}; |
|
F.Extender__extendExistingExtensions_closure0.prototype = { |
|
call$0: function() { |
|
return P.LinkedHashMap_LinkedHashMap$_empty(S.ComplexSelector, S.Extension); |
|
} |
|
}; |
|
F.Extender_addExtensions_closure.prototype = { |
|
call$2: function(target, newSources) { |
|
var t1, extensionsForTarget, t2, t3, t4, selectorsForTarget, t5, existingSources, _this = this; |
|
if (target instanceof N.PlaceholderSelector && T.isPrivate(target.name)) |
|
return; |
|
t1 = _this.$this; |
|
extensionsForTarget = t1._extensionsByExtender.$index(0, target); |
|
t2 = extensionsForTarget == null; |
|
if (!t2) { |
|
t3 = _this._box_0; |
|
t4 = t3.extensionsToExtend; |
|
C.JSArray_methods.addAll$1(t4 == null ? t3.extensionsToExtend = H.setRuntimeTypeInfo([], [S.Extension]) : t4, extensionsForTarget); |
|
} |
|
selectorsForTarget = t1._selectors.$index(0, target); |
|
t3 = selectorsForTarget != null; |
|
if (t3) { |
|
t4 = _this._box_0; |
|
t5 = t4.selectorsToExtend; |
|
(t5 == null ? t4.selectorsToExtend = P.LinkedHashSet_LinkedHashSet$_empty([F.ModifiableCssValue, D.SelectorList]) : t5).addAll$1(0, selectorsForTarget); |
|
} |
|
t1 = t1._extensions; |
|
existingSources = t1.$index(0, target); |
|
if (existingSources == null) { |
|
t4 = _this.extender; |
|
t1.$indexSet(0, target, t4.get$_extensions().$index(0, target)); |
|
if (!t2 || t3) { |
|
t1 = _this._box_0; |
|
t2 = t1.newExtensions; |
|
t1 = t2 == null ? t1.newExtensions = P.LinkedHashMap_LinkedHashMap$_empty(M.SimpleSelector, [P.Map, S.ComplexSelector, S.Extension]) : t2; |
|
t1.$indexSet(0, target, t4.get$_extensions().$index(0, target)); |
|
} |
|
} else |
|
newSources.forEach$1(0, new F.Extender_addExtensions__closure(_this._box_0, existingSources, extensionsForTarget, selectorsForTarget, target)); |
|
} |
|
}; |
|
F.Extender_addExtensions__closure.prototype = { |
|
call$2: function(extender, extension) { |
|
var t2, _this = this, |
|
t1 = _this.existingSources; |
|
if (t1.containsKey$1(extender)) |
|
return; |
|
t1.$indexSet(0, extender, extension); |
|
if (_this.extensionsForTarget != null || _this.selectorsForTarget != null) { |
|
t1 = _this._box_0; |
|
t2 = t1.newExtensions; |
|
t1 = t2 == null ? t1.newExtensions = P.LinkedHashMap_LinkedHashMap$_empty(M.SimpleSelector, [P.Map, S.ComplexSelector, S.Extension]) : t2; |
|
t1.putIfAbsent$2(_this.target, new F.Extender_addExtensions___closure()).putIfAbsent$2(extender, new F.Extender_addExtensions___closure0(extension)); |
|
} |
|
} |
|
}; |
|
F.Extender_addExtensions___closure.prototype = { |
|
call$0: function() { |
|
return P.LinkedHashMap_LinkedHashMap$_empty(S.ComplexSelector, S.Extension); |
|
} |
|
}; |
|
F.Extender_addExtensions___closure0.prototype = { |
|
call$0: function() { |
|
return this.extension; |
|
} |
|
}; |
|
F.Extender__extendList_closure.prototype = { |
|
call$1: function(complex) { |
|
return complex != null; |
|
} |
|
}; |
|
F.Extender__extendComplex_closure.prototype = { |
|
call$1: function(component) { |
|
return H.setRuntimeTypeInfo([S.ComplexSelector$(H.setRuntimeTypeInfo([component], [S.ComplexSelectorComponent]), this.complex.lineBreak)], [S.ComplexSelector]); |
|
} |
|
}; |
|
F.Extender__extendComplex_closure0.prototype = { |
|
call$1: function(path) { |
|
var t1 = Y.weave(J.map$1$1$ax(path, new F.Extender__extendComplex__closure(), [P.List, S.ComplexSelectorComponent]).toList$0(0)); |
|
return new H.MappedListIterable(t1, new F.Extender__extendComplex__closure0(this._box_0, this.$this, this.complex, path), [H.getTypeArgumentByIndex(t1, 0), S.ComplexSelector]); |
|
} |
|
}; |
|
F.Extender__extendComplex__closure.prototype = { |
|
call$1: function(complex) { |
|
return complex.components; |
|
} |
|
}; |
|
F.Extender__extendComplex__closure0.prototype = { |
|
call$1: function(components) { |
|
var _this = this, |
|
t1 = _this.complex, |
|
outputComplex = S.ComplexSelector$(components, t1.lineBreak || J.any$1$ax(_this.path, new F.Extender__extendComplex___closure())), |
|
t2 = _this._box_0; |
|
if (t2.first && _this.$this._originals.contains$1(0, t1)) |
|
_this.$this._originals.add$1(0, outputComplex); |
|
t2.first = false; |
|
return outputComplex; |
|
} |
|
}; |
|
F.Extender__extendComplex___closure.prototype = { |
|
call$1: function(inputComplex) { |
|
return inputComplex.lineBreak; |
|
} |
|
}; |
|
F.Extender__extendCompound_closure.prototype = { |
|
call$1: function(state) { |
|
state.assertCompatibleMediaContext$1(this.mediaQueryContext); |
|
return state.extender; |
|
} |
|
}; |
|
F.Extender__extendCompound_closure0.prototype = { |
|
call$1: function(path) { |
|
var complexes, toUnify, originals, t3, _box_0 = {}, |
|
t1 = this._box_1, |
|
t2 = [P.List, S.ComplexSelectorComponent]; |
|
if (t1.first) { |
|
t1.first = false; |
|
complexes = H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([X.CompoundSelector$(J.expand$1$1$ax(path, new F.Extender__extendCompound__closure(), M.SimpleSelector))], [S.ComplexSelectorComponent])], [t2]); |
|
} else { |
|
toUnify = Q.QueueList$(null, t2); |
|
for (t1 = J.get$iterator$ax(path), t2 = [M.SimpleSelector], originals = null; t1.moveNext$0();) { |
|
t3 = t1.get$current(t1); |
|
if (t3.isOriginal) { |
|
if (originals == null) |
|
originals = H.setRuntimeTypeInfo([], t2); |
|
C.JSArray_methods.addAll$1(originals, H.interceptedTypeCast(C.JSArray_methods.get$last(t3.extender.components), "$isCompoundSelector").components); |
|
} else |
|
toUnify._queue_list$_add$1(t3.extender.components); |
|
} |
|
if (originals != null) |
|
toUnify.addFirst$1(H.setRuntimeTypeInfo([X.CompoundSelector$(originals)], [S.ComplexSelectorComponent])); |
|
complexes = Y.unifyComplex(toUnify); |
|
if (complexes == null) |
|
return; |
|
} |
|
_box_0.lineBreak = false; |
|
for (t1 = J.get$iterator$ax(path), t2 = this.mediaQueryContext; t1.moveNext$0();) { |
|
t3 = t1.get$current(t1); |
|
t3.assertCompatibleMediaContext$1(t2); |
|
_box_0.lineBreak = _box_0.lineBreak || t3.extender.lineBreak; |
|
} |
|
return J.map$1$1$ax(complexes, new F.Extender__extendCompound__closure0(_box_0), S.ComplexSelector).toList$0(0); |
|
} |
|
}; |
|
F.Extender__extendCompound__closure.prototype = { |
|
call$1: function(state) { |
|
return H.interceptedTypeCast(C.JSArray_methods.get$last(state.extender.components), "$isCompoundSelector").components; |
|
} |
|
}; |
|
F.Extender__extendCompound__closure0.prototype = { |
|
call$1: function(components) { |
|
return S.ComplexSelector$(components, this._box_0.lineBreak); |
|
} |
|
}; |
|
F.Extender__extendCompound_closure1.prototype = { |
|
call$1: function(complexes) { |
|
return complexes != null; |
|
} |
|
}; |
|
F.Extender__extendCompound_closure2.prototype = { |
|
call$1: function(l) { |
|
return l; |
|
} |
|
}; |
|
F.Extender__extendSimple_withoutPseudo.prototype = { |
|
call$1: function(simple) { |
|
var t1, t2, |
|
extenders = this.extensions.$index(0, simple); |
|
if (extenders == null) |
|
return; |
|
t1 = this.targetsUsed; |
|
if (t1 != null) |
|
t1.add$1(0, simple); |
|
t1 = this.$this; |
|
if (t1._mode === C.ExtendMode_replace) { |
|
t1 = extenders.get$values(); |
|
return P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0)); |
|
} |
|
t2 = H.setRuntimeTypeInfo([], [S.Extension]); |
|
t2.push(t1._extensionForSimple$1(simple)); |
|
for (t1 = extenders.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();) |
|
t2.push(t1.get$current(t1)); |
|
return t2; |
|
} |
|
}; |
|
F.Extender__extendSimple_closure.prototype = { |
|
call$1: function(pseudo) { |
|
var t1 = this.withoutPseudo.call$1(pseudo); |
|
return t1 == null ? H.setRuntimeTypeInfo([this.$this._extensionForSimple$1(pseudo)], [S.Extension]) : t1; |
|
} |
|
}; |
|
F.Extender__extendPseudo_closure.prototype = { |
|
call$1: function(complex) { |
|
return complex.components.length > 1; |
|
} |
|
}; |
|
F.Extender__extendPseudo_closure0.prototype = { |
|
call$1: function(complex) { |
|
return complex.components.length === 1; |
|
} |
|
}; |
|
F.Extender__extendPseudo_closure1.prototype = { |
|
call$1: function(complex) { |
|
return complex.components.length <= 1; |
|
} |
|
}; |
|
F.Extender__extendPseudo_closure2.prototype = { |
|
call$1: function(complex) { |
|
var innerPseudo, t2, |
|
t1 = complex.components; |
|
if (t1.length !== 1) |
|
return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]); |
|
if (!(C.JSArray_methods.get$first(t1) instanceof X.CompoundSelector)) |
|
return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]); |
|
t1 = H.interceptedTypeCast(C.JSArray_methods.get$first(t1), "$isCompoundSelector").components; |
|
if (t1.length !== 1) |
|
return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]); |
|
if (!(C.JSArray_methods.get$first(t1) instanceof D.PseudoSelector)) |
|
return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]); |
|
innerPseudo = H.interceptedTypeCast(C.JSArray_methods.get$first(t1), "$isPseudoSelector"); |
|
t1 = innerPseudo.selector; |
|
if (t1 == null) |
|
return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]); |
|
t2 = this.pseudo; |
|
switch (t2.normalizedName) { |
|
case "not": |
|
if (innerPseudo.normalizedName !== "matches") |
|
return H.setRuntimeTypeInfo([], [S.ComplexSelector]); |
|
return t1.components; |
|
case "matches": |
|
case "any": |
|
case "current": |
|
case "nth-child": |
|
case "nth-last-child": |
|
if (innerPseudo.name !== t2.name) |
|
return H.setRuntimeTypeInfo([], [S.ComplexSelector]); |
|
if (innerPseudo.argument != t2.argument) |
|
return H.setRuntimeTypeInfo([], [S.ComplexSelector]); |
|
return t1.components; |
|
case "has": |
|
case "host": |
|
case "host-context": |
|
case "slotted": |
|
return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]); |
|
default: |
|
return H.setRuntimeTypeInfo([], [S.ComplexSelector]); |
|
} |
|
} |
|
}; |
|
F.Extender__extendPseudo_closure3.prototype = { |
|
call$1: function(complex) { |
|
var t1 = this.pseudo; |
|
return D.PseudoSelector$(t1.name, t1.argument, !t1.isClass, D.SelectorList$(H.setRuntimeTypeInfo([complex], [S.ComplexSelector]))); |
|
} |
|
}; |
|
F.Extender__trim_closure.prototype = { |
|
call$1: function(complex2) { |
|
return complex2.get$minSpecificity() >= this._box_0.maxSpecificity && Y.complexIsSuperselector(complex2.components, this.complex1.components); |
|
} |
|
}; |
|
F.Extender__trim_closure0.prototype = { |
|
call$1: function(complex2) { |
|
return complex2.get$minSpecificity() >= this._box_0.maxSpecificity && Y.complexIsSuperselector(complex2.components, this.complex1.components); |
|
} |
|
}; |
|
F.Extender_clone_closure.prototype = { |
|
call$2: function(simple, selectors) { |
|
var t1, t2, t3, t4, t5, t6, newSelector, mediaContext, _this = this, |
|
newSelectorSet = P.LinkedHashSet_LinkedHashSet$_empty([F.ModifiableCssValue, D.SelectorList]); |
|
_this.newSelectors.$indexSet(0, simple, newSelectorSet); |
|
for (t1 = selectors.get$iterator(selectors), t2 = [D.SelectorList], t3 = _this.oldToNewSelectors, t4 = _this.$this._mediaContexts, t5 = _this.newMediaContexts; t1.moveNext$0();) { |
|
t6 = t1.get$current(t1); |
|
newSelector = new F.ModifiableCssValue(t6.value, t6.span, t2); |
|
newSelectorSet.add$1(0, newSelector); |
|
t3.$indexSet(0, t6, newSelector); |
|
mediaContext = t4.$index(0, t6); |
|
if (mediaContext != null) |
|
t5.$indexSet(0, newSelector, mediaContext); |
|
} |
|
} |
|
}; |
|
S.Extension.prototype = { |
|
assertCompatibleMediaContext$1: function(mediaContext) { |
|
var t1 = this.mediaContext; |
|
if (t1 == null) |
|
return; |
|
if (mediaContext != null && C.C_ListEquality.equals$2(t1, mediaContext)) |
|
return; |
|
throw H.wrapException(E.SassException$("You may not @extend selectors across media queries.", this.span)); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = H.S(this.extender) + " {@extend " + H.S(this.target); |
|
return t1 + (this.isOptional ? " !optional" : "") + "}"; |
|
}, |
|
get$target: function() { |
|
return this.target; |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
Y.unifyComplex_closure.prototype = { |
|
call$1: function(complex) { |
|
var t1 = J.getInterceptor$asx(complex); |
|
return t1.sublist$2(complex, 0, t1.get$length(complex) - 1); |
|
} |
|
}; |
|
Y._weaveParents_closure.prototype = { |
|
call$2: function(group1, group2) { |
|
var unified, t1; |
|
if (C.C_ListEquality.equals$2(group1, group2)) |
|
return group1; |
|
if (!(J.get$first$ax(group1) instanceof X.CompoundSelector) || !(J.get$first$ax(group2) instanceof X.CompoundSelector)) |
|
return; |
|
if (Y.complexIsParentSuperselector(group1, group2)) |
|
return group2; |
|
if (Y.complexIsParentSuperselector(group2, group1)) |
|
return group1; |
|
if (!Y._mustUnify(group1, group2)) |
|
return; |
|
unified = Y.unifyComplex(H.setRuntimeTypeInfo([group1, group2], [[P.List, S.ComplexSelectorComponent]])); |
|
if (unified == null) |
|
return; |
|
t1 = J.getInterceptor$asx(unified); |
|
if (t1.get$length(unified) > 1) |
|
return; |
|
return t1.get$first(unified); |
|
} |
|
}; |
|
Y._weaveParents_closure0.prototype = { |
|
call$1: function(sequence) { |
|
return Y.complexIsParentSuperselector(sequence.get$first(sequence), this.group); |
|
} |
|
}; |
|
Y._weaveParents_closure1.prototype = { |
|
call$1: function(chunk) { |
|
return J.expand$1$1$ax(chunk, new Y._weaveParents__closure1(), S.ComplexSelectorComponent); |
|
} |
|
}; |
|
Y._weaveParents__closure1.prototype = { |
|
call$1: function(group) { |
|
return group; |
|
} |
|
}; |
|
Y._weaveParents_closure2.prototype = { |
|
call$1: function(sequence) { |
|
return sequence.get$length(sequence) === 0; |
|
} |
|
}; |
|
Y._weaveParents_closure3.prototype = { |
|
call$1: function(chunk) { |
|
return J.expand$1$1$ax(chunk, new Y._weaveParents__closure0(), S.ComplexSelectorComponent); |
|
} |
|
}; |
|
Y._weaveParents__closure0.prototype = { |
|
call$1: function(group) { |
|
return group; |
|
} |
|
}; |
|
Y._weaveParents_closure4.prototype = { |
|
call$1: function(choice) { |
|
return J.get$isNotEmpty$asx(choice); |
|
} |
|
}; |
|
Y._weaveParents_closure5.prototype = { |
|
call$1: function(path) { |
|
var t1 = J.expand$1$1$ax(path, new Y._weaveParents__closure(), S.ComplexSelectorComponent); |
|
return P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0)); |
|
} |
|
}; |
|
Y._weaveParents__closure.prototype = { |
|
call$1: function(group) { |
|
return group; |
|
} |
|
}; |
|
Y._mustUnify_closure.prototype = { |
|
call$1: function(component) { |
|
return component instanceof X.CompoundSelector && C.JSArray_methods.any$1(component.components, new Y._mustUnify__closure(this.uniqueSelectors)); |
|
} |
|
}; |
|
Y._mustUnify__closure.prototype = { |
|
call$1: function(simple) { |
|
var t1 = J.getInterceptor$(simple); |
|
if (!t1.$isIDSelector) |
|
t1 = !!t1.$isPseudoSelector && !simple.isClass; |
|
else |
|
t1 = true; |
|
return t1 && this.uniqueSelectors.contains$1(0, simple); |
|
} |
|
}; |
|
Y.paths_closure.prototype = { |
|
call$2: function(paths, choice) { |
|
var t1 = this.T; |
|
t1 = J.expand$1$1$ax(choice, new Y.paths__closure(paths, t1), [P.List, t1]); |
|
return P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0)); |
|
} |
|
}; |
|
Y.paths__closure.prototype = { |
|
call$1: function(option) { |
|
var t1 = this.T; |
|
return J.map$1$1$ax(this.paths, new Y.paths___closure(option, t1), [P.List, t1]); |
|
}, |
|
$signature: function() { |
|
var t1 = this.T; |
|
return {func: 1, ret: [P.Iterable, [P.List, t1]], args: [t1]}; |
|
} |
|
}; |
|
Y.paths___closure.prototype = { |
|
call$1: function(path) { |
|
var t2, |
|
t1 = H.setRuntimeTypeInfo([], [this.T]); |
|
for (t2 = J.get$iterator$ax(path); t2.moveNext$0();) |
|
t1.push(t2.get$current(t2)); |
|
t1.push(this.option); |
|
return t1; |
|
} |
|
}; |
|
Y._hasRoot_closure.prototype = { |
|
call$1: function(simple) { |
|
return simple instanceof D.PseudoSelector && simple.isClass && simple.normalizedName === "root"; |
|
} |
|
}; |
|
Y.listIsSuperslector_closure.prototype = { |
|
call$1: function(complex1) { |
|
return C.JSArray_methods.any$1(this.list1, new Y.listIsSuperslector__closure(complex1)); |
|
} |
|
}; |
|
Y.listIsSuperslector__closure.prototype = { |
|
call$1: function(complex2) { |
|
return Y.complexIsSuperselector(complex2.components, this.complex1.components); |
|
} |
|
}; |
|
Y._simpleIsSuperselectorOfCompound_closure.prototype = { |
|
call$1: function(theirSimple) { |
|
var t1 = this.simple; |
|
if (J.$eq$(t1, theirSimple)) |
|
return true; |
|
if (theirSimple instanceof D.PseudoSelector && theirSimple.selector != null && $._subselectorPseudos.contains$1(0, theirSimple.normalizedName)) |
|
return C.JSArray_methods.every$1(theirSimple.selector.components, new Y._simpleIsSuperselectorOfCompound__closure(t1)); |
|
else |
|
return false; |
|
} |
|
}; |
|
Y._simpleIsSuperselectorOfCompound__closure.prototype = { |
|
call$1: function(complex) { |
|
var t1 = complex.components; |
|
if (t1.length !== 1) |
|
return false; |
|
return C.JSArray_methods.contains$1(H.interceptedTypeCast(C.JSArray_methods.get$single(t1), "$isCompoundSelector").components, this.simple); |
|
} |
|
}; |
|
Y._selectorPseudoIsSuperselector_closure.prototype = { |
|
call$1: function(pseudo2) { |
|
var t1 = pseudo2.selector; |
|
return Y.listIsSuperslector(this.pseudo1.selector.components, t1.components); |
|
} |
|
}; |
|
Y._selectorPseudoIsSuperselector_closure0.prototype = { |
|
call$1: function(complex1) { |
|
var t1 = complex1.components, |
|
t2 = H.setRuntimeTypeInfo([], [S.ComplexSelectorComponent]), |
|
t3 = this.parents; |
|
if (t3 != null) |
|
for (t3 = t3.get$iterator(t3); t3.moveNext$0();) |
|
t2.push(t3.get$current(t3)); |
|
t2.push(this.compound2); |
|
return Y.complexIsSuperselector(t1, t2); |
|
} |
|
}; |
|
Y._selectorPseudoIsSuperselector_closure1.prototype = { |
|
call$1: function(pseudo2) { |
|
var t1 = pseudo2.selector; |
|
return Y.listIsSuperslector(this.pseudo1.selector.components, t1.components); |
|
} |
|
}; |
|
Y._selectorPseudoIsSuperselector_closure2.prototype = { |
|
call$1: function(pseudo2) { |
|
var t1 = pseudo2.selector; |
|
return Y.listIsSuperslector(this.pseudo1.selector.components, t1.components); |
|
} |
|
}; |
|
Y._selectorPseudoIsSuperselector_closure3.prototype = { |
|
call$1: function(complex) { |
|
return C.JSArray_methods.any$1(this.compound2.components, new Y._selectorPseudoIsSuperselector__closure(complex, this.pseudo1)); |
|
} |
|
}; |
|
Y._selectorPseudoIsSuperselector__closure.prototype = { |
|
call$1: function(simple2) { |
|
var compound1, _this = this, |
|
t1 = J.getInterceptor$(simple2); |
|
if (!!t1.$isTypeSelector) { |
|
compound1 = C.JSArray_methods.get$last(_this.complex.components); |
|
return compound1 instanceof X.CompoundSelector && C.JSArray_methods.any$1(compound1.components, new Y._selectorPseudoIsSuperselector___closure(simple2)); |
|
} else if (!!t1.$isIDSelector) { |
|
compound1 = C.JSArray_methods.get$last(_this.complex.components); |
|
return compound1 instanceof X.CompoundSelector && C.JSArray_methods.any$1(compound1.components, new Y._selectorPseudoIsSuperselector___closure0(simple2)); |
|
} else if (!!t1.$isPseudoSelector && simple2.name === _this.pseudo1.name && simple2.selector != null) |
|
return Y.listIsSuperslector(simple2.selector.components, H.setRuntimeTypeInfo([_this.complex], [S.ComplexSelector])); |
|
else |
|
return false; |
|
} |
|
}; |
|
Y._selectorPseudoIsSuperselector___closure.prototype = { |
|
call$1: function(simple1) { |
|
var t1; |
|
if (simple1 instanceof F.TypeSelector) { |
|
t1 = this.simple2.name.$eq(0, simple1.name); |
|
t1 = !t1; |
|
} else |
|
t1 = false; |
|
return t1; |
|
} |
|
}; |
|
Y._selectorPseudoIsSuperselector___closure0.prototype = { |
|
call$1: function(simple1) { |
|
var t1; |
|
if (simple1 instanceof N.IDSelector) { |
|
t1 = simple1.name; |
|
t1 = this.simple2.name !== t1; |
|
} else |
|
t1 = false; |
|
return t1; |
|
} |
|
}; |
|
Y._selectorPseudoIsSuperselector_closure4.prototype = { |
|
call$1: function(pseudo2) { |
|
return J.$eq$(this.pseudo1.selector, pseudo2.selector); |
|
} |
|
}; |
|
Y._selectorPseudoIsSuperselector_closure5.prototype = { |
|
call$1: function(pseudo2) { |
|
var t1, t2; |
|
if (pseudo2 instanceof D.PseudoSelector) { |
|
t1 = this.pseudo1; |
|
if (pseudo2.name === t1.name) |
|
if (pseudo2.argument == t1.argument) { |
|
t2 = pseudo2.selector; |
|
t2 = Y.listIsSuperslector(t1.selector.components, t2.components); |
|
t1 = t2; |
|
} else |
|
t1 = false; |
|
else |
|
t1 = false; |
|
} else |
|
t1 = false; |
|
return t1; |
|
} |
|
}; |
|
Y._selectorPseudosNamed_closure.prototype = { |
|
call$1: function(pseudo) { |
|
return pseudo.isClass === this.isClass && pseudo.selector != null && pseudo.name === this.name; |
|
} |
|
}; |
|
A.MergedExtension.prototype = { |
|
unmerge$0: function() { |
|
var $async$self = this; |
|
return P._makeSyncStarIterable(function() { |
|
var $async$goto = 0, $async$handler = 1, $async$currentError, t1; |
|
return function $async$unmerge$0($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) { |
|
$async$currentError = $async$result; |
|
$async$goto = $async$handler; |
|
} |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.left; |
|
$async$goto = !!t1.$isMergedExtension ? 2 : 4; |
|
break; |
|
case 2: |
|
// then |
|
$async$goto = 5; |
|
return P._IterationMarker_yieldStar(t1.unmerge$0()); |
|
case 5: |
|
// after yield |
|
// goto join |
|
$async$goto = 3; |
|
break; |
|
case 4: |
|
// else |
|
$async$goto = 6; |
|
return t1; |
|
case 6: |
|
// after yield |
|
case 3: |
|
// join |
|
$async$goto = 7; |
|
return $async$self.right; |
|
case 7: |
|
// after yield |
|
// implicit return |
|
return P._IterationMarker_endOfIteration(); |
|
case 1: |
|
// rethrow |
|
return P._IterationMarker_uncaughtError($async$currentError); |
|
} |
|
}; |
|
}, S.Extension); |
|
} |
|
}; |
|
L.ExtendMode.prototype = { |
|
toString$0: function(_) { |
|
return this.name; |
|
} |
|
}; |
|
Y.closure.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments); |
|
return t1.$index($arguments, 0).get$isTruthy() ? t1.$index($arguments, 1) : t1.$index($arguments, 2); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure43.prototype = { |
|
call$1: function($arguments) { |
|
return K._rgb("rgb", $arguments); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure44.prototype = { |
|
call$1: function($arguments) { |
|
return K._rgb("rgb", $arguments); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure45.prototype = { |
|
call$1: function($arguments) { |
|
return K._rgbTwoArg("rgb", $arguments); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure46.prototype = { |
|
call$1: function($arguments) { |
|
var parsed = K._parseChannels("rgb", H.setRuntimeTypeInfo(["$red", "$green", "$blue"], [P.String]), J.get$first$ax($arguments)); |
|
return parsed instanceof D.SassString ? parsed : K._rgb("rgb", H.subtypeCast(parsed, "$isList", [F.Value], "$asList")); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure47.prototype = { |
|
call$1: function($arguments) { |
|
return K._rgb("rgba", $arguments); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure48.prototype = { |
|
call$1: function($arguments) { |
|
return K._rgb("rgba", $arguments); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure49.prototype = { |
|
call$1: function($arguments) { |
|
return K._rgbTwoArg("rgba", $arguments); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure50.prototype = { |
|
call$1: function($arguments) { |
|
var parsed = K._parseChannels("rgba", H.setRuntimeTypeInfo(["$red", "$green", "$blue"], [P.String]), J.get$first$ax($arguments)); |
|
return parsed instanceof D.SassString ? parsed : K._rgb("rgba", H.subtypeCast(parsed, "$isList", [F.Value], "$asList")); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure51.prototype = { |
|
call$1: function($arguments) { |
|
var color, t2, |
|
t1 = J.getInterceptor$asx($arguments), |
|
weight = t1.$index($arguments, 1).assertNumber$1("weight"); |
|
if (t1.$index($arguments, 0) instanceof T.SassNumber) { |
|
if (weight.value !== 100 || !weight.hasUnit$1("%")) |
|
throw H.wrapException("Only one argument may be passed to the plain-CSS invert() function."); |
|
return K._functionString("invert", t1.take$1($arguments, 1)); |
|
} |
|
color = t1.$index($arguments, 0).assertColor$1("color"); |
|
t1 = color.get$red(); |
|
t2 = color.get$green(); |
|
return K._mixColors(color.changeRgb$3$blue$green$red(255 - color.get$blue(), 255 - t2, 255 - t1), color, weight); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure52.prototype = { |
|
call$1: function($arguments) { |
|
return K._hsl("hsl", $arguments); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure53.prototype = { |
|
call$1: function($arguments) { |
|
return K._hsl("hsl", $arguments); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure54.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments); |
|
if (t1.$index($arguments, 0).get$isVar() || t1.$index($arguments, 1).get$isVar()) |
|
return K._functionString("hsl", $arguments); |
|
else |
|
throw H.wrapException(E.SassScriptException$("Missing argument $lightness.")); |
|
}, |
|
$signature: 4 |
|
}; |
|
K.closure55.prototype = { |
|
call$1: function($arguments) { |
|
var parsed = K._parseChannels("hsl", H.setRuntimeTypeInfo(["$hue", "$saturation", "$lightness"], [P.String]), J.get$first$ax($arguments)); |
|
return parsed instanceof D.SassString ? parsed : K._hsl("hsl", H.subtypeCast(parsed, "$isList", [F.Value], "$asList")); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure56.prototype = { |
|
call$1: function($arguments) { |
|
return K._hsl("hsla", $arguments); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure57.prototype = { |
|
call$1: function($arguments) { |
|
return K._hsl("hsla", $arguments); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure58.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments); |
|
if (t1.$index($arguments, 0).get$isVar() || t1.$index($arguments, 1).get$isVar()) |
|
return K._functionString("hsla", $arguments); |
|
else |
|
throw H.wrapException(E.SassScriptException$("Missing argument $lightness.")); |
|
}, |
|
$signature: 4 |
|
}; |
|
K.closure59.prototype = { |
|
call$1: function($arguments) { |
|
var parsed = K._parseChannels("hsla", H.setRuntimeTypeInfo(["$hue", "$saturation", "$lightness"], [P.String]), J.get$first$ax($arguments)); |
|
return parsed instanceof D.SassString ? parsed : K._hsl("hsla", H.subtypeCast(parsed, "$isList", [F.Value], "$asList")); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure60.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments); |
|
if (t1.$index($arguments, 0) instanceof T.SassNumber) |
|
return K._functionString("grayscale", $arguments); |
|
return t1.$index($arguments, 0).assertColor$1("color").changeHsl$1$saturation(0); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure61.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments), |
|
color = t1.$index($arguments, 0).assertColor$1("color"), |
|
degrees = t1.$index($arguments, 1).assertNumber$1("degrees"); |
|
return color.changeHsl$1$hue(color.get$hue() + degrees.value); |
|
}, |
|
$signature: 6 |
|
}; |
|
K.closure62.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments), |
|
color = t1.$index($arguments, 0).assertColor$1("color"), |
|
amount = t1.$index($arguments, 1).assertNumber$1("amount"); |
|
return color.changeHsl$1$lightness(C.JSNumber_methods.clamp$2(color.get$lightness() + amount.valueInRange$3(0, 100, "amount"), 0, 100)); |
|
}, |
|
$signature: 6 |
|
}; |
|
K.closure63.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments), |
|
color = t1.$index($arguments, 0).assertColor$1("color"), |
|
amount = t1.$index($arguments, 1).assertNumber$1("amount"); |
|
return color.changeHsl$1$lightness(C.JSNumber_methods.clamp$2(color.get$lightness() - amount.valueInRange$3(0, 100, "amount"), 0, 100)); |
|
}, |
|
$signature: 6 |
|
}; |
|
K.closure64.prototype = { |
|
call$1: function($arguments) { |
|
return new D.SassString("saturate(" + N.serializeValue(J.$index$asx($arguments, 0).assertNumber$1("amount"), false, true) + ")", false); |
|
}, |
|
$signature: 4 |
|
}; |
|
K.closure65.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments), |
|
color = t1.$index($arguments, 0).assertColor$1("color"), |
|
amount = t1.$index($arguments, 1).assertNumber$1("amount"); |
|
return color.changeHsl$1$saturation(C.JSNumber_methods.clamp$2(color.get$saturation() + amount.valueInRange$3(0, 100, "amount"), 0, 100)); |
|
}, |
|
$signature: 6 |
|
}; |
|
K.closure66.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments), |
|
color = t1.$index($arguments, 0).assertColor$1("color"), |
|
amount = t1.$index($arguments, 1).assertNumber$1("amount"); |
|
return color.changeHsl$1$saturation(C.JSNumber_methods.clamp$2(color.get$saturation() - amount.valueInRange$3(0, 100, "amount"), 0, 100)); |
|
}, |
|
$signature: 6 |
|
}; |
|
K.closure67.prototype = { |
|
call$1: function($arguments) { |
|
var color, |
|
argument = J.$index$asx($arguments, 0); |
|
if (argument instanceof D.SassString && !argument.hasQuotes && J.contains$1$asx(argument.text, $.$get$_microsoftFilterStart())) |
|
return K._functionString("alpha", $arguments); |
|
color = argument.assertColor$1("color"); |
|
return new T.SassNumber(color.alpha, C.List_empty, C.List_empty, null); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure68.prototype = { |
|
call$1: function($arguments) { |
|
var t1, |
|
argList = J.$index$asx($arguments, 0).get$asList(); |
|
if (argList.length !== 0 && C.JSArray_methods.every$1(argList, new K._closure10())) |
|
return K._functionString("alpha", $arguments); |
|
t1 = argList.length; |
|
if (t1 === 0) |
|
throw H.wrapException(E.SassScriptException$("Missing argument $color.")); |
|
else |
|
throw H.wrapException(E.SassScriptException$("Only 1 argument allowed, but " + t1 + " were passed.")); |
|
}, |
|
$signature: 4 |
|
}; |
|
K._closure10.prototype = { |
|
call$1: function(argument) { |
|
return argument instanceof D.SassString && !argument.hasQuotes && J.contains$1$asx(argument.text, $.$get$_microsoftFilterStart()); |
|
} |
|
}; |
|
K.closure69.prototype = { |
|
call$1: function($arguments) { |
|
var color, |
|
t1 = J.getInterceptor$asx($arguments); |
|
if (t1.$index($arguments, 0) instanceof T.SassNumber) |
|
return K._functionString("opacity", $arguments); |
|
color = t1.$index($arguments, 0).assertColor$1("color"); |
|
return new T.SassNumber(color.alpha, C.List_empty, C.List_empty, null); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure96.prototype = { |
|
call$1: function($arguments) { |
|
var result, color, t2, |
|
t1 = J.getInterceptor$asx($arguments), |
|
weight = t1.$index($arguments, 1).assertNumber$1("weight"); |
|
if (t1.$index($arguments, 0) instanceof T.SassNumber) { |
|
if (weight.value !== 100 || !weight.hasUnit$1("%")) |
|
throw H.wrapException("Only one argument may be passed to the plain-CSS invert() function."); |
|
result = K._functionString("invert", t1.take$1($arguments, 1)); |
|
N.warn("Passing a number to color.invert() is deprecated.\n\nRecommendation: " + result.toString$0(0), false); |
|
return result; |
|
} |
|
color = t1.$index($arguments, 0).assertColor$1("color"); |
|
t1 = color.get$red(); |
|
t2 = color.get$green(); |
|
return K._mixColors(color.changeRgb$3$blue$green$red(255 - color.get$blue(), 255 - t2, 255 - t1), color, weight); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure97.prototype = { |
|
call$1: function($arguments) { |
|
var result, |
|
t1 = J.getInterceptor$asx($arguments); |
|
if (t1.$index($arguments, 0) instanceof T.SassNumber) { |
|
result = K._functionString("grayscale", t1.take$1($arguments, 1)); |
|
N.warn("Passing a number to color.grayscale() is deprecated.\n\nRecommendation: " + result.toString$0(0), false); |
|
return result; |
|
} |
|
return t1.$index($arguments, 0).assertColor$1("color").changeHsl$1$saturation(0); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure98.prototype = { |
|
call$1: function($arguments) { |
|
var result, color, |
|
argument = J.$index$asx($arguments, 0); |
|
if (argument instanceof D.SassString && !argument.hasQuotes && J.contains$1$asx(argument.text, $.$get$_microsoftFilterStart())) { |
|
result = K._functionString("alpha", $arguments); |
|
N.warn("Using color.alpha() for a Microsoft filter is deprecated.\n\nRecommendation: " + result.toString$0(0), false); |
|
return result; |
|
} |
|
color = argument.assertColor$1("color"); |
|
return new T.SassNumber(color.alpha, C.List_empty, C.List_empty, null); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure99.prototype = { |
|
call$1: function($arguments) { |
|
var result, |
|
t1 = J.getInterceptor$asx($arguments); |
|
if (C.JSArray_methods.every$1(t1.$index($arguments, 0).get$asList(), new K._closure12())) { |
|
result = K._functionString("alpha", $arguments); |
|
N.warn("Using color.alpha() for a Microsoft filter is deprecated.\n\nRecommendation: " + result.toString$0(0), false); |
|
return result; |
|
} |
|
throw H.wrapException(E.SassScriptException$("Only 1 argument allowed, but " + t1.get$length($arguments) + " were passed.")); |
|
}, |
|
$signature: 4 |
|
}; |
|
K._closure12.prototype = { |
|
call$1: function(argument) { |
|
return argument instanceof D.SassString && !argument.hasQuotes && J.contains$1$asx(argument.text, $.$get$_microsoftFilterStart()); |
|
} |
|
}; |
|
K.closure100.prototype = { |
|
call$1: function($arguments) { |
|
var result, color, |
|
t1 = J.getInterceptor$asx($arguments); |
|
if (t1.$index($arguments, 0) instanceof T.SassNumber) { |
|
result = K._functionString("opacity", $arguments); |
|
N.warn("Passing a number to color.opacity() is deprecated.\n\nRecommendation: " + result.toString$0(0), false); |
|
return result; |
|
} |
|
color = t1.$index($arguments, 0).assertColor$1("color"); |
|
return new T.SassNumber(color.alpha, C.List_empty, C.List_empty, null); |
|
}, |
|
$signature: 0 |
|
}; |
|
K.closure83.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.get$first$ax($arguments).assertColor$1("color").get$red(); |
|
return new T.SassNumber(t1, C.List_empty, C.List_empty, null); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure82.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.get$first$ax($arguments).assertColor$1("color").get$green(); |
|
return new T.SassNumber(t1, C.List_empty, C.List_empty, null); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure81.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.get$first$ax($arguments).assertColor$1("color").get$blue(); |
|
return new T.SassNumber(t1, C.List_empty, C.List_empty, null); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure80.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments); |
|
return K._mixColors(t1.$index($arguments, 0).assertColor$1("color1"), t1.$index($arguments, 1).assertColor$1("color2"), t1.$index($arguments, 2).assertNumber$1("weight")); |
|
}, |
|
$signature: 6 |
|
}; |
|
K.closure79.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.get$first$ax($arguments).assertColor$1("color").get$hue(), |
|
t2 = P.String, |
|
t3 = H.setRuntimeTypeInfo(["deg"], [t2]); |
|
t2 = P.List_List$unmodifiable(t3, t2); |
|
return new T.SassNumber(t1, t2, C.List_empty, null); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure78.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.get$first$ax($arguments).assertColor$1("color").get$saturation(), |
|
t2 = P.String, |
|
t3 = H.setRuntimeTypeInfo(["%"], [t2]); |
|
t2 = P.List_List$unmodifiable(t3, t2); |
|
return new T.SassNumber(t1, t2, C.List_empty, null); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure77.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.get$first$ax($arguments).assertColor$1("color").get$lightness(), |
|
t2 = P.String, |
|
t3 = H.setRuntimeTypeInfo(["%"], [t2]); |
|
t2 = P.List_List$unmodifiable(t3, t2); |
|
return new T.SassNumber(t1, t2, C.List_empty, null); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure76.prototype = { |
|
call$1: function($arguments) { |
|
var color = J.$index$asx($arguments, 0).assertColor$1("color"); |
|
return color.changeHsl$1$hue(color.get$hue() + 180); |
|
}, |
|
$signature: 6 |
|
}; |
|
K.closure74.prototype = { |
|
call$1: function($arguments) { |
|
var keywords, t2, red, green, blue, hue, saturation, lightness, alpha, hasRgb, hasHsl, t3, t4, t5, _null = null, |
|
t1 = J.getInterceptor$asx($arguments), |
|
color = t1.$index($arguments, 0).assertColor$1("color"), |
|
argumentList = H.interceptedTypeCast(t1.$index($arguments, 1), "$isSassArgumentList"); |
|
if (argumentList._list$_contents.length !== 0) |
|
throw H.wrapException(E.SassScriptException$("Only one positional argument is allowed. All other arguments must be passed by name.")); |
|
argumentList._wereKeywordsAccessed = true; |
|
keywords = P.LinkedHashMap_LinkedHashMap$of(argumentList._keywords, P.String, F.Value); |
|
t1 = new K.closure_getInRange0(keywords); |
|
t2 = t1.call$3("red", -255, 255); |
|
red = t2 == null ? _null : T.fuzzyRound(t2); |
|
t2 = t1.call$3("green", -255, 255); |
|
green = t2 == null ? _null : T.fuzzyRound(t2); |
|
t2 = t1.call$3("blue", -255, 255); |
|
blue = t2 == null ? _null : T.fuzzyRound(t2); |
|
t2 = keywords.remove$1(0, "hue"); |
|
t2 = t2 == null ? _null : t2.assertNumber$1("hue"); |
|
hue = t2 == null ? _null : t2.value; |
|
saturation = t1.call$3("saturation", -100, 100); |
|
lightness = t1.call$3("lightness", -100, 100); |
|
alpha = t1.call$3("alpha", -1, 1); |
|
if (keywords.get$isNotEmpty(keywords)) |
|
throw H.wrapException(E.SassScriptException$("No " + B.pluralize("argument", keywords.get$length(keywords), _null) + " named " + H.S(B.toSentence(keywords.get$keys().map$1$1(0, new K._closure9(), P.Object), "or")) + ".")); |
|
t1 = red == null; |
|
hasRgb = !t1 || green != null || blue != null; |
|
t2 = hue == null; |
|
hasHsl = !t2 || saturation != null || lightness != null; |
|
if (hasRgb) { |
|
if (hasHsl) |
|
throw H.wrapException(E.SassScriptException$("RGB parameters may not be passed along with HSL parameters.")); |
|
t2 = color.get$red(); |
|
t2 = H.intTypeCast(C.JSInt_methods.clamp$2(t2 + (t1 ? 0 : red), 0, 255)); |
|
t3 = color.get$green(); |
|
t1 = H.intTypeCast(C.JSInt_methods.clamp$2(t3 + (green == null ? 0 : green), 0, 255)); |
|
t3 = color.get$blue(); |
|
t3 = H.intTypeCast(C.JSInt_methods.clamp$2(t3 + (blue == null ? 0 : blue), 0, 255)); |
|
t4 = alpha == null ? 0 : alpha; |
|
return color.changeRgb$4$alpha$blue$green$red(C.JSNumber_methods.clamp$2(color.alpha + t4, 0, 1), t3, t1, t2); |
|
} else if (hasHsl) { |
|
t1 = color.get$hue(); |
|
t2 = t2 ? 0 : hue; |
|
t3 = color.get$saturation(); |
|
t3 = C.JSNumber_methods.clamp$2(t3 + (saturation == null ? 0 : saturation), 0, 100); |
|
t4 = color.get$lightness(); |
|
t4 = C.JSNumber_methods.clamp$2(t4 + (lightness == null ? 0 : lightness), 0, 100); |
|
t5 = alpha == null ? 0 : alpha; |
|
return color.changeHsl$4$alpha$hue$lightness$saturation(C.JSNumber_methods.clamp$2(color.alpha + t5, 0, 1), t1 + t2, t4, t3); |
|
} else if (alpha != null) |
|
return color.changeAlpha$1(C.JSNumber_methods.clamp$2(color.alpha + alpha, 0, 1)); |
|
else |
|
return color; |
|
}, |
|
$signature: 6 |
|
}; |
|
K.closure_getInRange0.prototype = { |
|
call$3: function($name, min, max) { |
|
var t1 = this.keywords.remove$1(0, $name); |
|
t1 = t1 == null ? null : t1.assertNumber$1($name); |
|
return t1 == null ? null : t1.valueInRange$3(min, max, $name); |
|
} |
|
}; |
|
K._closure9.prototype = { |
|
call$1: function($name) { |
|
return "$" + H.S($name); |
|
} |
|
}; |
|
K.closure73.prototype = { |
|
call$1: function($arguments) { |
|
var keywords, t2, red, green, blue, saturation, lightness, alpha, hasRgb, hasHsl, t3, t4, |
|
t1 = J.getInterceptor$asx($arguments), |
|
color = t1.$index($arguments, 0).assertColor$1("color"), |
|
argumentList = H.interceptedTypeCast(t1.$index($arguments, 1), "$isSassArgumentList"); |
|
if (argumentList._list$_contents.length !== 0) |
|
throw H.wrapException(E.SassScriptException$("Only one positional argument is allowed. All other arguments must be passed by name.")); |
|
argumentList._wereKeywordsAccessed = true; |
|
keywords = P.LinkedHashMap_LinkedHashMap$of(argumentList._keywords, P.String, F.Value); |
|
t1 = new K.closure_getScale(keywords); |
|
t2 = new K.closure_scaleValue(); |
|
red = t1.call$1("red"); |
|
green = t1.call$1("green"); |
|
blue = t1.call$1("blue"); |
|
saturation = t1.call$1("saturation"); |
|
lightness = t1.call$1("lightness"); |
|
alpha = t1.call$1("alpha"); |
|
if (keywords.get$isNotEmpty(keywords)) |
|
throw H.wrapException(E.SassScriptException$("No " + B.pluralize("argument", keywords.get$length(keywords), null) + " named " + H.S(B.toSentence(keywords.get$keys().map$1$1(0, new K._closure8(), P.Object), "or")) + ".")); |
|
hasRgb = red != null || green != null || blue != null; |
|
hasHsl = saturation != null || lightness != null; |
|
if (hasRgb) { |
|
if (hasHsl) |
|
throw H.wrapException(E.SassScriptException$("RGB parameters may not be passed along with HSL parameters.")); |
|
t1 = T.fuzzyRound(t2.call$3(color.get$red(), red, 255)); |
|
t3 = T.fuzzyRound(t2.call$3(color.get$green(), green, 255)); |
|
t4 = T.fuzzyRound(t2.call$3(color.get$blue(), blue, 255)); |
|
return color.changeRgb$4$alpha$blue$green$red(t2.call$3(color.alpha, alpha, 1), t4, t3, t1); |
|
} else if (hasHsl) { |
|
t1 = t2.call$3(color.get$saturation(), saturation, 100); |
|
t3 = t2.call$3(color.get$lightness(), lightness, 100); |
|
return color.changeHsl$3$alpha$lightness$saturation(t2.call$3(color.alpha, alpha, 1), t3, t1); |
|
} else if (alpha != null) |
|
return color.changeAlpha$1(t2.call$3(color.alpha, alpha, 1)); |
|
else |
|
return color; |
|
}, |
|
$signature: 6 |
|
}; |
|
K.closure_getScale.prototype = { |
|
call$1: function($name) { |
|
var number, |
|
value = this.keywords.remove$1(0, $name); |
|
if (value == null) |
|
return; |
|
number = value.assertNumber$1($name); |
|
number.assertUnit$2("%", $name); |
|
return number.valueInRange$3(-100, 100, $name) / 100; |
|
} |
|
}; |
|
K.closure_scaleValue.prototype = { |
|
call$3: function(current, scale, max) { |
|
if (scale == null) |
|
return current; |
|
return current + (scale > 0 ? max - current : current) * scale; |
|
} |
|
}; |
|
K._closure8.prototype = { |
|
call$1: function($name) { |
|
return "$" + H.S($name); |
|
} |
|
}; |
|
K.closure72.prototype = { |
|
call$1: function($arguments) { |
|
var keywords, t2, red, green, blue, hue, saturation, lightness, alpha, hasRgb, hasHsl, _null = null, |
|
t1 = J.getInterceptor$asx($arguments), |
|
color = t1.$index($arguments, 0).assertColor$1("color"), |
|
argumentList = H.interceptedTypeCast(t1.$index($arguments, 1), "$isSassArgumentList"); |
|
if (argumentList._list$_contents.length !== 0) |
|
throw H.wrapException(E.SassScriptException$("Only one positional argument is allowed. All other arguments must be passed by name.")); |
|
argumentList._wereKeywordsAccessed = true; |
|
keywords = P.LinkedHashMap_LinkedHashMap$of(argumentList._keywords, P.String, F.Value); |
|
t1 = new K.closure_getInRange(keywords); |
|
t2 = t1.call$3("red", 0, 255); |
|
red = t2 == null ? _null : T.fuzzyRound(t2); |
|
t2 = t1.call$3("green", 0, 255); |
|
green = t2 == null ? _null : T.fuzzyRound(t2); |
|
t2 = t1.call$3("blue", 0, 255); |
|
blue = t2 == null ? _null : T.fuzzyRound(t2); |
|
t2 = keywords.remove$1(0, "hue"); |
|
t2 = t2 == null ? _null : t2.assertNumber$1("hue"); |
|
hue = t2 == null ? _null : t2.value; |
|
saturation = t1.call$3("saturation", 0, 100); |
|
lightness = t1.call$3("lightness", 0, 100); |
|
alpha = t1.call$3("alpha", 0, 1); |
|
if (keywords.get$isNotEmpty(keywords)) |
|
throw H.wrapException(E.SassScriptException$("No " + B.pluralize("argument", keywords.get$length(keywords), _null) + " named " + H.S(B.toSentence(keywords.get$keys().map$1$1(0, new K._closure7(), P.Object), "or")) + ".")); |
|
hasRgb = red != null || green != null || blue != null; |
|
hasHsl = hue != null || saturation != null || lightness != null; |
|
if (hasRgb) { |
|
if (hasHsl) |
|
throw H.wrapException(E.SassScriptException$("RGB parameters may not be passed along with HSL parameters.")); |
|
return color.changeRgb$4$alpha$blue$green$red(alpha, blue, green, red); |
|
} else if (hasHsl) |
|
return color.changeHsl$4$alpha$hue$lightness$saturation(alpha, hue, lightness, saturation); |
|
else if (alpha != null) |
|
return color.changeAlpha$1(alpha); |
|
else |
|
return color; |
|
}, |
|
$signature: 6 |
|
}; |
|
K.closure_getInRange.prototype = { |
|
call$3: function($name, min, max) { |
|
var t1 = this.keywords.remove$1(0, $name); |
|
t1 = t1 == null ? null : t1.assertNumber$1($name); |
|
return t1 == null ? null : t1.valueInRange$3(min, max, $name); |
|
} |
|
}; |
|
K._closure7.prototype = { |
|
call$1: function($name) { |
|
return "$" + H.S($name); |
|
} |
|
}; |
|
K.closure75.prototype = { |
|
call$1: function($arguments) { |
|
var color = J.$index$asx($arguments, 0).assertColor$1("color"), |
|
t1 = new K.closure_hexString(); |
|
return new D.SassString("#" + H.S(t1.call$1(T.fuzzyRound(color.alpha * 255))) + H.S(t1.call$1(color.get$red())) + H.S(t1.call$1(color.get$green())) + H.S(t1.call$1(color.get$blue())), false); |
|
}, |
|
$signature: 4 |
|
}; |
|
K.closure_hexString.prototype = { |
|
call$1: function(component) { |
|
return C.JSString_methods.padLeft$2(J.toRadixString$1$n(component, 16), 2, "0").toUpperCase(); |
|
}, |
|
$signature: 17 |
|
}; |
|
K._functionString_closure.prototype = { |
|
call$1: function(argument) { |
|
argument.toString; |
|
return N.serializeValue(argument, false, true); |
|
} |
|
}; |
|
K._removedColorFunction_closure.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = this.name, |
|
t2 = J.getInterceptor$asx($arguments), |
|
t3 = "The function " + t1 + "() isn't in the sass:color module.\n\nRecommendation: color.adjust(" + H.S(t2.$index($arguments, 0)) + ", $" + this.argument + ": "; |
|
throw H.wrapException(E.SassScriptException$(t3 + (this.negative ? "-" : "") + H.S(t2.$index($arguments, 1)) + ")\n\nMore info: https://sass-lang.com/documentation/functions/color#" + t1)); |
|
}, |
|
$signature: 23 |
|
}; |
|
K._parseChannels_closure.prototype = { |
|
call$1: function(value) { |
|
return value.get$isVar(); |
|
} |
|
}; |
|
D.closure42.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.$index$asx($arguments, 0).get$asList().length; |
|
return new T.SassNumber(t1, C.List_empty, C.List_empty, null); |
|
}, |
|
$signature: 1 |
|
}; |
|
D.closure41.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments), |
|
list = t1.$index($arguments, 0), |
|
index = t1.$index($arguments, 1); |
|
return list.get$asList()[list.sassIndexToListIndex$2(index, "n")]; |
|
}, |
|
$signature: 0 |
|
}; |
|
D.closure40.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments), |
|
list = t1.$index($arguments, 0), |
|
index = t1.$index($arguments, 1), |
|
value = t1.$index($arguments, 2), |
|
t2 = list.get$asList(), |
|
newList = H.setRuntimeTypeInfo(t2.slice(0), [H.getTypeArgumentByIndex(t2, 0)]); |
|
newList[list.sassIndexToListIndex$2(index, "n")] = value; |
|
return t1.$index($arguments, 0).changeListContents$1(newList); |
|
}, |
|
$signature: 7 |
|
}; |
|
D.closure39.prototype = { |
|
call$1: function($arguments) { |
|
var separator, bracketed, t2, t3, _i, |
|
t1 = J.getInterceptor$asx($arguments), |
|
list1 = t1.$index($arguments, 0), |
|
list2 = t1.$index($arguments, 1), |
|
separatorParam = t1.$index($arguments, 2).assertString$1("separator"), |
|
bracketedParam = t1.$index($arguments, 3); |
|
t1 = separatorParam.text; |
|
if (t1 === "auto") |
|
if (list1.get$separator() !== C.ListSeparator_undecided) |
|
separator = list1.get$separator(); |
|
else |
|
separator = list2.get$separator() !== C.ListSeparator_undecided ? list2.get$separator() : C.ListSeparator_space; |
|
else if (t1 === "space") |
|
separator = C.ListSeparator_space; |
|
else { |
|
if (t1 !== "comma") |
|
throw H.wrapException(E.SassScriptException$('$separator: Must be "space", "comma", or "auto".')); |
|
separator = C.ListSeparator_comma; |
|
} |
|
bracketed = bracketedParam instanceof D.SassString && bracketedParam.text === "auto" ? list1.get$hasBrackets() : bracketedParam.get$isTruthy(); |
|
t1 = H.setRuntimeTypeInfo([], [F.Value]); |
|
for (t2 = list1.get$asList(), t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) |
|
t1.push(t2[_i]); |
|
for (t2 = list2.get$asList(), t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) |
|
t1.push(t2[_i]); |
|
return D.SassList$(t1, separator, bracketed); |
|
}, |
|
$signature: 7 |
|
}; |
|
D.closure38.prototype = { |
|
call$1: function($arguments) { |
|
var separator, t2, t3, _i, |
|
t1 = J.getInterceptor$asx($arguments), |
|
list = t1.$index($arguments, 0), |
|
value = t1.$index($arguments, 1); |
|
t1 = t1.$index($arguments, 2).assertString$1("separator").text; |
|
if (t1 === "auto") |
|
separator = list.get$separator() === C.ListSeparator_undecided ? C.ListSeparator_space : list.get$separator(); |
|
else if (t1 === "space") |
|
separator = C.ListSeparator_space; |
|
else { |
|
if (t1 !== "comma") |
|
throw H.wrapException(E.SassScriptException$('$separator: Must be "space", "comma", or "auto".')); |
|
separator = C.ListSeparator_comma; |
|
} |
|
t1 = H.setRuntimeTypeInfo([], [F.Value]); |
|
for (t2 = list.get$asList(), t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) |
|
t1.push(t2[_i]); |
|
t1.push(value); |
|
return list.changeListContents$2$separator(t1, separator); |
|
}, |
|
$signature: 7 |
|
}; |
|
D.closure37.prototype = { |
|
call$1: function($arguments) { |
|
var results, t2, result, _box_0 = {}, |
|
t1 = J.$index$asx($arguments, 0).get$asList(), |
|
lists = new H.MappedListIterable(t1, new D._closure4(), [H.getTypeArgumentByIndex(t1, 0), [P.List, F.Value]]).toList$0(0); |
|
if (lists.length === 0) |
|
return C.SassList_lmy; |
|
_box_0.i = 0; |
|
results = H.setRuntimeTypeInfo([], [D.SassList]); |
|
for (t1 = F.Value, t2 = [H.getTypeArgumentByIndex(lists, 0), t1]; C.JSArray_methods.every$1(lists, new D._closure5(_box_0));) { |
|
result = P.List_List$from(new H.MappedListIterable(lists, new D._closure6(_box_0), t2), false, t1); |
|
result.fixed$length = Array; |
|
result.immutable$list = Array; |
|
results.push(new D.SassList(result, C.ListSeparator_space, false)); |
|
++_box_0.i; |
|
} |
|
return D.SassList$(results, C.ListSeparator_comma, false); |
|
}, |
|
$signature: 7 |
|
}; |
|
D._closure4.prototype = { |
|
call$1: function(list) { |
|
return list.get$asList(); |
|
} |
|
}; |
|
D._closure5.prototype = { |
|
call$1: function(list) { |
|
return this._box_0.i !== J.get$length$asx(list); |
|
} |
|
}; |
|
D._closure6.prototype = { |
|
call$1: function(list) { |
|
return J.$index$asx(list, this._box_0.i); |
|
}, |
|
$signature: 0 |
|
}; |
|
D.closure36.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments), |
|
index = C.JSArray_methods.indexOf$1(t1.$index($arguments, 0).get$asList(), t1.$index($arguments, 1)); |
|
if (index === -1) |
|
t1 = C.C_SassNull; |
|
else |
|
t1 = new T.SassNumber(index + 1, C.List_empty, C.List_empty, null); |
|
return t1; |
|
}, |
|
$signature: 0 |
|
}; |
|
D.closure34.prototype = { |
|
call$1: function($arguments) { |
|
return J.$index$asx($arguments, 0).get$separator() === C.ListSeparator_comma ? new D.SassString("comma", false) : new D.SassString("space", false); |
|
}, |
|
$signature: 4 |
|
}; |
|
D.closure35.prototype = { |
|
call$1: function($arguments) { |
|
return J.$index$asx($arguments, 0).get$hasBrackets() ? C.SassBoolean_true : C.SassBoolean_false; |
|
}, |
|
$signature: 5 |
|
}; |
|
A.closure33.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments); |
|
t1 = t1.$index($arguments, 0).assertMap$1("map").contents.$index(0, t1.$index($arguments, 1)); |
|
return t1 == null ? C.C_SassNull : t1; |
|
}, |
|
$signature: 0 |
|
}; |
|
A.closure32.prototype = { |
|
call$1: function($arguments) { |
|
var t2, t3, t4, |
|
t1 = J.getInterceptor$asx($arguments), |
|
map1 = t1.$index($arguments, 0).assertMap$1("map1"), |
|
map2 = t1.$index($arguments, 1).assertMap$1("map2"); |
|
t1 = F.Value; |
|
t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1); |
|
for (t3 = map1.contents.get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) { |
|
t4 = t3.get$current(t3); |
|
t2.$indexSet(0, t4.key, t4.value); |
|
} |
|
for (t3 = map2.contents.get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) { |
|
t4 = t3.get$current(t3); |
|
t2.$indexSet(0, t4.key, t4.value); |
|
} |
|
return new A.SassMap(H.ConstantMap_ConstantMap$from(t2, t1, t1)); |
|
}, |
|
$signature: 9 |
|
}; |
|
A.closure30.prototype = { |
|
call$1: function($arguments) { |
|
return J.$index$asx($arguments, 0).assertMap$1("map"); |
|
}, |
|
$signature: 9 |
|
}; |
|
A.closure31.prototype = { |
|
call$1: function($arguments) { |
|
var t4, _i, mutableMap, |
|
t1 = J.getInterceptor$asx($arguments), |
|
map = t1.$index($arguments, 0).assertMap$1("map"), |
|
t2 = F.Value, |
|
t3 = H.setRuntimeTypeInfo([], [t2]); |
|
t3.push(t1.$index($arguments, 1)); |
|
for (t1 = t1.$index($arguments, 2).get$asList(), t4 = t1.length, _i = 0; _i < t1.length; t1.length === t4 || (0, H.throwConcurrentModificationError)(t1), ++_i) |
|
t3.push(t1[_i]); |
|
mutableMap = P.LinkedHashMap_LinkedHashMap$of(map.contents, t2, t2); |
|
for (t1 = t3.length, _i = 0; _i < t3.length; t3.length === t1 || (0, H.throwConcurrentModificationError)(t3), ++_i) |
|
mutableMap.remove$1(0, t3[_i]); |
|
return new A.SassMap(H.ConstantMap_ConstantMap$from(mutableMap, t2, t2)); |
|
}, |
|
$signature: 9 |
|
}; |
|
A.closure29.prototype = { |
|
call$1: function($arguments) { |
|
return D.SassList$(J.$index$asx($arguments, 0).assertMap$1("map").contents.get$keys(), C.ListSeparator_comma, false); |
|
}, |
|
$signature: 7 |
|
}; |
|
A.closure28.prototype = { |
|
call$1: function($arguments) { |
|
return D.SassList$(J.$index$asx($arguments, 0).assertMap$1("map").contents.get$values(), C.ListSeparator_comma, false); |
|
}, |
|
$signature: 7 |
|
}; |
|
A.closure27.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments); |
|
return t1.$index($arguments, 0).assertMap$1("map").contents.containsKey$1(t1.$index($arguments, 1)) ? C.SassBoolean_true : C.SassBoolean_false; |
|
}, |
|
$signature: 5 |
|
}; |
|
K.closure25.prototype = { |
|
call$1: function(value) { |
|
return J.ceil$0$n(value); |
|
}, |
|
$signature: 24 |
|
}; |
|
K.closure91.prototype = { |
|
call$1: function($arguments) { |
|
var t2, t3, arg2, arg2Name, unit1, unit2, |
|
_s11_ = "is unitless", |
|
t1 = J.getInterceptor$asx($arguments), |
|
min = t1.$index($arguments, 0).assertNumber$1("min"), |
|
number = t1.$index($arguments, 1).assertNumber$1("number"), |
|
max = t1.$index($arguments, 2).assertNumber$1("max"); |
|
t1 = min.numeratorUnits.length === 0; |
|
t2 = !t1 || min.denominatorUnits.length !== 0; |
|
t3 = number.numeratorUnits.length === 0; |
|
if (t2 === (!t3 || number.denominatorUnits.length !== 0)) { |
|
t2 = !t3 || number.denominatorUnits.length !== 0; |
|
t2 = t2 === (max.numeratorUnits.length !== 0 || max.denominatorUnits.length !== 0); |
|
} else |
|
t2 = false; |
|
if (t2) { |
|
if (min.greaterThanOrEquals$1(max).value) |
|
return min; |
|
if (min.greaterThanOrEquals$1(number).value) |
|
return min; |
|
if (number.greaterThanOrEquals$1(max).value) |
|
return max; |
|
return number; |
|
} |
|
t2 = !t1 || min.denominatorUnits.length !== 0; |
|
arg2 = t2 !== (!t3 || number.denominatorUnits.length !== 0) ? number : max; |
|
t2 = !t1 || min.denominatorUnits.length !== 0; |
|
arg2Name = t2 !== (!t3 || number.denominatorUnits.length !== 0) ? "$number" : "$max"; |
|
unit1 = !t1 || min.denominatorUnits.length !== 0 ? "has unit " + min.get$unitString() : _s11_; |
|
unit2 = arg2.numeratorUnits.length !== 0 || arg2.denominatorUnits.length !== 0 ? "has unit " + arg2.get$unitString() : _s11_; |
|
throw H.wrapException(E.SassScriptException$("$min " + unit1 + " but " + arg2Name + " " + unit2 + ". Arguments must all have units or all be unitless.")); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure24.prototype = { |
|
call$1: function(value) { |
|
return J.floor$0$n(value); |
|
}, |
|
$signature: 24 |
|
}; |
|
K.closure23.prototype = { |
|
call$1: function($arguments) { |
|
var t1, t2, max, _i, number; |
|
for (t1 = J.$index$asx($arguments, 0).get$asList(), t2 = t1.length, max = null, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { |
|
number = t1[_i].assertNumber$0(); |
|
if (max == null || max.lessThan$1(number).value) |
|
max = number; |
|
} |
|
if (max != null) |
|
return max; |
|
throw H.wrapException(E.SassScriptException$("At least one argument must be passed.")); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure22.prototype = { |
|
call$1: function($arguments) { |
|
var t1, t2, min, _i, number; |
|
for (t1 = J.$index$asx($arguments, 0).get$asList(), t2 = t1.length, min = null, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { |
|
number = t1[_i].assertNumber$0(); |
|
if (min == null || min.greaterThan$1(number).value) |
|
min = number; |
|
} |
|
if (min != null) |
|
return min; |
|
throw H.wrapException(E.SassScriptException$("At least one argument must be passed.")); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure26.prototype = { |
|
call$1: function(value) { |
|
return Math.abs(value); |
|
}, |
|
$signature: 39 |
|
}; |
|
K.closure89.prototype = { |
|
call$1: function($arguments) { |
|
var numeratorUnits, denominatorUnits, subtotal, i, number, t2, t3, t4, t5, t6, t7, result, unit1, unit2, |
|
_s11_ = "is unitless", |
|
t1 = J.$index$asx($arguments, 0).get$asList(), |
|
numbers = new H.MappedListIterable(t1, new K._closure11(), [H.getTypeArgumentByIndex(t1, 0), T.SassNumber]).toList$0(0); |
|
if (numbers.length === 0) |
|
throw H.wrapException(E.SassScriptException$("At least one argument must be passed.")); |
|
t1 = numbers[0]; |
|
numeratorUnits = t1.numeratorUnits; |
|
denominatorUnits = t1.denominatorUnits; |
|
for (t1 = P.String, subtotal = 0, i = 0; i < numbers.length; ++i) { |
|
number = numbers[i]; |
|
t2 = number.numeratorUnits; |
|
t3 = t2.length === 0; |
|
t4 = !t3 || number.denominatorUnits.length !== 0; |
|
t5 = numbers[0]; |
|
t6 = t5.numeratorUnits; |
|
t7 = t6.length === 0; |
|
if (t4 === (!t7 || t5.denominatorUnits.length !== 0)) { |
|
t2 = number.valueInUnits$2(numeratorUnits, denominatorUnits); |
|
result = P.List_List$from(numeratorUnits, false, t1); |
|
result.fixed$length = Array; |
|
result.immutable$list = Array; |
|
result = P.List_List$from(denominatorUnits, false, t1); |
|
result.fixed$length = Array; |
|
result.immutable$list = Array; |
|
H.checkNum(t2); |
|
subtotal += Math.pow(t2, 2); |
|
} else { |
|
if (!t7 || t5.denominatorUnits.length !== 0) |
|
unit1 = "has unit " + (!t7 || t5.denominatorUnits.length !== 0 ? t5._unitString$2(t6, t5.denominatorUnits) : ""); |
|
else |
|
unit1 = _s11_; |
|
if (!t3 || number.denominatorUnits.length !== 0) |
|
unit2 = "has unit " + (!t3 || number.denominatorUnits.length !== 0 ? number._unitString$2(t2, number.denominatorUnits) : ""); |
|
else |
|
unit2 = _s11_; |
|
throw H.wrapException(E.SassScriptException$("Argument 1 " + unit1 + " but argument " + (i + 1) + " " + unit2 + ". Arguments must all have units or all be unitless.")); |
|
} |
|
} |
|
return T.SassNumber$withUnits(Math.sqrt(subtotal), denominatorUnits, numeratorUnits); |
|
}, |
|
$signature: 1 |
|
}; |
|
K._closure11.prototype = { |
|
call$1: function(argument) { |
|
return argument.assertNumber$0(); |
|
} |
|
}; |
|
K.closure88.prototype = { |
|
call$1: function($arguments) { |
|
var numberValue, base, baseValue, t2, |
|
_s18_ = " to have no units.", |
|
t1 = J.getInterceptor$asx($arguments), |
|
number = t1.$index($arguments, 0).assertNumber$1("number"); |
|
if (number.numeratorUnits.length !== 0 || number.denominatorUnits.length !== 0) |
|
throw H.wrapException(E.SassScriptException$("$number: Expected " + number.toString$0(0) + _s18_)); |
|
numberValue = K._fuzzyRoundIfZero(number.value); |
|
if (J.$eq$(t1.$index($arguments, 1), C.C_SassNull)) { |
|
t1 = Math.log(H.checkNum(numberValue)); |
|
return new T.SassNumber(t1, C.List_empty, C.List_empty, null); |
|
} |
|
base = t1.$index($arguments, 1).assertNumber$1("base"); |
|
if (base.numeratorUnits.length !== 0 || base.denominatorUnits.length !== 0) |
|
throw H.wrapException(E.SassScriptException$("$base: Expected " + base.toString$0(0) + _s18_)); |
|
t1 = base.value; |
|
baseValue = Math.abs(t1 - 1) < $.$get$epsilon() ? T.fuzzyRound(t1) : K._fuzzyRoundIfZero(t1); |
|
t1 = Math.log(H.checkNum(numberValue)); |
|
t2 = Math.log(H.checkNum(baseValue)); |
|
return new T.SassNumber(t1 / t2, C.List_empty, C.List_empty, null); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure87.prototype = { |
|
call$1: function($arguments) { |
|
var baseValue, exponentValue, t2, _null = null, |
|
_s18_ = " to have no units.", |
|
t1 = J.getInterceptor$asx($arguments), |
|
base = t1.$index($arguments, 0).assertNumber$1("base"), |
|
exponent = t1.$index($arguments, 1).assertNumber$1("exponent"); |
|
if (base.numeratorUnits.length !== 0 || base.denominatorUnits.length !== 0) |
|
throw H.wrapException(E.SassScriptException$("$base: Expected " + base.toString$0(0) + _s18_)); |
|
else if (exponent.numeratorUnits.length !== 0 || exponent.denominatorUnits.length !== 0) |
|
throw H.wrapException(E.SassScriptException$("$exponent: Expected " + exponent.toString$0(0) + _s18_)); |
|
baseValue = K._fuzzyRoundIfZero(base.value); |
|
exponentValue = K._fuzzyRoundIfZero(exponent.value); |
|
t1 = $.$get$epsilon(); |
|
if (Math.abs(Math.abs(baseValue) - 1) < t1) { |
|
exponentValue.toString; |
|
t2 = exponentValue == 1 / 0 || exponentValue == -1 / 0; |
|
} else |
|
t2 = false; |
|
if (t2) |
|
return new T.SassNumber(0 / 0, C.List_empty, C.List_empty, _null); |
|
else if (Math.abs(baseValue - 0) < t1) { |
|
exponentValue.toString; |
|
if (isFinite(exponentValue)) |
|
if (T.fuzzyIsInt(exponentValue)) |
|
t1 = C.JSInt_methods.$mod(T.fuzzyIsInt(exponentValue) ? J.round$0$n(exponentValue) : _null, 2) === 1; |
|
else |
|
t1 = false; |
|
else |
|
t1 = false; |
|
if (t1) |
|
exponentValue = T.fuzzyRound(exponentValue); |
|
} else { |
|
if (isFinite(baseValue)) |
|
if (baseValue < 0 && true) { |
|
exponentValue.toString; |
|
t1 = isFinite(exponentValue) && T.fuzzyIsInt(exponentValue); |
|
} else |
|
t1 = false; |
|
else |
|
t1 = false; |
|
if (t1) |
|
exponentValue = T.fuzzyRound(exponentValue); |
|
else { |
|
if (baseValue == 1 / 0 || baseValue == -1 / 0) |
|
if (baseValue < 0 && true) { |
|
exponentValue.toString; |
|
if (isFinite(exponentValue)) |
|
if (T.fuzzyIsInt(exponentValue)) |
|
t1 = C.JSInt_methods.$mod(T.fuzzyIsInt(exponentValue) ? J.round$0$n(exponentValue) : _null, 2) === 1; |
|
else |
|
t1 = false; |
|
else |
|
t1 = false; |
|
} else |
|
t1 = false; |
|
else |
|
t1 = false; |
|
if (t1) |
|
exponentValue = T.fuzzyRound(exponentValue); |
|
} |
|
} |
|
H.checkNum(exponentValue); |
|
t1 = Math.pow(baseValue, exponentValue); |
|
return new T.SassNumber(t1, C.List_empty, C.List_empty, _null); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure85.prototype = { |
|
call$1: function($arguments) { |
|
var t1, |
|
number = J.$index$asx($arguments, 0).assertNumber$1("number"); |
|
if (number.numeratorUnits.length !== 0 || number.denominatorUnits.length !== 0) |
|
throw H.wrapException(E.SassScriptException$("$number: Expected " + number.toString$0(0) + " to have no units.")); |
|
t1 = Math.sqrt(H.checkNum(K._fuzzyRoundIfZero(number.value))); |
|
return new T.SassNumber(t1, C.List_empty, C.List_empty, null); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure95.prototype = { |
|
call$1: function($arguments) { |
|
var numberValue, |
|
number = J.$index$asx($arguments, 0).assertNumber$1("number"); |
|
if (number.numeratorUnits.length !== 0 || number.denominatorUnits.length !== 0) |
|
throw H.wrapException(E.SassScriptException$("$number: Expected " + number.toString$0(0) + " to have no units.")); |
|
numberValue = number.value; |
|
if (Math.abs(Math.abs(numberValue) - 1) < $.$get$epsilon()) |
|
numberValue = T.fuzzyRound(numberValue); |
|
return T.SassNumber$withUnits(Math.acos(numberValue) * 180 / 3.141592653589793, null, H.setRuntimeTypeInfo(["deg"], [P.String])); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure94.prototype = { |
|
call$1: function($arguments) { |
|
var t1, |
|
number = J.$index$asx($arguments, 0).assertNumber$1("number"); |
|
if (number.numeratorUnits.length !== 0 || number.denominatorUnits.length !== 0) |
|
throw H.wrapException(E.SassScriptException$("$number: Expected " + number.toString$0(0) + " to have no units.")); |
|
t1 = number.value; |
|
return T.SassNumber$withUnits(Math.asin(H.checkNum(Math.abs(Math.abs(t1) - 1) < $.$get$epsilon() ? T.fuzzyRound(t1) : K._fuzzyRoundIfZero(t1))) * 180 / 3.141592653589793, null, H.setRuntimeTypeInfo(["deg"], [P.String])); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure93.prototype = { |
|
call$1: function($arguments) { |
|
var number = J.$index$asx($arguments, 0).assertNumber$1("number"); |
|
if (number.numeratorUnits.length !== 0 || number.denominatorUnits.length !== 0) |
|
throw H.wrapException(E.SassScriptException$("$number: Expected " + number.toString$0(0) + " to have no units.")); |
|
return T.SassNumber$withUnits(Math.atan(H.checkNum(K._fuzzyRoundIfZero(number.value))) * 180 / 3.141592653589793, null, H.setRuntimeTypeInfo(["deg"], [P.String])); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure92.prototype = { |
|
call$1: function($arguments) { |
|
var t2, t3, t4, unit1, unit2, xValue, |
|
_s11_ = "is unitless", |
|
t1 = J.getInterceptor$asx($arguments), |
|
y = t1.$index($arguments, 0).assertNumber$1("y"), |
|
x = t1.$index($arguments, 1).assertNumber$1("x"); |
|
t1 = y.numeratorUnits; |
|
t2 = t1.length === 0; |
|
t3 = !t2 || y.denominatorUnits.length !== 0; |
|
t4 = x.numeratorUnits.length === 0; |
|
if (t3 !== (!t4 || x.denominatorUnits.length !== 0)) { |
|
unit1 = !t2 || y.denominatorUnits.length !== 0 ? "has unit " + y.get$unitString() : _s11_; |
|
unit2 = !t4 || x.denominatorUnits.length !== 0 ? "has unit " + x.get$unitString() : _s11_; |
|
throw H.wrapException(E.SassScriptException$("$y " + unit1 + " but $x " + unit2 + ". Arguments must all have units or all be unitless.")); |
|
} |
|
t2 = y.denominatorUnits; |
|
xValue = K._fuzzyRoundIfZero(T.SassNumber$withUnits(x.valueInUnits$2(t1, t2), t2, t1).value); |
|
return T.SassNumber$withUnits(Math.atan2(H.checkNum(K._fuzzyRoundIfZero(y.value)), H.checkNum(xValue)) * 180 / 3.141592653589793, null, H.setRuntimeTypeInfo(["deg"], [P.String])); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure90.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = Math.cos(H.checkNum(K._coerceToRad(J.$index$asx($arguments, 0).assertNumber$1("number")).value)); |
|
return new T.SassNumber(t1, C.List_empty, C.List_empty, null); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure86.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = Math.sin(H.checkNum(K._fuzzyRoundIfZero(K._coerceToRad(J.$index$asx($arguments, 0).assertNumber$1("number")).value))); |
|
return new T.SassNumber(t1, C.List_empty, C.List_empty, null); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure84.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = K._coerceToRad(J.$index$asx($arguments, 0).assertNumber$1("number")).value, |
|
t2 = C.JSNumber_methods.$mod(t1 - 1.5707963267948966, 6.283185307179586), |
|
t3 = $.$get$epsilon(); |
|
if (Math.abs(t2 - 0) < t3) |
|
return new T.SassNumber(1 / 0, C.List_empty, C.List_empty, null); |
|
else if (Math.abs(C.JSNumber_methods.$mod(t1 + 1.5707963267948966, 6.283185307179586) - 0) < t3) |
|
return new T.SassNumber(-1 / 0, C.List_empty, C.List_empty, null); |
|
else { |
|
t1 = Math.tan(H.checkNum(K._fuzzyRoundIfZero(t1))); |
|
return new T.SassNumber(t1, C.List_empty, C.List_empty, null); |
|
} |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure18.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments); |
|
return t1.$index($arguments, 0).assertNumber$1("number1").isComparableTo$1(t1.$index($arguments, 1).assertNumber$1("number2")) ? C.SassBoolean_true : C.SassBoolean_false; |
|
}, |
|
$signature: 5 |
|
}; |
|
K.closure17.prototype = { |
|
call$1: function($arguments) { |
|
var number = J.$index$asx($arguments, 0).assertNumber$1("number"); |
|
return !(number.numeratorUnits.length !== 0 || number.denominatorUnits.length !== 0) ? C.SassBoolean_true : C.SassBoolean_false; |
|
}, |
|
$signature: 5 |
|
}; |
|
K.closure19.prototype = { |
|
call$1: function($arguments) { |
|
return new D.SassString(J.$index$asx($arguments, 0).assertNumber$1("number").get$unitString(), true); |
|
}, |
|
$signature: 4 |
|
}; |
|
K.closure21.prototype = { |
|
call$1: function($arguments) { |
|
var t1, t2, |
|
number = J.$index$asx($arguments, 0).assertNumber$1("number"); |
|
number.assertNoUnits$1("number"); |
|
t1 = P.String; |
|
t2 = H.setRuntimeTypeInfo(["%"], [t1]); |
|
t1 = P.List_List$unmodifiable(t2, t1); |
|
return new T.SassNumber(number.value * 100, t1, C.List_empty, null); |
|
}, |
|
$signature: 1 |
|
}; |
|
K.closure20.prototype = { |
|
call$1: function($arguments) { |
|
var limit, |
|
t1 = J.getInterceptor$asx($arguments); |
|
if (J.$eq$(t1.$index($arguments, 0), C.C_SassNull)) { |
|
t1 = $.$get$_random0().nextDouble$0(); |
|
return new T.SassNumber(t1, C.List_empty, C.List_empty, null); |
|
} |
|
limit = t1.$index($arguments, 0).assertNumber$1("limit").assertInt$1("limit"); |
|
if (limit < 1) |
|
throw H.wrapException(E.SassScriptException$("$limit: Must be greater than 0, was " + limit + ".")); |
|
t1 = $.$get$_random0().nextInt$1(limit); |
|
return new T.SassNumber(t1 + 1, C.List_empty, C.List_empty, null); |
|
}, |
|
$signature: 1 |
|
}; |
|
K._numberFunction_closure.prototype = { |
|
call$1: function($arguments) { |
|
var number = J.$index$asx($arguments, 0).assertNumber$1("number"); |
|
return T.SassNumber$withUnits(this.transform.call$1(number.value), number.denominatorUnits, number.numeratorUnits); |
|
}, |
|
$signature: 1 |
|
}; |
|
Q.closure101.prototype = { |
|
call$1: function($arguments) { |
|
return $._features.contains$1(0, J.$index$asx($arguments, 0).assertString$1("feature").text) ? C.SassBoolean_true : C.SassBoolean_false; |
|
}, |
|
$signature: 5 |
|
}; |
|
Q.closure102.prototype = { |
|
call$1: function($arguments) { |
|
return new D.SassString(J.toString$0$(J.get$first$ax($arguments)), false); |
|
}, |
|
$signature: 4 |
|
}; |
|
Q.closure103.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$(J.$index$asx($arguments, 0)); |
|
if (!!t1.$isSassArgumentList) |
|
return new D.SassString("arglist", false); |
|
if (!!t1.$isSassBoolean) |
|
return new D.SassString("bool", false); |
|
if (!!t1.$isSassColor) |
|
return new D.SassString("color", false); |
|
if (!!t1.$isSassList) |
|
return new D.SassString("list", false); |
|
if (!!t1.$isSassMap) |
|
return new D.SassString("map", false); |
|
if (!!t1.$isSassNull) |
|
return new D.SassString("null", false); |
|
if (!!t1.$isSassNumber) |
|
return new D.SassString("number", false); |
|
if (!!t1.$isSassFunction) |
|
return new D.SassString("function", false); |
|
return new D.SassString("string", false); |
|
}, |
|
$signature: 4 |
|
}; |
|
Q.closure104.prototype = { |
|
call$1: function($arguments) { |
|
var t1, |
|
argumentList = J.$index$asx($arguments, 0); |
|
if (argumentList instanceof D.SassArgumentList) { |
|
argumentList._wereKeywordsAccessed = true; |
|
t1 = F.Value; |
|
return new A.SassMap(H.ConstantMap_ConstantMap$from(Y.mapMap(argumentList._keywords, new Q._closure13(), null, P.String, t1, t1, t1), t1, t1)); |
|
} else |
|
throw H.wrapException("$args: " + H.S(argumentList) + " is not an argument list."); |
|
}, |
|
$signature: 9 |
|
}; |
|
Q._closure13.prototype = { |
|
call$2: function(key, _) { |
|
return new D.SassString(key, false); |
|
} |
|
}; |
|
T.closure13.prototype = { |
|
call$1: function($arguments) { |
|
var selectors = J.$index$asx($arguments, 0).get$asList(); |
|
if (selectors.length === 0) |
|
throw H.wrapException(E.SassScriptException$("$selectors: At least one selector must be passed.")); |
|
return new H.MappedListIterable(selectors, new T._closure1(), [H.getTypeArgumentByIndex(selectors, 0), D.SelectorList]).reduce$1(0, new T._closure2()).get$asSassList(); |
|
}, |
|
$signature: 7 |
|
}; |
|
T._closure1.prototype = { |
|
call$1: function(selector) { |
|
return selector.assertSelector$1$allowParent(true); |
|
} |
|
}; |
|
T._closure2.prototype = { |
|
call$2: function($parent, child) { |
|
return child.resolveParentSelectors$1($parent); |
|
} |
|
}; |
|
T.closure12.prototype = { |
|
call$1: function($arguments) { |
|
var selectors = J.$index$asx($arguments, 0).get$asList(); |
|
if (selectors.length === 0) |
|
throw H.wrapException(E.SassScriptException$("$selectors: At least one selector must be passed.")); |
|
return new H.MappedListIterable(selectors, new T._closure(), [H.getTypeArgumentByIndex(selectors, 0), D.SelectorList]).reduce$1(0, new T._closure0()).get$asSassList(); |
|
}, |
|
$signature: 7 |
|
}; |
|
T._closure.prototype = { |
|
call$1: function(selector) { |
|
return selector.assertSelector$0(); |
|
} |
|
}; |
|
T._closure0.prototype = { |
|
call$2: function($parent, child) { |
|
var t1 = child.components; |
|
return D.SelectorList$(new H.MappedListIterable(t1, new T.__closure($parent), [H.getTypeArgumentByIndex(t1, 0), S.ComplexSelector])).resolveParentSelectors$1($parent); |
|
} |
|
}; |
|
T.__closure.prototype = { |
|
call$1: function(complex) { |
|
var newCompound, t2, |
|
t1 = complex.components, |
|
compound = C.JSArray_methods.get$first(t1); |
|
if (compound instanceof X.CompoundSelector) { |
|
newCompound = T._prependParent(compound); |
|
if (newCompound == null) |
|
throw H.wrapException(E.SassScriptException$("Can't append " + H.S(complex) + " to " + H.S(this.parent) + ".")); |
|
t2 = H.setRuntimeTypeInfo([], [S.ComplexSelectorComponent]); |
|
t2.push(newCompound); |
|
for (t1 = H.SubListIterable$(t1, 1, null, H.getTypeArgumentByIndex(t1, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();) |
|
t2.push(t1.__internal$_current); |
|
return S.ComplexSelector$(t2, false); |
|
} else |
|
throw H.wrapException(E.SassScriptException$("Can't append " + H.S(complex) + " to " + H.S(this.parent) + ".")); |
|
} |
|
}; |
|
T.closure11.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments), |
|
selector = t1.$index($arguments, 0).assertSelector$1$name("selector"), |
|
target = t1.$index($arguments, 1).assertSelector$1$name("extendee"); |
|
return F.Extender__extendOrReplace(selector, t1.$index($arguments, 2).assertSelector$1$name("extender"), target, C.ExtendMode_allTargets).get$asSassList(); |
|
}, |
|
$signature: 7 |
|
}; |
|
T.closure10.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments), |
|
selector = t1.$index($arguments, 0).assertSelector$1$name("selector"), |
|
target = t1.$index($arguments, 1).assertSelector$1$name("original"); |
|
return F.Extender__extendOrReplace(selector, t1.$index($arguments, 2).assertSelector$1$name("replacement"), target, C.ExtendMode_replace).get$asSassList(); |
|
}, |
|
$signature: 7 |
|
}; |
|
T.closure9.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments), |
|
result = t1.$index($arguments, 0).assertSelector$1$name("selector1").unify$1(t1.$index($arguments, 1).assertSelector$1$name("selector2")); |
|
return result == null ? C.C_SassNull : result.get$asSassList(); |
|
}, |
|
$signature: 0 |
|
}; |
|
T.closure16.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.getInterceptor$asx($arguments), |
|
selector1 = t1.$index($arguments, 0).assertSelector$1$name("super"), |
|
selector2 = t1.$index($arguments, 1).assertSelector$1$name("sub"); |
|
return Y.listIsSuperslector(selector1.components, selector2.components) ? C.SassBoolean_true : C.SassBoolean_false; |
|
}, |
|
$signature: 5 |
|
}; |
|
T.closure15.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.$index$asx($arguments, 0).assertCompoundSelector$1$name("selector").components; |
|
return D.SassList$(new H.MappedListIterable(t1, new T._closure3(), [H.getTypeArgumentByIndex(t1, 0), F.Value]), C.ListSeparator_comma, false); |
|
}, |
|
$signature: 7 |
|
}; |
|
T._closure3.prototype = { |
|
call$1: function(simple) { |
|
return new D.SassString(J.toString$0$(simple), false); |
|
} |
|
}; |
|
T.closure14.prototype = { |
|
call$1: function($arguments) { |
|
return J.$index$asx($arguments, 0).assertSelector$1$name("selector").get$asSassList(); |
|
}, |
|
$signature: 7 |
|
}; |
|
D.closure8.prototype = { |
|
call$1: function($arguments) { |
|
var string = J.$index$asx($arguments, 0).assertString$1("string"); |
|
if (!string.hasQuotes) |
|
return string; |
|
return new D.SassString(string.text, false); |
|
}, |
|
$signature: 4 |
|
}; |
|
D.closure7.prototype = { |
|
call$1: function($arguments) { |
|
var string = J.$index$asx($arguments, 0).assertString$1("string"); |
|
if (string.hasQuotes) |
|
return string; |
|
return new D.SassString(string.text, true); |
|
}, |
|
$signature: 4 |
|
}; |
|
D.closure3.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = J.$index$asx($arguments, 0).assertString$1("string").get$sassLength(); |
|
return new T.SassNumber(t1, C.List_empty, C.List_empty, null); |
|
}, |
|
$signature: 1 |
|
}; |
|
D.closure2.prototype = { |
|
call$1: function($arguments) { |
|
var indexInt, codeUnitIndex, _s5_ = "index", |
|
t1 = J.getInterceptor$asx($arguments), |
|
string = t1.$index($arguments, 0).assertString$1("string"), |
|
insert = t1.$index($arguments, 1).assertString$1("insert"), |
|
index = t1.$index($arguments, 2).assertNumber$1(_s5_); |
|
index.assertNoUnits$1(_s5_); |
|
indexInt = index.assertInt$1(_s5_); |
|
if (indexInt < 0) |
|
indexInt = string.get$sassLength() + indexInt + 2; |
|
t1 = string.text; |
|
codeUnitIndex = B.codepointIndexToCodeUnitIndex(t1, D._codepointForIndex(indexInt, string.get$sassLength(), false)); |
|
return new D.SassString(J.replaceRange$3$asx(t1, codeUnitIndex, codeUnitIndex, insert.text), string.hasQuotes); |
|
}, |
|
$signature: 4 |
|
}; |
|
D.closure1.prototype = { |
|
call$1: function($arguments) { |
|
var codepointIndex, |
|
t1 = J.getInterceptor$asx($arguments), |
|
t2 = t1.$index($arguments, 0).assertString$1("string").text, |
|
codeUnitIndex = J.indexOf$1$asx(t2, t1.$index($arguments, 1).assertString$1("substring").text); |
|
if (codeUnitIndex === -1) |
|
return C.C_SassNull; |
|
codepointIndex = B.codeUnitIndexToCodepointIndex(t2, codeUnitIndex); |
|
return new T.SassNumber(codepointIndex + 1, C.List_empty, C.List_empty, null); |
|
}, |
|
$signature: 0 |
|
}; |
|
D.closure0.prototype = { |
|
call$1: function($arguments) { |
|
var lengthInCodepoints, endInt, startCodepoint, endCodepoint, |
|
t1 = J.getInterceptor$asx($arguments), |
|
string = t1.$index($arguments, 0).assertString$1("string"), |
|
start = t1.$index($arguments, 1).assertNumber$1("start-at"), |
|
end = t1.$index($arguments, 2).assertNumber$1("end-at"); |
|
start.assertNoUnits$1("start"); |
|
end.assertNoUnits$1("end"); |
|
lengthInCodepoints = string.get$sassLength(); |
|
endInt = end.assertInt$0(); |
|
if (endInt === 0) |
|
return string.hasQuotes ? $.$get$_emptyQuoted() : $.$get$_emptyUnquoted(); |
|
startCodepoint = D._codepointForIndex(start.assertInt$0(), lengthInCodepoints, false); |
|
endCodepoint = D._codepointForIndex(endInt, lengthInCodepoints, true); |
|
if (endCodepoint === lengthInCodepoints) |
|
--endCodepoint; |
|
if (endCodepoint < startCodepoint) |
|
return string.hasQuotes ? $.$get$_emptyQuoted() : $.$get$_emptyUnquoted(); |
|
t1 = string.text; |
|
return new D.SassString(J.substring$2$s(t1, B.codepointIndexToCodeUnitIndex(t1, startCodepoint), B.codepointIndexToCodeUnitIndex(t1, endCodepoint + 1)), string.hasQuotes); |
|
}, |
|
$signature: 4 |
|
}; |
|
D.closure6.prototype = { |
|
call$1: function($arguments) { |
|
var t1, t2, t3, i, t4, t5, |
|
string = J.$index$asx($arguments, 0).assertString$1("string"); |
|
for (t1 = string.text, t2 = t1.length, t3 = J.getInterceptor$s(t1), i = 0, t4 = ""; i < t2; ++i) { |
|
t5 = t3._codeUnitAt$1(t1, i); |
|
t4 += H.Primitives_stringFromCharCode(t5 >= 97 && t5 <= 122 ? t5 & 4294967263 : t5); |
|
} |
|
return new D.SassString(t4.charCodeAt(0) == 0 ? t4 : t4, string.hasQuotes); |
|
}, |
|
$signature: 4 |
|
}; |
|
D.closure5.prototype = { |
|
call$1: function($arguments) { |
|
var t1, t2, t3, i, t4, t5, |
|
string = J.$index$asx($arguments, 0).assertString$1("string"); |
|
for (t1 = string.text, t2 = t1.length, t3 = J.getInterceptor$s(t1), i = 0, t4 = ""; i < t2; ++i) { |
|
t5 = t3._codeUnitAt$1(t1, i); |
|
t4 += H.Primitives_stringFromCharCode(t5 >= 65 && t5 <= 90 ? t5 | 32 : t5); |
|
} |
|
return new D.SassString(t4.charCodeAt(0) == 0 ? t4 : t4, string.hasQuotes); |
|
}, |
|
$signature: 4 |
|
}; |
|
D.closure4.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = $.$get$_previousUniqueId() + ($.$get$_random().nextInt$1(36) + 1); |
|
$._previousUniqueId = t1; |
|
if (t1 > Math.pow(36, 6)) |
|
$._previousUniqueId = C.JSInt_methods.$mod($.$get$_previousUniqueId(), H.intTypeCast(Math.pow(36, 6))); |
|
return new D.SassString("u" + C.JSString_methods.padLeft$2(J.toRadixString$1$n($.$get$_previousUniqueId(), 36), 6, "0"), false); |
|
}, |
|
$signature: 4 |
|
}; |
|
R.ImportCache.prototype = { |
|
canonicalize$4$baseImporter$baseUrl$forImport: function(url, baseImporter, baseUrl, forImport) { |
|
var resolvedUrl, canonicalUrl, t1; |
|
if (baseImporter != null) { |
|
resolvedUrl = baseUrl != null ? baseUrl.resolveUri$1(url) : url; |
|
canonicalUrl = this._canonicalize$3(baseImporter, resolvedUrl, forImport); |
|
if (canonicalUrl != null) { |
|
t1 = P.Uri; |
|
return new S.Tuple3(baseImporter, canonicalUrl, resolvedUrl, [M.Importer, t1, t1]); |
|
} |
|
} |
|
return this._canonicalizeCache.putIfAbsent$2(new S.Tuple2(url, forImport, [P.Uri, P.bool]), new R.ImportCache_canonicalize_closure(this, url, forImport)); |
|
}, |
|
canonicalize$3$baseImporter$baseUrl: function(url, baseImporter, baseUrl) { |
|
return this.canonicalize$4$baseImporter$baseUrl$forImport(url, baseImporter, baseUrl, false); |
|
}, |
|
_canonicalize$3: function(importer, url, forImport) { |
|
var result = forImport ? B.inImportRule(new R.ImportCache__canonicalize_closure(importer, url)) : importer.canonicalize$1(url); |
|
if ((result == null ? null : result.get$scheme()) === "") |
|
this._import_cache$_logger.warn$2$deprecation("Importer " + H.S(importer) + " canonicalized " + H.S(url) + " to " + H.S(result) + ".\nRelative canonical URLs are deprecated and will eventually be disallowed.\n", true); |
|
return result; |
|
}, |
|
import$4$baseImporter$baseUrl$forImport: function(url, baseImporter, baseUrl, forImport) { |
|
var t1, |
|
tuple = this.canonicalize$4$baseImporter$baseUrl$forImport(url, baseImporter, baseUrl, forImport); |
|
if (tuple == null) |
|
return; |
|
t1 = tuple.item1; |
|
return new S.Tuple2(t1, this.importCanonical$3(t1, tuple.item2, tuple.item3), [M.Importer, V.Stylesheet]); |
|
}, |
|
importCanonical$3: function(importer, canonicalUrl, originalUrl) { |
|
return this._import_cache$_importCache.putIfAbsent$2(canonicalUrl, new R.ImportCache_importCanonical_closure(this, importer, canonicalUrl, originalUrl)); |
|
}, |
|
importCanonical$2: function(importer, canonicalUrl) { |
|
return this.importCanonical$3(importer, canonicalUrl, null); |
|
}, |
|
humanize$1: function(canonicalUrl) { |
|
var t1 = this._canonicalizeCache.get$values(), |
|
t2 = H.getRuntimeTypeArgument(t1, "Iterable", 0), |
|
t3 = P.Uri, |
|
url = Y.minBy(new H.MappedIterable(new H.WhereIterable(t1, new R.ImportCache_humanize_closure(canonicalUrl), [t2]), new R.ImportCache_humanize_closure0(), [t2, t3]), new R.ImportCache_humanize_closure1(), t3, null); |
|
if (url == null) |
|
return canonicalUrl; |
|
t1 = $.$get$url(); |
|
return url.resolve$1(X.ParsedPath_ParsedPath$parse(canonicalUrl.get$path(canonicalUrl), t1.style).get$basename()); |
|
}, |
|
clearImport$1: function(canonicalUrl) { |
|
this._resultsCache.remove$1(0, canonicalUrl); |
|
this._import_cache$_importCache.remove$1(0, canonicalUrl); |
|
} |
|
}; |
|
R.ImportCache_canonicalize_closure.prototype = { |
|
call$0: function() { |
|
var t1, t2, t3, t4, t5, _i, importer, canonicalUrl; |
|
for (t1 = this.$this, t2 = t1._importers, t3 = t2.length, t4 = this.url, t5 = this.forImport, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) { |
|
importer = t2[_i]; |
|
canonicalUrl = t1._canonicalize$3(importer, t4, t5); |
|
if (canonicalUrl != null) { |
|
t1 = P.Uri; |
|
return new S.Tuple3(importer, canonicalUrl, t4, [M.Importer, t1, t1]); |
|
} |
|
} |
|
return; |
|
} |
|
}; |
|
R.ImportCache__canonicalize_closure.prototype = { |
|
call$0: function() { |
|
return this.importer.canonicalize$1(this.url); |
|
} |
|
}; |
|
R.ImportCache_importCanonical_closure.prototype = { |
|
call$0: function() { |
|
var t3, _this = this, |
|
t1 = _this.canonicalUrl, |
|
result = _this.importer.load$1(t1), |
|
t2 = _this.$this; |
|
t2._resultsCache.$indexSet(0, t1, result); |
|
t3 = _this.originalUrl; |
|
t1 = t3 == null ? t1 : t3.resolveUri$1(t1); |
|
return V.Stylesheet_Stylesheet$parse(result.contents, result.syntax, t2._import_cache$_logger, t1); |
|
} |
|
}; |
|
R.ImportCache_humanize_closure.prototype = { |
|
call$1: function(tuple) { |
|
var t1 = tuple == null ? null : tuple.item2; |
|
return J.$eq$(t1, this.canonicalUrl); |
|
} |
|
}; |
|
R.ImportCache_humanize_closure0.prototype = { |
|
call$1: function(tuple) { |
|
return tuple.item3; |
|
} |
|
}; |
|
R.ImportCache_humanize_closure1.prototype = { |
|
call$1: function(url) { |
|
return J.get$length$asx(J.get$path$x(url)); |
|
}, |
|
$signature: 10 |
|
}; |
|
M.Importer.prototype = { |
|
modificationTime$1: function(url) { |
|
return new P.DateTime(Date.now(), false); |
|
} |
|
}; |
|
B.AsyncImporter.prototype = {}; |
|
F.FilesystemImporter.prototype = { |
|
canonicalize$1: function(url) { |
|
var t1, resolved; |
|
if (url.get$scheme() !== "file" && url.get$scheme() !== "") |
|
return; |
|
t1 = $.$get$context(); |
|
resolved = B.resolveImportPath(D.join(this._loadPath, t1.style.pathFromUri$1(M._parseUri(url)), null)); |
|
return resolved == null ? null : t1.toUri$1(t1.canonicalize$1(resolved)); |
|
}, |
|
load$1: function(url) { |
|
var t3, |
|
t1 = $.$get$context(), |
|
path = t1.style.pathFromUri$1(M._parseUri(url)), |
|
t2 = B.readFile(path); |
|
t1 = J.$eq$(J.get$platform$x(self.process), "win32") || J.$eq$(J.get$platform$x(self.process), "darwin") ? t1.toUri$1(F.realCasePath(path)) : url; |
|
t3 = M.Syntax_forPath(path); |
|
if ((t1 == null ? null : t1.get$scheme()) === "") |
|
H.throwExpression(P.ArgumentError$value(t1, "sourceMapUrl", "must be absolute")); |
|
return new E.ImporterResult(t2, t1, t3); |
|
}, |
|
modificationTime$1: function(url) { |
|
return B.modificationTime($.$get$context().style.pathFromUri$1(M._parseUri(url))); |
|
}, |
|
toString$0: function(_) { |
|
return this._loadPath; |
|
} |
|
}; |
|
F.NodeImporter.prototype = { |
|
load$3: function(url, previous, forImport) { |
|
var result, previousString, t1, t2, t3, t4, _i, value, _this = this, |
|
parsed = P.Uri_parse(url); |
|
if (parsed.get$scheme() === "" || parsed.get$scheme() === "file") { |
|
result = _this._resolveRelativePath$3($.$get$context().style.pathFromUri$1(M._parseUri(parsed)), previous, forImport); |
|
if (result != null) |
|
return result; |
|
} |
|
previousString = previous.get$scheme() === "file" ? $.$get$context().style.pathFromUri$1(M._parseUri(previous)) : previous.toString$0(0); |
|
for (t1 = _this._implementation$_importers, t2 = t1.length, t3 = _this._implementation$_context, t4 = [P.Object], _i = 0; _i < t2; ++_i) { |
|
value = J.apply$2$x(t1[_i], t3, H.setRuntimeTypeInfo([url, previousString], t4)); |
|
if (value != null) |
|
return _this._handleImportResult$4(url, previous, value, forImport); |
|
} |
|
return _this._resolveLoadPathFromUrl$3(parsed, previous, forImport); |
|
}, |
|
loadAsync$3: function(url, previous, forImport) { |
|
return this.loadAsync$body$NodeImporter(url, previous, forImport); |
|
}, |
|
loadAsync$body$NodeImporter: function(url, previous, forImport) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter([S.Tuple2, P.String, P.String]), |
|
$async$returnValue, $async$self = this, result, previousString, t1, t2, _i, value, parsed; |
|
var $async$loadAsync$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
parsed = P.Uri_parse(url); |
|
if (parsed.get$scheme() === "" || parsed.get$scheme() === "file") { |
|
result = $async$self._resolveRelativePath$3($.$get$context().style.pathFromUri$1(M._parseUri(parsed)), previous, forImport); |
|
if (result != null) { |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
} |
|
previousString = previous.get$scheme() === "file" ? $.$get$context().style.pathFromUri$1(M._parseUri(previous)) : previous.toString$0(0); |
|
t1 = $async$self._implementation$_importers, t2 = t1.length, _i = 0; |
|
case 3: |
|
// for condition |
|
if (!(_i < t2)) { |
|
// goto after for |
|
$async$goto = 5; |
|
break; |
|
} |
|
$async$goto = 6; |
|
return P._asyncAwait($async$self._callImporterAsync$3(t1[_i], url, previousString), $async$loadAsync$3); |
|
case 6: |
|
// returning from await. |
|
value = $async$result; |
|
if (value != null) { |
|
$async$returnValue = $async$self._handleImportResult$4(url, previous, value, forImport); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
case 4: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 5: |
|
// after for |
|
$async$returnValue = $async$self._resolveLoadPathFromUrl$3(parsed, previous, forImport); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$loadAsync$3, $async$completer); |
|
}, |
|
_resolveRelativePath$3: function(path, previous, forImport) { |
|
var result, |
|
t1 = $.$get$context(), |
|
t2 = t1.style; |
|
if (t2.rootLength$1(path) > 0) |
|
return this._tryPath$2(path, forImport); |
|
if (previous.get$scheme() === "file") { |
|
result = this._tryPath$2(D.join(t1.dirname$1(t2.pathFromUri$1(M._parseUri(previous))), path, null), forImport); |
|
if (result != null) |
|
return result; |
|
} |
|
return; |
|
}, |
|
_resolveLoadPathFromUrl$3: function(url, previous, forImport) { |
|
return url.get$scheme() === "" || url.get$scheme() === "file" ? this._resolveLoadPath$3($.$get$context().style.pathFromUri$1(M._parseUri(url)), previous, forImport) : null; |
|
}, |
|
_resolveLoadPath$3: function(path, previous, forImport) { |
|
var t1, t2, _i, includePath, t3, result, _null = null, |
|
cwdResult = this._tryPath$2(D.absolute(path), forImport); |
|
if (cwdResult != null) |
|
return cwdResult; |
|
for (t1 = this._includePaths, t2 = t1.length, _i = 0; _i < t2; ++_i) { |
|
includePath = t1[_i]; |
|
t3 = $.$get$context(); |
|
result = this._tryPath$2(t3.absolute$7(t3.join$8(0, includePath, path, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null, _null, _null), forImport); |
|
if (result != null) |
|
return result; |
|
} |
|
return; |
|
}, |
|
_tryPath$2: function(path, forImport) { |
|
var t1, |
|
resolved = forImport ? B.inImportRule(new F.NodeImporter__tryPath_closure(path)) : B.resolveImportPath(path); |
|
if (resolved == null) |
|
t1 = null; |
|
else { |
|
t1 = P.String; |
|
t1 = new S.Tuple2(B.readFile(resolved), J.toString$0$($.$get$context().toUri$1(resolved)), [t1, t1]); |
|
} |
|
return t1; |
|
}, |
|
_handleImportResult$4: function(url, previous, value, forImport) { |
|
var t1, resolved, t2; |
|
if (value instanceof self.Error) |
|
throw H.wrapException(value); |
|
t1 = J.getInterceptor$(value); |
|
if (!t1.$isNodeImporterResult) |
|
return; |
|
if (t1.get$file(value) != null) { |
|
resolved = this._resolveRelativePath$3(t1.get$file(value), previous, forImport); |
|
if (resolved == null) |
|
resolved = this._resolveLoadPath$3(t1.get$file(value), previous, forImport); |
|
if (resolved != null) |
|
return resolved; |
|
throw H.wrapException("Can't find stylesheet to import."); |
|
} else { |
|
t1 = t1.get$contents(value); |
|
if (t1 == null) |
|
t1 = ""; |
|
t2 = P.String; |
|
return new S.Tuple2(t1, url, [t2, t2]); |
|
} |
|
}, |
|
_callImporterAsync$3: function(importer, url, previousString) { |
|
return this._callImporterAsync$body$NodeImporter(importer, url, previousString); |
|
}, |
|
_callImporterAsync$body$NodeImporter: function(importer, url, previousString) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Object), |
|
$async$returnValue, $async$self = this, t1, t2, result; |
|
var $async$_callImporterAsync$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = P.Object; |
|
t2 = new P._Future($.Zone__current, [t1]); |
|
result = J.apply$2$x(importer, $async$self._implementation$_context, H.setRuntimeTypeInfo([url, previousString, P.allowInterop(new P._AsyncCompleter(t2, [t1]).get$complete())], [t1])); |
|
$async$goto = H.boolTypeCast($.$get$_isUndefined().call$1(result)) ? 3 : 4; |
|
break; |
|
case 3: |
|
// then |
|
$async$goto = 5; |
|
return P._asyncAwait(t2, $async$_callImporterAsync$3); |
|
case 5: |
|
// returning from await. |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 4: |
|
// join |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_callImporterAsync$3, $async$completer); |
|
} |
|
}; |
|
F.NodeImporter__tryPath_closure.prototype = { |
|
call$0: function() { |
|
return B.resolveImportPath(this.path); |
|
} |
|
}; |
|
E.ImporterResult.prototype = { |
|
get$sourceMapUrl: function() { |
|
var t1 = this._sourceMapUrl; |
|
return t1 == null ? P.Uri_Uri$dataFromString(this.contents, C.C_Utf8Codec, null) : t1; |
|
} |
|
}; |
|
B.resolveImportPath_closure.prototype = { |
|
call$0: function() { |
|
return B._exactlyOne(B._tryPath($.$get$context().withoutExtension$1(this.path) + ".import" + this.extension)); |
|
} |
|
}; |
|
B.resolveImportPath_closure0.prototype = { |
|
call$0: function() { |
|
return B._exactlyOne(B._tryPathWithExtensions(H.S(this.path) + ".import")); |
|
} |
|
}; |
|
B._tryPathAsDirectory_closure.prototype = { |
|
call$0: function() { |
|
return B._exactlyOne(B._tryPathWithExtensions(D.join(this.path, "index.import", null))); |
|
} |
|
}; |
|
B._exactlyOne_closure.prototype = { |
|
call$1: function(path) { |
|
var t1 = $.$get$context(); |
|
return C.JSString_methods.$add(" ", t1.prettyUri$1(t1.toUri$1(path))); |
|
} |
|
}; |
|
Z.InterpolationBuffer.prototype = { |
|
add$1: function(_, expression) { |
|
this._flushText$0(); |
|
this._interpolation_buffer$_contents.push(expression); |
|
}, |
|
addInterpolation$1: function(interpolation) { |
|
var first, t1, t2, _this = this, |
|
toAdd = interpolation.contents; |
|
if (toAdd.length === 0) |
|
return; |
|
first = C.JSArray_methods.get$first(toAdd); |
|
if (typeof first === "string") { |
|
_this._interpolation_buffer$_text._contents += first; |
|
toAdd = H.SubListIterable$(toAdd, 1, null, H.getTypeArgumentByIndex(toAdd, 0)); |
|
} |
|
_this._flushText$0(); |
|
t1 = _this._interpolation_buffer$_contents; |
|
C.JSArray_methods.addAll$1(t1, toAdd); |
|
t2 = C.JSArray_methods.get$last(t1); |
|
if (typeof t2 === "string") |
|
_this._interpolation_buffer$_text._contents += H.S(t1.pop()); |
|
}, |
|
_flushText$0: function() { |
|
var t1 = this._interpolation_buffer$_text, |
|
t2 = t1._contents; |
|
if (t2.length === 0) |
|
return; |
|
this._interpolation_buffer$_contents.push(t2.charCodeAt(0) == 0 ? t2 : t2); |
|
t1._contents = ""; |
|
}, |
|
interpolation$1: function(span) { |
|
var t2, t3, _i, |
|
t1 = H.setRuntimeTypeInfo([], [P.Object]); |
|
for (t2 = this._interpolation_buffer$_contents, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) |
|
t1.push(t2[_i]); |
|
t2 = this._interpolation_buffer$_text._contents; |
|
if (t2.length !== 0) |
|
t1.push(t2.charCodeAt(0) == 0 ? t2 : t2); |
|
return X.Interpolation$(t1, span); |
|
}, |
|
toString$0: function(_) { |
|
var t1, t2, _i, t3, element; |
|
for (t1 = this._interpolation_buffer$_contents, t2 = t1.length, _i = 0, t3 = ""; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { |
|
element = t1[_i]; |
|
t3 = typeof element === "string" ? t3 + element : t3 + "#{" + H.S(element) + H.Primitives_stringFromCharCode(125); |
|
} |
|
t1 = t3 + this._interpolation_buffer$_text.toString$0(0); |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
} |
|
}; |
|
F.realCasePath_closure.prototype = { |
|
call$1: function(realPath) { |
|
return B.equalsIgnoreCase(X.ParsedPath_ParsedPath$parse(realPath, $.$get$context().style).get$basename(), this.basename); |
|
} |
|
}; |
|
B._FS.prototype = {}; |
|
B._Stat.prototype = {}; |
|
B._Date.prototype = {}; |
|
B._Stderr.prototype = {}; |
|
B._Stdin.prototype = {}; |
|
B._SystemError.prototype = {}; |
|
B._Process.prototype = {}; |
|
B.FileSystemException.prototype = { |
|
toString$0: function(_) { |
|
var t1 = $.$get$context(); |
|
return H.S(t1.prettyUri$1(t1.toUri$1(this.path))) + ": " + this.message; |
|
}, |
|
get$message: function(receiver) { |
|
return this.message; |
|
}, |
|
get$path: function(receiver) { |
|
return this.path; |
|
} |
|
}; |
|
B.Stderr.prototype = { |
|
writeln$1: function(object) { |
|
J.write$1$x(this._stderr, H.S(object == null ? "" : object) + "\n"); |
|
}, |
|
writeln$0: function() { |
|
return this.writeln$1(null); |
|
} |
|
}; |
|
B._readFile_closure.prototype = { |
|
call$0: function() { |
|
return J.readFileSync$2$x(self.fs, this.path, this.encoding); |
|
} |
|
}; |
|
B.writeFile_closure.prototype = { |
|
call$0: function() { |
|
return J.writeFileSync$2$x(self.fs, this.path, this.contents); |
|
} |
|
}; |
|
B.deleteFile_closure.prototype = { |
|
call$0: function() { |
|
return J.unlinkSync$1$x(self.fs, this.path); |
|
} |
|
}; |
|
B.readStdin_closure.prototype = { |
|
call$1: function(result) { |
|
this._box_0.contents = result; |
|
this.completer.complete$1(result); |
|
} |
|
}; |
|
B.readStdin_closure0.prototype = { |
|
call$1: function(chunk) { |
|
this.sink.add$1(0, H.subtypeCast(chunk, "$isList", [P.int], "$asList")); |
|
}, |
|
call$0: function() { |
|
return this.call$1(null); |
|
}, |
|
"call*": "call$1", |
|
$requiredArgCount: 0, |
|
$defaultValues: function() { |
|
return [null]; |
|
}, |
|
$signature: 18 |
|
}; |
|
B.readStdin_closure1.prototype = { |
|
call$1: function(_) { |
|
this.sink.close$0(0); |
|
}, |
|
call$0: function() { |
|
return this.call$1(null); |
|
}, |
|
"call*": "call$1", |
|
$requiredArgCount: 0, |
|
$defaultValues: function() { |
|
return [null]; |
|
}, |
|
$signature: 18 |
|
}; |
|
B.readStdin_closure2.prototype = { |
|
call$1: function(e) { |
|
var t1 = $.$get$stderr(); |
|
t1.writeln$1("Failed to read from stdin"); |
|
t1.writeln$1(e); |
|
this.completer.completeError$1(e); |
|
}, |
|
call$0: function() { |
|
return this.call$1(null); |
|
}, |
|
"call*": "call$1", |
|
$requiredArgCount: 0, |
|
$defaultValues: function() { |
|
return [null]; |
|
}, |
|
$signature: 18 |
|
}; |
|
B.fileExists_closure.prototype = { |
|
call$0: function() { |
|
var error, systemError, exception, |
|
t1 = this.path; |
|
if (!J.existsSync$1$x(self.fs, t1)) |
|
return false; |
|
try { |
|
t1 = J.isFile$0$x(J.statSync$1$x(self.fs, t1)); |
|
return t1; |
|
} catch (exception) { |
|
error = H.unwrapException(exception); |
|
systemError = H.interceptedTypeCast(error, "$is_SystemError"); |
|
if (J.$eq$(J.get$code$x(systemError), "ENOENT")) |
|
return false; |
|
throw exception; |
|
} |
|
} |
|
}; |
|
B.dirExists_closure.prototype = { |
|
call$0: function() { |
|
var error, systemError, exception, |
|
t1 = this.path; |
|
if (!J.existsSync$1$x(self.fs, t1)) |
|
return false; |
|
try { |
|
t1 = J.isDirectory$0$x(J.statSync$1$x(self.fs, t1)); |
|
return t1; |
|
} catch (exception) { |
|
error = H.unwrapException(exception); |
|
systemError = H.interceptedTypeCast(error, "$is_SystemError"); |
|
if (J.$eq$(J.get$code$x(systemError), "ENOENT")) |
|
return false; |
|
throw exception; |
|
} |
|
} |
|
}; |
|
B.ensureDir_closure.prototype = { |
|
call$0: function() { |
|
var error, systemError, exception, t1; |
|
try { |
|
J.mkdirSync$1$x(self.fs, this.path); |
|
} catch (exception) { |
|
error = H.unwrapException(exception); |
|
systemError = H.interceptedTypeCast(error, "$is_SystemError"); |
|
if (J.$eq$(J.get$code$x(systemError), "EEXIST")) |
|
return; |
|
if (!J.$eq$(J.get$code$x(systemError), "ENOENT")) |
|
throw exception; |
|
t1 = this.path; |
|
B.ensureDir($.$get$context().dirname$1(t1)); |
|
J.mkdirSync$1$x(self.fs, t1); |
|
} |
|
} |
|
}; |
|
B.listDir_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.path; |
|
if (!this.recursive) |
|
return J.map$1$1$ax(J.readdirSync$1$x(self.fs, t1), new B.listDir__closure(t1), P.String).where$1(0, new B.listDir__closure0()); |
|
else |
|
return new B.listDir_closure_list().call$1(t1); |
|
} |
|
}; |
|
B.listDir__closure.prototype = { |
|
call$1: function(child) { |
|
return D.join(this.path, H.stringTypeCast(child), null); |
|
}, |
|
$signature: 13 |
|
}; |
|
B.listDir__closure0.prototype = { |
|
call$1: function(child) { |
|
return !B.dirExists(child); |
|
} |
|
}; |
|
B.listDir_closure_list.prototype = { |
|
call$1: function($parent) { |
|
return J.expand$1$1$ax(J.readdirSync$1$x(self.fs, $parent), new B.listDir__list_closure($parent, this), P.String); |
|
} |
|
}; |
|
B.listDir__list_closure.prototype = { |
|
call$1: function(child) { |
|
var path = D.join(this.parent, H.stringTypeCast(child), null); |
|
return B.dirExists(path) ? this.list.call$1(path) : H.setRuntimeTypeInfo([path], [P.String]); |
|
}, |
|
$signature: 41 |
|
}; |
|
B.modificationTime_closure.prototype = { |
|
call$0: function() { |
|
var t2, |
|
t1 = J.getTime$0$x(J.get$mtime$x(J.statSync$1$x(self.fs, this.path))); |
|
if (Math.abs(t1) <= 864e13) |
|
t2 = false; |
|
else |
|
t2 = true; |
|
if (t2) |
|
H.throwExpression(P.ArgumentError$("DateTime is outside valid range: " + H.S(t1))); |
|
return new P.DateTime(t1, false); |
|
} |
|
}; |
|
B.watchDir_closure.prototype = { |
|
call$2: function(path, _) { |
|
var t1 = this._box_0.controller; |
|
return t1 == null ? null : t1.add$1(0, new E.WatchEvent(C.ChangeType_add, path)); |
|
}, |
|
call$1: function(path) { |
|
return this.call$2(path, null); |
|
}, |
|
"call*": "call$2", |
|
$defaultValues: function() { |
|
return [null]; |
|
} |
|
}; |
|
B.watchDir_closure0.prototype = { |
|
call$2: function(path, _) { |
|
var t1 = this._box_0.controller; |
|
return t1 == null ? null : t1.add$1(0, new E.WatchEvent(C.ChangeType_modify, path)); |
|
}, |
|
call$1: function(path) { |
|
return this.call$2(path, null); |
|
}, |
|
"call*": "call$2", |
|
$defaultValues: function() { |
|
return [null]; |
|
} |
|
}; |
|
B.watchDir_closure1.prototype = { |
|
call$1: function(path) { |
|
var t1 = this._box_0.controller; |
|
return t1 == null ? null : t1.add$1(0, new E.WatchEvent(C.ChangeType_remove, path)); |
|
} |
|
}; |
|
B.watchDir_closure2.prototype = { |
|
call$1: function(error) { |
|
var t1 = this._box_0.controller; |
|
return t1 == null ? null : t1.addError$1(error); |
|
}, |
|
$signature: 8 |
|
}; |
|
B.watchDir_closure3.prototype = { |
|
call$0: function() { |
|
var controller = P.StreamController_StreamController(new B.watchDir__closure(this.watcher), null, null, null, false, E.WatchEvent); |
|
this._box_0.controller = controller; |
|
this.completer.complete$1(new P._ControllerStream(controller, [H.getTypeArgumentByIndex(controller, 0)])); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
B.watchDir__closure.prototype = { |
|
call$0: function() { |
|
J.close$0$x(this.watcher); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
F._QuietLogger.prototype = { |
|
warn$4$deprecation$span$trace: function(message, deprecation, span, trace) { |
|
}, |
|
warn$2$deprecation: function(message, deprecation) { |
|
return this.warn$4$deprecation$span$trace(message, deprecation, null, null); |
|
}, |
|
warn$2$span: function(message, span) { |
|
return this.warn$4$deprecation$span$trace(message, false, span, null); |
|
}, |
|
warn$3$deprecation$span: function(message, deprecation, span) { |
|
return this.warn$4$deprecation$span$trace(message, deprecation, span, null); |
|
}, |
|
warn$2$trace: function(message, trace) { |
|
return this.warn$4$deprecation$span$trace(message, false, null, trace); |
|
}, |
|
debug$2: function(message, span) { |
|
} |
|
}; |
|
S.StderrLogger.prototype = { |
|
warn$4$deprecation$span$trace: function(message, deprecation, span, trace) { |
|
var t2, t3, |
|
t1 = this.color; |
|
if (t1) { |
|
t2 = $.$get$stderr(); |
|
t3 = t2._stderr; |
|
J.write$1$x(t3, "\x1b[33m\x1b[1m"); |
|
if (deprecation) |
|
J.write$1$x(t3, "Deprecation "); |
|
J.write$1$x(t3, "Warning\x1b[0m"); |
|
} else { |
|
if (deprecation) |
|
J.write$1$x($.$get$stderr()._stderr, "DEPRECATION "); |
|
t2 = $.$get$stderr(); |
|
J.write$1$x(t2._stderr, "WARNING"); |
|
} |
|
if (span == null) |
|
t2.writeln$1(": " + H.S(message)); |
|
else if (trace != null) |
|
t2.writeln$1(": " + H.S(message) + "\n\n" + span.highlight$1$color(t1)); |
|
else |
|
t2.writeln$1(" on " + span.message$2$color(0, C.JSString_methods.$add("\n", message), t1)); |
|
if (trace != null) |
|
t2.writeln$1(B.indent(C.JSString_methods.trimRight$0(trace.toString$0(0)), 4)); |
|
t2.writeln$0(); |
|
}, |
|
warn$2$deprecation: function(message, deprecation) { |
|
return this.warn$4$deprecation$span$trace(message, deprecation, null, null); |
|
}, |
|
warn$2$span: function(message, span) { |
|
return this.warn$4$deprecation$span$trace(message, false, span, null); |
|
}, |
|
warn$3$deprecation$span: function(message, deprecation, span) { |
|
return this.warn$4$deprecation$span$trace(message, deprecation, span, null); |
|
}, |
|
warn$2$trace: function(message, trace) { |
|
return this.warn$4$deprecation$span$trace(message, false, null, trace); |
|
}, |
|
debug$2: function(message, span) { |
|
var url, t3, t4, |
|
t1 = span.file, |
|
t2 = span._start; |
|
if (Y.FileLocation$_(t1, t2).file.url == null) |
|
url = "-"; |
|
else { |
|
t3 = Y.FileLocation$_(t1, t2); |
|
url = $.$get$context().prettyUri$1(t3.file.url); |
|
} |
|
t3 = $.$get$stderr(); |
|
t4 = H.S(url) + ":"; |
|
t2 = Y.FileLocation$_(t1, t2); |
|
t2 = t4 + (t2.file.getLine$1(t2.offset) + 1) + " "; |
|
t4 = t3._stderr; |
|
J.write$1$x(t4, t2); |
|
J.write$1$x(t4, this.color ? "\x1b[1mDebug\x1b[0m" : "DEBUG"); |
|
t3.writeln$1(": " + H.S(message)); |
|
} |
|
}; |
|
T.TrackingLogger.prototype = { |
|
warn$4$deprecation$span$trace: function(message, deprecation, span, trace) { |
|
this._emittedWarning = true; |
|
this._tracking$_logger.warn$4$deprecation$span$trace(message, deprecation, span, trace); |
|
}, |
|
warn$2$deprecation: function(message, deprecation) { |
|
return this.warn$4$deprecation$span$trace(message, deprecation, null, null); |
|
}, |
|
warn$2$span: function(message, span) { |
|
return this.warn$4$deprecation$span$trace(message, false, span, null); |
|
}, |
|
warn$3$deprecation$span: function(message, deprecation, span) { |
|
return this.warn$4$deprecation$span$trace(message, deprecation, span, null); |
|
}, |
|
warn$2$trace: function(message, trace) { |
|
return this.warn$4$deprecation$span$trace(message, false, null, trace); |
|
}, |
|
debug$2: function(message, span) { |
|
this._emittedDebug = true; |
|
this._tracking$_logger.debug$2(message, span); |
|
} |
|
}; |
|
G.Module.prototype = {}; |
|
Q.BuiltInModule.prototype = { |
|
get$upstream: function() { |
|
return C.List_empty4; |
|
}, |
|
get$variableNodes: function() { |
|
return C.Map_empty1; |
|
}, |
|
get$extender: function() { |
|
return C.C_EmptyExtender; |
|
}, |
|
get$css: function(_) { |
|
return new V.CssStylesheet(C.List_empty1, Y.SourceFile$decoded(C.List_empty2, this.url).span$2(0, 0)); |
|
}, |
|
get$transitivelyContainsCss: function() { |
|
return false; |
|
}, |
|
get$transitivelyContainsExtensions: function() { |
|
return false; |
|
}, |
|
setVariable$3: function($name, value, nodeWithSpan) { |
|
if (!this.variables.containsKey$1($name)) |
|
throw H.wrapException(E.SassScriptException$("Undefined variable.")); |
|
throw H.wrapException(E.SassScriptException$("Cannot modify built-in variable.")); |
|
}, |
|
cloneCss$0: function() { |
|
return this; |
|
}, |
|
$isModule: 1, |
|
get$url: function() { |
|
return this.url; |
|
}, |
|
get$functions: function(receiver) { |
|
return this.functions; |
|
}, |
|
get$mixins: function() { |
|
return this.mixins; |
|
}, |
|
get$variables: function() { |
|
return this.variables; |
|
} |
|
}; |
|
R.ForwardedModuleView.prototype = { |
|
get$url: function() { |
|
return this._forwarded_view$_inner.get$url(); |
|
}, |
|
get$upstream: function() { |
|
return this._forwarded_view$_inner.get$upstream(); |
|
}, |
|
get$extender: function() { |
|
return this._forwarded_view$_inner.get$extender(); |
|
}, |
|
get$css: function(_) { |
|
var t1 = this._forwarded_view$_inner; |
|
return t1.get$css(t1); |
|
}, |
|
get$transitivelyContainsCss: function() { |
|
return this._forwarded_view$_inner.get$transitivelyContainsCss(); |
|
}, |
|
get$transitivelyContainsExtensions: function() { |
|
return this._forwarded_view$_inner.get$transitivelyContainsExtensions(); |
|
}, |
|
setVariable$3: function($name, value, nodeWithSpan) { |
|
var _s19_ = "Undefined variable.", |
|
t1 = this._rule, |
|
t2 = t1.shownVariables; |
|
if (t2 != null && !t2._base.contains$1(0, $name)) |
|
throw H.wrapException(E.SassScriptException$(_s19_)); |
|
else { |
|
t2 = t1.hiddenVariables; |
|
if (t2 != null && t2._base.contains$1(0, $name)) |
|
throw H.wrapException(E.SassScriptException$(_s19_)); |
|
} |
|
t1 = t1.prefix; |
|
if (t1 != null) { |
|
if (!C.JSString_methods.startsWith$1($name, t1)) |
|
throw H.wrapException(E.SassScriptException$(_s19_)); |
|
$name = C.JSString_methods.substring$1($name, t1.length); |
|
} |
|
return this._forwarded_view$_inner.setVariable$3($name, value, nodeWithSpan); |
|
}, |
|
cloneCss$0: function() { |
|
return R.ForwardedModuleView$(this._forwarded_view$_inner.cloneCss$0(), this._rule, H.getTypeArgumentByIndex(this, 0)); |
|
}, |
|
$isModule: 1, |
|
get$variables: function() { |
|
return this.variables; |
|
}, |
|
get$variableNodes: function() { |
|
return this.variableNodes; |
|
}, |
|
get$functions: function(receiver) { |
|
return this.functions; |
|
}, |
|
get$mixins: function() { |
|
return this.mixins; |
|
} |
|
}; |
|
B.ShadowedModuleView.prototype = { |
|
get$url: function() { |
|
return this._shadowed_view$_inner.get$url(); |
|
}, |
|
get$upstream: function() { |
|
return this._shadowed_view$_inner.get$upstream(); |
|
}, |
|
get$extender: function() { |
|
return this._shadowed_view$_inner.get$extender(); |
|
}, |
|
get$css: function(_) { |
|
var t1 = this._shadowed_view$_inner; |
|
return t1.get$css(t1); |
|
}, |
|
get$transitivelyContainsCss: function() { |
|
return this._shadowed_view$_inner.get$transitivelyContainsCss(); |
|
}, |
|
get$transitivelyContainsExtensions: function() { |
|
return this._shadowed_view$_inner.get$transitivelyContainsExtensions(); |
|
}, |
|
setVariable$3: function($name, value, nodeWithSpan) { |
|
if (!this.variables.containsKey$1($name)) |
|
throw H.wrapException(E.SassScriptException$("Undefined variable.")); |
|
else |
|
return this._shadowed_view$_inner.setVariable$3($name, value, nodeWithSpan); |
|
}, |
|
cloneCss$0: function() { |
|
var _this = this; |
|
return new B.ShadowedModuleView(_this._shadowed_view$_inner.cloneCss$0(), _this.variables, _this.variableNodes, _this.functions, _this.mixins, _this.$ti); |
|
}, |
|
$isModule: 1, |
|
get$variables: function() { |
|
return this.variables; |
|
}, |
|
get$variableNodes: function() { |
|
return this.variableNodes; |
|
}, |
|
get$functions: function(receiver) { |
|
return this.functions; |
|
}, |
|
get$mixins: function() { |
|
return this.mixins; |
|
} |
|
}; |
|
B.main_closure.prototype = { |
|
call$1: function(args) { |
|
return F.main(P.List_List$from(H.subtypeCast(args, "$isList", [P.Object], "$asList"), true, P.String)); |
|
}, |
|
$signature: 42 |
|
}; |
|
B._render_closure.prototype = { |
|
call$0: function() { |
|
var error, exception; |
|
try { |
|
this.callback.call$2(null, B._renderSync(this.options)); |
|
} catch (exception) { |
|
error = H.unwrapException(exception); |
|
this.callback.call$2(H.interceptedTypeCast(error, "$isJSError"), null); |
|
} |
|
return; |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
B._render_closure0.prototype = { |
|
call$1: function(result) { |
|
this.callback.call$2(null, result); |
|
} |
|
}; |
|
B._render_closure1.prototype = { |
|
call$2: function(error, stackTrace) { |
|
var _null = null, |
|
t1 = J.getInterceptor$(error), |
|
t2 = this.callback; |
|
if (!!t1.$isSassException) |
|
t2.call$2(B._wrapException(error), _null); |
|
else |
|
t2.call$2(B._newRenderError(t1.toString$0(error), _null, _null, _null, 3), _null); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2, |
|
$signature: 43 |
|
}; |
|
B._parseFunctions_closure.prototype = { |
|
call$2: function(signature, callback) { |
|
var error, t1, exception, _this = this, tuple = null; |
|
try { |
|
t1 = S.SpanScanner$(signature, null); |
|
tuple = new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false).parseSignature$0(); |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (t1 instanceof E.SassFormatException) { |
|
error = t1; |
|
throw H.wrapException(E.SassFormatException$('Invalid signature "' + H.S(signature) + '": ' + H.S(error._span_exception$_message), error.get$span())); |
|
} else |
|
throw exception; |
|
} |
|
t1 = _this.options; |
|
if (J.get$fiber$x(t1) != null) |
|
_this.result.push(Q.BuiltInCallable$parsed(tuple.item1, tuple.item2, new B._parseFunctions__closure(t1, callback))); |
|
else { |
|
t1 = _this.result; |
|
if (!_this.asynch) |
|
t1.push(Q.BuiltInCallable$parsed(tuple.item1, tuple.item2, new B._parseFunctions__closure0(callback))); |
|
else |
|
t1.push(new S.AsyncBuiltInCallable(tuple.item1, tuple.item2, new B._parseFunctions__closure1(callback))); |
|
} |
|
}, |
|
$signature: 44 |
|
}; |
|
B._parseFunctions__closure.prototype = { |
|
call$1: function($arguments) { |
|
var result, |
|
t1 = this.options, |
|
t2 = J.getInterceptor$x(t1), |
|
fiber = J.get$current$x(t2.get$fiber(t1)), |
|
t3 = P.Object, |
|
t4 = H.setRuntimeTypeInfo([], [t3]); |
|
for (t3 = J.map$1$1$ax($arguments, F.value0__wrapValue$closure(), t3), t3 = t3.get$iterator(t3); t3.moveNext$0();) |
|
t4.push(t3.get$current(t3)); |
|
t4.push(P.allowInterop(new B._parseFunctions___closure0(fiber))); |
|
result = P.Function_apply(H.interceptedTypeCast(this.callback, "$isFunction"), t4); |
|
return F.unwrapValue(H.boolTypeCast($.$get$_isUndefined().call$1(result)) ? J.yield$0$x(t2.get$fiber(t1)) : result); |
|
}, |
|
$signature: 0 |
|
}; |
|
B._parseFunctions___closure0.prototype = { |
|
call$1: function(result) { |
|
P.scheduleMicrotask(new B._parseFunctions____closure(this.fiber, result)); |
|
}, |
|
call$0: function() { |
|
return this.call$1(null); |
|
}, |
|
"call*": "call$1", |
|
$requiredArgCount: 0, |
|
$defaultValues: function() { |
|
return [null]; |
|
}, |
|
$signature: 18 |
|
}; |
|
B._parseFunctions____closure.prototype = { |
|
call$0: function() { |
|
return J.run$1$x(this.fiber, this.result); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
B._parseFunctions__closure0.prototype = { |
|
call$1: function($arguments) { |
|
return F.unwrapValue(P.Function_apply(H.interceptedTypeCast(this.callback, "$isFunction"), J.map$1$1$ax($arguments, F.value0__wrapValue$closure(), P.Object).toList$0(0))); |
|
}, |
|
$signature: 0 |
|
}; |
|
B._parseFunctions__closure1.prototype = { |
|
call$1: function($arguments) { |
|
return this.$call$body$_parseFunctions__closure($arguments); |
|
}, |
|
$call$body$_parseFunctions__closure: function($arguments) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, result, t1, completer, t2, $async$temp1; |
|
var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = P.Object; |
|
completer = new P._AsyncCompleter(new P._Future($.Zone__current, [t1]), [t1]); |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
for (t1 = J.map$1$1$ax($arguments, F.value0__wrapValue$closure(), t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) |
|
t2.push(t1.get$current(t1)); |
|
t2.push(P.allowInterop(new B._parseFunctions___closure(completer))); |
|
result = P.Function_apply(H.interceptedTypeCast($async$self.callback, "$isFunction"), t2); |
|
$async$temp1 = F; |
|
$async$goto = H.boolTypeCast($.$get$_isUndefined().call$1(result)) ? 3 : 5; |
|
break; |
|
case 3: |
|
// then |
|
$async$goto = 6; |
|
return P._asyncAwait(completer.future, $async$call$1); |
|
case 6: |
|
// returning from await. |
|
// goto join |
|
$async$goto = 4; |
|
break; |
|
case 5: |
|
// else |
|
$async$result = result; |
|
case 4: |
|
// join |
|
$async$returnValue = $async$temp1.unwrapValue($async$result); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$1, $async$completer); |
|
} |
|
}; |
|
B._parseFunctions___closure.prototype = { |
|
call$1: function(result) { |
|
return this.completer.complete$1(result); |
|
}, |
|
call$0: function() { |
|
return this.call$1(null); |
|
}, |
|
"call*": "call$1", |
|
$requiredArgCount: 0, |
|
$defaultValues: function() { |
|
return [null]; |
|
}, |
|
$signature: 30 |
|
}; |
|
B._parseImporter_closure.prototype = { |
|
call$1: function(importer) { |
|
return H.interceptedTypeCast(P.allowInteropCaptureThis(new B._parseImporter__closure(this.options, importer)), "$isJSFunction"); |
|
} |
|
}; |
|
B._parseImporter__closure.prototype = { |
|
call$4: function(thisArg, url, previous, _) { |
|
var t1 = this.options, |
|
t2 = J.getInterceptor$x(t1), |
|
result = J.apply$2$x(this.importer, thisArg, H.setRuntimeTypeInfo([url, previous, P.allowInterop(new B._parseImporter___closure(J.get$current$x(t2.get$fiber(t1))))], [P.Object])); |
|
if (H.boolTypeCast($.$get$_isUndefined().call$1(result))) |
|
return J.yield$0$x(t2.get$fiber(t1)); |
|
return result; |
|
}, |
|
call$3: function(thisArg, url, previous) { |
|
return this.call$4(thisArg, url, previous, null); |
|
}, |
|
"call*": "call$4", |
|
$requiredArgCount: 3, |
|
$defaultValues: function() { |
|
return [null]; |
|
} |
|
}; |
|
B._parseImporter___closure.prototype = { |
|
call$1: function(result) { |
|
P.scheduleMicrotask(new B._parseImporter____closure(this.fiber, result)); |
|
}, |
|
$signature: 45 |
|
}; |
|
B._parseImporter____closure.prototype = { |
|
call$0: function() { |
|
return J.run$1$x(this.fiber, this.result); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
Y.Chokidar.prototype = {}; |
|
Y.ChokidarOptions.prototype = {}; |
|
Y.ChokidarWatcher.prototype = {}; |
|
V.JSError.prototype = {}; |
|
D.Exports.prototype = {}; |
|
E.FiberClass.prototype = {}; |
|
E.Fiber.prototype = {}; |
|
F.JSFunction.prototype = {}; |
|
F.NodeImporterResult.prototype = {}; |
|
Z.RenderContext.prototype = {}; |
|
L.RenderContextOptions.prototype = {}; |
|
R.RenderOptions.prototype = {}; |
|
U.RenderResult.prototype = {}; |
|
U.RenderResultStats.prototype = {}; |
|
G.Types.prototype = {}; |
|
B.forwardToString_closure.prototype = { |
|
call$1: function(thisArg) { |
|
return J.toString$0$(thisArg); |
|
}, |
|
$signature: 13 |
|
}; |
|
B.createClass_closure.prototype = { |
|
call$2: function($name, body) { |
|
this.$prototype[$name] = P.allowInteropCaptureThis(body); |
|
} |
|
}; |
|
B._PropertyDescriptor.prototype = {}; |
|
Z.closure141.prototype = { |
|
call$0: function() { |
|
var $constructor = P.allowInterop(new Z._closure19()); |
|
B.injectSuperclass(C.SassBoolean_true, $constructor); |
|
B.forwardToString($constructor); |
|
$constructor.prototype.getValue = P.allowInteropCaptureThis(new Z._closure20()); |
|
$constructor.TRUE = C.SassBoolean_true; |
|
$constructor.FALSE = C.SassBoolean_false; |
|
return $constructor; |
|
} |
|
}; |
|
Z._closure19.prototype = { |
|
call$1: function(_) { |
|
throw H.wrapException("new sass.types.Boolean() isn't allowed.\nUse sass.types.Boolean.TRUE or sass.types.Boolean.FALSE instead."); |
|
}, |
|
call$0: function() { |
|
return this.call$1(null); |
|
}, |
|
"call*": "call$1", |
|
$requiredArgCount: 0, |
|
$defaultValues: function() { |
|
return [null]; |
|
}, |
|
$signature: 22 |
|
}; |
|
Z._closure20.prototype = { |
|
call$1: function(thisArg) { |
|
return thisArg === C.SassBoolean_true; |
|
}, |
|
$signature: 3 |
|
}; |
|
K._NodeSassColor.prototype = {}; |
|
K.closure131.prototype = { |
|
call$6: function(thisArg, redOrArgb, green, blue, alpha, dartValue) { |
|
var red, t1, t2, t3, t4; |
|
if (dartValue != null) { |
|
J.set$dartValue$x(thisArg, dartValue); |
|
return; |
|
} |
|
if (green == null) { |
|
H.intTypeCast(redOrArgb); |
|
alpha = C.JSInt_methods._shrOtherPositive$1(redOrArgb, 24) / 255; |
|
red = C.JSInt_methods.$mod(C.JSInt_methods._shrOtherPositive$1(redOrArgb, 16), 256); |
|
green = C.JSInt_methods.$mod(C.JSInt_methods._shrOtherPositive$1(redOrArgb, 8), 256); |
|
blue = C.JSInt_methods.$mod(redOrArgb, 256); |
|
} else |
|
red = redOrArgb; |
|
t1 = C.JSNumber_methods.round$0(J.clamp$2$n(red, 0, 255)); |
|
t2 = C.JSNumber_methods.round$0(C.JSNumber_methods.clamp$2(green, 0, 255)); |
|
t3 = C.JSNumber_methods.round$0(J.clamp$2$n(blue, 0, 255)); |
|
t4 = alpha == null ? null : C.JSNumber_methods.clamp$2(alpha, 0, 1); |
|
J.set$dartValue$x(thisArg, K.SassColor$rgb(t1, t2, t3, t4 == null ? 1 : t4, null)); |
|
}, |
|
call$2: function(thisArg, redOrArgb) { |
|
return this.call$6(thisArg, redOrArgb, null, null, null, null); |
|
}, |
|
call$3: function(thisArg, redOrArgb, green) { |
|
return this.call$6(thisArg, redOrArgb, green, null, null, null); |
|
}, |
|
call$4: function(thisArg, redOrArgb, green, blue) { |
|
return this.call$6(thisArg, redOrArgb, green, blue, null, null); |
|
}, |
|
call$5: function(thisArg, redOrArgb, green, blue, alpha) { |
|
return this.call$6(thisArg, redOrArgb, green, blue, alpha, null); |
|
}, |
|
"call*": "call$6", |
|
$requiredArgCount: 2, |
|
$defaultValues: function() { |
|
return [null, null, null, null]; |
|
} |
|
}; |
|
K.closure132.prototype = { |
|
call$1: function(thisArg) { |
|
return J.get$dartValue$x(thisArg).get$red(); |
|
} |
|
}; |
|
K.closure133.prototype = { |
|
call$1: function(thisArg) { |
|
return J.get$dartValue$x(thisArg).get$green(); |
|
} |
|
}; |
|
K.closure134.prototype = { |
|
call$1: function(thisArg) { |
|
return J.get$dartValue$x(thisArg).get$blue(); |
|
} |
|
}; |
|
K.closure135.prototype = { |
|
call$1: function(thisArg) { |
|
return J.get$dartValue$x(thisArg).alpha; |
|
} |
|
}; |
|
K.closure136.prototype = { |
|
call$2: function(thisArg, value) { |
|
var t1 = J.getInterceptor$x(thisArg); |
|
t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$red(C.JSNumber_methods.round$0(J.clamp$2$n(value, 0, 255)))); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2 |
|
}; |
|
K.closure137.prototype = { |
|
call$2: function(thisArg, value) { |
|
var t1 = J.getInterceptor$x(thisArg); |
|
t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$green(C.JSNumber_methods.round$0(J.clamp$2$n(value, 0, 255)))); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2 |
|
}; |
|
K.closure138.prototype = { |
|
call$2: function(thisArg, value) { |
|
var t1 = J.getInterceptor$x(thisArg); |
|
t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$blue(C.JSNumber_methods.round$0(J.clamp$2$n(value, 0, 255)))); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2 |
|
}; |
|
K.closure139.prototype = { |
|
call$2: function(thisArg, value) { |
|
var t1 = J.getInterceptor$x(thisArg); |
|
t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$alpha(J.clamp$2$n(value, 0, 1))); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2 |
|
}; |
|
K.closure140.prototype = { |
|
call$1: function(thisArg) { |
|
return J.toString$0$(J.get$dartValue$x(thisArg)); |
|
} |
|
}; |
|
D._NodeSassList.prototype = {}; |
|
D.closure124.prototype = { |
|
call$4: function(thisArg, $length, commaSeparator, dartValue) { |
|
var t1; |
|
if (dartValue == null) { |
|
t1 = P.Iterable_Iterable$generate($length, new D._closure18(), F.Value); |
|
t1 = D.SassList$(t1, commaSeparator !== false ? C.ListSeparator_comma : C.ListSeparator_space, false); |
|
} else |
|
t1 = dartValue; |
|
J.set$dartValue$x(thisArg, t1); |
|
}, |
|
call$2: function(thisArg, $length) { |
|
return this.call$4(thisArg, $length, null, null); |
|
}, |
|
call$3: function(thisArg, $length, commaSeparator) { |
|
return this.call$4(thisArg, $length, commaSeparator, null); |
|
}, |
|
"call*": "call$4", |
|
$requiredArgCount: 2, |
|
$defaultValues: function() { |
|
return [null, null]; |
|
} |
|
}; |
|
D._closure18.prototype = { |
|
call$1: function(_) { |
|
return C.C_SassNull; |
|
}, |
|
$signature: 26 |
|
}; |
|
D.closure125.prototype = { |
|
call$2: function(thisArg, index) { |
|
return F.wrapValue(J.get$dartValue$x(thisArg)._list$_contents[index]); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2 |
|
}; |
|
D.closure126.prototype = { |
|
call$3: function(thisArg, index, value) { |
|
var t1 = J.getInterceptor$x(thisArg), |
|
t2 = t1.get$dartValue(thisArg)._list$_contents, |
|
mutable = H.setRuntimeTypeInfo(t2.slice(0), [H.getTypeArgumentByIndex(t2, 0)]); |
|
mutable[index] = F.unwrapValue(value); |
|
t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeListContents$1(mutable)); |
|
}, |
|
"call*": "call$3", |
|
$requiredArgCount: 3 |
|
}; |
|
D.closure127.prototype = { |
|
call$1: function(thisArg) { |
|
return J.get$dartValue$x(thisArg).separator === C.ListSeparator_comma; |
|
} |
|
}; |
|
D.closure128.prototype = { |
|
call$2: function(thisArg, isComma) { |
|
var t1 = J.getInterceptor$x(thisArg), |
|
t2 = t1.get$dartValue(thisArg)._list$_contents, |
|
t3 = isComma ? C.ListSeparator_comma : C.ListSeparator_space; |
|
t1.set$dartValue(thisArg, D.SassList$(t2, t3, t1.get$dartValue(thisArg).hasBrackets)); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2 |
|
}; |
|
D.closure129.prototype = { |
|
call$1: function(thisArg) { |
|
return J.get$dartValue$x(thisArg)._list$_contents.length; |
|
} |
|
}; |
|
D.closure130.prototype = { |
|
call$1: function(thisArg) { |
|
return J.toString$0$(J.get$dartValue$x(thisArg)); |
|
} |
|
}; |
|
A._NodeSassMap.prototype = {}; |
|
A.closure117.prototype = { |
|
call$3: function(thisArg, $length, dartValue) { |
|
var t1, t2, t3, map; |
|
if (dartValue == null) { |
|
t1 = F.Value; |
|
t2 = P.Iterable_Iterable$generate($length, new A._closure16(), t1); |
|
t3 = P.Iterable_Iterable$generate($length, new A._closure17(), t1); |
|
map = P.LinkedHashMap_LinkedHashMap(null, null, null, t1, t1); |
|
P.MapBase__fillMapWithIterables(map, t2, t3); |
|
t1 = new A.SassMap(H.ConstantMap_ConstantMap$from(map, t1, t1)); |
|
} else |
|
t1 = dartValue; |
|
J.set$dartValue$x(thisArg, t1); |
|
}, |
|
call$2: function(thisArg, $length) { |
|
return this.call$3(thisArg, $length, null); |
|
}, |
|
"call*": "call$3", |
|
$requiredArgCount: 2, |
|
$defaultValues: function() { |
|
return [null]; |
|
} |
|
}; |
|
A._closure16.prototype = { |
|
call$1: function(i) { |
|
return new T.SassNumber(i, C.List_empty, C.List_empty, null); |
|
}, |
|
$signature: 47 |
|
}; |
|
A._closure17.prototype = { |
|
call$1: function(_) { |
|
return C.C_SassNull; |
|
}, |
|
$signature: 26 |
|
}; |
|
A.closure118.prototype = { |
|
call$2: function(thisArg, index) { |
|
return F.wrapValue(J.elementAt$1$ax(J.get$dartValue$x(thisArg).contents.get$keys(), index)); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2 |
|
}; |
|
A.closure119.prototype = { |
|
call$2: function(thisArg, index) { |
|
return F.wrapValue(J.get$dartValue$x(thisArg).contents.get$values().elementAt$1(0, index)); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2 |
|
}; |
|
A.closure120.prototype = { |
|
call$1: function(thisArg) { |
|
var t1 = J.get$dartValue$x(thisArg).contents; |
|
return t1.get$length(t1); |
|
} |
|
}; |
|
A.closure121.prototype = { |
|
call$3: function(thisArg, index, key) { |
|
var newKey, t2, newMap, t3, i, t4, |
|
t1 = J.getInterceptor$x(thisArg), |
|
oldMap = t1.get$dartValue(thisArg).contents; |
|
P.RangeError_checkValidIndex(index, oldMap, "index"); |
|
newKey = F.unwrapValue(key); |
|
t2 = F.Value; |
|
newMap = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2); |
|
for (t3 = J.get$iterator$ax(t1.get$dartValue(thisArg).contents.get$keys()), i = 0; t3.moveNext$0();) { |
|
t4 = t3.get$current(t3); |
|
if (i === index) |
|
newMap.$indexSet(0, newKey, oldMap.$index(0, t4)); |
|
else { |
|
if (newKey.$eq(0, t4)) |
|
throw H.wrapException(P.ArgumentError$value(key, "key", "is already in the map")); |
|
newMap.$indexSet(0, t4, oldMap.$index(0, t4)); |
|
} |
|
++i; |
|
} |
|
t1.set$dartValue(thisArg, new A.SassMap(H.ConstantMap_ConstantMap$from(newMap, t2, t2))); |
|
}, |
|
"call*": "call$3", |
|
$requiredArgCount: 3 |
|
}; |
|
A.closure122.prototype = { |
|
call$3: function(thisArg, index, value) { |
|
var t4, t5, |
|
t1 = J.getInterceptor$x(thisArg), |
|
key = J.elementAt$1$ax(t1.get$dartValue(thisArg).contents.get$keys(), index), |
|
t2 = F.Value, |
|
t3 = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2); |
|
for (t4 = t1.get$dartValue(thisArg).contents.get$entries(), t4 = t4.get$iterator(t4); t4.moveNext$0();) { |
|
t5 = t4.get$current(t4); |
|
t3.$indexSet(0, t5.key, t5.value); |
|
} |
|
t3.$indexSet(0, key, F.unwrapValue(value)); |
|
t1.set$dartValue(thisArg, new A.SassMap(H.ConstantMap_ConstantMap$from(t3, t2, t2))); |
|
}, |
|
"call*": "call$3", |
|
$requiredArgCount: 3 |
|
}; |
|
A.closure123.prototype = { |
|
call$1: function(thisArg) { |
|
return J.toString$0$(J.get$dartValue$x(thisArg)); |
|
} |
|
}; |
|
O.closure116.prototype = { |
|
call$0: function() { |
|
var $constructor = P.allowInterop(new O._closure14()); |
|
B.injectSuperclass(C.C_SassNull, $constructor); |
|
B.forwardToString($constructor); |
|
$constructor.NULL = C.C_SassNull; |
|
C.C_SassNull.toString = P.allowInterop(new O._closure15()); |
|
return $constructor; |
|
} |
|
}; |
|
O._closure14.prototype = { |
|
call$1: function(_) { |
|
throw H.wrapException("new sass.types.Null() isn't allowed. Use sass.types.Null.NULL instead."); |
|
}, |
|
call$0: function() { |
|
return this.call$1(null); |
|
}, |
|
"call*": "call$1", |
|
$requiredArgCount: 0, |
|
$defaultValues: function() { |
|
return [null]; |
|
}, |
|
$signature: 22 |
|
}; |
|
O._closure15.prototype = { |
|
call$0: function() { |
|
return "null"; |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
T._NodeSassNumber.prototype = {}; |
|
T.closure110.prototype = { |
|
call$4: function(thisArg, value, unit, dartValue) { |
|
J.set$dartValue$x(thisArg, dartValue == null ? T._parseNumber(value, unit) : dartValue); |
|
}, |
|
call$2: function(thisArg, value) { |
|
return this.call$4(thisArg, value, null, null); |
|
}, |
|
call$3: function(thisArg, value, unit) { |
|
return this.call$4(thisArg, value, unit, null); |
|
}, |
|
"call*": "call$4", |
|
$requiredArgCount: 2, |
|
$defaultValues: function() { |
|
return [null, null]; |
|
} |
|
}; |
|
T.closure111.prototype = { |
|
call$1: function(thisArg) { |
|
return J.get$dartValue$x(thisArg).value; |
|
} |
|
}; |
|
T.closure112.prototype = { |
|
call$2: function(thisArg, value) { |
|
var t1 = J.getInterceptor$x(thisArg), |
|
t2 = t1.get$dartValue(thisArg).numeratorUnits; |
|
t1.set$dartValue(thisArg, T.SassNumber$withUnits(value, t1.get$dartValue(thisArg).denominatorUnits, t2)); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2 |
|
}; |
|
T.closure113.prototype = { |
|
call$1: function(thisArg) { |
|
var t1 = J.getInterceptor$x(thisArg), |
|
t2 = C.JSArray_methods.join$1(t1.get$dartValue(thisArg).numeratorUnits, "*"); |
|
return t2 + (t1.get$dartValue(thisArg).denominatorUnits.length === 0 ? "" : "/") + C.JSArray_methods.join$1(t1.get$dartValue(thisArg).denominatorUnits, "*"); |
|
} |
|
}; |
|
T.closure114.prototype = { |
|
call$2: function(thisArg, unit) { |
|
var t1 = J.getInterceptor$x(thisArg); |
|
t1.set$dartValue(thisArg, T._parseNumber(t1.get$dartValue(thisArg).value, unit)); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2 |
|
}; |
|
T.closure115.prototype = { |
|
call$1: function(thisArg) { |
|
return J.toString$0$(J.get$dartValue$x(thisArg)); |
|
} |
|
}; |
|
T._parseNumber_closure.prototype = { |
|
call$1: function(unit) { |
|
return unit.length === 0; |
|
} |
|
}; |
|
T._parseNumber_closure0.prototype = { |
|
call$1: function(unit) { |
|
return unit.length === 0; |
|
} |
|
}; |
|
D._NodeSassString.prototype = {}; |
|
D.closure106.prototype = { |
|
call$3: function(thisArg, value, dartValue) { |
|
J.set$dartValue$x(thisArg, dartValue == null ? new D.SassString(value, false) : dartValue); |
|
}, |
|
call$2: function(thisArg, value) { |
|
return this.call$3(thisArg, value, null); |
|
}, |
|
"call*": "call$3", |
|
$requiredArgCount: 2, |
|
$defaultValues: function() { |
|
return [null]; |
|
} |
|
}; |
|
D.closure107.prototype = { |
|
call$1: function(thisArg) { |
|
return J.get$dartValue$x(thisArg).text; |
|
} |
|
}; |
|
D.closure108.prototype = { |
|
call$2: function(thisArg, value) { |
|
J.set$dartValue$x(thisArg, new D.SassString(value, false)); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2 |
|
}; |
|
D.closure109.prototype = { |
|
call$1: function(thisArg) { |
|
return J.toString$0$(J.get$dartValue$x(thisArg)); |
|
} |
|
}; |
|
V.AtRootQueryParser.prototype = { |
|
parse$0: function() { |
|
return this.wrapSpanFormatException$1(new V.AtRootQueryParser_parse_closure(this)); |
|
} |
|
}; |
|
V.AtRootQueryParser_parse_closure.prototype = { |
|
call$0: function() { |
|
var include, atRules, |
|
t1 = this.$this, |
|
t2 = t1.scanner; |
|
t2.expectChar$1(40); |
|
t1.whitespace$0(); |
|
include = t1.scanIdentifier$1("with"); |
|
if (!include) |
|
t1.expectIdentifier$2$name("without", '"with" or "without"'); |
|
t1.whitespace$0(); |
|
t2.expectChar$1(58); |
|
t1.whitespace$0(); |
|
atRules = P.LinkedHashSet_LinkedHashSet$_empty(P.String); |
|
do { |
|
atRules.add$1(0, t1.identifier$0().toLowerCase()); |
|
t1.whitespace$0(); |
|
} while (t1.lookingAtIdentifier$0()); |
|
t2.expectChar$1(41); |
|
t2.expectDone$0(); |
|
return new V.AtRootQuery(include, atRules, atRules.contains$1(0, "all"), atRules.contains$1(0, "rule")); |
|
} |
|
}; |
|
Q.closure105.prototype = { |
|
call$1: function($function) { |
|
return $function.name; |
|
} |
|
}; |
|
Q.CssParser.prototype = { |
|
get$plainCss: function() { |
|
return true; |
|
}, |
|
silentComment$0: function() { |
|
var t1 = this.scanner, |
|
t2 = t1._string_scanner$_position; |
|
this.super$Parser$silentComment(); |
|
this.error$2("Silent comments aren't allowed in plain CSS.", t1.spanFrom$1(new S._SpanScannerState(t1, t2))); |
|
}, |
|
atRule$2$root: function(child, root) { |
|
var $name, urlStart, next, url, urlSpan, queries, t2, t3, t4, t5, t6, _this = this, |
|
t1 = _this.scanner, |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
t1.expectChar$1(64); |
|
$name = _this.interpolatedIdentifier$0(); |
|
_this.whitespace$0(); |
|
switch ($name.get$asPlain()) { |
|
case "at-root": |
|
case "content": |
|
case "debug": |
|
case "each": |
|
case "error": |
|
case "extend": |
|
case "for": |
|
case "function": |
|
case "if": |
|
case "include": |
|
case "mixin": |
|
case "return": |
|
case "warn": |
|
case "while": |
|
_this.almostAnyValue$0(); |
|
_this.error$2("This at-rule isn't allowed in plain CSS.", t1.spanFrom$1(start)); |
|
break; |
|
case "charset": |
|
_this.string$0(); |
|
if (!root) |
|
_this.error$2("This at-rule is not allowed here.", t1.spanFrom$1(start)); |
|
return; |
|
case "import": |
|
urlStart = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
next = t1.peekChar$0(); |
|
url = next === 117 || next === 85 ? _this.dynamicUrl$0() : new D.StringExpression(_this.interpolatedString$0().asInterpolation$1$static(true), false); |
|
urlSpan = t1.spanFrom$1(urlStart); |
|
_this.whitespace$0(); |
|
queries = _this.tryImportQueries$0(); |
|
_this.expectStatementSeparator$1("@import rule"); |
|
t2 = X.Interpolation$(H.setRuntimeTypeInfo([url], [P.Object]), urlSpan); |
|
t3 = t1.spanFrom$1(urlStart); |
|
t4 = queries == null; |
|
t5 = t4 ? null : queries.item1; |
|
t4 = t4 ? null : queries.item2; |
|
t6 = F.Import; |
|
t3 = H.setRuntimeTypeInfo([new Q.StaticImport(t2, t5, t4, t3)], [t6]); |
|
t1 = t1.spanFrom$1(start); |
|
return new B.ImportRule(P.List_List$unmodifiable(t3, t6), t1); |
|
case "media": |
|
return _this.mediaRule$1(start); |
|
case "-moz-document": |
|
return _this.mozDocumentRule$2(start, $name); |
|
case "supports": |
|
return _this.supportsRule$1(start); |
|
default: |
|
return _this.unknownAtRule$2(start, $name); |
|
} |
|
}, |
|
identifierLike$0: function() { |
|
var t2, $arguments, _this = this, |
|
t1 = _this.scanner, |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position), |
|
identifier = _this.interpolatedIdentifier$0(), |
|
plain = identifier.get$asPlain(), |
|
specialFunction = _this.trySpecialFunction$2(plain.toLowerCase(), start); |
|
if (specialFunction != null) |
|
return specialFunction; |
|
t2 = t1._string_scanner$_position; |
|
if (!t1.scanChar$1(40)) |
|
return new D.StringExpression(identifier, false); |
|
$arguments = H.setRuntimeTypeInfo([], [T.Expression]); |
|
if (!t1.scanChar$1(41)) { |
|
do { |
|
_this.whitespace$0(); |
|
$arguments.push(_this.expression$1$singleEquals(true)); |
|
_this.whitespace$0(); |
|
} while (t1.scanChar$1(44)); |
|
t1.expectChar$1(41); |
|
} |
|
if ($.$get$_disallowedFunctionNames().contains$1(0, plain)) |
|
_this.error$2("This function isn't allowed in plain CSS.", t1.spanFrom$1(start)); |
|
return new F.FunctionExpression(null, X.Interpolation$(H.setRuntimeTypeInfo([new D.StringExpression(identifier, false)], [P.Object]), identifier.span), X.ArgumentInvocation$($arguments, C.Map_empty3, t1.spanFrom$1(new S._SpanScannerState(t1, t2)), null, null), t1.spanFrom$1(start)); |
|
} |
|
}; |
|
E.KeyframeSelectorParser.prototype = { |
|
parse$0: function() { |
|
return this.wrapSpanFormatException$1(new E.KeyframeSelectorParser_parse_closure(this)); |
|
}, |
|
_percentage$0: function() { |
|
var t3, next, |
|
t1 = this.scanner, |
|
t2 = t1.scanChar$1(43) ? H.Primitives_stringFromCharCode(43) : "", |
|
second = t1.peekChar$0(); |
|
if (!T.isDigit(second) && second !== 46) |
|
t1.error$1("Expected number."); |
|
while (true) { |
|
t3 = t1.peekChar$0(); |
|
if (!(t3 != null && t3 >= 48 && t3 <= 57)) |
|
break; |
|
t2 += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
} |
|
if (t1.peekChar$0() === 46) { |
|
t2 += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
while (true) { |
|
t3 = t1.peekChar$0(); |
|
if (!(t3 != null && t3 >= 48 && t3 <= 57)) |
|
break; |
|
t2 += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
} |
|
} |
|
if (this.scanIdentifier$1("e")) { |
|
t2 += t1.readChar$0(); |
|
next = t1.peekChar$0(); |
|
if (next === 43 || next === 45) |
|
t2 += t1.readChar$0(); |
|
if (!T.isDigit(t1.peekChar$0())) |
|
t1.error$1("Expected digit."); |
|
while (true) { |
|
t3 = t1.peekChar$0(); |
|
if (!(t3 != null && t3 >= 48 && t3 <= 57)) |
|
break; |
|
t2 += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
} |
|
} |
|
t1.expectChar$1(37); |
|
t2 += H.Primitives_stringFromCharCode(37); |
|
return t2.charCodeAt(0) == 0 ? t2 : t2; |
|
} |
|
}; |
|
E.KeyframeSelectorParser_parse_closure.prototype = { |
|
call$0: function() { |
|
var selectors = H.setRuntimeTypeInfo([], [P.String]), |
|
t1 = this.$this, |
|
t2 = t1.scanner; |
|
do { |
|
t1.whitespace$0(); |
|
if (t1.lookingAtIdentifier$0()) |
|
if (t1.scanIdentifier$1("from")) |
|
selectors.push("from"); |
|
else { |
|
t1.expectIdentifier$2$name("to", '"to" or "from"'); |
|
selectors.push("to"); |
|
} |
|
else |
|
selectors.push(t1._percentage$0()); |
|
t1.whitespace$0(); |
|
} while (t2.scanChar$1(44)); |
|
t2.expectDone$0(); |
|
return selectors; |
|
} |
|
}; |
|
F.MediaQueryParser.prototype = { |
|
parse$0: function() { |
|
return this.wrapSpanFormatException$1(new F.MediaQueryParser_parse_closure(this)); |
|
}, |
|
_mediaQuery$0: function() { |
|
var identifier1, identifier2, type, modifier, t2, features, _this = this, _null = null, |
|
t1 = _this.scanner; |
|
if (t1.peekChar$0() !== 40) { |
|
identifier1 = _this.identifier$0(); |
|
_this.whitespace$0(); |
|
if (!_this.lookingAtIdentifier$0()) |
|
return F.CssMediaQuery$(identifier1, _null, _null); |
|
identifier2 = _this.identifier$0(); |
|
_this.whitespace$0(); |
|
if (B.equalsIgnoreCase(identifier2, "and")) { |
|
type = identifier1; |
|
modifier = _null; |
|
} else { |
|
if (_this.scanIdentifier$1("and")) |
|
_this.whitespace$0(); |
|
else |
|
return F.CssMediaQuery$(identifier2, _null, identifier1); |
|
type = identifier2; |
|
modifier = identifier1; |
|
} |
|
} else { |
|
type = _null; |
|
modifier = type; |
|
} |
|
t2 = P.String; |
|
features = H.setRuntimeTypeInfo([], [t2]); |
|
do { |
|
_this.whitespace$0(); |
|
t1.expectChar$1(40); |
|
features.push("(" + _this.declarationValue$0() + ")"); |
|
t1.expectChar$1(41); |
|
_this.whitespace$0(); |
|
} while (_this.scanIdentifier$1("and")); |
|
if (type == null) |
|
return new F.CssMediaQuery(_null, _null, P.List_List$unmodifiable(features, t2)); |
|
else |
|
return F.CssMediaQuery$(type, features, modifier); |
|
} |
|
}; |
|
F.MediaQueryParser_parse_closure.prototype = { |
|
call$0: function() { |
|
var queries = H.setRuntimeTypeInfo([], [F.CssMediaQuery]), |
|
t1 = this.$this, |
|
t2 = t1.scanner; |
|
do { |
|
t1.whitespace$0(); |
|
queries.push(t1._mediaQuery$0()); |
|
} while (t2.scanChar$1(44)); |
|
t2.expectDone$0(); |
|
return queries; |
|
} |
|
}; |
|
G.Parser.prototype = { |
|
_parseIdentifier$0: function() { |
|
return this.wrapSpanFormatException$1(new G.Parser__parseIdentifier_closure(this)); |
|
}, |
|
_isVariableDeclarationLike$0: function() { |
|
var _this = this, |
|
t1 = _this.scanner; |
|
if (!t1.scanChar$1(36)) |
|
return false; |
|
if (!_this.lookingAtIdentifier$0()) |
|
return false; |
|
_this.identifier$0(); |
|
_this.whitespace$0(); |
|
return t1.scanChar$1(58); |
|
}, |
|
whitespace$0: function() { |
|
do |
|
this.whitespaceWithoutComments$0(); |
|
while (this.scanComment$0()); |
|
}, |
|
whitespaceWithoutComments$0: function() { |
|
var t3, |
|
t1 = this.scanner, |
|
t2 = t1.string.length; |
|
while (true) { |
|
if (t1._string_scanner$_position !== t2) { |
|
t3 = t1.peekChar$0(); |
|
t3 = t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12; |
|
} else |
|
t3 = false; |
|
if (!t3) |
|
break; |
|
t1.readChar$0(); |
|
} |
|
}, |
|
spaces$0: function() { |
|
var t3, |
|
t1 = this.scanner, |
|
t2 = t1.string.length; |
|
while (true) { |
|
if (t1._string_scanner$_position !== t2) { |
|
t3 = t1.peekChar$0(); |
|
t3 = t3 === 32 || t3 === 9; |
|
} else |
|
t3 = false; |
|
if (!t3) |
|
break; |
|
t1.readChar$0(); |
|
} |
|
}, |
|
scanComment$0: function() { |
|
var next, |
|
t1 = this.scanner; |
|
if (t1.peekChar$0() !== 47) |
|
return false; |
|
next = t1.peekChar$1(1); |
|
if (next === 47) { |
|
this.silentComment$0(); |
|
return true; |
|
} else if (next === 42) { |
|
this.loudComment$0(); |
|
return true; |
|
} else |
|
return false; |
|
}, |
|
silentComment$0: function() { |
|
var t2, t3, |
|
t1 = this.scanner; |
|
t1.expect$1("//"); |
|
t2 = t1.string.length; |
|
while (true) { |
|
if (t1._string_scanner$_position !== t2) { |
|
t3 = t1.peekChar$0(); |
|
t3 = !(t3 === 10 || t3 === 13 || t3 === 12); |
|
} else |
|
t3 = false; |
|
if (!t3) |
|
break; |
|
t1.readChar$0(); |
|
} |
|
}, |
|
loudComment$0: function() { |
|
var next, |
|
t1 = this.scanner; |
|
t1.expect$1("/*"); |
|
for (; true;) { |
|
if (t1.readChar$0() !== 42) |
|
continue; |
|
do |
|
next = t1.readChar$0(); |
|
while (next === 42); |
|
if (next === 47) |
|
break; |
|
} |
|
}, |
|
identifier$2$normalize$unit: function(normalize, unit) { |
|
var t2, first, _this = this, |
|
_s20_ = "Expected identifier.", |
|
text = new P.StringBuffer(""), |
|
t1 = _this.scanner; |
|
if (t1.scanChar$1(45)) { |
|
t2 = text._contents = H.Primitives_stringFromCharCode(45); |
|
if (t1.scanChar$1(45)) { |
|
text._contents = t2 + H.Primitives_stringFromCharCode(45); |
|
_this._identifierBody$3$normalize$unit(text, normalize, unit); |
|
t1 = text._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
} |
|
} else |
|
t2 = ""; |
|
first = t1.peekChar$0(); |
|
if (first == null) |
|
t1.error$1(_s20_); |
|
else if (normalize && first === 95) { |
|
t1.readChar$0(); |
|
text._contents = t2 + H.Primitives_stringFromCharCode(45); |
|
} else if (first === 95 || T.isAlphabetic0(first) || first >= 128) |
|
text._contents = t2 + H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
else if (first === 92) |
|
text._contents = t2 + H.S(_this.escape$1$identifierStart(true)); |
|
else |
|
t1.error$1(_s20_); |
|
_this._identifierBody$3$normalize$unit(text, normalize, unit); |
|
t1 = text._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
identifier$0: function() { |
|
return this.identifier$2$normalize$unit(false, false); |
|
}, |
|
identifier$1$normalize: function(normalize) { |
|
return this.identifier$2$normalize$unit(normalize, false); |
|
}, |
|
identifier$1$unit: function(unit) { |
|
return this.identifier$2$normalize$unit(false, unit); |
|
}, |
|
_identifierBody$3$normalize$unit: function(text, normalize, unit) { |
|
var t1, next, second, t2; |
|
for (t1 = this.scanner; true;) { |
|
next = t1.peekChar$0(); |
|
if (next == null) |
|
break; |
|
else if (unit && next === 45) { |
|
second = t1.peekChar$1(1); |
|
if (second != null) |
|
if (second !== 46) |
|
t2 = second >= 48 && second <= 57; |
|
else |
|
t2 = true; |
|
else |
|
t2 = false; |
|
if (t2) |
|
break; |
|
text._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
} else if (normalize && next === 95) { |
|
t1.readChar$0(); |
|
text._contents += H.Primitives_stringFromCharCode(45); |
|
} else { |
|
if (next !== 95) { |
|
if (!(next >= 97 && next <= 122)) |
|
t2 = next >= 65 && next <= 90; |
|
else |
|
t2 = true; |
|
t2 = t2 || next >= 128; |
|
} else |
|
t2 = true; |
|
if (!t2) { |
|
t2 = next >= 48 && next <= 57; |
|
t2 = t2 || next === 45; |
|
} else |
|
t2 = true; |
|
if (t2) |
|
text._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
else if (next === 92) |
|
text._contents += H.S(this.escape$0()); |
|
else |
|
break; |
|
} |
|
} |
|
}, |
|
_identifierBody$1: function(text) { |
|
return this._identifierBody$3$normalize$unit(text, false, false); |
|
}, |
|
string$0: function() { |
|
var t2, buffer, next, |
|
t1 = this.scanner, |
|
quote = t1.readChar$0(); |
|
if (quote !== 39 && quote !== 34) { |
|
t2 = t1._string_scanner$_position; |
|
t1.error$2$position("Expected string.", t2 - 1); |
|
} |
|
buffer = new P.StringBuffer(""); |
|
for (; true;) { |
|
next = t1.peekChar$0(); |
|
if (next === quote) { |
|
t1.readChar$0(); |
|
break; |
|
} else if (next == null || next === 10 || next === 13 || next === 12) |
|
t1.error$1("Expected " + H.Primitives_stringFromCharCode(quote) + "."); |
|
else if (next === 92) { |
|
t2 = t1.peekChar$1(1); |
|
if (t2 === 10 || t2 === 13 || t2 === 12) { |
|
t1.readChar$0(); |
|
t1.readChar$0(); |
|
} else |
|
buffer._contents += H.Primitives_stringFromCharCode(this.escapeCharacter$0()); |
|
} else |
|
buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
} |
|
t1 = buffer._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
naturalNumber$0: function() { |
|
var number, t2, |
|
t1 = this.scanner, |
|
first = t1.readChar$0(); |
|
if (!T.isDigit(first)) |
|
t1.error$2$position("Expected digit.", t1._string_scanner$_position - 1); |
|
number = first - 48; |
|
while (true) { |
|
t2 = t1.peekChar$0(); |
|
if (!(t2 != null && t2 >= 48 && t2 <= 57)) |
|
break; |
|
number = number * 10 + (t1.readChar$0() - 48); |
|
} |
|
return number; |
|
}, |
|
declarationValue$1$allowEmpty: function(allowEmpty) { |
|
var t1, t2, wroteNewline, next, start, end, t3, url, _this = this, |
|
buffer = new P.StringBuffer(""), |
|
brackets = H.setRuntimeTypeInfo([], [P.int]); |
|
$label0$1: |
|
for (t1 = _this.scanner, t2 = _this.get$string(), wroteNewline = false; true;) { |
|
next = t1.peekChar$0(); |
|
switch (next) { |
|
case 92: |
|
buffer._contents += H.S(_this.escape$1$identifierStart(true)); |
|
wroteNewline = false; |
|
break; |
|
case 34: |
|
case 39: |
|
start = t1._string_scanner$_position; |
|
t2.call$0(); |
|
end = t1._string_scanner$_position; |
|
buffer._contents += J.substring$2$s(t1.string, start, end); |
|
wroteNewline = false; |
|
break; |
|
case 47: |
|
if (t1.peekChar$1(1) === 42) { |
|
t3 = _this.get$loudComment(); |
|
start = t1._string_scanner$_position; |
|
t3.call$0(); |
|
end = t1._string_scanner$_position; |
|
buffer._contents += J.substring$2$s(t1.string, start, end); |
|
} else |
|
buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
wroteNewline = false; |
|
break; |
|
case 32: |
|
case 9: |
|
if (!wroteNewline) { |
|
t3 = t1.peekChar$1(1); |
|
t3 = !(t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12); |
|
} else |
|
t3 = true; |
|
if (t3) |
|
buffer._contents += H.Primitives_stringFromCharCode(32); |
|
t1.readChar$0(); |
|
break; |
|
case 10: |
|
case 13: |
|
case 12: |
|
t3 = t1.peekChar$1(-1); |
|
if (!(t3 === 10 || t3 === 13 || t3 === 12)) |
|
buffer._contents += "\n"; |
|
t1.readChar$0(); |
|
wroteNewline = true; |
|
break; |
|
case 40: |
|
case 123: |
|
case 91: |
|
buffer._contents += H.Primitives_stringFromCharCode(next); |
|
brackets.push(T.opposite(t1.readChar$0())); |
|
wroteNewline = false; |
|
break; |
|
case 41: |
|
case 125: |
|
case 93: |
|
if (brackets.length === 0) |
|
break $label0$1; |
|
buffer._contents += H.Primitives_stringFromCharCode(next); |
|
t1.expectChar$1(brackets.pop()); |
|
wroteNewline = false; |
|
break; |
|
case 59: |
|
if (brackets.length === 0) |
|
break $label0$1; |
|
buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
break; |
|
case 117: |
|
case 85: |
|
url = _this.tryUrl$0(); |
|
if (url != null) |
|
buffer._contents += url; |
|
else |
|
buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
wroteNewline = false; |
|
break; |
|
default: |
|
if (next == null) |
|
break $label0$1; |
|
if (_this.lookingAtIdentifier$0()) |
|
buffer._contents += _this.identifier$0(); |
|
else |
|
buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
wroteNewline = false; |
|
break; |
|
} |
|
} |
|
if (brackets.length !== 0) |
|
t1.expectChar$1(C.JSArray_methods.get$last(brackets)); |
|
if (!allowEmpty && buffer._contents.length === 0) |
|
t1.error$1("Expected token."); |
|
t1 = buffer._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
declarationValue$0: function() { |
|
return this.declarationValue$1$allowEmpty(false); |
|
}, |
|
tryUrl$0: function() { |
|
var buffer, next, t2, _this = this, |
|
t1 = _this.scanner, |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
if (!_this.scanIdentifier$1("url")) |
|
return; |
|
if (!t1.scanChar$1(40)) { |
|
t1.set$state(start); |
|
return; |
|
} |
|
_this.whitespace$0(); |
|
buffer = new P.StringBuffer(""); |
|
buffer._contents = "url("; |
|
for (; true;) { |
|
next = t1.peekChar$0(); |
|
if (next == null) |
|
break; |
|
else { |
|
if (next !== 37) |
|
if (next !== 38) |
|
if (next !== 35) |
|
t2 = next >= 42 && next <= 126 || next >= 128; |
|
else |
|
t2 = true; |
|
else |
|
t2 = true; |
|
else |
|
t2 = true; |
|
if (t2) |
|
buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
else if (next === 92) |
|
buffer._contents += H.S(_this.escape$0()); |
|
else if (next === 32 || next === 9 || next === 10 || next === 13 || next === 12) { |
|
_this.whitespace$0(); |
|
if (t1.peekChar$0() !== 41) |
|
break; |
|
} else if (next === 41) { |
|
t2 = buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
return t2.charCodeAt(0) == 0 ? t2 : t2; |
|
} else |
|
break; |
|
} |
|
} |
|
t1.set$state(start); |
|
return; |
|
}, |
|
variableName$0: function() { |
|
this.scanner.expectChar$1(36); |
|
return this.identifier$1$normalize(true); |
|
}, |
|
escape$1$identifierStart: function(identifierStart) { |
|
var first, value, i, next, |
|
t1 = this.scanner; |
|
t1.expectChar$1(92); |
|
first = t1.peekChar$0(); |
|
if (first == null) |
|
return ""; |
|
else if (T.isNewline(first)) { |
|
t1.error$1("Expected escape sequence."); |
|
value = 0; |
|
} else if (T.isHex(first)) { |
|
for (value = 0, i = 0; i < 6; ++i) { |
|
next = t1.peekChar$0(); |
|
if (next == null || !T.isHex(next)) |
|
break; |
|
value = value * 16 + T.asHex(t1.readChar$0()); |
|
} |
|
this.scanCharIf$1(T.character__isWhitespace$closure()); |
|
} else |
|
value = t1.readChar$0(); |
|
if (identifierStart) |
|
t1 = value === 95 || T.isAlphabetic0(value) || value >= 128; |
|
else |
|
t1 = value === 95 || T.isAlphabetic0(value) || value >= 128 || T.isDigit(value) || value === 45; |
|
if (t1) |
|
return H.Primitives_stringFromCharCode(value); |
|
else { |
|
if (value > 31) |
|
if (value !== 127) |
|
t1 = identifierStart && T.isDigit(value); |
|
else |
|
t1 = true; |
|
else |
|
t1 = true; |
|
if (t1) { |
|
t1 = H.Primitives_stringFromCharCode(92); |
|
if (value > 15) |
|
t1 += H.Primitives_stringFromCharCode(T.hexCharFor(C.JSInt_methods._shrOtherPositive$1(value, 4))); |
|
t1 = t1 + H.Primitives_stringFromCharCode(T.hexCharFor(value & 15)) + H.Primitives_stringFromCharCode(32); |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
} else |
|
return P.String_String$fromCharCodes(H.setRuntimeTypeInfo([92, value], [P.int]), 0, null); |
|
} |
|
}, |
|
escape$0: function() { |
|
return this.escape$1$identifierStart(false); |
|
}, |
|
escapeCharacter$0: function() { |
|
var first, value, i, next, t2, |
|
t1 = this.scanner; |
|
t1.expectChar$1(92); |
|
first = t1.peekChar$0(); |
|
if (first == null) |
|
return 65533; |
|
else if (T.isNewline(first)) |
|
t1.error$1("Expected escape sequence."); |
|
else if (T.isHex(first)) { |
|
for (value = 0, i = 0; i < 6; ++i) { |
|
next = t1.peekChar$0(); |
|
if (next == null || !T.isHex(next)) |
|
break; |
|
value = (value << 4 >>> 0) + T.asHex(t1.readChar$0()); |
|
} |
|
t2 = t1.peekChar$0(); |
|
if (t2 === 32 || t2 === 9 || T.isNewline(t2)) |
|
t1.readChar$0(); |
|
if (value !== 0) |
|
t1 = value >= 55296 && value <= 57343 || value >= 1114111; |
|
else |
|
t1 = true; |
|
if (t1) |
|
return 65533; |
|
else |
|
return value; |
|
} else |
|
return t1.readChar$0(); |
|
}, |
|
scanCharIf$1: function(condition) { |
|
var t1 = this.scanner; |
|
if (!condition.call$1(t1.peekChar$0())) |
|
return false; |
|
t1.readChar$0(); |
|
return true; |
|
}, |
|
scanCharIgnoreCase$1: function(letter) { |
|
var t1 = this.scanner; |
|
if ((t1.peekChar$0() | 32) !== letter) |
|
return false; |
|
t1.readChar$0(); |
|
return true; |
|
}, |
|
expectCharIgnoreCase$1: function(letter) { |
|
var t2, t3, |
|
t1 = this.scanner; |
|
if ((t1.readChar$0() | 32) === letter) |
|
return; |
|
t2 = 'Expected "' + H.Primitives_stringFromCharCode(letter) + '".'; |
|
t3 = t1._string_scanner$_position; |
|
t1.error$2$position(t2, t3 - 1); |
|
}, |
|
lookingAtNumber$0: function() { |
|
var second, third, |
|
t1 = this.scanner, |
|
first = t1.peekChar$0(); |
|
if (first == null) |
|
return false; |
|
if (T.isDigit(first)) |
|
return true; |
|
if (first === 46) { |
|
second = t1.peekChar$1(1); |
|
return second != null && T.isDigit(second); |
|
} else if (first === 43 || first === 45) { |
|
second = t1.peekChar$1(1); |
|
if (second == null) |
|
return false; |
|
if (T.isDigit(second)) |
|
return true; |
|
if (second !== 46) |
|
return false; |
|
third = t1.peekChar$1(2); |
|
return third != null && T.isDigit(third); |
|
} else |
|
return false; |
|
}, |
|
lookingAtIdentifier$1: function($forward) { |
|
var t1, first, second; |
|
if ($forward == null) |
|
$forward = 0; |
|
t1 = this.scanner; |
|
first = t1.peekChar$1($forward); |
|
if (first == null) |
|
return false; |
|
if (first === 95 || T.isAlphabetic0(first) || first >= 128 || first === 92) |
|
return true; |
|
if (first !== 45) |
|
return false; |
|
second = t1.peekChar$1($forward + 1); |
|
if (second == null) |
|
return false; |
|
return second === 95 || T.isAlphabetic0(second) || second >= 128 || second === 92 || second === 45; |
|
}, |
|
lookingAtIdentifier$0: function() { |
|
return this.lookingAtIdentifier$1(null); |
|
}, |
|
lookingAtIdentifierBody$0: function() { |
|
var t1, |
|
next = this.scanner.peekChar$0(); |
|
if (next != null) |
|
t1 = next === 95 || T.isAlphabetic0(next) || next >= 128 || T.isDigit(next) || next === 45 || next === 92; |
|
else |
|
t1 = false; |
|
return t1; |
|
}, |
|
scanIdentifier$1: function(text) { |
|
var t1, start, t2, i, _this = this; |
|
if (!_this.lookingAtIdentifier$0()) |
|
return false; |
|
t1 = _this.scanner; |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
for (t2 = text.length, i = 0; i < t2; ++i) { |
|
if (_this.scanCharIgnoreCase$1(C.JSString_methods._codeUnitAt$1(text, i))) |
|
continue; |
|
if (start._scanner !== t1) |
|
H.throwExpression(P.ArgumentError$("The given LineScannerState was not returned by this LineScanner.")); |
|
t2 = start.position; |
|
if (t2 < 0 || t2 > t1.string.length) |
|
H.throwExpression(P.ArgumentError$("Invalid position " + t2)); |
|
t1._string_scanner$_position = t2; |
|
t1._lastMatch = null; |
|
return false; |
|
} |
|
if (!_this.lookingAtIdentifierBody$0()) |
|
return true; |
|
t1.set$state(start); |
|
return false; |
|
}, |
|
expectIdentifier$2$name: function(text, $name) { |
|
var t1, start, t2, i; |
|
if ($name == null) |
|
$name = '"' + text + '"'; |
|
t1 = this.scanner; |
|
start = t1._string_scanner$_position; |
|
for (t2 = text.length, i = 0; i < t2; ++i) { |
|
if (this.scanCharIgnoreCase$1(C.JSString_methods._codeUnitAt$1(text, i))) |
|
continue; |
|
t1.error$2$position("Expected " + $name + ".", start); |
|
} |
|
if (!this.lookingAtIdentifierBody$0()) |
|
return; |
|
t1.error$2$position("Expected " + $name, start); |
|
}, |
|
expectIdentifier$1: function(text) { |
|
return this.expectIdentifier$2$name(text, null); |
|
}, |
|
rawText$1: function(consumer) { |
|
var t1 = this.scanner, |
|
start = t1._string_scanner$_position; |
|
consumer.call$0(); |
|
return t1.substring$1(0, start); |
|
}, |
|
error$2: function(message, span) { |
|
return H.throwExpression(E.StringScannerException$(message, span, this.scanner.string)); |
|
}, |
|
withErrorMessage$1$2: function(message, callback) { |
|
var error, t1, exception; |
|
try { |
|
t1 = callback.call$0(); |
|
return t1; |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (!!J.getInterceptor$(t1).$isSourceSpanFormatException) { |
|
error = t1; |
|
throw H.wrapException(G.SourceSpanFormatException$(message, error.get$span(), error.get$source())); |
|
} else |
|
throw exception; |
|
} |
|
}, |
|
withErrorMessage$2: function(message, callback) { |
|
return this.withErrorMessage$1$2(message, callback, null); |
|
}, |
|
wrapSpanFormatException$1$1: function(callback) { |
|
var error, span, startPosition, t1, exception; |
|
try { |
|
t1 = callback.call$0(); |
|
return t1; |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (!!J.getInterceptor$(t1).$isSourceSpanFormatException) { |
|
error = t1; |
|
span = error.get$span(); |
|
if (B.startsWithIgnoreCase(error._span_exception$_message, "expected")) { |
|
t1 = span; |
|
t1 = t1._file$_end - t1._start === 0; |
|
} else |
|
t1 = false; |
|
if (t1) { |
|
t1 = span; |
|
startPosition = this._firstNewlineBefore$1(Y.FileLocation$_(t1.file, t1._start).offset); |
|
t1 = span; |
|
if (!J.$eq$(startPosition, Y.FileLocation$_(t1.file, t1._start).offset)) |
|
span = span.file.span$2(startPosition, startPosition); |
|
} |
|
throw H.wrapException(E.SassFormatException$(error._span_exception$_message, span)); |
|
} else |
|
throw exception; |
|
} |
|
}, |
|
wrapSpanFormatException$1: function(callback) { |
|
return this.wrapSpanFormatException$1$1(callback, null); |
|
}, |
|
_firstNewlineBefore$1: function(position) { |
|
var t1, t2, lastNewline, codeUnit, |
|
index = position - 1; |
|
for (t1 = this.scanner.string, t2 = J.getInterceptor$s(t1), lastNewline = null; index >= 0;) { |
|
codeUnit = t2.codeUnitAt$1(t1, index); |
|
if (!(codeUnit === 32 || codeUnit === 9 || codeUnit === 10 || codeUnit === 13 || codeUnit === 12)) |
|
return lastNewline == null ? position : lastNewline; |
|
if (codeUnit === 10 || codeUnit === 13 || codeUnit === 12) |
|
lastNewline = index; |
|
--index; |
|
} |
|
return position; |
|
} |
|
}; |
|
G.Parser__parseIdentifier_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
result = t1.identifier$0(); |
|
t1.scanner.expectDone$0(); |
|
return result; |
|
} |
|
}; |
|
U.SassParser.prototype = { |
|
get$currentIndentation: function() { |
|
return this._currentIndentation; |
|
}, |
|
get$indented: function() { |
|
return true; |
|
}, |
|
styleRuleSelector$0: function() { |
|
var t4, |
|
t1 = this.scanner, |
|
t2 = t1._string_scanner$_position, |
|
t3 = new P.StringBuffer(""), |
|
buffer = new Z.InterpolationBuffer(t3, []); |
|
do { |
|
buffer.addInterpolation$1(this.almostAnyValue$0()); |
|
t4 = t3._contents += H.Primitives_stringFromCharCode(10); |
|
} while (C.JSString_methods.endsWith$1(C.JSString_methods.trimRight$0(t4.charCodeAt(0) == 0 ? t4 : t4), ",") && this.scanCharIf$1(T.character__isNewline$closure())); |
|
return buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2))); |
|
}, |
|
expectStatementSeparator$1: function($name) { |
|
var _this = this; |
|
if (!_this.atEndOfStatement$0()) |
|
_this._expectNewline$0(); |
|
if (_this._peekIndentation$0() <= _this._currentIndentation) |
|
return; |
|
_this.scanner.error$2$position("Nothing may be indented " + ($name == null ? "here" : "beneath a " + $name) + ".", _this._nextIndentationEnd.position); |
|
}, |
|
expectStatementSeparator$0: function() { |
|
return this.expectStatementSeparator$1(null); |
|
}, |
|
atEndOfStatement$0: function() { |
|
var next = this.scanner.peekChar$0(); |
|
return next == null || T.isNewline(next); |
|
}, |
|
lookingAtChildren$0: function() { |
|
return this.atEndOfStatement$0() && this._peekIndentation$0() > this._currentIndentation; |
|
}, |
|
importArgument$0: function() { |
|
var url, span, innerError, start, next, t2, exception, _this = this, |
|
t1 = _this.scanner; |
|
switch (t1.peekChar$0()) { |
|
case 117: |
|
case 85: |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
if (_this.scanIdentifier$1("url")) |
|
if (t1.scanChar$1(40)) { |
|
t1.set$state(start); |
|
return _this.super$StylesheetParser$importArgument(); |
|
} else |
|
t1.set$state(start); |
|
break; |
|
case 39: |
|
case 34: |
|
return _this.super$StylesheetParser$importArgument(); |
|
} |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
next = t1.peekChar$0(); |
|
while (true) { |
|
if (next != null) |
|
if (next !== 44) |
|
if (next !== 59) |
|
t2 = !(next === 10 || next === 13 || next === 12); |
|
else |
|
t2 = false; |
|
else |
|
t2 = false; |
|
else |
|
t2 = false; |
|
if (!t2) |
|
break; |
|
t1.readChar$0(); |
|
next = t1.peekChar$0(); |
|
} |
|
url = t1.substring$1(0, start.position); |
|
span = t1.spanFrom$1(start); |
|
if (_this.isPlainImportUrl$1(url)) |
|
return new Q.StaticImport(X.Interpolation$(H.setRuntimeTypeInfo([N.serializeValue(new D.SassString(url, true), true, true)], [P.Object]), span), null, null, span); |
|
else |
|
try { |
|
t1 = _this.parseImportUrl$1(url); |
|
return new B.DynamicImport(t1, span); |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (!!J.getInterceptor$(t1).$isFormatException) { |
|
innerError = t1; |
|
_this.error$2("Invalid URL: " + H.S(J.get$message$x(innerError)), span); |
|
} else |
|
throw exception; |
|
} |
|
}, |
|
scanElse$1: function(ifIndentation) { |
|
var t1, t2, startIndentation, startNextIndentation, startNextIndentationEnd, _this = this; |
|
if (_this._peekIndentation$0() != ifIndentation) |
|
return false; |
|
t1 = _this.scanner; |
|
t2 = t1._string_scanner$_position; |
|
startIndentation = _this._currentIndentation; |
|
startNextIndentation = _this._nextIndentation; |
|
startNextIndentationEnd = _this._nextIndentationEnd; |
|
_this._readIndentation$0(); |
|
if (t1.scanChar$1(64) && _this.scanIdentifier$1("else")) |
|
return true; |
|
t1.set$state(new S._SpanScannerState(t1, t2)); |
|
_this._currentIndentation = startIndentation; |
|
_this._nextIndentation = startNextIndentation; |
|
_this._nextIndentationEnd = startNextIndentationEnd; |
|
return false; |
|
}, |
|
children$1: function(child) { |
|
var children = H.setRuntimeTypeInfo([], [O.Statement]); |
|
this._whileIndentedLower$1(new U.SassParser_children_closure(this, children, child)); |
|
return children; |
|
}, |
|
statements$1: function(statement) { |
|
var statements, t2, child, |
|
t1 = this.scanner, |
|
first = t1.peekChar$0(); |
|
if (first === 9 || first === 32) |
|
t1.error$3$length$position("Indenting at the beginning of the document is illegal.", t1._string_scanner$_position, 0); |
|
statements = H.setRuntimeTypeInfo([], [O.Statement]); |
|
for (t2 = t1.string.length; t1._string_scanner$_position !== t2;) { |
|
child = this._child$1(statement); |
|
if (child != null) |
|
statements.push(child); |
|
this._readIndentation$0(); |
|
} |
|
return statements; |
|
}, |
|
_child$1: function(child) { |
|
var _this = this, |
|
t1 = _this.scanner; |
|
switch (t1.peekChar$0()) { |
|
case 13: |
|
case 10: |
|
case 12: |
|
return; |
|
case 36: |
|
return _this.variableDeclarationWithoutNamespace$0(); |
|
case 47: |
|
switch (t1.peekChar$1(1)) { |
|
case 47: |
|
return _this._silentComment$0(); |
|
case 42: |
|
return _this._loudComment$0(); |
|
default: |
|
return child.call$0(); |
|
} |
|
default: |
|
return child.call$0(); |
|
} |
|
}, |
|
_silentComment$0: function() { |
|
var buffer, parentIndentation, t3, commentPrefix, i, t4, i0, t5, t6, _this = this, |
|
t1 = _this.scanner, |
|
t2 = t1._string_scanner$_position; |
|
t1.expect$1("//"); |
|
buffer = new P.StringBuffer(""); |
|
parentIndentation = _this._currentIndentation; |
|
t3 = t1.string; |
|
$label0$0: |
|
do { |
|
commentPrefix = t1.scanChar$1(47) ? "///" : "//"; |
|
for (i = commentPrefix.length; true;) { |
|
t4 = buffer._contents += commentPrefix; |
|
for (i0 = i; i0 < _this._currentIndentation - parentIndentation; ++i0) { |
|
t4 += H.Primitives_stringFromCharCode(32); |
|
buffer._contents = t4; |
|
} |
|
t5 = t3.length; |
|
while (true) { |
|
if (t1._string_scanner$_position !== t5) { |
|
t6 = t1.peekChar$0(); |
|
t6 = !(t6 === 10 || t6 === 13 || t6 === 12); |
|
} else |
|
t6 = false; |
|
if (!t6) |
|
break; |
|
t4 += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
buffer._contents = t4; |
|
} |
|
buffer._contents = t4 + "\n"; |
|
if (_this._peekIndentation$0() < parentIndentation) |
|
break $label0$0; |
|
if (_this._peekIndentation$0() === parentIndentation) { |
|
if (t1.peekChar$1(1 + parentIndentation) === 47 && t1.peekChar$1(2 + parentIndentation) === 47) |
|
_this._readIndentation$0(); |
|
break; |
|
} |
|
_this._readIndentation$0(); |
|
} |
|
} while (t1.scan$1("//")); |
|
t3 = buffer._contents; |
|
return _this.lastSilentComment = new B.SilentComment(t3.charCodeAt(0) == 0 ? t3 : t3, t1.spanFrom$1(new S._SpanScannerState(t1, t2))); |
|
}, |
|
_loudComment$0: function() { |
|
var t3, t4, buffer, parentIndentation, t5, first, beginningOfComment, t6, end, i, t7, _this = this, |
|
t1 = _this.scanner, |
|
t2 = t1._string_scanner$_position; |
|
t1.expect$1("/*"); |
|
t3 = new P.StringBuffer(""); |
|
t4 = []; |
|
buffer = new Z.InterpolationBuffer(t3, t4); |
|
t3._contents = "/*"; |
|
parentIndentation = _this._currentIndentation; |
|
for (t5 = t1.string, first = true; true; first = false) { |
|
if (first) { |
|
beginningOfComment = t1._string_scanner$_position; |
|
_this.spaces$0(); |
|
t6 = t1.peekChar$0(); |
|
if (t6 === 10 || t6 === 13 || t6 === 12) { |
|
_this._readIndentation$0(); |
|
t3._contents += H.Primitives_stringFromCharCode(32); |
|
} else { |
|
end = t1._string_scanner$_position; |
|
t3._contents += J.substring$2$s(t5, beginningOfComment, end); |
|
} |
|
} else { |
|
t6 = t3._contents += "\n"; |
|
t3._contents = t6 + " * "; |
|
} |
|
for (i = 3; i < _this._currentIndentation - parentIndentation; ++i) |
|
t3._contents += H.Primitives_stringFromCharCode(32); |
|
$label0$1: |
|
for (t6 = t5.length; t1._string_scanner$_position !== t6;) |
|
switch (t1.peekChar$0()) { |
|
case 10: |
|
case 13: |
|
case 12: |
|
break $label0$1; |
|
case 35: |
|
if (t1.peekChar$1(1) === 123) { |
|
t7 = _this.singleInterpolation$0(); |
|
buffer._flushText$0(); |
|
t4.push(t7); |
|
} else |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
break; |
|
default: |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
break; |
|
} |
|
if (_this._peekIndentation$0() <= parentIndentation) |
|
break; |
|
for (; _this._lookingAtDoubleNewline$0();) { |
|
_this._expectNewline$0(); |
|
t6 = t3._contents += "\n"; |
|
t3._contents = t6 + " *"; |
|
} |
|
_this._readIndentation$0(); |
|
} |
|
t4 = t3._contents; |
|
if (!C.JSString_methods.endsWith$1(C.JSString_methods.trimRight$0(t4.charCodeAt(0) == 0 ? t4 : t4), "*/")) |
|
t3._contents += " */"; |
|
return new L.LoudComment(buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2)))); |
|
}, |
|
whitespaceWithoutComments$0: function() { |
|
var t1, t2, next; |
|
for (t1 = this.scanner, t2 = t1.string.length; t1._string_scanner$_position !== t2;) { |
|
next = t1.peekChar$0(); |
|
if (next !== 9 && next !== 32) |
|
break; |
|
t1.readChar$0(); |
|
} |
|
}, |
|
loudComment$0: function() { |
|
var next, |
|
t1 = this.scanner; |
|
t1.expect$1("/*"); |
|
for (; true;) { |
|
next = t1.readChar$0(); |
|
if (next === 10 || next === 13 || next === 12) |
|
t1.error$1("expected */."); |
|
if (next !== 42) |
|
continue; |
|
do |
|
next = t1.readChar$0(); |
|
while (next === 42); |
|
if (next === 47) |
|
break; |
|
} |
|
}, |
|
_expectNewline$0: function() { |
|
var t1 = this.scanner; |
|
switch (t1.peekChar$0()) { |
|
case 59: |
|
t1.error$1("semicolons aren't allowed in the indented syntax."); |
|
break; |
|
case 13: |
|
t1.readChar$0(); |
|
if (t1.peekChar$0() === 10) |
|
t1.readChar$0(); |
|
return; |
|
case 10: |
|
case 12: |
|
t1.readChar$0(); |
|
return; |
|
default: |
|
t1.error$1("expected newline."); |
|
} |
|
}, |
|
_lookingAtDoubleNewline$0: function() { |
|
var nextChar, |
|
t1 = this.scanner; |
|
switch (t1.peekChar$0()) { |
|
case 13: |
|
nextChar = t1.peekChar$1(1); |
|
if (nextChar === 10) |
|
return T.isNewline(t1.peekChar$1(2)); |
|
return nextChar === 13 || nextChar === 12; |
|
case 10: |
|
case 12: |
|
return T.isNewline(t1.peekChar$1(1)); |
|
default: |
|
return false; |
|
} |
|
}, |
|
_whileIndentedLower$1: function(body) { |
|
var t1, t2, childIndentation, indentation, t3, t4, t5, _this = this, |
|
parentIndentation = _this._currentIndentation; |
|
for (t1 = _this.scanner, t2 = t1._sourceFile, childIndentation = null; _this._peekIndentation$0() > parentIndentation;) { |
|
indentation = _this._readIndentation$0(); |
|
if (childIndentation == null) |
|
childIndentation = indentation; |
|
if (childIndentation != indentation) { |
|
t3 = "Inconsistent indentation, expected " + H.S(childIndentation) + " spaces."; |
|
t4 = t1._string_scanner$_position; |
|
t5 = t2.getColumn$1(t4); |
|
t1.error$3$length$position(t3, t2.getColumn$1(t1._string_scanner$_position), t4 - t5); |
|
} |
|
body.call$0(); |
|
} |
|
}, |
|
_readIndentation$0: function() { |
|
var _this = this; |
|
if (_this._nextIndentation == null) |
|
_this._peekIndentation$0(); |
|
_this._currentIndentation = _this._nextIndentation; |
|
_this.scanner.set$state(_this._nextIndentationEnd); |
|
_this._nextIndentationEnd = _this._nextIndentation = null; |
|
return _this._currentIndentation; |
|
}, |
|
_peekIndentation$0: function() { |
|
var t2, t3, start, containsTab, containsSpace, next, t4, _this = this, |
|
t1 = _this._nextIndentation; |
|
if (t1 != null) |
|
return t1; |
|
t1 = _this.scanner; |
|
t2 = t1._string_scanner$_position; |
|
t3 = t1.string.length; |
|
if (t2 === t3) { |
|
_this._nextIndentation = 0; |
|
_this._nextIndentationEnd = new S._SpanScannerState(t1, t2); |
|
return 0; |
|
} |
|
start = new S._SpanScannerState(t1, t2); |
|
if (!_this.scanCharIf$1(T.character__isNewline$closure())) |
|
t1.error$2$position("Expected newline.", t1._string_scanner$_position); |
|
do { |
|
_this._nextIndentation = 0; |
|
for (containsTab = false, containsSpace = false; true;) { |
|
next = t1.peekChar$0(); |
|
if (next === 32) |
|
containsSpace = true; |
|
else { |
|
if (next !== 9) |
|
break; |
|
containsTab = true; |
|
} |
|
_this._nextIndentation = _this._nextIndentation + 1; |
|
t1.readChar$0(); |
|
} |
|
t2 = t1._string_scanner$_position; |
|
if (t2 === t3) { |
|
_this._nextIndentation = 0; |
|
_this._nextIndentationEnd = new S._SpanScannerState(t1, t2); |
|
t1.set$state(start); |
|
return 0; |
|
} |
|
} while (_this.scanCharIf$1(T.character__isNewline$closure())); |
|
if (containsTab) { |
|
if (containsSpace) { |
|
t2 = t1._string_scanner$_position; |
|
t3 = t1._sourceFile; |
|
t4 = t3.getColumn$1(t2); |
|
t1.error$3$length$position("Tabs and spaces may not be mixed.", t3.getColumn$1(t1._string_scanner$_position), t2 - t4); |
|
} else if (_this._spaces === true) { |
|
t2 = t1._string_scanner$_position; |
|
t3 = t1._sourceFile; |
|
t4 = t3.getColumn$1(t2); |
|
t1.error$3$length$position("Expected spaces, was tabs.", t3.getColumn$1(t1._string_scanner$_position), t2 - t4); |
|
} |
|
} else if (containsSpace && _this._spaces === false) { |
|
t2 = t1._string_scanner$_position; |
|
t3 = t1._sourceFile; |
|
t4 = t3.getColumn$1(t2); |
|
t1.error$3$length$position("Expected tabs, was spaces.", t3.getColumn$1(t1._string_scanner$_position), t2 - t4); |
|
} |
|
if (_this._nextIndentation > 0) |
|
if (_this._spaces == null) |
|
_this._spaces = containsSpace; |
|
_this._nextIndentationEnd = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
t1.set$state(start); |
|
return _this._nextIndentation; |
|
} |
|
}; |
|
U.SassParser_children_closure.prototype = { |
|
call$0: function() { |
|
this.children.push(this.$this._child$1(this.child)); |
|
} |
|
}; |
|
L.ScssParser.prototype = { |
|
get$indented: function() { |
|
return false; |
|
}, |
|
get$currentIndentation: function() { |
|
return; |
|
}, |
|
styleRuleSelector$0: function() { |
|
return this.almostAnyValue$0(); |
|
}, |
|
expectStatementSeparator$1: function($name) { |
|
var t1, next; |
|
this.whitespaceWithoutComments$0(); |
|
t1 = this.scanner; |
|
if (t1._string_scanner$_position === t1.string.length) |
|
return; |
|
next = t1.peekChar$0(); |
|
if (next === 59 || next === 125) |
|
return; |
|
t1.expectChar$1(59); |
|
}, |
|
expectStatementSeparator$0: function() { |
|
return this.expectStatementSeparator$1(null); |
|
}, |
|
atEndOfStatement$0: function() { |
|
var next = this.scanner.peekChar$0(); |
|
return next == null || next === 59 || next === 125 || next === 123; |
|
}, |
|
lookingAtChildren$0: function() { |
|
return this.scanner.peekChar$0() === 123; |
|
}, |
|
scanElse$1: function(_) { |
|
var t3, _this = this, |
|
t1 = _this.scanner, |
|
t2 = t1._string_scanner$_position; |
|
_this.whitespace$0(); |
|
t3 = t1._string_scanner$_position; |
|
if (t1.scanChar$1(64)) { |
|
if (_this.scanIdentifier$1("else")) |
|
return true; |
|
if (_this.scanIdentifier$1("elseif")) { |
|
_this.logger.warn$3$deprecation$span('@elseif is deprecated and will not be supported in future Sass versions.\nUse "@else if" instead.', true, t1.spanFrom$1(new S._SpanScannerState(t1, t3))); |
|
t1.set$position(t1._string_scanner$_position - 2); |
|
return true; |
|
} |
|
} |
|
t1.set$state(new S._SpanScannerState(t1, t2)); |
|
return false; |
|
}, |
|
children$1: function(child) { |
|
var children, _this = this, |
|
t1 = _this.scanner; |
|
t1.expectChar$1(123); |
|
_this.whitespaceWithoutComments$0(); |
|
children = H.setRuntimeTypeInfo([], [O.Statement]); |
|
for (; true;) |
|
switch (t1.peekChar$0()) { |
|
case 36: |
|
children.push(_this.variableDeclarationWithoutNamespace$0()); |
|
break; |
|
case 47: |
|
switch (t1.peekChar$1(1)) { |
|
case 47: |
|
children.push(_this._scss$_silentComment$0()); |
|
_this.whitespaceWithoutComments$0(); |
|
break; |
|
case 42: |
|
children.push(_this._scss$_loudComment$0()); |
|
_this.whitespaceWithoutComments$0(); |
|
break; |
|
default: |
|
children.push(child.call$0()); |
|
break; |
|
} |
|
break; |
|
case 59: |
|
t1.readChar$0(); |
|
_this.whitespaceWithoutComments$0(); |
|
break; |
|
case 125: |
|
t1.expectChar$1(125); |
|
return children; |
|
default: |
|
children.push(child.call$0()); |
|
break; |
|
} |
|
}, |
|
statements$1: function(statement) { |
|
var t1, t2, child, _this = this, |
|
statements = H.setRuntimeTypeInfo([], [O.Statement]); |
|
_this.whitespaceWithoutComments$0(); |
|
for (t1 = _this.scanner, t2 = t1.string.length; t1._string_scanner$_position !== t2;) |
|
switch (t1.peekChar$0()) { |
|
case 36: |
|
statements.push(_this.variableDeclarationWithoutNamespace$0()); |
|
break; |
|
case 47: |
|
switch (t1.peekChar$1(1)) { |
|
case 47: |
|
statements.push(_this._scss$_silentComment$0()); |
|
_this.whitespaceWithoutComments$0(); |
|
break; |
|
case 42: |
|
statements.push(_this._scss$_loudComment$0()); |
|
_this.whitespaceWithoutComments$0(); |
|
break; |
|
default: |
|
child = statement.call$0(); |
|
if (child != null) |
|
statements.push(child); |
|
break; |
|
} |
|
break; |
|
case 59: |
|
t1.readChar$0(); |
|
_this.whitespaceWithoutComments$0(); |
|
break; |
|
default: |
|
child = statement.call$0(); |
|
if (child != null) |
|
statements.push(child); |
|
break; |
|
} |
|
return statements; |
|
}, |
|
_scss$_silentComment$0: function() { |
|
var t2, t3, _this = this, |
|
t1 = _this.scanner, |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
t1.expect$1("//"); |
|
t2 = t1.string.length; |
|
do { |
|
while (true) { |
|
if (t1._string_scanner$_position !== t2) { |
|
t3 = t1.readChar$0(); |
|
t3 = !(t3 === 10 || t3 === 13 || t3 === 12); |
|
} else |
|
t3 = false; |
|
if (!t3) |
|
break; |
|
} |
|
if (t1._string_scanner$_position === t2) |
|
break; |
|
_this.whitespaceWithoutComments$0(); |
|
} while (t1.scan$1("//")); |
|
if (_this.get$plainCss()) |
|
_this.error$2("Silent comments aren't allowed in plain CSS.", t1.spanFrom$1(start)); |
|
return _this.lastSilentComment = new B.SilentComment(t1.substring$1(0, start.position), t1.spanFrom$1(start)); |
|
}, |
|
_scss$_loudComment$0: function() { |
|
var t3, t4, buffer, t5, endPosition, |
|
t1 = this.scanner, |
|
t2 = t1._string_scanner$_position; |
|
t1.expect$1("/*"); |
|
t3 = new P.StringBuffer(""); |
|
t4 = []; |
|
buffer = new Z.InterpolationBuffer(t3, t4); |
|
t3._contents = "/*"; |
|
for (; true;) |
|
switch (t1.peekChar$0()) { |
|
case 35: |
|
if (t1.peekChar$1(1) === 123) { |
|
t5 = this.singleInterpolation$0(); |
|
buffer._flushText$0(); |
|
t4.push(t5); |
|
} else |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
break; |
|
case 42: |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
if (t1.peekChar$0() !== 47) |
|
break; |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
endPosition = t1._string_scanner$_position; |
|
return new L.LoudComment(buffer.interpolation$1(Y._FileSpan$(t1._sourceFile, new S._SpanScannerState(t1, t2).position, endPosition))); |
|
case 13: |
|
t1.readChar$0(); |
|
if (t1.peekChar$0() !== 10) |
|
t3._contents += H.Primitives_stringFromCharCode(10); |
|
break; |
|
case 12: |
|
t1.readChar$0(); |
|
t3._contents += H.Primitives_stringFromCharCode(10); |
|
break; |
|
default: |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
break; |
|
} |
|
} |
|
}; |
|
T.SelectorParser.prototype = { |
|
parse$0: function() { |
|
return this.wrapSpanFormatException$1(new T.SelectorParser_parse_closure(this)); |
|
}, |
|
parseCompoundSelector$0: function() { |
|
return this.wrapSpanFormatException$1(new T.SelectorParser_parseCompoundSelector_closure(this)); |
|
}, |
|
_selectorList$0: function() { |
|
var t3, t4, lineBreak, _this = this, |
|
t1 = _this.scanner, |
|
t2 = t1._sourceFile, |
|
previousLine = t2.getLine$1(t1._string_scanner$_position), |
|
components = H.setRuntimeTypeInfo([_this._complexSelector$0()], [S.ComplexSelector]); |
|
_this.whitespace$0(); |
|
for (t3 = t1.string; t1.scanChar$1(44);) { |
|
_this.whitespace$0(); |
|
if (t1.peekChar$0() === 44) |
|
continue; |
|
t4 = t1._string_scanner$_position; |
|
if (t4 === t3.length) |
|
break; |
|
lineBreak = t2.getLine$1(t4) != previousLine; |
|
if (lineBreak) |
|
previousLine = t2.getLine$1(t1._string_scanner$_position); |
|
components.push(_this._complexSelector$1$lineBreak(lineBreak)); |
|
} |
|
return D.SelectorList$(components); |
|
}, |
|
_complexSelector$1$lineBreak: function(lineBreak) { |
|
var t1, next, _this = this, |
|
_s58_ = '"&" may only used at the beginning of a compound selector.', |
|
components = H.setRuntimeTypeInfo([], [S.ComplexSelectorComponent]); |
|
$label0$1: |
|
for (t1 = _this.scanner; true;) { |
|
_this.whitespace$0(); |
|
next = t1.peekChar$0(); |
|
switch (next) { |
|
case 43: |
|
t1.readChar$0(); |
|
components.push(C.Combinator_uzg); |
|
break; |
|
case 62: |
|
t1.readChar$0(); |
|
components.push(C.Combinator_sgq); |
|
break; |
|
case 126: |
|
t1.readChar$0(); |
|
components.push(C.Combinator_CzM); |
|
break; |
|
case 91: |
|
case 46: |
|
case 35: |
|
case 37: |
|
case 58: |
|
case 38: |
|
case 42: |
|
case 124: |
|
components.push(_this._compoundSelector$0()); |
|
if (t1.peekChar$0() === 38) |
|
t1.error$1(_s58_); |
|
break; |
|
default: |
|
if (next == null || !_this.lookingAtIdentifier$0()) |
|
break $label0$1; |
|
components.push(_this._compoundSelector$0()); |
|
if (t1.peekChar$0() === 38) |
|
t1.error$1(_s58_); |
|
break; |
|
} |
|
} |
|
if (components.length === 0) |
|
t1.error$1("expected selector."); |
|
return S.ComplexSelector$(components, lineBreak); |
|
}, |
|
_complexSelector$0: function() { |
|
return this._complexSelector$1$lineBreak(false); |
|
}, |
|
_compoundSelector$0: function() { |
|
var t2, |
|
components = H.setRuntimeTypeInfo([this._simpleSelector$0()], [M.SimpleSelector]), |
|
t1 = this.scanner; |
|
while (true) { |
|
t2 = t1.peekChar$0(); |
|
if (!(t2 === 42 || t2 === 91 || t2 === 46 || t2 === 35 || t2 === 37 || t2 === 58)) |
|
break; |
|
components.push(this._simpleSelector$1$allowParent(false)); |
|
} |
|
return X.CompoundSelector$(components); |
|
}, |
|
_simpleSelector$1$allowParent: function(allowParent) { |
|
var $name, text, t2, suffix, _this = this, |
|
t1 = _this.scanner, |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
if (allowParent == null) |
|
allowParent = _this._allowParent; |
|
switch (t1.peekChar$0()) { |
|
case 91: |
|
return _this._attributeSelector$0(); |
|
case 46: |
|
t1.expectChar$1(46); |
|
return new X.ClassSelector(_this.identifier$0()); |
|
case 35: |
|
t1.expectChar$1(35); |
|
return new N.IDSelector(_this.identifier$0()); |
|
case 37: |
|
t1.expectChar$1(37); |
|
$name = _this.identifier$0(); |
|
if (!_this._allowPlaceholder) |
|
_this.error$2("Placeholder selectors aren't allowed here.", t1.spanFrom$1(start)); |
|
return new N.PlaceholderSelector($name); |
|
case 58: |
|
return _this._pseudoSelector$0(); |
|
case 38: |
|
t1.expectChar$1(38); |
|
if (_this.lookingAtIdentifierBody$0()) { |
|
text = new P.StringBuffer(""); |
|
_this._identifierBody$1(text); |
|
if (text._contents.length === 0) |
|
t1.error$1("Expected identifier body."); |
|
t2 = text._contents; |
|
suffix = t2.charCodeAt(0) == 0 ? t2 : t2; |
|
} else |
|
suffix = null; |
|
if (!allowParent) |
|
_this.error$2("Parent selectors aren't allowed here.", t1.spanFrom$1(start)); |
|
return new M.ParentSelector(suffix); |
|
default: |
|
return _this._typeOrUniversalSelector$0(); |
|
} |
|
}, |
|
_simpleSelector$0: function() { |
|
return this._simpleSelector$1$allowParent(null); |
|
}, |
|
_attributeSelector$0: function() { |
|
var $name, operator, next, value, modifier, _this = this, _null = null, |
|
t1 = _this.scanner; |
|
t1.expectChar$1(91); |
|
_this.whitespace$0(); |
|
$name = _this._attributeName$0(); |
|
_this.whitespace$0(); |
|
if (t1.scanChar$1(93)) |
|
return new N.AttributeSelector($name, _null, _null, _null); |
|
operator = _this._attributeOperator$0(); |
|
_this.whitespace$0(); |
|
next = t1.peekChar$0(); |
|
value = next === 39 || next === 34 ? _this.string$0() : _this.identifier$0(); |
|
_this.whitespace$0(); |
|
modifier = T.isAlphabetic0(t1.peekChar$0()) ? H.Primitives_stringFromCharCode(t1.readChar$0()) : _null; |
|
t1.expectChar$1(93); |
|
return new N.AttributeSelector($name, operator, value, modifier); |
|
}, |
|
_attributeName$0: function() { |
|
var nameOrNamespace, _this = this, |
|
t1 = _this.scanner; |
|
if (t1.scanChar$1(42)) { |
|
t1.expectChar$1(124); |
|
return new D.QualifiedName(_this.identifier$0(), "*"); |
|
} |
|
nameOrNamespace = _this.identifier$0(); |
|
if (t1.peekChar$0() !== 124 || t1.peekChar$1(1) === 61) |
|
return new D.QualifiedName(nameOrNamespace, null); |
|
t1.readChar$0(); |
|
return new D.QualifiedName(_this.identifier$0(), nameOrNamespace); |
|
}, |
|
_attributeOperator$0: function() { |
|
var t1 = this.scanner, |
|
t2 = t1._string_scanner$_position; |
|
switch (t1.readChar$0()) { |
|
case 61: |
|
return C.AttributeOperator_sEs; |
|
case 126: |
|
t1.expectChar$1(61); |
|
return C.AttributeOperator_fz1; |
|
case 124: |
|
t1.expectChar$1(61); |
|
return C.AttributeOperator_AuK; |
|
case 94: |
|
t1.expectChar$1(61); |
|
return C.AttributeOperator_4L5; |
|
case 36: |
|
t1.expectChar$1(61); |
|
return C.AttributeOperator_mOX; |
|
case 42: |
|
t1.expectChar$1(61); |
|
return C.AttributeOperator_gqZ; |
|
default: |
|
t1.error$2$position('Expected "]".', t2); |
|
} |
|
}, |
|
_pseudoSelector$0: function() { |
|
var element, $name, unvendored, selector, argument, t2, _this = this, _null = null, |
|
t1 = _this.scanner; |
|
t1.expectChar$1(58); |
|
element = t1.scanChar$1(58); |
|
$name = _this.identifier$0(); |
|
if (!t1.scanChar$1(40)) |
|
return D.PseudoSelector$($name, _null, element, _null); |
|
_this.whitespace$0(); |
|
unvendored = B.unvendor($name); |
|
if (element) |
|
if ($._selectorPseudoElements.contains$1(0, unvendored)) { |
|
selector = _this._selectorList$0(); |
|
argument = _null; |
|
} else { |
|
argument = _this.declarationValue$1$allowEmpty(true); |
|
selector = _null; |
|
} |
|
else if ($._selectorPseudoClasses.contains$1(0, unvendored)) { |
|
selector = _this._selectorList$0(); |
|
argument = _null; |
|
} else if (unvendored === "nth-child" || unvendored === "nth-last-child") { |
|
argument = _this._aNPlusB$0(); |
|
_this.whitespace$0(); |
|
t2 = t1.peekChar$1(-1); |
|
if ((t2 === 32 || t2 === 9 || T.isNewline(t2)) && t1.peekChar$0() !== 41) { |
|
_this.expectIdentifier$1("of"); |
|
argument += " of"; |
|
_this.whitespace$0(); |
|
selector = _this._selectorList$0(); |
|
} else |
|
selector = _null; |
|
} else { |
|
argument = C.JSString_methods.trimRight$0(_this.declarationValue$1$allowEmpty(true)); |
|
selector = _null; |
|
} |
|
t1.expectChar$1(41); |
|
return D.PseudoSelector$($name, argument, element, selector); |
|
}, |
|
_aNPlusB$0: function() { |
|
var t2, first, t3, next, last, _this = this, |
|
t1 = _this.scanner; |
|
switch (t1.peekChar$0()) { |
|
case 101: |
|
case 69: |
|
_this.expectIdentifier$1("even"); |
|
return "even"; |
|
case 111: |
|
case 79: |
|
_this.expectIdentifier$1("odd"); |
|
return "odd"; |
|
case 43: |
|
case 45: |
|
t2 = H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
break; |
|
default: |
|
t2 = ""; |
|
} |
|
first = t1.peekChar$0(); |
|
if (first != null && T.isDigit(first)) { |
|
while (true) { |
|
t3 = t1.peekChar$0(); |
|
if (!(t3 != null && t3 >= 48 && t3 <= 57)) |
|
break; |
|
t2 += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
} |
|
_this.whitespace$0(); |
|
if (!_this.scanCharIgnoreCase$1(110)) |
|
return t2.charCodeAt(0) == 0 ? t2 : t2; |
|
} else |
|
_this.expectCharIgnoreCase$1(110); |
|
t2 += H.Primitives_stringFromCharCode(110); |
|
_this.whitespace$0(); |
|
next = t1.peekChar$0(); |
|
if (next !== 43 && next !== 45) |
|
return t2.charCodeAt(0) == 0 ? t2 : t2; |
|
t2 += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
_this.whitespace$0(); |
|
last = t1.peekChar$0(); |
|
if (last == null || !T.isDigit(last)) |
|
t1.error$1("Expected a number."); |
|
while (true) { |
|
t3 = t1.peekChar$0(); |
|
if (!(t3 != null && t3 >= 48 && t3 <= 57)) |
|
break; |
|
t2 += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
} |
|
return t2.charCodeAt(0) == 0 ? t2 : t2; |
|
}, |
|
_typeOrUniversalSelector$0: function() { |
|
var nameOrNamespace, _this = this, |
|
t1 = _this.scanner, |
|
first = t1.peekChar$0(); |
|
if (first === 42) { |
|
t1.readChar$0(); |
|
if (!t1.scanChar$1(124)) |
|
return new N.UniversalSelector(null); |
|
if (t1.scanChar$1(42)) |
|
return new N.UniversalSelector("*"); |
|
else |
|
return new F.TypeSelector(new D.QualifiedName(_this.identifier$0(), "*")); |
|
} else if (first === 124) { |
|
t1.readChar$0(); |
|
if (t1.scanChar$1(42)) |
|
return new N.UniversalSelector(""); |
|
else |
|
return new F.TypeSelector(new D.QualifiedName(_this.identifier$0(), "")); |
|
} |
|
nameOrNamespace = _this.identifier$0(); |
|
if (!t1.scanChar$1(124)) |
|
return new F.TypeSelector(new D.QualifiedName(nameOrNamespace, null)); |
|
else if (t1.scanChar$1(42)) |
|
return new N.UniversalSelector(nameOrNamespace); |
|
else |
|
return new F.TypeSelector(new D.QualifiedName(_this.identifier$0(), nameOrNamespace)); |
|
} |
|
}; |
|
T.SelectorParser_parse_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
selector = t1._selectorList$0(); |
|
t1 = t1.scanner; |
|
if (t1._string_scanner$_position !== t1.string.length) |
|
t1.error$1("expected selector."); |
|
return selector; |
|
} |
|
}; |
|
T.SelectorParser_parseCompoundSelector_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
compound = t1._compoundSelector$0(); |
|
t1 = t1.scanner; |
|
if (t1._string_scanner$_position !== t1.string.length) |
|
t1.error$1("expected selector."); |
|
return compound; |
|
} |
|
}; |
|
V.StylesheetParser.prototype = { |
|
parse$0: function() { |
|
return this.wrapSpanFormatException$1(new V.StylesheetParser_parse_closure(this)); |
|
}, |
|
parseArgumentDeclaration$0: function() { |
|
return this._parseSingleProduction$1(new V.StylesheetParser_parseArgumentDeclaration_closure(this)); |
|
}, |
|
parseVariableDeclaration$0: function() { |
|
return this._parseSingleProduction$1(new V.StylesheetParser_parseVariableDeclaration_closure(this)); |
|
}, |
|
parseUseRule$0: function() { |
|
return this._parseSingleProduction$1(new V.StylesheetParser_parseUseRule_closure(this)); |
|
}, |
|
_parseSingleProduction$1$1: function(production) { |
|
return this.wrapSpanFormatException$1(new V.StylesheetParser__parseSingleProduction_closure(this, production)); |
|
}, |
|
_parseSingleProduction$1: function(production) { |
|
return this._parseSingleProduction$1$1(production, null); |
|
}, |
|
parseSignature$0: function() { |
|
return this.wrapSpanFormatException$1(new V.StylesheetParser_parseSignature_closure(this)); |
|
}, |
|
_statement$1$root: function(root) { |
|
var t2, _this = this, |
|
t1 = _this.scanner; |
|
switch (t1.peekChar$0()) { |
|
case 64: |
|
return _this.atRule$2$root(new V.StylesheetParser__statement_closure(_this), root); |
|
case 43: |
|
if (!_this.get$indented() || !_this.lookingAtIdentifier$1(1)) |
|
return _this._stylesheet$_styleRule$0(); |
|
_this._isUseAllowed = false; |
|
t2 = t1._string_scanner$_position; |
|
t1.readChar$0(); |
|
return _this._includeRule$1(new S._SpanScannerState(t1, t2)); |
|
case 61: |
|
if (!_this.get$indented()) |
|
return _this._stylesheet$_styleRule$0(); |
|
_this._isUseAllowed = false; |
|
t2 = t1._string_scanner$_position; |
|
t1.readChar$0(); |
|
_this.whitespace$0(); |
|
return _this._mixinRule$1(new S._SpanScannerState(t1, t2)); |
|
case 125: |
|
t1.error$2$length('unmatched "}".', 1); |
|
break; |
|
default: |
|
return _this._inStyleRule || _this._stylesheet$_inUnknownAtRule || _this._stylesheet$_inMixin || _this._inContentBlock ? _this._declarationOrStyleRule$0() : _this._variableDeclarationOrStyleRule$0(); |
|
} |
|
}, |
|
_statement$0: function() { |
|
return this._statement$1$root(false); |
|
}, |
|
_variableDeclarationWithNamespace$0: function() { |
|
var t1 = this.scanner, |
|
t2 = t1._string_scanner$_position, |
|
namespace = this.identifier$0(); |
|
t1.expectChar$1(46); |
|
return this.variableDeclarationWithoutNamespace$2(namespace, new S._SpanScannerState(t1, t2)); |
|
}, |
|
variableDeclarationWithoutNamespace$2: function(namespace, start) { |
|
var precedingComment, t1, $name, t2, value, flagStart, guarded, global, flag, endPosition, declaration, _this = this, _box_0 = {}; |
|
_box_0.start = start; |
|
precedingComment = _this.lastSilentComment; |
|
_this.lastSilentComment = null; |
|
if (start == null) { |
|
t1 = _this.scanner; |
|
_box_0.start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
} |
|
$name = _this.variableName$0(); |
|
t1 = namespace != null; |
|
if (t1) |
|
_this._assertPublic$2($name, new V.StylesheetParser_variableDeclarationWithoutNamespace_closure(_box_0, _this)); |
|
if (_this.get$plainCss()) |
|
_this.error$2("Sass variables aren't allowed in plain CSS.", _this.scanner.spanFrom$1(_box_0.start)); |
|
_this.whitespace$0(); |
|
t2 = _this.scanner; |
|
t2.expectChar$1(58); |
|
_this.whitespace$0(); |
|
value = _this.expression$0(); |
|
flagStart = new S._SpanScannerState(t2, t2._string_scanner$_position); |
|
for (guarded = false, global = false; t2.scanChar$1(33);) { |
|
flag = _this.identifier$0(); |
|
if (flag === "default") |
|
guarded = true; |
|
else if (flag === "global") { |
|
if (t1) { |
|
endPosition = t2._string_scanner$_position; |
|
_this.error$2("!global isn't allowed for variables in other modules.", Y._FileSpan$(t2._sourceFile, flagStart.position, endPosition)); |
|
} |
|
global = true; |
|
} else { |
|
endPosition = t2._string_scanner$_position; |
|
_this.error$2("Invalid flag name.", Y._FileSpan$(t2._sourceFile, flagStart.position, endPosition)); |
|
} |
|
_this.whitespace$0(); |
|
flagStart = new S._SpanScannerState(t2, t2._string_scanner$_position); |
|
} |
|
_this.expectStatementSeparator$1("variable declaration"); |
|
declaration = Z.VariableDeclaration$($name, value, t2.spanFrom$1(_box_0.start), precedingComment, global, guarded, namespace); |
|
if (global) |
|
_this._globalVariables.putIfAbsent$2($name, new V.StylesheetParser_variableDeclarationWithoutNamespace_closure0(declaration)); |
|
return declaration; |
|
}, |
|
variableDeclarationWithoutNamespace$0: function() { |
|
return this.variableDeclarationWithoutNamespace$2(null, null); |
|
}, |
|
_variableDeclarationOrStyleRule$0: function() { |
|
var t1, t2, variableOrInterpolation, t3, _this = this; |
|
if (_this.get$plainCss()) |
|
return _this._stylesheet$_styleRule$0(); |
|
if (_this.get$indented() && _this.scanner.scanChar$1(92)) |
|
return _this._stylesheet$_styleRule$0(); |
|
if (!_this.lookingAtIdentifier$0()) |
|
return _this._stylesheet$_styleRule$0(); |
|
t1 = _this.scanner; |
|
t2 = t1._string_scanner$_position; |
|
variableOrInterpolation = _this._variableDeclarationOrInterpolation$0(); |
|
if (!!variableOrInterpolation.$isVariableDeclaration) |
|
return variableOrInterpolation; |
|
else { |
|
t3 = new Z.InterpolationBuffer(new P.StringBuffer(""), []); |
|
t3.addInterpolation$1(H.interceptedTypeCast(variableOrInterpolation, "$isInterpolation")); |
|
return _this._stylesheet$_styleRule$2(t3, new S._SpanScannerState(t1, t2)); |
|
} |
|
}, |
|
_declarationOrStyleRule$0: function() { |
|
var t1, t2, declarationOrBuffer, _this = this; |
|
if (_this.get$plainCss() && _this._inStyleRule && !_this._stylesheet$_inUnknownAtRule) |
|
return _this._propertyOrVariableDeclaration$0(); |
|
if (_this.get$indented() && _this.scanner.scanChar$1(92)) |
|
return _this._stylesheet$_styleRule$0(); |
|
t1 = _this.scanner; |
|
t2 = t1._string_scanner$_position; |
|
declarationOrBuffer = _this._declarationOrBuffer$0(); |
|
return !!J.getInterceptor$(declarationOrBuffer).$isStatement ? declarationOrBuffer : _this._stylesheet$_styleRule$2(H.interceptedTypeCast(declarationOrBuffer, "$isInterpolationBuffer"), new S._SpanScannerState(t1, t2)); |
|
}, |
|
_declarationOrBuffer$0: function() { |
|
var midBuffer, couldBeSelector, beforeDeclaration, additional, t3, startsWithPunctuation, variableOrInterpolation, t4, $name, value, postColonWhitespace, t5, exception, _this = this, t1 = {}, |
|
t2 = _this.scanner, |
|
start = new S._SpanScannerState(t2, t2._string_scanner$_position), |
|
nameBuffer = new Z.InterpolationBuffer(new P.StringBuffer(""), []), |
|
first = t2.peekChar$0(); |
|
if (first !== 58) |
|
if (first !== 42) |
|
if (first !== 46) |
|
t3 = first === 35 && t2.peekChar$1(1) !== 123; |
|
else |
|
t3 = true; |
|
else |
|
t3 = true; |
|
else |
|
t3 = true; |
|
if (t3) { |
|
t3 = t2.readChar$0(); |
|
nameBuffer._interpolation_buffer$_text._contents += H.Primitives_stringFromCharCode(t3); |
|
t3 = _this.rawText$1(_this.get$whitespace()); |
|
nameBuffer._interpolation_buffer$_text._contents += t3; |
|
startsWithPunctuation = true; |
|
} else |
|
startsWithPunctuation = false; |
|
if (!_this._lookingAtInterpolatedIdentifier$0()) |
|
return nameBuffer; |
|
variableOrInterpolation = startsWithPunctuation ? _this.interpolatedIdentifier$0() : _this._variableDeclarationOrInterpolation$0(); |
|
if (!!variableOrInterpolation.$isVariableDeclaration) |
|
return variableOrInterpolation; |
|
else |
|
nameBuffer.addInterpolation$1(H.interceptedTypeCast(variableOrInterpolation, "$isInterpolation")); |
|
_this._isUseAllowed = false; |
|
if (t2.matches$1("/*")) { |
|
t3 = _this.rawText$1(_this.get$loudComment()); |
|
nameBuffer._interpolation_buffer$_text._contents += t3; |
|
} |
|
midBuffer = new P.StringBuffer(""); |
|
t3 = _this.get$whitespace(); |
|
midBuffer._contents += _this.rawText$1(t3); |
|
t4 = t2._string_scanner$_position; |
|
if (!t2.scanChar$1(58)) { |
|
if (midBuffer._contents.length !== 0) |
|
nameBuffer._interpolation_buffer$_text._contents += H.Primitives_stringFromCharCode(32); |
|
return nameBuffer; |
|
} |
|
midBuffer._contents += H.Primitives_stringFromCharCode(58); |
|
$name = nameBuffer.interpolation$1(t2.spanFrom$2(start, new S._SpanScannerState(t2, t4))); |
|
first = C.JSArray_methods.get$first($name.contents); |
|
if (C.JSString_methods.startsWith$1(typeof first === "string" ? first : "", "--")) { |
|
value = _this._interpolatedDeclarationValue$0(); |
|
_this.expectStatementSeparator$1("custom property"); |
|
return L.Declaration$($name, t2.spanFrom$1(start), null, value); |
|
} |
|
if (t2.scanChar$1(58)) { |
|
t1 = nameBuffer; |
|
t2 = t1._interpolation_buffer$_text; |
|
t2._contents += H.S(midBuffer); |
|
t2._contents += H.Primitives_stringFromCharCode(58); |
|
return t1; |
|
} else if (_this.get$indented() && _this._lookingAtInterpolatedIdentifier$0()) { |
|
t1 = nameBuffer; |
|
t1._interpolation_buffer$_text._contents += H.S(midBuffer); |
|
return t1; |
|
} |
|
postColonWhitespace = _this.rawText$1(t3); |
|
if (_this.lookingAtChildren$0()) |
|
return _this._withChildren$3(_this.get$_declarationChild(), start, new V.StylesheetParser__declarationOrBuffer_closure($name)); |
|
midBuffer._contents += postColonWhitespace; |
|
couldBeSelector = postColonWhitespace.length === 0 && _this._lookingAtInterpolatedIdentifier$0(); |
|
beforeDeclaration = new S._SpanScannerState(t2, t2._string_scanner$_position); |
|
t1.value = null; |
|
try { |
|
if (_this.lookingAtChildren$0()) { |
|
t3 = H.setRuntimeTypeInfo([], [P.Object]); |
|
t4 = Y.FileLocation$_(t2._sourceFile, t2._string_scanner$_position); |
|
t5 = t4.offset; |
|
value = new D.StringExpression(X.Interpolation$(t3, Y._FileSpan$(t4.file, t5, t5)), true); |
|
} else |
|
value = _this.expression$0(); |
|
t3 = t1.value = value; |
|
if (_this.lookingAtChildren$0()) { |
|
if (couldBeSelector) |
|
_this.expectStatementSeparator$0(); |
|
} else if (!_this.atEndOfStatement$0()) |
|
_this.expectStatementSeparator$0(); |
|
} catch (exception) { |
|
if (!!J.getInterceptor$(H.unwrapException(exception)).$isFormatException) { |
|
if (!couldBeSelector) |
|
throw exception; |
|
t2.set$state(beforeDeclaration); |
|
additional = _this.almostAnyValue$0(); |
|
if (!_this.get$indented() && t2.peekChar$0() === 59) |
|
throw exception; |
|
nameBuffer._interpolation_buffer$_text._contents += H.S(midBuffer); |
|
nameBuffer.addInterpolation$1(additional); |
|
return nameBuffer; |
|
} else |
|
throw exception; |
|
} |
|
if (_this.lookingAtChildren$0()) |
|
return _this._withChildren$3(_this.get$_declarationChild(), start, new V.StylesheetParser__declarationOrBuffer_closure0(t1, $name)); |
|
else { |
|
_this.expectStatementSeparator$0(); |
|
return L.Declaration$($name, t2.spanFrom$1(start), null, t3); |
|
} |
|
}, |
|
_variableDeclarationOrInterpolation$0: function() { |
|
var t1, start, identifier, t2, buffer, _this = this; |
|
if (!_this.lookingAtIdentifier$0()) |
|
return _this.interpolatedIdentifier$0(); |
|
t1 = _this.scanner; |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
identifier = _this.identifier$0(); |
|
if (t1.matches$1(".$")) { |
|
t1.readChar$0(); |
|
return _this.variableDeclarationWithoutNamespace$2(identifier, start); |
|
} else { |
|
t2 = new P.StringBuffer(""); |
|
buffer = new Z.InterpolationBuffer(t2, []); |
|
t2._contents = identifier; |
|
if (_this._lookingAtInterpolatedIdentifierBody$0()) |
|
buffer.addInterpolation$1(_this.interpolatedIdentifier$0()); |
|
return buffer.interpolation$1(t1.spanFrom$1(start)); |
|
} |
|
}, |
|
_stylesheet$_styleRule$2: function(buffer, start) { |
|
var t2, interpolation, t3, wasInStyleRule, _this = this, t1 = {}; |
|
t1.start = start; |
|
_this._isUseAllowed = false; |
|
if (start == null) { |
|
t2 = _this.scanner; |
|
t2 = t1.start = new S._SpanScannerState(t2, t2._string_scanner$_position); |
|
} else |
|
t2 = start; |
|
interpolation = t1.interpolation = _this.styleRuleSelector$0(); |
|
if (buffer != null) { |
|
buffer.addInterpolation$1(interpolation); |
|
t3 = t1.interpolation = buffer.interpolation$1(_this.scanner.spanFrom$1(t2)); |
|
} else |
|
t3 = interpolation; |
|
if (t3.contents.length === 0) |
|
_this.scanner.error$1('expected "}".'); |
|
wasInStyleRule = _this._inStyleRule; |
|
_this._inStyleRule = true; |
|
return _this._withChildren$3(_this.get$_statement(), t2, new V.StylesheetParser__styleRule_closure(t1, _this, wasInStyleRule)); |
|
}, |
|
_stylesheet$_styleRule$0: function() { |
|
return this._stylesheet$_styleRule$2(null, null); |
|
}, |
|
_propertyOrVariableDeclaration$0: function() { |
|
var first, t3, nameBuffer, variableOrInterpolation, $name, value, _this = this, |
|
_s48_ = "Nested declarations aren't allowed in plain CSS.", |
|
t1 = {}, |
|
t2 = _this.scanner, |
|
start = new S._SpanScannerState(t2, t2._string_scanner$_position); |
|
t1.name = null; |
|
first = t2.peekChar$0(); |
|
if (first !== 58) |
|
if (first !== 42) |
|
if (first !== 46) |
|
t3 = first === 35 && t2.peekChar$1(1) !== 123; |
|
else |
|
t3 = true; |
|
else |
|
t3 = true; |
|
else |
|
t3 = true; |
|
if (t3) { |
|
t3 = new P.StringBuffer(""); |
|
nameBuffer = new Z.InterpolationBuffer(t3, []); |
|
t3._contents += H.Primitives_stringFromCharCode(t2.readChar$0()); |
|
t3._contents += _this.rawText$1(_this.get$whitespace()); |
|
nameBuffer.addInterpolation$1(_this.interpolatedIdentifier$0()); |
|
t3 = t1.name = nameBuffer.interpolation$1(t2.spanFrom$1(start)); |
|
} else if (!_this.get$plainCss()) { |
|
variableOrInterpolation = _this._variableDeclarationOrInterpolation$0(); |
|
if (!!variableOrInterpolation.$isVariableDeclaration) |
|
return variableOrInterpolation; |
|
else { |
|
H.interceptedTypeCast(variableOrInterpolation, "$isInterpolation"); |
|
t1.name = variableOrInterpolation; |
|
} |
|
t3 = variableOrInterpolation; |
|
} else { |
|
$name = _this.interpolatedIdentifier$0(); |
|
t1.name = $name; |
|
t3 = $name; |
|
} |
|
_this.whitespace$0(); |
|
t2.expectChar$1(58); |
|
_this.whitespace$0(); |
|
if (_this.lookingAtChildren$0()) { |
|
if (_this.get$plainCss()) |
|
t2.error$1(_s48_); |
|
return _this._withChildren$3(_this.get$_declarationChild(), start, new V.StylesheetParser__propertyOrVariableDeclaration_closure(t1)); |
|
} |
|
value = _this.expression$0(); |
|
if (_this.lookingAtChildren$0()) { |
|
if (_this.get$plainCss()) |
|
t2.error$1(_s48_); |
|
return _this._withChildren$3(_this.get$_declarationChild(), start, new V.StylesheetParser__propertyOrVariableDeclaration_closure0(t1, value)); |
|
} else { |
|
_this.expectStatementSeparator$0(); |
|
return L.Declaration$(t3, t2.spanFrom$1(start), null, value); |
|
} |
|
}, |
|
_declarationChild$0: function() { |
|
if (this.scanner.peekChar$0() === 64) |
|
return this._declarationAtRule$0(); |
|
return this._propertyOrVariableDeclaration$0(); |
|
}, |
|
atRule$2$root: function(child, root) { |
|
var $name, wasUseAllowed, value, optional, _this = this, |
|
t1 = _this.scanner, |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
t1.expectChar$2$name(64, "@-rule"); |
|
$name = _this.interpolatedIdentifier$0(); |
|
_this.whitespace$0(); |
|
wasUseAllowed = _this._isUseAllowed; |
|
_this._isUseAllowed = false; |
|
switch ($name.get$asPlain()) { |
|
case "at-root": |
|
return _this._atRootRule$1(start); |
|
case "charset": |
|
_this._isUseAllowed = wasUseAllowed; |
|
if (!root) |
|
_this._disallowedAtRule$1(start); |
|
_this.string$0(); |
|
return; |
|
case "content": |
|
return _this._contentRule$1(start); |
|
case "debug": |
|
return _this._debugRule$1(start); |
|
case "each": |
|
return _this._eachRule$2(start, child); |
|
case "else": |
|
return _this._disallowedAtRule$1(start); |
|
case "error": |
|
return _this._errorRule$1(start); |
|
case "extend": |
|
if (!_this._inStyleRule && !_this._stylesheet$_inMixin && !_this._inContentBlock) |
|
_this.error$2("@extend may only be used within style rules.", t1.spanFrom$1(start)); |
|
value = _this.almostAnyValue$0(); |
|
optional = t1.scanChar$1(33); |
|
if (optional) |
|
_this.expectIdentifier$1("optional"); |
|
_this.expectStatementSeparator$1("@extend rule"); |
|
return new X.ExtendRule(value, optional, t1.spanFrom$1(start)); |
|
case "for": |
|
return _this._forRule$2(start, child); |
|
case "forward": |
|
_this._isUseAllowed = wasUseAllowed; |
|
if (!root) |
|
_this._disallowedAtRule$1(start); |
|
return _this._forwardRule$1(start); |
|
case "function": |
|
return _this._functionRule$1(start); |
|
case "if": |
|
return _this._ifRule$2(start, child); |
|
case "import": |
|
return _this._importRule$1(start); |
|
case "include": |
|
return _this._includeRule$1(start); |
|
case "media": |
|
return _this.mediaRule$1(start); |
|
case "mixin": |
|
return _this._mixinRule$1(start); |
|
case "-moz-document": |
|
return _this.mozDocumentRule$2(start, $name); |
|
case "return": |
|
return _this._disallowedAtRule$1(start); |
|
case "supports": |
|
return _this.supportsRule$1(start); |
|
case "use": |
|
_this._isUseAllowed = wasUseAllowed; |
|
if (!root) |
|
_this._disallowedAtRule$1(start); |
|
return _this._useRule$1(start); |
|
case "warn": |
|
return _this._warnRule$1(start); |
|
case "while": |
|
return _this._whileRule$2(start, child); |
|
default: |
|
return _this.unknownAtRule$2(start, $name); |
|
} |
|
}, |
|
_declarationAtRule$0: function() { |
|
var _this = this, |
|
t1 = _this.scanner, |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
switch (_this._plainAtRuleName$0()) { |
|
case "content": |
|
return _this._contentRule$1(start); |
|
case "debug": |
|
return _this._debugRule$1(start); |
|
case "each": |
|
return _this._eachRule$2(start, _this.get$_declarationChild()); |
|
case "else": |
|
return _this._disallowedAtRule$1(start); |
|
case "error": |
|
return _this._errorRule$1(start); |
|
case "for": |
|
return _this._forRule$2(start, _this.get$_declarationAtRule()); |
|
case "if": |
|
return _this._ifRule$2(start, _this.get$_declarationChild()); |
|
case "include": |
|
return _this._includeRule$1(start); |
|
case "warn": |
|
return _this._warnRule$1(start); |
|
case "while": |
|
return _this._whileRule$2(start, _this.get$_declarationChild()); |
|
default: |
|
return _this._disallowedAtRule$1(start); |
|
} |
|
}, |
|
_functionChild$0: function() { |
|
var state, variableDeclarationError, statement, t2, exception, start, value, _this = this, |
|
t1 = _this.scanner; |
|
if (t1.peekChar$0() !== 64) { |
|
state = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
try { |
|
t2 = _this._variableDeclarationWithNamespace$0(); |
|
return t2; |
|
} catch (exception) { |
|
t2 = H.unwrapException(exception); |
|
if (!!J.getInterceptor$(t2).$isSourceSpanFormatException) { |
|
variableDeclarationError = t2; |
|
t1.set$state(state); |
|
statement = null; |
|
try { |
|
statement = _this._declarationOrStyleRule$0(); |
|
} catch (exception) { |
|
if (!!J.getInterceptor$(H.unwrapException(exception)).$isSourceSpanFormatException) |
|
throw H.wrapException(variableDeclarationError); |
|
else |
|
throw exception; |
|
} |
|
_this.error$2("@function rules may not contain " + (statement instanceof X.StyleRule ? "style rules" : "declarations") + ".", statement.get$span()); |
|
} else |
|
throw exception; |
|
} |
|
} |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
switch (_this._plainAtRuleName$0()) { |
|
case "debug": |
|
return _this._debugRule$1(start); |
|
case "each": |
|
return _this._eachRule$2(start, _this.get$_functionChild()); |
|
case "else": |
|
return _this._disallowedAtRule$1(start); |
|
case "error": |
|
return _this._errorRule$1(start); |
|
case "for": |
|
return _this._forRule$2(start, _this.get$_functionChild()); |
|
case "if": |
|
return _this._ifRule$2(start, _this.get$_functionChild()); |
|
case "return": |
|
value = _this.expression$0(); |
|
_this.expectStatementSeparator$1("@return rule"); |
|
return new B.ReturnRule(value, t1.spanFrom$1(start)); |
|
case "warn": |
|
return _this._warnRule$1(start); |
|
case "while": |
|
return _this._whileRule$2(start, _this.get$_functionChild()); |
|
default: |
|
return _this._disallowedAtRule$1(start); |
|
} |
|
}, |
|
_plainAtRuleName$0: function() { |
|
this.scanner.expectChar$2$name(64, "@-rule"); |
|
var $name = this.identifier$0(); |
|
this.whitespace$0(); |
|
return $name; |
|
}, |
|
_atRootRule$1: function(start) { |
|
var query, t2, t3, _this = this, |
|
t1 = _this.scanner; |
|
if (t1.peekChar$0() === 40) { |
|
query = _this._atRootQuery$0(); |
|
_this.whitespace$0(); |
|
return _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser__atRootRule_closure(query)); |
|
} else if (_this.lookingAtChildren$0()) |
|
return _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser__atRootRule_closure0()); |
|
else { |
|
t2 = O.Statement; |
|
t3 = H.setRuntimeTypeInfo([_this._stylesheet$_styleRule$0()], [t2]); |
|
t1 = t1.spanFrom$1(start); |
|
t2 = P.List_List$unmodifiable(t3, t2); |
|
t3 = C.JSArray_methods.any$1(t2, new M.ParentStatement_closure()); |
|
return new V.AtRootRule(null, t1, t2, t3); |
|
} |
|
}, |
|
_atRootQuery$0: function() { |
|
var interpolation, t2, t3, t4, buffer, t5, _this = this, |
|
t1 = _this.scanner; |
|
if (t1.peekChar$0() === 35) { |
|
interpolation = _this.singleInterpolation$0(); |
|
return X.Interpolation$(H.setRuntimeTypeInfo([interpolation], [P.Object]), interpolation.get$span()); |
|
} |
|
t2 = t1._string_scanner$_position; |
|
t3 = new P.StringBuffer(""); |
|
t4 = []; |
|
buffer = new Z.InterpolationBuffer(t3, t4); |
|
t1.expectChar$1(40); |
|
t3._contents += H.Primitives_stringFromCharCode(40); |
|
_this.whitespace$0(); |
|
t5 = _this.expression$0(); |
|
buffer._flushText$0(); |
|
t4.push(t5); |
|
if (t1.scanChar$1(58)) { |
|
_this.whitespace$0(); |
|
t3._contents += H.Primitives_stringFromCharCode(58); |
|
t3._contents += H.Primitives_stringFromCharCode(32); |
|
t5 = _this.expression$0(); |
|
buffer._flushText$0(); |
|
t4.push(t5); |
|
} |
|
t1.expectChar$1(41); |
|
_this.whitespace$0(); |
|
t3._contents += H.Primitives_stringFromCharCode(41); |
|
return buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2))); |
|
}, |
|
_contentRule$1: function(start) { |
|
var t1, $arguments, t2, t3, _this = this; |
|
if (!_this._stylesheet$_inMixin) |
|
_this.error$2("@content is only allowed within mixin declarations.", _this.scanner.spanFrom$1(start)); |
|
_this.whitespace$0(); |
|
t1 = _this.scanner; |
|
if (t1.peekChar$0() === 40) |
|
$arguments = _this._argumentInvocation$1$mixin(true); |
|
else { |
|
t2 = Y.FileLocation$_(t1._sourceFile, t1._string_scanner$_position); |
|
t3 = t2.offset; |
|
$arguments = new X.ArgumentInvocation(C.List_empty8, C.Map_empty3, null, null, Y._FileSpan$(t2.file, t3, t3)); |
|
} |
|
_this._mixinHasContent = true; |
|
_this.expectStatementSeparator$1("@content rule"); |
|
return new Q.ContentRule(t1.spanFrom$1(start), $arguments); |
|
}, |
|
_debugRule$1: function(start) { |
|
var value = this.expression$0(); |
|
this.expectStatementSeparator$1("@debug rule"); |
|
return new Q.DebugRule(value, this.scanner.spanFrom$1(start)); |
|
}, |
|
_eachRule$2: function(start, child) { |
|
var variables, t1, _this = this, |
|
wasInControlDirective = _this._inControlDirective; |
|
_this._inControlDirective = true; |
|
variables = H.setRuntimeTypeInfo([_this.variableName$0()], [P.String]); |
|
_this.whitespace$0(); |
|
for (t1 = _this.scanner; t1.scanChar$1(44);) { |
|
_this.whitespace$0(); |
|
t1.expectChar$1(36); |
|
variables.push(_this.identifier$1$normalize(true)); |
|
_this.whitespace$0(); |
|
} |
|
_this.expectIdentifier$1("in"); |
|
_this.whitespace$0(); |
|
return _this._withChildren$3(child, start, new V.StylesheetParser__eachRule_closure(_this, wasInControlDirective, variables, _this.expression$0())); |
|
}, |
|
_errorRule$1: function(start) { |
|
var value = this.expression$0(); |
|
this.expectStatementSeparator$1("@error rule"); |
|
return new D.ErrorRule(value, this.scanner.spanFrom$1(start)); |
|
}, |
|
_functionRule$1: function(start) { |
|
var $name, $arguments, _this = this, |
|
precedingComment = _this.lastSilentComment; |
|
_this.lastSilentComment = null; |
|
$name = _this.identifier$1$normalize(true); |
|
_this.whitespace$0(); |
|
$arguments = _this._argumentDeclaration$0(); |
|
if (_this._stylesheet$_inMixin || _this._inContentBlock) |
|
_this.error$2("Mixins may not contain function declarations.", _this.scanner.spanFrom$1(start)); |
|
else if (_this._inControlDirective) |
|
_this.error$2("Functions may not be declared in control directives.", _this.scanner.spanFrom$1(start)); |
|
switch (B.unvendor($name)) { |
|
case "calc": |
|
case "element": |
|
case "expression": |
|
case "url": |
|
case "and": |
|
case "or": |
|
case "not": |
|
_this.error$2("Invalid function name.", _this.scanner.spanFrom$1(start)); |
|
break; |
|
} |
|
_this.whitespace$0(); |
|
return _this._withChildren$3(_this.get$_functionChild(), start, new V.StylesheetParser__functionRule_closure($name, $arguments, precedingComment)); |
|
}, |
|
_forRule$2: function(start, child) { |
|
var variable, from, _this = this, t1 = {}, |
|
wasInControlDirective = _this._inControlDirective; |
|
_this._inControlDirective = true; |
|
variable = _this.variableName$0(); |
|
_this.whitespace$0(); |
|
_this.expectIdentifier$1("from"); |
|
_this.whitespace$0(); |
|
t1.exclusive = null; |
|
from = _this.expression$1$until(new V.StylesheetParser__forRule_closure(t1, _this)); |
|
if (t1.exclusive == null) |
|
_this.scanner.error$1('Expected "to" or "through".'); |
|
_this.whitespace$0(); |
|
return _this._withChildren$3(child, start, new V.StylesheetParser__forRule_closure0(t1, _this, wasInControlDirective, variable, from, _this.expression$0())); |
|
}, |
|
_forwardRule$1: function(start) { |
|
var prefix, members, shownMixinsAndFunctions, shownVariables, hiddenVariables, hiddenMixinsAndFunctions, configuration, span, t1, t2, t3, t4, _this = this, _null = null, |
|
url = _this._urlString$0(); |
|
_this.whitespace$0(); |
|
if (_this.scanIdentifier$1("as")) { |
|
_this.whitespace$0(); |
|
prefix = _this.identifier$1$normalize(true); |
|
_this.scanner.expectChar$1(42); |
|
_this.whitespace$0(); |
|
} else |
|
prefix = _null; |
|
if (_this.scanIdentifier$1("show")) { |
|
members = _this._memberList$0(); |
|
shownMixinsAndFunctions = members.item1; |
|
shownVariables = members.item2; |
|
hiddenVariables = _null; |
|
hiddenMixinsAndFunctions = hiddenVariables; |
|
} else { |
|
if (_this.scanIdentifier$1("hide")) { |
|
members = _this._memberList$0(); |
|
hiddenMixinsAndFunctions = members.item1; |
|
hiddenVariables = members.item2; |
|
} else { |
|
hiddenVariables = _null; |
|
hiddenMixinsAndFunctions = hiddenVariables; |
|
} |
|
shownVariables = _null; |
|
shownMixinsAndFunctions = shownVariables; |
|
} |
|
configuration = _this._stylesheet$_configuration$1$allowGuarded(true); |
|
_this.expectStatementSeparator$1("@forward rule"); |
|
span = _this.scanner.spanFrom$1(start); |
|
if (!_this._isUseAllowed) |
|
_this.error$2("@forward rules must be written before any other rules.", span); |
|
if (shownMixinsAndFunctions != null) { |
|
t1 = P.String; |
|
t2 = P.LinkedHashSet_LinkedHashSet$of(shownMixinsAndFunctions, t1); |
|
t3 = [t1]; |
|
t1 = P.LinkedHashSet_LinkedHashSet$of(shownVariables, t1); |
|
t4 = configuration == null ? C.List_empty7 : P.List_List$unmodifiable(configuration, Z.ConfiguredVariable); |
|
return new L.ForwardRule(url, new L.UnmodifiableSetView(t2, t3), new L.UnmodifiableSetView(t1, t3), _null, _null, prefix, t4, span); |
|
} else if (hiddenMixinsAndFunctions != null) { |
|
t1 = P.String; |
|
t2 = P.LinkedHashSet_LinkedHashSet$of(hiddenMixinsAndFunctions, t1); |
|
t3 = [t1]; |
|
t1 = P.LinkedHashSet_LinkedHashSet$of(hiddenVariables, t1); |
|
t4 = configuration == null ? C.List_empty7 : P.List_List$unmodifiable(configuration, Z.ConfiguredVariable); |
|
return new L.ForwardRule(url, _null, _null, new L.UnmodifiableSetView(t2, t3), new L.UnmodifiableSetView(t1, t3), prefix, t4, span); |
|
} else |
|
return new L.ForwardRule(url, _null, _null, _null, _null, prefix, configuration == null ? C.List_empty7 : P.List_List$unmodifiable(configuration, Z.ConfiguredVariable), span); |
|
}, |
|
_memberList$0: function() { |
|
var _this = this, |
|
t1 = P.String, |
|
identifiers = P.LinkedHashSet_LinkedHashSet$_empty(t1), |
|
variables = P.LinkedHashSet_LinkedHashSet$_empty(t1); |
|
t1 = _this.scanner; |
|
do { |
|
_this.whitespace$0(); |
|
_this.withErrorMessage$2("Expected variable, mixin, or function name", new V.StylesheetParser__memberList_closure(_this, variables, identifiers)); |
|
_this.whitespace$0(); |
|
} while (t1.scanChar$1(44)); |
|
t1 = [P.Set, P.String]; |
|
return new S.Tuple2(identifiers, variables, [t1, t1]); |
|
}, |
|
_ifRule$2: function(start, child) { |
|
var condition, children, t1, t2, t3, clauses, lastClause, result, t4, span, _this = this, |
|
ifIndentation = _this.get$currentIndentation(), |
|
wasInControlDirective = _this._inControlDirective; |
|
_this._inControlDirective = true; |
|
condition = _this.expression$0(); |
|
children = _this.children$1(child); |
|
_this.whitespaceWithoutComments$0(); |
|
t1 = O.Statement; |
|
t2 = P.List_List$unmodifiable(children, t1); |
|
t3 = V.IfClause; |
|
clauses = H.setRuntimeTypeInfo([new V.IfClause(condition, t2, C.JSArray_methods.any$1(t2, new V.IfClause$__closure()))], [t3]); |
|
while (true) { |
|
if (!_this.scanElse$1(ifIndentation)) { |
|
lastClause = null; |
|
break; |
|
} |
|
_this.whitespace$0(); |
|
if (_this.scanIdentifier$1("if")) { |
|
_this.whitespace$0(); |
|
t2 = _this.expression$0(); |
|
result = P.List_List$from(_this.children$1(child), false, t1); |
|
result.fixed$length = Array; |
|
result.immutable$list = Array; |
|
t4 = result; |
|
clauses.push(new V.IfClause(t2, t4, C.JSArray_methods.any$1(t4, new V.IfClause$__closure()))); |
|
} else { |
|
result = P.List_List$from(_this.children$1(child), false, t1); |
|
result.fixed$length = Array; |
|
result.immutable$list = Array; |
|
t1 = result; |
|
lastClause = new V.IfClause(null, t1, C.JSArray_methods.any$1(t1, new V.IfClause$__closure())); |
|
break; |
|
} |
|
} |
|
_this._inControlDirective = wasInControlDirective; |
|
span = _this.scanner.spanFrom$1(start); |
|
_this.whitespaceWithoutComments$0(); |
|
return new V.IfRule(P.List_List$unmodifiable(clauses, t3), lastClause, span); |
|
}, |
|
_importRule$1: function(start) { |
|
var argument, _this = this, |
|
t1 = F.Import, |
|
imports = H.setRuntimeTypeInfo([], [t1]), |
|
t2 = _this.scanner; |
|
do { |
|
_this.whitespace$0(); |
|
argument = _this.importArgument$0(); |
|
if ((_this._inControlDirective || _this._stylesheet$_inMixin) && argument instanceof B.DynamicImport) |
|
_this._disallowedAtRule$1(start); |
|
imports.push(argument); |
|
_this.whitespace$0(); |
|
} while (t2.scanChar$1(44)); |
|
_this.expectStatementSeparator$1("@import rule"); |
|
t2 = t2.spanFrom$1(start); |
|
return new B.ImportRule(P.List_List$unmodifiable(imports, t1), t2); |
|
}, |
|
importArgument$0: function() { |
|
var url, urlSpan, innerError, queries, t2, t3, t4, exception, _this = this, _null = null, |
|
t1 = _this.scanner, |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position), |
|
next = t1.peekChar$0(); |
|
if (next === 117 || next === 85) { |
|
url = _this.dynamicUrl$0(); |
|
_this.whitespace$0(); |
|
queries = _this.tryImportQueries$0(); |
|
t2 = X.Interpolation$(H.setRuntimeTypeInfo([url], [P.Object]), t1.spanFrom$1(start)); |
|
t1 = t1.spanFrom$1(start); |
|
t3 = queries == null; |
|
t4 = t3 ? _null : queries.item1; |
|
return new Q.StaticImport(t2, t4, t3 ? _null : queries.item2, t1); |
|
} |
|
url = _this.string$0(); |
|
urlSpan = t1.spanFrom$1(start); |
|
_this.whitespace$0(); |
|
queries = _this.tryImportQueries$0(); |
|
if (_this.isPlainImportUrl$1(url) || queries != null) { |
|
t2 = urlSpan; |
|
t2 = X.Interpolation$(H.setRuntimeTypeInfo([P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t2.file._decodedChars, t2._start, t2._file$_end), 0, _null)], [P.Object]), urlSpan); |
|
t1 = t1.spanFrom$1(start); |
|
t3 = queries == null; |
|
t4 = t3 ? _null : queries.item1; |
|
return new Q.StaticImport(t2, t4, t3 ? _null : queries.item2, t1); |
|
} else |
|
try { |
|
t1 = _this.parseImportUrl$1(url); |
|
return new B.DynamicImport(t1, urlSpan); |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (!!J.getInterceptor$(t1).$isFormatException) { |
|
innerError = t1; |
|
_this.error$2("Invalid URL: " + H.S(J.get$message$x(innerError)), urlSpan); |
|
} else |
|
throw exception; |
|
} |
|
}, |
|
parseImportUrl$1: function(url) { |
|
var t1 = $.$get$windows(); |
|
if (t1.style.rootLength$1(url) > 0) |
|
return J.toString$0$(t1.toUri$1(url)); |
|
P.Uri_parse(url); |
|
return url; |
|
}, |
|
isPlainImportUrl$1: function(url) { |
|
var first; |
|
if (url.length < 5) |
|
return false; |
|
if (C.JSString_methods.endsWith$1(url, ".css")) |
|
return true; |
|
first = C.JSString_methods._codeUnitAt$1(url, 0); |
|
if (first === 47) |
|
return C.JSString_methods._codeUnitAt$1(url, 1) === 47; |
|
if (first !== 104) |
|
return false; |
|
return C.JSString_methods.startsWith$1(url, "http://") || C.JSString_methods.startsWith$1(url, "https://"); |
|
}, |
|
tryImportQueries$0: function() { |
|
var t1, start, supports, $name, media, _this = this; |
|
if (_this.scanIdentifier$1("supports")) { |
|
t1 = _this.scanner; |
|
t1.expectChar$1(40); |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
if (_this.scanIdentifier$1("not")) { |
|
_this.whitespace$0(); |
|
supports = new M.SupportsNegation(_this._supportsConditionInParens$0(), t1.spanFrom$1(start)); |
|
} else if (t1.peekChar$0() === 40) |
|
supports = _this._supportsCondition$0(); |
|
else { |
|
$name = _this.expression$0(); |
|
t1.expectChar$1(58); |
|
_this.whitespace$0(); |
|
supports = new L.SupportsDeclaration($name, _this.expression$0(), t1.spanFrom$1(start)); |
|
} |
|
t1.expectChar$1(41); |
|
_this.whitespace$0(); |
|
} else |
|
supports = null; |
|
media = _this._lookingAtInterpolatedIdentifier$0() || _this.scanner.peekChar$0() === 40 ? _this._mediaQueryList$0() : null; |
|
if (supports == null && media == null) |
|
return; |
|
return new S.Tuple2(supports, media, [N.SupportsCondition, X.Interpolation]); |
|
}, |
|
_includeRule$1: function(start) { |
|
var name0, namespace, $arguments, t3, t4, wasInContentBlock, $content, _this = this, _null = null, t1 = {}, |
|
$name = _this.identifier$0(), |
|
t2 = _this.scanner; |
|
if (t2.scanChar$1(46)) { |
|
name0 = _this._publicIdentifier$0(); |
|
namespace = $name; |
|
$name = name0; |
|
} else { |
|
$name = H.stringReplaceAllUnchecked($name, "_", "-"); |
|
namespace = _null; |
|
} |
|
_this.whitespace$0(); |
|
if (t2.peekChar$0() === 40) |
|
$arguments = _this._argumentInvocation$1$mixin(true); |
|
else { |
|
t3 = Y.FileLocation$_(t2._sourceFile, t2._string_scanner$_position); |
|
t4 = t3.offset; |
|
$arguments = new X.ArgumentInvocation(C.List_empty8, C.Map_empty3, _null, _null, Y._FileSpan$(t3.file, t4, t4)); |
|
} |
|
_this.whitespace$0(); |
|
t1.contentArguments = null; |
|
if (_this.scanIdentifier$1("using")) { |
|
_this.whitespace$0(); |
|
t3 = t1.contentArguments = _this._argumentDeclaration$0(); |
|
_this.whitespace$0(); |
|
} else |
|
t3 = _null; |
|
t3 = t3 == null; |
|
if (!t3 || _this.lookingAtChildren$0()) { |
|
if (t3) { |
|
t3 = Y.FileLocation$_(t2._sourceFile, t2._string_scanner$_position); |
|
t4 = t3.offset; |
|
t1.contentArguments = new B.ArgumentDeclaration(C.List_empty9, _null, Y._FileSpan$(t3.file, t4, t4)); |
|
} |
|
wasInContentBlock = _this._inContentBlock; |
|
_this._inContentBlock = true; |
|
$content = _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser__includeRule_closure(t1)); |
|
_this._inContentBlock = wasInContentBlock; |
|
} else { |
|
_this.expectStatementSeparator$0(); |
|
$content = _null; |
|
} |
|
t1 = t2.spanFrom$2(start, start); |
|
return new A.IncludeRule(namespace, $name, $arguments, $content, t1.expand$1(0, ($content == null ? $arguments : $content).get$span())); |
|
}, |
|
mediaRule$1: function(start) { |
|
return this._withChildren$3(this.get$_statement(), start, new V.StylesheetParser_mediaRule_closure(this._mediaQueryList$0())); |
|
}, |
|
_mixinRule$1: function(start) { |
|
var $name, t1, $arguments, t2, t3, _this = this, |
|
precedingComment = _this.lastSilentComment; |
|
_this.lastSilentComment = null; |
|
$name = _this.identifier$1$normalize(true); |
|
_this.whitespace$0(); |
|
t1 = _this.scanner; |
|
if (t1.peekChar$0() === 40) |
|
$arguments = _this._argumentDeclaration$0(); |
|
else { |
|
t2 = Y.FileLocation$_(t1._sourceFile, t1._string_scanner$_position); |
|
t3 = t2.offset; |
|
$arguments = new B.ArgumentDeclaration(C.List_empty9, null, Y._FileSpan$(t2.file, t3, t3)); |
|
} |
|
if (_this._stylesheet$_inMixin || _this._inContentBlock) |
|
_this.error$2("Mixins may not contain mixin declarations.", t1.spanFrom$1(start)); |
|
else if (_this._inControlDirective) |
|
_this.error$2("Mixins may not be declared in control directives.", t1.spanFrom$1(start)); |
|
_this.whitespace$0(); |
|
_this._stylesheet$_inMixin = true; |
|
_this._mixinHasContent = false; |
|
return _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser__mixinRule_closure(_this, $name, $arguments, precedingComment)); |
|
}, |
|
mozDocumentRule$2: function(start, $name) { |
|
var t5, t6, identifier, contents, argument, trailing, endPosition, start0, end, _this = this, _box_0 = {}, |
|
t1 = _this.scanner, |
|
t2 = t1._string_scanner$_position, |
|
t3 = new P.StringBuffer(""), |
|
t4 = [], |
|
buffer = new Z.InterpolationBuffer(t3, t4); |
|
_box_0.needsDeprecationWarning = false; |
|
for (t5 = _this.get$whitespace(); true;) { |
|
if (t1.peekChar$0() === 35) { |
|
t6 = _this.singleInterpolation$0(); |
|
buffer._flushText$0(); |
|
t4.push(t6); |
|
_box_0.needsDeprecationWarning = true; |
|
} else { |
|
t6 = t1._string_scanner$_position; |
|
identifier = _this.identifier$0(); |
|
switch (identifier) { |
|
case "url": |
|
case "url-prefix": |
|
case "domain": |
|
contents = _this._tryUrlContents$2$name(new S._SpanScannerState(t1, t6), identifier); |
|
if (contents != null) |
|
buffer.addInterpolation$1(contents); |
|
else { |
|
t1.expectChar$1(40); |
|
_this.whitespace$0(); |
|
argument = _this.interpolatedString$0(); |
|
t1.expectChar$1(41); |
|
t3._contents += identifier; |
|
t3._contents += H.Primitives_stringFromCharCode(40); |
|
buffer.addInterpolation$1(argument.asInterpolation$0()); |
|
t3._contents += H.Primitives_stringFromCharCode(41); |
|
} |
|
t6 = t3._contents; |
|
trailing = t6.charCodeAt(0) == 0 ? t6 : t6; |
|
if (!C.JSString_methods.endsWith$1(trailing, "url-prefix()") && !C.JSString_methods.endsWith$1(trailing, "url-prefix('')") && !C.JSString_methods.endsWith$1(trailing, 'url-prefix("")')) |
|
_box_0.needsDeprecationWarning = true; |
|
break; |
|
case "regexp": |
|
t3._contents += "regexp("; |
|
t1.expectChar$1(40); |
|
buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0()); |
|
t1.expectChar$1(41); |
|
t3._contents += H.Primitives_stringFromCharCode(41); |
|
_box_0.needsDeprecationWarning = true; |
|
break; |
|
default: |
|
endPosition = t1._string_scanner$_position; |
|
_this.error$2("Invalid function name.", Y._FileSpan$(t1._sourceFile, t6, endPosition)); |
|
} |
|
} |
|
_this.whitespace$0(); |
|
if (!t1.scanChar$1(44)) |
|
break; |
|
t3._contents += H.Primitives_stringFromCharCode(44); |
|
start0 = t1._string_scanner$_position; |
|
t5.call$0(); |
|
end = t1._string_scanner$_position; |
|
t3._contents += J.substring$2$s(t1.string, start0, end); |
|
} |
|
return _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser_mozDocumentRule_closure(_box_0, _this, $name, buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2))))); |
|
}, |
|
supportsRule$1: function(start) { |
|
var _this = this, |
|
condition = _this._supportsCondition$0(); |
|
_this.whitespace$0(); |
|
return _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser_supportsRule_closure(condition)); |
|
}, |
|
_useRule$1: function(start) { |
|
var namespace, configuration, span, _this = this, |
|
_s9_ = "@use rule", |
|
url = _this._urlString$0(); |
|
_this.whitespace$0(); |
|
namespace = _this._useNamespace$2(url, start); |
|
_this.whitespace$0(); |
|
configuration = _this._stylesheet$_configuration$0(); |
|
_this.expectStatementSeparator$1(_s9_); |
|
span = _this.scanner.spanFrom$1(start); |
|
if (!_this._isUseAllowed) |
|
_this.error$2("@use rules must be written before any other rules.", span); |
|
_this.expectStatementSeparator$1(_s9_); |
|
return T.UseRule$(url, namespace, span, configuration); |
|
}, |
|
_useNamespace$2: function(url, start) { |
|
var namespace, basename, dot, t1, exception, _this = this; |
|
if (_this.scanIdentifier$1("as")) { |
|
_this.whitespace$0(); |
|
return _this.scanner.scanChar$1(42) ? null : _this.identifier$0(); |
|
} |
|
basename = url.get$pathSegments().length === 0 ? "" : C.JSArray_methods.get$last(url.get$pathSegments()); |
|
dot = J.getInterceptor$asx(basename).indexOf$1(basename, "."); |
|
namespace = C.JSString_methods.substring$2(basename, 0, dot === -1 ? basename.length : dot); |
|
try { |
|
t1 = G.Parser$(namespace, _this.logger, null)._parseIdentifier$0(); |
|
return t1; |
|
} catch (exception) { |
|
if (H.unwrapException(exception) instanceof E.SassFormatException) |
|
_this.error$2('Invalid Sass identifier "' + H.S(namespace) + '"', _this.scanner.spanFrom$1(start)); |
|
else |
|
throw exception; |
|
} |
|
}, |
|
_stylesheet$_configuration$1$allowGuarded: function(allowGuarded) { |
|
var variableNames, configuration, t1, t2, $name, expression, t3, guarded, endPosition, span, _this = this; |
|
if (!_this.scanIdentifier$1("with")) |
|
return; |
|
variableNames = P.LinkedHashSet_LinkedHashSet$_empty(P.String); |
|
configuration = H.setRuntimeTypeInfo([], [Z.ConfiguredVariable]); |
|
_this.whitespace$0(); |
|
t1 = _this.scanner; |
|
t1.expectChar$1(40); |
|
for (; true;) { |
|
_this.whitespace$0(); |
|
t2 = t1._string_scanner$_position; |
|
t1.expectChar$1(36); |
|
$name = _this.identifier$1$normalize(true); |
|
_this.whitespace$0(); |
|
t1.expectChar$1(58); |
|
_this.whitespace$0(); |
|
expression = _this._expressionUntilComma$0(); |
|
t3 = t1._string_scanner$_position; |
|
if (allowGuarded && t1.scanChar$1(33)) |
|
if (_this.identifier$0() === "default") |
|
guarded = true; |
|
else { |
|
endPosition = t1._string_scanner$_position; |
|
_this.error$2("Invalid flag name.", Y._FileSpan$(t1._sourceFile, t3, endPosition)); |
|
guarded = false; |
|
} |
|
else |
|
guarded = false; |
|
endPosition = t1._string_scanner$_position; |
|
span = Y._FileSpan$(t1._sourceFile, t2, endPosition); |
|
if (variableNames.contains$1(0, $name)) |
|
_this.error$2("The same variable may only be configured once.", span); |
|
variableNames.add$1(0, $name); |
|
configuration.push(new Z.ConfiguredVariable($name, expression, guarded, span)); |
|
if (!t1.scanChar$1(44)) |
|
break; |
|
_this.whitespace$0(); |
|
if (!_this._lookingAtExpression$0()) |
|
break; |
|
} |
|
t1.expectChar$1(41); |
|
return configuration; |
|
}, |
|
_stylesheet$_configuration$0: function() { |
|
return this._stylesheet$_configuration$1$allowGuarded(false); |
|
}, |
|
_warnRule$1: function(start) { |
|
var value = this.expression$0(); |
|
this.expectStatementSeparator$1("@warn rule"); |
|
return new Y.WarnRule(value, this.scanner.spanFrom$1(start)); |
|
}, |
|
_whileRule$2: function(start, child) { |
|
var _this = this, |
|
wasInControlDirective = _this._inControlDirective; |
|
_this._inControlDirective = true; |
|
return _this._withChildren$3(child, start, new V.StylesheetParser__whileRule_closure(_this, wasInControlDirective, _this.expression$0())); |
|
}, |
|
unknownAtRule$2: function(start, $name) { |
|
var t2, t3, rule, _this = this, t1 = {}, |
|
wasInUnknownAtRule = _this._stylesheet$_inUnknownAtRule; |
|
_this._stylesheet$_inUnknownAtRule = true; |
|
t1.value = null; |
|
t2 = _this.scanner; |
|
t3 = t2.peekChar$0() !== 33 && !_this.atEndOfStatement$0() ? t1.value = _this.almostAnyValue$0() : null; |
|
if (_this.lookingAtChildren$0()) |
|
rule = _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser_unknownAtRule_closure(t1, $name)); |
|
else { |
|
_this.expectStatementSeparator$0(); |
|
rule = U.AtRule$($name, t2.spanFrom$1(start), null, t3); |
|
} |
|
_this._stylesheet$_inUnknownAtRule = wasInUnknownAtRule; |
|
return rule; |
|
}, |
|
_disallowedAtRule$1: function(start) { |
|
this.almostAnyValue$0(); |
|
this.error$2("This at-rule is not allowed here.", this.scanner.spanFrom$1(start)); |
|
}, |
|
_argumentDeclaration$0: function() { |
|
var t3, $arguments, named, restArgument, t4, $name, defaultValue, endPosition, _this = this, |
|
t1 = _this.scanner, |
|
t2 = t1._string_scanner$_position; |
|
t1.expectChar$1(40); |
|
_this.whitespace$0(); |
|
t3 = Z.Argument; |
|
$arguments = H.setRuntimeTypeInfo([], [t3]); |
|
named = P.LinkedHashSet_LinkedHashSet$_empty(P.String); |
|
while (true) { |
|
if (!(t1.peekChar$0() === 36)) { |
|
restArgument = null; |
|
break; |
|
} |
|
t4 = t1._string_scanner$_position; |
|
t1.expectChar$1(36); |
|
$name = _this.identifier$1$normalize(true); |
|
_this.whitespace$0(); |
|
if (t1.scanChar$1(58)) { |
|
_this.whitespace$0(); |
|
defaultValue = _this._expressionUntilComma$0(); |
|
} else { |
|
if (t1.scanChar$1(46)) { |
|
t1.expectChar$1(46); |
|
t1.expectChar$1(46); |
|
_this.whitespace$0(); |
|
restArgument = $name; |
|
break; |
|
} |
|
defaultValue = null; |
|
} |
|
endPosition = t1._string_scanner$_position; |
|
$arguments.push(new Z.Argument($name, defaultValue, Y._FileSpan$(t1._sourceFile, t4, endPosition))); |
|
if (!named.add$1(0, $name)) |
|
_this.error$2("Duplicate argument.", C.JSArray_methods.get$last($arguments).span); |
|
if (!t1.scanChar$1(44)) { |
|
restArgument = null; |
|
break; |
|
} |
|
_this.whitespace$0(); |
|
} |
|
t1.expectChar$1(41); |
|
t1 = t1.spanFrom$1(new S._SpanScannerState(t1, t2)); |
|
return new B.ArgumentDeclaration(P.List_List$unmodifiable($arguments, t3), restArgument, t1); |
|
}, |
|
_argumentInvocation$1$mixin: function(mixin) { |
|
var t3, positional, named, keywordRest, rest, expression, t4, _this = this, |
|
t1 = _this.scanner, |
|
t2 = t1._string_scanner$_position; |
|
t1.expectChar$1(40); |
|
_this.whitespace$0(); |
|
t3 = T.Expression; |
|
positional = H.setRuntimeTypeInfo([], [t3]); |
|
named = P.LinkedHashMap_LinkedHashMap$_empty(P.String, t3); |
|
t3 = !mixin; |
|
rest = null; |
|
while (true) { |
|
if (!_this._lookingAtExpression$0()) { |
|
keywordRest = null; |
|
break; |
|
} |
|
expression = _this._expressionUntilComma$1$singleEquals(t3); |
|
_this.whitespace$0(); |
|
if (expression instanceof S.VariableExpression && t1.scanChar$1(58)) { |
|
_this.whitespace$0(); |
|
t4 = expression.name; |
|
if (named.containsKey$1(t4)) |
|
_this.error$2("Duplicate argument.", expression.span); |
|
named.$indexSet(0, t4, _this._expressionUntilComma$1$singleEquals(t3)); |
|
} else if (t1.scanChar$1(46)) { |
|
t1.expectChar$1(46); |
|
t1.expectChar$1(46); |
|
if (rest != null) { |
|
_this.whitespace$0(); |
|
keywordRest = expression; |
|
break; |
|
} |
|
rest = expression; |
|
} else if (named.get$isNotEmpty(named)) |
|
t1.expect$1("..."); |
|
else |
|
positional.push(expression); |
|
_this.whitespace$0(); |
|
if (!t1.scanChar$1(44)) { |
|
keywordRest = null; |
|
break; |
|
} |
|
_this.whitespace$0(); |
|
} |
|
t1.expectChar$1(41); |
|
return X.ArgumentInvocation$(positional, named, t1.spanFrom$1(new S._SpanScannerState(t1, t2)), keywordRest, rest); |
|
}, |
|
_argumentInvocation$0: function() { |
|
return this._argumentInvocation$1$mixin(false); |
|
}, |
|
expression$3$bracketList$singleEquals$until: function(bracketList, singleEquals, until) { |
|
var t2, beforeBracket, t3, wasInParentheses, resetState, resolveOneOperation, resolveOperations, addSingleExpression, addOperator, resolveSpaceExpressions, t4, first, next, t5, _this = this, |
|
_s20_ = "Expected expression.", |
|
_box_0 = {}, |
|
t1 = until != null; |
|
if (t1 && until.call$0()) |
|
_this.scanner.error$1(_s20_); |
|
if (bracketList) { |
|
t2 = _this.scanner; |
|
beforeBracket = new S._SpanScannerState(t2, t2._string_scanner$_position); |
|
t2.expectChar$1(91); |
|
_this.whitespace$0(); |
|
if (t2.scanChar$1(93)) { |
|
t1 = T.Expression; |
|
t3 = H.setRuntimeTypeInfo([], [t1]); |
|
t2 = t2.spanFrom$1(beforeBracket); |
|
t1 = P.List_List$unmodifiable(t3, t1); |
|
return new D.ListExpression(t1, C.ListSeparator_undecided, true, t2); |
|
} |
|
} else |
|
beforeBracket = null; |
|
t2 = _this.scanner; |
|
t3 = t2._string_scanner$_position; |
|
wasInParentheses = _this._inParentheses; |
|
_box_0.operands = _box_0.operators = _box_0.spaceExpressions = _box_0.singleEqualsOperand = _box_0.commaExpressions = null; |
|
_box_0.allowSlash = _this.lookingAtNumber$0(); |
|
_box_0.singleExpression = _this._singleExpression$0(); |
|
resetState = new V.StylesheetParser_expression_resetState(_box_0, _this, new S._SpanScannerState(t2, t3)); |
|
resolveOneOperation = new V.StylesheetParser_expression_resolveOneOperation(_box_0, _this); |
|
resolveOperations = new V.StylesheetParser_expression_resolveOperations(_box_0, resolveOneOperation); |
|
addSingleExpression = new V.StylesheetParser_expression_addSingleExpression(_box_0, _this, resetState, resolveOperations); |
|
addOperator = new V.StylesheetParser_expression_addOperator(_box_0, _this, resolveOneOperation); |
|
resolveSpaceExpressions = new V.StylesheetParser_expression_resolveSpaceExpressions(_box_0, resolveOperations); |
|
$label0$0: |
|
for (t3 = T.Expression, t4 = [t3]; true;) { |
|
_this.whitespace$0(); |
|
if (t1 && until.call$0()) |
|
break $label0$0; |
|
first = t2.peekChar$0(); |
|
switch (first) { |
|
case 40: |
|
addSingleExpression.call$1(_this._parentheses$0()); |
|
break; |
|
case 91: |
|
addSingleExpression.call$1(_this.expression$1$bracketList(true)); |
|
break; |
|
case 36: |
|
addSingleExpression.call$1(_this._variable$0()); |
|
break; |
|
case 38: |
|
addSingleExpression.call$1(_this._selector$0()); |
|
break; |
|
case 39: |
|
case 34: |
|
addSingleExpression.call$1(_this.interpolatedString$0()); |
|
break; |
|
case 35: |
|
addSingleExpression.call$1(_this._hashExpression$0()); |
|
break; |
|
case 61: |
|
t2.readChar$0(); |
|
if (singleEquals && t2.peekChar$0() !== 61) { |
|
resolveSpaceExpressions.call$0(); |
|
_box_0.singleEqualsOperand = _box_0.singleExpression; |
|
_box_0.singleExpression = null; |
|
} else { |
|
t2.expectChar$1(61); |
|
addOperator.call$1(C.BinaryOperator_YlX); |
|
} |
|
break; |
|
case 33: |
|
next = t2.peekChar$1(1); |
|
if (next === 61) { |
|
t2.readChar$0(); |
|
t2.readChar$0(); |
|
addOperator.call$1(C.BinaryOperator_i5H); |
|
} else { |
|
if (next != null) |
|
if ((next | 32) !== 105) |
|
t5 = next === 32 || next === 9 || next === 10 || next === 13 || next === 12; |
|
else |
|
t5 = true; |
|
else |
|
t5 = true; |
|
if (t5) |
|
addSingleExpression.call$1(_this._importantExpression$0()); |
|
else |
|
break $label0$0; |
|
} |
|
break; |
|
case 60: |
|
t2.readChar$0(); |
|
addOperator.call$1(t2.scanChar$1(61) ? C.BinaryOperator_33h : C.BinaryOperator_8qt); |
|
break; |
|
case 62: |
|
t2.readChar$0(); |
|
addOperator.call$1(t2.scanChar$1(61) ? C.BinaryOperator_1da : C.BinaryOperator_AcR0); |
|
break; |
|
case 42: |
|
t2.readChar$0(); |
|
addOperator.call$1(C.BinaryOperator_O1M); |
|
break; |
|
case 43: |
|
if (_box_0.singleExpression == null) |
|
addSingleExpression.call$1(_this._unaryOperation$0()); |
|
else { |
|
t2.readChar$0(); |
|
addOperator.call$1(C.BinaryOperator_AcR); |
|
} |
|
break; |
|
case 45: |
|
next = t2.peekChar$1(1); |
|
if (next != null && next >= 48 && next <= 57 || next === 46) |
|
if (_box_0.singleExpression != null) { |
|
t5 = t2.peekChar$1(-1); |
|
t5 = t5 === 32 || t5 === 9 || t5 === 10 || t5 === 13 || t5 === 12; |
|
} else |
|
t5 = true; |
|
else |
|
t5 = false; |
|
if (t5) |
|
addSingleExpression.call$2$number(_this._number$0(), true); |
|
else if (_this._lookingAtInterpolatedIdentifier$0()) |
|
addSingleExpression.call$1(_this.identifierLike$0()); |
|
else if (_box_0.singleExpression == null) |
|
addSingleExpression.call$1(_this._unaryOperation$0()); |
|
else { |
|
t2.readChar$0(); |
|
addOperator.call$1(C.BinaryOperator_iyO); |
|
} |
|
break; |
|
case 47: |
|
if (_box_0.singleExpression == null) |
|
addSingleExpression.call$1(_this._unaryOperation$0()); |
|
else { |
|
t2.readChar$0(); |
|
addOperator.call$1(C.BinaryOperator_RTB); |
|
} |
|
break; |
|
case 37: |
|
t2.readChar$0(); |
|
addOperator.call$1(C.BinaryOperator_2ad); |
|
break; |
|
case 48: |
|
case 49: |
|
case 50: |
|
case 51: |
|
case 52: |
|
case 53: |
|
case 54: |
|
case 55: |
|
case 56: |
|
case 57: |
|
addSingleExpression.call$2$number(_this._number$0(), true); |
|
break; |
|
case 46: |
|
if (t2.peekChar$1(1) === 46) |
|
break $label0$0; |
|
addSingleExpression.call$2$number(_this._number$0(), true); |
|
break; |
|
case 97: |
|
if (!_this.get$plainCss() && _this.scanIdentifier$1("and")) |
|
addOperator.call$1(C.BinaryOperator_and_and_2); |
|
else |
|
addSingleExpression.call$1(_this.identifierLike$0()); |
|
break; |
|
case 111: |
|
if (!_this.get$plainCss() && _this.scanIdentifier$1("or")) |
|
addOperator.call$1(C.BinaryOperator_or_or_1); |
|
else |
|
addSingleExpression.call$1(_this.identifierLike$0()); |
|
break; |
|
case 117: |
|
case 85: |
|
if (t2.peekChar$1(1) === 43) |
|
addSingleExpression.call$1(_this._unicodeRange$0()); |
|
else |
|
addSingleExpression.call$1(_this.identifierLike$0()); |
|
break; |
|
case 98: |
|
case 99: |
|
case 100: |
|
case 101: |
|
case 102: |
|
case 103: |
|
case 104: |
|
case 105: |
|
case 106: |
|
case 107: |
|
case 108: |
|
case 109: |
|
case 110: |
|
case 112: |
|
case 113: |
|
case 114: |
|
case 115: |
|
case 116: |
|
case 118: |
|
case 119: |
|
case 120: |
|
case 121: |
|
case 122: |
|
case 65: |
|
case 66: |
|
case 67: |
|
case 68: |
|
case 69: |
|
case 70: |
|
case 71: |
|
case 72: |
|
case 73: |
|
case 74: |
|
case 75: |
|
case 76: |
|
case 77: |
|
case 78: |
|
case 79: |
|
case 80: |
|
case 81: |
|
case 82: |
|
case 83: |
|
case 84: |
|
case 86: |
|
case 87: |
|
case 88: |
|
case 89: |
|
case 90: |
|
case 95: |
|
case 92: |
|
addSingleExpression.call$1(_this.identifierLike$0()); |
|
break; |
|
case 44: |
|
if (_this._inParentheses) { |
|
_this._inParentheses = false; |
|
if (_box_0.allowSlash) { |
|
resetState.call$0(); |
|
break; |
|
} |
|
} |
|
if (_box_0.commaExpressions == null) |
|
_box_0.commaExpressions = H.setRuntimeTypeInfo([], t4); |
|
if (_box_0.singleExpression == null) |
|
t2.error$1(_s20_); |
|
resolveSpaceExpressions.call$0(); |
|
_box_0.commaExpressions.push(_box_0.singleExpression); |
|
t2.readChar$0(); |
|
_box_0.allowSlash = true; |
|
_box_0.singleExpression = null; |
|
break; |
|
default: |
|
if (first != null && first >= 128) { |
|
addSingleExpression.call$1(_this.identifierLike$0()); |
|
break; |
|
} else |
|
break $label0$0; |
|
} |
|
} |
|
if (bracketList) |
|
t2.expectChar$1(93); |
|
if (_box_0.commaExpressions != null) { |
|
resolveSpaceExpressions.call$0(); |
|
_this._inParentheses = wasInParentheses; |
|
t1 = _box_0.singleExpression; |
|
if (t1 != null) |
|
_box_0.commaExpressions.push(t1); |
|
t1 = _box_0.commaExpressions; |
|
t2 = bracketList ? t2.spanFrom$1(beforeBracket) : null; |
|
t3 = P.List_List$unmodifiable(t1, t3); |
|
return new D.ListExpression(t3, C.ListSeparator_comma, bracketList, t2 == null ? B.spanForList(t3) : t2); |
|
} else if (bracketList && _box_0.spaceExpressions != null && _box_0.singleEqualsOperand == null) { |
|
resolveOperations.call$0(); |
|
t1 = _box_0.spaceExpressions; |
|
t1.push(_box_0.singleExpression); |
|
t2 = t2.spanFrom$1(beforeBracket); |
|
t3 = P.List_List$unmodifiable(t1, t3); |
|
return new D.ListExpression(t3, C.ListSeparator_space, true, t2); |
|
} else { |
|
resolveSpaceExpressions.call$0(); |
|
if (bracketList) { |
|
t1 = H.setRuntimeTypeInfo([_box_0.singleExpression], t4); |
|
t2 = t2.spanFrom$1(beforeBracket); |
|
t3 = P.List_List$unmodifiable(t1, t3); |
|
_box_0.singleExpression = new D.ListExpression(t3, C.ListSeparator_undecided, true, t2); |
|
} |
|
return _box_0.singleExpression; |
|
} |
|
}, |
|
expression$0: function() { |
|
return this.expression$3$bracketList$singleEquals$until(false, false, null); |
|
}, |
|
expression$2$singleEquals$until: function(singleEquals, until) { |
|
return this.expression$3$bracketList$singleEquals$until(false, singleEquals, until); |
|
}, |
|
expression$1$bracketList: function(bracketList) { |
|
return this.expression$3$bracketList$singleEquals$until(bracketList, false, null); |
|
}, |
|
expression$1$singleEquals: function(singleEquals) { |
|
return this.expression$3$bracketList$singleEquals$until(false, singleEquals, null); |
|
}, |
|
expression$1$until: function(until) { |
|
return this.expression$3$bracketList$singleEquals$until(false, false, until); |
|
}, |
|
_expressionUntilComma$1$singleEquals: function(singleEquals) { |
|
return this.expression$2$singleEquals$until(singleEquals, new V.StylesheetParser__expressionUntilComma_closure(this)); |
|
}, |
|
_expressionUntilComma$0: function() { |
|
return this._expressionUntilComma$1$singleEquals(false); |
|
}, |
|
_singleExpression$0: function() { |
|
var next, _this = this, |
|
t1 = _this.scanner, |
|
first = t1.peekChar$0(); |
|
switch (first) { |
|
case 40: |
|
return _this._parentheses$0(); |
|
case 47: |
|
return _this._unaryOperation$0(); |
|
case 46: |
|
return _this._number$0(); |
|
case 91: |
|
return _this.expression$1$bracketList(true); |
|
case 36: |
|
return _this._variable$0(); |
|
case 38: |
|
return _this._selector$0(); |
|
case 39: |
|
case 34: |
|
return _this.interpolatedString$0(); |
|
case 35: |
|
return _this._hashExpression$0(); |
|
case 43: |
|
next = t1.peekChar$1(1); |
|
return T.isDigit(next) || next === 46 ? _this._number$0() : _this._unaryOperation$0(); |
|
case 45: |
|
return _this._minusExpression$0(); |
|
case 33: |
|
return _this._importantExpression$0(); |
|
case 117: |
|
case 85: |
|
if (t1.peekChar$1(1) === 43) |
|
return _this._unicodeRange$0(); |
|
else |
|
return _this.identifierLike$0(); |
|
case 48: |
|
case 49: |
|
case 50: |
|
case 51: |
|
case 52: |
|
case 53: |
|
case 54: |
|
case 55: |
|
case 56: |
|
case 57: |
|
return _this._number$0(); |
|
case 97: |
|
case 98: |
|
case 99: |
|
case 100: |
|
case 101: |
|
case 102: |
|
case 103: |
|
case 104: |
|
case 105: |
|
case 106: |
|
case 107: |
|
case 108: |
|
case 109: |
|
case 110: |
|
case 111: |
|
case 112: |
|
case 113: |
|
case 114: |
|
case 115: |
|
case 116: |
|
case 118: |
|
case 119: |
|
case 120: |
|
case 121: |
|
case 122: |
|
case 65: |
|
case 66: |
|
case 67: |
|
case 68: |
|
case 69: |
|
case 70: |
|
case 71: |
|
case 72: |
|
case 73: |
|
case 74: |
|
case 75: |
|
case 76: |
|
case 77: |
|
case 78: |
|
case 79: |
|
case 80: |
|
case 81: |
|
case 82: |
|
case 83: |
|
case 84: |
|
case 86: |
|
case 87: |
|
case 88: |
|
case 89: |
|
case 90: |
|
case 95: |
|
case 92: |
|
return _this.identifierLike$0(); |
|
default: |
|
if (first != null && first >= 128) |
|
return _this.identifierLike$0(); |
|
t1.error$1("Expected expression."); |
|
} |
|
}, |
|
_parentheses$0: function() { |
|
var wasInParentheses, start, first, expressions, t1, t2, t3, _this = this; |
|
if (_this.get$plainCss()) |
|
_this.scanner.error$2$length("Parentheses aren't allowed in plain CSS.", 1); |
|
wasInParentheses = _this._inParentheses; |
|
_this._inParentheses = true; |
|
try { |
|
t1 = _this.scanner; |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
t1.expectChar$1(40); |
|
_this.whitespace$0(); |
|
if (!_this._lookingAtExpression$0()) { |
|
t1.expectChar$1(41); |
|
t2 = T.Expression; |
|
t3 = H.setRuntimeTypeInfo([], [t2]); |
|
t1 = t1.spanFrom$1(start); |
|
t2 = P.List_List$unmodifiable(t3, t2); |
|
return new D.ListExpression(t2, C.ListSeparator_undecided, false, t1); |
|
} |
|
first = _this._expressionUntilComma$0(); |
|
if (t1.scanChar$1(58)) { |
|
_this.whitespace$0(); |
|
t1 = _this._stylesheet$_map$2(first, start); |
|
return t1; |
|
} |
|
if (!t1.scanChar$1(44)) { |
|
t1.expectChar$1(41); |
|
t1 = t1.spanFrom$1(start); |
|
return new T.ParenthesizedExpression(first, t1); |
|
} |
|
_this.whitespace$0(); |
|
t2 = T.Expression; |
|
expressions = H.setRuntimeTypeInfo([first], [t2]); |
|
for (; true;) { |
|
if (!_this._lookingAtExpression$0()) |
|
break; |
|
J.add$1$ax(expressions, _this._expressionUntilComma$0()); |
|
if (!t1.scanChar$1(44)) |
|
break; |
|
_this.whitespace$0(); |
|
} |
|
t1.expectChar$1(41); |
|
t1 = t1.spanFrom$1(start); |
|
t2 = P.List_List$unmodifiable(expressions, t2); |
|
return new D.ListExpression(t2, C.ListSeparator_comma, false, t1); |
|
} finally { |
|
_this._inParentheses = wasInParentheses; |
|
} |
|
}, |
|
_stylesheet$_map$2: function(first, start) { |
|
var t2, pairs, t3, key, _this = this, |
|
t1 = T.Expression; |
|
t1 = [t1, t1]; |
|
t2 = [S.Tuple2, T.Expression, T.Expression]; |
|
pairs = H.setRuntimeTypeInfo([new S.Tuple2(first, _this._expressionUntilComma$0(), t1)], [t2]); |
|
for (t3 = _this.scanner; t3.scanChar$1(44);) { |
|
_this.whitespace$0(); |
|
if (!_this._lookingAtExpression$0()) |
|
break; |
|
key = _this._expressionUntilComma$0(); |
|
t3.expectChar$1(58); |
|
_this.whitespace$0(); |
|
pairs.push(new S.Tuple2(key, _this._expressionUntilComma$0(), t1)); |
|
} |
|
t3.expectChar$1(41); |
|
t1 = t3.spanFrom$1(start); |
|
return new A.MapExpression(P.List_List$unmodifiable(pairs, t2), t1); |
|
}, |
|
_hashExpression$0: function() { |
|
var start, first, t2, identifier, buffer, _this = this, |
|
t1 = _this.scanner; |
|
if (t1.peekChar$1(1) === 123) |
|
return _this.identifierLike$0(); |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
t1.expectChar$1(35); |
|
first = t1.peekChar$0(); |
|
if (first != null && T.isDigit(first)) |
|
return new K.ColorExpression(_this._hexColorContents$1(start)); |
|
t2 = t1._string_scanner$_position; |
|
identifier = _this.interpolatedIdentifier$0(); |
|
if (_this._isHexColor$1(identifier)) { |
|
t1.set$state(new S._SpanScannerState(t1, t2)); |
|
return new K.ColorExpression(_this._hexColorContents$1(start)); |
|
} |
|
t2 = new P.StringBuffer(""); |
|
buffer = new Z.InterpolationBuffer(t2, []); |
|
t2._contents += H.Primitives_stringFromCharCode(35); |
|
buffer.addInterpolation$1(identifier); |
|
return new D.StringExpression(buffer.interpolation$1(t1.spanFrom$1(start)), false); |
|
}, |
|
_hexColorContents$1: function(start) { |
|
var red, green, blue, alpha, digit4, t2, t3, _this = this, |
|
digit1 = _this._hexDigit$0(), |
|
digit2 = _this._hexDigit$0(), |
|
digit3 = _this._hexDigit$0(), |
|
t1 = _this.scanner; |
|
if (!T.isHex(t1.peekChar$0())) { |
|
red = (digit1 << 4 >>> 0) + digit1; |
|
green = (digit2 << 4 >>> 0) + digit2; |
|
blue = (digit3 << 4 >>> 0) + digit3; |
|
alpha = 1; |
|
} else { |
|
digit4 = _this._hexDigit$0(); |
|
t2 = digit1 << 4 >>> 0; |
|
t3 = digit3 << 4 >>> 0; |
|
if (!T.isHex(t1.peekChar$0())) { |
|
red = t2 + digit1; |
|
green = (digit2 << 4 >>> 0) + digit2; |
|
blue = t3 + digit3; |
|
alpha = ((digit4 << 4 >>> 0) + digit4) / 255; |
|
} else { |
|
red = t2 + digit2; |
|
green = t3 + digit4; |
|
blue = (_this._hexDigit$0() << 4 >>> 0) + _this._hexDigit$0(); |
|
alpha = T.isHex(t1.peekChar$0()) ? ((_this._hexDigit$0() << 4 >>> 0) + _this._hexDigit$0()) / 255 : 1; |
|
} |
|
} |
|
return K.SassColor$rgb(red, green, blue, alpha, t1.spanFrom$1(start)); |
|
}, |
|
_isHexColor$1: function(interpolation) { |
|
var t1, |
|
plain = interpolation.get$asPlain(); |
|
if (plain == null) |
|
return false; |
|
t1 = plain.length; |
|
if (t1 !== 3 && t1 !== 4 && t1 !== 6 && t1 !== 8) |
|
return false; |
|
t1 = new H.CodeUnits(plain); |
|
return t1.every$1(t1, T.character__isHex$closure()); |
|
}, |
|
_hexDigit$0: function() { |
|
var t1 = this.scanner, |
|
char = t1.peekChar$0(); |
|
if (char == null || !T.isHex(char)) |
|
t1.error$1("Expected hex digit."); |
|
return T.asHex(t1.readChar$0()); |
|
}, |
|
_minusExpression$0: function() { |
|
var _this = this, |
|
next = _this.scanner.peekChar$1(1); |
|
if (T.isDigit(next) || next === 46) |
|
return _this._number$0(); |
|
if (_this._lookingAtInterpolatedIdentifier$0()) |
|
return _this.identifierLike$0(); |
|
return _this._unaryOperation$0(); |
|
}, |
|
_importantExpression$0: function() { |
|
var t1 = this.scanner, |
|
t2 = t1._string_scanner$_position; |
|
t1.readChar$0(); |
|
this.whitespace$0(); |
|
this.expectIdentifier$1("important"); |
|
t2 = t1.spanFrom$1(new S._SpanScannerState(t1, t2)); |
|
return new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo(["!important"], [P.Object]), t2), false); |
|
}, |
|
_unaryOperation$0: function() { |
|
var _this = this, |
|
t1 = _this.scanner, |
|
t2 = t1._string_scanner$_position, |
|
operator = _this._unaryOperatorFor$1(t1.readChar$0()); |
|
if (operator == null) |
|
t1.error$2$position("Expected unary operator.", t1._string_scanner$_position - 1); |
|
else if (_this.get$plainCss() && operator !== C.UnaryOperator_zDx) |
|
t1.error$3$length$position("Operators aren't allowed in plain CSS.", 1, t1._string_scanner$_position - 1); |
|
_this.whitespace$0(); |
|
return new X.UnaryOperationExpression(operator, _this._singleExpression$0(), t1.spanFrom$1(new S._SpanScannerState(t1, t2))); |
|
}, |
|
_unaryOperatorFor$1: function(character) { |
|
switch (character) { |
|
case 43: |
|
return C.UnaryOperator_j2w; |
|
case 45: |
|
return C.UnaryOperator_U4G; |
|
case 47: |
|
return C.UnaryOperator_zDx; |
|
default: |
|
return; |
|
} |
|
}, |
|
_number$0: function() { |
|
var number, t4, unit, t5, _this = this, |
|
t1 = _this.scanner, |
|
t2 = t1._string_scanner$_position, |
|
first = t1.peekChar$0(), |
|
t3 = first === 45, |
|
sign = t3 ? -1 : 1; |
|
if (first === 43 || t3) |
|
t1.readChar$0(); |
|
number = t1.peekChar$0() === 46 ? 0 : _this.naturalNumber$0(); |
|
t3 = _this._tryDecimal$1$allowTrailingDot(t1._string_scanner$_position !== t2); |
|
t4 = _this._tryExponent$0(); |
|
if (t1.scanChar$1(37)) |
|
unit = "%"; |
|
else { |
|
if (_this.lookingAtIdentifier$0()) |
|
t5 = t1.peekChar$0() !== 45 || t1.peekChar$1(1) !== 45; |
|
else |
|
t5 = false; |
|
unit = t5 ? _this.identifier$1$unit(true) : null; |
|
} |
|
return new T.NumberExpression(sign * ((number + t3) * t4), unit, t1.spanFrom$1(new S._SpanScannerState(t1, t2))); |
|
}, |
|
_tryDecimal$1$allowTrailingDot: function(allowTrailingDot) { |
|
var t2, |
|
t1 = this.scanner, |
|
start = t1._string_scanner$_position; |
|
if (t1.peekChar$0() !== 46) |
|
return 0; |
|
if (!T.isDigit(t1.peekChar$1(1))) { |
|
if (allowTrailingDot) |
|
return 0; |
|
t1.error$2$position("Expected digit.", t1._string_scanner$_position + 1); |
|
} |
|
t1.readChar$0(); |
|
while (true) { |
|
t2 = t1.peekChar$0(); |
|
if (!(t2 != null && t2 >= 48 && t2 <= 57)) |
|
break; |
|
t1.readChar$0(); |
|
} |
|
return P.double_parse(t1.substring$1(0, start)); |
|
}, |
|
_tryExponent$0: function() { |
|
var next, t2, exponentSign, exponent, |
|
t1 = this.scanner, |
|
first = t1.peekChar$0(); |
|
if (first !== 101 && first !== 69) |
|
return 1; |
|
next = t1.peekChar$1(1); |
|
if (!T.isDigit(next) && next !== 45 && next !== 43) |
|
return 1; |
|
t1.readChar$0(); |
|
t2 = next === 45; |
|
exponentSign = t2 ? -1 : 1; |
|
if (next === 43 || t2) |
|
t1.readChar$0(); |
|
if (!T.isDigit(t1.peekChar$0())) |
|
t1.error$1("Expected digit."); |
|
exponent = 0; |
|
while (true) { |
|
t2 = t1.peekChar$0(); |
|
if (!(t2 != null && t2 >= 48 && t2 <= 57)) |
|
break; |
|
exponent = exponent * 10 + (t1.readChar$0() - 48); |
|
} |
|
return Math.pow(10, exponentSign * exponent); |
|
}, |
|
_unicodeRange$0: function() { |
|
var i, t2, j, _this = this, |
|
t1 = _this.scanner, |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
_this.expectCharIgnoreCase$1(117); |
|
t1.expectChar$1(43); |
|
for (i = 0; i < 6; ++i) |
|
if (!_this.scanCharIf$1(new V.StylesheetParser__unicodeRange_closure())) |
|
break; |
|
if (t1.scanChar$1(63)) { |
|
++i; |
|
for (; i < 6; ++i) |
|
if (!t1.scanChar$1(63)) |
|
break; |
|
t2 = t1.substring$1(0, start.position); |
|
t1 = t1.spanFrom$1(start); |
|
return new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo([t2], [P.Object]), t1), false); |
|
} |
|
if (i === 0) |
|
t1.error$1('Expected hex digit or "?".'); |
|
if (t1.scanChar$1(45)) { |
|
for (j = 0; j < 6; ++j) |
|
if (!_this.scanCharIf$1(new V.StylesheetParser__unicodeRange_closure0())) |
|
break; |
|
if (j === 0) |
|
t1.error$1("Expected hex digit."); |
|
} |
|
if (_this._lookingAtInterpolatedIdentifierBody$0()) |
|
t1.error$1("Expected end of identifier."); |
|
t2 = t1.substring$1(0, start.position); |
|
t1 = t1.spanFrom$1(start); |
|
return new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo([t2], [P.Object]), t1), false); |
|
}, |
|
_variable$0: function() { |
|
var _this = this, |
|
t1 = _this.scanner, |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position), |
|
$name = _this.variableName$0(); |
|
if (_this.get$plainCss()) |
|
_this.error$2("Sass variables aren't allowed in plain CSS.", t1.spanFrom$1(start)); |
|
return new S.VariableExpression(null, $name, t1.spanFrom$1(start)); |
|
}, |
|
_selector$0: function() { |
|
var t1, start, _this = this; |
|
if (_this.get$plainCss()) |
|
_this.scanner.error$2$length("The parent selector isn't allowed in plain CSS.", 1); |
|
t1 = _this.scanner; |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
t1.expectChar$1(38); |
|
if (t1.scanChar$1(38)) { |
|
_this.logger.warn$2$span('In Sass, "&&" means two copies of the parent selector. You probably want to use "and" instead.', t1.spanFrom$1(start)); |
|
t1.set$position(t1._string_scanner$_position - 1); |
|
} |
|
return new T.SelectorExpression(t1.spanFrom$1(start)); |
|
}, |
|
interpolatedString$0: function() { |
|
var t3, t4, buffer, next, second, t5, |
|
t1 = this.scanner, |
|
t2 = t1._string_scanner$_position, |
|
quote = t1.readChar$0(); |
|
if (quote !== 39 && quote !== 34) |
|
t1.error$2$position("Expected string.", t2); |
|
t3 = new P.StringBuffer(""); |
|
t4 = []; |
|
buffer = new Z.InterpolationBuffer(t3, t4); |
|
for (; true;) { |
|
next = t1.peekChar$0(); |
|
if (next === quote) { |
|
t1.readChar$0(); |
|
break; |
|
} else if (next == null || next === 10 || next === 13 || next === 12) |
|
t1.error$1("Expected " + H.Primitives_stringFromCharCode(quote) + "."); |
|
else if (next === 92) { |
|
second = t1.peekChar$1(1); |
|
if (second === 10 || second === 13 || second === 12) { |
|
t1.readChar$0(); |
|
t1.readChar$0(); |
|
if (second === 13) |
|
t1.scanChar$1(10); |
|
} else |
|
t3._contents += H.Primitives_stringFromCharCode(this.escapeCharacter$0()); |
|
} else if (next === 35) |
|
if (t1.peekChar$1(1) === 123) { |
|
t5 = this.singleInterpolation$0(); |
|
buffer._flushText$0(); |
|
t4.push(t5); |
|
} else |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
else |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
} |
|
return new D.StringExpression(buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2))), true); |
|
}, |
|
identifierLike$0: function() { |
|
var invocation, lower, color, specialFunction, $name, _this = this, |
|
t1 = _this.scanner, |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position), |
|
identifier = _this.interpolatedIdentifier$0(), |
|
plain = identifier.get$asPlain(), |
|
t2 = plain == null; |
|
if (!t2) { |
|
if (plain === "if") { |
|
invocation = _this._argumentInvocation$0(); |
|
return new L.IfExpression(invocation, B.spanForList(H.setRuntimeTypeInfo([identifier, invocation], [B.AstNode]))); |
|
} else if (plain === "not") { |
|
_this.whitespace$0(); |
|
return new X.UnaryOperationExpression(C.UnaryOperator_not_not, _this._singleExpression$0(), identifier.span); |
|
} |
|
lower = plain.toLowerCase(); |
|
if (t1.peekChar$0() !== 40) { |
|
switch (plain) { |
|
case "false": |
|
return new Z.BooleanExpression(false, identifier.span); |
|
case "null": |
|
return new O.NullExpression(identifier.span); |
|
case "true": |
|
return new Z.BooleanExpression(true, identifier.span); |
|
} |
|
color = $.$get$colorsByName().$index(0, lower); |
|
if (color != null) |
|
return new K.ColorExpression(K.SassColor$rgb(color.get$red(), color.get$green(), color.get$blue(), color.alpha, identifier.span)); |
|
} |
|
specialFunction = _this.trySpecialFunction$2(lower, start); |
|
if (specialFunction != null) |
|
return specialFunction; |
|
} |
|
switch (t1.peekChar$0()) { |
|
case 46: |
|
if (t1.peekChar$1(1) === 46) |
|
return new D.StringExpression(identifier, false); |
|
t1.readChar$0(); |
|
if (t2) |
|
_this.error$2("Interpolation isn't allowed in namespaces.", identifier.span); |
|
if (t1.peekChar$0() === 36) { |
|
$name = _this.variableName$0(); |
|
_this._assertPublic$2($name, new V.StylesheetParser_identifierLike_closure(_this, start)); |
|
return new S.VariableExpression(plain, $name, t1.spanFrom$1(start)); |
|
} |
|
t2 = t1._string_scanner$_position; |
|
return new F.FunctionExpression(plain, X.Interpolation$(H.setRuntimeTypeInfo([_this._publicIdentifier$0()], [P.Object]), t1.spanFrom$1(new S._SpanScannerState(t1, t2))), _this._argumentInvocation$0(), t1.spanFrom$1(start)); |
|
case 40: |
|
return new F.FunctionExpression(null, identifier, _this._argumentInvocation$0(), t1.spanFrom$1(start)); |
|
default: |
|
return new D.StringExpression(identifier, false); |
|
} |
|
}, |
|
trySpecialFunction$2: function($name, start) { |
|
var t1, buffer, t2, t3, next, contents, _this = this; |
|
switch (B.unvendor($name)) { |
|
case "calc": |
|
case "element": |
|
case "expression": |
|
if (!_this.scanner.scanChar$1(40)) |
|
return; |
|
t1 = new P.StringBuffer(""); |
|
buffer = new Z.InterpolationBuffer(t1, []); |
|
t1._contents = $name; |
|
t1._contents += H.Primitives_stringFromCharCode(40); |
|
break; |
|
case "min": |
|
case "max": |
|
t1 = _this.scanner; |
|
t2 = t1._string_scanner$_position; |
|
if (!t1.scanChar$1(40)) |
|
return; |
|
_this.whitespace$0(); |
|
t3 = new P.StringBuffer(""); |
|
buffer = new Z.InterpolationBuffer(t3, []); |
|
t3._contents = $name; |
|
t3._contents += H.Primitives_stringFromCharCode(40); |
|
if (!_this._tryMinMaxContents$1(buffer)) { |
|
t1.set$state(new S._SpanScannerState(t1, t2)); |
|
return; |
|
} |
|
return new D.StringExpression(buffer.interpolation$1(t1.spanFrom$1(start)), false); |
|
case "progid": |
|
t1 = _this.scanner; |
|
if (!t1.scanChar$1(58)) |
|
return; |
|
t2 = new P.StringBuffer(""); |
|
buffer = new Z.InterpolationBuffer(t2, []); |
|
t2._contents = $name; |
|
t2._contents += H.Primitives_stringFromCharCode(58); |
|
next = t1.peekChar$0(); |
|
while (true) { |
|
if (next != null) { |
|
if (!(next >= 97 && next <= 122)) |
|
t3 = next >= 65 && next <= 90; |
|
else |
|
t3 = true; |
|
t3 = t3 || next === 46; |
|
} else |
|
t3 = false; |
|
if (!t3) |
|
break; |
|
t2._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
next = t1.peekChar$0(); |
|
} |
|
t1.expectChar$1(40); |
|
t2._contents += H.Primitives_stringFromCharCode(40); |
|
break; |
|
case "url": |
|
contents = _this._tryUrlContents$1(start); |
|
return contents == null ? null : new D.StringExpression(contents, false); |
|
default: |
|
return; |
|
} |
|
buffer.addInterpolation$1(_this._interpolatedDeclarationValue$1$allowEmpty(true).text); |
|
t1 = _this.scanner; |
|
t1.expectChar$1(41); |
|
buffer._interpolation_buffer$_text._contents += H.Primitives_stringFromCharCode(41); |
|
return new D.StringExpression(buffer.interpolation$1(t1.spanFrom$1(start)), false); |
|
}, |
|
_tryMinMaxContents$2$allowComma: function(buffer, allowComma) { |
|
var t1, t2, t3, t4, start, end, exception, t5, _this = this; |
|
for (t1 = _this.scanner, t2 = buffer._interpolation_buffer$_text, t3 = !allowComma, t4 = _this.get$_number(); true;) { |
|
switch (t1.peekChar$0()) { |
|
case 45: |
|
case 43: |
|
case 48: |
|
case 49: |
|
case 50: |
|
case 51: |
|
case 52: |
|
case 53: |
|
case 54: |
|
case 55: |
|
case 56: |
|
case 57: |
|
try { |
|
start = t1._string_scanner$_position; |
|
t4.call$0(); |
|
end = t1._string_scanner$_position; |
|
t2._contents += J.substring$2$s(t1.string, start, end); |
|
} catch (exception) { |
|
if (!!J.getInterceptor$(H.unwrapException(exception)).$isFormatException) |
|
return false; |
|
else |
|
throw exception; |
|
} |
|
break; |
|
case 35: |
|
if (t1.peekChar$1(1) !== 123) |
|
return false; |
|
t5 = _this.singleInterpolation$0(); |
|
buffer._flushText$0(); |
|
buffer._interpolation_buffer$_contents.push(t5); |
|
break; |
|
case 99: |
|
case 67: |
|
if (!_this._tryMinMaxFunction$2(buffer, "calc")) |
|
return false; |
|
break; |
|
case 101: |
|
case 69: |
|
if (!_this._tryMinMaxFunction$2(buffer, "env")) |
|
return false; |
|
break; |
|
case 118: |
|
case 86: |
|
if (!_this._tryMinMaxFunction$2(buffer, "var")) |
|
return false; |
|
break; |
|
case 40: |
|
t2._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
if (!_this._tryMinMaxContents$2$allowComma(buffer, false)) |
|
return false; |
|
break; |
|
case 109: |
|
case 77: |
|
t1.readChar$0(); |
|
if (_this.scanCharIgnoreCase$1(105)) { |
|
if (!_this.scanCharIgnoreCase$1(110)) |
|
return false; |
|
t2._contents += "min("; |
|
} else if (_this.scanCharIgnoreCase$1(97)) { |
|
if (!_this.scanCharIgnoreCase$1(120)) |
|
return false; |
|
t2._contents += "max("; |
|
} else |
|
return false; |
|
if (!t1.scanChar$1(40)) |
|
return false; |
|
if (!_this._tryMinMaxContents$1(buffer)) |
|
return false; |
|
break; |
|
default: |
|
return false; |
|
} |
|
_this.whitespace$0(); |
|
switch (t1.peekChar$0()) { |
|
case 41: |
|
t2._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
return true; |
|
case 43: |
|
case 45: |
|
case 42: |
|
case 47: |
|
t2._contents += H.Primitives_stringFromCharCode(32); |
|
t2._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
t2._contents += H.Primitives_stringFromCharCode(32); |
|
break; |
|
case 44: |
|
if (t3) |
|
return false; |
|
t2._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
t2._contents += H.Primitives_stringFromCharCode(32); |
|
break; |
|
default: |
|
return false; |
|
} |
|
_this.whitespace$0(); |
|
} |
|
}, |
|
_tryMinMaxContents$1: function(buffer) { |
|
return this._tryMinMaxContents$2$allowComma(buffer, true); |
|
}, |
|
_tryMinMaxFunction$2: function(buffer, $name) { |
|
var t1, t2; |
|
if (!this.scanIdentifier$1($name)) |
|
return false; |
|
t1 = this.scanner; |
|
if (!t1.scanChar$1(40)) |
|
return false; |
|
t2 = buffer._interpolation_buffer$_text; |
|
t2._contents += $name; |
|
t2._contents += H.Primitives_stringFromCharCode(40); |
|
buffer.addInterpolation$1(this._interpolatedDeclarationValue$1$allowEmpty(true).asInterpolation$0()); |
|
t2._contents += H.Primitives_stringFromCharCode(41); |
|
if (!t1.scanChar$1(41)) |
|
return false; |
|
return true; |
|
}, |
|
_tryUrlContents$2$name: function(start, $name) { |
|
var t3, t4, buffer, next, t5, endPosition, _this = this, |
|
t1 = _this.scanner, |
|
t2 = t1._string_scanner$_position; |
|
if (!t1.scanChar$1(40)) |
|
return; |
|
_this.whitespaceWithoutComments$0(); |
|
t3 = new P.StringBuffer(""); |
|
t4 = []; |
|
buffer = new Z.InterpolationBuffer(t3, t4); |
|
t3._contents = $name == null ? "url" : $name; |
|
t3._contents += H.Primitives_stringFromCharCode(40); |
|
for (; true;) { |
|
next = t1.peekChar$0(); |
|
if (next == null) |
|
break; |
|
else { |
|
if (next !== 33) |
|
if (next !== 37) |
|
if (next !== 38) |
|
t5 = next >= 42 && next <= 126 || next >= 128; |
|
else |
|
t5 = true; |
|
else |
|
t5 = true; |
|
else |
|
t5 = true; |
|
if (t5) |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
else if (next === 92) |
|
t3._contents += H.S(_this.escape$0()); |
|
else if (next === 35) |
|
if (t1.peekChar$1(1) === 123) { |
|
t5 = _this.singleInterpolation$0(); |
|
buffer._flushText$0(); |
|
t4.push(t5); |
|
} else |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
else if (next === 32 || next === 9 || next === 10 || next === 13 || next === 12) { |
|
_this.whitespaceWithoutComments$0(); |
|
if (t1.peekChar$0() !== 41) |
|
break; |
|
} else if (next === 41) { |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
endPosition = t1._string_scanner$_position; |
|
return buffer.interpolation$1(Y._FileSpan$(t1._sourceFile, start.position, endPosition)); |
|
} else |
|
break; |
|
} |
|
} |
|
t1.set$state(new S._SpanScannerState(t1, t2)); |
|
return; |
|
}, |
|
_tryUrlContents$1: function(start) { |
|
return this._tryUrlContents$2$name(start, null); |
|
}, |
|
dynamicUrl$0: function() { |
|
var contents, _this = this, |
|
t1 = _this.scanner, |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
_this.expectIdentifier$1("url"); |
|
contents = _this._tryUrlContents$1(start); |
|
if (contents != null) |
|
return new D.StringExpression(contents, false); |
|
return new F.FunctionExpression(null, X.Interpolation$(H.setRuntimeTypeInfo(["url"], [P.Object]), t1.spanFrom$1(start)), _this._argumentInvocation$0(), t1.spanFrom$1(start)); |
|
}, |
|
almostAnyValue$0: function() { |
|
var t4, next, commentStart, end, t5, contents, _this = this, |
|
t1 = _this.scanner, |
|
t2 = t1._string_scanner$_position, |
|
t3 = new P.StringBuffer(""), |
|
buffer = new Z.InterpolationBuffer(t3, []); |
|
$label0$1: |
|
for (t4 = t1.string; true;) { |
|
next = t1.peekChar$0(); |
|
switch (next) { |
|
case 92: |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
break; |
|
case 34: |
|
case 39: |
|
buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0()); |
|
break; |
|
case 47: |
|
commentStart = t1._string_scanner$_position; |
|
if (_this.scanComment$0()) { |
|
end = t1._string_scanner$_position; |
|
t3._contents += J.substring$2$s(t4, commentStart, end); |
|
} else |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
break; |
|
case 35: |
|
if (t1.peekChar$1(1) === 123) |
|
buffer.addInterpolation$1(_this.interpolatedIdentifier$0()); |
|
else |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
break; |
|
case 13: |
|
case 10: |
|
case 12: |
|
if (_this.get$indented()) |
|
break $label0$1; |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
break; |
|
case 33: |
|
case 59: |
|
case 123: |
|
case 125: |
|
break $label0$1; |
|
case 117: |
|
case 85: |
|
t5 = t1._string_scanner$_position; |
|
if (!_this.scanIdentifier$1("url")) { |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
break; |
|
} |
|
contents = _this._tryUrlContents$1(new S._SpanScannerState(t1, t5)); |
|
if (contents == null) { |
|
if (t5 < 0 || t5 > t4.length) |
|
H.throwExpression(P.ArgumentError$("Invalid position " + t5)); |
|
t1._string_scanner$_position = t5; |
|
t1._lastMatch = null; |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
} else |
|
buffer.addInterpolation$1(contents); |
|
break; |
|
default: |
|
if (next == null) |
|
break $label0$1; |
|
if (_this.lookingAtIdentifier$0()) |
|
t3._contents += _this.identifier$0(); |
|
else |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
break; |
|
} |
|
} |
|
return buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2))); |
|
}, |
|
_interpolatedDeclarationValue$1$allowEmpty: function(allowEmpty) { |
|
var t4, wroteNewline, next, t5, start, end, contents, _this = this, |
|
t1 = _this.scanner, |
|
t2 = t1._string_scanner$_position, |
|
t3 = new P.StringBuffer(""), |
|
buffer = new Z.InterpolationBuffer(t3, []), |
|
brackets = H.setRuntimeTypeInfo([], [P.int]); |
|
$label0$1: |
|
for (t4 = t1.string, wroteNewline = false; true;) { |
|
next = t1.peekChar$0(); |
|
switch (next) { |
|
case 92: |
|
t3._contents += H.S(_this.escape$1$identifierStart(true)); |
|
wroteNewline = false; |
|
break; |
|
case 34: |
|
case 39: |
|
buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0()); |
|
wroteNewline = false; |
|
break; |
|
case 47: |
|
if (t1.peekChar$1(1) === 42) { |
|
t5 = _this.get$loudComment(); |
|
start = t1._string_scanner$_position; |
|
t5.call$0(); |
|
end = t1._string_scanner$_position; |
|
t3._contents += J.substring$2$s(t4, start, end); |
|
} else |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
wroteNewline = false; |
|
break; |
|
case 35: |
|
if (t1.peekChar$1(1) === 123) |
|
buffer.addInterpolation$1(_this.interpolatedIdentifier$0()); |
|
else |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
wroteNewline = false; |
|
break; |
|
case 32: |
|
case 9: |
|
if (!wroteNewline) { |
|
t5 = t1.peekChar$1(1); |
|
t5 = !(t5 === 32 || t5 === 9 || t5 === 10 || t5 === 13 || t5 === 12); |
|
} else |
|
t5 = true; |
|
if (t5) |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
else |
|
t1.readChar$0(); |
|
break; |
|
case 10: |
|
case 13: |
|
case 12: |
|
if (_this.get$indented()) |
|
break $label0$1; |
|
t5 = t1.peekChar$1(-1); |
|
if (!(t5 === 10 || t5 === 13 || t5 === 12)) |
|
t3._contents += "\n"; |
|
t1.readChar$0(); |
|
wroteNewline = true; |
|
break; |
|
case 40: |
|
case 123: |
|
case 91: |
|
t3._contents += H.Primitives_stringFromCharCode(next); |
|
brackets.push(T.opposite(t1.readChar$0())); |
|
wroteNewline = false; |
|
break; |
|
case 41: |
|
case 125: |
|
case 93: |
|
if (brackets.length === 0) |
|
break $label0$1; |
|
t3._contents += H.Primitives_stringFromCharCode(next); |
|
t1.expectChar$1(brackets.pop()); |
|
wroteNewline = false; |
|
break; |
|
case 59: |
|
if (brackets.length === 0) |
|
break $label0$1; |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
break; |
|
case 117: |
|
case 85: |
|
t5 = t1._string_scanner$_position; |
|
if (!_this.scanIdentifier$1("url")) { |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
wroteNewline = false; |
|
break; |
|
} |
|
contents = _this._tryUrlContents$1(new S._SpanScannerState(t1, t5)); |
|
if (contents == null) { |
|
if (t5 < 0 || t5 > t4.length) |
|
H.throwExpression(P.ArgumentError$("Invalid position " + t5)); |
|
t1._string_scanner$_position = t5; |
|
t1._lastMatch = null; |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
} else |
|
buffer.addInterpolation$1(contents); |
|
wroteNewline = false; |
|
break; |
|
default: |
|
if (next == null) |
|
break $label0$1; |
|
if (_this.lookingAtIdentifier$0()) |
|
t3._contents += _this.identifier$0(); |
|
else |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
wroteNewline = false; |
|
break; |
|
} |
|
} |
|
if (brackets.length !== 0) |
|
t1.expectChar$1(C.JSArray_methods.get$last(brackets)); |
|
if (!allowEmpty && buffer._interpolation_buffer$_contents.length === 0 && t3._contents.length === 0) |
|
t1.error$1("Expected token."); |
|
return new D.StringExpression(buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2))), false); |
|
}, |
|
_interpolatedDeclarationValue$0: function() { |
|
return this._interpolatedDeclarationValue$1$allowEmpty(false); |
|
}, |
|
interpolatedIdentifier$0: function() { |
|
var first, _this = this, |
|
_s20_ = "Expected identifier.", |
|
t1 = _this.scanner, |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position), |
|
t2 = new P.StringBuffer(""), |
|
t3 = [], |
|
buffer = new Z.InterpolationBuffer(t2, t3); |
|
if (t1.scanChar$1(45)) { |
|
t2._contents += H.Primitives_stringFromCharCode(45); |
|
if (t1.scanChar$1(45)) { |
|
t2._contents += H.Primitives_stringFromCharCode(45); |
|
_this._interpolatedIdentifierBody$1(buffer); |
|
return buffer.interpolation$1(t1.spanFrom$1(start)); |
|
} |
|
} |
|
first = t1.peekChar$0(); |
|
if (first == null) |
|
t1.error$1(_s20_); |
|
else if (first === 95 || T.isAlphabetic0(first) || first >= 128) |
|
t2._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
else if (first === 92) |
|
t2._contents += H.S(_this.escape$1$identifierStart(true)); |
|
else if (first === 35 && t1.peekChar$1(1) === 123) { |
|
t2 = _this.singleInterpolation$0(); |
|
buffer._flushText$0(); |
|
t3.push(t2); |
|
} else |
|
t1.error$1(_s20_); |
|
_this._interpolatedIdentifierBody$1(buffer); |
|
return buffer.interpolation$1(t1.spanFrom$1(start)); |
|
}, |
|
_interpolatedIdentifierBody$1: function(buffer) { |
|
var t1, t2, t3, next, t4; |
|
for (t1 = buffer._interpolation_buffer$_contents, t2 = this.scanner, t3 = buffer._interpolation_buffer$_text; true;) { |
|
next = t2.peekChar$0(); |
|
if (next == null) |
|
break; |
|
else { |
|
if (next !== 95) |
|
if (next !== 45) { |
|
if (!(next >= 97 && next <= 122)) |
|
t4 = next >= 65 && next <= 90; |
|
else |
|
t4 = true; |
|
if (!t4) |
|
t4 = next >= 48 && next <= 57; |
|
else |
|
t4 = true; |
|
t4 = t4 || next >= 128; |
|
} else |
|
t4 = true; |
|
else |
|
t4 = true; |
|
if (t4) |
|
t3._contents += H.Primitives_stringFromCharCode(t2.readChar$0()); |
|
else if (next === 92) |
|
t3._contents += H.S(this.escape$0()); |
|
else if (next === 35 && t2.peekChar$1(1) === 123) { |
|
t4 = this.singleInterpolation$0(); |
|
buffer._flushText$0(); |
|
t1.push(t4); |
|
} else |
|
break; |
|
} |
|
} |
|
}, |
|
singleInterpolation$0: function() { |
|
var contents, _this = this, |
|
t1 = _this.scanner, |
|
t2 = t1._string_scanner$_position; |
|
t1.expect$1("#{"); |
|
_this.whitespace$0(); |
|
contents = _this.expression$0(); |
|
t1.expectChar$1(125); |
|
if (_this.get$plainCss()) |
|
_this.error$2("Interpolation isn't allowed in plain CSS.", t1.spanFrom$1(new S._SpanScannerState(t1, t2))); |
|
return contents; |
|
}, |
|
_mediaQueryList$0: function() { |
|
var t1 = this.scanner, |
|
t2 = t1._string_scanner$_position, |
|
t3 = new P.StringBuffer(""), |
|
buffer = new Z.InterpolationBuffer(t3, []); |
|
for (; true;) { |
|
this.whitespace$0(); |
|
this._stylesheet$_mediaQuery$1(buffer); |
|
if (!t1.scanChar$1(44)) |
|
break; |
|
t3._contents += H.Primitives_stringFromCharCode(44); |
|
t3._contents += H.Primitives_stringFromCharCode(32); |
|
} |
|
return buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2))); |
|
}, |
|
_stylesheet$_mediaQuery$1: function(buffer) { |
|
var t1, identifier, _this = this; |
|
if (_this.scanner.peekChar$0() !== 40) { |
|
buffer.addInterpolation$1(_this.interpolatedIdentifier$0()); |
|
_this.whitespace$0(); |
|
if (!_this._lookingAtInterpolatedIdentifier$0()) |
|
return; |
|
t1 = buffer._interpolation_buffer$_text; |
|
t1._contents += H.Primitives_stringFromCharCode(32); |
|
identifier = _this.interpolatedIdentifier$0(); |
|
_this.whitespace$0(); |
|
if (B.equalsIgnoreCase(identifier.get$asPlain(), "and")) |
|
t1._contents += " and "; |
|
else { |
|
buffer.addInterpolation$1(identifier); |
|
if (_this.scanIdentifier$1("and")) { |
|
_this.whitespace$0(); |
|
t1._contents += " and "; |
|
} else |
|
return; |
|
} |
|
} |
|
for (t1 = buffer._interpolation_buffer$_text; true;) { |
|
_this.whitespace$0(); |
|
buffer.addInterpolation$1(_this._mediaFeature$0()); |
|
_this.whitespace$0(); |
|
if (!_this.scanIdentifier$1("and")) |
|
break; |
|
t1._contents += " and "; |
|
} |
|
}, |
|
_mediaFeature$0: function() { |
|
var interpolation, t2, t3, t4, buffer, t5, next, isAngle, _this = this, |
|
t1 = _this.scanner; |
|
if (t1.peekChar$0() === 35) { |
|
interpolation = _this.singleInterpolation$0(); |
|
return X.Interpolation$(H.setRuntimeTypeInfo([interpolation], [P.Object]), interpolation.get$span()); |
|
} |
|
t2 = t1._string_scanner$_position; |
|
t3 = new P.StringBuffer(""); |
|
t4 = []; |
|
buffer = new Z.InterpolationBuffer(t3, t4); |
|
t1.expectChar$1(40); |
|
t3._contents += H.Primitives_stringFromCharCode(40); |
|
_this.whitespace$0(); |
|
t5 = _this._expressionUntilComparison$0(); |
|
buffer._flushText$0(); |
|
t4.push(t5); |
|
if (t1.scanChar$1(58)) { |
|
_this.whitespace$0(); |
|
t3._contents += H.Primitives_stringFromCharCode(58); |
|
t3._contents += H.Primitives_stringFromCharCode(32); |
|
t5 = _this.expression$0(); |
|
buffer._flushText$0(); |
|
t4.push(t5); |
|
} else { |
|
next = t1.peekChar$0(); |
|
isAngle = next === 60 || next === 62; |
|
if (isAngle || next === 61) { |
|
t3._contents += H.Primitives_stringFromCharCode(32); |
|
t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0()); |
|
if (isAngle && t1.scanChar$1(61)) |
|
t3._contents += H.Primitives_stringFromCharCode(61); |
|
t3._contents += H.Primitives_stringFromCharCode(32); |
|
_this.whitespace$0(); |
|
t5 = _this._expressionUntilComparison$0(); |
|
buffer._flushText$0(); |
|
t4.push(t5); |
|
if (isAngle && t1.scanChar$1(next)) { |
|
t3._contents += H.Primitives_stringFromCharCode(32); |
|
t3._contents += H.Primitives_stringFromCharCode(next); |
|
if (t1.scanChar$1(61)) |
|
t3._contents += H.Primitives_stringFromCharCode(61); |
|
t3._contents += H.Primitives_stringFromCharCode(32); |
|
_this.whitespace$0(); |
|
t5 = _this._expressionUntilComparison$0(); |
|
buffer._flushText$0(); |
|
t4.push(t5); |
|
} |
|
} |
|
} |
|
t1.expectChar$1(41); |
|
_this.whitespace$0(); |
|
t3._contents += H.Primitives_stringFromCharCode(41); |
|
return buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2))); |
|
}, |
|
_expressionUntilComparison$0: function() { |
|
return this.expression$1$until(new V.StylesheetParser__expressionUntilComparison_closure(this)); |
|
}, |
|
_supportsCondition$0: function() { |
|
var condition, operator, right, endPosition, lowerOperator, _this = this, |
|
t1 = _this.scanner, |
|
t2 = t1._string_scanner$_position, |
|
first = t1.peekChar$0(); |
|
if (first !== 40 && first !== 35) { |
|
t2 = t1._string_scanner$_position; |
|
_this.expectIdentifier$1("not"); |
|
_this.whitespace$0(); |
|
return new M.SupportsNegation(_this._supportsConditionInParens$0(), t1.spanFrom$1(new S._SpanScannerState(t1, t2))); |
|
} |
|
condition = _this._supportsConditionInParens$0(); |
|
_this.whitespace$0(); |
|
for (; _this.lookingAtIdentifier$0();) { |
|
if (_this.scanIdentifier$1("or")) |
|
operator = "or"; |
|
else { |
|
_this.expectIdentifier$1("and"); |
|
operator = "and"; |
|
} |
|
_this.whitespace$0(); |
|
right = _this._supportsConditionInParens$0(); |
|
endPosition = t1._string_scanner$_position; |
|
condition = new U.SupportsOperation(condition, right, operator, Y._FileSpan$(t1._sourceFile, t2, endPosition)); |
|
lowerOperator = operator.toLowerCase(); |
|
if (lowerOperator !== "and" && lowerOperator !== "or") |
|
H.throwExpression(P.ArgumentError$value(operator, "operator", 'may only be "and" or "or".')); |
|
_this.whitespace$0(); |
|
} |
|
return condition; |
|
}, |
|
_supportsConditionInParens$0: function() { |
|
var next, condition, negation, $name, value, _this = this, |
|
t1 = _this.scanner, |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
if (t1.peekChar$0() === 35) |
|
return new X.SupportsInterpolation(_this.singleInterpolation$0(), t1.spanFrom$1(start)); |
|
t1.expectChar$1(40); |
|
_this.whitespace$0(); |
|
next = t1.peekChar$0(); |
|
if (next === 40 || next === 35) { |
|
condition = _this._supportsCondition$0(); |
|
_this.whitespace$0(); |
|
t1.expectChar$1(41); |
|
return condition; |
|
} |
|
if (next === 110 || next === 78) { |
|
negation = _this._trySupportsNegation$0(); |
|
if (negation != null) { |
|
t1.expectChar$1(41); |
|
return negation; |
|
} |
|
} |
|
$name = _this.expression$0(); |
|
t1.expectChar$1(58); |
|
_this.whitespace$0(); |
|
value = _this.expression$0(); |
|
t1.expectChar$1(41); |
|
return new L.SupportsDeclaration($name, value, t1.spanFrom$1(start)); |
|
}, |
|
_trySupportsNegation$0: function() { |
|
var next, _this = this, |
|
t1 = _this.scanner, |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position); |
|
if (!_this.scanIdentifier$1("not") || t1._string_scanner$_position === t1.string.length) { |
|
t1.set$state(start); |
|
return; |
|
} |
|
next = t1.peekChar$0(); |
|
if (!(next === 32 || next === 9 || T.isNewline(next)) && next !== 40) { |
|
t1.set$state(start); |
|
return; |
|
} |
|
_this.whitespace$0(); |
|
return new M.SupportsNegation(_this._supportsConditionInParens$0(), t1.spanFrom$1(start)); |
|
}, |
|
_lookingAtInterpolatedIdentifier$0: function() { |
|
var second, |
|
t1 = this.scanner, |
|
first = t1.peekChar$0(); |
|
if (first == null) |
|
return false; |
|
if (first === 95 || T.isAlphabetic0(first) || first >= 128 || first === 92) |
|
return true; |
|
if (first === 35) |
|
return t1.peekChar$1(1) === 123; |
|
if (first !== 45) |
|
return false; |
|
second = t1.peekChar$1(1); |
|
if (second == null) |
|
return false; |
|
if (second === 35) |
|
return t1.peekChar$1(2) === 123; |
|
return second === 95 || T.isAlphabetic0(second) || second >= 128 || second === 92 || second === 45; |
|
}, |
|
_lookingAtInterpolatedIdentifierBody$0: function() { |
|
var t1 = this.scanner, |
|
first = t1.peekChar$0(); |
|
if (first == null) |
|
return false; |
|
if (first === 95 || T.isAlphabetic0(first) || first >= 128 || T.isDigit(first) || first === 45 || first === 92) |
|
return true; |
|
return first === 35 && t1.peekChar$1(1) === 123; |
|
}, |
|
_lookingAtExpression$0: function() { |
|
var next, |
|
t1 = this.scanner, |
|
character = t1.peekChar$0(); |
|
if (character == null) |
|
return false; |
|
if (character === 46) |
|
return t1.peekChar$1(1) !== 46; |
|
if (character === 33) { |
|
next = t1.peekChar$1(1); |
|
if (next != null) |
|
if ((next | 32) !== 105) |
|
t1 = next === 32 || next === 9 || T.isNewline(next); |
|
else |
|
t1 = true; |
|
else |
|
t1 = true; |
|
return t1; |
|
} |
|
if (character !== 40) |
|
if (character !== 47) |
|
if (character !== 91) |
|
if (character !== 39) |
|
if (character !== 34) |
|
if (character !== 35) |
|
if (character !== 43) |
|
if (character !== 45) |
|
if (character !== 92) |
|
if (character !== 36) |
|
if (character !== 38) |
|
t1 = character === 95 || T.isAlphabetic0(character) || character >= 128 || T.isDigit(character); |
|
else |
|
t1 = true; |
|
else |
|
t1 = true; |
|
else |
|
t1 = true; |
|
else |
|
t1 = true; |
|
else |
|
t1 = true; |
|
else |
|
t1 = true; |
|
else |
|
t1 = true; |
|
else |
|
t1 = true; |
|
else |
|
t1 = true; |
|
else |
|
t1 = true; |
|
else |
|
t1 = true; |
|
return t1; |
|
}, |
|
_withChildren$1$3: function(child, start, create) { |
|
var result = create.call$2(this.children$1(child), this.scanner.spanFrom$1(start)); |
|
this.whitespaceWithoutComments$0(); |
|
return result; |
|
}, |
|
_withChildren$3: function(child, start, create) { |
|
return this._withChildren$1$3(child, start, create, null); |
|
}, |
|
_urlString$0: function() { |
|
var innerError, t2, exception, |
|
t1 = this.scanner, |
|
start = new S._SpanScannerState(t1, t1._string_scanner$_position), |
|
url = this.string$0(); |
|
try { |
|
t2 = P.Uri_parse(url); |
|
return t2; |
|
} catch (exception) { |
|
t2 = H.unwrapException(exception); |
|
if (!!J.getInterceptor$(t2).$isFormatException) { |
|
innerError = t2; |
|
this.error$2("Invalid URL: " + H.S(J.get$message$x(innerError)), t1.spanFrom$1(start)); |
|
} else |
|
throw exception; |
|
} |
|
}, |
|
_publicIdentifier$0: function() { |
|
var _this = this, |
|
t1 = _this.scanner, |
|
t2 = t1._string_scanner$_position, |
|
result = _this.identifier$1$normalize(true); |
|
_this._assertPublic$2(result, new V.StylesheetParser__publicIdentifier_closure(_this, new S._SpanScannerState(t1, t2))); |
|
return result; |
|
}, |
|
_assertPublic$2: function(identifier, span) { |
|
if (!T.isPrivate(identifier)) |
|
return; |
|
this.error$2("Private members can't be accessed from outside their modules.", span.call$0()); |
|
}, |
|
get$plainCss: function() { |
|
return false; |
|
} |
|
}; |
|
V.StylesheetParser_parse_closure.prototype = { |
|
call$0: function() { |
|
var statements, t4, |
|
t1 = this.$this, |
|
t2 = t1.scanner, |
|
t3 = t2._string_scanner$_position; |
|
t2.scanChar$1(65279); |
|
statements = t1.statements$1(new V.StylesheetParser_parse__closure(t1)); |
|
t2.expectDone$0(); |
|
t4 = t1._globalVariables.get$values(); |
|
C.JSArray_methods.addAll$1(statements, H.MappedIterable_MappedIterable(t4, new V.StylesheetParser_parse__closure0(), H.getRuntimeTypeArgument(t4, "Iterable", 0), O.Statement)); |
|
return V.Stylesheet$(statements, t2.spanFrom$1(new S._SpanScannerState(t2, t3)), t1.get$plainCss()); |
|
} |
|
}; |
|
V.StylesheetParser_parse__closure.prototype = { |
|
call$0: function() { |
|
return this.$this._statement$1$root(true); |
|
} |
|
}; |
|
V.StylesheetParser_parse__closure0.prototype = { |
|
call$1: function(declaration) { |
|
return Z.VariableDeclaration$(declaration.name, new O.NullExpression(declaration.expression.get$span()), declaration.span, null, false, true, null); |
|
} |
|
}; |
|
V.StylesheetParser_parseArgumentDeclaration_closure.prototype = { |
|
call$0: function() { |
|
var $arguments, |
|
t1 = this.$this, |
|
t2 = t1.scanner; |
|
t2.expectChar$2$name(64, "@-rule"); |
|
t1.identifier$0(); |
|
t1.whitespace$0(); |
|
t1.identifier$0(); |
|
$arguments = t1._argumentDeclaration$0(); |
|
t1.whitespace$0(); |
|
t2.expectChar$1(123); |
|
return $arguments; |
|
} |
|
}; |
|
V.StylesheetParser_parseVariableDeclaration_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this; |
|
return t1.lookingAtIdentifier$0() ? t1._variableDeclarationWithNamespace$0() : t1.variableDeclarationWithoutNamespace$0(); |
|
} |
|
}; |
|
V.StylesheetParser_parseUseRule_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
t2 = t1.scanner, |
|
t3 = t2._string_scanner$_position; |
|
t2.expectChar$2$name(64, "@-rule"); |
|
t1.expectIdentifier$1("use"); |
|
t1.whitespace$0(); |
|
return t1._useRule$1(new S._SpanScannerState(t2, t3)); |
|
} |
|
}; |
|
V.StylesheetParser__parseSingleProduction_closure.prototype = { |
|
call$0: function() { |
|
var result = this.production.call$0(); |
|
this.$this.scanner.expectDone$0(); |
|
return result; |
|
} |
|
}; |
|
V.StylesheetParser_parseSignature_closure.prototype = { |
|
call$0: function() { |
|
var t2, $arguments, t3, |
|
t1 = this.$this, |
|
$name = t1.identifier$0(); |
|
t1.whitespace$0(); |
|
t2 = t1.scanner; |
|
if (t2.peekChar$0() === 40) |
|
$arguments = t1._argumentDeclaration$0(); |
|
else { |
|
t1 = Y.FileLocation$_(t2._sourceFile, t2._string_scanner$_position); |
|
t3 = t1.offset; |
|
$arguments = new B.ArgumentDeclaration(C.List_empty9, null, Y._FileSpan$(t1.file, t3, t3)); |
|
} |
|
t2.expectDone$0(); |
|
return new S.Tuple2($name, $arguments, [P.String, B.ArgumentDeclaration]); |
|
} |
|
}; |
|
V.StylesheetParser__statement_closure.prototype = { |
|
call$0: function() { |
|
return this.$this._statement$0(); |
|
} |
|
}; |
|
V.StylesheetParser_variableDeclarationWithoutNamespace_closure.prototype = { |
|
call$0: function() { |
|
return this.$this.scanner.spanFrom$1(this._box_0.start); |
|
} |
|
}; |
|
V.StylesheetParser_variableDeclarationWithoutNamespace_closure0.prototype = { |
|
call$0: function() { |
|
return this.declaration; |
|
} |
|
}; |
|
V.StylesheetParser__declarationOrBuffer_closure.prototype = { |
|
call$2: function(children, span) { |
|
return L.Declaration$(this.name, span, children, null); |
|
} |
|
}; |
|
V.StylesheetParser__declarationOrBuffer_closure0.prototype = { |
|
call$2: function(children, span) { |
|
return L.Declaration$(this.name, span, children, this._box_0.value); |
|
} |
|
}; |
|
V.StylesheetParser__styleRule_closure.prototype = { |
|
call$2: function(children, span) { |
|
var t2, t3, t4, _this = this, |
|
t1 = _this.$this; |
|
if (t1.get$indented() && children.length === 0) |
|
t1.logger.warn$2$span("This selector doesn't have any properties and won't be rendered.", _this._box_0.interpolation.span); |
|
t1._inStyleRule = _this.wasInStyleRule; |
|
t2 = _this._box_0; |
|
t3 = t2.interpolation; |
|
t2 = t1.scanner.spanFrom$1(t2.start); |
|
t1 = P.List_List$unmodifiable(children, O.Statement); |
|
t4 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure()); |
|
return new X.StyleRule(t3, t2, t1, t4); |
|
} |
|
}; |
|
V.StylesheetParser__propertyOrVariableDeclaration_closure.prototype = { |
|
call$2: function(children, span) { |
|
return L.Declaration$(this._box_0.name, span, children, null); |
|
} |
|
}; |
|
V.StylesheetParser__propertyOrVariableDeclaration_closure0.prototype = { |
|
call$2: function(children, span) { |
|
return L.Declaration$(this._box_0.name, span, children, this.value); |
|
} |
|
}; |
|
V.StylesheetParser__atRootRule_closure.prototype = { |
|
call$2: function(children, span) { |
|
var t1 = P.List_List$unmodifiable(children, O.Statement), |
|
t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure()); |
|
return new V.AtRootRule(this.query, span, t1, t2); |
|
} |
|
}; |
|
V.StylesheetParser__atRootRule_closure0.prototype = { |
|
call$2: function(children, span) { |
|
var t1 = P.List_List$unmodifiable(children, O.Statement), |
|
t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure()); |
|
return new V.AtRootRule(null, span, t1, t2); |
|
} |
|
}; |
|
V.StylesheetParser__eachRule_closure.prototype = { |
|
call$2: function(children, span) { |
|
var t1, t2, t3, _this = this; |
|
_this.$this._inControlDirective = _this.wasInControlDirective; |
|
t1 = P.List_List$unmodifiable(_this.variables, P.String); |
|
t2 = P.List_List$unmodifiable(children, O.Statement); |
|
t3 = C.JSArray_methods.any$1(t2, new M.ParentStatement_closure()); |
|
return new V.EachRule(t1, _this.list, span, t2, t3); |
|
} |
|
}; |
|
V.StylesheetParser__functionRule_closure.prototype = { |
|
call$2: function(children, span) { |
|
var t1 = P.List_List$unmodifiable(children, O.Statement), |
|
t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure()); |
|
return new M.FunctionRule(this.name, this.$arguments, span, t1, t2); |
|
} |
|
}; |
|
V.StylesheetParser__forRule_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this; |
|
if (!t1.lookingAtIdentifier$0()) |
|
return false; |
|
if (t1.scanIdentifier$1("to")) |
|
return this._box_0.exclusive = true; |
|
else if (t1.scanIdentifier$1("through")) { |
|
this._box_0.exclusive = false; |
|
return true; |
|
} else |
|
return false; |
|
} |
|
}; |
|
V.StylesheetParser__forRule_closure0.prototype = { |
|
call$2: function(children, span) { |
|
var t1, t2, t3, _this = this; |
|
_this.$this._inControlDirective = _this.wasInControlDirective; |
|
t1 = _this._box_0.exclusive; |
|
t2 = P.List_List$unmodifiable(children, O.Statement); |
|
t3 = C.JSArray_methods.any$1(t2, new M.ParentStatement_closure()); |
|
return new B.ForRule(_this.variable, _this.from, _this.to, t1, span, t2, t3); |
|
} |
|
}; |
|
V.StylesheetParser__memberList_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this; |
|
if (t1.scanner.peekChar$0() === 36) |
|
this.variables.add$1(0, t1.variableName$0()); |
|
else |
|
this.identifiers.add$1(0, t1.identifier$1$normalize(true)); |
|
} |
|
}; |
|
V.StylesheetParser__includeRule_closure.prototype = { |
|
call$2: function(children, span) { |
|
var t1 = this._box_0.contentArguments, |
|
t2 = P.List_List$unmodifiable(children, O.Statement), |
|
t3 = C.JSArray_methods.any$1(t2, new M.ParentStatement_closure()); |
|
return new Y.ContentBlock(null, t1, span, t2, t3); |
|
} |
|
}; |
|
V.StylesheetParser_mediaRule_closure.prototype = { |
|
call$2: function(children, span) { |
|
var t1 = P.List_List$unmodifiable(children, O.Statement), |
|
t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure()); |
|
return new G.MediaRule(this.query, span, t1, t2); |
|
} |
|
}; |
|
V.StylesheetParser__mixinRule_closure.prototype = { |
|
call$2: function(children, span) { |
|
var t2, |
|
t1 = this.$this, |
|
hadContent = t1._mixinHasContent; |
|
t1._stylesheet$_inMixin = false; |
|
t1._mixinHasContent = null; |
|
t1 = P.List_List$unmodifiable(children, O.Statement); |
|
t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure()); |
|
return new T.MixinRule(hadContent, this.name, this.$arguments, span, t1, t2); |
|
} |
|
}; |
|
V.StylesheetParser_mozDocumentRule_closure.prototype = { |
|
call$2: function(children, span) { |
|
var _this = this; |
|
if (_this._box_0.needsDeprecationWarning) |
|
_this.$this.logger.warn$3$deprecation$span("@-moz-document is deprecated and support will be removed from Sass in a future\nrelase. For details, see http://bit.ly/moz-document.\n", true, span); |
|
return U.AtRule$(_this.name, span, children, _this.value); |
|
} |
|
}; |
|
V.StylesheetParser_supportsRule_closure.prototype = { |
|
call$2: function(children, span) { |
|
var t1 = P.List_List$unmodifiable(children, O.Statement), |
|
t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure()); |
|
return new B.SupportsRule(this.condition, span, t1, t2); |
|
} |
|
}; |
|
V.StylesheetParser__whileRule_closure.prototype = { |
|
call$2: function(children, span) { |
|
var t1, t2; |
|
this.$this._inControlDirective = this.wasInControlDirective; |
|
t1 = P.List_List$unmodifiable(children, O.Statement); |
|
t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure()); |
|
return new G.WhileRule(this.condition, span, t1, t2); |
|
} |
|
}; |
|
V.StylesheetParser_unknownAtRule_closure.prototype = { |
|
call$2: function(children, span) { |
|
return U.AtRule$(this.name, span, children, this._box_0.value); |
|
} |
|
}; |
|
V.StylesheetParser_expression_resetState.prototype = { |
|
call$0: function() { |
|
var t2, |
|
t1 = this._box_0; |
|
t1.operands = t1.operators = t1.spaceExpressions = t1.commaExpressions = null; |
|
t2 = this.$this; |
|
t2.scanner.set$state(this.start); |
|
t1.allowSlash = t2.lookingAtNumber$0(); |
|
t1.singleExpression = t2._singleExpression$0(); |
|
} |
|
}; |
|
V.StylesheetParser_expression_resolveOneOperation.prototype = { |
|
call$0: function() { |
|
var t2, t3, |
|
t1 = this._box_0, |
|
operator = t1.operators.pop(); |
|
if (operator !== C.BinaryOperator_RTB) |
|
t1.allowSlash = false; |
|
t2 = t1.allowSlash && !this.$this._inParentheses; |
|
t3 = t1.operands; |
|
if (t2) |
|
t1.singleExpression = new V.BinaryOperationExpression(C.BinaryOperator_RTB, t3.pop(), t1.singleExpression, true); |
|
else |
|
t1.singleExpression = new V.BinaryOperationExpression(operator, t3.pop(), t1.singleExpression, false); |
|
} |
|
}; |
|
V.StylesheetParser_expression_resolveOperations.prototype = { |
|
call$0: function() { |
|
var t2, |
|
t1 = this._box_0; |
|
if (t1.operators == null) |
|
return; |
|
for (t2 = this.resolveOneOperation; t1.operators.length !== 0;) |
|
t2.call$0(); |
|
} |
|
}; |
|
V.StylesheetParser_expression_addSingleExpression.prototype = { |
|
call$2$number: function(expression, number) { |
|
var t2, _this = this, |
|
t1 = _this._box_0; |
|
if (t1.singleExpression != null) { |
|
t2 = _this.$this; |
|
if (t2._inParentheses) { |
|
t2._inParentheses = false; |
|
if (t1.allowSlash) { |
|
_this.resetState.call$0(); |
|
return; |
|
} |
|
} |
|
if (t1.spaceExpressions == null) |
|
t1.spaceExpressions = H.setRuntimeTypeInfo([], [T.Expression]); |
|
_this.resolveOperations.call$0(); |
|
t1.spaceExpressions.push(t1.singleExpression); |
|
t1.allowSlash = number; |
|
} else if (!number) |
|
t1.allowSlash = false; |
|
t1.singleExpression = expression; |
|
}, |
|
call$1: function(expression) { |
|
return this.call$2$number(expression, false); |
|
} |
|
}; |
|
V.StylesheetParser_expression_addOperator.prototype = { |
|
call$1: function(operator) { |
|
var t2, t3, t4, t5, singleExpression, |
|
t1 = this.$this; |
|
if (t1.get$plainCss() && operator !== C.BinaryOperator_RTB) { |
|
t2 = t1.scanner; |
|
t3 = operator.operator.length; |
|
t2.error$3$length$position("Operators aren't allowed in plain CSS.", t3, t2._string_scanner$_position - t3); |
|
} |
|
t2 = this._box_0; |
|
t2.allowSlash = t2.allowSlash && operator === C.BinaryOperator_RTB; |
|
if (t2.operators == null) |
|
t2.operators = H.setRuntimeTypeInfo([], [V.BinaryOperator]); |
|
if (t2.operands == null) |
|
t2.operands = H.setRuntimeTypeInfo([], [T.Expression]); |
|
t3 = this.resolveOneOperation; |
|
t4 = operator.precedence; |
|
while (true) { |
|
t5 = t2.operators; |
|
if (!(t5.length !== 0 && (t5 && C.JSArray_methods).get$last(t5).precedence >= t4)) |
|
break; |
|
t3.call$0(); |
|
} |
|
t2.operators.push(operator); |
|
t2.operands.push(t2.singleExpression); |
|
t1.whitespace$0(); |
|
t2.allowSlash = t2.allowSlash && t1.lookingAtNumber$0(); |
|
singleExpression = t1._singleExpression$0(); |
|
t2.singleExpression = singleExpression; |
|
t2.allowSlash = t2.allowSlash && singleExpression instanceof T.NumberExpression; |
|
} |
|
}; |
|
V.StylesheetParser_expression_resolveSpaceExpressions.prototype = { |
|
call$0: function() { |
|
var t1, t2, t3; |
|
this.resolveOperations.call$0(); |
|
t1 = this._box_0; |
|
t2 = t1.spaceExpressions; |
|
if (t2 != null) { |
|
t2.push(t1.singleExpression); |
|
t2 = P.List_List$unmodifiable(t1.spaceExpressions, T.Expression); |
|
t3 = B.spanForList(t2); |
|
t1.singleExpression = new D.ListExpression(t2, C.ListSeparator_space, false, t3); |
|
t1.spaceExpressions = null; |
|
} |
|
t2 = t1.singleEqualsOperand; |
|
if (t2 != null) { |
|
t1.singleExpression = new V.BinaryOperationExpression(C.BinaryOperator_kjl, t2, t1.singleExpression, false); |
|
t1.singleEqualsOperand = null; |
|
} |
|
} |
|
}; |
|
V.StylesheetParser__expressionUntilComma_closure.prototype = { |
|
call$0: function() { |
|
return this.$this.scanner.peekChar$0() === 44; |
|
} |
|
}; |
|
V.StylesheetParser__unicodeRange_closure.prototype = { |
|
call$1: function(char) { |
|
return char != null && T.isHex(char); |
|
}, |
|
$signature: 11 |
|
}; |
|
V.StylesheetParser__unicodeRange_closure0.prototype = { |
|
call$1: function(char) { |
|
return char != null && T.isHex(char); |
|
}, |
|
$signature: 11 |
|
}; |
|
V.StylesheetParser_identifierLike_closure.prototype = { |
|
call$0: function() { |
|
return this.$this.scanner.spanFrom$1(this.start); |
|
} |
|
}; |
|
V.StylesheetParser__expressionUntilComparison_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this.scanner, |
|
next = t1.peekChar$0(); |
|
if (next === 61) |
|
return t1.peekChar$1(1) !== 61; |
|
return next === 60 || next === 62; |
|
} |
|
}; |
|
V.StylesheetParser__publicIdentifier_closure.prototype = { |
|
call$0: function() { |
|
return this.$this.scanner.spanFrom$1(this.start); |
|
} |
|
}; |
|
M.StylesheetGraph.prototype = { |
|
modifiedSince$3: function(url, since, baseImporter) { |
|
var node = this._stylesheet_graph$_add$3(url, baseImporter, null); |
|
if (node == null) |
|
return true; |
|
return new M.StylesheetGraph_modifiedSince_transitiveModificationTime(this).call$1(node)._value > since._value; |
|
}, |
|
_stylesheet_graph$_add$3: function(url, baseImporter, baseUrl) { |
|
var tuple = this._ignoreErrors$1(new M.StylesheetGraph__add_closure(this, url, baseImporter, baseUrl)); |
|
if (tuple == null) |
|
return; |
|
return this.addCanonical$3(tuple.item1, tuple.item2, tuple.item3); |
|
}, |
|
addCanonical$3: function(importer, canonicalUrl, originalUrl) { |
|
var _this = this, |
|
stylesheet = _this._ignoreErrors$1(new M.StylesheetGraph_addCanonical_closure(_this, importer, canonicalUrl, originalUrl)); |
|
if (stylesheet == null) |
|
return; |
|
return _this._nodes.putIfAbsent$2(canonicalUrl, new M.StylesheetGraph_addCanonical_closure0(_this, stylesheet, importer, canonicalUrl)); |
|
}, |
|
_upstreamNodes$3: function(stylesheet, baseImporter, baseUrl) { |
|
var t4, t5, t6, t7, t8, |
|
t1 = P.Uri, |
|
active = P.LinkedHashSet_LinkedHashSet$_literal([baseUrl], t1), |
|
t2 = [t1], |
|
t3 = H.setRuntimeTypeInfo([], t2); |
|
t2 = H.setRuntimeTypeInfo([], t2); |
|
new F._FindDependenciesVisitor(t3, t2).visitChildren$1(stylesheet); |
|
t4 = [P.List, P.Uri]; |
|
t5 = M.StylesheetNode; |
|
t6 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t5); |
|
for (t7 = C.JSArray_methods.get$iterator(t3); t7.moveNext$0();) { |
|
t8 = t7.get$current(t7); |
|
t6.$indexSet(0, t8, this._nodeFor$4(t8, baseImporter, baseUrl, active)); |
|
} |
|
t1 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t5); |
|
for (t2 = J.get$iterator$ax(new S.Tuple2(t3, t2, [t4, t4]).item2); t2.moveNext$0();) { |
|
t3 = t2.get$current(t2); |
|
t1.$indexSet(0, t3, this._nodeFor$5$forImport(t3, baseImporter, baseUrl, active, true)); |
|
} |
|
t2 = [P.Map, P.Uri, M.StylesheetNode]; |
|
return new S.Tuple2(t6, t1, [t2, t2]); |
|
}, |
|
reload$1: function(canonicalUrl) { |
|
var stylesheet, _this = this, |
|
node = _this._nodes.$index(0, canonicalUrl); |
|
if (node == null) |
|
throw H.wrapException(P.StateError$(H.S(canonicalUrl) + " is not in the dependency graph.")); |
|
_this._transitiveModificationTimes.clear$0(0); |
|
_this.importCache.clearImport$1(canonicalUrl); |
|
stylesheet = _this._ignoreErrors$1(new M.StylesheetGraph_reload_closure(_this, node, canonicalUrl)); |
|
if (stylesheet == null) { |
|
_this.remove$1(0, canonicalUrl); |
|
return; |
|
} |
|
node._replaceUpstream$1(_this._upstreamNodes$3(stylesheet, node.importer, canonicalUrl)); |
|
return node; |
|
}, |
|
remove$1: function(_, canonicalUrl) { |
|
var node = this._nodes.remove$1(0, canonicalUrl); |
|
if (node == null) |
|
throw H.wrapException(P.StateError$(H.S(canonicalUrl) + " is not in the dependency graph.")); |
|
this._transitiveModificationTimes.clear$0(0); |
|
this.importCache.clearImport$1(canonicalUrl); |
|
node._stylesheet_graph$_remove$0(); |
|
}, |
|
_nodeFor$5$forImport: function(url, baseImporter, baseUrl, active, forImport) { |
|
var importer, canonicalUrl, resolvedUrl, t1, stylesheet, node, _this = this, |
|
tuple = _this._ignoreErrors$1(new M.StylesheetGraph__nodeFor_closure(_this, url, baseImporter, baseUrl, forImport)); |
|
if (tuple == null) |
|
return; |
|
importer = tuple.item1; |
|
canonicalUrl = tuple.item2; |
|
resolvedUrl = tuple.item3; |
|
t1 = _this._nodes; |
|
if (t1.containsKey$1(canonicalUrl)) |
|
return t1.$index(0, canonicalUrl); |
|
if (active.contains$1(0, canonicalUrl)) |
|
return; |
|
stylesheet = _this._ignoreErrors$1(new M.StylesheetGraph__nodeFor_closure0(_this, importer, canonicalUrl, resolvedUrl)); |
|
if (stylesheet == null) |
|
return; |
|
active.add$1(0, canonicalUrl); |
|
node = M.StylesheetNode$_(stylesheet, importer, canonicalUrl, _this._upstreamNodes$3(stylesheet, importer, canonicalUrl)); |
|
active.remove$1(0, canonicalUrl); |
|
t1.$indexSet(0, canonicalUrl, node); |
|
return node; |
|
}, |
|
_nodeFor$4: function(url, baseImporter, baseUrl, active) { |
|
return this._nodeFor$5$forImport(url, baseImporter, baseUrl, active, false); |
|
}, |
|
_ignoreErrors$1$1: function(callback) { |
|
var t1, exception; |
|
try { |
|
t1 = callback.call$0(); |
|
return t1; |
|
} catch (exception) { |
|
H.unwrapException(exception); |
|
return; |
|
} |
|
}, |
|
_ignoreErrors$1: function(callback) { |
|
return this._ignoreErrors$1$1(callback, null); |
|
} |
|
}; |
|
M.StylesheetGraph_modifiedSince_transitiveModificationTime.prototype = { |
|
call$1: function(node) { |
|
return this.$this._transitiveModificationTimes.putIfAbsent$2(node.canonicalUrl, new M.StylesheetGraph_modifiedSince_transitiveModificationTime_closure(node, this)); |
|
} |
|
}; |
|
M.StylesheetGraph_modifiedSince_transitiveModificationTime_closure.prototype = { |
|
call$0: function() { |
|
var t2, t3, upstreamTime, |
|
t1 = this.node, |
|
latest = t1.importer.modificationTime$1(t1.canonicalUrl); |
|
for (t1 = t1._upstream.get$values().followedBy$1(0, t1._upstreamImports.get$values()), t1 = new H.FollowedByIterator(J.get$iterator$ax(t1.__internal$_first), t1._second), t2 = this.transitiveModificationTime; t1.moveNext$0();) { |
|
t3 = t1._currentIterator; |
|
t3 = t3.get$current(t3); |
|
upstreamTime = t3 == null ? new P.DateTime(Date.now(), false) : t2.call$1(t3); |
|
if (upstreamTime._value > latest._value) |
|
latest = upstreamTime; |
|
} |
|
return latest; |
|
} |
|
}; |
|
M.StylesheetGraph__add_closure.prototype = { |
|
call$0: function() { |
|
var _this = this; |
|
return _this.$this.importCache.canonicalize$3$baseImporter$baseUrl(_this.url, _this.baseImporter, _this.baseUrl); |
|
} |
|
}; |
|
M.StylesheetGraph_addCanonical_closure.prototype = { |
|
call$0: function() { |
|
var _this = this; |
|
return _this.$this.importCache.importCanonical$3(_this.importer, _this.canonicalUrl, _this.originalUrl); |
|
} |
|
}; |
|
M.StylesheetGraph_addCanonical_closure0.prototype = { |
|
call$0: function() { |
|
var _this = this, |
|
t1 = _this.stylesheet, |
|
t2 = _this.importer, |
|
t3 = _this.canonicalUrl; |
|
return M.StylesheetNode$_(t1, t2, t3, _this.$this._upstreamNodes$3(t1, t2, t3)); |
|
} |
|
}; |
|
M.StylesheetGraph_reload_closure.prototype = { |
|
call$0: function() { |
|
return this.$this.importCache.importCanonical$2(this.node.importer, this.canonicalUrl); |
|
} |
|
}; |
|
M.StylesheetGraph__nodeFor_closure.prototype = { |
|
call$0: function() { |
|
var _this = this; |
|
return _this.$this.importCache.canonicalize$4$baseImporter$baseUrl$forImport(_this.url, _this.baseImporter, _this.baseUrl, _this.forImport); |
|
} |
|
}; |
|
M.StylesheetGraph__nodeFor_closure0.prototype = { |
|
call$0: function() { |
|
var _this = this; |
|
return _this.$this.importCache.importCanonical$3(_this.importer, _this.canonicalUrl, _this.resolvedUrl); |
|
} |
|
}; |
|
M.StylesheetNode.prototype = { |
|
StylesheetNode$_$4: function(_stylesheet, importer, canonicalUrl, allUpstream) { |
|
var t1, t2; |
|
for (t1 = this._upstream.get$values().followedBy$1(0, this._upstreamImports.get$values()), t1 = new H.FollowedByIterator(J.get$iterator$ax(t1.__internal$_first), t1._second); t1.moveNext$0();) { |
|
t2 = t1._currentIterator; |
|
t2 = t2.get$current(t2); |
|
if (t2 != null) |
|
t2._downstream.add$1(0, this); |
|
} |
|
}, |
|
_replaceUpstream$1: function(allUpstream) { |
|
var t3, t4, t5, _this = this, |
|
t1 = M.StylesheetNode, |
|
t2 = P.LinkedHashSet_LinkedHashSet(t1); |
|
for (t3 = _this._upstream.get$values(), t3 = t3.get$iterator(t3); t3.moveNext$0();) |
|
t2.add$1(0, t3.get$current(t3)); |
|
for (t3 = _this._upstreamImports.get$values(), t3 = t3.get$iterator(t3); t3.moveNext$0();) |
|
t2.add$1(0, t3.get$current(t3)); |
|
t2.remove$1(0, null); |
|
t1 = P.LinkedHashSet_LinkedHashSet(t1); |
|
for (t3 = allUpstream.item1, t4 = t3.get$values(), t4 = t4.get$iterator(t4); t4.moveNext$0();) |
|
t1.add$1(0, t4.get$current(t4)); |
|
for (t4 = allUpstream.item2, t5 = t4.get$values(), t5 = t5.get$iterator(t5); t5.moveNext$0();) |
|
t1.add$1(0, t5.get$current(t5)); |
|
t1.remove$1(0, null); |
|
for (t5 = t2.difference$1(t1), t5 = P._LinkedHashSetIterator$(t5, t5._collection$_modifications); t5.moveNext$0();) |
|
t5._collection$_current._downstream.remove$1(0, _this); |
|
for (t1 = t1.difference$1(t2), t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications); t1.moveNext$0();) |
|
t1._collection$_current._downstream.add$1(0, _this); |
|
_this._upstream = t3; |
|
_this._upstreamImports = t4; |
|
}, |
|
_stylesheet_graph$_remove$0: function() { |
|
var t2, t3, t4, _i, url, _this = this, |
|
t1 = P.LinkedHashSet_LinkedHashSet(M.StylesheetNode); |
|
for (t2 = _this._upstream.get$values(), t2 = t2.get$iterator(t2); t2.moveNext$0();) |
|
t1.add$1(0, t2.get$current(t2)); |
|
for (t2 = _this._upstreamImports.get$values(), t2 = t2.get$iterator(t2); t2.moveNext$0();) |
|
t1.add$1(0, t2.get$current(t2)); |
|
t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications); |
|
for (; t1.moveNext$0();) { |
|
t2 = t1._collection$_current; |
|
if (t2 == null) |
|
continue; |
|
t2._downstream.remove$1(0, _this); |
|
} |
|
for (t1 = _this._downstream, t1 = t1.get$iterator(t1); t1.moveNext$0();) { |
|
t2 = t1.get$current(t1); |
|
for (t3 = J.toList$0$ax(t2._upstream.get$keys()), t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i) { |
|
url = t3[_i]; |
|
if (J.$eq$(t2._upstream.$index(0, url), _this)) { |
|
t2._upstream.$indexSet(0, url, null); |
|
break; |
|
} |
|
} |
|
for (t3 = J.toList$0$ax(t2._upstreamImports.get$keys()), t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i) { |
|
url = t3[_i]; |
|
if (J.$eq$(t2._upstreamImports.$index(0, url), _this)) { |
|
t2._upstreamImports.$indexSet(0, url, null); |
|
break; |
|
} |
|
} |
|
} |
|
} |
|
}; |
|
M.Syntax.prototype = { |
|
toString$0: function(_) { |
|
return this._name; |
|
} |
|
}; |
|
G.FixedLengthListBuilder.prototype = { |
|
add$1: function(_, element) { |
|
var t1, _this = this; |
|
_this._checkUnbuilt$0(); |
|
t1 = _this._fixed_length_list_builder$_index; |
|
_this._list[t1] = element; |
|
_this._fixed_length_list_builder$_index = t1 + 1; |
|
}, |
|
addAll$1: function(_, elements) { |
|
var _this = this; |
|
_this._checkUnbuilt$0(); |
|
C.JSArray_methods.setAll$2(_this._list, _this._fixed_length_list_builder$_index, elements); |
|
_this._fixed_length_list_builder$_index = _this._fixed_length_list_builder$_index + elements.length; |
|
}, |
|
addRange$3: function(elements, start, end) { |
|
var $length, t1, _this = this; |
|
_this._checkUnbuilt$0(); |
|
$length = (end == null ? J.get$length$asx(elements._collection$_source) : end) - start; |
|
t1 = _this._fixed_length_list_builder$_index; |
|
C.JSArray_methods.setRange$4(_this._list, t1, t1 + $length, elements, start); |
|
_this._fixed_length_list_builder$_index += $length; |
|
}, |
|
addRange$2: function(elements, start) { |
|
return this.addRange$3(elements, start, null); |
|
}, |
|
build$0: function() { |
|
this._checkUnbuilt$0(); |
|
this._fixed_length_list_builder$_index = -1; |
|
return this._list; |
|
}, |
|
_checkUnbuilt$0: function() { |
|
if (this._fixed_length_list_builder$_index === -1) |
|
throw H.wrapException(P.StateError$("build() has already been called.")); |
|
} |
|
}; |
|
K.LimitedMapView.prototype = { |
|
get$keys: function() { |
|
return this._limited_map_view$_keys; |
|
}, |
|
get$length: function(_) { |
|
return this._limited_map_view$_keys._collection$_length; |
|
}, |
|
get$isEmpty: function(_) { |
|
return this._limited_map_view$_keys._collection$_length === 0; |
|
}, |
|
get$isNotEmpty: function(_) { |
|
return this._limited_map_view$_keys._collection$_length !== 0; |
|
}, |
|
$index: function(_, key) { |
|
return this._limited_map_view$_keys.contains$1(0, key) ? this._limited_map_view$_map.$index(0, key) : null; |
|
}, |
|
containsKey$1: function(key) { |
|
return this._limited_map_view$_keys.contains$1(0, key); |
|
}, |
|
remove$1: function(_, key) { |
|
return this._limited_map_view$_keys.contains$1(0, key) ? this._limited_map_view$_map.remove$1(0, key) : null; |
|
} |
|
}; |
|
Z.MergedMapView.prototype = { |
|
get$keys: function() { |
|
return this._mapsByKey.get$keys(); |
|
}, |
|
get$length: function(_) { |
|
var t1 = this._mapsByKey; |
|
return t1.get$length(t1); |
|
}, |
|
get$isEmpty: function(_) { |
|
var t1 = this._mapsByKey; |
|
return t1.get$isEmpty(t1); |
|
}, |
|
get$isNotEmpty: function(_) { |
|
var t1 = this._mapsByKey; |
|
return t1.get$isNotEmpty(t1); |
|
}, |
|
MergedMapView$1: function(maps, $K, $V) { |
|
var t1, t2, t3, _i, map, t4, t5; |
|
for (t1 = maps.length, t2 = this._mapsByKey, t3 = [$K, $V], _i = 0; _i < maps.length; maps.length === t1 || (0, H.throwConcurrentModificationError)(maps), ++_i) { |
|
map = maps[_i]; |
|
if (H.checkSubtype(map, "$isMergedMapView", t3, null)) |
|
for (t4 = map._mapsByKey.get$values(), t4 = t4.get$iterator(t4); t4.moveNext$0();) { |
|
t5 = t4.get$current(t4); |
|
B.setAll(t2, t5.get$keys(), t5); |
|
} |
|
else |
|
B.setAll(t2, map.get$keys(), map); |
|
} |
|
}, |
|
$index: function(_, key) { |
|
var child = this._mapsByKey.$index(0, key); |
|
return child == null ? null : child.$index(0, key); |
|
}, |
|
$indexSet: function(_, key, value) { |
|
var child = this._mapsByKey.$index(0, key); |
|
if (child == null) |
|
throw H.wrapException(P.UnsupportedError$("New entries may not be added to MergedMapView.")); |
|
child.$indexSet(0, key, value); |
|
}, |
|
remove$1: function(_, key) { |
|
throw H.wrapException(P.UnsupportedError$("Entries may not be removed from MergedMapView.")); |
|
}, |
|
containsKey$1: function(key) { |
|
return this._mapsByKey.containsKey$1(key); |
|
} |
|
}; |
|
U.MultiDirWatcher.prototype = { |
|
watch$1: function(_, directory) { |
|
var t1, t2, t3, t4, isParentOfExistingDir, _i, existingDir, t5, future, completer; |
|
for (t1 = this._watchers, t2 = t1.get$keys(), t2 = P.List_List$from(t2, true, H.getRuntimeTypeArgument(t2, "Iterable", 0)), t3 = t2.length, t4 = this._group, isParentOfExistingDir = false, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) { |
|
existingDir = t2[_i]; |
|
if (!isParentOfExistingDir) { |
|
t5 = $.$get$context(); |
|
t5 = t5._isWithinOrEquals$2(existingDir, directory) === C._PathRelation_equal || t5._isWithinOrEquals$2(existingDir, directory) === C._PathRelation_within; |
|
} else |
|
t5 = false; |
|
if (t5) { |
|
t1 = new P._Future($.Zone__current, [-1]); |
|
t1._asyncComplete$1(null); |
|
return t1; |
|
} |
|
if ($.$get$context()._isWithinOrEquals$2(directory, existingDir) === C._PathRelation_within) { |
|
t4.remove$1(0, t1.remove$1(0, existingDir)); |
|
isParentOfExistingDir = true; |
|
} |
|
} |
|
future = B.watchDir(directory, this._poll); |
|
t2 = E.WatchEvent; |
|
t3 = new Y._CompleterStream([t2]); |
|
completer = new Y.StreamCompleter(t3, [t2]); |
|
future.then$1$2$onError(completer.get$setSourceStream(), completer.get$setError(), -1); |
|
t1.$indexSet(0, directory, t3); |
|
t4.add$1(0, t3); |
|
return future; |
|
} |
|
}; |
|
N.NoSourceMapBuffer.prototype = { |
|
get$length: function(_) { |
|
return this._no_source_map_buffer$_buffer._contents.length; |
|
}, |
|
get$sourceFiles: function() { |
|
return C.Map_empty; |
|
}, |
|
forSpan$1$2: function(span, callback) { |
|
return callback.call$0(); |
|
}, |
|
forSpan$2: function(span, callback) { |
|
return this.forSpan$1$2(span, callback, null); |
|
}, |
|
write$1: function(_, object) { |
|
this._no_source_map_buffer$_buffer._contents += H.S(object); |
|
return; |
|
}, |
|
writeCharCode$1: function(charCode) { |
|
this._no_source_map_buffer$_buffer._contents += H.Primitives_stringFromCharCode(charCode); |
|
return; |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this._no_source_map_buffer$_buffer._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
buildSourceMap$1$prefix: function(prefix) { |
|
return H.throwExpression(P.UnsupportedError$("NoSourceMapBuffer.buildSourceMap() is not supported.")); |
|
}, |
|
$isStringBuffer: 1 |
|
}; |
|
F.PrefixedMapView.prototype = { |
|
get$keys: function() { |
|
return new F._PrefixedKeys(this); |
|
}, |
|
get$length: function(_) { |
|
var t1 = this._prefixed_map_view$_map; |
|
return t1.get$length(t1); |
|
}, |
|
get$isEmpty: function(_) { |
|
var t1 = this._prefixed_map_view$_map; |
|
return t1.get$isEmpty(t1); |
|
}, |
|
get$isNotEmpty: function(_) { |
|
var t1 = this._prefixed_map_view$_map; |
|
return t1.get$isNotEmpty(t1); |
|
}, |
|
$index: function(_, key) { |
|
return typeof key === "string" && C.JSString_methods.startsWith$1(key, this._prefix) ? this._prefixed_map_view$_map.$index(0, J.substring$1$s(key, this._prefix.length)) : null; |
|
}, |
|
containsKey$1: function(key) { |
|
return typeof key === "string" && C.JSString_methods.startsWith$1(key, this._prefix) && this._prefixed_map_view$_map.containsKey$1(J.substring$1$s(key, this._prefix.length)); |
|
}, |
|
$asMapMixin: function($V) { |
|
return [P.String, $V]; |
|
}, |
|
$asMap: function($V) { |
|
return [P.String, $V]; |
|
} |
|
}; |
|
F._PrefixedKeys.prototype = { |
|
get$length: function(_) { |
|
var t1 = this._view._prefixed_map_view$_map; |
|
return t1.get$length(t1); |
|
}, |
|
get$iterator: function(_) { |
|
var t1 = J.map$1$1$ax(this._view._prefixed_map_view$_map.get$keys(), new F._PrefixedKeys_iterator_closure(this), P.String); |
|
return t1.get$iterator(t1); |
|
}, |
|
contains$1: function(_, key) { |
|
return this._view.containsKey$1(key); |
|
}, |
|
$asIterable: function() { |
|
return [P.String]; |
|
} |
|
}; |
|
F._PrefixedKeys_iterator_closure.prototype = { |
|
call$1: function(key) { |
|
return this.$this._view._prefix + H.S(key); |
|
} |
|
}; |
|
U.PublicMemberMapView.prototype = { |
|
get$keys: function() { |
|
return J.where$1$ax(this._inner.get$keys(), B.utils__isPublic$closure()); |
|
}, |
|
containsKey$1: function(key) { |
|
return typeof key === "string" && B.isPublic(key) && this._inner.containsKey$1(key); |
|
}, |
|
$index: function(_, key) { |
|
if (typeof key === "string" && B.isPublic(key)) |
|
return this._inner.$index(0, key); |
|
return; |
|
}, |
|
$asMapMixin: function($V) { |
|
return [P.String, $V]; |
|
}, |
|
$asMap: function($V) { |
|
return [P.String, $V]; |
|
} |
|
}; |
|
D.SourceMapBuffer.prototype = { |
|
get$sourceFiles: function() { |
|
var t1 = Y.SourceFile, |
|
t2 = P.String; |
|
return new P.UnmodifiableMapView(Y.mapMap(this._sourceFiles, new D.SourceMapBuffer_sourceFiles_closure(), null, P.Uri, t1, t2, t1), [t2, t1]); |
|
}, |
|
get$_targetLocation: function() { |
|
var t1 = this._source_map_buffer$_buffer._contents, |
|
t2 = this._line; |
|
return V.SourceLocation$(t1.length, this._column, t2, null); |
|
}, |
|
get$length: function(_) { |
|
return this._source_map_buffer$_buffer._contents.length; |
|
}, |
|
forSpan$1$2: function(span, callback) { |
|
var t1, _this = this, |
|
wasInSpan = _this._inSpan; |
|
_this._inSpan = true; |
|
_this._addEntry$2(Y.FileLocation$_(span.file, span._start), _this.get$_targetLocation()); |
|
try { |
|
t1 = callback.call$0(); |
|
return t1; |
|
} finally { |
|
_this._inSpan = wasInSpan; |
|
} |
|
}, |
|
forSpan$2: function(span, callback) { |
|
return this.forSpan$1$2(span, callback, null); |
|
}, |
|
_addEntry$2: function(source, target) { |
|
var entry, t2, |
|
t1 = this._entries; |
|
if (t1.length !== 0) { |
|
entry = C.JSArray_methods.get$last(t1); |
|
t2 = entry.source; |
|
if (t2.file.getLine$1(t2.offset) == source.file.getLine$1(source.offset) && entry.target.line === target.line) |
|
return; |
|
if (entry.target.offset === target.offset) |
|
return; |
|
} |
|
this._sourceFiles.putIfAbsent$2(source.file.url, new D.SourceMapBuffer__addEntry_closure(source)); |
|
t1.push(new L.Entry(source, target, null)); |
|
}, |
|
write$1: function(_, object) { |
|
var t1, i, |
|
string = J.toString$0$(object); |
|
this._source_map_buffer$_buffer._contents += H.S(string); |
|
for (t1 = string.length, i = 0; i < t1; ++i) |
|
if (C.JSString_methods._codeUnitAt$1(string, i) === 10) |
|
this._writeLine$0(); |
|
else |
|
++this._column; |
|
}, |
|
writeCharCode$1: function(charCode) { |
|
this._source_map_buffer$_buffer._contents += H.Primitives_stringFromCharCode(charCode); |
|
if (charCode === 10) |
|
this._writeLine$0(); |
|
else |
|
++this._column; |
|
}, |
|
_writeLine$0: function() { |
|
var _this = this, |
|
t1 = _this._entries; |
|
if (C.JSArray_methods.get$last(t1).target.line === _this._line && C.JSArray_methods.get$last(t1).target.column === _this._column) |
|
t1.pop(); |
|
++_this._line; |
|
_this._column = 0; |
|
if (_this._inSpan) |
|
t1.push(new L.Entry(C.JSArray_methods.get$last(t1).source, _this.get$_targetLocation(), null)); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this._source_map_buffer$_buffer._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
buildSourceMap$1$prefix: function(prefix) { |
|
var i, t2, prefixColumn, _box_0 = {}, |
|
t1 = prefix.length; |
|
if (t1 === 0) |
|
return T.SingleMapping_SingleMapping$fromEntries(this._entries); |
|
_box_0.prefixColumn = _box_0.prefixLines = 0; |
|
for (i = 0, t2 = 0; i < t1; ++i) |
|
if (C.JSString_methods._codeUnitAt$1(prefix, i) === 10) { |
|
++_box_0.prefixLines; |
|
_box_0.prefixColumn = 0; |
|
t2 = 0; |
|
} else { |
|
prefixColumn = t2 + 1; |
|
_box_0.prefixColumn = prefixColumn; |
|
t2 = prefixColumn; |
|
} |
|
t2 = this._entries; |
|
return T.SingleMapping_SingleMapping$fromEntries(new H.MappedListIterable(t2, new D.SourceMapBuffer_buildSourceMap_closure(_box_0, t1), [H.getTypeArgumentByIndex(t2, 0), L.Entry])); |
|
}, |
|
$isStringBuffer: 1 |
|
}; |
|
D.SourceMapBuffer_sourceFiles_closure.prototype = { |
|
call$2: function(url, _) { |
|
return J.toString$0$(url); |
|
}, |
|
$signature: 54 |
|
}; |
|
D.SourceMapBuffer__addEntry_closure.prototype = { |
|
call$0: function() { |
|
return this.source.file; |
|
} |
|
}; |
|
D.SourceMapBuffer_buildSourceMap_closure.prototype = { |
|
call$1: function(entry) { |
|
var t1 = entry.source, |
|
t2 = entry.target, |
|
t3 = t2.line, |
|
t4 = this._box_0, |
|
t5 = t4.prefixLines; |
|
t4 = t3 === 0 ? t4.prefixColumn : 0; |
|
return new L.Entry(t1, V.SourceLocation$(t2.offset + this.prefixLength, t2.column + t4, t3 + t5, null), entry.identifierName); |
|
} |
|
}; |
|
R.UnprefixedMapView.prototype = { |
|
get$keys: function() { |
|
return new R._UnprefixedKeys(this); |
|
}, |
|
$index: function(_, key) { |
|
return typeof key === "string" ? this._unprefixed_map_view$_map.$index(0, J.$add$ansx(this._unprefixed_map_view$_prefix, key)) : null; |
|
}, |
|
containsKey$1: function(key) { |
|
return typeof key === "string" && this._unprefixed_map_view$_map.containsKey$1(J.$add$ansx(this._unprefixed_map_view$_prefix, key)); |
|
}, |
|
remove$1: function(_, key) { |
|
return typeof key === "string" ? this._unprefixed_map_view$_map.remove$1(0, J.$add$ansx(this._unprefixed_map_view$_prefix, key)) : null; |
|
}, |
|
$asMapMixin: function($V) { |
|
return [P.String, $V]; |
|
}, |
|
$asMap: function($V) { |
|
return [P.String, $V]; |
|
} |
|
}; |
|
R._UnprefixedKeys.prototype = { |
|
get$iterator: function(_) { |
|
var t1 = J.where$1$ax(this._unprefixed_map_view$_view._unprefixed_map_view$_map.get$keys(), new R._UnprefixedKeys_iterator_closure(this)).map$1$1(0, new R._UnprefixedKeys_iterator_closure0(this), P.String); |
|
return t1.get$iterator(t1); |
|
}, |
|
contains$1: function(_, key) { |
|
return this._unprefixed_map_view$_view.containsKey$1(key); |
|
}, |
|
$asIterable: function() { |
|
return [P.String]; |
|
} |
|
}; |
|
R._UnprefixedKeys_iterator_closure.prototype = { |
|
call$1: function(key) { |
|
return J.startsWith$1$s(key, this.$this._unprefixed_map_view$_view._unprefixed_map_view$_prefix); |
|
} |
|
}; |
|
R._UnprefixedKeys_iterator_closure0.prototype = { |
|
call$1: function(key) { |
|
return J.substring$1$s(key, this.$this._unprefixed_map_view$_view._unprefixed_map_view$_prefix.length); |
|
} |
|
}; |
|
B.indent_closure.prototype = { |
|
call$1: function(line) { |
|
return C.JSString_methods.$add(C.JSString_methods.$mul(" ", this.indentation), line); |
|
} |
|
}; |
|
B.flattenVertically_closure.prototype = { |
|
call$1: function(inner) { |
|
return Q.QueueList_QueueList$from(inner, this.T); |
|
} |
|
}; |
|
B.flattenVertically_closure0.prototype = { |
|
call$1: function(queue) { |
|
this.result.push(queue.removeFirst$0()); |
|
return queue.get$length(queue) === 0; |
|
} |
|
}; |
|
B.longestCommonSubsequence_closure.prototype = { |
|
call$2: function(element1, element2) { |
|
return J.$eq$(element1, element2) ? element1 : null; |
|
}, |
|
$signature: function() { |
|
var t1 = this.T; |
|
return {func: 1, ret: t1, args: [t1, t1]}; |
|
} |
|
}; |
|
B.longestCommonSubsequence_closure0.prototype = { |
|
call$1: function(_) { |
|
return P.List_List$filled(J.get$length$asx(this.list2) + 1, 0, P.int); |
|
}, |
|
$signature: 55 |
|
}; |
|
B.longestCommonSubsequence_closure1.prototype = { |
|
call$1: function(_) { |
|
var t1 = new Array(J.get$length$asx(this.list2)); |
|
t1.fixed$length = Array; |
|
return H.setRuntimeTypeInfo(t1, [this.T]); |
|
}, |
|
$signature: function() { |
|
return {func: 1, ret: [P.List, this.T], args: [P.int]}; |
|
} |
|
}; |
|
B.longestCommonSubsequence_backtrack.prototype = { |
|
call$2: function(i, j) { |
|
var selection, t1, _this = this; |
|
if (i === -1 || j === -1) |
|
return H.setRuntimeTypeInfo([], [_this.T]); |
|
selection = J.$index$asx(_this.selections[i], j); |
|
if (selection != null) { |
|
t1 = _this.call$2(i - 1, j - 1); |
|
J.add$1$ax(t1, selection); |
|
return t1; |
|
} |
|
t1 = _this.lengths; |
|
return J.$index$asx(t1[i + 1], j) > J.$index$asx(t1[i], j + 1) ? _this.call$2(i, j - 1) : _this.call$2(i - 1, j); |
|
} |
|
}; |
|
B.mapAddAll2_closure.prototype = { |
|
call$2: function(key, inner) { |
|
var t1 = this.destination; |
|
if (t1.containsKey$1(key)) |
|
t1.$index(0, key).addAll$1(0, inner); |
|
else |
|
t1.$indexSet(0, key, inner); |
|
} |
|
}; |
|
B.mapMapAsync_closure.prototype = { |
|
call$2: function(mapKey, _) { |
|
return this.$call$body$mapMapAsync_closure(mapKey, _, this.K2); |
|
}, |
|
$call$body$mapMapAsync_closure: function(mapKey, _, $async$type) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter($async$type), |
|
$async$returnValue, $async$self = this; |
|
var $async$call$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$returnValue = H.subtypeOfRuntimeTypeCast(mapKey, $async$self.K2); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$2, $async$completer); |
|
}, |
|
$signature: function() { |
|
return {func: 1, ret: [P.Future, this.K2], args: [this.K1, this.V1]}; |
|
} |
|
}; |
|
B.copyMapOfMap_closure.prototype = { |
|
call$2: function(_, innerMap) { |
|
return P.LinkedHashMap_LinkedHashMap$of(innerMap, this.K2, this.V); |
|
} |
|
}; |
|
B.copyMapOfList_closure.prototype = { |
|
call$2: function(_, list) { |
|
return J.toList$0$ax(list); |
|
} |
|
}; |
|
F.Value.prototype = { |
|
get$isTruthy: function() { |
|
return true; |
|
}, |
|
get$separator: function() { |
|
return C.ListSeparator_undecided; |
|
}, |
|
get$hasBrackets: function() { |
|
return false; |
|
}, |
|
get$asList: function() { |
|
return H.setRuntimeTypeInfo([this], [F.Value]); |
|
}, |
|
get$lengthAsList: function() { |
|
return 1; |
|
}, |
|
get$isBlank: function() { |
|
return false; |
|
}, |
|
get$isSpecialNumber: function() { |
|
return false; |
|
}, |
|
get$isVar: function() { |
|
return false; |
|
}, |
|
get$realNull: function() { |
|
return this; |
|
}, |
|
sassIndexToListIndex$2: function(sassIndex, $name) { |
|
var _this = this, |
|
index = sassIndex.assertNumber$1($name).assertInt$1($name); |
|
if (index === 0) |
|
throw H.wrapException(_this._value$_exception$2("List index may not be 0.", $name)); |
|
if (Math.abs(index) > _this.get$lengthAsList()) |
|
throw H.wrapException(_this._value$_exception$2("Invalid index " + sassIndex.toString$0(0) + " for a list with " + _this.get$lengthAsList() + " elements.", $name)); |
|
return index < 0 ? _this.get$lengthAsList() + index : index - 1; |
|
}, |
|
assertColor$1: function($name) { |
|
return H.throwExpression(this._value$_exception$2(this.toString$0(0) + " is not a color.", $name)); |
|
}, |
|
assertFunction$1: function($name) { |
|
return H.throwExpression(this._value$_exception$2(this.toString$0(0) + " is not a function reference.", $name)); |
|
}, |
|
assertMap$1: function($name) { |
|
return H.throwExpression(this._value$_exception$2(this.toString$0(0) + " is not a map.", $name)); |
|
}, |
|
assertNumber$1: function($name) { |
|
return H.throwExpression(this._value$_exception$2(this.toString$0(0) + " is not a number.", $name)); |
|
}, |
|
assertNumber$0: function() { |
|
return this.assertNumber$1(null); |
|
}, |
|
assertString$1: function($name) { |
|
return H.throwExpression(this._value$_exception$2(this.toString$0(0) + " is not a string.", $name)); |
|
}, |
|
assertSelector$2$allowParent$name: function(allowParent, $name) { |
|
var error, t1, exception, |
|
string = this._selectorString$1($name); |
|
try { |
|
t1 = D.SelectorList_SelectorList$parse(string, allowParent, true, null); |
|
return t1; |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (t1 instanceof E.SassFormatException) { |
|
error = t1; |
|
throw H.wrapException(this._value$_exception$2(C.JSString_methods.replaceFirst$2(J.toString$0$(error), "Error: ", ""), $name)); |
|
} else |
|
throw exception; |
|
} |
|
}, |
|
assertSelector$1$name: function($name) { |
|
return this.assertSelector$2$allowParent$name(false, $name); |
|
}, |
|
assertSelector$0: function() { |
|
return this.assertSelector$2$allowParent$name(false, null); |
|
}, |
|
assertSelector$1$allowParent: function(allowParent) { |
|
return this.assertSelector$2$allowParent$name(allowParent, null); |
|
}, |
|
assertCompoundSelector$1$name: function($name) { |
|
var error, t1, exception, |
|
allowParent = false, |
|
string = this._selectorString$1($name); |
|
try { |
|
t1 = S.SpanScanner$(string, null); |
|
t1 = new T.SelectorParser(allowParent, true, t1, C.StderrLogger_false).parseCompoundSelector$0(); |
|
return t1; |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (t1 instanceof E.SassFormatException) { |
|
error = t1; |
|
throw H.wrapException(this._value$_exception$2(C.JSString_methods.replaceFirst$2(J.toString$0$(error), "Error: ", ""), $name)); |
|
} else |
|
throw exception; |
|
} |
|
}, |
|
_selectorString$1: function($name) { |
|
var string = this._selectorStringOrNull$0(); |
|
if (string != null) |
|
return string; |
|
throw H.wrapException(this._value$_exception$2(this.toString$0(0) + " is not a valid selector: it must be a string,\na list of strings, or a list of lists of strings.", $name)); |
|
}, |
|
_selectorString$0: function() { |
|
return this._selectorString$1(null); |
|
}, |
|
_selectorStringOrNull$0: function() { |
|
var t1, t2, result, t3, _i, complex, t4, string, compound, _this = this; |
|
if (!!_this.$isSassString) |
|
return _this.text; |
|
if (!_this.$isSassList) |
|
return; |
|
t1 = _this._list$_contents; |
|
t2 = t1.length; |
|
if (t2 === 0) |
|
return; |
|
result = H.setRuntimeTypeInfo([], [P.String]); |
|
t3 = _this.separator === C.ListSeparator_comma; |
|
if (t3) |
|
for (_i = 0; _i < t2; ++_i) { |
|
complex = t1[_i]; |
|
t4 = J.getInterceptor$(complex); |
|
if (!!t4.$isSassString) |
|
result.push(complex.text); |
|
else if (!!t4.$isSassList && complex.separator === C.ListSeparator_space) { |
|
string = complex._selectorString$0(); |
|
result.push(string); |
|
} else |
|
return; |
|
} |
|
else |
|
for (_i = 0; _i < t2; ++_i) { |
|
compound = t1[_i]; |
|
if (compound instanceof D.SassString) |
|
result.push(compound.text); |
|
else |
|
return; |
|
} |
|
return C.JSArray_methods.join$1(result, t3 ? ", " : " "); |
|
}, |
|
changeListContents$2$separator: function(contents, separator) { |
|
var t1 = separator == null ? this.get$separator() : separator, |
|
t2 = this.get$hasBrackets(); |
|
return D.SassList$(contents, t1, t2); |
|
}, |
|
changeListContents$1: function(contents) { |
|
return this.changeListContents$2$separator(contents, null); |
|
}, |
|
greaterThan$1: function(other) { |
|
return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " > " + H.S(other) + '".')); |
|
}, |
|
greaterThanOrEquals$1: function(other) { |
|
return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " >= " + H.S(other) + '".')); |
|
}, |
|
lessThan$1: function(other) { |
|
return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " < " + H.S(other) + '".')); |
|
}, |
|
lessThanOrEquals$1: function(other) { |
|
return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " <= " + H.S(other) + '".')); |
|
}, |
|
times$1: function(other) { |
|
return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " * " + H.S(other) + '".')); |
|
}, |
|
modulo$1: function(other) { |
|
return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " % " + H.S(other) + '".')); |
|
}, |
|
plus$1: function(other) { |
|
var t1; |
|
if (other instanceof D.SassString) |
|
return new D.SassString(C.JSString_methods.$add(N.serializeValue(this, false, true), other.text), other.hasQuotes); |
|
else { |
|
t1 = N.serializeValue(this, false, true); |
|
other.toString; |
|
return new D.SassString(t1 + N.serializeValue(other, false, true), false); |
|
} |
|
}, |
|
minus$1: function(other) { |
|
var t1 = N.serializeValue(this, false, true) + "-"; |
|
other.toString; |
|
return new D.SassString(t1 + N.serializeValue(other, false, true), false); |
|
}, |
|
dividedBy$1: function(other) { |
|
var t1 = N.serializeValue(this, false, true) + "/"; |
|
other.toString; |
|
return new D.SassString(t1 + N.serializeValue(other, false, true), false); |
|
}, |
|
unaryPlus$0: function() { |
|
return new D.SassString("+" + N.serializeValue(this, false, true), false); |
|
}, |
|
unaryMinus$0: function() { |
|
return new D.SassString("-" + N.serializeValue(this, false, true), false); |
|
}, |
|
unaryNot$0: function() { |
|
return C.SassBoolean_false; |
|
}, |
|
withoutSlash$0: function() { |
|
return this; |
|
}, |
|
toString$0: function(_) { |
|
return N.serializeValue(this, true, true); |
|
}, |
|
_value$_exception$2: function(message, $name) { |
|
return new E.SassScriptException($name == null ? message : "$" + $name + ": " + message); |
|
} |
|
}; |
|
D.SassArgumentList.prototype = {}; |
|
Z.SassBoolean.prototype = { |
|
get$isTruthy: function() { |
|
return this.value; |
|
}, |
|
accept$1$1: function(visitor) { |
|
return visitor._serialize$_buffer.write$1(0, String(this.value)); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
unaryNot$0: function() { |
|
return this.value ? C.SassBoolean_false : C.SassBoolean_true; |
|
} |
|
}; |
|
K.SassColor.prototype = { |
|
get$red: function() { |
|
if (this._red == null) |
|
this._hslToRgb$0(); |
|
return this._red; |
|
}, |
|
get$green: function() { |
|
if (this._green == null) |
|
this._hslToRgb$0(); |
|
return this._green; |
|
}, |
|
get$blue: function() { |
|
if (this._blue == null) |
|
this._hslToRgb$0(); |
|
return this._blue; |
|
}, |
|
get$hue: function() { |
|
if (this._hue == null) |
|
this._rgbToHsl$0(); |
|
return this._hue; |
|
}, |
|
get$saturation: function() { |
|
if (this._saturation == null) |
|
this._rgbToHsl$0(); |
|
return this._saturation; |
|
}, |
|
get$lightness: function() { |
|
if (this._lightness == null) |
|
this._rgbToHsl$0(); |
|
return this._lightness; |
|
}, |
|
get$original: function() { |
|
var t1 = this.originalSpan; |
|
return t1 == null ? null : P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._start, t1._file$_end), 0, null); |
|
}, |
|
accept$1$1: function(visitor) { |
|
return visitor.visitColor$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
assertColor$1: function($name) { |
|
return this; |
|
}, |
|
changeRgb$4$alpha$blue$green$red: function(alpha, blue, green, red) { |
|
var _this = this, |
|
t1 = red == null ? _this.get$red() : red, |
|
t2 = green == null ? _this.get$green() : green, |
|
t3 = blue == null ? _this.get$blue() : blue; |
|
return K.SassColor$rgb(t1, t2, t3, alpha == null ? _this.alpha : alpha, null); |
|
}, |
|
changeRgb$3$blue$green$red: function(blue, green, red) { |
|
return this.changeRgb$4$alpha$blue$green$red(null, blue, green, red); |
|
}, |
|
changeRgb$1$alpha: function(alpha) { |
|
return this.changeRgb$4$alpha$blue$green$red(alpha, null, null, null); |
|
}, |
|
changeRgb$1$blue: function(blue) { |
|
return this.changeRgb$4$alpha$blue$green$red(null, blue, null, null); |
|
}, |
|
changeRgb$1$green: function(green) { |
|
return this.changeRgb$4$alpha$blue$green$red(null, null, green, null); |
|
}, |
|
changeRgb$1$red: function(red) { |
|
return this.changeRgb$4$alpha$blue$green$red(null, null, null, red); |
|
}, |
|
changeHsl$4$alpha$hue$lightness$saturation: function(alpha, hue, lightness, saturation) { |
|
var _this = this, |
|
t1 = hue == null ? _this.get$hue() : hue, |
|
t2 = saturation == null ? _this.get$saturation() : saturation, |
|
t3 = lightness == null ? _this.get$lightness() : lightness; |
|
return K.SassColor$hsl(t1, t2, t3, alpha == null ? _this.alpha : alpha); |
|
}, |
|
changeHsl$3$alpha$lightness$saturation: function(alpha, lightness, saturation) { |
|
return this.changeHsl$4$alpha$hue$lightness$saturation(alpha, null, lightness, saturation); |
|
}, |
|
changeHsl$1$saturation: function(saturation) { |
|
return this.changeHsl$4$alpha$hue$lightness$saturation(null, null, null, saturation); |
|
}, |
|
changeHsl$1$lightness: function(lightness) { |
|
return this.changeHsl$4$alpha$hue$lightness$saturation(null, null, lightness, null); |
|
}, |
|
changeHsl$1$hue: function(hue) { |
|
return this.changeHsl$4$alpha$hue$lightness$saturation(null, hue, null, null); |
|
}, |
|
changeAlpha$1: function(alpha) { |
|
var _this = this; |
|
return new K.SassColor(_this._red, _this._green, _this._blue, _this._hue, _this._saturation, _this._lightness, T.fuzzyAssertRange(alpha, 0, 1, "alpha"), null); |
|
}, |
|
plus$1: function(other) { |
|
var t1 = J.getInterceptor$(other); |
|
if (!t1.$isSassNumber && !t1.$isSassColor) |
|
return this.super$Value$plus(other); |
|
throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " + " + H.S(other) + '".')); |
|
}, |
|
minus$1: function(other) { |
|
var t1 = J.getInterceptor$(other); |
|
if (!t1.$isSassNumber && !t1.$isSassColor) |
|
return this.super$Value$minus(other); |
|
throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " - " + H.S(other) + '".')); |
|
}, |
|
dividedBy$1: function(other) { |
|
var t1 = J.getInterceptor$(other); |
|
if (!t1.$isSassNumber && !t1.$isSassColor) |
|
return this.super$Value$dividedBy(other); |
|
throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " / " + H.S(other) + '".')); |
|
}, |
|
modulo$1: function(other) { |
|
return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " % " + H.S(other) + '".')); |
|
}, |
|
$eq: function(_, other) { |
|
var _this = this; |
|
if (other == null) |
|
return false; |
|
return other instanceof K.SassColor && other.get$red() == _this.get$red() && other.get$green() == _this.get$green() && other.get$blue() == _this.get$blue() && other.alpha === _this.alpha; |
|
}, |
|
get$hashCode: function(_) { |
|
var _this = this; |
|
return J.get$hashCode$(_this.get$red()) ^ J.get$hashCode$(_this.get$green()) ^ J.get$hashCode$(_this.get$blue()) ^ C.JSNumber_methods.get$hashCode(_this.alpha); |
|
}, |
|
_rgbToHsl$0: function() { |
|
var t2, t3, _this = this, |
|
scaledRed = _this.get$red() / 255, |
|
scaledGreen = _this.get$green() / 255, |
|
scaledBlue = _this.get$blue() / 255, |
|
max = Math.max(Math.max(scaledRed, scaledGreen), scaledBlue), |
|
min = Math.min(Math.min(scaledRed, scaledGreen), scaledBlue), |
|
delta = max - min, |
|
t1 = max === min; |
|
if (t1) |
|
_this._hue = 0; |
|
else if (max === scaledRed) |
|
_this._hue = C.JSDouble_methods.$mod(60 * (scaledGreen - scaledBlue) / delta, 360); |
|
else if (max === scaledGreen) |
|
_this._hue = C.JSNumber_methods.$mod(120 + 60 * (scaledBlue - scaledRed) / delta, 360); |
|
else if (max === scaledBlue) |
|
_this._hue = C.JSNumber_methods.$mod(240 + 60 * (scaledRed - scaledGreen) / delta, 360); |
|
t2 = max + min; |
|
t3 = 50 * t2; |
|
_this._lightness = t3; |
|
if (t1) |
|
_this._saturation = 0; |
|
else { |
|
t1 = 100 * delta; |
|
if (t3 < 50) |
|
_this._saturation = t1 / t2; |
|
else |
|
_this._saturation = t1 / (2 - max - min); |
|
} |
|
}, |
|
_hslToRgb$0: function() { |
|
var _this = this, |
|
scaledHue = _this.get$hue() / 360, |
|
scaledSaturation = _this.get$saturation() / 100, |
|
scaledLightness = _this.get$lightness() / 100, |
|
m2 = scaledLightness <= 0.5 ? scaledLightness * (scaledSaturation + 1) : scaledLightness + scaledSaturation - scaledLightness * scaledSaturation, |
|
m1 = scaledLightness * 2 - m2; |
|
_this._red = _this._hueToRgb$3(m1, m2, scaledHue + 0.3333333333333333); |
|
_this._green = _this._hueToRgb$3(m1, m2, scaledHue); |
|
_this._blue = _this._hueToRgb$3(m1, m2, scaledHue - 0.3333333333333333); |
|
}, |
|
_hueToRgb$3: function(m1, m2, hue) { |
|
var result; |
|
if (hue < 0) |
|
++hue; |
|
if (hue > 1) |
|
--hue; |
|
if (hue < 0.16666666666666666) |
|
result = m1 + (m2 - m1) * hue * 6; |
|
else if (hue < 0.5) |
|
result = m2; |
|
else |
|
result = hue < 0.6666666666666666 ? m1 + (m2 - m1) * (0.6666666666666666 - hue) * 6 : m1; |
|
return T.fuzzyRound(result * 255); |
|
} |
|
}; |
|
F.SassFunction.prototype = { |
|
accept$1$1: function(visitor) { |
|
var t1; |
|
if (!visitor._inspect) |
|
H.throwExpression(E.SassScriptException$(this.toString$0(0) + " isn't a valid CSS value.")); |
|
t1 = visitor._serialize$_buffer; |
|
t1.write$1(0, "get-function("); |
|
visitor._visitQuotedString$1(this.callable.get$name()); |
|
t1.writeCharCode$1(41); |
|
return; |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
assertFunction$1: function($name) { |
|
return this; |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof F.SassFunction && J.$eq$(this.callable, other.callable); |
|
}, |
|
get$hashCode: function(_) { |
|
return J.get$hashCode$(this.callable); |
|
} |
|
}; |
|
D.SassList.prototype = { |
|
get$isBlank: function() { |
|
return C.JSArray_methods.every$1(this._list$_contents, new D.SassList_isBlank_closure()); |
|
}, |
|
get$asList: function() { |
|
return this._list$_contents; |
|
}, |
|
get$lengthAsList: function() { |
|
return this._list$_contents.length; |
|
}, |
|
SassList$3$brackets: function(contents, separator, brackets) { |
|
if (this.separator === C.ListSeparator_undecided && this._list$_contents.length > 1) |
|
throw H.wrapException(P.ArgumentError$("A list with more than one element must have an explicit separator.")); |
|
}, |
|
accept$1$1: function(visitor) { |
|
return visitor.visitList$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
assertMap$1: function($name) { |
|
return this._list$_contents.length === 0 ? C.SassMap_Map_empty : this.super$Value$assertMap($name); |
|
}, |
|
$eq: function(_, other) { |
|
var t1, _this = this; |
|
if (other == null) |
|
return false; |
|
t1 = J.getInterceptor$(other); |
|
if (!(!!t1.$isSassList && other.separator === _this.separator && other.hasBrackets === _this.hasBrackets && C.C_ListEquality.equals$2(other._list$_contents, _this._list$_contents))) |
|
t1 = _this._list$_contents.length === 0 && !!t1.$isSassMap && other.get$asList().length === 0; |
|
else |
|
t1 = true; |
|
return t1; |
|
}, |
|
get$hashCode: function(_) { |
|
return C.C_ListEquality.hash$1(this._list$_contents); |
|
}, |
|
get$separator: function() { |
|
return this.separator; |
|
}, |
|
get$hasBrackets: function() { |
|
return this.hasBrackets; |
|
} |
|
}; |
|
D.SassList_isBlank_closure.prototype = { |
|
call$1: function(element) { |
|
return element.get$isBlank(); |
|
} |
|
}; |
|
D.ListSeparator.prototype = { |
|
toString$0: function(_) { |
|
return this._list$_name; |
|
} |
|
}; |
|
A.SassMap.prototype = { |
|
get$separator: function() { |
|
var t1 = this.contents; |
|
return t1.get$isEmpty(t1) ? C.ListSeparator_undecided : C.ListSeparator_comma; |
|
}, |
|
get$asList: function() { |
|
var result = H.setRuntimeTypeInfo([], [F.Value]); |
|
this.contents.forEach$1(0, new A.SassMap_asList_closure(result)); |
|
return result; |
|
}, |
|
get$lengthAsList: function() { |
|
var t1 = this.contents; |
|
return t1.get$length(t1); |
|
}, |
|
accept$1$1: function(visitor) { |
|
return visitor.visitMap$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
assertMap$1: function($name) { |
|
return this; |
|
}, |
|
$eq: function(_, other) { |
|
var t1, t2; |
|
if (other == null) |
|
return false; |
|
t1 = J.getInterceptor$(other); |
|
if (!(!!t1.$isSassMap && C.C_MapEquality.equals$2(other.contents, this.contents))) { |
|
t2 = this.contents; |
|
t1 = t2.get$isEmpty(t2) && !!t1.$isSassList && other._list$_contents.length === 0; |
|
} else |
|
t1 = true; |
|
return t1; |
|
}, |
|
get$hashCode: function(_) { |
|
var t1 = this.contents; |
|
return t1.get$isEmpty(t1) ? C.C_ListEquality.hash$1(C.List_empty6) : C.C_MapEquality.hash$1(t1); |
|
} |
|
}; |
|
A.SassMap_asList_closure.prototype = { |
|
call$2: function(key, value) { |
|
this.result.push(D.SassList$(H.setRuntimeTypeInfo([key, value], [F.Value]), C.ListSeparator_space, false)); |
|
} |
|
}; |
|
O.SassNull.prototype = { |
|
get$isTruthy: function() { |
|
return false; |
|
}, |
|
get$isBlank: function() { |
|
return true; |
|
}, |
|
get$realNull: function() { |
|
return; |
|
}, |
|
accept$1$1: function(visitor) { |
|
if (visitor._inspect) |
|
visitor._serialize$_buffer.write$1(0, "null"); |
|
return; |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
unaryNot$0: function() { |
|
return C.SassBoolean_true; |
|
} |
|
}; |
|
T.SassNumber.prototype = { |
|
get$unitString: function() { |
|
var _this = this, |
|
t1 = _this.numeratorUnits; |
|
return t1.length !== 0 || _this.denominatorUnits.length !== 0 ? _this._unitString$2(t1, _this.denominatorUnits) : ""; |
|
}, |
|
accept$1$1: function(visitor) { |
|
return visitor.visitNumber$1(this); |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
withoutSlash$0: function() { |
|
var _this = this; |
|
if (_this.asSlash == null) |
|
return _this; |
|
return new T.SassNumber(_this.value, _this.numeratorUnits, _this.denominatorUnits, null); |
|
}, |
|
withSlash$2: function(numerator, denominator) { |
|
var t1 = T.SassNumber; |
|
return new T.SassNumber(this.value, this.numeratorUnits, this.denominatorUnits, new S.Tuple2(numerator, denominator, [t1, t1])); |
|
}, |
|
assertNumber$1: function($name) { |
|
return this; |
|
}, |
|
assertNumber$0: function() { |
|
return this.assertNumber$1(null); |
|
}, |
|
assertInt$1: function($name) { |
|
var t1 = this.value, |
|
integer = T.fuzzyIsInt(t1) ? J.round$0$n(t1) : null; |
|
if (integer != null) |
|
return integer; |
|
throw H.wrapException(this._number$_exception$2(this.toString$0(0) + " is not an int.", $name)); |
|
}, |
|
assertInt$0: function() { |
|
return this.assertInt$1(null); |
|
}, |
|
valueInRange$3: function(min, max, $name) { |
|
var _this = this, |
|
result = T.fuzzyCheckRange(_this.value, min, max); |
|
if (result != null) |
|
return result; |
|
throw H.wrapException(_this._number$_exception$2("Expected " + _this.toString$0(0) + " to be within " + min + _this.get$unitString() + " and " + max + _this.get$unitString() + ".", $name)); |
|
}, |
|
hasUnit$1: function(unit) { |
|
var t1 = this.numeratorUnits; |
|
return t1.length === 1 && this.denominatorUnits.length === 0 && J.$eq$(C.JSArray_methods.get$first(t1), unit); |
|
}, |
|
assertUnit$2: function(unit, $name) { |
|
if (this.hasUnit$1(unit)) |
|
return; |
|
throw H.wrapException(this._number$_exception$2("Expected " + this.toString$0(0) + ' to have unit "' + unit + '".', $name)); |
|
}, |
|
assertNoUnits$1: function($name) { |
|
var _this = this; |
|
if (!(_this.numeratorUnits.length !== 0 || _this.denominatorUnits.length !== 0)) |
|
return; |
|
throw H.wrapException(_this._number$_exception$2("Expected " + _this.toString$0(0) + " to have no units.", $name)); |
|
}, |
|
valueInUnits$2: function(newNumerators, newDenominators) { |
|
var t1, oldNumerators, t2, _i, oldDenominators, t3, _this = this, _box_0 = {}; |
|
if (!(newNumerators.length === 0 && newDenominators.length === 0)) { |
|
t1 = _this.numeratorUnits; |
|
if (!(t1.length === 0 && _this.denominatorUnits.length === 0)) |
|
t1 = C.C_ListEquality.equals$2(t1, newNumerators) && C.C_ListEquality.equals$2(_this.denominatorUnits, newDenominators); |
|
else |
|
t1 = true; |
|
} else |
|
t1 = true; |
|
if (t1) |
|
return _this.value; |
|
_box_0.value = _this.value; |
|
t1 = _this.numeratorUnits; |
|
oldNumerators = H.setRuntimeTypeInfo(t1.slice(0), [H.getTypeArgumentByIndex(t1, 0)]); |
|
for (t2 = newNumerators.length, _i = 0; _i < newNumerators.length; newNumerators.length === t2 || (0, H.throwConcurrentModificationError)(newNumerators), ++_i) |
|
B.removeFirstWhere(oldNumerators, new T.SassNumber_valueInUnits_closure(_box_0, _this, newNumerators[_i]), new T.SassNumber_valueInUnits_closure0(_this, newNumerators, newDenominators)); |
|
t2 = _this.denominatorUnits; |
|
oldDenominators = H.setRuntimeTypeInfo(t2.slice(0), [H.getTypeArgumentByIndex(t2, 0)]); |
|
for (t3 = newDenominators.length, _i = 0; _i < newDenominators.length; newDenominators.length === t3 || (0, H.throwConcurrentModificationError)(newDenominators), ++_i) |
|
B.removeFirstWhere(oldDenominators, new T.SassNumber_valueInUnits_closure1(_box_0, _this, newDenominators[_i]), new T.SassNumber_valueInUnits_closure2(_this, newNumerators, newDenominators)); |
|
if (oldNumerators.length !== 0 || oldDenominators.length !== 0) |
|
throw H.wrapException(E.SassScriptException$("Incompatible units " + _this._unitString$2(t1, t2) + " and " + _this._unitString$2(newNumerators, newDenominators) + ".")); |
|
return _box_0.value; |
|
}, |
|
isComparableTo$1: function(other) { |
|
var t1, exception; |
|
if (this.numeratorUnits.length !== 0 || this.denominatorUnits.length !== 0) |
|
t1 = !(other.numeratorUnits.length !== 0 || other.denominatorUnits.length !== 0); |
|
else |
|
t1 = true; |
|
if (t1) |
|
return true; |
|
try { |
|
this.greaterThan$1(other); |
|
return true; |
|
} catch (exception) { |
|
if (H.unwrapException(exception) instanceof E.SassScriptException) |
|
return false; |
|
else |
|
throw exception; |
|
} |
|
}, |
|
greaterThan$1: function(other) { |
|
if (other instanceof T.SassNumber) |
|
return this._coerceUnits$2(other, T.number0__fuzzyGreaterThan$closure()) ? C.SassBoolean_true : C.SassBoolean_false; |
|
throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " > " + H.S(other) + '".')); |
|
}, |
|
greaterThanOrEquals$1: function(other) { |
|
if (other instanceof T.SassNumber) |
|
return this._coerceUnits$2(other, T.number0__fuzzyGreaterThanOrEquals$closure()) ? C.SassBoolean_true : C.SassBoolean_false; |
|
throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " >= " + H.S(other) + '".')); |
|
}, |
|
lessThan$1: function(other) { |
|
if (other instanceof T.SassNumber) |
|
return this._coerceUnits$2(other, T.number0__fuzzyLessThan$closure()) ? C.SassBoolean_true : C.SassBoolean_false; |
|
throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " < " + H.S(other) + '".')); |
|
}, |
|
lessThanOrEquals$1: function(other) { |
|
if (other instanceof T.SassNumber) |
|
return this._coerceUnits$2(other, T.number0__fuzzyLessThanOrEquals$closure()) ? C.SassBoolean_true : C.SassBoolean_false; |
|
throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " <= " + H.S(other) + '".')); |
|
}, |
|
modulo$1: function(other) { |
|
if (other instanceof T.SassNumber) |
|
return this._coerceNumber$2(other, new T.SassNumber_modulo_closure()); |
|
throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " % " + H.S(other) + '".')); |
|
}, |
|
plus$1: function(other) { |
|
var t1 = J.getInterceptor$(other); |
|
if (!!t1.$isSassNumber) |
|
return this._coerceNumber$2(other, new T.SassNumber_plus_closure()); |
|
if (!t1.$isSassColor) |
|
return this.super$Value$plus(other); |
|
throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " + " + other.toString$0(0) + '".')); |
|
}, |
|
minus$1: function(other) { |
|
var t1 = J.getInterceptor$(other); |
|
if (!!t1.$isSassNumber) |
|
return this._coerceNumber$2(other, new T.SassNumber_minus_closure()); |
|
if (!t1.$isSassColor) |
|
return this.super$Value$minus(other); |
|
throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " - " + other.toString$0(0) + '".')); |
|
}, |
|
times$1: function(other) { |
|
var _this = this; |
|
if (other instanceof T.SassNumber) |
|
return _this._multiplyUnits$5(_this.value * other.value, _this.numeratorUnits, _this.denominatorUnits, other.numeratorUnits, other.denominatorUnits); |
|
throw H.wrapException(E.SassScriptException$('Undefined operation "' + _this.toString$0(0) + " * " + H.S(other) + '".')); |
|
}, |
|
dividedBy$1: function(other) { |
|
var _this = this; |
|
if (other instanceof T.SassNumber) |
|
return _this._multiplyUnits$5(_this.value / other.value, _this.numeratorUnits, _this.denominatorUnits, other.denominatorUnits, other.numeratorUnits); |
|
return _this.super$Value$dividedBy(other); |
|
}, |
|
unaryPlus$0: function() { |
|
return this; |
|
}, |
|
unaryMinus$0: function() { |
|
return T.SassNumber$withUnits(-this.value, this.denominatorUnits, this.numeratorUnits); |
|
}, |
|
_coerceNumber$2: function(other, operation) { |
|
var _this = this, |
|
result = _this._coerceUnits$2(other, operation), |
|
t1 = _this.numeratorUnits, |
|
t2 = t1.length === 0; |
|
t1 = !t2 || _this.denominatorUnits.length !== 0 ? t1 : other.numeratorUnits; |
|
return T.SassNumber$withUnits(result, !t2 || _this.denominatorUnits.length !== 0 ? _this.denominatorUnits : other.denominatorUnits, t1); |
|
}, |
|
_coerceUnits$1$2: function(other, operation) { |
|
var num1, num2, _this = this, |
|
t1 = _this.numeratorUnits; |
|
if (t1.length !== 0 || _this.denominatorUnits.length !== 0) { |
|
num1 = _this.value; |
|
num2 = other.valueInUnits$2(t1, _this.denominatorUnits); |
|
} else { |
|
num1 = _this.valueInUnits$2(other.numeratorUnits, other.denominatorUnits); |
|
num2 = other.value; |
|
} |
|
return operation.call$2(num1, num2); |
|
}, |
|
_coerceUnits$2: function(other, operation) { |
|
return this._coerceUnits$1$2(other, operation, null); |
|
}, |
|
_multiplyUnits$5: function(value, numerators1, denominators1, numerators2, denominators2) { |
|
var t1, newNumerators, mutableDenominators2, _i, numerator, mutableDenominators1, _this = this, _box_0 = {}; |
|
_box_0.value = value; |
|
t1 = numerators1.length; |
|
if (t1 === 0) { |
|
if (denominators2.length === 0 && !_this._areAnyConvertible$2(denominators1, numerators2)) |
|
return T.SassNumber$withUnits(value, denominators1, numerators2); |
|
else if (denominators1.length === 0) |
|
return T.SassNumber$withUnits(value, denominators2, numerators2); |
|
} else if (numerators2.length === 0) |
|
if (denominators2.length === 0) |
|
return T.SassNumber$withUnits(value, denominators2, numerators1); |
|
else if (denominators1.length === 0 && !_this._areAnyConvertible$2(numerators1, denominators2)) |
|
return T.SassNumber$withUnits(value, denominators2, numerators1); |
|
newNumerators = H.setRuntimeTypeInfo([], [P.String]); |
|
mutableDenominators2 = H.setRuntimeTypeInfo(denominators2.slice(0), [H.getTypeArgumentByIndex(denominators2, 0)]); |
|
for (_i = 0; _i < t1; ++_i) { |
|
numerator = numerators1[_i]; |
|
B.removeFirstWhere(mutableDenominators2, new T.SassNumber__multiplyUnits_closure(_box_0, _this, numerator), new T.SassNumber__multiplyUnits_closure0(newNumerators, numerator)); |
|
} |
|
mutableDenominators1 = H.setRuntimeTypeInfo(denominators1.slice(0), [H.getTypeArgumentByIndex(denominators1, 0)]); |
|
for (t1 = numerators2.length, _i = 0; _i < t1; ++_i) { |
|
numerator = numerators2[_i]; |
|
B.removeFirstWhere(mutableDenominators1, new T.SassNumber__multiplyUnits_closure1(_box_0, _this, numerator), new T.SassNumber__multiplyUnits_closure2(newNumerators, numerator)); |
|
} |
|
t1 = _box_0.value; |
|
C.JSArray_methods.addAll$1(mutableDenominators1, mutableDenominators2); |
|
return T.SassNumber$withUnits(t1, mutableDenominators1, newNumerators); |
|
}, |
|
_areAnyConvertible$2: function(units1, units2) { |
|
return C.JSArray_methods.any$1(units1, new T.SassNumber__areAnyConvertible_closure(this, units2)); |
|
}, |
|
_conversionFactor$2: function(unit1, unit2) { |
|
var innerMap; |
|
if (unit1 == unit2) |
|
return 1; |
|
innerMap = $.$get$_conversions().$index(0, unit1); |
|
if (innerMap == null) |
|
return; |
|
return innerMap.$index(0, unit2); |
|
}, |
|
_unitString$2: function(numerators, denominators) { |
|
var t1; |
|
if (numerators.length === 0) { |
|
t1 = denominators.length; |
|
if (t1 === 0) |
|
return "no units"; |
|
if (t1 === 1) |
|
return J.$add$ansx(C.JSArray_methods.get$single(denominators), "^-1"); |
|
return "(" + C.JSArray_methods.join$1(denominators, "*") + ")^-1"; |
|
} |
|
if (denominators.length === 0) |
|
return C.JSArray_methods.join$1(numerators, "*"); |
|
return C.JSArray_methods.join$1(numerators, "*") + "/" + C.JSArray_methods.join$1(denominators, "*"); |
|
}, |
|
$eq: function(_, other) { |
|
var t1, t2, t3, exception, _this = this; |
|
if (other == null) |
|
return false; |
|
if (other instanceof T.SassNumber) { |
|
t1 = _this.numeratorUnits.length === 0; |
|
t2 = !t1 || _this.denominatorUnits.length !== 0; |
|
t3 = other; |
|
if (t2 !== (t3.numeratorUnits.length !== 0 || t3.denominatorUnits.length !== 0)) |
|
return false; |
|
if (!(!t1 || _this.denominatorUnits.length !== 0)) |
|
return Math.abs(_this.value - other.value) < $.$get$epsilon(); |
|
try { |
|
t1 = _this._coerceUnits$2(other, T.number0__fuzzyEquals$closure()); |
|
return t1; |
|
} catch (exception) { |
|
if (H.unwrapException(exception) instanceof E.SassScriptException) |
|
return false; |
|
else |
|
throw exception; |
|
} |
|
} else |
|
return false; |
|
}, |
|
get$hashCode: function(_) { |
|
var _this = this; |
|
return C.JSInt_methods.get$hashCode(C.JSDouble_methods.round$0(_this.value * _this._canonicalMultiplier$1(_this.numeratorUnits) / _this._canonicalMultiplier$1(_this.denominatorUnits) * $.$get$_inverseEpsilon())); |
|
}, |
|
_canonicalMultiplier$1: function(units) { |
|
return C.JSArray_methods.fold$2(units, 1, new T.SassNumber__canonicalMultiplier_closure()); |
|
}, |
|
_number$_exception$2: function(message, $name) { |
|
return new E.SassScriptException($name == null ? message : "$" + $name + ": " + message); |
|
} |
|
}; |
|
T.SassNumber_valueInUnits_closure.prototype = { |
|
call$1: function(oldNumerator) { |
|
var t1, |
|
factor = this.$this._conversionFactor$2(this.newNumerator, oldNumerator); |
|
if (factor == null) |
|
return false; |
|
t1 = this._box_0; |
|
t1.value = t1.value * factor; |
|
return true; |
|
} |
|
}; |
|
T.SassNumber_valueInUnits_closure0.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this; |
|
throw H.wrapException(E.SassScriptException$("Incompatible units " + t1._unitString$2(t1.numeratorUnits, t1.denominatorUnits) + " and " + t1._unitString$2(this.newNumerators, this.newDenominators) + ".")); |
|
} |
|
}; |
|
T.SassNumber_valueInUnits_closure1.prototype = { |
|
call$1: function(oldDenominator) { |
|
var t1, |
|
factor = this.$this._conversionFactor$2(this.newDenominator, oldDenominator); |
|
if (factor == null) |
|
return false; |
|
t1 = this._box_0; |
|
t1.value = t1.value / factor; |
|
return true; |
|
} |
|
}; |
|
T.SassNumber_valueInUnits_closure2.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this; |
|
throw H.wrapException(E.SassScriptException$("Incompatible units " + t1._unitString$2(t1.numeratorUnits, t1.denominatorUnits) + " and " + t1._unitString$2(this.newNumerators, this.newDenominators) + ".")); |
|
} |
|
}; |
|
T.SassNumber_modulo_closure.prototype = { |
|
call$2: function(num1, num2) { |
|
var t1; |
|
if (num2 > 0) |
|
return C.JSNumber_methods.$mod(num1, num2); |
|
if (num2 === 0) |
|
return 0 / 0; |
|
t1 = C.JSNumber_methods.$mod(num1, num2); |
|
return t1 === 0 ? 0 : t1 + num2; |
|
} |
|
}; |
|
T.SassNumber_plus_closure.prototype = { |
|
call$2: function(num1, num2) { |
|
return num1 + num2; |
|
} |
|
}; |
|
T.SassNumber_minus_closure.prototype = { |
|
call$2: function(num1, num2) { |
|
return num1 - num2; |
|
} |
|
}; |
|
T.SassNumber__multiplyUnits_closure.prototype = { |
|
call$1: function(denominator) { |
|
var factor = this.$this._conversionFactor$2(this.numerator, denominator); |
|
if (factor == null) |
|
return false; |
|
this._box_0.value /= factor; |
|
return true; |
|
} |
|
}; |
|
T.SassNumber__multiplyUnits_closure0.prototype = { |
|
call$0: function() { |
|
this.newNumerators.push(this.numerator); |
|
return; |
|
} |
|
}; |
|
T.SassNumber__multiplyUnits_closure1.prototype = { |
|
call$1: function(denominator) { |
|
var factor = this.$this._conversionFactor$2(this.numerator, denominator); |
|
if (factor == null) |
|
return false; |
|
this._box_0.value /= factor; |
|
return true; |
|
} |
|
}; |
|
T.SassNumber__multiplyUnits_closure2.prototype = { |
|
call$0: function() { |
|
this.newNumerators.push(this.numerator); |
|
return; |
|
} |
|
}; |
|
T.SassNumber__areAnyConvertible_closure.prototype = { |
|
call$1: function(unit1) { |
|
var t1 = $.$get$_conversions(); |
|
if (!t1.containsKey$1(unit1)) |
|
return C.JSArray_methods.contains$1(this.units2, unit1); |
|
return C.JSArray_methods.any$1(this.units2, t1.$index(0, unit1).get$containsKey()); |
|
} |
|
}; |
|
T.SassNumber__canonicalMultiplier_closure.prototype = { |
|
call$2: function(multiplier, unit) { |
|
var t1, |
|
innerMap = $.$get$_conversions().$index(0, unit); |
|
if (innerMap == null) |
|
t1 = multiplier; |
|
else { |
|
t1 = innerMap.get$values(); |
|
t1 = multiplier / t1.get$first(t1); |
|
} |
|
return t1; |
|
} |
|
}; |
|
D.SassString.prototype = { |
|
get$sassLength: function() { |
|
var t1 = this._sassLength; |
|
if (t1 == null) { |
|
t1 = this.text; |
|
t1.toString; |
|
t1 = new P.Runes(t1); |
|
t1 = this._sassLength = t1.get$length(t1); |
|
} |
|
return t1; |
|
}, |
|
get$isSpecialNumber: function() { |
|
var t1, t2; |
|
if (this.hasQuotes) |
|
return false; |
|
t1 = this.text; |
|
if (t1.length < 6) |
|
return false; |
|
t2 = J.getInterceptor$s(t1)._codeUnitAt$1(t1, 0) | 32; |
|
if (t2 === 99) { |
|
if ((C.JSString_methods._codeUnitAt$1(t1, 1) | 32) !== 97) |
|
return false; |
|
if ((C.JSString_methods._codeUnitAt$1(t1, 2) | 32) !== 108) |
|
return false; |
|
if ((C.JSString_methods._codeUnitAt$1(t1, 3) | 32) !== 99) |
|
return false; |
|
return C.JSString_methods._codeUnitAt$1(t1, 4) === 40; |
|
} else if (t2 === 118) { |
|
if ((C.JSString_methods._codeUnitAt$1(t1, 1) | 32) !== 97) |
|
return false; |
|
if ((C.JSString_methods._codeUnitAt$1(t1, 2) | 32) !== 114) |
|
return false; |
|
return C.JSString_methods._codeUnitAt$1(t1, 3) === 40; |
|
} else if (t2 === 101) { |
|
if ((C.JSString_methods._codeUnitAt$1(t1, 1) | 32) !== 110) |
|
return false; |
|
if ((C.JSString_methods._codeUnitAt$1(t1, 2) | 32) !== 118) |
|
return false; |
|
return C.JSString_methods._codeUnitAt$1(t1, 3) === 40; |
|
} else if (t2 === 109) { |
|
t2 = C.JSString_methods._codeUnitAt$1(t1, 1) | 32; |
|
if (t2 === 97) { |
|
if ((C.JSString_methods._codeUnitAt$1(t1, 2) | 32) !== 120) |
|
return false; |
|
return C.JSString_methods._codeUnitAt$1(t1, 3) === 40; |
|
} else if (t2 === 105) { |
|
if ((C.JSString_methods._codeUnitAt$1(t1, 2) | 32) !== 110) |
|
return false; |
|
return C.JSString_methods._codeUnitAt$1(t1, 3) === 40; |
|
} else |
|
return false; |
|
} else |
|
return false; |
|
}, |
|
get$isVar: function() { |
|
if (this.hasQuotes) |
|
return false; |
|
var t1 = this.text; |
|
if (t1.length < 8) |
|
return false; |
|
return (J.getInterceptor$s(t1)._codeUnitAt$1(t1, 0) | 32) === 118 && (C.JSString_methods._codeUnitAt$1(t1, 1) | 32) === 97 && (C.JSString_methods._codeUnitAt$1(t1, 2) | 32) === 114 && C.JSString_methods._codeUnitAt$1(t1, 3) === 40; |
|
}, |
|
get$isBlank: function() { |
|
return !this.hasQuotes && this.text.length === 0; |
|
}, |
|
accept$1$1: function(visitor) { |
|
var t1 = visitor._quote && this.hasQuotes, |
|
t2 = this.text; |
|
if (t1) |
|
visitor._visitQuotedString$1(t2); |
|
else |
|
visitor._visitUnquotedString$1(t2); |
|
return; |
|
}, |
|
accept$1: function(visitor) { |
|
return this.accept$1$1(visitor, null); |
|
}, |
|
assertString$1: function($name) { |
|
return this; |
|
}, |
|
plus$1: function(other) { |
|
var t1 = this.text, |
|
t2 = this.hasQuotes; |
|
if (other instanceof D.SassString) |
|
return new D.SassString(J.$add$ansx(t1, other.text), t2); |
|
else { |
|
other.toString; |
|
return new D.SassString(J.$add$ansx(t1, N.serializeValue(other, false, true)), t2); |
|
} |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof D.SassString && this.text == other.text; |
|
}, |
|
get$hashCode: function(_) { |
|
return J.get$hashCode$(this.text); |
|
} |
|
}; |
|
E._EvaluateVisitor0.prototype = { |
|
_EvaluateVisitor$5$functions$importCache$logger$nodeImporter$sourceMap0: function(functions, importCache, logger, nodeImporter, sourceMap) { |
|
var t6, t7, t8, t9, t10, t11, t12, metaFunctions, metaMixins, _i, metaModule, module, $function, _this = this, |
|
_s9_ = "sass:meta", |
|
t1 = P.String, |
|
t2 = Z.VariableDeclaration, |
|
t3 = S.SpanScanner$("@function global-variable-exists($name, $module: null) {", _s9_), |
|
t4 = [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}], |
|
t5 = [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]]; |
|
t3 = H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t3, C.StderrLogger_false).parseArgumentDeclaration$0(), new E._EvaluateVisitor_closure9(_this), t4)], t5); |
|
t6 = S.SpanScanner$("@function variable-exists($name) {", _s9_); |
|
t6 = H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t6, C.StderrLogger_false).parseArgumentDeclaration$0(), new E._EvaluateVisitor_closure10(_this), t4)], t5); |
|
t7 = S.SpanScanner$("@function function-exists($name, $module: null) {", _s9_); |
|
t7 = H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t7, C.StderrLogger_false).parseArgumentDeclaration$0(), new E._EvaluateVisitor_closure11(_this), t4)], t5); |
|
t8 = S.SpanScanner$("@function mixin-exists($name, $module: null) {", _s9_); |
|
t8 = H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t8, C.StderrLogger_false).parseArgumentDeclaration$0(), new E._EvaluateVisitor_closure12(_this), t4)], t5); |
|
t9 = S.SpanScanner$("@function content-exists() {", _s9_); |
|
t9 = H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t9, C.StderrLogger_false).parseArgumentDeclaration$0(), new E._EvaluateVisitor_closure13(_this), t4)], t5); |
|
t10 = S.SpanScanner$("@function module-variables($module) {", _s9_); |
|
t10 = H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t10, C.StderrLogger_false).parseArgumentDeclaration$0(), new E._EvaluateVisitor_closure14(_this), t4)], t5); |
|
t11 = S.SpanScanner$("@function module-functions($module) {", _s9_); |
|
t11 = H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t11, C.StderrLogger_false).parseArgumentDeclaration$0(), new E._EvaluateVisitor_closure15(_this), t4)], t5); |
|
t12 = S.SpanScanner$("@function get-function($name, $css: false, $module: null) {", _s9_); |
|
t4 = H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t12, C.StderrLogger_false).parseArgumentDeclaration$0(), new E._EvaluateVisitor_closure16(_this), t4)], t5); |
|
t5 = S.SpanScanner$("@function call($function, $args...) {", _s9_); |
|
metaFunctions = [new Q.BuiltInCallable("global-variable-exists", t3), new Q.BuiltInCallable("variable-exists", t6), new Q.BuiltInCallable("function-exists", t7), new Q.BuiltInCallable("mixin-exists", t8), new Q.BuiltInCallable("content-exists", t9), new Q.BuiltInCallable("module-variables", t10), new Q.BuiltInCallable("module-functions", t11), new Q.BuiltInCallable("get-function", t4), new S.AsyncBuiltInCallable("call", new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t5, C.StderrLogger_false).parseArgumentDeclaration$0(), new E._EvaluateVisitor_closure17(_this))]; |
|
t1 = S.AsyncBuiltInCallable; |
|
t2 = [t1]; |
|
metaMixins = H.setRuntimeTypeInfo([S.AsyncBuiltInCallable$mixin("load-css", "$module, $with: null", new E._EvaluateVisitor_closure18(_this), _s9_)], t2); |
|
t2 = H.setRuntimeTypeInfo([], t2); |
|
for (t3 = $.$get$global(), t3 = new H.ListIterator(t3, t3.get$length(t3)); t3.moveNext$0();) |
|
t2.push(t3.__internal$_current); |
|
for (_i = 0; _i < 9; ++_i) |
|
t2.push(metaFunctions[_i]); |
|
metaModule = Q.BuiltInModule$("meta", t2, metaMixins, null, t1); |
|
t1 = H.setRuntimeTypeInfo([], [[Q.BuiltInModule, S.AsyncBuiltInCallable]]); |
|
for (t2 = $.$get$coreModules(), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) |
|
t1.push(t2.__internal$_current); |
|
t1.push(metaModule); |
|
t2 = t1.length; |
|
t3 = _this._async_evaluate$_builtInModules; |
|
_i = 0; |
|
for (; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { |
|
module = t1[_i]; |
|
t3.$indexSet(0, module.url, module); |
|
} |
|
t1 = H.setRuntimeTypeInfo([], [B.AsyncCallable]); |
|
if (functions != null) |
|
for (t2 = functions.length, _i = 0; _i < functions.length; functions.length === t2 || (0, H.throwConcurrentModificationError)(functions), ++_i) |
|
t1.push(functions[_i]); |
|
for (t2 = $.$get$globalFunctions(), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) |
|
t1.push(t2.__internal$_current); |
|
for (_i = 0; _i < 9; ++_i) |
|
t1.push(metaFunctions[_i]); |
|
for (t2 = t1.length, t3 = _this._async_evaluate$_builtInFunctions, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { |
|
$function = t1[_i]; |
|
t4 = $function.get$name(); |
|
t4.toString; |
|
t3.$indexSet(0, H.stringReplaceAllUnchecked(t4, "_", "-"), $function); |
|
} |
|
}, |
|
run$2: function(_, importer, node) { |
|
return this.run$body$_EvaluateVisitor(_, importer, node); |
|
}, |
|
run$body$_EvaluateVisitor: function(_, importer, node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(E.EvaluateResult), |
|
$async$returnValue, $async$self = this; |
|
var $async$run$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$returnValue = $async$self._async_evaluate$_withWarnCallback$1(new E._EvaluateVisitor_run_closure0($async$self, node, importer)); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$run$2, $async$completer); |
|
}, |
|
_async_evaluate$_withWarnCallback$1$1: function(callback) { |
|
return N.withWarnCallback(new E._EvaluateVisitor__withWarnCallback_closure0(this), callback); |
|
}, |
|
_async_evaluate$_withWarnCallback$1: function(callback) { |
|
return this._async_evaluate$_withWarnCallback$1$1(callback, null); |
|
}, |
|
_async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors: function(url, stackFrame, nodeWithSpan, callback, baseUrl, configuration, namesInErrors) { |
|
return this._loadModule$body$_EvaluateVisitor(url, stackFrame, nodeWithSpan, callback, baseUrl, configuration, namesInErrors); |
|
}, |
|
_async_evaluate$_loadModule$5$configuration: function(url, stackFrame, nodeWithSpan, callback, configuration) { |
|
return this._async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeWithSpan, callback, null, configuration, false); |
|
}, |
|
_async_evaluate$_loadModule$4: function(url, stackFrame, nodeWithSpan, callback) { |
|
return this._async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeWithSpan, callback, null, null, false); |
|
}, |
|
_loadModule$body$_EvaluateVisitor: function(url, stackFrame, nodeWithSpan, callback, baseUrl, configuration, namesInErrors) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$returnValue, $async$self = this, t1, builtInModule; |
|
var $async$_async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
builtInModule = $async$self._async_evaluate$_builtInModules.$index(0, url); |
|
if (builtInModule != null) { |
|
if (configuration != null && !configuration.isImplicit) { |
|
t1 = namesInErrors ? "Built-in module " + H.S(url) + " can't be configured." : "Built-in modules can't be configured."; |
|
throw H.wrapException($async$self._async_evaluate$_exception$2(t1, nodeWithSpan.get$span())); |
|
} |
|
callback.call$1(builtInModule); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_withStackFrame$1$3(stackFrame, nodeWithSpan, new E._EvaluateVisitor__loadModule_closure0($async$self, url, nodeWithSpan, baseUrl, namesInErrors, configuration, callback), P.Null), $async$_async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors); |
|
case 3: |
|
// returning from await. |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors, $async$completer); |
|
}, |
|
_async_evaluate$_execute$5$configuration$namesInErrors$nodeWithSpan: function(importer, stylesheet, configuration, namesInErrors, nodeWithSpan) { |
|
return this._execute$body$_EvaluateVisitor(importer, stylesheet, configuration, namesInErrors, nodeWithSpan); |
|
}, |
|
_async_evaluate$_execute$2: function(importer, stylesheet) { |
|
return this._async_evaluate$_execute$5$configuration$namesInErrors$nodeWithSpan(importer, stylesheet, null, false, null); |
|
}, |
|
_execute$body$_EvaluateVisitor: function(importer, stylesheet, configuration, namesInErrors, nodeWithSpan) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter([G.Module, B.AsyncCallable]), |
|
$async$returnValue, $async$self = this, message, existingNode, environment, t3, extender, module, t1, url, t2, alreadyLoaded; |
|
var $async$_async_evaluate$_execute$5$configuration$namesInErrors$nodeWithSpan = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = {}; |
|
url = stylesheet.span.file.url; |
|
t2 = $async$self._async_evaluate$_modules; |
|
alreadyLoaded = t2.$index(0, url); |
|
if (alreadyLoaded != null) { |
|
t1 = configuration == null; |
|
if (!(t1 ? $async$self._async_evaluate$_configuration : configuration).isImplicit) { |
|
message = namesInErrors ? H.S($.$get$context().prettyUri$1(url)) + ' was already loaded, so it can\'t be configured using "with".' : 'This module was already loaded, so it can\'t be configured using "with".'; |
|
existingNode = $async$self._async_evaluate$_moduleNodes.$index(0, url); |
|
t2 = P.LinkedHashMap_LinkedHashMap$_empty(Y.FileSpan, P.String); |
|
if (existingNode != null) |
|
t2.$indexSet(0, existingNode.get$span(), "original load"); |
|
if (t1) |
|
t2.$indexSet(0, $async$self._async_evaluate$_configuration.nodeWithSpan.get$span(), "configuration"); |
|
throw H.wrapException(t2.get$isEmpty(t2) ? $async$self._async_evaluate$_exception$1(message) : $async$self._async_evaluate$_multiSpanException$3(message, "new load", t2)); |
|
} |
|
$async$returnValue = alreadyLoaded; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
environment = Q.AsyncEnvironment$($async$self._async_evaluate$_sourceMap); |
|
t1.css = null; |
|
t3 = M.SimpleSelector; |
|
extender = new F.Extender(P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.Set, [F.ModifiableCssValue, D.SelectorList]]), P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.Map, S.ComplexSelector, S.Extension]), P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.List, S.Extension]), P.LinkedHashMap_LinkedHashMap$_empty([F.ModifiableCssValue, D.SelectorList], [P.List, F.CssMediaQuery]), P._LinkedIdentityHashMap__LinkedIdentityHashMap$es6(t3, P.int), new P._LinkedIdentityHashSet([S.ComplexSelector]), C.ExtendMode_normal); |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_withEnvironment$1$2(environment, new E._EvaluateVisitor__execute_closure0(t1, $async$self, importer, stylesheet, extender, configuration), P.Null), $async$_async_evaluate$_execute$5$configuration$namesInErrors$nodeWithSpan); |
|
case 3: |
|
// returning from await. |
|
module = Q._EnvironmentModule__EnvironmentModule0(environment, t1.css, extender, environment._async_environment$_forwardedModules); |
|
t2.$indexSet(0, url, module); |
|
$async$self._async_evaluate$_moduleNodes.$indexSet(0, url, nodeWithSpan); |
|
$async$returnValue = module; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_execute$5$configuration$namesInErrors$nodeWithSpan, $async$completer); |
|
}, |
|
_async_evaluate$_addOutOfOrderImports$0: function() { |
|
var t1, t2, statements, _this = this; |
|
if (_this._async_evaluate$_outOfOrderImports == null) |
|
return _this._async_evaluate$_root.children; |
|
t1 = B.ModifiableCssNode; |
|
t2 = new Array(J.get$length$asx(_this._async_evaluate$_root.children._collection$_source) + _this._async_evaluate$_outOfOrderImports.length); |
|
t2.fixed$length = Array; |
|
statements = new G.FixedLengthListBuilder(H.setRuntimeTypeInfo(t2, [t1]), [t1]); |
|
statements.addRange$3(_this._async_evaluate$_root.children, 0, _this._async_evaluate$_endOfImports); |
|
statements.addAll$1(0, _this._async_evaluate$_outOfOrderImports); |
|
statements.addRange$2(_this._async_evaluate$_root.children, _this._async_evaluate$_endOfImports); |
|
return statements.build$0(); |
|
}, |
|
_async_evaluate$_combineCss$2$clone: function(root, clone) { |
|
var selectors, unsatisfiedExtension, sortedModules, t1, t2, imports, css, t3, statements, index, _this = this; |
|
if (!C.JSArray_methods.any$1(root.get$upstream(), new E._EvaluateVisitor__combineCss_closure2())) { |
|
selectors = root.get$extender().get$simpleSelectors(); |
|
unsatisfiedExtension = B.firstOrNull(root.get$extender().extensionsWhereTarget$1(new E._EvaluateVisitor__combineCss_closure3(selectors))); |
|
if (unsatisfiedExtension != null) |
|
_this._async_evaluate$_throwForUnsatisfiedExtension$1(unsatisfiedExtension); |
|
return root.get$css(root); |
|
} |
|
sortedModules = _this._async_evaluate$_topologicalModules$1(root); |
|
if (clone) |
|
sortedModules = new H.MappedListIterable(sortedModules, new E._EvaluateVisitor__combineCss_closure4(), [H.getTypeArgumentByIndex(sortedModules, 0), [G.Module, B.AsyncCallable]]).toList$0(0); |
|
_this._async_evaluate$_extendModules$1(sortedModules); |
|
t1 = B.CssNode; |
|
t2 = [t1]; |
|
imports = H.setRuntimeTypeInfo([], t2); |
|
css = H.setRuntimeTypeInfo([], t2); |
|
for (t2 = J.get$reversed$ax(sortedModules), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) { |
|
t3 = t2.__internal$_current; |
|
statements = t3.get$css(t3).get$children(); |
|
index = _this._async_evaluate$_indexAfterImports$1(statements); |
|
t3 = J.getInterceptor$ax(statements); |
|
C.JSArray_methods.addAll$1(imports, t3.getRange$2(statements, 0, index)); |
|
C.JSArray_methods.addAll$1(css, t3.getRange$2(statements, index, t3.get$length(statements))); |
|
} |
|
return new V.CssStylesheet(new P.UnmodifiableListView(C.JSArray_methods.$add(imports, css), [t1]), root.get$css(root).get$span()); |
|
}, |
|
_async_evaluate$_combineCss$1: function(root) { |
|
return this._async_evaluate$_combineCss$2$clone(root, false); |
|
}, |
|
_async_evaluate$_extendModules$1: function(sortedModules) { |
|
var t1, t2, originalSelectors, extenders, t3, t4, _i, |
|
downstreamExtenders = P.LinkedHashMap_LinkedHashMap$_empty(P.Uri, [P.List, F.Extender]), |
|
unsatisfiedExtensions = new P._LinkedIdentityHashSet([S.Extension]); |
|
for (t1 = J.get$iterator$ax(sortedModules); t1.moveNext$0();) { |
|
t2 = t1.get$current(t1); |
|
originalSelectors = t2.get$extender().get$simpleSelectors().toSet$0(0); |
|
unsatisfiedExtensions.addAll$1(0, t2.get$extender().extensionsWhereTarget$1(new E._EvaluateVisitor__extendModules_closure1(originalSelectors))); |
|
extenders = downstreamExtenders.$index(0, t2.get$url()); |
|
if (extenders != null) |
|
t2.get$extender().addExtensions$1(extenders); |
|
t3 = t2.get$extender(); |
|
if (t3.get$isEmpty(t3)) |
|
continue; |
|
for (t3 = t2.get$upstream(), t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i) |
|
J.add$1$ax(downstreamExtenders.putIfAbsent$2(t3[_i].get$url(), new E._EvaluateVisitor__extendModules_closure2()), t2.get$extender()); |
|
unsatisfiedExtensions.removeAll$1(t2.get$extender().extensionsWhereTarget$1(originalSelectors.get$contains(originalSelectors))); |
|
} |
|
if (unsatisfiedExtensions._collection$_length !== 0) |
|
this._async_evaluate$_throwForUnsatisfiedExtension$1(unsatisfiedExtensions.get$first(unsatisfiedExtensions)); |
|
}, |
|
_async_evaluate$_throwForUnsatisfiedExtension$1: function(extension) { |
|
throw H.wrapException(E.SassException$('The target selector was not found.\nUse "@extend ' + H.S(extension.target) + ' !optional" to avoid this error.', extension.span)); |
|
}, |
|
_async_evaluate$_topologicalModules$1: function(root) { |
|
var t1 = [G.Module, B.AsyncCallable], |
|
sorted = Q.QueueList$(null, t1); |
|
new E._EvaluateVisitor__topologicalModules_visitModule0(P.LinkedHashSet_LinkedHashSet$_empty(t1), sorted).call$1(root); |
|
return sorted; |
|
}, |
|
_async_evaluate$_indexAfterImports$1: function(statements) { |
|
var t1, lastImport, i, t2; |
|
for (t1 = J.getInterceptor$asx(statements), lastImport = -1, i = 0; i < t1.get$length(statements); ++i) { |
|
t2 = J.getInterceptor$(t1.$index(statements, i)); |
|
if (!!t2.$isCssImport) |
|
lastImport = i; |
|
else if (!t2.$isCssComment) |
|
break; |
|
} |
|
return lastImport + 1; |
|
}, |
|
visitStylesheet$1: function(node) { |
|
return this.visitStylesheet$body$_EvaluateVisitor(node); |
|
}, |
|
visitStylesheet$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, t1, t2, _i; |
|
var $async$visitStylesheet$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = node.children, t2 = t1.length, _i = 0; |
|
case 3: |
|
// for condition |
|
if (!(_i < t2)) { |
|
// goto after for |
|
$async$goto = 5; |
|
break; |
|
} |
|
$async$goto = 6; |
|
return P._asyncAwait(t1[_i].accept$1($async$self), $async$visitStylesheet$1); |
|
case 6: |
|
// returning from await. |
|
case 4: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 5: |
|
// after for |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitStylesheet$1, $async$completer); |
|
}, |
|
visitAtRootRule$1: function(node) { |
|
return this.visitAtRootRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitAtRootRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, root, innerCopy, outerCopy, copy, t1, query, $parent, included, $async$temp1, $async$temp2; |
|
var $async$visitAtRootRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = node.query; |
|
$async$goto = t1 != null ? 3 : 5; |
|
break; |
|
case 3: |
|
// then |
|
$async$temp1 = t1; |
|
$async$temp2 = E; |
|
$async$goto = 6; |
|
return P._asyncAwait($async$self._async_evaluate$_performInterpolation$2$warnForColor(t1, true), $async$visitAtRootRule$1); |
|
case 6: |
|
// returning from await. |
|
$async$result = $async$self._async_evaluate$_adjustParseError$2($async$temp1, new $async$temp2._EvaluateVisitor_visitAtRootRule_closure2($async$self, $async$result)); |
|
// goto join |
|
$async$goto = 4; |
|
break; |
|
case 5: |
|
// else |
|
$async$result = C.AtRootQuery_UsS; |
|
case 4: |
|
// join |
|
query = $async$result; |
|
$parent = $async$self._async_evaluate$_parent; |
|
included = H.setRuntimeTypeInfo([], [B.ModifiableCssParentNode]); |
|
for (; !J.getInterceptor$($parent).$isCssStylesheet;) { |
|
if (!query.excludes$1($parent)) |
|
included.push($parent); |
|
$parent = $parent._parent; |
|
} |
|
root = $async$self._async_evaluate$_trimIncluded$1(included); |
|
$async$goto = root == $async$self._async_evaluate$_parent ? 7 : 8; |
|
break; |
|
case 7: |
|
// then |
|
$async$goto = 9; |
|
return P._asyncAwait($async$self._async_evaluate$_environment.scope$1$2$when(new E._EvaluateVisitor_visitAtRootRule_closure3($async$self, node), node.hasDeclarations, P.Null), $async$visitAtRootRule$1); |
|
case 9: |
|
// returning from await. |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 8: |
|
// join |
|
innerCopy = included.length === 0 ? null : C.JSArray_methods.get$first(included).copyWithoutChildren$0(); |
|
for (t1 = H.SubListIterable$(included, 1, null, H.getTypeArgumentByIndex(included, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)), outerCopy = innerCopy; t1.moveNext$0(); outerCopy = copy) { |
|
copy = t1.__internal$_current.copyWithoutChildren$0(); |
|
copy.addChild$1(outerCopy); |
|
} |
|
if (outerCopy != null) |
|
root.addChild$1(outerCopy); |
|
$async$goto = 10; |
|
return P._asyncAwait($async$self._async_evaluate$_scopeForAtRoot$4(node, innerCopy == null ? root : innerCopy, query, included).call$1(new E._EvaluateVisitor_visitAtRootRule_closure4($async$self, node)), $async$visitAtRootRule$1); |
|
case 10: |
|
// returning from await. |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitAtRootRule$1, $async$completer); |
|
}, |
|
_async_evaluate$_trimIncluded$1: function(nodes) { |
|
var $parent, innermostContiguous, i, t2, root, |
|
t1 = nodes.length; |
|
if (t1 === 0) |
|
return this._async_evaluate$_root; |
|
$parent = this._async_evaluate$_parent; |
|
for (innermostContiguous = null, i = 0; i < t1; ++i) { |
|
for (; $parent != nodes[i]; innermostContiguous = null) |
|
$parent = $parent._parent; |
|
if (innermostContiguous == null) |
|
innermostContiguous = i; |
|
$parent = $parent._parent; |
|
} |
|
t2 = this._async_evaluate$_root; |
|
if ($parent != t2) |
|
return t2; |
|
root = nodes[innermostContiguous]; |
|
C.JSArray_methods.removeRange$2(nodes, innermostContiguous, t1); |
|
return root; |
|
}, |
|
_async_evaluate$_scopeForAtRoot$4: function(node, newParent, query, included) { |
|
var _this = this, |
|
scope = new E._EvaluateVisitor__scopeForAtRoot_closure5(_this, newParent, node), |
|
t1 = query._all, |
|
t2 = t1 || query._at_root_query$_rule, |
|
t3 = query.include; |
|
if (t2 !== t3) |
|
scope = new E._EvaluateVisitor__scopeForAtRoot_closure6(_this, scope); |
|
if (t1 ? !t3 : query.names.contains$1(0, "media") !== t3) |
|
scope = new E._EvaluateVisitor__scopeForAtRoot_closure7(_this, scope); |
|
if (_this._async_evaluate$_inKeyframes && query.names.contains$1(0, "keyframes") !== t3) |
|
scope = new E._EvaluateVisitor__scopeForAtRoot_closure8(_this, scope); |
|
return _this._async_evaluate$_inUnknownAtRule && !C.JSArray_methods.any$1(included, new E._EvaluateVisitor__scopeForAtRoot_closure9()) ? new E._EvaluateVisitor__scopeForAtRoot_closure10(_this, scope) : scope; |
|
}, |
|
visitContentBlock$1: function(node) { |
|
return H.throwExpression(P.UnsupportedError$("Evaluation handles @include and its content block together.")); |
|
}, |
|
visitContentRule$1: function(node) { |
|
return this.visitContentRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitContentRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, $content; |
|
var $async$visitContentRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$content = $async$self._async_evaluate$_environment._async_environment$_content; |
|
if ($content == null) { |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_runUserDefinedCallable$4(node.$arguments, $content, node, new E._EvaluateVisitor_visitContentRule_closure0($async$self, $content)), $async$visitContentRule$1); |
|
case 3: |
|
// returning from await. |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitContentRule$1, $async$completer); |
|
}, |
|
visitDebugRule$1: function(node) { |
|
return this.visitDebugRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitDebugRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, value, t1; |
|
var $async$visitDebugRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._asyncAwait(node.expression.accept$1($async$self), $async$visitDebugRule$1); |
|
case 3: |
|
// returning from await. |
|
value = $async$result; |
|
t1 = J.getInterceptor$(value); |
|
t1 = !!t1.$isSassString ? value.text : t1.toString$0(value); |
|
$async$self._async_evaluate$_logger.debug$2(t1, node.span); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitDebugRule$1, $async$completer); |
|
}, |
|
visitDeclaration$1: function(node) { |
|
return this.visitDeclaration$body$_EvaluateVisitor(node); |
|
}, |
|
visitDeclaration$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, $name, t1, cssValue, t2, oldDeclarationName, $async$temp1; |
|
var $async$visitDeclaration$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if (!($async$self._async_evaluate$_styleRule != null && !$async$self._async_evaluate$_atRootExcludingStyleRule) && !$async$self._async_evaluate$_inUnknownAtRule && !$async$self._async_evaluate$_inKeyframes) |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("Declarations may only be used within style rules.", node.span)); |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$2$warnForColor(node.name, true), $async$visitDeclaration$1); |
|
case 3: |
|
// returning from await. |
|
$name = $async$result; |
|
t1 = $async$self._async_evaluate$_declarationName; |
|
if (t1 != null) |
|
$name = new F.CssValue(t1 + "-" + H.S($name.get$value($name)), $name.get$span(), [P.String]); |
|
t1 = node.value; |
|
$async$goto = t1 == null ? 4 : 6; |
|
break; |
|
case 4: |
|
// then |
|
$async$result = null; |
|
// goto join |
|
$async$goto = 5; |
|
break; |
|
case 6: |
|
// else |
|
$async$temp1 = F; |
|
$async$goto = 7; |
|
return P._asyncAwait(t1.accept$1($async$self), $async$visitDeclaration$1); |
|
case 7: |
|
// returning from await. |
|
$async$result = new $async$temp1.CssValue($async$result, t1.get$span(), [F.Value]); |
|
case 5: |
|
// join |
|
cssValue = $async$result; |
|
if (cssValue != null) { |
|
t2 = cssValue.value; |
|
t2 = !t2.get$isBlank() || t2.get$asList().length === 0; |
|
} else |
|
t2 = false; |
|
if (t2) { |
|
t2 = $async$self._async_evaluate$_parent; |
|
t1 = $async$self._async_evaluate$_expressionNode$1(t1); |
|
t1 = t1 == null ? null : t1.get$span(); |
|
t2.addChild$1(L.ModifiableCssDeclaration$($name, cssValue, node.span, t1)); |
|
} else if (J.startsWith$1$s($name.get$value($name), "--")) |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("Custom property values may not be empty.", t1.get$span())); |
|
$async$goto = node.children != null ? 8 : 9; |
|
break; |
|
case 8: |
|
// then |
|
oldDeclarationName = $async$self._async_evaluate$_declarationName; |
|
$async$self._async_evaluate$_declarationName = $name.get$value($name); |
|
$async$goto = 10; |
|
return P._asyncAwait($async$self._async_evaluate$_environment.scope$1$2$when(new E._EvaluateVisitor_visitDeclaration_closure0($async$self, node), node.hasDeclarations, P.Null), $async$visitDeclaration$1); |
|
case 10: |
|
// returning from await. |
|
$async$self._async_evaluate$_declarationName = oldDeclarationName; |
|
case 9: |
|
// join |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitDeclaration$1, $async$completer); |
|
}, |
|
visitEachRule$1: function(node) { |
|
return this.visitEachRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitEachRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, t1, list, nodeWithSpan, setVariables; |
|
var $async$visitEachRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = node.list; |
|
$async$goto = 3; |
|
return P._asyncAwait(t1.accept$1($async$self), $async$visitEachRule$1); |
|
case 3: |
|
// returning from await. |
|
list = $async$result; |
|
nodeWithSpan = $async$self._async_evaluate$_expressionNode$1(t1); |
|
setVariables = node.variables.length === 1 ? new E._EvaluateVisitor_visitEachRule_closure2($async$self, node, nodeWithSpan) : new E._EvaluateVisitor_visitEachRule_closure3($async$self, node, nodeWithSpan); |
|
$async$returnValue = $async$self._async_evaluate$_environment.scope$1$2$semiGlobal(new E._EvaluateVisitor_visitEachRule_closure4($async$self, list, setVariables, node), true, F.Value); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitEachRule$1, $async$completer); |
|
}, |
|
_async_evaluate$_setMultipleVariables$3: function(variables, value, nodeWithSpan) { |
|
var i, |
|
list = value.get$asList(), |
|
t1 = variables.length, |
|
minLength = Math.min(t1, list.length); |
|
for (i = 0; i < minLength; ++i) |
|
this._async_evaluate$_environment.setLocalVariable$3(variables[i], list[i].withoutSlash$0(), nodeWithSpan); |
|
for (i = minLength; i < t1; ++i) |
|
this._async_evaluate$_environment.setLocalVariable$3(variables[i], C.C_SassNull, nodeWithSpan); |
|
}, |
|
visitErrorRule$1: function(node) { |
|
return this.visitErrorRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitErrorRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$self = this, $async$temp1, $async$temp2; |
|
var $async$visitErrorRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$temp1 = H; |
|
$async$temp2 = J; |
|
$async$goto = 2; |
|
return P._asyncAwait(node.expression.accept$1($async$self), $async$visitErrorRule$1); |
|
case 2: |
|
// returning from await. |
|
throw $async$temp1.wrapException($async$self._async_evaluate$_exception$2($async$temp2.toString$0$($async$result), node.span)); |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitErrorRule$1, $async$completer); |
|
}, |
|
visitExtendRule$1: function(node) { |
|
return this.visitExtendRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitExtendRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, targetText, t1, t2, _i, t3; |
|
var $async$visitExtendRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if (!($async$self._async_evaluate$_styleRule != null && !$async$self._async_evaluate$_atRootExcludingStyleRule) || $async$self._async_evaluate$_declarationName != null) |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("@extend may only be used within style rules.", node.span)); |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$2$warnForColor(node.selector, true), $async$visitExtendRule$1); |
|
case 3: |
|
// returning from await. |
|
targetText = $async$result; |
|
for (t1 = $async$self._async_evaluate$_adjustParseError$2(targetText, new E._EvaluateVisitor_visitExtendRule_closure0($async$self, targetText)).components, t2 = t1.length, _i = 0; _i < t2; ++_i) { |
|
t3 = t1[_i].components; |
|
if (t3.length !== 1 || !(C.JSArray_methods.get$first(t3) instanceof X.CompoundSelector)) |
|
throw H.wrapException(E.SassFormatException$("complex selectors may not be extended.", targetText.get$span())); |
|
t3 = H.interceptedTypeCast(C.JSArray_methods.get$first(t3), "$isCompoundSelector").components; |
|
if (t3.length !== 1) |
|
throw H.wrapException(E.SassFormatException$("compound selectors may no longer be extended.\nConsider `@extend " + C.JSArray_methods.join$1(t3, ", ") + "` instead.\nSee http://bit.ly/ExtendCompound for details.\n", targetText.get$span())); |
|
$async$self._async_evaluate$_extender.addExtension$4($async$self._async_evaluate$_styleRule.selector, C.JSArray_methods.get$first(t3), node, $async$self._async_evaluate$_mediaQueries); |
|
} |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitExtendRule$1, $async$completer); |
|
}, |
|
visitAtRule$1: function(node) { |
|
return this.visitAtRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitAtRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, $name, t1, value, t2, t3, wasInKeyframes, wasInUnknownAtRule; |
|
var $async$visitAtRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if ($async$self._async_evaluate$_declarationName != null) |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("At-rules may not be used within nested declarations.", node.span)); |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$1(node.name), $async$visitAtRule$1); |
|
case 3: |
|
// returning from await. |
|
$name = $async$result; |
|
t1 = node.value; |
|
$async$goto = t1 == null ? 4 : 6; |
|
break; |
|
case 4: |
|
// then |
|
$async$result = null; |
|
// goto join |
|
$async$goto = 5; |
|
break; |
|
case 6: |
|
// else |
|
$async$goto = 7; |
|
return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$3$trim$warnForColor(t1, true, true), $async$visitAtRule$1); |
|
case 7: |
|
// returning from await. |
|
case 5: |
|
// join |
|
value = $async$result; |
|
if (node.children == null) { |
|
t1 = $async$self._async_evaluate$_parent; |
|
t2 = B.ModifiableCssNode; |
|
t3 = H.setRuntimeTypeInfo([], [t2]); |
|
t1.addChild$1(new U.ModifiableCssAtRule($name, value, true, node.span, new P.UnmodifiableListView(t3, [t2]), t3)); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
wasInKeyframes = $async$self._async_evaluate$_inKeyframes; |
|
wasInUnknownAtRule = $async$self._async_evaluate$_inUnknownAtRule; |
|
if (B.unvendor($name.get$value($name)) === "keyframes") |
|
$async$self._async_evaluate$_inKeyframes = true; |
|
else |
|
$async$self._async_evaluate$_inUnknownAtRule = true; |
|
t1 = B.ModifiableCssNode; |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
$async$goto = 8; |
|
return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new U.ModifiableCssAtRule($name, value, false, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new E._EvaluateVisitor_visitAtRule_closure1($async$self, node), node.hasDeclarations, new E._EvaluateVisitor_visitAtRule_closure2(), U.ModifiableCssAtRule, P.Null), $async$visitAtRule$1); |
|
case 8: |
|
// returning from await. |
|
$async$self._async_evaluate$_inUnknownAtRule = wasInUnknownAtRule; |
|
$async$self._async_evaluate$_inKeyframes = wasInKeyframes; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitAtRule$1, $async$completer); |
|
}, |
|
visitForRule$1: function(node) { |
|
return this.visitForRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitForRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, t1, t2, t3, fromNumber, t4, toNumber, from, to, direction; |
|
var $async$visitForRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = {}; |
|
t2 = node.from; |
|
t3 = T.SassNumber; |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._addExceptionSpanAsync$1$2(t2, new E._EvaluateVisitor_visitForRule_closure4($async$self, node), t3), $async$visitForRule$1); |
|
case 3: |
|
// returning from await. |
|
fromNumber = $async$result; |
|
t4 = node.to; |
|
$async$goto = 4; |
|
return P._asyncAwait($async$self._addExceptionSpanAsync$1$2(t4, new E._EvaluateVisitor_visitForRule_closure5($async$self, node), t3), $async$visitForRule$1); |
|
case 4: |
|
// returning from await. |
|
toNumber = $async$result; |
|
from = $async$self._async_evaluate$_addExceptionSpan$2(t2, new E._EvaluateVisitor_visitForRule_closure6(fromNumber, toNumber)); |
|
to = t1.to = $async$self._async_evaluate$_addExceptionSpan$2(t4, new E._EvaluateVisitor_visitForRule_closure7(toNumber)); |
|
direction = from > to ? -1 : 1; |
|
if (from === (!node.isExclusive ? t1.to = to + direction : to)) { |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
$async$returnValue = $async$self._async_evaluate$_environment.scope$1$2$semiGlobal(new E._EvaluateVisitor_visitForRule_closure8(t1, $async$self, node, from, direction), true, F.Value); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitForRule$1, $async$completer); |
|
}, |
|
visitForwardRule$1: function(node) { |
|
return this.visitForwardRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitForwardRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, newConfiguration, t4, _i, variable, oldConfiguration, adjustedConfiguration, t1, t2, t3; |
|
var $async$visitForwardRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
oldConfiguration = $async$self._async_evaluate$_configuration; |
|
adjustedConfiguration = oldConfiguration.throughForward$1(node); |
|
t1 = node.configuration; |
|
t2 = t1.length; |
|
t3 = node.url; |
|
$async$goto = t2 !== 0 ? 3 : 5; |
|
break; |
|
case 3: |
|
// then |
|
$async$goto = 6; |
|
return P._asyncAwait($async$self._async_evaluate$_addForwardConfiguration$2(adjustedConfiguration, node), $async$visitForwardRule$1); |
|
case 6: |
|
// returning from await. |
|
newConfiguration = $async$result; |
|
$async$goto = 7; |
|
return P._asyncAwait($async$self._async_evaluate$_loadModule$5$configuration(t3, "@forward", node, new E._EvaluateVisitor_visitForwardRule_closure1($async$self, node), newConfiguration), $async$visitForwardRule$1); |
|
case 7: |
|
// returning from await. |
|
t3 = P.String; |
|
t4 = P.LinkedHashSet_LinkedHashSet(t3); |
|
for (_i = 0; _i < t2; ++_i) { |
|
variable = t1[_i]; |
|
if (!variable.isGuarded) |
|
t4.add$1(0, variable.name); |
|
} |
|
$async$self._async_evaluate$_removeUsedConfiguration$3$except(adjustedConfiguration, newConfiguration, t4); |
|
t3 = P.LinkedHashSet_LinkedHashSet(t3); |
|
for (_i = 0; _i < t2; ++_i) |
|
t3.add$1(0, t1[_i].name); |
|
$async$self._async_evaluate$_assertConfigurationIsEmpty$2$only(newConfiguration, t3); |
|
// goto join |
|
$async$goto = 4; |
|
break; |
|
case 5: |
|
// else |
|
$async$self._async_evaluate$_configuration = adjustedConfiguration; |
|
$async$goto = 8; |
|
return P._asyncAwait($async$self._async_evaluate$_loadModule$4(t3, "@forward", node, new E._EvaluateVisitor_visitForwardRule_closure2($async$self, node)), $async$visitForwardRule$1); |
|
case 8: |
|
// returning from await. |
|
$async$self._async_evaluate$_configuration = oldConfiguration; |
|
case 4: |
|
// join |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitForwardRule$1, $async$completer); |
|
}, |
|
_async_evaluate$_addForwardConfiguration$2: function(configuration, node) { |
|
return this._addForwardConfiguration$body$_EvaluateVisitor(configuration, node); |
|
}, |
|
_addForwardConfiguration$body$_EvaluateVisitor: function(configuration, node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(A.Configuration), |
|
$async$returnValue, $async$self = this, _i, variable, t4, t5, t1, t2, t3, newValues, $async$temp1, $async$temp2, $async$temp3; |
|
var $async$_async_evaluate$_addForwardConfiguration$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = configuration._values; |
|
t2 = P.String; |
|
t3 = Z.ConfiguredValue; |
|
newValues = P.LinkedHashMap_LinkedHashMap$of(new P.UnmodifiableMapView(t1, [t2, t3]), t2, t3); |
|
t2 = node.configuration, t3 = t2.length, _i = 0; |
|
case 3: |
|
// for condition |
|
if (!(_i < t3)) { |
|
// goto after for |
|
$async$goto = 5; |
|
break; |
|
} |
|
variable = t2[_i]; |
|
if (variable.isGuarded) { |
|
t4 = variable.name; |
|
t5 = t1.get$isEmpty(t1) ? null : t1.remove$1(0, t4); |
|
if (t5 != null && !J.$eq$(t5.value, C.C_SassNull)) { |
|
newValues.$indexSet(0, t4, t5); |
|
// goto for update |
|
$async$goto = 4; |
|
break; |
|
} |
|
} |
|
t4 = variable.name; |
|
t5 = variable.expression; |
|
$async$temp1 = newValues; |
|
$async$temp2 = t4; |
|
$async$temp3 = Z; |
|
$async$goto = 6; |
|
return P._asyncAwait(t5.accept$1($async$self), $async$_async_evaluate$_addForwardConfiguration$2); |
|
case 6: |
|
// returning from await. |
|
$async$temp1.$indexSet(0, $async$temp2, new $async$temp3.ConfiguredValue($async$result.withoutSlash$0(), variable.span, $async$self._async_evaluate$_expressionNode$1(t5))); |
|
case 4: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 5: |
|
// after for |
|
$async$returnValue = new A.Configuration(newValues, node, false); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_addForwardConfiguration$2, $async$completer); |
|
}, |
|
_async_evaluate$_removeUsedConfiguration$3$except: function(upstream, downstream, except) { |
|
var t1, t2, t3, _i, $name; |
|
for (t1 = upstream._values, t2 = J.toList$0$ax(t1.get$keys()), t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) { |
|
$name = t2[_i]; |
|
if (except.contains$1(0, $name)) |
|
continue; |
|
if (!downstream._values.containsKey$1($name)) |
|
if (!t1.get$isEmpty(t1)) |
|
t1.remove$1(0, $name); |
|
} |
|
}, |
|
_async_evaluate$_assertConfigurationIsEmpty$3$nameInError$only: function(configuration, nameInError, only) { |
|
configuration._values.forEach$1(0, new E._EvaluateVisitor__assertConfigurationIsEmpty_closure0(this, only, nameInError)); |
|
}, |
|
_async_evaluate$_assertConfigurationIsEmpty$1: function(configuration) { |
|
return this._async_evaluate$_assertConfigurationIsEmpty$3$nameInError$only(configuration, false, null); |
|
}, |
|
_async_evaluate$_assertConfigurationIsEmpty$2$only: function(configuration, only) { |
|
return this._async_evaluate$_assertConfigurationIsEmpty$3$nameInError$only(configuration, false, only); |
|
}, |
|
_async_evaluate$_assertConfigurationIsEmpty$2$nameInError: function(configuration, nameInError) { |
|
return this._async_evaluate$_assertConfigurationIsEmpty$3$nameInError$only(configuration, nameInError, null); |
|
}, |
|
visitFunctionRule$1: function(node) { |
|
return this.visitFunctionRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitFunctionRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, t1, t2, t3, index, t4; |
|
var $async$visitFunctionRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self._async_evaluate$_environment; |
|
t2 = t1.closure$0(); |
|
t3 = t1._async_environment$_functions; |
|
index = t3.length - 1; |
|
t4 = node.name; |
|
t1._async_environment$_functionIndices.$indexSet(0, t4, index); |
|
J.$indexSet$ax(t3[index], t4, new E.UserDefinedCallable(node, t2, [Q.AsyncEnvironment])); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitFunctionRule$1, $async$completer); |
|
}, |
|
visitIfRule$1: function(node) { |
|
return this.visitIfRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitIfRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, t1, t2, _i, clauseToCheck, _box_0; |
|
var $async$visitIfRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
_box_0 = {}; |
|
_box_0.clause = node.lastClause; |
|
t1 = node.clauses, t2 = t1.length, _i = 0; |
|
case 3: |
|
// for condition |
|
if (!(_i < t2)) { |
|
// goto after for |
|
$async$goto = 5; |
|
break; |
|
} |
|
clauseToCheck = t1[_i]; |
|
$async$goto = 6; |
|
return P._asyncAwait(clauseToCheck.expression.accept$1($async$self), $async$visitIfRule$1); |
|
case 6: |
|
// returning from await. |
|
if ($async$result.get$isTruthy()) { |
|
_box_0.clause = clauseToCheck; |
|
// goto after for |
|
$async$goto = 5; |
|
break; |
|
} |
|
case 4: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 5: |
|
// after for |
|
t1 = _box_0.clause; |
|
if (t1 == null) { |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
$async$goto = 7; |
|
return P._asyncAwait($async$self._async_evaluate$_environment.scope$1$3$semiGlobal$when(new E._EvaluateVisitor_visitIfRule_closure0(_box_0, $async$self), true, t1.hasDeclarations, F.Value), $async$visitIfRule$1); |
|
case 7: |
|
// returning from await. |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitIfRule$1, $async$completer); |
|
}, |
|
visitImportRule$1: function(node) { |
|
return this.visitImportRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitImportRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, t1, t2, _i, $import; |
|
var $async$visitImportRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = node.imports, t2 = t1.length, _i = 0; |
|
case 3: |
|
// for condition |
|
if (!(_i < t2)) { |
|
// goto after for |
|
$async$goto = 5; |
|
break; |
|
} |
|
$import = t1[_i]; |
|
$async$goto = $import instanceof B.DynamicImport ? 6 : 8; |
|
break; |
|
case 6: |
|
// then |
|
$async$goto = 9; |
|
return P._asyncAwait($async$self._async_evaluate$_visitDynamicImport$1($import), $async$visitImportRule$1); |
|
case 9: |
|
// returning from await. |
|
// goto join |
|
$async$goto = 7; |
|
break; |
|
case 8: |
|
// else |
|
$async$goto = 10; |
|
return P._asyncAwait($async$self._visitStaticImport$1(H.interceptedTypeCast($import, "$isStaticImport")), $async$visitImportRule$1); |
|
case 10: |
|
// returning from await. |
|
case 7: |
|
// join |
|
case 4: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 5: |
|
// after for |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitImportRule$1, $async$completer); |
|
}, |
|
_async_evaluate$_visitDynamicImport$1: function($import) { |
|
return this._async_evaluate$_withStackFrame$1$3("@import", $import, new E._EvaluateVisitor__visitDynamicImport_closure0(this, $import), -1); |
|
}, |
|
_async_evaluate$_loadStylesheet$4$baseUrl$forImport: function(url, span, baseUrl, forImport) { |
|
return this._loadStylesheet$body$_EvaluateVisitor(url, span, baseUrl, forImport); |
|
}, |
|
_async_evaluate$_loadStylesheet$3$baseUrl: function(url, span, baseUrl) { |
|
return this._async_evaluate$_loadStylesheet$4$baseUrl$forImport(url, span, baseUrl, false); |
|
}, |
|
_async_evaluate$_loadStylesheet$3$forImport: function(url, span, forImport) { |
|
return this._async_evaluate$_loadStylesheet$4$baseUrl$forImport(url, span, null, forImport); |
|
}, |
|
_loadStylesheet$body$_EvaluateVisitor: function(url, span, baseUrl, forImport) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter([S.Tuple2, B.AsyncImporter, V.Stylesheet]), |
|
$async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, stylesheet, tuple, error, error0, message, t1, t2, t3, exception, $async$exception; |
|
var $async$_async_evaluate$_loadStylesheet$4$baseUrl$forImport = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) { |
|
$async$currentError = $async$result; |
|
$async$goto = $async$handler; |
|
} |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$handler = 4; |
|
$async$self._async_evaluate$_importSpan = span; |
|
$async$goto = $async$self._async_evaluate$_nodeImporter != null ? 7 : 9; |
|
break; |
|
case 7: |
|
// then |
|
$async$goto = 10; |
|
return P._asyncAwait($async$self._async_evaluate$_importLikeNode$2(url, forImport), $async$_async_evaluate$_loadStylesheet$4$baseUrl$forImport); |
|
case 10: |
|
// returning from await. |
|
stylesheet = $async$result; |
|
if (stylesheet != null) { |
|
$async$returnValue = new S.Tuple2(null, stylesheet, [B.AsyncImporter, V.Stylesheet]); |
|
$async$next = [1]; |
|
// goto finally |
|
$async$goto = 5; |
|
break; |
|
} |
|
// goto join |
|
$async$goto = 8; |
|
break; |
|
case 9: |
|
// else |
|
t1 = P.Uri_parse(url); |
|
t2 = $async$self._async_evaluate$_importer; |
|
if (baseUrl == null) { |
|
t3 = $async$self._async_evaluate$_stylesheet; |
|
t3 = t3 == null ? null : t3.span; |
|
t3 = t3 == null ? null : t3.file.url; |
|
} else |
|
t3 = baseUrl; |
|
$async$goto = 11; |
|
return P._asyncAwait($async$self._async_evaluate$_importCache.import$4$baseImporter$baseUrl$forImport(t1, t2, t3, forImport), $async$_async_evaluate$_loadStylesheet$4$baseUrl$forImport); |
|
case 11: |
|
// returning from await. |
|
tuple = $async$result; |
|
if (tuple != null) { |
|
$async$returnValue = tuple; |
|
$async$next = [1]; |
|
// goto finally |
|
$async$goto = 5; |
|
break; |
|
} |
|
case 8: |
|
// join |
|
if (C.JSString_methods.startsWith$1(url, "package:") && true) |
|
throw H.wrapException('"package:" URLs aren\'t supported on this platform.'); |
|
else |
|
throw H.wrapException("Can't find stylesheet to import."); |
|
$async$next.push(6); |
|
// goto finally |
|
$async$goto = 5; |
|
break; |
|
case 4: |
|
// catch |
|
$async$handler = 3; |
|
$async$exception = $async$currentError; |
|
t1 = H.unwrapException($async$exception); |
|
if (t1 instanceof E.SassException) { |
|
error = t1; |
|
t1 = $async$self._async_evaluate$_exception$2(error._span_exception$_message, error.get$span()); |
|
throw H.wrapException(t1); |
|
} else { |
|
error0 = t1; |
|
message = null; |
|
try { |
|
message = H.stringTypeCast(J.get$message$x(error0)); |
|
} catch (exception) { |
|
H.unwrapException($async$exception); |
|
message = J.toString$0$(error0); |
|
} |
|
t1 = $async$self._async_evaluate$_exception$1(message); |
|
throw H.wrapException(t1); |
|
} |
|
$async$next.push(6); |
|
// goto finally |
|
$async$goto = 5; |
|
break; |
|
case 3: |
|
// uncaught |
|
$async$next = [2]; |
|
case 5: |
|
// finally |
|
$async$handler = 2; |
|
$async$self._async_evaluate$_importSpan = null; |
|
// goto the next finally handler |
|
$async$goto = $async$next.pop(); |
|
break; |
|
case 6: |
|
// after finally |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
case 2: |
|
// rethrow |
|
return P._asyncRethrow($async$currentError, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_loadStylesheet$4$baseUrl$forImport, $async$completer); |
|
}, |
|
_async_evaluate$_importLikeNode$2: function(originalUrl, forImport) { |
|
return this._importLikeNode$body$_EvaluateVisitor(originalUrl, forImport); |
|
}, |
|
_importLikeNode$body$_EvaluateVisitor: function(originalUrl, forImport) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(V.Stylesheet), |
|
$async$returnValue, $async$self = this, result, contents, url, t1; |
|
var $async$_async_evaluate$_importLikeNode$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self._async_evaluate$_stylesheet.span; |
|
t1 = t1 == null ? null : t1.file.url; |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_nodeImporter.loadAsync$3(originalUrl, t1, forImport), $async$_async_evaluate$_importLikeNode$2); |
|
case 3: |
|
// returning from await. |
|
result = $async$result; |
|
if (result == null) { |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
contents = result.item1; |
|
url = result.item2; |
|
t1 = J.getInterceptor$s(url).startsWith$1(url, "file:") ? $.$get$context().style.pathFromUri$1(M._parseUri(url)) : url; |
|
$async$self._async_evaluate$_includedFiles.add$1(0, t1); |
|
t1 = C.JSString_methods.startsWith$1(url, "file") ? M.Syntax_forPath(url) : C.Syntax_SCSS; |
|
$async$returnValue = V.Stylesheet_Stylesheet$parse(contents, t1, $async$self._async_evaluate$_logger, url); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_importLikeNode$2, $async$completer); |
|
}, |
|
_visitStaticImport$1: function($import) { |
|
return this._visitStaticImport$body$_EvaluateVisitor($import); |
|
}, |
|
_visitStaticImport$body$_EvaluateVisitor: function($import) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$returnValue, $async$self = this, resolvedSupports, t1, mediaQuery, node, t2, url, supports, $async$temp1, $async$temp2; |
|
var $async$_visitStaticImport$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$1($import.url), $async$_visitStaticImport$1); |
|
case 3: |
|
// returning from await. |
|
url = $async$result; |
|
supports = $import.supports; |
|
$async$goto = supports instanceof L.SupportsDeclaration ? 4 : 6; |
|
break; |
|
case 4: |
|
// then |
|
$async$temp1 = H; |
|
$async$goto = 7; |
|
return P._asyncAwait($async$self._evaluateToCss$1(supports.name), $async$_visitStaticImport$1); |
|
case 7: |
|
// returning from await. |
|
$async$temp1 = $async$temp1.S($async$result) + ": "; |
|
$async$temp2 = H; |
|
$async$goto = 8; |
|
return P._asyncAwait($async$self._evaluateToCss$1(supports.value), $async$_visitStaticImport$1); |
|
case 8: |
|
// returning from await. |
|
resolvedSupports = $async$temp1 + $async$temp2.S($async$result); |
|
// goto join |
|
$async$goto = 5; |
|
break; |
|
case 6: |
|
// else |
|
$async$goto = supports == null ? 9 : 11; |
|
break; |
|
case 9: |
|
// then |
|
$async$result = null; |
|
// goto join |
|
$async$goto = 10; |
|
break; |
|
case 11: |
|
// else |
|
$async$goto = 12; |
|
return P._asyncAwait($async$self._async_evaluate$_visitSupportsCondition$1(supports), $async$_visitStaticImport$1); |
|
case 12: |
|
// returning from await. |
|
case 10: |
|
// join |
|
resolvedSupports = $async$result; |
|
case 5: |
|
// join |
|
t1 = $import.media; |
|
$async$goto = t1 == null ? 13 : 15; |
|
break; |
|
case 13: |
|
// then |
|
$async$result = null; |
|
// goto join |
|
$async$goto = 14; |
|
break; |
|
case 15: |
|
// else |
|
$async$goto = 16; |
|
return P._asyncAwait($async$self._async_evaluate$_visitMediaQueries$1(t1), $async$_visitStaticImport$1); |
|
case 16: |
|
// returning from await. |
|
case 14: |
|
// join |
|
mediaQuery = $async$result; |
|
t1 = $import.span; |
|
node = F.ModifiableCssImport$(url, t1, mediaQuery, resolvedSupports == null ? null : new F.CssValue("supports(" + resolvedSupports + ")", supports.get$span(), [P.String])); |
|
t1 = $async$self._async_evaluate$_parent; |
|
t2 = $async$self._async_evaluate$_root; |
|
if (t1 != t2) |
|
t1.addChild$1(node); |
|
else if ($async$self._async_evaluate$_endOfImports === J.get$length$asx(t2.children._collection$_source)) { |
|
$async$self._async_evaluate$_root.addChild$1(node); |
|
$async$self._async_evaluate$_endOfImports = $async$self._async_evaluate$_endOfImports + 1; |
|
} else { |
|
t1 = $async$self._async_evaluate$_outOfOrderImports; |
|
(t1 == null ? $async$self._async_evaluate$_outOfOrderImports = H.setRuntimeTypeInfo([], [F.ModifiableCssImport]) : t1).push(node); |
|
} |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_visitStaticImport$1, $async$completer); |
|
}, |
|
visitIncludeRule$1: function(node) { |
|
return this.visitIncludeRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitIncludeRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, nodeWithSpan, t1, t2, t3, contentCallable, mixin; |
|
var $async$visitIncludeRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
mixin = $async$self._async_evaluate$_addExceptionSpan$2(node, new E._EvaluateVisitor_visitIncludeRule_closure2($async$self, node)); |
|
if (mixin == null) |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("Undefined mixin.", node.span)); |
|
nodeWithSpan = new B._FakeAstNode(new E._EvaluateVisitor_visitIncludeRule_closure3(node)); |
|
$async$goto = !!mixin.$isAsyncBuiltInCallable ? 3 : 5; |
|
break; |
|
case 3: |
|
// then |
|
if (node.content != null) |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("Mixin doesn't accept a content block.", node.span)); |
|
$async$goto = 6; |
|
return P._asyncAwait($async$self._async_evaluate$_runBuiltInCallable$3(node.$arguments, mixin, nodeWithSpan), $async$visitIncludeRule$1); |
|
case 6: |
|
// returning from await. |
|
// goto join |
|
$async$goto = 4; |
|
break; |
|
case 5: |
|
// else |
|
t1 = [Q.AsyncEnvironment]; |
|
$async$goto = H.checkSubtype(mixin, "$isUserDefinedCallable", t1, null) ? 7 : 9; |
|
break; |
|
case 7: |
|
// then |
|
t2 = node.content; |
|
t3 = t2 == null; |
|
if (!t3 && !H.interceptedTypeCast(mixin.declaration, "$isMixinRule").hasContent) |
|
throw H.wrapException(E.MultiSpanSassRuntimeException$("Mixin doesn't accept a content block.", node.get$spanWithoutContent(), "invocation", P.LinkedHashMap_LinkedHashMap$_literal([mixin.declaration.$arguments.get$spanWithName(), "declaration"], Y.FileSpan, P.String), $async$self._async_evaluate$_stackTrace$1(node.get$spanWithoutContent()))); |
|
contentCallable = t3 ? null : new E.UserDefinedCallable(t2, $async$self._async_evaluate$_environment.closure$0(), t1); |
|
$async$goto = 10; |
|
return P._asyncAwait($async$self._async_evaluate$_runUserDefinedCallable$4(node.$arguments, mixin, nodeWithSpan, new E._EvaluateVisitor_visitIncludeRule_closure4($async$self, contentCallable, mixin, nodeWithSpan)), $async$visitIncludeRule$1); |
|
case 10: |
|
// returning from await. |
|
// goto join |
|
$async$goto = 8; |
|
break; |
|
case 9: |
|
// else |
|
throw H.wrapException(P.UnsupportedError$("Unknown callable type " + mixin.toString$0(0) + ".")); |
|
case 8: |
|
// join |
|
case 4: |
|
// join |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitIncludeRule$1, $async$completer); |
|
}, |
|
visitMixinRule$1: function(node) { |
|
return this.visitMixinRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitMixinRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, t1, t2, t3, index, t4; |
|
var $async$visitMixinRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self._async_evaluate$_environment; |
|
t2 = t1.closure$0(); |
|
t3 = t1._async_environment$_mixins; |
|
index = t3.length - 1; |
|
t4 = node.name; |
|
t1._async_environment$_mixinIndices.$indexSet(0, t4, index); |
|
J.$indexSet$ax(t3[index], t4, new E.UserDefinedCallable(node, t2, [Q.AsyncEnvironment])); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitMixinRule$1, $async$completer); |
|
}, |
|
visitLoudComment$1: function(node) { |
|
return this.visitLoudComment$body$_EvaluateVisitor(node); |
|
}, |
|
visitLoudComment$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, t1, t2, $async$temp1, $async$temp2; |
|
var $async$visitLoudComment$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if ($async$self._async_evaluate$_inFunction) { |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
t1 = $async$self._async_evaluate$_parent; |
|
t2 = $async$self._async_evaluate$_root; |
|
if (t1 == t2 && $async$self._async_evaluate$_endOfImports === J.get$length$asx(t2.children._collection$_source)) |
|
$async$self._async_evaluate$_endOfImports = $async$self._async_evaluate$_endOfImports + 1; |
|
t1 = node.text; |
|
$async$temp1 = $async$self._async_evaluate$_parent; |
|
$async$temp2 = R; |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_performInterpolation$1(t1), $async$visitLoudComment$1); |
|
case 3: |
|
// returning from await. |
|
$async$temp1.addChild$1(new $async$temp2.ModifiableCssComment($async$result, t1.span)); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitLoudComment$1, $async$completer); |
|
}, |
|
visitMediaRule$1: function(node) { |
|
return this.visitMediaRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitMediaRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, queries, t1, mergedQueries; |
|
var $async$visitMediaRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if ($async$self._async_evaluate$_declarationName != null) |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("Media rules may not be used within nested declarations.", node.span)); |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_visitMediaQueries$1(node.query), $async$visitMediaRule$1); |
|
case 3: |
|
// returning from await. |
|
queries = $async$result; |
|
t1 = $async$self._async_evaluate$_mediaQueries; |
|
mergedQueries = t1 == null ? null : $async$self._async_evaluate$_mergeMediaQueries$2(t1, queries); |
|
t1 = mergedQueries == null; |
|
if (!t1 && mergedQueries.length === 0) { |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
t1 = t1 ? queries : mergedQueries; |
|
$async$goto = 4; |
|
return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(G.ModifiableCssMediaRule$(t1, node.span), new E._EvaluateVisitor_visitMediaRule_closure1($async$self, mergedQueries, queries, node), node.hasDeclarations, new E._EvaluateVisitor_visitMediaRule_closure2(mergedQueries), G.ModifiableCssMediaRule, P.Null), $async$visitMediaRule$1); |
|
case 4: |
|
// returning from await. |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitMediaRule$1, $async$completer); |
|
}, |
|
_async_evaluate$_visitMediaQueries$1: function(interpolation) { |
|
return this._visitMediaQueries$body$_EvaluateVisitor(interpolation); |
|
}, |
|
_visitMediaQueries$body$_EvaluateVisitor: function(interpolation) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter([P.List, F.CssMediaQuery]), |
|
$async$returnValue, $async$self = this, $async$temp1, $async$temp2; |
|
var $async$_async_evaluate$_visitMediaQueries$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$temp1 = interpolation; |
|
$async$temp2 = E; |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_performInterpolation$2$warnForColor(interpolation, true), $async$_async_evaluate$_visitMediaQueries$1); |
|
case 3: |
|
// returning from await. |
|
$async$returnValue = $async$self._async_evaluate$_adjustParseError$2($async$temp1, new $async$temp2._EvaluateVisitor__visitMediaQueries_closure0($async$self, $async$result)); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_visitMediaQueries$1, $async$completer); |
|
}, |
|
_async_evaluate$_mergeMediaQueries$2: function(queries1, queries2) { |
|
var t1, t2, t3, t4, result, |
|
queries = H.setRuntimeTypeInfo([], [F.CssMediaQuery]); |
|
for (t1 = J.get$iterator$ax(queries1), t2 = J.getInterceptor$ax(queries2); t1.moveNext$0();) { |
|
t3 = t1.get$current(t1); |
|
for (t4 = t2.get$iterator(queries2); t4.moveNext$0();) { |
|
result = t3.merge$1(t4.get$current(t4)); |
|
if (result === C._SingletonCssMediaQueryMergeResult_empty) |
|
continue; |
|
if (result === C._SingletonCssMediaQueryMergeResult_unrepresentable) |
|
return; |
|
queries.push(H.interceptedTypeCast(result, "$isMediaQuerySuccessfulMergeResult").query); |
|
} |
|
} |
|
return queries; |
|
}, |
|
visitReturnRule$1: function(node) { |
|
return node.expression.accept$1(this); |
|
}, |
|
visitSilentComment$1: function(node) { |
|
return this.visitSilentComment$body$_EvaluateVisitor(node); |
|
}, |
|
visitSilentComment$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue; |
|
var $async$visitSilentComment$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitSilentComment$1, $async$completer); |
|
}, |
|
visitStyleRule$1: function(node) { |
|
return this.visitStyleRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitStyleRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, t2, selectorText, t3, t4, parsedSelector, rule, oldAtRootExcludingStyleRule, t1; |
|
var $async$visitStyleRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = {}; |
|
if ($async$self._async_evaluate$_declarationName != null) |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("Style rules may not be used within nested declarations.", node.span)); |
|
t2 = node.selector; |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$3$trim$warnForColor(t2, true, true), $async$visitStyleRule$1); |
|
case 3: |
|
// returning from await. |
|
selectorText = $async$result; |
|
$async$goto = $async$self._async_evaluate$_inKeyframes ? 4 : 5; |
|
break; |
|
case 4: |
|
// then |
|
t1 = P.List_List$unmodifiable($async$self._async_evaluate$_adjustParseError$2(t2, new E._EvaluateVisitor_visitStyleRule_closure6($async$self, selectorText)), P.String); |
|
t3 = B.ModifiableCssNode; |
|
t4 = H.setRuntimeTypeInfo([], [t3]); |
|
$async$goto = 6; |
|
return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new U.ModifiableCssKeyframeBlock(new F.CssValue(t1, t2.span, [[P.List, P.String]]), node.span, new P.UnmodifiableListView(t4, [t3]), t4), new E._EvaluateVisitor_visitStyleRule_closure7($async$self, node), node.hasDeclarations, new E._EvaluateVisitor_visitStyleRule_closure8(), U.ModifiableCssKeyframeBlock, P.Null), $async$visitStyleRule$1); |
|
case 6: |
|
// returning from await. |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 5: |
|
// join |
|
t1.parsedSelector = $async$self._async_evaluate$_adjustParseError$2(t2, new E._EvaluateVisitor_visitStyleRule_closure9($async$self, selectorText)); |
|
parsedSelector = $async$self._async_evaluate$_addExceptionSpan$2(t2, new E._EvaluateVisitor_visitStyleRule_closure10(t1, $async$self)); |
|
t1.parsedSelector = parsedSelector; |
|
rule = X.ModifiableCssStyleRule$($async$self._async_evaluate$_extender.addSelector$3(parsedSelector, t2.span, $async$self._async_evaluate$_mediaQueries), node.span, t1.parsedSelector); |
|
oldAtRootExcludingStyleRule = $async$self._async_evaluate$_atRootExcludingStyleRule; |
|
$async$self._async_evaluate$_atRootExcludingStyleRule = false; |
|
$async$goto = 7; |
|
return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(rule, new E._EvaluateVisitor_visitStyleRule_closure11($async$self, rule, node), node.hasDeclarations, new E._EvaluateVisitor_visitStyleRule_closure12(), X.ModifiableCssStyleRule, P.Null), $async$visitStyleRule$1); |
|
case 7: |
|
// returning from await. |
|
$async$self._async_evaluate$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule; |
|
if (!($async$self._async_evaluate$_styleRule != null && !oldAtRootExcludingStyleRule)) { |
|
t1 = $async$self._async_evaluate$_parent.children; |
|
t1 = !t1.get$isEmpty(t1); |
|
} else |
|
t1 = false; |
|
if (t1) { |
|
t1 = $async$self._async_evaluate$_parent.children; |
|
t1.get$last(t1).isGroupEnd = true; |
|
} |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitStyleRule$1, $async$completer); |
|
}, |
|
visitSupportsRule$1: function(node) { |
|
return this.visitSupportsRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitSupportsRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, t1, t2, t3, t4; |
|
var $async$visitSupportsRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if ($async$self._async_evaluate$_declarationName != null) |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("Supports rules may not be used within nested declarations.", node.span)); |
|
t1 = node.condition; |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_visitSupportsCondition$1(t1), $async$visitSupportsRule$1); |
|
case 3: |
|
// returning from await. |
|
t2 = $async$result; |
|
t1 = t1.get$span(); |
|
t3 = B.ModifiableCssNode; |
|
t4 = H.setRuntimeTypeInfo([], [t3]); |
|
$async$goto = 4; |
|
return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new B.ModifiableCssSupportsRule(new F.CssValue(t2, t1, [P.String]), node.span, new P.UnmodifiableListView(t4, [t3]), t4), new E._EvaluateVisitor_visitSupportsRule_closure1($async$self, node), node.hasDeclarations, new E._EvaluateVisitor_visitSupportsRule_closure2(), B.ModifiableCssSupportsRule, P.Null), $async$visitSupportsRule$1); |
|
case 4: |
|
// returning from await. |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitSupportsRule$1, $async$completer); |
|
}, |
|
_async_evaluate$_visitSupportsCondition$1: function(condition) { |
|
return this._visitSupportsCondition$body$_EvaluateVisitor(condition); |
|
}, |
|
_visitSupportsCondition$body$_EvaluateVisitor: function(condition) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.String), |
|
$async$returnValue, $async$self = this, t2, t1, $async$temp1, $async$temp2; |
|
var $async$_async_evaluate$_visitSupportsCondition$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = J.getInterceptor$(condition); |
|
$async$goto = !!t1.$isSupportsOperation ? 3 : 5; |
|
break; |
|
case 3: |
|
// then |
|
t1 = condition.left; |
|
t2 = condition.operator; |
|
$async$temp1 = H; |
|
$async$goto = 6; |
|
return P._asyncAwait($async$self._async_evaluate$_parenthesize$2(t1, t2), $async$_async_evaluate$_visitSupportsCondition$1); |
|
case 6: |
|
// returning from await. |
|
$async$temp1 = $async$temp1.S($async$result) + " " + t2 + " "; |
|
$async$temp2 = H; |
|
$async$goto = 7; |
|
return P._asyncAwait($async$self._async_evaluate$_parenthesize$2(condition.right, t2), $async$_async_evaluate$_visitSupportsCondition$1); |
|
case 7: |
|
// returning from await. |
|
$async$returnValue = $async$temp1 + $async$temp2.S($async$result); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
// goto join |
|
$async$goto = 4; |
|
break; |
|
case 5: |
|
// else |
|
$async$goto = !!t1.$isSupportsNegation ? 8 : 10; |
|
break; |
|
case 8: |
|
// then |
|
$async$temp1 = H; |
|
$async$goto = 11; |
|
return P._asyncAwait($async$self._async_evaluate$_parenthesize$1(condition.condition), $async$_async_evaluate$_visitSupportsCondition$1); |
|
case 11: |
|
// returning from await. |
|
$async$returnValue = "not " + $async$temp1.S($async$result); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
// goto join |
|
$async$goto = 9; |
|
break; |
|
case 10: |
|
// else |
|
$async$goto = !!t1.$isSupportsInterpolation ? 12 : 14; |
|
break; |
|
case 12: |
|
// then |
|
$async$goto = 15; |
|
return P._asyncAwait($async$self._evaluateToCss$2$quote(condition.expression, false), $async$_async_evaluate$_visitSupportsCondition$1); |
|
case 15: |
|
// returning from await. |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
// goto join |
|
$async$goto = 13; |
|
break; |
|
case 14: |
|
// else |
|
$async$goto = !!t1.$isSupportsDeclaration ? 16 : 18; |
|
break; |
|
case 16: |
|
// then |
|
$async$temp1 = H; |
|
$async$goto = 19; |
|
return P._asyncAwait($async$self._evaluateToCss$1(condition.name), $async$_async_evaluate$_visitSupportsCondition$1); |
|
case 19: |
|
// returning from await. |
|
$async$temp1 = "(" + $async$temp1.S($async$result) + ": "; |
|
$async$temp2 = H; |
|
$async$goto = 20; |
|
return P._asyncAwait($async$self._evaluateToCss$1(condition.value), $async$_async_evaluate$_visitSupportsCondition$1); |
|
case 20: |
|
// returning from await. |
|
$async$returnValue = $async$temp1 + $async$temp2.S($async$result) + ")"; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
// goto join |
|
$async$goto = 17; |
|
break; |
|
case 18: |
|
// else |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 17: |
|
// join |
|
case 13: |
|
// join |
|
case 9: |
|
// join |
|
case 4: |
|
// join |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_visitSupportsCondition$1, $async$completer); |
|
}, |
|
_async_evaluate$_parenthesize$2: function(condition, operator) { |
|
return this._parenthesize$body$_EvaluateVisitor(condition, operator); |
|
}, |
|
_async_evaluate$_parenthesize$1: function(condition) { |
|
return this._async_evaluate$_parenthesize$2(condition, null); |
|
}, |
|
_parenthesize$body$_EvaluateVisitor: function(condition, operator) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.String), |
|
$async$returnValue, $async$self = this, t1, $async$temp1; |
|
var $async$_async_evaluate$_parenthesize$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if (!condition.$isSupportsNegation) |
|
if (!!condition.$isSupportsOperation) |
|
t1 = operator == null || operator !== condition.operator; |
|
else |
|
t1 = false; |
|
else |
|
t1 = true; |
|
$async$goto = t1 ? 3 : 5; |
|
break; |
|
case 3: |
|
// then |
|
$async$temp1 = H; |
|
$async$goto = 6; |
|
return P._asyncAwait($async$self._async_evaluate$_visitSupportsCondition$1(condition), $async$_async_evaluate$_parenthesize$2); |
|
case 6: |
|
// returning from await. |
|
$async$returnValue = "(" + $async$temp1.S($async$result) + ")"; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
// goto join |
|
$async$goto = 4; |
|
break; |
|
case 5: |
|
// else |
|
$async$goto = 7; |
|
return P._asyncAwait($async$self._async_evaluate$_visitSupportsCondition$1(condition), $async$_async_evaluate$_parenthesize$2); |
|
case 7: |
|
// returning from await. |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 4: |
|
// join |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_parenthesize$2, $async$completer); |
|
}, |
|
visitVariableDeclaration$1: function(node) { |
|
return this.visitVariableDeclaration$body$_EvaluateVisitor(node); |
|
}, |
|
visitVariableDeclaration$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, t1, value, t2, $async$temp1, $async$temp2, $async$temp3; |
|
var $async$visitVariableDeclaration$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if (node.isGuarded) { |
|
if (node.namespace == null && $async$self._async_evaluate$_environment._async_environment$_variables.length === 1) { |
|
t1 = $async$self._async_evaluate$_configuration._values; |
|
t1 = t1.get$isEmpty(t1) ? null : t1.remove$1(0, node.name); |
|
if (t1 != null) { |
|
$async$self._async_evaluate$_addExceptionSpan$2(node, new E._EvaluateVisitor_visitVariableDeclaration_closure2($async$self, node, t1)); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
} |
|
value = $async$self._async_evaluate$_addExceptionSpan$2(node, new E._EvaluateVisitor_visitVariableDeclaration_closure3($async$self, node)); |
|
if (value != null && !value.$eq(0, C.C_SassNull)) { |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
} |
|
if (node.isGlobal && !$async$self._async_evaluate$_environment.globalVariableExists$1(node.name)) { |
|
t1 = $async$self._async_evaluate$_environment._async_environment$_variables.length === 1 ? "As of Dart Sass 2.0.0, !global assignments won't be able to\ndeclare new variables. Since this assignment is at the root of the stylesheet,\nthe !global flag is unnecessary and can safely be removed." : "As of Dart Sass 2.0.0, !global assignments won't be able to\ndeclare new variables. Consider adding `" + B.declarationName(node.span) + ": null` at the root of the\nstylesheet."; |
|
t2 = node.span; |
|
$async$self._async_evaluate$_logger.warn$4$deprecation$span$trace(t1, true, t2, $async$self._async_evaluate$_stackTrace$1(t2)); |
|
} |
|
$async$temp1 = node; |
|
$async$temp2 = E; |
|
$async$temp3 = node; |
|
$async$goto = 3; |
|
return P._asyncAwait(node.expression.accept$1($async$self), $async$visitVariableDeclaration$1); |
|
case 3: |
|
// returning from await. |
|
$async$self._async_evaluate$_addExceptionSpan$2($async$temp1, new $async$temp2._EvaluateVisitor_visitVariableDeclaration_closure4($async$self, $async$temp3, $async$result.withoutSlash$0())); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitVariableDeclaration$1, $async$completer); |
|
}, |
|
visitUseRule$1: function(node) { |
|
return this.visitUseRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitUseRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, configuration, t3, _i, variable, t4, t5, t1, t2, $async$temp1, $async$temp2, $async$temp3; |
|
var $async$visitUseRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = node.configuration; |
|
t2 = t1.length; |
|
$async$goto = t2 === 0 ? 3 : 5; |
|
break; |
|
case 3: |
|
// then |
|
configuration = C.Configuration_Map_empty_null_true; |
|
// goto join |
|
$async$goto = 4; |
|
break; |
|
case 5: |
|
// else |
|
t3 = P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.ConfiguredValue); |
|
_i = 0; |
|
case 6: |
|
// for condition |
|
if (!(_i < t2)) { |
|
// goto after for |
|
$async$goto = 8; |
|
break; |
|
} |
|
variable = t1[_i]; |
|
t4 = variable.name; |
|
t5 = variable.expression; |
|
$async$temp1 = t3; |
|
$async$temp2 = t4; |
|
$async$temp3 = Z; |
|
$async$goto = 9; |
|
return P._asyncAwait(t5.accept$1($async$self), $async$visitUseRule$1); |
|
case 9: |
|
// returning from await. |
|
$async$temp1.$indexSet(0, $async$temp2, new $async$temp3.ConfiguredValue($async$result.withoutSlash$0(), variable.span, $async$self._async_evaluate$_expressionNode$1(t5))); |
|
case 7: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 6; |
|
break; |
|
case 8: |
|
// after for |
|
configuration = new A.Configuration(t3, node, false); |
|
case 4: |
|
// join |
|
$async$goto = 10; |
|
return P._asyncAwait($async$self._async_evaluate$_loadModule$5$configuration(node.url, "@use", node, new E._EvaluateVisitor_visitUseRule_closure0($async$self, node), configuration), $async$visitUseRule$1); |
|
case 10: |
|
// returning from await. |
|
$async$self._async_evaluate$_assertConfigurationIsEmpty$1(configuration); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitUseRule$1, $async$completer); |
|
}, |
|
visitWarnRule$1: function(node) { |
|
return this.visitWarnRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitWarnRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, value, t1; |
|
var $async$visitWarnRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._addExceptionSpanAsync$1$2(node, new E._EvaluateVisitor_visitWarnRule_closure0($async$self, node), F.Value), $async$visitWarnRule$1); |
|
case 3: |
|
// returning from await. |
|
value = $async$result; |
|
t1 = value instanceof D.SassString ? value.text : $async$self._async_evaluate$_serialize$2(value, node.expression); |
|
$async$self._async_evaluate$_logger.warn$2$trace(t1, $async$self._async_evaluate$_stackTrace$1(node.span)); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitWarnRule$1, $async$completer); |
|
}, |
|
visitWhileRule$1: function(node) { |
|
return this._async_evaluate$_environment.scope$1$3$semiGlobal$when(new E._EvaluateVisitor_visitWhileRule_closure0(this, node), true, node.hasDeclarations, F.Value); |
|
}, |
|
visitBinaryOperationExpression$1: function(node) { |
|
return this._addExceptionSpanAsync$1$2(node, new E._EvaluateVisitor_visitBinaryOperationExpression_closure0(this, node), F.Value); |
|
}, |
|
visitValueExpression$1: function(node) { |
|
return this.visitValueExpression$body$_EvaluateVisitor(node); |
|
}, |
|
visitValueExpression$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue; |
|
var $async$visitValueExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$returnValue = node.value; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitValueExpression$1, $async$completer); |
|
}, |
|
visitVariableExpression$1: function(node) { |
|
return this.visitVariableExpression$body$_EvaluateVisitor(node); |
|
}, |
|
visitVariableExpression$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, result; |
|
var $async$visitVariableExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
result = $async$self._async_evaluate$_addExceptionSpan$2(node, new E._EvaluateVisitor_visitVariableExpression_closure0($async$self, node)); |
|
if (result != null) { |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("Undefined variable.", node.span)); |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitVariableExpression$1, $async$completer); |
|
}, |
|
visitUnaryOperationExpression$1: function(node) { |
|
return this.visitUnaryOperationExpression$body$_EvaluateVisitor(node); |
|
}, |
|
visitUnaryOperationExpression$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, operand, t1; |
|
var $async$visitUnaryOperationExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
$async$outer: |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._asyncAwait(node.operand.accept$1($async$self), $async$visitUnaryOperationExpression$1); |
|
case 3: |
|
// returning from await. |
|
operand = $async$result; |
|
t1 = node.operator; |
|
switch (t1) { |
|
case C.UnaryOperator_j2w: |
|
$async$returnValue = operand.unaryPlus$0(); |
|
// goto return |
|
$async$goto = 1; |
|
break $async$outer; |
|
case C.UnaryOperator_U4G: |
|
$async$returnValue = operand.unaryMinus$0(); |
|
// goto return |
|
$async$goto = 1; |
|
break $async$outer; |
|
case C.UnaryOperator_zDx: |
|
operand.toString; |
|
$async$returnValue = new D.SassString("/" + N.serializeValue(operand, false, true), false); |
|
// goto return |
|
$async$goto = 1; |
|
break $async$outer; |
|
case C.UnaryOperator_not_not: |
|
$async$returnValue = operand.unaryNot$0(); |
|
// goto return |
|
$async$goto = 1; |
|
break $async$outer; |
|
default: |
|
throw H.wrapException(P.StateError$("Unknown unary operator " + H.S(t1) + ".")); |
|
} |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitUnaryOperationExpression$1, $async$completer); |
|
}, |
|
visitBooleanExpression$1: function(node) { |
|
return this.visitBooleanExpression$body$_EvaluateVisitor(node); |
|
}, |
|
visitBooleanExpression$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(Z.SassBoolean), |
|
$async$returnValue; |
|
var $async$visitBooleanExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$returnValue = node.value ? C.SassBoolean_true : C.SassBoolean_false; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitBooleanExpression$1, $async$completer); |
|
}, |
|
visitIfExpression$1: function(node) { |
|
return this.visitIfExpression$body$_EvaluateVisitor(node); |
|
}, |
|
visitIfExpression$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, condition, ifTrue, ifFalse, pair, positional, named, t1; |
|
var $async$visitIfExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_evaluateMacroArguments$1(node), $async$visitIfExpression$1); |
|
case 3: |
|
// returning from await. |
|
pair = $async$result; |
|
positional = pair.item1; |
|
named = pair.item2; |
|
t1 = J.getInterceptor$asx(positional); |
|
$async$self._async_evaluate$_verifyArguments$4(t1.get$length(positional), named, $.$get$IfExpression_declaration(), node); |
|
condition = t1.get$length(positional) > 0 ? t1.$index(positional, 0) : named.$index(0, "condition"); |
|
ifTrue = t1.get$length(positional) > 1 ? t1.$index(positional, 1) : named.$index(0, "if-true"); |
|
ifFalse = t1.get$length(positional) > 2 ? t1.$index(positional, 2) : named.$index(0, "if-false"); |
|
$async$goto = 5; |
|
return P._asyncAwait(condition.accept$1($async$self), $async$visitIfExpression$1); |
|
case 5: |
|
// returning from await. |
|
$async$goto = 4; |
|
return P._asyncAwait(($async$result.get$isTruthy() ? ifTrue : ifFalse).accept$1($async$self), $async$visitIfExpression$1); |
|
case 4: |
|
// returning from await. |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitIfExpression$1, $async$completer); |
|
}, |
|
visitNullExpression$1: function(node) { |
|
return this.visitNullExpression$body$_EvaluateVisitor(node); |
|
}, |
|
visitNullExpression$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(O.SassNull), |
|
$async$returnValue; |
|
var $async$visitNullExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$returnValue = C.C_SassNull; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitNullExpression$1, $async$completer); |
|
}, |
|
visitNumberExpression$1: function(node) { |
|
return this.visitNumberExpression$body$_EvaluateVisitor(node); |
|
}, |
|
visitNumberExpression$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(T.SassNumber), |
|
$async$returnValue, t1; |
|
var $async$visitNumberExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = node.unit; |
|
t1 = t1 == null ? null : H.setRuntimeTypeInfo([t1], [P.String]); |
|
t1 = t1 == null ? C.List_empty : P.List_List$unmodifiable(t1, P.String); |
|
$async$returnValue = new T.SassNumber(node.value, t1, C.List_empty, null); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitNumberExpression$1, $async$completer); |
|
}, |
|
visitParenthesizedExpression$1: function(node) { |
|
return node.expression.accept$1(this); |
|
}, |
|
visitColorExpression$1: function(node) { |
|
return this.visitColorExpression$body$_EvaluateVisitor(node); |
|
}, |
|
visitColorExpression$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(K.SassColor), |
|
$async$returnValue; |
|
var $async$visitColorExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$returnValue = node.value; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitColorExpression$1, $async$completer); |
|
}, |
|
visitListExpression$1: function(node) { |
|
return this.visitListExpression$body$_EvaluateVisitor(node); |
|
}, |
|
visitListExpression$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(D.SassList), |
|
$async$returnValue, $async$self = this, $async$temp1; |
|
var $async$visitListExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$temp1 = D; |
|
$async$goto = 3; |
|
return P._asyncAwait(B.mapAsync(node.contents, new E._EvaluateVisitor_visitListExpression_closure0($async$self), T.Expression, F.Value), $async$visitListExpression$1); |
|
case 3: |
|
// returning from await. |
|
$async$returnValue = $async$temp1.SassList$($async$result, node.separator, node.hasBrackets); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitListExpression$1, $async$completer); |
|
}, |
|
visitMapExpression$1: function(node) { |
|
return this.visitMapExpression$body$_EvaluateVisitor(node); |
|
}, |
|
visitMapExpression$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(A.SassMap), |
|
$async$returnValue, $async$self = this, t2, t3, _i, pair, t4, keyValue, valueValue, t1, map, keyNodes; |
|
var $async$visitMapExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = F.Value; |
|
map = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1); |
|
keyNodes = P.LinkedHashMap_LinkedHashMap$_empty(t1, B.AstNode); |
|
t2 = node.pairs, t3 = t2.length, _i = 0; |
|
case 3: |
|
// for condition |
|
if (!(_i < t3)) { |
|
// goto after for |
|
$async$goto = 5; |
|
break; |
|
} |
|
pair = t2[_i]; |
|
t4 = pair.item1; |
|
$async$goto = 6; |
|
return P._asyncAwait(t4.accept$1($async$self), $async$visitMapExpression$1); |
|
case 6: |
|
// returning from await. |
|
keyValue = $async$result; |
|
$async$goto = 7; |
|
return P._asyncAwait(pair.item2.accept$1($async$self), $async$visitMapExpression$1); |
|
case 7: |
|
// returning from await. |
|
valueValue = $async$result; |
|
if (map.containsKey$1(keyValue)) |
|
throw H.wrapException(E.MultiSpanSassRuntimeException$("Duplicate key.", t4.get$span(), "second key", P.LinkedHashMap_LinkedHashMap$_literal([keyNodes.$index(0, keyValue).get$span(), "first key"], Y.FileSpan, P.String), $async$self._async_evaluate$_stackTrace$1(t4.get$span()))); |
|
map.$indexSet(0, keyValue, valueValue); |
|
keyNodes.$indexSet(0, keyValue, t4); |
|
case 4: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 5: |
|
// after for |
|
$async$returnValue = new A.SassMap(H.ConstantMap_ConstantMap$from(map, t1, t1)); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitMapExpression$1, $async$completer); |
|
}, |
|
visitFunctionExpression$1: function(node) { |
|
return this.visitFunctionExpression$body$_EvaluateVisitor(node); |
|
}, |
|
visitFunctionExpression$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, oldInFunction, result, t1, t2, plainName, $async$temp1, $async$temp2; |
|
var $async$visitFunctionExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = {}; |
|
t2 = node.name; |
|
plainName = t2.get$asPlain(); |
|
t1.$function = null; |
|
$async$goto = (plainName != null ? t1.$function = $async$self._async_evaluate$_addExceptionSpan$2(node, new E._EvaluateVisitor_visitFunctionExpression_closure1($async$self, node, plainName)) : null) == null ? 3 : 4; |
|
break; |
|
case 3: |
|
// then |
|
if (node.namespace != null) |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("Undefined function.", node.span)); |
|
$async$temp1 = t1; |
|
$async$temp2 = L; |
|
$async$goto = 5; |
|
return P._asyncAwait($async$self._async_evaluate$_performInterpolation$1(t2), $async$visitFunctionExpression$1); |
|
case 5: |
|
// returning from await. |
|
$async$temp1.$function = new $async$temp2.PlainCssCallable($async$result); |
|
case 4: |
|
// join |
|
oldInFunction = $async$self._async_evaluate$_inFunction; |
|
$async$self._async_evaluate$_inFunction = true; |
|
$async$goto = 6; |
|
return P._asyncAwait($async$self._async_evaluate$_addErrorSpan$1$2(node, new E._EvaluateVisitor_visitFunctionExpression_closure2(t1, $async$self, node), F.Value), $async$visitFunctionExpression$1); |
|
case 6: |
|
// returning from await. |
|
result = $async$result; |
|
$async$self._async_evaluate$_inFunction = oldInFunction; |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitFunctionExpression$1, $async$completer); |
|
}, |
|
_async_evaluate$_getFunction$2$namespace: function($name, namespace) { |
|
var local = this._async_evaluate$_environment.getFunction$2$namespace($name, namespace); |
|
if (local != null || namespace != null) |
|
return local; |
|
return this._async_evaluate$_builtInFunctions.$index(0, $name); |
|
}, |
|
_async_evaluate$_runUserDefinedCallable$4: function($arguments, callable, nodeWithSpan, run) { |
|
return this._runUserDefinedCallable$body$_EvaluateVisitor($arguments, callable, nodeWithSpan, run); |
|
}, |
|
_runUserDefinedCallable$body$_EvaluateVisitor: function($arguments, callable, nodeWithSpan, run) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, evaluated, t1, $name; |
|
var $async$_async_evaluate$_runUserDefinedCallable$4 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_evaluateArguments$1($arguments), $async$_async_evaluate$_runUserDefinedCallable$4); |
|
case 3: |
|
// returning from await. |
|
evaluated = $async$result; |
|
t1 = callable.declaration.name; |
|
$name = t1 == null ? "@content" : t1 + "()"; |
|
$async$goto = 4; |
|
return P._asyncAwait($async$self._async_evaluate$_withStackFrame$1$3($name, nodeWithSpan, new E._EvaluateVisitor__runUserDefinedCallable_closure0($async$self, callable, evaluated, nodeWithSpan, run), F.Value), $async$_async_evaluate$_runUserDefinedCallable$4); |
|
case 4: |
|
// returning from await. |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_runUserDefinedCallable$4, $async$completer); |
|
}, |
|
_async_evaluate$_runFunctionCallable$3: function($arguments, callable, nodeWithSpan) { |
|
return this._runFunctionCallable$body$_EvaluateVisitor($arguments, callable, nodeWithSpan); |
|
}, |
|
_runFunctionCallable$body$_EvaluateVisitor: function($arguments, callable, nodeWithSpan) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, result, t2, t3, first, _i, argument, rest, t1, $async$temp1; |
|
var $async$_async_evaluate$_runFunctionCallable$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = J.getInterceptor$(callable); |
|
$async$goto = !!t1.$isAsyncBuiltInCallable ? 3 : 5; |
|
break; |
|
case 3: |
|
// then |
|
$async$goto = 6; |
|
return P._asyncAwait($async$self._async_evaluate$_runBuiltInCallable$3($arguments, callable, nodeWithSpan), $async$_async_evaluate$_runFunctionCallable$3); |
|
case 6: |
|
// returning from await. |
|
result = $async$result; |
|
if (result == null) |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("Custom functions may not return Dart's null.", nodeWithSpan.get$span())); |
|
$async$returnValue = result.withoutSlash$0(); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
// goto join |
|
$async$goto = 4; |
|
break; |
|
case 5: |
|
// else |
|
$async$goto = H.checkSubtype(callable, "$isUserDefinedCallable", [Q.AsyncEnvironment], null) ? 7 : 9; |
|
break; |
|
case 7: |
|
// then |
|
$async$goto = 10; |
|
return P._asyncAwait($async$self._async_evaluate$_runUserDefinedCallable$4($arguments, callable, nodeWithSpan, new E._EvaluateVisitor__runFunctionCallable_closure0($async$self, callable)), $async$_async_evaluate$_runFunctionCallable$3); |
|
case 10: |
|
// returning from await. |
|
$async$returnValue = $async$result.withoutSlash$0(); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
// goto join |
|
$async$goto = 8; |
|
break; |
|
case 9: |
|
// else |
|
$async$goto = !!t1.$isPlainCssCallable ? 11 : 13; |
|
break; |
|
case 11: |
|
// then |
|
t1 = $arguments.named; |
|
if (t1.get$isNotEmpty(t1) || $arguments.keywordRest != null) |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("Plain CSS functions don't support keyword arguments.", nodeWithSpan.get$span())); |
|
t1 = H.S(callable.name) + "("; |
|
t2 = $arguments.positional, t3 = t2.length, first = true, _i = 0; |
|
case 14: |
|
// for condition |
|
if (!(_i < t3)) { |
|
// goto after for |
|
$async$goto = 16; |
|
break; |
|
} |
|
argument = t2[_i]; |
|
if (first) |
|
first = false; |
|
else |
|
t1 += ", "; |
|
$async$temp1 = H; |
|
$async$goto = 17; |
|
return P._asyncAwait($async$self._evaluateToCss$1(argument), $async$_async_evaluate$_runFunctionCallable$3); |
|
case 17: |
|
// returning from await. |
|
t1 += $async$temp1.S($async$result); |
|
case 15: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 14; |
|
break; |
|
case 16: |
|
// after for |
|
t2 = $arguments.rest; |
|
$async$goto = 18; |
|
return P._asyncAwait(t2 == null ? null : t2.accept$1($async$self), $async$_async_evaluate$_runFunctionCallable$3); |
|
case 18: |
|
// returning from await. |
|
rest = $async$result; |
|
if (rest != null) { |
|
if (!first) |
|
t1 += ", "; |
|
t2 = t1 + H.S($async$self._async_evaluate$_serialize$2(rest, t2)); |
|
t1 = t2; |
|
} |
|
t1 += H.Primitives_stringFromCharCode(41); |
|
$async$returnValue = new D.SassString(t1.charCodeAt(0) == 0 ? t1 : t1, false); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
// goto join |
|
$async$goto = 12; |
|
break; |
|
case 13: |
|
// else |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 12: |
|
// join |
|
case 8: |
|
// join |
|
case 4: |
|
// join |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_runFunctionCallable$3, $async$completer); |
|
}, |
|
_async_evaluate$_runBuiltInCallable$3: function($arguments, callable, nodeWithSpan) { |
|
return this._runBuiltInCallable$body$_EvaluateVisitor($arguments, callable, nodeWithSpan); |
|
}, |
|
_runBuiltInCallable$body$_EvaluateVisitor: function($arguments, callable, nodeWithSpan) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, callback, result, error, error0, error1, message, t1, namedSet, tuple, overload, declaredArguments, i, t2, argument, t3, t4, rest, argumentList, exception, evaluated, oldCallableNode, $async$exception; |
|
var $async$_async_evaluate$_runBuiltInCallable$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) { |
|
$async$currentError = $async$result; |
|
$async$goto = $async$handler; |
|
} |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_evaluateArguments$2$trackSpans($arguments, false), $async$_async_evaluate$_runBuiltInCallable$3); |
|
case 3: |
|
// returning from await. |
|
evaluated = $async$result; |
|
oldCallableNode = $async$self._async_evaluate$_callableNode; |
|
$async$self._async_evaluate$_callableNode = nodeWithSpan; |
|
t1 = P.String; |
|
namedSet = new M.MapKeySet(evaluated.named, [t1]); |
|
tuple = callable.callbackFor$2(evaluated.positional.length, namedSet); |
|
overload = tuple.item1; |
|
callback = tuple.item2; |
|
$async$self._async_evaluate$_addExceptionSpan$2(nodeWithSpan, new E._EvaluateVisitor__runBuiltInCallable_closure1(overload, evaluated, namedSet)); |
|
declaredArguments = overload.$arguments; |
|
i = evaluated.positional.length, t2 = declaredArguments.length; |
|
case 4: |
|
// for condition |
|
if (!(i < t2)) { |
|
// goto after for |
|
$async$goto = 6; |
|
break; |
|
} |
|
argument = declaredArguments[i]; |
|
t3 = evaluated.positional; |
|
t4 = evaluated.named.remove$1(0, argument.name); |
|
$async$goto = t4 == null ? 7 : 8; |
|
break; |
|
case 7: |
|
// then |
|
t4 = argument.defaultValue; |
|
$async$goto = 9; |
|
return P._asyncAwait(t4 == null ? null : t4.accept$1($async$self), $async$_async_evaluate$_runBuiltInCallable$3); |
|
case 9: |
|
// returning from await. |
|
t4 = $async$result; |
|
case 8: |
|
// join |
|
t3.push(t4); |
|
case 5: |
|
// for update |
|
++i; |
|
// goto for condition |
|
$async$goto = 4; |
|
break; |
|
case 6: |
|
// after for |
|
if (overload.restArgument != null) { |
|
if (evaluated.positional.length > t2) { |
|
rest = C.JSArray_methods.sublist$1(evaluated.positional, t2); |
|
C.JSArray_methods.removeRange$2(evaluated.positional, t2, evaluated.positional.length); |
|
} else |
|
rest = C.List_empty6; |
|
t2 = evaluated.named; |
|
t3 = evaluated.separator === C.ListSeparator_undecided ? C.ListSeparator_comma : evaluated.separator; |
|
t4 = F.Value; |
|
argumentList = new D.SassArgumentList(H.ConstantMap_ConstantMap$from(t2, t1, t4), P.List_List$unmodifiable(rest, t4), t3, false); |
|
argumentList.SassList$3$brackets(rest, t3, false); |
|
evaluated.positional.push(argumentList); |
|
} else |
|
argumentList = null; |
|
result = null; |
|
$async$handler = 11; |
|
$async$goto = 14; |
|
return P._asyncAwait(callback.call$1(evaluated.positional), $async$_async_evaluate$_runBuiltInCallable$3); |
|
case 14: |
|
// returning from await. |
|
result = $async$result; |
|
$async$handler = 2; |
|
// goto after finally |
|
$async$goto = 13; |
|
break; |
|
case 11: |
|
// catch |
|
$async$handler = 10; |
|
$async$exception = $async$currentError; |
|
t1 = H.unwrapException($async$exception); |
|
t2 = J.getInterceptor$(t1); |
|
if (!!t2.$isSassRuntimeException) |
|
throw $async$exception; |
|
else if (!!t2.$isMultiSpanSassScriptException) { |
|
error = t1; |
|
throw H.wrapException(E.MultiSpanSassRuntimeException$(error.message, nodeWithSpan.get$span(), error.primaryLabel, error.secondarySpans, $async$self._async_evaluate$_stackTrace$1(nodeWithSpan.get$span()))); |
|
} else if (!!t2.$isMultiSpanSassException) { |
|
error0 = t1; |
|
throw H.wrapException(E.MultiSpanSassRuntimeException$(error0._span_exception$_message, error0.get$span(), error0.primaryLabel, error0.secondarySpans, $async$self._async_evaluate$_stackTrace$1(error0.get$span()))); |
|
} else { |
|
error1 = t1; |
|
message = null; |
|
try { |
|
message = H.stringTypeCast(J.get$message$x(error1)); |
|
} catch (exception) { |
|
H.unwrapException($async$exception); |
|
message = J.toString$0$(error1); |
|
} |
|
throw H.wrapException($async$self._async_evaluate$_exception$2(message, nodeWithSpan.get$span())); |
|
} |
|
// goto after finally |
|
$async$goto = 13; |
|
break; |
|
case 10: |
|
// uncaught |
|
// goto rethrow |
|
$async$goto = 2; |
|
break; |
|
case 13: |
|
// after finally |
|
$async$self._async_evaluate$_callableNode = oldCallableNode; |
|
if (argumentList == null) { |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
t2 = evaluated.named; |
|
if (t2.get$isEmpty(t2)) { |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
if (argumentList._wereKeywordsAccessed) { |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
throw H.wrapException(E.MultiSpanSassRuntimeException$("No " + B.pluralize("argument", J.get$length$asx(evaluated.named.get$keys()), null) + " named " + H.S(B.toSentence(J.map$1$1$ax(evaluated.named.get$keys(), new E._EvaluateVisitor__runBuiltInCallable_closure2(), P.Object), "or")) + ".", nodeWithSpan.get$span(), "invocation", P.LinkedHashMap_LinkedHashMap$_literal([overload.get$spanWithName(), "declaration"], Y.FileSpan, t1), $async$self._async_evaluate$_stackTrace$1(nodeWithSpan.get$span()))); |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
case 2: |
|
// rethrow |
|
return P._asyncRethrow($async$currentError, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_runBuiltInCallable$3, $async$completer); |
|
}, |
|
_async_evaluate$_evaluateArguments$2$trackSpans: function($arguments, trackSpans) { |
|
return this._evaluateArguments$body$_EvaluateVisitor($arguments, trackSpans); |
|
}, |
|
_async_evaluate$_evaluateArguments$1: function($arguments) { |
|
return this._async_evaluate$_evaluateArguments$2$trackSpans($arguments, null); |
|
}, |
|
_evaluateArguments$body$_EvaluateVisitor: function($arguments, trackSpans) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(E._ArgumentResults0), |
|
$async$returnValue, $async$self = this, t1, t2, t3, t4, _i, t5, t6, t7, named, t8, positionalNodes, namedNodes, rest, restNodeForSpan, separator, keywordRest, keywordRestNodeForSpan, $async$temp1; |
|
var $async$_async_evaluate$_evaluateArguments$2$trackSpans = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if (trackSpans == null) |
|
trackSpans = $async$self._async_evaluate$_sourceMap; |
|
t1 = F.Value; |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
t3 = $arguments.positional, t4 = t3.length, _i = 0; |
|
case 3: |
|
// for condition |
|
if (!(_i < t4)) { |
|
// goto after for |
|
$async$goto = 5; |
|
break; |
|
} |
|
$async$temp1 = t2; |
|
$async$goto = 6; |
|
return P._asyncAwait(t3[_i].accept$1($async$self), $async$_async_evaluate$_evaluateArguments$2$trackSpans); |
|
case 6: |
|
// returning from await. |
|
$async$temp1.push($async$result); |
|
case 4: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 5: |
|
// after for |
|
t5 = $arguments.named; |
|
t6 = P.String; |
|
t7 = T.Expression; |
|
$async$goto = 7; |
|
return P._asyncAwait(B.mapMapAsync(t5, new E._EvaluateVisitor__evaluateArguments_closure2($async$self), t6, t7, t6, t1), $async$_async_evaluate$_evaluateArguments$2$trackSpans); |
|
case 7: |
|
// returning from await. |
|
named = $async$result; |
|
if (trackSpans) { |
|
t8 = H.setRuntimeTypeInfo([], [B.AstNode]); |
|
for (_i = 0; _i < t4; ++_i) |
|
t8.push($async$self._async_evaluate$_expressionNode$1(t3[_i])); |
|
positionalNodes = t8; |
|
} else |
|
positionalNodes = null; |
|
namedNodes = trackSpans ? Y.mapMap(t5, null, new E._EvaluateVisitor__evaluateArguments_closure3($async$self), t6, t7, t6, B.AstNode) : null; |
|
t3 = $arguments.rest; |
|
if (t3 == null) { |
|
$async$returnValue = E._ArgumentResults$0(t2, named, C.ListSeparator_undecided, namedNodes, positionalNodes); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
$async$goto = 8; |
|
return P._asyncAwait(t3.accept$1($async$self), $async$_async_evaluate$_evaluateArguments$2$trackSpans); |
|
case 8: |
|
// returning from await. |
|
rest = $async$result; |
|
restNodeForSpan = trackSpans ? $async$self._async_evaluate$_expressionNode$1(t3) : null; |
|
t4 = J.getInterceptor$(rest); |
|
if (!!t4.$isSassMap) { |
|
$async$self._async_evaluate$_addRestMap$1$3(named, rest, t3, t1); |
|
if (namedNodes != null) { |
|
t3 = P.LinkedHashMap_LinkedHashMap$_empty(t6, B.AstNode); |
|
for (t4 = J.get$iterator$ax(rest.contents.get$keys()); t4.moveNext$0();) |
|
t3.$indexSet(0, H.interceptedTypeCast(t4.get$current(t4), "$isSassString").text, restNodeForSpan); |
|
namedNodes.addAll$1(0, t3); |
|
} |
|
separator = C.ListSeparator_undecided; |
|
} else if (!!t4.$isSassList) { |
|
t3 = rest._list$_contents; |
|
C.JSArray_methods.addAll$1(t2, t3); |
|
if (positionalNodes != null) |
|
C.JSArray_methods.addAll$1(positionalNodes, P.List_List$filled(t3.length, restNodeForSpan, B.AstNode)); |
|
separator = rest.separator; |
|
if (!!rest.$isSassArgumentList) { |
|
rest._wereKeywordsAccessed = true; |
|
rest._keywords.forEach$1(0, new E._EvaluateVisitor__evaluateArguments_closure4(named, namedNodes, restNodeForSpan)); |
|
} |
|
} else { |
|
t2.push(rest); |
|
if (positionalNodes != null) |
|
positionalNodes.push(restNodeForSpan); |
|
separator = C.ListSeparator_undecided; |
|
} |
|
t3 = $arguments.keywordRest; |
|
if (t3 == null) { |
|
$async$returnValue = E._ArgumentResults$0(t2, named, separator, namedNodes, positionalNodes); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
$async$goto = 9; |
|
return P._asyncAwait(t3.accept$1($async$self), $async$_async_evaluate$_evaluateArguments$2$trackSpans); |
|
case 9: |
|
// returning from await. |
|
keywordRest = $async$result; |
|
keywordRestNodeForSpan = trackSpans ? $async$self._async_evaluate$_expressionNode$1(t3) : null; |
|
if (keywordRest instanceof A.SassMap) { |
|
$async$self._async_evaluate$_addRestMap$1$3(named, keywordRest, t3, t1); |
|
if (namedNodes != null) { |
|
t1 = P.LinkedHashMap_LinkedHashMap$_empty(t6, B.AstNode); |
|
for (t3 = J.get$iterator$ax(keywordRest.contents.get$keys()); t3.moveNext$0();) |
|
t1.$indexSet(0, H.interceptedTypeCast(t3.get$current(t3), "$isSassString").text, keywordRestNodeForSpan); |
|
namedNodes.addAll$1(0, t1); |
|
} |
|
$async$returnValue = E._ArgumentResults$0(t2, named, separator, namedNodes, positionalNodes); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} else |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("Variable keyword arguments must be a map (was " + H.S(keywordRest) + ").", t3.get$span())); |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_evaluateArguments$2$trackSpans, $async$completer); |
|
}, |
|
_async_evaluate$_evaluateMacroArguments$1: function(invocation) { |
|
return this._evaluateMacroArguments$body$_EvaluateVisitor(invocation); |
|
}, |
|
_evaluateMacroArguments$body$_EvaluateVisitor: function(invocation) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter([S.Tuple2, [P.List, T.Expression], [P.Map, P.String, T.Expression]]), |
|
$async$returnValue, $async$self = this, t3, positional, named, rest, keywordRest, t1, t2; |
|
var $async$_async_evaluate$_evaluateMacroArguments$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = invocation.$arguments; |
|
t2 = t1.rest; |
|
if (t2 == null) { |
|
$async$returnValue = new S.Tuple2(t1.positional, t1.named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
t3 = t1.positional; |
|
positional = H.setRuntimeTypeInfo(t3.slice(0), [H.getTypeArgumentByIndex(t3, 0)]); |
|
t3 = T.Expression; |
|
named = P.LinkedHashMap_LinkedHashMap$of(t1.named, P.String, t3); |
|
$async$goto = 3; |
|
return P._asyncAwait(t2.accept$1($async$self), $async$_async_evaluate$_evaluateMacroArguments$1); |
|
case 3: |
|
// returning from await. |
|
rest = $async$result; |
|
t2 = J.getInterceptor$(rest); |
|
if (!!t2.$isSassMap) |
|
$async$self._async_evaluate$_addRestMap$1$4(named, rest, invocation, new E._EvaluateVisitor__evaluateMacroArguments_closure3(), t3); |
|
else if (!!t2.$isSassList) { |
|
t2 = rest._list$_contents; |
|
C.JSArray_methods.addAll$1(positional, new H.MappedListIterable(t2, new E._EvaluateVisitor__evaluateMacroArguments_closure4(), [H.getTypeArgumentByIndex(t2, 0), t3])); |
|
if (!!rest.$isSassArgumentList) { |
|
rest._wereKeywordsAccessed = true; |
|
rest._keywords.forEach$1(0, new E._EvaluateVisitor__evaluateMacroArguments_closure5(named)); |
|
} |
|
} else |
|
positional.push(new F.ValueExpression(rest, null)); |
|
t1 = t1.keywordRest; |
|
if (t1 == null) { |
|
$async$returnValue = new S.Tuple2(positional, named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
$async$goto = 4; |
|
return P._asyncAwait(t1.accept$1($async$self), $async$_async_evaluate$_evaluateMacroArguments$1); |
|
case 4: |
|
// returning from await. |
|
keywordRest = $async$result; |
|
if (keywordRest instanceof A.SassMap) { |
|
$async$self._async_evaluate$_addRestMap$1$4(named, keywordRest, invocation, new E._EvaluateVisitor__evaluateMacroArguments_closure6(), t3); |
|
$async$returnValue = new S.Tuple2(positional, named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} else |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("Variable keyword arguments must be a map (was " + H.S(keywordRest) + ").", invocation.span)); |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_evaluateMacroArguments$1, $async$completer); |
|
}, |
|
_async_evaluate$_addRestMap$1$4: function(values, map, nodeWithSpan, convert, $T) { |
|
var t1 = {}; |
|
t1.convert = convert; |
|
if (convert == null) |
|
t1.convert = new E._EvaluateVisitor__addRestMap_closure1($T); |
|
map.contents.forEach$1(0, new E._EvaluateVisitor__addRestMap_closure2(t1, this, values, map, nodeWithSpan)); |
|
}, |
|
_async_evaluate$_addRestMap$1$3: function(values, map, nodeWithSpan, $T) { |
|
return this._async_evaluate$_addRestMap$1$4(values, map, nodeWithSpan, null, $T); |
|
}, |
|
_async_evaluate$_verifyArguments$4: function(positional, named, $arguments, nodeWithSpan) { |
|
return this._async_evaluate$_addExceptionSpan$2(nodeWithSpan, new E._EvaluateVisitor__verifyArguments_closure0($arguments, positional, named)); |
|
}, |
|
visitSelectorExpression$1: function(node) { |
|
return this.visitSelectorExpression$body$_EvaluateVisitor(node); |
|
}, |
|
visitSelectorExpression$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, t1; |
|
var $async$visitSelectorExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self._async_evaluate$_styleRule; |
|
if (t1 == null) { |
|
$async$returnValue = C.C_SassNull; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
$async$returnValue = t1.originalSelector.get$asSassList(); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitSelectorExpression$1, $async$completer); |
|
}, |
|
visitStringExpression$1: function(node) { |
|
return this.visitStringExpression$body$_EvaluateVisitor(node); |
|
}, |
|
visitStringExpression$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(D.SassString), |
|
$async$returnValue, $async$self = this, $async$temp1, $async$temp2; |
|
var $async$visitStringExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$temp1 = D; |
|
$async$temp2 = J; |
|
$async$goto = 3; |
|
return P._asyncAwait(B.mapAsync(node.text.contents, new E._EvaluateVisitor_visitStringExpression_closure0($async$self), P.Object, P.String), $async$visitStringExpression$1); |
|
case 3: |
|
// returning from await. |
|
$async$returnValue = new $async$temp1.SassString($async$temp2.join$0$ax($async$result), node.hasQuotes); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitStringExpression$1, $async$completer); |
|
}, |
|
visitCssAtRule$1: function(node) { |
|
return this.visitCssAtRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitCssAtRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$returnValue, $async$self = this, t1, t2, t3, wasInKeyframes, wasInUnknownAtRule; |
|
var $async$visitCssAtRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if ($async$self._async_evaluate$_declarationName != null) |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("At-rules may not be used within nested declarations.", node.span)); |
|
if (node.isChildless) { |
|
t1 = $async$self._async_evaluate$_parent; |
|
t2 = B.ModifiableCssNode; |
|
t3 = H.setRuntimeTypeInfo([], [t2]); |
|
t1.addChild$1(new U.ModifiableCssAtRule(node.name, node.value, true, node.span, new P.UnmodifiableListView(t3, [t2]), t3)); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
wasInKeyframes = $async$self._async_evaluate$_inKeyframes; |
|
wasInUnknownAtRule = $async$self._async_evaluate$_inUnknownAtRule; |
|
t1 = node.name; |
|
if (B.unvendor(t1.get$value(t1)) === "keyframes") |
|
$async$self._async_evaluate$_inKeyframes = true; |
|
else |
|
$async$self._async_evaluate$_inUnknownAtRule = true; |
|
t2 = B.ModifiableCssNode; |
|
t3 = H.setRuntimeTypeInfo([], [t2]); |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new U.ModifiableCssAtRule(t1, node.value, false, node.span, new P.UnmodifiableListView(t3, [t2]), t3), new E._EvaluateVisitor_visitCssAtRule_closure1($async$self, node), false, new E._EvaluateVisitor_visitCssAtRule_closure2(), U.ModifiableCssAtRule, P.Null), $async$visitCssAtRule$1); |
|
case 3: |
|
// returning from await. |
|
$async$self._async_evaluate$_inUnknownAtRule = wasInUnknownAtRule; |
|
$async$self._async_evaluate$_inKeyframes = wasInKeyframes; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitCssAtRule$1, $async$completer); |
|
}, |
|
visitCssComment$1: function(node) { |
|
return this.visitCssComment$body$_EvaluateVisitor(node); |
|
}, |
|
visitCssComment$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$self = this, t1, t2; |
|
var $async$visitCssComment$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self._async_evaluate$_parent; |
|
t2 = $async$self._async_evaluate$_root; |
|
if (t1 == t2 && $async$self._async_evaluate$_endOfImports === J.get$length$asx(t2.children._collection$_source)) |
|
$async$self._async_evaluate$_endOfImports = $async$self._async_evaluate$_endOfImports + 1; |
|
$async$self._async_evaluate$_parent.addChild$1(new R.ModifiableCssComment(node.text, node.span)); |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitCssComment$1, $async$completer); |
|
}, |
|
visitCssDeclaration$1: function(node) { |
|
return this.visitCssDeclaration$body$_EvaluateVisitor(node); |
|
}, |
|
visitCssDeclaration$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$self = this; |
|
var $async$visitCssDeclaration$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$self._async_evaluate$_parent.addChild$1(L.ModifiableCssDeclaration$(node.name, node.value, node.span, node.valueSpanForMap)); |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitCssDeclaration$1, $async$completer); |
|
}, |
|
visitCssImport$1: function(node) { |
|
return this.visitCssImport$body$_EvaluateVisitor(node); |
|
}, |
|
visitCssImport$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$self = this, modifiableNode, t1, t2; |
|
var $async$visitCssImport$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
modifiableNode = F.ModifiableCssImport$(node.url, node.span, node.media, node.supports); |
|
t1 = $async$self._async_evaluate$_parent; |
|
t2 = $async$self._async_evaluate$_root; |
|
if (t1 != t2) |
|
t1.addChild$1(modifiableNode); |
|
else if ($async$self._async_evaluate$_endOfImports === J.get$length$asx(t2.children._collection$_source)) { |
|
$async$self._async_evaluate$_root.addChild$1(modifiableNode); |
|
$async$self._async_evaluate$_endOfImports = $async$self._async_evaluate$_endOfImports + 1; |
|
} else { |
|
t1 = $async$self._async_evaluate$_outOfOrderImports; |
|
(t1 == null ? $async$self._async_evaluate$_outOfOrderImports = H.setRuntimeTypeInfo([], [F.ModifiableCssImport]) : t1).push(modifiableNode); |
|
} |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitCssImport$1, $async$completer); |
|
}, |
|
visitCssKeyframeBlock$1: function(node) { |
|
return this.visitCssKeyframeBlock$body$_EvaluateVisitor(node); |
|
}, |
|
visitCssKeyframeBlock$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$self = this, t1, t2; |
|
var $async$visitCssKeyframeBlock$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = B.ModifiableCssNode; |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
$async$goto = 2; |
|
return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new U.ModifiableCssKeyframeBlock(node.selector, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new E._EvaluateVisitor_visitCssKeyframeBlock_closure1($async$self, node), false, new E._EvaluateVisitor_visitCssKeyframeBlock_closure2(), U.ModifiableCssKeyframeBlock, P.Null), $async$visitCssKeyframeBlock$1); |
|
case 2: |
|
// returning from await. |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitCssKeyframeBlock$1, $async$completer); |
|
}, |
|
visitCssMediaRule$1: function(node) { |
|
return this.visitCssMediaRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitCssMediaRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$returnValue, $async$self = this, t1, mergedQueries; |
|
var $async$visitCssMediaRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if ($async$self._async_evaluate$_declarationName != null) |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("Media rules may not be used within nested declarations.", node.span)); |
|
t1 = $async$self._async_evaluate$_mediaQueries; |
|
mergedQueries = t1 == null ? null : $async$self._async_evaluate$_mergeMediaQueries$2(t1, node.queries); |
|
t1 = mergedQueries == null; |
|
if (!t1 && mergedQueries.length === 0) { |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
t1 = t1 ? node.queries : mergedQueries; |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(G.ModifiableCssMediaRule$(t1, node.span), new E._EvaluateVisitor_visitCssMediaRule_closure1($async$self, mergedQueries, node), false, new E._EvaluateVisitor_visitCssMediaRule_closure2(mergedQueries), G.ModifiableCssMediaRule, P.Null), $async$visitCssMediaRule$1); |
|
case 3: |
|
// returning from await. |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitCssMediaRule$1, $async$completer); |
|
}, |
|
visitCssStyleRule$1: function(node) { |
|
return this.visitCssStyleRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitCssStyleRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$self = this, t1, t2, t3, originalSelector, rule, oldAtRootExcludingStyleRule; |
|
var $async$visitCssStyleRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if ($async$self._async_evaluate$_declarationName != null) |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("Style rules may not be used within nested declarations.", node.span)); |
|
t1 = node.selector; |
|
t2 = t1.value; |
|
t3 = $async$self._async_evaluate$_styleRule; |
|
t3 = t3 == null ? null : t3.originalSelector; |
|
originalSelector = t2.resolveParentSelectors$2$implicitParent(t3, !$async$self._async_evaluate$_atRootExcludingStyleRule); |
|
rule = X.ModifiableCssStyleRule$($async$self._async_evaluate$_extender.addSelector$3(originalSelector, t1.span, $async$self._async_evaluate$_mediaQueries), node.span, originalSelector); |
|
oldAtRootExcludingStyleRule = $async$self._async_evaluate$_atRootExcludingStyleRule; |
|
$async$self._async_evaluate$_atRootExcludingStyleRule = false; |
|
$async$goto = 2; |
|
return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(rule, new E._EvaluateVisitor_visitCssStyleRule_closure1($async$self, rule, node), false, new E._EvaluateVisitor_visitCssStyleRule_closure2(), X.ModifiableCssStyleRule, P.Null), $async$visitCssStyleRule$1); |
|
case 2: |
|
// returning from await. |
|
$async$self._async_evaluate$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule; |
|
if (!($async$self._async_evaluate$_styleRule != null && !oldAtRootExcludingStyleRule)) { |
|
t1 = $async$self._async_evaluate$_parent.children; |
|
t1 = !t1.get$isEmpty(t1); |
|
} else |
|
t1 = false; |
|
if (t1) { |
|
t1 = $async$self._async_evaluate$_parent.children; |
|
t1.get$last(t1).isGroupEnd = true; |
|
} |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitCssStyleRule$1, $async$completer); |
|
}, |
|
visitCssStylesheet$1: function(node) { |
|
return this.visitCssStylesheet$body$_EvaluateVisitor(node); |
|
}, |
|
visitCssStylesheet$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$self = this, t1; |
|
var $async$visitCssStylesheet$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = J.get$iterator$ax(node.get$children()); |
|
case 2: |
|
// for condition |
|
if (!t1.moveNext$0()) { |
|
// goto after for |
|
$async$goto = 3; |
|
break; |
|
} |
|
$async$goto = 4; |
|
return P._asyncAwait(t1.get$current(t1).accept$1($async$self), $async$visitCssStylesheet$1); |
|
case 4: |
|
// returning from await. |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
case 3: |
|
// after for |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitCssStylesheet$1, $async$completer); |
|
}, |
|
visitCssSupportsRule$1: function(node) { |
|
return this.visitCssSupportsRule$body$_EvaluateVisitor(node); |
|
}, |
|
visitCssSupportsRule$body$_EvaluateVisitor: function(node) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(-1), |
|
$async$self = this, t1, t2; |
|
var $async$visitCssSupportsRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if ($async$self._async_evaluate$_declarationName != null) |
|
throw H.wrapException($async$self._async_evaluate$_exception$2("Supports rules may not be used within nested declarations.", node.span)); |
|
t1 = B.ModifiableCssNode; |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
$async$goto = 2; |
|
return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new B.ModifiableCssSupportsRule(node.condition, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new E._EvaluateVisitor_visitCssSupportsRule_closure1($async$self, node), false, new E._EvaluateVisitor_visitCssSupportsRule_closure2(), B.ModifiableCssSupportsRule, P.Null), $async$visitCssSupportsRule$1); |
|
case 2: |
|
// returning from await. |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$visitCssSupportsRule$1, $async$completer); |
|
}, |
|
_async_evaluate$_handleReturn$1$2: function(list, callback) { |
|
return this._handleReturn$body$_EvaluateVisitor(list, callback, null); |
|
}, |
|
_async_evaluate$_handleReturn$2: function(list, callback) { |
|
return this._async_evaluate$_handleReturn$1$2(list, callback, null); |
|
}, |
|
_handleReturn$body$_EvaluateVisitor: function(list, callback) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, t1, _i, result; |
|
var $async$_async_evaluate$_handleReturn$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = list.length, _i = 0; |
|
case 3: |
|
// for condition |
|
if (!(_i < list.length)) { |
|
// goto after for |
|
$async$goto = 5; |
|
break; |
|
} |
|
$async$goto = 6; |
|
return P._asyncAwait(callback.call$1(list[_i]), $async$_async_evaluate$_handleReturn$1$2); |
|
case 6: |
|
// returning from await. |
|
result = $async$result; |
|
if (result != null) { |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
case 4: |
|
// for update |
|
list.length === t1 || (0, H.throwConcurrentModificationError)(list), ++_i; |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 5: |
|
// after for |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_handleReturn$1$2, $async$completer); |
|
}, |
|
_async_evaluate$_withEnvironment$1$2: function(environment, callback, $T) { |
|
return this._withEnvironment$body$_EvaluateVisitor(environment, callback, $T, $T); |
|
}, |
|
_withEnvironment$body$_EvaluateVisitor: function(environment, callback, $T, $async$type) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter($async$type), |
|
$async$returnValue, $async$self = this, result, oldEnvironment; |
|
var $async$_async_evaluate$_withEnvironment$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
oldEnvironment = $async$self._async_evaluate$_environment; |
|
$async$self._async_evaluate$_environment = environment; |
|
$async$goto = 3; |
|
return P._asyncAwait(callback.call$0(), $async$_async_evaluate$_withEnvironment$1$2); |
|
case 3: |
|
// returning from await. |
|
result = $async$result; |
|
$async$self._async_evaluate$_environment = oldEnvironment; |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_withEnvironment$1$2, $async$completer); |
|
}, |
|
_async_evaluate$_interpolationToValue$3$trim$warnForColor: function(interpolation, trim, warnForColor) { |
|
return this._interpolationToValue$body$_EvaluateVisitor(interpolation, trim, warnForColor); |
|
}, |
|
_async_evaluate$_interpolationToValue$1: function(interpolation) { |
|
return this._async_evaluate$_interpolationToValue$3$trim$warnForColor(interpolation, false, false); |
|
}, |
|
_async_evaluate$_interpolationToValue$2$warnForColor: function(interpolation, warnForColor) { |
|
return this._async_evaluate$_interpolationToValue$3$trim$warnForColor(interpolation, false, warnForColor); |
|
}, |
|
_interpolationToValue$body$_EvaluateVisitor: function(interpolation, trim, warnForColor) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter([F.CssValue, P.String]), |
|
$async$returnValue, $async$self = this, result, t1; |
|
var $async$_async_evaluate$_interpolationToValue$3$trim$warnForColor = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_performInterpolation$2$warnForColor(interpolation, warnForColor), $async$_async_evaluate$_interpolationToValue$3$trim$warnForColor); |
|
case 3: |
|
// returning from await. |
|
result = $async$result; |
|
t1 = trim ? B.trimAscii(result, true) : result; |
|
$async$returnValue = new F.CssValue(t1, interpolation.span, [P.String]); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_interpolationToValue$3$trim$warnForColor, $async$completer); |
|
}, |
|
_async_evaluate$_performInterpolation$2$warnForColor: function(interpolation, warnForColor) { |
|
return this._performInterpolation$body$_EvaluateVisitor(interpolation, warnForColor); |
|
}, |
|
_async_evaluate$_performInterpolation$1: function(interpolation) { |
|
return this._async_evaluate$_performInterpolation$2$warnForColor(interpolation, false); |
|
}, |
|
_performInterpolation$body$_EvaluateVisitor: function(interpolation, warnForColor) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.String), |
|
$async$returnValue, $async$self = this, $async$temp1; |
|
var $async$_async_evaluate$_performInterpolation$2$warnForColor = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$temp1 = J; |
|
$async$goto = 3; |
|
return P._asyncAwait(B.mapAsync(interpolation.contents, new E._EvaluateVisitor__performInterpolation_closure0($async$self, warnForColor), P.Object, P.String), $async$_async_evaluate$_performInterpolation$2$warnForColor); |
|
case 3: |
|
// returning from await. |
|
$async$returnValue = $async$temp1.join$0$ax($async$result); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_performInterpolation$2$warnForColor, $async$completer); |
|
}, |
|
_evaluateToCss$2$quote: function(expression, quote) { |
|
return this._evaluateToCss$body$_EvaluateVisitor(expression, quote); |
|
}, |
|
_evaluateToCss$1: function(expression) { |
|
return this._evaluateToCss$2$quote(expression, true); |
|
}, |
|
_evaluateToCss$body$_EvaluateVisitor: function(expression, quote) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.String), |
|
$async$returnValue, $async$self = this; |
|
var $async$_evaluateToCss$2$quote = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._asyncAwait(expression.accept$1($async$self), $async$_evaluateToCss$2$quote); |
|
case 3: |
|
// returning from await. |
|
$async$returnValue = $async$self._async_evaluate$_serialize$3$quote($async$result, expression, quote); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_evaluateToCss$2$quote, $async$completer); |
|
}, |
|
_async_evaluate$_serialize$3$quote: function(value, nodeWithSpan, quote) { |
|
return this._async_evaluate$_addExceptionSpan$2(nodeWithSpan, new E._EvaluateVisitor__serialize_closure0(value, quote)); |
|
}, |
|
_async_evaluate$_serialize$2: function(value, nodeWithSpan) { |
|
return this._async_evaluate$_serialize$3$quote(value, nodeWithSpan, true); |
|
}, |
|
_async_evaluate$_expressionNode$1: function(expression) { |
|
if (!this._async_evaluate$_sourceMap) |
|
return; |
|
if (expression instanceof S.VariableExpression) |
|
return this._async_evaluate$_environment.getVariableNode$2$namespace(expression.name, expression.namespace); |
|
else |
|
return expression; |
|
}, |
|
_async_evaluate$_withParent$2$4$scopeWhen$through: function(node, callback, scopeWhen, through, $S, $T) { |
|
return this._withParent$body$_EvaluateVisitor(node, callback, scopeWhen, through, $S, $T, $T); |
|
}, |
|
_async_evaluate$_withParent$2$2: function(node, callback, $S, $T) { |
|
return this._async_evaluate$_withParent$2$4$scopeWhen$through(node, callback, true, null, $S, $T); |
|
}, |
|
_async_evaluate$_withParent$2$3$scopeWhen: function(node, callback, scopeWhen, $S, $T) { |
|
return this._async_evaluate$_withParent$2$4$scopeWhen$through(node, callback, scopeWhen, null, $S, $T); |
|
}, |
|
_withParent$body$_EvaluateVisitor: function(node, callback, scopeWhen, through, $S, $T, $async$type) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter($async$type), |
|
$async$returnValue, $async$self = this, oldParent, result; |
|
var $async$_async_evaluate$_withParent$2$4$scopeWhen$through = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$self._async_evaluate$_addChild$2$through(node, through); |
|
oldParent = $async$self._async_evaluate$_parent; |
|
$async$self._async_evaluate$_parent = node; |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self._async_evaluate$_environment.scope$1$2$when(callback, scopeWhen, $T), $async$_async_evaluate$_withParent$2$4$scopeWhen$through); |
|
case 3: |
|
// returning from await. |
|
result = $async$result; |
|
$async$self._async_evaluate$_parent = oldParent; |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_withParent$2$4$scopeWhen$through, $async$completer); |
|
}, |
|
_async_evaluate$_addChild$2$through: function(node, through) { |
|
var grandparent, |
|
$parent = this._async_evaluate$_parent; |
|
if (through != null) { |
|
for (; through.call$1($parent);) |
|
$parent = $parent._parent; |
|
if ($parent.get$hasFollowingSibling()) { |
|
grandparent = $parent._parent; |
|
$parent = $parent.copyWithoutChildren$0(); |
|
grandparent.addChild$1($parent); |
|
} |
|
} |
|
$parent.addChild$1(node); |
|
}, |
|
_async_evaluate$_addChild$1: function(node) { |
|
return this._async_evaluate$_addChild$2$through(node, null); |
|
}, |
|
_async_evaluate$_withStyleRule$1$2: function(rule, callback, $T) { |
|
return this._withStyleRule$body$_EvaluateVisitor(rule, callback, $T, $T); |
|
}, |
|
_withStyleRule$body$_EvaluateVisitor: function(rule, callback, $T, $async$type) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter($async$type), |
|
$async$returnValue, $async$self = this, result, oldRule; |
|
var $async$_async_evaluate$_withStyleRule$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
oldRule = $async$self._async_evaluate$_styleRule; |
|
$async$self._async_evaluate$_styleRule = rule; |
|
$async$goto = 3; |
|
return P._asyncAwait(callback.call$0(), $async$_async_evaluate$_withStyleRule$1$2); |
|
case 3: |
|
// returning from await. |
|
result = $async$result; |
|
$async$self._async_evaluate$_styleRule = oldRule; |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_withStyleRule$1$2, $async$completer); |
|
}, |
|
_async_evaluate$_withMediaQueries$1$2: function(queries, callback, $T) { |
|
return this._withMediaQueries$body$_EvaluateVisitor(queries, callback, $T, $T); |
|
}, |
|
_withMediaQueries$body$_EvaluateVisitor: function(queries, callback, $T, $async$type) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter($async$type), |
|
$async$returnValue, $async$self = this, result, oldMediaQueries; |
|
var $async$_async_evaluate$_withMediaQueries$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
oldMediaQueries = $async$self._async_evaluate$_mediaQueries; |
|
$async$self._async_evaluate$_mediaQueries = queries; |
|
$async$goto = 3; |
|
return P._asyncAwait(callback.call$0(), $async$_async_evaluate$_withMediaQueries$1$2); |
|
case 3: |
|
// returning from await. |
|
result = $async$result; |
|
$async$self._async_evaluate$_mediaQueries = oldMediaQueries; |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_withMediaQueries$1$2, $async$completer); |
|
}, |
|
_async_evaluate$_withStackFrame$1$3: function(member, nodeWithSpan, callback, $T) { |
|
return this._withStackFrame$body$_EvaluateVisitor(member, nodeWithSpan, callback, $T, $T); |
|
}, |
|
_withStackFrame$body$_EvaluateVisitor: function(member, nodeWithSpan, callback, $T, $async$type) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter($async$type), |
|
$async$returnValue, $async$self = this, oldMember, result, t1; |
|
var $async$_async_evaluate$_withStackFrame$1$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self._async_evaluate$_stack; |
|
t1.push(new S.Tuple2($async$self._async_evaluate$_member, nodeWithSpan, [P.String, B.AstNode])); |
|
oldMember = $async$self._async_evaluate$_member; |
|
$async$self._async_evaluate$_member = member; |
|
$async$goto = 3; |
|
return P._asyncAwait(callback.call$0(), $async$_async_evaluate$_withStackFrame$1$3); |
|
case 3: |
|
// returning from await. |
|
result = $async$result; |
|
$async$self._async_evaluate$_member = oldMember; |
|
t1.pop(); |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_withStackFrame$1$3, $async$completer); |
|
}, |
|
_async_evaluate$_stackFrame$2: function(member, span) { |
|
var url = span.file.url; |
|
return B.frameForSpan(span, member, url != null && this._async_evaluate$_importCache != null ? this._async_evaluate$_importCache.humanize$1(url) : url); |
|
}, |
|
_async_evaluate$_stackTrace$1: function(span) { |
|
var t3, _this = this, |
|
t1 = A.Frame, |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
for (t3 = _this._async_evaluate$_stack, t3 = new H.MappedListIterable(t3, new E._EvaluateVisitor__stackTrace_closure0(_this), [H.getTypeArgumentByIndex(t3, 0), t1]), t3 = new H.ListIterator(t3, t3.get$length(t3)); t3.moveNext$0();) |
|
t2.push(t3.__internal$_current); |
|
if (span != null) |
|
t2.push(_this._async_evaluate$_stackFrame$2(_this._async_evaluate$_member, span)); |
|
return new Y.Trace(P.List_List$unmodifiable(new H.ReversedListIterable(t2, [H.getTypeArgumentByIndex(t2, 0)]), t1), new P._StringStackTrace(null)); |
|
}, |
|
_async_evaluate$_stackTrace$0: function() { |
|
return this._async_evaluate$_stackTrace$1(null); |
|
}, |
|
_async_evaluate$_warn$3$deprecation: function(message, span, deprecation) { |
|
return this._async_evaluate$_logger.warn$4$deprecation$span$trace(message, deprecation, span, this._async_evaluate$_stackTrace$1(span)); |
|
}, |
|
_async_evaluate$_warn$2: function(message, span) { |
|
return this._async_evaluate$_warn$3$deprecation(message, span, false); |
|
}, |
|
_async_evaluate$_exception$2: function(message, span) { |
|
var t1 = span == null ? C.JSArray_methods.get$last(this._async_evaluate$_stack).item2.get$span() : span; |
|
return new E.SassRuntimeException(this._async_evaluate$_stackTrace$1(span), message, t1); |
|
}, |
|
_async_evaluate$_exception$1: function(message) { |
|
return this._async_evaluate$_exception$2(message, null); |
|
}, |
|
_async_evaluate$_multiSpanException$3: function(message, primaryLabel, secondaryLabels) { |
|
var t1 = C.JSArray_methods.get$last(this._async_evaluate$_stack).item2.get$span(); |
|
return new E.MultiSpanSassRuntimeException(this._async_evaluate$_stackTrace$0(), primaryLabel, H.ConstantMap_ConstantMap$from(secondaryLabels, Y.FileSpan, P.String), message, t1); |
|
}, |
|
_async_evaluate$_adjustParseError$1$2: function(nodeWithSpan, callback) { |
|
var error, errorText, span, syntheticFile, syntheticSpan, t1, exception, t2, t3, t4, t5, _null = null; |
|
try { |
|
t1 = callback.call$0(); |
|
return t1; |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (t1 instanceof E.SassFormatException) { |
|
error = t1; |
|
t1 = error; |
|
errorText = P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(G.SourceSpanException.prototype.get$span.call(t1).file._decodedChars, 0, _null), 0, _null); |
|
span = nodeWithSpan.get$span(); |
|
t1 = span; |
|
t2 = span; |
|
syntheticFile = C.JSString_methods.replaceRange$3(P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(span.file._decodedChars, 0, _null), 0, _null), Y.FileLocation$_(t1.file, t1._start).offset, Y.FileLocation$_(t2.file, t2._file$_end).offset, errorText); |
|
t2 = syntheticFile; |
|
t1 = span.file.url; |
|
t2.toString; |
|
t2 = new H.CodeUnits(t2); |
|
t3 = H.setRuntimeTypeInfo([0], [P.int]); |
|
t3 = new Y.SourceFile(t1, t3, new Uint32Array(H._ensureNativeList(t2.toList$0(t2)))); |
|
t3.SourceFile$decoded$2$url(t2, t1); |
|
t1 = span; |
|
t1 = Y.FileLocation$_(t1.file, t1._start); |
|
t2 = error; |
|
t2 = G.SourceSpanException.prototype.get$span.call(t2); |
|
t2 = Y.FileLocation$_(t2.file, t2._start); |
|
t4 = span; |
|
t4 = Y.FileLocation$_(t4.file, t4._start); |
|
t5 = error; |
|
t5 = G.SourceSpanException.prototype.get$span.call(t5); |
|
syntheticSpan = t3.span$2(t1.offset + t2.offset, t4.offset + Y.FileLocation$_(t5.file, t5._file$_end).offset); |
|
throw H.wrapException(this._async_evaluate$_exception$2(error._span_exception$_message, syntheticSpan)); |
|
} else |
|
throw exception; |
|
} |
|
}, |
|
_async_evaluate$_adjustParseError$2: function(nodeWithSpan, callback) { |
|
return this._async_evaluate$_adjustParseError$1$2(nodeWithSpan, callback, null); |
|
}, |
|
_async_evaluate$_addExceptionSpan$1$2: function(nodeWithSpan, callback) { |
|
var error, error0, t1, exception, t2; |
|
try { |
|
t1 = callback.call$0(); |
|
return t1; |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
t2 = J.getInterceptor$(t1); |
|
if (!!t2.$isMultiSpanSassScriptException) { |
|
error = t1; |
|
throw H.wrapException(E.MultiSpanSassRuntimeException$(error.message, nodeWithSpan.get$span(), error.primaryLabel, error.secondarySpans, this._async_evaluate$_stackTrace$1(nodeWithSpan.get$span()))); |
|
} else if (!!t2.$isSassScriptException) { |
|
error0 = t1; |
|
throw H.wrapException(this._async_evaluate$_exception$2(error0.message, nodeWithSpan.get$span())); |
|
} else |
|
throw exception; |
|
} |
|
}, |
|
_async_evaluate$_addExceptionSpan$2: function(nodeWithSpan, callback) { |
|
return this._async_evaluate$_addExceptionSpan$1$2(nodeWithSpan, callback, null); |
|
}, |
|
_addExceptionSpanAsync$1$2: function(nodeWithSpan, callback, $T) { |
|
return this._addExceptionSpanAsync$body$_EvaluateVisitor(nodeWithSpan, callback, $T, $T); |
|
}, |
|
_addExceptionSpanAsync$body$_EvaluateVisitor: function(nodeWithSpan, callback, $T, $async$type) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter($async$type), |
|
$async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, error, error0, t1, exception, t2, $async$exception; |
|
var $async$_addExceptionSpanAsync$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) { |
|
$async$currentError = $async$result; |
|
$async$goto = $async$handler; |
|
} |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$handler = 4; |
|
$async$goto = 7; |
|
return P._asyncAwait(callback.call$0(), $async$_addExceptionSpanAsync$1$2); |
|
case 7: |
|
// returning from await. |
|
t1 = $async$result; |
|
$async$returnValue = t1; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
$async$handler = 2; |
|
// goto after finally |
|
$async$goto = 6; |
|
break; |
|
case 4: |
|
// catch |
|
$async$handler = 3; |
|
$async$exception = $async$currentError; |
|
t1 = H.unwrapException($async$exception); |
|
t2 = J.getInterceptor$(t1); |
|
if (!!t2.$isMultiSpanSassScriptException) { |
|
error = t1; |
|
throw H.wrapException(E.MultiSpanSassRuntimeException$(error.message, nodeWithSpan.get$span(), error.primaryLabel, error.secondarySpans, $async$self._async_evaluate$_stackTrace$1(nodeWithSpan.get$span()))); |
|
} else if (!!t2.$isSassScriptException) { |
|
error0 = t1; |
|
throw H.wrapException($async$self._async_evaluate$_exception$2(error0.message, nodeWithSpan.get$span())); |
|
} else |
|
throw $async$exception; |
|
// goto after finally |
|
$async$goto = 6; |
|
break; |
|
case 3: |
|
// uncaught |
|
// goto rethrow |
|
$async$goto = 2; |
|
break; |
|
case 6: |
|
// after finally |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
case 2: |
|
// rethrow |
|
return P._asyncRethrow($async$currentError, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_addExceptionSpanAsync$1$2, $async$completer); |
|
}, |
|
_async_evaluate$_addErrorSpan$1$2: function(nodeWithSpan, callback, $T) { |
|
return this._addErrorSpan$body$_EvaluateVisitor(nodeWithSpan, callback, $T, $T); |
|
}, |
|
_addErrorSpan$body$_EvaluateVisitor: function(nodeWithSpan, callback, $T, $async$type) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter($async$type), |
|
$async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, error, t1, exception, $async$exception; |
|
var $async$_async_evaluate$_addErrorSpan$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) { |
|
$async$currentError = $async$result; |
|
$async$goto = $async$handler; |
|
} |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$handler = 4; |
|
$async$goto = 7; |
|
return P._asyncAwait(callback.call$0(), $async$_async_evaluate$_addErrorSpan$1$2); |
|
case 7: |
|
// returning from await. |
|
t1 = $async$result; |
|
$async$returnValue = t1; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
$async$handler = 2; |
|
// goto after finally |
|
$async$goto = 6; |
|
break; |
|
case 4: |
|
// catch |
|
$async$handler = 3; |
|
$async$exception = $async$currentError; |
|
t1 = H.unwrapException($async$exception); |
|
if (!!J.getInterceptor$(t1).$isSassRuntimeException) { |
|
error = t1; |
|
t1 = error.get$span(); |
|
if (!C.JSString_methods.startsWith$1(P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._start, t1._file$_end), 0, null), "@error")) |
|
throw $async$exception; |
|
throw H.wrapException(E.SassRuntimeException$(error._span_exception$_message, nodeWithSpan.get$span(), $async$self._async_evaluate$_stackTrace$0())); |
|
} else |
|
throw $async$exception; |
|
// goto after finally |
|
$async$goto = 6; |
|
break; |
|
case 3: |
|
// uncaught |
|
// goto rethrow |
|
$async$goto = 2; |
|
break; |
|
case 6: |
|
// after finally |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
case 2: |
|
// rethrow |
|
return P._asyncRethrow($async$currentError, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$_async_evaluate$_addErrorSpan$1$2, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_closure9.prototype = { |
|
call$1: function($arguments) { |
|
var module, t2, |
|
t1 = J.getInterceptor$asx($arguments), |
|
variable = t1.$index($arguments, 0).assertString$1("name"); |
|
t1 = t1.$index($arguments, 1).get$realNull(); |
|
module = t1 == null ? null : t1.assertString$1("module"); |
|
t1 = this.$this._async_evaluate$_environment; |
|
t2 = variable.text; |
|
t2.toString; |
|
t2 = H.stringReplaceAllUnchecked(t2, "_", "-"); |
|
return t1.globalVariableExists$2$namespace(t2, module == null ? null : module.text) ? C.SassBoolean_true : C.SassBoolean_false; |
|
}, |
|
$signature: 5 |
|
}; |
|
E._EvaluateVisitor_closure10.prototype = { |
|
call$1: function($arguments) { |
|
var variable = J.$index$asx($arguments, 0).assertString$1("name"), |
|
t1 = this.$this._async_evaluate$_environment, |
|
t2 = variable.text; |
|
t2.toString; |
|
return t1.getVariable$1(H.stringReplaceAllUnchecked(t2, "_", "-")) != null ? C.SassBoolean_true : C.SassBoolean_false; |
|
}, |
|
$signature: 5 |
|
}; |
|
E._EvaluateVisitor_closure11.prototype = { |
|
call$1: function($arguments) { |
|
var module, t2, t3, t4, |
|
t1 = J.getInterceptor$asx($arguments), |
|
variable = t1.$index($arguments, 0).assertString$1("name"); |
|
t1 = t1.$index($arguments, 1).get$realNull(); |
|
module = t1 == null ? null : t1.assertString$1("module"); |
|
t1 = this.$this; |
|
t2 = t1._async_evaluate$_environment; |
|
t3 = variable.text; |
|
t3.toString; |
|
t4 = H.stringReplaceAllUnchecked(t3, "_", "-"); |
|
return t2.getFunction$2$namespace(t4, module == null ? null : module.text) != null || t1._async_evaluate$_builtInFunctions.containsKey$1(t3) ? C.SassBoolean_true : C.SassBoolean_false; |
|
}, |
|
$signature: 5 |
|
}; |
|
E._EvaluateVisitor_closure12.prototype = { |
|
call$1: function($arguments) { |
|
var module, t2, |
|
t1 = J.getInterceptor$asx($arguments), |
|
variable = t1.$index($arguments, 0).assertString$1("name"); |
|
t1 = t1.$index($arguments, 1).get$realNull(); |
|
module = t1 == null ? null : t1.assertString$1("module"); |
|
t1 = this.$this._async_evaluate$_environment; |
|
t2 = variable.text; |
|
t2.toString; |
|
t2 = H.stringReplaceAllUnchecked(t2, "_", "-"); |
|
return t1.getMixin$2$namespace(t2, module == null ? null : module.text) != null ? C.SassBoolean_true : C.SassBoolean_false; |
|
}, |
|
$signature: 5 |
|
}; |
|
E._EvaluateVisitor_closure13.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = this.$this._async_evaluate$_environment; |
|
if (!t1._async_environment$_inMixin) |
|
throw H.wrapException(E.SassScriptException$("content-exists() may only be called within a mixin.")); |
|
return t1._async_environment$_content != null ? C.SassBoolean_true : C.SassBoolean_false; |
|
}, |
|
$signature: 5 |
|
}; |
|
E._EvaluateVisitor_closure14.prototype = { |
|
call$1: function($arguments) { |
|
var t2, t3, t4, |
|
t1 = J.$index$asx($arguments, 0).assertString$1("module").text, |
|
module = this.$this._async_evaluate$_environment._async_environment$_modules.$index(0, t1); |
|
if (module == null) |
|
throw H.wrapException('There is no module with namespace "' + H.S(t1) + '".'); |
|
t1 = F.Value; |
|
t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1); |
|
for (t3 = module.get$variables().get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) { |
|
t4 = t3.get$current(t3); |
|
t2.$indexSet(0, new D.SassString(t4.key, true), t4.value); |
|
} |
|
return new A.SassMap(H.ConstantMap_ConstantMap$from(t2, t1, t1)); |
|
}, |
|
$signature: 9 |
|
}; |
|
E._EvaluateVisitor_closure15.prototype = { |
|
call$1: function($arguments) { |
|
var t2, t3, t4, |
|
t1 = J.$index$asx($arguments, 0).assertString$1("module").text, |
|
module = this.$this._async_evaluate$_environment._async_environment$_modules.$index(0, t1); |
|
if (module == null) |
|
throw H.wrapException('There is no module with namespace "' + H.S(t1) + '".'); |
|
t1 = F.Value; |
|
t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1); |
|
for (t3 = module.get$functions(module).get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) { |
|
t4 = t3.get$current(t3); |
|
t2.$indexSet(0, new D.SassString(t4.key, true), new F.SassFunction(t4.value)); |
|
} |
|
return new A.SassMap(H.ConstantMap_ConstantMap$from(t2, t1, t1)); |
|
}, |
|
$signature: 9 |
|
}; |
|
E._EvaluateVisitor_closure16.prototype = { |
|
call$1: function($arguments) { |
|
var module, callable, |
|
t1 = J.getInterceptor$asx($arguments), |
|
$name = t1.$index($arguments, 0).assertString$1("name"), |
|
css = t1.$index($arguments, 1).get$isTruthy(); |
|
t1 = t1.$index($arguments, 2).get$realNull(); |
|
module = t1 == null ? null : t1.assertString$1("module"); |
|
if (css && module != null) |
|
throw H.wrapException("$css and $module may not both be passed at once."); |
|
if (css) |
|
callable = new L.PlainCssCallable($name.text); |
|
else { |
|
t1 = this.$this; |
|
callable = t1._async_evaluate$_addExceptionSpan$2(t1._async_evaluate$_callableNode, new E._EvaluateVisitor__closure8(t1, $name, module)); |
|
} |
|
if (callable != null) |
|
return new F.SassFunction(callable); |
|
throw H.wrapException("Function not found: " + $name.toString$0(0)); |
|
}, |
|
$signature: 32 |
|
}; |
|
E._EvaluateVisitor__closure8.prototype = { |
|
call$0: function() { |
|
var t2, |
|
t1 = this.name.text; |
|
t1.toString; |
|
t1 = H.stringReplaceAllUnchecked(t1, "_", "-"); |
|
t2 = this.module; |
|
t2 = t2 == null ? null : t2.text; |
|
return this.$this._async_evaluate$_getFunction$2$namespace(t1, t2); |
|
} |
|
}; |
|
E._EvaluateVisitor_closure17.prototype = { |
|
call$1: function($arguments) { |
|
return this.$call$body$_EvaluateVisitor_closure0($arguments); |
|
}, |
|
$call$body$_EvaluateVisitor_closure0: function($arguments) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, t2, t3, t4, t5, t6, t7, t8, invocation, callable, t1, $function, args; |
|
var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = J.getInterceptor$asx($arguments); |
|
$function = t1.$index($arguments, 0); |
|
args = H.interceptedTypeCast(t1.$index($arguments, 1), "$isSassArgumentList"); |
|
t1 = T.Expression; |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
t3 = P.String; |
|
t4 = $async$self.$this; |
|
t5 = t4._async_evaluate$_callableNode.get$span(); |
|
t6 = t4._async_evaluate$_callableNode.get$span(); |
|
args._wereKeywordsAccessed = true; |
|
t7 = args._keywords; |
|
if (t7.get$isEmpty(t7)) |
|
t7 = null; |
|
else { |
|
args._wereKeywordsAccessed = true; |
|
t8 = F.Value; |
|
t8 = new F.ValueExpression(new A.SassMap(H.ConstantMap_ConstantMap$from(Y.mapMap(t7, new E._EvaluateVisitor__closure6(), new E._EvaluateVisitor__closure7(), t3, t8, t8, t8), t8, t8)), t4._async_evaluate$_callableNode.get$span()); |
|
t7 = t8; |
|
} |
|
invocation = X.ArgumentInvocation$(t2, P.LinkedHashMap_LinkedHashMap$_empty(t3, t1), t5, t7, new F.ValueExpression(args, t6)); |
|
$async$goto = $function instanceof D.SassString ? 3 : 4; |
|
break; |
|
case 3: |
|
// then |
|
N.warn("Passing a string to call() is deprecated and will be illegal\nin Dart Sass 2.0.0. Use call(get-function(" + $function.toString$0(0) + ")) instead.", true); |
|
$async$goto = 5; |
|
return P._asyncAwait(t4.visitFunctionExpression$1(new F.FunctionExpression(null, X.Interpolation$(H.setRuntimeTypeInfo([$function.text], [P.Object]), t4._async_evaluate$_callableNode.get$span()), invocation, t4._async_evaluate$_callableNode.get$span())), $async$call$1); |
|
case 5: |
|
// returning from await. |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 4: |
|
// join |
|
callable = $function.assertFunction$1("function").callable; |
|
$async$goto = !!J.getInterceptor$(callable).$isAsyncCallable ? 6 : 8; |
|
break; |
|
case 6: |
|
// then |
|
$async$goto = 9; |
|
return P._asyncAwait(t4._async_evaluate$_runFunctionCallable$3(invocation, callable, t4._async_evaluate$_callableNode), $async$call$1); |
|
case 9: |
|
// returning from await. |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
// goto join |
|
$async$goto = 7; |
|
break; |
|
case 8: |
|
// else |
|
throw H.wrapException(E.SassScriptException$("The function " + H.S(callable.get$name()) + " is asynchronous.\nThis is probably caused by a bug in a Sass plugin.")); |
|
case 7: |
|
// join |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$1, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor__closure6.prototype = { |
|
call$2: function(key, _) { |
|
return new D.SassString(key, false); |
|
} |
|
}; |
|
E._EvaluateVisitor__closure7.prototype = { |
|
call$2: function(_, value) { |
|
return value; |
|
} |
|
}; |
|
E._EvaluateVisitor_closure18.prototype = { |
|
call$1: function($arguments) { |
|
return this.$call$body$_EvaluateVisitor_closure($arguments); |
|
}, |
|
$call$body$_EvaluateVisitor_closure: function($arguments) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$returnValue, $async$self = this, withMap, values, configuration, t2, t3, t1, url; |
|
var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = J.getInterceptor$asx($arguments); |
|
url = P.Uri_parse(t1.$index($arguments, 0).assertString$1("module").text); |
|
t1 = t1.$index($arguments, 1).get$realNull(); |
|
t1 = t1 == null ? null : t1.assertMap$1("with"); |
|
withMap = t1 == null ? null : t1.contents; |
|
if (withMap != null) { |
|
values = P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.ConfiguredValue); |
|
t1 = $async$self.$this; |
|
withMap.forEach$1(0, new E._EvaluateVisitor__closure4(values, t1._async_evaluate$_callableNode.get$span())); |
|
configuration = new A.Configuration(values, t1._async_evaluate$_callableNode, false); |
|
} else |
|
configuration = C.Configuration_Map_empty_null_true; |
|
t1 = $async$self.$this; |
|
t2 = t1._async_evaluate$_callableNode; |
|
t3 = t2.get$span(); |
|
t3 = t3 == null ? null : t3.file.url; |
|
$async$goto = 3; |
|
return P._asyncAwait(t1._async_evaluate$_loadModule$7$baseUrl$configuration$namesInErrors(url, "load-css()", t2, new E._EvaluateVisitor__closure5(t1), t3, configuration, true), $async$call$1); |
|
case 3: |
|
// returning from await. |
|
t1._async_evaluate$_assertConfigurationIsEmpty$2$nameInError(configuration, true); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$1, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor__closure4.prototype = { |
|
call$2: function(variable, value) { |
|
var $name, |
|
t1 = variable.assertString$1("with key").text; |
|
t1.toString; |
|
$name = H.stringReplaceAllUnchecked(t1, "_", "-"); |
|
t1 = this.values; |
|
if (t1.containsKey$1($name)) |
|
throw H.wrapException("The variable $" + $name + " was configured twice."); |
|
t1.$indexSet(0, $name, new Z.ConfiguredValue(value, this.span, null)); |
|
} |
|
}; |
|
E._EvaluateVisitor__closure5.prototype = { |
|
call$1: function(module) { |
|
var t1 = this.$this; |
|
return t1._async_evaluate$_combineCss$2$clone(module, true).accept$1(t1); |
|
} |
|
}; |
|
E._EvaluateVisitor_run_closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(E.EvaluateResult), |
|
$async$returnValue, $async$self = this, t1, t2, url, $async$temp1, $async$temp2; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.node; |
|
t2 = t1.span; |
|
url = t2 == null ? null : t2.file.url; |
|
if (url != null) { |
|
t2 = $async$self.$this; |
|
t2._async_evaluate$_activeModules.$indexSet(0, url, null); |
|
if (t2._async_evaluate$_nodeImporter != null) |
|
if (url.get$scheme() === "file") |
|
t2._async_evaluate$_includedFiles.add$1(0, $.$get$context().style.pathFromUri$1(M._parseUri(url))); |
|
else if (url.toString$0(0) !== "stdin") |
|
t2._async_evaluate$_includedFiles.add$1(0, url.toString$0(0)); |
|
} |
|
t2 = $async$self.$this; |
|
$async$temp1 = E; |
|
$async$temp2 = t2; |
|
$async$goto = 3; |
|
return P._asyncAwait(t2._async_evaluate$_execute$2($async$self.importer, t1), $async$call$0); |
|
case 3: |
|
// returning from await. |
|
$async$returnValue = new $async$temp1.EvaluateResult($async$temp2._async_evaluate$_combineCss$1($async$result), t2._async_evaluate$_includedFiles); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor__withWarnCallback_closure0.prototype = { |
|
call$2: function(message, deprecation) { |
|
var t1 = this.$this, |
|
t2 = t1._async_evaluate$_importSpan; |
|
return t1._async_evaluate$_warn$3$deprecation(message, t2 == null ? t1._async_evaluate$_callableNode.get$span() : t2, deprecation); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2 |
|
}; |
|
E._EvaluateVisitor__loadModule_closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$handler = 1, $async$currentError, $async$next = [], $async$self = this, module, error, error0, error1, error2, message, previousLoad, exception, t1, t2, result, importer, stylesheet, canonicalUrl, t3, $async$exception; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) { |
|
$async$currentError = $async$result; |
|
$async$goto = $async$handler; |
|
} |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
t2 = $async$self.nodeWithSpan; |
|
$async$goto = 2; |
|
return P._asyncAwait(t1._async_evaluate$_loadStylesheet$3$baseUrl(J.toString$0$($async$self.url), t2.get$span(), $async$self.baseUrl), $async$call$0); |
|
case 2: |
|
// returning from await. |
|
result = $async$result; |
|
importer = result.item1; |
|
stylesheet = result.item2; |
|
canonicalUrl = stylesheet.span.file.url; |
|
t3 = t1._async_evaluate$_activeModules; |
|
if (t3.containsKey$1(canonicalUrl)) { |
|
message = $async$self.namesInErrors ? "Module loop: " + H.S($.$get$context().prettyUri$1(canonicalUrl)) + " is already being loaded." : "Module loop: this module is already being loaded."; |
|
previousLoad = t3.$index(0, canonicalUrl); |
|
throw H.wrapException(previousLoad == null ? t1._async_evaluate$_exception$1(message) : t1._async_evaluate$_multiSpanException$3(message, "new load", P.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(), "original load"], Y.FileSpan, P.String))); |
|
} |
|
t3.$indexSet(0, canonicalUrl, t2); |
|
module = null; |
|
$async$handler = 3; |
|
$async$goto = 6; |
|
return P._asyncAwait(t1._async_evaluate$_execute$5$configuration$namesInErrors$nodeWithSpan(importer, stylesheet, $async$self.configuration, $async$self.namesInErrors, t2), $async$call$0); |
|
case 6: |
|
// returning from await. |
|
module = $async$result; |
|
$async$next.push(5); |
|
// goto finally |
|
$async$goto = 4; |
|
break; |
|
case 3: |
|
// uncaught |
|
$async$next = [1]; |
|
case 4: |
|
// finally |
|
$async$handler = 1; |
|
t3.remove$1(0, canonicalUrl); |
|
// goto the next finally handler |
|
$async$goto = $async$next.pop(); |
|
break; |
|
case 5: |
|
// after finally |
|
$async$handler = 8; |
|
$async$goto = 11; |
|
return P._asyncAwait($async$self.callback.call$1(module), $async$call$0); |
|
case 11: |
|
// returning from await. |
|
$async$handler = 1; |
|
// goto after finally |
|
$async$goto = 10; |
|
break; |
|
case 8: |
|
// catch |
|
$async$handler = 7; |
|
$async$exception = $async$currentError; |
|
t2 = H.unwrapException($async$exception); |
|
t3 = J.getInterceptor$(t2); |
|
if (!!t3.$isSassRuntimeException) |
|
throw $async$exception; |
|
else if (!!t3.$isMultiSpanSassException) { |
|
error = t2; |
|
throw H.wrapException(E.MultiSpanSassRuntimeException$(error._span_exception$_message, error.get$span(), error.primaryLabel, error.secondarySpans, t1._async_evaluate$_stackTrace$1(error.get$span()))); |
|
} else if (!!t3.$isSassException) { |
|
error0 = t2; |
|
throw H.wrapException(t1._async_evaluate$_exception$2(error0._span_exception$_message, error0.get$span())); |
|
} else if (!!t3.$isMultiSpanSassScriptException) { |
|
error1 = t2; |
|
throw H.wrapException(t1._async_evaluate$_multiSpanException$3(error1.message, error1.primaryLabel, error1.secondarySpans)); |
|
} else if (!!t3.$isSassScriptException) { |
|
error2 = t2; |
|
throw H.wrapException(t1._async_evaluate$_exception$1(error2.message)); |
|
} else |
|
throw $async$exception; |
|
// goto after finally |
|
$async$goto = 10; |
|
break; |
|
case 7: |
|
// uncaught |
|
// goto rethrow |
|
$async$goto = 1; |
|
break; |
|
case 10: |
|
// after finally |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
case 1: |
|
// rethrow |
|
return P._asyncRethrow($async$currentError, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor__execute_closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t2, t3, t4, t5, css, t1, oldImporter, oldStylesheet, oldRoot, oldParent, oldEndOfImports, oldOutOfOrderImports, oldExtender, oldStyleRule, oldMediaQueries, oldDeclarationName, oldInUnknownAtRule, oldAtRootExcludingStyleRule, oldInKeyframes, oldConfiguration; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
oldImporter = t1._async_evaluate$_importer; |
|
oldStylesheet = t1._async_evaluate$_stylesheet; |
|
oldRoot = t1._async_evaluate$_root; |
|
oldParent = t1._async_evaluate$_parent; |
|
oldEndOfImports = t1._async_evaluate$_endOfImports; |
|
oldOutOfOrderImports = t1._async_evaluate$_outOfOrderImports; |
|
oldExtender = t1._async_evaluate$_extender; |
|
oldStyleRule = t1._async_evaluate$_styleRule; |
|
oldMediaQueries = t1._async_evaluate$_mediaQueries; |
|
oldDeclarationName = t1._async_evaluate$_declarationName; |
|
oldInUnknownAtRule = t1._async_evaluate$_inUnknownAtRule; |
|
oldAtRootExcludingStyleRule = t1._async_evaluate$_atRootExcludingStyleRule; |
|
oldInKeyframes = t1._async_evaluate$_inKeyframes; |
|
oldConfiguration = t1._async_evaluate$_configuration; |
|
t1._async_evaluate$_importer = $async$self.importer; |
|
t2 = t1._async_evaluate$_stylesheet = $async$self.stylesheet; |
|
t3 = t2.span; |
|
t4 = B.ModifiableCssNode; |
|
t5 = H.setRuntimeTypeInfo([], [t4]); |
|
t1._async_evaluate$_parent = t1._async_evaluate$_root = new V.ModifiableCssStylesheet(t3, new P.UnmodifiableListView(t5, [t4]), t5); |
|
t1._async_evaluate$_endOfImports = 0; |
|
t1._async_evaluate$_outOfOrderImports = null; |
|
t1._async_evaluate$_extender = $async$self.extender; |
|
t1._async_evaluate$_declarationName = t1._async_evaluate$_mediaQueries = t1._async_evaluate$_styleRule = null; |
|
t1._async_evaluate$_inKeyframes = t1._async_evaluate$_atRootExcludingStyleRule = t1._async_evaluate$_inUnknownAtRule = false; |
|
t4 = $async$self.configuration; |
|
if (t4 != null) |
|
t1._async_evaluate$_configuration = t4; |
|
$async$goto = 2; |
|
return P._asyncAwait(t1.visitStylesheet$1(t2), $async$call$0); |
|
case 2: |
|
// returning from await. |
|
css = t1._async_evaluate$_outOfOrderImports == null ? t1._async_evaluate$_root : new V.CssStylesheet(new P.UnmodifiableListView(t1._async_evaluate$_addOutOfOrderImports$0(), [B.CssNode]), t3); |
|
$async$self._box_0.css = css; |
|
t1._async_evaluate$_importer = oldImporter; |
|
t1._async_evaluate$_stylesheet = oldStylesheet; |
|
t1._async_evaluate$_root = oldRoot; |
|
t1._async_evaluate$_parent = oldParent; |
|
t1._async_evaluate$_endOfImports = oldEndOfImports; |
|
t1._async_evaluate$_outOfOrderImports = oldOutOfOrderImports; |
|
t1._async_evaluate$_extender = oldExtender; |
|
t1._async_evaluate$_styleRule = oldStyleRule; |
|
t1._async_evaluate$_mediaQueries = oldMediaQueries; |
|
t1._async_evaluate$_declarationName = oldDeclarationName; |
|
t1._async_evaluate$_inUnknownAtRule = oldInUnknownAtRule; |
|
t1._async_evaluate$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule; |
|
t1._async_evaluate$_inKeyframes = oldInKeyframes; |
|
t1._async_evaluate$_configuration = oldConfiguration; |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor__combineCss_closure2.prototype = { |
|
call$1: function(module) { |
|
return module.get$transitivelyContainsCss(); |
|
} |
|
}; |
|
E._EvaluateVisitor__combineCss_closure3.prototype = { |
|
call$1: function(target) { |
|
return !this.selectors.contains$1(0, target); |
|
} |
|
}; |
|
E._EvaluateVisitor__combineCss_closure4.prototype = { |
|
call$1: function(module) { |
|
return module.cloneCss$0(); |
|
} |
|
}; |
|
E._EvaluateVisitor__extendModules_closure1.prototype = { |
|
call$1: function(target) { |
|
return !this.originalSelectors.contains$1(0, target); |
|
} |
|
}; |
|
E._EvaluateVisitor__extendModules_closure2.prototype = { |
|
call$0: function() { |
|
return H.setRuntimeTypeInfo([], [F.Extender]); |
|
} |
|
}; |
|
E._EvaluateVisitor__topologicalModules_visitModule0.prototype = { |
|
call$1: function(module) { |
|
var t1, t2, t3, _i, upstream; |
|
for (t1 = module.get$upstream(), t2 = t1.length, t3 = this.seen, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { |
|
upstream = t1[_i]; |
|
if (upstream.get$transitivelyContainsCss() && t3.add$1(0, upstream)) |
|
this.call$1(upstream); |
|
} |
|
this.sorted.addFirst$1(module); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitAtRootRule_closure2.prototype = { |
|
call$0: function() { |
|
var t1 = S.SpanScanner$(this.resolved, null); |
|
return new V.AtRootQueryParser(t1, this.$this._async_evaluate$_logger).parse$0(); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitAtRootRule_closure3.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2, t3, _i; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0; |
|
case 2: |
|
// for condition |
|
if (!(_i < t2)) { |
|
// goto after for |
|
$async$goto = 4; |
|
break; |
|
} |
|
$async$goto = 5; |
|
return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0); |
|
case 5: |
|
// returning from await. |
|
case 3: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
case 4: |
|
// after for |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitAtRootRule_closure4.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2, t3, _i; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0; |
|
case 2: |
|
// for condition |
|
if (!(_i < t2)) { |
|
// goto after for |
|
$async$goto = 4; |
|
break; |
|
} |
|
$async$goto = 5; |
|
return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0); |
|
case 5: |
|
// returning from await. |
|
case 3: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
case 4: |
|
// after for |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
E._EvaluateVisitor__scopeForAtRoot_closure5.prototype = { |
|
call$1: function(callback) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, oldParent; |
|
var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
oldParent = t1._async_evaluate$_parent; |
|
t1._async_evaluate$_parent = $async$self.newParent; |
|
$async$goto = 2; |
|
return P._asyncAwait(t1._async_evaluate$_environment.scope$1$2$when(callback, $async$self.node.hasDeclarations, -1), $async$call$1); |
|
case 2: |
|
// returning from await. |
|
t1._async_evaluate$_parent = oldParent; |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$1, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor__scopeForAtRoot_closure6.prototype = { |
|
call$1: function(callback) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, oldAtRootExcludingStyleRule; |
|
var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
oldAtRootExcludingStyleRule = t1._async_evaluate$_atRootExcludingStyleRule; |
|
t1._async_evaluate$_atRootExcludingStyleRule = true; |
|
$async$goto = 2; |
|
return P._asyncAwait($async$self.innerScope.call$1(callback), $async$call$1); |
|
case 2: |
|
// returning from await. |
|
t1._async_evaluate$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule; |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$1, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor__scopeForAtRoot_closure7.prototype = { |
|
call$1: function(callback) { |
|
return this.$this._async_evaluate$_withMediaQueries$1$2(null, new E._EvaluateVisitor__scopeForAtRoot__closure0(this.innerScope, callback), P.Null); |
|
} |
|
}; |
|
E._EvaluateVisitor__scopeForAtRoot__closure0.prototype = { |
|
call$0: function() { |
|
return this.innerScope.call$1(this.callback); |
|
} |
|
}; |
|
E._EvaluateVisitor__scopeForAtRoot_closure8.prototype = { |
|
call$1: function(callback) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, wasInKeyframes; |
|
var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
wasInKeyframes = t1._async_evaluate$_inKeyframes; |
|
t1._async_evaluate$_inKeyframes = false; |
|
$async$goto = 2; |
|
return P._asyncAwait($async$self.innerScope.call$1(callback), $async$call$1); |
|
case 2: |
|
// returning from await. |
|
t1._async_evaluate$_inKeyframes = wasInKeyframes; |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$1, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor__scopeForAtRoot_closure9.prototype = { |
|
call$1: function($parent) { |
|
return !!J.getInterceptor$($parent).$isCssAtRule; |
|
} |
|
}; |
|
E._EvaluateVisitor__scopeForAtRoot_closure10.prototype = { |
|
call$1: function(callback) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, wasInUnknownAtRule; |
|
var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
wasInUnknownAtRule = t1._async_evaluate$_inUnknownAtRule; |
|
t1._async_evaluate$_inUnknownAtRule = false; |
|
$async$goto = 2; |
|
return P._asyncAwait($async$self.innerScope.call$1(callback), $async$call$1); |
|
case 2: |
|
// returning from await. |
|
t1._async_evaluate$_inUnknownAtRule = wasInUnknownAtRule; |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$1, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitContentRule_closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$returnValue, $async$self = this, t1, t2, t3, _i; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.content.declaration.children, t2 = t1.length, t3 = $async$self.$this, _i = 0; |
|
case 3: |
|
// for condition |
|
if (!(_i < t2)) { |
|
// goto after for |
|
$async$goto = 5; |
|
break; |
|
} |
|
$async$goto = 6; |
|
return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0); |
|
case 6: |
|
// returning from await. |
|
case 4: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 5: |
|
// after for |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitDeclaration_closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2, t3, _i; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0; |
|
case 2: |
|
// for condition |
|
if (!(_i < t2)) { |
|
// goto after for |
|
$async$goto = 4; |
|
break; |
|
} |
|
$async$goto = 5; |
|
return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0); |
|
case 5: |
|
// returning from await. |
|
case 3: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
case 4: |
|
// after for |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitEachRule_closure2.prototype = { |
|
call$1: function(value) { |
|
return this.$this._async_evaluate$_environment.setLocalVariable$3(C.JSArray_methods.get$first(this.node.variables), value.withoutSlash$0(), this.nodeWithSpan); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitEachRule_closure3.prototype = { |
|
call$1: function(value) { |
|
return this.$this._async_evaluate$_setMultipleVariables$3(this.node.variables, value, this.nodeWithSpan); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitEachRule_closure4.prototype = { |
|
call$0: function() { |
|
var _this = this, |
|
t1 = _this.$this; |
|
return t1._async_evaluate$_handleReturn$2(_this.list.get$asList(), new E._EvaluateVisitor_visitEachRule__closure0(t1, _this.setVariables, _this.node)); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitEachRule__closure0.prototype = { |
|
call$1: function(element) { |
|
var t1; |
|
this.setVariables.call$1(element); |
|
t1 = this.$this; |
|
return t1._async_evaluate$_handleReturn$2(this.node.children, new E._EvaluateVisitor_visitEachRule___closure0(t1)); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitEachRule___closure0.prototype = { |
|
call$1: function(child) { |
|
return child.accept$1(this.$this); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitExtendRule_closure0.prototype = { |
|
call$0: function() { |
|
var t1 = this.targetText; |
|
return D.SelectorList_SelectorList$parse(B.trimAscii(t1.get$value(t1), true), false, true, this.$this._async_evaluate$_logger); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitAtRule_closure1.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t3, _i, t1, t2; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
t2 = t1._async_evaluate$_styleRule; |
|
$async$goto = !(t2 != null && !t1._async_evaluate$_atRootExcludingStyleRule) || t1._async_evaluate$_inKeyframes ? 2 : 4; |
|
break; |
|
case 2: |
|
// then |
|
t2 = $async$self.node.children, t3 = t2.length, _i = 0; |
|
case 5: |
|
// for condition |
|
if (!(_i < t3)) { |
|
// goto after for |
|
$async$goto = 7; |
|
break; |
|
} |
|
$async$goto = 8; |
|
return P._asyncAwait(t2[_i].accept$1(t1), $async$call$0); |
|
case 8: |
|
// returning from await. |
|
case 6: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 5; |
|
break; |
|
case 7: |
|
// after for |
|
// goto join |
|
$async$goto = 3; |
|
break; |
|
case 4: |
|
// else |
|
$async$goto = 9; |
|
return P._asyncAwait(t1._async_evaluate$_withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new E._EvaluateVisitor_visitAtRule__closure0(t1, $async$self.node), false, X.ModifiableCssStyleRule, P.Null), $async$call$0); |
|
case 9: |
|
// returning from await. |
|
case 3: |
|
// join |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitAtRule__closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2, t3, _i; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0; |
|
case 2: |
|
// for condition |
|
if (!(_i < t2)) { |
|
// goto after for |
|
$async$goto = 4; |
|
break; |
|
} |
|
$async$goto = 5; |
|
return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0); |
|
case 5: |
|
// returning from await. |
|
case 3: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
case 4: |
|
// after for |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitAtRule_closure2.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
E._EvaluateVisitor_visitForRule_closure4.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(T.SassNumber), |
|
$async$returnValue, $async$self = this; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self.node.from.accept$1($async$self.$this), $async$call$0); |
|
case 3: |
|
// returning from await. |
|
$async$returnValue = $async$result.assertNumber$0(); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitForRule_closure5.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(T.SassNumber), |
|
$async$returnValue, $async$self = this; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
$async$goto = 3; |
|
return P._asyncAwait($async$self.node.to.accept$1($async$self.$this), $async$call$0); |
|
case 3: |
|
// returning from await. |
|
$async$returnValue = $async$result.assertNumber$0(); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitForRule_closure6.prototype = { |
|
call$0: function() { |
|
var t1 = this.toNumber, |
|
t2 = t1.numeratorUnits; |
|
t1 = t1.denominatorUnits; |
|
return T.SassNumber$withUnits(this.fromNumber.valueInUnits$2(t2, t1), t1, t2).assertInt$0(); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitForRule_closure7.prototype = { |
|
call$0: function() { |
|
return this.toNumber.assertInt$0(); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitForRule_closure8.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, i, t3, t4, t5, t6, result, t1, t2, nodeWithSpan; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
t2 = $async$self.node; |
|
nodeWithSpan = t1._async_evaluate$_expressionNode$1(t2.from); |
|
i = $async$self.from, t3 = $async$self._box_0, t4 = $async$self.direction, t5 = t2.children, t2 = t2.variable; |
|
case 3: |
|
// for condition |
|
if (!(i !== t3.to)) { |
|
// goto after for |
|
$async$goto = 5; |
|
break; |
|
} |
|
t6 = t1._async_evaluate$_environment; |
|
t6.setLocalVariable$3(t2, new T.SassNumber(i, C.List_empty, C.List_empty, null), nodeWithSpan); |
|
$async$goto = 6; |
|
return P._asyncAwait(t1._async_evaluate$_handleReturn$2(t5, new E._EvaluateVisitor_visitForRule__closure0(t1)), $async$call$0); |
|
case 6: |
|
// returning from await. |
|
result = $async$result; |
|
if (result != null) { |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
case 4: |
|
// for update |
|
i += t4; |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 5: |
|
// after for |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitForRule__closure0.prototype = { |
|
call$1: function(child) { |
|
return child.accept$1(this.$this); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitForwardRule_closure1.prototype = { |
|
call$1: function(module) { |
|
this.$this._async_evaluate$_environment.forwardModule$2(module, this.node); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitForwardRule_closure2.prototype = { |
|
call$1: function(module) { |
|
this.$this._async_evaluate$_environment.forwardModule$2(module, this.node); |
|
} |
|
}; |
|
E._EvaluateVisitor__assertConfigurationIsEmpty_closure0.prototype = { |
|
call$2: function($name, value) { |
|
var t1 = this.only; |
|
if (t1 != null && !t1.contains$1(0, $name)) |
|
return; |
|
t1 = this.nameInError ? "$" + H.S($name) + " was not declared with !default in the @used module." : "This variable was not declared with !default in the @used module."; |
|
throw H.wrapException(this.$this._async_evaluate$_exception$2(t1, value.configurationSpan)); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitIfRule_closure0.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this; |
|
return t1._async_evaluate$_handleReturn$2(this._box_0.clause.children, new E._EvaluateVisitor_visitIfRule__closure0(t1)); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitIfRule__closure0.prototype = { |
|
call$1: function(child) { |
|
return child.accept$1(this.$this); |
|
} |
|
}; |
|
E._EvaluateVisitor__visitDynamicImport_closure0.prototype = { |
|
call$0: function() { |
|
return this.$call$body$_EvaluateVisitor__visitDynamicImport_closure(); |
|
}, |
|
$call$body$_EvaluateVisitor__visitDynamicImport_closure: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$returnValue, $async$self = this, previousLoad, oldImporter, oldStylesheet, t5, t6, t7, t8, t9, t10, t11, environment, module, visitor, _box_0, t1, t2, result, importer, stylesheet, t3, url, t4; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
_box_0 = {}; |
|
t1 = $async$self.$this; |
|
t2 = $async$self.$import; |
|
$async$goto = 3; |
|
return P._asyncAwait(t1._async_evaluate$_loadStylesheet$3$forImport(t2.url, t2.span, true), $async$call$0); |
|
case 3: |
|
// returning from await. |
|
result = $async$result; |
|
importer = result.item1; |
|
stylesheet = result.item2; |
|
t3 = stylesheet.span; |
|
url = t3.file.url; |
|
t4 = t1._async_evaluate$_activeModules; |
|
if (t4.containsKey$1(url)) { |
|
previousLoad = t4.$index(0, url); |
|
throw H.wrapException(previousLoad == null ? t1._async_evaluate$_exception$1("This file is already being loaded.") : t1._async_evaluate$_multiSpanException$3("This file is already being loaded.", "new load", P.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(), "original load"], Y.FileSpan, P.String))); |
|
} |
|
t4.$indexSet(0, url, t2); |
|
t2 = new P.UnmodifiableListView(stylesheet._uses, [T.UseRule]); |
|
if (t2.get$length(t2) === 0) { |
|
t2 = new P.UnmodifiableListView(stylesheet._forwards, [L.ForwardRule]); |
|
t2 = t2.get$length(t2) === 0; |
|
} else |
|
t2 = false; |
|
$async$goto = t2 ? 4 : 5; |
|
break; |
|
case 4: |
|
// then |
|
oldImporter = t1._async_evaluate$_importer; |
|
oldStylesheet = t1._async_evaluate$_stylesheet; |
|
t1._async_evaluate$_importer = importer; |
|
t1._async_evaluate$_stylesheet = stylesheet; |
|
$async$goto = 6; |
|
return P._asyncAwait(t1.visitStylesheet$1(stylesheet), $async$call$0); |
|
case 6: |
|
// returning from await. |
|
t1._async_evaluate$_importer = oldImporter; |
|
t1._async_evaluate$_stylesheet = oldStylesheet; |
|
t4.remove$1(0, url); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 5: |
|
// join |
|
_box_0.children = null; |
|
t2 = t1._async_evaluate$_environment; |
|
t5 = P.String; |
|
t6 = [G.Module, B.AsyncCallable]; |
|
t7 = H.setRuntimeTypeInfo([], [t6]); |
|
t8 = t2._async_environment$_variables; |
|
t8 = H.setRuntimeTypeInfo(t8.slice(0), [H.getTypeArgumentByIndex(t8, 0)]); |
|
t9 = t2._async_environment$_variableNodes; |
|
if (t9 == null) |
|
t9 = null; |
|
else |
|
t9 = H.setRuntimeTypeInfo(t9.slice(0), [H.getTypeArgumentByIndex(t9, 0)]); |
|
t10 = t2._async_environment$_functions; |
|
t10 = H.setRuntimeTypeInfo(t10.slice(0), [H.getTypeArgumentByIndex(t10, 0)]); |
|
t11 = t2._async_environment$_mixins; |
|
t11 = H.setRuntimeTypeInfo(t11.slice(0), [H.getTypeArgumentByIndex(t11, 0)]); |
|
environment = Q.AsyncEnvironment$_(P.LinkedHashMap_LinkedHashMap$_empty(t5, t6), P.LinkedHashMap_LinkedHashMap$_empty(t5, B.AstNode), null, null, null, null, null, t7, t8, t9, t10, t11, t2._async_environment$_content); |
|
$async$goto = 7; |
|
return P._asyncAwait(t1._async_evaluate$_withEnvironment$1$2(environment, new E._EvaluateVisitor__visitDynamicImport__closure0(_box_0, t1, importer, stylesheet, environment), P.Null), $async$call$0); |
|
case 7: |
|
// returning from await. |
|
module = Q._EnvironmentModule__EnvironmentModule0(environment, new V.CssStylesheet(new P.UnmodifiableListView(C.List_empty1, [B.CssNode]), t3), C.C_EmptyExtender, environment._async_environment$_forwardedModules); |
|
t1._async_evaluate$_environment.importForwards$1(module); |
|
$async$goto = module.transitivelyContainsCss ? 8 : 9; |
|
break; |
|
case 8: |
|
// then |
|
$async$goto = 10; |
|
return P._asyncAwait(t1._async_evaluate$_combineCss$2$clone(module, module.transitivelyContainsExtensions).accept$1(t1), $async$call$0); |
|
case 10: |
|
// returning from await. |
|
case 9: |
|
// join |
|
visitor = new E._ImportedCssVisitor0(t1); |
|
for (t1 = J.get$iterator$ax(_box_0.children); t1.moveNext$0();) |
|
t1.get$current(t1).accept$1(visitor); |
|
t4.remove$1(0, url); |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor__visitDynamicImport__closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t2, t3, t4, t1, oldImporter, oldStylesheet, oldRoot, oldParent, oldEndOfImports, oldOutOfOrderImports, oldConfiguration; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
oldImporter = t1._async_evaluate$_importer; |
|
oldStylesheet = t1._async_evaluate$_stylesheet; |
|
oldRoot = t1._async_evaluate$_root; |
|
oldParent = t1._async_evaluate$_parent; |
|
oldEndOfImports = t1._async_evaluate$_endOfImports; |
|
oldOutOfOrderImports = t1._async_evaluate$_outOfOrderImports; |
|
oldConfiguration = t1._async_evaluate$_configuration; |
|
t1._async_evaluate$_importer = $async$self.importer; |
|
t2 = t1._async_evaluate$_stylesheet = $async$self.stylesheet; |
|
t3 = B.ModifiableCssNode; |
|
t4 = H.setRuntimeTypeInfo([], [t3]); |
|
t1._async_evaluate$_parent = t1._async_evaluate$_root = new V.ModifiableCssStylesheet(t2.span, new P.UnmodifiableListView(t4, [t3]), t4); |
|
t1._async_evaluate$_endOfImports = 0; |
|
t1._async_evaluate$_outOfOrderImports = null; |
|
t3 = new P.UnmodifiableListView(t2._forwards, [L.ForwardRule]); |
|
if (!t3.get$isEmpty(t3)) |
|
t1._async_evaluate$_configuration = $async$self.environment.toImplicitConfiguration$0(); |
|
$async$goto = 2; |
|
return P._asyncAwait(t1.visitStylesheet$1(t2), $async$call$0); |
|
case 2: |
|
// returning from await. |
|
$async$self._box_0.children = t1._async_evaluate$_addOutOfOrderImports$0(); |
|
t1._async_evaluate$_importer = oldImporter; |
|
t1._async_evaluate$_stylesheet = oldStylesheet; |
|
t1._async_evaluate$_root = oldRoot; |
|
t1._async_evaluate$_parent = oldParent; |
|
t1._async_evaluate$_endOfImports = oldEndOfImports; |
|
t1._async_evaluate$_outOfOrderImports = oldOutOfOrderImports; |
|
t1._async_evaluate$_configuration = oldConfiguration; |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitIncludeRule_closure2.prototype = { |
|
call$0: function() { |
|
var t1 = this.node; |
|
return this.$this._async_evaluate$_environment.getMixin$2$namespace(t1.name, t1.namespace); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitIncludeRule_closure3.prototype = { |
|
call$0: function() { |
|
return this.node.get$spanWithoutContent(); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
E._EvaluateVisitor_visitIncludeRule_closure4.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$returnValue, $async$self = this, t1; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
$async$goto = 3; |
|
return P._asyncAwait(t1._async_evaluate$_environment.withContent$2($async$self.contentCallable, new E._EvaluateVisitor_visitIncludeRule__closure0(t1, $async$self.mixin, $async$self.nodeWithSpan)), $async$call$0); |
|
case 3: |
|
// returning from await. |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitIncludeRule__closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$returnValue, $async$self = this, t1; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
$async$goto = 3; |
|
return P._asyncAwait(t1._async_evaluate$_environment.asMixin$1(new E._EvaluateVisitor_visitIncludeRule___closure0(t1, $async$self.mixin, $async$self.nodeWithSpan)), $async$call$0); |
|
case 3: |
|
// returning from await. |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitIncludeRule___closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2, t3, t4, t5, _i; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.mixin.declaration.children, t2 = t1.length, t3 = $async$self.$this, t4 = $async$self.nodeWithSpan, t5 = F.Value, _i = 0; |
|
case 2: |
|
// for condition |
|
if (!(_i < t2)) { |
|
// goto after for |
|
$async$goto = 4; |
|
break; |
|
} |
|
$async$goto = 5; |
|
return P._asyncAwait(t3._async_evaluate$_addErrorSpan$1$2(t4, new E._EvaluateVisitor_visitIncludeRule____closure0(t3, t1[_i]), t5), $async$call$0); |
|
case 5: |
|
// returning from await. |
|
case 3: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
case 4: |
|
// after for |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitIncludeRule____closure0.prototype = { |
|
call$0: function() { |
|
return this.statement.accept$1(this.$this); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitMediaRule_closure1.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
t2 = $async$self.mergedQueries; |
|
if (t2 == null) |
|
t2 = $async$self.queries; |
|
$async$goto = 2; |
|
return P._asyncAwait(t1._async_evaluate$_withMediaQueries$1$2(t2, new E._EvaluateVisitor_visitMediaRule__closure0(t1, $async$self.node), P.Null), $async$call$0); |
|
case 2: |
|
// returning from await. |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitMediaRule__closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t3, _i, t1, t2; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
t2 = t1._async_evaluate$_styleRule; |
|
$async$goto = !(t2 != null && !t1._async_evaluate$_atRootExcludingStyleRule) ? 2 : 4; |
|
break; |
|
case 2: |
|
// then |
|
t2 = $async$self.node.children, t3 = t2.length, _i = 0; |
|
case 5: |
|
// for condition |
|
if (!(_i < t3)) { |
|
// goto after for |
|
$async$goto = 7; |
|
break; |
|
} |
|
$async$goto = 8; |
|
return P._asyncAwait(t2[_i].accept$1(t1), $async$call$0); |
|
case 8: |
|
// returning from await. |
|
case 6: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 5; |
|
break; |
|
case 7: |
|
// after for |
|
// goto join |
|
$async$goto = 3; |
|
break; |
|
case 4: |
|
// else |
|
$async$goto = 9; |
|
return P._asyncAwait(t1._async_evaluate$_withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new E._EvaluateVisitor_visitMediaRule___closure0(t1, $async$self.node), false, X.ModifiableCssStyleRule, P.Null), $async$call$0); |
|
case 9: |
|
// returning from await. |
|
case 3: |
|
// join |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitMediaRule___closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2, t3, _i; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0; |
|
case 2: |
|
// for condition |
|
if (!(_i < t2)) { |
|
// goto after for |
|
$async$goto = 4; |
|
break; |
|
} |
|
$async$goto = 5; |
|
return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0); |
|
case 5: |
|
// returning from await. |
|
case 3: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
case 4: |
|
// after for |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitMediaRule_closure2.prototype = { |
|
call$1: function(node) { |
|
var t1 = J.getInterceptor$(node); |
|
if (!t1.$isCssStyleRule) |
|
t1 = this.mergedQueries != null && !!t1.$isCssMediaRule; |
|
else |
|
t1 = true; |
|
return t1; |
|
} |
|
}; |
|
E._EvaluateVisitor__visitMediaQueries_closure0.prototype = { |
|
call$0: function() { |
|
var t1 = S.SpanScanner$(this.resolved, null); |
|
return new F.MediaQueryParser(t1, this.$this._async_evaluate$_logger).parse$0(); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitStyleRule_closure6.prototype = { |
|
call$0: function() { |
|
var t1 = this.selectorText; |
|
t1 = S.SpanScanner$(t1.get$value(t1), null); |
|
return new E.KeyframeSelectorParser(t1, this.$this._async_evaluate$_logger).parse$0(); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitStyleRule_closure7.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2, t3, _i; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0; |
|
case 2: |
|
// for condition |
|
if (!(_i < t2)) { |
|
// goto after for |
|
$async$goto = 4; |
|
break; |
|
} |
|
$async$goto = 5; |
|
return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0); |
|
case 5: |
|
// returning from await. |
|
case 3: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
case 4: |
|
// after for |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitStyleRule_closure8.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
E._EvaluateVisitor_visitStyleRule_closure9.prototype = { |
|
call$0: function() { |
|
var t2, t3, |
|
t1 = this.selectorText; |
|
t1 = t1.get$value(t1); |
|
t2 = this.$this; |
|
t3 = !t2._async_evaluate$_stylesheet.plainCss; |
|
return D.SelectorList_SelectorList$parse(t1, t3, t3, t2._async_evaluate$_logger); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitStyleRule_closure10.prototype = { |
|
call$0: function() { |
|
var t1 = this._box_0.parsedSelector, |
|
t2 = this.$this, |
|
t3 = t2._async_evaluate$_styleRule; |
|
t3 = t3 == null ? null : t3.originalSelector; |
|
return t1.resolveParentSelectors$2$implicitParent(t3, !t2._async_evaluate$_atRootExcludingStyleRule); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitStyleRule_closure11.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
$async$goto = 2; |
|
return P._asyncAwait(t1._async_evaluate$_withStyleRule$1$2($async$self.rule, new E._EvaluateVisitor_visitStyleRule__closure0(t1, $async$self.node), P.Null), $async$call$0); |
|
case 2: |
|
// returning from await. |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitStyleRule__closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2, t3, _i; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0; |
|
case 2: |
|
// for condition |
|
if (!(_i < t2)) { |
|
// goto after for |
|
$async$goto = 4; |
|
break; |
|
} |
|
$async$goto = 5; |
|
return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0); |
|
case 5: |
|
// returning from await. |
|
case 3: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
case 4: |
|
// after for |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitStyleRule_closure12.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
E._EvaluateVisitor_visitSupportsRule_closure1.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t3, _i, t1, t2; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
t2 = t1._async_evaluate$_styleRule; |
|
$async$goto = !(t2 != null && !t1._async_evaluate$_atRootExcludingStyleRule) ? 2 : 4; |
|
break; |
|
case 2: |
|
// then |
|
t2 = $async$self.node.children, t3 = t2.length, _i = 0; |
|
case 5: |
|
// for condition |
|
if (!(_i < t3)) { |
|
// goto after for |
|
$async$goto = 7; |
|
break; |
|
} |
|
$async$goto = 8; |
|
return P._asyncAwait(t2[_i].accept$1(t1), $async$call$0); |
|
case 8: |
|
// returning from await. |
|
case 6: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 5; |
|
break; |
|
case 7: |
|
// after for |
|
// goto join |
|
$async$goto = 3; |
|
break; |
|
case 4: |
|
// else |
|
$async$goto = 9; |
|
return P._asyncAwait(t1._async_evaluate$_withParent$2$2(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new E._EvaluateVisitor_visitSupportsRule__closure0(t1, $async$self.node), X.ModifiableCssStyleRule, P.Null), $async$call$0); |
|
case 9: |
|
// returning from await. |
|
case 3: |
|
// join |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitSupportsRule__closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2, t3, _i; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0; |
|
case 2: |
|
// for condition |
|
if (!(_i < t2)) { |
|
// goto after for |
|
$async$goto = 4; |
|
break; |
|
} |
|
$async$goto = 5; |
|
return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0); |
|
case 5: |
|
// returning from await. |
|
case 3: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
case 4: |
|
// after for |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitSupportsRule_closure2.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
E._EvaluateVisitor_visitVariableDeclaration_closure2.prototype = { |
|
call$0: function() { |
|
var t1 = this.override; |
|
this.$this._async_evaluate$_environment.setVariable$4$global(this.node.name, t1.value, t1.assignmentNode, true); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitVariableDeclaration_closure3.prototype = { |
|
call$0: function() { |
|
var t1 = this.node; |
|
return this.$this._async_evaluate$_environment.getVariable$2$namespace(t1.name, t1.namespace); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitVariableDeclaration_closure4.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
t2 = this.node; |
|
t1._async_evaluate$_environment.setVariable$5$global$namespace(t2.name, this.value, t1._async_evaluate$_expressionNode$1(t2.expression), t2.isGlobal, t2.namespace); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitUseRule_closure0.prototype = { |
|
call$1: function(module) { |
|
var t1 = this.node; |
|
this.$this._async_evaluate$_environment.addModule$3$namespace(module, t1, t1.namespace); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitWarnRule_closure0.prototype = { |
|
call$0: function() { |
|
return this.node.expression.accept$1(this.$this); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitWhileRule_closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, t1, t2, t3, result; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.node, t2 = t1.condition, t3 = $async$self.$this, t1 = t1.children; |
|
case 3: |
|
// for condition |
|
$async$goto = 5; |
|
return P._asyncAwait(t2.accept$1(t3), $async$call$0); |
|
case 5: |
|
// returning from await. |
|
if (!$async$result.get$isTruthy()) { |
|
// goto after for |
|
$async$goto = 4; |
|
break; |
|
} |
|
$async$goto = 6; |
|
return P._asyncAwait(t3._async_evaluate$_handleReturn$2(t1, new E._EvaluateVisitor_visitWhileRule__closure0(t3)), $async$call$0); |
|
case 6: |
|
// returning from await. |
|
result = $async$result; |
|
if (result != null) { |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 4: |
|
// after for |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitWhileRule__closure0.prototype = { |
|
call$1: function(child) { |
|
return child.accept$1(this.$this); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitBinaryOperationExpression_closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, right, result, t1, t2, left, $async$temp1, $async$temp2; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.node; |
|
t2 = $async$self.$this; |
|
$async$goto = 3; |
|
return P._asyncAwait(t1.left.accept$1(t2), $async$call$0); |
|
case 3: |
|
// returning from await. |
|
left = $async$result; |
|
case 4: |
|
// switch |
|
switch (t1.operator) { |
|
case C.BinaryOperator_kjl: |
|
// goto case |
|
$async$goto = 6; |
|
break; |
|
case C.BinaryOperator_or_or_1: |
|
// goto case |
|
$async$goto = 7; |
|
break; |
|
case C.BinaryOperator_and_and_2: |
|
// goto case |
|
$async$goto = 8; |
|
break; |
|
case C.BinaryOperator_YlX: |
|
// goto case |
|
$async$goto = 9; |
|
break; |
|
case C.BinaryOperator_i5H: |
|
// goto case |
|
$async$goto = 10; |
|
break; |
|
case C.BinaryOperator_AcR0: |
|
// goto case |
|
$async$goto = 11; |
|
break; |
|
case C.BinaryOperator_1da: |
|
// goto case |
|
$async$goto = 12; |
|
break; |
|
case C.BinaryOperator_8qt: |
|
// goto case |
|
$async$goto = 13; |
|
break; |
|
case C.BinaryOperator_33h: |
|
// goto case |
|
$async$goto = 14; |
|
break; |
|
case C.BinaryOperator_AcR: |
|
// goto case |
|
$async$goto = 15; |
|
break; |
|
case C.BinaryOperator_iyO: |
|
// goto case |
|
$async$goto = 16; |
|
break; |
|
case C.BinaryOperator_O1M: |
|
// goto case |
|
$async$goto = 17; |
|
break; |
|
case C.BinaryOperator_RTB: |
|
// goto case |
|
$async$goto = 18; |
|
break; |
|
case C.BinaryOperator_2ad: |
|
// goto case |
|
$async$goto = 19; |
|
break; |
|
default: |
|
// goto default |
|
$async$goto = 20; |
|
break; |
|
} |
|
break; |
|
case 6: |
|
// case |
|
$async$goto = 21; |
|
return P._asyncAwait(t1.right.accept$1(t2), $async$call$0); |
|
case 21: |
|
// returning from await. |
|
right = $async$result; |
|
left.toString; |
|
t1 = N.serializeValue(left, false, true) + "="; |
|
right.toString; |
|
$async$returnValue = new D.SassString(t1 + N.serializeValue(right, false, true), false); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 7: |
|
// case |
|
$async$goto = left.get$isTruthy() ? 22 : 24; |
|
break; |
|
case 22: |
|
// then |
|
$async$result = left; |
|
// goto join |
|
$async$goto = 23; |
|
break; |
|
case 24: |
|
// else |
|
$async$goto = 25; |
|
return P._asyncAwait(t1.right.accept$1(t2), $async$call$0); |
|
case 25: |
|
// returning from await. |
|
case 23: |
|
// join |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 8: |
|
// case |
|
$async$goto = left.get$isTruthy() ? 26 : 28; |
|
break; |
|
case 26: |
|
// then |
|
$async$goto = 29; |
|
return P._asyncAwait(t1.right.accept$1(t2), $async$call$0); |
|
case 29: |
|
// returning from await. |
|
// goto join |
|
$async$goto = 27; |
|
break; |
|
case 28: |
|
// else |
|
$async$result = left; |
|
case 27: |
|
// join |
|
$async$returnValue = $async$result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 9: |
|
// case |
|
$async$temp1 = J; |
|
$async$temp2 = left; |
|
$async$goto = 30; |
|
return P._asyncAwait(t1.right.accept$1(t2), $async$call$0); |
|
case 30: |
|
// returning from await. |
|
$async$returnValue = $async$temp1.$eq$($async$temp2, $async$result) ? C.SassBoolean_true : C.SassBoolean_false; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 10: |
|
// case |
|
$async$temp1 = J; |
|
$async$temp2 = left; |
|
$async$goto = 31; |
|
return P._asyncAwait(t1.right.accept$1(t2), $async$call$0); |
|
case 31: |
|
// returning from await. |
|
$async$returnValue = !$async$temp1.$eq$($async$temp2, $async$result) ? C.SassBoolean_true : C.SassBoolean_false; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 11: |
|
// case |
|
$async$temp1 = left; |
|
$async$goto = 32; |
|
return P._asyncAwait(t1.right.accept$1(t2), $async$call$0); |
|
case 32: |
|
// returning from await. |
|
$async$returnValue = $async$temp1.greaterThan$1($async$result); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 12: |
|
// case |
|
$async$temp1 = left; |
|
$async$goto = 33; |
|
return P._asyncAwait(t1.right.accept$1(t2), $async$call$0); |
|
case 33: |
|
// returning from await. |
|
$async$returnValue = $async$temp1.greaterThanOrEquals$1($async$result); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 13: |
|
// case |
|
$async$temp1 = left; |
|
$async$goto = 34; |
|
return P._asyncAwait(t1.right.accept$1(t2), $async$call$0); |
|
case 34: |
|
// returning from await. |
|
$async$returnValue = $async$temp1.lessThan$1($async$result); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 14: |
|
// case |
|
$async$temp1 = left; |
|
$async$goto = 35; |
|
return P._asyncAwait(t1.right.accept$1(t2), $async$call$0); |
|
case 35: |
|
// returning from await. |
|
$async$returnValue = $async$temp1.lessThanOrEquals$1($async$result); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 15: |
|
// case |
|
$async$temp1 = left; |
|
$async$goto = 36; |
|
return P._asyncAwait(t1.right.accept$1(t2), $async$call$0); |
|
case 36: |
|
// returning from await. |
|
$async$returnValue = $async$temp1.plus$1($async$result); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 16: |
|
// case |
|
$async$temp1 = left; |
|
$async$goto = 37; |
|
return P._asyncAwait(t1.right.accept$1(t2), $async$call$0); |
|
case 37: |
|
// returning from await. |
|
$async$returnValue = $async$temp1.minus$1($async$result); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 17: |
|
// case |
|
$async$temp1 = left; |
|
$async$goto = 38; |
|
return P._asyncAwait(t1.right.accept$1(t2), $async$call$0); |
|
case 38: |
|
// returning from await. |
|
$async$returnValue = $async$temp1.times$1($async$result); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 18: |
|
// case |
|
$async$goto = 39; |
|
return P._asyncAwait(t1.right.accept$1(t2), $async$call$0); |
|
case 39: |
|
// returning from await. |
|
right = $async$result; |
|
result = left.dividedBy$1(right); |
|
if (t1.allowsSlash && !!left.$isSassNumber && right instanceof T.SassNumber) { |
|
$async$returnValue = H.interceptedTypeCast(result, "$isSassNumber").withSlash$2(left, right); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} else { |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
case 19: |
|
// case |
|
$async$temp1 = left; |
|
$async$goto = 40; |
|
return P._asyncAwait(t1.right.accept$1(t2), $async$call$0); |
|
case 40: |
|
// returning from await. |
|
$async$returnValue = $async$temp1.modulo$1($async$result); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 20: |
|
// default |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 5: |
|
// after switch |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitVariableExpression_closure0.prototype = { |
|
call$0: function() { |
|
var t1 = this.node; |
|
return this.$this._async_evaluate$_environment.getVariable$2$namespace(t1.name, t1.namespace); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitListExpression_closure0.prototype = { |
|
call$1: function(expression) { |
|
return expression.accept$1(this.$this); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitFunctionExpression_closure1.prototype = { |
|
call$0: function() { |
|
var t1 = this.node.namespace, |
|
t2 = this.plainName; |
|
if (t1 == null) |
|
t2 = H.stringReplaceAllUnchecked(t2, "_", "-"); |
|
return this.$this._async_evaluate$_getFunction$2$namespace(t2, t1); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitFunctionExpression_closure2.prototype = { |
|
call$0: function() { |
|
var t1 = this.node; |
|
return this.$this._async_evaluate$_runFunctionCallable$3(t1.$arguments, this._box_0.$function, t1); |
|
} |
|
}; |
|
E._EvaluateVisitor__runUserDefinedCallable_closure0.prototype = { |
|
call$0: function() { |
|
var _this = this, |
|
t1 = _this.$this, |
|
t2 = _this.callable; |
|
return t1._async_evaluate$_withEnvironment$1$2(t2.environment.closure$0(), new E._EvaluateVisitor__runUserDefinedCallable__closure0(t1, _this.evaluated, t2, _this.nodeWithSpan, _this.run), F.Value); |
|
} |
|
}; |
|
E._EvaluateVisitor__runUserDefinedCallable__closure0.prototype = { |
|
call$0: function() { |
|
var _this = this, |
|
t1 = _this.$this; |
|
return t1._async_evaluate$_environment.scope$1$1(new E._EvaluateVisitor__runUserDefinedCallable___closure0(t1, _this.evaluated, _this.callable, _this.nodeWithSpan, _this.run), F.Value); |
|
} |
|
}; |
|
E._EvaluateVisitor__runUserDefinedCallable___closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, declaredArguments, minLength, t8, i, t9, t10, t11, argument, value, t12, rest, argumentList, result, argumentWord, argumentNames, t1, t2, t3, t4, t5, t6, t7; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
t2 = $async$self.evaluated; |
|
t3 = t2.positional; |
|
t4 = t3.length; |
|
t5 = t2.named; |
|
t6 = $async$self.callable.declaration.$arguments; |
|
t7 = $async$self.nodeWithSpan; |
|
t1._async_evaluate$_verifyArguments$4(t4, t5, t6, t7); |
|
declaredArguments = t6.$arguments; |
|
t4 = declaredArguments.length; |
|
minLength = Math.min(t3.length, t4); |
|
for (t8 = t1._async_evaluate$_sourceMap, i = 0; i < minLength; ++i) { |
|
t9 = t1._async_evaluate$_environment; |
|
t10 = declaredArguments[i].name; |
|
t11 = t3[i].withoutSlash$0(); |
|
t9.setLocalVariable$3(t10, t11, t8 ? t2.positionalNodes[i] : null); |
|
} |
|
i = t3.length; |
|
case 3: |
|
// for condition |
|
if (!(i < t4)) { |
|
// goto after for |
|
$async$goto = 5; |
|
break; |
|
} |
|
argument = declaredArguments[i]; |
|
t9 = argument.name; |
|
value = t5.remove$1(0, t9); |
|
$async$goto = value == null ? 6 : 7; |
|
break; |
|
case 6: |
|
// then |
|
$async$goto = 8; |
|
return P._asyncAwait(argument.defaultValue.accept$1(t1), $async$call$0); |
|
case 8: |
|
// returning from await. |
|
value = $async$result; |
|
case 7: |
|
// join |
|
t10 = t1._async_evaluate$_environment; |
|
t11 = value.withoutSlash$0(); |
|
if (t8) { |
|
t12 = t2.namedNodes.$index(0, t9); |
|
if (t12 == null) |
|
t12 = t1._async_evaluate$_expressionNode$1(argument.defaultValue); |
|
} else |
|
t12 = null; |
|
t10.setLocalVariable$3(t9, t11, t12); |
|
case 4: |
|
// for update |
|
++i; |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 5: |
|
// after for |
|
t8 = t6.restArgument; |
|
if (t8 != null) { |
|
rest = t3.length > t4 ? C.JSArray_methods.sublist$1(t3, t4) : C.List_empty6; |
|
t2 = t2.separator; |
|
if (t2 === C.ListSeparator_undecided) |
|
t2 = C.ListSeparator_comma; |
|
t3 = F.Value; |
|
argumentList = new D.SassArgumentList(H.ConstantMap_ConstantMap$from(t5, P.String, t3), P.List_List$unmodifiable(rest, t3), t2, false); |
|
argumentList.SassList$3$brackets(rest, t2, false); |
|
t1._async_evaluate$_environment.setLocalVariable$3(t8, argumentList, t7); |
|
} else |
|
argumentList = null; |
|
$async$goto = 9; |
|
return P._asyncAwait($async$self.run.call$0(), $async$call$0); |
|
case 9: |
|
// returning from await. |
|
result = $async$result; |
|
if (argumentList == null) { |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
if (t5.get$isEmpty(t5)) { |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
if (argumentList._wereKeywordsAccessed) { |
|
$async$returnValue = result; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
argumentWord = B.pluralize("argument", J.get$length$asx(t5.get$keys()), null); |
|
argumentNames = B.toSentence(J.map$1$1$ax(t5.get$keys(), new E._EvaluateVisitor__runUserDefinedCallable____closure0(), P.Object), "or"); |
|
throw H.wrapException(E.MultiSpanSassRuntimeException$("No " + argumentWord + " named " + H.S(argumentNames) + ".", t7.get$span(), "invocation", P.LinkedHashMap_LinkedHashMap$_literal([t6.get$spanWithName(), "declaration"], Y.FileSpan, P.String), t1._async_evaluate$_stackTrace$1(t7.get$span()))); |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor__runUserDefinedCallable____closure0.prototype = { |
|
call$1: function($name) { |
|
return "$" + H.S($name); |
|
} |
|
}; |
|
E._EvaluateVisitor__runFunctionCallable_closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(F.Value), |
|
$async$returnValue, $async$self = this, t1, t2, t3, t4, _i, $returnValue; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.callable.declaration, t2 = t1.children, t3 = t2.length, t4 = $async$self.$this, _i = 0; |
|
case 3: |
|
// for condition |
|
if (!(_i < t3)) { |
|
// goto after for |
|
$async$goto = 5; |
|
break; |
|
} |
|
$async$goto = 6; |
|
return P._asyncAwait(t2[_i].accept$1(t4), $async$call$0); |
|
case 6: |
|
// returning from await. |
|
$returnValue = $async$result; |
|
if ($returnValue instanceof F.Value) { |
|
$async$returnValue = $returnValue; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
case 4: |
|
// for update |
|
++_i; |
|
// goto for condition |
|
$async$goto = 3; |
|
break; |
|
case 5: |
|
// after for |
|
throw H.wrapException(t4._async_evaluate$_exception$2("Function finished without @return.", t1.span)); |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor__runBuiltInCallable_closure1.prototype = { |
|
call$0: function() { |
|
return this.overload.verify$2(this.evaluated.positional.length, this.namedSet); |
|
} |
|
}; |
|
E._EvaluateVisitor__runBuiltInCallable_closure2.prototype = { |
|
call$1: function($name) { |
|
return "$" + H.S($name); |
|
} |
|
}; |
|
E._EvaluateVisitor__evaluateArguments_closure2.prototype = { |
|
call$2: function(_, expression) { |
|
return expression.accept$1(this.$this); |
|
} |
|
}; |
|
E._EvaluateVisitor__evaluateArguments_closure3.prototype = { |
|
call$2: function(_, expression) { |
|
return this.$this._async_evaluate$_expressionNode$1(expression); |
|
} |
|
}; |
|
E._EvaluateVisitor__evaluateArguments_closure4.prototype = { |
|
call$2: function(key, value) { |
|
var t1; |
|
this.named.$indexSet(0, key, value); |
|
t1 = this.namedNodes; |
|
if (t1 != null) |
|
t1.$indexSet(0, key, this.restNodeForSpan); |
|
} |
|
}; |
|
E._EvaluateVisitor__evaluateMacroArguments_closure3.prototype = { |
|
call$1: function(value) { |
|
return new F.ValueExpression(value, null); |
|
} |
|
}; |
|
E._EvaluateVisitor__evaluateMacroArguments_closure4.prototype = { |
|
call$1: function(value) { |
|
return new F.ValueExpression(value, null); |
|
} |
|
}; |
|
E._EvaluateVisitor__evaluateMacroArguments_closure5.prototype = { |
|
call$2: function(key, value) { |
|
this.named.$indexSet(0, key, new F.ValueExpression(value, null)); |
|
} |
|
}; |
|
E._EvaluateVisitor__evaluateMacroArguments_closure6.prototype = { |
|
call$1: function(value) { |
|
return new F.ValueExpression(value, null); |
|
} |
|
}; |
|
E._EvaluateVisitor__addRestMap_closure1.prototype = { |
|
call$1: function(value) { |
|
return H.subtypeOfRuntimeTypeCast(value, this.T); |
|
} |
|
}; |
|
E._EvaluateVisitor__addRestMap_closure2.prototype = { |
|
call$2: function(key, value) { |
|
var _this = this; |
|
if (key instanceof D.SassString) |
|
_this.values.$indexSet(0, key.text, _this._box_0.convert.call$1(value)); |
|
else |
|
throw H.wrapException(_this.$this._async_evaluate$_exception$2("Variable keyword argument map must have string keys.\n" + H.S(key) + " is not a string in " + _this.map.toString$0(0) + ".", _this.nodeWithSpan.get$span())); |
|
} |
|
}; |
|
E._EvaluateVisitor__verifyArguments_closure0.prototype = { |
|
call$0: function() { |
|
return this.$arguments.verify$2(this.positional, new M.MapKeySet(this.named, [P.String])); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitStringExpression_closure0.prototype = { |
|
call$1: function(value) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.String), |
|
$async$returnValue, $async$self = this, t1, result; |
|
var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if (typeof value === "string") { |
|
$async$returnValue = value; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
H.interceptedTypeCast(value, "$isExpression"); |
|
t1 = $async$self.$this; |
|
$async$goto = 3; |
|
return P._asyncAwait(value.accept$1(t1), $async$call$1); |
|
case 3: |
|
// returning from await. |
|
result = $async$result; |
|
$async$returnValue = result instanceof D.SassString ? result.text : t1._async_evaluate$_serialize$3$quote(result, value, false); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$1, $async$completer); |
|
}, |
|
$signature: 33 |
|
}; |
|
E._EvaluateVisitor_visitCssAtRule_closure1.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = $async$self.$this; |
|
case 2: |
|
// for condition |
|
if (!t1.moveNext$0()) { |
|
// goto after for |
|
$async$goto = 3; |
|
break; |
|
} |
|
$async$goto = 4; |
|
return P._asyncAwait(t1.__internal$_current.accept$1(t2), $async$call$0); |
|
case 4: |
|
// returning from await. |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
case 3: |
|
// after for |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitCssAtRule_closure2.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
E._EvaluateVisitor_visitCssKeyframeBlock_closure1.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = $async$self.$this; |
|
case 2: |
|
// for condition |
|
if (!t1.moveNext$0()) { |
|
// goto after for |
|
$async$goto = 3; |
|
break; |
|
} |
|
$async$goto = 4; |
|
return P._asyncAwait(t1.__internal$_current.accept$1(t2), $async$call$0); |
|
case 4: |
|
// returning from await. |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
case 3: |
|
// after for |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitCssKeyframeBlock_closure2.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
E._EvaluateVisitor_visitCssMediaRule_closure1.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
t2 = $async$self.mergedQueries; |
|
if (t2 == null) |
|
t2 = $async$self.node.queries; |
|
$async$goto = 2; |
|
return P._asyncAwait(t1._async_evaluate$_withMediaQueries$1$2(t2, new E._EvaluateVisitor_visitCssMediaRule__closure0(t1, $async$self.node), P.Null), $async$call$0); |
|
case 2: |
|
// returning from await. |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitCssMediaRule__closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
t2 = t1._async_evaluate$_styleRule; |
|
$async$goto = !(t2 != null && !t1._async_evaluate$_atRootExcludingStyleRule) ? 2 : 4; |
|
break; |
|
case 2: |
|
// then |
|
t2 = $async$self.node.children, t2 = new H.ListIterator(t2, t2.get$length(t2)); |
|
case 5: |
|
// for condition |
|
if (!t2.moveNext$0()) { |
|
// goto after for |
|
$async$goto = 6; |
|
break; |
|
} |
|
$async$goto = 7; |
|
return P._asyncAwait(t2.__internal$_current.accept$1(t1), $async$call$0); |
|
case 7: |
|
// returning from await. |
|
// goto for condition |
|
$async$goto = 5; |
|
break; |
|
case 6: |
|
// after for |
|
// goto join |
|
$async$goto = 3; |
|
break; |
|
case 4: |
|
// else |
|
$async$goto = 8; |
|
return P._asyncAwait(t1._async_evaluate$_withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new E._EvaluateVisitor_visitCssMediaRule___closure0(t1, $async$self.node), false, X.ModifiableCssStyleRule, P.Null), $async$call$0); |
|
case 8: |
|
// returning from await. |
|
case 3: |
|
// join |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitCssMediaRule___closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = $async$self.$this; |
|
case 2: |
|
// for condition |
|
if (!t1.moveNext$0()) { |
|
// goto after for |
|
$async$goto = 3; |
|
break; |
|
} |
|
$async$goto = 4; |
|
return P._asyncAwait(t1.__internal$_current.accept$1(t2), $async$call$0); |
|
case 4: |
|
// returning from await. |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
case 3: |
|
// after for |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitCssMediaRule_closure2.prototype = { |
|
call$1: function(node) { |
|
var t1 = J.getInterceptor$(node); |
|
if (!t1.$isCssStyleRule) |
|
t1 = this.mergedQueries != null && !!t1.$isCssMediaRule; |
|
else |
|
t1 = true; |
|
return t1; |
|
} |
|
}; |
|
E._EvaluateVisitor_visitCssStyleRule_closure1.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
$async$goto = 2; |
|
return P._asyncAwait(t1._async_evaluate$_withStyleRule$1$2($async$self.rule, new E._EvaluateVisitor_visitCssStyleRule__closure0(t1, $async$self.node), P.Null), $async$call$0); |
|
case 2: |
|
// returning from await. |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitCssStyleRule__closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = $async$self.$this; |
|
case 2: |
|
// for condition |
|
if (!t1.moveNext$0()) { |
|
// goto after for |
|
$async$goto = 3; |
|
break; |
|
} |
|
$async$goto = 4; |
|
return P._asyncAwait(t1.__internal$_current.accept$1(t2), $async$call$0); |
|
case 4: |
|
// returning from await. |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
case 3: |
|
// after for |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitCssStyleRule_closure2.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
E._EvaluateVisitor_visitCssSupportsRule_closure1.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.$this; |
|
t2 = t1._async_evaluate$_styleRule; |
|
$async$goto = !(t2 != null && !t1._async_evaluate$_atRootExcludingStyleRule) ? 2 : 4; |
|
break; |
|
case 2: |
|
// then |
|
t2 = $async$self.node.children, t2 = new H.ListIterator(t2, t2.get$length(t2)); |
|
case 5: |
|
// for condition |
|
if (!t2.moveNext$0()) { |
|
// goto after for |
|
$async$goto = 6; |
|
break; |
|
} |
|
$async$goto = 7; |
|
return P._asyncAwait(t2.__internal$_current.accept$1(t1), $async$call$0); |
|
case 7: |
|
// returning from await. |
|
// goto for condition |
|
$async$goto = 5; |
|
break; |
|
case 6: |
|
// after for |
|
// goto join |
|
$async$goto = 3; |
|
break; |
|
case 4: |
|
// else |
|
$async$goto = 8; |
|
return P._asyncAwait(t1._async_evaluate$_withParent$2$2(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new E._EvaluateVisitor_visitCssSupportsRule__closure0(t1, $async$self.node), X.ModifiableCssStyleRule, P.Null), $async$call$0); |
|
case 8: |
|
// returning from await. |
|
case 3: |
|
// join |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitCssSupportsRule__closure0.prototype = { |
|
call$0: function() { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.Null), |
|
$async$self = this, t1, t2; |
|
var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
t1 = $async$self.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = $async$self.$this; |
|
case 2: |
|
// for condition |
|
if (!t1.moveNext$0()) { |
|
// goto after for |
|
$async$goto = 3; |
|
break; |
|
} |
|
$async$goto = 4; |
|
return P._asyncAwait(t1.__internal$_current.accept$1(t2), $async$call$0); |
|
case 4: |
|
// returning from await. |
|
// goto for condition |
|
$async$goto = 2; |
|
break; |
|
case 3: |
|
// after for |
|
// implicit return |
|
return P._asyncReturn(null, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$0, $async$completer); |
|
} |
|
}; |
|
E._EvaluateVisitor_visitCssSupportsRule_closure2.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
E._EvaluateVisitor__performInterpolation_closure0.prototype = { |
|
call$1: function(value) { |
|
var $async$goto = 0, |
|
$async$completer = P._makeAsyncAwaitCompleter(P.String), |
|
$async$returnValue, $async$self = this, t1, result, t2, t3; |
|
var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { |
|
if ($async$errorCode === 1) |
|
return P._asyncRethrow($async$result, $async$completer); |
|
while (true) |
|
switch ($async$goto) { |
|
case 0: |
|
// Function start |
|
if (typeof value === "string") { |
|
$async$returnValue = value; |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
} |
|
H.interceptedTypeCast(value, "$isExpression"); |
|
t1 = $async$self.$this; |
|
$async$goto = 3; |
|
return P._asyncAwait(value.accept$1(t1), $async$call$1); |
|
case 3: |
|
// returning from await. |
|
result = $async$result; |
|
if ($async$self.warnForColor && result instanceof K.SassColor && $.$get$namesByColor().containsKey$1(result)) { |
|
t2 = X.Interpolation$(H.setRuntimeTypeInfo([""], [P.Object]), null); |
|
t3 = $.$get$namesByColor(); |
|
t1._async_evaluate$_warn$2("You probably don't mean to use the color value " + H.S(t3.$index(0, result)) + " in interpolation here.\nIt may end up represented as " + H.S(result) + ', which will likely produce invalid CSS.\nAlways quote color names when using them as strings or map keys (for example, "' + H.S(t3.$index(0, result)) + "\").\nIf you really want to use the color value here, use '" + new V.BinaryOperationExpression(C.BinaryOperator_AcR, new D.StringExpression(t2, true), value, false).toString$0(0) + "'.", value.get$span()); |
|
} |
|
$async$returnValue = t1._async_evaluate$_serialize$3$quote(result, value, false); |
|
// goto return |
|
$async$goto = 1; |
|
break; |
|
case 1: |
|
// return |
|
return P._asyncReturn($async$returnValue, $async$completer); |
|
} |
|
}); |
|
return P._asyncStartSync($async$call$1, $async$completer); |
|
}, |
|
$signature: 33 |
|
}; |
|
E._EvaluateVisitor__serialize_closure0.prototype = { |
|
call$0: function() { |
|
var t1 = this.value; |
|
t1.toString; |
|
return N.serializeValue(t1, false, this.quote); |
|
} |
|
}; |
|
E._EvaluateVisitor__stackTrace_closure0.prototype = { |
|
call$1: function(tuple) { |
|
return this.$this._async_evaluate$_stackFrame$2(tuple.item1, tuple.item2.get$span()); |
|
} |
|
}; |
|
E._ImportedCssVisitor0.prototype = { |
|
visitCssAtRule$1: function(node) { |
|
var t1 = node.isChildless ? null : new E._ImportedCssVisitor_visitCssAtRule_closure0(); |
|
this._async_evaluate$_visitor._async_evaluate$_addChild$2$through(node, t1); |
|
}, |
|
visitCssComment$1: function(node) { |
|
return this._async_evaluate$_visitor._async_evaluate$_addChild$1(node); |
|
}, |
|
visitCssDeclaration$1: function(node) { |
|
}, |
|
visitCssImport$1: function(node) { |
|
var t1 = this._async_evaluate$_visitor, |
|
t2 = t1._async_evaluate$_parent, |
|
t3 = t1._async_evaluate$_root; |
|
if (t2 != t3) |
|
t1._async_evaluate$_addChild$1(node); |
|
else if (t1._async_evaluate$_endOfImports === J.get$length$asx(t3.children._collection$_source)) { |
|
t1._async_evaluate$_addChild$1(node); |
|
t1._async_evaluate$_endOfImports = t1._async_evaluate$_endOfImports + 1; |
|
} else { |
|
t2 = t1._async_evaluate$_outOfOrderImports; |
|
(t2 == null ? t1._async_evaluate$_outOfOrderImports = H.setRuntimeTypeInfo([], [F.ModifiableCssImport]) : t2).push(node); |
|
} |
|
}, |
|
visitCssKeyframeBlock$1: function(node) { |
|
}, |
|
visitCssMediaRule$1: function(node) { |
|
var t1 = this._async_evaluate$_visitor, |
|
t2 = t1._async_evaluate$_mediaQueries; |
|
t1._async_evaluate$_addChild$2$through(node, new E._ImportedCssVisitor_visitCssMediaRule_closure0(t2 == null || t1._async_evaluate$_mergeMediaQueries$2(t2, node.queries) != null)); |
|
}, |
|
visitCssStyleRule$1: function(node) { |
|
return this._async_evaluate$_visitor._async_evaluate$_addChild$2$through(node, new E._ImportedCssVisitor_visitCssStyleRule_closure0()); |
|
}, |
|
visitCssStylesheet$1: function(node) { |
|
var t1; |
|
for (t1 = node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();) |
|
t1.__internal$_current.accept$1(this); |
|
}, |
|
visitCssSupportsRule$1: function(node) { |
|
return this._async_evaluate$_visitor._async_evaluate$_addChild$2$through(node, new E._ImportedCssVisitor_visitCssSupportsRule_closure0()); |
|
} |
|
}; |
|
E._ImportedCssVisitor_visitCssAtRule_closure0.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
E._ImportedCssVisitor_visitCssMediaRule_closure0.prototype = { |
|
call$1: function(node) { |
|
var t1 = J.getInterceptor$(node); |
|
if (!t1.$isCssStyleRule) |
|
t1 = this.hasBeenMerged && !!t1.$isCssMediaRule; |
|
else |
|
t1 = true; |
|
return t1; |
|
} |
|
}; |
|
E._ImportedCssVisitor_visitCssStyleRule_closure0.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
E._ImportedCssVisitor_visitCssSupportsRule_closure0.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
E.EvaluateResult.prototype = {}; |
|
E._ArgumentResults0.prototype = {}; |
|
V._CloneCssVisitor.prototype = { |
|
visitCssAtRule$1: function(node) { |
|
var t1 = node.isChildless, |
|
t2 = B.ModifiableCssNode, |
|
t3 = H.setRuntimeTypeInfo([], [t2]), |
|
rule = new U.ModifiableCssAtRule(node.name, node.value, t1, node.span, new P.UnmodifiableListView(t3, [t2]), t3); |
|
return t1 ? rule : this._visitChildren$2(rule, node); |
|
}, |
|
visitCssComment$1: function(node) { |
|
return new R.ModifiableCssComment(node.text, node.span); |
|
}, |
|
visitCssDeclaration$1: function(node) { |
|
return L.ModifiableCssDeclaration$(node.name, node.value, node.span, node.valueSpanForMap); |
|
}, |
|
visitCssImport$1: function(node) { |
|
return F.ModifiableCssImport$(node.url, node.span, node.media, node.supports); |
|
}, |
|
visitCssKeyframeBlock$1: function(node) { |
|
var t1 = B.ModifiableCssNode, |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
return this._visitChildren$2(new U.ModifiableCssKeyframeBlock(node.selector, node.span, new P.UnmodifiableListView(t2, [t1]), t2), node); |
|
}, |
|
visitCssMediaRule$1: function(node) { |
|
return this._visitChildren$2(G.ModifiableCssMediaRule$(node.queries, node.span), node); |
|
}, |
|
visitCssStyleRule$1: function(node) { |
|
var newSelector = this._oldToNewSelectors.$index(0, node.selector); |
|
if (newSelector == null) |
|
throw H.wrapException(P.StateError$("The Extender and CssStylesheet passed to cloneCssStylesheet() must come from the same compilation.")); |
|
return this._visitChildren$2(X.ModifiableCssStyleRule$(newSelector, node.span, node.originalSelector), node); |
|
}, |
|
visitCssStylesheet$1: function(node) { |
|
var t1 = node.get$span(), |
|
t2 = B.ModifiableCssNode, |
|
t3 = H.setRuntimeTypeInfo([], [t2]); |
|
return this._visitChildren$2(new V.ModifiableCssStylesheet(t1, new P.UnmodifiableListView(t3, [t2]), t3), node); |
|
}, |
|
visitCssSupportsRule$1: function(node) { |
|
var t1 = B.ModifiableCssNode, |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
return this._visitChildren$2(new B.ModifiableCssSupportsRule(node.condition, node.span, new P.UnmodifiableListView(t2, [t1]), t2), node); |
|
}, |
|
_visitChildren$1$2: function(newParent, oldParent) { |
|
var t1, t2, newChild; |
|
for (t1 = J.get$iterator$ax(oldParent.get$children()); t1.moveNext$0();) { |
|
t2 = t1.get$current(t1); |
|
newChild = t2.accept$1(this); |
|
newChild.isGroupEnd = t2.get$isGroupEnd(); |
|
newParent.addChild$1(newChild); |
|
} |
|
return newParent; |
|
}, |
|
_visitChildren$2: function(newParent, oldParent) { |
|
return this._visitChildren$1$2(newParent, oldParent, B.ModifiableCssParentNode); |
|
} |
|
}; |
|
R.Evaluator.prototype = {}; |
|
R._EvaluateVisitor.prototype = { |
|
_EvaluateVisitor$5$functions$importCache$logger$nodeImporter$sourceMap: function(functions, importCache, logger, nodeImporter, sourceMap) { |
|
var t6, t7, t8, t9, t10, t11, t12, t13, metaFunctions, metaMixins, _i, metaModule, module, $function, _this = this, |
|
_s9_ = "sass:meta", |
|
t1 = P.String, |
|
t2 = Z.VariableDeclaration, |
|
t3 = S.SpanScanner$("@function global-variable-exists($name, $module: null) {", _s9_), |
|
t4 = [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}], |
|
t5 = [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]]; |
|
t3 = H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t3, C.StderrLogger_false).parseArgumentDeclaration$0(), new R._EvaluateVisitor_closure(_this), t4)], t5); |
|
t6 = S.SpanScanner$("@function variable-exists($name) {", _s9_); |
|
t6 = H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t6, C.StderrLogger_false).parseArgumentDeclaration$0(), new R._EvaluateVisitor_closure0(_this), t4)], t5); |
|
t7 = S.SpanScanner$("@function function-exists($name, $module: null) {", _s9_); |
|
t7 = H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t7, C.StderrLogger_false).parseArgumentDeclaration$0(), new R._EvaluateVisitor_closure1(_this), t4)], t5); |
|
t8 = S.SpanScanner$("@function mixin-exists($name, $module: null) {", _s9_); |
|
t8 = H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t8, C.StderrLogger_false).parseArgumentDeclaration$0(), new R._EvaluateVisitor_closure2(_this), t4)], t5); |
|
t9 = S.SpanScanner$("@function content-exists() {", _s9_); |
|
t9 = H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t9, C.StderrLogger_false).parseArgumentDeclaration$0(), new R._EvaluateVisitor_closure3(_this), t4)], t5); |
|
t10 = S.SpanScanner$("@function module-variables($module) {", _s9_); |
|
t10 = H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t10, C.StderrLogger_false).parseArgumentDeclaration$0(), new R._EvaluateVisitor_closure4(_this), t4)], t5); |
|
t11 = S.SpanScanner$("@function module-functions($module) {", _s9_); |
|
t11 = H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t11, C.StderrLogger_false).parseArgumentDeclaration$0(), new R._EvaluateVisitor_closure5(_this), t4)], t5); |
|
t12 = S.SpanScanner$("@function get-function($name, $css: false, $module: null) {", _s9_); |
|
t12 = H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t12, C.StderrLogger_false).parseArgumentDeclaration$0(), new R._EvaluateVisitor_closure6(_this), t4)], t5); |
|
t13 = S.SpanScanner$("@function call($function, $args...) {", _s9_); |
|
metaFunctions = [new Q.BuiltInCallable("global-variable-exists", t3), new Q.BuiltInCallable("variable-exists", t6), new Q.BuiltInCallable("function-exists", t7), new Q.BuiltInCallable("mixin-exists", t8), new Q.BuiltInCallable("content-exists", t9), new Q.BuiltInCallable("module-variables", t10), new Q.BuiltInCallable("module-functions", t11), new Q.BuiltInCallable("get-function", t12), new Q.BuiltInCallable("call", H.setRuntimeTypeInfo([new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), t13, C.StderrLogger_false).parseArgumentDeclaration$0(), new R._EvaluateVisitor_closure7(_this), t4)], t5))]; |
|
t1 = Q.BuiltInCallable; |
|
t2 = [t1]; |
|
metaMixins = H.setRuntimeTypeInfo([Q.BuiltInCallable$mixin("load-css", "$module, $with: null", new R._EvaluateVisitor_closure8(_this), _s9_)], t2); |
|
t2 = H.setRuntimeTypeInfo([], t2); |
|
for (t3 = $.$get$global(), t3 = new H.ListIterator(t3, t3.get$length(t3)); t3.moveNext$0();) |
|
t2.push(t3.__internal$_current); |
|
for (_i = 0; _i < 9; ++_i) |
|
t2.push(metaFunctions[_i]); |
|
metaModule = Q.BuiltInModule$("meta", t2, metaMixins, null, t1); |
|
t1 = H.setRuntimeTypeInfo([], [[Q.BuiltInModule, Q.BuiltInCallable]]); |
|
for (t2 = $.$get$coreModules(), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) |
|
t1.push(t2.__internal$_current); |
|
t1.push(metaModule); |
|
t2 = t1.length; |
|
t3 = _this._builtInModules; |
|
_i = 0; |
|
for (; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { |
|
module = t1[_i]; |
|
t3.$indexSet(0, module.url, module); |
|
} |
|
t1 = H.setRuntimeTypeInfo([], [D.Callable]); |
|
if (functions != null) |
|
for (t2 = new H.ListIterator(functions, functions.get$length(functions)); t2.moveNext$0();) |
|
t1.push(t2.__internal$_current); |
|
for (t2 = $.$get$globalFunctions(), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) |
|
t1.push(t2.__internal$_current); |
|
for (_i = 0; _i < 9; ++_i) |
|
t1.push(metaFunctions[_i]); |
|
for (t2 = t1.length, t3 = _this._builtInFunctions, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { |
|
$function = t1[_i]; |
|
t4 = $function.get$name(); |
|
t4.toString; |
|
t3.$indexSet(0, H.stringReplaceAllUnchecked(t4, "_", "-"), $function); |
|
} |
|
}, |
|
run$2: function(_, importer, node) { |
|
return this._withWarnCallback$1(new R._EvaluateVisitor_run_closure(this, node, importer)); |
|
}, |
|
runExpression$2: function(importer, expression) { |
|
return this._withWarnCallback$1(new R._EvaluateVisitor_runExpression_closure(this, importer, expression)); |
|
}, |
|
runStatement$2: function(importer, statement) { |
|
return this._withWarnCallback$1(new R._EvaluateVisitor_runStatement_closure(this, importer, statement)); |
|
}, |
|
_withWarnCallback$1$1: function(callback) { |
|
return N.withWarnCallback(new R._EvaluateVisitor__withWarnCallback_closure(this), callback); |
|
}, |
|
_withWarnCallback$1: function(callback) { |
|
return this._withWarnCallback$1$1(callback, null); |
|
}, |
|
_withFakeStylesheet$1$3: function(importer, nodeWithSpan, callback) { |
|
var oldStylesheet, t1, _this = this, |
|
oldImporter = _this._importer; |
|
_this._importer = importer; |
|
oldStylesheet = _this._stylesheet; |
|
_this._stylesheet = V.Stylesheet$(C.List_empty16, nodeWithSpan.get$span(), false); |
|
try { |
|
t1 = callback.call$0(); |
|
return t1; |
|
} finally { |
|
_this._importer = oldImporter; |
|
_this._stylesheet = oldStylesheet; |
|
} |
|
}, |
|
_withFakeStylesheet$3: function(importer, nodeWithSpan, callback) { |
|
return this._withFakeStylesheet$1$3(importer, nodeWithSpan, callback, null); |
|
}, |
|
_loadModule$7$baseUrl$configuration$namesInErrors: function(url, stackFrame, nodeWithSpan, callback, baseUrl, configuration, namesInErrors) { |
|
var t1, _this = this, |
|
builtInModule = _this._builtInModules.$index(0, url); |
|
if (builtInModule != null) { |
|
if (configuration != null && !configuration.isImplicit) { |
|
t1 = namesInErrors ? "Built-in module " + H.S(url) + " can't be configured." : "Built-in modules can't be configured."; |
|
throw H.wrapException(_this._evaluate$_exception$2(t1, nodeWithSpan.get$span())); |
|
} |
|
callback.call$1(builtInModule); |
|
return; |
|
} |
|
_this._withStackFrame$3(stackFrame, nodeWithSpan, new R._EvaluateVisitor__loadModule_closure(_this, url, nodeWithSpan, baseUrl, namesInErrors, configuration, callback)); |
|
}, |
|
_loadModule$5$configuration: function(url, stackFrame, nodeWithSpan, callback, configuration) { |
|
return this._loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeWithSpan, callback, null, configuration, false); |
|
}, |
|
_loadModule$4: function(url, stackFrame, nodeWithSpan, callback) { |
|
return this._loadModule$7$baseUrl$configuration$namesInErrors(url, stackFrame, nodeWithSpan, callback, null, null, false); |
|
}, |
|
_execute$5$configuration$namesInErrors$nodeWithSpan: function(importer, stylesheet, configuration, namesInErrors, nodeWithSpan) { |
|
var message, existingNode, environment, t3, extender, module, _this = this, t1 = {}, |
|
url = stylesheet.span.file.url, |
|
t2 = _this._modules, |
|
alreadyLoaded = t2.$index(0, url); |
|
if (alreadyLoaded != null) { |
|
t1 = configuration == null; |
|
if (!(t1 ? _this._configuration : configuration).isImplicit) { |
|
message = namesInErrors ? H.S($.$get$context().prettyUri$1(url)) + ' was already loaded, so it can\'t be configured using "with".' : 'This module was already loaded, so it can\'t be configured using "with".'; |
|
existingNode = _this._moduleNodes.$index(0, url); |
|
t2 = P.LinkedHashMap_LinkedHashMap$_empty(Y.FileSpan, P.String); |
|
if (existingNode != null) |
|
t2.$indexSet(0, existingNode.get$span(), "original load"); |
|
if (t1) |
|
t2.$indexSet(0, _this._configuration.nodeWithSpan.get$span(), "configuration"); |
|
throw H.wrapException(t2.get$isEmpty(t2) ? _this._evaluate$_exception$1(message) : _this._multiSpanException$3(message, "new load", t2)); |
|
} |
|
return alreadyLoaded; |
|
} |
|
environment = O.Environment$(_this._sourceMap); |
|
t1.css = null; |
|
t3 = M.SimpleSelector; |
|
extender = new F.Extender(P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.Set, [F.ModifiableCssValue, D.SelectorList]]), P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.Map, S.ComplexSelector, S.Extension]), P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.List, S.Extension]), P.LinkedHashMap_LinkedHashMap$_empty([F.ModifiableCssValue, D.SelectorList], [P.List, F.CssMediaQuery]), P._LinkedIdentityHashMap__LinkedIdentityHashMap$es6(t3, P.int), new P._LinkedIdentityHashSet([S.ComplexSelector]), C.ExtendMode_normal); |
|
_this._withEnvironment$2(environment, new R._EvaluateVisitor__execute_closure(t1, _this, importer, stylesheet, extender, configuration)); |
|
module = O._EnvironmentModule__EnvironmentModule(environment, t1.css, extender, environment._forwardedModules); |
|
t2.$indexSet(0, url, module); |
|
_this._moduleNodes.$indexSet(0, url, nodeWithSpan); |
|
return module; |
|
}, |
|
_execute$2: function(importer, stylesheet) { |
|
return this._execute$5$configuration$namesInErrors$nodeWithSpan(importer, stylesheet, null, false, null); |
|
}, |
|
_addOutOfOrderImports$0: function() { |
|
var t1, t2, statements, _this = this; |
|
if (_this._outOfOrderImports == null) |
|
return _this._root.children; |
|
t1 = B.ModifiableCssNode; |
|
t2 = new Array(J.get$length$asx(_this._root.children._collection$_source) + _this._outOfOrderImports.length); |
|
t2.fixed$length = Array; |
|
statements = new G.FixedLengthListBuilder(H.setRuntimeTypeInfo(t2, [t1]), [t1]); |
|
statements.addRange$3(_this._root.children, 0, _this._endOfImports); |
|
statements.addAll$1(0, _this._outOfOrderImports); |
|
statements.addRange$2(_this._root.children, _this._endOfImports); |
|
return statements.build$0(); |
|
}, |
|
_combineCss$2$clone: function(root, clone) { |
|
var selectors, unsatisfiedExtension, sortedModules, t1, t2, imports, css, t3, statements, index, _this = this; |
|
if (!C.JSArray_methods.any$1(root.get$upstream(), new R._EvaluateVisitor__combineCss_closure())) { |
|
selectors = root.get$extender().get$simpleSelectors(); |
|
unsatisfiedExtension = B.firstOrNull(root.get$extender().extensionsWhereTarget$1(new R._EvaluateVisitor__combineCss_closure0(selectors))); |
|
if (unsatisfiedExtension != null) |
|
_this._throwForUnsatisfiedExtension$1(unsatisfiedExtension); |
|
return root.get$css(root); |
|
} |
|
sortedModules = _this._topologicalModules$1(root); |
|
if (clone) |
|
sortedModules = new H.MappedListIterable(sortedModules, new R._EvaluateVisitor__combineCss_closure1(), [H.getTypeArgumentByIndex(sortedModules, 0), [G.Module, D.Callable]]).toList$0(0); |
|
_this._extendModules$1(sortedModules); |
|
t1 = B.CssNode; |
|
t2 = [t1]; |
|
imports = H.setRuntimeTypeInfo([], t2); |
|
css = H.setRuntimeTypeInfo([], t2); |
|
for (t2 = J.get$reversed$ax(sortedModules), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) { |
|
t3 = t2.__internal$_current; |
|
statements = t3.get$css(t3).get$children(); |
|
index = _this._indexAfterImports$1(statements); |
|
t3 = J.getInterceptor$ax(statements); |
|
C.JSArray_methods.addAll$1(imports, t3.getRange$2(statements, 0, index)); |
|
C.JSArray_methods.addAll$1(css, t3.getRange$2(statements, index, t3.get$length(statements))); |
|
} |
|
return new V.CssStylesheet(new P.UnmodifiableListView(C.JSArray_methods.$add(imports, css), [t1]), root.get$css(root).get$span()); |
|
}, |
|
_combineCss$1: function(root) { |
|
return this._combineCss$2$clone(root, false); |
|
}, |
|
_extendModules$1: function(sortedModules) { |
|
var t1, t2, originalSelectors, extenders, t3, t4, _i, |
|
downstreamExtenders = P.LinkedHashMap_LinkedHashMap$_empty(P.Uri, [P.List, F.Extender]), |
|
unsatisfiedExtensions = new P._LinkedIdentityHashSet([S.Extension]); |
|
for (t1 = J.get$iterator$ax(sortedModules); t1.moveNext$0();) { |
|
t2 = t1.get$current(t1); |
|
originalSelectors = t2.get$extender().get$simpleSelectors().toSet$0(0); |
|
unsatisfiedExtensions.addAll$1(0, t2.get$extender().extensionsWhereTarget$1(new R._EvaluateVisitor__extendModules_closure(originalSelectors))); |
|
extenders = downstreamExtenders.$index(0, t2.get$url()); |
|
if (extenders != null) |
|
t2.get$extender().addExtensions$1(extenders); |
|
t3 = t2.get$extender(); |
|
if (t3.get$isEmpty(t3)) |
|
continue; |
|
for (t3 = t2.get$upstream(), t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i) |
|
J.add$1$ax(downstreamExtenders.putIfAbsent$2(t3[_i].get$url(), new R._EvaluateVisitor__extendModules_closure0()), t2.get$extender()); |
|
unsatisfiedExtensions.removeAll$1(t2.get$extender().extensionsWhereTarget$1(originalSelectors.get$contains(originalSelectors))); |
|
} |
|
if (unsatisfiedExtensions._collection$_length !== 0) |
|
this._throwForUnsatisfiedExtension$1(unsatisfiedExtensions.get$first(unsatisfiedExtensions)); |
|
}, |
|
_throwForUnsatisfiedExtension$1: function(extension) { |
|
throw H.wrapException(E.SassException$('The target selector was not found.\nUse "@extend ' + H.S(extension.target) + ' !optional" to avoid this error.', extension.span)); |
|
}, |
|
_topologicalModules$1: function(root) { |
|
var t1 = [G.Module, D.Callable], |
|
sorted = Q.QueueList$(null, t1); |
|
new R._EvaluateVisitor__topologicalModules_visitModule(P.LinkedHashSet_LinkedHashSet$_empty(t1), sorted).call$1(root); |
|
return sorted; |
|
}, |
|
_indexAfterImports$1: function(statements) { |
|
var t1, lastImport, i, t2; |
|
for (t1 = J.getInterceptor$asx(statements), lastImport = -1, i = 0; i < t1.get$length(statements); ++i) { |
|
t2 = J.getInterceptor$(t1.$index(statements, i)); |
|
if (!!t2.$isCssImport) |
|
lastImport = i; |
|
else if (!t2.$isCssComment) |
|
break; |
|
} |
|
return lastImport + 1; |
|
}, |
|
visitStylesheet$1: function(node) { |
|
var t1, t2, _i; |
|
for (t1 = node.children, t2 = t1.length, _i = 0; _i < t2; ++_i) |
|
t1[_i].accept$1(this); |
|
return; |
|
}, |
|
visitAtRootRule$1: function(node) { |
|
var root, innerCopy, outerCopy, copy, _this = this, |
|
t1 = node.query, |
|
query = t1 != null ? _this._adjustParseError$2(t1, new R._EvaluateVisitor_visitAtRootRule_closure(_this, _this._performInterpolation$2$warnForColor(t1, true))) : C.AtRootQuery_UsS, |
|
$parent = _this._evaluate$_parent, |
|
included = H.setRuntimeTypeInfo([], [B.ModifiableCssParentNode]); |
|
for (; !J.getInterceptor$($parent).$isCssStylesheet;) { |
|
if (!query.excludes$1($parent)) |
|
included.push($parent); |
|
$parent = $parent._parent; |
|
} |
|
root = _this._trimIncluded$1(included); |
|
if (root == _this._evaluate$_parent) { |
|
_this._evaluate$_environment.scope$1$2$when(new R._EvaluateVisitor_visitAtRootRule_closure0(_this, node), node.hasDeclarations, P.Null); |
|
return; |
|
} |
|
innerCopy = included.length === 0 ? null : C.JSArray_methods.get$first(included).copyWithoutChildren$0(); |
|
for (t1 = H.SubListIterable$(included, 1, null, H.getTypeArgumentByIndex(included, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)), outerCopy = innerCopy; t1.moveNext$0(); outerCopy = copy) { |
|
copy = t1.__internal$_current.copyWithoutChildren$0(); |
|
copy.addChild$1(outerCopy); |
|
} |
|
if (outerCopy != null) |
|
root.addChild$1(outerCopy); |
|
_this._scopeForAtRoot$4(node, innerCopy == null ? root : innerCopy, query, included).call$1(new R._EvaluateVisitor_visitAtRootRule_closure1(_this, node)); |
|
return; |
|
}, |
|
_trimIncluded$1: function(nodes) { |
|
var $parent, innermostContiguous, i, t2, root, |
|
t1 = nodes.length; |
|
if (t1 === 0) |
|
return this._root; |
|
$parent = this._evaluate$_parent; |
|
for (innermostContiguous = null, i = 0; i < t1; ++i) { |
|
for (; $parent != nodes[i]; innermostContiguous = null) |
|
$parent = $parent._parent; |
|
if (innermostContiguous == null) |
|
innermostContiguous = i; |
|
$parent = $parent._parent; |
|
} |
|
t2 = this._root; |
|
if ($parent != t2) |
|
return t2; |
|
root = nodes[innermostContiguous]; |
|
C.JSArray_methods.removeRange$2(nodes, innermostContiguous, t1); |
|
return root; |
|
}, |
|
_scopeForAtRoot$4: function(node, newParent, query, included) { |
|
var _this = this, |
|
scope = new R._EvaluateVisitor__scopeForAtRoot_closure(_this, newParent, node), |
|
t1 = query._all, |
|
t2 = t1 || query._at_root_query$_rule, |
|
t3 = query.include; |
|
if (t2 !== t3) |
|
scope = new R._EvaluateVisitor__scopeForAtRoot_closure0(_this, scope); |
|
if (t1 ? !t3 : query.names.contains$1(0, "media") !== t3) |
|
scope = new R._EvaluateVisitor__scopeForAtRoot_closure1(_this, scope); |
|
if (_this._inKeyframes && query.names.contains$1(0, "keyframes") !== t3) |
|
scope = new R._EvaluateVisitor__scopeForAtRoot_closure2(_this, scope); |
|
return _this._inUnknownAtRule && !C.JSArray_methods.any$1(included, new R._EvaluateVisitor__scopeForAtRoot_closure3()) ? new R._EvaluateVisitor__scopeForAtRoot_closure4(_this, scope) : scope; |
|
}, |
|
visitContentBlock$1: function(node) { |
|
return H.throwExpression(P.UnsupportedError$("Evaluation handles @include and its content block together.")); |
|
}, |
|
visitContentRule$1: function(node) { |
|
var $content = this._evaluate$_environment._content; |
|
if ($content == null) |
|
return; |
|
this._runUserDefinedCallable$4(node.$arguments, $content, node, new R._EvaluateVisitor_visitContentRule_closure(this, $content)); |
|
return; |
|
}, |
|
visitDebugRule$1: function(node) { |
|
var value = node.expression.accept$1(this), |
|
t1 = J.getInterceptor$(value); |
|
t1 = !!t1.$isSassString ? value.text : t1.toString$0(value); |
|
this._logger.debug$2(t1, node.span); |
|
return; |
|
}, |
|
visitDeclaration$1: function(node) { |
|
var $name, t1, cssValue, t2, oldDeclarationName, _this = this; |
|
if (!(_this._styleRule != null && !_this._atRootExcludingStyleRule) && !_this._inUnknownAtRule && !_this._inKeyframes) |
|
throw H.wrapException(_this._evaluate$_exception$2("Declarations may only be used within style rules.", node.span)); |
|
$name = _this._interpolationToValue$2$warnForColor(node.name, true); |
|
t1 = _this._declarationName; |
|
if (t1 != null) |
|
$name = new F.CssValue(t1 + "-" + H.S($name.value), $name.span, [P.String]); |
|
t1 = node.value; |
|
cssValue = t1 == null ? null : new F.CssValue(t1.accept$1(_this), t1.get$span(), [F.Value]); |
|
if (cssValue != null) { |
|
t2 = cssValue.value; |
|
t2 = !t2.get$isBlank() || t2.get$asList().length === 0; |
|
} else |
|
t2 = false; |
|
if (t2) { |
|
t2 = _this._evaluate$_parent; |
|
t1 = _this._expressionNode$1(t1); |
|
t1 = t1 == null ? null : t1.get$span(); |
|
t2.addChild$1(L.ModifiableCssDeclaration$($name, cssValue, node.span, t1)); |
|
} else if (J.startsWith$1$s($name.value, "--")) |
|
throw H.wrapException(_this._evaluate$_exception$2("Custom property values may not be empty.", t1.get$span())); |
|
if (node.children != null) { |
|
oldDeclarationName = _this._declarationName; |
|
_this._declarationName = $name.value; |
|
_this._evaluate$_environment.scope$1$2$when(new R._EvaluateVisitor_visitDeclaration_closure(_this, node), node.hasDeclarations, P.Null); |
|
_this._declarationName = oldDeclarationName; |
|
} |
|
return; |
|
}, |
|
visitEachRule$1: function(node) { |
|
var _this = this, |
|
t1 = node.list, |
|
list = t1.accept$1(_this), |
|
nodeWithSpan = _this._expressionNode$1(t1), |
|
setVariables = node.variables.length === 1 ? new R._EvaluateVisitor_visitEachRule_closure(_this, node, nodeWithSpan) : new R._EvaluateVisitor_visitEachRule_closure0(_this, node, nodeWithSpan); |
|
return _this._evaluate$_environment.scope$1$2$semiGlobal(new R._EvaluateVisitor_visitEachRule_closure1(_this, list, setVariables, node), true, F.Value); |
|
}, |
|
_setMultipleVariables$3: function(variables, value, nodeWithSpan) { |
|
var i, |
|
list = value.get$asList(), |
|
t1 = variables.length, |
|
minLength = Math.min(t1, list.length); |
|
for (i = 0; i < minLength; ++i) |
|
this._evaluate$_environment.setLocalVariable$3(variables[i], list[i].withoutSlash$0(), nodeWithSpan); |
|
for (i = minLength; i < t1; ++i) |
|
this._evaluate$_environment.setLocalVariable$3(variables[i], C.C_SassNull, nodeWithSpan); |
|
}, |
|
visitErrorRule$1: function(node) { |
|
throw H.wrapException(this._evaluate$_exception$2(J.toString$0$(node.expression.accept$1(this)), node.span)); |
|
}, |
|
visitExtendRule$1: function(node) { |
|
var targetText, t1, t2, _i, t3, _this = this; |
|
if (!(_this._styleRule != null && !_this._atRootExcludingStyleRule) || _this._declarationName != null) |
|
throw H.wrapException(_this._evaluate$_exception$2("@extend may only be used within style rules.", node.span)); |
|
targetText = _this._interpolationToValue$2$warnForColor(node.selector, true); |
|
for (t1 = _this._adjustParseError$2(targetText, new R._EvaluateVisitor_visitExtendRule_closure(_this, targetText)).components, t2 = t1.length, _i = 0; _i < t2; ++_i) { |
|
t3 = t1[_i].components; |
|
if (t3.length !== 1 || !(C.JSArray_methods.get$first(t3) instanceof X.CompoundSelector)) |
|
throw H.wrapException(E.SassFormatException$("complex selectors may not be extended.", targetText.span)); |
|
t3 = H.interceptedTypeCast(C.JSArray_methods.get$first(t3), "$isCompoundSelector").components; |
|
if (t3.length !== 1) |
|
throw H.wrapException(E.SassFormatException$("compound selectors may no longer be extended.\nConsider `@extend " + C.JSArray_methods.join$1(t3, ", ") + "` instead.\nSee http://bit.ly/ExtendCompound for details.\n", targetText.span)); |
|
_this._extender.addExtension$4(_this._styleRule.selector, C.JSArray_methods.get$first(t3), node, _this._mediaQueries); |
|
} |
|
return; |
|
}, |
|
visitAtRule$1: function(node) { |
|
var $name, t1, value, t2, t3, wasInKeyframes, wasInUnknownAtRule, _this = this; |
|
if (_this._declarationName != null) |
|
throw H.wrapException(_this._evaluate$_exception$2("At-rules may not be used within nested declarations.", node.span)); |
|
$name = _this._interpolationToValue$1(node.name); |
|
t1 = node.value; |
|
value = t1 == null ? null : _this._interpolationToValue$3$trim$warnForColor(t1, true, true); |
|
if (node.children == null) { |
|
t1 = _this._evaluate$_parent; |
|
t2 = B.ModifiableCssNode; |
|
t3 = H.setRuntimeTypeInfo([], [t2]); |
|
t1.addChild$1(new U.ModifiableCssAtRule($name, value, true, node.span, new P.UnmodifiableListView(t3, [t2]), t3)); |
|
return; |
|
} |
|
wasInKeyframes = _this._inKeyframes; |
|
wasInUnknownAtRule = _this._inUnknownAtRule; |
|
if (B.unvendor($name.value) === "keyframes") |
|
_this._inKeyframes = true; |
|
else |
|
_this._inUnknownAtRule = true; |
|
t1 = B.ModifiableCssNode; |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
_this._withParent$2$4$scopeWhen$through(new U.ModifiableCssAtRule($name, value, false, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new R._EvaluateVisitor_visitAtRule_closure(_this, node), node.hasDeclarations, new R._EvaluateVisitor_visitAtRule_closure0(), U.ModifiableCssAtRule, P.Null); |
|
_this._inUnknownAtRule = wasInUnknownAtRule; |
|
_this._inKeyframes = wasInKeyframes; |
|
return; |
|
}, |
|
visitForRule$1: function(node) { |
|
var _this = this, t1 = {}, |
|
t2 = node.from, |
|
fromNumber = _this._addExceptionSpan$2(t2, new R._EvaluateVisitor_visitForRule_closure(_this, node)), |
|
t3 = node.to, |
|
toNumber = _this._addExceptionSpan$2(t3, new R._EvaluateVisitor_visitForRule_closure0(_this, node)), |
|
from = _this._addExceptionSpan$2(t2, new R._EvaluateVisitor_visitForRule_closure1(fromNumber, toNumber)), |
|
to = t1.to = _this._addExceptionSpan$2(t3, new R._EvaluateVisitor_visitForRule_closure2(toNumber)), |
|
direction = from > to ? -1 : 1; |
|
if (from === (!node.isExclusive ? t1.to = to + direction : to)) |
|
return; |
|
return _this._evaluate$_environment.scope$1$2$semiGlobal(new R._EvaluateVisitor_visitForRule_closure3(t1, _this, node, from, direction), true, F.Value); |
|
}, |
|
visitForwardRule$1: function(node) { |
|
var newConfiguration, t4, _i, variable, _this = this, |
|
_s8_ = "@forward", |
|
oldConfiguration = _this._configuration, |
|
adjustedConfiguration = oldConfiguration.throughForward$1(node), |
|
t1 = node.configuration, |
|
t2 = t1.length, |
|
t3 = node.url; |
|
if (t2 !== 0) { |
|
newConfiguration = _this._addForwardConfiguration$2(adjustedConfiguration, node); |
|
_this._loadModule$5$configuration(t3, _s8_, node, new R._EvaluateVisitor_visitForwardRule_closure(_this, node), newConfiguration); |
|
t3 = P.String; |
|
t4 = P.LinkedHashSet_LinkedHashSet(t3); |
|
for (_i = 0; _i < t2; ++_i) { |
|
variable = t1[_i]; |
|
if (!variable.isGuarded) |
|
t4.add$1(0, variable.name); |
|
} |
|
_this._removeUsedConfiguration$3$except(adjustedConfiguration, newConfiguration, t4); |
|
t3 = P.LinkedHashSet_LinkedHashSet(t3); |
|
for (_i = 0; _i < t2; ++_i) |
|
t3.add$1(0, t1[_i].name); |
|
_this._assertConfigurationIsEmpty$2$only(newConfiguration, t3); |
|
} else { |
|
_this._configuration = adjustedConfiguration; |
|
_this._loadModule$4(t3, _s8_, node, new R._EvaluateVisitor_visitForwardRule_closure0(_this, node)); |
|
_this._configuration = oldConfiguration; |
|
} |
|
return; |
|
}, |
|
_addForwardConfiguration$2: function(configuration, node) { |
|
var _i, variable, t4, t5, |
|
t1 = configuration._values, |
|
t2 = P.String, |
|
t3 = Z.ConfiguredValue, |
|
newValues = P.LinkedHashMap_LinkedHashMap$of(new P.UnmodifiableMapView(t1, [t2, t3]), t2, t3); |
|
for (t2 = node.configuration, t3 = t2.length, _i = 0; _i < t3; ++_i) { |
|
variable = t2[_i]; |
|
if (variable.isGuarded) { |
|
t4 = variable.name; |
|
t5 = t1.get$isEmpty(t1) ? null : t1.remove$1(0, t4); |
|
if (t5 != null && !J.$eq$(t5.value, C.C_SassNull)) { |
|
newValues.$indexSet(0, t4, t5); |
|
continue; |
|
} |
|
} |
|
t4 = variable.name; |
|
t5 = variable.expression; |
|
newValues.$indexSet(0, t4, new Z.ConfiguredValue(t5.accept$1(this).withoutSlash$0(), variable.span, this._expressionNode$1(t5))); |
|
} |
|
return new A.Configuration(newValues, node, false); |
|
}, |
|
_removeUsedConfiguration$3$except: function(upstream, downstream, except) { |
|
var t1, t2, t3, t4, _i, $name; |
|
for (t1 = upstream._values, t2 = J.toList$0$ax(t1.get$keys()), t3 = t2.length, t4 = downstream._values, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) { |
|
$name = t2[_i]; |
|
if (except.contains$1(0, $name)) |
|
continue; |
|
if (!t4.containsKey$1($name)) |
|
if (!t1.get$isEmpty(t1)) |
|
t1.remove$1(0, $name); |
|
} |
|
}, |
|
_assertConfigurationIsEmpty$3$nameInError$only: function(configuration, nameInError, only) { |
|
configuration._values.forEach$1(0, new R._EvaluateVisitor__assertConfigurationIsEmpty_closure(this, only, nameInError)); |
|
}, |
|
_assertConfigurationIsEmpty$2$nameInError: function(configuration, nameInError) { |
|
return this._assertConfigurationIsEmpty$3$nameInError$only(configuration, nameInError, null); |
|
}, |
|
_assertConfigurationIsEmpty$1: function(configuration) { |
|
return this._assertConfigurationIsEmpty$3$nameInError$only(configuration, false, null); |
|
}, |
|
_assertConfigurationIsEmpty$2$only: function(configuration, only) { |
|
return this._assertConfigurationIsEmpty$3$nameInError$only(configuration, false, only); |
|
}, |
|
visitFunctionRule$1: function(node) { |
|
var t1 = this._evaluate$_environment, |
|
t2 = t1.closure$0(), |
|
t3 = t1._functions, |
|
index = t3.length - 1, |
|
t4 = node.name; |
|
t1._functionIndices.$indexSet(0, t4, index); |
|
J.$indexSet$ax(t3[index], t4, new E.UserDefinedCallable(node, t2, [O.Environment])); |
|
return; |
|
}, |
|
visitIfRule$1: function(node) { |
|
var t1, t2, _i, clauseToCheck, _box_0 = {}; |
|
_box_0.clause = node.lastClause; |
|
for (t1 = node.clauses, t2 = t1.length, _i = 0; _i < t2; ++_i) { |
|
clauseToCheck = t1[_i]; |
|
if (clauseToCheck.expression.accept$1(this).get$isTruthy()) { |
|
_box_0.clause = clauseToCheck; |
|
break; |
|
} |
|
} |
|
t1 = _box_0.clause; |
|
if (t1 == null) |
|
return; |
|
return this._evaluate$_environment.scope$1$3$semiGlobal$when(new R._EvaluateVisitor_visitIfRule_closure(_box_0, this), true, t1.hasDeclarations, F.Value); |
|
}, |
|
visitImportRule$1: function(node) { |
|
var t1, t2, t3, t4, t5, _i, $import, t6, result, supports, t7, t8, resolvedSupports, mediaQuery, t9, result0, _this = this, _null = null; |
|
for (t1 = node.imports, t2 = t1.length, t3 = F.CssMediaQuery, t4 = [P.String], t5 = [F.ModifiableCssImport], _i = 0; _i < t2; ++_i) { |
|
$import = t1[_i]; |
|
if ($import instanceof B.DynamicImport) |
|
_this._visitDynamicImport$1($import); |
|
else { |
|
H.interceptedTypeCast($import, "$isStaticImport"); |
|
t6 = $import.url; |
|
result = _this._performInterpolation$2$warnForColor(t6, false); |
|
supports = $import.supports; |
|
if (supports instanceof L.SupportsDeclaration) { |
|
t7 = supports.name; |
|
t7 = H.S(_this._evaluate$_serialize$3$quote(t7.accept$1(_this), t7, true)) + ": "; |
|
t8 = supports.value; |
|
resolvedSupports = t7 + H.S(_this._evaluate$_serialize$3$quote(t8.accept$1(_this), t8, true)); |
|
} else |
|
resolvedSupports = supports == null ? _null : _this._visitSupportsCondition$1(supports); |
|
t7 = $import.media; |
|
mediaQuery = t7 == null ? _null : _this._visitMediaQueries$1(t7); |
|
t7 = $import.span; |
|
t8 = resolvedSupports == null ? _null : new F.CssValue("supports(" + resolvedSupports + ")", supports.get$span(), t4); |
|
if (mediaQuery == null) |
|
t9 = _null; |
|
else { |
|
result0 = P.List_List$from(mediaQuery, false, t3); |
|
result0.fixed$length = Array; |
|
result0.immutable$list = Array; |
|
t9 = result0; |
|
} |
|
node = new F.ModifiableCssImport(new F.CssValue(result, t6.span, t4), t8, t9, t7); |
|
t6 = _this._evaluate$_parent; |
|
t7 = _this._root; |
|
if (t6 != t7) |
|
t6.addChild$1(node); |
|
else if (_this._endOfImports === J.get$length$asx(t7.children._collection$_source)) { |
|
t6 = _this._root; |
|
t6.toString; |
|
node._parent = t6; |
|
t6 = t6._children; |
|
node._indexInParent = t6.length; |
|
t6.push(node); |
|
_this._endOfImports = _this._endOfImports + 1; |
|
} else { |
|
t6 = _this._outOfOrderImports; |
|
(t6 == null ? _this._outOfOrderImports = H.setRuntimeTypeInfo([], t5) : t6).push(node); |
|
} |
|
} |
|
} |
|
return; |
|
}, |
|
_visitDynamicImport$1: function($import) { |
|
return this._withStackFrame$3("@import", $import, new R._EvaluateVisitor__visitDynamicImport_closure(this, $import)); |
|
}, |
|
_loadStylesheet$4$baseUrl$forImport: function(url, span, baseUrl, forImport) { |
|
var stylesheet, tuple, error, error0, message, t1, t2, t3, exception, _this = this; |
|
try { |
|
_this._importSpan = span; |
|
if (_this._nodeImporter != null) { |
|
stylesheet = _this._importLikeNode$2(url, forImport); |
|
if (stylesheet != null) |
|
return new S.Tuple2(null, stylesheet, [M.Importer, V.Stylesheet]); |
|
} else { |
|
t1 = P.Uri_parse(url); |
|
t2 = _this._importer; |
|
if (baseUrl == null) { |
|
t3 = _this._stylesheet; |
|
t3 = t3 == null ? null : t3.span; |
|
t3 = t3 == null ? null : t3.file.url; |
|
} else |
|
t3 = baseUrl; |
|
tuple = _this._importCache.import$4$baseImporter$baseUrl$forImport(t1, t2, t3, forImport); |
|
if (tuple != null) |
|
return tuple; |
|
} |
|
if (C.JSString_methods.startsWith$1(url, "package:") && true) |
|
throw H.wrapException('"package:" URLs aren\'t supported on this platform.'); |
|
else |
|
throw H.wrapException("Can't find stylesheet to import."); |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (t1 instanceof E.SassException) { |
|
error = t1; |
|
t1 = _this._evaluate$_exception$2(error._span_exception$_message, error.get$span()); |
|
throw H.wrapException(t1); |
|
} else { |
|
error0 = t1; |
|
message = null; |
|
try { |
|
message = H.stringTypeCast(J.get$message$x(error0)); |
|
} catch (exception) { |
|
H.unwrapException(exception); |
|
message = J.toString$0$(error0); |
|
} |
|
t1 = _this._evaluate$_exception$1(message); |
|
throw H.wrapException(t1); |
|
} |
|
} finally { |
|
_this._importSpan = null; |
|
} |
|
}, |
|
_loadStylesheet$3$baseUrl: function(url, span, baseUrl) { |
|
return this._loadStylesheet$4$baseUrl$forImport(url, span, baseUrl, false); |
|
}, |
|
_loadStylesheet$3$forImport: function(url, span, forImport) { |
|
return this._loadStylesheet$4$baseUrl$forImport(url, span, null, forImport); |
|
}, |
|
_importLikeNode$2: function(originalUrl, forImport) { |
|
var result, contents, url, _this = this, |
|
t1 = _this._stylesheet.span; |
|
t1 = t1 == null ? null : t1.file.url; |
|
result = _this._nodeImporter.load$3(originalUrl, t1, forImport); |
|
if (result == null) |
|
return; |
|
contents = result.item1; |
|
url = result.item2; |
|
t1 = J.getInterceptor$s(url).startsWith$1(url, "file:") ? $.$get$context().style.pathFromUri$1(M._parseUri(url)) : url; |
|
_this._includedFiles.add$1(0, t1); |
|
t1 = C.JSString_methods.startsWith$1(url, "file") ? M.Syntax_forPath(url) : C.Syntax_SCSS; |
|
return V.Stylesheet_Stylesheet$parse(contents, t1, _this._logger, url); |
|
}, |
|
visitIncludeRule$1: function(node) { |
|
var nodeWithSpan, t1, t2, t3, contentCallable, _this = this, |
|
_s37_ = "Mixin doesn't accept a content block.", |
|
mixin = _this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitIncludeRule_closure(_this, node)); |
|
if (mixin == null) |
|
throw H.wrapException(_this._evaluate$_exception$2("Undefined mixin.", node.span)); |
|
nodeWithSpan = new B._FakeAstNode(new R._EvaluateVisitor_visitIncludeRule_closure0(node)); |
|
if (!!mixin.$isBuiltInCallable) { |
|
if (node.content != null) |
|
throw H.wrapException(_this._evaluate$_exception$2(_s37_, node.span)); |
|
_this._runBuiltInCallable$3(node.$arguments, mixin, nodeWithSpan); |
|
} else { |
|
t1 = [O.Environment]; |
|
if (H.checkSubtype(mixin, "$isUserDefinedCallable", t1, null)) { |
|
t2 = node.content; |
|
t3 = t2 == null; |
|
if (!t3 && !H.interceptedTypeCast(mixin.declaration, "$isMixinRule").hasContent) |
|
throw H.wrapException(E.MultiSpanSassRuntimeException$(_s37_, node.get$spanWithoutContent(), "invocation", P.LinkedHashMap_LinkedHashMap$_literal([mixin.declaration.$arguments.get$spanWithName(), "declaration"], Y.FileSpan, P.String), _this._stackTrace$1(node.get$spanWithoutContent()))); |
|
contentCallable = t3 ? null : new E.UserDefinedCallable(t2, _this._evaluate$_environment.closure$0(), t1); |
|
_this._runUserDefinedCallable$4(node.$arguments, mixin, nodeWithSpan, new R._EvaluateVisitor_visitIncludeRule_closure1(_this, contentCallable, mixin, nodeWithSpan)); |
|
} else |
|
throw H.wrapException(P.UnsupportedError$("Unknown callable type " + mixin.toString$0(0) + ".")); |
|
} |
|
return; |
|
}, |
|
visitMixinRule$1: function(node) { |
|
var t1 = this._evaluate$_environment, |
|
t2 = t1.closure$0(), |
|
t3 = t1._mixins, |
|
index = t3.length - 1, |
|
t4 = node.name; |
|
t1._mixinIndices.$indexSet(0, t4, index); |
|
J.$indexSet$ax(t3[index], t4, new E.UserDefinedCallable(node, t2, [O.Environment])); |
|
return; |
|
}, |
|
visitLoudComment$1: function(node) { |
|
var t1, t2, _this = this; |
|
if (_this._inFunction) |
|
return; |
|
t1 = _this._evaluate$_parent; |
|
t2 = _this._root; |
|
if (t1 == t2 && _this._endOfImports === J.get$length$asx(t2.children._collection$_source)) |
|
_this._endOfImports = _this._endOfImports + 1; |
|
t1 = node.text; |
|
_this._evaluate$_parent.addChild$1(new R.ModifiableCssComment(_this._performInterpolation$1(t1), t1.span)); |
|
return; |
|
}, |
|
visitMediaRule$1: function(node) { |
|
var queries, t1, mergedQueries, _this = this; |
|
if (_this._declarationName != null) |
|
throw H.wrapException(_this._evaluate$_exception$2("Media rules may not be used within nested declarations.", node.span)); |
|
queries = _this._visitMediaQueries$1(node.query); |
|
t1 = _this._mediaQueries; |
|
mergedQueries = t1 == null ? null : _this._mergeMediaQueries$2(t1, queries); |
|
t1 = mergedQueries == null; |
|
if (!t1 && mergedQueries.length === 0) |
|
return; |
|
t1 = t1 ? queries : mergedQueries; |
|
_this._withParent$2$4$scopeWhen$through(G.ModifiableCssMediaRule$(t1, node.span), new R._EvaluateVisitor_visitMediaRule_closure(_this, mergedQueries, queries, node), node.hasDeclarations, new R._EvaluateVisitor_visitMediaRule_closure0(mergedQueries), G.ModifiableCssMediaRule, P.Null); |
|
return; |
|
}, |
|
_visitMediaQueries$1: function(interpolation) { |
|
return this._adjustParseError$2(interpolation, new R._EvaluateVisitor__visitMediaQueries_closure(this, this._performInterpolation$2$warnForColor(interpolation, true))); |
|
}, |
|
_mergeMediaQueries$2: function(queries1, queries2) { |
|
var t1, t2, t3, t4, result, |
|
queries = H.setRuntimeTypeInfo([], [F.CssMediaQuery]); |
|
for (t1 = J.get$iterator$ax(queries1), t2 = J.getInterceptor$ax(queries2); t1.moveNext$0();) { |
|
t3 = t1.get$current(t1); |
|
for (t4 = t2.get$iterator(queries2); t4.moveNext$0();) { |
|
result = t3.merge$1(t4.get$current(t4)); |
|
if (result === C._SingletonCssMediaQueryMergeResult_empty) |
|
continue; |
|
if (result === C._SingletonCssMediaQueryMergeResult_unrepresentable) |
|
return; |
|
queries.push(H.interceptedTypeCast(result, "$isMediaQuerySuccessfulMergeResult").query); |
|
} |
|
} |
|
return queries; |
|
}, |
|
visitReturnRule$1: function(node) { |
|
return node.expression.accept$1(this); |
|
}, |
|
visitSilentComment$1: function(node) { |
|
return; |
|
}, |
|
visitStyleRule$1: function(node) { |
|
var t2, selectorText, t3, t4, parsedSelector, rule, oldAtRootExcludingStyleRule, _this = this, t1 = {}; |
|
if (_this._declarationName != null) |
|
throw H.wrapException(_this._evaluate$_exception$2("Style rules may not be used within nested declarations.", node.span)); |
|
t2 = node.selector; |
|
selectorText = _this._interpolationToValue$3$trim$warnForColor(t2, true, true); |
|
if (_this._inKeyframes) { |
|
t1 = P.List_List$unmodifiable(_this._adjustParseError$2(t2, new R._EvaluateVisitor_visitStyleRule_closure(_this, selectorText)), P.String); |
|
t3 = B.ModifiableCssNode; |
|
t4 = H.setRuntimeTypeInfo([], [t3]); |
|
_this._withParent$2$4$scopeWhen$through(new U.ModifiableCssKeyframeBlock(new F.CssValue(t1, t2.span, [[P.List, P.String]]), node.span, new P.UnmodifiableListView(t4, [t3]), t4), new R._EvaluateVisitor_visitStyleRule_closure0(_this, node), node.hasDeclarations, new R._EvaluateVisitor_visitStyleRule_closure1(), U.ModifiableCssKeyframeBlock, P.Null); |
|
return; |
|
} |
|
t1.parsedSelector = _this._adjustParseError$2(t2, new R._EvaluateVisitor_visitStyleRule_closure2(_this, selectorText)); |
|
parsedSelector = _this._addExceptionSpan$2(t2, new R._EvaluateVisitor_visitStyleRule_closure3(t1, _this)); |
|
t1.parsedSelector = parsedSelector; |
|
rule = X.ModifiableCssStyleRule$(_this._extender.addSelector$3(parsedSelector, t2.span, _this._mediaQueries), node.span, t1.parsedSelector); |
|
oldAtRootExcludingStyleRule = _this._atRootExcludingStyleRule; |
|
_this._atRootExcludingStyleRule = false; |
|
_this._withParent$2$4$scopeWhen$through(rule, new R._EvaluateVisitor_visitStyleRule_closure4(_this, rule, node), node.hasDeclarations, new R._EvaluateVisitor_visitStyleRule_closure5(), X.ModifiableCssStyleRule, P.Null); |
|
_this._atRootExcludingStyleRule = oldAtRootExcludingStyleRule; |
|
if (!(_this._styleRule != null && !oldAtRootExcludingStyleRule)) { |
|
t1 = _this._evaluate$_parent.children; |
|
t1 = !t1.get$isEmpty(t1); |
|
} else |
|
t1 = false; |
|
if (t1) { |
|
t1 = _this._evaluate$_parent.children; |
|
t1.get$last(t1).isGroupEnd = true; |
|
} |
|
return; |
|
}, |
|
visitSupportsRule$1: function(node) { |
|
var t1, t2, t3, t4, _this = this; |
|
if (_this._declarationName != null) |
|
throw H.wrapException(_this._evaluate$_exception$2("Supports rules may not be used within nested declarations.", node.span)); |
|
t1 = node.condition; |
|
t2 = _this._visitSupportsCondition$1(t1); |
|
t1 = t1.get$span(); |
|
t3 = B.ModifiableCssNode; |
|
t4 = H.setRuntimeTypeInfo([], [t3]); |
|
_this._withParent$2$4$scopeWhen$through(new B.ModifiableCssSupportsRule(new F.CssValue(t2, t1, [P.String]), node.span, new P.UnmodifiableListView(t4, [t3]), t4), new R._EvaluateVisitor_visitSupportsRule_closure(_this, node), node.hasDeclarations, new R._EvaluateVisitor_visitSupportsRule_closure0(), B.ModifiableCssSupportsRule, P.Null); |
|
return; |
|
}, |
|
_visitSupportsCondition$1: function(condition) { |
|
var t2, _this = this, |
|
t1 = J.getInterceptor$(condition); |
|
if (!!t1.$isSupportsOperation) { |
|
t1 = condition.left; |
|
t2 = condition.operator; |
|
return H.S(_this._parenthesize$2(t1, t2)) + " " + t2 + " " + H.S(_this._parenthesize$2(condition.right, t2)); |
|
} else if (!!t1.$isSupportsNegation) |
|
return "not " + H.S(_this._parenthesize$1(condition.condition)); |
|
else if (!!t1.$isSupportsInterpolation) { |
|
t1 = condition.expression; |
|
return _this._evaluate$_serialize$3$quote(t1.accept$1(_this), t1, false); |
|
} else if (!!t1.$isSupportsDeclaration) { |
|
t1 = condition.name; |
|
t1 = "(" + H.S(_this._evaluate$_serialize$3$quote(t1.accept$1(_this), t1, true)) + ": "; |
|
t2 = condition.value; |
|
return t1 + H.S(_this._evaluate$_serialize$3$quote(t2.accept$1(_this), t2, true)) + ")"; |
|
} else |
|
return; |
|
}, |
|
_parenthesize$2: function(condition, operator) { |
|
var t1; |
|
if (!condition.$isSupportsNegation) |
|
if (!!condition.$isSupportsOperation) |
|
t1 = operator == null || operator !== condition.operator; |
|
else |
|
t1 = false; |
|
else |
|
t1 = true; |
|
if (t1) |
|
return "(" + H.S(this._visitSupportsCondition$1(condition)) + ")"; |
|
else |
|
return this._visitSupportsCondition$1(condition); |
|
}, |
|
_parenthesize$1: function(condition) { |
|
return this._parenthesize$2(condition, null); |
|
}, |
|
visitVariableDeclaration$1: function(node) { |
|
var t1, value, t2, _this = this; |
|
if (node.isGuarded) { |
|
if (node.namespace == null && _this._evaluate$_environment._variables.length === 1) { |
|
t1 = _this._configuration._values; |
|
t1 = t1.get$isEmpty(t1) ? null : t1.remove$1(0, node.name); |
|
if (t1 != null) { |
|
_this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitVariableDeclaration_closure(_this, node, t1)); |
|
return; |
|
} |
|
} |
|
value = _this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitVariableDeclaration_closure0(_this, node)); |
|
if (value != null && !value.$eq(0, C.C_SassNull)) |
|
return; |
|
} |
|
if (node.isGlobal && !_this._evaluate$_environment.globalVariableExists$1(node.name)) { |
|
t1 = _this._evaluate$_environment._variables.length === 1 ? "As of Dart Sass 2.0.0, !global assignments won't be able to\ndeclare new variables. Since this assignment is at the root of the stylesheet,\nthe !global flag is unnecessary and can safely be removed." : "As of Dart Sass 2.0.0, !global assignments won't be able to\ndeclare new variables. Consider adding `" + B.declarationName(node.span) + ": null` at the root of the\nstylesheet."; |
|
t2 = node.span; |
|
_this._logger.warn$4$deprecation$span$trace(t1, true, t2, _this._stackTrace$1(t2)); |
|
} |
|
_this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitVariableDeclaration_closure1(_this, node, node.expression.accept$1(_this).withoutSlash$0())); |
|
return; |
|
}, |
|
visitUseRule$1: function(node) { |
|
var configuration, t3, _i, variable, t4, t5, _this = this, |
|
t1 = node.configuration, |
|
t2 = t1.length; |
|
if (t2 === 0) |
|
configuration = C.Configuration_Map_empty_null_true; |
|
else { |
|
t3 = P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.ConfiguredValue); |
|
for (_i = 0; _i < t2; ++_i) { |
|
variable = t1[_i]; |
|
t4 = variable.name; |
|
t5 = variable.expression; |
|
t3.$indexSet(0, t4, new Z.ConfiguredValue(t5.accept$1(_this).withoutSlash$0(), variable.span, _this._expressionNode$1(t5))); |
|
} |
|
configuration = new A.Configuration(t3, node, false); |
|
} |
|
_this._loadModule$5$configuration(node.url, "@use", node, new R._EvaluateVisitor_visitUseRule_closure(_this, node), configuration); |
|
_this._assertConfigurationIsEmpty$1(configuration); |
|
return; |
|
}, |
|
visitWarnRule$1: function(node) { |
|
var _this = this, |
|
value = _this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitWarnRule_closure(_this, node)), |
|
t1 = value instanceof D.SassString ? value.text : _this._evaluate$_serialize$2(value, node.expression); |
|
_this._logger.warn$2$trace(t1, _this._stackTrace$1(node.span)); |
|
return; |
|
}, |
|
visitWhileRule$1: function(node) { |
|
return this._evaluate$_environment.scope$1$3$semiGlobal$when(new R._EvaluateVisitor_visitWhileRule_closure(this, node), true, node.hasDeclarations, F.Value); |
|
}, |
|
visitBinaryOperationExpression$1: function(node) { |
|
return this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitBinaryOperationExpression_closure(this, node)); |
|
}, |
|
visitValueExpression$1: function(node) { |
|
return node.value; |
|
}, |
|
visitVariableExpression$1: function(node) { |
|
var result = this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitVariableExpression_closure(this, node)); |
|
if (result != null) |
|
return result; |
|
throw H.wrapException(this._evaluate$_exception$2("Undefined variable.", node.span)); |
|
}, |
|
visitUnaryOperationExpression$1: function(node) { |
|
var operand = node.operand.accept$1(this), |
|
t1 = node.operator; |
|
switch (t1) { |
|
case C.UnaryOperator_j2w: |
|
return operand.unaryPlus$0(); |
|
case C.UnaryOperator_U4G: |
|
return operand.unaryMinus$0(); |
|
case C.UnaryOperator_zDx: |
|
operand.toString; |
|
return new D.SassString("/" + N.serializeValue(operand, false, true), false); |
|
case C.UnaryOperator_not_not: |
|
return operand.unaryNot$0(); |
|
default: |
|
throw H.wrapException(P.StateError$("Unknown unary operator " + H.S(t1) + ".")); |
|
} |
|
}, |
|
visitBooleanExpression$1: function(node) { |
|
return node.value ? C.SassBoolean_true : C.SassBoolean_false; |
|
}, |
|
visitIfExpression$1: function(node) { |
|
var condition, ifTrue, ifFalse, _this = this, |
|
pair = _this._evaluateMacroArguments$1(node), |
|
positional = pair.item1, |
|
named = pair.item2, |
|
t1 = J.getInterceptor$asx(positional); |
|
_this._verifyArguments$4(t1.get$length(positional), named, $.$get$IfExpression_declaration(), node); |
|
condition = t1.get$length(positional) > 0 ? t1.$index(positional, 0) : named.$index(0, "condition"); |
|
ifTrue = t1.get$length(positional) > 1 ? t1.$index(positional, 1) : named.$index(0, "if-true"); |
|
ifFalse = t1.get$length(positional) > 2 ? t1.$index(positional, 2) : named.$index(0, "if-false"); |
|
return (condition.accept$1(_this).get$isTruthy() ? ifTrue : ifFalse).accept$1(_this); |
|
}, |
|
visitNullExpression$1: function(node) { |
|
return C.C_SassNull; |
|
}, |
|
visitNumberExpression$1: function(node) { |
|
var t1 = node.unit; |
|
t1 = t1 == null ? null : H.setRuntimeTypeInfo([t1], [P.String]); |
|
t1 = t1 == null ? C.List_empty : P.List_List$unmodifiable(t1, P.String); |
|
return new T.SassNumber(node.value, t1, C.List_empty, null); |
|
}, |
|
visitParenthesizedExpression$1: function(node) { |
|
return node.expression.accept$1(this); |
|
}, |
|
visitColorExpression$1: function(node) { |
|
return node.value; |
|
}, |
|
visitListExpression$1: function(node) { |
|
var t1 = node.contents; |
|
return D.SassList$(new H.MappedListIterable(t1, new R._EvaluateVisitor_visitListExpression_closure(this), [H.getTypeArgumentByIndex(t1, 0), F.Value]), node.separator, node.hasBrackets); |
|
}, |
|
visitMapExpression$1: function(node) { |
|
var t2, t3, _i, pair, t4, keyValue, valueValue, |
|
t1 = F.Value, |
|
map = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1), |
|
keyNodes = P.LinkedHashMap_LinkedHashMap$_empty(t1, B.AstNode); |
|
for (t2 = node.pairs, t3 = t2.length, _i = 0; _i < t3; ++_i) { |
|
pair = t2[_i]; |
|
t4 = pair.item1; |
|
keyValue = t4.accept$1(this); |
|
valueValue = pair.item2.accept$1(this); |
|
if (map.containsKey$1(keyValue)) |
|
throw H.wrapException(E.MultiSpanSassRuntimeException$("Duplicate key.", t4.get$span(), "second key", P.LinkedHashMap_LinkedHashMap$_literal([keyNodes.$index(0, keyValue).get$span(), "first key"], Y.FileSpan, P.String), this._stackTrace$1(t4.get$span()))); |
|
map.$indexSet(0, keyValue, valueValue); |
|
keyNodes.$indexSet(0, keyValue, t4); |
|
} |
|
return new A.SassMap(H.ConstantMap_ConstantMap$from(map, t1, t1)); |
|
}, |
|
visitFunctionExpression$1: function(node) { |
|
var oldInFunction, result, _this = this, t1 = {}, |
|
t2 = node.name, |
|
plainName = t2.get$asPlain(); |
|
t1.$function = null; |
|
if ((plainName != null ? t1.$function = _this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitFunctionExpression_closure(_this, node, plainName)) : null) == null) { |
|
if (node.namespace != null) |
|
throw H.wrapException(_this._evaluate$_exception$2("Undefined function.", node.span)); |
|
t1.$function = new L.PlainCssCallable(_this._performInterpolation$1(t2)); |
|
} |
|
oldInFunction = _this._inFunction; |
|
_this._inFunction = true; |
|
result = _this._addErrorSpan$2(node, new R._EvaluateVisitor_visitFunctionExpression_closure0(t1, _this, node)); |
|
_this._inFunction = oldInFunction; |
|
return result; |
|
}, |
|
_getFunction$2$namespace: function($name, namespace) { |
|
var local = this._evaluate$_environment.getFunction$2$namespace($name, namespace); |
|
if (local != null || namespace != null) |
|
return local; |
|
return this._builtInFunctions.$index(0, $name); |
|
}, |
|
_runUserDefinedCallable$4: function($arguments, callable, nodeWithSpan, run) { |
|
var evaluated = this._evaluateArguments$1($arguments), |
|
t1 = callable.declaration.name, |
|
$name = t1 == null ? "@content" : t1 + "()"; |
|
return this._withStackFrame$3($name, nodeWithSpan, new R._EvaluateVisitor__runUserDefinedCallable_closure(this, callable, evaluated, nodeWithSpan, run)); |
|
}, |
|
_runFunctionCallable$3: function($arguments, callable, nodeWithSpan) { |
|
var result, t2, t3, first, _i, argument, rest, _this = this, |
|
t1 = J.getInterceptor$(callable); |
|
if (!!t1.$isBuiltInCallable) { |
|
result = _this._runBuiltInCallable$3($arguments, callable, nodeWithSpan); |
|
if (result == null) |
|
throw H.wrapException(_this._evaluate$_exception$2("Custom functions may not return Dart's null.", nodeWithSpan.get$span())); |
|
return result.withoutSlash$0(); |
|
} else if (H.checkSubtype(callable, "$isUserDefinedCallable", [O.Environment], null)) |
|
return _this._runUserDefinedCallable$4($arguments, callable, nodeWithSpan, new R._EvaluateVisitor__runFunctionCallable_closure(_this, callable)).withoutSlash$0(); |
|
else if (!!t1.$isPlainCssCallable) { |
|
t1 = $arguments.named; |
|
if (t1.get$isNotEmpty(t1) || $arguments.keywordRest != null) |
|
throw H.wrapException(_this._evaluate$_exception$2("Plain CSS functions don't support keyword arguments.", nodeWithSpan.get$span())); |
|
t1 = H.S(callable.name) + "("; |
|
for (t2 = $arguments.positional, t3 = t2.length, first = true, _i = 0; _i < t3; ++_i) { |
|
argument = t2[_i]; |
|
if (first) |
|
first = false; |
|
else |
|
t1 += ", "; |
|
t1 += H.S(_this._evaluate$_serialize$3$quote(argument.accept$1(_this), argument, true)); |
|
} |
|
t2 = $arguments.rest; |
|
rest = t2 == null ? null : t2.accept$1(_this); |
|
if (rest != null) { |
|
if (!first) |
|
t1 += ", "; |
|
t2 = t1 + H.S(_this._evaluate$_serialize$2(rest, t2)); |
|
t1 = t2; |
|
} |
|
t1 += H.Primitives_stringFromCharCode(41); |
|
return new D.SassString(t1.charCodeAt(0) == 0 ? t1 : t1, false); |
|
} else |
|
return; |
|
}, |
|
_runBuiltInCallable$3: function($arguments, callable, nodeWithSpan) { |
|
var callback, result, error, error0, error1, message, t1, namedSet, tuple, overload, declaredArguments, i, t2, argument, t3, t4, rest, argumentList, exception, _this = this, |
|
evaluated = _this._evaluateArguments$2$trackSpans($arguments, false), |
|
oldCallableNode = _this._callableNode; |
|
_this._callableNode = nodeWithSpan; |
|
t1 = P.String; |
|
namedSet = new M.MapKeySet(evaluated.named, [t1]); |
|
tuple = callable.callbackFor$2(evaluated.positional.length, namedSet); |
|
overload = tuple.item1; |
|
callback = tuple.item2; |
|
_this._addExceptionSpan$2(nodeWithSpan, new R._EvaluateVisitor__runBuiltInCallable_closure(overload, evaluated, namedSet)); |
|
declaredArguments = overload.$arguments; |
|
for (i = evaluated.positional.length, t2 = declaredArguments.length; i < t2; ++i) { |
|
argument = declaredArguments[i]; |
|
t3 = evaluated.positional; |
|
t4 = evaluated.named.remove$1(0, argument.name); |
|
if (t4 == null) { |
|
t4 = argument.defaultValue; |
|
t4 = t4 == null ? null : t4.accept$1(_this); |
|
} |
|
t3.push(t4); |
|
} |
|
if (overload.restArgument != null) { |
|
if (evaluated.positional.length > t2) { |
|
rest = C.JSArray_methods.sublist$1(evaluated.positional, t2); |
|
C.JSArray_methods.removeRange$2(evaluated.positional, t2, evaluated.positional.length); |
|
} else |
|
rest = C.List_empty6; |
|
t2 = evaluated.named; |
|
t3 = evaluated.separator === C.ListSeparator_undecided ? C.ListSeparator_comma : evaluated.separator; |
|
t4 = F.Value; |
|
argumentList = new D.SassArgumentList(H.ConstantMap_ConstantMap$from(t2, t1, t4), P.List_List$unmodifiable(rest, t4), t3, false); |
|
argumentList.SassList$3$brackets(rest, t3, false); |
|
evaluated.positional.push(argumentList); |
|
} else |
|
argumentList = null; |
|
result = null; |
|
try { |
|
result = callback.call$1(evaluated.positional); |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
t2 = J.getInterceptor$(t1); |
|
if (!!t2.$isSassRuntimeException) |
|
throw exception; |
|
else if (!!t2.$isMultiSpanSassScriptException) { |
|
error = t1; |
|
throw H.wrapException(E.MultiSpanSassRuntimeException$(error.message, nodeWithSpan.get$span(), error.primaryLabel, error.secondarySpans, _this._stackTrace$1(nodeWithSpan.get$span()))); |
|
} else if (!!t2.$isMultiSpanSassException) { |
|
error0 = t1; |
|
throw H.wrapException(E.MultiSpanSassRuntimeException$(error0._span_exception$_message, error0.get$span(), error0.primaryLabel, error0.secondarySpans, _this._stackTrace$1(error0.get$span()))); |
|
} else { |
|
error1 = t1; |
|
message = null; |
|
try { |
|
message = H.stringTypeCast(J.get$message$x(error1)); |
|
} catch (exception) { |
|
H.unwrapException(exception); |
|
message = J.toString$0$(error1); |
|
} |
|
throw H.wrapException(_this._evaluate$_exception$2(message, nodeWithSpan.get$span())); |
|
} |
|
} |
|
_this._callableNode = oldCallableNode; |
|
if (argumentList == null) |
|
return result; |
|
t2 = evaluated.named; |
|
if (t2.get$isEmpty(t2)) |
|
return result; |
|
if (argumentList._wereKeywordsAccessed) |
|
return result; |
|
t2 = evaluated.named.get$keys(); |
|
throw H.wrapException(E.MultiSpanSassRuntimeException$("No " + B.pluralize("argument", t2.get$length(t2), null) + " named " + H.S(B.toSentence(evaluated.named.get$keys().map$1$1(0, new R._EvaluateVisitor__runBuiltInCallable_closure0(), P.Object), "or")) + ".", nodeWithSpan.get$span(), "invocation", P.LinkedHashMap_LinkedHashMap$_literal([overload.get$spanWithName(), "declaration"], Y.FileSpan, t1), _this._stackTrace$1(nodeWithSpan.get$span()))); |
|
}, |
|
_evaluateArguments$2$trackSpans: function($arguments, trackSpans) { |
|
var t1, t2, t3, t4, _i, t5, t6, t7, named, t8, positionalNodes, namedNodes, rest, restNodeForSpan, separator, keywordRest, keywordRestNodeForSpan, _this = this, _null = null; |
|
if (trackSpans == null) |
|
trackSpans = _this._sourceMap; |
|
t1 = F.Value; |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
for (t3 = $arguments.positional, t4 = t3.length, _i = 0; _i < t4; ++_i) |
|
t2.push(t3[_i].accept$1(_this)); |
|
t5 = $arguments.named; |
|
t6 = P.String; |
|
t7 = T.Expression; |
|
named = Y.mapMap(t5, _null, new R._EvaluateVisitor__evaluateArguments_closure(_this), t6, t7, t6, t1); |
|
if (trackSpans) { |
|
t8 = H.setRuntimeTypeInfo([], [B.AstNode]); |
|
for (_i = 0; _i < t4; ++_i) |
|
t8.push(_this._expressionNode$1(t3[_i])); |
|
positionalNodes = t8; |
|
} else |
|
positionalNodes = _null; |
|
namedNodes = trackSpans ? Y.mapMap(t5, _null, new R._EvaluateVisitor__evaluateArguments_closure0(_this), t6, t7, t6, B.AstNode) : _null; |
|
t3 = $arguments.rest; |
|
if (t3 == null) |
|
return R._ArgumentResults$(t2, named, C.ListSeparator_undecided, namedNodes, positionalNodes); |
|
rest = t3.accept$1(_this); |
|
restNodeForSpan = trackSpans ? _this._expressionNode$1(t3) : _null; |
|
t4 = J.getInterceptor$(rest); |
|
if (!!t4.$isSassMap) { |
|
_this._addRestMap$1$3(named, rest, t3, t1); |
|
if (namedNodes != null) { |
|
t3 = P.LinkedHashMap_LinkedHashMap$_empty(t6, B.AstNode); |
|
for (t4 = J.get$iterator$ax(rest.contents.get$keys()); t4.moveNext$0();) |
|
t3.$indexSet(0, H.interceptedTypeCast(t4.get$current(t4), "$isSassString").text, restNodeForSpan); |
|
namedNodes.addAll$1(0, t3); |
|
} |
|
separator = C.ListSeparator_undecided; |
|
} else if (!!t4.$isSassList) { |
|
t3 = rest._list$_contents; |
|
C.JSArray_methods.addAll$1(t2, t3); |
|
if (positionalNodes != null) |
|
C.JSArray_methods.addAll$1(positionalNodes, P.List_List$filled(t3.length, restNodeForSpan, B.AstNode)); |
|
separator = rest.separator; |
|
if (!!rest.$isSassArgumentList) { |
|
rest._wereKeywordsAccessed = true; |
|
rest._keywords.forEach$1(0, new R._EvaluateVisitor__evaluateArguments_closure1(named, namedNodes, restNodeForSpan)); |
|
} |
|
} else { |
|
t2.push(rest); |
|
if (positionalNodes != null) |
|
positionalNodes.push(restNodeForSpan); |
|
separator = C.ListSeparator_undecided; |
|
} |
|
t3 = $arguments.keywordRest; |
|
if (t3 == null) |
|
return R._ArgumentResults$(t2, named, separator, namedNodes, positionalNodes); |
|
keywordRest = t3.accept$1(_this); |
|
keywordRestNodeForSpan = trackSpans ? _this._expressionNode$1(t3) : _null; |
|
if (keywordRest instanceof A.SassMap) { |
|
_this._addRestMap$1$3(named, keywordRest, t3, t1); |
|
if (namedNodes != null) { |
|
t1 = P.LinkedHashMap_LinkedHashMap$_empty(t6, B.AstNode); |
|
for (t3 = J.get$iterator$ax(keywordRest.contents.get$keys()); t3.moveNext$0();) |
|
t1.$indexSet(0, H.interceptedTypeCast(t3.get$current(t3), "$isSassString").text, keywordRestNodeForSpan); |
|
namedNodes.addAll$1(0, t1); |
|
} |
|
return R._ArgumentResults$(t2, named, separator, namedNodes, positionalNodes); |
|
} else |
|
throw H.wrapException(_this._evaluate$_exception$2("Variable keyword arguments must be a map (was " + H.S(keywordRest) + ").", t3.get$span())); |
|
}, |
|
_evaluateArguments$1: function($arguments) { |
|
return this._evaluateArguments$2$trackSpans($arguments, null); |
|
}, |
|
_evaluateMacroArguments$1: function(invocation) { |
|
var t3, positional, named, rest, keywordRest, _this = this, |
|
t1 = invocation.$arguments, |
|
t2 = t1.rest; |
|
if (t2 == null) |
|
return new S.Tuple2(t1.positional, t1.named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]); |
|
t3 = t1.positional; |
|
positional = H.setRuntimeTypeInfo(t3.slice(0), [H.getTypeArgumentByIndex(t3, 0)]); |
|
t3 = T.Expression; |
|
named = P.LinkedHashMap_LinkedHashMap$of(t1.named, P.String, t3); |
|
rest = t2.accept$1(_this); |
|
t2 = J.getInterceptor$(rest); |
|
if (!!t2.$isSassMap) |
|
_this._addRestMap$1$4(named, rest, invocation, new R._EvaluateVisitor__evaluateMacroArguments_closure(), t3); |
|
else if (!!t2.$isSassList) { |
|
t2 = rest._list$_contents; |
|
C.JSArray_methods.addAll$1(positional, new H.MappedListIterable(t2, new R._EvaluateVisitor__evaluateMacroArguments_closure0(), [H.getTypeArgumentByIndex(t2, 0), t3])); |
|
if (!!rest.$isSassArgumentList) { |
|
rest._wereKeywordsAccessed = true; |
|
rest._keywords.forEach$1(0, new R._EvaluateVisitor__evaluateMacroArguments_closure1(named)); |
|
} |
|
} else |
|
positional.push(new F.ValueExpression(rest, null)); |
|
t1 = t1.keywordRest; |
|
if (t1 == null) |
|
return new S.Tuple2(positional, named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]); |
|
keywordRest = t1.accept$1(_this); |
|
if (keywordRest instanceof A.SassMap) { |
|
_this._addRestMap$1$4(named, keywordRest, invocation, new R._EvaluateVisitor__evaluateMacroArguments_closure2(), t3); |
|
return new S.Tuple2(positional, named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]); |
|
} else |
|
throw H.wrapException(_this._evaluate$_exception$2("Variable keyword arguments must be a map (was " + H.S(keywordRest) + ").", invocation.span)); |
|
}, |
|
_addRestMap$1$4: function(values, map, nodeWithSpan, convert, $T) { |
|
var t1 = {}; |
|
t1.convert = convert; |
|
if (convert == null) |
|
t1.convert = new R._EvaluateVisitor__addRestMap_closure($T); |
|
map.contents.forEach$1(0, new R._EvaluateVisitor__addRestMap_closure0(t1, this, values, map, nodeWithSpan)); |
|
}, |
|
_addRestMap$1$3: function(values, map, nodeWithSpan, $T) { |
|
return this._addRestMap$1$4(values, map, nodeWithSpan, null, $T); |
|
}, |
|
_verifyArguments$4: function(positional, named, $arguments, nodeWithSpan) { |
|
return this._addExceptionSpan$2(nodeWithSpan, new R._EvaluateVisitor__verifyArguments_closure($arguments, positional, named)); |
|
}, |
|
visitSelectorExpression$1: function(node) { |
|
var t1 = this._styleRule; |
|
if (t1 == null) |
|
return C.C_SassNull; |
|
return t1.originalSelector.get$asSassList(); |
|
}, |
|
visitStringExpression$1: function(node) { |
|
var t1 = node.text.contents; |
|
return new D.SassString(new H.MappedListIterable(t1, new R._EvaluateVisitor_visitStringExpression_closure(this), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$0(0), node.hasQuotes); |
|
}, |
|
visitCssAtRule$1: function(node) { |
|
var t1, t2, t3, wasInKeyframes, wasInUnknownAtRule, _this = this; |
|
if (_this._declarationName != null) |
|
throw H.wrapException(_this._evaluate$_exception$2("At-rules may not be used within nested declarations.", node.span)); |
|
if (node.isChildless) { |
|
t1 = _this._evaluate$_parent; |
|
t2 = B.ModifiableCssNode; |
|
t3 = H.setRuntimeTypeInfo([], [t2]); |
|
t1.addChild$1(new U.ModifiableCssAtRule(node.name, node.value, true, node.span, new P.UnmodifiableListView(t3, [t2]), t3)); |
|
return; |
|
} |
|
wasInKeyframes = _this._inKeyframes; |
|
wasInUnknownAtRule = _this._inUnknownAtRule; |
|
t1 = node.name; |
|
if (B.unvendor(t1.get$value(t1)) === "keyframes") |
|
_this._inKeyframes = true; |
|
else |
|
_this._inUnknownAtRule = true; |
|
t2 = B.ModifiableCssNode; |
|
t3 = H.setRuntimeTypeInfo([], [t2]); |
|
_this._withParent$2$4$scopeWhen$through(new U.ModifiableCssAtRule(t1, node.value, false, node.span, new P.UnmodifiableListView(t3, [t2]), t3), new R._EvaluateVisitor_visitCssAtRule_closure(_this, node), false, new R._EvaluateVisitor_visitCssAtRule_closure0(), U.ModifiableCssAtRule, P.Null); |
|
_this._inUnknownAtRule = wasInUnknownAtRule; |
|
_this._inKeyframes = wasInKeyframes; |
|
}, |
|
visitCssComment$1: function(node) { |
|
var _this = this, |
|
t1 = _this._evaluate$_parent, |
|
t2 = _this._root; |
|
if (t1 == t2 && _this._endOfImports === J.get$length$asx(t2.children._collection$_source)) |
|
_this._endOfImports = _this._endOfImports + 1; |
|
_this._evaluate$_parent.addChild$1(new R.ModifiableCssComment(node.text, node.span)); |
|
}, |
|
visitCssDeclaration$1: function(node) { |
|
this._evaluate$_parent.addChild$1(L.ModifiableCssDeclaration$(node.name, node.value, node.span, node.valueSpanForMap)); |
|
}, |
|
visitCssImport$1: function(node) { |
|
var _this = this, |
|
modifiableNode = F.ModifiableCssImport$(node.url, node.span, node.media, node.supports), |
|
t1 = _this._evaluate$_parent, |
|
t2 = _this._root; |
|
if (t1 != t2) |
|
t1.addChild$1(modifiableNode); |
|
else if (_this._endOfImports === J.get$length$asx(t2.children._collection$_source)) { |
|
_this._root.addChild$1(modifiableNode); |
|
_this._endOfImports = _this._endOfImports + 1; |
|
} else { |
|
t1 = _this._outOfOrderImports; |
|
(t1 == null ? _this._outOfOrderImports = H.setRuntimeTypeInfo([], [F.ModifiableCssImport]) : t1).push(modifiableNode); |
|
} |
|
}, |
|
visitCssKeyframeBlock$1: function(node) { |
|
var t1 = B.ModifiableCssNode, |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
this._withParent$2$4$scopeWhen$through(new U.ModifiableCssKeyframeBlock(node.selector, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new R._EvaluateVisitor_visitCssKeyframeBlock_closure(this, node), false, new R._EvaluateVisitor_visitCssKeyframeBlock_closure0(), U.ModifiableCssKeyframeBlock, P.Null); |
|
}, |
|
visitCssMediaRule$1: function(node) { |
|
var t1, mergedQueries, _this = this; |
|
if (_this._declarationName != null) |
|
throw H.wrapException(_this._evaluate$_exception$2("Media rules may not be used within nested declarations.", node.span)); |
|
t1 = _this._mediaQueries; |
|
mergedQueries = t1 == null ? null : _this._mergeMediaQueries$2(t1, node.queries); |
|
t1 = mergedQueries == null; |
|
if (!t1 && mergedQueries.length === 0) |
|
return; |
|
t1 = t1 ? node.queries : mergedQueries; |
|
_this._withParent$2$4$scopeWhen$through(G.ModifiableCssMediaRule$(t1, node.span), new R._EvaluateVisitor_visitCssMediaRule_closure(_this, mergedQueries, node), false, new R._EvaluateVisitor_visitCssMediaRule_closure0(mergedQueries), G.ModifiableCssMediaRule, P.Null); |
|
}, |
|
visitCssStyleRule$1: function(node) { |
|
var t1, t2, t3, originalSelector, rule, oldAtRootExcludingStyleRule, _this = this; |
|
if (_this._declarationName != null) |
|
throw H.wrapException(_this._evaluate$_exception$2("Style rules may not be used within nested declarations.", node.span)); |
|
t1 = node.selector; |
|
t2 = t1.value; |
|
t3 = _this._styleRule; |
|
t3 = t3 == null ? null : t3.originalSelector; |
|
originalSelector = t2.resolveParentSelectors$2$implicitParent(t3, !_this._atRootExcludingStyleRule); |
|
rule = X.ModifiableCssStyleRule$(_this._extender.addSelector$3(originalSelector, t1.span, _this._mediaQueries), node.span, originalSelector); |
|
oldAtRootExcludingStyleRule = _this._atRootExcludingStyleRule; |
|
_this._atRootExcludingStyleRule = false; |
|
_this._withParent$2$4$scopeWhen$through(rule, new R._EvaluateVisitor_visitCssStyleRule_closure(_this, rule, node), false, new R._EvaluateVisitor_visitCssStyleRule_closure0(), X.ModifiableCssStyleRule, P.Null); |
|
_this._atRootExcludingStyleRule = oldAtRootExcludingStyleRule; |
|
if (!(_this._styleRule != null && !oldAtRootExcludingStyleRule)) { |
|
t1 = _this._evaluate$_parent.children; |
|
t1 = !t1.get$isEmpty(t1); |
|
} else |
|
t1 = false; |
|
if (t1) { |
|
t1 = _this._evaluate$_parent.children; |
|
t1.get$last(t1).isGroupEnd = true; |
|
} |
|
}, |
|
visitCssStylesheet$1: function(node) { |
|
var t1; |
|
for (t1 = J.get$iterator$ax(node.get$children()); t1.moveNext$0();) |
|
t1.get$current(t1).accept$1(this); |
|
}, |
|
visitCssSupportsRule$1: function(node) { |
|
var t1, t2, _this = this; |
|
if (_this._declarationName != null) |
|
throw H.wrapException(_this._evaluate$_exception$2("Supports rules may not be used within nested declarations.", node.span)); |
|
t1 = B.ModifiableCssNode; |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
_this._withParent$2$4$scopeWhen$through(new B.ModifiableCssSupportsRule(node.condition, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new R._EvaluateVisitor_visitCssSupportsRule_closure(_this, node), false, new R._EvaluateVisitor_visitCssSupportsRule_closure0(), B.ModifiableCssSupportsRule, P.Null); |
|
}, |
|
_handleReturn$1$2: function(list, callback) { |
|
var t1, _i, result; |
|
for (t1 = list.length, _i = 0; _i < list.length; list.length === t1 || (0, H.throwConcurrentModificationError)(list), ++_i) { |
|
result = callback.call$1(list[_i]); |
|
if (result != null) |
|
return result; |
|
} |
|
return; |
|
}, |
|
_handleReturn$2: function(list, callback) { |
|
return this._handleReturn$1$2(list, callback, null); |
|
}, |
|
_withEnvironment$1$2: function(environment, callback) { |
|
var result, |
|
oldEnvironment = this._evaluate$_environment; |
|
this._evaluate$_environment = environment; |
|
result = callback.call$0(); |
|
this._evaluate$_environment = oldEnvironment; |
|
return result; |
|
}, |
|
_withEnvironment$2: function(environment, callback) { |
|
return this._withEnvironment$1$2(environment, callback, null); |
|
}, |
|
_interpolationToValue$3$trim$warnForColor: function(interpolation, trim, warnForColor) { |
|
var result = this._performInterpolation$2$warnForColor(interpolation, warnForColor), |
|
t1 = trim ? B.trimAscii(result, true) : result; |
|
return new F.CssValue(t1, interpolation.span, [P.String]); |
|
}, |
|
_interpolationToValue$1: function(interpolation) { |
|
return this._interpolationToValue$3$trim$warnForColor(interpolation, false, false); |
|
}, |
|
_interpolationToValue$2$warnForColor: function(interpolation, warnForColor) { |
|
return this._interpolationToValue$3$trim$warnForColor(interpolation, false, warnForColor); |
|
}, |
|
_performInterpolation$2$warnForColor: function(interpolation, warnForColor) { |
|
var t1 = interpolation.contents; |
|
return new H.MappedListIterable(t1, new R._EvaluateVisitor__performInterpolation_closure(this, warnForColor), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$0(0); |
|
}, |
|
_performInterpolation$1: function(interpolation) { |
|
return this._performInterpolation$2$warnForColor(interpolation, false); |
|
}, |
|
_evaluate$_serialize$3$quote: function(value, nodeWithSpan, quote) { |
|
return this._addExceptionSpan$2(nodeWithSpan, new R._EvaluateVisitor__serialize_closure(value, quote)); |
|
}, |
|
_evaluate$_serialize$2: function(value, nodeWithSpan) { |
|
return this._evaluate$_serialize$3$quote(value, nodeWithSpan, true); |
|
}, |
|
_expressionNode$1: function(expression) { |
|
if (!this._sourceMap) |
|
return; |
|
if (expression instanceof S.VariableExpression) |
|
return this._evaluate$_environment.getVariableNode$2$namespace(expression.name, expression.namespace); |
|
else |
|
return expression; |
|
}, |
|
_withParent$2$4$scopeWhen$through: function(node, callback, scopeWhen, through, $S, $T) { |
|
var oldParent, result, _this = this; |
|
_this._addChild$2$through(node, through); |
|
oldParent = _this._evaluate$_parent; |
|
_this._evaluate$_parent = node; |
|
result = _this._evaluate$_environment.scope$1$2$when(callback, scopeWhen, $T); |
|
_this._evaluate$_parent = oldParent; |
|
return result; |
|
}, |
|
_withParent$2$3$scopeWhen: function(node, callback, scopeWhen, $S, $T) { |
|
return this._withParent$2$4$scopeWhen$through(node, callback, scopeWhen, null, $S, $T); |
|
}, |
|
_withParent$2$2: function(node, callback, $S, $T) { |
|
return this._withParent$2$4$scopeWhen$through(node, callback, true, null, $S, $T); |
|
}, |
|
_addChild$2$through: function(node, through) { |
|
var grandparent, |
|
$parent = this._evaluate$_parent; |
|
if (through != null) { |
|
for (; through.call$1($parent);) |
|
$parent = $parent._parent; |
|
if ($parent.get$hasFollowingSibling()) { |
|
grandparent = $parent._parent; |
|
$parent = $parent.copyWithoutChildren$0(); |
|
grandparent.addChild$1($parent); |
|
} |
|
} |
|
$parent.addChild$1(node); |
|
}, |
|
_addChild$1: function(node) { |
|
return this._addChild$2$through(node, null); |
|
}, |
|
_withStyleRule$1$2: function(rule, callback) { |
|
var result, |
|
oldRule = this._styleRule; |
|
this._styleRule = rule; |
|
result = callback.call$0(); |
|
this._styleRule = oldRule; |
|
return result; |
|
}, |
|
_withStyleRule$2: function(rule, callback) { |
|
return this._withStyleRule$1$2(rule, callback, null); |
|
}, |
|
_withMediaQueries$1$2: function(queries, callback) { |
|
var result, |
|
oldMediaQueries = this._mediaQueries; |
|
this._mediaQueries = queries; |
|
result = callback.call$0(); |
|
this._mediaQueries = oldMediaQueries; |
|
return result; |
|
}, |
|
_withMediaQueries$2: function(queries, callback) { |
|
return this._withMediaQueries$1$2(queries, callback, null); |
|
}, |
|
_withStackFrame$1$3: function(member, nodeWithSpan, callback) { |
|
var oldMember, result, _this = this, |
|
t1 = _this._stack; |
|
t1.push(new S.Tuple2(_this._member, nodeWithSpan, [P.String, B.AstNode])); |
|
oldMember = _this._member; |
|
_this._member = member; |
|
result = callback.call$0(); |
|
_this._member = oldMember; |
|
t1.pop(); |
|
return result; |
|
}, |
|
_withStackFrame$3: function(member, nodeWithSpan, callback) { |
|
return this._withStackFrame$1$3(member, nodeWithSpan, callback, null); |
|
}, |
|
_stackFrame$2: function(member, span) { |
|
var url = span.file.url; |
|
return B.frameForSpan(span, member, url != null && this._importCache != null ? this._importCache.humanize$1(url) : url); |
|
}, |
|
_stackTrace$1: function(span) { |
|
var t3, _this = this, |
|
t1 = A.Frame, |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
for (t3 = _this._stack, t3 = new H.MappedListIterable(t3, new R._EvaluateVisitor__stackTrace_closure(_this), [H.getTypeArgumentByIndex(t3, 0), t1]), t3 = new H.ListIterator(t3, t3.get$length(t3)); t3.moveNext$0();) |
|
t2.push(t3.__internal$_current); |
|
if (span != null) |
|
t2.push(_this._stackFrame$2(_this._member, span)); |
|
return new Y.Trace(P.List_List$unmodifiable(new H.ReversedListIterable(t2, [H.getTypeArgumentByIndex(t2, 0)]), t1), new P._StringStackTrace(null)); |
|
}, |
|
_stackTrace$0: function() { |
|
return this._stackTrace$1(null); |
|
}, |
|
_warn$3$deprecation: function(message, span, deprecation) { |
|
return this._logger.warn$4$deprecation$span$trace(message, deprecation, span, this._stackTrace$1(span)); |
|
}, |
|
_warn$2: function(message, span) { |
|
return this._warn$3$deprecation(message, span, false); |
|
}, |
|
_evaluate$_exception$2: function(message, span) { |
|
var t1 = span == null ? C.JSArray_methods.get$last(this._stack).item2.get$span() : span; |
|
return new E.SassRuntimeException(this._stackTrace$1(span), message, t1); |
|
}, |
|
_evaluate$_exception$1: function(message) { |
|
return this._evaluate$_exception$2(message, null); |
|
}, |
|
_multiSpanException$3: function(message, primaryLabel, secondaryLabels) { |
|
var t1 = C.JSArray_methods.get$last(this._stack).item2.get$span(); |
|
return new E.MultiSpanSassRuntimeException(this._stackTrace$0(), primaryLabel, H.ConstantMap_ConstantMap$from(secondaryLabels, Y.FileSpan, P.String), message, t1); |
|
}, |
|
_adjustParseError$1$2: function(nodeWithSpan, callback) { |
|
var error, errorText, span, syntheticFile, syntheticSpan, t1, exception, t2, t3, t4, t5, _null = null; |
|
try { |
|
t1 = callback.call$0(); |
|
return t1; |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (t1 instanceof E.SassFormatException) { |
|
error = t1; |
|
t1 = error; |
|
errorText = P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(G.SourceSpanException.prototype.get$span.call(t1).file._decodedChars, 0, _null), 0, _null); |
|
span = nodeWithSpan.get$span(); |
|
t1 = span; |
|
t2 = span; |
|
syntheticFile = C.JSString_methods.replaceRange$3(P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(span.file._decodedChars, 0, _null), 0, _null), Y.FileLocation$_(t1.file, t1._start).offset, Y.FileLocation$_(t2.file, t2._file$_end).offset, errorText); |
|
t2 = syntheticFile; |
|
t1 = span.file.url; |
|
t2.toString; |
|
t2 = new H.CodeUnits(t2); |
|
t3 = H.setRuntimeTypeInfo([0], [P.int]); |
|
t3 = new Y.SourceFile(t1, t3, new Uint32Array(H._ensureNativeList(t2.toList$0(t2)))); |
|
t3.SourceFile$decoded$2$url(t2, t1); |
|
t1 = span; |
|
t1 = Y.FileLocation$_(t1.file, t1._start); |
|
t2 = error; |
|
t2 = G.SourceSpanException.prototype.get$span.call(t2); |
|
t2 = Y.FileLocation$_(t2.file, t2._start); |
|
t4 = span; |
|
t4 = Y.FileLocation$_(t4.file, t4._start); |
|
t5 = error; |
|
t5 = G.SourceSpanException.prototype.get$span.call(t5); |
|
syntheticSpan = t3.span$2(t1.offset + t2.offset, t4.offset + Y.FileLocation$_(t5.file, t5._file$_end).offset); |
|
throw H.wrapException(this._evaluate$_exception$2(error._span_exception$_message, syntheticSpan)); |
|
} else |
|
throw exception; |
|
} |
|
}, |
|
_adjustParseError$2: function(nodeWithSpan, callback) { |
|
return this._adjustParseError$1$2(nodeWithSpan, callback, null); |
|
}, |
|
_addExceptionSpan$1$2: function(nodeWithSpan, callback) { |
|
var error, error0, t1, exception, t2; |
|
try { |
|
t1 = callback.call$0(); |
|
return t1; |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
t2 = J.getInterceptor$(t1); |
|
if (!!t2.$isMultiSpanSassScriptException) { |
|
error = t1; |
|
throw H.wrapException(E.MultiSpanSassRuntimeException$(error.message, nodeWithSpan.get$span(), error.primaryLabel, error.secondarySpans, this._stackTrace$1(nodeWithSpan.get$span()))); |
|
} else if (!!t2.$isSassScriptException) { |
|
error0 = t1; |
|
throw H.wrapException(this._evaluate$_exception$2(error0.message, nodeWithSpan.get$span())); |
|
} else |
|
throw exception; |
|
} |
|
}, |
|
_addExceptionSpan$2: function(nodeWithSpan, callback) { |
|
return this._addExceptionSpan$1$2(nodeWithSpan, callback, null); |
|
}, |
|
_addErrorSpan$1$2: function(nodeWithSpan, callback) { |
|
var error, t1, exception; |
|
try { |
|
t1 = callback.call$0(); |
|
return t1; |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
if (!!J.getInterceptor$(t1).$isSassRuntimeException) { |
|
error = t1; |
|
t1 = error.get$span(); |
|
if (!C.JSString_methods.startsWith$1(P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._start, t1._file$_end), 0, null), "@error")) |
|
throw exception; |
|
throw H.wrapException(E.SassRuntimeException$(error._span_exception$_message, nodeWithSpan.get$span(), this._stackTrace$0())); |
|
} else |
|
throw exception; |
|
} |
|
}, |
|
_addErrorSpan$2: function(nodeWithSpan, callback) { |
|
return this._addErrorSpan$1$2(nodeWithSpan, callback, null); |
|
} |
|
}; |
|
R._EvaluateVisitor_closure.prototype = { |
|
call$1: function($arguments) { |
|
var module, t2, |
|
t1 = J.getInterceptor$asx($arguments), |
|
variable = t1.$index($arguments, 0).assertString$1("name"); |
|
t1 = t1.$index($arguments, 1).get$realNull(); |
|
module = t1 == null ? null : t1.assertString$1("module"); |
|
t1 = this.$this._evaluate$_environment; |
|
t2 = variable.text; |
|
t2.toString; |
|
t2 = H.stringReplaceAllUnchecked(t2, "_", "-"); |
|
return t1.globalVariableExists$2$namespace(t2, module == null ? null : module.text) ? C.SassBoolean_true : C.SassBoolean_false; |
|
}, |
|
$signature: 5 |
|
}; |
|
R._EvaluateVisitor_closure0.prototype = { |
|
call$1: function($arguments) { |
|
var variable = J.$index$asx($arguments, 0).assertString$1("name"), |
|
t1 = this.$this._evaluate$_environment, |
|
t2 = variable.text; |
|
t2.toString; |
|
return t1.getVariable$1(H.stringReplaceAllUnchecked(t2, "_", "-")) != null ? C.SassBoolean_true : C.SassBoolean_false; |
|
}, |
|
$signature: 5 |
|
}; |
|
R._EvaluateVisitor_closure1.prototype = { |
|
call$1: function($arguments) { |
|
var module, t2, t3, t4, |
|
t1 = J.getInterceptor$asx($arguments), |
|
variable = t1.$index($arguments, 0).assertString$1("name"); |
|
t1 = t1.$index($arguments, 1).get$realNull(); |
|
module = t1 == null ? null : t1.assertString$1("module"); |
|
t1 = this.$this; |
|
t2 = t1._evaluate$_environment; |
|
t3 = variable.text; |
|
t3.toString; |
|
t4 = H.stringReplaceAllUnchecked(t3, "_", "-"); |
|
return t2.getFunction$2$namespace(t4, module == null ? null : module.text) != null || t1._builtInFunctions.containsKey$1(t3) ? C.SassBoolean_true : C.SassBoolean_false; |
|
}, |
|
$signature: 5 |
|
}; |
|
R._EvaluateVisitor_closure2.prototype = { |
|
call$1: function($arguments) { |
|
var module, t2, |
|
t1 = J.getInterceptor$asx($arguments), |
|
variable = t1.$index($arguments, 0).assertString$1("name"); |
|
t1 = t1.$index($arguments, 1).get$realNull(); |
|
module = t1 == null ? null : t1.assertString$1("module"); |
|
t1 = this.$this._evaluate$_environment; |
|
t2 = variable.text; |
|
t2.toString; |
|
t2 = H.stringReplaceAllUnchecked(t2, "_", "-"); |
|
return t1.getMixin$2$namespace(t2, module == null ? null : module.text) != null ? C.SassBoolean_true : C.SassBoolean_false; |
|
}, |
|
$signature: 5 |
|
}; |
|
R._EvaluateVisitor_closure3.prototype = { |
|
call$1: function($arguments) { |
|
var t1 = this.$this._evaluate$_environment; |
|
if (!t1._inMixin) |
|
throw H.wrapException(E.SassScriptException$("content-exists() may only be called within a mixin.")); |
|
return t1._content != null ? C.SassBoolean_true : C.SassBoolean_false; |
|
}, |
|
$signature: 5 |
|
}; |
|
R._EvaluateVisitor_closure4.prototype = { |
|
call$1: function($arguments) { |
|
var t2, t3, t4, |
|
t1 = J.$index$asx($arguments, 0).assertString$1("module").text, |
|
module = this.$this._evaluate$_environment._environment$_modules.$index(0, t1); |
|
if (module == null) |
|
throw H.wrapException('There is no module with namespace "' + H.S(t1) + '".'); |
|
t1 = F.Value; |
|
t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1); |
|
for (t3 = module.get$variables().get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) { |
|
t4 = t3.get$current(t3); |
|
t2.$indexSet(0, new D.SassString(t4.key, true), t4.value); |
|
} |
|
return new A.SassMap(H.ConstantMap_ConstantMap$from(t2, t1, t1)); |
|
}, |
|
$signature: 9 |
|
}; |
|
R._EvaluateVisitor_closure5.prototype = { |
|
call$1: function($arguments) { |
|
var t2, t3, t4, |
|
t1 = J.$index$asx($arguments, 0).assertString$1("module").text, |
|
module = this.$this._evaluate$_environment._environment$_modules.$index(0, t1); |
|
if (module == null) |
|
throw H.wrapException('There is no module with namespace "' + H.S(t1) + '".'); |
|
t1 = F.Value; |
|
t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1); |
|
for (t3 = module.get$functions(module).get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) { |
|
t4 = t3.get$current(t3); |
|
t2.$indexSet(0, new D.SassString(t4.key, true), new F.SassFunction(t4.value)); |
|
} |
|
return new A.SassMap(H.ConstantMap_ConstantMap$from(t2, t1, t1)); |
|
}, |
|
$signature: 9 |
|
}; |
|
R._EvaluateVisitor_closure6.prototype = { |
|
call$1: function($arguments) { |
|
var module, callable, |
|
t1 = J.getInterceptor$asx($arguments), |
|
$name = t1.$index($arguments, 0).assertString$1("name"), |
|
css = t1.$index($arguments, 1).get$isTruthy(); |
|
t1 = t1.$index($arguments, 2).get$realNull(); |
|
module = t1 == null ? null : t1.assertString$1("module"); |
|
if (css && module != null) |
|
throw H.wrapException("$css and $module may not both be passed at once."); |
|
if (css) |
|
callable = new L.PlainCssCallable($name.text); |
|
else { |
|
t1 = this.$this; |
|
callable = t1._addExceptionSpan$2(t1._callableNode, new R._EvaluateVisitor__closure3(t1, $name, module)); |
|
} |
|
if (callable != null) |
|
return new F.SassFunction(callable); |
|
throw H.wrapException("Function not found: " + $name.toString$0(0)); |
|
}, |
|
$signature: 32 |
|
}; |
|
R._EvaluateVisitor__closure3.prototype = { |
|
call$0: function() { |
|
var t2, |
|
t1 = this.name.text; |
|
t1.toString; |
|
t1 = H.stringReplaceAllUnchecked(t1, "_", "-"); |
|
t2 = this.module; |
|
t2 = t2 == null ? null : t2.text; |
|
return this.$this._getFunction$2$namespace(t1, t2); |
|
} |
|
}; |
|
R._EvaluateVisitor_closure7.prototype = { |
|
call$1: function($arguments) { |
|
var t2, t3, t4, t5, t6, t7, t8, invocation, callable, |
|
t1 = J.getInterceptor$asx($arguments), |
|
$function = t1.$index($arguments, 0), |
|
args = H.interceptedTypeCast(t1.$index($arguments, 1), "$isSassArgumentList"); |
|
t1 = T.Expression; |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
t3 = P.String; |
|
t4 = this.$this; |
|
t5 = t4._callableNode.get$span(); |
|
t6 = t4._callableNode.get$span(); |
|
args._wereKeywordsAccessed = true; |
|
t7 = args._keywords; |
|
if (t7.get$isEmpty(t7)) |
|
t7 = null; |
|
else { |
|
args._wereKeywordsAccessed = true; |
|
t8 = F.Value; |
|
t8 = new F.ValueExpression(new A.SassMap(H.ConstantMap_ConstantMap$from(Y.mapMap(t7, new R._EvaluateVisitor__closure1(), new R._EvaluateVisitor__closure2(), t3, t8, t8, t8), t8, t8)), t4._callableNode.get$span()); |
|
t7 = t8; |
|
} |
|
invocation = X.ArgumentInvocation$(t2, P.LinkedHashMap_LinkedHashMap$_empty(t3, t1), t5, t7, new F.ValueExpression(args, t6)); |
|
if ($function instanceof D.SassString) { |
|
N.warn("Passing a string to call() is deprecated and will be illegal\nin Dart Sass 2.0.0. Use call(get-function(" + $function.toString$0(0) + ")) instead.", true); |
|
return t4.visitFunctionExpression$1(new F.FunctionExpression(null, X.Interpolation$(H.setRuntimeTypeInfo([$function.text], [P.Object]), t4._callableNode.get$span()), invocation, t4._callableNode.get$span())); |
|
} |
|
callable = $function.assertFunction$1("function").callable; |
|
if (!!J.getInterceptor$(callable).$isCallable) |
|
return t4._runFunctionCallable$3(invocation, callable, t4._callableNode); |
|
else |
|
throw H.wrapException(E.SassScriptException$("The function " + H.S(callable.get$name()) + " is asynchronous.\nThis is probably caused by a bug in a Sass plugin.")); |
|
}, |
|
$signature: 0 |
|
}; |
|
R._EvaluateVisitor__closure1.prototype = { |
|
call$2: function(key, _) { |
|
return new D.SassString(key, false); |
|
} |
|
}; |
|
R._EvaluateVisitor__closure2.prototype = { |
|
call$2: function(_, value) { |
|
return value; |
|
} |
|
}; |
|
R._EvaluateVisitor_closure8.prototype = { |
|
call$1: function($arguments) { |
|
var withMap, values, configuration, t2, t3, |
|
t1 = J.getInterceptor$asx($arguments), |
|
url = P.Uri_parse(t1.$index($arguments, 0).assertString$1("module").text); |
|
t1 = t1.$index($arguments, 1).get$realNull(); |
|
t1 = t1 == null ? null : t1.assertMap$1("with"); |
|
withMap = t1 == null ? null : t1.contents; |
|
if (withMap != null) { |
|
values = P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.ConfiguredValue); |
|
t1 = this.$this; |
|
withMap.forEach$1(0, new R._EvaluateVisitor__closure(values, t1._callableNode.get$span())); |
|
configuration = new A.Configuration(values, t1._callableNode, false); |
|
} else |
|
configuration = C.Configuration_Map_empty_null_true; |
|
t1 = this.$this; |
|
t2 = t1._callableNode; |
|
t3 = t2.get$span(); |
|
t3 = t3 == null ? null : t3.file.url; |
|
t1._loadModule$7$baseUrl$configuration$namesInErrors(url, "load-css()", t2, new R._EvaluateVisitor__closure0(t1), t3, configuration, true); |
|
t1._assertConfigurationIsEmpty$2$nameInError(configuration, true); |
|
return; |
|
}, |
|
$signature: 23 |
|
}; |
|
R._EvaluateVisitor__closure.prototype = { |
|
call$2: function(variable, value) { |
|
var $name, |
|
t1 = variable.assertString$1("with key").text; |
|
t1.toString; |
|
$name = H.stringReplaceAllUnchecked(t1, "_", "-"); |
|
t1 = this.values; |
|
if (t1.containsKey$1($name)) |
|
throw H.wrapException("The variable $" + $name + " was configured twice."); |
|
t1.$indexSet(0, $name, new Z.ConfiguredValue(value, this.span, null)); |
|
} |
|
}; |
|
R._EvaluateVisitor__closure0.prototype = { |
|
call$1: function(module) { |
|
var t1 = this.$this; |
|
return t1._combineCss$2$clone(module, true).accept$1(t1); |
|
} |
|
}; |
|
R._EvaluateVisitor_run_closure.prototype = { |
|
call$0: function() { |
|
var _this = this, |
|
t1 = _this.node, |
|
t2 = t1.span, |
|
url = t2 == null ? null : t2.file.url; |
|
if (url != null) { |
|
t2 = _this.$this; |
|
t2._activeModules.$indexSet(0, url, null); |
|
if (t2._nodeImporter != null) |
|
if (url.get$scheme() === "file") |
|
t2._includedFiles.add$1(0, $.$get$context().style.pathFromUri$1(M._parseUri(url))); |
|
else if (url.toString$0(0) !== "stdin") |
|
t2._includedFiles.add$1(0, url.toString$0(0)); |
|
} |
|
t2 = _this.$this; |
|
return new E.EvaluateResult(t2._combineCss$1(t2._execute$2(_this.importer, t1)), t2._includedFiles); |
|
} |
|
}; |
|
R._EvaluateVisitor_runExpression_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
t2 = this.expression; |
|
return t1._withFakeStylesheet$3(this.importer, t2, new R._EvaluateVisitor_runExpression__closure(t1, t2)); |
|
} |
|
}; |
|
R._EvaluateVisitor_runExpression__closure.prototype = { |
|
call$0: function() { |
|
return this.expression.accept$1(this.$this); |
|
} |
|
}; |
|
R._EvaluateVisitor_runStatement_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
t2 = this.statement; |
|
return t1._withFakeStylesheet$3(this.importer, t2, new R._EvaluateVisitor_runStatement__closure(t1, t2)); |
|
} |
|
}; |
|
R._EvaluateVisitor_runStatement__closure.prototype = { |
|
call$0: function() { |
|
return this.statement.accept$1(this.$this); |
|
} |
|
}; |
|
R._EvaluateVisitor__withWarnCallback_closure.prototype = { |
|
call$2: function(message, deprecation) { |
|
var t1 = this.$this, |
|
t2 = t1._importSpan; |
|
return t1._warn$3$deprecation(message, t2 == null ? t1._callableNode.get$span() : t2, deprecation); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2 |
|
}; |
|
R._EvaluateVisitor__loadModule_closure.prototype = { |
|
call$0: function() { |
|
var module, error, error0, error1, error2, message, previousLoad, exception, _this = this, |
|
t1 = _this.$this, |
|
t2 = _this.nodeWithSpan, |
|
result = t1._loadStylesheet$3$baseUrl(J.toString$0$(_this.url), t2.get$span(), _this.baseUrl), |
|
importer = result.item1, |
|
stylesheet = result.item2, |
|
canonicalUrl = stylesheet.span.file.url, |
|
t3 = t1._activeModules; |
|
if (t3.containsKey$1(canonicalUrl)) { |
|
message = _this.namesInErrors ? "Module loop: " + H.S($.$get$context().prettyUri$1(canonicalUrl)) + " is already being loaded." : "Module loop: this module is already being loaded."; |
|
previousLoad = t3.$index(0, canonicalUrl); |
|
throw H.wrapException(previousLoad == null ? t1._evaluate$_exception$1(message) : t1._multiSpanException$3(message, "new load", P.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(), "original load"], Y.FileSpan, P.String))); |
|
} |
|
t3.$indexSet(0, canonicalUrl, t2); |
|
module = null; |
|
try { |
|
module = t1._execute$5$configuration$namesInErrors$nodeWithSpan(importer, stylesheet, _this.configuration, _this.namesInErrors, t2); |
|
} finally { |
|
t3.remove$1(0, canonicalUrl); |
|
} |
|
try { |
|
_this.callback.call$1(module); |
|
} catch (exception) { |
|
t2 = H.unwrapException(exception); |
|
t3 = J.getInterceptor$(t2); |
|
if (!!t3.$isSassRuntimeException) |
|
throw exception; |
|
else if (!!t3.$isMultiSpanSassException) { |
|
error = t2; |
|
throw H.wrapException(E.MultiSpanSassRuntimeException$(error._span_exception$_message, error.get$span(), error.primaryLabel, error.secondarySpans, t1._stackTrace$1(error.get$span()))); |
|
} else if (!!t3.$isSassException) { |
|
error0 = t2; |
|
throw H.wrapException(t1._evaluate$_exception$2(error0._span_exception$_message, error0.get$span())); |
|
} else if (!!t3.$isMultiSpanSassScriptException) { |
|
error1 = t2; |
|
throw H.wrapException(t1._multiSpanException$3(error1.message, error1.primaryLabel, error1.secondarySpans)); |
|
} else if (!!t3.$isSassScriptException) { |
|
error2 = t2; |
|
throw H.wrapException(t1._evaluate$_exception$1(error2.message)); |
|
} else |
|
throw exception; |
|
} |
|
} |
|
}; |
|
R._EvaluateVisitor__execute_closure.prototype = { |
|
call$0: function() { |
|
var t2, t3, t4, t5, css, _this = this, |
|
t1 = _this.$this, |
|
oldImporter = t1._importer, |
|
oldStylesheet = t1._stylesheet, |
|
oldRoot = t1._root, |
|
oldParent = t1._evaluate$_parent, |
|
oldEndOfImports = t1._endOfImports, |
|
oldOutOfOrderImports = t1._outOfOrderImports, |
|
oldExtender = t1._extender, |
|
oldStyleRule = t1._styleRule, |
|
oldMediaQueries = t1._mediaQueries, |
|
oldDeclarationName = t1._declarationName, |
|
oldInUnknownAtRule = t1._inUnknownAtRule, |
|
oldAtRootExcludingStyleRule = t1._atRootExcludingStyleRule, |
|
oldInKeyframes = t1._inKeyframes, |
|
oldConfiguration = t1._configuration; |
|
t1._importer = _this.importer; |
|
t2 = t1._stylesheet = _this.stylesheet; |
|
t3 = t2.span; |
|
t4 = B.ModifiableCssNode; |
|
t5 = H.setRuntimeTypeInfo([], [t4]); |
|
t1._evaluate$_parent = t1._root = new V.ModifiableCssStylesheet(t3, new P.UnmodifiableListView(t5, [t4]), t5); |
|
t1._endOfImports = 0; |
|
t1._outOfOrderImports = null; |
|
t1._extender = _this.extender; |
|
t1._declarationName = t1._mediaQueries = t1._styleRule = null; |
|
t1._inKeyframes = t1._atRootExcludingStyleRule = t1._inUnknownAtRule = false; |
|
t4 = _this.configuration; |
|
if (t4 != null) |
|
t1._configuration = t4; |
|
t1.visitStylesheet$1(t2); |
|
css = t1._outOfOrderImports == null ? t1._root : new V.CssStylesheet(new P.UnmodifiableListView(t1._addOutOfOrderImports$0(), [B.CssNode]), t3); |
|
_this._box_0.css = css; |
|
t1._importer = oldImporter; |
|
t1._stylesheet = oldStylesheet; |
|
t1._root = oldRoot; |
|
t1._evaluate$_parent = oldParent; |
|
t1._endOfImports = oldEndOfImports; |
|
t1._outOfOrderImports = oldOutOfOrderImports; |
|
t1._extender = oldExtender; |
|
t1._styleRule = oldStyleRule; |
|
t1._mediaQueries = oldMediaQueries; |
|
t1._declarationName = oldDeclarationName; |
|
t1._inUnknownAtRule = oldInUnknownAtRule; |
|
t1._atRootExcludingStyleRule = oldAtRootExcludingStyleRule; |
|
t1._inKeyframes = oldInKeyframes; |
|
t1._configuration = oldConfiguration; |
|
} |
|
}; |
|
R._EvaluateVisitor__combineCss_closure.prototype = { |
|
call$1: function(module) { |
|
return module.get$transitivelyContainsCss(); |
|
} |
|
}; |
|
R._EvaluateVisitor__combineCss_closure0.prototype = { |
|
call$1: function(target) { |
|
return !this.selectors.contains$1(0, target); |
|
} |
|
}; |
|
R._EvaluateVisitor__combineCss_closure1.prototype = { |
|
call$1: function(module) { |
|
return module.cloneCss$0(); |
|
} |
|
}; |
|
R._EvaluateVisitor__extendModules_closure.prototype = { |
|
call$1: function(target) { |
|
return !this.originalSelectors.contains$1(0, target); |
|
} |
|
}; |
|
R._EvaluateVisitor__extendModules_closure0.prototype = { |
|
call$0: function() { |
|
return H.setRuntimeTypeInfo([], [F.Extender]); |
|
} |
|
}; |
|
R._EvaluateVisitor__topologicalModules_visitModule.prototype = { |
|
call$1: function(module) { |
|
var t1, t2, t3, _i, upstream; |
|
for (t1 = module.get$upstream(), t2 = t1.length, t3 = this.seen, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { |
|
upstream = t1[_i]; |
|
if (upstream.get$transitivelyContainsCss() && t3.add$1(0, upstream)) |
|
this.call$1(upstream); |
|
} |
|
this.sorted.addFirst$1(module); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitAtRootRule_closure.prototype = { |
|
call$0: function() { |
|
var t1 = S.SpanScanner$(this.resolved, null); |
|
return new V.AtRootQueryParser(t1, this.$this._logger).parse$0(); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitAtRootRule_closure0.prototype = { |
|
call$0: function() { |
|
var t1, t2, t3, _i; |
|
for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i) |
|
t1[_i].accept$1(t3); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitAtRootRule_closure1.prototype = { |
|
call$0: function() { |
|
var t1, t2, t3, _i; |
|
for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i) |
|
t1[_i].accept$1(t3); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
R._EvaluateVisitor__scopeForAtRoot_closure.prototype = { |
|
call$1: function(callback) { |
|
var t1 = this.$this, |
|
oldParent = t1._evaluate$_parent; |
|
t1._evaluate$_parent = this.newParent; |
|
t1._evaluate$_environment.scope$1$2$when(callback, this.node.hasDeclarations, -1); |
|
t1._evaluate$_parent = oldParent; |
|
} |
|
}; |
|
R._EvaluateVisitor__scopeForAtRoot_closure0.prototype = { |
|
call$1: function(callback) { |
|
var t1 = this.$this, |
|
oldAtRootExcludingStyleRule = t1._atRootExcludingStyleRule; |
|
t1._atRootExcludingStyleRule = true; |
|
this.innerScope.call$1(callback); |
|
t1._atRootExcludingStyleRule = oldAtRootExcludingStyleRule; |
|
} |
|
}; |
|
R._EvaluateVisitor__scopeForAtRoot_closure1.prototype = { |
|
call$1: function(callback) { |
|
return this.$this._withMediaQueries$2(null, new R._EvaluateVisitor__scopeForAtRoot__closure(this.innerScope, callback)); |
|
} |
|
}; |
|
R._EvaluateVisitor__scopeForAtRoot__closure.prototype = { |
|
call$0: function() { |
|
return this.innerScope.call$1(this.callback); |
|
} |
|
}; |
|
R._EvaluateVisitor__scopeForAtRoot_closure2.prototype = { |
|
call$1: function(callback) { |
|
var t1 = this.$this, |
|
wasInKeyframes = t1._inKeyframes; |
|
t1._inKeyframes = false; |
|
this.innerScope.call$1(callback); |
|
t1._inKeyframes = wasInKeyframes; |
|
} |
|
}; |
|
R._EvaluateVisitor__scopeForAtRoot_closure3.prototype = { |
|
call$1: function($parent) { |
|
return !!J.getInterceptor$($parent).$isCssAtRule; |
|
} |
|
}; |
|
R._EvaluateVisitor__scopeForAtRoot_closure4.prototype = { |
|
call$1: function(callback) { |
|
var t1 = this.$this, |
|
wasInUnknownAtRule = t1._inUnknownAtRule; |
|
t1._inUnknownAtRule = false; |
|
this.innerScope.call$1(callback); |
|
t1._inUnknownAtRule = wasInUnknownAtRule; |
|
} |
|
}; |
|
R._EvaluateVisitor_visitContentRule_closure.prototype = { |
|
call$0: function() { |
|
var t1, t2, t3, _i; |
|
for (t1 = this.content.declaration.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i) |
|
t1[_i].accept$1(t3); |
|
return; |
|
} |
|
}; |
|
R._EvaluateVisitor_visitDeclaration_closure.prototype = { |
|
call$0: function() { |
|
var t1, t2, t3, _i; |
|
for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i) |
|
t1[_i].accept$1(t3); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitEachRule_closure.prototype = { |
|
call$1: function(value) { |
|
return this.$this._evaluate$_environment.setLocalVariable$3(C.JSArray_methods.get$first(this.node.variables), value.withoutSlash$0(), this.nodeWithSpan); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitEachRule_closure0.prototype = { |
|
call$1: function(value) { |
|
return this.$this._setMultipleVariables$3(this.node.variables, value, this.nodeWithSpan); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitEachRule_closure1.prototype = { |
|
call$0: function() { |
|
var _this = this, |
|
t1 = _this.$this; |
|
return t1._handleReturn$2(_this.list.get$asList(), new R._EvaluateVisitor_visitEachRule__closure(t1, _this.setVariables, _this.node)); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitEachRule__closure.prototype = { |
|
call$1: function(element) { |
|
var t1; |
|
this.setVariables.call$1(element); |
|
t1 = this.$this; |
|
return t1._handleReturn$2(this.node.children, new R._EvaluateVisitor_visitEachRule___closure(t1)); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitEachRule___closure.prototype = { |
|
call$1: function(child) { |
|
return child.accept$1(this.$this); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitExtendRule_closure.prototype = { |
|
call$0: function() { |
|
return D.SelectorList_SelectorList$parse(B.trimAscii(this.targetText.value, true), false, true, this.$this._logger); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitAtRule_closure.prototype = { |
|
call$0: function() { |
|
var t3, _i, |
|
t1 = this.$this, |
|
t2 = t1._styleRule; |
|
if (!(t2 != null && !t1._atRootExcludingStyleRule) || t1._inKeyframes) |
|
for (t2 = this.node.children, t3 = t2.length, _i = 0; _i < t3; ++_i) |
|
t2[_i].accept$1(t1); |
|
else |
|
t1._withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new R._EvaluateVisitor_visitAtRule__closure(t1, this.node), false, X.ModifiableCssStyleRule, P.Null); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitAtRule__closure.prototype = { |
|
call$0: function() { |
|
var t1, t2, t3, _i; |
|
for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i) |
|
t1[_i].accept$1(t3); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitAtRule_closure0.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
R._EvaluateVisitor_visitForRule_closure.prototype = { |
|
call$0: function() { |
|
return this.node.from.accept$1(this.$this).assertNumber$0(); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitForRule_closure0.prototype = { |
|
call$0: function() { |
|
return this.node.to.accept$1(this.$this).assertNumber$0(); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitForRule_closure1.prototype = { |
|
call$0: function() { |
|
var t1 = this.toNumber, |
|
t2 = t1.numeratorUnits; |
|
t1 = t1.denominatorUnits; |
|
return T.SassNumber$withUnits(this.fromNumber.valueInUnits$2(t2, t1), t1, t2).assertInt$0(); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitForRule_closure2.prototype = { |
|
call$0: function() { |
|
return this.toNumber.assertInt$0(); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitForRule_closure3.prototype = { |
|
call$0: function() { |
|
var i, t3, t4, t5, t6, result, _this = this, |
|
t1 = _this.$this, |
|
t2 = _this.node, |
|
nodeWithSpan = t1._expressionNode$1(t2.from); |
|
for (i = _this.from, t3 = _this._box_0, t4 = _this.direction, t5 = t2.children, t2 = t2.variable; i !== t3.to; i += t4) { |
|
t6 = t1._evaluate$_environment; |
|
t6.setLocalVariable$3(t2, new T.SassNumber(i, C.List_empty, C.List_empty, null), nodeWithSpan); |
|
result = t1._handleReturn$2(t5, new R._EvaluateVisitor_visitForRule__closure(t1)); |
|
if (result != null) |
|
return result; |
|
} |
|
return; |
|
} |
|
}; |
|
R._EvaluateVisitor_visitForRule__closure.prototype = { |
|
call$1: function(child) { |
|
return child.accept$1(this.$this); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitForwardRule_closure.prototype = { |
|
call$1: function(module) { |
|
this.$this._evaluate$_environment.forwardModule$2(module, this.node); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitForwardRule_closure0.prototype = { |
|
call$1: function(module) { |
|
this.$this._evaluate$_environment.forwardModule$2(module, this.node); |
|
} |
|
}; |
|
R._EvaluateVisitor__assertConfigurationIsEmpty_closure.prototype = { |
|
call$2: function($name, value) { |
|
var t1 = this.only; |
|
if (t1 != null && !t1.contains$1(0, $name)) |
|
return; |
|
t1 = this.nameInError ? "$" + H.S($name) + " was not declared with !default in the @used module." : "This variable was not declared with !default in the @used module."; |
|
throw H.wrapException(this.$this._evaluate$_exception$2(t1, value.configurationSpan)); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitIfRule_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this; |
|
return t1._handleReturn$2(this._box_0.clause.children, new R._EvaluateVisitor_visitIfRule__closure(t1)); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitIfRule__closure.prototype = { |
|
call$1: function(child) { |
|
return child.accept$1(this.$this); |
|
} |
|
}; |
|
R._EvaluateVisitor__visitDynamicImport_closure.prototype = { |
|
call$0: function() { |
|
var previousLoad, oldImporter, oldStylesheet, t5, t6, t7, t8, t9, t10, t11, environment, module, visitor, _null = null, |
|
_s34_ = "This file is already being loaded.", |
|
_box_0 = {}, |
|
t1 = this.$this, |
|
t2 = this.$import, |
|
result = t1._loadStylesheet$3$forImport(t2.url, t2.span, true), |
|
importer = result.item1, |
|
stylesheet = result.item2, |
|
t3 = stylesheet.span, |
|
url = t3.file.url, |
|
t4 = t1._activeModules; |
|
if (t4.containsKey$1(url)) { |
|
previousLoad = t4.$index(0, url); |
|
throw H.wrapException(previousLoad == null ? t1._evaluate$_exception$1(_s34_) : t1._multiSpanException$3(_s34_, "new load", P.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(), "original load"], Y.FileSpan, P.String))); |
|
} |
|
t4.$indexSet(0, url, t2); |
|
t2 = new P.UnmodifiableListView(stylesheet._uses, [T.UseRule]); |
|
if (t2.get$length(t2) === 0) { |
|
t2 = new P.UnmodifiableListView(stylesheet._forwards, [L.ForwardRule]); |
|
t2 = t2.get$length(t2) === 0; |
|
} else |
|
t2 = false; |
|
if (t2) { |
|
oldImporter = t1._importer; |
|
oldStylesheet = t1._stylesheet; |
|
t1._importer = importer; |
|
t1._stylesheet = stylesheet; |
|
t1.visitStylesheet$1(stylesheet); |
|
t1._importer = oldImporter; |
|
t1._stylesheet = oldStylesheet; |
|
t4.remove$1(0, url); |
|
return; |
|
} |
|
_box_0.children = null; |
|
t2 = t1._evaluate$_environment; |
|
t5 = P.String; |
|
t6 = [G.Module, D.Callable]; |
|
t7 = H.setRuntimeTypeInfo([], [t6]); |
|
t8 = t2._variables; |
|
t8 = H.setRuntimeTypeInfo(t8.slice(0), [H.getTypeArgumentByIndex(t8, 0)]); |
|
t9 = t2._variableNodes; |
|
if (t9 == null) |
|
t9 = _null; |
|
else |
|
t9 = H.setRuntimeTypeInfo(t9.slice(0), [H.getTypeArgumentByIndex(t9, 0)]); |
|
t10 = t2._functions; |
|
t10 = H.setRuntimeTypeInfo(t10.slice(0), [H.getTypeArgumentByIndex(t10, 0)]); |
|
t11 = t2._mixins; |
|
t11 = H.setRuntimeTypeInfo(t11.slice(0), [H.getTypeArgumentByIndex(t11, 0)]); |
|
environment = O.Environment$_(P.LinkedHashMap_LinkedHashMap$_empty(t5, t6), P.LinkedHashMap_LinkedHashMap$_empty(t5, B.AstNode), _null, _null, _null, _null, _null, t7, t8, t9, t10, t11, t2._content); |
|
t1._withEnvironment$2(environment, new R._EvaluateVisitor__visitDynamicImport__closure(_box_0, t1, importer, stylesheet, environment)); |
|
module = O._EnvironmentModule__EnvironmentModule(environment, new V.CssStylesheet(new P.UnmodifiableListView(C.List_empty1, [B.CssNode]), t3), C.C_EmptyExtender, environment._forwardedModules); |
|
t1._evaluate$_environment.importForwards$1(module); |
|
if (module.transitivelyContainsCss) |
|
t1._combineCss$2$clone(module, module.transitivelyContainsExtensions).accept$1(t1); |
|
visitor = new R._ImportedCssVisitor(t1); |
|
for (t1 = J.get$iterator$ax(_box_0.children); t1.moveNext$0();) |
|
t1.get$current(t1).accept$1(visitor); |
|
t4.remove$1(0, url); |
|
} |
|
}; |
|
R._EvaluateVisitor__visitDynamicImport__closure.prototype = { |
|
call$0: function() { |
|
var t2, t3, t4, _this = this, |
|
t1 = _this.$this, |
|
oldImporter = t1._importer, |
|
oldStylesheet = t1._stylesheet, |
|
oldRoot = t1._root, |
|
oldParent = t1._evaluate$_parent, |
|
oldEndOfImports = t1._endOfImports, |
|
oldOutOfOrderImports = t1._outOfOrderImports, |
|
oldConfiguration = t1._configuration; |
|
t1._importer = _this.importer; |
|
t2 = t1._stylesheet = _this.stylesheet; |
|
t3 = B.ModifiableCssNode; |
|
t4 = H.setRuntimeTypeInfo([], [t3]); |
|
t1._evaluate$_parent = t1._root = new V.ModifiableCssStylesheet(t2.span, new P.UnmodifiableListView(t4, [t3]), t4); |
|
t1._endOfImports = 0; |
|
t1._outOfOrderImports = null; |
|
t3 = new P.UnmodifiableListView(t2._forwards, [L.ForwardRule]); |
|
if (!t3.get$isEmpty(t3)) |
|
t1._configuration = _this.environment.toImplicitConfiguration$0(); |
|
t1.visitStylesheet$1(t2); |
|
_this._box_0.children = t1._addOutOfOrderImports$0(); |
|
t1._importer = oldImporter; |
|
t1._stylesheet = oldStylesheet; |
|
t1._root = oldRoot; |
|
t1._evaluate$_parent = oldParent; |
|
t1._endOfImports = oldEndOfImports; |
|
t1._outOfOrderImports = oldOutOfOrderImports; |
|
t1._configuration = oldConfiguration; |
|
} |
|
}; |
|
R._EvaluateVisitor_visitIncludeRule_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.node; |
|
return this.$this._evaluate$_environment.getMixin$2$namespace(t1.name, t1.namespace); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitIncludeRule_closure0.prototype = { |
|
call$0: function() { |
|
return this.node.get$spanWithoutContent(); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
R._EvaluateVisitor_visitIncludeRule_closure1.prototype = { |
|
call$0: function() { |
|
var _this = this, |
|
t1 = _this.$this, |
|
t2 = t1._evaluate$_environment, |
|
oldContent = t2._content; |
|
t2._content = _this.contentCallable; |
|
new R._EvaluateVisitor_visitIncludeRule__closure(t1, _this.mixin, _this.nodeWithSpan).call$0(); |
|
t2._content = oldContent; |
|
return; |
|
} |
|
}; |
|
R._EvaluateVisitor_visitIncludeRule__closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
t2 = t1._evaluate$_environment, |
|
oldInMixin = t2._inMixin; |
|
t2._inMixin = true; |
|
new R._EvaluateVisitor_visitIncludeRule___closure(t1, this.mixin, this.nodeWithSpan).call$0(); |
|
t2._inMixin = oldInMixin; |
|
return; |
|
} |
|
}; |
|
R._EvaluateVisitor_visitIncludeRule___closure.prototype = { |
|
call$0: function() { |
|
var t1, t2, t3, t4, _i; |
|
for (t1 = this.mixin.declaration.children, t2 = t1.length, t3 = this.$this, t4 = this.nodeWithSpan, _i = 0; _i < t2; ++_i) |
|
t3._addErrorSpan$2(t4, new R._EvaluateVisitor_visitIncludeRule____closure(t3, t1[_i])); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitIncludeRule____closure.prototype = { |
|
call$0: function() { |
|
return this.statement.accept$1(this.$this); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitMediaRule_closure.prototype = { |
|
call$0: function() { |
|
var _this = this, |
|
t1 = _this.$this, |
|
t2 = _this.mergedQueries; |
|
if (t2 == null) |
|
t2 = _this.queries; |
|
t1._withMediaQueries$2(t2, new R._EvaluateVisitor_visitMediaRule__closure(t1, _this.node)); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitMediaRule__closure.prototype = { |
|
call$0: function() { |
|
var t3, _i, |
|
t1 = this.$this, |
|
t2 = t1._styleRule; |
|
if (!(t2 != null && !t1._atRootExcludingStyleRule)) |
|
for (t2 = this.node.children, t3 = t2.length, _i = 0; _i < t3; ++_i) |
|
t2[_i].accept$1(t1); |
|
else |
|
t1._withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new R._EvaluateVisitor_visitMediaRule___closure(t1, this.node), false, X.ModifiableCssStyleRule, P.Null); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitMediaRule___closure.prototype = { |
|
call$0: function() { |
|
var t1, t2, t3, _i; |
|
for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i) |
|
t1[_i].accept$1(t3); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitMediaRule_closure0.prototype = { |
|
call$1: function(node) { |
|
var t1 = J.getInterceptor$(node); |
|
if (!t1.$isCssStyleRule) |
|
t1 = this.mergedQueries != null && !!t1.$isCssMediaRule; |
|
else |
|
t1 = true; |
|
return t1; |
|
} |
|
}; |
|
R._EvaluateVisitor__visitMediaQueries_closure.prototype = { |
|
call$0: function() { |
|
var t1 = S.SpanScanner$(this.resolved, null); |
|
return new F.MediaQueryParser(t1, this.$this._logger).parse$0(); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitStyleRule_closure.prototype = { |
|
call$0: function() { |
|
var t1 = S.SpanScanner$(this.selectorText.value, null); |
|
return new E.KeyframeSelectorParser(t1, this.$this._logger).parse$0(); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitStyleRule_closure0.prototype = { |
|
call$0: function() { |
|
var t1, t2, t3, _i; |
|
for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i) |
|
t1[_i].accept$1(t3); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitStyleRule_closure1.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
R._EvaluateVisitor_visitStyleRule_closure2.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
t2 = !t1._stylesheet.plainCss; |
|
return D.SelectorList_SelectorList$parse(this.selectorText.value, t2, t2, t1._logger); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitStyleRule_closure3.prototype = { |
|
call$0: function() { |
|
var t1 = this._box_0.parsedSelector, |
|
t2 = this.$this, |
|
t3 = t2._styleRule; |
|
t3 = t3 == null ? null : t3.originalSelector; |
|
return t1.resolveParentSelectors$2$implicitParent(t3, !t2._atRootExcludingStyleRule); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitStyleRule_closure4.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this; |
|
t1._withStyleRule$2(this.rule, new R._EvaluateVisitor_visitStyleRule__closure(t1, this.node)); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitStyleRule__closure.prototype = { |
|
call$0: function() { |
|
var t1, t2, t3, _i; |
|
for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i) |
|
t1[_i].accept$1(t3); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitStyleRule_closure5.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
R._EvaluateVisitor_visitSupportsRule_closure.prototype = { |
|
call$0: function() { |
|
var t3, _i, |
|
t1 = this.$this, |
|
t2 = t1._styleRule; |
|
if (!(t2 != null && !t1._atRootExcludingStyleRule)) |
|
for (t2 = this.node.children, t3 = t2.length, _i = 0; _i < t3; ++_i) |
|
t2[_i].accept$1(t1); |
|
else |
|
t1._withParent$2$2(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new R._EvaluateVisitor_visitSupportsRule__closure(t1, this.node), X.ModifiableCssStyleRule, P.Null); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitSupportsRule__closure.prototype = { |
|
call$0: function() { |
|
var t1, t2, t3, _i; |
|
for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i) |
|
t1[_i].accept$1(t3); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitSupportsRule_closure0.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
R._EvaluateVisitor_visitVariableDeclaration_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.override; |
|
this.$this._evaluate$_environment.setVariable$4$global(this.node.name, t1.value, t1.assignmentNode, true); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitVariableDeclaration_closure0.prototype = { |
|
call$0: function() { |
|
var t1 = this.node; |
|
return this.$this._evaluate$_environment.getVariable$2$namespace(t1.name, t1.namespace); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitVariableDeclaration_closure1.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
t2 = this.node; |
|
t1._evaluate$_environment.setVariable$5$global$namespace(t2.name, this.value, t1._expressionNode$1(t2.expression), t2.isGlobal, t2.namespace); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitUseRule_closure.prototype = { |
|
call$1: function(module) { |
|
var t1 = this.node; |
|
this.$this._evaluate$_environment.addModule$3$namespace(module, t1, t1.namespace); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitWarnRule_closure.prototype = { |
|
call$0: function() { |
|
return this.node.expression.accept$1(this.$this); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitWhileRule_closure.prototype = { |
|
call$0: function() { |
|
var t1, t2, t3, result; |
|
for (t1 = this.node, t2 = t1.condition, t3 = this.$this, t1 = t1.children; t2.accept$1(t3).get$isTruthy();) { |
|
result = t3._handleReturn$2(t1, new R._EvaluateVisitor_visitWhileRule__closure(t3)); |
|
if (result != null) |
|
return result; |
|
} |
|
return; |
|
} |
|
}; |
|
R._EvaluateVisitor_visitWhileRule__closure.prototype = { |
|
call$1: function(child) { |
|
return child.accept$1(this.$this); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitBinaryOperationExpression_closure.prototype = { |
|
call$0: function() { |
|
var right, result, |
|
t1 = this.node, |
|
t2 = this.$this, |
|
left = t1.left.accept$1(t2); |
|
switch (t1.operator) { |
|
case C.BinaryOperator_kjl: |
|
right = t1.right.accept$1(t2); |
|
left.toString; |
|
t1 = N.serializeValue(left, false, true) + "="; |
|
right.toString; |
|
return new D.SassString(t1 + N.serializeValue(right, false, true), false); |
|
case C.BinaryOperator_or_or_1: |
|
return left.get$isTruthy() ? left : t1.right.accept$1(t2); |
|
case C.BinaryOperator_and_and_2: |
|
return left.get$isTruthy() ? t1.right.accept$1(t2) : left; |
|
case C.BinaryOperator_YlX: |
|
return J.$eq$(left, t1.right.accept$1(t2)) ? C.SassBoolean_true : C.SassBoolean_false; |
|
case C.BinaryOperator_i5H: |
|
return !J.$eq$(left, t1.right.accept$1(t2)) ? C.SassBoolean_true : C.SassBoolean_false; |
|
case C.BinaryOperator_AcR0: |
|
return left.greaterThan$1(t1.right.accept$1(t2)); |
|
case C.BinaryOperator_1da: |
|
return left.greaterThanOrEquals$1(t1.right.accept$1(t2)); |
|
case C.BinaryOperator_8qt: |
|
return left.lessThan$1(t1.right.accept$1(t2)); |
|
case C.BinaryOperator_33h: |
|
return left.lessThanOrEquals$1(t1.right.accept$1(t2)); |
|
case C.BinaryOperator_AcR: |
|
return left.plus$1(t1.right.accept$1(t2)); |
|
case C.BinaryOperator_iyO: |
|
return left.minus$1(t1.right.accept$1(t2)); |
|
case C.BinaryOperator_O1M: |
|
return left.times$1(t1.right.accept$1(t2)); |
|
case C.BinaryOperator_RTB: |
|
right = t1.right.accept$1(t2); |
|
result = left.dividedBy$1(right); |
|
if (t1.allowsSlash && !!left.$isSassNumber && right instanceof T.SassNumber) |
|
return H.interceptedTypeCast(result, "$isSassNumber").withSlash$2(left, right); |
|
else |
|
return result; |
|
case C.BinaryOperator_2ad: |
|
return left.modulo$1(t1.right.accept$1(t2)); |
|
default: |
|
return; |
|
} |
|
} |
|
}; |
|
R._EvaluateVisitor_visitVariableExpression_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.node; |
|
return this.$this._evaluate$_environment.getVariable$2$namespace(t1.name, t1.namespace); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitListExpression_closure.prototype = { |
|
call$1: function(expression) { |
|
return expression.accept$1(this.$this); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitFunctionExpression_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.node.namespace, |
|
t2 = this.plainName; |
|
if (t1 == null) |
|
t2 = H.stringReplaceAllUnchecked(t2, "_", "-"); |
|
return this.$this._getFunction$2$namespace(t2, t1); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitFunctionExpression_closure0.prototype = { |
|
call$0: function() { |
|
var t1 = this.node; |
|
return this.$this._runFunctionCallable$3(t1.$arguments, this._box_0.$function, t1); |
|
} |
|
}; |
|
R._EvaluateVisitor__runUserDefinedCallable_closure.prototype = { |
|
call$0: function() { |
|
var _this = this, |
|
t1 = _this.$this, |
|
t2 = _this.callable; |
|
return t1._withEnvironment$2(t2.environment.closure$0(), new R._EvaluateVisitor__runUserDefinedCallable__closure(t1, _this.evaluated, t2, _this.nodeWithSpan, _this.run)); |
|
} |
|
}; |
|
R._EvaluateVisitor__runUserDefinedCallable__closure.prototype = { |
|
call$0: function() { |
|
var _this = this, |
|
t1 = _this.$this; |
|
return t1._evaluate$_environment.scope$1$1(new R._EvaluateVisitor__runUserDefinedCallable___closure(t1, _this.evaluated, _this.callable, _this.nodeWithSpan, _this.run), F.Value); |
|
} |
|
}; |
|
R._EvaluateVisitor__runUserDefinedCallable___closure.prototype = { |
|
call$0: function() { |
|
var declaredArguments, minLength, t8, t9, i, t10, t11, t12, argument, value, t13, rest, argumentList, result, argumentWord, argumentNames, _this = this, _null = null, |
|
t1 = _this.$this, |
|
t2 = _this.evaluated, |
|
t3 = t2.positional, |
|
t4 = t3.length, |
|
t5 = t2.named, |
|
t6 = _this.callable.declaration.$arguments, |
|
t7 = _this.nodeWithSpan; |
|
t1._verifyArguments$4(t4, t5, t6, t7); |
|
declaredArguments = t6.$arguments; |
|
t4 = declaredArguments.length; |
|
minLength = Math.min(t3.length, t4); |
|
for (t8 = t1._sourceMap, t9 = t2.positionalNodes, i = 0; i < minLength; ++i) { |
|
t10 = t1._evaluate$_environment; |
|
t11 = declaredArguments[i].name; |
|
t12 = t3[i].withoutSlash$0(); |
|
t10.setLocalVariable$3(t11, t12, t8 ? t9[i] : _null); |
|
} |
|
for (i = t3.length, t9 = t2.namedNodes; i < t4; ++i) { |
|
argument = declaredArguments[i]; |
|
t10 = argument.name; |
|
value = t5.remove$1(0, t10); |
|
if (value == null) |
|
value = argument.defaultValue.accept$1(t1); |
|
t11 = t1._evaluate$_environment; |
|
t12 = value.withoutSlash$0(); |
|
if (t8) { |
|
t13 = t9.$index(0, t10); |
|
if (t13 == null) |
|
t13 = t1._expressionNode$1(argument.defaultValue); |
|
} else |
|
t13 = _null; |
|
t11.setLocalVariable$3(t10, t12, t13); |
|
} |
|
t8 = t6.restArgument; |
|
if (t8 != null) { |
|
rest = t3.length > t4 ? C.JSArray_methods.sublist$1(t3, t4) : C.List_empty6; |
|
t2 = t2.separator; |
|
if (t2 === C.ListSeparator_undecided) |
|
t2 = C.ListSeparator_comma; |
|
t3 = F.Value; |
|
argumentList = new D.SassArgumentList(H.ConstantMap_ConstantMap$from(t5, P.String, t3), P.List_List$unmodifiable(rest, t3), t2, false); |
|
argumentList.SassList$3$brackets(rest, t2, false); |
|
t1._evaluate$_environment.setLocalVariable$3(t8, argumentList, t7); |
|
} else |
|
argumentList = _null; |
|
result = _this.run.call$0(); |
|
if (argumentList == null) |
|
return result; |
|
if (t5.get$isEmpty(t5)) |
|
return result; |
|
if (argumentList._wereKeywordsAccessed) |
|
return result; |
|
t2 = t5.get$keys(); |
|
argumentWord = B.pluralize("argument", t2.get$length(t2), _null); |
|
t5 = t5.get$keys(); |
|
argumentNames = B.toSentence(H.MappedIterable_MappedIterable(t5, new R._EvaluateVisitor__runUserDefinedCallable____closure(), H.getRuntimeTypeArgument(t5, "Iterable", 0), P.Object), "or"); |
|
throw H.wrapException(E.MultiSpanSassRuntimeException$("No " + argumentWord + " named " + H.S(argumentNames) + ".", t7.get$span(), "invocation", P.LinkedHashMap_LinkedHashMap$_literal([t6.get$spanWithName(), "declaration"], Y.FileSpan, P.String), t1._stackTrace$1(t7.get$span()))); |
|
} |
|
}; |
|
R._EvaluateVisitor__runUserDefinedCallable____closure.prototype = { |
|
call$1: function($name) { |
|
return "$" + H.S($name); |
|
} |
|
}; |
|
R._EvaluateVisitor__runFunctionCallable_closure.prototype = { |
|
call$0: function() { |
|
var t1, t2, t3, t4, _i, $returnValue; |
|
for (t1 = this.callable.declaration, t2 = t1.children, t3 = t2.length, t4 = this.$this, _i = 0; _i < t3; ++_i) { |
|
$returnValue = t2[_i].accept$1(t4); |
|
if ($returnValue instanceof F.Value) |
|
return $returnValue; |
|
} |
|
throw H.wrapException(t4._evaluate$_exception$2("Function finished without @return.", t1.span)); |
|
} |
|
}; |
|
R._EvaluateVisitor__runBuiltInCallable_closure.prototype = { |
|
call$0: function() { |
|
return this.overload.verify$2(this.evaluated.positional.length, this.namedSet); |
|
} |
|
}; |
|
R._EvaluateVisitor__runBuiltInCallable_closure0.prototype = { |
|
call$1: function($name) { |
|
return "$" + H.S($name); |
|
} |
|
}; |
|
R._EvaluateVisitor__evaluateArguments_closure.prototype = { |
|
call$2: function(_, expression) { |
|
return expression.accept$1(this.$this); |
|
} |
|
}; |
|
R._EvaluateVisitor__evaluateArguments_closure0.prototype = { |
|
call$2: function(_, expression) { |
|
return this.$this._expressionNode$1(expression); |
|
} |
|
}; |
|
R._EvaluateVisitor__evaluateArguments_closure1.prototype = { |
|
call$2: function(key, value) { |
|
var t1; |
|
this.named.$indexSet(0, key, value); |
|
t1 = this.namedNodes; |
|
if (t1 != null) |
|
t1.$indexSet(0, key, this.restNodeForSpan); |
|
} |
|
}; |
|
R._EvaluateVisitor__evaluateMacroArguments_closure.prototype = { |
|
call$1: function(value) { |
|
return new F.ValueExpression(value, null); |
|
} |
|
}; |
|
R._EvaluateVisitor__evaluateMacroArguments_closure0.prototype = { |
|
call$1: function(value) { |
|
return new F.ValueExpression(value, null); |
|
} |
|
}; |
|
R._EvaluateVisitor__evaluateMacroArguments_closure1.prototype = { |
|
call$2: function(key, value) { |
|
this.named.$indexSet(0, key, new F.ValueExpression(value, null)); |
|
} |
|
}; |
|
R._EvaluateVisitor__evaluateMacroArguments_closure2.prototype = { |
|
call$1: function(value) { |
|
return new F.ValueExpression(value, null); |
|
} |
|
}; |
|
R._EvaluateVisitor__addRestMap_closure.prototype = { |
|
call$1: function(value) { |
|
return H.subtypeOfRuntimeTypeCast(value, this.T); |
|
} |
|
}; |
|
R._EvaluateVisitor__addRestMap_closure0.prototype = { |
|
call$2: function(key, value) { |
|
var _this = this; |
|
if (key instanceof D.SassString) |
|
_this.values.$indexSet(0, key.text, _this._box_0.convert.call$1(value)); |
|
else |
|
throw H.wrapException(_this.$this._evaluate$_exception$2("Variable keyword argument map must have string keys.\n" + H.S(key) + " is not a string in " + _this.map.toString$0(0) + ".", _this.nodeWithSpan.get$span())); |
|
} |
|
}; |
|
R._EvaluateVisitor__verifyArguments_closure.prototype = { |
|
call$0: function() { |
|
return this.$arguments.verify$2(this.positional, new M.MapKeySet(this.named, [P.String])); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitStringExpression_closure.prototype = { |
|
call$1: function(value) { |
|
var t1, result; |
|
if (typeof value === "string") |
|
return value; |
|
H.interceptedTypeCast(value, "$isExpression"); |
|
t1 = this.$this; |
|
result = value.accept$1(t1); |
|
return result instanceof D.SassString ? result.text : t1._evaluate$_serialize$3$quote(result, value, false); |
|
}, |
|
$signature: 13 |
|
}; |
|
R._EvaluateVisitor_visitCssAtRule_closure.prototype = { |
|
call$0: function() { |
|
var t1, t2; |
|
for (t1 = this.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this.$this; t1.moveNext$0();) |
|
t1.__internal$_current.accept$1(t2); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitCssAtRule_closure0.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
R._EvaluateVisitor_visitCssKeyframeBlock_closure.prototype = { |
|
call$0: function() { |
|
var t1, t2; |
|
for (t1 = this.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this.$this; t1.moveNext$0();) |
|
t1.__internal$_current.accept$1(t2); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitCssKeyframeBlock_closure0.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
R._EvaluateVisitor_visitCssMediaRule_closure.prototype = { |
|
call$0: function() { |
|
var _this = this, |
|
t1 = _this.$this, |
|
t2 = _this.mergedQueries; |
|
if (t2 == null) |
|
t2 = _this.node.queries; |
|
t1._withMediaQueries$2(t2, new R._EvaluateVisitor_visitCssMediaRule__closure(t1, _this.node)); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitCssMediaRule__closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
t2 = t1._styleRule; |
|
if (!(t2 != null && !t1._atRootExcludingStyleRule)) |
|
for (t2 = this.node.children, t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) |
|
t2.__internal$_current.accept$1(t1); |
|
else |
|
t1._withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new R._EvaluateVisitor_visitCssMediaRule___closure(t1, this.node), false, X.ModifiableCssStyleRule, P.Null); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitCssMediaRule___closure.prototype = { |
|
call$0: function() { |
|
var t1, t2; |
|
for (t1 = this.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this.$this; t1.moveNext$0();) |
|
t1.__internal$_current.accept$1(t2); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitCssMediaRule_closure0.prototype = { |
|
call$1: function(node) { |
|
var t1 = J.getInterceptor$(node); |
|
if (!t1.$isCssStyleRule) |
|
t1 = this.mergedQueries != null && !!t1.$isCssMediaRule; |
|
else |
|
t1 = true; |
|
return t1; |
|
} |
|
}; |
|
R._EvaluateVisitor_visitCssStyleRule_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this; |
|
t1._withStyleRule$2(this.rule, new R._EvaluateVisitor_visitCssStyleRule__closure(t1, this.node)); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitCssStyleRule__closure.prototype = { |
|
call$0: function() { |
|
var t1, t2; |
|
for (t1 = this.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this.$this; t1.moveNext$0();) |
|
t1.__internal$_current.accept$1(t2); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitCssStyleRule_closure0.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
R._EvaluateVisitor_visitCssSupportsRule_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
t2 = t1._styleRule; |
|
if (!(t2 != null && !t1._atRootExcludingStyleRule)) |
|
for (t2 = this.node.children, t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) |
|
t2.__internal$_current.accept$1(t1); |
|
else |
|
t1._withParent$2$2(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new R._EvaluateVisitor_visitCssSupportsRule__closure(t1, this.node), X.ModifiableCssStyleRule, P.Null); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitCssSupportsRule__closure.prototype = { |
|
call$0: function() { |
|
var t1, t2; |
|
for (t1 = this.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this.$this; t1.moveNext$0();) |
|
t1.__internal$_current.accept$1(t2); |
|
} |
|
}; |
|
R._EvaluateVisitor_visitCssSupportsRule_closure0.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
R._EvaluateVisitor__performInterpolation_closure.prototype = { |
|
call$1: function(value) { |
|
var t1, result, t2, t3; |
|
if (typeof value === "string") |
|
return value; |
|
H.interceptedTypeCast(value, "$isExpression"); |
|
t1 = this.$this; |
|
result = value.accept$1(t1); |
|
if (this.warnForColor && result instanceof K.SassColor && $.$get$namesByColor().containsKey$1(result)) { |
|
t2 = X.Interpolation$(H.setRuntimeTypeInfo([""], [P.Object]), null); |
|
t3 = $.$get$namesByColor(); |
|
t1._warn$2("You probably don't mean to use the color value " + H.S(t3.$index(0, result)) + " in interpolation here.\nIt may end up represented as " + H.S(result) + ', which will likely produce invalid CSS.\nAlways quote color names when using them as strings or map keys (for example, "' + H.S(t3.$index(0, result)) + "\").\nIf you really want to use the color value here, use '" + new V.BinaryOperationExpression(C.BinaryOperator_AcR, new D.StringExpression(t2, true), value, false).toString$0(0) + "'.", value.get$span()); |
|
} |
|
return t1._evaluate$_serialize$3$quote(result, value, false); |
|
}, |
|
$signature: 13 |
|
}; |
|
R._EvaluateVisitor__serialize_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.value; |
|
t1.toString; |
|
return N.serializeValue(t1, false, this.quote); |
|
} |
|
}; |
|
R._EvaluateVisitor__stackTrace_closure.prototype = { |
|
call$1: function(tuple) { |
|
return this.$this._stackFrame$2(tuple.item1, tuple.item2.get$span()); |
|
} |
|
}; |
|
R._ImportedCssVisitor.prototype = { |
|
visitCssAtRule$1: function(node) { |
|
var t1 = node.isChildless ? null : new R._ImportedCssVisitor_visitCssAtRule_closure(); |
|
this._visitor._addChild$2$through(node, t1); |
|
}, |
|
visitCssComment$1: function(node) { |
|
return this._visitor._addChild$1(node); |
|
}, |
|
visitCssDeclaration$1: function(node) { |
|
}, |
|
visitCssImport$1: function(node) { |
|
var t1 = this._visitor, |
|
t2 = t1._evaluate$_parent, |
|
t3 = t1._root; |
|
if (t2 != t3) |
|
t1._addChild$1(node); |
|
else if (t1._endOfImports === J.get$length$asx(t3.children._collection$_source)) { |
|
t1._addChild$1(node); |
|
t1._endOfImports = t1._endOfImports + 1; |
|
} else { |
|
t2 = t1._outOfOrderImports; |
|
(t2 == null ? t1._outOfOrderImports = H.setRuntimeTypeInfo([], [F.ModifiableCssImport]) : t2).push(node); |
|
} |
|
}, |
|
visitCssKeyframeBlock$1: function(node) { |
|
}, |
|
visitCssMediaRule$1: function(node) { |
|
var t1 = this._visitor, |
|
t2 = t1._mediaQueries; |
|
t1._addChild$2$through(node, new R._ImportedCssVisitor_visitCssMediaRule_closure(t2 == null || t1._mergeMediaQueries$2(t2, node.queries) != null)); |
|
}, |
|
visitCssStyleRule$1: function(node) { |
|
return this._visitor._addChild$2$through(node, new R._ImportedCssVisitor_visitCssStyleRule_closure()); |
|
}, |
|
visitCssStylesheet$1: function(node) { |
|
var t1; |
|
for (t1 = node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();) |
|
t1.__internal$_current.accept$1(this); |
|
}, |
|
visitCssSupportsRule$1: function(node) { |
|
return this._visitor._addChild$2$through(node, new R._ImportedCssVisitor_visitCssSupportsRule_closure()); |
|
} |
|
}; |
|
R._ImportedCssVisitor_visitCssAtRule_closure.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
R._ImportedCssVisitor_visitCssMediaRule_closure.prototype = { |
|
call$1: function(node) { |
|
var t1 = J.getInterceptor$(node); |
|
if (!t1.$isCssStyleRule) |
|
t1 = this.hasBeenMerged && !!t1.$isCssMediaRule; |
|
else |
|
t1 = true; |
|
return t1; |
|
} |
|
}; |
|
R._ImportedCssVisitor_visitCssStyleRule_closure.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
R._ImportedCssVisitor_visitCssSupportsRule_closure.prototype = { |
|
call$1: function(node) { |
|
return !!J.getInterceptor$(node).$isCssStyleRule; |
|
} |
|
}; |
|
R._ArgumentResults.prototype = {}; |
|
F._FindDependenciesVisitor.prototype = { |
|
visitEachRule$1: function(node) { |
|
}, |
|
visitForRule$1: function(node) { |
|
}, |
|
visitIfRule$1: function(node) { |
|
}, |
|
visitWhileRule$1: function(node) { |
|
}, |
|
visitUseRule$1: function(node) { |
|
this._usesAndForwards.push(node.url); |
|
}, |
|
visitForwardRule$1: function(node) { |
|
this._usesAndForwards.push(node.url); |
|
}, |
|
visitImportRule$1: function(node) { |
|
var t1, t2, t3, _i, $import; |
|
for (t1 = node.imports, t2 = t1.length, t3 = this._imports, _i = 0; _i < t2; ++_i) { |
|
$import = t1[_i]; |
|
if ($import instanceof B.DynamicImport) |
|
t3.push(P.Uri_parse($import.url)); |
|
} |
|
} |
|
}; |
|
D.RecursiveStatementVisitor.prototype = { |
|
visitAtRootRule$1: function(node) { |
|
return this.visitChildren$1(node); |
|
}, |
|
visitAtRule$1: function(node) { |
|
return node.children == null ? null : this.visitChildren$1(node); |
|
}, |
|
visitContentBlock$1: function(node) { |
|
return; |
|
}, |
|
visitContentRule$1: function(node) { |
|
this.visitArgumentInvocation$1(node.$arguments); |
|
return; |
|
}, |
|
visitDebugRule$1: function(node) { |
|
return; |
|
}, |
|
visitDeclaration$1: function(node) { |
|
return node.children == null ? null : this.visitChildren$1(node); |
|
}, |
|
visitErrorRule$1: function(node) { |
|
return; |
|
}, |
|
visitExtendRule$1: function(node) { |
|
return; |
|
}, |
|
visitFunctionRule$1: function(node) { |
|
return; |
|
}, |
|
visitIncludeRule$1: function(node) { |
|
this.visitArgumentInvocation$1(node.$arguments); |
|
return; |
|
}, |
|
visitLoudComment$1: function(node) { |
|
return; |
|
}, |
|
visitMediaRule$1: function(node) { |
|
return this.visitChildren$1(node); |
|
}, |
|
visitMixinRule$1: function(node) { |
|
return; |
|
}, |
|
visitReturnRule$1: function(node) { |
|
return; |
|
}, |
|
visitSilentComment$1: function(node) { |
|
return; |
|
}, |
|
visitStyleRule$1: function(node) { |
|
return this.visitChildren$1(node); |
|
}, |
|
visitStylesheet$1: function(node) { |
|
return this.visitChildren$1(node); |
|
}, |
|
visitSupportsRule$1: function(node) { |
|
return this.visitChildren$1(node); |
|
}, |
|
visitVariableDeclaration$1: function(node) { |
|
return; |
|
}, |
|
visitWarnRule$1: function(node) { |
|
return; |
|
}, |
|
visitArgumentInvocation$1: function(invocation) { |
|
var t1, _i; |
|
for (t1 = invocation.positional.length, _i = 0; _i < t1; ++_i) |
|
; |
|
for (t1 = invocation.named.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();) |
|
t1.get$current(t1); |
|
}, |
|
visitChildren$1: function(node) { |
|
var t1; |
|
for (t1 = node.children, t1 = (t1 && C.JSArray_methods).get$iterator(t1); t1.moveNext$0();) |
|
t1.get$current(t1).accept$1(this); |
|
return; |
|
} |
|
}; |
|
N.serialize_closure.prototype = { |
|
call$1: function(codeUnit) { |
|
return codeUnit > 127; |
|
}, |
|
$signature: 11 |
|
}; |
|
N._SerializeVisitor.prototype = { |
|
visitCssStylesheet$1: function(node) { |
|
var t1, t2, t3, previous, i, child, _this = this; |
|
for (t1 = _this._style !== C.OutputStyle_compressed, t2 = _this._serialize$_buffer, t3 = _this._lineFeed.text, previous = null, i = 0; i < J.get$length$asx(node.get$children()); ++i) { |
|
child = J.$index$asx(node.get$children(), i); |
|
if (_this._isInvisible$1(child)) |
|
continue; |
|
if (previous != null) { |
|
if (!!previous.$isCssParentNode ? previous.get$isChildless() : !previous.$isCssComment) |
|
t2.writeCharCode$1(59); |
|
if (t1) |
|
t2.write$1(0, t3); |
|
if (previous.get$isGroupEnd()) |
|
if (t1) |
|
t2.write$1(0, t3); |
|
} |
|
child.accept$1(_this); |
|
previous = child; |
|
} |
|
if (previous != null) |
|
t1 = (!!previous.$isCssParentNode ? previous.get$isChildless() : !previous.$isCssComment) && t1; |
|
else |
|
t1 = false; |
|
if (t1) |
|
t2.writeCharCode$1(59); |
|
}, |
|
visitCssComment$1: function(node) { |
|
this._serialize$_buffer.forSpan$2(node.span, new N._SerializeVisitor_visitCssComment_closure(this, node)); |
|
}, |
|
visitCssAtRule$1: function(node) { |
|
var t1, _this = this; |
|
_this._writeIndentation$0(); |
|
t1 = _this._serialize$_buffer; |
|
t1.forSpan$2(node.span, new N._SerializeVisitor_visitCssAtRule_closure(_this, node)); |
|
if (!node.isChildless) { |
|
if (_this._style !== C.OutputStyle_compressed) |
|
t1.writeCharCode$1(32); |
|
_this._serialize$_visitChildren$1(node.children); |
|
} |
|
}, |
|
visitCssMediaRule$1: function(node) { |
|
var t1, _this = this; |
|
_this._writeIndentation$0(); |
|
t1 = _this._serialize$_buffer; |
|
t1.forSpan$2(node.span, new N._SerializeVisitor_visitCssMediaRule_closure(_this, node)); |
|
if (_this._style !== C.OutputStyle_compressed) |
|
t1.writeCharCode$1(32); |
|
_this._serialize$_visitChildren$1(node.children); |
|
}, |
|
visitCssImport$1: function(node) { |
|
this._writeIndentation$0(); |
|
this._serialize$_buffer.forSpan$2(node.span, new N._SerializeVisitor_visitCssImport_closure(this, node)); |
|
}, |
|
_writeImportUrl$1: function(url) { |
|
var urlContents, maybeQuote, _this = this; |
|
if (_this._style !== C.OutputStyle_compressed || J._codeUnitAt$1$s(url, 0) !== 117) { |
|
_this._serialize$_buffer.write$1(0, url); |
|
return; |
|
} |
|
urlContents = J.substring$2$s(url, 4, url.length - 1); |
|
maybeQuote = C.JSString_methods._codeUnitAt$1(urlContents, 0); |
|
if (maybeQuote === 39 || maybeQuote === 34) |
|
_this._serialize$_buffer.write$1(0, urlContents); |
|
else |
|
_this._visitQuotedString$1(urlContents); |
|
}, |
|
visitCssKeyframeBlock$1: function(node) { |
|
var t1, _this = this; |
|
_this._writeIndentation$0(); |
|
t1 = _this._serialize$_buffer; |
|
t1.forSpan$2(node.selector.span, new N._SerializeVisitor_visitCssKeyframeBlock_closure(_this, node)); |
|
if (_this._style !== C.OutputStyle_compressed) |
|
t1.writeCharCode$1(32); |
|
_this._serialize$_visitChildren$1(node.children); |
|
}, |
|
_visitMediaQuery$1: function(query) { |
|
var t2, t3, _this = this, |
|
t1 = query.modifier; |
|
if (t1 != null) { |
|
t2 = _this._serialize$_buffer; |
|
t2.write$1(0, t1); |
|
t2.writeCharCode$1(32); |
|
} |
|
t1 = query.type; |
|
if (t1 != null) { |
|
t2 = _this._serialize$_buffer; |
|
t2.write$1(0, t1); |
|
if (query.features.length !== 0) |
|
t2.write$1(0, " and "); |
|
} |
|
t1 = query.features; |
|
t2 = _this._style === C.OutputStyle_compressed ? "and " : " and "; |
|
t3 = _this._serialize$_buffer; |
|
_this._writeBetween$3(t1, t2, t3.get$write(t3)); |
|
}, |
|
visitCssStyleRule$1: function(node) { |
|
var t1, _this = this; |
|
_this._writeIndentation$0(); |
|
t1 = _this._serialize$_buffer; |
|
t1.forSpan$2(node.selector.span, new N._SerializeVisitor_visitCssStyleRule_closure(_this, node)); |
|
if (_this._style !== C.OutputStyle_compressed) |
|
t1.writeCharCode$1(32); |
|
_this._serialize$_visitChildren$1(node.children); |
|
}, |
|
visitCssSupportsRule$1: function(node) { |
|
var t1, _this = this; |
|
_this._writeIndentation$0(); |
|
t1 = _this._serialize$_buffer; |
|
t1.forSpan$2(node.span, new N._SerializeVisitor_visitCssSupportsRule_closure(_this, node)); |
|
if (_this._style !== C.OutputStyle_compressed) |
|
t1.writeCharCode$1(32); |
|
_this._serialize$_visitChildren$1(node.children); |
|
}, |
|
visitCssDeclaration$1: function(node) { |
|
var error, error0, t1, exception, t2, _this = this; |
|
_this._writeIndentation$0(); |
|
_this._write$1(node.name); |
|
t1 = _this._serialize$_buffer; |
|
t1.writeCharCode$1(58); |
|
if (_this._isParsedCustomProperty$1(node)) |
|
t1.forSpan$2(node.value.span, new N._SerializeVisitor_visitCssDeclaration_closure(_this, node)); |
|
else { |
|
if (_this._style !== C.OutputStyle_compressed) |
|
t1.writeCharCode$1(32); |
|
try { |
|
t1.forSpan$2(node.valueSpanForMap, new N._SerializeVisitor_visitCssDeclaration_closure0(_this, node)); |
|
} catch (exception) { |
|
t1 = H.unwrapException(exception); |
|
t2 = J.getInterceptor$(t1); |
|
if (!!t2.$isMultiSpanSassScriptException) { |
|
error = t1; |
|
throw H.wrapException(E.MultiSpanSassException$(error.message, node.value.span, error.primaryLabel, error.secondarySpans)); |
|
} else if (!!t2.$isSassScriptException) { |
|
error0 = t1; |
|
throw H.wrapException(E.SassException$(error0.message, node.value.span)); |
|
} else |
|
throw exception; |
|
} |
|
} |
|
}, |
|
_isParsedCustomProperty$1: function(node) { |
|
var value, |
|
t1 = node.name; |
|
if (!J.startsWith$1$s(t1.get$value(t1), "--")) |
|
return false; |
|
value = node.value.value; |
|
return value instanceof D.SassString && !value.hasQuotes; |
|
}, |
|
_writeFoldedValue$1: function(node) { |
|
var t1, t2, next, t3, |
|
scanner = X.StringScanner$(H.interceptedTypeCast(node.value.value, "$isSassString").text, null, null); |
|
for (t1 = scanner.string.length, t2 = this._serialize$_buffer; scanner._string_scanner$_position !== t1;) { |
|
next = scanner.readChar$0(); |
|
if (next !== 10) { |
|
t2.writeCharCode$1(next); |
|
continue; |
|
} |
|
t2.writeCharCode$1(32); |
|
while (true) { |
|
t3 = scanner.peekChar$0(); |
|
if (!(t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12)) |
|
break; |
|
scanner.readChar$0(); |
|
} |
|
} |
|
}, |
|
_writeReindentedValue$1: function(node) { |
|
var _this = this, |
|
t1 = node.value, |
|
value = H.interceptedTypeCast(t1.value, "$isSassString").text, |
|
minimumIndentation = _this._minimumIndentation$1(value); |
|
if (minimumIndentation == null) { |
|
_this._serialize$_buffer.write$1(0, value); |
|
return; |
|
} else if (minimumIndentation === -1) { |
|
t1 = _this._serialize$_buffer; |
|
t1.write$1(0, B.trimAsciiRight(value, true)); |
|
t1.writeCharCode$1(32); |
|
return; |
|
} |
|
if (t1.span != null) { |
|
t1 = node.name.get$span(); |
|
t1 = Y.FileLocation$_(t1.file, t1._start); |
|
minimumIndentation = Math.min(minimumIndentation, t1.file.getColumn$1(t1.offset)); |
|
} |
|
_this._writeWithIndent$2(value, minimumIndentation); |
|
}, |
|
_minimumIndentation$1: function(text) { |
|
var character, t2, min, next, min0, |
|
scanner = new Z.LineScanner(null, text), |
|
t1 = text.length; |
|
while (true) { |
|
if (scanner._string_scanner$_position !== t1) { |
|
character = scanner.super$StringScanner$readChar(); |
|
scanner._adjustLineAndColumn$1(character); |
|
t2 = character !== 10; |
|
} else |
|
t2 = false; |
|
if (!t2) |
|
break; |
|
} |
|
if (scanner._string_scanner$_position === t1) |
|
return scanner.peekChar$1(-1) === 10 ? -1 : null; |
|
for (min = null; scanner._string_scanner$_position !== t1;) { |
|
for (; scanner._string_scanner$_position !== t1;) { |
|
next = scanner.peekChar$0(); |
|
if (next !== 32 && next !== 9) |
|
break; |
|
scanner._adjustLineAndColumn$1(scanner.super$StringScanner$readChar()); |
|
} |
|
if (scanner._string_scanner$_position === t1 || scanner.scanChar$1(10)) |
|
continue; |
|
min0 = scanner._line_scanner$_column; |
|
min = min == null ? min0 : Math.min(min, min0); |
|
while (true) { |
|
if (scanner._string_scanner$_position !== t1) { |
|
character = scanner.super$StringScanner$readChar(); |
|
scanner._adjustLineAndColumn$1(character); |
|
t2 = character !== 10; |
|
} else |
|
t2 = false; |
|
if (!t2) |
|
break; |
|
} |
|
} |
|
return min == null ? -1 : min; |
|
}, |
|
_writeWithIndent$2: function(text, minimumIndentation) { |
|
var t1, t2, character, t3, lineStart, newlines, end, |
|
scanner = new Z.LineScanner(null, text); |
|
for (t1 = text.length, t2 = this._serialize$_buffer; scanner._string_scanner$_position !== t1;) { |
|
character = scanner.super$StringScanner$readChar(); |
|
scanner._adjustLineAndColumn$1(character); |
|
if (character === 10) |
|
break; |
|
t2.writeCharCode$1(character); |
|
} |
|
for (t3 = J.getInterceptor$s(text); true;) { |
|
lineStart = scanner._string_scanner$_position; |
|
for (newlines = 1; true;) { |
|
if (scanner._string_scanner$_position === t1) { |
|
t2.writeCharCode$1(32); |
|
return; |
|
} |
|
character = scanner.super$StringScanner$readChar(); |
|
scanner._adjustLineAndColumn$1(character); |
|
if (character === 32 || character === 9) |
|
continue; |
|
if (character !== 10) |
|
break; |
|
lineStart = scanner._string_scanner$_position; |
|
++newlines; |
|
} |
|
this._writeTimes$2(10, newlines); |
|
this._writeIndentation$0(); |
|
end = scanner._string_scanner$_position; |
|
t2.write$1(0, t3.substring$2(text, lineStart + minimumIndentation, end)); |
|
for (; true;) { |
|
if (scanner._string_scanner$_position === t1) |
|
return; |
|
character = scanner.super$StringScanner$readChar(); |
|
scanner._adjustLineAndColumn$1(character); |
|
if (character === 10) |
|
break; |
|
t2.writeCharCode$1(character); |
|
} |
|
} |
|
}, |
|
visitColor$1: function(value) { |
|
var $name, hexLength, t2, t3, _this = this, |
|
t1 = _this._style === C.OutputStyle_compressed; |
|
if (t1 && Math.abs(value.alpha - 1) < $.$get$epsilon()) { |
|
$name = $.$get$namesByColor().$index(0, value); |
|
hexLength = _this._canUseShortHex$1(value) ? 4 : 7; |
|
if ($name != null && $name.length <= hexLength) |
|
_this._serialize$_buffer.write$1(0, $name); |
|
else { |
|
t1 = _this._serialize$_buffer; |
|
if (_this._canUseShortHex$1(value)) { |
|
t1.writeCharCode$1(35); |
|
t1.writeCharCode$1(T.hexCharFor(value.get$red() & 15)); |
|
t1.writeCharCode$1(T.hexCharFor(value.get$green() & 15)); |
|
t1.writeCharCode$1(T.hexCharFor(value.get$blue() & 15)); |
|
} else { |
|
t1.writeCharCode$1(35); |
|
_this._writeHexComponent$1(value.get$red()); |
|
_this._writeHexComponent$1(value.get$green()); |
|
_this._writeHexComponent$1(value.get$blue()); |
|
} |
|
} |
|
return; |
|
} |
|
if (value.get$original() != null) |
|
_this._serialize$_buffer.write$1(0, value.get$original()); |
|
else { |
|
t2 = $.$get$namesByColor(); |
|
if (t2.containsKey$1(value) && !(Math.abs(value.alpha - 0) < $.$get$epsilon())) |
|
_this._serialize$_buffer.write$1(0, t2.$index(0, value)); |
|
else { |
|
t2 = value.alpha; |
|
t3 = _this._serialize$_buffer; |
|
if (Math.abs(t2 - 1) < $.$get$epsilon()) { |
|
t3.writeCharCode$1(35); |
|
_this._writeHexComponent$1(value.get$red()); |
|
_this._writeHexComponent$1(value.get$green()); |
|
_this._writeHexComponent$1(value.get$blue()); |
|
} else { |
|
t3.write$1(0, "rgba(" + H.S(value.get$red())); |
|
t3.write$1(0, t1 ? "," : ", "); |
|
t3.write$1(0, value.get$green()); |
|
t3.write$1(0, t1 ? "," : ", "); |
|
t3.write$1(0, value.get$blue()); |
|
t3.write$1(0, t1 ? "," : ", "); |
|
_this._writeNumber$1(t2); |
|
t3.writeCharCode$1(41); |
|
} |
|
} |
|
} |
|
}, |
|
_canUseShortHex$1: function(color) { |
|
var t1 = color.get$red(); |
|
if ((t1 & 15) === C.JSInt_methods._shrOtherPositive$1(t1, 4)) { |
|
t1 = color.get$green(); |
|
if ((t1 & 15) === C.JSInt_methods._shrOtherPositive$1(t1, 4)) { |
|
t1 = color.get$blue(); |
|
t1 = (t1 & 15) === C.JSInt_methods._shrOtherPositive$1(t1, 4); |
|
} else |
|
t1 = false; |
|
} else |
|
t1 = false; |
|
return t1; |
|
}, |
|
_writeHexComponent$1: function(color) { |
|
var t1 = this._serialize$_buffer; |
|
t1.writeCharCode$1(T.hexCharFor(C.JSInt_methods._shrOtherPositive$1(color, 4))); |
|
t1.writeCharCode$1(T.hexCharFor(color & 15)); |
|
}, |
|
visitList$1: function(value) { |
|
var t2, singleton, t3, t4, _this = this, |
|
t1 = value.hasBrackets; |
|
if (t1) |
|
_this._serialize$_buffer.writeCharCode$1(91); |
|
else if (value._list$_contents.length === 0) { |
|
if (!_this._inspect) |
|
throw H.wrapException(E.SassScriptException$("() isn't a valid CSS value.")); |
|
_this._serialize$_buffer.write$1(0, "()"); |
|
return; |
|
} |
|
t2 = _this._inspect; |
|
singleton = t2 && value._list$_contents.length === 1 && value.separator === C.ListSeparator_comma; |
|
if (singleton && !t1) |
|
_this._serialize$_buffer.writeCharCode$1(40); |
|
t3 = value._list$_contents; |
|
t3 = t2 ? t3 : new H.WhereIterable(t3, new N._SerializeVisitor_visitList_closure(), [H.getTypeArgumentByIndex(t3, 0)]); |
|
if (value.separator === C.ListSeparator_space) |
|
t4 = " "; |
|
else |
|
t4 = _this._style === C.OutputStyle_compressed ? "," : ", "; |
|
_this._writeBetween$3(t3, t4, t2 ? new N._SerializeVisitor_visitList_closure0(_this, value) : new N._SerializeVisitor_visitList_closure1(_this)); |
|
if (singleton) { |
|
t2 = _this._serialize$_buffer; |
|
t2.writeCharCode$1(44); |
|
if (!t1) |
|
t2.writeCharCode$1(41); |
|
} |
|
if (t1) |
|
_this._serialize$_buffer.writeCharCode$1(93); |
|
}, |
|
_elementNeedsParens$2: function(separator, value) { |
|
var t1; |
|
if (value instanceof D.SassList) { |
|
if (value._list$_contents.length < 2) |
|
return false; |
|
if (value.hasBrackets) |
|
return false; |
|
t1 = value.separator; |
|
return separator === C.ListSeparator_comma ? t1 === C.ListSeparator_comma : t1 !== C.ListSeparator_undecided; |
|
} |
|
return false; |
|
}, |
|
visitMap$1: function(map) { |
|
var t1, _this = this; |
|
if (!_this._inspect) |
|
throw H.wrapException(E.SassScriptException$(map.toString$0(0) + " isn't a valid CSS value.")); |
|
t1 = _this._serialize$_buffer; |
|
t1.writeCharCode$1(40); |
|
_this._writeBetween$3(map.contents.get$keys(), ", ", new N._SerializeVisitor_visitMap_closure(_this, map)); |
|
t1.writeCharCode$1(41); |
|
}, |
|
_writeMapElement$1: function(value) { |
|
var needsParens = value instanceof D.SassList && value.separator === C.ListSeparator_comma && !value.hasBrackets; |
|
if (needsParens) |
|
this._serialize$_buffer.writeCharCode$1(40); |
|
value.accept$1(this); |
|
if (needsParens) |
|
this._serialize$_buffer.writeCharCode$1(41); |
|
}, |
|
visitNumber$1: function(value) { |
|
var t2, _this = this, |
|
t1 = value.asSlash; |
|
if (t1 != null) { |
|
_this.visitNumber$1(t1.item1); |
|
_this._serialize$_buffer.writeCharCode$1(47); |
|
_this.visitNumber$1(t1.item2); |
|
return; |
|
} |
|
_this._writeNumber$1(value.value); |
|
if (!_this._inspect) { |
|
t1 = value.numeratorUnits; |
|
t2 = t1.length; |
|
if (t2 > 1 || value.denominatorUnits.length !== 0) |
|
throw H.wrapException(E.SassScriptException$(H.S(value) + " isn't a valid CSS value.")); |
|
if (t2 !== 0) |
|
_this._serialize$_buffer.write$1(0, C.JSArray_methods.get$first(t1)); |
|
} else |
|
_this._serialize$_buffer.write$1(0, value.get$unitString()); |
|
}, |
|
_writeNumber$1: function(number) { |
|
var t1, text, text0, _this = this, |
|
integer = T.fuzzyIsInt(number) ? J.round$0$n(number) : null; |
|
if (integer != null) { |
|
t1 = integer >= 1e21 ? _this._removeExponent$1(C.JSInt_methods.toString$0(integer)) : C.JSInt_methods.toString$0(integer); |
|
_this._serialize$_buffer.write$1(0, t1); |
|
return; |
|
} |
|
text = number >= 1e21 ? _this._removeExponent$1(C.JSNumber_methods.toString$0(number)) : C.JSNumber_methods.toString$0(number); |
|
text0 = _this._style === C.OutputStyle_compressed && C.JSString_methods._codeUnitAt$1(text, 0) === 48 ? C.JSString_methods.substring$1(text, 1) : text; |
|
if (text.length < 12) { |
|
_this._serialize$_buffer.write$1(0, text0); |
|
return; |
|
} |
|
_this._writeDecimal$1(text0); |
|
}, |
|
_removeExponent$1: function(text) { |
|
var exponent, buffer, t2, additionalZeroes, negative, _null = null, |
|
t1 = text.length, |
|
i = 0; |
|
while (true) { |
|
if (!(i < t1)) { |
|
exponent = _null; |
|
buffer = exponent; |
|
break; |
|
} |
|
c$0: { |
|
if (C.JSString_methods._codeUnitAt$1(text, i) !== 101) |
|
break c$0; |
|
buffer = new P.StringBuffer(""); |
|
t2 = H.Primitives_stringFromCharCode(C.JSString_methods._codeUnitAt$1(text, 0)); |
|
buffer._contents = t2; |
|
if (i > 2) |
|
buffer._contents = t2 + C.JSString_methods.substring$2(text, 2, i); |
|
exponent = P.int_parse(C.JSString_methods.substring$2(text, i + 1, t1), _null, _null); |
|
break; |
|
} |
|
++i; |
|
} |
|
if (buffer == null) |
|
return text; |
|
if (exponent > 0) { |
|
t1 = buffer._contents; |
|
additionalZeroes = exponent - (t1.length - 1); |
|
for (i = 0; i < additionalZeroes; ++i) |
|
t1 = buffer._contents += H.Primitives_stringFromCharCode(48); |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
} else { |
|
negative = C.JSString_methods._codeUnitAt$1(text, 0) === 45; |
|
t1 = (negative ? H.Primitives_stringFromCharCode(45) : "") + "0."; |
|
for (i = -1; i > exponent; --i) |
|
t1 += H.Primitives_stringFromCharCode(48); |
|
if (negative) { |
|
t2 = buffer._contents; |
|
t2 = C.JSString_methods.substring$1(t2.charCodeAt(0) == 0 ? t2 : t2, 1); |
|
} else |
|
t2 = buffer; |
|
t2 = t1 + H.S(t2); |
|
return t2.charCodeAt(0) == 0 ? t2 : t2; |
|
} |
|
}, |
|
_writeDecimal$1: function(text) { |
|
var t1, t2, textIndex, codeUnit, digits, t3, digitsIndex, digitsIndex0, textIndex0, newDigit, i; |
|
for (t1 = text.length, t2 = this._serialize$_buffer, textIndex = 0; textIndex < t1; ++textIndex) { |
|
codeUnit = C.JSString_methods._codeUnitAt$1(text, textIndex); |
|
if (codeUnit === 46) { |
|
if (textIndex === t1 - 2 && C.JSString_methods.codeUnitAt$1(text, t1 - 1) === 48) |
|
return; |
|
t2.writeCharCode$1(codeUnit); |
|
++textIndex; |
|
break; |
|
} |
|
t2.writeCharCode$1(codeUnit); |
|
} |
|
if (textIndex === t1) |
|
return; |
|
digits = new Uint8Array(10); |
|
t3 = digits.length; |
|
digitsIndex = 0; |
|
while (true) { |
|
if (!(textIndex < t1 && digitsIndex < t3)) |
|
break; |
|
digitsIndex0 = digitsIndex + 1; |
|
textIndex0 = textIndex + 1; |
|
digits[digitsIndex] = C.JSString_methods._codeUnitAt$1(text, textIndex) - 48; |
|
digitsIndex = digitsIndex0; |
|
textIndex = textIndex0; |
|
} |
|
if (textIndex !== t1 && C.JSString_methods._codeUnitAt$1(text, textIndex) - 48 >= 5) |
|
for (; digitsIndex >= 0; digitsIndex = digitsIndex0) { |
|
digitsIndex0 = digitsIndex - 1; |
|
newDigit = digits[digitsIndex0] + 1; |
|
digits[digitsIndex0] = newDigit; |
|
if (newDigit !== 10) |
|
break; |
|
} |
|
while (true) { |
|
if (!(digitsIndex > 0 && digits[digitsIndex - 1] === 0)) |
|
break; |
|
--digitsIndex; |
|
} |
|
for (i = 0; i < digitsIndex; ++i) |
|
t2.writeCharCode$1(48 + digits[i]); |
|
}, |
|
_visitQuotedString$2$forceDoubleQuote: function(string, forceDoubleQuote) { |
|
var t1, includesSingleQuote, includesDoubleQuote, i, char, t2, next, quote, _this = this, |
|
buffer = forceDoubleQuote ? _this._serialize$_buffer : new P.StringBuffer(""); |
|
if (forceDoubleQuote) |
|
buffer.writeCharCode$1(34); |
|
for (t1 = string.length, includesSingleQuote = false, includesDoubleQuote = false, i = 0; i < t1; ++i) { |
|
char = C.JSString_methods._codeUnitAt$1(string, i); |
|
switch (char) { |
|
case 39: |
|
if (forceDoubleQuote) |
|
buffer.writeCharCode$1(39); |
|
else { |
|
if (includesDoubleQuote) { |
|
_this._visitQuotedString$2$forceDoubleQuote(string, true); |
|
return; |
|
} else |
|
buffer.writeCharCode$1(39); |
|
includesSingleQuote = true; |
|
} |
|
break; |
|
case 34: |
|
if (forceDoubleQuote) { |
|
buffer.writeCharCode$1(92); |
|
buffer.writeCharCode$1(34); |
|
} else { |
|
if (includesSingleQuote) { |
|
_this._visitQuotedString$2$forceDoubleQuote(string, true); |
|
return; |
|
} else |
|
buffer.writeCharCode$1(34); |
|
includesDoubleQuote = true; |
|
} |
|
break; |
|
case 0: |
|
case 1: |
|
case 2: |
|
case 3: |
|
case 4: |
|
case 5: |
|
case 6: |
|
case 7: |
|
case 8: |
|
case 10: |
|
case 11: |
|
case 12: |
|
case 13: |
|
case 14: |
|
case 15: |
|
case 16: |
|
case 17: |
|
case 18: |
|
case 19: |
|
case 20: |
|
case 21: |
|
case 22: |
|
case 23: |
|
case 24: |
|
case 25: |
|
case 26: |
|
case 27: |
|
case 28: |
|
case 29: |
|
case 30: |
|
case 31: |
|
buffer.writeCharCode$1(92); |
|
if (char > 15) { |
|
t2 = char >>> 4; |
|
buffer.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2); |
|
} |
|
t2 = char & 15; |
|
buffer.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2); |
|
t2 = i + 1; |
|
if (t1 === t2) |
|
break; |
|
next = C.JSString_methods._codeUnitAt$1(string, t2); |
|
if (T.isHex(next) || next === 32 || next === 9) |
|
buffer.writeCharCode$1(32); |
|
break; |
|
case 92: |
|
buffer.writeCharCode$1(92); |
|
buffer.writeCharCode$1(92); |
|
break; |
|
default: |
|
buffer.writeCharCode$1(char); |
|
break; |
|
} |
|
} |
|
if (forceDoubleQuote) |
|
buffer.writeCharCode$1(34); |
|
else { |
|
quote = includesDoubleQuote ? 39 : 34; |
|
t1 = _this._serialize$_buffer; |
|
t1.writeCharCode$1(quote); |
|
t1.write$1(0, buffer); |
|
t1.writeCharCode$1(quote); |
|
} |
|
}, |
|
_visitQuotedString$1: function(string) { |
|
return this._visitQuotedString$2$forceDoubleQuote(string, false); |
|
}, |
|
_visitUnquotedString$1: function(string) { |
|
var t1, t2, afterNewline, i, char; |
|
for (t1 = string.length, t2 = this._serialize$_buffer, afterNewline = false, i = 0; i < t1; ++i) { |
|
char = C.JSString_methods._codeUnitAt$1(string, i); |
|
switch (char) { |
|
case 10: |
|
t2.writeCharCode$1(32); |
|
afterNewline = true; |
|
break; |
|
case 32: |
|
if (!afterNewline) |
|
t2.writeCharCode$1(32); |
|
break; |
|
default: |
|
t2.writeCharCode$1(char); |
|
afterNewline = false; |
|
break; |
|
} |
|
} |
|
}, |
|
visitComplexSelector$1: function(complex) { |
|
var t1, t2, t3, t4, lastComponent, _i, component, t5; |
|
for (t1 = complex.components, t2 = t1.length, t3 = this._serialize$_buffer, t4 = this._style === C.OutputStyle_compressed, lastComponent = null, _i = 0; _i < t2; ++_i, lastComponent = component) { |
|
component = t1[_i]; |
|
if (lastComponent != null) |
|
if (!(t4 && !!lastComponent.$isCombinator)) |
|
t5 = !(t4 && component instanceof S.Combinator); |
|
else |
|
t5 = false; |
|
else |
|
t5 = false; |
|
if (t5) |
|
t3.write$1(0, " "); |
|
if (component instanceof X.CompoundSelector) |
|
this.visitCompoundSelector$1(component); |
|
else |
|
t3.write$1(0, component); |
|
} |
|
}, |
|
visitCompoundSelector$1: function(compound) { |
|
var t2, t3, _i, |
|
t1 = this._serialize$_buffer, |
|
start = t1.get$length(t1); |
|
for (t2 = compound.components, t3 = t2.length, _i = 0; _i < t3; ++_i) |
|
t2[_i].accept$1(this); |
|
if (t1.get$length(t1) === start) |
|
t1.writeCharCode$1(42); |
|
}, |
|
visitSelectorList$1: function(list) { |
|
var complexes, t1, t2, t3, t4, first, t5, _this = this; |
|
if (_this._inspect) |
|
complexes = list.components; |
|
else { |
|
t1 = list.components; |
|
complexes = new H.WhereIterable(t1, new N._SerializeVisitor_visitSelectorList_closure(), [H.getTypeArgumentByIndex(t1, 0)]); |
|
} |
|
for (t1 = J.get$iterator$ax(complexes), t2 = _this._style !== C.OutputStyle_compressed, t3 = _this._serialize$_buffer, t4 = _this._lineFeed.text, first = true; t1.moveNext$0();) { |
|
t5 = t1.get$current(t1); |
|
if (first) |
|
first = false; |
|
else { |
|
t3.writeCharCode$1(44); |
|
if (t5.lineBreak) { |
|
if (t2) |
|
t3.write$1(0, t4); |
|
} else if (t2) |
|
t3.writeCharCode$1(32); |
|
} |
|
_this.visitComplexSelector$1(t5); |
|
} |
|
}, |
|
visitPseudoSelector$1: function(pseudo) { |
|
var t4, t5, t6, |
|
t1 = pseudo.selector, |
|
t2 = t1 == null, |
|
t3 = !t2; |
|
if (t3 && pseudo.name === "not" && t1.get$isInvisible()) |
|
return; |
|
t4 = this._serialize$_buffer; |
|
t4.writeCharCode$1(58); |
|
if (!pseudo.isSyntacticClass) |
|
t4.writeCharCode$1(58); |
|
t4.write$1(0, pseudo.name); |
|
t5 = pseudo.argument; |
|
t6 = t5 == null; |
|
if (t6 && t2) |
|
return; |
|
t4.writeCharCode$1(40); |
|
if (!t6) { |
|
t4.write$1(0, t5); |
|
if (t3) |
|
t4.writeCharCode$1(32); |
|
} |
|
if (t3) |
|
this.visitSelectorList$1(t1); |
|
t4.writeCharCode$1(41); |
|
}, |
|
_write$1: function(value) { |
|
return this._serialize$_buffer.forSpan$2(value.get$span(), new N._SerializeVisitor__write_closure(this, value)); |
|
}, |
|
_serialize$_visitChildren$1: function(children) { |
|
var t3, _this = this, t1 = {}, |
|
t2 = _this._serialize$_buffer; |
|
t2.writeCharCode$1(123); |
|
if (children.every$1(children, _this.get$_isInvisible())) { |
|
t2.writeCharCode$1(125); |
|
return; |
|
} |
|
_this._writeLineFeed$0(); |
|
t1.previous = null; |
|
++_this._indentation; |
|
new N._SerializeVisitor__visitChildren_closure(t1, _this, children).call$0(); |
|
--_this._indentation; |
|
t1 = t1.previous; |
|
t3 = J.getInterceptor$(t1); |
|
if ((!!t3.$isCssParentNode ? t1.get$isChildless() : !t3.$isCssComment) && _this._style !== C.OutputStyle_compressed) |
|
t2.writeCharCode$1(59); |
|
_this._writeLineFeed$0(); |
|
_this._writeIndentation$0(); |
|
t2.writeCharCode$1(125); |
|
}, |
|
_writeLineFeed$0: function() { |
|
if (this._style !== C.OutputStyle_compressed) |
|
this._serialize$_buffer.write$1(0, this._lineFeed.text); |
|
}, |
|
_writeIndentation$0: function() { |
|
var _this = this; |
|
if (_this._style === C.OutputStyle_compressed) |
|
return; |
|
_this._writeTimes$2(_this._indentCharacter, _this._indentation * _this._indentWidth); |
|
}, |
|
_writeTimes$2: function(char, times) { |
|
var t1, i; |
|
for (t1 = this._serialize$_buffer, i = 0; i < times; ++i) |
|
t1.writeCharCode$1(char); |
|
}, |
|
_writeBetween$1$3: function(iterable, text, callback) { |
|
var t1, t2, first, value; |
|
for (t1 = J.get$iterator$ax(iterable), t2 = this._serialize$_buffer, first = true; t1.moveNext$0();) { |
|
value = t1.get$current(t1); |
|
if (first) |
|
first = false; |
|
else |
|
t2.write$1(0, text); |
|
callback.call$1(value); |
|
} |
|
}, |
|
_writeBetween$3: function(iterable, text, callback) { |
|
return this._writeBetween$1$3(iterable, text, callback, null); |
|
}, |
|
_isInvisible$1: function(node) { |
|
if (this._inspect) |
|
return false; |
|
if (this._style === C.OutputStyle_compressed && !!J.getInterceptor$(node).$isCssComment && J._codeUnitAt$1$s(node.text, 2) !== 33) |
|
return true; |
|
if (!!J.getInterceptor$(node).$isCssParentNode) { |
|
if (!!node.$isCssAtRule) |
|
return false; |
|
if (!!node.$isCssStyleRule && node.selector.value.get$isInvisible()) |
|
return true; |
|
return J.every$1$ax(node.get$children(), this.get$_isInvisible()); |
|
} else |
|
return false; |
|
} |
|
}; |
|
N._SerializeVisitor_visitCssComment_closure.prototype = { |
|
call$0: function() { |
|
var t2, t3, minimumIndentation, |
|
t1 = this.$this; |
|
if (t1._style === C.OutputStyle_compressed && J._codeUnitAt$1$s(this.node.text, 2) !== 33) |
|
return; |
|
t2 = this.node; |
|
t3 = t2.text; |
|
minimumIndentation = t1._minimumIndentation$1(t3); |
|
if (minimumIndentation == null) { |
|
t1._writeIndentation$0(); |
|
t1._serialize$_buffer.write$1(0, t3); |
|
return; |
|
} |
|
t2 = t2.span; |
|
if (t2 != null) { |
|
t2 = Y.FileLocation$_(t2.file, t2._start); |
|
minimumIndentation = Math.min(minimumIndentation, t2.file.getColumn$1(t2.offset)); |
|
} |
|
t1._writeIndentation$0(); |
|
t1._writeWithIndent$2(t3, minimumIndentation); |
|
} |
|
}; |
|
N._SerializeVisitor_visitCssAtRule_closure.prototype = { |
|
call$0: function() { |
|
var t3, |
|
t1 = this.$this, |
|
t2 = t1._serialize$_buffer; |
|
t2.writeCharCode$1(64); |
|
t3 = this.node; |
|
t1._write$1(t3.name); |
|
t3 = t3.value; |
|
if (t3 != null) { |
|
t2.writeCharCode$1(32); |
|
t1._write$1(t3); |
|
} |
|
} |
|
}; |
|
N._SerializeVisitor_visitCssMediaRule_closure.prototype = { |
|
call$0: function() { |
|
var t3, t4, |
|
t1 = this.$this, |
|
t2 = t1._serialize$_buffer; |
|
t2.write$1(0, "@media"); |
|
t3 = t1._style === C.OutputStyle_compressed; |
|
if (t3) { |
|
t4 = C.JSArray_methods.get$first(this.node.queries); |
|
t4 = !(t4.modifier == null && t4.type == null); |
|
} else |
|
t4 = true; |
|
if (t4) |
|
t2.writeCharCode$1(32); |
|
t2 = t3 ? "," : ", "; |
|
t1._writeBetween$3(this.node.queries, t2, t1.get$_visitMediaQuery()); |
|
} |
|
}; |
|
N._SerializeVisitor_visitCssImport_closure.prototype = { |
|
call$0: function() { |
|
var t3, t4, t5, t6, |
|
t1 = this.$this, |
|
t2 = t1._serialize$_buffer; |
|
t2.write$1(0, "@import"); |
|
t3 = t1._style === C.OutputStyle_compressed; |
|
t4 = !t3; |
|
if (t4) |
|
t2.writeCharCode$1(32); |
|
t5 = this.node; |
|
t2.forSpan$2(t5.url.get$span(), new N._SerializeVisitor_visitCssImport__closure(t1, t5)); |
|
t6 = t5.supports; |
|
if (t6 != null) { |
|
if (t4) |
|
t2.writeCharCode$1(32); |
|
t1._write$1(t6); |
|
} |
|
t5 = t5.media; |
|
if (t5 != null) { |
|
if (t4) |
|
t2.writeCharCode$1(32); |
|
t2 = t3 ? "," : ", "; |
|
t1._writeBetween$3(t5, t2, t1.get$_visitMediaQuery()); |
|
} |
|
} |
|
}; |
|
N._SerializeVisitor_visitCssImport__closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.node.url; |
|
return this.$this._writeImportUrl$1(t1.get$value(t1)); |
|
} |
|
}; |
|
N._SerializeVisitor_visitCssKeyframeBlock_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
t2 = t1._style === C.OutputStyle_compressed ? "," : ", ", |
|
t3 = t1._serialize$_buffer; |
|
return t1._writeBetween$3(this.node.selector.value, t2, t3.get$write(t3)); |
|
} |
|
}; |
|
N._SerializeVisitor_visitCssStyleRule_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.node.selector.value; |
|
t1.toString; |
|
return this.$this.visitSelectorList$1(t1); |
|
} |
|
}; |
|
N._SerializeVisitor_visitCssSupportsRule_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
t2 = t1._serialize$_buffer; |
|
t2.write$1(0, "@supports"); |
|
if (!(t1._style === C.OutputStyle_compressed && J.codeUnitAt$1$s(this.node.condition.value, 0) === 40)) |
|
t2.writeCharCode$1(32); |
|
t1._write$1(this.node.condition); |
|
} |
|
}; |
|
N._SerializeVisitor_visitCssDeclaration_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
t2 = this.node; |
|
if (t1._style === C.OutputStyle_compressed) |
|
t1._writeFoldedValue$1(t2); |
|
else |
|
t1._writeReindentedValue$1(t2); |
|
} |
|
}; |
|
N._SerializeVisitor_visitCssDeclaration_closure0.prototype = { |
|
call$0: function() { |
|
return this.node.value.value.accept$1(this.$this); |
|
} |
|
}; |
|
N._SerializeVisitor_visitList_closure.prototype = { |
|
call$1: function(element) { |
|
return !element.get$isBlank(); |
|
} |
|
}; |
|
N._SerializeVisitor_visitList_closure0.prototype = { |
|
call$1: function(element) { |
|
var t1 = this.$this, |
|
needsParens = t1._elementNeedsParens$2(this.value.separator, element); |
|
if (needsParens) |
|
t1._serialize$_buffer.writeCharCode$1(40); |
|
element.accept$1(t1); |
|
if (needsParens) |
|
t1._serialize$_buffer.writeCharCode$1(41); |
|
} |
|
}; |
|
N._SerializeVisitor_visitList_closure1.prototype = { |
|
call$1: function(element) { |
|
element.accept$1(this.$this); |
|
} |
|
}; |
|
N._SerializeVisitor_visitMap_closure.prototype = { |
|
call$1: function(key) { |
|
var t1 = this.$this; |
|
t1._writeMapElement$1(key); |
|
t1._serialize$_buffer.write$1(0, ": "); |
|
t1._writeMapElement$1(this.map.contents.$index(0, key)); |
|
} |
|
}; |
|
N._SerializeVisitor_visitSelectorList_closure.prototype = { |
|
call$1: function(complex) { |
|
return !complex.get$isInvisible(); |
|
} |
|
}; |
|
N._SerializeVisitor__write_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.value; |
|
return this.$this._serialize$_buffer.write$1(0, t1.get$value(t1)); |
|
} |
|
}; |
|
N._SerializeVisitor__visitChildren_closure.prototype = { |
|
call$0: function() { |
|
var t1, t2, t3, t4, t5, t6, i, child, t7; |
|
for (t1 = this.children._collection$_source, t2 = J.getInterceptor$asx(t1), t3 = this._box_0, t4 = this.$this, t5 = t4._serialize$_buffer, t6 = t4._lineFeed.text, i = 0; i < t2.get$length(t1); ++i) { |
|
child = t2.elementAt$1(t1, i); |
|
if (t4._isInvisible$1(child)) |
|
continue; |
|
t7 = t3.previous; |
|
if (t7 != null) { |
|
if (!!t7.$isCssParentNode ? t7.get$isChildless() : !t7.$isCssComment) |
|
t5.writeCharCode$1(59); |
|
t7 = t4._style !== C.OutputStyle_compressed; |
|
if (t7) |
|
t5.write$1(0, t6); |
|
if (t3.previous.get$isGroupEnd()) |
|
if (t7) |
|
t5.write$1(0, t6); |
|
} |
|
t3.previous = child; |
|
child.accept$1(t4); |
|
} |
|
} |
|
}; |
|
N.OutputStyle.prototype = { |
|
toString$0: function(_) { |
|
return this._serialize$_name; |
|
} |
|
}; |
|
N.LineFeed.prototype = { |
|
toString$0: function(_) { |
|
return this.name; |
|
} |
|
}; |
|
N.SerializeResult.prototype = {}; |
|
N.withWarnCallback_closure.prototype = { |
|
call$0: function() { |
|
return this.callback.call$0(); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
L.Entry.prototype = { |
|
compareTo$1: function(_, other) { |
|
var t1, t2, t3, |
|
res = this.target.compareTo$1(0, other.target); |
|
if (res !== 0) |
|
return res; |
|
t1 = this.source; |
|
t2 = J.toString$0$(t1.file.url); |
|
t3 = other.source; |
|
res = C.JSString_methods.compareTo$1(t2, J.toString$0$(t3.file.url)); |
|
if (res !== 0) |
|
return res; |
|
return t1.compareTo$1(0, t3); |
|
}, |
|
$isComparable: 1, |
|
$asComparable: function() { |
|
return [L.Entry]; |
|
}, |
|
get$source: function() { |
|
return this.source; |
|
}, |
|
get$target: function() { |
|
return this.target; |
|
}, |
|
get$identifierName: function() { |
|
return this.identifierName; |
|
} |
|
}; |
|
T.Mapping.prototype = {}; |
|
T.SingleMapping.prototype = { |
|
toJson$1$includeSourceContents: function(includeSourceContents) { |
|
var t1, t2, line, column, srcLine, srcColumn, srcUrlId, srcNameId, first, _i, entry, nextLine, i, t3, t4, _i0, segment, column0, t5, newUrlId, srcLine0, srcColumn0, srcNameId0, result, _this = this, |
|
buff = new P.StringBuffer(""); |
|
for (t1 = _this.lines, t2 = t1.length, line = 0, column = 0, srcLine = 0, srcColumn = 0, srcUrlId = 0, srcNameId = 0, first = true, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { |
|
entry = t1[_i]; |
|
nextLine = entry.line; |
|
if (nextLine > line) { |
|
for (i = line; i < nextLine; ++i) |
|
buff._contents += ";"; |
|
line = nextLine; |
|
column = 0; |
|
first = true; |
|
} |
|
for (t3 = entry.entries, t4 = t3.length, _i0 = 0; _i0 < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i0, column = column0, first = false) { |
|
segment = t3[_i0]; |
|
if (!first) |
|
buff._contents += ","; |
|
column0 = segment.column; |
|
t5 = L.encodeVlq(column0 - column); |
|
t5 = P.StringBuffer__writeAll(buff._contents, t5, ""); |
|
buff._contents = t5; |
|
newUrlId = segment.sourceUrlId; |
|
if (newUrlId == null) |
|
continue; |
|
t5 = P.StringBuffer__writeAll(t5, L.encodeVlq(newUrlId - srcUrlId), ""); |
|
buff._contents = t5; |
|
srcLine0 = segment.sourceLine; |
|
t5 = P.StringBuffer__writeAll(t5, L.encodeVlq(srcLine0 - srcLine), ""); |
|
buff._contents = t5; |
|
srcColumn0 = segment.sourceColumn; |
|
t5 = P.StringBuffer__writeAll(t5, L.encodeVlq(srcColumn0 - srcColumn), ""); |
|
buff._contents = t5; |
|
srcNameId0 = segment.sourceNameId; |
|
if (srcNameId0 == null) { |
|
srcUrlId = newUrlId; |
|
srcColumn = srcColumn0; |
|
srcLine = srcLine0; |
|
continue; |
|
} |
|
buff._contents = P.StringBuffer__writeAll(t5, L.encodeVlq(srcNameId0 - srcNameId), ""); |
|
srcNameId = srcNameId0; |
|
srcUrlId = newUrlId; |
|
srcColumn = srcColumn0; |
|
srcLine = srcLine0; |
|
} |
|
} |
|
t1 = _this.sourceRoot; |
|
if (t1 == null) |
|
t1 = ""; |
|
t2 = buff._contents; |
|
t3 = P.String; |
|
result = P.LinkedHashMap_LinkedHashMap$_literal(["version", 3, "sourceRoot", t1, "sources", _this.urls, "names", _this.names, "mappings", t2.charCodeAt(0) == 0 ? t2 : t2], t3, P.Object); |
|
t1 = _this.targetUrl; |
|
if (t1 != null) |
|
result.$indexSet(0, "file", t1); |
|
if (includeSourceContents) { |
|
t1 = _this.files; |
|
result.$indexSet(0, "sourcesContent", new H.MappedListIterable(t1, new T.SingleMapping_toJson_closure(), [H.getTypeArgumentByIndex(t1, 0), t3]).toList$0(0)); |
|
} |
|
_this.extensions.forEach$1(0, new T.SingleMapping_toJson_closure0(result)); |
|
return result; |
|
}, |
|
toJson$0: function() { |
|
return this.toJson$1$includeSourceContents(false); |
|
}, |
|
toString$0: function(_) { |
|
var _this = this, |
|
t1 = H.getRuntimeType(_this).toString$0(0); |
|
t1 + " : ["; |
|
t1 = t1 + " : [targetUrl: " + H.S(_this.targetUrl) + ", sourceRoot: " + H.S(_this.sourceRoot) + ", urls: " + H.S(_this.urls) + ", names: " + H.S(_this.names) + ", lines: " + H.S(_this.lines) + "]"; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
} |
|
}; |
|
T.SingleMapping_SingleMapping$fromEntries_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.urls; |
|
return t1.get$length(t1); |
|
} |
|
}; |
|
T.SingleMapping_SingleMapping$fromEntries_closure0.prototype = { |
|
call$0: function() { |
|
return H.interceptedTypeCast(this.sourceEntry.get$source(), "$isFileLocation").file; |
|
} |
|
}; |
|
T.SingleMapping_SingleMapping$fromEntries_closure1.prototype = { |
|
call$1: function(i) { |
|
return this.files.$index(0, i); |
|
}, |
|
$signature: 59 |
|
}; |
|
T.SingleMapping_toJson_closure.prototype = { |
|
call$1: function(file) { |
|
return file == null ? null : P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(file._decodedChars, 0, null), 0, null); |
|
} |
|
}; |
|
T.SingleMapping_toJson_closure0.prototype = { |
|
call$2: function($name, value) { |
|
this.result.$indexSet(0, $name, value); |
|
return value; |
|
} |
|
}; |
|
T.TargetLineEntry.prototype = { |
|
toString$0: function(_) { |
|
return H.getRuntimeType(this).toString$0(0) + ": " + this.line + " " + H.S(this.entries); |
|
} |
|
}; |
|
T.TargetEntry.prototype = { |
|
toString$0: function(_) { |
|
var _this = this; |
|
return H.getRuntimeType(_this).toString$0(0) + ": (" + _this.column + ", " + H.S(_this.sourceUrlId) + ", " + H.S(_this.sourceLine) + ", " + H.S(_this.sourceColumn) + ", " + H.S(_this.sourceNameId) + ")"; |
|
} |
|
}; |
|
Y.SourceFile.prototype = { |
|
get$length: function(_) { |
|
return this._decodedChars.length; |
|
}, |
|
get$lines: function() { |
|
return this._lineStarts.length; |
|
}, |
|
SourceFile$decoded$2$url: function(decodedChars, url) { |
|
var t1, t2, t3, i, c, j; |
|
for (t1 = this._decodedChars, t2 = t1.length, t3 = this._lineStarts, i = 0; i < t2; ++i) { |
|
c = t1[i]; |
|
if (c === 13) { |
|
j = i + 1; |
|
if (j >= t2 || t1[j] !== 10) |
|
c = 10; |
|
} |
|
if (c === 10) |
|
t3.push(i + 1); |
|
} |
|
}, |
|
span$2: function(start, end) { |
|
return Y._FileSpan$(this, start, end); |
|
}, |
|
span$1: function(start) { |
|
return this.span$2(start, null); |
|
}, |
|
getLine$1: function(offset) { |
|
var t1, _this = this; |
|
if (offset < 0) |
|
throw H.wrapException(P.RangeError$("Offset may not be negative, was " + offset + ".")); |
|
else if (offset > _this._decodedChars.length) |
|
throw H.wrapException(P.RangeError$("Offset " + offset + " must not be greater than the number of characters in the file, " + _this.get$length(_this) + ".")); |
|
t1 = _this._lineStarts; |
|
if (offset < C.JSArray_methods.get$first(t1)) |
|
return -1; |
|
if (offset >= C.JSArray_methods.get$last(t1)) |
|
return t1.length - 1; |
|
if (_this._isNearCachedLine$1(offset)) |
|
return _this._cachedLine; |
|
return _this._cachedLine = _this._binarySearch$1(offset) - 1; |
|
}, |
|
_isNearCachedLine$1: function(offset) { |
|
var t2, t3, |
|
t1 = this._cachedLine; |
|
if (t1 == null) |
|
return false; |
|
t2 = this._lineStarts; |
|
if (offset < t2[t1]) |
|
return false; |
|
t3 = t2.length; |
|
if (t1 >= t3 - 1 || offset < t2[t1 + 1]) |
|
return true; |
|
if (t1 >= t3 - 2 || offset < t2[t1 + 2]) { |
|
this._cachedLine = t1 + 1; |
|
return true; |
|
} |
|
return false; |
|
}, |
|
_binarySearch$1: function(offset) { |
|
var min, half, |
|
t1 = this._lineStarts, |
|
max = t1.length - 1; |
|
for (min = 0; min < max;) { |
|
half = min + C.JSInt_methods._tdivFast$1(max - min, 2); |
|
if (t1[half] > offset) |
|
max = half; |
|
else |
|
min = half + 1; |
|
} |
|
return max; |
|
}, |
|
getColumn$1: function(offset) { |
|
var line, lineStart, _this = this; |
|
if (offset < 0) |
|
throw H.wrapException(P.RangeError$("Offset may not be negative, was " + offset + ".")); |
|
else if (offset > _this._decodedChars.length) |
|
throw H.wrapException(P.RangeError$("Offset " + offset + " must be not be greater than the number of characters in the file, " + _this.get$length(_this) + ".")); |
|
line = _this.getLine$1(offset); |
|
lineStart = _this._lineStarts[line]; |
|
if (lineStart > offset) |
|
throw H.wrapException(P.RangeError$("Line " + H.S(line) + " comes after offset " + offset + ".")); |
|
return offset - lineStart; |
|
}, |
|
getOffset$1: function(line) { |
|
var t1, t2, result, t3; |
|
if (line < 0) |
|
throw H.wrapException(P.RangeError$("Line may not be negative, was " + H.S(line) + ".")); |
|
else { |
|
t1 = this._lineStarts; |
|
t2 = t1.length; |
|
if (line >= t2) |
|
throw H.wrapException(P.RangeError$("Line " + H.S(line) + " must be less than the number of lines in the file, " + this.get$lines() + ".")); |
|
} |
|
result = t1[line]; |
|
if (result <= this._decodedChars.length) { |
|
t3 = line + 1; |
|
t1 = t3 < t2 && result >= t1[t3]; |
|
} else |
|
t1 = true; |
|
if (t1) |
|
throw H.wrapException(P.RangeError$("Line " + H.S(line) + " doesn't have 0 columns.")); |
|
return result; |
|
} |
|
}; |
|
Y.FileLocation.prototype = { |
|
get$sourceUrl: function() { |
|
return this.file.url; |
|
}, |
|
get$line: function() { |
|
return this.file.getLine$1(this.offset); |
|
}, |
|
get$column: function() { |
|
return this.file.getColumn$1(this.offset); |
|
}, |
|
pointSpan$0: function() { |
|
var t1 = this.offset; |
|
return Y._FileSpan$(this.file, t1, t1); |
|
}, |
|
get$offset: function() { |
|
return this.offset; |
|
} |
|
}; |
|
Y.FileSpan.prototype = {$isComparable: 1, |
|
$asComparable: function() { |
|
return [V.SourceSpan]; |
|
}, |
|
$isSourceSpan: 1, |
|
$isSourceSpanWithContext: 1 |
|
}; |
|
Y._FileSpan.prototype = { |
|
get$sourceUrl: function() { |
|
return this.file.url; |
|
}, |
|
get$length: function(_) { |
|
return this._file$_end - this._start; |
|
}, |
|
get$start: function(_) { |
|
return Y.FileLocation$_(this.file, this._start); |
|
}, |
|
get$end: function(_) { |
|
return Y.FileLocation$_(this.file, this._file$_end); |
|
}, |
|
get$text: function() { |
|
return P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(this.file._decodedChars, this._start, this._file$_end), 0, null); |
|
}, |
|
get$context: function(_) { |
|
var _this = this, |
|
t1 = _this.file, |
|
endOffset = _this._file$_end, |
|
endLine = t1.getLine$1(endOffset); |
|
if (t1.getColumn$1(endOffset) === 0 && endLine !== 0) { |
|
if (endOffset - _this._start === 0) |
|
return endLine === t1._lineStarts.length - 1 ? "" : P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1._decodedChars, t1.getOffset$1(endLine), t1.getOffset$1(endLine + 1)), 0, null); |
|
} else |
|
endOffset = endLine === t1._lineStarts.length - 1 ? t1._decodedChars.length : t1.getOffset$1(endLine + 1); |
|
return P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1._decodedChars, t1.getOffset$1(t1.getLine$1(_this._start)), endOffset), 0, null); |
|
}, |
|
compareTo$1: function(_, other) { |
|
var result; |
|
if (!(other instanceof Y._FileSpan)) |
|
return this.super$SourceSpanMixin$compareTo(0, other); |
|
result = C.JSInt_methods.compareTo$1(this._start, other._start); |
|
return result === 0 ? C.JSInt_methods.compareTo$1(this._file$_end, other._file$_end) : result; |
|
}, |
|
$eq: function(_, other) { |
|
var _this = this; |
|
if (other == null) |
|
return false; |
|
if (!J.getInterceptor$(other).$isFileSpan) |
|
return _this.super$SourceSpanMixin$$eq(0, other); |
|
return _this._start === other._start && _this._file$_end === other._file$_end && J.$eq$(_this.file.url, other.file.url); |
|
}, |
|
get$hashCode: function(_) { |
|
return Y.SourceSpanMixin.prototype.get$hashCode.call(this, this); |
|
}, |
|
expand$1: function(_, other) { |
|
var t3, t4, _this = this, |
|
t1 = _this.file, |
|
t2 = other.file; |
|
if (!J.$eq$(t1.url, t2.url)) |
|
throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(_this.get$sourceUrl()) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match.")); |
|
t3 = _this._start; |
|
t4 = _this._file$_end; |
|
if (other instanceof Y._FileSpan) |
|
return Y._FileSpan$(t1, Math.min(t3, other._start), Math.max(t4, other._file$_end)); |
|
else |
|
return Y._FileSpan$(t1, Math.min(t3, Y.FileLocation$_(t2, other._start).offset), Math.max(t4, Y.FileLocation$_(t2, other._file$_end).offset)); |
|
}, |
|
$isFileSpan: 1, |
|
$isSourceSpanWithContext: 1 |
|
}; |
|
U.Highlighter.prototype = { |
|
highlight$0: function() { |
|
var t2, highlightsByColumn, t3, t4, i, line, lastLine, t5, t6, t7, t8, index, primary, t9, t10, _i, highlight, _this = this, |
|
t1 = _this._lines; |
|
_this._writeFileStart$1(C.JSArray_methods.get$first(t1).url); |
|
t2 = new Array(_this._maxMultilineSpans); |
|
t2.fixed$length = Array; |
|
highlightsByColumn = H.setRuntimeTypeInfo(t2, [U._Highlight]); |
|
for (t2 = _this._highlighter$_buffer, t3 = highlightsByColumn.length !== 0, t4 = _this._primaryColor, i = 0; i < t1.length; ++i) { |
|
line = t1[i]; |
|
if (i > 0) { |
|
lastLine = t1[i - 1]; |
|
t5 = lastLine.url; |
|
t6 = line.url; |
|
if (!J.$eq$(t5, t6)) { |
|
_this._writeSidebar$1$end($._glyphs.get$upEnd()); |
|
t2._contents += "\n"; |
|
_this._writeFileStart$1(t6); |
|
} else if (lastLine.number + 1 !== line.number) { |
|
_this._writeSidebar$1$text("..."); |
|
t2._contents += "\n"; |
|
} |
|
} |
|
for (t5 = line.highlights, t6 = new H.ReversedListIterable(t5, [H.getTypeArgumentByIndex(t5, 0)]), t6 = new H.ListIterator(t6, t6.get$length(t6)); t6.moveNext$0();) { |
|
t7 = t6.__internal$_current; |
|
t8 = t7.span; |
|
if (t8.get$start(t8).get$line() != t8.get$end(t8).get$line() && t8.get$start(t8).get$line() === line.number && _this._isOnlyWhitespace$1(J.substring$2$s(line.text, 0, t8.get$start(t8).get$column()))) { |
|
index = C.JSArray_methods.indexOf$1(highlightsByColumn, null); |
|
if (index < 0) |
|
H.throwExpression(P.ArgumentError$(H.S(highlightsByColumn) + " contains no null elements.")); |
|
highlightsByColumn[index] = t7; |
|
} |
|
} |
|
t6 = line.number; |
|
_this._writeSidebar$1$line(t6); |
|
t2._contents += " "; |
|
_this._writeMultilineHighlights$2(line, highlightsByColumn); |
|
if (t3) |
|
t2._contents += " "; |
|
primary = C.JSArray_methods.firstWhere$2$orElse(t5, new U.Highlighter_highlight_closure(), new U.Highlighter_highlight_closure0()); |
|
t7 = primary != null; |
|
if (t7) { |
|
t8 = line.text; |
|
t9 = primary.span; |
|
t10 = t9.get$start(t9).get$line() === t6 ? t9.get$start(t9).get$column() : 0; |
|
_this._writeHighlightedText$4$color(t8, t10, t9.get$end(t9).get$line() === t6 ? t9.get$end(t9).get$column() : t8.length, t4); |
|
} else |
|
_this._writeText$1(line.text); |
|
t2._contents += "\n"; |
|
if (t7) |
|
_this._writeIndicator$3(line, primary, highlightsByColumn); |
|
for (t6 = t5.length, _i = 0; _i < t5.length; t5.length === t6 || (0, H.throwConcurrentModificationError)(t5), ++_i) { |
|
highlight = t5[_i]; |
|
if (highlight.isPrimary) |
|
continue; |
|
_this._writeIndicator$3(line, highlight, highlightsByColumn); |
|
} |
|
} |
|
_this._writeSidebar$1$end($._glyphs.get$upEnd()); |
|
t1 = t2._contents; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
_writeFileStart$1: function(url) { |
|
var _this = this, |
|
t1 = !_this._multipleFiles || url == null, |
|
t2 = $._glyphs; |
|
if (t1) |
|
_this._writeSidebar$1$end(t2.get$downEnd()); |
|
else { |
|
_this._writeSidebar$1$end(t2.get$topLeftCorner()); |
|
_this._colorize$2$color(new U.Highlighter__writeFileStart_closure(_this), "\x1b[34m"); |
|
_this._highlighter$_buffer._contents += " " + H.S($.$get$context().prettyUri$1(url)); |
|
} |
|
_this._highlighter$_buffer._contents += "\n"; |
|
}, |
|
_writeMultilineHighlights$3$current: function(line, highlightsByColumn, current) { |
|
var t1, currentColor, t2, t3, t4, t5, foundCurrent, _i, highlight, t6, t7, startLine, endLine, _this = this, _null = null, _box_0 = {}; |
|
_box_0.openedOnThisLine = false; |
|
_box_0.openedOnThisLineColor = null; |
|
t1 = current == null; |
|
if (t1) |
|
currentColor = _null; |
|
else |
|
currentColor = current.isPrimary ? _this._primaryColor : _this._secondaryColor; |
|
for (t2 = highlightsByColumn.length, t3 = _this._secondaryColor, t1 = !t1, t4 = _this._primaryColor, t5 = _this._highlighter$_buffer, foundCurrent = false, _i = 0; _i < t2; ++_i) { |
|
highlight = highlightsByColumn[_i]; |
|
t6 = highlight == null; |
|
t7 = t6 ? _null : highlight.span; |
|
t7 = t7 == null ? _null : t7.get$start(t7); |
|
startLine = t7 == null ? _null : t7.get$line(); |
|
t7 = t6 ? _null : highlight.span; |
|
t7 = t7 == null ? _null : t7.get$end(t7); |
|
endLine = t7 == null ? _null : t7.get$line(); |
|
if (t1 && highlight === current) { |
|
_this._colorize$2$color(new U.Highlighter__writeMultilineHighlights_closure(_this, startLine, line), currentColor); |
|
foundCurrent = true; |
|
} else if (foundCurrent) |
|
_this._colorize$2$color(new U.Highlighter__writeMultilineHighlights_closure0(_this, highlight), currentColor); |
|
else if (t6) |
|
if (_box_0.openedOnThisLine) |
|
_this._colorize$2$color(new U.Highlighter__writeMultilineHighlights_closure1(_this), _box_0.openedOnThisLineColor); |
|
else |
|
t5._contents += " "; |
|
else { |
|
t6 = highlight.isPrimary ? t4 : t3; |
|
_this._colorize$2$color(new U.Highlighter__writeMultilineHighlights_closure2(_box_0, _this, current, startLine, line, highlight, endLine), t6); |
|
} |
|
} |
|
}, |
|
_writeMultilineHighlights$2: function(line, highlightsByColumn) { |
|
return this._writeMultilineHighlights$3$current(line, highlightsByColumn, null); |
|
}, |
|
_writeHighlightedText$4$color: function(text, startColumn, endColumn, color) { |
|
var _this = this; |
|
_this._writeText$1(J.getInterceptor$s(text).substring$2(text, 0, startColumn)); |
|
_this._colorize$2$color(new U.Highlighter__writeHighlightedText_closure(_this, text, startColumn, endColumn), color); |
|
_this._writeText$1(C.JSString_methods.substring$2(text, endColumn, text.length)); |
|
}, |
|
_writeIndicator$3: function(line, highlight, highlightsByColumn) { |
|
var t2, coversWholeLine, _this = this, |
|
color = highlight.isPrimary ? _this._primaryColor : _this._secondaryColor, |
|
t1 = highlight.span; |
|
if (t1.get$start(t1).get$line() == t1.get$end(t1).get$line()) { |
|
_this._writeSidebar$0(); |
|
t1 = _this._highlighter$_buffer; |
|
t1._contents += " "; |
|
_this._writeMultilineHighlights$3$current(line, highlightsByColumn, highlight); |
|
if (highlightsByColumn.length !== 0) |
|
t1._contents += " "; |
|
_this._colorize$2$color(new U.Highlighter__writeIndicator_closure(_this, line, highlight), color); |
|
t1._contents += "\n"; |
|
} else { |
|
t2 = line.number; |
|
if (t1.get$start(t1).get$line() === t2) { |
|
if (C.JSArray_methods.contains$1(highlightsByColumn, highlight)) |
|
return; |
|
B.replaceFirstNull(highlightsByColumn, highlight); |
|
_this._writeSidebar$0(); |
|
t1 = _this._highlighter$_buffer; |
|
t1._contents += " "; |
|
_this._writeMultilineHighlights$3$current(line, highlightsByColumn, highlight); |
|
_this._colorize$2$color(new U.Highlighter__writeIndicator_closure0(_this, line, highlight), color); |
|
t1._contents += "\n"; |
|
} else if (t1.get$end(t1).get$line() === t2) { |
|
coversWholeLine = t1.get$end(t1).get$column() === line.text.length; |
|
if (coversWholeLine && highlight.label == null) { |
|
B.replaceWithNull(highlightsByColumn, highlight); |
|
return; |
|
} |
|
_this._writeSidebar$0(); |
|
t1 = _this._highlighter$_buffer; |
|
t1._contents += " "; |
|
_this._writeMultilineHighlights$3$current(line, highlightsByColumn, highlight); |
|
_this._colorize$2$color(new U.Highlighter__writeIndicator_closure1(_this, coversWholeLine, line, highlight), color); |
|
t1._contents += "\n"; |
|
B.replaceWithNull(highlightsByColumn, highlight); |
|
} |
|
} |
|
}, |
|
_writeArrow$3$beginning: function(line, column, beginning) { |
|
var t2, |
|
t1 = beginning ? 0 : 1, |
|
tabs = this._countTabs$1(J.substring$2$s(line.text, 0, column + t1)); |
|
t1 = this._highlighter$_buffer; |
|
t2 = t1._contents += C.JSString_methods.$mul($._glyphs.get$horizontalLine(), 1 + column + tabs * 3); |
|
t1._contents = t2 + "^"; |
|
}, |
|
_writeArrow$2: function(line, column) { |
|
return this._writeArrow$3$beginning(line, column, true); |
|
}, |
|
_writeLabel$1: function(label) { |
|
if (label != null) |
|
this._highlighter$_buffer._contents += " " + label; |
|
}, |
|
_writeText$1: function(text) { |
|
var t1, t2, t3; |
|
for (text.toString, t1 = new H.CodeUnits(text), t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this._highlighter$_buffer; t1.moveNext$0();) { |
|
t3 = t1.__internal$_current; |
|
if (t3 === 9) |
|
t2._contents += C.JSString_methods.$mul(" ", 4); |
|
else |
|
t2._contents += H.Primitives_stringFromCharCode(t3); |
|
} |
|
}, |
|
_writeSidebar$3$end$line$text: function(end, line, text) { |
|
var t1 = {}; |
|
t1.text = text; |
|
if (line != null) |
|
t1.text = C.JSInt_methods.toString$0(line + 1); |
|
this._colorize$2$color(new U.Highlighter__writeSidebar_closure(t1, this, end), "\x1b[34m"); |
|
}, |
|
_writeSidebar$1$end: function(end) { |
|
return this._writeSidebar$3$end$line$text(end, null, null); |
|
}, |
|
_writeSidebar$1$text: function(text) { |
|
return this._writeSidebar$3$end$line$text(null, null, text); |
|
}, |
|
_writeSidebar$1$line: function(line) { |
|
return this._writeSidebar$3$end$line$text(null, line, null); |
|
}, |
|
_writeSidebar$0: function() { |
|
return this._writeSidebar$3$end$line$text(null, null, null); |
|
}, |
|
_countTabs$1: function(text) { |
|
var t1, count; |
|
for (t1 = new H.CodeUnits(text), t1 = new H.ListIterator(t1, t1.get$length(t1)), count = 0; t1.moveNext$0();) |
|
if (t1.__internal$_current === 9) |
|
++count; |
|
return count; |
|
}, |
|
_isOnlyWhitespace$1: function(text) { |
|
var t1, t2; |
|
for (t1 = new H.CodeUnits(text), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();) { |
|
t2 = t1.__internal$_current; |
|
if (t2 !== 32 && t2 !== 9) |
|
return false; |
|
} |
|
return true; |
|
}, |
|
_colorize$2$color: function(callback, color) { |
|
var t1 = this._primaryColor != null; |
|
if (t1 && color != null) |
|
this._highlighter$_buffer._contents += color; |
|
callback.call$0(); |
|
if (t1 && color != null) |
|
this._highlighter$_buffer._contents += "\x1b[0m"; |
|
} |
|
}; |
|
U.Highlighter_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.color, |
|
t2 = J.getInterceptor$(t1); |
|
if (t2.$eq(t1, true)) |
|
return "\x1b[31m"; |
|
if (t2.$eq(t1, false)) |
|
return; |
|
return H.stringTypeCast(t1); |
|
} |
|
}; |
|
U.Highlighter$__closure.prototype = { |
|
call$1: function(line) { |
|
var t1 = line.highlights; |
|
t1 = new H.WhereIterable(t1, new U.Highlighter$___closure(), [H.getTypeArgumentByIndex(t1, 0)]); |
|
return t1.get$length(t1); |
|
} |
|
}; |
|
U.Highlighter$___closure.prototype = { |
|
call$1: function(highlight) { |
|
var t1 = highlight.span; |
|
return t1.get$start(t1).get$line() != t1.get$end(t1).get$line(); |
|
} |
|
}; |
|
U.Highlighter$__closure0.prototype = { |
|
call$1: function(line) { |
|
return line.url; |
|
} |
|
}; |
|
U.Highlighter__collateLines_closure.prototype = { |
|
call$1: function(highlight) { |
|
return highlight.get$span().get$sourceUrl(); |
|
}, |
|
$signature: 10 |
|
}; |
|
U.Highlighter__collateLines_closure0.prototype = { |
|
call$2: function(highlight1, highlight2) { |
|
return highlight1.span.compareTo$1(0, highlight2.span); |
|
} |
|
}; |
|
U.Highlighter__collateLines_closure1.prototype = { |
|
call$1: function(highlightsForFile) { |
|
var t1, t2, t3, t4, context, t5, linesBeforeSpan, url, lineNumber, _i, line, activeHighlights, highlightIndex, oldHighlightLength, |
|
lines = H.setRuntimeTypeInfo([], [U._Line]); |
|
for (t1 = J.getInterceptor$ax(highlightsForFile), t2 = t1.get$iterator(highlightsForFile), t3 = [U._Highlight]; t2.moveNext$0();) { |
|
t4 = t2.get$current(t2).span; |
|
context = t4.get$context(t4); |
|
t5 = C.JSString_methods.allMatches$1("\n", C.JSString_methods.substring$2(context, 0, B.findLineStart(context, t4.get$text(), t4.get$start(t4).get$column()))); |
|
linesBeforeSpan = t5.get$length(t5); |
|
url = t4.get$sourceUrl(); |
|
lineNumber = t4.get$start(t4).get$line() - linesBeforeSpan; |
|
for (t4 = context.split("\n"), t5 = t4.length, _i = 0; _i < t5; ++_i) { |
|
line = t4[_i]; |
|
if (lines.length === 0 || lineNumber > C.JSArray_methods.get$last(lines).number) |
|
lines.push(new U._Line(line, lineNumber, url, H.setRuntimeTypeInfo([], t3))); |
|
++lineNumber; |
|
} |
|
} |
|
activeHighlights = H.setRuntimeTypeInfo([], t3); |
|
for (t2 = lines.length, highlightIndex = 0, _i = 0; _i < lines.length; lines.length === t2 || (0, H.throwConcurrentModificationError)(lines), ++_i) { |
|
line = lines[_i]; |
|
if (!!activeHighlights.fixed$length) |
|
H.throwExpression(P.UnsupportedError$("removeWhere")); |
|
C.JSArray_methods._removeWhere$2(activeHighlights, new U.Highlighter__collateLines__closure(line), true); |
|
oldHighlightLength = activeHighlights.length; |
|
for (t3 = t1.skip$1(highlightsForFile, highlightIndex), t3 = t3.get$iterator(t3); t3.moveNext$0();) { |
|
t4 = t3.get$current(t3); |
|
t5 = t4.span; |
|
if (t5.get$start(t5).get$line() > line.number) |
|
break; |
|
if (!J.$eq$(t5.get$sourceUrl(), line.url)) |
|
break; |
|
activeHighlights.push(t4); |
|
} |
|
highlightIndex += activeHighlights.length - oldHighlightLength; |
|
C.JSArray_methods.addAll$1(line.highlights, activeHighlights); |
|
} |
|
return lines; |
|
} |
|
}; |
|
U.Highlighter__collateLines__closure.prototype = { |
|
call$1: function(highlight) { |
|
var t1 = highlight.span, |
|
t2 = this.line; |
|
return !J.$eq$(t1.get$sourceUrl(), t2.url) || t1.get$end(t1).get$line() < t2.number; |
|
} |
|
}; |
|
U.Highlighter_highlight_closure.prototype = { |
|
call$1: function(highlight) { |
|
return highlight.isPrimary; |
|
} |
|
}; |
|
U.Highlighter_highlight_closure0.prototype = { |
|
call$0: function() { |
|
return; |
|
} |
|
}; |
|
U.Highlighter__writeFileStart_closure.prototype = { |
|
call$0: function() { |
|
this.$this._highlighter$_buffer._contents += C.JSString_methods.$mul($._glyphs.get$horizontalLine(), 2) + ">"; |
|
return; |
|
} |
|
}; |
|
U.Highlighter__writeMultilineHighlights_closure.prototype = { |
|
call$0: function() { |
|
var t1 = $._glyphs; |
|
t1 = this.startLine === this.line.number ? t1.get$topLeftCorner() : t1.get$bottomLeftCorner(); |
|
this.$this._highlighter$_buffer._contents += t1; |
|
} |
|
}; |
|
U.Highlighter__writeMultilineHighlights_closure0.prototype = { |
|
call$0: function() { |
|
var t1 = $._glyphs; |
|
t1 = this.highlight == null ? t1.get$horizontalLine() : t1.get$cross(); |
|
this.$this._highlighter$_buffer._contents += t1; |
|
} |
|
}; |
|
U.Highlighter__writeMultilineHighlights_closure1.prototype = { |
|
call$0: function() { |
|
this.$this._highlighter$_buffer._contents += $._glyphs.get$horizontalLine(); |
|
return; |
|
} |
|
}; |
|
U.Highlighter__writeMultilineHighlights_closure2.prototype = { |
|
call$0: function() { |
|
var _this = this, |
|
t1 = _this._box_0, |
|
t2 = t1.openedOnThisLine, |
|
t3 = $._glyphs, |
|
vertical = t2 ? t3.get$cross() : t3.get$verticalLine(); |
|
if (_this.current != null) |
|
_this.$this._highlighter$_buffer._contents += vertical; |
|
else { |
|
t2 = _this.line; |
|
t3 = t2.number; |
|
if (_this.startLine === t3) { |
|
t2 = _this.$this; |
|
t2._colorize$2$color(new U.Highlighter__writeMultilineHighlights__closure(t1, t2), t1.openedOnThisLineColor); |
|
t1.openedOnThisLine = true; |
|
if (t1.openedOnThisLineColor == null) |
|
t1.openedOnThisLineColor = _this.highlight.isPrimary ? t2._primaryColor : t2._secondaryColor; |
|
} else { |
|
if (_this.endLine === t3) { |
|
t3 = _this.highlight.span; |
|
t2 = t3.get$end(t3).get$column() === t2.text.length; |
|
} else |
|
t2 = false; |
|
t3 = _this.$this; |
|
if (t2) { |
|
t1 = _this.highlight.label == null ? $._glyphs.glyphOrAscii$2("\u2514", "\\") : vertical; |
|
t3._highlighter$_buffer._contents += t1; |
|
} else |
|
t3._colorize$2$color(new U.Highlighter__writeMultilineHighlights__closure0(t3, vertical), t1.openedOnThisLineColor); |
|
} |
|
} |
|
} |
|
}; |
|
U.Highlighter__writeMultilineHighlights__closure.prototype = { |
|
call$0: function() { |
|
var t1 = this._box_0.openedOnThisLine ? "\u252c" : "\u250c"; |
|
this.$this._highlighter$_buffer._contents += $._glyphs.glyphOrAscii$2(t1, "/"); |
|
} |
|
}; |
|
U.Highlighter__writeMultilineHighlights__closure0.prototype = { |
|
call$0: function() { |
|
this.$this._highlighter$_buffer._contents += this.vertical; |
|
} |
|
}; |
|
U.Highlighter__writeHighlightedText_closure.prototype = { |
|
call$0: function() { |
|
var _this = this; |
|
return _this.$this._writeText$1(C.JSString_methods.substring$2(_this.text, _this.startColumn, _this.endColumn)); |
|
} |
|
}; |
|
U.Highlighter__writeIndicator_closure.prototype = { |
|
call$0: function() { |
|
var tabsBefore, tabsInside, |
|
t1 = this.$this, |
|
t2 = this.highlight, |
|
t3 = t2.span, |
|
t4 = t2.isPrimary ? "^" : $._glyphs.get$horizontalLineBold(), |
|
startColumn = t3.get$start(t3).get$column(), |
|
endColumn = t3.get$end(t3).get$column(); |
|
t3 = this.line.text; |
|
tabsBefore = t1._countTabs$1(J.getInterceptor$s(t3).substring$2(t3, 0, startColumn)); |
|
tabsInside = t1._countTabs$1(C.JSString_methods.substring$2(t3, startColumn, endColumn)); |
|
startColumn += tabsBefore * 3; |
|
t3 = t1._highlighter$_buffer; |
|
t3._contents += C.JSString_methods.$mul(" ", startColumn); |
|
t3._contents += C.JSString_methods.$mul(t4, Math.max(endColumn + (tabsBefore + tabsInside) * 3 - startColumn, 1)); |
|
t1._writeLabel$1(t2.label); |
|
} |
|
}; |
|
U.Highlighter__writeIndicator_closure0.prototype = { |
|
call$0: function() { |
|
var t1 = this.highlight.span; |
|
return this.$this._writeArrow$2(this.line, t1.get$start(t1).get$column()); |
|
} |
|
}; |
|
U.Highlighter__writeIndicator_closure1.prototype = { |
|
call$0: function() { |
|
var t2, _this = this, |
|
t1 = _this.$this; |
|
if (_this.coversWholeLine) |
|
t1._highlighter$_buffer._contents += C.JSString_methods.$mul($._glyphs.get$horizontalLine(), 3); |
|
else { |
|
t2 = _this.highlight.span; |
|
t1._writeArrow$3$beginning(_this.line, Math.max(t2.get$end(t2).get$column() - 1, 0), false); |
|
} |
|
t1._writeLabel$1(_this.highlight.label); |
|
} |
|
}; |
|
U.Highlighter__writeSidebar_closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.$this, |
|
t2 = t1._highlighter$_buffer, |
|
t3 = this._box_0.text; |
|
if (t3 == null) |
|
t3 = ""; |
|
t2._contents += C.JSString_methods.padRight$1(t3, t1._paddingBeforeSidebar); |
|
t1 = this.end; |
|
t2._contents += t1 == null ? $._glyphs.get$verticalLine() : t1; |
|
} |
|
}; |
|
U._Highlight.prototype = { |
|
toString$0: function(_) { |
|
var t1 = this.isPrimary ? "primary " : "", |
|
t2 = this.span; |
|
t2 = t1 + (H.S(t2.get$start(t2).get$line()) + ":" + t2.get$start(t2).get$column() + "-" + H.S(t2.get$end(t2).get$line()) + ":" + t2.get$end(t2).get$column()); |
|
t1 = this.label; |
|
t1 = t1 != null ? t2 + (" (" + t1 + ")") : t2; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
get$span: function() { |
|
return this.span; |
|
} |
|
}; |
|
U._Highlight_closure.prototype = { |
|
call$0: function() { |
|
var t2, t3, t4, t5, |
|
t1 = this.span; |
|
if (!(!!J.getInterceptor$(t1).$isSourceSpanWithContext && B.findLineStart(t1.get$context(t1), t1.get$text(), t1.get$start(t1).get$column()) != null)) { |
|
t2 = V.SourceLocation$(t1.get$start(t1).get$offset(), 0, 0, t1.get$sourceUrl()); |
|
t3 = t1.get$end(t1).get$offset(); |
|
t4 = t1.get$sourceUrl(); |
|
t5 = B.countCodeUnits(t1.get$text(), 10); |
|
t1 = X.SourceSpanWithContext$(t2, V.SourceLocation$(t3, U._Highlight__lastLineLength(t1.get$text()), t5, t4), t1.get$text(), t1.get$text()); |
|
} |
|
return U._Highlight__normalizeEndOfLine(U._Highlight__normalizeTrailingNewline(U._Highlight__normalizeNewlines(t1))); |
|
} |
|
}; |
|
U._Line.prototype = { |
|
toString$0: function(_) { |
|
return "" + this.number + ': "' + H.S(this.text) + '" (' + C.JSArray_methods.join$1(this.highlights, ", ") + ")"; |
|
} |
|
}; |
|
V.SourceLocation.prototype = { |
|
distance$1: function(other) { |
|
var t1 = this.sourceUrl; |
|
if (!J.$eq$(t1, other.get$sourceUrl())) |
|
throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(t1) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match.")); |
|
return Math.abs(this.offset - other.get$offset()); |
|
}, |
|
compareTo$1: function(_, other) { |
|
var t1 = this.sourceUrl; |
|
if (!J.$eq$(t1, other.get$sourceUrl())) |
|
throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(t1) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match.")); |
|
return this.offset - other.get$offset(); |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return !!J.getInterceptor$(other).$isSourceLocation && J.$eq$(this.sourceUrl, other.get$sourceUrl()) && this.offset === other.get$offset(); |
|
}, |
|
get$hashCode: function(_) { |
|
return J.get$hashCode$(this.sourceUrl) + this.offset; |
|
}, |
|
toString$0: function(_) { |
|
var _this = this, |
|
t1 = "<" + H.getRuntimeType(_this).toString$0(0) + ": " + _this.offset + " ", |
|
source = _this.sourceUrl; |
|
return t1 + (H.S(source == null ? "unknown source" : source) + ":" + (_this.line + 1) + ":" + (_this.column + 1)) + ">"; |
|
}, |
|
$isComparable: 1, |
|
$asComparable: function() { |
|
return [V.SourceLocation]; |
|
}, |
|
get$sourceUrl: function() { |
|
return this.sourceUrl; |
|
}, |
|
get$offset: function() { |
|
return this.offset; |
|
}, |
|
get$line: function() { |
|
return this.line; |
|
}, |
|
get$column: function() { |
|
return this.column; |
|
} |
|
}; |
|
D.SourceLocationMixin.prototype = { |
|
distance$1: function(other) { |
|
if (!J.$eq$(this.file.url, other.get$sourceUrl())) |
|
throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(this.get$sourceUrl()) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match.")); |
|
return Math.abs(this.offset - other.get$offset()); |
|
}, |
|
compareTo$1: function(_, other) { |
|
if (!J.$eq$(this.file.url, other.get$sourceUrl())) |
|
throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(this.get$sourceUrl()) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match.")); |
|
return this.offset - other.get$offset(); |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return !!J.getInterceptor$(other).$isSourceLocation && J.$eq$(this.file.url, other.get$sourceUrl()) && this.offset === other.get$offset(); |
|
}, |
|
get$hashCode: function(_) { |
|
return J.get$hashCode$(this.file.url) + this.offset; |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.offset, |
|
t2 = "<" + H.getRuntimeType(this).toString$0(0) + ": " + t1 + " ", |
|
t3 = this.file, |
|
source = t3.url; |
|
return t2 + (H.S(source == null ? "unknown source" : source) + ":" + (t3.getLine$1(t1) + 1) + ":" + (t3.getColumn$1(t1) + 1)) + ">"; |
|
}, |
|
$isComparable: 1, |
|
$asComparable: function() { |
|
return [V.SourceLocation]; |
|
}, |
|
$isSourceLocation: 1 |
|
}; |
|
V.SourceSpan.prototype = {$isComparable: 1, |
|
$asComparable: function() { |
|
return [V.SourceSpan]; |
|
} |
|
}; |
|
V.SourceSpanBase.prototype = { |
|
SourceSpanBase$3: function(start, end, text) { |
|
var t3, |
|
t1 = this.end, |
|
t2 = this.start; |
|
if (!J.$eq$(t1.get$sourceUrl(), t2.get$sourceUrl())) |
|
throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(t2.get$sourceUrl()) + '" and "' + H.S(t1.get$sourceUrl()) + "\" don't match.")); |
|
else if (t1.get$offset() < t2.get$offset()) |
|
throw H.wrapException(P.ArgumentError$("End " + t1.toString$0(0) + " must come after start " + t2.toString$0(0) + ".")); |
|
else { |
|
t3 = this.text; |
|
if (t3.length !== t2.distance$1(t1)) |
|
throw H.wrapException(P.ArgumentError$('Text "' + t3 + '" must be ' + t2.distance$1(t1) + " characters long.")); |
|
} |
|
}, |
|
get$start: function(receiver) { |
|
return this.start; |
|
}, |
|
get$end: function(receiver) { |
|
return this.end; |
|
}, |
|
get$text: function() { |
|
return this.text; |
|
} |
|
}; |
|
G.SourceSpanException.prototype = { |
|
get$message: function(_) { |
|
return this._span_exception$_message; |
|
}, |
|
get$span: function() { |
|
return this._span; |
|
}, |
|
toString$1$color: function(_, color) { |
|
var _this = this; |
|
if (_this.get$span() == null) |
|
return _this._span_exception$_message; |
|
return "Error on " + _this.get$span().message$2$color(0, _this._span_exception$_message, color); |
|
}, |
|
toString$0: function($receiver) { |
|
return this.toString$1$color($receiver, null); |
|
}, |
|
$isException: 1 |
|
}; |
|
G.SourceSpanFormatException.prototype = {$isFormatException: 1, |
|
get$source: function() { |
|
return this.source; |
|
} |
|
}; |
|
Y.SourceSpanMixin.prototype = { |
|
get$sourceUrl: function() { |
|
return this.get$start(this).get$sourceUrl(); |
|
}, |
|
get$length: function(_) { |
|
var _this = this; |
|
return _this.get$end(_this).get$offset() - _this.get$start(_this).get$offset(); |
|
}, |
|
compareTo$1: function(_, other) { |
|
var _this = this, |
|
result = _this.get$start(_this).compareTo$1(0, other.get$start(other)); |
|
return result === 0 ? _this.get$end(_this).compareTo$1(0, other.get$end(other)) : result; |
|
}, |
|
message$2$color: function(_, message, color) { |
|
var t2, highlight, _this = this, |
|
t1 = "line " + (_this.get$start(_this).get$line() + 1) + ", column " + (_this.get$start(_this).get$column() + 1); |
|
if (_this.get$sourceUrl() != null) { |
|
t2 = _this.get$sourceUrl(); |
|
t2 = t1 + (" of " + H.S($.$get$context().prettyUri$1(t2))); |
|
t1 = t2; |
|
} |
|
t1 += ": " + H.S(message); |
|
highlight = _this.highlight$1$color(color); |
|
if (highlight.length !== 0) |
|
t1 = t1 + "\n" + highlight; |
|
return t1.charCodeAt(0) == 0 ? t1 : t1; |
|
}, |
|
message$1: function($receiver, message) { |
|
return this.message$2$color($receiver, message, null); |
|
}, |
|
highlight$1$color: function(color) { |
|
var _this = this; |
|
if (!_this.$isSourceSpanWithContext && _this.get$length(_this) === 0) |
|
return ""; |
|
return U.Highlighter$(_this, color).highlight$0(); |
|
}, |
|
$eq: function(_, other) { |
|
var _this = this; |
|
if (other == null) |
|
return false; |
|
return !!J.getInterceptor$(other).$isSourceSpan && _this.get$start(_this).$eq(0, other.get$start(other)) && _this.get$end(_this).$eq(0, other.get$end(other)); |
|
}, |
|
get$hashCode: function(_) { |
|
var t2, _this = this, |
|
t1 = _this.get$start(_this); |
|
t1 = t1.get$hashCode(t1); |
|
t2 = _this.get$end(_this); |
|
return t1 + 31 * t2.get$hashCode(t2); |
|
}, |
|
toString$0: function(_) { |
|
var _this = this; |
|
return "<" + H.getRuntimeType(_this).toString$0(0) + ": from " + _this.get$start(_this).toString$0(0) + " to " + _this.get$end(_this).toString$0(0) + ' "' + _this.get$text() + '">'; |
|
}, |
|
$isComparable: 1, |
|
$asComparable: function() { |
|
return [V.SourceSpan]; |
|
}, |
|
$isSourceSpan: 1 |
|
}; |
|
X.SourceSpanWithContext.prototype = { |
|
get$context: function(_) { |
|
return this._context; |
|
} |
|
}; |
|
U.Chain.prototype = { |
|
toTrace$0: function() { |
|
var t1 = this.traces, |
|
t2 = A.Frame; |
|
return new Y.Trace(P.List_List$unmodifiable(new H.ExpandIterable(t1, new U.Chain_toTrace_closure(), [H.getTypeArgumentByIndex(t1, 0), t2]), t2), new P._StringStackTrace(null)); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.traces, |
|
t2 = P.int, |
|
t3 = H.getTypeArgumentByIndex(t1, 0); |
|
return new H.MappedListIterable(t1, new U.Chain_toString_closure(new H.MappedListIterable(t1, new U.Chain_toString_closure0(), [t3, t2]).fold$2(0, 0, H.instantiate1(P.math__max$closure(), t2))), [t3, P.String]).join$1(0, "===== asynchronous gap ===========================\n"); |
|
}, |
|
$isStackTrace: 1 |
|
}; |
|
U.Chain_Chain$parse_closure.prototype = { |
|
call$1: function(trace) { |
|
return new Y.Trace(P.List_List$unmodifiable(Y.Trace__parseVM(trace), A.Frame), new P._StringStackTrace(trace)); |
|
} |
|
}; |
|
U.Chain_Chain$parse_closure0.prototype = { |
|
call$1: function(trace) { |
|
return Y.Trace$parseFriendly(trace); |
|
} |
|
}; |
|
U.Chain_toTrace_closure.prototype = { |
|
call$1: function(trace) { |
|
return trace.get$frames(); |
|
} |
|
}; |
|
U.Chain_toString_closure0.prototype = { |
|
call$1: function(trace) { |
|
var t1 = trace.get$frames(), |
|
t2 = P.int; |
|
return new H.MappedListIterable(t1, new U.Chain_toString__closure0(), [H.getTypeArgumentByIndex(t1, 0), t2]).fold$2(0, 0, H.instantiate1(P.math__max$closure(), t2)); |
|
} |
|
}; |
|
U.Chain_toString__closure0.prototype = { |
|
call$1: function(frame) { |
|
return frame.get$location().length; |
|
} |
|
}; |
|
U.Chain_toString_closure.prototype = { |
|
call$1: function(trace) { |
|
var t1 = trace.get$frames(); |
|
return new H.MappedListIterable(t1, new U.Chain_toString__closure(this.longest), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$0(0); |
|
} |
|
}; |
|
U.Chain_toString__closure.prototype = { |
|
call$1: function(frame) { |
|
return J.padRight$1$s(frame.get$location(), this.longest) + " " + H.S(frame.get$member()) + "\n"; |
|
} |
|
}; |
|
A.Frame.prototype = { |
|
get$isCore: function() { |
|
return this.uri.get$scheme() === "dart"; |
|
}, |
|
get$library: function() { |
|
var t1 = this.uri; |
|
if (t1.get$scheme() === "data") |
|
return "data:..."; |
|
return $.$get$context().prettyUri$1(t1); |
|
}, |
|
get$$package: function() { |
|
var t1 = this.uri; |
|
if (t1.get$scheme() !== "package") |
|
return; |
|
return C.JSArray_methods.get$first(t1.get$path(t1).split("/")); |
|
}, |
|
get$location: function() { |
|
var t2, _this = this, |
|
t1 = _this.line; |
|
if (t1 == null) |
|
return _this.get$library(); |
|
t2 = _this.column; |
|
if (t2 == null) |
|
return H.S(_this.get$library()) + " " + H.S(t1); |
|
return H.S(_this.get$library()) + " " + H.S(t1) + ":" + H.S(t2); |
|
}, |
|
toString$0: function(_) { |
|
return H.S(this.get$location()) + " in " + H.S(this.member); |
|
}, |
|
get$uri: function() { |
|
return this.uri; |
|
}, |
|
get$line: function() { |
|
return this.line; |
|
}, |
|
get$column: function() { |
|
return this.column; |
|
}, |
|
get$member: function() { |
|
return this.member; |
|
} |
|
}; |
|
A.Frame_Frame$parseVM_closure.prototype = { |
|
call$0: function() { |
|
var match, t2, t3, member, uri, lineAndColumn, line, _null = null, |
|
t1 = this.frame; |
|
if (t1 === "...") |
|
return new A.Frame(P._Uri__Uri(_null, _null, _null, _null), _null, _null, "..."); |
|
match = $.$get$_vmFrame().firstMatch$1(t1); |
|
if (match == null) |
|
return new N.UnparsedFrame(P._Uri__Uri(_null, "unparsed", _null, _null), t1); |
|
t1 = match._match; |
|
t2 = t1[1]; |
|
t3 = $.$get$_asyncBody(); |
|
t2.toString; |
|
t2 = H.stringReplaceAllUnchecked(t2, t3, "<async>"); |
|
member = H.stringReplaceAllUnchecked(t2, "<anonymous closure>", "<fn>"); |
|
uri = P.Uri_parse(t1[2]); |
|
lineAndColumn = t1[3].split(":"); |
|
t1 = lineAndColumn.length; |
|
line = t1 > 1 ? P.int_parse(lineAndColumn[1], _null, _null) : _null; |
|
return new A.Frame(uri, line, t1 > 2 ? P.int_parse(lineAndColumn[2], _null, _null) : _null, member); |
|
} |
|
}; |
|
A.Frame_Frame$parseV8_closure.prototype = { |
|
call$0: function() { |
|
var t2, t3, _s4_ = "<fn>", |
|
t1 = this.frame, |
|
match = $.$get$_v8Frame().firstMatch$1(t1); |
|
if (match == null) |
|
return new N.UnparsedFrame(P._Uri__Uri(null, "unparsed", null, null), t1); |
|
t1 = new A.Frame_Frame$parseV8_closure_parseLocation(t1); |
|
t2 = match._match; |
|
t3 = t2[2]; |
|
if (t3 != null) { |
|
t2 = t2[1]; |
|
t2.toString; |
|
t2 = H.stringReplaceAllUnchecked(t2, "<anonymous>", _s4_); |
|
t2 = H.stringReplaceAllUnchecked(t2, "Anonymous function", _s4_); |
|
return t1.call$2(t3, H.stringReplaceAllUnchecked(t2, "(anonymous function)", _s4_)); |
|
} else |
|
return t1.call$2(t2[3], _s4_); |
|
} |
|
}; |
|
A.Frame_Frame$parseV8_closure_parseLocation.prototype = { |
|
call$2: function($location, member) { |
|
var urlMatch, _null = null, |
|
t1 = $.$get$_v8EvalLocation(), |
|
evalMatch = t1.firstMatch$1($location); |
|
for (; evalMatch != null;) { |
|
$location = evalMatch._match[1]; |
|
evalMatch = t1.firstMatch$1($location); |
|
} |
|
if ($location === "native") |
|
return new A.Frame(P.Uri_parse("native"), _null, _null, member); |
|
urlMatch = $.$get$_v8UrlLocation().firstMatch$1($location); |
|
if (urlMatch == null) |
|
return new N.UnparsedFrame(P._Uri__Uri(_null, "unparsed", _null, _null), this.frame); |
|
t1 = urlMatch._match; |
|
return new A.Frame(A.Frame__uriOrPathToUri(t1[1]), P.int_parse(t1[2], _null, _null), P.int_parse(t1[3], _null, _null), member); |
|
}, |
|
$signature: 62 |
|
}; |
|
A.Frame_Frame$parseFirefox_closure.prototype = { |
|
call$0: function() { |
|
var uri, t2, t3, member, line, _null = null, |
|
t1 = this.frame, |
|
match = $.$get$_firefoxSafariFrame().firstMatch$1(t1); |
|
if (match == null) |
|
return new N.UnparsedFrame(P._Uri__Uri(_null, "unparsed", _null, _null), t1); |
|
t1 = match._match; |
|
uri = A.Frame__uriOrPathToUri(t1[3]); |
|
t2 = t1[1]; |
|
if (t2 != null) { |
|
t3 = C.JSString_methods.allMatches$1("/", t1[2]); |
|
member = J.$add$ansx(t2, C.JSArray_methods.join$0(P.List_List$filled(t3.get$length(t3), ".<fn>", P.String))); |
|
if (member === "") |
|
member = "<fn>"; |
|
member = C.JSString_methods.replaceFirst$2(member, $.$get$_initialDot(), ""); |
|
} else |
|
member = "<fn>"; |
|
t2 = t1[4]; |
|
line = t2 === "" ? _null : P.int_parse(t2, _null, _null); |
|
t1 = t1[5]; |
|
return new A.Frame(uri, line, t1 == null || t1 === "" ? _null : P.int_parse(t1, _null, _null), member); |
|
} |
|
}; |
|
A.Frame_Frame$parseFriendly_closure.prototype = { |
|
call$0: function() { |
|
var t2, uri, line, column, _null = null, |
|
t1 = this.frame, |
|
match = $.$get$_friendlyFrame().firstMatch$1(t1); |
|
if (match == null) |
|
throw H.wrapException(P.FormatException$("Couldn't parse package:stack_trace stack trace line '" + H.S(t1) + "'.", _null, _null)); |
|
t1 = match._match; |
|
t2 = t1[1]; |
|
uri = t2 === "data:..." ? P.Uri_Uri$dataFromString("", _null, _null) : P.Uri_parse(t2); |
|
if (uri.get$scheme() === "") { |
|
t2 = $.$get$context(); |
|
uri = t2.toUri$1(D.absolute(t2.style.pathFromUri$1(M._parseUri(uri)))); |
|
} |
|
t2 = t1[2]; |
|
line = t2 == null ? _null : P.int_parse(t2, _null, _null); |
|
t2 = t1[3]; |
|
column = t2 == null ? _null : P.int_parse(t2, _null, _null); |
|
return new A.Frame(uri, line, column, t1[4]); |
|
} |
|
}; |
|
T.LazyTrace.prototype = { |
|
get$_lazy_trace$_trace: function() { |
|
var t1 = this._lazy_trace$_inner; |
|
return t1 == null ? this._lazy_trace$_inner = this._thunk.call$0() : t1; |
|
}, |
|
get$frames: function() { |
|
return this.get$_lazy_trace$_trace().get$frames(); |
|
}, |
|
get$terse: function() { |
|
return new T.LazyTrace(new T.LazyTrace_terse_closure(this)); |
|
}, |
|
toString$0: function(_) { |
|
return J.toString$0$(this.get$_lazy_trace$_trace()); |
|
}, |
|
$isStackTrace: 1, |
|
$isTrace: 1 |
|
}; |
|
T.LazyTrace_terse_closure.prototype = { |
|
call$0: function() { |
|
return this.$this.get$_lazy_trace$_trace().get$terse(); |
|
} |
|
}; |
|
Y.Trace.prototype = { |
|
get$terse: function() { |
|
return this.foldFrames$2$terse(new Y.Trace_terse_closure(), true); |
|
}, |
|
foldFrames$2$terse: function(predicate, terse) { |
|
var t1, newFrames, t2, t3, _box_0 = {}; |
|
_box_0.predicate = predicate; |
|
_box_0.predicate = new Y.Trace_foldFrames_closure(predicate); |
|
t1 = A.Frame; |
|
newFrames = H.setRuntimeTypeInfo([], [t1]); |
|
for (t2 = this.frames, t2 = new H.ReversedListIterable(t2, [H.getTypeArgumentByIndex(t2, 0)]), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) { |
|
t3 = t2.__internal$_current; |
|
if (t3 instanceof N.UnparsedFrame || !_box_0.predicate.call$1(t3)) |
|
newFrames.push(t3); |
|
else if (newFrames.length === 0 || !_box_0.predicate.call$1(C.JSArray_methods.get$last(newFrames))) |
|
newFrames.push(new A.Frame(t3.get$uri(), t3.get$line(), t3.get$column(), t3.get$member())); |
|
} |
|
newFrames = new H.MappedListIterable(newFrames, new Y.Trace_foldFrames_closure0(_box_0), [H.getTypeArgumentByIndex(newFrames, 0), t1]).toList$0(0); |
|
if (newFrames.length > 1 && _box_0.predicate.call$1(C.JSArray_methods.get$first(newFrames))) |
|
C.JSArray_methods.removeAt$1(newFrames, 0); |
|
return new Y.Trace(P.List_List$unmodifiable(new H.ReversedListIterable(newFrames, [H.getTypeArgumentByIndex(newFrames, 0)]), t1), new P._StringStackTrace(this.original._core$_stackTrace)); |
|
}, |
|
toString$0: function(_) { |
|
var t1 = this.frames, |
|
t2 = P.int, |
|
t3 = H.getTypeArgumentByIndex(t1, 0); |
|
return new H.MappedListIterable(t1, new Y.Trace_toString_closure(new H.MappedListIterable(t1, new Y.Trace_toString_closure0(), [t3, t2]).fold$2(0, 0, H.instantiate1(P.math__max$closure(), t2))), [t3, P.String]).join$0(0); |
|
}, |
|
$isStackTrace: 1, |
|
get$frames: function() { |
|
return this.frames; |
|
} |
|
}; |
|
Y.Trace_Trace$from_closure.prototype = { |
|
call$0: function() { |
|
return Y.Trace_Trace$parse(this.trace.toString$0(0)); |
|
} |
|
}; |
|
Y.Trace__parseVM_closure.prototype = { |
|
call$1: function(line) { |
|
return A.Frame_Frame$parseVM(line); |
|
} |
|
}; |
|
Y.Trace$parseV8_closure.prototype = { |
|
call$1: function(line) { |
|
return !J.startsWith$1$s(line, $.$get$_v8TraceLine()); |
|
} |
|
}; |
|
Y.Trace$parseV8_closure0.prototype = { |
|
call$1: function(line) { |
|
return A.Frame_Frame$parseV8(line); |
|
} |
|
}; |
|
Y.Trace$parseJSCore_closure.prototype = { |
|
call$1: function(line) { |
|
return line !== "\tat "; |
|
} |
|
}; |
|
Y.Trace$parseJSCore_closure0.prototype = { |
|
call$1: function(line) { |
|
return A.Frame_Frame$parseV8(line); |
|
} |
|
}; |
|
Y.Trace$parseFirefox_closure.prototype = { |
|
call$1: function(line) { |
|
return line.length !== 0 && line !== "[native code]"; |
|
} |
|
}; |
|
Y.Trace$parseFirefox_closure0.prototype = { |
|
call$1: function(line) { |
|
return A.Frame_Frame$parseFirefox(line); |
|
} |
|
}; |
|
Y.Trace$parseFriendly_closure.prototype = { |
|
call$1: function(line) { |
|
return !J.startsWith$1$s(line, "====="); |
|
} |
|
}; |
|
Y.Trace$parseFriendly_closure0.prototype = { |
|
call$1: function(line) { |
|
return A.Frame_Frame$parseFriendly(line); |
|
} |
|
}; |
|
Y.Trace_terse_closure.prototype = { |
|
call$1: function(_) { |
|
return false; |
|
} |
|
}; |
|
Y.Trace_foldFrames_closure.prototype = { |
|
call$1: function(frame) { |
|
if (this.oldPredicate.call$1(frame)) |
|
return true; |
|
if (frame.get$isCore()) |
|
return true; |
|
if (frame.get$$package() === "stack_trace") |
|
return true; |
|
if (!J.contains$1$asx(frame.get$member(), "<async>")) |
|
return false; |
|
return frame.get$line() == null; |
|
} |
|
}; |
|
Y.Trace_foldFrames_closure0.prototype = { |
|
call$1: function(frame) { |
|
var t1, t2; |
|
if (frame instanceof N.UnparsedFrame || !this._box_0.predicate.call$1(frame)) |
|
return frame; |
|
t1 = frame.get$library(); |
|
t2 = $.$get$_terseRegExp(); |
|
t1.toString; |
|
return new A.Frame(P.Uri_parse(H.stringReplaceAllUnchecked(t1, t2, "")), null, null, frame.get$member()); |
|
} |
|
}; |
|
Y.Trace_toString_closure0.prototype = { |
|
call$1: function(frame) { |
|
return frame.get$location().length; |
|
} |
|
}; |
|
Y.Trace_toString_closure.prototype = { |
|
call$1: function(frame) { |
|
if (frame instanceof N.UnparsedFrame) |
|
return frame.toString$0(0) + "\n"; |
|
return J.padRight$1$s(frame.get$location(), this.longest) + " " + H.S(frame.get$member()) + "\n"; |
|
} |
|
}; |
|
N.UnparsedFrame.prototype = { |
|
toString$0: function(_) { |
|
return this.member; |
|
}, |
|
$isFrame: 1, |
|
get$uri: function() { |
|
return this.uri; |
|
}, |
|
get$line: function() { |
|
return null; |
|
}, |
|
get$column: function() { |
|
return null; |
|
}, |
|
get$isCore: function() { |
|
return false; |
|
}, |
|
get$library: function() { |
|
return "unparsed"; |
|
}, |
|
get$$package: function() { |
|
return null; |
|
}, |
|
get$location: function() { |
|
return "unparsed"; |
|
}, |
|
get$member: function() { |
|
return this.member; |
|
} |
|
}; |
|
L._StreamTransformer.prototype = { |
|
bind$1: function(values) { |
|
var controller, _null = null, t1 = {}, |
|
t2 = H.getTypeArgumentByIndex(this, 1); |
|
if (values.get$isBroadcast()) |
|
controller = new P._SyncBroadcastStreamController(_null, _null, [t2]); |
|
else |
|
controller = P.StreamController_StreamController(_null, _null, _null, _null, true, t2); |
|
t1.subscription = null; |
|
controller.set$onListen(new L._StreamTransformer_bind_closure(t1, this, values, controller)); |
|
return controller.get$stream(); |
|
} |
|
}; |
|
L._StreamTransformer_bind_closure.prototype = { |
|
call$0: function() { |
|
var t2, t3, t4, t5, _this = this, t1 = {}; |
|
t1.valuesDone = false; |
|
t2 = _this.values; |
|
t3 = _this.$this; |
|
t4 = _this.controller; |
|
t5 = _this._box_1; |
|
t5.subscription = t2.listen$3$onDone$onError(new L._StreamTransformer_bind__closure(t3, t4), new L._StreamTransformer_bind__closure0(t1, t3, t4), new L._StreamTransformer_bind__closure1(t3, t4)); |
|
if (!t2.get$isBroadcast()) { |
|
t2 = t5.subscription; |
|
t4.set$onPause(t2.get$pause(t2)); |
|
t4.set$onResume(t5.subscription.get$resume()); |
|
} |
|
t4.set$onCancel(new L._StreamTransformer_bind__closure2(t5, t1)); |
|
} |
|
}; |
|
L._StreamTransformer_bind__closure.prototype = { |
|
call$1: function(value) { |
|
return this.$this._from_handlers$_handleData.call$2(value, this.controller); |
|
}, |
|
$signature: function() { |
|
return {func: 1, ret: -1, args: [H.getTypeArgumentByIndex(this.$this, 0)]}; |
|
} |
|
}; |
|
L._StreamTransformer_bind__closure1.prototype = { |
|
call$2: function(error, stackTrace) { |
|
this.$this._from_handlers$_handleError.call$3(error, stackTrace, this.controller); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2, |
|
$signature: 15 |
|
}; |
|
L._StreamTransformer_bind__closure0.prototype = { |
|
call$0: function() { |
|
this._box_0.valuesDone = true; |
|
this.$this._from_handlers$_handleDone.call$1(this.controller); |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
L._StreamTransformer_bind__closure2.prototype = { |
|
call$0: function() { |
|
var t1 = this._box_1, |
|
toCancel = t1.subscription; |
|
t1.subscription = null; |
|
if (!this._box_0.valuesDone) |
|
return toCancel.cancel$0(); |
|
return; |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
R._debounceAggregate_closure.prototype = { |
|
call$2: function(value, sink) { |
|
var t1 = this._box_0, |
|
t2 = t1.timer; |
|
if (t2 != null) |
|
t2.cancel$0(); |
|
t1.timer = P.Timer_Timer(this.duration, new R._debounceAggregate__closure(t1, sink)); |
|
t1.soFar = this.collect.call$2(value, t1.soFar); |
|
}, |
|
"call*": "call$2", |
|
$requiredArgCount: 2 |
|
}; |
|
R._debounceAggregate__closure.prototype = { |
|
call$0: function() { |
|
var t1 = this.sink, |
|
t2 = this._box_0; |
|
t1.add$1(0, t2.soFar); |
|
if (t2.shouldClose) |
|
t1.close$0(0); |
|
t2.timer = t2.soFar = null; |
|
}, |
|
"call*": "call$0", |
|
$requiredArgCount: 0 |
|
}; |
|
R._debounceAggregate_closure0.prototype = { |
|
call$1: function(sink) { |
|
var t1 = this._box_0; |
|
if (t1.soFar != null) |
|
t1.shouldClose = true; |
|
else |
|
sink.close$0(0); |
|
} |
|
}; |
|
E.StringScannerException.prototype = { |
|
get$source: function() { |
|
return H.stringTypeCast(this.source); |
|
} |
|
}; |
|
Z.LineScanner.prototype = { |
|
get$_betweenCRLF: function() { |
|
return this.peekChar$1(-1) === 13 && this.peekChar$0() === 10; |
|
}, |
|
scanChar$1: function(character) { |
|
if (!this.super$StringScanner$scanChar(character)) |
|
return false; |
|
this._adjustLineAndColumn$1(character); |
|
return true; |
|
}, |
|
_adjustLineAndColumn$1: function(character) { |
|
var t1, _this = this; |
|
if (character !== 10) |
|
t1 = character === 13 && _this.peekChar$0() !== 10; |
|
else |
|
t1 = true; |
|
if (t1) { |
|
++_this._line_scanner$_line; |
|
_this._line_scanner$_column = 0; |
|
} else |
|
++_this._line_scanner$_column; |
|
}, |
|
scan$1: function(pattern) { |
|
var newlines, t1, t2, _this = this; |
|
if (!_this.super$StringScanner$scan(pattern)) |
|
return false; |
|
newlines = _this._newlinesIn$1(_this.get$lastMatch().group$1(0)); |
|
t1 = _this._line_scanner$_line; |
|
t2 = newlines.length; |
|
_this._line_scanner$_line = t1 + t2; |
|
if (t2 === 0) |
|
_this._line_scanner$_column = _this._line_scanner$_column + _this.get$lastMatch().group$1(0).length; |
|
else |
|
_this._line_scanner$_column = _this.get$lastMatch().group$1(0).length - J.get$end$x(C.JSArray_methods.get$last(newlines)); |
|
return true; |
|
}, |
|
_newlinesIn$1: function(text) { |
|
var t1 = $.$get$_newlineRegExp().allMatches$1(0, text), |
|
newlines = P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0)); |
|
if (this.get$_betweenCRLF()) |
|
C.JSArray_methods.removeLast$0(newlines); |
|
return newlines; |
|
} |
|
}; |
|
S.SpanScanner.prototype = { |
|
set$state: function(state) { |
|
if (!(state instanceof S._SpanScannerState) || state._scanner !== this) |
|
throw H.wrapException(P.ArgumentError$("The given LineScannerState was not returned by this LineScanner.")); |
|
this.set$position(state.position); |
|
}, |
|
spanFrom$2: function(startState, endState) { |
|
var endPosition = endState == null ? this._string_scanner$_position : endState.position; |
|
return this._sourceFile.span$2(startState.position, endPosition); |
|
}, |
|
spanFrom$1: function(startState) { |
|
return this.spanFrom$2(startState, null); |
|
}, |
|
matches$1: function(pattern) { |
|
var t1, t2, _this = this; |
|
if (!_this.super$StringScanner$matches(pattern)) |
|
return false; |
|
t1 = _this._string_scanner$_position; |
|
t2 = _this.get$lastMatch(); |
|
_this._sourceFile.span$2(t1, t2.start + t2.pattern.length); |
|
return true; |
|
}, |
|
error$3$length$position: function(message, $length, position) { |
|
var t2, match, _this = this, |
|
t1 = _this.string; |
|
B.validateErrorArgs(t1, null, position, $length); |
|
t2 = position == null && $length == null; |
|
match = t2 ? _this.get$lastMatch() : null; |
|
if (position == null) |
|
position = match == null ? _this._string_scanner$_position : match.start; |
|
if ($length == null) |
|
if (match == null) |
|
$length = 0; |
|
else { |
|
t2 = match.start; |
|
$length = t2 + match.pattern.length - t2; |
|
} |
|
throw H.wrapException(E.StringScannerException$(message, _this._sourceFile.span$2(position, position + $length), t1)); |
|
}, |
|
error$1: function(message) { |
|
return this.error$3$length$position(message, null, null); |
|
}, |
|
error$2$position: function(message, position) { |
|
return this.error$3$length$position(message, null, position); |
|
}, |
|
error$2$length: function(message, $length) { |
|
return this.error$3$length$position(message, $length, null); |
|
} |
|
}; |
|
S._SpanScannerState.prototype = {}; |
|
X.StringScanner.prototype = { |
|
set$position: function(position) { |
|
if (position < 0 || position > this.string.length) |
|
throw H.wrapException(P.ArgumentError$("Invalid position " + position)); |
|
this._string_scanner$_position = position; |
|
this._lastMatch = null; |
|
}, |
|
get$lastMatch: function() { |
|
var _this = this; |
|
if (_this._string_scanner$_position !== _this._lastMatchPosition) |
|
_this._lastMatch = null; |
|
return _this._lastMatch; |
|
}, |
|
readChar$0: function() { |
|
var _this = this, |
|
t1 = _this._string_scanner$_position, |
|
t2 = _this.string; |
|
if (t1 === t2.length) |
|
_this.error$3$length$position("expected more input.", 0, t1); |
|
return J.codeUnitAt$1$s(t2, _this._string_scanner$_position++); |
|
}, |
|
peekChar$1: function(offset) { |
|
var index; |
|
if (offset == null) |
|
offset = 0; |
|
index = this._string_scanner$_position + offset; |
|
if (index < 0 || index >= this.string.length) |
|
return; |
|
return J.codeUnitAt$1$s(this.string, index); |
|
}, |
|
peekChar$0: function() { |
|
return this.peekChar$1(null); |
|
}, |
|
scanChar$1: function(character) { |
|
var t1 = this._string_scanner$_position, |
|
t2 = this.string; |
|
if (t1 === t2.length) |
|
return false; |
|
if (J.codeUnitAt$1$s(t2, t1) !== character) |
|
return false; |
|
this._string_scanner$_position = t1 + 1; |
|
return true; |
|
}, |
|
expectChar$2$name: function(character, $name) { |
|
if (this.scanChar$1(character)) |
|
return; |
|
if ($name == null) |
|
if (character === 92) |
|
$name = '"\\"'; |
|
else |
|
$name = character === 34 ? '"\\""' : '"' + H.Primitives_stringFromCharCode(character) + '"'; |
|
this.error$3$length$position("expected " + $name + ".", 0, this._string_scanner$_position); |
|
}, |
|
expectChar$1: function(character) { |
|
return this.expectChar$2$name(character, null); |
|
}, |
|
scan$1: function(pattern) { |
|
var t1, _this = this, |
|
success = _this.matches$1(pattern); |
|
if (success) { |
|
t1 = _this._lastMatch; |
|
_this._lastMatchPosition = _this._string_scanner$_position = t1.start + t1.pattern.length; |
|
} |
|
return success; |
|
}, |
|
expect$1: function(pattern) { |
|
var t1, $name; |
|
if (this.scan$1(pattern)) |
|
return; |
|
t1 = H.stringReplaceAllUnchecked(pattern, "\\", "\\\\"); |
|
$name = '"' + H.stringReplaceAllUnchecked(t1, '"', '\\"') + '"'; |
|
this.error$3$length$position("expected " + $name + ".", 0, this._string_scanner$_position); |
|
}, |
|
expectDone$0: function() { |
|
var t1 = this._string_scanner$_position; |
|
if (t1 === this.string.length) |
|
return; |
|
this.error$3$length$position("expected no more input.", 0, t1); |
|
}, |
|
matches$1: function(pattern) { |
|
var _this = this, |
|
t1 = C.JSString_methods.matchAsPrefix$2(pattern, _this.string, _this._string_scanner$_position); |
|
_this._lastMatch = t1; |
|
_this._lastMatchPosition = _this._string_scanner$_position; |
|
return t1 != null; |
|
}, |
|
substring$1: function(_, start) { |
|
var end = this._string_scanner$_position; |
|
return J.substring$2$s(this.string, start, end); |
|
}, |
|
error$3$length$position: function(message, $length, position) { |
|
var t2, t3, t4, sourceFile, |
|
t1 = this.string; |
|
B.validateErrorArgs(t1, null, position, $length); |
|
t2 = this.sourceUrl; |
|
t1.toString; |
|
t3 = new H.CodeUnits(t1); |
|
t4 = H.setRuntimeTypeInfo([0], [P.int]); |
|
sourceFile = new Y.SourceFile(t2, t4, new Uint32Array(H._ensureNativeList(t3.toList$0(t3)))); |
|
sourceFile.SourceFile$decoded$2$url(t3, t2); |
|
throw H.wrapException(E.StringScannerException$(message, sourceFile.span$2(position, position + $length), t1)); |
|
} |
|
}; |
|
A.AsciiGlyphSet.prototype = { |
|
glyphOrAscii$2: function(glyph, alternative) { |
|
return alternative; |
|
}, |
|
get$horizontalLine: function() { |
|
return "-"; |
|
}, |
|
get$verticalLine: function() { |
|
return "|"; |
|
}, |
|
get$topLeftCorner: function() { |
|
return ","; |
|
}, |
|
get$bottomLeftCorner: function() { |
|
return "'"; |
|
}, |
|
get$cross: function() { |
|
return "+"; |
|
}, |
|
get$upEnd: function() { |
|
return "'"; |
|
}, |
|
get$downEnd: function() { |
|
return ","; |
|
}, |
|
get$horizontalLineBold: function() { |
|
return "="; |
|
} |
|
}; |
|
K.UnicodeGlyphSet.prototype = { |
|
glyphOrAscii$2: function(glyph, alternative) { |
|
return glyph; |
|
}, |
|
get$horizontalLine: function() { |
|
return "\u2500"; |
|
}, |
|
get$verticalLine: function() { |
|
return "\u2502"; |
|
}, |
|
get$topLeftCorner: function() { |
|
return "\u250c"; |
|
}, |
|
get$bottomLeftCorner: function() { |
|
return "\u2514"; |
|
}, |
|
get$cross: function() { |
|
return "\u253c"; |
|
}, |
|
get$upEnd: function() { |
|
return "\u2575"; |
|
}, |
|
get$downEnd: function() { |
|
return "\u2577"; |
|
}, |
|
get$horizontalLineBold: function() { |
|
return "\u2501"; |
|
} |
|
}; |
|
S.Tuple2.prototype = { |
|
toString$0: function(_) { |
|
return "[" + H.S(this.item1) + ", " + H.S(this.item2) + "]"; |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof S.Tuple2 && J.$eq$(other.item1, this.item1) && J.$eq$(other.item2, this.item2); |
|
}, |
|
get$hashCode: function(_) { |
|
var t1 = J.get$hashCode$(this.item1), |
|
t2 = J.get$hashCode$(this.item2); |
|
return X._finish(X._combine(X._combine(0, C.JSInt_methods.get$hashCode(t1)), C.JSInt_methods.get$hashCode(t2))); |
|
} |
|
}; |
|
S.Tuple3.prototype = { |
|
toString$0: function(_) { |
|
return "[" + H.S(this.item1) + ", " + this.item2.toString$0(0) + ", " + H.S(this.item3) + "]"; |
|
}, |
|
$eq: function(_, other) { |
|
if (other == null) |
|
return false; |
|
return other instanceof S.Tuple3 && other.item1 == this.item1 && other.item2.$eq(0, this.item2) && J.$eq$(other.item3, this.item3); |
|
}, |
|
get$hashCode: function(_) { |
|
var t3, |
|
t1 = J.get$hashCode$(this.item1), |
|
t2 = this.item2; |
|
t2 = t2.get$hashCode(t2); |
|
t3 = J.get$hashCode$(this.item3); |
|
return X._finish(X._combine(X._combine(X._combine(0, C.JSInt_methods.get$hashCode(t1)), C.JSInt_methods.get$hashCode(t2)), C.JSInt_methods.get$hashCode(t3))); |
|
} |
|
}; |
|
E.WatchEvent.prototype = { |
|
toString$0: function(_) { |
|
return H.S(this.type) + " " + H.S(this.path); |
|
}, |
|
get$path: function(receiver) { |
|
return this.path; |
|
} |
|
}; |
|
E.ChangeType.prototype = { |
|
toString$0: function(_) { |
|
return this._watch_event$_name; |
|
} |
|
}; |
|
(function aliases() { |
|
var _ = J.Interceptor.prototype; |
|
_.super$Interceptor$noSuchMethod = _.noSuchMethod$1; |
|
_ = J.JavaScriptObject.prototype; |
|
_.super$JavaScriptObject$toString = _.toString$0; |
|
_ = H.JsLinkedHashMap.prototype; |
|
_.super$JsLinkedHashMap$internalContainsKey = _.internalContainsKey$1; |
|
_.super$JsLinkedHashMap$internalGet = _.internalGet$1; |
|
_.super$JsLinkedHashMap$internalSet = _.internalSet$2; |
|
_.super$JsLinkedHashMap$internalRemove = _.internalRemove$1; |
|
_ = P._BroadcastStreamController.prototype; |
|
_.super$_BroadcastStreamController$_addEventError = _._addEventError$0; |
|
_ = P._BufferingStreamSubscription.prototype; |
|
_.super$_BufferingStreamSubscription$_add = _._async$_add$1; |
|
_.super$_BufferingStreamSubscription$_addError = _._addError$2; |
|
_ = P.ListMixin.prototype; |
|
_.super$ListMixin$setRange = _.setRange$4; |
|
_ = P.Iterable.prototype; |
|
_.super$Iterable$where = _.where$1; |
|
_.super$Iterable$skipWhile = _.skipWhile$1; |
|
_ = B.ModifiableCssParentNode.prototype; |
|
_.super$ModifiableCssParentNode$addChild = _.addChild$1; |
|
_ = M.SimpleSelector.prototype; |
|
_.super$SimpleSelector$addSuffix = _.addSuffix$1; |
|
_.super$SimpleSelector$unify = _.unify$1; |
|
_ = G.Parser.prototype; |
|
_.super$Parser$silentComment = _.silentComment$0; |
|
_ = V.StylesheetParser.prototype; |
|
_.super$StylesheetParser$importArgument = _.importArgument$0; |
|
_ = F.Value.prototype; |
|
_.super$Value$assertMap = _.assertMap$1; |
|
_.super$Value$plus = _.plus$1; |
|
_.super$Value$minus = _.minus$1; |
|
_.super$Value$dividedBy = _.dividedBy$1; |
|
_ = Y.SourceSpanMixin.prototype; |
|
_.super$SourceSpanMixin$compareTo = _.compareTo$1; |
|
_.super$SourceSpanMixin$$eq = _.$eq; |
|
_ = X.StringScanner.prototype; |
|
_.super$StringScanner$readChar = _.readChar$0; |
|
_.super$StringScanner$scanChar = _.scanChar$1; |
|
_.super$StringScanner$scan = _.scan$1; |
|
_.super$StringScanner$matches = _.matches$1; |
|
})(); |
|
(function installTearOffs() { |
|
var _static_2 = hunkHelpers._static_2, |
|
_instance_1_i = hunkHelpers._instance_1i, |
|
_instance_1_u = hunkHelpers._instance_1u, |
|
_static_1 = hunkHelpers._static_1, |
|
_static_0 = hunkHelpers._static_0, |
|
_static = hunkHelpers.installStaticTearOff, |
|
_instance_0_u = hunkHelpers._instance_0u, |
|
_instance = hunkHelpers.installInstanceTearOff, |
|
_instance_0_i = hunkHelpers._instance_0i, |
|
_instance_2_u = hunkHelpers._instance_2u; |
|
_static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 35); |
|
_instance_1_i(J.JSArray.prototype, "get$contains", "contains$1", 3); |
|
_instance_1_i(H._CastIterableBase.prototype, "get$contains", "contains$1", 3); |
|
_instance_1_u(H.ConstantStringMap.prototype, "get$containsKey", "containsKey$1", 3); |
|
_instance_1_u(H.ConstantProtoMap.prototype, "get$containsKey", "containsKey$1", 3); |
|
_instance_1_u(H.JsLinkedHashMap.prototype, "get$containsKey", "containsKey$1", 3); |
|
_static_1(P, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 19); |
|
_static_1(P, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 19); |
|
_static_1(P, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 19); |
|
_static_0(P, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 2); |
|
_static_1(P, "async___nullDataHandler$closure", "_nullDataHandler", 8); |
|
_static(P, "async___nullErrorHandler$closure", 1, function() { |
|
return [null]; |
|
}, ["call$2", "call$1"], ["_nullErrorHandler", function(error) { |
|
return P._nullErrorHandler(error, null); |
|
}], 16, 0); |
|
_static_0(P, "async___nullDoneHandler$closure", "_nullDoneHandler", 2); |
|
_static(P, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 65, 0); |
|
_static(P, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) { |
|
return P._rootRun($self, $parent, zone, f, null); |
|
}], 66, 1); |
|
_static(P, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) { |
|
return P._rootRunUnary($self, $parent, zone, f, arg, null, null); |
|
}], 67, 1); |
|
_static(P, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) { |
|
return P._rootRunBinary($self, $parent, zone, f, arg1, arg2, null, null, null); |
|
}], 68, 1); |
|
_static(P, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) { |
|
return P._rootRegisterCallback($self, $parent, zone, f, null); |
|
}], 91, 0); |
|
_static(P, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) { |
|
return P._rootRegisterUnaryCallback($self, $parent, zone, f, null, null); |
|
}], 70, 0); |
|
_static(P, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) { |
|
return P._rootRegisterBinaryCallback($self, $parent, zone, f, null, null, null); |
|
}], 71, 0); |
|
_static(P, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 72, 0); |
|
_static(P, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 73, 0); |
|
_static(P, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 74, 0); |
|
_static(P, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 75, 0); |
|
_static(P, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 76, 0); |
|
_static_1(P, "async___printToZone$closure", "_printToZone", 77); |
|
_static(P, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 78, 0); |
|
var _; |
|
_instance_0_u(_ = P._BroadcastSubscription.prototype, "get$_async$_onPause", "_async$_onPause$0", 2); |
|
_instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 2); |
|
_instance(P._AsyncCompleter.prototype, "get$complete", 0, 0, function() { |
|
return [null]; |
|
}, ["call$1", "call$0"], ["complete$1", "complete$0"], 30, 0); |
|
_instance(P._Future.prototype, "get$_completeError", 0, 1, function() { |
|
return [null]; |
|
}, ["call$2", "call$1"], ["_completeError$2", "_completeError$1"], 16, 0); |
|
_instance_1_i(_ = P._StreamController.prototype, "get$add", "add$1", 8); |
|
_instance(_, "get$addError", 0, 1, function() { |
|
return [null]; |
|
}, ["call$2", "call$1"], ["addError$2", "addError$1"], 16, 0); |
|
_instance_0_i(_, "get$close", "close$0", 34); |
|
_instance_1_u(_, "get$_async$_add", "_async$_add$1", 8); |
|
_instance_2_u(_, "get$_addError", "_addError$2", 53); |
|
_instance_0_u(_, "get$_close", "_close$0", 2); |
|
_instance_0_u(_ = P._ControllerSubscription.prototype, "get$_async$_onPause", "_async$_onPause$0", 2); |
|
_instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 2); |
|
_instance(_ = P._BufferingStreamSubscription.prototype, "get$pause", 1, 0, null, ["call$1", "call$0"], ["pause$1", "pause$0"], 28, 0); |
|
_instance_0_u(_, "get$resume", "resume$0", 2); |
|
_instance_0_u(_, "get$_async$_onPause", "_async$_onPause$0", 2); |
|
_instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 2); |
|
_instance(_ = P._DoneStreamSubscription.prototype, "get$pause", 1, 0, null, ["call$1", "call$0"], ["pause$1", "pause$0"], 28, 0); |
|
_instance_0_u(_, "get$resume", "resume$0", 2); |
|
_instance_0_u(_, "get$_sendDone", "_sendDone$0", 2); |
|
_instance_1_u(_ = P._StreamIterator.prototype, "get$_onData", "_onData$1", 8); |
|
_instance(_, "get$_onError", 0, 1, function() { |
|
return [null]; |
|
}, ["call$2", "call$1"], ["_onError$2", "_onError$1"], 16, 0); |
|
_instance_0_u(_, "get$_onDone", "_onDone$0", 2); |
|
_instance_0_u(_ = P._ForwardingStreamSubscription.prototype, "get$_async$_onPause", "_async$_onPause$0", 2); |
|
_instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 2); |
|
_instance_1_u(_, "get$_handleData", "_handleData$1", 8); |
|
_instance_2_u(_, "get$_handleError", "_handleError$2", 46); |
|
_instance_0_u(_, "get$_handleDone", "_handleDone$0", 2); |
|
_static_2(P, "collection___defaultEquals$closure", "_defaultEquals", 79); |
|
_static_1(P, "collection___defaultHashCode$closure", "_defaultHashCode", 80); |
|
_static_2(P, "collection_ListMixin__compareAny$closure", "ListMixin__compareAny", 35); |
|
_instance_1_u(P._HashMap.prototype, "get$containsKey", "containsKey$1", 3); |
|
_instance_1_u(P._LinkedCustomHashMap.prototype, "get$containsKey", "containsKey$1", 3); |
|
_instance(_ = P._LinkedHashSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 29, 0); |
|
_instance_1_i(_, "get$contains", "contains$1", 3); |
|
_instance(P._LinkedIdentityHashSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 29, 0); |
|
_instance_1_u(P.MapMixin.prototype, "get$containsKey", "containsKey$1", 3); |
|
_instance_1_u(P.MapView.prototype, "get$containsKey", "containsKey$1", 3); |
|
_static_1(P, "convert___defaultToEncodable$closure", "_defaultToEncodable", 10); |
|
_static_1(P, "core__identityHashCode$closure", "identityHashCode", 81); |
|
_static_2(P, "core__identical$closure", "identical", 82); |
|
_static_1(P, "core_Uri_decodeComponent$closure", "Uri_decodeComponent", 27); |
|
_instance_1_i(P.Iterable.prototype, "get$contains", "contains$1", 3); |
|
_static(P, "math__max$closure", 2, null, ["call$1$2", "call$2"], ["max", function(a, b) { |
|
return P.max(a, b, P.num); |
|
}], 84, 1); |
|
_instance_1_u(_ = Y.StreamCompleter.prototype, "get$setSourceStream", "setSourceStream$1", 8); |
|
_instance(_, "get$setError", 0, 1, function() { |
|
return [null]; |
|
}, ["call$2", "call$1"], ["setError$2", "setError$1"], 40, 0); |
|
_instance_0_u(_ = L.StreamGroup.prototype, "get$_onListen", "_onListen$0", 2); |
|
_instance_0_u(_, "get$_onPause", "_onPause$0", 2); |
|
_instance_0_u(_, "get$_onResume", "_onResume$0", 2); |
|
_instance_0_u(_, "get$_onCancel", "_onCancel$0", 34); |
|
_instance_1_i(O.EmptyUnmodifiableSet.prototype, "get$contains", "contains$1", 3); |
|
_instance_1_i(M._DelegatingIterableBase.prototype, "get$contains", "contains$1", 3); |
|
_instance_1_i(M.MapKeySet.prototype, "get$contains", "contains$1", 3); |
|
_instance_1_u(B.ModifiableCssNode.prototype, "get$_node0$_isInvisible", "_node0$_isInvisible$1", 31); |
|
_instance_1_u(D.SelectorList.prototype, "get$_complexContainsParentSelector", "_complexContainsParentSelector$1", 64); |
|
_static_1(Y, "functions___isUnique$closure", "_isUnique", 85); |
|
_static_1(K, "color___opacify$closure", "_opacify", 6); |
|
_static_1(K, "color___transparentize$closure", "_transparentize", 6); |
|
_static_2(B, "node___render$closure", "_render", 86); |
|
_static_1(B, "node___renderSync$closure", "_renderSync", 87); |
|
_instance_0_u(_ = G.Parser.prototype, "get$whitespace", "whitespace$0", 2); |
|
_instance_0_u(_, "get$loudComment", "loudComment$0", 2); |
|
_instance_0_u(_, "get$string", "string$0", 48); |
|
_instance_0_u(U.SassParser.prototype, "get$loudComment", "loudComment$0", 2); |
|
_instance(_ = V.StylesheetParser.prototype, "get$_statement", 0, 0, null, ["call$1$root", "call$0"], ["_statement$1$root", "_statement$0"], 36, 0); |
|
_instance_0_u(_, "get$_declarationChild", "_declarationChild$0", 25); |
|
_instance_0_u(_, "get$_declarationAtRule", "_declarationAtRule$0", 25); |
|
_instance_0_u(_, "get$_functionChild", "_functionChild$0", 25); |
|
_instance(_, "get$expression", 0, 0, null, ["call$3$bracketList$singleEquals$until", "call$0", "call$2$singleEquals$until", "call$1$bracketList", "call$1$singleEquals", "call$1$until"], ["expression$3$bracketList$singleEquals$until", "expression$0", "expression$2$singleEquals$until", "expression$1$bracketList", "expression$1$singleEquals", "expression$1$until"], 51, 0); |
|
_instance_0_u(_, "get$_number", "_number$0", 52); |
|
_instance_1_u(K.LimitedMapView.prototype, "get$containsKey", "containsKey$1", 3); |
|
_instance_1_u(Z.MergedMapView.prototype, "get$containsKey", "containsKey$1", 3); |
|
_instance_1_i(N.NoSourceMapBuffer.prototype, "get$write", "write$1", 8); |
|
_instance_1_u(F.PrefixedMapView.prototype, "get$containsKey", "containsKey$1", 3); |
|
_instance_1_u(U.PublicMemberMapView.prototype, "get$containsKey", "containsKey$1", 3); |
|
_instance_1_i(D.SourceMapBuffer.prototype, "get$write", "write$1", 8); |
|
_instance_1_u(R.UnprefixedMapView.prototype, "get$containsKey", "containsKey$1", 3); |
|
_static_1(B, "utils__isPublic$closure", "isPublic", 88); |
|
_instance_1_u(_ = N._SerializeVisitor.prototype, "get$_visitMediaQuery", "_visitMediaQuery$1", 58); |
|
_instance_1_u(_, "get$_isInvisible", "_isInvisible$1", 31); |
|
_instance(Y.SourceFile.prototype, "get$span", 0, 1, null, ["call$2", "call$1"], ["span$2", "span$1"], 60, 0); |
|
_instance(Y.SourceSpanMixin.prototype, "get$message", 1, 1, function() { |
|
return {color: null}; |
|
}, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 92, 0); |
|
_static(L, "from_handlers__StreamTransformer__defaultHandleError$closure", 3, null, ["call$1$3", "call$3"], ["_StreamTransformer__defaultHandleError", function(error, stackTrace, sink) { |
|
return L._StreamTransformer__defaultHandleError(error, stackTrace, sink, null); |
|
}], 89, 0); |
|
_static(R, "rate_limit___collectToList$closure", 2, null, ["call$1$2", "call$2"], ["_collectToList", function(element, soFar) { |
|
return R._collectToList(element, soFar, null); |
|
}], 90, 0); |
|
_static_1(D, "path__dirname$closure", "dirname", 27); |
|
_static_1(F, "value0__wrapValue$closure", "wrapValue", 69); |
|
_static_1(T, "character__isWhitespace$closure", "isWhitespace", 11); |
|
_static_1(T, "character__isNewline$closure", "isNewline", 11); |
|
_static_1(T, "character__isHex$closure", "isHex", 11); |
|
_static_2(T, "number0__fuzzyEquals$closure", "fuzzyEquals", 14); |
|
_static_2(T, "number0__fuzzyLessThan$closure", "fuzzyLessThan", 14); |
|
_static_2(T, "number0__fuzzyLessThanOrEquals$closure", "fuzzyLessThanOrEquals", 14); |
|
_static_2(T, "number0__fuzzyGreaterThan$closure", "fuzzyGreaterThan", 14); |
|
_static_2(T, "number0__fuzzyGreaterThanOrEquals$closure", "fuzzyGreaterThanOrEquals", 14); |
|
_static_1(T, "number0__fuzzyRound$closure", "fuzzyRound", 24); |
|
})(); |
|
(function inheritance() { |
|
var _mixin = hunkHelpers.mixin, |
|
_inherit = hunkHelpers.inherit, |
|
_inheritMany = hunkHelpers.inheritMany; |
|
_inherit(P.Object, null); |
|
_inheritMany(P.Object, [H.JS_CONST, J.Interceptor, J.ArrayIterator, P.Iterable, H.CastIterator, H.Closure, P._ListBase_Object_ListMixin, H.ListIterator, P.Iterator, H.ExpandIterator, H.EmptyIterator, H.FollowedByIterator, H.WhereTypeIterator, H.FixedLengthListMixin, H.UnmodifiableListMixin, H.Symbol, P.MapView, H.ConstantMap, H.JSInvocationMirror, H.TypeErrorDecoder, P.Error, H.ExceptionAndStackTrace, H._StackTrace, H.TypeImpl, P.MapMixin, H.LinkedHashMapCell, H.LinkedHashMapKeyIterator, H.JSSyntaxRegExp, H._MatchImplementation, H._AllMatchesIterator, H.StringMatch, H._StringAllMatchesIterator, P._TimerImpl, P._AsyncAwaitCompleter, P._AsyncStarStreamController, P._IterationMarker, P._SyncStarIterator, P.Stream, P._BufferingStreamSubscription, P._BroadcastStreamController, P.Future, P._Completer, P._FutureListener, P._Future, P._AsyncCallbackEntry, P.StreamSubscription, P.EventSink, P.StreamTransformerBase, P._StreamController, P._SyncStreamControllerDispatch, P._AsyncStreamControllerDispatch, P._AddStreamState, P._DelayedEvent, P._DelayedDone, P._PendingEvents, P._DoneStreamSubscription, P._StreamIterator, P.Timer, P.AsyncError, P._ZoneFunction, P.ZoneSpecification, P._ZoneSpecification, P.ZoneDelegate, P.Zone, P._ZoneDelegate, P._Zone, P._HashMapKeyIterator, P._SetBase, P._LinkedHashSetCell, P._LinkedHashSetIterator, P.ListMixin, P._MapBaseValueIterator, P._UnmodifiableMapMixin, P.Queue, P._ListQueueIterator, P.Codec, P._Base64Encoder, P.ChunkedConversionSink, P._JsonStringifier, P.StringConversionSinkMixin, P._Utf8Encoder, P._Utf8Decoder, P.bool, P.DateTime, P.num, P.Duration, P.OutOfMemoryError, P.StackOverflowError, P._Exception, P.FormatException, P.Function, P.List, P.Map, P.MapEntry, P.Null, P.Match, P.RegExpMatch, P.StackTrace, P._StringStackTrace, P.String, P.RuneIterator, P.StringBuffer, P.StringSink, P.Symbol0, P.Uri, P._Uri, P.UriData, P._SimpleUri, P._JSRandom, P.Uint8List, N.ArgParser, V.ArgResults, G.Option, G.OptionType, G.Parser0, G.Usage, V.ErrorResult, E.Result, F.ValueResult, Y.StreamCompleter, L.StreamGroup, L._StreamGroupState, G.StreamQueue, G._EventRequest, G._NextRequest, Q.Repl, B.ReplAdapter, U.DefaultEquality, U.ListEquality, U._MapEntry, U.MapEquality, Q._QueueList_Object_ListMixin, M._DelegatingIterableBase, L.UnmodifiableSetMixin, M.Context, M._PathDirection, M._PathRelation, O.Style, X.ParsedPath, X.PathException, F.CssMediaQuery, F._SingletonCssMediaQueryMergeResult, F.MediaQuerySuccessfulMergeResult, B.AstNode, F.ModifiableCssValue, F.CssValue, B._FakeAstNode, Z.Argument, B.ArgumentDeclaration, X.ArgumentInvocation, V.AtRootQuery, Z.ConfiguredVariable, T.Expression, V.BinaryOperationExpression, V.BinaryOperator, Z.BooleanExpression, K.ColorExpression, F.FunctionExpression, L.IfExpression, D.ListExpression, A.MapExpression, O.NullExpression, T.NumberExpression, T.ParenthesizedExpression, T.SelectorExpression, D.StringExpression, X.UnaryOperationExpression, X.UnaryOperator, F.ValueExpression, S.VariableExpression, F.Import, B.DynamicImport, Q.StaticImport, X.Interpolation, O.Statement, M.ParentStatement, Q.ContentRule, Q.DebugRule, D.ErrorRule, X.ExtendRule, L.ForwardRule, V.IfRule, V.IfClause, B.ImportRule, A.IncludeRule, L.LoudComment, B.ReturnRule, B.SilentComment, T.UseRule, Z.VariableDeclaration, Y.WarnRule, L.SupportsDeclaration, X.SupportsInterpolation, M.SupportsNegation, U.SupportsOperation, T.Selector, N.AttributeOperator, S.ComplexSelectorComponent, S.Combinator, D.QualifiedName, X.CompileResult, Q.AsyncEnvironment, Q._EnvironmentModule0, O.AsyncImportCache, B.AsyncCallable, S.AsyncBuiltInCallable, Q.BuiltInCallable, L.PlainCssCallable, E.UserDefinedCallable, A.Configuration, Z.ConfiguredValue, O.Environment, O._EnvironmentModule, G.SourceSpanException, E.SassScriptException, B.ExecutableOptions, B.UsageException, A._Watcher, T.EmptyExtender, F.Extender, S.Extension, L.ExtendMode, R.ImportCache, B.AsyncImporter, F.NodeImporter, E.ImporterResult, Z.InterpolationBuffer, B.FileSystemException, B.Stderr, F._QuietLogger, S.StderrLogger, T.TrackingLogger, G.Module, Q.BuiltInModule, R.ForwardedModuleView, B.ShadowedModuleView, G.Parser, M.StylesheetGraph, M.StylesheetNode, M.Syntax, G.FixedLengthListBuilder, U.MultiDirWatcher, N.NoSourceMapBuffer, D.SourceMapBuffer, F.Value, D.ListSeparator, E._EvaluateVisitor0, E._ImportedCssVisitor0, E.EvaluateResult, E._ArgumentResults0, V._CloneCssVisitor, R.Evaluator, R._EvaluateVisitor, R._ImportedCssVisitor, R._ArgumentResults, D.RecursiveStatementVisitor, N._SerializeVisitor, N.OutputStyle, N.LineFeed, N.SerializeResult, L.Entry, T.Mapping, T.TargetLineEntry, T.TargetEntry, Y.SourceFile, D.SourceLocationMixin, Y.FileSpan, Y.SourceSpanMixin, U.Highlighter, U._Highlight, U._Line, V.SourceLocation, V.SourceSpan, U.Chain, A.Frame, T.LazyTrace, Y.Trace, N.UnparsedFrame, X.StringScanner, S._SpanScannerState, A.AsciiGlyphSet, K.UnicodeGlyphSet, S.Tuple2, S.Tuple3, E.WatchEvent, E.ChangeType]); |
|
_inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JSArray, J.JSNumber, J.JSString, H.NativeTypedData]); |
|
_inheritMany(J.JavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, B.Stdin, B.Stdout, B.ReadlineModule, B.ReadlineOptions, B.ReadlineInterface, B._FS, B._Stat, B._Date, B._Stderr, B._Stdin, B._SystemError, B._Process, Y.Chokidar, Y.ChokidarOptions, Y.ChokidarWatcher, V.JSError, D.Exports, E.FiberClass, E.Fiber, F.JSFunction, F.NodeImporterResult, Z.RenderContext, L.RenderContextOptions, R.RenderOptions, U.RenderResult, U.RenderResultStats, G.Types, B._PropertyDescriptor, K._NodeSassColor, D._NodeSassList, A._NodeSassMap, T._NodeSassNumber, D._NodeSassString]); |
|
_inherit(J.JSUnmodifiableArray, J.JSArray); |
|
_inheritMany(J.JSNumber, [J.JSInt, J.JSDouble]); |
|
_inheritMany(P.Iterable, [H._CastIterableBase, H.EfficientLengthIterable, H.MappedIterable, H.WhereIterable, H.ExpandIterable, H.TakeIterable, H.SkipIterable, H.SkipWhileIterable, H.FollowedByIterable, H.WhereTypeIterable, H._ConstantMapKeyIterable, P.IterableBase, H._StringAllMatchesIterable, P.Runes]); |
|
_inheritMany(H._CastIterableBase, [H.CastIterable, H.__CastListBase__CastIterableBase_ListMixin, H.CastSet, H.CastQueue]); |
|
_inherit(H._EfficientLengthCastIterable, H.CastIterable); |
|
_inherit(H._CastListBase, H.__CastListBase__CastIterableBase_ListMixin); |
|
_inheritMany(H.Closure, [H._CastListBase_sort_closure, H.ConstantStringMap_values_closure, H.Instantiation, H.Primitives_functionNoSuchMethod_closure, H.unwrapException_saveStackTrace, H.TearOffClosure, H.JsLinkedHashMap_values_closure, H.JsLinkedHashMap_addAll_closure, H.initHooks_closure, H.initHooks_closure0, H.initHooks_closure1, P._AsyncRun__initializeScheduleImmediate_internalCallback, P._AsyncRun__initializeScheduleImmediate_closure, P._AsyncRun__scheduleImmediateJsOverride_internalCallback, P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, P._TimerImpl_internalCallback, P._TimerImpl$periodic_closure, P._awaitOnObject_closure, P._awaitOnObject_closure0, P._wrapJsFunctionForAsync_closure, P._asyncStarHelper_closure, P._asyncStarHelper_closure0, P._AsyncStarStreamController__resumeBody, P._AsyncStarStreamController__resumeBody_closure, P._AsyncStarStreamController_closure0, P._AsyncStarStreamController_closure1, P._AsyncStarStreamController_closure, P._AsyncStarStreamController__closure, P._SyncBroadcastStreamController__sendData_closure, P._SyncBroadcastStreamController__sendError_closure, P._SyncBroadcastStreamController__sendDone_closure, P.Future_wait_handleError, P.Future_wait_closure, P._Future__addListener_closure, P._Future__prependListeners_closure, P._Future__chainForeignFuture_closure, P._Future__chainForeignFuture_closure0, P._Future__chainForeignFuture_closure1, P._Future__asyncComplete_closure, P._Future__chainFuture_closure, P._Future__asyncCompleteError_closure, P._Future__propagateToListeners_handleWhenCompleteCallback, P._Future__propagateToListeners_handleWhenCompleteCallback_closure, P._Future__propagateToListeners_handleValueCallback, P._Future__propagateToListeners_handleError, P.Stream_Stream$fromFuture_closure, P.Stream_Stream$fromFuture_closure0, P.Stream_length_closure, P.Stream_length_closure0, P._StreamController__subscribe_closure, P._StreamController__recordCancel_complete, P._AddStreamState_cancel_closure, P._BufferingStreamSubscription__sendError_sendError, P._BufferingStreamSubscription__sendDone_sendDone, P._PendingEvents_schedule_closure, P._CustomZone_bindCallback_closure, P._CustomZone_bindUnaryCallback_closure, P._CustomZone_bindCallbackGuarded_closure, P._rootHandleUncaughtError_closure, P._RootZone_bindCallback_closure, P._RootZone_bindCallbackGuarded_closure, P._HashMap_values_closure, P._HashMap_addAll_closure, P._LinkedCustomHashMap_closure, P.HashMap_HashMap$from_closure, P.LinkedHashMap_LinkedHashMap$from_closure, P.MapBase_mapToString_closure, P.MapMixin_entries_closure, P._JsonStringifier_writeMap_closure, P.NoSuchMethodError_toString_closure, P.Duration_toString_sixDigits, P.Duration_toString_twoDigits, P.Uri__parseIPv4Address_error, P.Uri_parseIPv6Address_error, P.Uri_parseIPv6Address_parseHex, P._Uri__Uri$notSimple_closure, P._Uri__checkNonWindowsPathReservedCharacters_closure, P._Uri__makePath_closure, P._createTables_closure, P._createTables_build, P._createTables_setChars, P._createTables_setRange, N.ArgParser_findByAbbreviation_closure, N.ArgParser_findByAbbreviation_closure0, G.Parser_parse_closure, G.Parser_setOption_closure, G.Usage_generate_closure, G.Usage_buildAllowedList_closure, L.StreamGroup_add_closure, L.StreamGroup_add_closure0, L.StreamGroup__onListen_closure, L.StreamGroup__onCancel_closure, L.StreamGroup__onCancel_closure0, L.StreamGroup__listenToStream_closure, G.StreamQueue__ensureListening_closure, G.StreamQueue__ensureListening_closure1, G.StreamQueue__ensureListening_closure0, Q.closure142, B.ReplAdapter_runAsync_closure, Y.mapMap_closure, Y.mapMap_closure0, Y.mapMap_closure1, Y.groupBy_closure, B.defaultCompare_closure, M.Context_join_closure, M.Context_joinAll_closure, M.Context_split_closure, M._validateArgList_closure, X.ParsedPath_normalize_closure, X.ParsedPath__splitExtension_closure, X.ParsedPath__splitExtension_closure0, K.PathMap__create_closure, K.PathMap__create_closure0, K.PathMap__create_closure1, L.WindowsStyle_absolutePathToUri_closure, B.ArgumentDeclaration_verify_closure, B.ArgumentDeclaration_verify_closure0, D.ListExpression_toString_closure, A.MapExpression_toString_closure, X.Interpolation_toString_closure, V.EachRule_toString_closure, L.ForwardRule__memberList_closure, V.IfRule_toString_closure, V.IfClause$__closure, V.IfClause$___closure, M.ParentStatement_closure, M.ParentStatement__closure, S.ComplexSelector_isInvisible_closure, X.CompoundSelector_isInvisible_closure, N.IDSelector_unify_closure, D.SelectorList_isInvisible_closure, D.SelectorList_asSassList_closure, D.SelectorList_asSassList__closure, D.SelectorList_unify_closure, D.SelectorList_unify__closure, D.SelectorList_unify___closure, D.SelectorList_resolveParentSelectors_closure, D.SelectorList_resolveParentSelectors__closure, D.SelectorList_resolveParentSelectors__closure0, D.SelectorList__complexContainsParentSelector_closure, D.SelectorList__complexContainsParentSelector__closure, D.SelectorList__resolveParentSelectorsCompound_closure, D.SelectorList__resolveParentSelectorsCompound_closure0, D.SelectorList__resolveParentSelectorsCompound_closure1, X._compileStylesheet_closure0, Q.AsyncEnvironment_importForwards_closure, Q.AsyncEnvironment_importForwards_closure0, Q.AsyncEnvironment_importForwards_closure1, Q.AsyncEnvironment_importForwards_closure2, Q.AsyncEnvironment__getVariableFromGlobalModule_closure, Q.AsyncEnvironment_setVariable_closure, Q.AsyncEnvironment_setVariable_closure0, Q.AsyncEnvironment_setVariable_closure1, Q.AsyncEnvironment__getFunctionFromGlobalModule_closure, Q.AsyncEnvironment__getMixinFromGlobalModule_closure, Q._EnvironmentModule__EnvironmentModule_closure5, Q._EnvironmentModule__EnvironmentModule_closure6, Q._EnvironmentModule__EnvironmentModule_closure7, Q._EnvironmentModule__EnvironmentModule_closure8, Q._EnvironmentModule__EnvironmentModule_closure9, Q._EnvironmentModule__EnvironmentModule_closure10, O.AsyncImportCache_canonicalize_closure, O.AsyncImportCache__canonicalize_closure, O.AsyncImportCache_importCanonical_closure, O.AsyncImportCache_humanize_closure, O.AsyncImportCache_humanize_closure0, O.AsyncImportCache_humanize_closure1, S.AsyncBuiltInCallable$mixin_closure, Q.BuiltInCallable$mixin_closure, X.closure70, X.closure71, U._compileStylesheet_closure, O.Environment_importForwards_closure, O.Environment_importForwards_closure0, O.Environment_importForwards_closure1, O.Environment_importForwards_closure2, O.Environment__getVariableFromGlobalModule_closure, O.Environment_setVariable_closure, O.Environment_setVariable_closure0, O.Environment_setVariable_closure1, O.Environment__getFunctionFromGlobalModule_closure, O.Environment__getMixinFromGlobalModule_closure, O._EnvironmentModule__EnvironmentModule_closure, O._EnvironmentModule__EnvironmentModule_closure0, O._EnvironmentModule__EnvironmentModule_closure1, O._EnvironmentModule__EnvironmentModule_closure2, O._EnvironmentModule__EnvironmentModule_closure3, O._EnvironmentModule__EnvironmentModule_closure4, F.main_printError, F.main_closure0, D._writeSourceMap_closure, B.ExecutableOptions_closure, B.ExecutableOptions_emitErrorCss_closure, A.watch_closure, A._Watcher__debounceEvents_closure, A._Watcher__debounceEvents__closure, A._Watcher__retryPotentialImports_recanonicalize, F.Extender__extendOrReplace_closure, F.Extender_extensionsWhereTarget_closure, F.Extender__registerSelector_closure, F.Extender_addExtension_closure, F.Extender_addExtension_closure0, F.Extender_addExtension_closure1, F.Extender__extendExistingExtensions_closure, F.Extender__extendExistingExtensions_closure0, F.Extender_addExtensions_closure, F.Extender_addExtensions__closure, F.Extender_addExtensions___closure, F.Extender_addExtensions___closure0, F.Extender__extendList_closure, F.Extender__extendComplex_closure, F.Extender__extendComplex_closure0, F.Extender__extendComplex__closure, F.Extender__extendComplex__closure0, F.Extender__extendComplex___closure, F.Extender__extendCompound_closure, F.Extender__extendCompound_closure0, F.Extender__extendCompound__closure, F.Extender__extendCompound__closure0, F.Extender__extendCompound_closure1, F.Extender__extendCompound_closure2, F.Extender__extendSimple_withoutPseudo, F.Extender__extendSimple_closure, F.Extender__extendPseudo_closure, F.Extender__extendPseudo_closure0, F.Extender__extendPseudo_closure1, F.Extender__extendPseudo_closure2, F.Extender__extendPseudo_closure3, F.Extender__trim_closure, F.Extender__trim_closure0, F.Extender_clone_closure, Y.unifyComplex_closure, Y._weaveParents_closure, Y._weaveParents_closure0, Y._weaveParents_closure1, Y._weaveParents__closure1, Y._weaveParents_closure2, Y._weaveParents_closure3, Y._weaveParents__closure0, Y._weaveParents_closure4, Y._weaveParents_closure5, Y._weaveParents__closure, Y._mustUnify_closure, Y._mustUnify__closure, Y.paths_closure, Y.paths__closure, Y.paths___closure, Y._hasRoot_closure, Y.listIsSuperslector_closure, Y.listIsSuperslector__closure, Y._simpleIsSuperselectorOfCompound_closure, Y._simpleIsSuperselectorOfCompound__closure, Y._selectorPseudoIsSuperselector_closure, Y._selectorPseudoIsSuperselector_closure0, Y._selectorPseudoIsSuperselector_closure1, Y._selectorPseudoIsSuperselector_closure2, Y._selectorPseudoIsSuperselector_closure3, Y._selectorPseudoIsSuperselector__closure, Y._selectorPseudoIsSuperselector___closure, Y._selectorPseudoIsSuperselector___closure0, Y._selectorPseudoIsSuperselector_closure4, Y._selectorPseudoIsSuperselector_closure5, Y._selectorPseudosNamed_closure, Y.closure, K.closure43, K.closure44, K.closure45, K.closure46, K.closure47, K.closure48, K.closure49, K.closure50, K.closure51, K.closure52, K.closure53, K.closure54, K.closure55, K.closure56, K.closure57, K.closure58, K.closure59, K.closure60, K.closure61, K.closure62, K.closure63, K.closure64, K.closure65, K.closure66, K.closure67, K.closure68, K._closure10, K.closure69, K.closure96, K.closure97, K.closure98, K.closure99, K._closure12, K.closure100, K.closure83, K.closure82, K.closure81, K.closure80, K.closure79, K.closure78, K.closure77, K.closure76, K.closure74, K.closure_getInRange0, K._closure9, K.closure73, K.closure_getScale, K.closure_scaleValue, K._closure8, K.closure72, K.closure_getInRange, K._closure7, K.closure75, K.closure_hexString, K._functionString_closure, K._removedColorFunction_closure, K._parseChannels_closure, D.closure42, D.closure41, D.closure40, D.closure39, D.closure38, D.closure37, D._closure4, D._closure5, D._closure6, D.closure36, D.closure34, D.closure35, A.closure33, A.closure32, A.closure30, A.closure31, A.closure29, A.closure28, A.closure27, K.closure25, K.closure91, K.closure24, K.closure23, K.closure22, K.closure26, K.closure89, K._closure11, K.closure88, K.closure87, K.closure85, K.closure95, K.closure94, K.closure93, K.closure92, K.closure90, K.closure86, K.closure84, K.closure18, K.closure17, K.closure19, K.closure21, K.closure20, K._numberFunction_closure, Q.closure101, Q.closure102, Q.closure103, Q.closure104, Q._closure13, T.closure13, T._closure1, T._closure2, T.closure12, T._closure, T._closure0, T.__closure, T.closure11, T.closure10, T.closure9, T.closure16, T.closure15, T._closure3, T.closure14, D.closure8, D.closure7, D.closure3, D.closure2, D.closure1, D.closure0, D.closure6, D.closure5, D.closure4, R.ImportCache_canonicalize_closure, R.ImportCache__canonicalize_closure, R.ImportCache_importCanonical_closure, R.ImportCache_humanize_closure, R.ImportCache_humanize_closure0, R.ImportCache_humanize_closure1, F.NodeImporter__tryPath_closure, B.resolveImportPath_closure, B.resolveImportPath_closure0, B._tryPathAsDirectory_closure, B._exactlyOne_closure, F.realCasePath_closure, B._readFile_closure, B.writeFile_closure, B.deleteFile_closure, B.readStdin_closure, B.readStdin_closure0, B.readStdin_closure1, B.readStdin_closure2, B.fileExists_closure, B.dirExists_closure, B.ensureDir_closure, B.listDir_closure, B.listDir__closure, B.listDir__closure0, B.listDir_closure_list, B.listDir__list_closure, B.modificationTime_closure, B.watchDir_closure, B.watchDir_closure0, B.watchDir_closure1, B.watchDir_closure2, B.watchDir_closure3, B.watchDir__closure, B.main_closure, B._render_closure, B._render_closure0, B._render_closure1, B._parseFunctions_closure, B._parseFunctions__closure, B._parseFunctions___closure0, B._parseFunctions____closure, B._parseFunctions__closure0, B._parseFunctions__closure1, B._parseFunctions___closure, B._parseImporter_closure, B._parseImporter__closure, B._parseImporter___closure, B._parseImporter____closure, B.forwardToString_closure, B.createClass_closure, Z.closure141, Z._closure19, Z._closure20, K.closure131, K.closure132, K.closure133, K.closure134, K.closure135, K.closure136, K.closure137, K.closure138, K.closure139, K.closure140, D.closure124, D._closure18, D.closure125, D.closure126, D.closure127, D.closure128, D.closure129, D.closure130, A.closure117, A._closure16, A._closure17, A.closure118, A.closure119, A.closure120, A.closure121, A.closure122, A.closure123, O.closure116, O._closure14, O._closure15, T.closure110, T.closure111, T.closure112, T.closure113, T.closure114, T.closure115, T._parseNumber_closure, T._parseNumber_closure0, D.closure106, D.closure107, D.closure108, D.closure109, V.AtRootQueryParser_parse_closure, Q.closure105, E.KeyframeSelectorParser_parse_closure, F.MediaQueryParser_parse_closure, G.Parser__parseIdentifier_closure, U.SassParser_children_closure, T.SelectorParser_parse_closure, T.SelectorParser_parseCompoundSelector_closure, V.StylesheetParser_parse_closure, V.StylesheetParser_parse__closure, V.StylesheetParser_parse__closure0, V.StylesheetParser_parseArgumentDeclaration_closure, V.StylesheetParser_parseVariableDeclaration_closure, V.StylesheetParser_parseUseRule_closure, V.StylesheetParser__parseSingleProduction_closure, V.StylesheetParser_parseSignature_closure, V.StylesheetParser__statement_closure, V.StylesheetParser_variableDeclarationWithoutNamespace_closure, V.StylesheetParser_variableDeclarationWithoutNamespace_closure0, V.StylesheetParser__declarationOrBuffer_closure, V.StylesheetParser__declarationOrBuffer_closure0, V.StylesheetParser__styleRule_closure, V.StylesheetParser__propertyOrVariableDeclaration_closure, V.StylesheetParser__propertyOrVariableDeclaration_closure0, V.StylesheetParser__atRootRule_closure, V.StylesheetParser__atRootRule_closure0, V.StylesheetParser__eachRule_closure, V.StylesheetParser__functionRule_closure, V.StylesheetParser__forRule_closure, V.StylesheetParser__forRule_closure0, V.StylesheetParser__memberList_closure, V.StylesheetParser__includeRule_closure, V.StylesheetParser_mediaRule_closure, V.StylesheetParser__mixinRule_closure, V.StylesheetParser_mozDocumentRule_closure, V.StylesheetParser_supportsRule_closure, V.StylesheetParser__whileRule_closure, V.StylesheetParser_unknownAtRule_closure, V.StylesheetParser_expression_resetState, V.StylesheetParser_expression_resolveOneOperation, V.StylesheetParser_expression_resolveOperations, V.StylesheetParser_expression_addSingleExpression, V.StylesheetParser_expression_addOperator, V.StylesheetParser_expression_resolveSpaceExpressions, V.StylesheetParser__expressionUntilComma_closure, V.StylesheetParser__unicodeRange_closure, V.StylesheetParser__unicodeRange_closure0, V.StylesheetParser_identifierLike_closure, V.StylesheetParser__expressionUntilComparison_closure, V.StylesheetParser__publicIdentifier_closure, M.StylesheetGraph_modifiedSince_transitiveModificationTime, M.StylesheetGraph_modifiedSince_transitiveModificationTime_closure, M.StylesheetGraph__add_closure, M.StylesheetGraph_addCanonical_closure, M.StylesheetGraph_addCanonical_closure0, M.StylesheetGraph_reload_closure, M.StylesheetGraph__nodeFor_closure, M.StylesheetGraph__nodeFor_closure0, F._PrefixedKeys_iterator_closure, D.SourceMapBuffer_sourceFiles_closure, D.SourceMapBuffer__addEntry_closure, D.SourceMapBuffer_buildSourceMap_closure, R._UnprefixedKeys_iterator_closure, R._UnprefixedKeys_iterator_closure0, B.indent_closure, B.flattenVertically_closure, B.flattenVertically_closure0, B.longestCommonSubsequence_closure, B.longestCommonSubsequence_closure0, B.longestCommonSubsequence_closure1, B.longestCommonSubsequence_backtrack, B.mapAddAll2_closure, B.mapMapAsync_closure, B.copyMapOfMap_closure, B.copyMapOfList_closure, D.SassList_isBlank_closure, A.SassMap_asList_closure, T.SassNumber_valueInUnits_closure, T.SassNumber_valueInUnits_closure0, T.SassNumber_valueInUnits_closure1, T.SassNumber_valueInUnits_closure2, T.SassNumber_modulo_closure, T.SassNumber_plus_closure, T.SassNumber_minus_closure, T.SassNumber__multiplyUnits_closure, T.SassNumber__multiplyUnits_closure0, T.SassNumber__multiplyUnits_closure1, T.SassNumber__multiplyUnits_closure2, T.SassNumber__areAnyConvertible_closure, T.SassNumber__canonicalMultiplier_closure, E._EvaluateVisitor_closure9, E._EvaluateVisitor_closure10, E._EvaluateVisitor_closure11, E._EvaluateVisitor_closure12, E._EvaluateVisitor_closure13, E._EvaluateVisitor_closure14, E._EvaluateVisitor_closure15, E._EvaluateVisitor_closure16, E._EvaluateVisitor__closure8, E._EvaluateVisitor_closure17, E._EvaluateVisitor__closure6, E._EvaluateVisitor__closure7, E._EvaluateVisitor_closure18, E._EvaluateVisitor__closure4, E._EvaluateVisitor__closure5, E._EvaluateVisitor_run_closure0, E._EvaluateVisitor__withWarnCallback_closure0, E._EvaluateVisitor__loadModule_closure0, E._EvaluateVisitor__execute_closure0, E._EvaluateVisitor__combineCss_closure2, E._EvaluateVisitor__combineCss_closure3, E._EvaluateVisitor__combineCss_closure4, E._EvaluateVisitor__extendModules_closure1, E._EvaluateVisitor__extendModules_closure2, E._EvaluateVisitor__topologicalModules_visitModule0, E._EvaluateVisitor_visitAtRootRule_closure2, E._EvaluateVisitor_visitAtRootRule_closure3, E._EvaluateVisitor_visitAtRootRule_closure4, E._EvaluateVisitor__scopeForAtRoot_closure5, E._EvaluateVisitor__scopeForAtRoot_closure6, E._EvaluateVisitor__scopeForAtRoot_closure7, E._EvaluateVisitor__scopeForAtRoot__closure0, E._EvaluateVisitor__scopeForAtRoot_closure8, E._EvaluateVisitor__scopeForAtRoot_closure9, E._EvaluateVisitor__scopeForAtRoot_closure10, E._EvaluateVisitor_visitContentRule_closure0, E._EvaluateVisitor_visitDeclaration_closure0, E._EvaluateVisitor_visitEachRule_closure2, E._EvaluateVisitor_visitEachRule_closure3, E._EvaluateVisitor_visitEachRule_closure4, E._EvaluateVisitor_visitEachRule__closure0, E._EvaluateVisitor_visitEachRule___closure0, E._EvaluateVisitor_visitExtendRule_closure0, E._EvaluateVisitor_visitAtRule_closure1, E._EvaluateVisitor_visitAtRule__closure0, E._EvaluateVisitor_visitAtRule_closure2, E._EvaluateVisitor_visitForRule_closure4, E._EvaluateVisitor_visitForRule_closure5, E._EvaluateVisitor_visitForRule_closure6, E._EvaluateVisitor_visitForRule_closure7, E._EvaluateVisitor_visitForRule_closure8, E._EvaluateVisitor_visitForRule__closure0, E._EvaluateVisitor_visitForwardRule_closure1, E._EvaluateVisitor_visitForwardRule_closure2, E._EvaluateVisitor__assertConfigurationIsEmpty_closure0, E._EvaluateVisitor_visitIfRule_closure0, E._EvaluateVisitor_visitIfRule__closure0, E._EvaluateVisitor__visitDynamicImport_closure0, E._EvaluateVisitor__visitDynamicImport__closure0, E._EvaluateVisitor_visitIncludeRule_closure2, E._EvaluateVisitor_visitIncludeRule_closure3, E._EvaluateVisitor_visitIncludeRule_closure4, E._EvaluateVisitor_visitIncludeRule__closure0, E._EvaluateVisitor_visitIncludeRule___closure0, E._EvaluateVisitor_visitIncludeRule____closure0, E._EvaluateVisitor_visitMediaRule_closure1, E._EvaluateVisitor_visitMediaRule__closure0, E._EvaluateVisitor_visitMediaRule___closure0, E._EvaluateVisitor_visitMediaRule_closure2, E._EvaluateVisitor__visitMediaQueries_closure0, E._EvaluateVisitor_visitStyleRule_closure6, E._EvaluateVisitor_visitStyleRule_closure7, E._EvaluateVisitor_visitStyleRule_closure8, E._EvaluateVisitor_visitStyleRule_closure9, E._EvaluateVisitor_visitStyleRule_closure10, E._EvaluateVisitor_visitStyleRule_closure11, E._EvaluateVisitor_visitStyleRule__closure0, E._EvaluateVisitor_visitStyleRule_closure12, E._EvaluateVisitor_visitSupportsRule_closure1, E._EvaluateVisitor_visitSupportsRule__closure0, E._EvaluateVisitor_visitSupportsRule_closure2, E._EvaluateVisitor_visitVariableDeclaration_closure2, E._EvaluateVisitor_visitVariableDeclaration_closure3, E._EvaluateVisitor_visitVariableDeclaration_closure4, E._EvaluateVisitor_visitUseRule_closure0, E._EvaluateVisitor_visitWarnRule_closure0, E._EvaluateVisitor_visitWhileRule_closure0, E._EvaluateVisitor_visitWhileRule__closure0, E._EvaluateVisitor_visitBinaryOperationExpression_closure0, E._EvaluateVisitor_visitVariableExpression_closure0, E._EvaluateVisitor_visitListExpression_closure0, E._EvaluateVisitor_visitFunctionExpression_closure1, E._EvaluateVisitor_visitFunctionExpression_closure2, E._EvaluateVisitor__runUserDefinedCallable_closure0, E._EvaluateVisitor__runUserDefinedCallable__closure0, E._EvaluateVisitor__runUserDefinedCallable___closure0, E._EvaluateVisitor__runUserDefinedCallable____closure0, E._EvaluateVisitor__runFunctionCallable_closure0, E._EvaluateVisitor__runBuiltInCallable_closure1, E._EvaluateVisitor__runBuiltInCallable_closure2, E._EvaluateVisitor__evaluateArguments_closure2, E._EvaluateVisitor__evaluateArguments_closure3, E._EvaluateVisitor__evaluateArguments_closure4, E._EvaluateVisitor__evaluateMacroArguments_closure3, E._EvaluateVisitor__evaluateMacroArguments_closure4, E._EvaluateVisitor__evaluateMacroArguments_closure5, E._EvaluateVisitor__evaluateMacroArguments_closure6, E._EvaluateVisitor__addRestMap_closure1, E._EvaluateVisitor__addRestMap_closure2, E._EvaluateVisitor__verifyArguments_closure0, E._EvaluateVisitor_visitStringExpression_closure0, E._EvaluateVisitor_visitCssAtRule_closure1, E._EvaluateVisitor_visitCssAtRule_closure2, E._EvaluateVisitor_visitCssKeyframeBlock_closure1, E._EvaluateVisitor_visitCssKeyframeBlock_closure2, E._EvaluateVisitor_visitCssMediaRule_closure1, E._EvaluateVisitor_visitCssMediaRule__closure0, E._EvaluateVisitor_visitCssMediaRule___closure0, E._EvaluateVisitor_visitCssMediaRule_closure2, E._EvaluateVisitor_visitCssStyleRule_closure1, E._EvaluateVisitor_visitCssStyleRule__closure0, E._EvaluateVisitor_visitCssStyleRule_closure2, E._EvaluateVisitor_visitCssSupportsRule_closure1, E._EvaluateVisitor_visitCssSupportsRule__closure0, E._EvaluateVisitor_visitCssSupportsRule_closure2, E._EvaluateVisitor__performInterpolation_closure0, E._EvaluateVisitor__serialize_closure0, E._EvaluateVisitor__stackTrace_closure0, E._ImportedCssVisitor_visitCssAtRule_closure0, E._ImportedCssVisitor_visitCssMediaRule_closure0, E._ImportedCssVisitor_visitCssStyleRule_closure0, E._ImportedCssVisitor_visitCssSupportsRule_closure0, R._EvaluateVisitor_closure, R._EvaluateVisitor_closure0, R._EvaluateVisitor_closure1, R._EvaluateVisitor_closure2, R._EvaluateVisitor_closure3, R._EvaluateVisitor_closure4, R._EvaluateVisitor_closure5, R._EvaluateVisitor_closure6, R._EvaluateVisitor__closure3, R._EvaluateVisitor_closure7, R._EvaluateVisitor__closure1, R._EvaluateVisitor__closure2, R._EvaluateVisitor_closure8, R._EvaluateVisitor__closure, R._EvaluateVisitor__closure0, R._EvaluateVisitor_run_closure, R._EvaluateVisitor_runExpression_closure, R._EvaluateVisitor_runExpression__closure, R._EvaluateVisitor_runStatement_closure, R._EvaluateVisitor_runStatement__closure, R._EvaluateVisitor__withWarnCallback_closure, R._EvaluateVisitor__loadModule_closure, R._EvaluateVisitor__execute_closure, R._EvaluateVisitor__combineCss_closure, R._EvaluateVisitor__combineCss_closure0, R._EvaluateVisitor__combineCss_closure1, R._EvaluateVisitor__extendModules_closure, R._EvaluateVisitor__extendModules_closure0, R._EvaluateVisitor__topologicalModules_visitModule, R._EvaluateVisitor_visitAtRootRule_closure, R._EvaluateVisitor_visitAtRootRule_closure0, R._EvaluateVisitor_visitAtRootRule_closure1, R._EvaluateVisitor__scopeForAtRoot_closure, R._EvaluateVisitor__scopeForAtRoot_closure0, R._EvaluateVisitor__scopeForAtRoot_closure1, R._EvaluateVisitor__scopeForAtRoot__closure, R._EvaluateVisitor__scopeForAtRoot_closure2, R._EvaluateVisitor__scopeForAtRoot_closure3, R._EvaluateVisitor__scopeForAtRoot_closure4, R._EvaluateVisitor_visitContentRule_closure, R._EvaluateVisitor_visitDeclaration_closure, R._EvaluateVisitor_visitEachRule_closure, R._EvaluateVisitor_visitEachRule_closure0, R._EvaluateVisitor_visitEachRule_closure1, R._EvaluateVisitor_visitEachRule__closure, R._EvaluateVisitor_visitEachRule___closure, R._EvaluateVisitor_visitExtendRule_closure, R._EvaluateVisitor_visitAtRule_closure, R._EvaluateVisitor_visitAtRule__closure, R._EvaluateVisitor_visitAtRule_closure0, R._EvaluateVisitor_visitForRule_closure, R._EvaluateVisitor_visitForRule_closure0, R._EvaluateVisitor_visitForRule_closure1, R._EvaluateVisitor_visitForRule_closure2, R._EvaluateVisitor_visitForRule_closure3, R._EvaluateVisitor_visitForRule__closure, R._EvaluateVisitor_visitForwardRule_closure, R._EvaluateVisitor_visitForwardRule_closure0, R._EvaluateVisitor__assertConfigurationIsEmpty_closure, R._EvaluateVisitor_visitIfRule_closure, R._EvaluateVisitor_visitIfRule__closure, R._EvaluateVisitor__visitDynamicImport_closure, R._EvaluateVisitor__visitDynamicImport__closure, R._EvaluateVisitor_visitIncludeRule_closure, R._EvaluateVisitor_visitIncludeRule_closure0, R._EvaluateVisitor_visitIncludeRule_closure1, R._EvaluateVisitor_visitIncludeRule__closure, R._EvaluateVisitor_visitIncludeRule___closure, R._EvaluateVisitor_visitIncludeRule____closure, R._EvaluateVisitor_visitMediaRule_closure, R._EvaluateVisitor_visitMediaRule__closure, R._EvaluateVisitor_visitMediaRule___closure, R._EvaluateVisitor_visitMediaRule_closure0, R._EvaluateVisitor__visitMediaQueries_closure, R._EvaluateVisitor_visitStyleRule_closure, R._EvaluateVisitor_visitStyleRule_closure0, R._EvaluateVisitor_visitStyleRule_closure1, R._EvaluateVisitor_visitStyleRule_closure2, R._EvaluateVisitor_visitStyleRule_closure3, R._EvaluateVisitor_visitStyleRule_closure4, R._EvaluateVisitor_visitStyleRule__closure, R._EvaluateVisitor_visitStyleRule_closure5, R._EvaluateVisitor_visitSupportsRule_closure, R._EvaluateVisitor_visitSupportsRule__closure, R._EvaluateVisitor_visitSupportsRule_closure0, R._EvaluateVisitor_visitVariableDeclaration_closure, R._EvaluateVisitor_visitVariableDeclaration_closure0, R._EvaluateVisitor_visitVariableDeclaration_closure1, R._EvaluateVisitor_visitUseRule_closure, R._EvaluateVisitor_visitWarnRule_closure, R._EvaluateVisitor_visitWhileRule_closure, R._EvaluateVisitor_visitWhileRule__closure, R._EvaluateVisitor_visitBinaryOperationExpression_closure, R._EvaluateVisitor_visitVariableExpression_closure, R._EvaluateVisitor_visitListExpression_closure, R._EvaluateVisitor_visitFunctionExpression_closure, R._EvaluateVisitor_visitFunctionExpression_closure0, R._EvaluateVisitor__runUserDefinedCallable_closure, R._EvaluateVisitor__runUserDefinedCallable__closure, R._EvaluateVisitor__runUserDefinedCallable___closure, R._EvaluateVisitor__runUserDefinedCallable____closure, R._EvaluateVisitor__runFunctionCallable_closure, R._EvaluateVisitor__runBuiltInCallable_closure, R._EvaluateVisitor__runBuiltInCallable_closure0, R._EvaluateVisitor__evaluateArguments_closure, R._EvaluateVisitor__evaluateArguments_closure0, R._EvaluateVisitor__evaluateArguments_closure1, R._EvaluateVisitor__evaluateMacroArguments_closure, R._EvaluateVisitor__evaluateMacroArguments_closure0, R._EvaluateVisitor__evaluateMacroArguments_closure1, R._EvaluateVisitor__evaluateMacroArguments_closure2, R._EvaluateVisitor__addRestMap_closure, R._EvaluateVisitor__addRestMap_closure0, R._EvaluateVisitor__verifyArguments_closure, R._EvaluateVisitor_visitStringExpression_closure, R._EvaluateVisitor_visitCssAtRule_closure, R._EvaluateVisitor_visitCssAtRule_closure0, R._EvaluateVisitor_visitCssKeyframeBlock_closure, R._EvaluateVisitor_visitCssKeyframeBlock_closure0, R._EvaluateVisitor_visitCssMediaRule_closure, R._EvaluateVisitor_visitCssMediaRule__closure, R._EvaluateVisitor_visitCssMediaRule___closure, R._EvaluateVisitor_visitCssMediaRule_closure0, R._EvaluateVisitor_visitCssStyleRule_closure, R._EvaluateVisitor_visitCssStyleRule__closure, R._EvaluateVisitor_visitCssStyleRule_closure0, R._EvaluateVisitor_visitCssSupportsRule_closure, R._EvaluateVisitor_visitCssSupportsRule__closure, R._EvaluateVisitor_visitCssSupportsRule_closure0, R._EvaluateVisitor__performInterpolation_closure, R._EvaluateVisitor__serialize_closure, R._EvaluateVisitor__stackTrace_closure, R._ImportedCssVisitor_visitCssAtRule_closure, R._ImportedCssVisitor_visitCssMediaRule_closure, R._ImportedCssVisitor_visitCssStyleRule_closure, R._ImportedCssVisitor_visitCssSupportsRule_closure, N.serialize_closure, N._SerializeVisitor_visitCssComment_closure, N._SerializeVisitor_visitCssAtRule_closure, N._SerializeVisitor_visitCssMediaRule_closure, N._SerializeVisitor_visitCssImport_closure, N._SerializeVisitor_visitCssImport__closure, N._SerializeVisitor_visitCssKeyframeBlock_closure, N._SerializeVisitor_visitCssStyleRule_closure, N._SerializeVisitor_visitCssSupportsRule_closure, N._SerializeVisitor_visitCssDeclaration_closure, N._SerializeVisitor_visitCssDeclaration_closure0, N._SerializeVisitor_visitList_closure, N._SerializeVisitor_visitList_closure0, N._SerializeVisitor_visitList_closure1, N._SerializeVisitor_visitMap_closure, N._SerializeVisitor_visitSelectorList_closure, N._SerializeVisitor__write_closure, N._SerializeVisitor__visitChildren_closure, N.withWarnCallback_closure, T.SingleMapping_SingleMapping$fromEntries_closure, T.SingleMapping_SingleMapping$fromEntries_closure0, T.SingleMapping_SingleMapping$fromEntries_closure1, T.SingleMapping_toJson_closure, T.SingleMapping_toJson_closure0, U.Highlighter_closure, U.Highlighter$__closure, U.Highlighter$___closure, U.Highlighter$__closure0, U.Highlighter__collateLines_closure, U.Highlighter__collateLines_closure0, U.Highlighter__collateLines_closure1, U.Highlighter__collateLines__closure, U.Highlighter_highlight_closure, U.Highlighter_highlight_closure0, U.Highlighter__writeFileStart_closure, U.Highlighter__writeMultilineHighlights_closure, U.Highlighter__writeMultilineHighlights_closure0, U.Highlighter__writeMultilineHighlights_closure1, U.Highlighter__writeMultilineHighlights_closure2, U.Highlighter__writeMultilineHighlights__closure, U.Highlighter__writeMultilineHighlights__closure0, U.Highlighter__writeHighlightedText_closure, U.Highlighter__writeIndicator_closure, U.Highlighter__writeIndicator_closure0, U.Highlighter__writeIndicator_closure1, U.Highlighter__writeSidebar_closure, U._Highlight_closure, U.Chain_Chain$parse_closure, U.Chain_Chain$parse_closure0, U.Chain_toTrace_closure, U.Chain_toString_closure0, U.Chain_toString__closure0, U.Chain_toString_closure, U.Chain_toString__closure, A.Frame_Frame$parseVM_closure, A.Frame_Frame$parseV8_closure, A.Frame_Frame$parseV8_closure_parseLocation, A.Frame_Frame$parseFirefox_closure, A.Frame_Frame$parseFriendly_closure, T.LazyTrace_terse_closure, Y.Trace_Trace$from_closure, Y.Trace__parseVM_closure, Y.Trace$parseV8_closure, Y.Trace$parseV8_closure0, Y.Trace$parseJSCore_closure, Y.Trace$parseJSCore_closure0, Y.Trace$parseFirefox_closure, Y.Trace$parseFirefox_closure0, Y.Trace$parseFriendly_closure, Y.Trace$parseFriendly_closure0, Y.Trace_terse_closure, Y.Trace_foldFrames_closure, Y.Trace_foldFrames_closure0, Y.Trace_toString_closure0, Y.Trace_toString_closure, L._StreamTransformer_bind_closure, L._StreamTransformer_bind__closure, L._StreamTransformer_bind__closure1, L._StreamTransformer_bind__closure0, L._StreamTransformer_bind__closure2, R._debounceAggregate_closure, R._debounceAggregate__closure, R._debounceAggregate_closure0]); |
|
_inherit(H.CastList, H._CastListBase); |
|
_inherit(P.ListBase, P._ListBase_Object_ListMixin); |
|
_inherit(H.UnmodifiableListBase, P.ListBase); |
|
_inheritMany(H.UnmodifiableListBase, [H.CodeUnits, P.UnmodifiableListView]); |
|
_inheritMany(H.EfficientLengthIterable, [H.ListIterable, H.EmptyIterable, H.LinkedHashMapKeyIterable, P._HashMapKeyIterable, P._MapBaseValueIterable, P.Set]); |
|
_inheritMany(H.ListIterable, [H.SubListIterable, H.MappedListIterable, H.ReversedListIterable, P.ListQueue, P._GeneratorIterable]); |
|
_inherit(H.EfficientLengthMappedIterable, H.MappedIterable); |
|
_inheritMany(P.Iterator, [H.MappedIterator, H.WhereIterator, H.TakeIterator, H.SkipIterator, H.SkipWhileIterator]); |
|
_inherit(H.EfficientLengthTakeIterable, H.TakeIterable); |
|
_inherit(H.EfficientLengthSkipIterable, H.SkipIterable); |
|
_inherit(H.EfficientLengthFollowedByIterable, H.FollowedByIterable); |
|
_inheritMany(P.MapView, [P._UnmodifiableMapView_MapView__UnmodifiableMapMixin, K.PathMap]); |
|
_inherit(P.UnmodifiableMapView, P._UnmodifiableMapView_MapView__UnmodifiableMapMixin); |
|
_inherit(H.ConstantMapView, P.UnmodifiableMapView); |
|
_inherit(H.ConstantStringMap, H.ConstantMap); |
|
_inherit(H.ConstantProtoMap, H.ConstantStringMap); |
|
_inherit(H.Instantiation1, H.Instantiation); |
|
_inheritMany(P.Error, [H.NullError, H.JsNoSuchMethodError, H.UnknownJsTypeError, H.CastErrorImplementation, H.RuntimeError, P.JsonUnsupportedObjectError, P.NullThrownError, P.ArgumentError, P.NoSuchMethodError, P.UnsupportedError, P.UnimplementedError, P.StateError, P.ConcurrentModificationError, P.CyclicInitializationError]); |
|
_inheritMany(H.TearOffClosure, [H.StaticClosure, H.BoundClosure]); |
|
_inherit(P.MapBase, P.MapMixin); |
|
_inheritMany(P.MapBase, [H.JsLinkedHashMap, P._HashMap, P.UnmodifiableMapBase, Z.MergedMapView]); |
|
_inheritMany(P.IterableBase, [H._AllMatchesIterable, P._SyncStarIterable, O.EmptyUnmodifiableSet, F._PrefixedKeys, R._UnprefixedKeys]); |
|
_inherit(H.NativeTypedArray, H.NativeTypedData); |
|
_inheritMany(H.NativeTypedArray, [H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin]); |
|
_inherit(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin); |
|
_inherit(H.NativeTypedArrayOfDouble, H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin); |
|
_inherit(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin); |
|
_inherit(H.NativeTypedArrayOfInt, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin); |
|
_inheritMany(H.NativeTypedArrayOfDouble, [H.NativeFloat32List, H.NativeFloat64List]); |
|
_inheritMany(H.NativeTypedArrayOfInt, [H.NativeInt16List, H.NativeInt32List, H.NativeInt8List, H.NativeUint16List, H.NativeUint32List, H.NativeUint8ClampedList, H.NativeUint8List]); |
|
_inheritMany(P.Stream, [P._StreamImpl, P._ForwardingStream, Y._CompleterStream]); |
|
_inherit(P._ControllerStream, P._StreamImpl); |
|
_inherit(P._BroadcastStream, P._ControllerStream); |
|
_inheritMany(P._BufferingStreamSubscription, [P._ControllerSubscription, P._ForwardingStreamSubscription]); |
|
_inherit(P._BroadcastSubscription, P._ControllerSubscription); |
|
_inherit(P._SyncBroadcastStreamController, P._BroadcastStreamController); |
|
_inherit(P._AsyncCompleter, P._Completer); |
|
_inheritMany(P._StreamController, [P._AsyncStreamController, P._SyncStreamController]); |
|
_inherit(P._StreamControllerAddStreamState, P._AddStreamState); |
|
_inheritMany(P._DelayedEvent, [P._DelayedData, P._DelayedError]); |
|
_inherit(P._StreamImplEvents, P._PendingEvents); |
|
_inherit(P._ExpandStream, P._ForwardingStream); |
|
_inheritMany(P._Zone, [P._CustomZone, P._RootZone]); |
|
_inheritMany(H.JsLinkedHashMap, [P._LinkedIdentityHashMap, P._LinkedCustomHashMap]); |
|
_inherit(P._LinkedHashSet, P._SetBase); |
|
_inherit(P._LinkedIdentityHashSet, P._LinkedHashSet); |
|
_inheritMany(P.Codec, [P.Encoding, P.Base64Codec, P.JsonCodec]); |
|
_inheritMany(P.Encoding, [P.AsciiCodec, P.Utf8Codec]); |
|
_inheritMany(P.StreamTransformerBase, [P.Converter, L._StreamTransformer]); |
|
_inheritMany(P.Converter, [P._UnicodeSubsetEncoder, P.Base64Encoder, P.JsonEncoder, P.Utf8Encoder, P.Utf8Decoder]); |
|
_inherit(P.AsciiEncoder, P._UnicodeSubsetEncoder); |
|
_inherit(P._BufferCachingBase64Encoder, P._Base64Encoder); |
|
_inherit(P.ByteConversionSink, P.ChunkedConversionSink); |
|
_inheritMany(P.ByteConversionSink, [P.ByteConversionSinkBase, P._Utf8StringSinkAdapter, P._Utf8ConversionSink]); |
|
_inherit(P._Base64EncoderSink, P.ByteConversionSinkBase); |
|
_inheritMany(P._Base64EncoderSink, [P._AsciiBase64EncoderSink, P._Utf8Base64EncoderSink]); |
|
_inherit(P.JsonCyclicError, P.JsonUnsupportedObjectError); |
|
_inherit(P._JsonStringStringifier, P._JsonStringifier); |
|
_inherit(P.StringConversionSinkBase, P.StringConversionSinkMixin); |
|
_inheritMany(P.StringConversionSinkBase, [P._StringSinkConversionSink, P._StringAdapterSink]); |
|
_inherit(P._StringCallbackSink, P._StringSinkConversionSink); |
|
_inheritMany(P.num, [P.double, P.int]); |
|
_inheritMany(P.ArgumentError, [P.RangeError, P.IndexError]); |
|
_inherit(P._DataUri, P._Uri); |
|
_inherit(Z.ArgParserException, P.FormatException); |
|
_inherit(Q.QueueList, Q._QueueList_Object_ListMixin); |
|
_inherit(Q._CastQueueList, Q.QueueList); |
|
_inheritMany(M._DelegatingIterableBase, [M.DelegatingIterable, M._MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin]); |
|
_inherit(M.DelegatingSet, M.DelegatingIterable); |
|
_inherit(L._UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin, M.DelegatingSet); |
|
_inherit(L.UnmodifiableSetView, L._UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin); |
|
_inherit(M.MapKeySet, M._MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin); |
|
_inherit(B.InternalStyle, O.Style); |
|
_inheritMany(B.InternalStyle, [E.PosixStyle, F.UrlStyle, L.WindowsStyle]); |
|
_inheritMany(B.AstNode, [B.CssNode, B.SassNode]); |
|
_inheritMany(B.CssNode, [B.ModifiableCssNode, B.CssParentNode]); |
|
_inheritMany(B.ModifiableCssNode, [B.ModifiableCssParentNode, R.ModifiableCssComment, L.ModifiableCssDeclaration, F.ModifiableCssImport]); |
|
_inheritMany(B.ModifiableCssParentNode, [U.ModifiableCssAtRule, U.ModifiableCssKeyframeBlock, G.ModifiableCssMediaRule, X.ModifiableCssStyleRule, V.ModifiableCssStylesheet, B.ModifiableCssSupportsRule]); |
|
_inherit(V.CssStylesheet, B.CssParentNode); |
|
_inheritMany(M.ParentStatement, [V.AtRootRule, U.AtRule, M.CallableDeclaration, L.Declaration, V.EachRule, B.ForRule, G.MediaRule, X.StyleRule, V.Stylesheet, B.SupportsRule, G.WhileRule]); |
|
_inheritMany(M.CallableDeclaration, [Y.ContentBlock, M.FunctionRule, T.MixinRule]); |
|
_inherit(N.SupportsCondition, B.SassNode); |
|
_inheritMany(T.Selector, [M.SimpleSelector, S.ComplexSelector, X.CompoundSelector, D.SelectorList]); |
|
_inheritMany(M.SimpleSelector, [N.AttributeSelector, X.ClassSelector, N.IDSelector, M.ParentSelector, N.PlaceholderSelector, D.PseudoSelector, F.TypeSelector, N.UniversalSelector]); |
|
_inherit(D.Callable, B.AsyncCallable); |
|
_inheritMany(G.SourceSpanException, [E.SassException, G.SourceSpanFormatException]); |
|
_inheritMany(E.SassException, [E.MultiSpanSassException, E.SassRuntimeException, E.SassFormatException]); |
|
_inherit(E.MultiSpanSassRuntimeException, E.MultiSpanSassException); |
|
_inherit(E.MultiSpanSassScriptException, E.SassScriptException); |
|
_inherit(A.MergedExtension, S.Extension); |
|
_inherit(M.Importer, B.AsyncImporter); |
|
_inherit(F.FilesystemImporter, M.Importer); |
|
_inheritMany(G.Parser, [V.AtRootQueryParser, V.StylesheetParser, E.KeyframeSelectorParser, F.MediaQueryParser, T.SelectorParser]); |
|
_inheritMany(V.StylesheetParser, [L.ScssParser, U.SassParser]); |
|
_inherit(Q.CssParser, L.ScssParser); |
|
_inheritMany(P.UnmodifiableMapBase, [K.LimitedMapView, F.PrefixedMapView, U.PublicMemberMapView, R.UnprefixedMapView]); |
|
_inheritMany(F.Value, [D.SassList, Z.SassBoolean, K.SassColor, F.SassFunction, A.SassMap, O.SassNull, T.SassNumber, D.SassString]); |
|
_inherit(D.SassArgumentList, D.SassList); |
|
_inherit(F._FindDependenciesVisitor, D.RecursiveStatementVisitor); |
|
_inherit(T.SingleMapping, T.Mapping); |
|
_inherit(Y.FileLocation, D.SourceLocationMixin); |
|
_inheritMany(Y.SourceSpanMixin, [Y._FileSpan, V.SourceSpanBase]); |
|
_inherit(X.SourceSpanWithContext, V.SourceSpanBase); |
|
_inherit(E.StringScannerException, G.SourceSpanFormatException); |
|
_inheritMany(X.StringScanner, [Z.LineScanner, S.SpanScanner]); |
|
_mixin(H.UnmodifiableListBase, H.UnmodifiableListMixin); |
|
_mixin(H.__CastListBase__CastIterableBase_ListMixin, P.ListMixin); |
|
_mixin(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, P.ListMixin); |
|
_mixin(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin); |
|
_mixin(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin, P.ListMixin); |
|
_mixin(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin); |
|
_mixin(P._AsyncStreamController, P._AsyncStreamControllerDispatch); |
|
_mixin(P._SyncStreamController, P._SyncStreamControllerDispatch); |
|
_mixin(P.UnmodifiableMapBase, P._UnmodifiableMapMixin); |
|
_mixin(P._ListBase_Object_ListMixin, P.ListMixin); |
|
_mixin(P._UnmodifiableMapView_MapView__UnmodifiableMapMixin, P._UnmodifiableMapMixin); |
|
_mixin(Q._QueueList_Object_ListMixin, P.ListMixin); |
|
_mixin(L._UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin, L.UnmodifiableSetMixin); |
|
_mixin(M._MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin, L.UnmodifiableSetMixin); |
|
})(); |
|
var init = {mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"}, mangledNames: {}, getTypeFromName: getGlobalFromName, metadata: [], types: [{func: 1, ret: F.Value, args: [[P.List, F.Value]]}, {func: 1, ret: T.SassNumber, args: [[P.List, F.Value]]}, {func: 1, ret: -1}, {func: 1, ret: P.bool, args: [P.Object]}, {func: 1, ret: D.SassString, args: [[P.List, F.Value]]}, {func: 1, ret: Z.SassBoolean, args: [[P.List, F.Value]]}, {func: 1, ret: K.SassColor, args: [[P.List, F.Value]]}, {func: 1, ret: D.SassList, args: [[P.List, F.Value]]}, {func: 1, ret: -1, args: [P.Object]}, {func: 1, ret: A.SassMap, args: [[P.List, F.Value]]}, {func: 1, args: [,]}, {func: 1, ret: P.bool, args: [P.int]}, {func: 1, ret: P.Null, args: [,,]}, {func: 1, ret: P.String, args: [P.Object]}, {func: 1, ret: P.bool, args: [P.num, P.num]}, {func: 1, ret: P.Null, args: [, P.StackTrace]}, {func: 1, ret: -1, args: [P.Object], opt: [P.StackTrace]}, {func: 1, ret: P.String, args: [P.int]}, {func: 1, ret: P.Null, opt: [P.Object]}, {func: 1, ret: -1, args: [{func: 1, ret: -1}]}, {func: 1, ret: P.Null, args: [,]}, {func: 1, ret: P.bool, args: [,]}, {func: 1, ret: P.Null, opt: [,]}, {func: 1, ret: P.Null, args: [[P.List, F.Value]]}, {func: 1, ret: P.int, args: [P.num]}, {func: 1, ret: O.Statement}, {func: 1, ret: O.SassNull, args: [P.int]}, {func: 1, ret: P.String, args: [P.String]}, {func: 1, ret: -1, opt: [[P.Future,,]]}, {func: 1, bounds: [P.Object], ret: [P.Set, 0]}, {func: 1, ret: -1, opt: [P.Object]}, {func: 1, ret: P.bool, args: [B.CssNode]}, {func: 1, ret: F.SassFunction, args: [[P.List, F.Value]]}, {func: 1, ret: [P.Future, P.String], args: [,]}, {func: 1, ret: [P.Future,,]}, {func: 1, ret: P.int, args: [,,]}, {func: 1, ret: O.Statement, named: {root: P.bool}}, {func: 1, ret: P.Uint8List, args: [,,]}, {func: 1, ret: P.String, args: [,]}, {func: 1, ret: P.num, args: [P.num]}, {func: 1, ret: -1, args: [,], opt: [P.StackTrace]}, {func: 1, ret: [P.Iterable, P.String], args: [P.Object]}, {func: 1, ret: [P.Future, -1], args: [P.Object]}, {func: 1, ret: P.Null, args: [P.Object, P.StackTrace]}, {func: 1, ret: P.Null, args: [P.Object, P.Object]}, {func: 1, ret: P.Null, args: [P.Object]}, {func: 1, ret: -1, args: [, P.StackTrace]}, {func: 1, ret: T.SassNumber, args: [P.int]}, {func: 1, ret: P.String}, {func: 1, ret: [P.List, [G.Module, B.AsyncCallable]], args: [P.int]}, {func: 1, ret: -1, args: [,]}, {func: 1, ret: T.Expression, named: {bracketList: P.bool, singleEquals: P.bool, until: {func: 1, ret: P.bool}}}, {func: 1, ret: T.NumberExpression}, {func: 1, ret: -1, args: [P.Object, P.StackTrace]}, {func: 1, ret: P.String, args: [,,]}, {func: 1, ret: [P.List, P.int], args: [P.int]}, {func: 1, ret: P.Null, args: [,], opt: [P.StackTrace]}, {func: 1, ret: [P._Future,,], args: [,]}, {func: 1, ret: -1, args: [F.CssMediaQuery]}, {func: 1, ret: Y.SourceFile, args: [P.int]}, {func: 1, ret: Y.FileSpan, args: [P.int], opt: [P.int]}, {func: 1, ret: [P.List, [G.Module, D.Callable]], args: [P.int]}, {func: 1, ret: A.Frame, args: [,,]}, {func: 1, ret: S.Extension, args: [,]}, {func: 1, ret: P.bool, args: [S.ComplexSelector]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone,, P.StackTrace]}, {func: 1, bounds: [P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0}]}, {func: 1, bounds: [P.Object, P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1]}, 1]}, {func: 1, bounds: [P.Object, P.Object, P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1, 2]}, 1, 2]}, {func: 1, ret: P.Object, args: [F.Value]}, {func: 1, bounds: [P.Object, P.Object], ret: {func: 1, ret: 0, args: [1]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1]}]}, {func: 1, bounds: [P.Object, P.Object, P.Object], ret: {func: 1, ret: 0, args: [1, 2]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1, 2]}]}, {func: 1, ret: P.AsyncError, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Object, P.StackTrace]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: -1}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, ret: -1}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, ret: -1, args: [P.Timer]}]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone, P.String]}, {func: 1, ret: -1, args: [P.String]}, {func: 1, ret: P.Zone, args: [P.Zone, P.ZoneDelegate, P.Zone, P.ZoneSpecification, [P.Map,,,]]}, {func: 1, ret: P.bool, args: [,,]}, {func: 1, ret: P.int, args: [,]}, {func: 1, ret: P.int, args: [P.Object]}, {func: 1, ret: P.bool, args: [P.Object, P.Object]}, {func: 1, ret: P.Uint8List, args: [P.int]}, {func: 1, bounds: [P.num], ret: 0, args: [0, 0]}, {func: 1, ret: P.bool, args: [M.SimpleSelector]}, {func: 1, ret: -1, args: [R.RenderOptions, {func: 1, ret: -1, args: [V.JSError, U.RenderResult]}]}, {func: 1, ret: U.RenderResult, args: [R.RenderOptions]}, {func: 1, ret: P.bool, args: [P.String]}, {func: 1, bounds: [P.Object], ret: -1, args: [P.Object, P.StackTrace, [P.EventSink, 0]]}, {func: 1, bounds: [P.Object], ret: [P.List, 0], args: [0, [P.List, 0]]}, {func: 1, bounds: [P.Object], ret: {func: 1, ret: 0}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0}]}, {func: 1, ret: P.String, args: [P.String], named: {color: null}}], interceptorsByTag: null, leafTags: null}; |
|
(function constants() { |
|
var makeConstList = hunkHelpers.makeConstList; |
|
C.Interceptor_methods = J.Interceptor.prototype; |
|
C.JSArray_methods = J.JSArray.prototype; |
|
C.JSBool_methods = J.JSBool.prototype; |
|
C.JSDouble_methods = J.JSDouble.prototype; |
|
C.JSInt_methods = J.JSInt.prototype; |
|
C.JSNumber_methods = J.JSNumber.prototype; |
|
C.JSString_methods = J.JSString.prototype; |
|
C.JavaScriptFunction_methods = J.JavaScriptFunction.prototype; |
|
C.NativeUint32List_methods = H.NativeUint32List.prototype; |
|
C.NativeUint8List_methods = H.NativeUint8List.prototype; |
|
C.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype; |
|
C.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype; |
|
C.AsciiEncoder_127 = new P.AsciiEncoder(127); |
|
C.C_EmptyUnmodifiableSet0 = new O.EmptyUnmodifiableSet([P.String]); |
|
C.AtRootQuery_UsS = new V.AtRootQuery(false, C.C_EmptyUnmodifiableSet0, false, true); |
|
C.AttributeOperator_4L5 = new N.AttributeOperator("^="); |
|
C.AttributeOperator_AuK = new N.AttributeOperator("|="); |
|
C.AttributeOperator_fz1 = new N.AttributeOperator("~="); |
|
C.AttributeOperator_gqZ = new N.AttributeOperator("*="); |
|
C.AttributeOperator_mOX = new N.AttributeOperator("$="); |
|
C.AttributeOperator_sEs = new N.AttributeOperator("="); |
|
C.BinaryOperator_1da = new V.BinaryOperator("greater than or equals", ">=", 4); |
|
C.BinaryOperator_2ad = new V.BinaryOperator("modulo", "%", 6); |
|
C.BinaryOperator_33h = new V.BinaryOperator("less than or equals", "<=", 4); |
|
C.BinaryOperator_8qt = new V.BinaryOperator("less than", "<", 4); |
|
C.BinaryOperator_AcR0 = new V.BinaryOperator("greater than", ">", 4); |
|
C.BinaryOperator_AcR = new V.BinaryOperator("plus", "+", 5); |
|
C.BinaryOperator_O1M = new V.BinaryOperator("times", "*", 6); |
|
C.BinaryOperator_RTB = new V.BinaryOperator("divided by", "/", 6); |
|
C.BinaryOperator_YlX = new V.BinaryOperator("equals", "==", 3); |
|
C.BinaryOperator_and_and_2 = new V.BinaryOperator("and", "and", 2); |
|
C.BinaryOperator_i5H = new V.BinaryOperator("not equals", "!=", 3); |
|
C.BinaryOperator_iyO = new V.BinaryOperator("minus", "-", 5); |
|
C.BinaryOperator_kjl = new V.BinaryOperator("single equals", "=", 0); |
|
C.BinaryOperator_or_or_1 = new V.BinaryOperator("or", "or", 1); |
|
C.C_AsciiCodec = new P.AsciiCodec(); |
|
C.C_AsciiGlyphSet = new A.AsciiGlyphSet(); |
|
C.C_Base64Encoder = new P.Base64Encoder(); |
|
C.C_Base64Codec = new P.Base64Codec(); |
|
C.C_DefaultEquality = new U.DefaultEquality(); |
|
C.C_EmptyExtender = new T.EmptyExtender(); |
|
C.C_EmptyIterator = new H.EmptyIterator(); |
|
C.C_EmptyUnmodifiableSet = new O.EmptyUnmodifiableSet([M.SimpleSelector]); |
|
C.C_JS_CONST = function getTagFallback(o) { |
|
var s = Object.prototype.toString.call(o); |
|
return s.substring(8, s.length - 1); |
|
}; |
|
C.C_JS_CONST0 = function() { |
|
var toStringFunction = Object.prototype.toString; |
|
function getTag(o) { |
|
var s = toStringFunction.call(o); |
|
return s.substring(8, s.length - 1); |
|
} |
|
function getUnknownTag(object, tag) { |
|
if (/^HTML[A-Z].*Element$/.test(tag)) { |
|
var name = toStringFunction.call(object); |
|
if (name == "[object Object]") return null; |
|
return "HTMLElement"; |
|
} |
|
} |
|
function getUnknownTagGenericBrowser(object, tag) { |
|
if (self.HTMLElement && object instanceof HTMLElement) return "HTMLElement"; |
|
return getUnknownTag(object, tag); |
|
} |
|
function prototypeForTag(tag) { |
|
if (typeof window == "undefined") return null; |
|
if (typeof window[tag] == "undefined") return null; |
|
var constructor = window[tag]; |
|
if (typeof constructor != "function") return null; |
|
return constructor.prototype; |
|
} |
|
function discriminator(tag) { return null; } |
|
var isBrowser = typeof navigator == "object"; |
|
return { |
|
getTag: getTag, |
|
getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag, |
|
prototypeForTag: prototypeForTag, |
|
discriminator: discriminator }; |
|
}; |
|
C.C_JS_CONST6 = function(getTagFallback) { |
|
return function(hooks) { |
|
if (typeof navigator != "object") return hooks; |
|
var ua = navigator.userAgent; |
|
if (ua.indexOf("DumpRenderTree") >= 0) return hooks; |
|
if (ua.indexOf("Chrome") >= 0) { |
|
function confirm(p) { |
|
return typeof window == "object" && window[p] && window[p].name == p; |
|
} |
|
if (confirm("Window") && confirm("HTMLElement")) return hooks; |
|
} |
|
hooks.getTag = getTagFallback; |
|
}; |
|
}; |
|
C.C_JS_CONST1 = function(hooks) { |
|
if (typeof dartExperimentalFixupGetTag != "function") return hooks; |
|
hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); |
|
}; |
|
C.C_JS_CONST2 = function(hooks) { |
|
var getTag = hooks.getTag; |
|
var prototypeForTag = hooks.prototypeForTag; |
|
function getTagFixed(o) { |
|
var tag = getTag(o); |
|
if (tag == "Document") { |
|
if (!!o.xmlVersion) return "!Document"; |
|
return "!HTMLDocument"; |
|
} |
|
return tag; |
|
} |
|
function prototypeForTagFixed(tag) { |
|
if (tag == "Document") return null; |
|
return prototypeForTag(tag); |
|
} |
|
hooks.getTag = getTagFixed; |
|
hooks.prototypeForTag = prototypeForTagFixed; |
|
}; |
|
C.C_JS_CONST5 = function(hooks) { |
|
var userAgent = typeof navigator == "object" ? navigator.userAgent : ""; |
|
if (userAgent.indexOf("Firefox") == -1) return hooks; |
|
var getTag = hooks.getTag; |
|
var quickMap = { |
|
"BeforeUnloadEvent": "Event", |
|
"DataTransfer": "Clipboard", |
|
"GeoGeolocation": "Geolocation", |
|
"Location": "!Location", |
|
"WorkerMessageEvent": "MessageEvent", |
|
"XMLDocument": "!Document"}; |
|
function getTagFirefox(o) { |
|
var tag = getTag(o); |
|
return quickMap[tag] || tag; |
|
} |
|
hooks.getTag = getTagFirefox; |
|
}; |
|
C.C_JS_CONST4 = function(hooks) { |
|
var userAgent = typeof navigator == "object" ? navigator.userAgent : ""; |
|
if (userAgent.indexOf("Trident/") == -1) return hooks; |
|
var getTag = hooks.getTag; |
|
var quickMap = { |
|
"BeforeUnloadEvent": "Event", |
|
"DataTransfer": "Clipboard", |
|
"HTMLDDElement": "HTMLElement", |
|
"HTMLDTElement": "HTMLElement", |
|
"HTMLPhraseElement": "HTMLElement", |
|
"Position": "Geoposition" |
|
}; |
|
function getTagIE(o) { |
|
var tag = getTag(o); |
|
var newTag = quickMap[tag]; |
|
if (newTag) return newTag; |
|
if (tag == "Object") { |
|
if (window.DataView && (o instanceof window.DataView)) return "DataView"; |
|
} |
|
return tag; |
|
} |
|
function prototypeForTagIE(tag) { |
|
var constructor = window[tag]; |
|
if (constructor == null) return null; |
|
return constructor.prototype; |
|
} |
|
hooks.getTag = getTagIE; |
|
hooks.prototypeForTag = prototypeForTagIE; |
|
}; |
|
C.C_JS_CONST3 = function(hooks) { return hooks; } |
|
; |
|
C.C_JsonCodec = new P.JsonCodec(); |
|
C.C_ListEquality = new U.ListEquality(); |
|
C.C_MapEquality = new U.MapEquality(); |
|
C.C_OutOfMemoryError = new P.OutOfMemoryError(); |
|
C.C_SassNull = new O.SassNull(); |
|
C.C_UnicodeGlyphSet = new K.UnicodeGlyphSet(); |
|
C.C_Utf8Codec = new P.Utf8Codec(); |
|
C.C_Utf8Encoder = new P.Utf8Encoder(); |
|
C.C__DelayedDone = new P._DelayedDone(); |
|
C.C__JSRandom = new P._JSRandom(); |
|
C.C__RootZone = new P._RootZone(); |
|
C.ChangeType_add = new E.ChangeType("add"); |
|
C.ChangeType_modify = new E.ChangeType("modify"); |
|
C.ChangeType_remove = new E.ChangeType("remove"); |
|
C.Combinator_CzM = new S.Combinator("~"); |
|
C.Combinator_sgq = new S.Combinator(">"); |
|
C.Combinator_uzg = new S.Combinator("+"); |
|
C.List_empty = H.setRuntimeTypeInfo(makeConstList([]), [P.String]); |
|
C.Map_empty7 = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, Z.ConfiguredValue]); |
|
C.Configuration_Map_empty_null_true = new A.Configuration(C.Map_empty7, null, true); |
|
C.Duration_0 = new P.Duration(0); |
|
C.ExtendMode_allTargets = new L.ExtendMode("allTargets"); |
|
C.ExtendMode_normal = new L.ExtendMode("normal"); |
|
C.ExtendMode_replace = new L.ExtendMode("replace"); |
|
C.JsonEncoder_null = new P.JsonEncoder(null); |
|
C.LineFeed_D6m = new N.LineFeed("lf", "\n"); |
|
C.LineFeed_Mss = new N.LineFeed("crlf", "\r\n"); |
|
C.LineFeed_a1Y = new N.LineFeed("lfcr", "\n\r"); |
|
C.LineFeed_kMT = new N.LineFeed("cr", "\r"); |
|
C.ListSeparator_comma = new D.ListSeparator("comma"); |
|
C.ListSeparator_space = new D.ListSeparator("space"); |
|
C.ListSeparator_undecided = new D.ListSeparator("undecided"); |
|
C.List_127_2047_65535_1114111 = H.setRuntimeTypeInfo(makeConstList([127, 2047, 65535, 1114111]), [P.int]); |
|
C.List_2Vk = H.setRuntimeTypeInfo(makeConstList([0, 0, 32776, 33792, 1, 10240, 0, 0]), [P.int]); |
|
C.List_CVk = H.setRuntimeTypeInfo(makeConstList([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]), [P.int]); |
|
C.List_JYB = H.setRuntimeTypeInfo(makeConstList([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]), [P.int]); |
|
C.List_empty9 = H.setRuntimeTypeInfo(makeConstList([]), [Z.Argument]); |
|
C.List_empty11 = H.setRuntimeTypeInfo(makeConstList([]), [B.AsyncCallable]); |
|
C.List_empty14 = H.setRuntimeTypeInfo(makeConstList([]), [B.AsyncImporter]); |
|
C.List_empty5 = H.setRuntimeTypeInfo(makeConstList([]), [S.ComplexSelector]); |
|
C.List_empty7 = H.setRuntimeTypeInfo(makeConstList([]), [Z.ConfiguredVariable]); |
|
C.List_empty1 = H.setRuntimeTypeInfo(makeConstList([]), [B.CssNode]); |
|
C.List_empty8 = H.setRuntimeTypeInfo(makeConstList([]), [T.Expression]); |
|
C.List_empty3 = H.setRuntimeTypeInfo(makeConstList([]), [S.Extension]); |
|
C.List_empty10 = H.setRuntimeTypeInfo(makeConstList([]), [M.Importer]); |
|
C.List_empty13 = H.setRuntimeTypeInfo(makeConstList([]), [[G.Module, B.AsyncCallable]]); |
|
C.List_empty0 = H.setRuntimeTypeInfo(makeConstList([]), [[G.Module, D.Callable]]); |
|
C.List_empty4 = H.setRuntimeTypeInfo(makeConstList([]), [[G.Module, P.Null]]); |
|
C.List_empty15 = H.setRuntimeTypeInfo(makeConstList([]), [P.Null]); |
|
C.List_empty16 = H.setRuntimeTypeInfo(makeConstList([]), [O.Statement]); |
|
C.List_empty6 = H.setRuntimeTypeInfo(makeConstList([]), [F.Value]); |
|
C.List_empty2 = H.setRuntimeTypeInfo(makeConstList([]), [P.int]); |
|
C.List_empty12 = makeConstList([]); |
|
C.List_gRj = H.setRuntimeTypeInfo(makeConstList([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]), [P.int]); |
|
C.List_nxB = H.setRuntimeTypeInfo(makeConstList([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]), [P.int]); |
|
C.List_qFt = H.setRuntimeTypeInfo(makeConstList([0, 0, 27858, 1023, 65534, 51199, 65535, 32767]), [P.int]); |
|
C.List_qNA = H.setRuntimeTypeInfo(makeConstList([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]), [P.int]); |
|
C.List_qg40 = H.setRuntimeTypeInfo(makeConstList([0, 0, 32722, 12287, 65535, 34815, 65534, 18431]), [P.int]); |
|
C.List_qg4 = H.setRuntimeTypeInfo(makeConstList([0, 0, 65490, 12287, 65535, 34815, 65534, 18431]), [P.int]); |
|
C.Map_empty1 = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, B.AstNode]); |
|
C.Map_empty3 = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, T.Expression]); |
|
C.Map_empty5 = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, [G.Module, B.AsyncCallable]]); |
|
C.Map_empty0 = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, [G.Module, D.Callable]]); |
|
C.Map_empty = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, Y.SourceFile]); |
|
C.Map_empty6 = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, P.String]); |
|
C.Map_empty2 = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, F.Value]); |
|
C.List_empty17 = H.setRuntimeTypeInfo(makeConstList([]), [P.Symbol0]); |
|
C.Map_empty4 = new H.ConstantStringMap(0, {}, C.List_empty17, [P.Symbol0, null]); |
|
C.OptionType_YwU = new G.OptionType("OptionType.single"); |
|
C.OptionType_nMZ = new G.OptionType("OptionType.flag"); |
|
C.OptionType_qyr = new G.OptionType("OptionType.multiple"); |
|
C.OutputStyle_compressed = new N.OutputStyle("compressed"); |
|
C.OutputStyle_expanded = new N.OutputStyle("expanded"); |
|
C.SassBoolean_false = new Z.SassBoolean(false); |
|
C.SassBoolean_true = new Z.SassBoolean(true); |
|
C.SassList_lmy = new D.SassList(C.List_empty6, C.ListSeparator_comma, false); |
|
C.Map_empty8 = new H.ConstantStringMap(0, {}, C.List_empty6, [F.Value, F.Value]); |
|
C.SassMap_Map_empty = new A.SassMap(C.Map_empty8); |
|
C.StderrLogger_false = new S.StderrLogger(false); |
|
C.Symbol__warn = new H.Symbol("_warn"); |
|
C.Symbol_call = new H.Symbol("call"); |
|
C.Syntax_CSS = new M.Syntax("CSS"); |
|
C.Syntax_SCSS = new M.Syntax("SCSS"); |
|
C.Syntax_Sass = new M.Syntax("Sass"); |
|
C.List_empty18 = H.setRuntimeTypeInfo(makeConstList([]), [[F.CssValue, D.SelectorList]]); |
|
C.Map_empty9 = new H.ConstantStringMap(0, {}, C.List_empty18, [[F.CssValue, D.SelectorList], [F.ModifiableCssValue, D.SelectorList]]); |
|
C.Tuple2_EmptyExtender_Map_empty = new S.Tuple2(C.C_EmptyExtender, C.Map_empty9, [F.Extender, [P.Map, [F.CssValue, D.SelectorList], [F.ModifiableCssValue, D.SelectorList]]]); |
|
C.UnaryOperator_U4G = new X.UnaryOperator("minus", "-"); |
|
C.UnaryOperator_j2w = new X.UnaryOperator("plus", "+"); |
|
C.UnaryOperator_not_not = new X.UnaryOperator("not", "not"); |
|
C.UnaryOperator_zDx = new X.UnaryOperator("divide", "/"); |
|
C._IterationMarker_null_2 = new P._IterationMarker(null, 2); |
|
C._PathDirection_8Gl = new M._PathDirection("at root"); |
|
C._PathDirection_988 = new M._PathDirection("below root"); |
|
C._PathDirection_FIw = new M._PathDirection("reaches root"); |
|
C._PathDirection_ZGD = new M._PathDirection("above root"); |
|
C._PathRelation_different = new M._PathRelation("different"); |
|
C._PathRelation_equal = new M._PathRelation("equal"); |
|
C._PathRelation_inconclusive = new M._PathRelation("inconclusive"); |
|
C._PathRelation_within = new M._PathRelation("within"); |
|
C._SingletonCssMediaQueryMergeResult_empty = new F._SingletonCssMediaQueryMergeResult("empty"); |
|
C._SingletonCssMediaQueryMergeResult_unrepresentable = new F._SingletonCssMediaQueryMergeResult("unrepresentable"); |
|
C._StreamGroupState_canceled = new L._StreamGroupState("canceled"); |
|
C._StreamGroupState_dormant = new L._StreamGroupState("dormant"); |
|
C._StreamGroupState_listening = new L._StreamGroupState("listening"); |
|
C._StreamGroupState_paused = new L._StreamGroupState("paused"); |
|
C._ZoneFunction_3bB = new P._ZoneFunction(C.C__RootZone, P.async___rootCreatePeriodicTimer$closure()); |
|
C._ZoneFunction_7G2 = new P._ZoneFunction(C.C__RootZone, P.async___rootRegisterBinaryCallback$closure()); |
|
C._ZoneFunction_Eeh = new P._ZoneFunction(C.C__RootZone, P.async___rootRegisterUnaryCallback$closure()); |
|
C._ZoneFunction_NMc = new P._ZoneFunction(C.C__RootZone, P.async___rootHandleUncaughtError$closure()); |
|
C._ZoneFunction__RootZone__rootCreateTimer = new P._ZoneFunction(C.C__RootZone, P.async___rootCreateTimer$closure()); |
|
C._ZoneFunction__RootZone__rootErrorCallback = new P._ZoneFunction(C.C__RootZone, P.async___rootErrorCallback$closure()); |
|
C._ZoneFunction__RootZone__rootFork = new P._ZoneFunction(C.C__RootZone, P.async___rootFork$closure()); |
|
C._ZoneFunction__RootZone__rootPrint = new P._ZoneFunction(C.C__RootZone, P.async___rootPrint$closure()); |
|
C._ZoneFunction__RootZone__rootRegisterCallback = new P._ZoneFunction(C.C__RootZone, P.async___rootRegisterCallback$closure()); |
|
C._ZoneFunction__RootZone__rootRun = new P._ZoneFunction(C.C__RootZone, P.async___rootRun$closure()); |
|
C._ZoneFunction__RootZone__rootRunBinary = new P._ZoneFunction(C.C__RootZone, P.async___rootRunBinary$closure()); |
|
C._ZoneFunction__RootZone__rootRunUnary = new P._ZoneFunction(C.C__RootZone, P.async___rootRunUnary$closure()); |
|
C._ZoneFunction__RootZone__rootScheduleMicrotask = new P._ZoneFunction(C.C__RootZone, P.async___rootScheduleMicrotask$closure()); |
|
C._ZoneSpecification_ALf = new P._ZoneSpecification(null, null, null, null, null, null, null, null, null, null, null, null, null); |
|
})(); |
|
(function staticFields() { |
|
$.printToZone = null; |
|
$.Closure_functionCounter = 0; |
|
$.BoundClosure_selfFieldNameCache = null; |
|
$.BoundClosure_receiverFieldNameCache = null; |
|
$.getTagFunction = null; |
|
$.alternateTagFunction = null; |
|
$.prototypeForTagFunction = null; |
|
$.dispatchRecordsForInstanceTags = null; |
|
$.interceptorsForUncacheableTags = null; |
|
$.initNativeDispatchFlag = null; |
|
$._nextCallback = null; |
|
$._lastCallback = null; |
|
$._lastPriorityCallback = null; |
|
$._isInCallbackLoop = false; |
|
$.Zone__current = C.C__RootZone; |
|
$._RootZone__rootDelegate = null; |
|
$._toStringVisiting = []; |
|
$._currentUriBase = null; |
|
$._current = null; |
|
$._subselectorPseudos = P.LinkedHashSet_LinkedHashSet$_literal(["matches", "any", "nth-child", "nth-last-child"], P.String); |
|
$._features = P.LinkedHashSet_LinkedHashSet$_literal(["global-variable-shadowing", "extend-selector-pseudoclass", "units-level-3", "at-error", "custom-property"], P.String); |
|
$._inImportRule = false; |
|
$._selectorPseudoClasses = P.LinkedHashSet_LinkedHashSet$_literal(["not", "matches", "current", "any", "has", "host", "host-context"], P.String); |
|
$._selectorPseudoElements = P.LinkedHashSet_LinkedHashSet$_literal(["slotted"], P.String); |
|
$._glyphs = C.C_UnicodeGlyphSet; |
|
})(); |
|
(function lazyInitializers() { |
|
var _lazy = hunkHelpers.lazy; |
|
_lazy($, "DART_CLOSURE_PROPERTY_NAME", "$get$DART_CLOSURE_PROPERTY_NAME", function() { |
|
return H.getIsolateAffinityTag("_$dart_dartClosure"); |
|
}); |
|
_lazy($, "JS_INTEROP_INTERCEPTOR_TAG", "$get$JS_INTEROP_INTERCEPTOR_TAG", function() { |
|
return H.getIsolateAffinityTag("_$dart_js"); |
|
}); |
|
_lazy($, "TypeErrorDecoder_noSuchMethodPattern", "$get$TypeErrorDecoder_noSuchMethodPattern", function() { |
|
return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({ |
|
toString: function() { |
|
return "$receiver$"; |
|
} |
|
})); |
|
}); |
|
_lazy($, "TypeErrorDecoder_notClosurePattern", "$get$TypeErrorDecoder_notClosurePattern", function() { |
|
return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({$method$: null, |
|
toString: function() { |
|
return "$receiver$"; |
|
} |
|
})); |
|
}); |
|
_lazy($, "TypeErrorDecoder_nullCallPattern", "$get$TypeErrorDecoder_nullCallPattern", function() { |
|
return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(null)); |
|
}); |
|
_lazy($, "TypeErrorDecoder_nullLiteralCallPattern", "$get$TypeErrorDecoder_nullLiteralCallPattern", function() { |
|
return H.TypeErrorDecoder_extractPattern(function() { |
|
var $argumentsExpr$ = '$arguments$'; |
|
try { |
|
null.$method$($argumentsExpr$); |
|
} catch (e) { |
|
return e.message; |
|
} |
|
}()); |
|
}); |
|
_lazy($, "TypeErrorDecoder_undefinedCallPattern", "$get$TypeErrorDecoder_undefinedCallPattern", function() { |
|
return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(void 0)); |
|
}); |
|
_lazy($, "TypeErrorDecoder_undefinedLiteralCallPattern", "$get$TypeErrorDecoder_undefinedLiteralCallPattern", function() { |
|
return H.TypeErrorDecoder_extractPattern(function() { |
|
var $argumentsExpr$ = '$arguments$'; |
|
try { |
|
(void 0).$method$($argumentsExpr$); |
|
} catch (e) { |
|
return e.message; |
|
} |
|
}()); |
|
}); |
|
_lazy($, "TypeErrorDecoder_nullPropertyPattern", "$get$TypeErrorDecoder_nullPropertyPattern", function() { |
|
return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(null)); |
|
}); |
|
_lazy($, "TypeErrorDecoder_nullLiteralPropertyPattern", "$get$TypeErrorDecoder_nullLiteralPropertyPattern", function() { |
|
return H.TypeErrorDecoder_extractPattern(function() { |
|
try { |
|
null.$method$; |
|
} catch (e) { |
|
return e.message; |
|
} |
|
}()); |
|
}); |
|
_lazy($, "TypeErrorDecoder_undefinedPropertyPattern", "$get$TypeErrorDecoder_undefinedPropertyPattern", function() { |
|
return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(void 0)); |
|
}); |
|
_lazy($, "TypeErrorDecoder_undefinedLiteralPropertyPattern", "$get$TypeErrorDecoder_undefinedLiteralPropertyPattern", function() { |
|
return H.TypeErrorDecoder_extractPattern(function() { |
|
try { |
|
(void 0).$method$; |
|
} catch (e) { |
|
return e.message; |
|
} |
|
}()); |
|
}); |
|
_lazy($, "_AsyncRun__scheduleImmediateClosure", "$get$_AsyncRun__scheduleImmediateClosure", function() { |
|
return P._AsyncRun__initializeScheduleImmediate(); |
|
}); |
|
_lazy($, "Future__nullFuture", "$get$Future__nullFuture", function() { |
|
return P._Future$zoneValue(null, C.C__RootZone, P.Null); |
|
}); |
|
_lazy($, "Future__falseFuture", "$get$Future__falseFuture", function() { |
|
return P._Future$zoneValue(false, C.C__RootZone, P.bool); |
|
}); |
|
_lazy($, "_RootZone__rootMap", "$get$_RootZone__rootMap", function() { |
|
return P.HashMap_HashMap(null, null); |
|
}); |
|
_lazy($, "Utf8Decoder__decoder", "$get$Utf8Decoder__decoder", function() { |
|
return P.Utf8Decoder__makeDecoder(); |
|
}); |
|
_lazy($, "_Base64Decoder__inverseAlphabet", "$get$_Base64Decoder__inverseAlphabet", function() { |
|
return H.NativeInt8List__create1(H._ensureNativeList(H.setRuntimeTypeInfo([-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, 62, -2, 62, -2, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -2, -2, -2, -1, -2, -2, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -2, -2, -2, -2, 63, -2, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -2, -2, -2, -2, -2], [P.int]))); |
|
}); |
|
_lazy($, "_Uri__isWindowsCached", "$get$_Uri__isWindowsCached", function() { |
|
return typeof process != "undefined" && Object.prototype.toString.call(process) == "[object process]" && process.platform == "win32"; |
|
}); |
|
_lazy($, "_Uri__needsNoEncoding", "$get$_Uri__needsNoEncoding", function() { |
|
return P.RegExp_RegExp("^[\\-\\.0-9A-Z_a-z~]*$", false); |
|
}); |
|
_lazy($, "_hasErrorStackProperty", "$get$_hasErrorStackProperty", function() { |
|
return new Error().stack != void 0; |
|
}); |
|
_lazy($, "_scannerTables", "$get$_scannerTables", function() { |
|
return P._createTables(); |
|
}); |
|
_lazy($, "Option__invalidChars", "$get$Option__invalidChars", function() { |
|
return P.RegExp_RegExp("[ \\t\\r\\n\"'\\\\/]", false); |
|
}); |
|
_lazy($, "_soloOpt", "$get$_soloOpt", function() { |
|
return P.RegExp_RegExp("^-([a-zA-Z0-9])$", false); |
|
}); |
|
_lazy($, "_abbrOpt", "$get$_abbrOpt", function() { |
|
return P.RegExp_RegExp("^-([a-zA-Z0-9]+)(.*)$", false); |
|
}); |
|
_lazy($, "_longOpt", "$get$_longOpt", function() { |
|
return P.RegExp_RegExp("^--([a-zA-Z\\-_0-9]+)(=(.*))?$", false); |
|
}); |
|
_lazy($, "alwaysValid", "$get$alwaysValid", function() { |
|
return new Q.closure142(); |
|
}); |
|
_lazy($, "readline", "$get$readline", function() { |
|
return self.readline; |
|
}); |
|
_lazy($, "windows", "$get$windows", function() { |
|
return M.Context_Context($.$get$Style_windows()); |
|
}); |
|
_lazy($, "url", "$get$url", function() { |
|
return M.Context_Context($.$get$Style_url()); |
|
}); |
|
_lazy($, "context", "$get$context", function() { |
|
return new M.Context($.$get$Style_platform(), null); |
|
}); |
|
_lazy($, "Style_posix", "$get$Style_posix", function() { |
|
return new E.PosixStyle(P.RegExp_RegExp("/", false), P.RegExp_RegExp("[^/]$", false), P.RegExp_RegExp("^/", false)); |
|
}); |
|
_lazy($, "Style_windows", "$get$Style_windows", function() { |
|
return new L.WindowsStyle(P.RegExp_RegExp("[/\\\\]", false), P.RegExp_RegExp("[^/\\\\]$", false), P.RegExp_RegExp("^(\\\\\\\\[^\\\\]+\\\\[^\\\\/]+|[a-zA-Z]:[/\\\\])", false), P.RegExp_RegExp("^[/\\\\](?![/\\\\])", false)); |
|
}); |
|
_lazy($, "Style_url", "$get$Style_url", function() { |
|
return new F.UrlStyle(P.RegExp_RegExp("/", false), P.RegExp_RegExp("(^[a-zA-Z][-+.a-zA-Z\\d]*://|[^/])$", false), P.RegExp_RegExp("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*", false), P.RegExp_RegExp("^/", false)); |
|
}); |
|
_lazy($, "Style_platform", "$get$Style_platform", function() { |
|
return O.Style__getPlatformStyle(); |
|
}); |
|
_lazy($, "IfExpression_declaration", "$get$IfExpression_declaration", function() { |
|
return B.ArgumentDeclaration_ArgumentDeclaration$parse("@function if($condition, $if-true, $if-false) {", null); |
|
}); |
|
_lazy($, "colorsByName", "$get$colorsByName", function() { |
|
var _null = null; |
|
return P.LinkedHashMap_LinkedHashMap$_literal(["yellowgreen", K.SassColor$rgb(154, 205, 50, _null, _null), "yellow", K.SassColor$rgb(255, 255, 0, _null, _null), "whitesmoke", K.SassColor$rgb(245, 245, 245, _null, _null), "white", K.SassColor$rgb(255, 255, 255, _null, _null), "wheat", K.SassColor$rgb(245, 222, 179, _null, _null), "violet", K.SassColor$rgb(238, 130, 238, _null, _null), "turquoise", K.SassColor$rgb(64, 224, 208, _null, _null), "transparent", K.SassColor$rgb(0, 0, 0, 0, _null), "tomato", K.SassColor$rgb(255, 99, 71, _null, _null), "thistle", K.SassColor$rgb(216, 191, 216, _null, _null), "teal", K.SassColor$rgb(0, 128, 128, _null, _null), "tan", K.SassColor$rgb(210, 180, 140, _null, _null), "steelblue", K.SassColor$rgb(70, 130, 180, _null, _null), "springgreen", K.SassColor$rgb(0, 255, 127, _null, _null), "snow", K.SassColor$rgb(255, 250, 250, _null, _null), "slategrey", K.SassColor$rgb(112, 128, 144, _null, _null), "slategray", K.SassColor$rgb(112, 128, 144, _null, _null), "slateblue", K.SassColor$rgb(106, 90, 205, _null, _null), "skyblue", K.SassColor$rgb(135, 206, 235, _null, _null), "silver", K.SassColor$rgb(192, 192, 192, _null, _null), "sienna", K.SassColor$rgb(160, 82, 45, _null, _null), "seashell", K.SassColor$rgb(255, 245, 238, _null, _null), "seagreen", K.SassColor$rgb(46, 139, 87, _null, _null), "sandybrown", K.SassColor$rgb(244, 164, 96, _null, _null), "salmon", K.SassColor$rgb(250, 128, 114, _null, _null), "saddlebrown", K.SassColor$rgb(139, 69, 19, _null, _null), "royalblue", K.SassColor$rgb(65, 105, 225, _null, _null), "rosybrown", K.SassColor$rgb(188, 143, 143, _null, _null), "red", K.SassColor$rgb(255, 0, 0, _null, _null), "rebeccapurple", K.SassColor$rgb(102, 51, 153, _null, _null), "purple", K.SassColor$rgb(128, 0, 128, _null, _null), "powderblue", K.SassColor$rgb(176, 224, 230, _null, _null), "plum", K.SassColor$rgb(221, 160, 221, _null, _null), "pink", K.SassColor$rgb(255, 192, 203, _null, _null), "peru", K.SassColor$rgb(205, 133, 63, _null, _null), "peachpuff", K.SassColor$rgb(255, 218, 185, _null, _null), "papayawhip", K.SassColor$rgb(255, 239, 213, _null, _null), "palevioletred", K.SassColor$rgb(219, 112, 147, _null, _null), "paleturquoise", K.SassColor$rgb(175, 238, 238, _null, _null), "palegreen", K.SassColor$rgb(152, 251, 152, _null, _null), "palegoldenrod", K.SassColor$rgb(238, 232, 170, _null, _null), "orchid", K.SassColor$rgb(218, 112, 214, _null, _null), "orangered", K.SassColor$rgb(255, 69, 0, _null, _null), "orange", K.SassColor$rgb(255, 165, 0, _null, _null), "olivedrab", K.SassColor$rgb(107, 142, 35, _null, _null), "olive", K.SassColor$rgb(128, 128, 0, _null, _null), "oldlace", K.SassColor$rgb(253, 245, 230, _null, _null), "navy", K.SassColor$rgb(0, 0, 128, _null, _null), "navajowhite", K.SassColor$rgb(255, 222, 173, _null, _null), "moccasin", K.SassColor$rgb(255, 228, 181, _null, _null), "mistyrose", K.SassColor$rgb(255, 228, 225, _null, _null), "mintcream", K.SassColor$rgb(245, 255, 250, _null, _null), "midnightblue", K.SassColor$rgb(25, 25, 112, _null, _null), "mediumvioletred", K.SassColor$rgb(199, 21, 133, _null, _null), "mediumturquoise", K.SassColor$rgb(72, 209, 204, _null, _null), "mediumspringgreen", K.SassColor$rgb(0, 250, 154, _null, _null), "mediumslateblue", K.SassColor$rgb(123, 104, 238, _null, _null), "mediumseagreen", K.SassColor$rgb(60, 179, 113, _null, _null), "mediumpurple", K.SassColor$rgb(147, 112, 219, _null, _null), "mediumorchid", K.SassColor$rgb(186, 85, 211, _null, _null), "mediumblue", K.SassColor$rgb(0, 0, 205, _null, _null), "mediumaquamarine", K.SassColor$rgb(102, 205, 170, _null, _null), "maroon", K.SassColor$rgb(128, 0, 0, _null, _null), "magenta", K.SassColor$rgb(255, 0, 255, _null, _null), "linen", K.SassColor$rgb(250, 240, 230, _null, _null), "limegreen", K.SassColor$rgb(50, 205, 50, _null, _null), "lime", K.SassColor$rgb(0, 255, 0, _null, _null), "lightyellow", K.SassColor$rgb(255, 255, 224, _null, _null), "lightsteelblue", K.SassColor$rgb(176, 196, 222, _null, _null), "lightslategrey", K.SassColor$rgb(119, 136, 153, _null, _null), "lightslategray", K.SassColor$rgb(119, 136, 153, _null, _null), "lightskyblue", K.SassColor$rgb(135, 206, 250, _null, _null), "lightseagreen", K.SassColor$rgb(32, 178, 170, _null, _null), "lightsalmon", K.SassColor$rgb(255, 160, 122, _null, _null), "lightpink", K.SassColor$rgb(255, 182, 193, _null, _null), "lightgrey", K.SassColor$rgb(211, 211, 211, _null, _null), "lightgreen", K.SassColor$rgb(144, 238, 144, _null, _null), "lightgray", K.SassColor$rgb(211, 211, 211, _null, _null), "lightgoldenrodyellow", K.SassColor$rgb(250, 250, 210, _null, _null), "lightcyan", K.SassColor$rgb(224, 255, 255, _null, _null), "lightcoral", K.SassColor$rgb(240, 128, 128, _null, _null), "lightblue", K.SassColor$rgb(173, 216, 230, _null, _null), "lemonchiffon", K.SassColor$rgb(255, 250, 205, _null, _null), "lawngreen", K.SassColor$rgb(124, 252, 0, _null, _null), "lavenderblush", K.SassColor$rgb(255, 240, 245, _null, _null), "lavender", K.SassColor$rgb(230, 230, 250, _null, _null), "khaki", K.SassColor$rgb(240, 230, 140, _null, _null), "ivory", K.SassColor$rgb(255, 255, 240, _null, _null), "indigo", K.SassColor$rgb(75, 0, 130, _null, _null), "indianred", K.SassColor$rgb(205, 92, 92, _null, _null), "hotpink", K.SassColor$rgb(255, 105, 180, _null, _null), "honeydew", K.SassColor$rgb(240, 255, 240, _null, _null), "grey", K.SassColor$rgb(128, 128, 128, _null, _null), "greenyellow", K.SassColor$rgb(173, 255, 47, _null, _null), "green", K.SassColor$rgb(0, 128, 0, _null, _null), "gray", K.SassColor$rgb(128, 128, 128, _null, _null), "goldenrod", K.SassColor$rgb(218, 165, 32, _null, _null), "gold", K.SassColor$rgb(255, 215, 0, _null, _null), "ghostwhite", K.SassColor$rgb(248, 248, 255, _null, _null), "gainsboro", K.SassColor$rgb(220, 220, 220, _null, _null), "fuchsia", K.SassColor$rgb(255, 0, 255, _null, _null), "forestgreen", K.SassColor$rgb(34, 139, 34, _null, _null), "floralwhite", K.SassColor$rgb(255, 250, 240, _null, _null), "firebrick", K.SassColor$rgb(178, 34, 34, _null, _null), "dodgerblue", K.SassColor$rgb(30, 144, 255, _null, _null), "dimgrey", K.SassColor$rgb(105, 105, 105, _null, _null), "dimgray", K.SassColor$rgb(105, 105, 105, _null, _null), "deepskyblue", K.SassColor$rgb(0, 191, 255, _null, _null), "deeppink", K.SassColor$rgb(255, 20, 147, _null, _null), "darkviolet", K.SassColor$rgb(148, 0, 211, _null, _null), "darkturquoise", K.SassColor$rgb(0, 206, 209, _null, _null), "darkslategrey", K.SassColor$rgb(47, 79, 79, _null, _null), "darkslategray", K.SassColor$rgb(47, 79, 79, _null, _null), "darkslateblue", K.SassColor$rgb(72, 61, 139, _null, _null), "darkseagreen", K.SassColor$rgb(143, 188, 143, _null, _null), "darksalmon", K.SassColor$rgb(233, 150, 122, _null, _null), "darkred", K.SassColor$rgb(139, 0, 0, _null, _null), "darkorchid", K.SassColor$rgb(153, 50, 204, _null, _null), "darkorange", K.SassColor$rgb(255, 140, 0, _null, _null), "darkolivegreen", K.SassColor$rgb(85, 107, 47, _null, _null), "darkmagenta", K.SassColor$rgb(139, 0, 139, _null, _null), "darkkhaki", K.SassColor$rgb(189, 183, 107, _null, _null), "darkgrey", K.SassColor$rgb(169, 169, 169, _null, _null), "darkgreen", K.SassColor$rgb(0, 100, 0, _null, _null), "darkgray", K.SassColor$rgb(169, 169, 169, _null, _null), "darkgoldenrod", K.SassColor$rgb(184, 134, 11, _null, _null), "darkcyan", K.SassColor$rgb(0, 139, 139, _null, _null), "darkblue", K.SassColor$rgb(0, 0, 139, _null, _null), "cyan", K.SassColor$rgb(0, 255, 255, _null, _null), "crimson", K.SassColor$rgb(220, 20, 60, _null, _null), "cornsilk", K.SassColor$rgb(255, 248, 220, _null, _null), "cornflowerblue", K.SassColor$rgb(100, 149, 237, _null, _null), "coral", K.SassColor$rgb(255, 127, 80, _null, _null), "chocolate", K.SassColor$rgb(210, 105, 30, _null, _null), "chartreuse", K.SassColor$rgb(127, 255, 0, _null, _null), "cadetblue", K.SassColor$rgb(95, 158, 160, _null, _null), "burlywood", K.SassColor$rgb(222, 184, 135, _null, _null), "brown", K.SassColor$rgb(165, 42, 42, _null, _null), "blueviolet", K.SassColor$rgb(138, 43, 226, _null, _null), "blue", K.SassColor$rgb(0, 0, 255, _null, _null), "blanchedalmond", K.SassColor$rgb(255, 235, 205, _null, _null), "black", K.SassColor$rgb(0, 0, 0, _null, _null), "bisque", K.SassColor$rgb(255, 228, 196, _null, _null), "beige", K.SassColor$rgb(245, 245, 220, _null, _null), "azure", K.SassColor$rgb(240, 255, 255, _null, _null), "aquamarine", K.SassColor$rgb(127, 255, 212, _null, _null), "aqua", K.SassColor$rgb(0, 255, 255, _null, _null), "antiquewhite", K.SassColor$rgb(250, 235, 215, _null, _null), "aliceblue", K.SassColor$rgb(240, 248, 255, _null, _null)], P.String, K.SassColor); |
|
}); |
|
_lazy($, "namesByColor", "$get$namesByColor", function() { |
|
var t1 = P.String, |
|
t2 = K.SassColor; |
|
return Y.mapMap($.$get$colorsByName(), new X.closure70(), new X.closure71(), t1, t2, t2, t1); |
|
}); |
|
_lazy($, "ExecutableOptions__separatorBar", "$get$ExecutableOptions__separatorBar", function() { |
|
return B.isWindows() ? "=" : "\u2501"; |
|
}); |
|
_lazy($, "ExecutableOptions__parser", "$get$ExecutableOptions__parser", function() { |
|
return new B.ExecutableOptions_closure().call$0(); |
|
}); |
|
_lazy($, "globalFunctions", "$get$globalFunctions", function() { |
|
var t3, |
|
t1 = Q.BuiltInCallable, |
|
t2 = H.setRuntimeTypeInfo([], [t1]); |
|
for (t3 = $.$get$global0(), t3 = t3.get$iterator(t3); t3.moveNext$0();) |
|
t2.push(t3.__internal$_current); |
|
for (t3 = $.$get$global1(), t3 = t3.get$iterator(t3); t3.moveNext$0();) |
|
t2.push(t3.__internal$_current); |
|
for (t3 = $.$get$global2(), t3 = t3.get$iterator(t3); t3.moveNext$0();) |
|
t2.push(t3.__internal$_current); |
|
for (t3 = $.$get$global3(), t3 = t3.get$iterator(t3); t3.moveNext$0();) |
|
t2.push(t3.__internal$_current); |
|
for (t3 = $.$get$global4(), t3 = t3.get$iterator(t3); t3.moveNext$0();) |
|
t2.push(t3.__internal$_current); |
|
for (t3 = $.$get$global5(), t3 = t3.get$iterator(t3); t3.moveNext$0();) |
|
t2.push(t3.__internal$_current); |
|
for (t3 = $.$get$global(), t3 = t3.get$iterator(t3); t3.moveNext$0();) |
|
t2.push(t3.__internal$_current); |
|
t2.push(Q.BuiltInCallable$function("if", "$condition, $if-true, $if-false", new Y.closure(), null)); |
|
return P.UnmodifiableListView$(t2, t1); |
|
}); |
|
_lazy($, "coreModules", "$get$coreModules", function() { |
|
var t1 = [Q.BuiltInModule, Q.BuiltInCallable]; |
|
return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$module(), $.$get$module0(), $.$get$module1(), $.$get$module2(), $.$get$module3(), $.$get$module4()], [t1]), t1); |
|
}); |
|
_lazy($, "_microsoftFilterStart", "$get$_microsoftFilterStart", function() { |
|
return P.RegExp_RegExp("^[a-zA-Z]+\\s*=", false); |
|
}); |
|
_lazy($, "global", "$get$global0", function() { |
|
var _s27_ = "$red, $green, $blue, $alpha", |
|
_s19_ = "$red, $green, $blue", |
|
_s37_ = "$hue, $saturation, $lightness, $alpha", |
|
_s29_ = "$hue, $saturation, $lightness", |
|
_s17_ = "$hue, $saturation", |
|
_s15_ = "$color, $amount", |
|
t1 = P.String, |
|
t2 = {func: 1, ret: F.Value, args: [[P.List, F.Value]]}, |
|
t3 = Q.BuiltInCallable; |
|
return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_red(), $.$get$_green(), $.$get$_blue(), $.$get$_mix(), Q.BuiltInCallable$overloadedFunction("rgb", P.LinkedHashMap_LinkedHashMap$_literal([_s27_, new K.closure43(), _s19_, new K.closure44(), "$color, $alpha", new K.closure45(), "$channels", new K.closure46()], t1, t2)), Q.BuiltInCallable$overloadedFunction("rgba", P.LinkedHashMap_LinkedHashMap$_literal([_s27_, new K.closure47(), _s19_, new K.closure48(), "$color, $alpha", new K.closure49(), "$channels", new K.closure50()], t1, t2)), K._function4("invert", "$color, $weight: 100%", new K.closure51()), $.$get$_hue(), $.$get$_saturation(), $.$get$_lightness(), $.$get$_complement(), Q.BuiltInCallable$overloadedFunction("hsl", P.LinkedHashMap_LinkedHashMap$_literal([_s37_, new K.closure52(), _s29_, new K.closure53(), _s17_, new K.closure54(), "$channels", new K.closure55()], t1, t2)), Q.BuiltInCallable$overloadedFunction("hsla", P.LinkedHashMap_LinkedHashMap$_literal([_s37_, new K.closure56(), _s29_, new K.closure57(), _s17_, new K.closure58(), "$channels", new K.closure59()], t1, t2)), K._function4("grayscale", "$color", new K.closure60()), K._function4("adjust-hue", "$color, $degrees", new K.closure61()), K._function4("lighten", _s15_, new K.closure62()), K._function4("darken", _s15_, new K.closure63()), Q.BuiltInCallable$overloadedFunction("saturate", P.LinkedHashMap_LinkedHashMap$_literal(["$amount", new K.closure64(), "$color, $amount", new K.closure65()], t1, t2)), K._function4("desaturate", _s15_, new K.closure66()), K._function4("opacify", _s15_, K.color___opacify$closure()), K._function4("fade-in", _s15_, K.color___opacify$closure()), K._function4("transparentize", _s15_, K.color___transparentize$closure()), K._function4("fade-out", _s15_, K.color___transparentize$closure()), Q.BuiltInCallable$overloadedFunction("alpha", P.LinkedHashMap_LinkedHashMap$_literal(["$color", new K.closure67(), "$args...", new K.closure68()], t1, t2)), K._function4("opacity", "$color", new K.closure69()), $.$get$_ieHexStr(), $.$get$_adjust().withName$1("adjust-color"), $.$get$_scale().withName$1("scale-color"), $.$get$_change().withName$1("change-color")], [t3]), t3); |
|
}); |
|
_lazy($, "module", "$get$module", function() { |
|
var _s9_ = "lightness", |
|
_s10_ = "saturation", |
|
_s5_ = "alpha", |
|
t1 = Q.BuiltInCallable; |
|
return Q.BuiltInModule$("color", H.setRuntimeTypeInfo([$.$get$_red(), $.$get$_green(), $.$get$_blue(), $.$get$_mix(), K._function4("invert", "$color, $weight: 100%", new K.closure96()), $.$get$_hue(), $.$get$_saturation(), $.$get$_lightness(), $.$get$_complement(), K._removedColorFunction("adjust-hue", "hue", false), K._removedColorFunction("lighten", _s9_, false), K._removedColorFunction("darken", _s9_, true), K._removedColorFunction("saturate", _s10_, false), K._removedColorFunction("desaturate", _s10_, true), K._function4("grayscale", "$color", new K.closure97()), K._removedColorFunction("opacify", _s5_, false), K._removedColorFunction("fade-in", _s5_, false), K._removedColorFunction("transparentize", _s5_, true), K._removedColorFunction("fade-out", _s5_, true), Q.BuiltInCallable$overloadedFunction(_s5_, P.LinkedHashMap_LinkedHashMap$_literal(["$color", new K.closure98(), "$args...", new K.closure99()], P.String, {func: 1, ret: F.Value, args: [[P.List, F.Value]]})), K._function4("opacity", "$color", new K.closure100()), $.$get$_adjust(), $.$get$_scale(), $.$get$_change(), $.$get$_ieHexStr()], [t1]), null, null, t1); |
|
}); |
|
_lazy($, "_red", "$get$_red", function() { |
|
return K._function4("red", "$color", new K.closure83()); |
|
}); |
|
_lazy($, "_green", "$get$_green", function() { |
|
return K._function4("green", "$color", new K.closure82()); |
|
}); |
|
_lazy($, "_blue", "$get$_blue", function() { |
|
return K._function4("blue", "$color", new K.closure81()); |
|
}); |
|
_lazy($, "_mix", "$get$_mix", function() { |
|
return K._function4("mix", "$color1, $color2, $weight: 50%", new K.closure80()); |
|
}); |
|
_lazy($, "_hue", "$get$_hue", function() { |
|
return K._function4("hue", "$color", new K.closure79()); |
|
}); |
|
_lazy($, "_saturation", "$get$_saturation", function() { |
|
return K._function4("saturation", "$color", new K.closure78()); |
|
}); |
|
_lazy($, "_lightness", "$get$_lightness", function() { |
|
return K._function4("lightness", "$color", new K.closure77()); |
|
}); |
|
_lazy($, "_complement", "$get$_complement", function() { |
|
return K._function4("complement", "$color", new K.closure76()); |
|
}); |
|
_lazy($, "_adjust", "$get$_adjust", function() { |
|
return K._function4("adjust", "$color, $kwargs...", new K.closure74()); |
|
}); |
|
_lazy($, "_scale", "$get$_scale", function() { |
|
return K._function4("scale", "$color, $kwargs...", new K.closure73()); |
|
}); |
|
_lazy($, "_change", "$get$_change", function() { |
|
return K._function4("change", "$color, $kwargs...", new K.closure72()); |
|
}); |
|
_lazy($, "_ieHexStr", "$get$_ieHexStr", function() { |
|
return K._function4("ie-hex-str", "$color", new K.closure75()); |
|
}); |
|
_lazy($, "global0", "$get$global1", function() { |
|
var t1 = Q.BuiltInCallable; |
|
return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_length0(), $.$get$_nth(), $.$get$_setNth(), $.$get$_join(), $.$get$_append0(), $.$get$_zip(), $.$get$_index0(), $.$get$_isBracketed(), $.$get$_separator().withName$1("list-separator")], [t1]), t1); |
|
}); |
|
_lazy($, "module0", "$get$module0", function() { |
|
var t1 = Q.BuiltInCallable; |
|
return Q.BuiltInModule$("list", H.setRuntimeTypeInfo([$.$get$_length0(), $.$get$_nth(), $.$get$_setNth(), $.$get$_join(), $.$get$_append0(), $.$get$_zip(), $.$get$_index0(), $.$get$_isBracketed(), $.$get$_separator()], [t1]), null, null, t1); |
|
}); |
|
_lazy($, "_length", "$get$_length0", function() { |
|
return D._function3("length", "$list", new D.closure42()); |
|
}); |
|
_lazy($, "_nth", "$get$_nth", function() { |
|
return D._function3("nth", "$list, $n", new D.closure41()); |
|
}); |
|
_lazy($, "_setNth", "$get$_setNth", function() { |
|
return D._function3("set-nth", "$list, $n, $value", new D.closure40()); |
|
}); |
|
_lazy($, "_join", "$get$_join", function() { |
|
return D._function3("join", "$list1, $list2, $separator: auto, $bracketed: auto", new D.closure39()); |
|
}); |
|
_lazy($, "_append", "$get$_append0", function() { |
|
return D._function3("append", "$list, $val, $separator: auto", new D.closure38()); |
|
}); |
|
_lazy($, "_zip", "$get$_zip", function() { |
|
return D._function3("zip", "$lists...", new D.closure37()); |
|
}); |
|
_lazy($, "_index", "$get$_index0", function() { |
|
return D._function3("index", "$list, $value", new D.closure36()); |
|
}); |
|
_lazy($, "_separator", "$get$_separator", function() { |
|
return D._function3("separator", "$list", new D.closure34()); |
|
}); |
|
_lazy($, "_isBracketed", "$get$_isBracketed", function() { |
|
return D._function3("is-bracketed", "$list", new D.closure35()); |
|
}); |
|
_lazy($, "global1", "$get$global2", function() { |
|
var t1 = Q.BuiltInCallable; |
|
return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_get().withName$1("map-get"), $.$get$_merge().withName$1("map-merge"), $.$get$_remove().withName$1("map-remove"), $.$get$_keys().withName$1("map-keys"), $.$get$_values().withName$1("map-values"), $.$get$_hasKey().withName$1("map-has-key")], [t1]), t1); |
|
}); |
|
_lazy($, "module1", "$get$module1", function() { |
|
var t1 = Q.BuiltInCallable; |
|
return Q.BuiltInModule$("map", H.setRuntimeTypeInfo([$.$get$_get(), $.$get$_merge(), $.$get$_remove(), $.$get$_keys(), $.$get$_values(), $.$get$_hasKey()], [t1]), null, null, t1); |
|
}); |
|
_lazy($, "_get", "$get$_get", function() { |
|
return A._function2("get", "$map, $key", new A.closure33()); |
|
}); |
|
_lazy($, "_merge", "$get$_merge", function() { |
|
return A._function2("merge", "$map1, $map2", new A.closure32()); |
|
}); |
|
_lazy($, "_remove", "$get$_remove", function() { |
|
return Q.BuiltInCallable$overloadedFunction("remove", P.LinkedHashMap_LinkedHashMap$_literal(["$map", new A.closure30(), "$map, $key, $keys...", new A.closure31()], P.String, {func: 1, ret: F.Value, args: [[P.List, F.Value]]})); |
|
}); |
|
_lazy($, "_keys", "$get$_keys", function() { |
|
return A._function2("keys", "$map", new A.closure29()); |
|
}); |
|
_lazy($, "_values", "$get$_values", function() { |
|
return A._function2("values", "$map", new A.closure28()); |
|
}); |
|
_lazy($, "_hasKey", "$get$_hasKey", function() { |
|
return A._function2("has-key", "$map, $key", new A.closure27()); |
|
}); |
|
_lazy($, "global2", "$get$global3", function() { |
|
var t1 = Q.BuiltInCallable; |
|
return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_abs(), $.$get$_ceil(), $.$get$_floor(), $.$get$_max(), $.$get$_min(), $.$get$_percentage(), $.$get$_randomFunction(), $.$get$_round(), $.$get$_unit(), $.$get$_compatible().withName$1("comparable"), $.$get$_isUnitless().withName$1("unitless")], [t1]), t1); |
|
}); |
|
_lazy($, "module2", "$get$module2", function() { |
|
var t1 = Q.BuiltInCallable; |
|
return Q.BuiltInModule$("math", H.setRuntimeTypeInfo([$.$get$_abs(), $.$get$_acos(), $.$get$_asin(), $.$get$_atan(), $.$get$_atan2(), $.$get$_ceil(), $.$get$_clamp(), $.$get$_cos(), $.$get$_compatible(), $.$get$_floor(), $.$get$_hypot(), $.$get$_isUnitless(), $.$get$_log(), $.$get$_max(), $.$get$_min(), $.$get$_percentage(), $.$get$_pow(), $.$get$_randomFunction(), $.$get$_round(), $.$get$_sin(), $.$get$_sqrt(), $.$get$_tan(), $.$get$_unit()], [t1]), null, P.LinkedHashMap_LinkedHashMap$_literal(["e", T.SassNumber$(2.718281828459045, null), "pi", T.SassNumber$(3.141592653589793, null)], P.String, F.Value), t1); |
|
}); |
|
_lazy($, "_ceil", "$get$_ceil", function() { |
|
return K._numberFunction("ceil", new K.closure25()); |
|
}); |
|
_lazy($, "_clamp", "$get$_clamp", function() { |
|
return K._function1("clamp", "$min, $number, $max", new K.closure91()); |
|
}); |
|
_lazy($, "_floor", "$get$_floor", function() { |
|
return K._numberFunction("floor", new K.closure24()); |
|
}); |
|
_lazy($, "_max", "$get$_max", function() { |
|
return K._function1("max", "$numbers...", new K.closure23()); |
|
}); |
|
_lazy($, "_min", "$get$_min", function() { |
|
return K._function1("min", "$numbers...", new K.closure22()); |
|
}); |
|
_lazy($, "_round", "$get$_round", function() { |
|
return K._numberFunction("round", T.number0__fuzzyRound$closure()); |
|
}); |
|
_lazy($, "_abs", "$get$_abs", function() { |
|
return K._numberFunction("abs", new K.closure26()); |
|
}); |
|
_lazy($, "_hypot", "$get$_hypot", function() { |
|
return K._function1("hypot", "$numbers...", new K.closure89()); |
|
}); |
|
_lazy($, "_log", "$get$_log", function() { |
|
return K._function1("log", "$number, $base: null", new K.closure88()); |
|
}); |
|
_lazy($, "_pow", "$get$_pow", function() { |
|
return K._function1("pow", "$base, $exponent", new K.closure87()); |
|
}); |
|
_lazy($, "_sqrt", "$get$_sqrt", function() { |
|
return K._function1("sqrt", "$number", new K.closure85()); |
|
}); |
|
_lazy($, "_acos", "$get$_acos", function() { |
|
return K._function1("acos", "$number", new K.closure95()); |
|
}); |
|
_lazy($, "_asin", "$get$_asin", function() { |
|
return K._function1("asin", "$number", new K.closure94()); |
|
}); |
|
_lazy($, "_atan", "$get$_atan", function() { |
|
return K._function1("atan", "$number", new K.closure93()); |
|
}); |
|
_lazy($, "_atan2", "$get$_atan2", function() { |
|
return K._function1("atan2", "$y, $x", new K.closure92()); |
|
}); |
|
_lazy($, "_cos", "$get$_cos", function() { |
|
return K._function1("cos", "$number", new K.closure90()); |
|
}); |
|
_lazy($, "_sin", "$get$_sin", function() { |
|
return K._function1("sin", "$number", new K.closure86()); |
|
}); |
|
_lazy($, "_tan", "$get$_tan", function() { |
|
return K._function1("tan", "$number", new K.closure84()); |
|
}); |
|
_lazy($, "_compatible", "$get$_compatible", function() { |
|
return K._function1("compatible", "$number1, $number2", new K.closure18()); |
|
}); |
|
_lazy($, "_isUnitless", "$get$_isUnitless", function() { |
|
return K._function1("is-unitless", "$number", new K.closure17()); |
|
}); |
|
_lazy($, "_unit", "$get$_unit", function() { |
|
return K._function1("unit", "$number", new K.closure19()); |
|
}); |
|
_lazy($, "_percentage", "$get$_percentage", function() { |
|
return K._function1("percentage", "$number", new K.closure21()); |
|
}); |
|
_lazy($, "_random", "$get$_random0", function() { |
|
return P.Random_Random(); |
|
}); |
|
_lazy($, "_randomFunction", "$get$_randomFunction", function() { |
|
return K._function1("random", "$limit: null", new K.closure20()); |
|
}); |
|
_lazy($, "global3", "$get$global", function() { |
|
var t1 = Q.BuiltInCallable; |
|
return P.UnmodifiableListView$(H.setRuntimeTypeInfo([Q._function5("feature-exists", "$feature", new Q.closure101()), Q._function5("inspect", "$value", new Q.closure102()), Q._function5("type-of", "$value", new Q.closure103()), Q._function5("keywords", "$args", new Q.closure104())], [t1]), t1); |
|
}); |
|
_lazy($, "global4", "$get$global4", function() { |
|
var t1 = Q.BuiltInCallable; |
|
return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_isSuperselector(), $.$get$_simpleSelectors(), $.$get$_parse().withName$1("selector-parse"), $.$get$_nest().withName$1("selector-nest"), $.$get$_append().withName$1("selector-append"), $.$get$_extend().withName$1("selector-extend"), $.$get$_replace().withName$1("selector-replace"), $.$get$_unify().withName$1("selector-unify")], [t1]), t1); |
|
}); |
|
_lazy($, "module3", "$get$module3", function() { |
|
var t1 = Q.BuiltInCallable; |
|
return Q.BuiltInModule$("selector", H.setRuntimeTypeInfo([$.$get$_isSuperselector(), $.$get$_simpleSelectors(), $.$get$_parse(), $.$get$_nest(), $.$get$_append(), $.$get$_extend(), $.$get$_replace(), $.$get$_unify()], [t1]), null, null, t1); |
|
}); |
|
_lazy($, "_nest", "$get$_nest", function() { |
|
return T._function0("nest", "$selectors...", new T.closure13()); |
|
}); |
|
_lazy($, "_append0", "$get$_append", function() { |
|
return T._function0("append", "$selectors...", new T.closure12()); |
|
}); |
|
_lazy($, "_extend", "$get$_extend", function() { |
|
return T._function0("extend", "$selector, $extendee, $extender", new T.closure11()); |
|
}); |
|
_lazy($, "_replace", "$get$_replace", function() { |
|
return T._function0("replace", "$selector, $original, $replacement", new T.closure10()); |
|
}); |
|
_lazy($, "_unify", "$get$_unify", function() { |
|
return T._function0("unify", "$selector1, $selector2", new T.closure9()); |
|
}); |
|
_lazy($, "_isSuperselector", "$get$_isSuperselector", function() { |
|
return T._function0("is-superselector", "$super, $sub", new T.closure16()); |
|
}); |
|
_lazy($, "_simpleSelectors", "$get$_simpleSelectors", function() { |
|
return T._function0("simple-selectors", "$selector", new T.closure15()); |
|
}); |
|
_lazy($, "_parse", "$get$_parse", function() { |
|
return T._function0("parse", "$selector", new T.closure14()); |
|
}); |
|
_lazy($, "_random0", "$get$_random", function() { |
|
return P.Random_Random(); |
|
}); |
|
_lazy($, "_previousUniqueId", "$get$_previousUniqueId", function() { |
|
return $.$get$_random().nextInt$1(H.intTypeCast(P.pow(36, 6))); |
|
}); |
|
_lazy($, "global5", "$get$global5", function() { |
|
var t1 = Q.BuiltInCallable; |
|
return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_unquote(), $.$get$_quote(), $.$get$_toUpperCase(), $.$get$_toLowerCase(), $.$get$_uniqueId(), $.$get$_length().withName$1("str-length"), $.$get$_insert().withName$1("str-insert"), $.$get$_index().withName$1("str-index"), $.$get$_slice().withName$1("str-slice")], [t1]), t1); |
|
}); |
|
_lazy($, "module4", "$get$module4", function() { |
|
var t1 = Q.BuiltInCallable; |
|
return Q.BuiltInModule$("string", H.setRuntimeTypeInfo([$.$get$_unquote(), $.$get$_quote(), $.$get$_toUpperCase(), $.$get$_toLowerCase(), $.$get$_length(), $.$get$_insert(), $.$get$_index(), $.$get$_slice(), $.$get$_uniqueId()], [t1]), null, null, t1); |
|
}); |
|
_lazy($, "_unquote", "$get$_unquote", function() { |
|
return D._function("unquote", "$string", new D.closure8()); |
|
}); |
|
_lazy($, "_quote", "$get$_quote", function() { |
|
return D._function("quote", "$string", new D.closure7()); |
|
}); |
|
_lazy($, "_length0", "$get$_length", function() { |
|
return D._function("length", "$string", new D.closure3()); |
|
}); |
|
_lazy($, "_insert", "$get$_insert", function() { |
|
return D._function("insert", "$string, $insert, $index", new D.closure2()); |
|
}); |
|
_lazy($, "_index0", "$get$_index", function() { |
|
return D._function("index", "$string, $substring", new D.closure1()); |
|
}); |
|
_lazy($, "_slice", "$get$_slice", function() { |
|
return D._function("slice", "$string, $start-at, $end-at: -1", new D.closure0()); |
|
}); |
|
_lazy($, "_toUpperCase", "$get$_toUpperCase", function() { |
|
return D._function("to-upper-case", "$string", new D.closure6()); |
|
}); |
|
_lazy($, "_toLowerCase", "$get$_toLowerCase", function() { |
|
return D._function("to-lower-case", "$string", new D.closure5()); |
|
}); |
|
_lazy($, "_uniqueId", "$get$_uniqueId", function() { |
|
return D._function("unique-id", "", new D.closure4()); |
|
}); |
|
_lazy($, "stderr", "$get$stderr", function() { |
|
return new B.Stderr(self.process.stderr); |
|
}); |
|
_lazy($, "Logger_quiet", "$get$Logger_quiet", function() { |
|
return new F._QuietLogger(); |
|
}); |
|
_lazy($, "_jsThrow", "$get$_jsThrow", function() { |
|
return new self.Function("error", "throw error;"); |
|
}); |
|
_lazy($, "_isUndefined", "$get$_isUndefined", function() { |
|
return new self.Function("value", "return value === undefined;"); |
|
}); |
|
_lazy($, "booleanConstructor", "$get$booleanConstructor", function() { |
|
return new Z.closure141().call$0(); |
|
}); |
|
_lazy($, "colorConstructor", "$get$colorConstructor", function() { |
|
return B.createClass("SassColor", new K.closure131(), P.LinkedHashMap_LinkedHashMap$_literal(["getR", new K.closure132(), "getG", new K.closure133(), "getB", new K.closure134(), "getA", new K.closure135(), "setR", new K.closure136(), "setG", new K.closure137(), "setB", new K.closure138(), "setA", new K.closure139(), "toString", new K.closure140()], P.String, P.Function)); |
|
}); |
|
_lazy($, "listConstructor", "$get$listConstructor", function() { |
|
return B.createClass("SassList", new D.closure124(), P.LinkedHashMap_LinkedHashMap$_literal(["getValue", new D.closure125(), "setValue", new D.closure126(), "getSeparator", new D.closure127(), "setSeparator", new D.closure128(), "getLength", new D.closure129(), "toString", new D.closure130()], P.String, P.Function)); |
|
}); |
|
_lazy($, "mapConstructor", "$get$mapConstructor", function() { |
|
return B.createClass("SassMap", new A.closure117(), P.LinkedHashMap_LinkedHashMap$_literal(["getKey", new A.closure118(), "getValue", new A.closure119(), "getLength", new A.closure120(), "setKey", new A.closure121(), "setValue", new A.closure122(), "toString", new A.closure123()], P.String, P.Function)); |
|
}); |
|
_lazy($, "nullConstructor", "$get$nullConstructor", function() { |
|
return new O.closure116().call$0(); |
|
}); |
|
_lazy($, "numberConstructor", "$get$numberConstructor", function() { |
|
return B.createClass("SassNumber", new T.closure110(), P.LinkedHashMap_LinkedHashMap$_literal(["getValue", new T.closure111(), "setValue", new T.closure112(), "getUnit", new T.closure113(), "setUnit", new T.closure114(), "toString", new T.closure115()], P.String, P.Function)); |
|
}); |
|
_lazy($, "stringConstructor", "$get$stringConstructor", function() { |
|
return B.createClass("SassString", new D.closure106(), P.LinkedHashMap_LinkedHashMap$_literal(["getValue", new D.closure107(), "setValue", new D.closure108(), "toString", new D.closure109()], P.String, P.Function)); |
|
}); |
|
_lazy($, "_disallowedFunctionNames", "$get$_disallowedFunctionNames", function() { |
|
var t1 = $.$get$globalFunctions(); |
|
t1 = t1.map$1$1(t1, new Q.closure105(), P.String).toSet$0(0); |
|
t1.add$1(0, "if"); |
|
t1.remove$1(0, "rgb"); |
|
t1.remove$1(0, "rgba"); |
|
t1.remove$1(0, "hsl"); |
|
t1.remove$1(0, "hsla"); |
|
t1.remove$1(0, "grayscale"); |
|
t1.remove$1(0, "invert"); |
|
t1.remove$1(0, "alpha"); |
|
t1.remove$1(0, "opacity"); |
|
t1.remove$1(0, "saturate"); |
|
return t1; |
|
}); |
|
_lazy($, "epsilon", "$get$epsilon", function() { |
|
return P.pow(10, -11); |
|
}); |
|
_lazy($, "_inverseEpsilon", "$get$_inverseEpsilon", function() { |
|
return 1 / $.$get$epsilon(); |
|
}); |
|
_lazy($, "_noSourceUrl", "$get$_noSourceUrl", function() { |
|
return P.Uri_parse("-"); |
|
}); |
|
_lazy($, "_conversions", "$get$_conversions", function() { |
|
var t1 = P.String, |
|
t2 = P.num; |
|
return P.LinkedHashMap_LinkedHashMap$_literal(["in", P.LinkedHashMap_LinkedHashMap$_literal(["in", 1, "cm", 0.39370078740157477, "pc", 0.16666666666666666, "mm", 0.03937007874015748, "q", 0.00984251968503937, "pt", 0.013888888888888888, "px", 0.010416666666666666], t1, t2), "cm", P.LinkedHashMap_LinkedHashMap$_literal(["in", 2.54, "cm", 1, "pc", 0.42333333333333334, "mm", 0.1, "q", 0.025, "pt", 0.035277777777777776, "px", 0.026458333333333334], t1, t2), "pc", P.LinkedHashMap_LinkedHashMap$_literal(["in", 6, "cm", 2.3622047244094486, "pc", 1, "mm", 0.2362204724409449, "q", 0.05905511811023623, "pt", 0.08333333333333333, "px", 0.0625], t1, t2), "mm", P.LinkedHashMap_LinkedHashMap$_literal(["in", 25.4, "cm", 10, "pc", 4.233333333333333, "mm", 1, "q", 0.25, "pt", 0.35277777777777775, "px", 0.26458333333333334], t1, t2), "q", P.LinkedHashMap_LinkedHashMap$_literal(["in", 101.6, "cm", 40, "pc", 16.933333333333334, "mm", 4, "q", 1, "pt", 1.411111111111111, "px", 1.0583333333333333], t1, t2), "pt", P.LinkedHashMap_LinkedHashMap$_literal(["in", 72, "cm", 28.346456692913385, "pc", 12, "mm", 2.834645669291339, "q", 0.7086614173228347, "pt", 1, "px", 0.75], t1, t2), "px", P.LinkedHashMap_LinkedHashMap$_literal(["in", 96, "cm", 37.79527559055118, "pc", 16, "mm", 3.7795275590551185, "q", 0.9448818897637796, "pt", 1.3333333333333333, "px", 1], t1, t2), "deg", P.LinkedHashMap_LinkedHashMap$_literal(["deg", 1, "grad", 0.9, "rad", 57.29577951308232, "turn", 360], t1, t2), "grad", P.LinkedHashMap_LinkedHashMap$_literal(["deg", 1.1111111111111112, "grad", 1, "rad", 63.66197723675813, "turn", 400], t1, t2), "rad", P.LinkedHashMap_LinkedHashMap$_literal(["deg", 0.017453292519943295, "grad", 0.015707963267948967, "rad", 1, "turn", 6.283185307179586], t1, t2), "turn", P.LinkedHashMap_LinkedHashMap$_literal(["deg", 0.002777777777777778, "grad", 0.0025, "rad", 0.15915494309189535, "turn", 1], t1, t2), "s", P.LinkedHashMap_LinkedHashMap$_literal(["s", 1, "ms", 0.001], t1, t2), "ms", P.LinkedHashMap_LinkedHashMap$_literal(["s", 1000, "ms", 1], t1, t2), "Hz", P.LinkedHashMap_LinkedHashMap$_literal(["Hz", 1, "kHz", 1000], t1, t2), "kHz", P.LinkedHashMap_LinkedHashMap$_literal(["Hz", 0.001, "kHz", 1], t1, t2), "dpi", P.LinkedHashMap_LinkedHashMap$_literal(["dpi", 1, "dpcm", 2.54, "dppx", 96], t1, t2), "dpcm", P.LinkedHashMap_LinkedHashMap$_literal(["dpi", 0.39370078740157477, "dpcm", 1, "dppx", 37.79527559055118], t1, t2), "dppx", P.LinkedHashMap_LinkedHashMap$_literal(["dpi", 0.010416666666666666, "dpcm", 0.026458333333333334, "dppx", 1], t1, t2)], t1, [P.Map, P.String, P.num]); |
|
}); |
|
_lazy($, "_emptyQuoted", "$get$_emptyQuoted", function() { |
|
return D.SassString$("", true); |
|
}); |
|
_lazy($, "_emptyUnquoted", "$get$_emptyUnquoted", function() { |
|
return D.SassString$("", false); |
|
}); |
|
_lazy($, "MAX_INT32", "$get$MAX_INT32", function() { |
|
return P.pow(2, 31) - 1; |
|
}); |
|
_lazy($, "MIN_INT32", "$get$MIN_INT32", function() { |
|
return -P.pow(2, 31); |
|
}); |
|
_lazy($, "_vmFrame", "$get$_vmFrame", function() { |
|
return P.RegExp_RegExp("^#\\d+\\s+(\\S.*) \\((.+?)((?::\\d+){0,2})\\)$", false); |
|
}); |
|
_lazy($, "_v8Frame", "$get$_v8Frame", function() { |
|
return P.RegExp_RegExp("^\\s*at (?:(\\S.*?)(?: \\[as [^\\]]+\\])? \\((.*)\\)|(.*))$", false); |
|
}); |
|
_lazy($, "_v8UrlLocation", "$get$_v8UrlLocation", function() { |
|
return P.RegExp_RegExp("^(.*):(\\d+):(\\d+)|native$", false); |
|
}); |
|
_lazy($, "_v8EvalLocation", "$get$_v8EvalLocation", function() { |
|
return P.RegExp_RegExp("^eval at (?:\\S.*?) \\((.*)\\)(?:, .*?:\\d+:\\d+)?$", false); |
|
}); |
|
_lazy($, "_firefoxSafariFrame", "$get$_firefoxSafariFrame", function() { |
|
return P.RegExp_RegExp("^(?:([^@(/]*)(?:\\(.*\\))?((?:/[^/]*)*)(?:\\(.*\\))?@)?(.*?):(\\d*)(?::(\\d*))?$", false); |
|
}); |
|
_lazy($, "_friendlyFrame", "$get$_friendlyFrame", function() { |
|
return P.RegExp_RegExp("^(\\S+)(?: (\\d+)(?::(\\d+))?)?\\s+([^\\d].*)$", false); |
|
}); |
|
_lazy($, "_asyncBody", "$get$_asyncBody", function() { |
|
return P.RegExp_RegExp("<(<anonymous closure>|[^>]+)_async_body>", false); |
|
}); |
|
_lazy($, "_initialDot", "$get$_initialDot", function() { |
|
return P.RegExp_RegExp("^\\.", false); |
|
}); |
|
_lazy($, "Frame__uriRegExp", "$get$Frame__uriRegExp", function() { |
|
return P.RegExp_RegExp("^[a-zA-Z][-+.a-zA-Z\\d]*://", false); |
|
}); |
|
_lazy($, "Frame__windowsRegExp", "$get$Frame__windowsRegExp", function() { |
|
return P.RegExp_RegExp("^([a-zA-Z]:[\\\\/]|\\\\\\\\)", false); |
|
}); |
|
_lazy($, "_terseRegExp", "$get$_terseRegExp", function() { |
|
return P.RegExp_RegExp("(-patch)?([/\\\\].*)?$", false); |
|
}); |
|
_lazy($, "_v8Trace", "$get$_v8Trace", function() { |
|
return P.RegExp_RegExp("\\n ?at ", false); |
|
}); |
|
_lazy($, "_v8TraceLine", "$get$_v8TraceLine", function() { |
|
return P.RegExp_RegExp(" ?at ", false); |
|
}); |
|
_lazy($, "_firefoxSafariTrace", "$get$_firefoxSafariTrace", function() { |
|
return P.RegExp_RegExp("^(([.0-9A-Za-z_$/<]|\\(.*\\))*@)?[^\\s]*:\\d*$", true); |
|
}); |
|
_lazy($, "_friendlyTrace", "$get$_friendlyTrace", function() { |
|
return P.RegExp_RegExp("^[^\\s<][^\\s]*( \\d+(:\\d+)?)?[ \\t]+[^\\s]+$", true); |
|
}); |
|
_lazy($, "_newlineRegExp", "$get$_newlineRegExp", function() { |
|
return P.RegExp_RegExp("\\r\\n?|\\n", false); |
|
}); |
|
})(); |
|
(function nativeSupport() { |
|
!function() { |
|
var intern = function(s) { |
|
var o = {}; |
|
o[s] = 1; |
|
return Object.keys(hunkHelpers.convertToFastObject(o))[0]; |
|
}; |
|
init.getIsolateTag = function(name) { |
|
return intern("___dart_" + name + init.isolateTag); |
|
}; |
|
var tableProperty = "___dart_isolate_tags_"; |
|
var usedProperties = Object[tableProperty] || (Object[tableProperty] = Object.create(null)); |
|
var rootProperty = "_ZxYxX"; |
|
for (var i = 0;; i++) { |
|
var property = intern(rootProperty + "_" + i + "_"); |
|
if (!(property in usedProperties)) { |
|
usedProperties[property] = 1; |
|
init.isolateTag = property; |
|
break; |
|
} |
|
} |
|
init.dispatchPropertyName = init.getIsolateTag("dispatch_record"); |
|
}(); |
|
hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer: J.Interceptor, DataView: H.NativeTypedData, ArrayBufferView: H.NativeTypedData, Float32Array: H.NativeFloat32List, Float64Array: H.NativeFloat64List, Int16Array: H.NativeInt16List, Int32Array: H.NativeInt32List, Int8Array: H.NativeInt8List, Uint16Array: H.NativeUint16List, Uint32Array: H.NativeUint32List, Uint8ClampedArray: H.NativeUint8ClampedList, CanvasPixelArray: H.NativeUint8ClampedList, Uint8Array: H.NativeUint8List}); |
|
hunkHelpers.setOrUpdateLeafTags({ArrayBuffer: true, DataView: true, ArrayBufferView: false, Float32Array: true, Float64Array: true, Int16Array: true, Int32Array: true, Int8Array: true, Uint16Array: true, Uint32Array: true, Uint8ClampedArray: true, CanvasPixelArray: true, Uint8Array: false}); |
|
H.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView"; |
|
H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView"; |
|
H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; |
|
H.NativeTypedArrayOfDouble.$nativeSuperclassTag = "ArrayBufferView"; |
|
H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView"; |
|
H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; |
|
H.NativeTypedArrayOfInt.$nativeSuperclassTag = "ArrayBufferView"; |
|
})(); |
|
Function.prototype.call$1 = function(a) { |
|
return this(a); |
|
}; |
|
Function.prototype.call$0 = function() { |
|
return this(); |
|
}; |
|
Function.prototype.call$2 = function(a, b) { |
|
return this(a, b); |
|
}; |
|
Function.prototype.call$3 = function(a, b, c) { |
|
return this(a, b, c); |
|
}; |
|
Function.prototype.call$4 = function(a, b, c, d) { |
|
return this(a, b, c, d); |
|
}; |
|
Function.prototype.call$5 = function(a, b, c, d, e) { |
|
return this(a, b, c, d, e); |
|
}; |
|
Function.prototype.call$1$1 = function(a) { |
|
return this(a); |
|
}; |
|
Function.prototype.call$1$3 = function(a, b, c) { |
|
return this(a, b, c); |
|
}; |
|
Function.prototype.call$2$2 = function(a, b) { |
|
return this(a, b); |
|
}; |
|
Function.prototype.call$6 = function(a, b, c, d, e, f) { |
|
return this(a, b, c, d, e, f); |
|
}; |
|
Function.prototype.call$1$0 = function() { |
|
return this(); |
|
}; |
|
convertAllToFastObject(holders); |
|
convertToFastObject($); |
|
(function(callback) { |
|
if (typeof document === "undefined") { |
|
callback(null); |
|
return; |
|
} |
|
if (typeof document.currentScript != 'undefined') { |
|
callback(document.currentScript); |
|
return; |
|
} |
|
var scripts = document.scripts; |
|
function onLoad(event) { |
|
for (var i = 0; i < scripts.length; ++i) |
|
scripts[i].removeEventListener("load", onLoad, false); |
|
callback(event.target); |
|
} |
|
for (var i = 0; i < scripts.length; ++i) |
|
scripts[i].addEventListener("load", onLoad, false); |
|
})(function(currentScript) { |
|
init.currentScript = currentScript; |
|
if (typeof dartMainRunner === "function") |
|
dartMainRunner(B.main0, []); |
|
else |
|
B.main0([]); |
|
}); |
|
})();
|