UNPKG

onionskin

Version:

Multilayer Cache Manager for JavaScript

1 lines 108 kB
{"version":3,"file":"dist/onionskin.min.js","sources":["dist/onionskin.js"],"names":["require","e","t","n","r","s","o","u","a","i","Error","f","exports","call","length",1,"module","Promise","SomePromiseArray","_SomePromiseArray","Promise$_Any","promises","ret","promise","isRejected","setHowMany","setUnwrap","init","any","Promise$Any","prototype","Promise$any","this",2,"process","schedule","Queue","errorObj","tryCatch1","_process","Async","_isTickUsed","_schedule","_length","_lateBuffer","_functionBuffer","self","consumeFunctionBuffer","Async$consumeFunctionBuffer","_consumeFunctionBuffer","haveItemsQueued","Async$haveItemsQueued","invokeLater","Async$invokeLater","fn","receiver","arg","domain","bind","push","_queueTick","invoke","Async$invoke","functionBuffer","Async$_consumeFunctionBuffer","shift","_reset","_consumeLateBuffer","Async$_consumeLateBuffer","buffer","res","emit","Async$_queue","Async$_reset","./queue.js","./schedule.js","./util.js","lppjwH","EjIH/G","./promise.js","bluebird",5,"cr","Object","create","callerCache","getterCache","util","canEvaluate","isIdentifier","makeMethodCaller","methodName","Function","replace","makeGetter","propertyName","getCompiled","name","compiler","cache","keys","getMethodCaller","getGetter","caller","obj","pop","apply","Promise$call","$_len","arguments","args","Array","$_i","maybeCaller","_then","namedGetter","indexedGetter","get","Promise$get","isIndex","getter","maybeGetter",6,"INTERNAL","errors","canAttach","async","CancellationError","_cancel","Promise$_cancel","reason","isCancellable","parent","promiseToReject","_cancellationParent","_attachExtraTrace","_rejectUnchecked","cancel","Promise$cancel","cancellable","Promise$cancellable","_cancellable","_setCancellable","uncancellable","Promise$uncancellable","_propagateFrom","_follow","_unsetCancellable","fork","Promise$fork","didFulfill","didReject","didProgress","./async.js","./errors.js",7,"inherits","defineProperty","rignore","RegExp","rtraceline","formatStack","formatNonError","str","toString","ruselessToString","test","newStr","JSON","stringify","snip","maxChars","substr","CapturedTrace","ignoreUntil","isTopLevel","captureStackTrace","CapturedTrace$captureStackTrace","possiblyUnhandledRejection","CapturedTrace$PossiblyUnhandledRejection","console","message","stack","String","error","log","combine","CapturedTrace$Combine","current","prev","curLast","line","lines","concat","len","protectErrorMessageNewlines","errorMessageLines","j","unshift","join","isSupported","CapturedTrace$IsSupported","stackDetection","stackTraceLimit","CapturedTrace$_captureStackTrace","err","startsWith","writable","enumerable","configurable","value","rline","split","./es5.js",8,"NEXT_FILTER","TypeError","CatchFilter","instances","callback","_instances","_callback","_promise","CatchFilter$_safePredicate","predicate","safeObject","retfilter","safeKeys","doFilter","CatchFilter$_doFilter","cb","boundTo","_boundTo","item","itemIsErrorType","shouldHandle","trace",9,"isPrimitive","wrapsPrimitiveReceiver","returner","Promise$_returner","thrower","Promise$_thrower","wrapper","Promise$_wrapper","action","thenReturn","Promise$thenReturn","thenThrow","Promise$thenThrow",10,"PromiseReduce","reduce","each","Promise$each","Promise$Each",11,"Objectfreeze","freeze","notEnumerableProp","markAsOriginatingFromRejection","ignore","originatesFromRejection","OperationalError","isError","subError","nameProperty","defaultMessage","SubError","constructor","_TypeError","_RangeError","TimeoutError","AggregateError","RangeError","methods","level","indent","cause","key","errorTypes","RejectionError",12,"apiRejection","msg","rejected","_peekContext",13,"isES5","getPrototypeOf","isArray","has","hasOwnProperty","proto","ObjectKeys","ObjectDefineProperty","desc","ObjectFreeze","ObjectGetPrototypeOf","ArrayIsArray",14,"PromiseMap","map","filter","Promise$filter","options","Promise$Filter",15,"cast","returnThis","throwThis","return$","throw$","promisedFinally","reasonOrValue","isFulfilled","then","finallyHandler","handler","_isBound","maybePromise","tapHandler","_passThroughHandler","Promise$_passThroughHandler","isFinally","promiseAndHandler","lastly","Promise$finally","tap","Promise$tap",16,"deprecated","yieldHandlers","promiseFromYieldHandler","_errorObj","_Promise","result","reject","PromiseSpawn","generatorFunction","yieldHandler","_setTrace","_generatorFunction","_receiver","_generator","_yieldHandlers","PromiseSpawn$promise","_run","PromiseSpawn$_run","_next","_continue","PromiseSpawn$_continue","_reject","done","_tryFollow","_fulfill","_throw","PromiseSpawn$_throw","PromiseSpawn$_next","next","coroutine","Promise$Coroutine","PromiseSpawn$","generator","spawn","addYieldHandler","Promise$Spawn",17,"PromiseArray","thenCallback","count","values","thenCallbacks","callers","Holder","total","p1","p2","p3","p4","p5","now","checkFulfillment","_fulfillUnchecked","Promise$Join","last","holder","callbacks","isPending","_settledValue","_unsetRejectionIsUnhandled","spread",18,"tryCatch3","PENDING","EMPTY_ARRAY","MappingPromiseArray","limit","_filter","constructor$","_preservedValues","_limit","_inFlight","_queue","_init$","_init","MappingPromiseArray$_init","_promiseFulfilled","MappingPromiseArray$_promiseFulfilled","index","_values","preservedValues","_drainQueue","_isResolved","_proxyPromiseArray","totalResolved","_totalResolved","_resolve","MappingPromiseArray$_drainQueue","queue","MappingPromiseArray$_filter","booleans","MappingPromiseArray$preserveValues","concurrency","isFinite","Promise$map","Promise$Map",19,"tryCatch2","Promise$_spreadAdapter","val","Promise$_successAdapter","tryCatchApply","nodeback","Promise$_errorAdapter","nodeify","Promise$nodeify","adapter",20,"progressed","Promise$progressed","_progress","Promise$_progress","progressValue","_isFollowingOrFulfilledOrRejected","_progressUnchecked","_progressHandlerAt","Promise$_progressHandlerAt","_progressHandler0","_doProgressWith","Promise$_doProgressWith","progression","Promise$_progressUnchecked","progress","_promiseAt","_receiverAt","_isProxied","_promiseProgressed",21,"old","noConflict","APPLY","PromiseResolver","makeSelfResolutionError","Promise$_makeSelfResolutionError","resolver","_bitField","_fulfillmentHandler0","_rejectionHandler0","_promise0","_receiver0","_resolveFromResolver","Promise$bind","thisArg","_setBoundTo","Promise$toString","caught","Promise$catch","catchInstances","catchFilterTypeError","_resetTrace","catchFilter","Promise$then","Promise$done","_setIsFinal","Promise$spread","Promise$isCancellable","isResolved","toJSON","Promise$toJSON","fulfillmentValue","rejectionReason","all","Promise$all","is","Promise$Is","Promise$All","Promise$_error","_resolveFromSyncValue","Promise$_resolveFromSyncValue","_cleanValues","_setRejected","_ensurePossibleRejectionHandled","_setFulfilled","method","Promise$_Method","Promise$_method","attempt","Promise$_Try","ctx","defer","pending","Promise$Defer","Promise$Bind","Promise$_Cast","resolve","fulfilled","Promise$Reject","_setCarriedStackTrace","onPossiblyUnhandledRejection","Promise$OnPossiblyUnhandledRejection","unhandledRejectionHandled","onUnhandledRejectionHandled","Promise$onUnhandledRejectionHandled","debugging","execPath","env","longStackTraces","Promise$LongStackTraces","hasLongStackTraces","Promise$HasLongStackTraces","Promise$_then","internalData","haveInternalData","haveSameContext","_traceParent","callbackIndex","_addCallbacks","_queueSettleAt","Promise$_length","Promise$_isFollowingOrFulfilledOrRejected","_isFollowing","Promise$_isFollowing","_setLength","Promise$_setLength","Promise$_setFulfilled","Promise$_setRejected","_setFollowing","Promise$_setFollowing","Promise$_setIsFinal","_isFinal","Promise$_isFinal","Promise$_cancellable","Promise$_setCancellable","Promise$_unsetCancellable","_setRejectionIsUnhandled","Promise$_setRejectionIsUnhandled","Promise$_unsetRejectionIsUnhandled","_isUnhandledRejectionNotified","_unsetUnhandledRejectionIsNotified","_notifyUnhandledRejectionIsHandled","_isRejectionUnhandled","Promise$_isRejectionUnhandled","_setUnhandledRejectionIsNotified","Promise$_setUnhandledRejectionIsNotified","Promise$_unsetUnhandledRejectionIsNotified","Promise$_isUnhandledRejectionNotified","Promise$_setCarriedStackTrace","capturedTrace","_unsetCarriedStackTrace","Promise$_unsetCarriedStackTrace","_isCarryingStackTrace","Promise$_isCarryingStackTrace","_getCarriedStackTrace","Promise$_getCarriedStackTrace","Promise$_receiverAt","Promise$_promiseAt","_fulfillmentHandlerAt","Promise$_fulfillmentHandlerAt","_rejectionHandlerAt","Promise$_rejectionHandlerAt","Promise$_addCallbacks","fulfill","base","_setProxyHandlers","Promise$_setProxyHandlers","promiseSlotValue","Promise$_proxyPromiseArray","promiseArray","_proxyPromise","Promise$_proxyPromise","_setProxied","Promise$_setBoundTo","Promise$_isBound","Promise$_resolveFromResolver","_pushContext","Promise$_resolver","Promise$_rejecter","_popContext","_spreadSlowCase","Promise$_spreadSlowCase","targetFn","promiseForAll","promise2","_callSpread","Promise$_callSpread","_callHandler","Promise$_callHandler","x","_settlePromiseFromHandler","Promise$_settlePromiseFromHandler","castValue","Promise$_follow","Promise$_tryFollow","Promise$_resetTrace","_trace","Promise$_setTrace","context","Promise$_attachExtraTrace","headerLineCount","combinedTraces","max","Promise$_cleanValues","Promise$_propagateFrom","flags","Promise$_fulfill","Promise$_reject","carriedStackTrace","_settlePromiseAt","Promise$_settlePromiseAt","_unsetProxied","_promiseRejected","_queueGC","Promise$_isProxied","Promise$_setProxied","Promise$_unsetProxied","_isGcQueued","Promise$_isGcQueued","_setGcQueued","Promise$_setGcQueued","_unsetGcQueued","Promise$_unsetGcQueued","Promise$_queueGC","_gc","Promise$gc","Promise$_queueSettleAt","Promise$_fulfillUnchecked","_settlePromises","_rejectUncheckedCheckError","Promise$_rejectUncheckedCheckError","Promise$_rejectUnchecked","_rejectPromises","Promise$_rejectPromises","Promise$_settlePromises","Promise$_ensurePossibleRejectionHandled","_notifyUnhandledRejection","Promise$_notifyUnhandledRejectionIsHandled","Promise$_notifyUnhandledRejection","contextStack","Promise$_peekContext","lastIndex","Promise$_pushContext","Promise$_popContext","Promise$NoConflict","setScheduler","_makeSelfResolutionError","toFastProperties","./any.js","./call_get.js","./cancel.js","./captured_trace.js","./catch_filter.js","./direct_resolve.js","./each.js","./errors_api_rejection","./filter.js","./finally.js","./generators.js","./join.js","./map.js","./nodeify.js","./progress.js","./promise_array.js","./promise_resolver.js","./promisify.js","./props.js","./race.js","./reduce.js","./settle.js","./some.js","./synchronous_inspection.js","./thenables.js","./timers.js","./using.js",22,"toResolutionValue","PromiseArray$length","PromiseArray$promise","PromiseArray$_init","_","resolveValueIfEmpty","__hardReject__","_resolveEmptyArray","getActualLength","newLen","newValues","shouldCopyValues","isDirectScanNeeded","_scanDirectValues","PromiseArray$_settlePromiseAt","PromiseArray$_scanDirectValues","PromiseArray$_isResolved","PromiseArray$_resolve","PromiseArray$_reject","PromiseArray$_promiseProgressed","PromiseArray$_promiseFulfilled","PromiseArray$_promiseRejected","PromiseArray$_shouldCopyValues","PromiseArray$getActualLength",23,"maybeWrapAsError","haveGetters","es5","isUntypedError","wrapAsOperationalError","nodebackForPromise","PromiseResolver$_callback","wrapped","asCallback","prop","_nodebackForPromise","PromiseResolver$toString","PromiseResolver$resolve","PromiseResolver$reject","PromiseResolver$progress","PromiseResolver$cancel","timeout","PromiseResolver$timeout","PromiseResolver$isResolved","PromiseResolver$toJSON","PromiseResolver$_setCarriedStackTrace",24,"THIS","withAppended","defaultSuffix","defaultFilter","func","charAt","isClass","defaultPromisified","__isPromisified__","escapeIdentRegex","isPromisified","hasPromisified","suffix","getDataPropertyOrDefault","checkValid","suffixRegexp","keyWithoutAsyncSuffix","promisifiableMethods","inheritedDataKeys","switchCaseArgumentOrder","likelyArgumentCount","min","Math","argumentSequence","argumentCount","filledRange","parameterDeclaration","parameterCount","generatePropertyAccess","makeNodePromisifiedEval","originalName","newParameterCount","argumentOrder","callbackName","generateCallForArgumentCount","comma","generateArgumentSwitchCase","codeForCall","makeNodePromisifiedClosure","promisified","makeNodePromisified","promisifyAll","promisifier","promisifiedKey","promisify","Promise$Promisify","Promise$PromisifyAll","target","includeHidden","./errors",25,"isObject","PropertiesPromiseArray","PropertiesPromiseArray$_init","PropertiesPromiseArray$_promiseFulfilled","keyOffset","PropertiesPromiseArray$_promiseProgressed","PropertiesPromiseArray$_shouldCopyValues","PropertiesPromiseArray$getActualLength","Promise$_Props","props","Promise$props","Promise$Props",26,"arrayCopy","src","srcIndex","dst","dstIndex","capacity","_capacity","_front","_makeCapacity","_willBeOverCapacity","Queue$_willBeOverCapacity","size","_pushOne","Queue$_pushOne","_checkCapacity","Queue$push","wrapMask","Queue$shift","front","Queue$length","Queue$_makeCapacity","Queue$_checkCapacity","_resizeTo","Queue$_resizeTo","oldFront","oldCapacity","oldQueue","lengthBeforeWrapping",27,"raceLater","Promise$_raceLater","array","Promise$_Race","hasOwn","race","Promise$Race","Promise$race","./errors_api_rejection.js",28,"tryCatch4","ReductionPromiseArray","accum","_each","_zerothIsAccum","_gotAccum","_reducingIndex","_valuesPhase","undefined","isPromise","_accum","ReductionPromiseArray$_init","ReductionPromiseArray$_resolveEmptyArray","ReductionPromiseArray$_promiseFulfilled","isEach","gotAccum","valuesPhase","valuesPhaseIndex","initialValue","Promise$reduce","Promise$Reduce",29,"_MutationObserver","version","Promise$_Scheduler","nextTick","MutationObserver","WebKitMutationObserver","div","document","createElement","queuedFn","observer","observe","attributes","setAttribute","setTimeout",30,"PromiseInspection","SettledPromiseArray","_promiseResolved","SettledPromiseArray$_promiseResolved","inspection","SettledPromiseArray$_promiseFulfilled","SettledPromiseArray$_promiseRejected","settle","Promise$Settle","Promise$settle",31,"_howMany","_unwrap","_initialized","SomePromiseArray$_init","isArrayResolved","_canPossiblyFulfill","_getRangeError","SomePromiseArray$init","SomePromiseArray$setUnwrap","howMany","SomePromiseArray$howMany","SomePromiseArray$setHowMany","SomePromiseArray$_promiseFulfilled","_addFulfilled","_fulfilled","SomePromiseArray$_promiseRejected","_addRejected","SomePromiseArray$_fulfilled","_rejected","SomePromiseArray$_rejected","SomePromiseArray$_addRejected","SomePromiseArray$_addFulfilled","SomePromiseArray$_canPossiblyFulfill","SomePromiseArray$_getRangeError","SomePromiseArray$_resolveEmptyArray","Promise$_Some","some","Promise$Some","Promise$some",32,"Promise$isFulfilled","Promise$isRejected","Promise$isPending","Promise$value","Promise$reason","Promise$isResolved",33,"getThen","originalPromise","isAnyBluebirdPromise","Promise$_doThenable","hasProp","called","Promise$_resolveFromThenable","Promise$_rejectFromThenable","Promise$_progressFromThenable","y","v",34,"_setTimeout","ms","arg0","arg1","arg2","afterTimeout","Promise$_afterTimeout","afterDelay","Promise$_afterDelay","delay","Promise$Delay","Promise$delay","Promise$timeout",35,"inspectionMapper","inspections","dispose","resources","iterator","_isDisposable","_getDisposer","tryDispose","disposerSuccess","disposerFail","Disposer","data","_data","Disposer$data","Disposer$promise","resource","Disposer$resource","doDispose","_unsetDisposable","FunctionDisposer","using","Promise$using","disposer","_setDisposable","Promise$_setDisposable","_disposer","Promise$_isDisposable","Promise$_getDisposer","Promise$_unsetDisposable","Promise$disposer",36,"navigator","arg3","arg4","Child","Parent","T","asString","maybeError","appendee","defaultValue","getOwnPropertyDescriptor","set","descriptor","opts","visitedKeys","getKeys","getOwnPropertyNames","eval","rident","prefix","onionskin","sFbBrY","OnionSkin","Drivers","Utils","Ephemeral","LocalStorage","IndexedDB","./onionskin/drivers/ephemeral","./onionskin/drivers/indexed_db","./onionskin/drivers/local_storage","./onionskin/drivers/utils","./onionskin_base",39,"available","parse","put","expiration","assemble","delete","forEach","_key","flush","lock","_updateLock","unlock","isLocked","Boolean","./utils",40,"namespace","indexedDB","window","mozIndexedDB","webkitIndexedDB","msIndexedDB","IDBTransaction","webkitIDBTransaction","msIDBTransaction","IDBKeyRange","webkitIDBKeyRange","msIDBKeyRange","that","db","request","open","onerror","event","onsuccess","onupgradeneeded","objectStore","createObjectStore","keyPath","createIndex","unique","k","_put","transaction","store","oncomplete","_get","close","keyRange","lowerBound","cursor","openKeyCursor","continue","_delete","clear",41,"localStorage","getItem","putRaw","setItem","l","removeItem",42,43,"Item","pool","save","_save","_unload_","CP_NONE","CP_OLD","CP_PRECOMPUTE","CP_VALUE","locked","_load_","drivers","d","_write_","reverse","_calculateExpiration_","Date","getTime","cachePolicy","policyData","load","isMiss","isMissed","miss","driver",44,"Pool","missed","try","catch","./drivers/ephemeral","./item",45,"./onionskin/item","./onionskin/pool",46,"canSetImmediate","setImmediate","canPost","postMessage","addEventListener","ev","source","stopPropagation","title","browser","argv","noop","on","addListener","once","off","removeListener","removeAllListeners","binding","cwd","chdir","dir"],"mappings":"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