dexie
Version:
A Minimalistic Wrapper for IndexedDB
1 lines • 121 kB
Source Map (JSON)
{"version":3,"names":["_global","globalThis","self","window","global","keys","Object","isArray","Array","extend","obj","extension","forEach","key","Promise","getProto","getPrototypeOf","_hasOwn","hasOwnProperty","hasOwn","prop","call","props","proto","Reflect","ownKeys","setProp","defineProperty","functionOrGetSet","options","get","set","configurable","value","writable","derive","Child","from","Parent","prototype","create","bind","getOwnPropertyDescriptor","getPropertyDescriptor","_slice","slice","args","start","end","override","origFunc","overridedFactory","assert","b","Error","asap$1","fn","setImmediate","setTimeout","arrayToObject","array","extractor","reduce","result","item","i","nameAndValue","getByKeyPath","keyPath","rv","l","length","val","push","period","indexOf","innerObj","substr","undefined","setByKeyPath","isFrozen","currentKeyPath","remainingKeyPath","isNaN","parseInt","splice","shallowClone","m","concat","flatten","a","apply","intrinsicTypeNames","split","map","num","t","filter","intrinsicTypes","x","circularRefs","deepClone","any","WeakMap","innerDeepClone","constructor","toString","toStringTag","o","iteratorSymbol","Symbol","iterator","getIteratorOf","NO_CHAR_ARRAY","getArrayOf","arrayLike","it","arguments","this","next","done","isAsyncFunction","debug","location","test","href","setDebug","libraryFilter","NEEDS_THROW_FOR_STACK","stack","getErrorWithStack","e","prettyStack","exception","numIgnoredFrames","name","message","frame","join","idbDomErrorNames","errorList","defaultTexts","VersionChanged","DatabaseClosed","Abort","TransactionInactive","MissingAPI","DexieError","msg","_e","getMultiErrorMessage","failures","v","s","ModifyError","successCount","failedKeys","BulkError","pos","failuresByPos","_stack","errnames","BaseException","exceptions","fullName","msgOrInner","inner","Syntax","SyntaxError","Type","TypeError","Range","RangeError","exceptionMap","fullNameExceptions","nop","mirror","pureFunctionChain","f1","f2","callBoth","on1","on2","hookCreatingChain","res","onsuccess","onerror","res2","hookDeletingChain","hookUpdatingChain","modifications","reverseStoppableEventChain","promisableChain","then","thiz","INTERNAL","ZONE_ECHO_LIMIT","resolvedNativePromise","nativePromiseProto","resolvedGlobalPromise","globalP","resolve","crypto","subtle","nativeP","digest","Uint8Array","nativePromiseThen","NativePromise","patchGlobalPromise","stack_being_generated","schedulePhysicalTick","physicalTick","MutationObserver","hiddenDiv","document","createElement","observe","attributes","setAttribute","asap","callback","microtickQueue","needsNewPhysicalTick","isOutsideMicroTick","unhandledErrors","rejectingErrors","currentFulfiller","rejectionMapper","globalPSD","id","ref","unhandleds","onunhandled","globalError","pgp","env","finalize","uh","PSD","numScheduledCalls","tickFinalizers","DexiePromise","_listeners","onuncatched","_lib","psd","_PSD","_stackHolder","_prev","_numPrev","_state","_value","handleRejection","executePromiseTask","thenProp","microTaskId","totalEchoes","onFulfilled","onRejected","possibleAwait","cleanup","decrementExpectedAwaits","reject","propagateToListener","Listener","nativeAwaitCompatibleWrap","linkToPreviousPromise","zone","promise","shouldExecuteTick","beginMicroTickScope","_then","propagateAllListeners","endMicroTickScope","ex","reason","_promise","tryCatch","origProp","some","p","addPossiblyUnhandledError","listeners","len","finalizePhysicalTick","listener","cb","callListener","ret","markErrorAsHandled","getStack","stacks","limit","errorName","failure","prev","numPrev","wasRootExec","callbacks","unhandledErrs","finalizers","PromiseReject","wrap","errorCatcher","outerScope","switchToZone","catch","type","handler","err","finally","onFinally","timeout","ms","Infinity","handle","Timeout","clearTimeout","snapShot","all","values","onPossibleParallellAsync","remaining","race","newPSD","newScope","usePSD","scheduler","follow","zoneProps","finalizer","run_at_end_of_this_or_next_physical_tick","allSettled","possiblePromises","results","status","AggregateError","task","awaits","echoes","taskCounter","zoneStack","zoneEchoes","zone_id_counter","a1","a2","parent","globalEnv","PromiseProp","nthen","getPatchedPromiseThen","gthen","incrementExpectedAwaits","possiblePromise","rejection","zoneEnterEcho","targetZone","zoneLeaveEcho","pop","bEnteringZone","currentZone","enqueueNativeMicroTask","GlobalPromise","targetEnv","a3","job","outerZone","origThen","onResolved","UNHANDLEDREJECTION","event","eventData","createEvent","initEvent","CustomEvent","detail","dispatchEvent","PromiseRejectionEvent","onunhandledrejection","_","defaultPrevented","console","warn","tempTransaction","db","mode","storeNames","idbdb","openComplete","letThrough","_vip","trans","_createTransaction","_dbSchema","PR1398_maxLoop","InvalidState","isOpen","_close","open","_completion","dbOpenError","isBeingOpened","_options","autoOpen","dbReadyPromise","DEXIE_VERSION","maxString","String","fromCharCode","minKey","INVALID_KEY_ARGUMENT","STRING_EXPECTED","connections","isIEOrEdge","navigator","userAgent","hasIEDeleteObjectStoreBug","hangsOnDeleteLargeKeyRange","dexieStackFrameFilter","DBNAMES_DB","READONLY","READWRITE","combine","filter1","filter2","AnyRange","lower","lowerOpen","upper","upperOpen","workaroundForUndefinedPrimKey","Table","_trans","writeLocked","_tx","tableName","checkTableInTransaction","schema","NotFound","idbtrans","transless","keyOrCrit","where","first","core","hook","reading","fire","indexOrCrit","WhereClause","keyPaths","equals","compoundIndex","indexes","primKey","ix","compound","every","_maxKey","kp","JSON","stringify","idxByName","idb","_deps","indexedDB","cmp","idx","filterFunction","prevIndex","prevFilterFn","index","multi","toCollection","and","count","thenShortcut","offset","numRows","each","toArray","Collection","orderBy","reverse","mapToClass","mappedClass","readHook","unsubscribe","defineClass","content","add","auto","objToAdd","mutate","numFailures","lastResult","update","keyOrObject","modify","InvalidArgument","_a","put","delete","clear","range","bulkGet","getMany","bulkAdd","objects","keysOrOptions","wantResults","allKeys","numObjects","objectsToAdd","bulkPut","objectsToPut","bulkDelete","numKeys","Events","ctx","evs","eventName","subscriber","subscribe","addEventType","chainFunction","defaultFunction","cfg","context","subscribers","makeClassConstructor","isPlainKeyRange","ignoreLimitFilter","algorithm","or","justLimit","replayFilter","addFilter","addReplayFilter","factory","isLimitFilter","curr","getIndexOrStore","coreSchema","isPrimKey","primaryKey","getIndexByKeyPath","Schema","openCursor","coreTable","keysOnly","dir","unique","query","iter","coreTrans","union","cursor","advance","stop","fail","_iterate","iterate","valueMapper","cursorPromise","wrappedFn","c","continue","advancer","ta","tb","NaN","al","bl","compareUint8Arrays","getUint8Array","compareArrays","ArrayBuffer","isView","tsTag","buffer","byteOffset","byteLength","_read","_ctx","error","table","_write","_addAlgorithm","clone","raw","Math","min","sortBy","parts","lastPart","lastIndex","getval","order","sorter","aVal","bVal","sort","offsetLeft","rowsLeft","until","bIncludeStopEntry","last","isMatch","indexName","_ondirectionchange","desc","eachKey","eachUniqueKey","eachPrimaryKey","primaryKeys","uniqueKeys","firstKey","lastKey","distinct","strKey","found","changes","modifyer","anythingModified","outbound","extractKey","modifyChunkSize","totalFailures","applyMutateResult","expectedCount","nextChunk","cache","addValues","putValues","putKeys","deleteKeys","origValue","criteria","deleteCallback","changeSpec","coreRange","simpleCompare","simpleCompareReverse","collectionOrWhereClause","T","collection","emptyCollection","whereClause","rangeEqual","nextCasing","lowerKey","upperNeedle","lowerNeedle","llp","lwrKeyChar","addIgnoreCaseAlgorithm","match","needles","suffix","compare","upperNeedles","lowerNeedles","direction","nextKeySuffix","needlesLen","initDirection","toUpperCase","toLowerCase","upperFactory","lowerFactory","needleBounds","needle","nb","createRange","firstPossibleNeedle","lowestPossibleCasing","casing","between","includeLower","includeUpper","_cmp","above","aboveOrEqual","below","belowOrEqual","startsWith","str","startsWithIgnoreCase","equalsIgnoreCase","anyOfIgnoreCase","startsWithAnyOfIgnoreCase","n","anyOf","_ascending","_descending","notEqual","inAnyRange","includeLowers","includeUppers","noneOf","ranges","ascending","descending","_min","max","_max","sortDirection","rangeSorter","newRange","rangePos","keyIsBeyondCurrentEntry","keyIsBeforeCurrentEntry","checkKey","keyWithinCurrentRange","startsWithAnyOf","eventRejectHandler","preventDefault","target","stopPropagation","DEXIE_STORAGE_MUTATED_EVENT_NAME","STORAGE_MUTATED_DOM_EVENT_NAME","globalEvents","Transaction","_lock","_reculock","lockOwnerFor","_unlock","_blockedFuncs","_locked","fnAndPSD","shift","OpenFailed","active","transaction","durability","chromeTransactionDurability","ev","_reject","onabort","on","oncomplete","_resolve","storagemutated","bWriteLock","ReadOnly","_root","waitFor","promiseLike","root","_waitingFor","_waitingQueue","store","objectStore","spin","_spinCount","currentWaitPromise","abort","memoizedTables","_memoizedTables","tableSchema","transactionBoundTable","createIndexSpec","src","nameFromKeyPath","createTableSchema","getMaxKey","IdbKeyRange","only","getKeyExtractor","getSinglePathKeyExtractor","arrayify","_id_counter","getKeyPathAlias","createDBCore","tmpTrans","makeIDBKeyRange","upperBound","lowerBound","bound","hasGetAll","tables","objectStoreNames","autoIncrement","indexByKeyPath","isPrimaryKey","indexNames","multiEntry","extractSchema","isAddOrPut","req","reqs","errorHandler","args1","args2","keyCount","callbackCount","successHandler","_pos","request","nonInfinitLimit","source","idbKeyRange","getAll","getAllKeys","openKeyCursor","___id","_cursorContinue","_cursorContinuePrimaryKey","continuePrimaryKey","_cursorAdvance","doThrowCursorIsStopped","gotOne","iterationPromise","resolveIteration","rejectIteration","guardedCallback","createDbCoreTable","tableMap","MIN_KEY","MAX_KEY","generateMiddlewareStacks","_novip","middlewares","IDBKeyRange","dbcore","stackImpl","down","createMiddlewareStack","createMiddlewareStacks","_middlewares","tbl","setApiOnPlace","objs","tableNames","dbschema","propDesc","enumerable","removeTablesApi","lowerVersionFirst","_cfg","version","runUpgraders","oldVersion","idbUpgradeTrans","globalSchema","_storeNames","rejectTransaction","createTable","populate","queue","versions","_versions","buildGlobalSchema","anyContentUpgraderHasRun","versToRun","runQueue","oldSchema","newSchema","adjustToExistingIndexNames","diff","getSchemaDiff","tuple","change","recreate","Upgrade","addIndex","deleteIndex","del","idxName","contentUpgrade","upgradeSchema","contentUpgradeIsAsync","returnValue","promiseFollowed","decrementor","storeName","deleteObjectStore","deleteRemovedTables","contains","updateTablesAndIndexes","oldDef","newDef","def","oldIndexes","newIndexes","oldIdx","newIdx","createObjectStore","createIndex","j","idbindex","_hasGetAll","dexieName","indexSpec","WorkerGlobalScope","Version","_parseStoresSpec","stores","outSchema","indexNum","trim","replace","storesSource","storesSpec","_allTables","upgrade","upgradeFunction","getDbNamesTable","dbNamesDB","Dexie$1","addons","dbnames","hasDatabasesNative","databases","vip","idbReady","intervalId","userAgentData","tryIdb","setInterval","clearInterval","dexieOpen","state","openCanceller","throwIfCancelled","resolveDbReady","dbReadyResolve","upgradeTransaction","wasCreated","dbName","autoSchema","round","verno","onblocked","_fireOnBlocked","onupgradeneeded","allowEmptyDB","close","delreq","deleteDatabase","NoSuchDatabase","oldVer","pow","readGlobalSchema","ch","verifyInstalledSchema","onversionchange","vcFired","onclose","_onDatabaseCreated","onReadyBeingFired","ready","fireRemainders","remainders","awaitIterator","callNext","onSuccess","step","onError","throw","getNext","extractTransactionArgs","_tableArgs_","scopeFunc","enterTransactionScope","parentTransaction","scopeFuncIsAsync","PrematureCommit","pad","virtualIndexMiddleware","level","indexLookup","allVirtualIndexes","addVirtualIndexes","keyTail","lowLevelIndex","keyPathAlias","indexList","keyLength","isVirtual","virtualIndex","translateRequest","virtualCursor","createVirtualCursor","getObjectDiff","prfx","ap","bp","apTypeName","hooksMiddleware","downCore","downTable","tableMiddleware","dxTrans","deleting","creating","updating","addPutOrDelete","deleteNextChunk","deleteRange","getEffectiveKeys","effectiveKeys","getExistingValues","existingValues","contexts","existingValue","generatedPrimaryKey","objectDiff","additionalChanges","requestedValue","getFromTransactionCache","cacheExistingValuesMiddleware","cachedResult","isEmptyRange","node","RangeSet","fromOrTree","to","d","addRange","left","right","r","rebalance","rightWasCutOff","mergeRanges","newSet","_addRangeSet","rangesOverlap","rangeSet1","rangeSet2","i1","getRangeSetIterator","nextResult1","i2","nextResult2","keyProvided","up","_b","rootClone","oldRootRight","computeDepth","rangeSet","addKey","addKeys","observabilityMiddleware","FULL_RANGE","tableClone","mutatedParts","getRangeSet","part","pkRangeSet","delsRangeSet","newObjs","oldCache","oldObjs","addAffectedIndex","addKeyOrKeys","oldKey","newKey","trackAffectedIndexes","getRange","readSubscribers","method","subscr","queriedIndex","queriedRanges","keysPromise","resultingKeys","pKeys","wantValues","pkey","deps","dependencies","cancelOpen","bSticky","keyRangeGenerator","keyRange","whereCtx","readingHook","createTableConstructor","complete","wasActive","createTransactionConstructor","versionNumber","createVersionConstructor","orCollection","_IDBKeyRange","createWhereClauseConstructor","newVersion","use","addon","versionInstance","_whenReady","unuse","mw","hasArguments","doDelete","_onDatabaseDeleted","backendDB","hasBeenClosed","hasFailed","dynamicallyOpened","_transaction","onlyIfCompatible","idbMode","SubTransaction","enterTransaction","InvalidTable","symbolObservable","observable","Observable","_subscribe","extendObservabilitySet","liveQuery","querier","currentValue","hasValue","observer","closed","accumMuts","currentObs","subscription","mutationListener","querying","startedListening","shouldNotify","doQuery","exec","execute","getValue","domDeps","mozIndexedDB","webkitIndexedDB","msIndexedDB","webkitIDBKeyRange","Dexie","propagateLocally","updateParts","wasMe","propagatingLocally","databaseName","exists","getDatabaseNames","infos","info","ignoreTransaction","async","generatorFn","spawn","currentTransaction","promiseOrFunction","optionalTimeout","delByKeyPath","semVer","maxKey","addEventListener","updatedParts","initCustomEvent","BroadcastChannel","bc","unref","changedParts","postMessage","onmessage","data","localStorage","setItem","trig","random","matchAll","includeUncontrolled","client","parse","newValue","swContainer","serviceWorker","domError"],"sources":["dexie.mjs"],"mappings":"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