UNPKG

dexie

Version:

A Minimalistic Wrapper for IndexedDB

1 lines 133 kB
{"version":3,"sources":["dexie.mjs"],"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","getByKeyPath","keyPath","rv","i","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","Set","cloneSimpleObjectTree","o","k","v","has","constructor","circularRefs","deepClone","any","WeakMap","innerDeepClone","x","toString","toStringTag","iteratorSymbol","Symbol","iterator","getIteratorOf","delArrayItem","NO_CHAR_ARRAY","getArrayOf","arrayLike","it","arguments","this","next","done","isAsyncFunction","idbDomErrorNames","errorList","defaultTexts","VersionChanged","DatabaseClosed","Abort","TransactionInactive","MissingAPI","DexieError","name","msg","message","getMultiErrorMessage","failures","s","join","ModifyError","successCount","failedKeys","BulkError","pos","failuresByPos","errnames","reduce","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","debug","location","test","href","setDebug","INTERNAL","resolvedNativePromise","nativePromiseProto","resolvedGlobalPromise","globalP","resolve","crypto","subtle","nativeP","digest","Uint8Array","nativePromiseThen","NativePromise","patchGlobalPromise","asap","callback","microtickQueue","needsNewPhysicalTick","queueMicrotask","physicalTick","isOutsideMicroTick","unhandledErrors","rejectingErrors","rejectionMapper","globalPSD","id","ref","unhandleds","onunhandled","pgp","env","finalize","PSD","numScheduledCalls","tickFinalizers","DexiePromise","_listeners","_lib","psd","_PSD","_state","_value","handleRejection","executePromiseTask","thenProp","microTaskId","totalEchoes","onFulfilled","onRejected","possibleAwait","cleanup","decrementExpectedAwaits","reject","propagateToListener","Listener","nativeAwaitCompatibleWrap","_consoleTask","zone","promise","shouldExecuteTick","beginMicroTickScope","_then","propagateAllListeners","endMicroTickScope","ex","reason","some","p","addPossiblyUnhandledError","listeners","len","finalizePhysicalTick","listener","cb","callListener","ret","run","markErrorAsHandled","e","usePSD","wasRootExec","callbacks","item","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","scheduler","follow","zoneProps","finalizer","run_at_end_of_this_or_next_physical_tick","allSettled","possiblePromises","results","status","AggregateError","failure","withResolvers","task","awaits","echoes","taskCounter","zoneStack","zoneEchoes","zone_id_counter","a1","a2","parent","PromiseProp","incrementExpectedAwaits","possiblePromise","rejection","zoneEnterEcho","targetZone","zoneLeaveEcho","pop","bEnteringZone","currentZone","GlobalPromise","targetEnv","a3","outerZone","execInGlobalContext","enqueueNativeMicroTask","tempTransaction","db","mode","storeNames","idbdb","openComplete","letThrough","_vip","trans","_createTransaction","_dbSchema","PR1398_maxLoop","InvalidState","isOpen","console","warn","close","disableAutoOpen","open","_promise","result","idbtrans","commit","_completion","dbOpenError","isBeingOpened","autoOpen","dbReadyPromise","maxString","String","fromCharCode","INVALID_KEY_ARGUMENT","connections","combine","filter1","filter2","AnyRange","lower","lowerOpen","upper","upperOpen","workaroundForUndefinedPrimKey","Entity","cmp","ta","tb","NaN","al","bl","compareUint8Arrays","getUint8Array","compareArrays","ArrayBuffer","isView","tsTag","buffer","byteOffset","byteLength","Table","_trans","writeLocked","_tx","tableName","createTask","checkTableInTransaction","schema","NotFound","_novip","transless","trace","keyOrCrit","where","first","core","hook","reading","fire","indexOrCrit","WhereClause","keyPaths","equals","compoundIndex","indexes","primKey","ix","compound","every","sort","_maxKey","keyPathsInValidOrder","kp","JSON","stringify","idxByName","idx","filterFunction","prevIndex","prevFilterFn","index","multi","toCollection","and","count","thenShortcut","offset","limit","numRows","each","toArray","Collection","orderBy","reverse","mapToClass","mappedClass","table","inheritedProps","getOwnPropertyNames","propName","add","readHook","_","unsubscribe","defineClass","content","auto","objToAdd","mutate","numFailures","lastResult","update","keyOrObject","modify","InvalidArgument","put","delete","clear","range","bulkGet","getMany","bulkAdd","objects","keysOrOptions","wantResults","allKeys","numObjects","objectsToAdd","bulkPut","objectsToPut","bulkUpdate","keysAndChanges","coreTable","entry","changeSpecs","changes","offsetMap","cache","objs","resultKeys","resultObjs","Constraint","numEntries","updates","mappedOffset","Number","bulkDelete","numKeys","Events","ctx","evs","eventName","subscriber","subscribe","addEventType","chainFunction","defaultFunction","addConfiguredEvents","context","subscribers","cfg","makeClassConstructor","isPlainKeyRange","ignoreLimitFilter","algorithm","or","justLimit","replayFilter","addFilter","addReplayFilter","factory","isLimitFilter","curr","getIndexOrStore","coreSchema","isPrimKey","primaryKey","getIndexByKeyPath","Schema","openCursor","keysOnly","dir","unique","query","iter","coreTrans","union","cursor","advance","stop","fail","_iterate","iterate","valueMapper","cursorPromise","wrappedFn","c","continue","advancer","PropModification","execute","spec","term","BigInt","remove","subtrahend","includes","prefixToReplace","replacePrefix","startsWith","substring","_read","_ctx","error","_write","_addAlgorithm","clone","raw","Math","min","sortBy","parts","lastPart","lastIndex","getval","order","sorter","offsetLeft","rowsLeft","until","bIncludeStopEntry","last","isMatch","indexName","_ondirectionchange","desc","eachKey","eachUniqueKey","eachPrimaryKey","primaryKeys","uniqueKeys","firstKey","lastKey","distinct","strKey","found","modifyer","anythingModified","origVal","outbound","extractKey","modifyChunkSize","_options","totalFailures","applyMutateResult","expectedCount","criteria","deleteCallback","nextChunk","addValues","putValues","putKeys","deleteKeys","origValue","changeSpec","isAdditionalChunk","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","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","event","preventDefault","target","stopPropagation","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","array","extractor","nameAndValue","getMaxKey","IdbKeyRange","only","getKeyExtractor","getSinglePathKeyExtractor","arrayify","_id_counter","getKeyPathAlias","createDBCore","tmpTrans","makeIDBKeyRange","upperBound","lowerBound","bound","hasGetAll","tables","objectStoreNames","autoIncrement","indexByKeyPath","isPrimaryKey","indexNames","multiEntry","navigator","userAgent","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","stack","MIN_KEY","MAX_KEY","generateMiddlewareStacks","stacks","middlewares","IDBKeyRange","indexedDB","dbcore","stackImpl","down","createMiddlewareStack","createMiddlewareStacks","_middlewares","_deps","tbl","setApiOnPlace","tableNames","dbschema","propDesc","enumerable","removeTablesApi","lowerVersionFirst","_cfg","version","runUpgraders","oldVersion","idbUpgradeTrans","globalSchema","contains","$meta","parseIndexSyntax","_storeNames","rejectTransaction","metaVersion","getExistingVersion","queue","versions","_versions","buildGlobalSchema","versToRun","runQueue","oldSchema","newSchema","adjustToExistingIndexNames","diff","getSchemaDiff","tuple","createTable","change","recreate","Upgrade","addIndex","deleteIndex","del","idxName","contentUpgrade","upgradeSchema","contentUpgradeIsAsync","returnValue","promiseFollowed","decrementor","storeName","deleteObjectStore","deleteRemovedTables","ceil","createMissingTables","updateTablesAndIndexes","populate","oldDef","newDef","def","oldIndexes","newIndexes","oldIdx","newIdx","createObjectStore","createIndex","j","idbindex","_hasGetAll","dexieName","indexSpec","WorkerGlobalScope","primKeyAndIndexes","indexNum","trim","replace","Version","_parseStoresSpec","stores","outSchema","storesSource","storesSpec","_allTables","upgrade","upgradeFunction","getDbNamesTable","dbNamesDB","Dexie$1","addons","dbnames","hasDatabasesNative","databases","vip","idbReady","intervalId","userAgentData","tryIdb","setInterval","clearInterval","isEmptyRange","node","RangeSet","fromOrTree","to","d","addRange","left","right","r","rebalance","rightWasCutOff","mergeRanges","newSet","_addRangeSet","rangesOverlap","rangeSet1","rangeSet2","i1","getRangeSetIterator","nextResult1","i2","nextResult2","state","keyProvided","up","rootClone","oldRootRight","computeDepth","extendObservabilitySet","part","obsSetsOverlap","os1","os2","rangeSet","addKey","addKeys","hasKey","unsignaledParts","isTaskEnqueued","signalSubscribersLazily","optimistic","signalSubscribersNow","updatedParts","deleteAffectedCacheEntries","queriesToSignal","tblCache","collectTableSubscribers","exec","dbName","requery","outQueriesToSignal","updatedEntryLists","entries","queries","filteredEntries","obsSet","dexieOpen","openCanceller","nativeVerToOpen","round","verno","schemaPatchMode","throwIfCancelled","resolveDbReady","dbReadyResolve","upgradeTransaction","wasCreated","tryOpenDB","autoSchema","onblocked","_fireOnBlocked","onupgradeneeded","allowEmptyDB","delreq","deleteDatabase","NoSuchDatabase","oldVer","pow","tableChange","patchCurrentVersion","readGlobalSchema","ch","verifyInstalledSchema","onversionchange","vcFired","onclose","_onDatabaseCreated","onReadyBeingFired","ready","fireRemainders","remainders","_close","everything","awaitIterator","callNext","onSuccess","step","onError","throw","getNext","extractTransactionArgs","_tableArgs_","scopeFunc","enterTransactionScope","parentTransaction","explicit","_explicit","scopeFuncIsAsync","PrematureCommit","pad","virtualIndexMiddleware","level","indexLookup","allVirtualIndexes","addVirtualIndexes","keyTail","lowLevelIndex","keyPathAlias","indexList","keyLength","isVirtual","virtualIndex","translateRequest","virtualCursor","createVirtualCursor","getObjectDiff","prfx","ap","bp","apTypeName","getEffectiveKeys","hooksMiddleware","downCore","downTable","tableMiddleware","dxTrans","deleting","creating","updating","addPutOrDelete","deleteNextChunk","deleteRange","effectiveKeys","getExistingValues","existingValues","contexts","existingValue","generatedPrimaryKey","objectDiff","additionalChanges","requestedValue","getFromTransactionCache","cacheExistingValuesMiddleware","cachedResult","isCachableContext","subscr","isCachableRequest","observabilityMiddleware","FULL_RANGE","querier","indexesWithAutoIncPK","tableClone","mutatedParts","getRangeSet","pkRangeSet","delsRangeSet","newObjs","oldCache","oldObjs","addAffectedIndex","addKeyOrKeys","oldKey","newKey","trackAffectedIndexes","idxVals","pkPos","findIndex","getRange","readSubscribers","method","isLiveQuery","cachable","queriedIndex","queriedRanges","keysPromise","resultingKeys","pKeys","wantValues","pkey","adjustOptimisticFromFailures","numBulkOps","isWithinRange","isAboveLower","isBelowUpper","applyOptimisticOps","ops","cacheEntry","immutable","queryRange","extractPrimKey","extractIndex","extractLowLevelIndex","finalResult","op","modifedResult","includedValues","includedPKs","pk","existingKeys","keySet","keysToDelete","dirty","freeze","areRangesEqual","r1","r2","isSuperRange","lower1","lower2","lowerOpen1","lowerOpen2","compareLowers","upper1","upper2","upperOpen1","upperOpen2","compareUppers","subscribeToCacheEntry","container","signal","addEventListener","size","enqueForDeletion","cacheMiddleware","coreMW","ac","AbortController","endTransaction","wasCommitted","affectedSubscribers","optimisticOps","freezeResults","modRes","tableMW","adjustedReq","valueWithKey","exactMatch","equalEntry","find","countQuery","findCompatibleQuery","Map","vipify","vipDb","Proxy","receiver","deps","dependencies","cancelOpen","bSticky","keyRangeGenerator","keyRange","whereCtx","readingHook","createTableConstructor","complete","wasActive","createTransactionConstructor","versionNumber","createVersionConstructor","orCollection","_IDBKeyRange","createWhereClauseConstructor","newVersion","use","vipDB","tx","addon","versionInstance","_whenReady","unuse","mw","closeOptions","hasInvalidArguments","doDelete","_onDatabaseDeleted","backendDB","hasBeenClosed","hasFailed","dynamicallyOpened","_transaction","onlyIfCompatible","idbMode","SubTransaction","enterTransaction","InvalidTable","symbolObservable","observable","Observable","_subscribe","domDeps","mozIndexedDB","webkitIndexedDB","msIndexedDB","webkitIDBKeyRange","liveQuery","currentValue","hasValue","observer","abortController","closed","accumMuts","currentObs","subscription","startedListening","mutationListener","doQuery","_doQuery","aborted","objectIsEmpty","getValue","Dexie","propagateLocally","updateParts","wasMe","propagatingLocally","databaseName","exists","getDatabaseNames","infos","info","ignoreTransaction","async","generatorFn","spawn","currentTransaction","promiseOrFunction","optionalTimeout","delByKeyPath","minKey","semVer","maxKey","dispatchEvent","CustomEvent","detail","bc","createBC","BroadcastChannel","onmessage","data","unref","changedParts","postMessage","disableBfCache","persisted","domError"],"mappings":"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