diff --git a/dist/browser.js b/dist/browser.js index 10a5fc9..d8e407d 100644 --- a/dist/browser.js +++ b/dist/browser.js @@ -1,5362 +1,6 @@ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.acebase = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i { - // console.log(`database "${dbname}" (${this.constructor.name}) is ready to use`); - this._ready = true; - }); - } - /** - * Waits for the database to be ready before running your callback. - * @param callback (optional) callback function that is called when the database is ready to be used. You can also use the returned promise. - * @returns returns a promise that resolves when ready - */ - async ready(callback) { - if (!this._ready) { - // Wait for ready event - await new Promise(resolve => this.on('ready', resolve)); - } - callback === null || callback === void 0 ? void 0 : callback(); - } - get isReady() { - return this._ready; - } - /** - * Allow specific observable implementation to be used - * @param ObservableImpl Implementation to use - */ - setObservable(ObservableImpl) { - (0, optional_observable_1.setObservable)(ObservableImpl); - } - /** - * Creates a reference to a node - * @param path - * @returns reference to the requested node - */ - ref(path) { - return new data_reference_1.DataReference(this, path); - } - /** - * Get a reference to the root database node - * @returns reference to root node - */ - get root() { - return this.ref(''); - } - /** - * Creates a query on the requested node - * @param path - * @returns query for the requested node - */ - query(path) { - const ref = new data_reference_1.DataReference(this, path); - return new data_reference_1.DataReferenceQuery(ref); - } - get indexes() { - return { - /** - * Gets all indexes - */ - get: () => { - return this.api.getIndexes(); - }, - /** - * Creates an index on "key" for all child nodes at "path". If the index already exists, nothing happens. - * Example: creating an index on all "name" keys of child objects of path "system/users", - * will index "system/users/user1/name", "system/users/user2/name" etc. - * You can also use wildcard paths to enable indexing and quering of fragmented data. - * Example: path "users/*\/posts", key "title": will index all "title" keys in all posts of all users. - * @param path path to the container node - * @param key name of the key to index every container child node - * @param options any additional options - */ - create: (path, key, options) => { - return this.api.createIndex(path, key, options); - }, - /** - * Deletes an existing index from the database - */ - delete: async (filePath) => { - return this.api.deleteIndex(filePath); - }, - }; - } - get schema() { - return { - get: (path) => { - return this.api.getSchema(path); - }, - set: (path, schema) => { - return this.api.setSchema(path, schema); - }, - all: () => { - return this.api.getSchemas(); - }, - check: (path, value, isUpdate) => { - return this.api.validateSchema(path, value, isUpdate); - }, - }; - } -} -exports.AceBaseBase = AceBaseBase; - -},{"./data-reference":8,"./debug":10,"./optional-observable":14,"./simple-colors":21,"./simple-event-emitter":22,"./type-mappings":25}],2:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Api = void 0; -class NotImplementedError extends Error { - constructor(name) { super(`${name} is not implemented`); } -} -/** - * Refactor to type/interface once acebase and acebase-client have been ported to TS - */ -class Api { - // eslint-disable-next-line @typescript-eslint/no-empty-function - constructor() { } - /** - * Provides statistics - * @param options - */ - stats(options) { throw new NotImplementedError('stats'); } - /** - * @param path - * @param event event to subscribe to ("value", "child_added" etc) - * @param callback callback function - */ - subscribe(path, event, callback, settings) { throw new NotImplementedError('subscribe'); } - unsubscribe(path, event, callback) { throw new NotImplementedError('unsubscribe'); } - update(path, updates, options) { throw new NotImplementedError('update'); } - set(path, value, options) { throw new NotImplementedError('set'); } - get(path, options) { throw new NotImplementedError('get'); } - transaction(path, callback, options) { throw new NotImplementedError('transaction'); } - exists(path) { throw new NotImplementedError('exists'); } - query(path, query, options) { throw new NotImplementedError('query'); } - reflect(path, type, args) { throw new NotImplementedError('reflect'); } - export(path, write, options) { throw new NotImplementedError('export'); } - import(path, read, options) { throw new NotImplementedError('import'); } - /** Creates an index on key for all child nodes at path */ - createIndex(path, key, options) { throw new NotImplementedError('createIndex'); } - getIndexes() { throw new NotImplementedError('getIndexes'); } - deleteIndex(filePath) { throw new NotImplementedError('deleteIndex'); } - setSchema(path, schema) { throw new NotImplementedError('setSchema'); } - getSchema(path) { throw new NotImplementedError('getSchema'); } - getSchemas() { throw new NotImplementedError('getSchemas'); } - validateSchema(path, value, isUpdate) { throw new NotImplementedError('validateSchema'); } - getMutations(filter) { throw new NotImplementedError('getMutations'); } - getChanges(filter) { throw new NotImplementedError('getChanges'); } -} -exports.Api = Api; - -},{}],3:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ascii85 = void 0; -function c(input, length, result) { - const b = [0, 0, 0, 0, 0]; - for (let i = 0; i < length; i += 4) { - let n = ((input[i] * 256 + input[i + 1]) * 256 + input[i + 2]) * 256 + input[i + 3]; - if (!n) { - result.push('z'); - } - else { - for (let j = 0; j < 5; b[j++] = n % 85 + 33, n = Math.floor(n / 85)) - ; - result.push(String.fromCharCode(b[4], b[3], b[2], b[1], b[0])); - } - } -} -function encode(arr) { - // summary: encodes input data in ascii85 string - // input: ArrayLike - const input = arr, result = [], remainder = input.length % 4, length = input.length - remainder; - c(input, length, result); - if (remainder) { - const t = new Uint8Array(4); - t.set(input.slice(length), 0); - c(t, 4, result); - let x = result.pop(); - if (x == 'z') { - x = '!!!!!'; - } - result.push(x.substr(0, remainder + 1)); - } - let ret = result.join(''); // String - ret = '<~' + ret + '~>'; - return ret; -} -exports.ascii85 = { - encode: function (arr) { - if (arr instanceof ArrayBuffer) { - arr = new Uint8Array(arr, 0, arr.byteLength); - } - return encode(arr); - }, - decode: function (input) { - // summary: decodes the input string back to an ArrayBuffer - // input: String: the input string to decode - if (!input.startsWith('<~') || !input.endsWith('~>')) { - throw new Error('Invalid input string'); - } - input = input.substr(2, input.length - 4); - const n = input.length, r = [], b = [0, 0, 0, 0, 0]; - let t, x, y, d; - for (let i = 0; i < n; ++i) { - if (input.charAt(i) == 'z') { - r.push(0, 0, 0, 0); - continue; - } - for (let j = 0; j < 5; ++j) { - b[j] = input.charCodeAt(i + j) - 33; - } - d = n - i; - if (d < 5) { - for (let j = d; j < 4; b[++j] = 0) - ; - b[d] = 85; - } - t = (((b[0] * 85 + b[1]) * 85 + b[2]) * 85 + b[3]) * 85 + b[4]; - x = t & 255; - t >>>= 8; - y = t & 255; - t >>>= 8; - r.push(t >>> 8, t & 255, y, x); - for (let j = d; j < 5; ++j, r.pop()) - ; - i += 4; - } - const data = new Uint8Array(r); - return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength); - }, -}; - -},{}],4:[function(require,module,exports){ -"use strict"; -var _a, _b; -Object.defineProperty(exports, "__esModule", { value: true }); -const pad_1 = require("../pad"); -const env = typeof window === 'object' ? window : self, globalCount = Object.keys(env).length, mimeTypesLength = (_b = (_a = navigator.mimeTypes) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0, clientId = (0, pad_1.default)((mimeTypesLength - + navigator.userAgent.length).toString(36) - + globalCount.toString(36), 4); -function fingerprint() { - return clientId; -} -exports.default = fingerprint; - -},{"../pad":6}],5:[function(require,module,exports){ -"use strict"; -/** - * cuid.js - * Collision-resistant UID generator for browsers and node. - * Sequential for fast db lookups and recency sorting. - * Safe for element IDs and server-side lookups. - * - * Extracted from CLCTR - * - * Copyright (c) Eric Elliott 2012 - * MIT License - * - * time biasing added by Ewout Stortenbeker for AceBase - */ -Object.defineProperty(exports, "__esModule", { value: true }); -const fingerprint_1 = require("./fingerprint"); -const pad_1 = require("./pad"); -let c = 0; -const blockSize = 4, base = 36, discreteValues = Math.pow(base, blockSize); -function randomBlock() { - return (0, pad_1.default)((Math.random() * discreteValues << 0).toString(base), blockSize); -} -function safeCounter() { - c = c < discreteValues ? c : 0; - c++; // this is not subliminal - return c - 1; -} -function cuid(timebias = 0) { - // Starting with a lowercase letter makes - // it HTML element ID friendly. - const letter = 'c', // hard-coded allows for sequential access - // timestamp - // warning: this exposes the exact date and time - // that the uid was created. - // NOTES Ewout: - // - added timebias - // - at '2059/05/25 19:38:27.456', timestamp will become 1 character larger! - timestamp = (new Date().getTime() + timebias).toString(base), - // Prevent same-machine collisions. - counter = (0, pad_1.default)(safeCounter().toString(base), blockSize), - // A few chars to generate distinct ids for different - // clients (so different computers are far less - // likely to generate the same id) - print = (0, fingerprint_1.default)(), - // Grab some more chars from Math.random() - random = randomBlock() + randomBlock(); - return letter + timestamp + counter + print + random; -} -exports.default = cuid; -// Not using slugs, removed code - -},{"./fingerprint":4,"./pad":6}],6:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -function pad(num, size) { - const s = '000000000' + num; - return s.substr(s.length - size); -} -exports.default = pad; - -},{}],7:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OrderedCollectionProxy = exports.proxyAccess = exports.LiveDataProxy = void 0; -const utils_1 = require("./utils"); -const data_reference_1 = require("./data-reference"); -const data_snapshot_1 = require("./data-snapshot"); -const path_reference_1 = require("./path-reference"); -const id_1 = require("./id"); -const optional_observable_1 = require("./optional-observable"); -const process_1 = require("./process"); -const path_info_1 = require("./path-info"); -const simple_event_emitter_1 = require("./simple-event-emitter"); -class RelativeNodeTarget extends Array { - static areEqual(t1, t2) { - return t1.length === t2.length && t1.every((key, i) => t2[i] === key); - } - static isAncestor(ancestor, other) { - return ancestor.length < other.length && ancestor.every((key, i) => other[i] === key); - } - static isDescendant(descendant, other) { - return descendant.length > other.length && other.every((key, i) => descendant[i] === key); - } -} -const isProxy = Symbol('isProxy'); -class LiveDataProxy { - /** - * Creates a live data proxy for the given reference. The data of the reference's path will be loaded, and kept in-sync - * with live data by listening for 'mutations' events. Any changes made to the value by the client will be synced back - * to the database. - * @param ref DataReference to create proxy for. - * @param options proxy initialization options - * be written to the database. - */ - static async create(ref, options) { - var _a; - ref = new data_reference_1.DataReference(ref.db, ref.path); // Use copy to prevent context pollution on original reference - let cache, loaded = false; - let latestCursor = options === null || options === void 0 ? void 0 : options.cursor; - let proxy; - const proxyId = id_1.ID.generate(); //ref.push().key; - // let onMutationCallback: ProxyObserveMutationsCallback; - // let onErrorCallback: ProxyObserveErrorCallback = err => { - // console.error(err.message, err.details); - // }; - const clientSubscriptions = []; - const clientEventEmitter = new simple_event_emitter_1.SimpleEventEmitter(); - clientEventEmitter.on('cursor', (cursor) => latestCursor = cursor); - clientEventEmitter.on('error', (err) => { - console.error(err.message, err.details); - }); - const applyChange = (keys, newValue) => { - // Make changes to cache - if (keys.length === 0) { - cache = newValue; - return true; - } - const allowCreation = false; //cache === null; // If the proxy'd target did not exist upon load, we must allow it to be created now. - if (allowCreation) { - cache = typeof keys[0] === 'number' ? [] : {}; - } - let target = cache; - const trailKeys = keys.slice(); - while (trailKeys.length > 1) { - const key = trailKeys.shift(); - if (!(key in target)) { - if (allowCreation) { - target[key] = typeof key === 'number' ? [] : {}; - } - else { - // Have we missed an event, or are local pending mutations creating this conflict? - return false; // Do not proceed - } - } - target = target[key]; - } - const prop = trailKeys.shift(); - if (newValue === null) { - // Remove it - target instanceof Array ? target.splice(prop, 1) : delete target[prop]; - } - else { - // Set or update it - target[prop] = newValue; - } - return true; - }; - // Subscribe to mutations events on the target path - const syncFallback = async () => { - if (!loaded) { - return; - } - await reload(); - }; - const subscription = ref.on('mutations', { syncFallback }).subscribe(async (snap) => { - var _a; - if (!loaded) { - return; - } - const context = snap.context(); - const isRemote = ((_a = context.acebase_proxy) === null || _a === void 0 ? void 0 : _a.id) !== proxyId; - if (!isRemote) { - return; // Update was done through this proxy, no need to update cache or trigger local value subscriptions - } - const mutations = snap.val(false); - const proceed = mutations.every(mutation => { - if (!applyChange(mutation.target, mutation.val)) { - return false; - } - // if (onMutationCallback) { - const changeRef = mutation.target.reduce((ref, key) => ref.child(key), ref); - const changeSnap = new data_snapshot_1.DataSnapshot(changeRef, mutation.val, false, mutation.prev, snap.context()); - // onMutationCallback(changeSnap, isRemote); // onMutationCallback uses try/catch for client callback - clientEventEmitter.emit('mutation', { snapshot: changeSnap, isRemote }); - // } - return true; - }); - if (proceed) { - clientEventEmitter.emit('cursor', context.acebase_cursor); // // NOTE: cursor is only present in mutations done remotely. For our own updates, server cursors are returned by ref.set and ref.update - localMutationsEmitter.emit('mutations', { origin: 'remote', snap }); - } - else { - console.warn(`Cached value of live data proxy on "${ref.path}" appears outdated, will be reloaded`); - await reload(); - } - }); - // Setup updating functionality: enqueue all updates, process them at next tick in the order they were issued - let processPromise = Promise.resolve(); - const mutationQueue = []; - const transactions = []; - const pushLocalMutations = async () => { - // Sync all local mutations that are not in a transaction - const mutations = []; - for (let i = 0, m = mutationQueue[0]; i < mutationQueue.length; i++, m = mutationQueue[i]) { - if (!transactions.find(t => RelativeNodeTarget.areEqual(t.target, m.target) || RelativeNodeTarget.isAncestor(t.target, m.target))) { - mutationQueue.splice(i, 1); - i--; - mutations.push(m); - } - } - if (mutations.length === 0) { - return; - } - // Add current (new) values to mutations - mutations.forEach(mutation => { - mutation.value = (0, utils_1.cloneObject)(getTargetValue(cache, mutation.target)); - }); - // Run local onMutation & onChange callbacks in the next tick - process_1.default.nextTick(() => { - // Run onMutation callback for each changed node - const context = { acebase_proxy: { id: proxyId, source: 'update' } }; - // if (onMutationCallback) { - mutations.forEach(mutation => { - const mutationRef = mutation.target.reduce((ref, key) => ref.child(key), ref); - const mutationSnap = new data_snapshot_1.DataSnapshot(mutationRef, mutation.value, false, mutation.previous, context); - // onMutationCallback(mutationSnap, false); - clientEventEmitter.emit('mutation', { snapshot: mutationSnap, isRemote: false }); - }); - // } - // Notify local subscribers - const snap = new data_snapshot_1.MutationsDataSnapshot(ref, mutations.map(m => ({ target: m.target, val: m.value, prev: m.previous })), context); - localMutationsEmitter.emit('mutations', { origin: 'local', snap }); - }); - // Update database async - // const batchId = ID.generate(); - processPromise = mutations - .reduce((mutations, m, i, arr) => { - // Only keep top path mutations to prevent unneccessary child path updates - if (!arr.some(other => RelativeNodeTarget.isAncestor(other.target, m.target))) { - mutations.push(m); - } - return mutations; - }, []) - .reduce((updates, m) => { - // Prepare db updates - const target = m.target; - if (target.length === 0) { - // Overwrite this proxy's root value - updates.push({ ref, target, value: cache, type: 'set', previous: m.previous }); - } - else { - const parentTarget = target.slice(0, -1); - const key = target.slice(-1)[0]; - const parentRef = parentTarget.reduce((ref, key) => ref.child(key), ref); - const parentUpdate = updates.find(update => update.ref.path === parentRef.path); - const cacheValue = getTargetValue(cache, target); // m.value? - const prevValue = m.previous; - if (parentUpdate) { - parentUpdate.value[key] = cacheValue; - parentUpdate.previous[key] = prevValue; - } - else { - updates.push({ ref: parentRef, target: parentTarget, value: { [key]: cacheValue }, type: 'update', previous: { [key]: prevValue } }); - } - } - return updates; - }, []) - .reduce(async (promise, update /*, i, updates */) => { - // Execute db update - // i === 0 && console.log(`Proxy: processing ${updates.length} db updates to paths:`, updates.map(update => update.ref.path)); - const context = { - acebase_proxy: { - id: proxyId, - source: update.type, - // update_id: ID.generate(), - // batch_id: batchId, - // batch_updates: updates.length - }, - }; - await promise; - await update.ref - .context(context)[update.type](update.value) // .set or .update - .catch(err => { - clientEventEmitter.emit('error', { source: 'update', message: `Error processing update of "/${ref.path}"`, details: err }); - // console.warn(`Proxy could not update DB, should rollback (${update.type}) the proxy value of "${update.ref.path}" to: `, update.previous); - const context = { acebase_proxy: { id: proxyId, source: 'update-rollback' } }; - const mutations = []; - if (update.type === 'set') { - setTargetValue(cache, update.target, update.previous); - const mutationSnap = new data_snapshot_1.DataSnapshot(update.ref, update.previous, false, update.value, context); - clientEventEmitter.emit('mutation', { snapshot: mutationSnap, isRemote: false }); - mutations.push({ target: update.target, val: update.previous, prev: update.value }); - } - else { - // update - Object.keys(update.previous).forEach(key => { - setTargetValue(cache, update.target.concat(key), update.previous[key]); - const mutationSnap = new data_snapshot_1.DataSnapshot(update.ref.child(key), update.previous[key], false, update.value[key], context); - clientEventEmitter.emit('mutation', { snapshot: mutationSnap, isRemote: false }); - mutations.push({ target: update.target.concat(key), val: update.previous[key], prev: update.value[key] }); - }); - } - // Run onMutation callback for each node being rolled back - mutations.forEach(m => { - const mutationRef = m.target.reduce((ref, key) => ref.child(key), ref); - const mutationSnap = new data_snapshot_1.DataSnapshot(mutationRef, m.val, false, m.prev, context); - clientEventEmitter.emit('mutation', { snapshot: mutationSnap, isRemote: false }); - }); - // Notify local subscribers: - const snap = new data_snapshot_1.MutationsDataSnapshot(update.ref, mutations, context); - localMutationsEmitter.emit('mutations', { origin: 'local', snap }); - }); - if (update.ref.cursor) { - // Should also be available in context.acebase_cursor now - clientEventEmitter.emit('cursor', update.ref.cursor); - } - }, processPromise); - await processPromise; - }; - let syncInProgress = false; - const syncPromises = []; - const syncCompleted = () => { - let resolve; - const promise = new Promise(rs => resolve = rs); - syncPromises.push({ resolve }); - return promise; - }; - let processQueueTimeout = null; - const scheduleSync = () => { - if (!processQueueTimeout) { - processQueueTimeout = setTimeout(async () => { - syncInProgress = true; - processQueueTimeout = null; - await pushLocalMutations(); - syncInProgress = false; - syncPromises.splice(0).forEach(p => p.resolve()); - }, 0); - } - }; - const flagOverwritten = (target) => { - if (!mutationQueue.find(m => RelativeNodeTarget.areEqual(m.target, target))) { - mutationQueue.push({ target, previous: (0, utils_1.cloneObject)(getTargetValue(cache, target)) }); - } - // schedule database updates - scheduleSync(); - }; - const localMutationsEmitter = new simple_event_emitter_1.SimpleEventEmitter(); - const addOnChangeHandler = (target, callback) => { - const isObject = val => val !== null && typeof val === 'object'; - const mutationsHandler = async (details) => { - var _a; - const { snap, origin } = details; - const context = snap.context(); - const causedByOurProxy = ((_a = context.acebase_proxy) === null || _a === void 0 ? void 0 : _a.id) === proxyId; - if (details.origin === 'remote' && causedByOurProxy) { - // Any local changes already triggered subscription callbacks - console.error('DEV ISSUE: mutationsHandler was called from remote event originating from our own proxy'); - return; - } - const mutations = snap.val(false).filter(mutation => { - // Keep mutations impacting the subscribed target: mutations on target, or descendant or ancestor of target - return mutation.target.slice(0, target.length).every((key, i) => target[i] === key); - }); - if (mutations.length === 0) { - return; - } - let newValue, previousValue; - // If there is a mutation on the target itself, or parent/ancestor path, there can only be one. We can take a shortcut - const singleMutation = mutations.find(m => m.target.length <= target.length); - if (singleMutation) { - const trailKeys = target.slice(singleMutation.target.length); - newValue = trailKeys.reduce((val, key) => !isObject(val) || !(key in val) ? null : val[key], singleMutation.val); - previousValue = trailKeys.reduce((val, key) => !isObject(val) || !(key in val) ? null : val[key], singleMutation.prev); - } - else { - // All mutations are on children/descendants of our target - // Construct new & previous values by combining cache and snapshot - const currentValue = getTargetValue(cache, target); - newValue = (0, utils_1.cloneObject)(currentValue); - previousValue = (0, utils_1.cloneObject)(newValue); - mutations.forEach(mutation => { - // mutation.target is relative to proxy root - const trailKeys = mutation.target.slice(target.length); - for (let i = 0, val = newValue, prev = previousValue; i < trailKeys.length; i++) { // arr = PathInfo.getPathKeys(mutationPath).slice(PathInfo.getPathKeys(targetRef.path).length) - const last = i + 1 === trailKeys.length, key = trailKeys[i]; - if (last) { - val[key] = mutation.val; - if (val[key] === null) { - delete val[key]; - } - prev[key] = mutation.prev; - if (prev[key] === null) { - delete prev[key]; - } - } - else { - val = val[key] = key in val ? val[key] : {}; - prev = prev[key] = key in prev ? prev[key] : {}; - } - } - }); - } - process_1.default.nextTick(() => { - // Run callback with read-only (frozen) values in next tick - let keepSubscription = true; - try { - keepSubscription = false !== callback(Object.freeze(newValue), Object.freeze(previousValue), !causedByOurProxy, context); - } - catch (err) { - clientEventEmitter.emit('error', { source: origin === 'remote' ? 'remote_update' : 'local_update', message: 'Error running subscription callback', details: err }); - } - if (keepSubscription === false) { - stop(); - } - }); - }; - localMutationsEmitter.on('mutations', mutationsHandler); - const stop = () => { - localMutationsEmitter.off('mutations').off('mutations', mutationsHandler); - clientSubscriptions.splice(clientSubscriptions.findIndex(cs => cs.stop === stop), 1); - }; - clientSubscriptions.push({ target, stop }); - return { stop }; - }; - const handleFlag = (flag, target, args) => { - if (flag === 'write') { - return flagOverwritten(target); - } - else if (flag === 'onChange') { - return addOnChangeHandler(target, args.callback); - } - else if (flag === 'subscribe' || flag === 'observe') { - const subscribe = subscriber => { - const currentValue = getTargetValue(cache, target); - subscriber.next(currentValue); - const subscription = addOnChangeHandler(target, (value /*, previous, isRemote, context */) => { - subscriber.next(value); - }); - return function unsubscribe() { - subscription.stop(); - }; - }; - if (flag === 'subscribe') { - return subscribe; - } - // Try to load Observable - const Observable = (0, optional_observable_1.getObservable)(); - return new Observable(subscribe); - } - else if (flag === 'transaction') { - const hasConflictingTransaction = transactions.some(t => RelativeNodeTarget.areEqual(target, t.target) || RelativeNodeTarget.isAncestor(target, t.target) || RelativeNodeTarget.isDescendant(target, t.target)); - if (hasConflictingTransaction) { - // TODO: Wait for this transaction to finish, then try again - return Promise.reject(new Error('Cannot start transaction because it conflicts with another transaction')); - } - return new Promise(async (resolve) => { - // If there are pending mutations on target (or deeper), wait until they have been synchronized - const hasPendingMutations = mutationQueue.some(m => RelativeNodeTarget.areEqual(target, m.target) || RelativeNodeTarget.isAncestor(target, m.target)); - if (hasPendingMutations) { - if (!syncInProgress) { - scheduleSync(); - } - await syncCompleted(); - } - const tx = { target, status: 'started', transaction: null }; - transactions.push(tx); - tx.transaction = { - get status() { return tx.status; }, - get completed() { return tx.status !== 'started'; }, - get mutations() { - return mutationQueue.filter(m => RelativeNodeTarget.areEqual(tx.target, m.target) || RelativeNodeTarget.isAncestor(tx.target, m.target)); - }, - get hasMutations() { - return this.mutations.length > 0; - }, - async commit() { - if (this.completed) { - throw new Error(`Transaction has completed already (status '${tx.status}')`); - } - tx.status = 'finished'; - transactions.splice(transactions.indexOf(tx), 1); - if (syncInProgress) { - // Currently syncing without our mutations - await syncCompleted(); - } - scheduleSync(); - await syncCompleted(); - }, - rollback() { - // Remove mutations from queue - if (this.completed) { - throw new Error(`Transaction has completed already (status '${tx.status}')`); - } - tx.status = 'canceled'; - const mutations = []; - for (let i = 0; i < mutationQueue.length; i++) { - const m = mutationQueue[i]; - if (RelativeNodeTarget.areEqual(tx.target, m.target) || RelativeNodeTarget.isAncestor(tx.target, m.target)) { - mutationQueue.splice(i, 1); - i--; - mutations.push(m); - } - } - // Replay mutations in reverse order - mutations.reverse() - .forEach(m => { - if (m.target.length === 0) { - cache = m.previous; - } - else { - setTargetValue(cache, m.target, m.previous); - } - }); - // Remove transaction - transactions.splice(transactions.indexOf(tx), 1); - }, - }; - resolve(tx.transaction); - }); - } - }; - const snap = await ref.get({ cache_mode: 'allow', cache_cursor: options === null || options === void 0 ? void 0 : options.cursor }); - // const gotOfflineStartValue = snap.context().acebase_origin === 'cache'; - // if (gotOfflineStartValue) { - // console.warn(`Started data proxy with cached value of "${ref.path}", check if its value is reloaded on next connection!`); - // } - if (snap.context().acebase_origin !== 'cache') { - clientEventEmitter.emit('cursor', (_a = ref.cursor) !== null && _a !== void 0 ? _a : null); // latestCursor = snap.context().acebase_cursor ?? null; - } - loaded = true; - cache = snap.val(); - if (cache === null && typeof (options === null || options === void 0 ? void 0 : options.defaultValue) !== 'undefined') { - cache = options.defaultValue; - const context = { - acebase_proxy: { - id: proxyId, - source: 'default', - // update_id: ID.generate() - }, - }; - await ref.context(context).set(cache); - } - proxy = createProxy({ root: { ref, get cache() { return cache; } }, target: [], id: proxyId, flag: handleFlag }); - const assertProxyAvailable = () => { - if (proxy === null) { - throw new Error('Proxy was destroyed'); - } - }; - const reload = async () => { - // Manually reloads current value when cache is out of sync, which should only - // be able to happen if an AceBaseClient is used without cache database, - // and the connection to the server was lost for a while. In all other cases, - // there should be no need to call this method. - assertProxyAvailable(); - mutationQueue.splice(0); // Remove pending mutations. Will be empty in production, but might not be while debugging, leading to weird behaviour. - const snap = await ref.get({ allow_cache: false }); - const oldVal = cache, newVal = snap.val(); - cache = newVal; - // Compare old and new values - const mutations = (0, utils_1.getMutations)(oldVal, newVal); - if (mutations.length === 0) { - return; // Nothing changed - } - // Run onMutation callback for each changed node - const context = snap.context(); // context might contain acebase_cursor if server support that - context.acebase_proxy = { id: proxyId, source: 'reload' }; - // if (onMutationCallback) { - mutations.forEach(m => { - const targetRef = getTargetRef(ref, m.target); - const newSnap = new data_snapshot_1.DataSnapshot(targetRef, m.val, m.val === null, m.prev, context); - clientEventEmitter.emit('mutation', { snapshot: newSnap, isRemote: true }); - }); - // } - // Notify local subscribers - const mutationsSnap = new data_snapshot_1.MutationsDataSnapshot(ref, mutations, context); - localMutationsEmitter.emit('mutations', { origin: 'local', snap: mutationsSnap }); - }; - return { - async destroy() { - await processPromise; - const promises = [ - subscription.stop(), - ...clientSubscriptions.map(cs => cs.stop()), - ]; - await Promise.all(promises); - ['cursor', 'mutation', 'error'].forEach(event => clientEventEmitter.off(event)); - cache = null; // Remove cache - proxy = null; - }, - stop() { - this.destroy(); - }, - get value() { - assertProxyAvailable(); - return proxy; - }, - get hasValue() { - assertProxyAvailable(); - return cache !== null; - }, - set value(val) { - // Overwrite the value of the proxied path itself! - assertProxyAvailable(); - if (val !== null && typeof val === 'object' && val[isProxy]) { - // Assigning one proxied value to another - val = val.valueOf(); - } - flagOverwritten([]); - cache = val; - }, - get ref() { - return ref; - }, - get cursor() { - return latestCursor; - }, - reload, - onMutation(callback) { - // Fires callback each time anything changes - assertProxyAvailable(); - clientEventEmitter.off('mutation'); // Mimic legacy behaviour that overwrites handler - clientEventEmitter.on('mutation', ({ snapshot, isRemote }) => { - try { - callback(snapshot, isRemote); - } - catch (err) { - clientEventEmitter.emit('error', { source: 'mutation_callback', message: 'Error in dataproxy onMutation callback', details: err }); - } - }); - }, - onError(callback) { - // Fires callback each time anything goes wrong - assertProxyAvailable(); - clientEventEmitter.off('error'); // Mimic legacy behaviour that overwrites handler - clientEventEmitter.on('error', (err) => { - try { - callback(err); - } - catch (err) { - console.error(`Error in dataproxy onError callback: ${err.message}`); - } - }); - }, - on(event, callback) { - clientEventEmitter.on(event, callback); - }, - off(event, callback) { - clientEventEmitter.off(event, callback); - }, - }; - } -} -exports.LiveDataProxy = LiveDataProxy; -function getTargetValue(obj, target) { - let val = obj; - for (const key of target) { - val = typeof val === 'object' && val !== null && key in val ? val[key] : null; - } - return val; -} -function setTargetValue(obj, target, value) { - if (target.length === 0) { - throw new Error('Cannot update root target, caller must do that itself!'); - } - const targetObject = target.slice(0, -1).reduce((obj, key) => obj[key], obj); - const prop = target.slice(-1)[0]; - if (value === null || typeof value === 'undefined') { - // Remove it - targetObject instanceof Array ? targetObject.splice(prop, 1) : delete targetObject[prop]; - } - else { - // Set or update it - targetObject[prop] = value; - } -} -function getTargetRef(ref, target) { - // Create new DataReference to prevent context reuse - const path = path_info_1.PathInfo.get(ref.path).childPath(target); - return new data_reference_1.DataReference(ref.db, path); -} -function createProxy(context) { - const targetRef = getTargetRef(context.root.ref, context.target); - const childProxies = []; - const handler = { - get(target, prop, receiver) { - target = getTargetValue(context.root.cache, context.target); - if (typeof prop === 'symbol') { - if (prop.toString() === Symbol.iterator.toString()) { - // Use .values for @@iterator symbol - prop = 'values'; - } - else if (prop.toString() === isProxy.toString()) { - return true; - } - else { - return Reflect.get(target, prop, receiver); - } - } - if (prop === 'valueOf') { - return function valueOf() { return target; }; - } - if (target === null || typeof target !== 'object') { - throw new Error(`Cannot read property "${prop}" of ${target}. Value of path "/${targetRef.path}" is not an object (anymore)`); - } - if (target instanceof Array && typeof prop === 'string' && /^[0-9]+$/.test(prop)) { - // Proxy type definitions say prop can be a number, but this is never the case. - prop = parseInt(prop); - } - const value = target[prop]; - if (value === null) { - // Removed property. Should never happen, but if it does: - delete target[prop]; - return; // undefined - } - // Check if we have a child proxy for this property already. - // If so, and the properties' typeof value did not change, return that - const childProxy = childProxies.find(proxy => proxy.prop === prop); - if (childProxy) { - if (childProxy.typeof === typeof value) { - return childProxy.value; - } - childProxies.splice(childProxies.indexOf(childProxy), 1); - } - const proxifyChildValue = (prop) => { - const value = target[prop]; // - const childProxy = childProxies.find(child => child.prop === prop); - if (childProxy) { - if (childProxy.typeof === typeof value) { - return childProxy.value; - } - childProxies.splice(childProxies.indexOf(childProxy), 1); - } - if (typeof value !== 'object') { - // Can't proxify non-object values - return value; - } - const newChildProxy = createProxy({ root: context.root, target: context.target.concat(prop), id: context.id, flag: context.flag }); - childProxies.push({ typeof: typeof value, prop, value: newChildProxy }); - return newChildProxy; - }; - const unproxyValue = (value) => { - return value !== null && typeof value === 'object' && value[isProxy] - ? value.getTarget() - : value; - }; - // If the property contains a simple value, return it. - if (['string', 'number', 'boolean'].includes(typeof value) - || value instanceof Date - || value instanceof path_reference_1.PathReference - || value instanceof ArrayBuffer - || (typeof value === 'object' && 'buffer' in value) // Typed Arrays - ) { - return value; - } - const isArray = target instanceof Array; - if (prop === 'toString') { - return function toString() { - return `[LiveDataProxy for "${targetRef.path}"]`; - }; - } - if (typeof value === 'undefined') { - if (prop === 'push') { - // Push item to an object collection - return function push(item) { - const childRef = targetRef.push(); - context.flag('write', context.target.concat(childRef.key)); //, { previous: null } - target[childRef.key] = item; - return childRef.key; - }; - } - if (prop === 'getTarget') { - // Get unproxied readonly (but still live) version of data. - return function (warn = true) { - warn && console.warn('Use getTarget with caution - any changes will not be synchronized!'); - return target; - }; - } - if (prop === 'getRef') { - // Gets the DataReference to this data target - return function getRef() { - const ref = getTargetRef(context.root.ref, context.target); - return ref; - }; - } - if (prop === 'forEach') { - return function forEach(callback) { - const keys = Object.keys(target); - // Fix: callback with unproxied value - let stop = false; - for (let i = 0; !stop && i < keys.length; i++) { - const key = keys[i]; - const value = proxifyChildValue(key); //, target[key] - stop = callback(value, key, i) === false; - } - }; - } - if (['values', 'entries', 'keys'].includes(prop)) { - return function* generator() { - const keys = Object.keys(target); - for (const key of keys) { - if (prop === 'keys') { - yield key; - } - else { - const value = proxifyChildValue(key); //, target[key] - if (prop === 'entries') { - yield [key, value]; - } - else { - yield value; - } - } - } - }; - } - if (prop === 'toArray') { - return function toArray(sortFn) { - const arr = Object.keys(target).map(key => proxifyChildValue(key)); //, target[key] - if (sortFn) { - arr.sort(sortFn); - } - return arr; - }; - } - if (prop === 'onChanged') { - // Starts monitoring the value - return function onChanged(callback) { - return context.flag('onChange', context.target, { callback }); - }; - } - if (prop === 'subscribe') { - // Gets subscriber function to use with Observables, or custom handling - return function subscribe() { - return context.flag('subscribe', context.target); - }; - } - if (prop === 'getObservable') { - // Creates an observable for monitoring the value - return function getObservable() { - return context.flag('observe', context.target); - }; - } - if (prop === 'getOrderedCollection') { - return function getOrderedCollection(orderProperty, orderIncrement) { - return new OrderedCollectionProxy(this, orderProperty, orderIncrement); - }; - } - if (prop === 'startTransaction') { - return function startTransaction() { - return context.flag('transaction', context.target); - }; - } - if (prop === 'remove' && !isArray) { - // Removes target from object collection - return function remove() { - if (context.target.length === 0) { - throw new Error('Can\'t remove proxy root value'); - } - const parent = getTargetValue(context.root.cache, context.target.slice(0, -1)); - const key = context.target.slice(-1)[0]; - context.flag('write', context.target); - delete parent[key]; - }; - } - return; // undefined - } - else if (typeof value === 'function') { - if (isArray) { - // Handle array methods - const writeArray = (action) => { - context.flag('write', context.target); - return action(); - }; - const cleanArrayValues = values => values.map(value => { - value = unproxyValue(value); - removeVoidProperties(value); - return value; - }); - // Methods that directly change the array: - if (prop === 'push') { - return function push(...items) { - items = cleanArrayValues(items); - return writeArray(() => target.push(...items)); // push the items to the cache array - }; - } - if (prop === 'pop') { - return function pop() { - return writeArray(() => target.pop()); - }; - } - if (prop === 'splice') { - return function splice(start, deleteCount, ...items) { - items = cleanArrayValues(items); - return writeArray(() => target.splice(start, deleteCount, ...items)); - }; - } - if (prop === 'shift') { - return function shift() { - return writeArray(() => target.shift()); - }; - } - if (prop === 'unshift') { - return function unshift(...items) { - items = cleanArrayValues(items); - return writeArray(() => target.unshift(...items)); - }; - } - if (prop === 'sort') { - return function sort(compareFn) { - return writeArray(() => target.sort(compareFn)); - }; - } - if (prop === 'reverse') { - return function reverse() { - return writeArray(() => target.reverse()); - }; - } - // Methods that do not change the array themselves, but - // have callbacks that might, or return child values: - if (['indexOf', 'lastIndexOf'].includes(prop)) { - return function indexOf(item, start) { - if (item !== null && typeof item === 'object' && item[isProxy]) { - // Use unproxied value, or array.indexOf will return -1 (fixes issue #1) - item = item.getTarget(false); - } - return target[prop](item, start); - }; - } - if (['forEach', 'every', 'some', 'filter', 'map'].includes(prop)) { - return function iterate(callback) { - return target[prop]((value, i) => { - return callback(proxifyChildValue(i), i, proxy); //, value - }); - }; - } - if (['reduce', 'reduceRight'].includes(prop)) { - return function reduce(callback, initialValue) { - return target[prop]((prev, value, i) => { - return callback(prev, proxifyChildValue(i), i, proxy); //, value - }, initialValue); - }; - } - if (['find', 'findIndex'].includes(prop)) { - return function find(callback) { - let value = target[prop]((value, i) => { - return callback(proxifyChildValue(i), i, proxy); // , value - }); - if (prop === 'find' && value) { - const index = target.indexOf(value); - value = proxifyChildValue(index); //, value - } - return value; - }; - } - if (['values', 'entries', 'keys'].includes(prop)) { - return function* generator() { - for (let i = 0; i < target.length; i++) { - if (prop === 'keys') { - yield i; - } - else { - const value = proxifyChildValue(i); //, target[i] - if (prop === 'entries') { - yield [i, value]; - } - else { - yield value; - } - } - } - }; - } - } - // Other function (or not an array), should not alter its value - // return function fn(...args) { - // return target[prop](...args); - // } - return value; - } - // Proxify any other value - return proxifyChildValue(prop); //, value - }, - set(target, prop, value, receiver) { - // Eg: chats.chat1.title = 'New chat title'; - // target === chats.chat1, prop === 'title' - target = getTargetValue(context.root.cache, context.target); - if (typeof prop === 'symbol') { - return Reflect.set(target, prop, value, receiver); - } - if (target === null || typeof target !== 'object') { - throw new Error(`Cannot set property "${prop}" of ${target}. Value of path "/${targetRef.path}" is not an object`); - } - if (target instanceof Array && typeof prop === 'string') { - if (!/^[0-9]+$/.test(prop)) { - throw new Error(`Cannot set property "${prop}" on array value of path "/${targetRef.path}"`); - } - prop = parseInt(prop); - } - if (value !== null) { - if (typeof value === 'object') { - if (value[isProxy]) { - // Assigning one proxied value to another - value = value.valueOf(); - } - // else if (Object.isFrozen(value)) { - // // Create a copy to unfreeze it - // value = cloneObject(value); - // } - value = (0, utils_1.cloneObject)(value); // Fix #10, always clone objects so changes made through the proxy won't change the original object (and vice versa) - } - if ((0, utils_1.valuesAreEqual)(value, target[prop])) { //if (compareValues(value, target[prop]) === 'identical') { // (typeof value !== 'object' && target[prop] === value) { - // not changing the actual value, ignore - return true; - } - } - if (context.target.some(key => typeof key === 'number')) { - // Updating an object property inside an array. Flag the first array in target to be written. - // Eg: when chat.members === [{ name: 'Ewout', id: 'someid' }] - // --> chat.members[0].name = 'Ewout' --> Rewrite members array instead of chat/members[0]/name - context.flag('write', context.target.slice(0, context.target.findIndex(key => typeof key === 'number'))); - } - else if (target instanceof Array) { - // Flag the entire array to be overwritten - context.flag('write', context.target); - } - else { - // Flag child property - context.flag('write', context.target.concat(prop)); - } - // Set cached value: - if (value === null) { - delete target[prop]; - } - else { - removeVoidProperties(value); - target[prop] = value; - } - return true; - }, - deleteProperty(target, prop) { - target = getTargetValue(context.root.cache, context.target); - if (target === null) { - throw new Error(`Cannot delete property ${prop.toString()} of null`); - } - if (typeof prop === 'symbol') { - return Reflect.deleteProperty(target, prop); - } - if (!(prop in target)) { - return true; // Nothing to delete - } - context.flag('write', context.target.concat(prop)); - delete target[prop]; - return true; - }, - ownKeys(target) { - target = getTargetValue(context.root.cache, context.target); - return Reflect.ownKeys(target); - }, - has(target, prop) { - target = getTargetValue(context.root.cache, context.target); - return Reflect.has(target, prop); - }, - getOwnPropertyDescriptor(target, prop) { - target = getTargetValue(context.root.cache, context.target); - const descriptor = Reflect.getOwnPropertyDescriptor(target, prop); - if (descriptor) { - descriptor.configurable = true; // prevent "TypeError: 'getOwnPropertyDescriptor' on proxy: trap reported non-configurability for property '...' which is either non-existant or configurable in the proxy target" - } - return descriptor; - }, - getPrototypeOf(target) { - target = getTargetValue(context.root.cache, context.target); - return Reflect.getPrototypeOf(target); - }, - }; - const proxy = new Proxy({}, handler); - return proxy; -} -function removeVoidProperties(obj) { - if (typeof obj !== 'object') { - return; - } - Object.keys(obj).forEach(key => { - const val = obj[key]; - if (val === null || typeof val === 'undefined') { - delete obj[key]; - } - else if (typeof val === 'object') { - removeVoidProperties(val); - } - }); -} -/** - * Convenience function to access ILiveDataProxyValue methods on a proxied value - * @param proxiedValue The proxied value to get access to - * @returns Returns the same object typecasted to an ILiveDataProxyValue - * @example - * // IChatMessages is an ObjectCollection - * let observable: Observable; - * - * // Allows you to do this: - * observable = proxyAccess(chat.messages).getObservable(); - * - * // Instead of: - * observable = (chat.messages.msg1 as any as ILiveDataProxyValue).getObservable(); - * - * // Both do the exact same, but the first is less obscure - */ -function proxyAccess(proxiedValue) { - if (typeof proxiedValue !== 'object' || !proxiedValue[isProxy]) { - throw new Error('Given value is not proxied. Make sure you are referencing the value through the live data proxy.'); - } - return proxiedValue; -} -exports.proxyAccess = proxyAccess; -/** - * Provides functionality to work with ordered collections through a live data proxy. Eliminates - * the need for arrays to handle ordered data by adding a 'sort' properties to child objects in a - * collection, and provides functionality to sort and reorder items with a minimal amount of database - * updates. - */ -class OrderedCollectionProxy { - constructor(collection, orderProperty = 'order', orderIncrement = 10) { - this.collection = collection; - this.orderProperty = orderProperty; - this.orderIncrement = orderIncrement; - if (typeof collection !== 'object' || !collection[isProxy]) { - throw new Error('Collection is not proxied'); - } - if (collection.valueOf() instanceof Array) { - throw new Error('Collection is an array, not an object collection'); - } - if (!Object.keys(collection).every(key => typeof collection[key] === 'object')) { - throw new Error('Collection has non-object children'); - } - // Check if the collection has order properties. If not, assign them now - const ok = Object.keys(collection).every(key => typeof collection[key][orderProperty] === 'number'); - if (!ok) { - // Assign order properties now. Database will be updated automatically - const keys = Object.keys(collection); - for (let i = 0; i < keys.length; i++) { - const item = collection[keys[i]]; - item[orderProperty] = i * orderIncrement; // 0, 10, 20, 30 etc - } - } - } - /** - * Gets an observable for the target object collection. Same as calling `collection.getObservable()` - * @returns - */ - getObservable() { - return proxyAccess(this.collection).getObservable(); - } - /** - * Gets an observable that emits a new ordered array representation of the object collection each time - * the unlaying data is changed. Same as calling `getArray()` in a `getObservable().subscribe` callback - * @returns - */ - getArrayObservable() { - const Observable = (0, optional_observable_1.getObservable)(); - return new Observable(subscriber => { - const subscription = this.getObservable().subscribe(( /*value*/) => { - const newArray = this.getArray(); - subscriber.next(newArray); - }); - return function unsubscribe() { - subscription.unsubscribe(); - }; - }); - } - /** - * Gets an ordered array representation of the items in your object collection. The items in the array - * are proxied values, changes will be in sync with the database. Note that the array itself - * is not mutable: adding or removing items to it will NOT update the collection in the - * the database and vice versa. Use `add`, `delete`, `sort` and `move` methods to make changes - * that impact the collection's sorting order - * @returns order array - */ - getArray() { - const arr = proxyAccess(this.collection).toArray((a, b) => a[this.orderProperty] - b[this.orderProperty]); - // arr.push = (...items: T[]) => { - // items.forEach(item => this.add(item)); - // return arr.length; - // }; - return arr; - } - add(item, index, from) { - const arr = this.getArray(); - let minOrder = Number.POSITIVE_INFINITY, maxOrder = Number.NEGATIVE_INFINITY; - for (let i = 0; i < arr.length; i++) { - const order = arr[i][this.orderProperty]; - minOrder = Math.min(order, minOrder); - maxOrder = Math.max(order, maxOrder); - } - let fromKey; - if (typeof from === 'number') { - // Moving existing item - fromKey = Object.keys(this.collection).find(key => this.collection[key] === item); - if (!fromKey) { - throw new Error('item not found in collection'); - } - if (from === index) { - return { key: fromKey, index }; - } - if (Math.abs(from - index) === 1) { - // Position being swapped, swap their order property values - const otherItem = arr[index]; - const otherOrder = otherItem[this.orderProperty]; - otherItem[this.orderProperty] = item[this.orderProperty]; - item[this.orderProperty] = otherOrder; - return { key: fromKey, index }; - } - else { - // Remove from array, code below will add again - arr.splice(from, 1); - } - } - if (typeof index !== 'number' || index >= arr.length) { - // append at the end - index = arr.length; - item[this.orderProperty] = arr.length == 0 ? 0 : maxOrder + this.orderIncrement; - } - else if (index === 0) { - // insert before all others - item[this.orderProperty] = arr.length == 0 ? 0 : minOrder - this.orderIncrement; - } - else { - // insert between 2 others - const orders = arr.map(item => item[this.orderProperty]); - const gap = orders[index] - orders[index - 1]; - if (gap > 1) { - item[this.orderProperty] = orders[index] - Math.floor(gap / 2); - } - else { - // TODO: Can this gap be enlarged by moving one of both orders? - // For now, change all other orders - arr.splice(index, 0, item); - for (let i = 0; i < arr.length; i++) { - arr[i][this.orderProperty] = i * this.orderIncrement; - } - } - } - const key = typeof fromKey === 'string' - ? fromKey // Moved item, don't add it - : proxyAccess(this.collection).push(item); - return { key, index }; - } - /** - * Deletes an item from the object collection using the their index in the sorted array representation - * @param index - * @returns the key of the collection's child that was deleted - */ - delete(index) { - const arr = this.getArray(); - const item = arr[index]; - if (!item) { - throw new Error(`Item at index ${index} not found`); - } - const key = Object.keys(this.collection).find(key => this.collection[key] === item); - if (!key) { - throw new Error('Cannot find target object to delete'); - } - this.collection[key] = null; // Deletes it from db - return { key, index }; - } - /** - * Moves an item in the object collection by reordering it - * @param fromIndex Current index in the array (the ordered representation of the object collection) - * @param toIndex Target index in the array - * @returns - */ - move(fromIndex, toIndex) { - const arr = this.getArray(); - return this.add(arr[fromIndex], toIndex, fromIndex); - } - /** - * Reorders the object collection using given sort function. Allows quick reordering of the collection which is persisted in the database - * @param sortFn - */ - sort(sortFn) { - const arr = this.getArray(); - arr.sort(sortFn); - for (let i = 0; i < arr.length; i++) { - arr[i][this.orderProperty] = i * this.orderIncrement; - } - } -} -exports.OrderedCollectionProxy = OrderedCollectionProxy; - -},{"./data-reference":8,"./data-snapshot":9,"./id":11,"./optional-observable":14,"./path-info":16,"./path-reference":17,"./process":18,"./simple-event-emitter":22,"./utils":26}],8:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.DataReferencesArray = exports.DataSnapshotsArray = exports.DataReferenceQuery = exports.DataReference = exports.QueryDataRetrievalOptions = exports.DataRetrievalOptions = void 0; -const data_snapshot_1 = require("./data-snapshot"); -const subscription_1 = require("./subscription"); -const id_1 = require("./id"); -const path_info_1 = require("./path-info"); -const data_proxy_1 = require("./data-proxy"); -const optional_observable_1 = require("./optional-observable"); -class DataRetrievalOptions { - /** - * Options for data retrieval, allows selective loading of object properties - */ - constructor(options) { - if (!options) { - options = {}; - } - if (typeof options.include !== 'undefined' && !(options.include instanceof Array)) { - throw new TypeError('options.include must be an array'); - } - if (typeof options.exclude !== 'undefined' && !(options.exclude instanceof Array)) { - throw new TypeError('options.exclude must be an array'); - } - if (typeof options.child_objects !== 'undefined' && typeof options.child_objects !== 'boolean') { - throw new TypeError('options.child_objects must be a boolean'); - } - if (typeof options.cache_mode === 'string' && !['allow', 'bypass', 'force'].includes(options.cache_mode)) { - throw new TypeError('invalid value for options.cache_mode'); - } - this.include = options.include || undefined; - this.exclude = options.exclude || undefined; - this.child_objects = typeof options.child_objects === 'boolean' ? options.child_objects : undefined; - this.cache_mode = typeof options.cache_mode === 'string' - ? options.cache_mode - : typeof options.allow_cache === 'boolean' - ? options.allow_cache ? 'allow' : 'bypass' - : 'allow'; - this.cache_cursor = typeof options.cache_cursor === 'string' ? options.cache_cursor : undefined; - } -} -exports.DataRetrievalOptions = DataRetrievalOptions; -class QueryDataRetrievalOptions extends DataRetrievalOptions { - /** - * @param options Options for data retrieval, allows selective loading of object properties - */ - constructor(options) { - super(options); - if (!['undefined', 'boolean'].includes(typeof options.snapshots)) { - throw new TypeError('options.snapshots must be a boolean'); - } - this.snapshots = typeof options.snapshots === 'boolean' ? options.snapshots : true; - } -} -exports.QueryDataRetrievalOptions = QueryDataRetrievalOptions; -const _private = Symbol('private'); -class DataReference { - /** - * Creates a reference to a node - */ - constructor(db, path, vars) { - this.db = db; - if (!path) { - path = ''; - } - path = path.replace(/^\/|\/$/g, ''); // Trim slashes - const pathInfo = path_info_1.PathInfo.get(path); - const key = pathInfo.key; - const callbacks = []; - this[_private] = { - get path() { return path; }, - get key() { return key; }, - get callbacks() { return callbacks; }, - vars: vars || {}, - context: {}, - pushed: false, - cursor: null, - }; - } - context(context, merge = false) { - const currentContext = this[_private].context; - if (typeof context === 'object') { - const newContext = context ? merge ? currentContext || {} : context : {}; - if (context) { - // Merge new with current context - Object.keys(context).forEach(key => { - newContext[key] = context[key]; - }); - } - this[_private].context = newContext; - return this; - } - else if (typeof context === 'undefined') { - console.warn('Use snap.context() instead of snap.ref.context() to get updating context in event callbacks'); - return currentContext; - } - else { - throw new Error('Invalid context argument'); - } - } - /** - * Contains the last received cursor for this referenced path (if the connected database has transaction logging enabled). - * If you want to be notified if this value changes, add a handler with `ref.onCursor(callback)` - */ - get cursor() { - return this[_private].cursor; - } - set cursor(value) { - var _a; - this[_private].cursor = value; - (_a = this.onCursor) === null || _a === void 0 ? void 0 : _a.call(this, value); - } - /** - * The path this instance was created with - */ - get path() { return this[_private].path; } - /** - * The key or index of this node - */ - get key() { - const key = this[_private].key; - return typeof key === 'number' ? `[${key}]` : key; - } - /** - * If the "key" is a number, it is an index! - */ - get index() { - const key = this[_private].key; - if (typeof key !== 'number') { - throw new Error(`"${key}" is not a number`); - } - return key; - } - /** - * Returns a new reference to this node's parent - */ - get parent() { - const currentPath = path_info_1.PathInfo.fillVariables2(this.path, this.vars); - const info = path_info_1.PathInfo.get(currentPath); - if (info.parentPath === null) { - return null; - } - return new DataReference(this.db, info.parentPath).context(this[_private].context); - } - /** - * Contains values of the variables/wildcards used in a subscription path if this reference was - * created by an event ("value", "child_added" etc), or in a type mapping path when serializing / instantiating typed objects - */ - get vars() { - return this[_private].vars; - } - /** - * Returns a new reference to a child node - * @param childPath Child key, index or path - * @returns reference to the child - */ - child(childPath) { - childPath = typeof childPath === 'number' ? childPath : childPath.replace(/^\/|\/$/g, ''); - const currentPath = path_info_1.PathInfo.fillVariables2(this.path, this.vars); - const targetPath = path_info_1.PathInfo.getChildPath(currentPath, childPath); - return new DataReference(this.db, targetPath).context(this[_private].context); // `${this.path}/${childPath}` - } - /** - * Sets or overwrites the stored value - * @param value value to store in database - * @param onComplete optional completion callback to use instead of returning promise - * @returns promise that resolves with this reference when completed - */ - async set(value, onComplete) { - try { - if (this.isWildcardPath) { - throw new Error(`Cannot set the value of wildcard path "/${this.path}"`); - } - if (this.parent === null) { - throw new Error('Cannot set the root object. Use update, or set individual child properties'); - } - if (typeof value === 'undefined') { - throw new TypeError(`Cannot store undefined value in "/${this.path}"`); - } - if (!this.db.isReady) { - await this.db.ready(); - } - value = this.db.types.serialize(this.path, value); - const { cursor } = await this.db.api.set(this.path, value, { context: this[_private].context }); - this.cursor = cursor; - if (typeof onComplete === 'function') { - try { - onComplete(null, this); - } - catch (err) { - console.error('Error in onComplete callback:', err); - } - } - } - catch (err) { - if (typeof onComplete === 'function') { - try { - onComplete(err, this); - } - catch (err) { - console.error('Error in onComplete callback:', err); - } - } - else { - // throw again - throw err; - } - } - return this; - } - /** - * Updates properties of the referenced node - * @param updates object containing the properties to update - * @param onComplete optional completion callback to use instead of returning promise - * @return returns promise that resolves with this reference once completed - */ - async update(updates, onComplete) { - try { - if (this.isWildcardPath) { - throw new Error(`Cannot update the value of wildcard path "/${this.path}"`); - } - if (!this.db.isReady) { - await this.db.ready(); - } - if (typeof updates !== 'object' || updates instanceof Array || updates instanceof ArrayBuffer || updates instanceof Date) { - await this.set(updates); - } - else if (Object.keys(updates).length === 0) { - console.warn(`update called on path "/${this.path}", but there is nothing to update`); - } - else { - updates = this.db.types.serialize(this.path, updates); - const { cursor } = await this.db.api.update(this.path, updates, { context: this[_private].context }); - this.cursor = cursor; - } - if (typeof onComplete === 'function') { - try { - onComplete(null, this); - } - catch (err) { - console.error('Error in onComplete callback:', err); - } - } - } - catch (err) { - if (typeof onComplete === 'function') { - try { - onComplete(err, this); - } - catch (err) { - console.error('Error in onComplete callback:', err); - } - } - else { - // throw again - throw err; - } - } - return this; - } - /** - * Sets the value a node using a transaction: it runs your callback function with the current value, uses its return value as the new value to store. - * The transaction is canceled if your callback returns undefined, or throws an error. If your callback returns null, the target node will be removed. - * @param callback - callback function that performs the transaction on the node's current value. It must return the new value to store (or promise with new value), undefined to cancel the transaction, or null to remove the node. - * @returns returns a promise that resolves with the DataReference once the transaction has been processed - */ - async transaction(callback) { - if (this.isWildcardPath) { - throw new Error(`Cannot start a transaction on wildcard path "/${this.path}"`); - } - if (!this.db.isReady) { - await this.db.ready(); - } - let throwError; - const cb = (currentValue) => { - currentValue = this.db.types.deserialize(this.path, currentValue); - const snap = new data_snapshot_1.DataSnapshot(this, currentValue); - let newValue; - try { - newValue = callback(snap); - } - catch (err) { - // callback code threw an error - throwError = err; // Remember error - return; // cancel transaction by returning undefined - } - if (newValue instanceof Promise) { - return newValue - .then((val) => { - return this.db.types.serialize(this.path, val); - }) - .catch(err => { - throwError = err; // Remember error - return; // cancel transaction by returning undefined - }); - } - else { - return this.db.types.serialize(this.path, newValue); - } - }; - const { cursor } = await this.db.api.transaction(this.path, cb, { context: this[_private].context }); - this.cursor = cursor; - if (throwError) { - // Rethrow error from callback code - throw throwError; - } - return this; - } - on(event, callback, cancelCallback) { - if (this.path === '' && ['value', 'child_changed'].includes(event)) { - // Removed 'notify_value' and 'notify_child_changed' events from the list, they do not require additional data loading anymore. - console.warn('WARNING: Listening for value and child_changed events on the root node is a bad practice. These events require loading of all data (value event), or potentially lots of data (child_changed event) each time they are fired'); - } - let eventPublisher = null; - const eventStream = new subscription_1.EventStream(publisher => { eventPublisher = publisher; }); - // Map OUR callback to original callback, so .off can remove the right callback(s) - const cb = { - event, - stream: eventStream, - userCallback: typeof callback === 'function' && callback, - ourCallback: (err, path, newValue, oldValue, eventContext) => { - if (err) { - // TODO: Investigate if this ever happens? - this.db.debug.error(`Error getting data for event ${event} on path "${path}"`, err); - return; - } - const ref = this.db.ref(path); - ref[_private].vars = path_info_1.PathInfo.extractVariables(this.path, path); - let callbackObject; - if (event.startsWith('notify_')) { - // No data event, callback with reference - callbackObject = ref.context(eventContext || {}); - } - else { - const values = { - previous: this.db.types.deserialize(path, oldValue), - current: this.db.types.deserialize(path, newValue), - }; - if (event === 'child_removed') { - callbackObject = new data_snapshot_1.DataSnapshot(ref, values.previous, true, values.previous, eventContext); - } - else if (event === 'mutations') { - callbackObject = new data_snapshot_1.MutationsDataSnapshot(ref, values.current, eventContext); - } - else { - const isRemoved = event === 'mutated' && values.current === null; - callbackObject = new data_snapshot_1.DataSnapshot(ref, values.current, isRemoved, values.previous, eventContext); - } - } - eventPublisher.publish(callbackObject); - if (eventContext === null || eventContext === void 0 ? void 0 : eventContext.acebase_cursor) { - this.cursor = eventContext.acebase_cursor; - } - }, - }; - this[_private].callbacks.push(cb); - const subscribe = () => { - // (NEW) Add callback to event stream - // ref.on('value', callback) is now exactly the same as ref.on('value').subscribe(callback) - if (typeof callback === 'function') { - eventStream.subscribe(callback, (activated, cancelReason) => { - if (!activated) { - cancelCallback && cancelCallback(cancelReason); - } - }); - } - const advancedOptions = typeof callback === 'object' - ? callback - : { newOnly: !callback }; // newOnly: if callback is not 'truthy', could change this to (typeof callback !== 'function' && callback !== true) but that would break client code that uses a truthy argument. - if (typeof advancedOptions.newOnly !== 'boolean') { - advancedOptions.newOnly = false; - } - if (this.isWildcardPath) { - advancedOptions.newOnly = true; - } - const cancelSubscription = (err) => { - // Access denied? - // Cancel subscription - const callbacks = this[_private].callbacks; - callbacks.splice(callbacks.indexOf(cb), 1); - this.db.api.unsubscribe(this.path, event, cb.ourCallback); - // Call cancelCallbacks - this.db.debug.error(`Subscription "${event}" on path "/${this.path}" canceled because of an error: ${err.message}`); - eventPublisher.cancel(err.message); - }; - const authorized = this.db.api.subscribe(this.path, event, cb.ourCallback, { newOnly: advancedOptions.newOnly, cancelCallback: cancelSubscription, syncFallback: advancedOptions.syncFallback }); - const allSubscriptionsStoppedCallback = () => { - const callbacks = this[_private].callbacks; - callbacks.splice(callbacks.indexOf(cb), 1); - return this.db.api.unsubscribe(this.path, event, cb.ourCallback); - }; - if (authorized instanceof Promise) { - // Web API now returns a promise that resolves if the request is allowed - // and rejects when access is denied by the set security rules - authorized.then(() => { - // Access granted - eventPublisher.start(allSubscriptionsStoppedCallback); - }).catch(cancelSubscription); - } - else { - // Local API, always authorized - eventPublisher.start(allSubscriptionsStoppedCallback); - } - if (!advancedOptions.newOnly) { - // If callback param is supplied (either a callback function or true or something else truthy), - // it will fire events for current values right now. - // Otherwise, it expects the .subscribe methode to be used, which will then - // only be called for future events - if (event === 'value') { - this.get(snap => { - eventPublisher.publish(snap); - }); - } - else if (event === 'child_added') { - this.get(snap => { - const val = snap.val(); - if (val === null || typeof val !== 'object') { - return; - } - Object.keys(val).forEach(key => { - const childSnap = new data_snapshot_1.DataSnapshot(this.child(key), val[key]); - eventPublisher.publish(childSnap); - }); - }); - } - else if (event === 'notify_child_added') { - // Use the reflect API to get current children. - // NOTE: This does not work with AceBaseServer <= v0.9.7, only when signed in as admin - const step = 100, limit = step; - let skip = 0; - const more = async () => { - const children = await this.db.api.reflect(this.path, 'children', { limit, skip }); - children.list.forEach(child => { - const childRef = this.child(child.key); - eventPublisher.publish(childRef); - // typeof callback === 'function' && callback(childRef); - }); - if (children.more) { - skip += step; - more(); - } - }; - more(); - } - } - }; - if (this.db.isReady) { - subscribe(); - } - else { - this.db.ready(subscribe); - } - return eventStream; - } - off(event, callback) { - const subscriptions = this[_private].callbacks; - const stopSubs = subscriptions.filter(sub => (!event || sub.event === event) && (!callback || sub.userCallback === callback)); - if (stopSubs.length === 0) { - this.db.debug.warn(`Can't find event subscriptions to stop (path: "${this.path}", event: ${event || '(any)'}, callback: ${callback})`); - } - stopSubs.forEach(sub => { - sub.stream.stop(); - }); - return this; - } - get(optionsOrCallback, callback) { - if (!this.db.isReady) { - const promise = this.db.ready().then(() => this.get(optionsOrCallback, callback)); - return typeof optionsOrCallback !== 'function' && typeof callback !== 'function' ? promise : undefined; // only return promise if no callback is used - } - callback = - typeof optionsOrCallback === 'function' - ? optionsOrCallback - : typeof callback === 'function' - ? callback - : undefined; - if (this.isWildcardPath) { - const error = new Error(`Cannot get value of wildcard path "/${this.path}". Use .query() instead`); - if (typeof callback === 'function') { - throw error; - } - return Promise.reject(error); - } - const options = new DataRetrievalOptions(typeof optionsOrCallback === 'object' ? optionsOrCallback : { cache_mode: 'allow' }); - const promise = this.db.api.get(this.path, options).then(result => { - var _a; - const isNewApiResult = ('context' in result && 'value' in result); - if (!isNewApiResult) { - // acebase-core version package was updated but acebase or acebase-client package was not? Warn, but don't throw an error. - console.warn('AceBase api.get method returned an old response value. Update your acebase or acebase-client package'); - result = { value: result, context: {} }; - } - const value = this.db.types.deserialize(this.path, result.value); - const snapshot = new data_snapshot_1.DataSnapshot(this, value, undefined, undefined, result.context); - if ((_a = result.context) === null || _a === void 0 ? void 0 : _a.acebase_cursor) { - this.cursor = result.context.acebase_cursor; - } - return snapshot; - }); - if (callback) { - promise.then(callback).catch(err => { - console.error('Uncaught error:', err); - }); - return; - } - else { - return promise; - } - } - /** - * Waits for an event to occur - * @param event Name of the event, eg "value", "child_added", "child_changed", "child_removed" - * @param options data retrieval options, to include or exclude specific child keys - * @returns returns promise that resolves with a snapshot of the data - */ - once(event, options) { - if (event === 'value' && !this.isWildcardPath) { - // Shortcut, do not start listening for future events - return this.get(options); - } - return new Promise((resolve) => { - const callback = (snap) => { - this.off(event, callback); // unsubscribe directly - resolve(snap); - }; - this.on(event, callback); - }); - } - /** - * @param value optional value to store into the database right away - * @param onComplete optional callback function to run once value has been stored - * @returns returns promise that resolves with the reference after the passed value has been stored - */ - push(value, onComplete) { - if (this.isWildcardPath) { - const error = new Error(`Cannot push to wildcard path "/${this.path}"`); - if (typeof value === 'undefined' || typeof onComplete === 'function') { - throw error; - } - return Promise.reject(error); - } - const id = id_1.ID.generate(); - const ref = this.child(id); - ref[_private].pushed = true; - if (typeof value !== 'undefined') { - return ref.set(value, onComplete).then(() => ref); - } - else { - return ref; - } - } - /** - * Removes this node and all children - */ - async remove() { - if (this.isWildcardPath) { - throw new Error(`Cannot remove wildcard path "/${this.path}". Use query().remove instead`); - } - if (this.parent === null) { - throw new Error('Cannot remove the root node'); - } - return this.set(null); - } - /** - * Quickly checks if this reference has a value in the database, without returning its data - * @returns returns a promise that resolves with a boolean value - */ - async exists() { - if (this.isWildcardPath) { - throw new Error(`Cannot check wildcard path "/${this.path}" existence`); - } - if (!this.db.isReady) { - await this.db.ready(); - } - return this.db.api.exists(this.path); - } - get isWildcardPath() { - return this.path.indexOf('*') >= 0 || this.path.indexOf('$') >= 0; - } - /** - * Creates a query object for current node - */ - query() { - return new DataReferenceQuery(this); - } - /** - * Gets the number of children this node has, uses reflection - */ - async count() { - const info = await this.reflect('info', { child_count: true }); - return info.children.count; - } - async reflect(type, args) { - if (this.isWildcardPath) { - throw new Error(`Cannot reflect on wildcard path "/${this.path}"`); - } - if (!this.db.isReady) { - await this.db.ready(); - } - return this.db.api.reflect(this.path, type, args); - } - async export(write, options = { format: 'json', type_safe: true }) { - if (this.isWildcardPath) { - throw new Error(`Cannot export wildcard path "/${this.path}"`); - } - if (!this.db.isReady) { - await this.db.ready(); - } - const writeFn = typeof write === 'function' ? write : write.write.bind(write); - return this.db.api.export(this.path, writeFn, options); - } - /** - * Imports the value of this node and all children - * @param read Function that reads data from your stream - * @param options Only supported format currently is json - * @returns returns a promise that resolves once all data is imported - */ - async import(read, options = { format: 'json', suppress_events: false }) { - if (this.isWildcardPath) { - throw new Error(`Cannot import to wildcard path "/${this.path}"`); - } - if (!this.db.isReady) { - await this.db.ready(); - } - return this.db.api.import(this.path, read, options); - } - proxy(options) { - const isOptionsArg = typeof options === 'object' && (typeof options.cursor !== 'undefined' || typeof options.defaultValue !== 'undefined'); - if (typeof options !== 'undefined' && !isOptionsArg) { - this.db.debug.warn('Warning: live data proxy is being initialized with a deprecated method signature. Use ref.proxy(options) instead of ref.proxy(defaultValue)'); - options = { defaultValue: options }; - } - return data_proxy_1.LiveDataProxy.create(this, options); - } - /** - * @param options optional initial data retrieval options. - * Not recommended to use yet - given includes/excludes are not applied to received mutations, - * or sync actions when using an AceBaseClient with cache db. - */ - observe(options) { - // options should not be used yet - we can't prevent/filter mutation events on excluded paths atm - if (options) { - throw new Error('observe does not support data retrieval options yet'); - } - if (this.isWildcardPath) { - throw new Error(`Cannot observe wildcard path "/${this.path}"`); - } - const Observable = (0, optional_observable_1.getObservable)(); - return new Observable(observer => { - let cache, resolved = false; - let promise = this.get(options).then(snap => { - resolved = true; - cache = snap.val(); - observer.next(cache); - }); - const updateCache = (snap) => { - if (!resolved) { - promise = promise.then(() => updateCache(snap)); - return; - } - const mutatedPath = snap.ref.path; - if (mutatedPath === this.path) { - cache = snap.val(); - return observer.next(cache); - } - const trailKeys = path_info_1.PathInfo.getPathKeys(mutatedPath).slice(path_info_1.PathInfo.getPathKeys(this.path).length); - let target = cache; - while (trailKeys.length > 1) { - const key = trailKeys.shift(); - if (!(key in target)) { - // Happens if initial loaded data did not include / excluded this data, - // or we missed out on an event - target[key] = typeof trailKeys[0] === 'number' ? [] : {}; - } - target = target[key]; - } - const prop = trailKeys.shift(); - const newValue = snap.val(); - if (newValue === null) { - // Remove it - target instanceof Array && typeof prop === 'number' ? target.splice(prop, 1) : delete target[prop]; - } - else { - // Set or update it - target[prop] = newValue; - } - observer.next(cache); - }; - this.on('mutated', updateCache); // TODO: Refactor to 'mutations' event instead - // Return unsubscribe function - return () => { - this.off('mutated', updateCache); - }; - }); - } - async forEach(callbackOrOptions, callback) { - let options; - if (typeof callbackOrOptions === 'function') { - callback = callbackOrOptions; - } - else { - options = callbackOrOptions; - } - if (typeof callback !== 'function') { - throw new TypeError('No callback function given'); - } - // Get all children through reflection. This could be tweaked further using paging - const info = await this.reflect('children', { limit: 0, skip: 0 }); // Gets ALL child keys - const summary = { - canceled: false, - total: info.list.length, - processed: 0, - }; - // Iterate through all children until callback returns false - for (let i = 0; i < info.list.length; i++) { - const key = info.list[i].key; - // Get child data - const snapshot = await this.child(key).get(options); - summary.processed++; - if (!snapshot.exists()) { - // Was removed in the meantime, skip - continue; - } - // Run callback - const result = await callback(snapshot); - if (result === false) { - summary.canceled = true; - break; // Stop looping - } - } - return summary; - } - async getMutations(cursorOrDate) { - const cursor = typeof cursorOrDate === 'string' ? cursorOrDate : undefined; - const timestamp = cursorOrDate === null || typeof cursorOrDate === 'undefined' ? 0 : cursorOrDate instanceof Date ? cursorOrDate.getTime() : undefined; - return this.db.api.getMutations({ path: this.path, cursor, timestamp }); - } - async getChanges(cursorOrDate) { - const cursor = typeof cursorOrDate === 'string' ? cursorOrDate : undefined; - const timestamp = cursorOrDate === null || typeof cursorOrDate === 'undefined' ? 0 : cursorOrDate instanceof Date ? cursorOrDate.getTime() : undefined; - return this.db.api.getChanges({ path: this.path, cursor, timestamp }); - } -} -exports.DataReference = DataReference; -class DataReferenceQuery { - /** - * Creates a query on a reference - */ - constructor(ref) { - this.ref = ref; - this[_private] = { - filters: [], - skip: 0, - take: 0, - order: [], - events: {}, - }; - } - /** - * Applies a filter to the children of the refence being queried. - * If there is an index on the property key being queried, it will be used - * to speed up the query - * @param key property to test value of - * @param op operator to use - * @param compare value to compare with - */ - filter(key, op, compare) { - if ((op === 'in' || op === '!in') && (!(compare instanceof Array) || compare.length === 0)) { - throw new Error(`${op} filter for ${key} must supply an Array compare argument containing at least 1 value`); - } - if ((op === 'between' || op === '!between') && (!(compare instanceof Array) || compare.length !== 2)) { - throw new Error(`${op} filter for ${key} must supply an Array compare argument containing 2 values`); - } - if ((op === 'matches' || op === '!matches') && !(compare instanceof RegExp)) { - throw new Error(`${op} filter for ${key} must supply a RegExp compare argument`); - } - // DISABLED 2019/10/23 because it is not fully implemented only works locally - // if (op === "custom" && typeof compare !== "function") { - // throw `${op} filter for ${key} must supply a Function compare argument`; - // } - // DISABLED 2022/08/15, implemented by query.ts in acebase - // if ((op === 'contains' || op === '!contains') && ((typeof compare === 'object' && !(compare instanceof Array) && !(compare instanceof Date)) || (compare instanceof Array && compare.length === 0))) { - // throw new Error(`${op} filter for ${key} must supply a simple value or (non-zero length) array compare argument`); - // } - this[_private].filters.push({ key, op, compare }); - return this; - } - /** - * @deprecated use `.filter` instead - */ - where(key, op, compare) { - return this.filter(key, op, compare); - } - /** - * Limits the number of query results - */ - take(n) { - this[_private].take = n; - return this; - } - /** - * Skips the first n query results - */ - skip(n) { - this[_private].skip = n; - return this; - } - sort(key, ascending = true) { - if (!['string', 'number'].includes(typeof key)) { - throw 'key must be a string or number'; - } - this[_private].order.push({ key, ascending }); - return this; - } - /** - * @deprecated use `.sort` instead - */ - order(key, ascending = true) { - return this.sort(key, ascending); - } - get(optionsOrCallback, callback) { - if (!this.ref.db.isReady) { - const promise = this.ref.db.ready().then(() => this.get(optionsOrCallback, callback)); - return typeof optionsOrCallback !== 'function' && typeof callback !== 'function' ? promise : undefined; // only return promise if no callback is used - } - callback = - typeof optionsOrCallback === 'function' - ? optionsOrCallback - : typeof callback === 'function' - ? callback - : undefined; - const options = new QueryDataRetrievalOptions(typeof optionsOrCallback === 'object' ? optionsOrCallback : { snapshots: true, cache_mode: 'allow' }); - options.allow_cache = options.cache_mode !== 'bypass'; // Backward compatibility when using older acebase-client - options.eventHandler = ev => { - // TODO: implement context for query events - if (!this[_private].events[ev.name]) { - return false; - } - const listeners = this[_private].events[ev.name]; - if (typeof listeners !== 'object' || listeners.length === 0) { - return false; - } - if (['add', 'change', 'remove'].includes(ev.name)) { - const ref = new DataReference(this.ref.db, ev.path); - const eventData = { name: ev.name }; - if (options.snapshots && ev.name !== 'remove') { - const val = db.types.deserialize(ev.path, ev.value); - eventData.snapshot = new data_snapshot_1.DataSnapshot(ref, val, false); - } - else { - eventData.ref = ref; - } - ev = eventData; - } - listeners.forEach(callback => { try { - callback(ev); - } - catch (e) { } }); - }; - // Check if there are event listeners set for realtime changes - options.monitor = { add: false, change: false, remove: false }; - if (this[_private].events) { - if (this[_private].events['add'] && this[_private].events['add'].length > 0) { - options.monitor.add = true; - } - if (this[_private].events['change'] && this[_private].events['change'].length > 0) { - options.monitor.change = true; - } - if (this[_private].events['remove'] && this[_private].events['remove'].length > 0) { - options.monitor.remove = true; - } - } - // Stop realtime results if they are still enabled on a previous .get on this instance - this.stop(); - // NOTE: returning promise here, regardless of callback argument. Good argument to refactor method to async/await soon - const db = this.ref.db; - return db.api.query(this.ref.path, this[_private], options) - .catch(err => { - throw new Error(err); - }) - .then(res => { - const { stop } = res; - let { results, context } = res; - this.stop = async () => { - await stop(); - }; - if (!('results' in res && 'context' in res)) { - console.warn('Query results missing context. Update your acebase and/or acebase-client packages'); - results = res, context = {}; - } - if (options.snapshots) { - const snaps = results.map(result => { - const val = db.types.deserialize(result.path, result.val); - return new data_snapshot_1.DataSnapshot(db.ref(result.path), val, false, undefined, context); - }); - return DataSnapshotsArray.from(snaps); - } - else { - const refs = results.map(path => db.ref(path)); - return DataReferencesArray.from(refs); - } - }) - .then(results => { - callback && callback(results); - return results; - }); - } - /** - * Stops a realtime query, no more notifications will be received. - */ - async stop() { - // Overridden by .get - } - /** - * Executes the query and returns references. Short for `.get({ snapshots: false })` - * @param callback callback to use instead of returning a promise - * @returns returns an Promise that resolves with an array of DataReferences, or void when using a callback - * @deprecated Use `find` instead - */ - getRefs(callback) { - return this.get({ snapshots: false }, callback); - } - /** - * Executes the query and returns an array of references. Short for `.get({ snapshots: false })` - */ - find() { - return this.get({ snapshots: false }); - } - /** - * Executes the query and returns the number of results - */ - async count() { - const refs = await this.find(); - return refs.length; - } - /** - * Executes the query and returns if there are any results - */ - async exists() { - const originalTake = this[_private].take; - const p = this.take(1).find(); - this.take(originalTake); - const refs = await p; - return refs.length !== 0; - } - /** - * Executes the query, removes all matches from the database - * @returns returns a Promise that resolves once all matches have been removed - */ - async remove(callback) { - const refs = await this.find(); - // Perform updates on each distinct parent collection (only 1 parent if this is not a wildcard path) - const parentUpdates = refs.reduce((parents, ref) => { - const parent = parents[ref.parent.path]; - if (!parent) { - parents[ref.parent.path] = [ref]; - } - else { - parent.push(ref); - } - return parents; - }, {}); - const db = this.ref.db; - const promises = Object.keys(parentUpdates).map(async (parentPath) => { - const updates = refs.reduce((updates, ref) => { - updates[ref.key] = null; - return updates; - }, {}); - const ref = db.ref(parentPath); - try { - await ref.update(updates); - return { ref, success: true }; - } - catch (error) { - return { ref, success: false, error }; - } - }); - const results = await Promise.all(promises); - callback && callback(results); - return results; - } - on(event, callback) { - if (!this[_private].events[event]) { - this[_private].events[event] = []; - } - this[_private].events[event].push(callback); - return this; - } - /** - * Unsubscribes from (a) previously added event(s) - * @param event Name of the event - * @param callback callback function to remove - * @returns returns reference to this query - */ - off(event, callback) { - if (typeof event === 'undefined') { - this[_private].events = {}; - return this; - } - if (!this[_private].events[event]) { - return this; - } - if (typeof callback === 'undefined') { - delete this[_private].events[event]; - return this; - } - const index = this[_private].events[event].indexOf(callback); - if (!~index) { - return this; - } - this[_private].events[event].splice(index, 1); - return this; - } - async forEach(callbackOrOptions, callback) { - let options; - if (typeof callbackOrOptions === 'function') { - callback = callbackOrOptions; - } - else { - options = callbackOrOptions; - } - if (typeof callback !== 'function') { - throw new TypeError('No callback function given'); - } - // Get all query results. This could be tweaked further using paging - const refs = await this.find(); - const summary = { - canceled: false, - total: refs.length, - processed: 0, - }; - // Iterate through all children until callback returns false - for (let i = 0; i < refs.length; i++) { - const ref = refs[i]; - // Get child data - const snapshot = await ref.get(options); - summary.processed++; - if (!snapshot.exists()) { - // Was removed in the meantime, skip - continue; - } - // Run callback - const result = await callback(snapshot); - if (result === false) { - summary.canceled = true; - break; // Stop looping - } - } - return summary; - } -} -exports.DataReferenceQuery = DataReferenceQuery; -class DataSnapshotsArray extends Array { - static from(snaps) { - const arr = new DataSnapshotsArray(snaps.length); - snaps.forEach((snap, i) => arr[i] = snap); - return arr; - } - getValues() { - return this.map(snap => snap.val()); - } -} -exports.DataSnapshotsArray = DataSnapshotsArray; -class DataReferencesArray extends Array { - static from(refs) { - const arr = new DataReferencesArray(refs.length); - refs.forEach((ref, i) => arr[i] = ref); - return arr; - } - getPaths() { - return this.map(ref => ref.path); - } -} -exports.DataReferencesArray = DataReferencesArray; - -},{"./data-proxy":7,"./data-snapshot":9,"./id":11,"./optional-observable":14,"./path-info":16,"./subscription":23}],9:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MutationsDataSnapshot = exports.DataSnapshot = void 0; -const path_info_1 = require("./path-info"); -function getChild(snapshot, path, previous = false) { - if (!snapshot.exists()) { - return null; - } - let child = previous ? snapshot.previous() : snapshot.val(); - if (typeof path === 'number') { - return child[path]; - } - path_info_1.PathInfo.getPathKeys(path).every(key => { - child = child[key]; - return typeof child !== 'undefined'; - }); - return child || null; -} -function getChildren(snapshot) { - if (!snapshot.exists()) { - return []; - } - const value = snapshot.val(); - if (value instanceof Array) { - return new Array(value.length).map((v, i) => i); - } - if (typeof value === 'object') { - return Object.keys(value); - } - return []; -} -class DataSnapshot { - /** - * Creates a new DataSnapshot instance - */ - constructor(ref, value, isRemoved = false, prevValue, context) { - this.ref = ref; - this.val = () => { return value; }; - this.previous = () => { return prevValue; }; - this.exists = () => { - if (isRemoved) { - return false; - } - return value !== null && typeof value !== 'undefined'; - }; - this.context = () => { return context || {}; }; - } - /** - * Indicates whether the node exists in the database - */ - exists() { return false; } - /** - * Creates a `DataSnapshot` instance - * @internal (for internal use) - */ - static for(ref, value) { - return new DataSnapshot(ref, value); - } - /** - * Gets a new snapshot for a child node - * @param path child key or path - * @returns Returns a `DataSnapshot` of the child - */ - child(path) { - // Create new snapshot for child data - const val = getChild(this, path, false); - const prev = getChild(this, path, true); - return new DataSnapshot(this.ref.child(path), val, false, prev); - } - /** - * Checks if the snapshot's value has a child with the given key or path - * @param path child key or path - */ - hasChild(path) { - return getChild(this, path) !== null; - } - /** - * Indicates whether the the snapshot's value has any child nodes - */ - hasChildren() { - return getChildren(this).length > 0; - } - /** - * The number of child nodes in this snapshot - */ - numChildren() { - return getChildren(this).length; - } - /** - * Runs a callback function for each child node in this snapshot until the callback returns false - * @param callback function that is called with a snapshot of each child node in this snapshot. - * Must return a boolean value that indicates whether to continue iterating or not. - */ - forEach(callback) { - const value = this.val(); - const prev = this.previous(); - return getChildren(this).every((key) => { - const snap = new DataSnapshot(this.ref.child(key), value[key], false, prev[key]); - return callback(snap); - }); - } - /** - * The key of the node's path - */ - get key() { return this.ref.key; } -} -exports.DataSnapshot = DataSnapshot; -class MutationsDataSnapshot extends DataSnapshot { - constructor(ref, mutations, context) { - super(ref, mutations, false, undefined, context); - /** - * Don't use this to get previous values of mutated nodes. - * Use `.previous` properties on the individual child snapshots instead. - * @throws Throws an error if you do use it. - */ - this.previous = () => { throw new Error('Iterate values to get previous values for each mutation'); }; - this.val = (warn = true) => { - if (warn) { - console.warn('Unless you know what you are doing, it is best not to use the value of a mutations snapshot directly. Use child methods and forEach to iterate the mutations instead'); - } - return mutations; - }; - } - /** - * Runs a callback function for each mutation in this snapshot until the callback returns false - * @param callback function that is called with a snapshot of each mutation in this snapshot. Must return a boolean value that indicates whether to continue iterating or not. - * @returns Returns whether every child was interated - */ - forEach(callback) { - const mutations = this.val(); - return mutations.every(mutation => { - const ref = mutation.target.reduce((ref, key) => ref.child(key), this.ref); - const snap = new DataSnapshot(ref, mutation.val, false, mutation.prev); - return callback(snap); - }); - } - /** - * Gets a snapshot of a mutated node - * @param index index of the mutation - * @returns Returns a DataSnapshot of the mutated node - */ - child(index) { - if (typeof index !== 'number') { - throw new Error('child index must be a number'); - } - const mutation = this.val()[index]; - const ref = mutation.target.reduce((ref, key) => ref.child(key), this.ref); - return new DataSnapshot(ref, mutation.val, false, mutation.prev); - } -} -exports.MutationsDataSnapshot = MutationsDataSnapshot; - -},{"./path-info":16}],10:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.DebugLogger = void 0; -const process_1 = require("./process"); -// eslint-disable-next-line @typescript-eslint/no-empty-function -const noop = () => { }; -class DebugLogger { - constructor(level = 'log', prefix = '') { - this.level = level; - this.prefix = prefix; - this.setLevel(level); - } - setLevel(level) { - const prefix = this.prefix ? this.prefix + ' %s' : ''; - this.verbose = ['verbose'].includes(level) ? prefix ? console.log.bind(console, prefix) : console.log.bind(console) : noop; - this.log = ['verbose', 'log'].includes(level) ? prefix ? console.log.bind(console, prefix) : console.log.bind(console) : noop; - this.warn = ['verbose', 'log', 'warn'].includes(level) ? prefix ? console.warn.bind(console, prefix) : console.warn.bind(console) : noop; - this.error = ['verbose', 'log', 'warn', 'error'].includes(level) ? prefix ? console.error.bind(console, prefix) : console.error.bind(console) : noop; - this.write = (text) => { - const isRunKit = typeof process_1.default !== 'undefined' && process_1.default.env && typeof process_1.default.env.RUNKIT_ENDPOINT_PATH === 'string'; - if (text && isRunKit) { - text.split('\n').forEach(line => console.log(line)); // Logs each line separately - } - else { - console.log(text); - } - }; - } -} -exports.DebugLogger = DebugLogger; - -},{"./process":18}],11:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ID = void 0; -const cuid_1 = require("./cuid"); -// const uuid62 = require('uuid62'); -let timeBias = 0; -class ID { - /** - * (for internal use) - * bias in milliseconds to adjust generated cuid timestamps with - */ - static set timeBias(bias) { - if (typeof bias !== 'number') { - return; - } - timeBias = bias; - } - static generate() { - // Could also use https://www.npmjs.com/package/pushid for Firebase style 20 char id's - return (0, cuid_1.default)(timeBias).slice(1); // Cuts off the always leading 'c' - // return uuid62.v1(); - } -} -exports.ID = ID; - -},{"./cuid":5}],12:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ObjectCollection = exports.PartialArray = exports.SchemaDefinition = exports.Colorize = exports.ColorStyle = exports.SimpleEventEmitter = exports.SimpleCache = exports.ascii85 = exports.PathInfo = exports.Utils = exports.TypeMappings = exports.Transport = exports.EventSubscription = exports.EventPublisher = exports.EventStream = exports.PathReference = exports.ID = exports.DebugLogger = exports.OrderedCollectionProxy = exports.proxyAccess = exports.MutationsDataSnapshot = exports.DataSnapshot = exports.DataReferencesArray = exports.DataSnapshotsArray = exports.QueryDataRetrievalOptions = exports.DataRetrievalOptions = exports.DataReferenceQuery = exports.DataReference = exports.Api = exports.AceBaseBaseSettings = exports.AceBaseBase = void 0; -var acebase_base_1 = require("./acebase-base"); -Object.defineProperty(exports, "AceBaseBase", { enumerable: true, get: function () { return acebase_base_1.AceBaseBase; } }); -Object.defineProperty(exports, "AceBaseBaseSettings", { enumerable: true, get: function () { return acebase_base_1.AceBaseBaseSettings; } }); -var api_1 = require("./api"); -Object.defineProperty(exports, "Api", { enumerable: true, get: function () { return api_1.Api; } }); -var data_reference_1 = require("./data-reference"); -Object.defineProperty(exports, "DataReference", { enumerable: true, get: function () { return data_reference_1.DataReference; } }); -Object.defineProperty(exports, "DataReferenceQuery", { enumerable: true, get: function () { return data_reference_1.DataReferenceQuery; } }); -Object.defineProperty(exports, "DataRetrievalOptions", { enumerable: true, get: function () { return data_reference_1.DataRetrievalOptions; } }); -Object.defineProperty(exports, "QueryDataRetrievalOptions", { enumerable: true, get: function () { return data_reference_1.QueryDataRetrievalOptions; } }); -Object.defineProperty(exports, "DataSnapshotsArray", { enumerable: true, get: function () { return data_reference_1.DataSnapshotsArray; } }); -Object.defineProperty(exports, "DataReferencesArray", { enumerable: true, get: function () { return data_reference_1.DataReferencesArray; } }); -var data_snapshot_1 = require("./data-snapshot"); -Object.defineProperty(exports, "DataSnapshot", { enumerable: true, get: function () { return data_snapshot_1.DataSnapshot; } }); -Object.defineProperty(exports, "MutationsDataSnapshot", { enumerable: true, get: function () { return data_snapshot_1.MutationsDataSnapshot; } }); -var data_proxy_1 = require("./data-proxy"); -Object.defineProperty(exports, "proxyAccess", { enumerable: true, get: function () { return data_proxy_1.proxyAccess; } }); -Object.defineProperty(exports, "OrderedCollectionProxy", { enumerable: true, get: function () { return data_proxy_1.OrderedCollectionProxy; } }); -var debug_1 = require("./debug"); -Object.defineProperty(exports, "DebugLogger", { enumerable: true, get: function () { return debug_1.DebugLogger; } }); -var id_1 = require("./id"); -Object.defineProperty(exports, "ID", { enumerable: true, get: function () { return id_1.ID; } }); -var path_reference_1 = require("./path-reference"); -Object.defineProperty(exports, "PathReference", { enumerable: true, get: function () { return path_reference_1.PathReference; } }); -var subscription_1 = require("./subscription"); -Object.defineProperty(exports, "EventStream", { enumerable: true, get: function () { return subscription_1.EventStream; } }); -Object.defineProperty(exports, "EventPublisher", { enumerable: true, get: function () { return subscription_1.EventPublisher; } }); -Object.defineProperty(exports, "EventSubscription", { enumerable: true, get: function () { return subscription_1.EventSubscription; } }); -exports.Transport = require("./transport"); -var type_mappings_1 = require("./type-mappings"); -Object.defineProperty(exports, "TypeMappings", { enumerable: true, get: function () { return type_mappings_1.TypeMappings; } }); -exports.Utils = require("./utils"); -var path_info_1 = require("./path-info"); -Object.defineProperty(exports, "PathInfo", { enumerable: true, get: function () { return path_info_1.PathInfo; } }); -var ascii85_1 = require("./ascii85"); -Object.defineProperty(exports, "ascii85", { enumerable: true, get: function () { return ascii85_1.ascii85; } }); -var simple_cache_1 = require("./simple-cache"); -Object.defineProperty(exports, "SimpleCache", { enumerable: true, get: function () { return simple_cache_1.SimpleCache; } }); -var simple_event_emitter_1 = require("./simple-event-emitter"); -Object.defineProperty(exports, "SimpleEventEmitter", { enumerable: true, get: function () { return simple_event_emitter_1.SimpleEventEmitter; } }); -var simple_colors_1 = require("./simple-colors"); -Object.defineProperty(exports, "ColorStyle", { enumerable: true, get: function () { return simple_colors_1.ColorStyle; } }); -Object.defineProperty(exports, "Colorize", { enumerable: true, get: function () { return simple_colors_1.Colorize; } }); -var schema_1 = require("./schema"); -Object.defineProperty(exports, "SchemaDefinition", { enumerable: true, get: function () { return schema_1.SchemaDefinition; } }); -var partial_array_1 = require("./partial-array"); -Object.defineProperty(exports, "PartialArray", { enumerable: true, get: function () { return partial_array_1.PartialArray; } }); -const object_collection_1 = require("./object-collection"); -Object.defineProperty(exports, "ObjectCollection", { enumerable: true, get: function () { return object_collection_1.ObjectCollection; } }); - -},{"./acebase-base":1,"./api":2,"./ascii85":3,"./data-proxy":7,"./data-reference":8,"./data-snapshot":9,"./debug":10,"./id":11,"./object-collection":13,"./partial-array":15,"./path-info":16,"./path-reference":17,"./schema":19,"./simple-cache":20,"./simple-colors":21,"./simple-event-emitter":22,"./subscription":23,"./transport":24,"./type-mappings":25,"./utils":26}],13:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ObjectCollection = void 0; -const id_1 = require("./id"); -/** - * Convenience interface for defining an object collection - * @example - * type ChatMessage = { - * text: string, uid: string, sent: Date - * } - * type Chat = { - * title: text - * messages: ObjectCollection - * } - */ -class ObjectCollection { - /** - * Converts and array of values into an object collection, generating a unique key for each item in the array - * @param array - * @example - * const array = [ - * { title: "Don't make me think!", author: "Steve Krug" }, - * { title: "The tipping point", author: "Malcolm Gladwell" } - * ]; - * - * // Convert: - * const collection = ObjectCollection.from(array); - * // --> { - * // kh1x3ygb000120r7ipw6biln: { - * // title: "Don't make me think!", - * // author: "Steve Krug" - * // }, - * // kh1x3ygb000220r757ybpyec: { - * // title: "The tipping point", - * // author: "Malcolm Gladwell" - * // } - * // } - * - * // Now it's easy to add them to the db: - * db.ref('books').update(collection); - */ - static from(array) { - const collection = {}; - array.forEach(child => { - collection[id_1.ID.generate()] = child; - }); - return collection; - } -} -exports.ObjectCollection = ObjectCollection; - -},{"./id":11}],14:[function(require,module,exports){ -"use strict"; -// Optional dependency on rxjs package. If rxjs is installed into your project, you'll get the correct -// typings for AceBase methods that use Observables, and you'll be able to use them. If you don't use -// those methods, there is no need to install rxjs. -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ObservableShim = exports.setObservable = exports.getObservable = void 0; -let _observable; -function getObservable() { - if (_observable) { - return _observable; - } - if (typeof window !== 'undefined' && window.Observable) { - _observable = window.Observable; - return _observable; - } - try { - // eslint-disable-next-line @typescript-eslint/no-var-requires - const { Observable } = require('rxjs'); // fails in ESM module, need an elegant way to handle this. Can't use dynamic import() because it 1) requires Node 12+ and 2) causes Webpack build to fail if rxjs is not installed - if (!Observable) { - throw new Error('not loaded'); - } - _observable = Observable; - return Observable; - } - catch (err) { - throw new Error('RxJS Observable could not be loaded. If you are using a browser build, add it to AceBase using db.setObservable. For node.js builds, add it to your project with: npm i rxjs'); - } -} -exports.getObservable = getObservable; -function setObservable(Observable) { - if (Observable === 'shim') { - console.warn('Using AceBase\'s simple Observable shim. Only use this if you know what you\'re doing.'); - Observable = ObservableShim; - } - _observable = Observable; -} -exports.setObservable = setObservable; -/** - * rxjs is an optional dependency that only needs installing when any of AceBase's observe methods are used. - * If for some reason rxjs is not available (eg in test suite), we can provide a shim. This class is used when - * `db.setObservable("shim")` is called - */ -class ObservableShim { - constructor(create) { - this._active = false; - this._subscribers = []; - this._create = create; - } - subscribe(subscriber) { - if (!this._active) { - const next = (value) => { - // emit value to all subscribers - this._subscribers.forEach(s => { - try { - s(value); - } - catch (err) { - console.error('Error in subscriber callback:', err); - } - }); - }; - const observer = { next }; - this._cleanup = this._create(observer); - this._active = true; - } - this._subscribers.push(subscriber); - const unsubscribe = () => { - this._subscribers.splice(this._subscribers.indexOf(subscriber), 1); - if (this._subscribers.length === 0) { - this._active = false; - this._cleanup(); - } - }; - const subscription = { - unsubscribe, - }; - return subscription; - } -} -exports.ObservableShim = ObservableShim; - -},{"rxjs":27}],15:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.PartialArray = void 0; -/** - * Sparse/partial array converted to a serializable object. Use `Object.keys(sparseArray)` and `Object.values(sparseArray)` to iterate its indice and/or values - */ -class PartialArray { - constructor(sparseArray) { - if (sparseArray instanceof Array) { - for (let i = 0; i < sparseArray.length; i++) { - if (typeof sparseArray[i] !== 'undefined') { - this[i] = sparseArray[i]; - } - } - } - else if (sparseArray) { - Object.assign(this, sparseArray); - } - } -} -exports.PartialArray = PartialArray; - -},{}],16:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.PathInfo = void 0; -function getPathKeys(path) { - path = path.replace(/\[/g, '/[').replace(/^\/+/, '').replace(/\/+$/, ''); // Replace [ with /[, remove leading slashes, remove trailing slashes - if (path.length === 0) { - return []; - } - const keys = path.split('/'); - return keys.map(key => { - return key.startsWith('[') ? parseInt(key.slice(1, -1)) : key; - }); -} -class PathInfo { - constructor(path) { - if (typeof path === 'string') { - this.keys = getPathKeys(path); - } - else if (path instanceof Array) { - this.keys = path; - } - this.path = this.keys.reduce((path, key, i) => i === 0 ? `${key}` : typeof key === 'string' ? `${path}/${key}` : `${path}[${key}]`, ''); - } - static get(path) { - return new PathInfo(path); - } - static getChildPath(path, childKey) { - // return getChildPath(path, childKey); - return PathInfo.get(path).child(childKey).path; - } - static getPathKeys(path) { - return getPathKeys(path); - } - get key() { - return this.keys.length === 0 ? null : this.keys.slice(-1)[0]; - } - get parent() { - if (this.keys.length == 0) { - return null; - } - const parentKeys = this.keys.slice(0, -1); - return new PathInfo(parentKeys); - } - get parentPath() { - return this.keys.length === 0 ? null : this.parent.path; - } - child(childKey) { - if (typeof childKey === 'string') { - childKey = getPathKeys(childKey); - } - return new PathInfo(this.keys.concat(childKey)); - } - childPath(childKey) { - return this.child(childKey).path; - } - get pathKeys() { - return this.keys; - } - /** - * If varPath contains variables or wildcards, it will return them with the values found in fullPath - * @param {string} varPath path containing variables such as * and $name - * @param {string} fullPath real path to a node - * @returns {{ [index: number]: string|number, [variable: string]: string|number }} returns an array-like object with all variable values. All named variables are also set on the array by their name (eg vars.uid and vars.$uid) - * @example - * PathInfo.extractVariables('users/$uid/posts/$postid', 'users/ewout/posts/post1/title') === { - * 0: 'ewout', - * 1: 'post1', - * uid: 'ewout', // or $uid - * postid: 'post1' // or $postid - * }; - * - * PathInfo.extractVariables('users/*\/posts/*\/$property', 'users/ewout/posts/post1/title') === { - * 0: 'ewout', - * 1: 'post1', - * 2: 'title', - * property: 'title' // or $property - * }; - * - * PathInfo.extractVariables('users/$user/friends[*]/$friend', 'users/dora/friends[4]/diego') === { - * 0: 'dora', - * 1: 4, - * 2: 'diego', - * user: 'dora', // or $user - * friend: 'diego' // or $friend - * }; - */ - static extractVariables(varPath, fullPath) { - if (!varPath.includes('*') && !varPath.includes('$')) { - return []; - } - // if (!this.equals(fullPath)) { - // throw new Error(`path does not match with the path of this PathInfo instance: info.equals(path) === false!`) - // } - const keys = getPathKeys(varPath); - const pathKeys = getPathKeys(fullPath); - let count = 0; - const variables = { - get length() { return count; }, - }; - keys.forEach((key, index) => { - const pathKey = pathKeys[index]; - if (key === '*') { - variables[count++] = pathKey; - } - else if (typeof key === 'string' && key[0] === '$') { - variables[count++] = pathKey; - // Set the $variable property - variables[key] = pathKey; - // Set friendly property name (without $) - const varName = key.slice(1); - if (typeof variables[varName] === 'undefined') { - variables[varName] = pathKey; - } - } - }); - return variables; - } - /** - * If varPath contains variables or wildcards, it will return a path with the variables replaced by the keys found in fullPath. - * @example - * PathInfo.fillVariables('users/$uid/posts/$postid', 'users/ewout/posts/post1/title') === 'users/ewout/posts/post1' - */ - static fillVariables(varPath, fullPath) { - if (varPath.indexOf('*') < 0 && varPath.indexOf('$') < 0) { - return varPath; - } - const keys = getPathKeys(varPath); - const pathKeys = getPathKeys(fullPath); - const merged = keys.map((key, index) => { - if (key === pathKeys[index] || index >= pathKeys.length) { - return key; - } - else if (typeof key === 'string' && (key === '*' || key[0] === '$')) { - return pathKeys[index]; - } - else { - throw new Error(`Path "${fullPath}" cannot be used to fill variables of path "${varPath}" because they do not match`); - } - }); - let mergedPath = ''; - merged.forEach(key => { - if (typeof key === 'number') { - mergedPath += `[${key}]`; - } - else { - if (mergedPath.length > 0) { - mergedPath += '/'; - } - mergedPath += key; - } - }); - return mergedPath; - } - /** - * Replaces all variables in a path with the values in the vars argument - * @param varPath path containing variables - * @param vars variables object such as one gotten from PathInfo.extractVariables - */ - static fillVariables2(varPath, vars) { - if (typeof vars !== 'object' || Object.keys(vars).length === 0) { - return varPath; // Nothing to fill - } - const pathKeys = getPathKeys(varPath); - let n = 0; - const targetPath = pathKeys.reduce((path, key) => { - if (typeof key === 'string' && (key === '*' || key.startsWith('$'))) { - return PathInfo.getChildPath(path, vars[n++]); - } - else { - return PathInfo.getChildPath(path, key); - } - }, ''); - return targetPath; - } - /** - * Checks if a given path matches this path, eg "posts/*\/title" matches "posts/12344/title" and "users/123/name" matches "users/$uid/name" - */ - equals(otherPath) { - const other = otherPath instanceof PathInfo ? otherPath : new PathInfo(otherPath); - if (this.path === other.path) { - return true; - } // they are identical - if (this.keys.length !== other.keys.length) { - return false; - } - return this.keys.every((key, index) => { - const otherKey = other.keys[index]; - return otherKey === key - || (typeof otherKey === 'string' && (otherKey === '*' || otherKey[0] === '$')) - || (typeof key === 'string' && (key === '*' || key[0] === '$')); - }); - } - /** - * Checks if a given path is an ancestor, eg "posts" is an ancestor of "posts/12344/title" - */ - isAncestorOf(descendantPath) { - const descendant = descendantPath instanceof PathInfo ? descendantPath : new PathInfo(descendantPath); - if (descendant.path === '' || this.path === descendant.path) { - return false; - } - if (this.path === '') { - return true; - } - if (this.keys.length >= descendant.keys.length) { - return false; - } - return this.keys.every((key, index) => { - const otherKey = descendant.keys[index]; - return otherKey === key - || (typeof otherKey === 'string' && (otherKey === '*' || otherKey[0] === '$')) - || (typeof key === 'string' && (key === '*' || key[0] === '$')); - }); - } - /** - * Checks if a given path is a descendant, eg "posts/1234/title" is a descendant of "posts" - */ - isDescendantOf(ancestorPath) { - const ancestor = ancestorPath instanceof PathInfo ? ancestorPath : new PathInfo(ancestorPath); - if (this.path === '' || this.path === ancestor.path) { - return false; - } - if (ancestorPath === '') { - return true; - } - if (ancestor.keys.length >= this.keys.length) { - return false; - } - return ancestor.keys.every((key, index) => { - const otherKey = this.keys[index]; - return otherKey === key - || (typeof otherKey === 'string' && (otherKey === '*' || otherKey[0] === '$')) - || (typeof key === 'string' && (key === '*' || key[0] === '$')); - }); - } - /** - * Checks if the other path is on the same trail as this path. Paths on the same trail if they share a - * common ancestor. Eg: "posts" is on the trail of "posts/1234/title" and vice versa. - */ - isOnTrailOf(otherPath) { - const other = otherPath instanceof PathInfo ? otherPath : new PathInfo(otherPath); - if (this.path.length === 0 || other.path.length === 0) { - return true; - } - if (this.path === other.path) { - return true; - } - return this.pathKeys.every((key, index) => { - if (index >= other.keys.length) { - return true; - } - const otherKey = other.keys[index]; - return otherKey === key - || (typeof otherKey === 'string' && (otherKey === '*' || otherKey[0] === '$')) - || (typeof key === 'string' && (key === '*' || key[0] === '$')); - }); - } - /** - * Checks if a given path is a direct child, eg "posts/1234/title" is a child of "posts/1234" - */ - isChildOf(otherPath) { - const other = otherPath instanceof PathInfo ? otherPath : new PathInfo(otherPath); - if (this.path === '') { - return false; - } // If our path is the root, it's nobody's child... - return this.parent.equals(other); - } - /** - * Checks if a given path is its parent, eg "posts/1234" is the parent of "posts/1234/title" - */ - isParentOf(otherPath) { - const other = otherPath instanceof PathInfo ? otherPath : new PathInfo(otherPath); - if (other.path === '') { - return false; - } // If the other path is the root, this path cannot be its parent - return this.equals(other.parent); - } -} -exports.PathInfo = PathInfo; - -},{}],17:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.PathReference = void 0; -class PathReference { - /** - * Creates a reference to a path that can be stored in the database. Use this to create cross-references to other data in your database - * @param path - */ - constructor(path) { - this.path = path; - } -} -exports.PathReference = PathReference; - -},{}],18:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = { - // eslint-disable-next-line @typescript-eslint/ban-types - nextTick(fn) { - setTimeout(fn, 0); - }, -}; - -},{}],19:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SchemaDefinition = void 0; -// parses a typestring, creates checker functions -function parse(definition) { - // tokenize - let pos = 0; - function consumeSpaces() { - let c; - while (c = definition[pos], [' ', '\r', '\n', '\t'].includes(c)) { - pos++; - } - } - function consumeCharacter(c) { - if (definition[pos] !== c) { - throw new Error(`Unexpected character at position ${pos}. Expected: '${c}', found '${definition[pos]}'`); - } - pos++; - } - function readProperty() { - consumeSpaces(); - const prop = { name: '', optional: false, wildcard: false }; - let c; - while (c = definition[pos], c === '_' || c === '$' || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (prop.name.length > 0 && c >= '0' && c <= '9') || (prop.name.length === 0 && c === '*')) { - prop.name += c; - pos++; - } - if (prop.name.length === 0) { - throw new Error(`Property name expected at position ${pos}, found: ${definition.slice(pos, pos + 10)}..`); - } - if (definition[pos] === '?') { - prop.optional = true; - pos++; - } - if (prop.name === '*' || prop.name[0] === '$') { - prop.optional = true; - prop.wildcard = true; - } - consumeSpaces(); - consumeCharacter(':'); - return prop; - } - function readType() { - consumeSpaces(); - let type = { typeOf: 'any' }, c; - // try reading simple type first: (string,number,boolean,Date etc) - let name = ''; - while (c = definition[pos], (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) { - name += c; - pos++; - } - if (name.length === 0) { - if (definition[pos] === '*') { - // any value - consumeCharacter('*'); - type.typeOf = 'any'; - } - else if (['\'', '"', '`'].includes(definition[pos])) { - // Read string value - type.typeOf = 'string'; - type.value = ''; - const quote = definition[pos]; - consumeCharacter(quote); - while (c = definition[pos], c && c !== quote) { - type.value += c; - pos++; - } - consumeCharacter(quote); - } - else if (definition[pos] >= '0' && definition[pos] <= '9') { - // read numeric value - type.typeOf = 'number'; - let nr = ''; - while (c = definition[pos], c === '.' || c === 'n' || (c >= '0' && c <= '9')) { - nr += c; - pos++; - } - if (nr.endsWith('n')) { - type.value = BigInt(nr); - } - else if (nr.includes('.')) { - type.value = parseFloat(nr); - } - else { - type.value = parseInt(nr); - } - } - else if (definition[pos] === '{') { - // Read object (interface) definition - consumeCharacter('{'); - type.typeOf = 'object'; - type.instanceOf = Object; - // Read children: - type.children = []; - while (true) { - const prop = readProperty(); - const types = readTypes(); - type.children.push({ name: prop.name, optional: prop.optional, wildcard: prop.wildcard, types }); - consumeSpaces(); - if (definition[pos] === '}') { - break; - } - consumeCharacter(','); - } - consumeCharacter('}'); - } - else if (definition[pos] === '/') { - // Read regular expression definition - consumeCharacter('/'); - let pattern = '', flags = ''; - while (c = definition[pos], c !== '/' || pattern.endsWith('\\')) { - pattern += c; - pos++; - } - consumeCharacter('/'); - while (c = definition[pos], ['g', 'i', 'm', 's', 'u', 'y', 'd'].includes(c)) { - flags += c; - pos++; - } - type.typeOf = 'string'; - type.matches = new RegExp(pattern, flags); - } - else { - throw new Error(`Expected a type definition at position ${pos}, found character '${definition[pos]}'`); - } - } - else if (['string', 'number', 'boolean', 'bigint', 'undefined', 'String', 'Number', 'Boolean', 'BigInt'].includes(name)) { - type.typeOf = name.toLowerCase(); - } - else if (name === 'Object' || name === 'object') { - type.typeOf = 'object'; - type.instanceOf = Object; - } - else if (name === 'Date') { - type.typeOf = 'object'; - type.instanceOf = Date; - } - else if (name === 'Binary' || name === 'binary') { - type.typeOf = 'object'; - type.instanceOf = ArrayBuffer; - } - else if (name === 'any') { - type.typeOf = 'any'; - } - else if (name === 'null') { - // This is ignored, null values are not stored in the db (null indicates deletion) - type.typeOf = 'object'; - type.value = null; - } - else if (name === 'Array') { - // Read generic Array defintion - consumeCharacter('<'); - type.typeOf = 'object'; - type.instanceOf = Array; //name; - type.genericTypes = readTypes(); - consumeCharacter('>'); - } - else if (['true', 'false'].includes(name)) { - type.typeOf = 'boolean'; - type.value = name === 'true'; - } - else { - throw new Error(`Unknown type at position ${pos}: "${type}"`); - } - // Check if it's an Array of given type (eg: string[] or string[][]) - // Also converts to generics, string[] becomes Array, string[][] becomes Array> - consumeSpaces(); - while (definition[pos] === '[') { - consumeCharacter('['); - consumeCharacter(']'); - type = { typeOf: 'object', instanceOf: Array, genericTypes: [type] }; - } - return type; - } - function readTypes() { - consumeSpaces(); - const types = [readType()]; - while (definition[pos] === '|') { - consumeCharacter('|'); - types.push(readType()); - consumeSpaces(); - } - return types; - } - return readType(); -} -function checkObject(path, properties, obj, partial) { - // Are there any properties that should not be in there? - const invalidProperties = properties.find(prop => prop.name === '*' || prop.name[0] === '$') // Only if no wildcard properties are allowed - ? [] - : Object.keys(obj).filter(key => ![null, undefined].includes(obj[key]) // Ignore null or undefined values - && !properties.find(prop => prop.name === key)); - if (invalidProperties.length > 0) { - return { ok: false, reason: `Object at path "${path}" cannot have propert${invalidProperties.length === 1 ? 'y' : 'ies'} ${invalidProperties.map(p => `"${p}"`).join(', ')}` }; - } - // Loop through properties that should be present - function checkProperty(property) { - const hasValue = ![null, undefined].includes(obj[property.name]); - if (!property.optional && (partial ? obj[property.name] === null : !hasValue)) { - return { ok: false, reason: `Property at path "${path}/${property.name}" is not optional` }; - } - if (hasValue && property.types.length === 1) { - return checkType(`${path}/${property.name}`, property.types[0], obj[property.name], false); - } - if (hasValue && !property.types.some(type => checkType(`${path}/${property.name}`, type, obj[property.name], false).ok)) { - return { ok: false, reason: `Property at path "${path}/${property.name}" does not match any of ${property.types.length} allowed types` }; - } - return { ok: true }; - } - const namedProperties = properties.filter(prop => !prop.wildcard); - const failedProperty = namedProperties.find(prop => !checkProperty(prop).ok); - if (failedProperty) { - const reason = checkProperty(failedProperty).reason; - return { ok: false, reason }; - } - const wildcardProperty = properties.find(prop => prop.wildcard); - if (!wildcardProperty) { - return { ok: true }; - } - const wildcardChildKeys = Object.keys(obj).filter(key => !namedProperties.find(prop => prop.name === key)); - let result = { ok: true }; - for (let i = 0; i < wildcardChildKeys.length && result.ok; i++) { - const childKey = wildcardChildKeys[i]; - result = checkProperty({ name: childKey, types: wildcardProperty.types, optional: true, wildcard: true }); - } - return result; -} -function checkType(path, type, value, partial, trailKeys) { - const ok = { ok: true }; - if (type.typeOf === 'any') { - return ok; - } - if (trailKeys instanceof Array && trailKeys.length > 0) { - // The value to check resides in a descendant path of given type definition. - // Recursivly check child type definitions to find a match - if (type.typeOf !== 'object') { - return { ok: false, reason: `path "${path}" must be typeof ${type.typeOf}` }; // given value resides in a child path, but parent is not allowed be an object. - } - if (!type.children) { - return ok; - } - const childKey = trailKeys[0]; - let property = type.children.find(prop => prop.name === childKey); - if (!property) { - property = type.children.find(prop => prop.name === '*' || prop.name[0] === '$'); - } - if (!property) { - return { ok: false, reason: `Object at path "${path}" cannot have property "${childKey}"` }; - } - if (property.optional && value === null && trailKeys.length === 1) { - return ok; - } - let result; - property.types.some(type => { - const childPath = typeof childKey === 'number' ? `${path}[${childKey}]` : `${path}/${childKey}`; - result = checkType(childPath, type, value, partial, trailKeys.slice(1)); - return result.ok; - }); - return result; - } - if (value === null) { - return ok; - } - if (type.instanceOf === Object && (typeof value !== 'object' || value instanceof Array || value instanceof Date)) { - return { ok: false, reason: `path "${path}" must be an object collection` }; - } - if (type.instanceOf && (typeof value !== 'object' || value.constructor !== type.instanceOf)) { // !(value instanceof type.instanceOf) // value.constructor.name !== type.instanceOf - return { ok: false, reason: `path "${path}" must be an instance of ${type.instanceOf.name}` }; - } - if ('value' in type && value !== type.value) { - return { ok: false, reason: `path "${path}" must be value: ${type.value}` }; - } - if (typeof value !== type.typeOf) { - return { ok: false, reason: `path "${path}" must be typeof ${type.typeOf}` }; - } - if (type.instanceOf === Array && type.genericTypes && !value.every(v => type.genericTypes.some(t => checkType(path, t, v, false).ok))) { - return { ok: false, reason: `every array value of path "${path}" must match one of the specified types` }; - } - if (type.typeOf === 'object' && type.children) { - return checkObject(path, type.children, value, partial); - } - if (type.matches && !type.matches.test(value)) { - return { ok: false, reason: `path "${path}" must match regular expression /${type.matches.source}/${type.matches.flags}` }; - } - return ok; -} -// eslint-disable-next-line @typescript-eslint/ban-types -function getConstructorType(val) { - switch (val) { - case String: return 'string'; - case Number: return 'number'; - case Boolean: return 'boolean'; - case Date: return 'Date'; - case BigInt: return 'bigint'; - case Array: throw new Error('Schema error: Array cannot be used without a type. Use string[] or Array instead'); - default: throw new Error(`Schema error: unknown type used: ${val.name}`); - } -} -class SchemaDefinition { - constructor(definition) { - this.source = definition; - if (typeof definition === 'object') { - // Turn object into typescript definitions - // eg: - // const example = { - // name: String, - // born: Date, - // instrument: "'guitar'|'piano'", - // "address?": { - // street: String - // } - // }; - // Resulting ts: "{name:string,born:Date,instrument:'guitar'|'piano',address?:{street:string}}" - const toTS = obj => { - return '{' + Object.keys(obj) - .map(key => { - let val = obj[key]; - if (val === undefined) { - val = 'undefined'; - } - else if (val instanceof RegExp) { - val = `/${val.source}/${val.flags}`; - } - else if (typeof val === 'object') { - val = toTS(val); - } - else if (typeof val === 'function') { - val = getConstructorType(val); - } - else if (!['string', 'number', 'boolean', 'bigint'].includes(typeof val)) { - throw new Error(`Type definition for key "${key}" must be a string, number, boolean, bigint, object, regular expression, or one of these classes: String, Number, Boolean, Date, BigInt`); - } - return `${key}:${val}`; - }) - .join(',') + '}'; - }; - this.text = toTS(definition); - } - else if (typeof definition === 'string') { - this.text = definition; - } - else { - throw new Error('Type definiton must be a string or an object'); - } - this.type = parse(this.text); - } - check(path, value, partial, trailKeys) { - return checkType(path, this.type, value, partial, trailKeys); - } -} -exports.SchemaDefinition = SchemaDefinition; - -},{}],20:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SimpleCache = void 0; -const utils_1 = require("./utils"); -const calculateExpiryTime = (expirySeconds) => expirySeconds > 0 ? Date.now() + (expirySeconds * 1000) : Infinity; -/** - * Simple cache implementation that retains immutable values in memory for a limited time. - * Immutability is enforced by cloning the stored and retrieved values. To change a cached value, it will have to be `set` again with the new value. - */ -class SimpleCache { - constructor(options) { - var _a; - this.enabled = true; - if (typeof options === 'number') { - // Old signature: only expirySeconds given - options = { expirySeconds: options }; - } - options.cloneValues = options.cloneValues !== false; - if (typeof options.expirySeconds !== 'number' && typeof options.maxEntries !== 'number') { - throw new Error('Either expirySeconds or maxEntries must be specified'); - } - this.options = options; - this.cache = new Map(); - // Cleanup every minute - const interval = setInterval(() => { this.cleanUp(); }, 60 * 1000); - (_a = interval.unref) === null || _a === void 0 ? void 0 : _a.call(interval); - } - get size() { return this.cache.size; } - has(key) { - if (!this.enabled) { - return false; - } - return this.cache.has(key); - } - get(key) { - if (!this.enabled) { - return null; - } - const entry = this.cache.get(key); - if (!entry) { - return null; - } // if (!entry || entry.expires <= Date.now()) { return null; } - entry.expires = calculateExpiryTime(this.options.expirySeconds); - entry.accessed = Date.now(); - return this.options.cloneValues ? (0, utils_1.cloneObject)(entry.value) : entry.value; - } - set(key, value) { - if (this.options.maxEntries > 0 && this.cache.size >= this.options.maxEntries && !this.cache.has(key)) { - // console.warn(`* cache limit ${this.options.maxEntries} reached: ${this.cache.size}`); - // Remove an expired item or the one that was accessed longest ago - let oldest = null; - const now = Date.now(); - for (const [key, entry] of this.cache.entries()) { - if (entry.expires <= now) { - // Found an expired item. Remove it now and stop - this.cache.delete(key); - oldest = null; - break; - } - if (!oldest || entry.accessed < oldest.accessed) { - oldest = { key, accessed: entry.accessed }; - } - } - if (oldest !== null) { - this.cache.delete(oldest.key); - } - } - this.cache.set(key, { value: this.options.cloneValues ? (0, utils_1.cloneObject)(value) : value, added: Date.now(), accessed: Date.now(), expires: calculateExpiryTime(this.options.expirySeconds) }); - } - remove(key) { - this.cache.delete(key); - } - cleanUp() { - const now = Date.now(); - this.cache.forEach((entry, key) => { - if (entry.expires <= now) { - this.cache.delete(key); - } - }); - } -} -exports.SimpleCache = SimpleCache; - -},{"./utils":26}],21:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Colorize = exports.SetColorsEnabled = exports.ColorsSupported = exports.ColorStyle = void 0; -const process_1 = require("./process"); -// See from https://en.wikipedia.org/wiki/ANSI_escape_code -const FontCode = { - bold: 1, - dim: 2, - italic: 3, - underline: 4, - inverse: 7, - hidden: 8, - strikethrough: 94, -}; -const ColorCode = { - black: 30, - red: 31, - green: 32, - yellow: 33, - blue: 34, - magenta: 35, - cyan: 36, - white: 37, - grey: 90, - // Bright colors: - brightRed: 91, - // TODO, other bright colors -}; -const BgColorCode = { - bgBlack: 40, - bgRed: 41, - bgGreen: 42, - bgYellow: 43, - bgBlue: 44, - bgMagenta: 45, - bgCyan: 46, - bgWhite: 47, - bgGrey: 100, - bgBrightRed: 101, - // TODO, other bright colors -}; -const ResetCode = { - all: 0, - color: 39, - background: 49, - bold: 22, - dim: 22, - italic: 23, - underline: 24, - inverse: 27, - hidden: 28, - strikethrough: 29, -}; -var ColorStyle; -(function (ColorStyle) { - ColorStyle["reset"] = "reset"; - ColorStyle["bold"] = "bold"; - ColorStyle["dim"] = "dim"; - ColorStyle["italic"] = "italic"; - ColorStyle["underline"] = "underline"; - ColorStyle["inverse"] = "inverse"; - ColorStyle["hidden"] = "hidden"; - ColorStyle["strikethrough"] = "strikethrough"; - ColorStyle["black"] = "black"; - ColorStyle["red"] = "red"; - ColorStyle["green"] = "green"; - ColorStyle["yellow"] = "yellow"; - ColorStyle["blue"] = "blue"; - ColorStyle["magenta"] = "magenta"; - ColorStyle["cyan"] = "cyan"; - ColorStyle["grey"] = "grey"; - ColorStyle["bgBlack"] = "bgBlack"; - ColorStyle["bgRed"] = "bgRed"; - ColorStyle["bgGreen"] = "bgGreen"; - ColorStyle["bgYellow"] = "bgYellow"; - ColorStyle["bgBlue"] = "bgBlue"; - ColorStyle["bgMagenta"] = "bgMagenta"; - ColorStyle["bgCyan"] = "bgCyan"; - ColorStyle["bgWhite"] = "bgWhite"; - ColorStyle["bgGrey"] = "bgGrey"; -})(ColorStyle = exports.ColorStyle || (exports.ColorStyle = {})); -function ColorsSupported() { - // Checks for basic color support - if (typeof process_1.default === 'undefined' || !process_1.default.stdout || !process_1.default.env || !process_1.default.platform || process_1.default.platform === 'browser') { - return false; - } - if (process_1.default.platform === 'win32') { - return true; - } - const env = process_1.default.env; - if (env.COLORTERM) { - return true; - } - if (env.TERM === 'dumb') { - return false; - } - if (env.CI || env.TEAMCITY_VERSION) { - return !!env.TRAVIS; - } - if (['iTerm.app', 'HyperTerm', 'Hyper', 'MacTerm', 'Apple_Terminal', 'vscode'].includes(env.TERM_PROGRAM)) { - return true; - } - if (/^xterm-256|^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(env.TERM)) { - return true; - } - return false; -} -exports.ColorsSupported = ColorsSupported; -let _enabled = ColorsSupported(); -function SetColorsEnabled(enabled) { - _enabled = ColorsSupported() && enabled; -} -exports.SetColorsEnabled = SetColorsEnabled; -function Colorize(str, style) { - if (!_enabled) { - return str; - } - const openCodes = [], closeCodes = []; - const addStyle = style => { - if (style === ColorStyle.reset) { - openCodes.push(ResetCode.all); - } - else if (style in FontCode) { - openCodes.push(FontCode[style]); - closeCodes.push(ResetCode[style]); - } - else if (style in ColorCode) { - openCodes.push(ColorCode[style]); - closeCodes.push(ResetCode.color); - } - else if (style in BgColorCode) { - openCodes.push(BgColorCode[style]); - closeCodes.push(ResetCode.background); - } - }; - if (style instanceof Array) { - style.forEach(addStyle); - } - else { - addStyle(style); - } - // const open = '\u001b[' + openCodes.join(';') + 'm'; - // const close = '\u001b[' + closeCodes.join(';') + 'm'; - const open = openCodes.map(code => '\u001b[' + code + 'm').join(''); - const close = closeCodes.map(code => '\u001b[' + code + 'm').join(''); - // return open + str + close; - return str.split('\n').map(line => open + line + close).join('\n'); -} -exports.Colorize = Colorize; -String.prototype.colorize = function (style) { - return Colorize(this, style); -}; - -},{"./process":18}],22:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SimpleEventEmitter = void 0; -function runCallback(callback, data) { - try { - callback(data); - } - catch (err) { - console.error('Error in subscription callback', err); - } -} -class SimpleEventEmitter { - constructor() { - this._subscriptions = []; - this._oneTimeEvents = new Map(); - } - on(event, callback) { - if (this._oneTimeEvents.has(event)) { - return runCallback(callback, this._oneTimeEvents.get(event)); - } - this._subscriptions.push({ event, callback, once: false }); - return this; - } - off(event, callback) { - this._subscriptions = this._subscriptions.filter(s => s.event !== event || (callback && s.callback !== callback)); - return this; - } - once(event, callback) { - return new Promise(resolve => { - const ourCallback = (data) => { - resolve(data); - callback === null || callback === void 0 ? void 0 : callback(data); - }; - if (this._oneTimeEvents.has(event)) { - runCallback(ourCallback, this._oneTimeEvents.get(event)); - } - else { - this._subscriptions.push({ event, callback: ourCallback, once: true }); - } - }); - } - emit(event, data) { - if (this._oneTimeEvents.has(event)) { - throw new Error(`Event "${event}" was supposed to be emitted only once`); - } - for (let i = 0; i < this._subscriptions.length; i++) { - const s = this._subscriptions[i]; - if (s.event !== event) { - continue; - } - runCallback(s.callback, data); - if (s.once) { - this._subscriptions.splice(i, 1); - i--; - } - } - return this; - } - emitOnce(event, data) { - if (this._oneTimeEvents.has(event)) { - throw new Error(`Event "${event}" was supposed to be emitted only once`); - } - this.emit(event, data); - this._oneTimeEvents.set(event, data); // Mark event as being emitted once for future subscribers - this.off(event); // Remove all listeners for this event, they won't fire again - return this; - } -} -exports.SimpleEventEmitter = SimpleEventEmitter; - -},{}],23:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.EventStream = exports.EventPublisher = exports.EventSubscription = void 0; -class EventSubscription { - /** - * @param stop function that stops the subscription from receiving future events - */ - constructor(stop) { - this.stop = stop; - this._internal = { - state: 'init', - activatePromises: [], - }; - } - /** - * Notifies when subscription is activated or canceled - * @param callback optional callback to run each time activation state changes - * @returns returns a promise that resolves once activated, or rejects when it is denied (and no callback was supplied) - */ - activated(callback) { - if (callback) { - this._internal.activatePromises.push({ callback }); - if (this._internal.state === 'active') { - callback(true); - } - else if (this._internal.state === 'canceled') { - callback(false, this._internal.cancelReason); - } - } - // Changed behaviour: now also returns a Promise when the callback is used. - // This allows for 1 activated call to both handle: first activation result, - // and any future events using the callback - return new Promise((resolve, reject) => { - if (this._internal.state === 'active') { - return resolve(); - } - else if (this._internal.state === 'canceled' && !callback) { - return reject(new Error(this._internal.cancelReason)); - } - // eslint-disable-next-line @typescript-eslint/no-empty-function - const noop = () => { }; - this._internal.activatePromises.push({ - resolve, - reject: callback ? noop : reject, // Don't reject when callback is used: let callback handle this (prevents UnhandledPromiseRejection if only callback is used) - }); - }); - } - /** (for internal use) */ - _setActivationState(activated, cancelReason) { - this._internal.cancelReason = cancelReason; - this._internal.state = activated ? 'active' : 'canceled'; - while (this._internal.activatePromises.length > 0) { - const p = this._internal.activatePromises.shift(); - if (activated) { - p.callback && p.callback(true); - p.resolve && p.resolve(); - } - else { - p.callback && p.callback(false, cancelReason); - p.reject && p.reject(cancelReason); - } - } - } -} -exports.EventSubscription = EventSubscription; -class EventPublisher { - /** - * - * @param publish function that publishes a new value to subscribers, return if there are any active subscribers - * @param start function that notifies subscribers their subscription is activated - * @param cancel function that notifies subscribers their subscription has been canceled, removes all subscriptions - */ - constructor(publish, start, cancel) { - this.publish = publish; - this.start = start; - this.cancel = cancel; - } -} -exports.EventPublisher = EventPublisher; -class EventStream { - constructor(eventPublisherCallback) { - const subscribers = []; - let noMoreSubscribersCallback; - let activationState; - const _stoppedState = 'stopped (no more subscribers)'; - this.subscribe = (callback, activationCallback) => { - if (typeof callback !== 'function') { - throw new TypeError('callback must be a function'); - } - else if (activationState === _stoppedState) { - throw new Error('stream can\'t be used anymore because all subscribers were stopped'); - } - const sub = { - callback, - activationCallback: function (activated, cancelReason) { - activationCallback && activationCallback(activated, cancelReason); - this.subscription._setActivationState(activated, cancelReason); - }, - subscription: new EventSubscription(function stop() { - subscribers.splice(subscribers.indexOf(this), 1); - return checkActiveSubscribers(); - }), - }; - subscribers.push(sub); - if (typeof activationState !== 'undefined') { - if (activationState === true) { - activationCallback && activationCallback(true); - sub.subscription._setActivationState(true); - } - else if (typeof activationState === 'string') { - activationCallback && activationCallback(false, activationState); - sub.subscription._setActivationState(false, activationState); - } - } - return sub.subscription; - }; - const checkActiveSubscribers = () => { - let ret; - if (subscribers.length === 0) { - ret = noMoreSubscribersCallback && noMoreSubscribersCallback(); - activationState = _stoppedState; - } - return Promise.resolve(ret); - }; - this.unsubscribe = (callback) => { - const remove = callback - ? subscribers.filter(sub => sub.callback === callback) - : subscribers; - remove.forEach(sub => { - const i = subscribers.indexOf(sub); - subscribers.splice(i, 1); - }); - checkActiveSubscribers(); - }; - this.stop = () => { - // Stop (remove) all subscriptions - subscribers.splice(0); - checkActiveSubscribers(); - }; - /** - * For publishing side: adds a value that will trigger callbacks to all subscribers - * @param {any} val - * @returns {boolean} returns whether there are subscribers left - */ - const publish = (val) => { - subscribers.forEach(sub => { - try { - sub.callback(val); - } - catch (err) { - console.error(`Error running subscriber callback: ${err.message}`); - } - }); - if (subscribers.length === 0) { - checkActiveSubscribers(); - } - return subscribers.length > 0; - }; - /** - * For publishing side: let subscribers know their subscription is activated. Should be called only once - */ - const start = (allSubscriptionsStoppedCallback) => { - activationState = true; - noMoreSubscribersCallback = allSubscriptionsStoppedCallback; - subscribers.forEach(sub => { - sub.activationCallback && sub.activationCallback(true); - }); - }; - /** - * For publishing side: let subscribers know their subscription has been canceled. Should be called only once - */ - const cancel = (reason) => { - activationState = reason; - subscribers.forEach(sub => { - sub.activationCallback && sub.activationCallback(false, reason || new Error('unknown reason')); - }); - subscribers.splice(0); // Clear all - }; - const publisher = new EventPublisher(publish, start, cancel); - eventPublisherCallback(publisher); - } -} -exports.EventStream = EventStream; - -},{}],24:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.deserialize2 = exports.serialize2 = exports.serialize = exports.detectSerializeVersion = exports.deserialize = void 0; -const path_reference_1 = require("./path-reference"); -const utils_1 = require("./utils"); -const ascii85_1 = require("./ascii85"); -const path_info_1 = require("./path-info"); -const partial_array_1 = require("./partial-array"); -/* - There are now 2 different serialization methods for transporting values. - - v1: - The original version (v1) created an object with "map" and "val" properties. - The "map" property was made optional in v1.14.1 so they won't be present for values needing no serializing - - v2: - The new version replaces serialized values inline by objects containing ".type" and ".val" properties. - This serializing method was introduced by `export` and `import` methods because they use streaming and - are unable to prepare type mappings up-front. This format is smaller in transmission (in many cases), - and easier to read and process. - - original: { "date": (some date) } - v1 serialized: { "map": { "date": "date" }, "val": { date: "2022-04-22T07:49:23Z" } } - v2 serialized: { "date": { ".type": "date", ".val": "2022-04-22T07:49:23Z" } } - - original: (some date) - v1 serialized: { "map": "date", "val": "2022-04-22T07:49:23Z" } - v2 serialized: { ".type": "date", ".val": "2022-04-22T07:49:23Z" } - comment: top level value that need serializing is wrapped in an object with ".type" and ".val". v1 is smaller in this case - - original: 'some string' - v1 serialized: { "map": {}, "val": "some string" } - v2 serialized: "some string" - comment: primitive types such as strings don't need serializing and are returned as is in v2 - - original: { "date": (some date), "text": "Some string" } - v1 serialized: { "map": { "date": "date" }, "val": { date: "2022-04-22T07:49:23Z", "text": "Some string" } } - v2 serialized: { "date": { ".type": "date", ".val": "2022-04-22T07:49:23Z" }, "text": "Some string" } -*/ -/** - * Original deserialization method using global `map` and `val` properties - * @param data - * @returns - */ -const deserialize = (data) => { - if (data.map === null || typeof data.map === 'undefined') { - if (typeof data.val === 'undefined') { - throw new Error('serialized value must have a val property'); - } - return data.val; - } - const deserializeValue = (type, val) => { - if (type === 'date') { - // Date was serialized as a string (UTC) - return new Date(val); - } - else if (type === 'binary') { - // ascii85 encoded binary data - return ascii85_1.ascii85.decode(val); - } - else if (type === 'reference') { - return new path_reference_1.PathReference(val); - } - else if (type === 'regexp') { - return new RegExp(val.pattern, val.flags); - } - else if (type === 'array') { - return new partial_array_1.PartialArray(val); - } - else if (type === 'bigint') { - return BigInt(val); - } - return val; - }; - if (typeof data.map === 'string') { - // Single value - return deserializeValue(data.map, data.val); - } - Object.keys(data.map).forEach(path => { - const type = data.map[path]; - const keys = path_info_1.PathInfo.getPathKeys(path); - let parent = data; - let key = 'val'; - let val = data.val; - keys.forEach(k => { - key = k; - parent = val; - val = val[key]; // If an error occurs here, there's something wrong with the calling code... - }); - parent[key] = deserializeValue(type, val); - }); - return data.val; -}; -exports.deserialize = deserialize; -/** - * Function to detect the used serialization method with for the given object - * @param data - * @returns - */ -const detectSerializeVersion = (data) => { - if (typeof data !== 'object' || data === null) { - // This can only be v2, which allows primitive types to bypass serializing - return 2; - } - if ('map' in data && 'val' in data) { - return 1; - } - else if ('val' in data) { - // If it's v1, 'val' will be the only key in the object because serialize2 adds ".version": 2 to the object to prevent confusion. - if (Object.keys(data).length > 1) { - return 2; - } - return 1; - } - return 2; -}; -exports.detectSerializeVersion = detectSerializeVersion; -/** - * Original serialization method using global `map` and `val` properties - * @param data - * @returns - */ -const serialize = (obj) => { - var _a; - // Recursively find dates and binary data - if (obj === null || typeof obj !== 'object' || obj instanceof Date || obj instanceof ArrayBuffer || obj instanceof path_reference_1.PathReference || obj instanceof RegExp) { - // Single value - const ser = (0, exports.serialize)({ value: obj }); - return { - map: (_a = ser.map) === null || _a === void 0 ? void 0 : _a.value, - val: ser.val.value, - }; - } - obj = (0, utils_1.cloneObject)(obj); // Make sure we don't alter the original object - const process = (obj, mappings, prefix) => { - if (obj instanceof partial_array_1.PartialArray) { - mappings[prefix] = 'array'; - } - Object.keys(obj).forEach(key => { - const val = obj[key]; - const path = prefix.length === 0 ? key : `${prefix}/${key}`; - if (typeof val === 'bigint') { - obj[key] = val.toString(); - mappings[path] = 'bigint'; - } - else if (val instanceof Date) { - // serialize date to UTC string - obj[key] = val.toISOString(); - mappings[path] = 'date'; - } - else if (val instanceof ArrayBuffer) { - // Serialize binary data with ascii85 - obj[key] = ascii85_1.ascii85.encode(val); //ascii85.encode(Buffer.from(val)).toString(); - mappings[path] = 'binary'; - } - else if (val instanceof path_reference_1.PathReference) { - obj[key] = val.path; - mappings[path] = 'reference'; - } - else if (val instanceof RegExp) { - // Queries using the 'matches' filter with a regular expression can now also be used on remote db's - obj[key] = { pattern: val.source, flags: val.flags }; - mappings[path] = 'regexp'; - } - else if (typeof val === 'object' && val !== null) { - process(val, mappings, path); - } - }); - }; - const mappings = {}; - process(obj, mappings, ''); - const serialized = { val: obj }; - if (Object.keys(mappings).length > 0) { - serialized.map = mappings; - } - return serialized; -}; -exports.serialize = serialize; -/** - * New serialization method using inline `.type` and `.val` properties - * @param obj - * @returns - */ -const serialize2 = (obj) => { - // Recursively find data that needs serializing - const getSerializedValue = (val) => { - if (typeof val === 'bigint') { - // serialize bigint to string - return { - '.type': 'bigint', - '.val': val.toString(), - }; - } - else if (val instanceof Date) { - // serialize date to UTC string - return { - '.type': 'date', - '.val': val.toISOString(), - }; - } - else if (val instanceof ArrayBuffer) { - // Serialize binary data with ascii85 - return { - '.type': 'binary', - '.val': ascii85_1.ascii85.encode(val), - }; - } - else if (val instanceof path_reference_1.PathReference) { - return { - '.type': 'reference', - '.val': val.path, - }; - } - else if (val instanceof RegExp) { - // Queries using the 'matches' filter with a regular expression can now also be used on remote db's - return { - '.type': 'regexp', - '.val': `/${val.source}/${val.flags}`, // new: shorter - // '.val': { - // pattern: val.source, - // flags: val.flags - // } - }; - } - else if (typeof val === 'object' && val !== null) { - if (val instanceof Array) { - const copy = []; - for (let i = 0; i < val.length; i++) { - copy[i] = getSerializedValue(val[i]); - } - return copy; - } - else { - const copy = {}; //val instanceof Array ? [] : {} as SerializedValueV2; - if (val instanceof partial_array_1.PartialArray) { - // Mark the object as partial ("sparse") array - copy['.type'] = 'array'; - } - for (const prop in val) { - copy[prop] = getSerializedValue(val[prop]); - } - return copy; - } - } - else { - // Primitive value. Don't serialize - return val; - } - }; - const serialized = getSerializedValue(obj); - if (serialized !== null && typeof serialized === 'object' && 'val' in serialized && Object.keys(serialized).length === 1) { - // acebase-core v1.14.1 made the 'map' property optional. - // This v2 serialized object might be confused with a v1 without mappings, because it only has a "val" property - // To prevent this, mark the serialized object with version 2 - serialized['.version'] = 2; - } - return serialized; -}; -exports.serialize2 = serialize2; -/** - * New deserialization method using inline `.type` and `.val` properties - * @param obj - * @returns - */ -const deserialize2 = (data) => { - if (typeof data !== 'object' || data === null) { - // primitive value, not serialized - return data; - } - if (typeof data['.type'] === 'undefined') { - // No type given: this is a plain object or array - if (data instanceof Array) { - // Plain array, deserialize items into a copy - const copy = []; - const arr = data; - for (let i = 0; i < arr.length; i++) { - copy.push((0, exports.deserialize2)(arr[i])); - } - return copy; - } - else { - // Plain object, deserialize properties into a copy - const copy = {}; - const obj = data; - for (const prop in obj) { - copy[prop] = (0, exports.deserialize2)(obj[prop]); - } - return copy; - } - } - else if (typeof data['.type'] === 'string') { - const dataType = data['.type'].toLowerCase(); - if (dataType === 'bigint') { - const val = data['.val']; - return BigInt(val); - } - else if (dataType === 'array') { - // partial ("sparse") array, deserialize children into a copy - const copy = {}; - for (const index in data) { - copy[index] = (0, exports.deserialize2)(data[index]); - } - delete copy['.type']; - return new partial_array_1.PartialArray(copy); - } - else if (dataType === 'date') { - // Date was serialized as a string (UTC) - const val = data['.val']; - return new Date(val); - } - else if (dataType === 'binary') { - // ascii85 encoded binary data - const val = data['.val']; - return ascii85_1.ascii85.decode(val); - } - else if (dataType === 'reference') { - const val = data['.val']; - return new path_reference_1.PathReference(val); - } - else if (dataType === 'regexp') { - const val = data['.val']; - if (typeof val === 'string') { - // serialized as '/(pattern)/flags' - const match = /^\/(.*)\/([a-z]+)$/.exec(val); - return new RegExp(match[1], match[2]); - } - // serialized as object with pattern & flags properties - return new RegExp(val.pattern, val.flags); - } - } - throw new Error(`Unknown data type "${data['.type']}" in serialized value`); -}; -exports.deserialize2 = deserialize2; - -},{"./ascii85":3,"./partial-array":15,"./path-info":16,"./path-reference":17,"./utils":26}],25:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.TypeMappings = void 0; -const utils_1 = require("./utils"); -const path_info_1 = require("./path-info"); -const data_reference_1 = require("./data-reference"); -const data_snapshot_1 = require("./data-snapshot"); -/** - * (for internal use) - gets the mapping set for a specific path - */ -function get(mappings, path) { - // path points to the mapped (object container) location - path = path.replace(/^\/|\/$/g, ''); // trim slashes - const keys = path_info_1.PathInfo.getPathKeys(path); - const mappedPath = Object.keys(mappings).find(mpath => { - const mkeys = path_info_1.PathInfo.getPathKeys(mpath); - if (mkeys.length !== keys.length) { - return false; // Can't be a match - } - return mkeys.every((mkey, index) => { - if (mkey === '*' || mkey[0] === '$') { - return true; // wildcard - } - return mkey === keys[index]; - }); - }); - const mapping = mappings[mappedPath]; - return mapping; -} -/** - * (for internal use) - gets the mapping set for a specific path's parent - */ -function map(mappings, path) { - // path points to the object location, its parent should have the mapping - const targetPath = path_info_1.PathInfo.get(path).parentPath; - if (targetPath === null) { - return; - } - return get(mappings, targetPath); -} -/** - * (for internal use) - gets all mappings set for a specific path and all subnodes - * @returns returns array of all matched mappings in path - */ -function mapDeep(mappings, entryPath) { - // returns mapping for this node, and all mappings for nested nodes - // entryPath: "users/ewout" - // mappingPath: "users" - // mappingPath: "users/*/posts" - entryPath = entryPath.replace(/^\/|\/$/g, ''); // trim slashes - // Start with current path's parent node - const pathInfo = path_info_1.PathInfo.get(entryPath); - const startPath = pathInfo.parentPath; - const keys = startPath ? path_info_1.PathInfo.getPathKeys(startPath) : []; - // Every path that starts with startPath, is a match - // TODO: refactor to return Object.keys(mappings),filter(...) - const matches = Object.keys(mappings).reduce((m, mpath) => { - //const mkeys = mpath.length > 0 ? mpath.split("/") : []; - const mkeys = path_info_1.PathInfo.getPathKeys(mpath); - if (mkeys.length < keys.length) { - return m; // Can't be a match - } - let isMatch = true; - if (keys.length === 0 && startPath !== null) { - // Only match first node's children if mapping pattern is "*" or "$variable" - isMatch = mkeys.length === 1 && (mkeys[0] === '*' || mkeys[0][0] === '$'); - } - else { - mkeys.every((mkey, index) => { - if (index >= keys.length) { - return false; // stop .every loop - } - else if (mkey === '*' || mkey[0] === '$' || mkey === keys[index]) { - return true; // continue .every loop - } - else { - isMatch = false; - return false; // stop .every loop - } - }); - } - if (isMatch) { - const mapping = mappings[mpath]; - m.push({ path: mpath, type: mapping }); - } - return m; - }, []); - return matches; -} -/** - * (for internal use) - serializes or deserializes an object using type mappings - * @returns returns the (de)serialized value - */ -function process(db, mappings, path, obj, action) { - if (obj === null || typeof obj !== 'object') { - return obj; - } - const keys = path_info_1.PathInfo.getPathKeys(path); // path.length > 0 ? path.split("/") : []; - const m = mapDeep(mappings, path); - const changes = []; - m.sort((a, b) => path_info_1.PathInfo.getPathKeys(a.path).length > path_info_1.PathInfo.getPathKeys(b.path).length ? -1 : 1); // Deepest paths first - m.forEach(mapping => { - const mkeys = path_info_1.PathInfo.getPathKeys(mapping.path); //mapping.path.length > 0 ? mapping.path.split("/") : []; - mkeys.push('*'); - const mTrailKeys = mkeys.slice(keys.length); - if (mTrailKeys.length === 0) { - const vars = path_info_1.PathInfo.extractVariables(mapping.path, path); - const ref = new data_reference_1.DataReference(db, path, vars); - if (action === 'serialize') { - // serialize this object - obj = mapping.type.serialize(obj, ref); - } - else if (action === 'deserialize') { - // deserialize this object - const snap = new data_snapshot_1.DataSnapshot(ref, obj); - obj = mapping.type.deserialize(snap); - } - return; - } - // Find all nested objects at this trail path - const process = (parentPath, parent, keys) => { - if (obj === null || typeof obj !== 'object') { - return obj; - } - const key = keys[0]; - let children = []; - if (key === '*' || key[0] === '$') { - // Include all children - if (parent instanceof Array) { - children = parent.map((val, index) => ({ key: index, val })); - } - else { - children = Object.keys(parent).map(k => ({ key: k, val: parent[k] })); - } - } - else { - // Get the 1 child - const child = parent[key]; - if (typeof child === 'object') { - children.push({ key, val: child }); - } - } - children.forEach(child => { - const childPath = path_info_1.PathInfo.getChildPath(parentPath, child.key); - const vars = path_info_1.PathInfo.extractVariables(mapping.path, childPath); - const ref = new data_reference_1.DataReference(db, childPath, vars); - if (keys.length === 1) { - // TODO: this alters the existing object, we must build our own copy! - if (action === 'serialize') { - // serialize this object - changes.push({ parent, key: child.key, original: parent[child.key] }); - parent[child.key] = mapping.type.serialize(child.val, ref); - } - else if (action === 'deserialize') { - // deserialize this object - const snap = new data_snapshot_1.DataSnapshot(ref, child.val); - parent[child.key] = mapping.type.deserialize(snap); - } - } - else { - // Dig deeper - process(childPath, child.val, keys.slice(1)); - } - }); - }; - process(path, obj, mTrailKeys); - }); - if (action === 'serialize') { - // Clone this serialized object so any types that remained - // will become plain objects without functions, and we can restore - // the original object's values if any mappings were processed. - // This will also prevent circular references - obj = (0, utils_1.cloneObject)(obj); - if (changes.length > 0) { - // Restore the changes made to the original object - changes.forEach(change => { - change.parent[change.key] = change.original; - }); - } - } - return obj; -} -const _mappings = Symbol('mappings'); -class TypeMappings { - constructor(db) { - this.db = db; - this[_mappings] = {}; - } - /** (for internal use) */ - get mappings() { return this[_mappings]; } - /** (for internal use) */ - map(path) { - return map(this[_mappings], path); - } - /** - * Maps objects that are stored in a specific path to a class, so they can automatically be - * serialized when stored to, and deserialized (instantiated) when loaded from the database. - * @param path path to an object container, eg "users" or "users/*\/posts" - * @param type class to bind all child objects of path to - * Best practice is to implement 2 methods for instantiation and serializing of your objects: - * 1) `static create(snap: DataSnapshot)` and 2) `serialize(ref: DataReference)`. See example - * @param options (optional) You can specify the functions to use to - * serialize and/or instantiate your class. If you do not specificy a creator (constructor) method, - * AceBase will call `YourClass.create(snapshot)` method if it exists, or create an instance of - * YourClass with `new YourClass(snapshot)`. - * If you do not specifiy a serializer method, AceBase will call `YourClass.prototype.serialize(ref)` - * if it exists, or tries storing your object's fields unaltered. NOTE: `this` in your creator - * function will point to `YourClass`, and `this` in your serializer function will point to the - * `instance` of `YourClass`. - * @example - * class User { - * static create(snap: DataSnapshot): User { - * // Deserialize (instantiate) User from plain database object - * let user = new User(); - * Object.assign(user, snap.val()); // Copy all properties to user - * user.id = snap.ref.key; // Add the key as id - * return user; - * } - * serialize(ref: DataReference) { - * // Serialize user for database storage - * return { - * name: this.name - * email: this.email - * }; - * } - * } - * db.types.bind('users', User); // Automatically uses serialize and static create methods - */ - bind(path, type, options = {}) { - // Maps objects that are stored in a specific path to a constructor method, - // so they are automatically deserialized - if (typeof path !== 'string') { - throw new TypeError('path must be a string'); - } - if (typeof type !== 'function') { - throw new TypeError('constructor must be a function'); - } - if (typeof options.serializer === 'undefined') { - // if (typeof type.prototype.serialize === 'function') { - // // Use .serialize instance method - // options.serializer = type.prototype.serialize; - // } - // Use object's serialize method upon serialization (if available) - } - else if (typeof options.serializer === 'string') { - if (typeof type.prototype[options.serializer] === 'function') { - options.serializer = type.prototype[options.serializer]; - } - else { - throw new TypeError(`${type.name}.prototype.${options.serializer} is not a function, cannot use it as serializer`); - } - } - else if (typeof options.serializer !== 'function') { - throw new TypeError(`serializer for class ${type.name} must be a function, or the name of a prototype method`); - } - if (typeof options.creator === 'undefined') { - if (typeof type.create === 'function') { - // Use static .create as creator method - options.creator = type.create; - } - } - else if (typeof options.creator === 'string') { - if (typeof type[options.creator] === 'function') { - options.creator = type[options.creator]; - } - else { - throw new TypeError(`${type.name}.${options.creator} is not a function, cannot use it as creator`); - } - } - else if (typeof options.creator !== 'function') { - throw new TypeError(`creator for class ${type.name} must be a function, or the name of a static method`); - } - path = path.replace(/^\/|\/$/g, ''); // trim slashes - this[_mappings][path] = { - db: this.db, - type, - creator: options.creator, - serializer: options.serializer, - deserialize(snap) { - // run constructor method - let obj; - if (this.creator) { - obj = this.creator.call(this.type, snap); - } - else { - obj = new this.type(snap); - } - return obj; - }, - serialize(obj, ref) { - if (this.serializer) { - obj = this.serializer.call(obj, ref, obj); - } - else if (obj && typeof obj.serialize === 'function') { - obj = obj.serialize(ref, obj); - } - return obj; - }, - }; - } - /** - * (for internal use) - * Serializes any child in given object that has a type mapping - * @param {string} path | path to the object's location - * @param {object} obj | object to serialize - */ - serialize(path, obj) { - return process(this.db, this[_mappings], path, obj, 'serialize'); - } - /** - * (for internal use) - * Deserialzes any child in given object that has a type mapping - * @param {string} path | path to the object's location - * @param {object} obj | object to deserialize - */ - deserialize(path, obj) { - return process(this.db, this[_mappings], path, obj, 'deserialize'); - } -} -exports.TypeMappings = TypeMappings; - -},{"./data-reference":8,"./data-snapshot":9,"./path-info":16,"./utils":26}],26:[function(require,module,exports){ -(function (Buffer){(function (){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.defer = exports.getChildValues = exports.getMutations = exports.compareValues = exports.ObjectDifferences = exports.valuesAreEqual = exports.cloneObject = exports.concatTypedArrays = exports.decodeString = exports.encodeString = exports.bytesToBigint = exports.bigintToBytes = exports.bytesToNumber = exports.numberToBytes = void 0; -const path_reference_1 = require("./path-reference"); -const process_1 = require("./process"); -const partial_array_1 = require("./partial-array"); -function numberToBytes(number) { - const bytes = new Uint8Array(8); - const view = new DataView(bytes.buffer); - view.setFloat64(0, number); - return new Array(...bytes); -} -exports.numberToBytes = numberToBytes; -function bytesToNumber(bytes) { - const length = Array.isArray(bytes) ? bytes.length : bytes.byteLength; - if (length !== 8) { - throw new TypeError('must be 8 bytes'); - } - const bin = new Uint8Array(bytes); - const view = new DataView(bin.buffer); - const nr = view.getFloat64(0); - return nr; -} -exports.bytesToNumber = bytesToNumber; -const big = { - zero: BigInt(0), - one: BigInt(1), - two: BigInt(2), - eight: BigInt(8), - ff: BigInt(0xff), -}; -function bigintToBytes(number) { - if (typeof number !== 'bigint') { - throw new Error('number must be a bigint'); - } - const bytes = []; - const negative = number < big.zero; - do { - const byte = Number(number & big.ff); // NOTE: bits are inverted on negative numbers - bytes.push(byte); - number = number >> big.eight; - } while (number !== (negative ? -big.one : big.zero)); - bytes.reverse(); // little-endian - if (negative ? bytes[0] < 128 : bytes[0] >= 128) { - bytes.unshift(negative ? 255 : 0); // extra sign byte needed - } - return bytes; -} -exports.bigintToBytes = bigintToBytes; -function bytesToBigint(bytes) { - const negative = bytes[0] >= 128; - let number = big.zero; - for (let b of bytes) { - if (negative) { - b = ~b & 0xff; - } // Invert the bits - number = (number << big.eight) + BigInt(b); - } - if (negative) { - number = -(number + big.one); - } - return number; -} -exports.bytesToBigint = bytesToBigint; -/** - * Converts a string to a utf-8 encoded Uint8Array - */ -function encodeString(str) { - if (typeof TextEncoder !== 'undefined') { - // Modern browsers, Node.js v11.0.0+ (or v8.3.0+ with util.TextEncoder) - const encoder = new TextEncoder(); - return encoder.encode(str); - } - else if (typeof Buffer === 'function') { - // Node.js - const buf = Buffer.from(str, 'utf-8'); - return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); - } - else { - // Older browsers. Manually encode - const arr = []; - for (let i = 0; i < str.length; i++) { - let code = str.charCodeAt(i); - if (code > 128) { - // Attempt simple UTF-8 conversion. See https://en.wikipedia.org/wiki/UTF-8 - if ((code & 0xd800) === 0xd800) { - // code starts with 1101 10...: this is a 2-part utf-16 char code - const nextCode = str.charCodeAt(i + 1); - if ((nextCode & 0xdc00) !== 0xdc00) { - // next code must start with 1101 11... - throw new Error('follow-up utf-16 character does not start with 0xDC00'); - } - i++; - const p1 = code & 0x3ff; // Only use last 10 bits - const p2 = nextCode & 0x3ff; - // Create code point from these 2: (see https://en.wikipedia.org/wiki/UTF-16) - code = 0x10000 | (p1 << 10) | p2; - } - if (code < 2048) { - // Use 2 bytes for 11 bit value, first byte starts with 110xxxxx (0xc0), 2nd byte with 10xxxxxx (0x80) - const b1 = 0xc0 | ((code >> 6) & 0x1f); // 0xc0 = 11000000, 0x1f = 11111 - const b2 = 0x80 | (code & 0x3f); // 0x80 = 10000000, 0x3f = 111111 - arr.push(b1, b2); - } - else if (code < 65536) { - // Use 3 bytes for 16-bit value, bits per byte: 4, 6, 6 - const b1 = 0xe0 | ((code >> 12) & 0xf); // 0xe0 = 11100000, 0xf = 1111 - const b2 = 0x80 | ((code >> 6) & 0x3f); // 0x80 = 10000000, 0x3f = 111111 - const b3 = 0x80 | (code & 0x3f); - arr.push(b1, b2, b3); - } - else if (code < 2097152) { - // Use 4 bytes for 21-bit value, bits per byte: 3, 6, 6, 6 - const b1 = 0xf0 | ((code >> 18) & 0x7); // 0xf0 = 11110000, 0x7 = 111 - const b2 = 0x80 | ((code >> 12) & 0x3f); // 0x80 = 10000000, 0x3f = 111111 - const b3 = 0x80 | ((code >> 6) & 0x3f); // 0x80 = 10000000, 0x3f = 111111 - const b4 = 0x80 | (code & 0x3f); - arr.push(b1, b2, b3, b4); - } - else { - throw new Error(`Cannot convert character ${str.charAt(i)} (code ${code}) to utf-8`); - } - } - else { - arr.push(code < 128 ? code : 63); // 63 = ? - } - } - return new Uint8Array(arr); - } -} -exports.encodeString = encodeString; -/** - * Converts a utf-8 encoded buffer to string - */ -function decodeString(buffer) { - if (typeof TextDecoder !== 'undefined') { - // Modern browsers, Node.js v11.0.0+ (or v8.3.0+ with util.TextDecoder) - const decoder = new TextDecoder(); - if (buffer instanceof Uint8Array) { - return decoder.decode(buffer); - } - const buf = Uint8Array.from(buffer); - return decoder.decode(buf); - } - else if (typeof Buffer === 'function') { - // Node.js (v10 and below) - if (buffer instanceof Array) { - buffer = Uint8Array.from(buffer); // convert to typed array - } - if (!(buffer instanceof Buffer) && 'buffer' in buffer && buffer.buffer instanceof ArrayBuffer) { - const typedArray = buffer; - buffer = Buffer.from(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength); // Convert typed array to node.js Buffer - } - if (!(buffer instanceof Buffer)) { - throw new Error('Unsupported buffer argument'); - } - return buffer.toString('utf-8'); - } - else { - // Older browsers. Manually decode! - if (!(buffer instanceof Uint8Array) && 'buffer' in buffer && buffer['buffer'] instanceof ArrayBuffer) { - // Convert TypedArray to Uint8Array - const typedArray = buffer; - buffer = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength); - } - if (buffer instanceof Buffer || buffer instanceof Array || buffer instanceof Uint8Array) { - let str = ''; - for (let i = 0; i < buffer.length; i++) { - let code = buffer[i]; - if (code > 128) { - // Decode Unicode character - if ((code & 0xf0) === 0xf0) { - // 4 byte char - const b1 = code, b2 = buffer[i + 1], b3 = buffer[i + 2], b4 = buffer[i + 3]; - code = ((b1 & 0x7) << 18) | ((b2 & 0x3f) << 12) | ((b3 & 0x3f) << 6) | (b4 & 0x3f); - i += 3; - } - else if ((code & 0xe0) === 0xe0) { - // 3 byte char - const b1 = code, b2 = buffer[i + 1], b3 = buffer[i + 2]; - code = ((b1 & 0xf) << 12) | ((b2 & 0x3f) << 6) | (b3 & 0x3f); - i += 2; - } - else if ((code & 0xc0) === 0xc0) { - // 2 byte char - const b1 = code, b2 = buffer[i + 1]; - code = ((b1 & 0x1f) << 6) | (b2 & 0x3f); - i++; - } - else { - throw new Error('invalid utf-8 data'); - } - } - if (code >= 65536) { - // Split into 2-part utf-16 char codes - code ^= 0x10000; - const p1 = 0xd800 | (code >> 10); - const p2 = 0xdc00 | (code & 0x3ff); - str += String.fromCharCode(p1); - str += String.fromCharCode(p2); - } - else { - str += String.fromCharCode(code); - } - } - return str; - } - else { - throw new Error('Unsupported buffer argument'); - } - } -} -exports.decodeString = decodeString; -function concatTypedArrays(a, b) { - const c = new a.constructor(a.length + b.length); - c.set(a); - c.set(b, a.length); - return c; -} -exports.concatTypedArrays = concatTypedArrays; -function cloneObject(original, stack) { - var _a; - if (((_a = original === null || original === void 0 ? void 0 : original.constructor) === null || _a === void 0 ? void 0 : _a.name) === 'DataSnapshot') { - throw new TypeError(`Object to clone is a DataSnapshot (path "${original.ref.path}")`); - } - const checkAndFixTypedArray = obj => { - if (obj !== null && typeof obj === 'object' - && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' - && ['Buffer', 'Uint8Array', 'Int8Array', 'Uint16Array', 'Int16Array', 'Uint32Array', 'Int32Array', 'BigUint64Array', 'BigInt64Array'].includes(obj.constructor.name)) { - // FIX for typed array being converted to objects with numeric properties: - // Convert Buffer or TypedArray to ArrayBuffer - obj = obj.buffer.slice(obj.byteOffset, obj.byteOffset + obj.byteLength); - } - return obj; - }; - original = checkAndFixTypedArray(original); - if (typeof original !== 'object' || original === null || original instanceof Date || original instanceof ArrayBuffer || original instanceof path_reference_1.PathReference || original instanceof RegExp) { - return original; - } - const cloneValue = (val) => { - if (stack.indexOf(val) >= 0) { - throw new ReferenceError('object contains a circular reference'); - } - val = checkAndFixTypedArray(val); - if (val === null || val instanceof Date || val instanceof ArrayBuffer || val instanceof path_reference_1.PathReference || val instanceof RegExp) { // || val instanceof ID - return val; - } - else if (typeof val === 'object') { - stack.push(val); - val = cloneObject(val, stack); - stack.pop(); - return val; - } - else { - return val; // Anything other can just be copied - } - }; - if (typeof stack === 'undefined') { - stack = [original]; - } - const clone = original instanceof Array ? [] : original instanceof partial_array_1.PartialArray ? new partial_array_1.PartialArray() : {}; - Object.keys(original).forEach(key => { - const val = original[key]; - if (typeof val === 'function') { - return; // skip functions - } - clone[key] = cloneValue(val); - }); - return clone; -} -exports.cloneObject = cloneObject; -const isTypedArray = val => typeof val === 'object' && ['ArrayBuffer', 'Buffer', 'Uint8Array', 'Uint16Array', 'Uint32Array', 'Int8Array', 'Int16Array', 'Int32Array'].includes(val.constructor.name); -// CONSIDER: updating isTypedArray to: const isTypedArray = val => typeof val === 'object' && 'buffer' in val && 'byteOffset' in val && 'byteLength' in val; -function valuesAreEqual(val1, val2) { - if (val1 === val2) { - return true; - } - if (typeof val1 !== typeof val2) { - return false; - } - if (typeof val1 === 'object' || typeof val2 === 'object') { - if (val1 === null || val2 === null) { - return false; - } - if (val1 instanceof path_reference_1.PathReference || val2 instanceof path_reference_1.PathReference) { - return val1 instanceof path_reference_1.PathReference && val2 instanceof path_reference_1.PathReference && val1.path === val2.path; - } - if (val1 instanceof Date || val2 instanceof Date) { - return val1 instanceof Date && val2 instanceof Date && val1.getTime() === val2.getTime(); - } - if (val1 instanceof Array || val2 instanceof Array) { - return val1 instanceof Array && val2 instanceof Array && val1.length === val2.length && val1.every((item, i) => valuesAreEqual(val1[i], val2[i])); - } - if (isTypedArray(val1) || isTypedArray(val2)) { - if (!isTypedArray(val1) || !isTypedArray(val2) || val1.byteLength === val2.byteLength) { - return false; - } - const typed1 = val1 instanceof ArrayBuffer ? new Uint8Array(val1) : new Uint8Array(val1.buffer, val1.byteOffset, val1.byteLength), typed2 = val2 instanceof ArrayBuffer ? new Uint8Array(val2) : new Uint8Array(val2.buffer, val2.byteOffset, val2.byteLength); - return typed1.every((val, i) => typed2[i] === val); - } - const keys1 = Object.keys(val1), keys2 = Object.keys(val2); - return keys1.length === keys2.length && keys1.every(key => keys2.includes(key)) && keys1.every(key => valuesAreEqual(val1[key], val2[key])); - } - return false; -} -exports.valuesAreEqual = valuesAreEqual; -class ObjectDifferences { - constructor(added, removed, changed) { - this.added = added; - this.removed = removed; - this.changed = changed; - } - forChild(key) { - if (this.added.includes(key)) { - return 'added'; - } - if (this.removed.includes(key)) { - return 'removed'; - } - const changed = this.changed.find(ch => ch.key === key); - return changed ? changed.change : 'identical'; - } -} -exports.ObjectDifferences = ObjectDifferences; -function compareValues(oldVal, newVal, sortedResults = false) { - const voids = [undefined, null]; - if (oldVal === newVal) { - return 'identical'; - } - else if (voids.indexOf(oldVal) >= 0 && voids.indexOf(newVal) < 0) { - return 'added'; - } - else if (voids.indexOf(oldVal) < 0 && voids.indexOf(newVal) >= 0) { - return 'removed'; - } - else if (typeof oldVal !== typeof newVal) { - return 'changed'; - } - else if (isTypedArray(oldVal) || isTypedArray(newVal)) { - // One or both values are typed arrays. - if (!isTypedArray(oldVal) || !isTypedArray(newVal)) { - return 'changed'; - } - // Both are typed. Compare lengths and byte content of typed arrays - const typed1 = oldVal instanceof Uint8Array ? oldVal : oldVal instanceof ArrayBuffer ? new Uint8Array(oldVal) : new Uint8Array(oldVal.buffer, oldVal.byteOffset, oldVal.byteLength); - const typed2 = newVal instanceof Uint8Array ? newVal : newVal instanceof ArrayBuffer ? new Uint8Array(newVal) : new Uint8Array(newVal.buffer, newVal.byteOffset, newVal.byteLength); - return typed1.byteLength === typed2.byteLength && typed1.every((val, i) => typed2[i] === val) ? 'identical' : 'changed'; - } - else if (oldVal instanceof Date || newVal instanceof Date) { - return oldVal instanceof Date && newVal instanceof Date && oldVal.getTime() === newVal.getTime() ? 'identical' : 'changed'; - } - else if (oldVal instanceof path_reference_1.PathReference || newVal instanceof path_reference_1.PathReference) { - return oldVal instanceof path_reference_1.PathReference && newVal instanceof path_reference_1.PathReference && oldVal.path === newVal.path ? 'identical' : 'changed'; - } - else if (typeof oldVal === 'object') { - // Do key-by-key comparison of objects - const isArray = oldVal instanceof Array; - const getKeys = obj => { - let keys = Object.keys(obj).filter(key => !voids.includes(obj[key])); - if (isArray) { - keys = keys.map((v) => parseInt(v)); - } - return keys; - }; - const oldKeys = getKeys(oldVal); - const newKeys = getKeys(newVal); - const removedKeys = oldKeys.filter(key => !newKeys.includes(key)); - const addedKeys = newKeys.filter(key => !oldKeys.includes(key)); - const changedKeys = newKeys.reduce((changed, key) => { - if (oldKeys.includes(key)) { - const val1 = oldVal[key]; - const val2 = newVal[key]; - const c = compareValues(val1, val2); - if (c !== 'identical') { - changed.push({ key, change: c }); - } - } - return changed; - }, []); - if (addedKeys.length === 0 && removedKeys.length === 0 && changedKeys.length === 0) { - return 'identical'; - } - else { - return new ObjectDifferences(addedKeys, removedKeys, sortedResults ? changedKeys.sort((a, b) => a.key < b.key ? -1 : 1) : changedKeys); - } - } - return 'changed'; -} -exports.compareValues = compareValues; -function getMutations(oldVal, newVal, sortedResults = false) { - const process = (target, compareResult, prev, val) => { - switch (compareResult) { - case 'identical': return []; - case 'changed': return [{ target, prev, val }]; - case 'added': return [{ target, prev: null, val }]; - case 'removed': return [{ target, prev, val: null }]; - default: { - let changes = []; - compareResult.added.forEach(key => changes.push({ target: target.concat(key), prev: null, val: val[key] })); - compareResult.removed.forEach(key => changes.push({ target: target.concat(key), prev: prev[key], val: null })); - compareResult.changed.forEach(item => { - const childChanges = process(target.concat(item.key), item.change, prev[item.key], val[item.key]); - changes = changes.concat(childChanges); - }); - return changes; - } - } - }; - const compareResult = compareValues(oldVal, newVal, sortedResults); - return process([], compareResult, oldVal, newVal); -} -exports.getMutations = getMutations; -function getChildValues(childKey, oldValue, newValue) { - oldValue = oldValue === null ? null : oldValue[childKey]; - if (typeof oldValue === 'undefined') { - oldValue = null; - } - newValue = newValue === null ? null : newValue[childKey]; - if (typeof newValue === 'undefined') { - newValue = null; - } - return { oldValue, newValue }; -} -exports.getChildValues = getChildValues; -function defer(fn) { - process_1.default.nextTick(fn); -} -exports.defer = defer; - -}).call(this)}).call(this,require("buffer").Buffer) -},{"./partial-array":15,"./path-reference":17,"./process":18,"buffer":27}],27:[function(require,module,exports){ - -},{}],28:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); exports.BrowserAceBase = void 0; const acebase_local_1 = require("./acebase-local"); const indexed_db_1 = require("./storage/custom/indexed-db"); @@ -5401,7 +45,7 @@ class BrowserAceBase extends acebase_local_1.AceBase { } exports.BrowserAceBase = BrowserAceBase; -},{"./acebase-local":29,"./storage/custom/indexed-db":46}],29:[function(require,module,exports){ +},{"./acebase-local":2,"./storage/custom/indexed-db":19}],2:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AceBase = exports.AceBaseLocalSettings = exports.IndexedDBStorageSettings = exports.LocalStorageSettings = void 0; @@ -5487,7 +131,7 @@ class AceBase extends acebase_core_1.AceBaseBase { } exports.AceBase = AceBase; -},{"./api-local":30,"./storage/binary":40,"./storage/custom/indexed-db/settings":47,"./storage/custom/local-storage":49,"acebase-core":12}],30:[function(require,module,exports){ +},{"./api-local":3,"./storage/binary":13,"./storage/custom/indexed-db/settings":20,"./storage/custom/local-storage":22,"acebase-core":38}],3:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LocalApi = void 0; @@ -5783,7 +427,7 @@ class LocalApi extends acebase_core_1.Api { } exports.LocalApi = LocalApi; -},{"./node-value-types":39,"./query":42,"./storage/binary":40,"./storage/custom":45,"./storage/mssql":40,"./storage/sqlite":40,"acebase-core":12}],31:[function(require,module,exports){ +},{"./node-value-types":12,"./query":15,"./storage/binary":13,"./storage/custom":18,"./storage/mssql":13,"./storage/sqlite":13,"acebase-core":38}],4:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AsyncTaskBatch = void 0; @@ -5863,7 +507,7 @@ class AsyncTaskBatch { } exports.AsyncTaskBatch = AsyncTaskBatch; -},{}],32:[function(require,module,exports){ +},{}],5:[function(require,module,exports){ "use strict"; /** ________________________________________________________________________________ @@ -5943,7 +587,7 @@ var storage_1 = require("./storage"); Object.defineProperty(exports, "StorageSettings", { enumerable: true, get: function () { return storage_1.StorageSettings; } }); Object.defineProperty(exports, "SchemaValidationError", { enumerable: true, get: function () { return storage_1.SchemaValidationError; } }); -},{"./acebase-browser":28,"./acebase-local":29,"./storage":52,"./storage/binary":40,"./storage/custom":45,"./storage/mssql":40,"./storage/sqlite":40,"acebase-core":12}],33:[function(require,module,exports){ +},{"./acebase-browser":1,"./acebase-local":2,"./storage":25,"./storage/binary":13,"./storage/custom":18,"./storage/mssql":13,"./storage/sqlite":13,"acebase-core":38}],6:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IPCPeer = void 0; @@ -6079,7 +723,7 @@ class IPCPeer extends ipc_1.AceBaseIPCPeer { } exports.IPCPeer = IPCPeer; -},{"./ipc":34,"acebase-core":12}],34:[function(require,module,exports){ +},{"./ipc":7,"acebase-core":38}],7:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AceBaseIPCPeer = exports.AceBaseIPCPeerExitingError = void 0; @@ -6578,7 +1222,7 @@ class AceBaseIPCPeer extends acebase_core_1.SimpleEventEmitter { } exports.AceBaseIPCPeer = AceBaseIPCPeer; -},{"../node-lock":38,"acebase-core":12}],35:[function(require,module,exports){ +},{"../node-lock":11,"acebase-core":38}],8:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RemovedNodeAddress = exports.NodeAddress = void 0; @@ -6613,7 +1257,7 @@ class RemovedNodeAddress extends NodeAddress { } exports.RemovedNodeAddress = RemovedNodeAddress; -},{}],36:[function(require,module,exports){ +},{}],9:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NodeRevisionError = exports.NodeNotFoundError = void 0; @@ -6624,7 +1268,7 @@ class NodeRevisionError extends Error { } exports.NodeRevisionError = NodeRevisionError; -},{}],37:[function(require,module,exports){ +},{}],10:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NodeInfo = void 0; @@ -6673,7 +1317,7 @@ class NodeInfo { } exports.NodeInfo = NodeInfo; -},{"./node-value-types":39,"acebase-core":12}],38:[function(require,module,exports){ +},{"./node-value-types":12,"acebase-core":38}],11:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NodeLock = exports.NodeLocker = exports.LOCK_STATE = void 0; @@ -6957,7 +1601,7 @@ class NodeLock { } exports.NodeLock = NodeLock; -},{"acebase-core":12}],39:[function(require,module,exports){ +},{"acebase-core":38}],12:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getValueType = exports.getNodeValueType = exports.getValueTypeName = exports.VALUE_TYPES = void 0; @@ -7049,9 +1693,10 @@ function getValueType(value) { } exports.getValueType = getValueType; -},{"acebase-core":12}],40:[function(require,module,exports){ +},{"acebase-core":38}],13:[function(require,module,exports){ // Not supported in current environment -},{}],41:[function(require,module,exports){ + +},{}],14:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.pfs = void 0; @@ -7061,7 +1706,7 @@ class pfs { } exports.pfs = pfs; -},{}],42:[function(require,module,exports){ +},{}],15:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.query = void 0; @@ -7791,7 +2436,7 @@ function query(api, path, query, options = { snapshots: false, include: undefine } exports.query = query; -},{"./async-task-batch":31,"./data-index":40,"./node-errors":36,"./node-value-types":39,"acebase-core":12}],43:[function(require,module,exports){ +},{"./async-task-batch":4,"./data-index":13,"./node-errors":9,"./node-value-types":12,"acebase-core":38}],16:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createIndex = void 0; @@ -7868,7 +2513,7 @@ async function createIndex(context, path, key, options) { } exports.createIndex = createIndex; -},{"../data-index":40,"../promise-fs":41,"acebase-core":12}],44:[function(require,module,exports){ +},{"../data-index":13,"../promise-fs":14,"acebase-core":38}],17:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CustomStorageHelpers = void 0; @@ -7937,7 +2582,7 @@ class CustomStorageHelpers { } exports.CustomStorageHelpers = CustomStorageHelpers; -},{"acebase-core":12}],45:[function(require,module,exports){ +},{"acebase-core":38}],18:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CustomStorage = exports.CustomStorageNodeInfo = exports.CustomStorageNodeAddress = exports.CustomStorageSettings = exports.CustomStorageTransaction = exports.ICustomStorageNode = exports.ICustomStorageNodeMetaData = exports.CustomStorageHelpers = void 0; @@ -9151,7 +3796,7 @@ class CustomStorage extends index_1.Storage { } exports.CustomStorage = CustomStorage; -},{"../../node-address":35,"../../node-errors":36,"../../node-info":37,"../../node-lock":38,"../../node-value-types":39,"../index":52,"./helpers":44,"acebase-core":12}],46:[function(require,module,exports){ +},{"../../node-address":8,"../../node-errors":9,"../../node-info":10,"../../node-lock":11,"../../node-value-types":12,"../index":25,"./helpers":17,"acebase-core":38}],19:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createIndexedDBInstance = void 0; @@ -9229,7 +3874,7 @@ function createIndexedDBInstance(dbname, init = {}) { } exports.createIndexedDBInstance = createIndexedDBInstance; -},{"..":45,"../../..":32,"./settings":47,"./transaction":48,"acebase-core":12}],47:[function(require,module,exports){ +},{"..":18,"../../..":5,"./settings":20,"./transaction":21,"acebase-core":38}],20:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IndexedDBStorageSettings = void 0; @@ -9273,7 +3918,7 @@ class IndexedDBStorageSettings extends __1.StorageSettings { } exports.IndexedDBStorageSettings = IndexedDBStorageSettings; -},{"../..":52}],48:[function(require,module,exports){ +},{"../..":25}],21:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IndexedDBStorageTransaction = void 0; @@ -9500,7 +4145,7 @@ class IndexedDBStorageTransaction extends __1.CustomStorageTransaction { } exports.IndexedDBStorageTransaction = IndexedDBStorageTransaction; -},{"..":45}],49:[function(require,module,exports){ +},{"..":18}],22:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createLocalStorageInstance = exports.LocalStorageTransaction = exports.LocalStorageSettings = void 0; @@ -9541,7 +4186,7 @@ function createLocalStorageInstance(dbname, init = {}) { } exports.createLocalStorageInstance = createLocalStorageInstance; -},{"..":45,"../../..":32,"./settings":50,"./transaction":51}],50:[function(require,module,exports){ +},{"..":18,"../../..":5,"./settings":23,"./transaction":24}],23:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LocalStorageSettings = void 0; @@ -9583,7 +4228,7 @@ class LocalStorageSettings extends __1.StorageSettings { } exports.LocalStorageSettings = LocalStorageSettings; -},{"../..":52}],51:[function(require,module,exports){ +},{"../..":25}],24:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LocalStorageTransaction = void 0; @@ -9677,7 +4322,7 @@ class LocalStorageTransaction extends __1.CustomStorageTransaction { } exports.LocalStorageTransaction = LocalStorageTransaction; -},{"..":45}],52:[function(require,module,exports){ +},{"..":18}],25:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Storage = exports.StorageSettings = exports.SchemaValidationError = void 0; @@ -11748,12 +6393,5368 @@ class Storage extends acebase_core_1.SimpleEventEmitter { } exports.Storage = Storage; -},{"../data-index":40,"../ipc":33,"../node-errors":36,"../node-info":37,"../node-value-types":39,"../promise-fs":41,"./indexes":53,"acebase-core":12}],53:[function(require,module,exports){ +},{"../data-index":13,"../ipc":6,"../node-errors":9,"../node-info":10,"../node-value-types":12,"../promise-fs":14,"./indexes":26,"acebase-core":38}],26:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createIndex = void 0; var create_index_1 = require("./create-index"); Object.defineProperty(exports, "createIndex", { enumerable: true, get: function () { return create_index_1.createIndex; } }); -},{"./create-index":43}]},{},[32])(32) +},{"./create-index":16}],27:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AceBaseBase = exports.AceBaseBaseSettings = void 0; +/** + ________________________________________________________________________________ + + ___ ______ + / _ \ | ___ \ + / /_\ \ ___ ___| |_/ / __ _ ___ ___ + | _ |/ __/ _ \ ___ \/ _` / __|/ _ \ + | | | | (_| __/ |_/ / (_| \__ \ __/ + \_| |_/\___\___\____/ \__,_|___/\___| + realtime database + + Copyright 2018-2022 by Ewout Stortenbeker (me@appy.one) + Published under MIT license + + See docs at https://github.com/appy-one/acebase + ________________________________________________________________________________ + +*/ +const simple_event_emitter_1 = require("./simple-event-emitter"); +const data_reference_1 = require("./data-reference"); +const type_mappings_1 = require("./type-mappings"); +const optional_observable_1 = require("./optional-observable"); +const debug_1 = require("./debug"); +const simple_colors_1 = require("./simple-colors"); +class AceBaseBaseSettings { + constructor(options) { + /** + * What level to use for console logging. + * @default 'log' + */ + this.logLevel = 'log'; + /** + * Whether to use colors in the console logs output + * @default true + */ + this.logColors = true; + /** + * @internal (for internal use) + */ + this.info = 'realtime database'; + /** + * You can turn this on if you are a sponsor. See https://github.com/appy-one/acebase/discussions/100 for more info + */ + this.sponsor = false; + if (typeof options !== 'object') { + options = {}; + } + if (typeof options.logLevel === 'string') { + this.logLevel = options.logLevel; + } + if (typeof options.logColors === 'boolean') { + this.logColors = options.logColors; + } + if (typeof options.info === 'string') { + this.info = options.info; + } + if (typeof options.sponsor === 'boolean') { + this.sponsor = options.sponsor; + } + } +} +exports.AceBaseBaseSettings = AceBaseBaseSettings; +class AceBaseBase extends simple_event_emitter_1.SimpleEventEmitter { + /** + * @param dbname Name of the database to open or create + */ + constructor(dbname, options = {}) { + super(); + this._ready = false; + options = new AceBaseBaseSettings(options); + this.name = dbname; + // Setup console logging + this.debug = new debug_1.DebugLogger(options.logLevel, `[${dbname}]`); + // Enable/disable logging with colors + (0, simple_colors_1.SetColorsEnabled)(options.logColors); + // ASCI art: http://patorjk.com/software/taag/#p=display&f=Doom&t=AceBase + const logoStyle = [simple_colors_1.ColorStyle.magenta, simple_colors_1.ColorStyle.bold]; + const logo = ' ___ ______ ' + '\n' + + ' / _ \\ | ___ \\ ' + '\n' + + ' / /_\\ \\ ___ ___| |_/ / __ _ ___ ___ ' + '\n' + + ' | _ |/ __/ _ \\ ___ \\/ _` / __|/ _ \\' + '\n' + + ' | | | | (_| __/ |_/ / (_| \\__ \\ __/' + '\n' + + ' \\_| |_/\\___\\___\\____/ \\__,_|___/\\___|'; + const info = (options.info ? ''.padStart(40 - options.info.length, ' ') + options.info + '\n' : ''); + if (!options.sponsor) { + // if you are a sponsor, you can switch off the "AceBase banner ad" + this.debug.write(logo.colorize(logoStyle)); + info && this.debug.write(info.colorize(simple_colors_1.ColorStyle.magenta)); + } + // Setup type mapping functionality + this.types = new type_mappings_1.TypeMappings(this); + this.once('ready', () => { + // console.log(`database "${dbname}" (${this.constructor.name}) is ready to use`); + this._ready = true; + }); + } + /** + * Waits for the database to be ready before running your callback. + * @param callback (optional) callback function that is called when the database is ready to be used. You can also use the returned promise. + * @returns returns a promise that resolves when ready + */ + async ready(callback) { + if (!this._ready) { + // Wait for ready event + await new Promise(resolve => this.on('ready', resolve)); + } + callback === null || callback === void 0 ? void 0 : callback(); + } + get isReady() { + return this._ready; + } + /** + * Allow specific observable implementation to be used + * @param ObservableImpl Implementation to use + */ + setObservable(ObservableImpl) { + (0, optional_observable_1.setObservable)(ObservableImpl); + } + /** + * Creates a reference to a node + * @param path + * @returns reference to the requested node + */ + ref(path) { + return new data_reference_1.DataReference(this, path); + } + /** + * Get a reference to the root database node + * @returns reference to root node + */ + get root() { + return this.ref(''); + } + /** + * Creates a query on the requested node + * @param path + * @returns query for the requested node + */ + query(path) { + const ref = new data_reference_1.DataReference(this, path); + return new data_reference_1.DataReferenceQuery(ref); + } + get indexes() { + return { + /** + * Gets all indexes + */ + get: () => { + return this.api.getIndexes(); + }, + /** + * Creates an index on "key" for all child nodes at "path". If the index already exists, nothing happens. + * Example: creating an index on all "name" keys of child objects of path "system/users", + * will index "system/users/user1/name", "system/users/user2/name" etc. + * You can also use wildcard paths to enable indexing and quering of fragmented data. + * Example: path "users/*\/posts", key "title": will index all "title" keys in all posts of all users. + * @param path path to the container node + * @param key name of the key to index every container child node + * @param options any additional options + */ + create: (path, key, options) => { + return this.api.createIndex(path, key, options); + }, + /** + * Deletes an existing index from the database + */ + delete: async (filePath) => { + return this.api.deleteIndex(filePath); + }, + }; + } + get schema() { + return { + get: (path) => { + return this.api.getSchema(path); + }, + set: (path, schema) => { + return this.api.setSchema(path, schema); + }, + all: () => { + return this.api.getSchemas(); + }, + check: (path, value, isUpdate) => { + return this.api.validateSchema(path, value, isUpdate); + }, + }; + } +} +exports.AceBaseBase = AceBaseBase; + +},{"./data-reference":34,"./debug":36,"./optional-observable":40,"./simple-colors":47,"./simple-event-emitter":48,"./type-mappings":51}],28:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Api = void 0; +class NotImplementedError extends Error { + constructor(name) { super(`${name} is not implemented`); } +} +/** + * Refactor to type/interface once acebase and acebase-client have been ported to TS + */ +class Api { + // eslint-disable-next-line @typescript-eslint/no-empty-function + constructor() { } + /** + * Provides statistics + * @param options + */ + stats(options) { throw new NotImplementedError('stats'); } + /** + * @param path + * @param event event to subscribe to ("value", "child_added" etc) + * @param callback callback function + */ + subscribe(path, event, callback, settings) { throw new NotImplementedError('subscribe'); } + unsubscribe(path, event, callback) { throw new NotImplementedError('unsubscribe'); } + update(path, updates, options) { throw new NotImplementedError('update'); } + set(path, value, options) { throw new NotImplementedError('set'); } + get(path, options) { throw new NotImplementedError('get'); } + transaction(path, callback, options) { throw new NotImplementedError('transaction'); } + exists(path) { throw new NotImplementedError('exists'); } + query(path, query, options) { throw new NotImplementedError('query'); } + reflect(path, type, args) { throw new NotImplementedError('reflect'); } + export(path, write, options) { throw new NotImplementedError('export'); } + import(path, read, options) { throw new NotImplementedError('import'); } + /** Creates an index on key for all child nodes at path */ + createIndex(path, key, options) { throw new NotImplementedError('createIndex'); } + getIndexes() { throw new NotImplementedError('getIndexes'); } + deleteIndex(filePath) { throw new NotImplementedError('deleteIndex'); } + setSchema(path, schema) { throw new NotImplementedError('setSchema'); } + getSchema(path) { throw new NotImplementedError('getSchema'); } + getSchemas() { throw new NotImplementedError('getSchemas'); } + validateSchema(path, value, isUpdate) { throw new NotImplementedError('validateSchema'); } + getMutations(filter) { throw new NotImplementedError('getMutations'); } + getChanges(filter) { throw new NotImplementedError('getChanges'); } +} +exports.Api = Api; + +},{}],29:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ascii85 = void 0; +function c(input, length, result) { + const b = [0, 0, 0, 0, 0]; + for (let i = 0; i < length; i += 4) { + let n = ((input[i] * 256 + input[i + 1]) * 256 + input[i + 2]) * 256 + input[i + 3]; + if (!n) { + result.push('z'); + } + else { + for (let j = 0; j < 5; b[j++] = n % 85 + 33, n = Math.floor(n / 85)) + ; + result.push(String.fromCharCode(b[4], b[3], b[2], b[1], b[0])); + } + } +} +function encode(arr) { + // summary: encodes input data in ascii85 string + // input: ArrayLike + const input = arr, result = [], remainder = input.length % 4, length = input.length - remainder; + c(input, length, result); + if (remainder) { + const t = new Uint8Array(4); + t.set(input.slice(length), 0); + c(t, 4, result); + let x = result.pop(); + if (x == 'z') { + x = '!!!!!'; + } + result.push(x.substr(0, remainder + 1)); + } + let ret = result.join(''); // String + ret = '<~' + ret + '~>'; + return ret; +} +exports.ascii85 = { + encode: function (arr) { + if (arr instanceof ArrayBuffer) { + arr = new Uint8Array(arr, 0, arr.byteLength); + } + return encode(arr); + }, + decode: function (input) { + // summary: decodes the input string back to an ArrayBuffer + // input: String: the input string to decode + if (!input.startsWith('<~') || !input.endsWith('~>')) { + throw new Error('Invalid input string'); + } + input = input.substr(2, input.length - 4); + const n = input.length, r = [], b = [0, 0, 0, 0, 0]; + let t, x, y, d; + for (let i = 0; i < n; ++i) { + if (input.charAt(i) == 'z') { + r.push(0, 0, 0, 0); + continue; + } + for (let j = 0; j < 5; ++j) { + b[j] = input.charCodeAt(i + j) - 33; + } + d = n - i; + if (d < 5) { + for (let j = d; j < 4; b[++j] = 0) + ; + b[d] = 85; + } + t = (((b[0] * 85 + b[1]) * 85 + b[2]) * 85 + b[3]) * 85 + b[4]; + x = t & 255; + t >>>= 8; + y = t & 255; + t >>>= 8; + r.push(t >>> 8, t & 255, y, x); + for (let j = d; j < 5; ++j, r.pop()) + ; + i += 4; + } + const data = new Uint8Array(r); + return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength); + }, +}; + +},{}],30:[function(require,module,exports){ +"use strict"; +var _a, _b; +Object.defineProperty(exports, "__esModule", { value: true }); +const pad_1 = require("../pad"); +const env = typeof window === 'object' ? window : self, globalCount = Object.keys(env).length, mimeTypesLength = (_b = (_a = navigator.mimeTypes) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0, clientId = (0, pad_1.default)((mimeTypesLength + + navigator.userAgent.length).toString(36) + + globalCount.toString(36), 4); +function fingerprint() { + return clientId; +} +exports.default = fingerprint; + +},{"../pad":32}],31:[function(require,module,exports){ +"use strict"; +/** + * cuid.js + * Collision-resistant UID generator for browsers and node. + * Sequential for fast db lookups and recency sorting. + * Safe for element IDs and server-side lookups. + * + * Extracted from CLCTR + * + * Copyright (c) Eric Elliott 2012 + * MIT License + * + * time biasing added by Ewout Stortenbeker for AceBase + */ +Object.defineProperty(exports, "__esModule", { value: true }); +const fingerprint_1 = require("./fingerprint"); +const pad_1 = require("./pad"); +let c = 0; +const blockSize = 4, base = 36, discreteValues = Math.pow(base, blockSize); +function randomBlock() { + return (0, pad_1.default)((Math.random() * discreteValues << 0).toString(base), blockSize); +} +function safeCounter() { + c = c < discreteValues ? c : 0; + c++; // this is not subliminal + return c - 1; +} +function cuid(timebias = 0) { + // Starting with a lowercase letter makes + // it HTML element ID friendly. + const letter = 'c', // hard-coded allows for sequential access + // timestamp + // warning: this exposes the exact date and time + // that the uid was created. + // NOTES Ewout: + // - added timebias + // - at '2059/05/25 19:38:27.456', timestamp will become 1 character larger! + timestamp = (new Date().getTime() + timebias).toString(base), + // Prevent same-machine collisions. + counter = (0, pad_1.default)(safeCounter().toString(base), blockSize), + // A few chars to generate distinct ids for different + // clients (so different computers are far less + // likely to generate the same id) + print = (0, fingerprint_1.default)(), + // Grab some more chars from Math.random() + random = randomBlock() + randomBlock(); + return letter + timestamp + counter + print + random; +} +exports.default = cuid; +// Not using slugs, removed code + +},{"./fingerprint":30,"./pad":32}],32:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +function pad(num, size) { + const s = '000000000' + num; + return s.substr(s.length - size); +} +exports.default = pad; + +},{}],33:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OrderedCollectionProxy = exports.proxyAccess = exports.LiveDataProxy = void 0; +const utils_1 = require("./utils"); +const data_reference_1 = require("./data-reference"); +const data_snapshot_1 = require("./data-snapshot"); +const path_reference_1 = require("./path-reference"); +const id_1 = require("./id"); +const optional_observable_1 = require("./optional-observable"); +const process_1 = require("./process"); +const path_info_1 = require("./path-info"); +const simple_event_emitter_1 = require("./simple-event-emitter"); +class RelativeNodeTarget extends Array { + static areEqual(t1, t2) { + return t1.length === t2.length && t1.every((key, i) => t2[i] === key); + } + static isAncestor(ancestor, other) { + return ancestor.length < other.length && ancestor.every((key, i) => other[i] === key); + } + static isDescendant(descendant, other) { + return descendant.length > other.length && other.every((key, i) => descendant[i] === key); + } +} +const isProxy = Symbol('isProxy'); +class LiveDataProxy { + /** + * Creates a live data proxy for the given reference. The data of the reference's path will be loaded, and kept in-sync + * with live data by listening for 'mutations' events. Any changes made to the value by the client will be synced back + * to the database. + * @param ref DataReference to create proxy for. + * @param options proxy initialization options + * be written to the database. + */ + static async create(ref, options) { + var _a; + ref = new data_reference_1.DataReference(ref.db, ref.path); // Use copy to prevent context pollution on original reference + let cache, loaded = false; + let latestCursor = options === null || options === void 0 ? void 0 : options.cursor; + let proxy; + const proxyId = id_1.ID.generate(); //ref.push().key; + // let onMutationCallback: ProxyObserveMutationsCallback; + // let onErrorCallback: ProxyObserveErrorCallback = err => { + // console.error(err.message, err.details); + // }; + const clientSubscriptions = []; + const clientEventEmitter = new simple_event_emitter_1.SimpleEventEmitter(); + clientEventEmitter.on('cursor', (cursor) => latestCursor = cursor); + clientEventEmitter.on('error', (err) => { + console.error(err.message, err.details); + }); + const applyChange = (keys, newValue) => { + // Make changes to cache + if (keys.length === 0) { + cache = newValue; + return true; + } + const allowCreation = false; //cache === null; // If the proxy'd target did not exist upon load, we must allow it to be created now. + if (allowCreation) { + cache = typeof keys[0] === 'number' ? [] : {}; + } + let target = cache; + const trailKeys = keys.slice(); + while (trailKeys.length > 1) { + const key = trailKeys.shift(); + if (!(key in target)) { + if (allowCreation) { + target[key] = typeof key === 'number' ? [] : {}; + } + else { + // Have we missed an event, or are local pending mutations creating this conflict? + return false; // Do not proceed + } + } + target = target[key]; + } + const prop = trailKeys.shift(); + if (newValue === null) { + // Remove it + target instanceof Array ? target.splice(prop, 1) : delete target[prop]; + } + else { + // Set or update it + target[prop] = newValue; + } + return true; + }; + // Subscribe to mutations events on the target path + const syncFallback = async () => { + if (!loaded) { + return; + } + await reload(); + }; + const subscription = ref.on('mutations', { syncFallback }).subscribe(async (snap) => { + var _a; + if (!loaded) { + return; + } + const context = snap.context(); + const isRemote = ((_a = context.acebase_proxy) === null || _a === void 0 ? void 0 : _a.id) !== proxyId; + if (!isRemote) { + return; // Update was done through this proxy, no need to update cache or trigger local value subscriptions + } + const mutations = snap.val(false); + const proceed = mutations.every(mutation => { + if (!applyChange(mutation.target, mutation.val)) { + return false; + } + // if (onMutationCallback) { + const changeRef = mutation.target.reduce((ref, key) => ref.child(key), ref); + const changeSnap = new data_snapshot_1.DataSnapshot(changeRef, mutation.val, false, mutation.prev, snap.context()); + // onMutationCallback(changeSnap, isRemote); // onMutationCallback uses try/catch for client callback + clientEventEmitter.emit('mutation', { snapshot: changeSnap, isRemote }); + // } + return true; + }); + if (proceed) { + clientEventEmitter.emit('cursor', context.acebase_cursor); // // NOTE: cursor is only present in mutations done remotely. For our own updates, server cursors are returned by ref.set and ref.update + localMutationsEmitter.emit('mutations', { origin: 'remote', snap }); + } + else { + console.warn(`Cached value of live data proxy on "${ref.path}" appears outdated, will be reloaded`); + await reload(); + } + }); + // Setup updating functionality: enqueue all updates, process them at next tick in the order they were issued + let processPromise = Promise.resolve(); + const mutationQueue = []; + const transactions = []; + const pushLocalMutations = async () => { + // Sync all local mutations that are not in a transaction + const mutations = []; + for (let i = 0, m = mutationQueue[0]; i < mutationQueue.length; i++, m = mutationQueue[i]) { + if (!transactions.find(t => RelativeNodeTarget.areEqual(t.target, m.target) || RelativeNodeTarget.isAncestor(t.target, m.target))) { + mutationQueue.splice(i, 1); + i--; + mutations.push(m); + } + } + if (mutations.length === 0) { + return; + } + // Add current (new) values to mutations + mutations.forEach(mutation => { + mutation.value = (0, utils_1.cloneObject)(getTargetValue(cache, mutation.target)); + }); + // Run local onMutation & onChange callbacks in the next tick + process_1.default.nextTick(() => { + // Run onMutation callback for each changed node + const context = { acebase_proxy: { id: proxyId, source: 'update' } }; + // if (onMutationCallback) { + mutations.forEach(mutation => { + const mutationRef = mutation.target.reduce((ref, key) => ref.child(key), ref); + const mutationSnap = new data_snapshot_1.DataSnapshot(mutationRef, mutation.value, false, mutation.previous, context); + // onMutationCallback(mutationSnap, false); + clientEventEmitter.emit('mutation', { snapshot: mutationSnap, isRemote: false }); + }); + // } + // Notify local subscribers + const snap = new data_snapshot_1.MutationsDataSnapshot(ref, mutations.map(m => ({ target: m.target, val: m.value, prev: m.previous })), context); + localMutationsEmitter.emit('mutations', { origin: 'local', snap }); + }); + // Update database async + // const batchId = ID.generate(); + processPromise = mutations + .reduce((mutations, m, i, arr) => { + // Only keep top path mutations to prevent unneccessary child path updates + if (!arr.some(other => RelativeNodeTarget.isAncestor(other.target, m.target))) { + mutations.push(m); + } + return mutations; + }, []) + .reduce((updates, m) => { + // Prepare db updates + const target = m.target; + if (target.length === 0) { + // Overwrite this proxy's root value + updates.push({ ref, target, value: cache, type: 'set', previous: m.previous }); + } + else { + const parentTarget = target.slice(0, -1); + const key = target.slice(-1)[0]; + const parentRef = parentTarget.reduce((ref, key) => ref.child(key), ref); + const parentUpdate = updates.find(update => update.ref.path === parentRef.path); + const cacheValue = getTargetValue(cache, target); // m.value? + const prevValue = m.previous; + if (parentUpdate) { + parentUpdate.value[key] = cacheValue; + parentUpdate.previous[key] = prevValue; + } + else { + updates.push({ ref: parentRef, target: parentTarget, value: { [key]: cacheValue }, type: 'update', previous: { [key]: prevValue } }); + } + } + return updates; + }, []) + .reduce(async (promise, update /*, i, updates */) => { + // Execute db update + // i === 0 && console.log(`Proxy: processing ${updates.length} db updates to paths:`, updates.map(update => update.ref.path)); + const context = { + acebase_proxy: { + id: proxyId, + source: update.type, + // update_id: ID.generate(), + // batch_id: batchId, + // batch_updates: updates.length + }, + }; + await promise; + await update.ref + .context(context)[update.type](update.value) // .set or .update + .catch(err => { + clientEventEmitter.emit('error', { source: 'update', message: `Error processing update of "/${ref.path}"`, details: err }); + // console.warn(`Proxy could not update DB, should rollback (${update.type}) the proxy value of "${update.ref.path}" to: `, update.previous); + const context = { acebase_proxy: { id: proxyId, source: 'update-rollback' } }; + const mutations = []; + if (update.type === 'set') { + setTargetValue(cache, update.target, update.previous); + const mutationSnap = new data_snapshot_1.DataSnapshot(update.ref, update.previous, false, update.value, context); + clientEventEmitter.emit('mutation', { snapshot: mutationSnap, isRemote: false }); + mutations.push({ target: update.target, val: update.previous, prev: update.value }); + } + else { + // update + Object.keys(update.previous).forEach(key => { + setTargetValue(cache, update.target.concat(key), update.previous[key]); + const mutationSnap = new data_snapshot_1.DataSnapshot(update.ref.child(key), update.previous[key], false, update.value[key], context); + clientEventEmitter.emit('mutation', { snapshot: mutationSnap, isRemote: false }); + mutations.push({ target: update.target.concat(key), val: update.previous[key], prev: update.value[key] }); + }); + } + // Run onMutation callback for each node being rolled back + mutations.forEach(m => { + const mutationRef = m.target.reduce((ref, key) => ref.child(key), ref); + const mutationSnap = new data_snapshot_1.DataSnapshot(mutationRef, m.val, false, m.prev, context); + clientEventEmitter.emit('mutation', { snapshot: mutationSnap, isRemote: false }); + }); + // Notify local subscribers: + const snap = new data_snapshot_1.MutationsDataSnapshot(update.ref, mutations, context); + localMutationsEmitter.emit('mutations', { origin: 'local', snap }); + }); + if (update.ref.cursor) { + // Should also be available in context.acebase_cursor now + clientEventEmitter.emit('cursor', update.ref.cursor); + } + }, processPromise); + await processPromise; + }; + let syncInProgress = false; + const syncPromises = []; + const syncCompleted = () => { + let resolve; + const promise = new Promise(rs => resolve = rs); + syncPromises.push({ resolve }); + return promise; + }; + let processQueueTimeout = null; + const scheduleSync = () => { + if (!processQueueTimeout) { + processQueueTimeout = setTimeout(async () => { + syncInProgress = true; + processQueueTimeout = null; + await pushLocalMutations(); + syncInProgress = false; + syncPromises.splice(0).forEach(p => p.resolve()); + }, 0); + } + }; + const flagOverwritten = (target) => { + if (!mutationQueue.find(m => RelativeNodeTarget.areEqual(m.target, target))) { + mutationQueue.push({ target, previous: (0, utils_1.cloneObject)(getTargetValue(cache, target)) }); + } + // schedule database updates + scheduleSync(); + }; + const localMutationsEmitter = new simple_event_emitter_1.SimpleEventEmitter(); + const addOnChangeHandler = (target, callback) => { + const isObject = val => val !== null && typeof val === 'object'; + const mutationsHandler = async (details) => { + var _a; + const { snap, origin } = details; + const context = snap.context(); + const causedByOurProxy = ((_a = context.acebase_proxy) === null || _a === void 0 ? void 0 : _a.id) === proxyId; + if (details.origin === 'remote' && causedByOurProxy) { + // Any local changes already triggered subscription callbacks + console.error('DEV ISSUE: mutationsHandler was called from remote event originating from our own proxy'); + return; + } + const mutations = snap.val(false).filter(mutation => { + // Keep mutations impacting the subscribed target: mutations on target, or descendant or ancestor of target + return mutation.target.slice(0, target.length).every((key, i) => target[i] === key); + }); + if (mutations.length === 0) { + return; + } + let newValue, previousValue; + // If there is a mutation on the target itself, or parent/ancestor path, there can only be one. We can take a shortcut + const singleMutation = mutations.find(m => m.target.length <= target.length); + if (singleMutation) { + const trailKeys = target.slice(singleMutation.target.length); + newValue = trailKeys.reduce((val, key) => !isObject(val) || !(key in val) ? null : val[key], singleMutation.val); + previousValue = trailKeys.reduce((val, key) => !isObject(val) || !(key in val) ? null : val[key], singleMutation.prev); + } + else { + // All mutations are on children/descendants of our target + // Construct new & previous values by combining cache and snapshot + const currentValue = getTargetValue(cache, target); + newValue = (0, utils_1.cloneObject)(currentValue); + previousValue = (0, utils_1.cloneObject)(newValue); + mutations.forEach(mutation => { + // mutation.target is relative to proxy root + const trailKeys = mutation.target.slice(target.length); + for (let i = 0, val = newValue, prev = previousValue; i < trailKeys.length; i++) { // arr = PathInfo.getPathKeys(mutationPath).slice(PathInfo.getPathKeys(targetRef.path).length) + const last = i + 1 === trailKeys.length, key = trailKeys[i]; + if (last) { + val[key] = mutation.val; + if (val[key] === null) { + delete val[key]; + } + prev[key] = mutation.prev; + if (prev[key] === null) { + delete prev[key]; + } + } + else { + val = val[key] = key in val ? val[key] : {}; + prev = prev[key] = key in prev ? prev[key] : {}; + } + } + }); + } + process_1.default.nextTick(() => { + // Run callback with read-only (frozen) values in next tick + let keepSubscription = true; + try { + keepSubscription = false !== callback(Object.freeze(newValue), Object.freeze(previousValue), !causedByOurProxy, context); + } + catch (err) { + clientEventEmitter.emit('error', { source: origin === 'remote' ? 'remote_update' : 'local_update', message: 'Error running subscription callback', details: err }); + } + if (keepSubscription === false) { + stop(); + } + }); + }; + localMutationsEmitter.on('mutations', mutationsHandler); + const stop = () => { + localMutationsEmitter.off('mutations').off('mutations', mutationsHandler); + clientSubscriptions.splice(clientSubscriptions.findIndex(cs => cs.stop === stop), 1); + }; + clientSubscriptions.push({ target, stop }); + return { stop }; + }; + const handleFlag = (flag, target, args) => { + if (flag === 'write') { + return flagOverwritten(target); + } + else if (flag === 'onChange') { + return addOnChangeHandler(target, args.callback); + } + else if (flag === 'subscribe' || flag === 'observe') { + const subscribe = subscriber => { + const currentValue = getTargetValue(cache, target); + subscriber.next(currentValue); + const subscription = addOnChangeHandler(target, (value /*, previous, isRemote, context */) => { + subscriber.next(value); + }); + return function unsubscribe() { + subscription.stop(); + }; + }; + if (flag === 'subscribe') { + return subscribe; + } + // Try to load Observable + const Observable = (0, optional_observable_1.getObservable)(); + return new Observable(subscribe); + } + else if (flag === 'transaction') { + const hasConflictingTransaction = transactions.some(t => RelativeNodeTarget.areEqual(target, t.target) || RelativeNodeTarget.isAncestor(target, t.target) || RelativeNodeTarget.isDescendant(target, t.target)); + if (hasConflictingTransaction) { + // TODO: Wait for this transaction to finish, then try again + return Promise.reject(new Error('Cannot start transaction because it conflicts with another transaction')); + } + return new Promise(async (resolve) => { + // If there are pending mutations on target (or deeper), wait until they have been synchronized + const hasPendingMutations = mutationQueue.some(m => RelativeNodeTarget.areEqual(target, m.target) || RelativeNodeTarget.isAncestor(target, m.target)); + if (hasPendingMutations) { + if (!syncInProgress) { + scheduleSync(); + } + await syncCompleted(); + } + const tx = { target, status: 'started', transaction: null }; + transactions.push(tx); + tx.transaction = { + get status() { return tx.status; }, + get completed() { return tx.status !== 'started'; }, + get mutations() { + return mutationQueue.filter(m => RelativeNodeTarget.areEqual(tx.target, m.target) || RelativeNodeTarget.isAncestor(tx.target, m.target)); + }, + get hasMutations() { + return this.mutations.length > 0; + }, + async commit() { + if (this.completed) { + throw new Error(`Transaction has completed already (status '${tx.status}')`); + } + tx.status = 'finished'; + transactions.splice(transactions.indexOf(tx), 1); + if (syncInProgress) { + // Currently syncing without our mutations + await syncCompleted(); + } + scheduleSync(); + await syncCompleted(); + }, + rollback() { + // Remove mutations from queue + if (this.completed) { + throw new Error(`Transaction has completed already (status '${tx.status}')`); + } + tx.status = 'canceled'; + const mutations = []; + for (let i = 0; i < mutationQueue.length; i++) { + const m = mutationQueue[i]; + if (RelativeNodeTarget.areEqual(tx.target, m.target) || RelativeNodeTarget.isAncestor(tx.target, m.target)) { + mutationQueue.splice(i, 1); + i--; + mutations.push(m); + } + } + // Replay mutations in reverse order + mutations.reverse() + .forEach(m => { + if (m.target.length === 0) { + cache = m.previous; + } + else { + setTargetValue(cache, m.target, m.previous); + } + }); + // Remove transaction + transactions.splice(transactions.indexOf(tx), 1); + }, + }; + resolve(tx.transaction); + }); + } + }; + const snap = await ref.get({ cache_mode: 'allow', cache_cursor: options === null || options === void 0 ? void 0 : options.cursor }); + // const gotOfflineStartValue = snap.context().acebase_origin === 'cache'; + // if (gotOfflineStartValue) { + // console.warn(`Started data proxy with cached value of "${ref.path}", check if its value is reloaded on next connection!`); + // } + if (snap.context().acebase_origin !== 'cache') { + clientEventEmitter.emit('cursor', (_a = ref.cursor) !== null && _a !== void 0 ? _a : null); // latestCursor = snap.context().acebase_cursor ?? null; + } + loaded = true; + cache = snap.val(); + if (cache === null && typeof (options === null || options === void 0 ? void 0 : options.defaultValue) !== 'undefined') { + cache = options.defaultValue; + const context = { + acebase_proxy: { + id: proxyId, + source: 'default', + // update_id: ID.generate() + }, + }; + await ref.context(context).set(cache); + } + proxy = createProxy({ root: { ref, get cache() { return cache; } }, target: [], id: proxyId, flag: handleFlag }); + const assertProxyAvailable = () => { + if (proxy === null) { + throw new Error('Proxy was destroyed'); + } + }; + const reload = async () => { + // Manually reloads current value when cache is out of sync, which should only + // be able to happen if an AceBaseClient is used without cache database, + // and the connection to the server was lost for a while. In all other cases, + // there should be no need to call this method. + assertProxyAvailable(); + mutationQueue.splice(0); // Remove pending mutations. Will be empty in production, but might not be while debugging, leading to weird behaviour. + const snap = await ref.get({ allow_cache: false }); + const oldVal = cache, newVal = snap.val(); + cache = newVal; + // Compare old and new values + const mutations = (0, utils_1.getMutations)(oldVal, newVal); + if (mutations.length === 0) { + return; // Nothing changed + } + // Run onMutation callback for each changed node + const context = snap.context(); // context might contain acebase_cursor if server support that + context.acebase_proxy = { id: proxyId, source: 'reload' }; + // if (onMutationCallback) { + mutations.forEach(m => { + const targetRef = getTargetRef(ref, m.target); + const newSnap = new data_snapshot_1.DataSnapshot(targetRef, m.val, m.val === null, m.prev, context); + clientEventEmitter.emit('mutation', { snapshot: newSnap, isRemote: true }); + }); + // } + // Notify local subscribers + const mutationsSnap = new data_snapshot_1.MutationsDataSnapshot(ref, mutations, context); + localMutationsEmitter.emit('mutations', { origin: 'local', snap: mutationsSnap }); + }; + return { + async destroy() { + await processPromise; + const promises = [ + subscription.stop(), + ...clientSubscriptions.map(cs => cs.stop()), + ]; + await Promise.all(promises); + ['cursor', 'mutation', 'error'].forEach(event => clientEventEmitter.off(event)); + cache = null; // Remove cache + proxy = null; + }, + stop() { + this.destroy(); + }, + get value() { + assertProxyAvailable(); + return proxy; + }, + get hasValue() { + assertProxyAvailable(); + return cache !== null; + }, + set value(val) { + // Overwrite the value of the proxied path itself! + assertProxyAvailable(); + if (val !== null && typeof val === 'object' && val[isProxy]) { + // Assigning one proxied value to another + val = val.valueOf(); + } + flagOverwritten([]); + cache = val; + }, + get ref() { + return ref; + }, + get cursor() { + return latestCursor; + }, + reload, + onMutation(callback) { + // Fires callback each time anything changes + assertProxyAvailable(); + clientEventEmitter.off('mutation'); // Mimic legacy behaviour that overwrites handler + clientEventEmitter.on('mutation', ({ snapshot, isRemote }) => { + try { + callback(snapshot, isRemote); + } + catch (err) { + clientEventEmitter.emit('error', { source: 'mutation_callback', message: 'Error in dataproxy onMutation callback', details: err }); + } + }); + }, + onError(callback) { + // Fires callback each time anything goes wrong + assertProxyAvailable(); + clientEventEmitter.off('error'); // Mimic legacy behaviour that overwrites handler + clientEventEmitter.on('error', (err) => { + try { + callback(err); + } + catch (err) { + console.error(`Error in dataproxy onError callback: ${err.message}`); + } + }); + }, + on(event, callback) { + clientEventEmitter.on(event, callback); + }, + off(event, callback) { + clientEventEmitter.off(event, callback); + }, + }; + } +} +exports.LiveDataProxy = LiveDataProxy; +function getTargetValue(obj, target) { + let val = obj; + for (const key of target) { + val = typeof val === 'object' && val !== null && key in val ? val[key] : null; + } + return val; +} +function setTargetValue(obj, target, value) { + if (target.length === 0) { + throw new Error('Cannot update root target, caller must do that itself!'); + } + const targetObject = target.slice(0, -1).reduce((obj, key) => obj[key], obj); + const prop = target.slice(-1)[0]; + if (value === null || typeof value === 'undefined') { + // Remove it + targetObject instanceof Array ? targetObject.splice(prop, 1) : delete targetObject[prop]; + } + else { + // Set or update it + targetObject[prop] = value; + } +} +function getTargetRef(ref, target) { + // Create new DataReference to prevent context reuse + const path = path_info_1.PathInfo.get(ref.path).childPath(target); + return new data_reference_1.DataReference(ref.db, path); +} +function createProxy(context) { + const targetRef = getTargetRef(context.root.ref, context.target); + const childProxies = []; + const handler = { + get(target, prop, receiver) { + target = getTargetValue(context.root.cache, context.target); + if (typeof prop === 'symbol') { + if (prop.toString() === Symbol.iterator.toString()) { + // Use .values for @@iterator symbol + prop = 'values'; + } + else if (prop.toString() === isProxy.toString()) { + return true; + } + else { + return Reflect.get(target, prop, receiver); + } + } + if (prop === 'valueOf') { + return function valueOf() { return target; }; + } + if (target === null || typeof target !== 'object') { + throw new Error(`Cannot read property "${prop}" of ${target}. Value of path "/${targetRef.path}" is not an object (anymore)`); + } + if (target instanceof Array && typeof prop === 'string' && /^[0-9]+$/.test(prop)) { + // Proxy type definitions say prop can be a number, but this is never the case. + prop = parseInt(prop); + } + const value = target[prop]; + if (value === null) { + // Removed property. Should never happen, but if it does: + delete target[prop]; + return; // undefined + } + // Check if we have a child proxy for this property already. + // If so, and the properties' typeof value did not change, return that + const childProxy = childProxies.find(proxy => proxy.prop === prop); + if (childProxy) { + if (childProxy.typeof === typeof value) { + return childProxy.value; + } + childProxies.splice(childProxies.indexOf(childProxy), 1); + } + const proxifyChildValue = (prop) => { + const value = target[prop]; // + const childProxy = childProxies.find(child => child.prop === prop); + if (childProxy) { + if (childProxy.typeof === typeof value) { + return childProxy.value; + } + childProxies.splice(childProxies.indexOf(childProxy), 1); + } + if (typeof value !== 'object') { + // Can't proxify non-object values + return value; + } + const newChildProxy = createProxy({ root: context.root, target: context.target.concat(prop), id: context.id, flag: context.flag }); + childProxies.push({ typeof: typeof value, prop, value: newChildProxy }); + return newChildProxy; + }; + const unproxyValue = (value) => { + return value !== null && typeof value === 'object' && value[isProxy] + ? value.getTarget() + : value; + }; + // If the property contains a simple value, return it. + if (['string', 'number', 'boolean'].includes(typeof value) + || value instanceof Date + || value instanceof path_reference_1.PathReference + || value instanceof ArrayBuffer + || (typeof value === 'object' && 'buffer' in value) // Typed Arrays + ) { + return value; + } + const isArray = target instanceof Array; + if (prop === 'toString') { + return function toString() { + return `[LiveDataProxy for "${targetRef.path}"]`; + }; + } + if (typeof value === 'undefined') { + if (prop === 'push') { + // Push item to an object collection + return function push(item) { + const childRef = targetRef.push(); + context.flag('write', context.target.concat(childRef.key)); //, { previous: null } + target[childRef.key] = item; + return childRef.key; + }; + } + if (prop === 'getTarget') { + // Get unproxied readonly (but still live) version of data. + return function (warn = true) { + warn && console.warn('Use getTarget with caution - any changes will not be synchronized!'); + return target; + }; + } + if (prop === 'getRef') { + // Gets the DataReference to this data target + return function getRef() { + const ref = getTargetRef(context.root.ref, context.target); + return ref; + }; + } + if (prop === 'forEach') { + return function forEach(callback) { + const keys = Object.keys(target); + // Fix: callback with unproxied value + let stop = false; + for (let i = 0; !stop && i < keys.length; i++) { + const key = keys[i]; + const value = proxifyChildValue(key); //, target[key] + stop = callback(value, key, i) === false; + } + }; + } + if (['values', 'entries', 'keys'].includes(prop)) { + return function* generator() { + const keys = Object.keys(target); + for (const key of keys) { + if (prop === 'keys') { + yield key; + } + else { + const value = proxifyChildValue(key); //, target[key] + if (prop === 'entries') { + yield [key, value]; + } + else { + yield value; + } + } + } + }; + } + if (prop === 'toArray') { + return function toArray(sortFn) { + const arr = Object.keys(target).map(key => proxifyChildValue(key)); //, target[key] + if (sortFn) { + arr.sort(sortFn); + } + return arr; + }; + } + if (prop === 'onChanged') { + // Starts monitoring the value + return function onChanged(callback) { + return context.flag('onChange', context.target, { callback }); + }; + } + if (prop === 'subscribe') { + // Gets subscriber function to use with Observables, or custom handling + return function subscribe() { + return context.flag('subscribe', context.target); + }; + } + if (prop === 'getObservable') { + // Creates an observable for monitoring the value + return function getObservable() { + return context.flag('observe', context.target); + }; + } + if (prop === 'getOrderedCollection') { + return function getOrderedCollection(orderProperty, orderIncrement) { + return new OrderedCollectionProxy(this, orderProperty, orderIncrement); + }; + } + if (prop === 'startTransaction') { + return function startTransaction() { + return context.flag('transaction', context.target); + }; + } + if (prop === 'remove' && !isArray) { + // Removes target from object collection + return function remove() { + if (context.target.length === 0) { + throw new Error('Can\'t remove proxy root value'); + } + const parent = getTargetValue(context.root.cache, context.target.slice(0, -1)); + const key = context.target.slice(-1)[0]; + context.flag('write', context.target); + delete parent[key]; + }; + } + return; // undefined + } + else if (typeof value === 'function') { + if (isArray) { + // Handle array methods + const writeArray = (action) => { + context.flag('write', context.target); + return action(); + }; + const cleanArrayValues = values => values.map(value => { + value = unproxyValue(value); + removeVoidProperties(value); + return value; + }); + // Methods that directly change the array: + if (prop === 'push') { + return function push(...items) { + items = cleanArrayValues(items); + return writeArray(() => target.push(...items)); // push the items to the cache array + }; + } + if (prop === 'pop') { + return function pop() { + return writeArray(() => target.pop()); + }; + } + if (prop === 'splice') { + return function splice(start, deleteCount, ...items) { + items = cleanArrayValues(items); + return writeArray(() => target.splice(start, deleteCount, ...items)); + }; + } + if (prop === 'shift') { + return function shift() { + return writeArray(() => target.shift()); + }; + } + if (prop === 'unshift') { + return function unshift(...items) { + items = cleanArrayValues(items); + return writeArray(() => target.unshift(...items)); + }; + } + if (prop === 'sort') { + return function sort(compareFn) { + return writeArray(() => target.sort(compareFn)); + }; + } + if (prop === 'reverse') { + return function reverse() { + return writeArray(() => target.reverse()); + }; + } + // Methods that do not change the array themselves, but + // have callbacks that might, or return child values: + if (['indexOf', 'lastIndexOf'].includes(prop)) { + return function indexOf(item, start) { + if (item !== null && typeof item === 'object' && item[isProxy]) { + // Use unproxied value, or array.indexOf will return -1 (fixes issue #1) + item = item.getTarget(false); + } + return target[prop](item, start); + }; + } + if (['forEach', 'every', 'some', 'filter', 'map'].includes(prop)) { + return function iterate(callback) { + return target[prop]((value, i) => { + return callback(proxifyChildValue(i), i, proxy); //, value + }); + }; + } + if (['reduce', 'reduceRight'].includes(prop)) { + return function reduce(callback, initialValue) { + return target[prop]((prev, value, i) => { + return callback(prev, proxifyChildValue(i), i, proxy); //, value + }, initialValue); + }; + } + if (['find', 'findIndex'].includes(prop)) { + return function find(callback) { + let value = target[prop]((value, i) => { + return callback(proxifyChildValue(i), i, proxy); // , value + }); + if (prop === 'find' && value) { + const index = target.indexOf(value); + value = proxifyChildValue(index); //, value + } + return value; + }; + } + if (['values', 'entries', 'keys'].includes(prop)) { + return function* generator() { + for (let i = 0; i < target.length; i++) { + if (prop === 'keys') { + yield i; + } + else { + const value = proxifyChildValue(i); //, target[i] + if (prop === 'entries') { + yield [i, value]; + } + else { + yield value; + } + } + } + }; + } + } + // Other function (or not an array), should not alter its value + // return function fn(...args) { + // return target[prop](...args); + // } + return value; + } + // Proxify any other value + return proxifyChildValue(prop); //, value + }, + set(target, prop, value, receiver) { + // Eg: chats.chat1.title = 'New chat title'; + // target === chats.chat1, prop === 'title' + target = getTargetValue(context.root.cache, context.target); + if (typeof prop === 'symbol') { + return Reflect.set(target, prop, value, receiver); + } + if (target === null || typeof target !== 'object') { + throw new Error(`Cannot set property "${prop}" of ${target}. Value of path "/${targetRef.path}" is not an object`); + } + if (target instanceof Array && typeof prop === 'string') { + if (!/^[0-9]+$/.test(prop)) { + throw new Error(`Cannot set property "${prop}" on array value of path "/${targetRef.path}"`); + } + prop = parseInt(prop); + } + if (value !== null) { + if (typeof value === 'object') { + if (value[isProxy]) { + // Assigning one proxied value to another + value = value.valueOf(); + } + // else if (Object.isFrozen(value)) { + // // Create a copy to unfreeze it + // value = cloneObject(value); + // } + value = (0, utils_1.cloneObject)(value); // Fix #10, always clone objects so changes made through the proxy won't change the original object (and vice versa) + } + if ((0, utils_1.valuesAreEqual)(value, target[prop])) { //if (compareValues(value, target[prop]) === 'identical') { // (typeof value !== 'object' && target[prop] === value) { + // not changing the actual value, ignore + return true; + } + } + if (context.target.some(key => typeof key === 'number')) { + // Updating an object property inside an array. Flag the first array in target to be written. + // Eg: when chat.members === [{ name: 'Ewout', id: 'someid' }] + // --> chat.members[0].name = 'Ewout' --> Rewrite members array instead of chat/members[0]/name + context.flag('write', context.target.slice(0, context.target.findIndex(key => typeof key === 'number'))); + } + else if (target instanceof Array) { + // Flag the entire array to be overwritten + context.flag('write', context.target); + } + else { + // Flag child property + context.flag('write', context.target.concat(prop)); + } + // Set cached value: + if (value === null) { + delete target[prop]; + } + else { + removeVoidProperties(value); + target[prop] = value; + } + return true; + }, + deleteProperty(target, prop) { + target = getTargetValue(context.root.cache, context.target); + if (target === null) { + throw new Error(`Cannot delete property ${prop.toString()} of null`); + } + if (typeof prop === 'symbol') { + return Reflect.deleteProperty(target, prop); + } + if (!(prop in target)) { + return true; // Nothing to delete + } + context.flag('write', context.target.concat(prop)); + delete target[prop]; + return true; + }, + ownKeys(target) { + target = getTargetValue(context.root.cache, context.target); + return Reflect.ownKeys(target); + }, + has(target, prop) { + target = getTargetValue(context.root.cache, context.target); + return Reflect.has(target, prop); + }, + getOwnPropertyDescriptor(target, prop) { + target = getTargetValue(context.root.cache, context.target); + const descriptor = Reflect.getOwnPropertyDescriptor(target, prop); + if (descriptor) { + descriptor.configurable = true; // prevent "TypeError: 'getOwnPropertyDescriptor' on proxy: trap reported non-configurability for property '...' which is either non-existant or configurable in the proxy target" + } + return descriptor; + }, + getPrototypeOf(target) { + target = getTargetValue(context.root.cache, context.target); + return Reflect.getPrototypeOf(target); + }, + }; + const proxy = new Proxy({}, handler); + return proxy; +} +function removeVoidProperties(obj) { + if (typeof obj !== 'object') { + return; + } + Object.keys(obj).forEach(key => { + const val = obj[key]; + if (val === null || typeof val === 'undefined') { + delete obj[key]; + } + else if (typeof val === 'object') { + removeVoidProperties(val); + } + }); +} +/** + * Convenience function to access ILiveDataProxyValue methods on a proxied value + * @param proxiedValue The proxied value to get access to + * @returns Returns the same object typecasted to an ILiveDataProxyValue + * @example + * // IChatMessages is an ObjectCollection + * let observable: Observable; + * + * // Allows you to do this: + * observable = proxyAccess(chat.messages).getObservable(); + * + * // Instead of: + * observable = (chat.messages.msg1 as any as ILiveDataProxyValue).getObservable(); + * + * // Both do the exact same, but the first is less obscure + */ +function proxyAccess(proxiedValue) { + if (typeof proxiedValue !== 'object' || !proxiedValue[isProxy]) { + throw new Error('Given value is not proxied. Make sure you are referencing the value through the live data proxy.'); + } + return proxiedValue; +} +exports.proxyAccess = proxyAccess; +/** + * Provides functionality to work with ordered collections through a live data proxy. Eliminates + * the need for arrays to handle ordered data by adding a 'sort' properties to child objects in a + * collection, and provides functionality to sort and reorder items with a minimal amount of database + * updates. + */ +class OrderedCollectionProxy { + constructor(collection, orderProperty = 'order', orderIncrement = 10) { + this.collection = collection; + this.orderProperty = orderProperty; + this.orderIncrement = orderIncrement; + if (typeof collection !== 'object' || !collection[isProxy]) { + throw new Error('Collection is not proxied'); + } + if (collection.valueOf() instanceof Array) { + throw new Error('Collection is an array, not an object collection'); + } + if (!Object.keys(collection).every(key => typeof collection[key] === 'object')) { + throw new Error('Collection has non-object children'); + } + // Check if the collection has order properties. If not, assign them now + const ok = Object.keys(collection).every(key => typeof collection[key][orderProperty] === 'number'); + if (!ok) { + // Assign order properties now. Database will be updated automatically + const keys = Object.keys(collection); + for (let i = 0; i < keys.length; i++) { + const item = collection[keys[i]]; + item[orderProperty] = i * orderIncrement; // 0, 10, 20, 30 etc + } + } + } + /** + * Gets an observable for the target object collection. Same as calling `collection.getObservable()` + * @returns + */ + getObservable() { + return proxyAccess(this.collection).getObservable(); + } + /** + * Gets an observable that emits a new ordered array representation of the object collection each time + * the unlaying data is changed. Same as calling `getArray()` in a `getObservable().subscribe` callback + * @returns + */ + getArrayObservable() { + const Observable = (0, optional_observable_1.getObservable)(); + return new Observable(subscriber => { + const subscription = this.getObservable().subscribe(( /*value*/) => { + const newArray = this.getArray(); + subscriber.next(newArray); + }); + return function unsubscribe() { + subscription.unsubscribe(); + }; + }); + } + /** + * Gets an ordered array representation of the items in your object collection. The items in the array + * are proxied values, changes will be in sync with the database. Note that the array itself + * is not mutable: adding or removing items to it will NOT update the collection in the + * the database and vice versa. Use `add`, `delete`, `sort` and `move` methods to make changes + * that impact the collection's sorting order + * @returns order array + */ + getArray() { + const arr = proxyAccess(this.collection).toArray((a, b) => a[this.orderProperty] - b[this.orderProperty]); + // arr.push = (...items: T[]) => { + // items.forEach(item => this.add(item)); + // return arr.length; + // }; + return arr; + } + add(item, index, from) { + const arr = this.getArray(); + let minOrder = Number.POSITIVE_INFINITY, maxOrder = Number.NEGATIVE_INFINITY; + for (let i = 0; i < arr.length; i++) { + const order = arr[i][this.orderProperty]; + minOrder = Math.min(order, minOrder); + maxOrder = Math.max(order, maxOrder); + } + let fromKey; + if (typeof from === 'number') { + // Moving existing item + fromKey = Object.keys(this.collection).find(key => this.collection[key] === item); + if (!fromKey) { + throw new Error('item not found in collection'); + } + if (from === index) { + return { key: fromKey, index }; + } + if (Math.abs(from - index) === 1) { + // Position being swapped, swap their order property values + const otherItem = arr[index]; + const otherOrder = otherItem[this.orderProperty]; + otherItem[this.orderProperty] = item[this.orderProperty]; + item[this.orderProperty] = otherOrder; + return { key: fromKey, index }; + } + else { + // Remove from array, code below will add again + arr.splice(from, 1); + } + } + if (typeof index !== 'number' || index >= arr.length) { + // append at the end + index = arr.length; + item[this.orderProperty] = arr.length == 0 ? 0 : maxOrder + this.orderIncrement; + } + else if (index === 0) { + // insert before all others + item[this.orderProperty] = arr.length == 0 ? 0 : minOrder - this.orderIncrement; + } + else { + // insert between 2 others + const orders = arr.map(item => item[this.orderProperty]); + const gap = orders[index] - orders[index - 1]; + if (gap > 1) { + item[this.orderProperty] = orders[index] - Math.floor(gap / 2); + } + else { + // TODO: Can this gap be enlarged by moving one of both orders? + // For now, change all other orders + arr.splice(index, 0, item); + for (let i = 0; i < arr.length; i++) { + arr[i][this.orderProperty] = i * this.orderIncrement; + } + } + } + const key = typeof fromKey === 'string' + ? fromKey // Moved item, don't add it + : proxyAccess(this.collection).push(item); + return { key, index }; + } + /** + * Deletes an item from the object collection using the their index in the sorted array representation + * @param index + * @returns the key of the collection's child that was deleted + */ + delete(index) { + const arr = this.getArray(); + const item = arr[index]; + if (!item) { + throw new Error(`Item at index ${index} not found`); + } + const key = Object.keys(this.collection).find(key => this.collection[key] === item); + if (!key) { + throw new Error('Cannot find target object to delete'); + } + this.collection[key] = null; // Deletes it from db + return { key, index }; + } + /** + * Moves an item in the object collection by reordering it + * @param fromIndex Current index in the array (the ordered representation of the object collection) + * @param toIndex Target index in the array + * @returns + */ + move(fromIndex, toIndex) { + const arr = this.getArray(); + return this.add(arr[fromIndex], toIndex, fromIndex); + } + /** + * Reorders the object collection using given sort function. Allows quick reordering of the collection which is persisted in the database + * @param sortFn + */ + sort(sortFn) { + const arr = this.getArray(); + arr.sort(sortFn); + for (let i = 0; i < arr.length; i++) { + arr[i][this.orderProperty] = i * this.orderIncrement; + } + } +} +exports.OrderedCollectionProxy = OrderedCollectionProxy; + +},{"./data-reference":34,"./data-snapshot":35,"./id":37,"./optional-observable":40,"./path-info":42,"./path-reference":43,"./process":44,"./simple-event-emitter":48,"./utils":52}],34:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DataReferencesArray = exports.DataSnapshotsArray = exports.DataReferenceQuery = exports.DataReference = exports.QueryDataRetrievalOptions = exports.DataRetrievalOptions = void 0; +const data_snapshot_1 = require("./data-snapshot"); +const subscription_1 = require("./subscription"); +const id_1 = require("./id"); +const path_info_1 = require("./path-info"); +const data_proxy_1 = require("./data-proxy"); +const optional_observable_1 = require("./optional-observable"); +class DataRetrievalOptions { + /** + * Options for data retrieval, allows selective loading of object properties + */ + constructor(options) { + if (!options) { + options = {}; + } + if (typeof options.include !== 'undefined' && !(options.include instanceof Array)) { + throw new TypeError('options.include must be an array'); + } + if (typeof options.exclude !== 'undefined' && !(options.exclude instanceof Array)) { + throw new TypeError('options.exclude must be an array'); + } + if (typeof options.child_objects !== 'undefined' && typeof options.child_objects !== 'boolean') { + throw new TypeError('options.child_objects must be a boolean'); + } + if (typeof options.cache_mode === 'string' && !['allow', 'bypass', 'force'].includes(options.cache_mode)) { + throw new TypeError('invalid value for options.cache_mode'); + } + this.include = options.include || undefined; + this.exclude = options.exclude || undefined; + this.child_objects = typeof options.child_objects === 'boolean' ? options.child_objects : undefined; + this.cache_mode = typeof options.cache_mode === 'string' + ? options.cache_mode + : typeof options.allow_cache === 'boolean' + ? options.allow_cache ? 'allow' : 'bypass' + : 'allow'; + this.cache_cursor = typeof options.cache_cursor === 'string' ? options.cache_cursor : undefined; + } +} +exports.DataRetrievalOptions = DataRetrievalOptions; +class QueryDataRetrievalOptions extends DataRetrievalOptions { + /** + * @param options Options for data retrieval, allows selective loading of object properties + */ + constructor(options) { + super(options); + if (!['undefined', 'boolean'].includes(typeof options.snapshots)) { + throw new TypeError('options.snapshots must be a boolean'); + } + this.snapshots = typeof options.snapshots === 'boolean' ? options.snapshots : true; + } +} +exports.QueryDataRetrievalOptions = QueryDataRetrievalOptions; +const _private = Symbol('private'); +class DataReference { + /** + * Creates a reference to a node + */ + constructor(db, path, vars) { + this.db = db; + if (!path) { + path = ''; + } + path = path.replace(/^\/|\/$/g, ''); // Trim slashes + const pathInfo = path_info_1.PathInfo.get(path); + const key = pathInfo.key; + const callbacks = []; + this[_private] = { + get path() { return path; }, + get key() { return key; }, + get callbacks() { return callbacks; }, + vars: vars || {}, + context: {}, + pushed: false, + cursor: null, + }; + } + context(context, merge = false) { + const currentContext = this[_private].context; + if (typeof context === 'object') { + const newContext = context ? merge ? currentContext || {} : context : {}; + if (context) { + // Merge new with current context + Object.keys(context).forEach(key => { + newContext[key] = context[key]; + }); + } + this[_private].context = newContext; + return this; + } + else if (typeof context === 'undefined') { + console.warn('Use snap.context() instead of snap.ref.context() to get updating context in event callbacks'); + return currentContext; + } + else { + throw new Error('Invalid context argument'); + } + } + /** + * Contains the last received cursor for this referenced path (if the connected database has transaction logging enabled). + * If you want to be notified if this value changes, add a handler with `ref.onCursor(callback)` + */ + get cursor() { + return this[_private].cursor; + } + set cursor(value) { + var _a; + this[_private].cursor = value; + (_a = this.onCursor) === null || _a === void 0 ? void 0 : _a.call(this, value); + } + /** + * The path this instance was created with + */ + get path() { return this[_private].path; } + /** + * The key or index of this node + */ + get key() { + const key = this[_private].key; + return typeof key === 'number' ? `[${key}]` : key; + } + /** + * If the "key" is a number, it is an index! + */ + get index() { + const key = this[_private].key; + if (typeof key !== 'number') { + throw new Error(`"${key}" is not a number`); + } + return key; + } + /** + * Returns a new reference to this node's parent + */ + get parent() { + const currentPath = path_info_1.PathInfo.fillVariables2(this.path, this.vars); + const info = path_info_1.PathInfo.get(currentPath); + if (info.parentPath === null) { + return null; + } + return new DataReference(this.db, info.parentPath).context(this[_private].context); + } + /** + * Contains values of the variables/wildcards used in a subscription path if this reference was + * created by an event ("value", "child_added" etc), or in a type mapping path when serializing / instantiating typed objects + */ + get vars() { + return this[_private].vars; + } + /** + * Returns a new reference to a child node + * @param childPath Child key, index or path + * @returns reference to the child + */ + child(childPath) { + childPath = typeof childPath === 'number' ? childPath : childPath.replace(/^\/|\/$/g, ''); + const currentPath = path_info_1.PathInfo.fillVariables2(this.path, this.vars); + const targetPath = path_info_1.PathInfo.getChildPath(currentPath, childPath); + return new DataReference(this.db, targetPath).context(this[_private].context); // `${this.path}/${childPath}` + } + /** + * Sets or overwrites the stored value + * @param value value to store in database + * @param onComplete optional completion callback to use instead of returning promise + * @returns promise that resolves with this reference when completed + */ + async set(value, onComplete) { + try { + if (this.isWildcardPath) { + throw new Error(`Cannot set the value of wildcard path "/${this.path}"`); + } + if (this.parent === null) { + throw new Error('Cannot set the root object. Use update, or set individual child properties'); + } + if (typeof value === 'undefined') { + throw new TypeError(`Cannot store undefined value in "/${this.path}"`); + } + if (!this.db.isReady) { + await this.db.ready(); + } + value = this.db.types.serialize(this.path, value); + const { cursor } = await this.db.api.set(this.path, value, { context: this[_private].context }); + this.cursor = cursor; + if (typeof onComplete === 'function') { + try { + onComplete(null, this); + } + catch (err) { + console.error('Error in onComplete callback:', err); + } + } + } + catch (err) { + if (typeof onComplete === 'function') { + try { + onComplete(err, this); + } + catch (err) { + console.error('Error in onComplete callback:', err); + } + } + else { + // throw again + throw err; + } + } + return this; + } + /** + * Updates properties of the referenced node + * @param updates object containing the properties to update + * @param onComplete optional completion callback to use instead of returning promise + * @return returns promise that resolves with this reference once completed + */ + async update(updates, onComplete) { + try { + if (this.isWildcardPath) { + throw new Error(`Cannot update the value of wildcard path "/${this.path}"`); + } + if (!this.db.isReady) { + await this.db.ready(); + } + if (typeof updates !== 'object' || updates instanceof Array || updates instanceof ArrayBuffer || updates instanceof Date) { + await this.set(updates); + } + else if (Object.keys(updates).length === 0) { + console.warn(`update called on path "/${this.path}", but there is nothing to update`); + } + else { + updates = this.db.types.serialize(this.path, updates); + const { cursor } = await this.db.api.update(this.path, updates, { context: this[_private].context }); + this.cursor = cursor; + } + if (typeof onComplete === 'function') { + try { + onComplete(null, this); + } + catch (err) { + console.error('Error in onComplete callback:', err); + } + } + } + catch (err) { + if (typeof onComplete === 'function') { + try { + onComplete(err, this); + } + catch (err) { + console.error('Error in onComplete callback:', err); + } + } + else { + // throw again + throw err; + } + } + return this; + } + /** + * Sets the value a node using a transaction: it runs your callback function with the current value, uses its return value as the new value to store. + * The transaction is canceled if your callback returns undefined, or throws an error. If your callback returns null, the target node will be removed. + * @param callback - callback function that performs the transaction on the node's current value. It must return the new value to store (or promise with new value), undefined to cancel the transaction, or null to remove the node. + * @returns returns a promise that resolves with the DataReference once the transaction has been processed + */ + async transaction(callback) { + if (this.isWildcardPath) { + throw new Error(`Cannot start a transaction on wildcard path "/${this.path}"`); + } + if (!this.db.isReady) { + await this.db.ready(); + } + let throwError; + const cb = (currentValue) => { + currentValue = this.db.types.deserialize(this.path, currentValue); + const snap = new data_snapshot_1.DataSnapshot(this, currentValue); + let newValue; + try { + newValue = callback(snap); + } + catch (err) { + // callback code threw an error + throwError = err; // Remember error + return; // cancel transaction by returning undefined + } + if (newValue instanceof Promise) { + return newValue + .then((val) => { + return this.db.types.serialize(this.path, val); + }) + .catch(err => { + throwError = err; // Remember error + return; // cancel transaction by returning undefined + }); + } + else { + return this.db.types.serialize(this.path, newValue); + } + }; + const { cursor } = await this.db.api.transaction(this.path, cb, { context: this[_private].context }); + this.cursor = cursor; + if (throwError) { + // Rethrow error from callback code + throw throwError; + } + return this; + } + on(event, callback, cancelCallback) { + if (this.path === '' && ['value', 'child_changed'].includes(event)) { + // Removed 'notify_value' and 'notify_child_changed' events from the list, they do not require additional data loading anymore. + console.warn('WARNING: Listening for value and child_changed events on the root node is a bad practice. These events require loading of all data (value event), or potentially lots of data (child_changed event) each time they are fired'); + } + let eventPublisher = null; + const eventStream = new subscription_1.EventStream(publisher => { eventPublisher = publisher; }); + // Map OUR callback to original callback, so .off can remove the right callback(s) + const cb = { + event, + stream: eventStream, + userCallback: typeof callback === 'function' && callback, + ourCallback: (err, path, newValue, oldValue, eventContext) => { + if (err) { + // TODO: Investigate if this ever happens? + this.db.debug.error(`Error getting data for event ${event} on path "${path}"`, err); + return; + } + const ref = this.db.ref(path); + ref[_private].vars = path_info_1.PathInfo.extractVariables(this.path, path); + let callbackObject; + if (event.startsWith('notify_')) { + // No data event, callback with reference + callbackObject = ref.context(eventContext || {}); + } + else { + const values = { + previous: this.db.types.deserialize(path, oldValue), + current: this.db.types.deserialize(path, newValue), + }; + if (event === 'child_removed') { + callbackObject = new data_snapshot_1.DataSnapshot(ref, values.previous, true, values.previous, eventContext); + } + else if (event === 'mutations') { + callbackObject = new data_snapshot_1.MutationsDataSnapshot(ref, values.current, eventContext); + } + else { + const isRemoved = event === 'mutated' && values.current === null; + callbackObject = new data_snapshot_1.DataSnapshot(ref, values.current, isRemoved, values.previous, eventContext); + } + } + eventPublisher.publish(callbackObject); + if (eventContext === null || eventContext === void 0 ? void 0 : eventContext.acebase_cursor) { + this.cursor = eventContext.acebase_cursor; + } + }, + }; + this[_private].callbacks.push(cb); + const subscribe = () => { + // (NEW) Add callback to event stream + // ref.on('value', callback) is now exactly the same as ref.on('value').subscribe(callback) + if (typeof callback === 'function') { + eventStream.subscribe(callback, (activated, cancelReason) => { + if (!activated) { + cancelCallback && cancelCallback(cancelReason); + } + }); + } + const advancedOptions = typeof callback === 'object' + ? callback + : { newOnly: !callback }; // newOnly: if callback is not 'truthy', could change this to (typeof callback !== 'function' && callback !== true) but that would break client code that uses a truthy argument. + if (typeof advancedOptions.newOnly !== 'boolean') { + advancedOptions.newOnly = false; + } + if (this.isWildcardPath) { + advancedOptions.newOnly = true; + } + const cancelSubscription = (err) => { + // Access denied? + // Cancel subscription + const callbacks = this[_private].callbacks; + callbacks.splice(callbacks.indexOf(cb), 1); + this.db.api.unsubscribe(this.path, event, cb.ourCallback); + // Call cancelCallbacks + this.db.debug.error(`Subscription "${event}" on path "/${this.path}" canceled because of an error: ${err.message}`); + eventPublisher.cancel(err.message); + }; + const authorized = this.db.api.subscribe(this.path, event, cb.ourCallback, { newOnly: advancedOptions.newOnly, cancelCallback: cancelSubscription, syncFallback: advancedOptions.syncFallback }); + const allSubscriptionsStoppedCallback = () => { + const callbacks = this[_private].callbacks; + callbacks.splice(callbacks.indexOf(cb), 1); + return this.db.api.unsubscribe(this.path, event, cb.ourCallback); + }; + if (authorized instanceof Promise) { + // Web API now returns a promise that resolves if the request is allowed + // and rejects when access is denied by the set security rules + authorized.then(() => { + // Access granted + eventPublisher.start(allSubscriptionsStoppedCallback); + }).catch(cancelSubscription); + } + else { + // Local API, always authorized + eventPublisher.start(allSubscriptionsStoppedCallback); + } + if (!advancedOptions.newOnly) { + // If callback param is supplied (either a callback function or true or something else truthy), + // it will fire events for current values right now. + // Otherwise, it expects the .subscribe methode to be used, which will then + // only be called for future events + if (event === 'value') { + this.get(snap => { + eventPublisher.publish(snap); + }); + } + else if (event === 'child_added') { + this.get(snap => { + const val = snap.val(); + if (val === null || typeof val !== 'object') { + return; + } + Object.keys(val).forEach(key => { + const childSnap = new data_snapshot_1.DataSnapshot(this.child(key), val[key]); + eventPublisher.publish(childSnap); + }); + }); + } + else if (event === 'notify_child_added') { + // Use the reflect API to get current children. + // NOTE: This does not work with AceBaseServer <= v0.9.7, only when signed in as admin + const step = 100, limit = step; + let skip = 0; + const more = async () => { + const children = await this.db.api.reflect(this.path, 'children', { limit, skip }); + children.list.forEach(child => { + const childRef = this.child(child.key); + eventPublisher.publish(childRef); + // typeof callback === 'function' && callback(childRef); + }); + if (children.more) { + skip += step; + more(); + } + }; + more(); + } + } + }; + if (this.db.isReady) { + subscribe(); + } + else { + this.db.ready(subscribe); + } + return eventStream; + } + off(event, callback) { + const subscriptions = this[_private].callbacks; + const stopSubs = subscriptions.filter(sub => (!event || sub.event === event) && (!callback || sub.userCallback === callback)); + if (stopSubs.length === 0) { + this.db.debug.warn(`Can't find event subscriptions to stop (path: "${this.path}", event: ${event || '(any)'}, callback: ${callback})`); + } + stopSubs.forEach(sub => { + sub.stream.stop(); + }); + return this; + } + get(optionsOrCallback, callback) { + if (!this.db.isReady) { + const promise = this.db.ready().then(() => this.get(optionsOrCallback, callback)); + return typeof optionsOrCallback !== 'function' && typeof callback !== 'function' ? promise : undefined; // only return promise if no callback is used + } + callback = + typeof optionsOrCallback === 'function' + ? optionsOrCallback + : typeof callback === 'function' + ? callback + : undefined; + if (this.isWildcardPath) { + const error = new Error(`Cannot get value of wildcard path "/${this.path}". Use .query() instead`); + if (typeof callback === 'function') { + throw error; + } + return Promise.reject(error); + } + const options = new DataRetrievalOptions(typeof optionsOrCallback === 'object' ? optionsOrCallback : { cache_mode: 'allow' }); + const promise = this.db.api.get(this.path, options).then(result => { + var _a; + const isNewApiResult = ('context' in result && 'value' in result); + if (!isNewApiResult) { + // acebase-core version package was updated but acebase or acebase-client package was not? Warn, but don't throw an error. + console.warn('AceBase api.get method returned an old response value. Update your acebase or acebase-client package'); + result = { value: result, context: {} }; + } + const value = this.db.types.deserialize(this.path, result.value); + const snapshot = new data_snapshot_1.DataSnapshot(this, value, undefined, undefined, result.context); + if ((_a = result.context) === null || _a === void 0 ? void 0 : _a.acebase_cursor) { + this.cursor = result.context.acebase_cursor; + } + return snapshot; + }); + if (callback) { + promise.then(callback).catch(err => { + console.error('Uncaught error:', err); + }); + return; + } + else { + return promise; + } + } + /** + * Waits for an event to occur + * @param event Name of the event, eg "value", "child_added", "child_changed", "child_removed" + * @param options data retrieval options, to include or exclude specific child keys + * @returns returns promise that resolves with a snapshot of the data + */ + once(event, options) { + if (event === 'value' && !this.isWildcardPath) { + // Shortcut, do not start listening for future events + return this.get(options); + } + return new Promise((resolve) => { + const callback = (snap) => { + this.off(event, callback); // unsubscribe directly + resolve(snap); + }; + this.on(event, callback); + }); + } + /** + * @param value optional value to store into the database right away + * @param onComplete optional callback function to run once value has been stored + * @returns returns promise that resolves with the reference after the passed value has been stored + */ + push(value, onComplete) { + if (this.isWildcardPath) { + const error = new Error(`Cannot push to wildcard path "/${this.path}"`); + if (typeof value === 'undefined' || typeof onComplete === 'function') { + throw error; + } + return Promise.reject(error); + } + const id = id_1.ID.generate(); + const ref = this.child(id); + ref[_private].pushed = true; + if (typeof value !== 'undefined') { + return ref.set(value, onComplete).then(() => ref); + } + else { + return ref; + } + } + /** + * Removes this node and all children + */ + async remove() { + if (this.isWildcardPath) { + throw new Error(`Cannot remove wildcard path "/${this.path}". Use query().remove instead`); + } + if (this.parent === null) { + throw new Error('Cannot remove the root node'); + } + return this.set(null); + } + /** + * Quickly checks if this reference has a value in the database, without returning its data + * @returns returns a promise that resolves with a boolean value + */ + async exists() { + if (this.isWildcardPath) { + throw new Error(`Cannot check wildcard path "/${this.path}" existence`); + } + if (!this.db.isReady) { + await this.db.ready(); + } + return this.db.api.exists(this.path); + } + get isWildcardPath() { + return this.path.indexOf('*') >= 0 || this.path.indexOf('$') >= 0; + } + /** + * Creates a query object for current node + */ + query() { + return new DataReferenceQuery(this); + } + /** + * Gets the number of children this node has, uses reflection + */ + async count() { + const info = await this.reflect('info', { child_count: true }); + return info.children.count; + } + async reflect(type, args) { + if (this.isWildcardPath) { + throw new Error(`Cannot reflect on wildcard path "/${this.path}"`); + } + if (!this.db.isReady) { + await this.db.ready(); + } + return this.db.api.reflect(this.path, type, args); + } + async export(write, options = { format: 'json', type_safe: true }) { + if (this.isWildcardPath) { + throw new Error(`Cannot export wildcard path "/${this.path}"`); + } + if (!this.db.isReady) { + await this.db.ready(); + } + const writeFn = typeof write === 'function' ? write : write.write.bind(write); + return this.db.api.export(this.path, writeFn, options); + } + /** + * Imports the value of this node and all children + * @param read Function that reads data from your stream + * @param options Only supported format currently is json + * @returns returns a promise that resolves once all data is imported + */ + async import(read, options = { format: 'json', suppress_events: false }) { + if (this.isWildcardPath) { + throw new Error(`Cannot import to wildcard path "/${this.path}"`); + } + if (!this.db.isReady) { + await this.db.ready(); + } + return this.db.api.import(this.path, read, options); + } + proxy(options) { + const isOptionsArg = typeof options === 'object' && (typeof options.cursor !== 'undefined' || typeof options.defaultValue !== 'undefined'); + if (typeof options !== 'undefined' && !isOptionsArg) { + this.db.debug.warn('Warning: live data proxy is being initialized with a deprecated method signature. Use ref.proxy(options) instead of ref.proxy(defaultValue)'); + options = { defaultValue: options }; + } + return data_proxy_1.LiveDataProxy.create(this, options); + } + /** + * @param options optional initial data retrieval options. + * Not recommended to use yet - given includes/excludes are not applied to received mutations, + * or sync actions when using an AceBaseClient with cache db. + */ + observe(options) { + // options should not be used yet - we can't prevent/filter mutation events on excluded paths atm + if (options) { + throw new Error('observe does not support data retrieval options yet'); + } + if (this.isWildcardPath) { + throw new Error(`Cannot observe wildcard path "/${this.path}"`); + } + const Observable = (0, optional_observable_1.getObservable)(); + return new Observable(observer => { + let cache, resolved = false; + let promise = this.get(options).then(snap => { + resolved = true; + cache = snap.val(); + observer.next(cache); + }); + const updateCache = (snap) => { + if (!resolved) { + promise = promise.then(() => updateCache(snap)); + return; + } + const mutatedPath = snap.ref.path; + if (mutatedPath === this.path) { + cache = snap.val(); + return observer.next(cache); + } + const trailKeys = path_info_1.PathInfo.getPathKeys(mutatedPath).slice(path_info_1.PathInfo.getPathKeys(this.path).length); + let target = cache; + while (trailKeys.length > 1) { + const key = trailKeys.shift(); + if (!(key in target)) { + // Happens if initial loaded data did not include / excluded this data, + // or we missed out on an event + target[key] = typeof trailKeys[0] === 'number' ? [] : {}; + } + target = target[key]; + } + const prop = trailKeys.shift(); + const newValue = snap.val(); + if (newValue === null) { + // Remove it + target instanceof Array && typeof prop === 'number' ? target.splice(prop, 1) : delete target[prop]; + } + else { + // Set or update it + target[prop] = newValue; + } + observer.next(cache); + }; + this.on('mutated', updateCache); // TODO: Refactor to 'mutations' event instead + // Return unsubscribe function + return () => { + this.off('mutated', updateCache); + }; + }); + } + async forEach(callbackOrOptions, callback) { + let options; + if (typeof callbackOrOptions === 'function') { + callback = callbackOrOptions; + } + else { + options = callbackOrOptions; + } + if (typeof callback !== 'function') { + throw new TypeError('No callback function given'); + } + // Get all children through reflection. This could be tweaked further using paging + const info = await this.reflect('children', { limit: 0, skip: 0 }); // Gets ALL child keys + const summary = { + canceled: false, + total: info.list.length, + processed: 0, + }; + // Iterate through all children until callback returns false + for (let i = 0; i < info.list.length; i++) { + const key = info.list[i].key; + // Get child data + const snapshot = await this.child(key).get(options); + summary.processed++; + if (!snapshot.exists()) { + // Was removed in the meantime, skip + continue; + } + // Run callback + const result = await callback(snapshot); + if (result === false) { + summary.canceled = true; + break; // Stop looping + } + } + return summary; + } + async getMutations(cursorOrDate) { + const cursor = typeof cursorOrDate === 'string' ? cursorOrDate : undefined; + const timestamp = cursorOrDate === null || typeof cursorOrDate === 'undefined' ? 0 : cursorOrDate instanceof Date ? cursorOrDate.getTime() : undefined; + return this.db.api.getMutations({ path: this.path, cursor, timestamp }); + } + async getChanges(cursorOrDate) { + const cursor = typeof cursorOrDate === 'string' ? cursorOrDate : undefined; + const timestamp = cursorOrDate === null || typeof cursorOrDate === 'undefined' ? 0 : cursorOrDate instanceof Date ? cursorOrDate.getTime() : undefined; + return this.db.api.getChanges({ path: this.path, cursor, timestamp }); + } +} +exports.DataReference = DataReference; +class DataReferenceQuery { + /** + * Creates a query on a reference + */ + constructor(ref) { + this.ref = ref; + this[_private] = { + filters: [], + skip: 0, + take: 0, + order: [], + events: {}, + }; + } + /** + * Applies a filter to the children of the refence being queried. + * If there is an index on the property key being queried, it will be used + * to speed up the query + * @param key property to test value of + * @param op operator to use + * @param compare value to compare with + */ + filter(key, op, compare) { + if ((op === 'in' || op === '!in') && (!(compare instanceof Array) || compare.length === 0)) { + throw new Error(`${op} filter for ${key} must supply an Array compare argument containing at least 1 value`); + } + if ((op === 'between' || op === '!between') && (!(compare instanceof Array) || compare.length !== 2)) { + throw new Error(`${op} filter for ${key} must supply an Array compare argument containing 2 values`); + } + if ((op === 'matches' || op === '!matches') && !(compare instanceof RegExp)) { + throw new Error(`${op} filter for ${key} must supply a RegExp compare argument`); + } + // DISABLED 2019/10/23 because it is not fully implemented only works locally + // if (op === "custom" && typeof compare !== "function") { + // throw `${op} filter for ${key} must supply a Function compare argument`; + // } + // DISABLED 2022/08/15, implemented by query.ts in acebase + // if ((op === 'contains' || op === '!contains') && ((typeof compare === 'object' && !(compare instanceof Array) && !(compare instanceof Date)) || (compare instanceof Array && compare.length === 0))) { + // throw new Error(`${op} filter for ${key} must supply a simple value or (non-zero length) array compare argument`); + // } + this[_private].filters.push({ key, op, compare }); + return this; + } + /** + * @deprecated use `.filter` instead + */ + where(key, op, compare) { + return this.filter(key, op, compare); + } + /** + * Limits the number of query results + */ + take(n) { + this[_private].take = n; + return this; + } + /** + * Skips the first n query results + */ + skip(n) { + this[_private].skip = n; + return this; + } + sort(key, ascending = true) { + if (!['string', 'number'].includes(typeof key)) { + throw 'key must be a string or number'; + } + this[_private].order.push({ key, ascending }); + return this; + } + /** + * @deprecated use `.sort` instead + */ + order(key, ascending = true) { + return this.sort(key, ascending); + } + get(optionsOrCallback, callback) { + if (!this.ref.db.isReady) { + const promise = this.ref.db.ready().then(() => this.get(optionsOrCallback, callback)); + return typeof optionsOrCallback !== 'function' && typeof callback !== 'function' ? promise : undefined; // only return promise if no callback is used + } + callback = + typeof optionsOrCallback === 'function' + ? optionsOrCallback + : typeof callback === 'function' + ? callback + : undefined; + const options = new QueryDataRetrievalOptions(typeof optionsOrCallback === 'object' ? optionsOrCallback : { snapshots: true, cache_mode: 'allow' }); + options.allow_cache = options.cache_mode !== 'bypass'; // Backward compatibility when using older acebase-client + options.eventHandler = ev => { + // TODO: implement context for query events + if (!this[_private].events[ev.name]) { + return false; + } + const listeners = this[_private].events[ev.name]; + if (typeof listeners !== 'object' || listeners.length === 0) { + return false; + } + if (['add', 'change', 'remove'].includes(ev.name)) { + const ref = new DataReference(this.ref.db, ev.path); + const eventData = { name: ev.name }; + if (options.snapshots && ev.name !== 'remove') { + const val = db.types.deserialize(ev.path, ev.value); + eventData.snapshot = new data_snapshot_1.DataSnapshot(ref, val, false); + } + else { + eventData.ref = ref; + } + ev = eventData; + } + listeners.forEach(callback => { try { + callback(ev); + } + catch (e) { } }); + }; + // Check if there are event listeners set for realtime changes + options.monitor = { add: false, change: false, remove: false }; + if (this[_private].events) { + if (this[_private].events['add'] && this[_private].events['add'].length > 0) { + options.monitor.add = true; + } + if (this[_private].events['change'] && this[_private].events['change'].length > 0) { + options.monitor.change = true; + } + if (this[_private].events['remove'] && this[_private].events['remove'].length > 0) { + options.monitor.remove = true; + } + } + // Stop realtime results if they are still enabled on a previous .get on this instance + this.stop(); + // NOTE: returning promise here, regardless of callback argument. Good argument to refactor method to async/await soon + const db = this.ref.db; + return db.api.query(this.ref.path, this[_private], options) + .catch(err => { + throw new Error(err); + }) + .then(res => { + const { stop } = res; + let { results, context } = res; + this.stop = async () => { + await stop(); + }; + if (!('results' in res && 'context' in res)) { + console.warn('Query results missing context. Update your acebase and/or acebase-client packages'); + results = res, context = {}; + } + if (options.snapshots) { + const snaps = results.map(result => { + const val = db.types.deserialize(result.path, result.val); + return new data_snapshot_1.DataSnapshot(db.ref(result.path), val, false, undefined, context); + }); + return DataSnapshotsArray.from(snaps); + } + else { + const refs = results.map(path => db.ref(path)); + return DataReferencesArray.from(refs); + } + }) + .then(results => { + callback && callback(results); + return results; + }); + } + /** + * Stops a realtime query, no more notifications will be received. + */ + async stop() { + // Overridden by .get + } + /** + * Executes the query and returns references. Short for `.get({ snapshots: false })` + * @param callback callback to use instead of returning a promise + * @returns returns an Promise that resolves with an array of DataReferences, or void when using a callback + * @deprecated Use `find` instead + */ + getRefs(callback) { + return this.get({ snapshots: false }, callback); + } + /** + * Executes the query and returns an array of references. Short for `.get({ snapshots: false })` + */ + find() { + return this.get({ snapshots: false }); + } + /** + * Executes the query and returns the number of results + */ + async count() { + const refs = await this.find(); + return refs.length; + } + /** + * Executes the query and returns if there are any results + */ + async exists() { + const originalTake = this[_private].take; + const p = this.take(1).find(); + this.take(originalTake); + const refs = await p; + return refs.length !== 0; + } + /** + * Executes the query, removes all matches from the database + * @returns returns a Promise that resolves once all matches have been removed + */ + async remove(callback) { + const refs = await this.find(); + // Perform updates on each distinct parent collection (only 1 parent if this is not a wildcard path) + const parentUpdates = refs.reduce((parents, ref) => { + const parent = parents[ref.parent.path]; + if (!parent) { + parents[ref.parent.path] = [ref]; + } + else { + parent.push(ref); + } + return parents; + }, {}); + const db = this.ref.db; + const promises = Object.keys(parentUpdates).map(async (parentPath) => { + const updates = refs.reduce((updates, ref) => { + updates[ref.key] = null; + return updates; + }, {}); + const ref = db.ref(parentPath); + try { + await ref.update(updates); + return { ref, success: true }; + } + catch (error) { + return { ref, success: false, error }; + } + }); + const results = await Promise.all(promises); + callback && callback(results); + return results; + } + on(event, callback) { + if (!this[_private].events[event]) { + this[_private].events[event] = []; + } + this[_private].events[event].push(callback); + return this; + } + /** + * Unsubscribes from (a) previously added event(s) + * @param event Name of the event + * @param callback callback function to remove + * @returns returns reference to this query + */ + off(event, callback) { + if (typeof event === 'undefined') { + this[_private].events = {}; + return this; + } + if (!this[_private].events[event]) { + return this; + } + if (typeof callback === 'undefined') { + delete this[_private].events[event]; + return this; + } + const index = this[_private].events[event].indexOf(callback); + if (!~index) { + return this; + } + this[_private].events[event].splice(index, 1); + return this; + } + async forEach(callbackOrOptions, callback) { + let options; + if (typeof callbackOrOptions === 'function') { + callback = callbackOrOptions; + } + else { + options = callbackOrOptions; + } + if (typeof callback !== 'function') { + throw new TypeError('No callback function given'); + } + // Get all query results. This could be tweaked further using paging + const refs = await this.find(); + const summary = { + canceled: false, + total: refs.length, + processed: 0, + }; + // Iterate through all children until callback returns false + for (let i = 0; i < refs.length; i++) { + const ref = refs[i]; + // Get child data + const snapshot = await ref.get(options); + summary.processed++; + if (!snapshot.exists()) { + // Was removed in the meantime, skip + continue; + } + // Run callback + const result = await callback(snapshot); + if (result === false) { + summary.canceled = true; + break; // Stop looping + } + } + return summary; + } +} +exports.DataReferenceQuery = DataReferenceQuery; +class DataSnapshotsArray extends Array { + static from(snaps) { + const arr = new DataSnapshotsArray(snaps.length); + snaps.forEach((snap, i) => arr[i] = snap); + return arr; + } + getValues() { + return this.map(snap => snap.val()); + } +} +exports.DataSnapshotsArray = DataSnapshotsArray; +class DataReferencesArray extends Array { + static from(refs) { + const arr = new DataReferencesArray(refs.length); + refs.forEach((ref, i) => arr[i] = ref); + return arr; + } + getPaths() { + return this.map(ref => ref.path); + } +} +exports.DataReferencesArray = DataReferencesArray; + +},{"./data-proxy":33,"./data-snapshot":35,"./id":37,"./optional-observable":40,"./path-info":42,"./subscription":49}],35:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MutationsDataSnapshot = exports.DataSnapshot = void 0; +const path_info_1 = require("./path-info"); +function getChild(snapshot, path, previous = false) { + if (!snapshot.exists()) { + return null; + } + let child = previous ? snapshot.previous() : snapshot.val(); + if (typeof path === 'number') { + return child[path]; + } + path_info_1.PathInfo.getPathKeys(path).every(key => { + child = child[key]; + return typeof child !== 'undefined'; + }); + return child || null; +} +function getChildren(snapshot) { + if (!snapshot.exists()) { + return []; + } + const value = snapshot.val(); + if (value instanceof Array) { + return new Array(value.length).map((v, i) => i); + } + if (typeof value === 'object') { + return Object.keys(value); + } + return []; +} +class DataSnapshot { + /** + * Creates a new DataSnapshot instance + */ + constructor(ref, value, isRemoved = false, prevValue, context) { + this.ref = ref; + this.val = () => { return value; }; + this.previous = () => { return prevValue; }; + this.exists = () => { + if (isRemoved) { + return false; + } + return value !== null && typeof value !== 'undefined'; + }; + this.context = () => { return context || {}; }; + } + /** + * Indicates whether the node exists in the database + */ + exists() { return false; } + /** + * Creates a `DataSnapshot` instance + * @internal (for internal use) + */ + static for(ref, value) { + return new DataSnapshot(ref, value); + } + /** + * Gets a new snapshot for a child node + * @param path child key or path + * @returns Returns a `DataSnapshot` of the child + */ + child(path) { + // Create new snapshot for child data + const val = getChild(this, path, false); + const prev = getChild(this, path, true); + return new DataSnapshot(this.ref.child(path), val, false, prev); + } + /** + * Checks if the snapshot's value has a child with the given key or path + * @param path child key or path + */ + hasChild(path) { + return getChild(this, path) !== null; + } + /** + * Indicates whether the the snapshot's value has any child nodes + */ + hasChildren() { + return getChildren(this).length > 0; + } + /** + * The number of child nodes in this snapshot + */ + numChildren() { + return getChildren(this).length; + } + /** + * Runs a callback function for each child node in this snapshot until the callback returns false + * @param callback function that is called with a snapshot of each child node in this snapshot. + * Must return a boolean value that indicates whether to continue iterating or not. + */ + forEach(callback) { + const value = this.val(); + const prev = this.previous(); + return getChildren(this).every((key) => { + const snap = new DataSnapshot(this.ref.child(key), value[key], false, prev[key]); + return callback(snap); + }); + } + /** + * The key of the node's path + */ + get key() { return this.ref.key; } +} +exports.DataSnapshot = DataSnapshot; +class MutationsDataSnapshot extends DataSnapshot { + constructor(ref, mutations, context) { + super(ref, mutations, false, undefined, context); + /** + * Don't use this to get previous values of mutated nodes. + * Use `.previous` properties on the individual child snapshots instead. + * @throws Throws an error if you do use it. + */ + this.previous = () => { throw new Error('Iterate values to get previous values for each mutation'); }; + this.val = (warn = true) => { + if (warn) { + console.warn('Unless you know what you are doing, it is best not to use the value of a mutations snapshot directly. Use child methods and forEach to iterate the mutations instead'); + } + return mutations; + }; + } + /** + * Runs a callback function for each mutation in this snapshot until the callback returns false + * @param callback function that is called with a snapshot of each mutation in this snapshot. Must return a boolean value that indicates whether to continue iterating or not. + * @returns Returns whether every child was interated + */ + forEach(callback) { + const mutations = this.val(); + return mutations.every(mutation => { + const ref = mutation.target.reduce((ref, key) => ref.child(key), this.ref); + const snap = new DataSnapshot(ref, mutation.val, false, mutation.prev); + return callback(snap); + }); + } + /** + * Gets a snapshot of a mutated node + * @param index index of the mutation + * @returns Returns a DataSnapshot of the mutated node + */ + child(index) { + if (typeof index !== 'number') { + throw new Error('child index must be a number'); + } + const mutation = this.val()[index]; + const ref = mutation.target.reduce((ref, key) => ref.child(key), this.ref); + return new DataSnapshot(ref, mutation.val, false, mutation.prev); + } +} +exports.MutationsDataSnapshot = MutationsDataSnapshot; + +},{"./path-info":42}],36:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DebugLogger = void 0; +const process_1 = require("./process"); +// eslint-disable-next-line @typescript-eslint/no-empty-function +const noop = () => { }; +class DebugLogger { + constructor(level = 'log', prefix = '') { + this.level = level; + this.prefix = prefix; + this.setLevel(level); + } + setLevel(level) { + const prefix = this.prefix ? this.prefix + ' %s' : ''; + this.verbose = ['verbose'].includes(level) ? prefix ? console.log.bind(console, prefix) : console.log.bind(console) : noop; + this.log = ['verbose', 'log'].includes(level) ? prefix ? console.log.bind(console, prefix) : console.log.bind(console) : noop; + this.warn = ['verbose', 'log', 'warn'].includes(level) ? prefix ? console.warn.bind(console, prefix) : console.warn.bind(console) : noop; + this.error = ['verbose', 'log', 'warn', 'error'].includes(level) ? prefix ? console.error.bind(console, prefix) : console.error.bind(console) : noop; + this.write = (text) => { + const isRunKit = typeof process_1.default !== 'undefined' && process_1.default.env && typeof process_1.default.env.RUNKIT_ENDPOINT_PATH === 'string'; + if (text && isRunKit) { + text.split('\n').forEach(line => console.log(line)); // Logs each line separately + } + else { + console.log(text); + } + }; + } +} +exports.DebugLogger = DebugLogger; + +},{"./process":44}],37:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ID = void 0; +const cuid_1 = require("./cuid"); +// const uuid62 = require('uuid62'); +let timeBias = 0; +class ID { + /** + * (for internal use) + * bias in milliseconds to adjust generated cuid timestamps with + */ + static set timeBias(bias) { + if (typeof bias !== 'number') { + return; + } + timeBias = bias; + } + static generate() { + // Could also use https://www.npmjs.com/package/pushid for Firebase style 20 char id's + return (0, cuid_1.default)(timeBias).slice(1); // Cuts off the always leading 'c' + // return uuid62.v1(); + } +} +exports.ID = ID; + +},{"./cuid":31}],38:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ObjectCollection = exports.PartialArray = exports.SchemaDefinition = exports.Colorize = exports.ColorStyle = exports.SimpleEventEmitter = exports.SimpleCache = exports.ascii85 = exports.PathInfo = exports.Utils = exports.TypeMappings = exports.Transport = exports.EventSubscription = exports.EventPublisher = exports.EventStream = exports.PathReference = exports.ID = exports.DebugLogger = exports.OrderedCollectionProxy = exports.proxyAccess = exports.MutationsDataSnapshot = exports.DataSnapshot = exports.DataReferencesArray = exports.DataSnapshotsArray = exports.QueryDataRetrievalOptions = exports.DataRetrievalOptions = exports.DataReferenceQuery = exports.DataReference = exports.Api = exports.AceBaseBaseSettings = exports.AceBaseBase = void 0; +var acebase_base_1 = require("./acebase-base"); +Object.defineProperty(exports, "AceBaseBase", { enumerable: true, get: function () { return acebase_base_1.AceBaseBase; } }); +Object.defineProperty(exports, "AceBaseBaseSettings", { enumerable: true, get: function () { return acebase_base_1.AceBaseBaseSettings; } }); +var api_1 = require("./api"); +Object.defineProperty(exports, "Api", { enumerable: true, get: function () { return api_1.Api; } }); +var data_reference_1 = require("./data-reference"); +Object.defineProperty(exports, "DataReference", { enumerable: true, get: function () { return data_reference_1.DataReference; } }); +Object.defineProperty(exports, "DataReferenceQuery", { enumerable: true, get: function () { return data_reference_1.DataReferenceQuery; } }); +Object.defineProperty(exports, "DataRetrievalOptions", { enumerable: true, get: function () { return data_reference_1.DataRetrievalOptions; } }); +Object.defineProperty(exports, "QueryDataRetrievalOptions", { enumerable: true, get: function () { return data_reference_1.QueryDataRetrievalOptions; } }); +Object.defineProperty(exports, "DataSnapshotsArray", { enumerable: true, get: function () { return data_reference_1.DataSnapshotsArray; } }); +Object.defineProperty(exports, "DataReferencesArray", { enumerable: true, get: function () { return data_reference_1.DataReferencesArray; } }); +var data_snapshot_1 = require("./data-snapshot"); +Object.defineProperty(exports, "DataSnapshot", { enumerable: true, get: function () { return data_snapshot_1.DataSnapshot; } }); +Object.defineProperty(exports, "MutationsDataSnapshot", { enumerable: true, get: function () { return data_snapshot_1.MutationsDataSnapshot; } }); +var data_proxy_1 = require("./data-proxy"); +Object.defineProperty(exports, "proxyAccess", { enumerable: true, get: function () { return data_proxy_1.proxyAccess; } }); +Object.defineProperty(exports, "OrderedCollectionProxy", { enumerable: true, get: function () { return data_proxy_1.OrderedCollectionProxy; } }); +var debug_1 = require("./debug"); +Object.defineProperty(exports, "DebugLogger", { enumerable: true, get: function () { return debug_1.DebugLogger; } }); +var id_1 = require("./id"); +Object.defineProperty(exports, "ID", { enumerable: true, get: function () { return id_1.ID; } }); +var path_reference_1 = require("./path-reference"); +Object.defineProperty(exports, "PathReference", { enumerable: true, get: function () { return path_reference_1.PathReference; } }); +var subscription_1 = require("./subscription"); +Object.defineProperty(exports, "EventStream", { enumerable: true, get: function () { return subscription_1.EventStream; } }); +Object.defineProperty(exports, "EventPublisher", { enumerable: true, get: function () { return subscription_1.EventPublisher; } }); +Object.defineProperty(exports, "EventSubscription", { enumerable: true, get: function () { return subscription_1.EventSubscription; } }); +exports.Transport = require("./transport"); +var type_mappings_1 = require("./type-mappings"); +Object.defineProperty(exports, "TypeMappings", { enumerable: true, get: function () { return type_mappings_1.TypeMappings; } }); +exports.Utils = require("./utils"); +var path_info_1 = require("./path-info"); +Object.defineProperty(exports, "PathInfo", { enumerable: true, get: function () { return path_info_1.PathInfo; } }); +var ascii85_1 = require("./ascii85"); +Object.defineProperty(exports, "ascii85", { enumerable: true, get: function () { return ascii85_1.ascii85; } }); +var simple_cache_1 = require("./simple-cache"); +Object.defineProperty(exports, "SimpleCache", { enumerable: true, get: function () { return simple_cache_1.SimpleCache; } }); +var simple_event_emitter_1 = require("./simple-event-emitter"); +Object.defineProperty(exports, "SimpleEventEmitter", { enumerable: true, get: function () { return simple_event_emitter_1.SimpleEventEmitter; } }); +var simple_colors_1 = require("./simple-colors"); +Object.defineProperty(exports, "ColorStyle", { enumerable: true, get: function () { return simple_colors_1.ColorStyle; } }); +Object.defineProperty(exports, "Colorize", { enumerable: true, get: function () { return simple_colors_1.Colorize; } }); +var schema_1 = require("./schema"); +Object.defineProperty(exports, "SchemaDefinition", { enumerable: true, get: function () { return schema_1.SchemaDefinition; } }); +var partial_array_1 = require("./partial-array"); +Object.defineProperty(exports, "PartialArray", { enumerable: true, get: function () { return partial_array_1.PartialArray; } }); +const object_collection_1 = require("./object-collection"); +Object.defineProperty(exports, "ObjectCollection", { enumerable: true, get: function () { return object_collection_1.ObjectCollection; } }); + +},{"./acebase-base":27,"./api":28,"./ascii85":29,"./data-proxy":33,"./data-reference":34,"./data-snapshot":35,"./debug":36,"./id":37,"./object-collection":39,"./partial-array":41,"./path-info":42,"./path-reference":43,"./schema":45,"./simple-cache":46,"./simple-colors":47,"./simple-event-emitter":48,"./subscription":49,"./transport":50,"./type-mappings":51,"./utils":52}],39:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ObjectCollection = void 0; +const id_1 = require("./id"); +/** + * Convenience interface for defining an object collection + * @example + * type ChatMessage = { + * text: string, uid: string, sent: Date + * } + * type Chat = { + * title: text + * messages: ObjectCollection + * } + */ +class ObjectCollection { + /** + * Converts and array of values into an object collection, generating a unique key for each item in the array + * @param array + * @example + * const array = [ + * { title: "Don't make me think!", author: "Steve Krug" }, + * { title: "The tipping point", author: "Malcolm Gladwell" } + * ]; + * + * // Convert: + * const collection = ObjectCollection.from(array); + * // --> { + * // kh1x3ygb000120r7ipw6biln: { + * // title: "Don't make me think!", + * // author: "Steve Krug" + * // }, + * // kh1x3ygb000220r757ybpyec: { + * // title: "The tipping point", + * // author: "Malcolm Gladwell" + * // } + * // } + * + * // Now it's easy to add them to the db: + * db.ref('books').update(collection); + */ + static from(array) { + const collection = {}; + array.forEach(child => { + collection[id_1.ID.generate()] = child; + }); + return collection; + } +} +exports.ObjectCollection = ObjectCollection; + +},{"./id":37}],40:[function(require,module,exports){ +"use strict"; +// Optional dependency on rxjs package. If rxjs is installed into your project, you'll get the correct +// typings for AceBase methods that use Observables, and you'll be able to use them. If you don't use +// those methods, there is no need to install rxjs. +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ObservableShim = exports.setObservable = exports.getObservable = void 0; +let _observable; +function getObservable() { + if (_observable) { + return _observable; + } + if (typeof window !== 'undefined' && window.Observable) { + _observable = window.Observable; + return _observable; + } + try { + // eslint-disable-next-line @typescript-eslint/no-var-requires + const { Observable } = require('rxjs'); // fails in ESM module, need an elegant way to handle this. Can't use dynamic import() because it 1) requires Node 12+ and 2) causes Webpack build to fail if rxjs is not installed + if (!Observable) { + throw new Error('not loaded'); + } + _observable = Observable; + return Observable; + } + catch (err) { + throw new Error('RxJS Observable could not be loaded. If you are using a browser build, add it to AceBase using db.setObservable. For node.js builds, add it to your project with: npm i rxjs'); + } +} +exports.getObservable = getObservable; +function setObservable(Observable) { + if (Observable === 'shim') { + console.warn('Using AceBase\'s simple Observable shim. Only use this if you know what you\'re doing.'); + Observable = ObservableShim; + } + _observable = Observable; +} +exports.setObservable = setObservable; +/** + * rxjs is an optional dependency that only needs installing when any of AceBase's observe methods are used. + * If for some reason rxjs is not available (eg in test suite), we can provide a shim. This class is used when + * `db.setObservable("shim")` is called + */ +class ObservableShim { + constructor(create) { + this._active = false; + this._subscribers = []; + this._create = create; + } + subscribe(subscriber) { + if (!this._active) { + const next = (value) => { + // emit value to all subscribers + this._subscribers.forEach(s => { + try { + s(value); + } + catch (err) { + console.error('Error in subscriber callback:', err); + } + }); + }; + const observer = { next }; + this._cleanup = this._create(observer); + this._active = true; + } + this._subscribers.push(subscriber); + const unsubscribe = () => { + this._subscribers.splice(this._subscribers.indexOf(subscriber), 1); + if (this._subscribers.length === 0) { + this._active = false; + this._cleanup(); + } + }; + const subscription = { + unsubscribe, + }; + return subscription; + } +} +exports.ObservableShim = ObservableShim; + +},{"rxjs":53}],41:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PartialArray = void 0; +/** + * Sparse/partial array converted to a serializable object. Use `Object.keys(sparseArray)` and `Object.values(sparseArray)` to iterate its indice and/or values + */ +class PartialArray { + constructor(sparseArray) { + if (sparseArray instanceof Array) { + for (let i = 0; i < sparseArray.length; i++) { + if (typeof sparseArray[i] !== 'undefined') { + this[i] = sparseArray[i]; + } + } + } + else if (sparseArray) { + Object.assign(this, sparseArray); + } + } +} +exports.PartialArray = PartialArray; + +},{}],42:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PathInfo = void 0; +function getPathKeys(path) { + path = path.replace(/\[/g, '/[').replace(/^\/+/, '').replace(/\/+$/, ''); // Replace [ with /[, remove leading slashes, remove trailing slashes + if (path.length === 0) { + return []; + } + const keys = path.split('/'); + return keys.map(key => { + return key.startsWith('[') ? parseInt(key.slice(1, -1)) : key; + }); +} +class PathInfo { + constructor(path) { + if (typeof path === 'string') { + this.keys = getPathKeys(path); + } + else if (path instanceof Array) { + this.keys = path; + } + this.path = this.keys.reduce((path, key, i) => i === 0 ? `${key}` : typeof key === 'string' ? `${path}/${key}` : `${path}[${key}]`, ''); + } + static get(path) { + return new PathInfo(path); + } + static getChildPath(path, childKey) { + // return getChildPath(path, childKey); + return PathInfo.get(path).child(childKey).path; + } + static getPathKeys(path) { + return getPathKeys(path); + } + get key() { + return this.keys.length === 0 ? null : this.keys.slice(-1)[0]; + } + get parent() { + if (this.keys.length == 0) { + return null; + } + const parentKeys = this.keys.slice(0, -1); + return new PathInfo(parentKeys); + } + get parentPath() { + return this.keys.length === 0 ? null : this.parent.path; + } + child(childKey) { + if (typeof childKey === 'string') { + childKey = getPathKeys(childKey); + } + return new PathInfo(this.keys.concat(childKey)); + } + childPath(childKey) { + return this.child(childKey).path; + } + get pathKeys() { + return this.keys; + } + /** + * If varPath contains variables or wildcards, it will return them with the values found in fullPath + * @param {string} varPath path containing variables such as * and $name + * @param {string} fullPath real path to a node + * @returns {{ [index: number]: string|number, [variable: string]: string|number }} returns an array-like object with all variable values. All named variables are also set on the array by their name (eg vars.uid and vars.$uid) + * @example + * PathInfo.extractVariables('users/$uid/posts/$postid', 'users/ewout/posts/post1/title') === { + * 0: 'ewout', + * 1: 'post1', + * uid: 'ewout', // or $uid + * postid: 'post1' // or $postid + * }; + * + * PathInfo.extractVariables('users/*\/posts/*\/$property', 'users/ewout/posts/post1/title') === { + * 0: 'ewout', + * 1: 'post1', + * 2: 'title', + * property: 'title' // or $property + * }; + * + * PathInfo.extractVariables('users/$user/friends[*]/$friend', 'users/dora/friends[4]/diego') === { + * 0: 'dora', + * 1: 4, + * 2: 'diego', + * user: 'dora', // or $user + * friend: 'diego' // or $friend + * }; + */ + static extractVariables(varPath, fullPath) { + if (!varPath.includes('*') && !varPath.includes('$')) { + return []; + } + // if (!this.equals(fullPath)) { + // throw new Error(`path does not match with the path of this PathInfo instance: info.equals(path) === false!`) + // } + const keys = getPathKeys(varPath); + const pathKeys = getPathKeys(fullPath); + let count = 0; + const variables = { + get length() { return count; }, + }; + keys.forEach((key, index) => { + const pathKey = pathKeys[index]; + if (key === '*') { + variables[count++] = pathKey; + } + else if (typeof key === 'string' && key[0] === '$') { + variables[count++] = pathKey; + // Set the $variable property + variables[key] = pathKey; + // Set friendly property name (without $) + const varName = key.slice(1); + if (typeof variables[varName] === 'undefined') { + variables[varName] = pathKey; + } + } + }); + return variables; + } + /** + * If varPath contains variables or wildcards, it will return a path with the variables replaced by the keys found in fullPath. + * @example + * PathInfo.fillVariables('users/$uid/posts/$postid', 'users/ewout/posts/post1/title') === 'users/ewout/posts/post1' + */ + static fillVariables(varPath, fullPath) { + if (varPath.indexOf('*') < 0 && varPath.indexOf('$') < 0) { + return varPath; + } + const keys = getPathKeys(varPath); + const pathKeys = getPathKeys(fullPath); + const merged = keys.map((key, index) => { + if (key === pathKeys[index] || index >= pathKeys.length) { + return key; + } + else if (typeof key === 'string' && (key === '*' || key[0] === '$')) { + return pathKeys[index]; + } + else { + throw new Error(`Path "${fullPath}" cannot be used to fill variables of path "${varPath}" because they do not match`); + } + }); + let mergedPath = ''; + merged.forEach(key => { + if (typeof key === 'number') { + mergedPath += `[${key}]`; + } + else { + if (mergedPath.length > 0) { + mergedPath += '/'; + } + mergedPath += key; + } + }); + return mergedPath; + } + /** + * Replaces all variables in a path with the values in the vars argument + * @param varPath path containing variables + * @param vars variables object such as one gotten from PathInfo.extractVariables + */ + static fillVariables2(varPath, vars) { + if (typeof vars !== 'object' || Object.keys(vars).length === 0) { + return varPath; // Nothing to fill + } + const pathKeys = getPathKeys(varPath); + let n = 0; + const targetPath = pathKeys.reduce((path, key) => { + if (typeof key === 'string' && (key === '*' || key.startsWith('$'))) { + return PathInfo.getChildPath(path, vars[n++]); + } + else { + return PathInfo.getChildPath(path, key); + } + }, ''); + return targetPath; + } + /** + * Checks if a given path matches this path, eg "posts/*\/title" matches "posts/12344/title" and "users/123/name" matches "users/$uid/name" + */ + equals(otherPath) { + const other = otherPath instanceof PathInfo ? otherPath : new PathInfo(otherPath); + if (this.path === other.path) { + return true; + } // they are identical + if (this.keys.length !== other.keys.length) { + return false; + } + return this.keys.every((key, index) => { + const otherKey = other.keys[index]; + return otherKey === key + || (typeof otherKey === 'string' && (otherKey === '*' || otherKey[0] === '$')) + || (typeof key === 'string' && (key === '*' || key[0] === '$')); + }); + } + /** + * Checks if a given path is an ancestor, eg "posts" is an ancestor of "posts/12344/title" + */ + isAncestorOf(descendantPath) { + const descendant = descendantPath instanceof PathInfo ? descendantPath : new PathInfo(descendantPath); + if (descendant.path === '' || this.path === descendant.path) { + return false; + } + if (this.path === '') { + return true; + } + if (this.keys.length >= descendant.keys.length) { + return false; + } + return this.keys.every((key, index) => { + const otherKey = descendant.keys[index]; + return otherKey === key + || (typeof otherKey === 'string' && (otherKey === '*' || otherKey[0] === '$')) + || (typeof key === 'string' && (key === '*' || key[0] === '$')); + }); + } + /** + * Checks if a given path is a descendant, eg "posts/1234/title" is a descendant of "posts" + */ + isDescendantOf(ancestorPath) { + const ancestor = ancestorPath instanceof PathInfo ? ancestorPath : new PathInfo(ancestorPath); + if (this.path === '' || this.path === ancestor.path) { + return false; + } + if (ancestorPath === '') { + return true; + } + if (ancestor.keys.length >= this.keys.length) { + return false; + } + return ancestor.keys.every((key, index) => { + const otherKey = this.keys[index]; + return otherKey === key + || (typeof otherKey === 'string' && (otherKey === '*' || otherKey[0] === '$')) + || (typeof key === 'string' && (key === '*' || key[0] === '$')); + }); + } + /** + * Checks if the other path is on the same trail as this path. Paths on the same trail if they share a + * common ancestor. Eg: "posts" is on the trail of "posts/1234/title" and vice versa. + */ + isOnTrailOf(otherPath) { + const other = otherPath instanceof PathInfo ? otherPath : new PathInfo(otherPath); + if (this.path.length === 0 || other.path.length === 0) { + return true; + } + if (this.path === other.path) { + return true; + } + return this.pathKeys.every((key, index) => { + if (index >= other.keys.length) { + return true; + } + const otherKey = other.keys[index]; + return otherKey === key + || (typeof otherKey === 'string' && (otherKey === '*' || otherKey[0] === '$')) + || (typeof key === 'string' && (key === '*' || key[0] === '$')); + }); + } + /** + * Checks if a given path is a direct child, eg "posts/1234/title" is a child of "posts/1234" + */ + isChildOf(otherPath) { + const other = otherPath instanceof PathInfo ? otherPath : new PathInfo(otherPath); + if (this.path === '') { + return false; + } // If our path is the root, it's nobody's child... + return this.parent.equals(other); + } + /** + * Checks if a given path is its parent, eg "posts/1234" is the parent of "posts/1234/title" + */ + isParentOf(otherPath) { + const other = otherPath instanceof PathInfo ? otherPath : new PathInfo(otherPath); + if (other.path === '') { + return false; + } // If the other path is the root, this path cannot be its parent + return this.equals(other.parent); + } +} +exports.PathInfo = PathInfo; + +},{}],43:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PathReference = void 0; +class PathReference { + /** + * Creates a reference to a path that can be stored in the database. Use this to create cross-references to other data in your database + * @param path + */ + constructor(path) { + this.path = path; + } +} +exports.PathReference = PathReference; + +},{}],44:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = { + // eslint-disable-next-line @typescript-eslint/ban-types + nextTick(fn) { + setTimeout(fn, 0); + }, +}; + +},{}],45:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SchemaDefinition = void 0; +// parses a typestring, creates checker functions +function parse(definition) { + // tokenize + let pos = 0; + function consumeSpaces() { + let c; + while (c = definition[pos], [' ', '\r', '\n', '\t'].includes(c)) { + pos++; + } + } + function consumeCharacter(c) { + if (definition[pos] !== c) { + throw new Error(`Unexpected character at position ${pos}. Expected: '${c}', found '${definition[pos]}'`); + } + pos++; + } + function readProperty() { + consumeSpaces(); + const prop = { name: '', optional: false, wildcard: false }; + let c; + while (c = definition[pos], c === '_' || c === '$' || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (prop.name.length > 0 && c >= '0' && c <= '9') || (prop.name.length === 0 && c === '*')) { + prop.name += c; + pos++; + } + if (prop.name.length === 0) { + throw new Error(`Property name expected at position ${pos}, found: ${definition.slice(pos, pos + 10)}..`); + } + if (definition[pos] === '?') { + prop.optional = true; + pos++; + } + if (prop.name === '*' || prop.name[0] === '$') { + prop.optional = true; + prop.wildcard = true; + } + consumeSpaces(); + consumeCharacter(':'); + return prop; + } + function readType() { + consumeSpaces(); + let type = { typeOf: 'any' }, c; + // try reading simple type first: (string,number,boolean,Date etc) + let name = ''; + while (c = definition[pos], (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) { + name += c; + pos++; + } + if (name.length === 0) { + if (definition[pos] === '*') { + // any value + consumeCharacter('*'); + type.typeOf = 'any'; + } + else if (['\'', '"', '`'].includes(definition[pos])) { + // Read string value + type.typeOf = 'string'; + type.value = ''; + const quote = definition[pos]; + consumeCharacter(quote); + while (c = definition[pos], c && c !== quote) { + type.value += c; + pos++; + } + consumeCharacter(quote); + } + else if (definition[pos] >= '0' && definition[pos] <= '9') { + // read numeric value + type.typeOf = 'number'; + let nr = ''; + while (c = definition[pos], c === '.' || c === 'n' || (c >= '0' && c <= '9')) { + nr += c; + pos++; + } + if (nr.endsWith('n')) { + type.value = BigInt(nr); + } + else if (nr.includes('.')) { + type.value = parseFloat(nr); + } + else { + type.value = parseInt(nr); + } + } + else if (definition[pos] === '{') { + // Read object (interface) definition + consumeCharacter('{'); + type.typeOf = 'object'; + type.instanceOf = Object; + // Read children: + type.children = []; + while (true) { + const prop = readProperty(); + const types = readTypes(); + type.children.push({ name: prop.name, optional: prop.optional, wildcard: prop.wildcard, types }); + consumeSpaces(); + if (definition[pos] === '}') { + break; + } + consumeCharacter(','); + } + consumeCharacter('}'); + } + else if (definition[pos] === '/') { + // Read regular expression definition + consumeCharacter('/'); + let pattern = '', flags = ''; + while (c = definition[pos], c !== '/' || pattern.endsWith('\\')) { + pattern += c; + pos++; + } + consumeCharacter('/'); + while (c = definition[pos], ['g', 'i', 'm', 's', 'u', 'y', 'd'].includes(c)) { + flags += c; + pos++; + } + type.typeOf = 'string'; + type.matches = new RegExp(pattern, flags); + } + else { + throw new Error(`Expected a type definition at position ${pos}, found character '${definition[pos]}'`); + } + } + else if (['string', 'number', 'boolean', 'bigint', 'undefined', 'String', 'Number', 'Boolean', 'BigInt'].includes(name)) { + type.typeOf = name.toLowerCase(); + } + else if (name === 'Object' || name === 'object') { + type.typeOf = 'object'; + type.instanceOf = Object; + } + else if (name === 'Date') { + type.typeOf = 'object'; + type.instanceOf = Date; + } + else if (name === 'Binary' || name === 'binary') { + type.typeOf = 'object'; + type.instanceOf = ArrayBuffer; + } + else if (name === 'any') { + type.typeOf = 'any'; + } + else if (name === 'null') { + // This is ignored, null values are not stored in the db (null indicates deletion) + type.typeOf = 'object'; + type.value = null; + } + else if (name === 'Array') { + // Read generic Array defintion + consumeCharacter('<'); + type.typeOf = 'object'; + type.instanceOf = Array; //name; + type.genericTypes = readTypes(); + consumeCharacter('>'); + } + else if (['true', 'false'].includes(name)) { + type.typeOf = 'boolean'; + type.value = name === 'true'; + } + else { + throw new Error(`Unknown type at position ${pos}: "${type}"`); + } + // Check if it's an Array of given type (eg: string[] or string[][]) + // Also converts to generics, string[] becomes Array, string[][] becomes Array> + consumeSpaces(); + while (definition[pos] === '[') { + consumeCharacter('['); + consumeCharacter(']'); + type = { typeOf: 'object', instanceOf: Array, genericTypes: [type] }; + } + return type; + } + function readTypes() { + consumeSpaces(); + const types = [readType()]; + while (definition[pos] === '|') { + consumeCharacter('|'); + types.push(readType()); + consumeSpaces(); + } + return types; + } + return readType(); +} +function checkObject(path, properties, obj, partial) { + // Are there any properties that should not be in there? + const invalidProperties = properties.find(prop => prop.name === '*' || prop.name[0] === '$') // Only if no wildcard properties are allowed + ? [] + : Object.keys(obj).filter(key => ![null, undefined].includes(obj[key]) // Ignore null or undefined values + && !properties.find(prop => prop.name === key)); + if (invalidProperties.length > 0) { + return { ok: false, reason: `Object at path "${path}" cannot have propert${invalidProperties.length === 1 ? 'y' : 'ies'} ${invalidProperties.map(p => `"${p}"`).join(', ')}` }; + } + // Loop through properties that should be present + function checkProperty(property) { + const hasValue = ![null, undefined].includes(obj[property.name]); + if (!property.optional && (partial ? obj[property.name] === null : !hasValue)) { + return { ok: false, reason: `Property at path "${path}/${property.name}" is not optional` }; + } + if (hasValue && property.types.length === 1) { + return checkType(`${path}/${property.name}`, property.types[0], obj[property.name], false); + } + if (hasValue && !property.types.some(type => checkType(`${path}/${property.name}`, type, obj[property.name], false).ok)) { + return { ok: false, reason: `Property at path "${path}/${property.name}" does not match any of ${property.types.length} allowed types` }; + } + return { ok: true }; + } + const namedProperties = properties.filter(prop => !prop.wildcard); + const failedProperty = namedProperties.find(prop => !checkProperty(prop).ok); + if (failedProperty) { + const reason = checkProperty(failedProperty).reason; + return { ok: false, reason }; + } + const wildcardProperty = properties.find(prop => prop.wildcard); + if (!wildcardProperty) { + return { ok: true }; + } + const wildcardChildKeys = Object.keys(obj).filter(key => !namedProperties.find(prop => prop.name === key)); + let result = { ok: true }; + for (let i = 0; i < wildcardChildKeys.length && result.ok; i++) { + const childKey = wildcardChildKeys[i]; + result = checkProperty({ name: childKey, types: wildcardProperty.types, optional: true, wildcard: true }); + } + return result; +} +function checkType(path, type, value, partial, trailKeys) { + const ok = { ok: true }; + if (type.typeOf === 'any') { + return ok; + } + if (trailKeys instanceof Array && trailKeys.length > 0) { + // The value to check resides in a descendant path of given type definition. + // Recursivly check child type definitions to find a match + if (type.typeOf !== 'object') { + return { ok: false, reason: `path "${path}" must be typeof ${type.typeOf}` }; // given value resides in a child path, but parent is not allowed be an object. + } + if (!type.children) { + return ok; + } + const childKey = trailKeys[0]; + let property = type.children.find(prop => prop.name === childKey); + if (!property) { + property = type.children.find(prop => prop.name === '*' || prop.name[0] === '$'); + } + if (!property) { + return { ok: false, reason: `Object at path "${path}" cannot have property "${childKey}"` }; + } + if (property.optional && value === null && trailKeys.length === 1) { + return ok; + } + let result; + property.types.some(type => { + const childPath = typeof childKey === 'number' ? `${path}[${childKey}]` : `${path}/${childKey}`; + result = checkType(childPath, type, value, partial, trailKeys.slice(1)); + return result.ok; + }); + return result; + } + if (value === null) { + return ok; + } + if (type.instanceOf === Object && (typeof value !== 'object' || value instanceof Array || value instanceof Date)) { + return { ok: false, reason: `path "${path}" must be an object collection` }; + } + if (type.instanceOf && (typeof value !== 'object' || value.constructor !== type.instanceOf)) { // !(value instanceof type.instanceOf) // value.constructor.name !== type.instanceOf + return { ok: false, reason: `path "${path}" must be an instance of ${type.instanceOf.name}` }; + } + if ('value' in type && value !== type.value) { + return { ok: false, reason: `path "${path}" must be value: ${type.value}` }; + } + if (typeof value !== type.typeOf) { + return { ok: false, reason: `path "${path}" must be typeof ${type.typeOf}` }; + } + if (type.instanceOf === Array && type.genericTypes && !value.every(v => type.genericTypes.some(t => checkType(path, t, v, false).ok))) { + return { ok: false, reason: `every array value of path "${path}" must match one of the specified types` }; + } + if (type.typeOf === 'object' && type.children) { + return checkObject(path, type.children, value, partial); + } + if (type.matches && !type.matches.test(value)) { + return { ok: false, reason: `path "${path}" must match regular expression /${type.matches.source}/${type.matches.flags}` }; + } + return ok; +} +// eslint-disable-next-line @typescript-eslint/ban-types +function getConstructorType(val) { + switch (val) { + case String: return 'string'; + case Number: return 'number'; + case Boolean: return 'boolean'; + case Date: return 'Date'; + case BigInt: return 'bigint'; + case Array: throw new Error('Schema error: Array cannot be used without a type. Use string[] or Array instead'); + default: throw new Error(`Schema error: unknown type used: ${val.name}`); + } +} +class SchemaDefinition { + constructor(definition) { + this.source = definition; + if (typeof definition === 'object') { + // Turn object into typescript definitions + // eg: + // const example = { + // name: String, + // born: Date, + // instrument: "'guitar'|'piano'", + // "address?": { + // street: String + // } + // }; + // Resulting ts: "{name:string,born:Date,instrument:'guitar'|'piano',address?:{street:string}}" + const toTS = obj => { + return '{' + Object.keys(obj) + .map(key => { + let val = obj[key]; + if (val === undefined) { + val = 'undefined'; + } + else if (val instanceof RegExp) { + val = `/${val.source}/${val.flags}`; + } + else if (typeof val === 'object') { + val = toTS(val); + } + else if (typeof val === 'function') { + val = getConstructorType(val); + } + else if (!['string', 'number', 'boolean', 'bigint'].includes(typeof val)) { + throw new Error(`Type definition for key "${key}" must be a string, number, boolean, bigint, object, regular expression, or one of these classes: String, Number, Boolean, Date, BigInt`); + } + return `${key}:${val}`; + }) + .join(',') + '}'; + }; + this.text = toTS(definition); + } + else if (typeof definition === 'string') { + this.text = definition; + } + else { + throw new Error('Type definiton must be a string or an object'); + } + this.type = parse(this.text); + } + check(path, value, partial, trailKeys) { + return checkType(path, this.type, value, partial, trailKeys); + } +} +exports.SchemaDefinition = SchemaDefinition; + +},{}],46:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SimpleCache = void 0; +const utils_1 = require("./utils"); +const calculateExpiryTime = (expirySeconds) => expirySeconds > 0 ? Date.now() + (expirySeconds * 1000) : Infinity; +/** + * Simple cache implementation that retains immutable values in memory for a limited time. + * Immutability is enforced by cloning the stored and retrieved values. To change a cached value, it will have to be `set` again with the new value. + */ +class SimpleCache { + constructor(options) { + var _a; + this.enabled = true; + if (typeof options === 'number') { + // Old signature: only expirySeconds given + options = { expirySeconds: options }; + } + options.cloneValues = options.cloneValues !== false; + if (typeof options.expirySeconds !== 'number' && typeof options.maxEntries !== 'number') { + throw new Error('Either expirySeconds or maxEntries must be specified'); + } + this.options = options; + this.cache = new Map(); + // Cleanup every minute + const interval = setInterval(() => { this.cleanUp(); }, 60 * 1000); + (_a = interval.unref) === null || _a === void 0 ? void 0 : _a.call(interval); + } + get size() { return this.cache.size; } + has(key) { + if (!this.enabled) { + return false; + } + return this.cache.has(key); + } + get(key) { + if (!this.enabled) { + return null; + } + const entry = this.cache.get(key); + if (!entry) { + return null; + } // if (!entry || entry.expires <= Date.now()) { return null; } + entry.expires = calculateExpiryTime(this.options.expirySeconds); + entry.accessed = Date.now(); + return this.options.cloneValues ? (0, utils_1.cloneObject)(entry.value) : entry.value; + } + set(key, value) { + if (this.options.maxEntries > 0 && this.cache.size >= this.options.maxEntries && !this.cache.has(key)) { + // console.warn(`* cache limit ${this.options.maxEntries} reached: ${this.cache.size}`); + // Remove an expired item or the one that was accessed longest ago + let oldest = null; + const now = Date.now(); + for (const [key, entry] of this.cache.entries()) { + if (entry.expires <= now) { + // Found an expired item. Remove it now and stop + this.cache.delete(key); + oldest = null; + break; + } + if (!oldest || entry.accessed < oldest.accessed) { + oldest = { key, accessed: entry.accessed }; + } + } + if (oldest !== null) { + this.cache.delete(oldest.key); + } + } + this.cache.set(key, { value: this.options.cloneValues ? (0, utils_1.cloneObject)(value) : value, added: Date.now(), accessed: Date.now(), expires: calculateExpiryTime(this.options.expirySeconds) }); + } + remove(key) { + this.cache.delete(key); + } + cleanUp() { + const now = Date.now(); + this.cache.forEach((entry, key) => { + if (entry.expires <= now) { + this.cache.delete(key); + } + }); + } +} +exports.SimpleCache = SimpleCache; + +},{"./utils":52}],47:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Colorize = exports.SetColorsEnabled = exports.ColorsSupported = exports.ColorStyle = void 0; +const process_1 = require("./process"); +// See from https://en.wikipedia.org/wiki/ANSI_escape_code +const FontCode = { + bold: 1, + dim: 2, + italic: 3, + underline: 4, + inverse: 7, + hidden: 8, + strikethrough: 94, +}; +const ColorCode = { + black: 30, + red: 31, + green: 32, + yellow: 33, + blue: 34, + magenta: 35, + cyan: 36, + white: 37, + grey: 90, + // Bright colors: + brightRed: 91, + // TODO, other bright colors +}; +const BgColorCode = { + bgBlack: 40, + bgRed: 41, + bgGreen: 42, + bgYellow: 43, + bgBlue: 44, + bgMagenta: 45, + bgCyan: 46, + bgWhite: 47, + bgGrey: 100, + bgBrightRed: 101, + // TODO, other bright colors +}; +const ResetCode = { + all: 0, + color: 39, + background: 49, + bold: 22, + dim: 22, + italic: 23, + underline: 24, + inverse: 27, + hidden: 28, + strikethrough: 29, +}; +var ColorStyle; +(function (ColorStyle) { + ColorStyle["reset"] = "reset"; + ColorStyle["bold"] = "bold"; + ColorStyle["dim"] = "dim"; + ColorStyle["italic"] = "italic"; + ColorStyle["underline"] = "underline"; + ColorStyle["inverse"] = "inverse"; + ColorStyle["hidden"] = "hidden"; + ColorStyle["strikethrough"] = "strikethrough"; + ColorStyle["black"] = "black"; + ColorStyle["red"] = "red"; + ColorStyle["green"] = "green"; + ColorStyle["yellow"] = "yellow"; + ColorStyle["blue"] = "blue"; + ColorStyle["magenta"] = "magenta"; + ColorStyle["cyan"] = "cyan"; + ColorStyle["grey"] = "grey"; + ColorStyle["bgBlack"] = "bgBlack"; + ColorStyle["bgRed"] = "bgRed"; + ColorStyle["bgGreen"] = "bgGreen"; + ColorStyle["bgYellow"] = "bgYellow"; + ColorStyle["bgBlue"] = "bgBlue"; + ColorStyle["bgMagenta"] = "bgMagenta"; + ColorStyle["bgCyan"] = "bgCyan"; + ColorStyle["bgWhite"] = "bgWhite"; + ColorStyle["bgGrey"] = "bgGrey"; +})(ColorStyle = exports.ColorStyle || (exports.ColorStyle = {})); +function ColorsSupported() { + // Checks for basic color support + if (typeof process_1.default === 'undefined' || !process_1.default.stdout || !process_1.default.env || !process_1.default.platform || process_1.default.platform === 'browser') { + return false; + } + if (process_1.default.platform === 'win32') { + return true; + } + const env = process_1.default.env; + if (env.COLORTERM) { + return true; + } + if (env.TERM === 'dumb') { + return false; + } + if (env.CI || env.TEAMCITY_VERSION) { + return !!env.TRAVIS; + } + if (['iTerm.app', 'HyperTerm', 'Hyper', 'MacTerm', 'Apple_Terminal', 'vscode'].includes(env.TERM_PROGRAM)) { + return true; + } + if (/^xterm-256|^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(env.TERM)) { + return true; + } + return false; +} +exports.ColorsSupported = ColorsSupported; +let _enabled = ColorsSupported(); +function SetColorsEnabled(enabled) { + _enabled = ColorsSupported() && enabled; +} +exports.SetColorsEnabled = SetColorsEnabled; +function Colorize(str, style) { + if (!_enabled) { + return str; + } + const openCodes = [], closeCodes = []; + const addStyle = style => { + if (style === ColorStyle.reset) { + openCodes.push(ResetCode.all); + } + else if (style in FontCode) { + openCodes.push(FontCode[style]); + closeCodes.push(ResetCode[style]); + } + else if (style in ColorCode) { + openCodes.push(ColorCode[style]); + closeCodes.push(ResetCode.color); + } + else if (style in BgColorCode) { + openCodes.push(BgColorCode[style]); + closeCodes.push(ResetCode.background); + } + }; + if (style instanceof Array) { + style.forEach(addStyle); + } + else { + addStyle(style); + } + // const open = '\u001b[' + openCodes.join(';') + 'm'; + // const close = '\u001b[' + closeCodes.join(';') + 'm'; + const open = openCodes.map(code => '\u001b[' + code + 'm').join(''); + const close = closeCodes.map(code => '\u001b[' + code + 'm').join(''); + // return open + str + close; + return str.split('\n').map(line => open + line + close).join('\n'); +} +exports.Colorize = Colorize; +String.prototype.colorize = function (style) { + return Colorize(this, style); +}; + +},{"./process":44}],48:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SimpleEventEmitter = void 0; +function runCallback(callback, data) { + try { + callback(data); + } + catch (err) { + console.error('Error in subscription callback', err); + } +} +class SimpleEventEmitter { + constructor() { + this._subscriptions = []; + this._oneTimeEvents = new Map(); + } + on(event, callback) { + if (this._oneTimeEvents.has(event)) { + return runCallback(callback, this._oneTimeEvents.get(event)); + } + this._subscriptions.push({ event, callback, once: false }); + return this; + } + off(event, callback) { + this._subscriptions = this._subscriptions.filter(s => s.event !== event || (callback && s.callback !== callback)); + return this; + } + once(event, callback) { + return new Promise(resolve => { + const ourCallback = (data) => { + resolve(data); + callback === null || callback === void 0 ? void 0 : callback(data); + }; + if (this._oneTimeEvents.has(event)) { + runCallback(ourCallback, this._oneTimeEvents.get(event)); + } + else { + this._subscriptions.push({ event, callback: ourCallback, once: true }); + } + }); + } + emit(event, data) { + if (this._oneTimeEvents.has(event)) { + throw new Error(`Event "${event}" was supposed to be emitted only once`); + } + for (let i = 0; i < this._subscriptions.length; i++) { + const s = this._subscriptions[i]; + if (s.event !== event) { + continue; + } + runCallback(s.callback, data); + if (s.once) { + this._subscriptions.splice(i, 1); + i--; + } + } + return this; + } + emitOnce(event, data) { + if (this._oneTimeEvents.has(event)) { + throw new Error(`Event "${event}" was supposed to be emitted only once`); + } + this.emit(event, data); + this._oneTimeEvents.set(event, data); // Mark event as being emitted once for future subscribers + this.off(event); // Remove all listeners for this event, they won't fire again + return this; + } +} +exports.SimpleEventEmitter = SimpleEventEmitter; + +},{}],49:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.EventStream = exports.EventPublisher = exports.EventSubscription = void 0; +class EventSubscription { + /** + * @param stop function that stops the subscription from receiving future events + */ + constructor(stop) { + this.stop = stop; + this._internal = { + state: 'init', + activatePromises: [], + }; + } + /** + * Notifies when subscription is activated or canceled + * @param callback optional callback to run each time activation state changes + * @returns returns a promise that resolves once activated, or rejects when it is denied (and no callback was supplied) + */ + activated(callback) { + if (callback) { + this._internal.activatePromises.push({ callback }); + if (this._internal.state === 'active') { + callback(true); + } + else if (this._internal.state === 'canceled') { + callback(false, this._internal.cancelReason); + } + } + // Changed behaviour: now also returns a Promise when the callback is used. + // This allows for 1 activated call to both handle: first activation result, + // and any future events using the callback + return new Promise((resolve, reject) => { + if (this._internal.state === 'active') { + return resolve(); + } + else if (this._internal.state === 'canceled' && !callback) { + return reject(new Error(this._internal.cancelReason)); + } + // eslint-disable-next-line @typescript-eslint/no-empty-function + const noop = () => { }; + this._internal.activatePromises.push({ + resolve, + reject: callback ? noop : reject, // Don't reject when callback is used: let callback handle this (prevents UnhandledPromiseRejection if only callback is used) + }); + }); + } + /** (for internal use) */ + _setActivationState(activated, cancelReason) { + this._internal.cancelReason = cancelReason; + this._internal.state = activated ? 'active' : 'canceled'; + while (this._internal.activatePromises.length > 0) { + const p = this._internal.activatePromises.shift(); + if (activated) { + p.callback && p.callback(true); + p.resolve && p.resolve(); + } + else { + p.callback && p.callback(false, cancelReason); + p.reject && p.reject(cancelReason); + } + } + } +} +exports.EventSubscription = EventSubscription; +class EventPublisher { + /** + * + * @param publish function that publishes a new value to subscribers, return if there are any active subscribers + * @param start function that notifies subscribers their subscription is activated + * @param cancel function that notifies subscribers their subscription has been canceled, removes all subscriptions + */ + constructor(publish, start, cancel) { + this.publish = publish; + this.start = start; + this.cancel = cancel; + } +} +exports.EventPublisher = EventPublisher; +class EventStream { + constructor(eventPublisherCallback) { + const subscribers = []; + let noMoreSubscribersCallback; + let activationState; + const _stoppedState = 'stopped (no more subscribers)'; + this.subscribe = (callback, activationCallback) => { + if (typeof callback !== 'function') { + throw new TypeError('callback must be a function'); + } + else if (activationState === _stoppedState) { + throw new Error('stream can\'t be used anymore because all subscribers were stopped'); + } + const sub = { + callback, + activationCallback: function (activated, cancelReason) { + activationCallback && activationCallback(activated, cancelReason); + this.subscription._setActivationState(activated, cancelReason); + }, + subscription: new EventSubscription(function stop() { + subscribers.splice(subscribers.indexOf(this), 1); + return checkActiveSubscribers(); + }), + }; + subscribers.push(sub); + if (typeof activationState !== 'undefined') { + if (activationState === true) { + activationCallback && activationCallback(true); + sub.subscription._setActivationState(true); + } + else if (typeof activationState === 'string') { + activationCallback && activationCallback(false, activationState); + sub.subscription._setActivationState(false, activationState); + } + } + return sub.subscription; + }; + const checkActiveSubscribers = () => { + let ret; + if (subscribers.length === 0) { + ret = noMoreSubscribersCallback && noMoreSubscribersCallback(); + activationState = _stoppedState; + } + return Promise.resolve(ret); + }; + this.unsubscribe = (callback) => { + const remove = callback + ? subscribers.filter(sub => sub.callback === callback) + : subscribers; + remove.forEach(sub => { + const i = subscribers.indexOf(sub); + subscribers.splice(i, 1); + }); + checkActiveSubscribers(); + }; + this.stop = () => { + // Stop (remove) all subscriptions + subscribers.splice(0); + checkActiveSubscribers(); + }; + /** + * For publishing side: adds a value that will trigger callbacks to all subscribers + * @param {any} val + * @returns {boolean} returns whether there are subscribers left + */ + const publish = (val) => { + subscribers.forEach(sub => { + try { + sub.callback(val); + } + catch (err) { + console.error(`Error running subscriber callback: ${err.message}`); + } + }); + if (subscribers.length === 0) { + checkActiveSubscribers(); + } + return subscribers.length > 0; + }; + /** + * For publishing side: let subscribers know their subscription is activated. Should be called only once + */ + const start = (allSubscriptionsStoppedCallback) => { + activationState = true; + noMoreSubscribersCallback = allSubscriptionsStoppedCallback; + subscribers.forEach(sub => { + sub.activationCallback && sub.activationCallback(true); + }); + }; + /** + * For publishing side: let subscribers know their subscription has been canceled. Should be called only once + */ + const cancel = (reason) => { + activationState = reason; + subscribers.forEach(sub => { + sub.activationCallback && sub.activationCallback(false, reason || new Error('unknown reason')); + }); + subscribers.splice(0); // Clear all + }; + const publisher = new EventPublisher(publish, start, cancel); + eventPublisherCallback(publisher); + } +} +exports.EventStream = EventStream; + +},{}],50:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.deserialize2 = exports.serialize2 = exports.serialize = exports.detectSerializeVersion = exports.deserialize = void 0; +const path_reference_1 = require("./path-reference"); +const utils_1 = require("./utils"); +const ascii85_1 = require("./ascii85"); +const path_info_1 = require("./path-info"); +const partial_array_1 = require("./partial-array"); +/* + There are now 2 different serialization methods for transporting values. + + v1: + The original version (v1) created an object with "map" and "val" properties. + The "map" property was made optional in v1.14.1 so they won't be present for values needing no serializing + + v2: + The new version replaces serialized values inline by objects containing ".type" and ".val" properties. + This serializing method was introduced by `export` and `import` methods because they use streaming and + are unable to prepare type mappings up-front. This format is smaller in transmission (in many cases), + and easier to read and process. + + original: { "date": (some date) } + v1 serialized: { "map": { "date": "date" }, "val": { date: "2022-04-22T07:49:23Z" } } + v2 serialized: { "date": { ".type": "date", ".val": "2022-04-22T07:49:23Z" } } + + original: (some date) + v1 serialized: { "map": "date", "val": "2022-04-22T07:49:23Z" } + v2 serialized: { ".type": "date", ".val": "2022-04-22T07:49:23Z" } + comment: top level value that need serializing is wrapped in an object with ".type" and ".val". v1 is smaller in this case + + original: 'some string' + v1 serialized: { "map": {}, "val": "some string" } + v2 serialized: "some string" + comment: primitive types such as strings don't need serializing and are returned as is in v2 + + original: { "date": (some date), "text": "Some string" } + v1 serialized: { "map": { "date": "date" }, "val": { date: "2022-04-22T07:49:23Z", "text": "Some string" } } + v2 serialized: { "date": { ".type": "date", ".val": "2022-04-22T07:49:23Z" }, "text": "Some string" } +*/ +/** + * Original deserialization method using global `map` and `val` properties + * @param data + * @returns + */ +const deserialize = (data) => { + if (data.map === null || typeof data.map === 'undefined') { + if (typeof data.val === 'undefined') { + throw new Error('serialized value must have a val property'); + } + return data.val; + } + const deserializeValue = (type, val) => { + if (type === 'date') { + // Date was serialized as a string (UTC) + return new Date(val); + } + else if (type === 'binary') { + // ascii85 encoded binary data + return ascii85_1.ascii85.decode(val); + } + else if (type === 'reference') { + return new path_reference_1.PathReference(val); + } + else if (type === 'regexp') { + return new RegExp(val.pattern, val.flags); + } + else if (type === 'array') { + return new partial_array_1.PartialArray(val); + } + else if (type === 'bigint') { + return BigInt(val); + } + return val; + }; + if (typeof data.map === 'string') { + // Single value + return deserializeValue(data.map, data.val); + } + Object.keys(data.map).forEach(path => { + const type = data.map[path]; + const keys = path_info_1.PathInfo.getPathKeys(path); + let parent = data; + let key = 'val'; + let val = data.val; + keys.forEach(k => { + key = k; + parent = val; + val = val[key]; // If an error occurs here, there's something wrong with the calling code... + }); + parent[key] = deserializeValue(type, val); + }); + return data.val; +}; +exports.deserialize = deserialize; +/** + * Function to detect the used serialization method with for the given object + * @param data + * @returns + */ +const detectSerializeVersion = (data) => { + if (typeof data !== 'object' || data === null) { + // This can only be v2, which allows primitive types to bypass serializing + return 2; + } + if ('map' in data && 'val' in data) { + return 1; + } + else if ('val' in data) { + // If it's v1, 'val' will be the only key in the object because serialize2 adds ".version": 2 to the object to prevent confusion. + if (Object.keys(data).length > 1) { + return 2; + } + return 1; + } + return 2; +}; +exports.detectSerializeVersion = detectSerializeVersion; +/** + * Original serialization method using global `map` and `val` properties + * @param data + * @returns + */ +const serialize = (obj) => { + var _a; + // Recursively find dates and binary data + if (obj === null || typeof obj !== 'object' || obj instanceof Date || obj instanceof ArrayBuffer || obj instanceof path_reference_1.PathReference || obj instanceof RegExp) { + // Single value + const ser = (0, exports.serialize)({ value: obj }); + return { + map: (_a = ser.map) === null || _a === void 0 ? void 0 : _a.value, + val: ser.val.value, + }; + } + obj = (0, utils_1.cloneObject)(obj); // Make sure we don't alter the original object + const process = (obj, mappings, prefix) => { + if (obj instanceof partial_array_1.PartialArray) { + mappings[prefix] = 'array'; + } + Object.keys(obj).forEach(key => { + const val = obj[key]; + const path = prefix.length === 0 ? key : `${prefix}/${key}`; + if (typeof val === 'bigint') { + obj[key] = val.toString(); + mappings[path] = 'bigint'; + } + else if (val instanceof Date) { + // serialize date to UTC string + obj[key] = val.toISOString(); + mappings[path] = 'date'; + } + else if (val instanceof ArrayBuffer) { + // Serialize binary data with ascii85 + obj[key] = ascii85_1.ascii85.encode(val); //ascii85.encode(Buffer.from(val)).toString(); + mappings[path] = 'binary'; + } + else if (val instanceof path_reference_1.PathReference) { + obj[key] = val.path; + mappings[path] = 'reference'; + } + else if (val instanceof RegExp) { + // Queries using the 'matches' filter with a regular expression can now also be used on remote db's + obj[key] = { pattern: val.source, flags: val.flags }; + mappings[path] = 'regexp'; + } + else if (typeof val === 'object' && val !== null) { + process(val, mappings, path); + } + }); + }; + const mappings = {}; + process(obj, mappings, ''); + const serialized = { val: obj }; + if (Object.keys(mappings).length > 0) { + serialized.map = mappings; + } + return serialized; +}; +exports.serialize = serialize; +/** + * New serialization method using inline `.type` and `.val` properties + * @param obj + * @returns + */ +const serialize2 = (obj) => { + // Recursively find data that needs serializing + const getSerializedValue = (val) => { + if (typeof val === 'bigint') { + // serialize bigint to string + return { + '.type': 'bigint', + '.val': val.toString(), + }; + } + else if (val instanceof Date) { + // serialize date to UTC string + return { + '.type': 'date', + '.val': val.toISOString(), + }; + } + else if (val instanceof ArrayBuffer) { + // Serialize binary data with ascii85 + return { + '.type': 'binary', + '.val': ascii85_1.ascii85.encode(val), + }; + } + else if (val instanceof path_reference_1.PathReference) { + return { + '.type': 'reference', + '.val': val.path, + }; + } + else if (val instanceof RegExp) { + // Queries using the 'matches' filter with a regular expression can now also be used on remote db's + return { + '.type': 'regexp', + '.val': `/${val.source}/${val.flags}`, // new: shorter + // '.val': { + // pattern: val.source, + // flags: val.flags + // } + }; + } + else if (typeof val === 'object' && val !== null) { + if (val instanceof Array) { + const copy = []; + for (let i = 0; i < val.length; i++) { + copy[i] = getSerializedValue(val[i]); + } + return copy; + } + else { + const copy = {}; //val instanceof Array ? [] : {} as SerializedValueV2; + if (val instanceof partial_array_1.PartialArray) { + // Mark the object as partial ("sparse") array + copy['.type'] = 'array'; + } + for (const prop in val) { + copy[prop] = getSerializedValue(val[prop]); + } + return copy; + } + } + else { + // Primitive value. Don't serialize + return val; + } + }; + const serialized = getSerializedValue(obj); + if (serialized !== null && typeof serialized === 'object' && 'val' in serialized && Object.keys(serialized).length === 1) { + // acebase-core v1.14.1 made the 'map' property optional. + // This v2 serialized object might be confused with a v1 without mappings, because it only has a "val" property + // To prevent this, mark the serialized object with version 2 + serialized['.version'] = 2; + } + return serialized; +}; +exports.serialize2 = serialize2; +/** + * New deserialization method using inline `.type` and `.val` properties + * @param obj + * @returns + */ +const deserialize2 = (data) => { + if (typeof data !== 'object' || data === null) { + // primitive value, not serialized + return data; + } + if (typeof data['.type'] === 'undefined') { + // No type given: this is a plain object or array + if (data instanceof Array) { + // Plain array, deserialize items into a copy + const copy = []; + const arr = data; + for (let i = 0; i < arr.length; i++) { + copy.push((0, exports.deserialize2)(arr[i])); + } + return copy; + } + else { + // Plain object, deserialize properties into a copy + const copy = {}; + const obj = data; + for (const prop in obj) { + copy[prop] = (0, exports.deserialize2)(obj[prop]); + } + return copy; + } + } + else if (typeof data['.type'] === 'string') { + const dataType = data['.type'].toLowerCase(); + if (dataType === 'bigint') { + const val = data['.val']; + return BigInt(val); + } + else if (dataType === 'array') { + // partial ("sparse") array, deserialize children into a copy + const copy = {}; + for (const index in data) { + copy[index] = (0, exports.deserialize2)(data[index]); + } + delete copy['.type']; + return new partial_array_1.PartialArray(copy); + } + else if (dataType === 'date') { + // Date was serialized as a string (UTC) + const val = data['.val']; + return new Date(val); + } + else if (dataType === 'binary') { + // ascii85 encoded binary data + const val = data['.val']; + return ascii85_1.ascii85.decode(val); + } + else if (dataType === 'reference') { + const val = data['.val']; + return new path_reference_1.PathReference(val); + } + else if (dataType === 'regexp') { + const val = data['.val']; + if (typeof val === 'string') { + // serialized as '/(pattern)/flags' + const match = /^\/(.*)\/([a-z]+)$/.exec(val); + return new RegExp(match[1], match[2]); + } + // serialized as object with pattern & flags properties + return new RegExp(val.pattern, val.flags); + } + } + throw new Error(`Unknown data type "${data['.type']}" in serialized value`); +}; +exports.deserialize2 = deserialize2; + +},{"./ascii85":29,"./partial-array":41,"./path-info":42,"./path-reference":43,"./utils":52}],51:[function(require,module,exports){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TypeMappings = void 0; +const utils_1 = require("./utils"); +const path_info_1 = require("./path-info"); +const data_reference_1 = require("./data-reference"); +const data_snapshot_1 = require("./data-snapshot"); +/** + * (for internal use) - gets the mapping set for a specific path + */ +function get(mappings, path) { + // path points to the mapped (object container) location + path = path.replace(/^\/|\/$/g, ''); // trim slashes + const keys = path_info_1.PathInfo.getPathKeys(path); + const mappedPath = Object.keys(mappings).find(mpath => { + const mkeys = path_info_1.PathInfo.getPathKeys(mpath); + if (mkeys.length !== keys.length) { + return false; // Can't be a match + } + return mkeys.every((mkey, index) => { + if (mkey === '*' || mkey[0] === '$') { + return true; // wildcard + } + return mkey === keys[index]; + }); + }); + const mapping = mappings[mappedPath]; + return mapping; +} +/** + * (for internal use) - gets the mapping set for a specific path's parent + */ +function map(mappings, path) { + // path points to the object location, its parent should have the mapping + const targetPath = path_info_1.PathInfo.get(path).parentPath; + if (targetPath === null) { + return; + } + return get(mappings, targetPath); +} +/** + * (for internal use) - gets all mappings set for a specific path and all subnodes + * @returns returns array of all matched mappings in path + */ +function mapDeep(mappings, entryPath) { + // returns mapping for this node, and all mappings for nested nodes + // entryPath: "users/ewout" + // mappingPath: "users" + // mappingPath: "users/*/posts" + entryPath = entryPath.replace(/^\/|\/$/g, ''); // trim slashes + // Start with current path's parent node + const pathInfo = path_info_1.PathInfo.get(entryPath); + const startPath = pathInfo.parentPath; + const keys = startPath ? path_info_1.PathInfo.getPathKeys(startPath) : []; + // Every path that starts with startPath, is a match + // TODO: refactor to return Object.keys(mappings),filter(...) + const matches = Object.keys(mappings).reduce((m, mpath) => { + //const mkeys = mpath.length > 0 ? mpath.split("/") : []; + const mkeys = path_info_1.PathInfo.getPathKeys(mpath); + if (mkeys.length < keys.length) { + return m; // Can't be a match + } + let isMatch = true; + if (keys.length === 0 && startPath !== null) { + // Only match first node's children if mapping pattern is "*" or "$variable" + isMatch = mkeys.length === 1 && (mkeys[0] === '*' || mkeys[0][0] === '$'); + } + else { + mkeys.every((mkey, index) => { + if (index >= keys.length) { + return false; // stop .every loop + } + else if (mkey === '*' || mkey[0] === '$' || mkey === keys[index]) { + return true; // continue .every loop + } + else { + isMatch = false; + return false; // stop .every loop + } + }); + } + if (isMatch) { + const mapping = mappings[mpath]; + m.push({ path: mpath, type: mapping }); + } + return m; + }, []); + return matches; +} +/** + * (for internal use) - serializes or deserializes an object using type mappings + * @returns returns the (de)serialized value + */ +function process(db, mappings, path, obj, action) { + if (obj === null || typeof obj !== 'object') { + return obj; + } + const keys = path_info_1.PathInfo.getPathKeys(path); // path.length > 0 ? path.split("/") : []; + const m = mapDeep(mappings, path); + const changes = []; + m.sort((a, b) => path_info_1.PathInfo.getPathKeys(a.path).length > path_info_1.PathInfo.getPathKeys(b.path).length ? -1 : 1); // Deepest paths first + m.forEach(mapping => { + const mkeys = path_info_1.PathInfo.getPathKeys(mapping.path); //mapping.path.length > 0 ? mapping.path.split("/") : []; + mkeys.push('*'); + const mTrailKeys = mkeys.slice(keys.length); + if (mTrailKeys.length === 0) { + const vars = path_info_1.PathInfo.extractVariables(mapping.path, path); + const ref = new data_reference_1.DataReference(db, path, vars); + if (action === 'serialize') { + // serialize this object + obj = mapping.type.serialize(obj, ref); + } + else if (action === 'deserialize') { + // deserialize this object + const snap = new data_snapshot_1.DataSnapshot(ref, obj); + obj = mapping.type.deserialize(snap); + } + return; + } + // Find all nested objects at this trail path + const process = (parentPath, parent, keys) => { + if (obj === null || typeof obj !== 'object') { + return obj; + } + const key = keys[0]; + let children = []; + if (key === '*' || key[0] === '$') { + // Include all children + if (parent instanceof Array) { + children = parent.map((val, index) => ({ key: index, val })); + } + else { + children = Object.keys(parent).map(k => ({ key: k, val: parent[k] })); + } + } + else { + // Get the 1 child + const child = parent[key]; + if (typeof child === 'object') { + children.push({ key, val: child }); + } + } + children.forEach(child => { + const childPath = path_info_1.PathInfo.getChildPath(parentPath, child.key); + const vars = path_info_1.PathInfo.extractVariables(mapping.path, childPath); + const ref = new data_reference_1.DataReference(db, childPath, vars); + if (keys.length === 1) { + // TODO: this alters the existing object, we must build our own copy! + if (action === 'serialize') { + // serialize this object + changes.push({ parent, key: child.key, original: parent[child.key] }); + parent[child.key] = mapping.type.serialize(child.val, ref); + } + else if (action === 'deserialize') { + // deserialize this object + const snap = new data_snapshot_1.DataSnapshot(ref, child.val); + parent[child.key] = mapping.type.deserialize(snap); + } + } + else { + // Dig deeper + process(childPath, child.val, keys.slice(1)); + } + }); + }; + process(path, obj, mTrailKeys); + }); + if (action === 'serialize') { + // Clone this serialized object so any types that remained + // will become plain objects without functions, and we can restore + // the original object's values if any mappings were processed. + // This will also prevent circular references + obj = (0, utils_1.cloneObject)(obj); + if (changes.length > 0) { + // Restore the changes made to the original object + changes.forEach(change => { + change.parent[change.key] = change.original; + }); + } + } + return obj; +} +const _mappings = Symbol('mappings'); +class TypeMappings { + constructor(db) { + this.db = db; + this[_mappings] = {}; + } + /** (for internal use) */ + get mappings() { return this[_mappings]; } + /** (for internal use) */ + map(path) { + return map(this[_mappings], path); + } + /** + * Maps objects that are stored in a specific path to a class, so they can automatically be + * serialized when stored to, and deserialized (instantiated) when loaded from the database. + * @param path path to an object container, eg "users" or "users/*\/posts" + * @param type class to bind all child objects of path to + * Best practice is to implement 2 methods for instantiation and serializing of your objects: + * 1) `static create(snap: DataSnapshot)` and 2) `serialize(ref: DataReference)`. See example + * @param options (optional) You can specify the functions to use to + * serialize and/or instantiate your class. If you do not specificy a creator (constructor) method, + * AceBase will call `YourClass.create(snapshot)` method if it exists, or create an instance of + * YourClass with `new YourClass(snapshot)`. + * If you do not specifiy a serializer method, AceBase will call `YourClass.prototype.serialize(ref)` + * if it exists, or tries storing your object's fields unaltered. NOTE: `this` in your creator + * function will point to `YourClass`, and `this` in your serializer function will point to the + * `instance` of `YourClass`. + * @example + * class User { + * static create(snap: DataSnapshot): User { + * // Deserialize (instantiate) User from plain database object + * let user = new User(); + * Object.assign(user, snap.val()); // Copy all properties to user + * user.id = snap.ref.key; // Add the key as id + * return user; + * } + * serialize(ref: DataReference) { + * // Serialize user for database storage + * return { + * name: this.name + * email: this.email + * }; + * } + * } + * db.types.bind('users', User); // Automatically uses serialize and static create methods + */ + bind(path, type, options = {}) { + // Maps objects that are stored in a specific path to a constructor method, + // so they are automatically deserialized + if (typeof path !== 'string') { + throw new TypeError('path must be a string'); + } + if (typeof type !== 'function') { + throw new TypeError('constructor must be a function'); + } + if (typeof options.serializer === 'undefined') { + // if (typeof type.prototype.serialize === 'function') { + // // Use .serialize instance method + // options.serializer = type.prototype.serialize; + // } + // Use object's serialize method upon serialization (if available) + } + else if (typeof options.serializer === 'string') { + if (typeof type.prototype[options.serializer] === 'function') { + options.serializer = type.prototype[options.serializer]; + } + else { + throw new TypeError(`${type.name}.prototype.${options.serializer} is not a function, cannot use it as serializer`); + } + } + else if (typeof options.serializer !== 'function') { + throw new TypeError(`serializer for class ${type.name} must be a function, or the name of a prototype method`); + } + if (typeof options.creator === 'undefined') { + if (typeof type.create === 'function') { + // Use static .create as creator method + options.creator = type.create; + } + } + else if (typeof options.creator === 'string') { + if (typeof type[options.creator] === 'function') { + options.creator = type[options.creator]; + } + else { + throw new TypeError(`${type.name}.${options.creator} is not a function, cannot use it as creator`); + } + } + else if (typeof options.creator !== 'function') { + throw new TypeError(`creator for class ${type.name} must be a function, or the name of a static method`); + } + path = path.replace(/^\/|\/$/g, ''); // trim slashes + this[_mappings][path] = { + db: this.db, + type, + creator: options.creator, + serializer: options.serializer, + deserialize(snap) { + // run constructor method + let obj; + if (this.creator) { + obj = this.creator.call(this.type, snap); + } + else { + obj = new this.type(snap); + } + return obj; + }, + serialize(obj, ref) { + if (this.serializer) { + obj = this.serializer.call(obj, ref, obj); + } + else if (obj && typeof obj.serialize === 'function') { + obj = obj.serialize(ref, obj); + } + return obj; + }, + }; + } + /** + * (for internal use) + * Serializes any child in given object that has a type mapping + * @param {string} path | path to the object's location + * @param {object} obj | object to serialize + */ + serialize(path, obj) { + return process(this.db, this[_mappings], path, obj, 'serialize'); + } + /** + * (for internal use) + * Deserialzes any child in given object that has a type mapping + * @param {string} path | path to the object's location + * @param {object} obj | object to deserialize + */ + deserialize(path, obj) { + return process(this.db, this[_mappings], path, obj, 'deserialize'); + } +} +exports.TypeMappings = TypeMappings; + +},{"./data-reference":34,"./data-snapshot":35,"./path-info":42,"./utils":52}],52:[function(require,module,exports){ +(function (Buffer){(function (){ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.defer = exports.getChildValues = exports.getMutations = exports.compareValues = exports.ObjectDifferences = exports.valuesAreEqual = exports.cloneObject = exports.concatTypedArrays = exports.decodeString = exports.encodeString = exports.bytesToBigint = exports.bigintToBytes = exports.bytesToNumber = exports.numberToBytes = void 0; +const path_reference_1 = require("./path-reference"); +const process_1 = require("./process"); +const partial_array_1 = require("./partial-array"); +function numberToBytes(number) { + const bytes = new Uint8Array(8); + const view = new DataView(bytes.buffer); + view.setFloat64(0, number); + return new Array(...bytes); +} +exports.numberToBytes = numberToBytes; +function bytesToNumber(bytes) { + const length = Array.isArray(bytes) ? bytes.length : bytes.byteLength; + if (length !== 8) { + throw new TypeError('must be 8 bytes'); + } + const bin = new Uint8Array(bytes); + const view = new DataView(bin.buffer); + const nr = view.getFloat64(0); + return nr; +} +exports.bytesToNumber = bytesToNumber; +const big = { + zero: BigInt(0), + one: BigInt(1), + two: BigInt(2), + eight: BigInt(8), + ff: BigInt(0xff), +}; +function bigintToBytes(number) { + if (typeof number !== 'bigint') { + throw new Error('number must be a bigint'); + } + const bytes = []; + const negative = number < big.zero; + do { + const byte = Number(number & big.ff); // NOTE: bits are inverted on negative numbers + bytes.push(byte); + number = number >> big.eight; + } while (number !== (negative ? -big.one : big.zero)); + bytes.reverse(); // little-endian + if (negative ? bytes[0] < 128 : bytes[0] >= 128) { + bytes.unshift(negative ? 255 : 0); // extra sign byte needed + } + return bytes; +} +exports.bigintToBytes = bigintToBytes; +function bytesToBigint(bytes) { + const negative = bytes[0] >= 128; + let number = big.zero; + for (let b of bytes) { + if (negative) { + b = ~b & 0xff; + } // Invert the bits + number = (number << big.eight) + BigInt(b); + } + if (negative) { + number = -(number + big.one); + } + return number; +} +exports.bytesToBigint = bytesToBigint; +/** + * Converts a string to a utf-8 encoded Uint8Array + */ +function encodeString(str) { + if (typeof TextEncoder !== 'undefined') { + // Modern browsers, Node.js v11.0.0+ (or v8.3.0+ with util.TextEncoder) + const encoder = new TextEncoder(); + return encoder.encode(str); + } + else if (typeof Buffer === 'function') { + // Node.js + const buf = Buffer.from(str, 'utf-8'); + return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); + } + else { + // Older browsers. Manually encode + const arr = []; + for (let i = 0; i < str.length; i++) { + let code = str.charCodeAt(i); + if (code > 128) { + // Attempt simple UTF-8 conversion. See https://en.wikipedia.org/wiki/UTF-8 + if ((code & 0xd800) === 0xd800) { + // code starts with 1101 10...: this is a 2-part utf-16 char code + const nextCode = str.charCodeAt(i + 1); + if ((nextCode & 0xdc00) !== 0xdc00) { + // next code must start with 1101 11... + throw new Error('follow-up utf-16 character does not start with 0xDC00'); + } + i++; + const p1 = code & 0x3ff; // Only use last 10 bits + const p2 = nextCode & 0x3ff; + // Create code point from these 2: (see https://en.wikipedia.org/wiki/UTF-16) + code = 0x10000 | (p1 << 10) | p2; + } + if (code < 2048) { + // Use 2 bytes for 11 bit value, first byte starts with 110xxxxx (0xc0), 2nd byte with 10xxxxxx (0x80) + const b1 = 0xc0 | ((code >> 6) & 0x1f); // 0xc0 = 11000000, 0x1f = 11111 + const b2 = 0x80 | (code & 0x3f); // 0x80 = 10000000, 0x3f = 111111 + arr.push(b1, b2); + } + else if (code < 65536) { + // Use 3 bytes for 16-bit value, bits per byte: 4, 6, 6 + const b1 = 0xe0 | ((code >> 12) & 0xf); // 0xe0 = 11100000, 0xf = 1111 + const b2 = 0x80 | ((code >> 6) & 0x3f); // 0x80 = 10000000, 0x3f = 111111 + const b3 = 0x80 | (code & 0x3f); + arr.push(b1, b2, b3); + } + else if (code < 2097152) { + // Use 4 bytes for 21-bit value, bits per byte: 3, 6, 6, 6 + const b1 = 0xf0 | ((code >> 18) & 0x7); // 0xf0 = 11110000, 0x7 = 111 + const b2 = 0x80 | ((code >> 12) & 0x3f); // 0x80 = 10000000, 0x3f = 111111 + const b3 = 0x80 | ((code >> 6) & 0x3f); // 0x80 = 10000000, 0x3f = 111111 + const b4 = 0x80 | (code & 0x3f); + arr.push(b1, b2, b3, b4); + } + else { + throw new Error(`Cannot convert character ${str.charAt(i)} (code ${code}) to utf-8`); + } + } + else { + arr.push(code < 128 ? code : 63); // 63 = ? + } + } + return new Uint8Array(arr); + } +} +exports.encodeString = encodeString; +/** + * Converts a utf-8 encoded buffer to string + */ +function decodeString(buffer) { + if (typeof TextDecoder !== 'undefined') { + // Modern browsers, Node.js v11.0.0+ (or v8.3.0+ with util.TextDecoder) + const decoder = new TextDecoder(); + if (buffer instanceof Uint8Array) { + return decoder.decode(buffer); + } + const buf = Uint8Array.from(buffer); + return decoder.decode(buf); + } + else if (typeof Buffer === 'function') { + // Node.js (v10 and below) + if (buffer instanceof Array) { + buffer = Uint8Array.from(buffer); // convert to typed array + } + if (!(buffer instanceof Buffer) && 'buffer' in buffer && buffer.buffer instanceof ArrayBuffer) { + const typedArray = buffer; + buffer = Buffer.from(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength); // Convert typed array to node.js Buffer + } + if (!(buffer instanceof Buffer)) { + throw new Error('Unsupported buffer argument'); + } + return buffer.toString('utf-8'); + } + else { + // Older browsers. Manually decode! + if (!(buffer instanceof Uint8Array) && 'buffer' in buffer && buffer['buffer'] instanceof ArrayBuffer) { + // Convert TypedArray to Uint8Array + const typedArray = buffer; + buffer = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength); + } + if (buffer instanceof Buffer || buffer instanceof Array || buffer instanceof Uint8Array) { + let str = ''; + for (let i = 0; i < buffer.length; i++) { + let code = buffer[i]; + if (code > 128) { + // Decode Unicode character + if ((code & 0xf0) === 0xf0) { + // 4 byte char + const b1 = code, b2 = buffer[i + 1], b3 = buffer[i + 2], b4 = buffer[i + 3]; + code = ((b1 & 0x7) << 18) | ((b2 & 0x3f) << 12) | ((b3 & 0x3f) << 6) | (b4 & 0x3f); + i += 3; + } + else if ((code & 0xe0) === 0xe0) { + // 3 byte char + const b1 = code, b2 = buffer[i + 1], b3 = buffer[i + 2]; + code = ((b1 & 0xf) << 12) | ((b2 & 0x3f) << 6) | (b3 & 0x3f); + i += 2; + } + else if ((code & 0xc0) === 0xc0) { + // 2 byte char + const b1 = code, b2 = buffer[i + 1]; + code = ((b1 & 0x1f) << 6) | (b2 & 0x3f); + i++; + } + else { + throw new Error('invalid utf-8 data'); + } + } + if (code >= 65536) { + // Split into 2-part utf-16 char codes + code ^= 0x10000; + const p1 = 0xd800 | (code >> 10); + const p2 = 0xdc00 | (code & 0x3ff); + str += String.fromCharCode(p1); + str += String.fromCharCode(p2); + } + else { + str += String.fromCharCode(code); + } + } + return str; + } + else { + throw new Error('Unsupported buffer argument'); + } + } +} +exports.decodeString = decodeString; +function concatTypedArrays(a, b) { + const c = new a.constructor(a.length + b.length); + c.set(a); + c.set(b, a.length); + return c; +} +exports.concatTypedArrays = concatTypedArrays; +function cloneObject(original, stack) { + var _a; + if (((_a = original === null || original === void 0 ? void 0 : original.constructor) === null || _a === void 0 ? void 0 : _a.name) === 'DataSnapshot') { + throw new TypeError(`Object to clone is a DataSnapshot (path "${original.ref.path}")`); + } + const checkAndFixTypedArray = obj => { + if (obj !== null && typeof obj === 'object' + && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' + && ['Buffer', 'Uint8Array', 'Int8Array', 'Uint16Array', 'Int16Array', 'Uint32Array', 'Int32Array', 'BigUint64Array', 'BigInt64Array'].includes(obj.constructor.name)) { + // FIX for typed array being converted to objects with numeric properties: + // Convert Buffer or TypedArray to ArrayBuffer + obj = obj.buffer.slice(obj.byteOffset, obj.byteOffset + obj.byteLength); + } + return obj; + }; + original = checkAndFixTypedArray(original); + if (typeof original !== 'object' || original === null || original instanceof Date || original instanceof ArrayBuffer || original instanceof path_reference_1.PathReference || original instanceof RegExp) { + return original; + } + const cloneValue = (val) => { + if (stack.indexOf(val) >= 0) { + throw new ReferenceError('object contains a circular reference'); + } + val = checkAndFixTypedArray(val); + if (val === null || val instanceof Date || val instanceof ArrayBuffer || val instanceof path_reference_1.PathReference || val instanceof RegExp) { // || val instanceof ID + return val; + } + else if (typeof val === 'object') { + stack.push(val); + val = cloneObject(val, stack); + stack.pop(); + return val; + } + else { + return val; // Anything other can just be copied + } + }; + if (typeof stack === 'undefined') { + stack = [original]; + } + const clone = original instanceof Array ? [] : original instanceof partial_array_1.PartialArray ? new partial_array_1.PartialArray() : {}; + Object.keys(original).forEach(key => { + const val = original[key]; + if (typeof val === 'function') { + return; // skip functions + } + clone[key] = cloneValue(val); + }); + return clone; +} +exports.cloneObject = cloneObject; +const isTypedArray = val => typeof val === 'object' && ['ArrayBuffer', 'Buffer', 'Uint8Array', 'Uint16Array', 'Uint32Array', 'Int8Array', 'Int16Array', 'Int32Array'].includes(val.constructor.name); +// CONSIDER: updating isTypedArray to: const isTypedArray = val => typeof val === 'object' && 'buffer' in val && 'byteOffset' in val && 'byteLength' in val; +function valuesAreEqual(val1, val2) { + if (val1 === val2) { + return true; + } + if (typeof val1 !== typeof val2) { + return false; + } + if (typeof val1 === 'object' || typeof val2 === 'object') { + if (val1 === null || val2 === null) { + return false; + } + if (val1 instanceof path_reference_1.PathReference || val2 instanceof path_reference_1.PathReference) { + return val1 instanceof path_reference_1.PathReference && val2 instanceof path_reference_1.PathReference && val1.path === val2.path; + } + if (val1 instanceof Date || val2 instanceof Date) { + return val1 instanceof Date && val2 instanceof Date && val1.getTime() === val2.getTime(); + } + if (val1 instanceof Array || val2 instanceof Array) { + return val1 instanceof Array && val2 instanceof Array && val1.length === val2.length && val1.every((item, i) => valuesAreEqual(val1[i], val2[i])); + } + if (isTypedArray(val1) || isTypedArray(val2)) { + if (!isTypedArray(val1) || !isTypedArray(val2) || val1.byteLength === val2.byteLength) { + return false; + } + const typed1 = val1 instanceof ArrayBuffer ? new Uint8Array(val1) : new Uint8Array(val1.buffer, val1.byteOffset, val1.byteLength), typed2 = val2 instanceof ArrayBuffer ? new Uint8Array(val2) : new Uint8Array(val2.buffer, val2.byteOffset, val2.byteLength); + return typed1.every((val, i) => typed2[i] === val); + } + const keys1 = Object.keys(val1), keys2 = Object.keys(val2); + return keys1.length === keys2.length && keys1.every(key => keys2.includes(key)) && keys1.every(key => valuesAreEqual(val1[key], val2[key])); + } + return false; +} +exports.valuesAreEqual = valuesAreEqual; +class ObjectDifferences { + constructor(added, removed, changed) { + this.added = added; + this.removed = removed; + this.changed = changed; + } + forChild(key) { + if (this.added.includes(key)) { + return 'added'; + } + if (this.removed.includes(key)) { + return 'removed'; + } + const changed = this.changed.find(ch => ch.key === key); + return changed ? changed.change : 'identical'; + } +} +exports.ObjectDifferences = ObjectDifferences; +function compareValues(oldVal, newVal, sortedResults = false) { + const voids = [undefined, null]; + if (oldVal === newVal) { + return 'identical'; + } + else if (voids.indexOf(oldVal) >= 0 && voids.indexOf(newVal) < 0) { + return 'added'; + } + else if (voids.indexOf(oldVal) < 0 && voids.indexOf(newVal) >= 0) { + return 'removed'; + } + else if (typeof oldVal !== typeof newVal) { + return 'changed'; + } + else if (isTypedArray(oldVal) || isTypedArray(newVal)) { + // One or both values are typed arrays. + if (!isTypedArray(oldVal) || !isTypedArray(newVal)) { + return 'changed'; + } + // Both are typed. Compare lengths and byte content of typed arrays + const typed1 = oldVal instanceof Uint8Array ? oldVal : oldVal instanceof ArrayBuffer ? new Uint8Array(oldVal) : new Uint8Array(oldVal.buffer, oldVal.byteOffset, oldVal.byteLength); + const typed2 = newVal instanceof Uint8Array ? newVal : newVal instanceof ArrayBuffer ? new Uint8Array(newVal) : new Uint8Array(newVal.buffer, newVal.byteOffset, newVal.byteLength); + return typed1.byteLength === typed2.byteLength && typed1.every((val, i) => typed2[i] === val) ? 'identical' : 'changed'; + } + else if (oldVal instanceof Date || newVal instanceof Date) { + return oldVal instanceof Date && newVal instanceof Date && oldVal.getTime() === newVal.getTime() ? 'identical' : 'changed'; + } + else if (oldVal instanceof path_reference_1.PathReference || newVal instanceof path_reference_1.PathReference) { + return oldVal instanceof path_reference_1.PathReference && newVal instanceof path_reference_1.PathReference && oldVal.path === newVal.path ? 'identical' : 'changed'; + } + else if (typeof oldVal === 'object') { + // Do key-by-key comparison of objects + const isArray = oldVal instanceof Array; + const getKeys = obj => { + let keys = Object.keys(obj).filter(key => !voids.includes(obj[key])); + if (isArray) { + keys = keys.map((v) => parseInt(v)); + } + return keys; + }; + const oldKeys = getKeys(oldVal); + const newKeys = getKeys(newVal); + const removedKeys = oldKeys.filter(key => !newKeys.includes(key)); + const addedKeys = newKeys.filter(key => !oldKeys.includes(key)); + const changedKeys = newKeys.reduce((changed, key) => { + if (oldKeys.includes(key)) { + const val1 = oldVal[key]; + const val2 = newVal[key]; + const c = compareValues(val1, val2); + if (c !== 'identical') { + changed.push({ key, change: c }); + } + } + return changed; + }, []); + if (addedKeys.length === 0 && removedKeys.length === 0 && changedKeys.length === 0) { + return 'identical'; + } + else { + return new ObjectDifferences(addedKeys, removedKeys, sortedResults ? changedKeys.sort((a, b) => a.key < b.key ? -1 : 1) : changedKeys); + } + } + return 'changed'; +} +exports.compareValues = compareValues; +function getMutations(oldVal, newVal, sortedResults = false) { + const process = (target, compareResult, prev, val) => { + switch (compareResult) { + case 'identical': return []; + case 'changed': return [{ target, prev, val }]; + case 'added': return [{ target, prev: null, val }]; + case 'removed': return [{ target, prev, val: null }]; + default: { + let changes = []; + compareResult.added.forEach(key => changes.push({ target: target.concat(key), prev: null, val: val[key] })); + compareResult.removed.forEach(key => changes.push({ target: target.concat(key), prev: prev[key], val: null })); + compareResult.changed.forEach(item => { + const childChanges = process(target.concat(item.key), item.change, prev[item.key], val[item.key]); + changes = changes.concat(childChanges); + }); + return changes; + } + } + }; + const compareResult = compareValues(oldVal, newVal, sortedResults); + return process([], compareResult, oldVal, newVal); +} +exports.getMutations = getMutations; +function getChildValues(childKey, oldValue, newValue) { + oldValue = oldValue === null ? null : oldValue[childKey]; + if (typeof oldValue === 'undefined') { + oldValue = null; + } + newValue = newValue === null ? null : newValue[childKey]; + if (typeof newValue === 'undefined') { + newValue = null; + } + return { oldValue, newValue }; +} +exports.getChildValues = getChildValues; +function defer(fn) { + process_1.default.nextTick(fn); +} +exports.defer = defer; + +}).call(this)}).call(this,require("buffer").Buffer) +},{"./partial-array":41,"./path-reference":43,"./process":44,"buffer":53}],53:[function(require,module,exports){ + +},{}]},{},[5])(5) }); diff --git a/dist/browser.min.js b/dist/browser.min.js index b4cb5d0..833e479 100644 --- a/dist/browser.min.js +++ b/dist/browser.min.js @@ -1 +1 @@ -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.acebase=f()}})((function(){var define,module,exports;return function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,(function(r){var n=e[i][1][r];return o(n||r)}),p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i{this._ready=true}))}async ready(callback){if(!this._ready){await new Promise((resolve=>this.on("ready",resolve)))}callback===null||callback===void 0?void 0:callback()}get isReady(){return this._ready}setObservable(ObservableImpl){(0,optional_observable_1.setObservable)(ObservableImpl)}ref(path){return new data_reference_1.DataReference(this,path)}get root(){return this.ref("")}query(path){const ref=new data_reference_1.DataReference(this,path);return new data_reference_1.DataReferenceQuery(ref)}get indexes(){return{get:()=>this.api.getIndexes(),create:(path,key,options)=>this.api.createIndex(path,key,options),delete:async filePath=>this.api.deleteIndex(filePath)}}get schema(){return{get:path=>this.api.getSchema(path),set:(path,schema)=>this.api.setSchema(path,schema),all:()=>this.api.getSchemas(),check:(path,value,isUpdate)=>this.api.validateSchema(path,value,isUpdate)}}}exports.AceBaseBase=AceBaseBase},{"./data-reference":8,"./debug":10,"./optional-observable":14,"./simple-colors":21,"./simple-event-emitter":22,"./type-mappings":25}],2:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Api=void 0;class NotImplementedError extends Error{constructor(name){super(`${name} is not implemented`)}}class Api{constructor(){}stats(options){throw new NotImplementedError("stats")}subscribe(path,event,callback,settings){throw new NotImplementedError("subscribe")}unsubscribe(path,event,callback){throw new NotImplementedError("unsubscribe")}update(path,updates,options){throw new NotImplementedError("update")}set(path,value,options){throw new NotImplementedError("set")}get(path,options){throw new NotImplementedError("get")}transaction(path,callback,options){throw new NotImplementedError("transaction")}exists(path){throw new NotImplementedError("exists")}query(path,query,options){throw new NotImplementedError("query")}reflect(path,type,args){throw new NotImplementedError("reflect")}export(path,write,options){throw new NotImplementedError("export")}import(path,read,options){throw new NotImplementedError("import")}createIndex(path,key,options){throw new NotImplementedError("createIndex")}getIndexes(){throw new NotImplementedError("getIndexes")}deleteIndex(filePath){throw new NotImplementedError("deleteIndex")}setSchema(path,schema){throw new NotImplementedError("setSchema")}getSchema(path){throw new NotImplementedError("getSchema")}getSchemas(){throw new NotImplementedError("getSchemas")}validateSchema(path,value,isUpdate){throw new NotImplementedError("validateSchema")}getMutations(filter){throw new NotImplementedError("getMutations")}getChanges(filter){throw new NotImplementedError("getChanges")}}exports.Api=Api},{}],3:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ascii85=void 0;function c(input,length,result){const b=[0,0,0,0,0];for(let i=0;i";return ret}exports.ascii85={encode:function(arr){if(arr instanceof ArrayBuffer){arr=new Uint8Array(arr,0,arr.byteLength)}return encode(arr)},decode:function(input){if(!input.startsWith("<~")||!input.endsWith("~>")){throw new Error("Invalid input string")}input=input.substr(2,input.length-4);const n=input.length,r=[],b=[0,0,0,0,0];let t,x,y,d;for(let i=0;i>>=8;y=t&255;t>>>=8;r.push(t>>>8,t&255,y,x);for(let j=d;j<5;++j,r.pop());i+=4}const data=new Uint8Array(r);return data.buffer.slice(data.byteOffset,data.byteOffset+data.byteLength)}}},{}],4:[function(require,module,exports){"use strict";var _a,_b;Object.defineProperty(exports,"__esModule",{value:true});const pad_1=require("../pad");const env=typeof window==="object"?window:self,globalCount=Object.keys(env).length,mimeTypesLength=(_b=(_a=navigator.mimeTypes)===null||_a===void 0?void 0:_a.length)!==null&&_b!==void 0?_b:0,clientId=(0,pad_1.default)((mimeTypesLength+navigator.userAgent.length).toString(36)+globalCount.toString(36),4);function fingerprint(){return clientId}exports.default=fingerprint},{"../pad":6}],5:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});const fingerprint_1=require("./fingerprint");const pad_1=require("./pad");let c=0;const blockSize=4,base=36,discreteValues=Math.pow(base,blockSize);function randomBlock(){return(0,pad_1.default)((Math.random()*discreteValues<<0).toString(base),blockSize)}function safeCounter(){c=ct2[i]===key))}static isAncestor(ancestor,other){return ancestor.lengthother[i]===key))}static isDescendant(descendant,other){return descendant.length>other.length&&other.every(((key,i)=>descendant[i]===key))}}const isProxy=Symbol("isProxy");class LiveDataProxy{static async create(ref,options){var _a;ref=new data_reference_1.DataReference(ref.db,ref.path);let cache,loaded=false;let latestCursor=options===null||options===void 0?void 0:options.cursor;let proxy;const proxyId=id_1.ID.generate();const clientSubscriptions=[];const clientEventEmitter=new simple_event_emitter_1.SimpleEventEmitter;clientEventEmitter.on("cursor",(cursor=>latestCursor=cursor));clientEventEmitter.on("error",(err=>{console.error(err.message,err.details)}));const applyChange=(keys,newValue)=>{if(keys.length===0){cache=newValue;return true}const allowCreation=false;if(allowCreation){cache=typeof keys[0]==="number"?[]:{}}let target=cache;const trailKeys=keys.slice();while(trailKeys.length>1){const key=trailKeys.shift();if(!(key in target)){if(allowCreation){target[key]=typeof key==="number"?[]:{}}else{return false}}target=target[key]}const prop=trailKeys.shift();if(newValue===null){target instanceof Array?target.splice(prop,1):delete target[prop]}else{target[prop]=newValue}return true};const syncFallback=async()=>{if(!loaded){return}await reload()};const subscription=ref.on("mutations",{syncFallback:syncFallback}).subscribe((async snap=>{var _a;if(!loaded){return}const context=snap.context();const isRemote=((_a=context.acebase_proxy)===null||_a===void 0?void 0:_a.id)!==proxyId;if(!isRemote){return}const mutations=snap.val(false);const proceed=mutations.every((mutation=>{if(!applyChange(mutation.target,mutation.val)){return false}const changeRef=mutation.target.reduce(((ref,key)=>ref.child(key)),ref);const changeSnap=new data_snapshot_1.DataSnapshot(changeRef,mutation.val,false,mutation.prev,snap.context());clientEventEmitter.emit("mutation",{snapshot:changeSnap,isRemote:isRemote});return true}));if(proceed){clientEventEmitter.emit("cursor",context.acebase_cursor);localMutationsEmitter.emit("mutations",{origin:"remote",snap:snap})}else{console.warn(`Cached value of live data proxy on "${ref.path}" appears outdated, will be reloaded`);await reload()}}));let processPromise=Promise.resolve();const mutationQueue=[];const transactions=[];const pushLocalMutations=async()=>{const mutations=[];for(let i=0,m=mutationQueue[0];iRelativeNodeTarget.areEqual(t.target,m.target)||RelativeNodeTarget.isAncestor(t.target,m.target)))){mutationQueue.splice(i,1);i--;mutations.push(m)}}if(mutations.length===0){return}mutations.forEach((mutation=>{mutation.value=(0,utils_1.cloneObject)(getTargetValue(cache,mutation.target))}));process_1.default.nextTick((()=>{const context={acebase_proxy:{id:proxyId,source:"update"}};mutations.forEach((mutation=>{const mutationRef=mutation.target.reduce(((ref,key)=>ref.child(key)),ref);const mutationSnap=new data_snapshot_1.DataSnapshot(mutationRef,mutation.value,false,mutation.previous,context);clientEventEmitter.emit("mutation",{snapshot:mutationSnap,isRemote:false})}));const snap=new data_snapshot_1.MutationsDataSnapshot(ref,mutations.map((m=>({target:m.target,val:m.value,prev:m.previous}))),context);localMutationsEmitter.emit("mutations",{origin:"local",snap:snap})}));processPromise=mutations.reduce(((mutations,m,i,arr)=>{if(!arr.some((other=>RelativeNodeTarget.isAncestor(other.target,m.target)))){mutations.push(m)}return mutations}),[]).reduce(((updates,m)=>{const target=m.target;if(target.length===0){updates.push({ref:ref,target:target,value:cache,type:"set",previous:m.previous})}else{const parentTarget=target.slice(0,-1);const key=target.slice(-1)[0];const parentRef=parentTarget.reduce(((ref,key)=>ref.child(key)),ref);const parentUpdate=updates.find((update=>update.ref.path===parentRef.path));const cacheValue=getTargetValue(cache,target);const prevValue=m.previous;if(parentUpdate){parentUpdate.value[key]=cacheValue;parentUpdate.previous[key]=prevValue}else{updates.push({ref:parentRef,target:parentTarget,value:{[key]:cacheValue},type:"update",previous:{[key]:prevValue}})}}return updates}),[]).reduce((async(promise,update)=>{const context={acebase_proxy:{id:proxyId,source:update.type}};await promise;await update.ref.context(context)[update.type](update.value).catch((err=>{clientEventEmitter.emit("error",{source:"update",message:`Error processing update of "/${ref.path}"`,details:err});const context={acebase_proxy:{id:proxyId,source:"update-rollback"}};const mutations=[];if(update.type==="set"){setTargetValue(cache,update.target,update.previous);const mutationSnap=new data_snapshot_1.DataSnapshot(update.ref,update.previous,false,update.value,context);clientEventEmitter.emit("mutation",{snapshot:mutationSnap,isRemote:false});mutations.push({target:update.target,val:update.previous,prev:update.value})}else{Object.keys(update.previous).forEach((key=>{setTargetValue(cache,update.target.concat(key),update.previous[key]);const mutationSnap=new data_snapshot_1.DataSnapshot(update.ref.child(key),update.previous[key],false,update.value[key],context);clientEventEmitter.emit("mutation",{snapshot:mutationSnap,isRemote:false});mutations.push({target:update.target.concat(key),val:update.previous[key],prev:update.value[key]})}))}mutations.forEach((m=>{const mutationRef=m.target.reduce(((ref,key)=>ref.child(key)),ref);const mutationSnap=new data_snapshot_1.DataSnapshot(mutationRef,m.val,false,m.prev,context);clientEventEmitter.emit("mutation",{snapshot:mutationSnap,isRemote:false})}));const snap=new data_snapshot_1.MutationsDataSnapshot(update.ref,mutations,context);localMutationsEmitter.emit("mutations",{origin:"local",snap:snap})}));if(update.ref.cursor){clientEventEmitter.emit("cursor",update.ref.cursor)}}),processPromise);await processPromise};let syncInProgress=false;const syncPromises=[];const syncCompleted=()=>{let resolve;const promise=new Promise((rs=>resolve=rs));syncPromises.push({resolve:resolve});return promise};let processQueueTimeout=null;const scheduleSync=()=>{if(!processQueueTimeout){processQueueTimeout=setTimeout((async()=>{syncInProgress=true;processQueueTimeout=null;await pushLocalMutations();syncInProgress=false;syncPromises.splice(0).forEach((p=>p.resolve()))}),0)}};const flagOverwritten=target=>{if(!mutationQueue.find((m=>RelativeNodeTarget.areEqual(m.target,target)))){mutationQueue.push({target:target,previous:(0,utils_1.cloneObject)(getTargetValue(cache,target))})}scheduleSync()};const localMutationsEmitter=new simple_event_emitter_1.SimpleEventEmitter;const addOnChangeHandler=(target,callback)=>{const isObject=val=>val!==null&&typeof val==="object";const mutationsHandler=async details=>{var _a;const{snap:snap,origin:origin}=details;const context=snap.context();const causedByOurProxy=((_a=context.acebase_proxy)===null||_a===void 0?void 0:_a.id)===proxyId;if(details.origin==="remote"&&causedByOurProxy){console.error("DEV ISSUE: mutationsHandler was called from remote event originating from our own proxy");return}const mutations=snap.val(false).filter((mutation=>mutation.target.slice(0,target.length).every(((key,i)=>target[i]===key))));if(mutations.length===0){return}let newValue,previousValue;const singleMutation=mutations.find((m=>m.target.length<=target.length));if(singleMutation){const trailKeys=target.slice(singleMutation.target.length);newValue=trailKeys.reduce(((val,key)=>!isObject(val)||!(key in val)?null:val[key]),singleMutation.val);previousValue=trailKeys.reduce(((val,key)=>!isObject(val)||!(key in val)?null:val[key]),singleMutation.prev)}else{const currentValue=getTargetValue(cache,target);newValue=(0,utils_1.cloneObject)(currentValue);previousValue=(0,utils_1.cloneObject)(newValue);mutations.forEach((mutation=>{const trailKeys=mutation.target.slice(target.length);for(let i=0,val=newValue,prev=previousValue;i{let keepSubscription=true;try{keepSubscription=false!==callback(Object.freeze(newValue),Object.freeze(previousValue),!causedByOurProxy,context)}catch(err){clientEventEmitter.emit("error",{source:origin==="remote"?"remote_update":"local_update",message:"Error running subscription callback",details:err})}if(keepSubscription===false){stop()}}))};localMutationsEmitter.on("mutations",mutationsHandler);const stop=()=>{localMutationsEmitter.off("mutations").off("mutations",mutationsHandler);clientSubscriptions.splice(clientSubscriptions.findIndex((cs=>cs.stop===stop)),1)};clientSubscriptions.push({target:target,stop:stop});return{stop:stop}};const handleFlag=(flag,target,args)=>{if(flag==="write"){return flagOverwritten(target)}else if(flag==="onChange"){return addOnChangeHandler(target,args.callback)}else if(flag==="subscribe"||flag==="observe"){const subscribe=subscriber=>{const currentValue=getTargetValue(cache,target);subscriber.next(currentValue);const subscription=addOnChangeHandler(target,(value=>{subscriber.next(value)}));return function unsubscribe(){subscription.stop()}};if(flag==="subscribe"){return subscribe}const Observable=(0,optional_observable_1.getObservable)();return new Observable(subscribe)}else if(flag==="transaction"){const hasConflictingTransaction=transactions.some((t=>RelativeNodeTarget.areEqual(target,t.target)||RelativeNodeTarget.isAncestor(target,t.target)||RelativeNodeTarget.isDescendant(target,t.target)));if(hasConflictingTransaction){return Promise.reject(new Error("Cannot start transaction because it conflicts with another transaction"))}return new Promise((async resolve=>{const hasPendingMutations=mutationQueue.some((m=>RelativeNodeTarget.areEqual(target,m.target)||RelativeNodeTarget.isAncestor(target,m.target)));if(hasPendingMutations){if(!syncInProgress){scheduleSync()}await syncCompleted()}const tx={target:target,status:"started",transaction:null};transactions.push(tx);tx.transaction={get status(){return tx.status},get completed(){return tx.status!=="started"},get mutations(){return mutationQueue.filter((m=>RelativeNodeTarget.areEqual(tx.target,m.target)||RelativeNodeTarget.isAncestor(tx.target,m.target)))},get hasMutations(){return this.mutations.length>0},async commit(){if(this.completed){throw new Error(`Transaction has completed already (status '${tx.status}')`)}tx.status="finished";transactions.splice(transactions.indexOf(tx),1);if(syncInProgress){await syncCompleted()}scheduleSync();await syncCompleted()},rollback(){if(this.completed){throw new Error(`Transaction has completed already (status '${tx.status}')`)}tx.status="canceled";const mutations=[];for(let i=0;i{if(m.target.length===0){cache=m.previous}else{setTargetValue(cache,m.target,m.previous)}}));transactions.splice(transactions.indexOf(tx),1)}};resolve(tx.transaction)}))}};const snap=await ref.get({cache_mode:"allow",cache_cursor:options===null||options===void 0?void 0:options.cursor});if(snap.context().acebase_origin!=="cache"){clientEventEmitter.emit("cursor",(_a=ref.cursor)!==null&&_a!==void 0?_a:null)}loaded=true;cache=snap.val();if(cache===null&&typeof(options===null||options===void 0?void 0:options.defaultValue)!=="undefined"){cache=options.defaultValue;const context={acebase_proxy:{id:proxyId,source:"default"}};await ref.context(context).set(cache)}proxy=createProxy({root:{ref:ref,get cache(){return cache}},target:[],id:proxyId,flag:handleFlag});const assertProxyAvailable=()=>{if(proxy===null){throw new Error("Proxy was destroyed")}};const reload=async()=>{assertProxyAvailable();mutationQueue.splice(0);const snap=await ref.get({allow_cache:false});const oldVal=cache,newVal=snap.val();cache=newVal;const mutations=(0,utils_1.getMutations)(oldVal,newVal);if(mutations.length===0){return}const context=snap.context();context.acebase_proxy={id:proxyId,source:"reload"};mutations.forEach((m=>{const targetRef=getTargetRef(ref,m.target);const newSnap=new data_snapshot_1.DataSnapshot(targetRef,m.val,m.val===null,m.prev,context);clientEventEmitter.emit("mutation",{snapshot:newSnap,isRemote:true})}));const mutationsSnap=new data_snapshot_1.MutationsDataSnapshot(ref,mutations,context);localMutationsEmitter.emit("mutations",{origin:"local",snap:mutationsSnap})};return{async destroy(){await processPromise;const promises=[subscription.stop(),...clientSubscriptions.map((cs=>cs.stop()))];await Promise.all(promises);["cursor","mutation","error"].forEach((event=>clientEventEmitter.off(event)));cache=null;proxy=null},stop(){this.destroy()},get value(){assertProxyAvailable();return proxy},get hasValue(){assertProxyAvailable();return cache!==null},set value(val){assertProxyAvailable();if(val!==null&&typeof val==="object"&&val[isProxy]){val=val.valueOf()}flagOverwritten([]);cache=val},get ref(){return ref},get cursor(){return latestCursor},reload:reload,onMutation(callback){assertProxyAvailable();clientEventEmitter.off("mutation");clientEventEmitter.on("mutation",(({snapshot:snapshot,isRemote:isRemote})=>{try{callback(snapshot,isRemote)}catch(err){clientEventEmitter.emit("error",{source:"mutation_callback",message:"Error in dataproxy onMutation callback",details:err})}}))},onError(callback){assertProxyAvailable();clientEventEmitter.off("error");clientEventEmitter.on("error",(err=>{try{callback(err)}catch(err){console.error(`Error in dataproxy onError callback: ${err.message}`)}}))},on(event,callback){clientEventEmitter.on(event,callback)},off(event,callback){clientEventEmitter.off(event,callback)}}}}exports.LiveDataProxy=LiveDataProxy;function getTargetValue(obj,target){let val=obj;for(const key of target){val=typeof val==="object"&&val!==null&&key in val?val[key]:null}return val}function setTargetValue(obj,target,value){if(target.length===0){throw new Error("Cannot update root target, caller must do that itself!")}const targetObject=target.slice(0,-1).reduce(((obj,key)=>obj[key]),obj);const prop=target.slice(-1)[0];if(value===null||typeof value==="undefined"){targetObject instanceof Array?targetObject.splice(prop,1):delete targetObject[prop]}else{targetObject[prop]=value}}function getTargetRef(ref,target){const path=path_info_1.PathInfo.get(ref.path).childPath(target);return new data_reference_1.DataReference(ref.db,path)}function createProxy(context){const targetRef=getTargetRef(context.root.ref,context.target);const childProxies=[];const handler={get(target,prop,receiver){target=getTargetValue(context.root.cache,context.target);if(typeof prop==="symbol"){if(prop.toString()===Symbol.iterator.toString()){prop="values"}else if(prop.toString()===isProxy.toString()){return true}else{return Reflect.get(target,prop,receiver)}}if(prop==="valueOf"){return function valueOf(){return target}}if(target===null||typeof target!=="object"){throw new Error(`Cannot read property "${prop}" of ${target}. Value of path "/${targetRef.path}" is not an object (anymore)`)}if(target instanceof Array&&typeof prop==="string"&&/^[0-9]+$/.test(prop)){prop=parseInt(prop)}const value=target[prop];if(value===null){delete target[prop];return}const childProxy=childProxies.find((proxy=>proxy.prop===prop));if(childProxy){if(childProxy.typeof===typeof value){return childProxy.value}childProxies.splice(childProxies.indexOf(childProxy),1)}const proxifyChildValue=prop=>{const value=target[prop];const childProxy=childProxies.find((child=>child.prop===prop));if(childProxy){if(childProxy.typeof===typeof value){return childProxy.value}childProxies.splice(childProxies.indexOf(childProxy),1)}if(typeof value!=="object"){return value}const newChildProxy=createProxy({root:context.root,target:context.target.concat(prop),id:context.id,flag:context.flag});childProxies.push({typeof:typeof value,prop:prop,value:newChildProxy});return newChildProxy};const unproxyValue=value=>value!==null&&typeof value==="object"&&value[isProxy]?value.getTarget():value;if(["string","number","boolean"].includes(typeof value)||value instanceof Date||value instanceof path_reference_1.PathReference||value instanceof ArrayBuffer||typeof value==="object"&&"buffer"in value){return value}const isArray=target instanceof Array;if(prop==="toString"){return function toString(){return`[LiveDataProxy for "${targetRef.path}"]`}}if(typeof value==="undefined"){if(prop==="push"){return function push(item){const childRef=targetRef.push();context.flag("write",context.target.concat(childRef.key));target[childRef.key]=item;return childRef.key}}if(prop==="getTarget"){return function(warn=true){warn&&console.warn("Use getTarget with caution - any changes will not be synchronized!");return target}}if(prop==="getRef"){return function getRef(){const ref=getTargetRef(context.root.ref,context.target);return ref}}if(prop==="forEach"){return function forEach(callback){const keys=Object.keys(target);let stop=false;for(let i=0;!stop&&iproxifyChildValue(key)));if(sortFn){arr.sort(sortFn)}return arr}}if(prop==="onChanged"){return function onChanged(callback){return context.flag("onChange",context.target,{callback:callback})}}if(prop==="subscribe"){return function subscribe(){return context.flag("subscribe",context.target)}}if(prop==="getObservable"){return function getObservable(){return context.flag("observe",context.target)}}if(prop==="getOrderedCollection"){return function getOrderedCollection(orderProperty,orderIncrement){return new OrderedCollectionProxy(this,orderProperty,orderIncrement)}}if(prop==="startTransaction"){return function startTransaction(){return context.flag("transaction",context.target)}}if(prop==="remove"&&!isArray){return function remove(){if(context.target.length===0){throw new Error("Can't remove proxy root value")}const parent=getTargetValue(context.root.cache,context.target.slice(0,-1));const key=context.target.slice(-1)[0];context.flag("write",context.target);delete parent[key]}}return}else if(typeof value==="function"){if(isArray){const writeArray=action=>{context.flag("write",context.target);return action()};const cleanArrayValues=values=>values.map((value=>{value=unproxyValue(value);removeVoidProperties(value);return value}));if(prop==="push"){return function push(...items){items=cleanArrayValues(items);return writeArray((()=>target.push(...items)))}}if(prop==="pop"){return function pop(){return writeArray((()=>target.pop()))}}if(prop==="splice"){return function splice(start,deleteCount,...items){items=cleanArrayValues(items);return writeArray((()=>target.splice(start,deleteCount,...items)))}}if(prop==="shift"){return function shift(){return writeArray((()=>target.shift()))}}if(prop==="unshift"){return function unshift(...items){items=cleanArrayValues(items);return writeArray((()=>target.unshift(...items)))}}if(prop==="sort"){return function sort(compareFn){return writeArray((()=>target.sort(compareFn)))}}if(prop==="reverse"){return function reverse(){return writeArray((()=>target.reverse()))}}if(["indexOf","lastIndexOf"].includes(prop)){return function indexOf(item,start){if(item!==null&&typeof item==="object"&&item[isProxy]){item=item.getTarget(false)}return target[prop](item,start)}}if(["forEach","every","some","filter","map"].includes(prop)){return function iterate(callback){return target[prop](((value,i)=>callback(proxifyChildValue(i),i,proxy)))}}if(["reduce","reduceRight"].includes(prop)){return function reduce(callback,initialValue){return target[prop](((prev,value,i)=>callback(prev,proxifyChildValue(i),i,proxy)),initialValue)}}if(["find","findIndex"].includes(prop)){return function find(callback){let value=target[prop](((value,i)=>callback(proxifyChildValue(i),i,proxy)));if(prop==="find"&&value){const index=target.indexOf(value);value=proxifyChildValue(index)}return value}}if(["values","entries","keys"].includes(prop)){return function*generator(){for(let i=0;itypeof key==="number"))){context.flag("write",context.target.slice(0,context.target.findIndex((key=>typeof key==="number"))))}else if(target instanceof Array){context.flag("write",context.target)}else{context.flag("write",context.target.concat(prop))}if(value===null){delete target[prop]}else{removeVoidProperties(value);target[prop]=value}return true},deleteProperty(target,prop){target=getTargetValue(context.root.cache,context.target);if(target===null){throw new Error(`Cannot delete property ${prop.toString()} of null`)}if(typeof prop==="symbol"){return Reflect.deleteProperty(target,prop)}if(!(prop in target)){return true}context.flag("write",context.target.concat(prop));delete target[prop];return true},ownKeys(target){target=getTargetValue(context.root.cache,context.target);return Reflect.ownKeys(target)},has(target,prop){target=getTargetValue(context.root.cache,context.target);return Reflect.has(target,prop)},getOwnPropertyDescriptor(target,prop){target=getTargetValue(context.root.cache,context.target);const descriptor=Reflect.getOwnPropertyDescriptor(target,prop);if(descriptor){descriptor.configurable=true}return descriptor},getPrototypeOf(target){target=getTargetValue(context.root.cache,context.target);return Reflect.getPrototypeOf(target)}};const proxy=new Proxy({},handler);return proxy}function removeVoidProperties(obj){if(typeof obj!=="object"){return}Object.keys(obj).forEach((key=>{const val=obj[key];if(val===null||typeof val==="undefined"){delete obj[key]}else if(typeof val==="object"){removeVoidProperties(val)}}))}function proxyAccess(proxiedValue){if(typeof proxiedValue!=="object"||!proxiedValue[isProxy]){throw new Error("Given value is not proxied. Make sure you are referencing the value through the live data proxy.")}return proxiedValue}exports.proxyAccess=proxyAccess;class OrderedCollectionProxy{constructor(collection,orderProperty="order",orderIncrement=10){this.collection=collection;this.orderProperty=orderProperty;this.orderIncrement=orderIncrement;if(typeof collection!=="object"||!collection[isProxy]){throw new Error("Collection is not proxied")}if(collection.valueOf()instanceof Array){throw new Error("Collection is an array, not an object collection")}if(!Object.keys(collection).every((key=>typeof collection[key]==="object"))){throw new Error("Collection has non-object children")}const ok=Object.keys(collection).every((key=>typeof collection[key][orderProperty]==="number"));if(!ok){const keys=Object.keys(collection);for(let i=0;i{const subscription=this.getObservable().subscribe((()=>{const newArray=this.getArray();subscriber.next(newArray)}));return function unsubscribe(){subscription.unsubscribe()}}))}getArray(){const arr=proxyAccess(this.collection).toArray(((a,b)=>a[this.orderProperty]-b[this.orderProperty]));return arr}add(item,index,from){const arr=this.getArray();let minOrder=Number.POSITIVE_INFINITY,maxOrder=Number.NEGATIVE_INFINITY;for(let i=0;ithis.collection[key]===item));if(!fromKey){throw new Error("item not found in collection")}if(from===index){return{key:fromKey,index:index}}if(Math.abs(from-index)===1){const otherItem=arr[index];const otherOrder=otherItem[this.orderProperty];otherItem[this.orderProperty]=item[this.orderProperty];item[this.orderProperty]=otherOrder;return{key:fromKey,index:index}}else{arr.splice(from,1)}}if(typeof index!=="number"||index>=arr.length){index=arr.length;item[this.orderProperty]=arr.length==0?0:maxOrder+this.orderIncrement}else if(index===0){item[this.orderProperty]=arr.length==0?0:minOrder-this.orderIncrement}else{const orders=arr.map((item=>item[this.orderProperty]));const gap=orders[index]-orders[index-1];if(gap>1){item[this.orderProperty]=orders[index]-Math.floor(gap/2)}else{arr.splice(index,0,item);for(let i=0;ithis.collection[key]===item));if(!key){throw new Error("Cannot find target object to delete")}this.collection[key]=null;return{key:key,index:index}}move(fromIndex,toIndex){const arr=this.getArray();return this.add(arr[fromIndex],toIndex,fromIndex)}sort(sortFn){const arr=this.getArray();arr.sort(sortFn);for(let i=0;i{newContext[key]=context[key]}))}this[_private].context=newContext;return this}else if(typeof context==="undefined"){console.warn("Use snap.context() instead of snap.ref.context() to get updating context in event callbacks");return currentContext}else{throw new Error("Invalid context argument")}}get cursor(){return this[_private].cursor}set cursor(value){var _a;this[_private].cursor=value;(_a=this.onCursor)===null||_a===void 0?void 0:_a.call(this,value)}get path(){return this[_private].path}get key(){const key=this[_private].key;return typeof key==="number"?`[${key}]`:key}get index(){const key=this[_private].key;if(typeof key!=="number"){throw new Error(`"${key}" is not a number`)}return key}get parent(){const currentPath=path_info_1.PathInfo.fillVariables2(this.path,this.vars);const info=path_info_1.PathInfo.get(currentPath);if(info.parentPath===null){return null}return new DataReference(this.db,info.parentPath).context(this[_private].context)}get vars(){return this[_private].vars}child(childPath){childPath=typeof childPath==="number"?childPath:childPath.replace(/^\/|\/$/g,"");const currentPath=path_info_1.PathInfo.fillVariables2(this.path,this.vars);const targetPath=path_info_1.PathInfo.getChildPath(currentPath,childPath);return new DataReference(this.db,targetPath).context(this[_private].context)}async set(value,onComplete){try{if(this.isWildcardPath){throw new Error(`Cannot set the value of wildcard path "/${this.path}"`)}if(this.parent===null){throw new Error("Cannot set the root object. Use update, or set individual child properties")}if(typeof value==="undefined"){throw new TypeError(`Cannot store undefined value in "/${this.path}"`)}if(!this.db.isReady){await this.db.ready()}value=this.db.types.serialize(this.path,value);const{cursor:cursor}=await this.db.api.set(this.path,value,{context:this[_private].context});this.cursor=cursor;if(typeof onComplete==="function"){try{onComplete(null,this)}catch(err){console.error("Error in onComplete callback:",err)}}}catch(err){if(typeof onComplete==="function"){try{onComplete(err,this)}catch(err){console.error("Error in onComplete callback:",err)}}else{throw err}}return this}async update(updates,onComplete){try{if(this.isWildcardPath){throw new Error(`Cannot update the value of wildcard path "/${this.path}"`)}if(!this.db.isReady){await this.db.ready()}if(typeof updates!=="object"||updates instanceof Array||updates instanceof ArrayBuffer||updates instanceof Date){await this.set(updates)}else if(Object.keys(updates).length===0){console.warn(`update called on path "/${this.path}", but there is nothing to update`)}else{updates=this.db.types.serialize(this.path,updates);const{cursor:cursor}=await this.db.api.update(this.path,updates,{context:this[_private].context});this.cursor=cursor}if(typeof onComplete==="function"){try{onComplete(null,this)}catch(err){console.error("Error in onComplete callback:",err)}}}catch(err){if(typeof onComplete==="function"){try{onComplete(err,this)}catch(err){console.error("Error in onComplete callback:",err)}}else{throw err}}return this}async transaction(callback){if(this.isWildcardPath){throw new Error(`Cannot start a transaction on wildcard path "/${this.path}"`)}if(!this.db.isReady){await this.db.ready()}let throwError;const cb=currentValue=>{currentValue=this.db.types.deserialize(this.path,currentValue);const snap=new data_snapshot_1.DataSnapshot(this,currentValue);let newValue;try{newValue=callback(snap)}catch(err){throwError=err;return}if(newValue instanceof Promise){return newValue.then((val=>this.db.types.serialize(this.path,val))).catch((err=>{throwError=err;return}))}else{return this.db.types.serialize(this.path,newValue)}};const{cursor:cursor}=await this.db.api.transaction(this.path,cb,{context:this[_private].context});this.cursor=cursor;if(throwError){throw throwError}return this}on(event,callback,cancelCallback){if(this.path===""&&["value","child_changed"].includes(event)){console.warn("WARNING: Listening for value and child_changed events on the root node is a bad practice. These events require loading of all data (value event), or potentially lots of data (child_changed event) each time they are fired")}let eventPublisher=null;const eventStream=new subscription_1.EventStream((publisher=>{eventPublisher=publisher}));const cb={event:event,stream:eventStream,userCallback:typeof callback==="function"&&callback,ourCallback:(err,path,newValue,oldValue,eventContext)=>{if(err){this.db.debug.error(`Error getting data for event ${event} on path "${path}"`,err);return}const ref=this.db.ref(path);ref[_private].vars=path_info_1.PathInfo.extractVariables(this.path,path);let callbackObject;if(event.startsWith("notify_")){callbackObject=ref.context(eventContext||{})}else{const values={previous:this.db.types.deserialize(path,oldValue),current:this.db.types.deserialize(path,newValue)};if(event==="child_removed"){callbackObject=new data_snapshot_1.DataSnapshot(ref,values.previous,true,values.previous,eventContext)}else if(event==="mutations"){callbackObject=new data_snapshot_1.MutationsDataSnapshot(ref,values.current,eventContext)}else{const isRemoved=event==="mutated"&&values.current===null;callbackObject=new data_snapshot_1.DataSnapshot(ref,values.current,isRemoved,values.previous,eventContext)}}eventPublisher.publish(callbackObject);if(eventContext===null||eventContext===void 0?void 0:eventContext.acebase_cursor){this.cursor=eventContext.acebase_cursor}}};this[_private].callbacks.push(cb);const subscribe=()=>{if(typeof callback==="function"){eventStream.subscribe(callback,((activated,cancelReason)=>{if(!activated){cancelCallback&&cancelCallback(cancelReason)}}))}const advancedOptions=typeof callback==="object"?callback:{newOnly:!callback};if(typeof advancedOptions.newOnly!=="boolean"){advancedOptions.newOnly=false}if(this.isWildcardPath){advancedOptions.newOnly=true}const cancelSubscription=err=>{const callbacks=this[_private].callbacks;callbacks.splice(callbacks.indexOf(cb),1);this.db.api.unsubscribe(this.path,event,cb.ourCallback);this.db.debug.error(`Subscription "${event}" on path "/${this.path}" canceled because of an error: ${err.message}`);eventPublisher.cancel(err.message)};const authorized=this.db.api.subscribe(this.path,event,cb.ourCallback,{newOnly:advancedOptions.newOnly,cancelCallback:cancelSubscription,syncFallback:advancedOptions.syncFallback});const allSubscriptionsStoppedCallback=()=>{const callbacks=this[_private].callbacks;callbacks.splice(callbacks.indexOf(cb),1);return this.db.api.unsubscribe(this.path,event,cb.ourCallback)};if(authorized instanceof Promise){authorized.then((()=>{eventPublisher.start(allSubscriptionsStoppedCallback)})).catch(cancelSubscription)}else{eventPublisher.start(allSubscriptionsStoppedCallback)}if(!advancedOptions.newOnly){if(event==="value"){this.get((snap=>{eventPublisher.publish(snap)}))}else if(event==="child_added"){this.get((snap=>{const val=snap.val();if(val===null||typeof val!=="object"){return}Object.keys(val).forEach((key=>{const childSnap=new data_snapshot_1.DataSnapshot(this.child(key),val[key]);eventPublisher.publish(childSnap)}))}))}else if(event==="notify_child_added"){const step=100,limit=step;let skip=0;const more=async()=>{const children=await this.db.api.reflect(this.path,"children",{limit:limit,skip:skip});children.list.forEach((child=>{const childRef=this.child(child.key);eventPublisher.publish(childRef)}));if(children.more){skip+=step;more()}};more()}}};if(this.db.isReady){subscribe()}else{this.db.ready(subscribe)}return eventStream}off(event,callback){const subscriptions=this[_private].callbacks;const stopSubs=subscriptions.filter((sub=>(!event||sub.event===event)&&(!callback||sub.userCallback===callback)));if(stopSubs.length===0){this.db.debug.warn(`Can't find event subscriptions to stop (path: "${this.path}", event: ${event||"(any)"}, callback: ${callback})`)}stopSubs.forEach((sub=>{sub.stream.stop()}));return this}get(optionsOrCallback,callback){if(!this.db.isReady){const promise=this.db.ready().then((()=>this.get(optionsOrCallback,callback)));return typeof optionsOrCallback!=="function"&&typeof callback!=="function"?promise:undefined}callback=typeof optionsOrCallback==="function"?optionsOrCallback:typeof callback==="function"?callback:undefined;if(this.isWildcardPath){const error=new Error(`Cannot get value of wildcard path "/${this.path}". Use .query() instead`);if(typeof callback==="function"){throw error}return Promise.reject(error)}const options=new DataRetrievalOptions(typeof optionsOrCallback==="object"?optionsOrCallback:{cache_mode:"allow"});const promise=this.db.api.get(this.path,options).then((result=>{var _a;const isNewApiResult="context"in result&&"value"in result;if(!isNewApiResult){console.warn("AceBase api.get method returned an old response value. Update your acebase or acebase-client package");result={value:result,context:{}}}const value=this.db.types.deserialize(this.path,result.value);const snapshot=new data_snapshot_1.DataSnapshot(this,value,undefined,undefined,result.context);if((_a=result.context)===null||_a===void 0?void 0:_a.acebase_cursor){this.cursor=result.context.acebase_cursor}return snapshot}));if(callback){promise.then(callback).catch((err=>{console.error("Uncaught error:",err)}));return}else{return promise}}once(event,options){if(event==="value"&&!this.isWildcardPath){return this.get(options)}return new Promise((resolve=>{const callback=snap=>{this.off(event,callback);resolve(snap)};this.on(event,callback)}))}push(value,onComplete){if(this.isWildcardPath){const error=new Error(`Cannot push to wildcard path "/${this.path}"`);if(typeof value==="undefined"||typeof onComplete==="function"){throw error}return Promise.reject(error)}const id=id_1.ID.generate();const ref=this.child(id);ref[_private].pushed=true;if(typeof value!=="undefined"){return ref.set(value,onComplete).then((()=>ref))}else{return ref}}async remove(){if(this.isWildcardPath){throw new Error(`Cannot remove wildcard path "/${this.path}". Use query().remove instead`)}if(this.parent===null){throw new Error("Cannot remove the root node")}return this.set(null)}async exists(){if(this.isWildcardPath){throw new Error(`Cannot check wildcard path "/${this.path}" existence`)}if(!this.db.isReady){await this.db.ready()}return this.db.api.exists(this.path)}get isWildcardPath(){return this.path.indexOf("*")>=0||this.path.indexOf("$")>=0}query(){return new DataReferenceQuery(this)}async count(){const info=await this.reflect("info",{child_count:true});return info.children.count}async reflect(type,args){if(this.isWildcardPath){throw new Error(`Cannot reflect on wildcard path "/${this.path}"`)}if(!this.db.isReady){await this.db.ready()}return this.db.api.reflect(this.path,type,args)}async export(write,options={format:"json",type_safe:true}){if(this.isWildcardPath){throw new Error(`Cannot export wildcard path "/${this.path}"`)}if(!this.db.isReady){await this.db.ready()}const writeFn=typeof write==="function"?write:write.write.bind(write);return this.db.api.export(this.path,writeFn,options)}async import(read,options={format:"json",suppress_events:false}){if(this.isWildcardPath){throw new Error(`Cannot import to wildcard path "/${this.path}"`)}if(!this.db.isReady){await this.db.ready()}return this.db.api.import(this.path,read,options)}proxy(options){const isOptionsArg=typeof options==="object"&&(typeof options.cursor!=="undefined"||typeof options.defaultValue!=="undefined");if(typeof options!=="undefined"&&!isOptionsArg){this.db.debug.warn("Warning: live data proxy is being initialized with a deprecated method signature. Use ref.proxy(options) instead of ref.proxy(defaultValue)");options={defaultValue:options}}return data_proxy_1.LiveDataProxy.create(this,options)}observe(options){if(options){throw new Error("observe does not support data retrieval options yet")}if(this.isWildcardPath){throw new Error(`Cannot observe wildcard path "/${this.path}"`)}const Observable=(0,optional_observable_1.getObservable)();return new Observable((observer=>{let cache,resolved=false;let promise=this.get(options).then((snap=>{resolved=true;cache=snap.val();observer.next(cache)}));const updateCache=snap=>{if(!resolved){promise=promise.then((()=>updateCache(snap)));return}const mutatedPath=snap.ref.path;if(mutatedPath===this.path){cache=snap.val();return observer.next(cache)}const trailKeys=path_info_1.PathInfo.getPathKeys(mutatedPath).slice(path_info_1.PathInfo.getPathKeys(this.path).length);let target=cache;while(trailKeys.length>1){const key=trailKeys.shift();if(!(key in target)){target[key]=typeof trailKeys[0]==="number"?[]:{}}target=target[key]}const prop=trailKeys.shift();const newValue=snap.val();if(newValue===null){target instanceof Array&&typeof prop==="number"?target.splice(prop,1):delete target[prop]}else{target[prop]=newValue}observer.next(cache)};this.on("mutated",updateCache);return()=>{this.off("mutated",updateCache)}}))}async forEach(callbackOrOptions,callback){let options;if(typeof callbackOrOptions==="function"){callback=callbackOrOptions}else{options=callbackOrOptions}if(typeof callback!=="function"){throw new TypeError("No callback function given")}const info=await this.reflect("children",{limit:0,skip:0});const summary={canceled:false,total:info.list.length,processed:0};for(let i=0;ithis.get(optionsOrCallback,callback)));return typeof optionsOrCallback!=="function"&&typeof callback!=="function"?promise:undefined}callback=typeof optionsOrCallback==="function"?optionsOrCallback:typeof callback==="function"?callback:undefined;const options=new QueryDataRetrievalOptions(typeof optionsOrCallback==="object"?optionsOrCallback:{snapshots:true,cache_mode:"allow"});options.allow_cache=options.cache_mode!=="bypass";options.eventHandler=ev=>{if(!this[_private].events[ev.name]){return false}const listeners=this[_private].events[ev.name];if(typeof listeners!=="object"||listeners.length===0){return false}if(["add","change","remove"].includes(ev.name)){const ref=new DataReference(this.ref.db,ev.path);const eventData={name:ev.name};if(options.snapshots&&ev.name!=="remove"){const val=db.types.deserialize(ev.path,ev.value);eventData.snapshot=new data_snapshot_1.DataSnapshot(ref,val,false)}else{eventData.ref=ref}ev=eventData}listeners.forEach((callback=>{try{callback(ev)}catch(e){}}))};options.monitor={add:false,change:false,remove:false};if(this[_private].events){if(this[_private].events["add"]&&this[_private].events["add"].length>0){options.monitor.add=true}if(this[_private].events["change"]&&this[_private].events["change"].length>0){options.monitor.change=true}if(this[_private].events["remove"]&&this[_private].events["remove"].length>0){options.monitor.remove=true}}this.stop();const db=this.ref.db;return db.api.query(this.ref.path,this[_private],options).catch((err=>{throw new Error(err)})).then((res=>{const{stop:stop}=res;let{results:results,context:context}=res;this.stop=async()=>{await stop()};if(!("results"in res&&"context"in res)){console.warn("Query results missing context. Update your acebase and/or acebase-client packages");results=res,context={}}if(options.snapshots){const snaps=results.map((result=>{const val=db.types.deserialize(result.path,result.val);return new data_snapshot_1.DataSnapshot(db.ref(result.path),val,false,undefined,context)}));return DataSnapshotsArray.from(snaps)}else{const refs=results.map((path=>db.ref(path)));return DataReferencesArray.from(refs)}})).then((results=>{callback&&callback(results);return results}))}async stop(){}getRefs(callback){return this.get({snapshots:false},callback)}find(){return this.get({snapshots:false})}async count(){const refs=await this.find();return refs.length}async exists(){const originalTake=this[_private].take;const p=this.take(1).find();this.take(originalTake);const refs=await p;return refs.length!==0}async remove(callback){const refs=await this.find();const parentUpdates=refs.reduce(((parents,ref)=>{const parent=parents[ref.parent.path];if(!parent){parents[ref.parent.path]=[ref]}else{parent.push(ref)}return parents}),{});const db=this.ref.db;const promises=Object.keys(parentUpdates).map((async parentPath=>{const updates=refs.reduce(((updates,ref)=>{updates[ref.key]=null;return updates}),{});const ref=db.ref(parentPath);try{await ref.update(updates);return{ref:ref,success:true}}catch(error){return{ref:ref,success:false,error:error}}}));const results=await Promise.all(promises);callback&&callback(results);return results}on(event,callback){if(!this[_private].events[event]){this[_private].events[event]=[]}this[_private].events[event].push(callback);return this}off(event,callback){if(typeof event==="undefined"){this[_private].events={};return this}if(!this[_private].events[event]){return this}if(typeof callback==="undefined"){delete this[_private].events[event];return this}const index=this[_private].events[event].indexOf(callback);if(!~index){return this}this[_private].events[event].splice(index,1);return this}async forEach(callbackOrOptions,callback){let options;if(typeof callbackOrOptions==="function"){callback=callbackOrOptions}else{options=callbackOrOptions}if(typeof callback!=="function"){throw new TypeError("No callback function given")}const refs=await this.find();const summary={canceled:false,total:refs.length,processed:0};for(let i=0;iarr[i]=snap));return arr}getValues(){return this.map((snap=>snap.val()))}}exports.DataSnapshotsArray=DataSnapshotsArray;class DataReferencesArray extends Array{static from(refs){const arr=new DataReferencesArray(refs.length);refs.forEach(((ref,i)=>arr[i]=ref));return arr}getPaths(){return this.map((ref=>ref.path))}}exports.DataReferencesArray=DataReferencesArray},{"./data-proxy":7,"./data-snapshot":9,"./id":11,"./optional-observable":14,"./path-info":16,"./subscription":23}],9:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.MutationsDataSnapshot=exports.DataSnapshot=void 0;const path_info_1=require("./path-info");function getChild(snapshot,path,previous=false){if(!snapshot.exists()){return null}let child=previous?snapshot.previous():snapshot.val();if(typeof path==="number"){return child[path]}path_info_1.PathInfo.getPathKeys(path).every((key=>{child=child[key];return typeof child!=="undefined"}));return child||null}function getChildren(snapshot){if(!snapshot.exists()){return[]}const value=snapshot.val();if(value instanceof Array){return new Array(value.length).map(((v,i)=>i))}if(typeof value==="object"){return Object.keys(value)}return[]}class DataSnapshot{constructor(ref,value,isRemoved=false,prevValue,context){this.ref=ref;this.val=()=>value;this.previous=()=>prevValue;this.exists=()=>{if(isRemoved){return false}return value!==null&&typeof value!=="undefined"};this.context=()=>context||{}}exists(){return false}static for(ref,value){return new DataSnapshot(ref,value)}child(path){const val=getChild(this,path,false);const prev=getChild(this,path,true);return new DataSnapshot(this.ref.child(path),val,false,prev)}hasChild(path){return getChild(this,path)!==null}hasChildren(){return getChildren(this).length>0}numChildren(){return getChildren(this).length}forEach(callback){const value=this.val();const prev=this.previous();return getChildren(this).every((key=>{const snap=new DataSnapshot(this.ref.child(key),value[key],false,prev[key]);return callback(snap)}))}get key(){return this.ref.key}}exports.DataSnapshot=DataSnapshot;class MutationsDataSnapshot extends DataSnapshot{constructor(ref,mutations,context){super(ref,mutations,false,undefined,context);this.previous=()=>{throw new Error("Iterate values to get previous values for each mutation")};this.val=(warn=true)=>{if(warn){console.warn("Unless you know what you are doing, it is best not to use the value of a mutations snapshot directly. Use child methods and forEach to iterate the mutations instead")}return mutations}}forEach(callback){const mutations=this.val();return mutations.every((mutation=>{const ref=mutation.target.reduce(((ref,key)=>ref.child(key)),this.ref);const snap=new DataSnapshot(ref,mutation.val,false,mutation.prev);return callback(snap)}))}child(index){if(typeof index!=="number"){throw new Error("child index must be a number")}const mutation=this.val()[index];const ref=mutation.target.reduce(((ref,key)=>ref.child(key)),this.ref);return new DataSnapshot(ref,mutation.val,false,mutation.prev)}}exports.MutationsDataSnapshot=MutationsDataSnapshot},{"./path-info":16}],10:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.DebugLogger=void 0;const process_1=require("./process");const noop=()=>{};class DebugLogger{constructor(level="log",prefix=""){this.level=level;this.prefix=prefix;this.setLevel(level)}setLevel(level){const prefix=this.prefix?this.prefix+" %s":"";this.verbose=["verbose"].includes(level)?prefix?console.log.bind(console,prefix):console.log.bind(console):noop;this.log=["verbose","log"].includes(level)?prefix?console.log.bind(console,prefix):console.log.bind(console):noop;this.warn=["verbose","log","warn"].includes(level)?prefix?console.warn.bind(console,prefix):console.warn.bind(console):noop;this.error=["verbose","log","warn","error"].includes(level)?prefix?console.error.bind(console,prefix):console.error.bind(console):noop;this.write=text=>{const isRunKit=typeof process_1.default!=="undefined"&&process_1.default.env&&typeof process_1.default.env.RUNKIT_ENDPOINT_PATH==="string";if(text&&isRunKit){text.split("\n").forEach((line=>console.log(line)))}else{console.log(text)}}}}exports.DebugLogger=DebugLogger},{"./process":18}],11:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ID=void 0;const cuid_1=require("./cuid");let timeBias=0;class ID{static set timeBias(bias){if(typeof bias!=="number"){return}timeBias=bias}static generate(){return(0,cuid_1.default)(timeBias).slice(1)}}exports.ID=ID},{"./cuid":5}],12:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ObjectCollection=exports.PartialArray=exports.SchemaDefinition=exports.Colorize=exports.ColorStyle=exports.SimpleEventEmitter=exports.SimpleCache=exports.ascii85=exports.PathInfo=exports.Utils=exports.TypeMappings=exports.Transport=exports.EventSubscription=exports.EventPublisher=exports.EventStream=exports.PathReference=exports.ID=exports.DebugLogger=exports.OrderedCollectionProxy=exports.proxyAccess=exports.MutationsDataSnapshot=exports.DataSnapshot=exports.DataReferencesArray=exports.DataSnapshotsArray=exports.QueryDataRetrievalOptions=exports.DataRetrievalOptions=exports.DataReferenceQuery=exports.DataReference=exports.Api=exports.AceBaseBaseSettings=exports.AceBaseBase=void 0;var acebase_base_1=require("./acebase-base");Object.defineProperty(exports,"AceBaseBase",{enumerable:true,get:function(){return acebase_base_1.AceBaseBase}});Object.defineProperty(exports,"AceBaseBaseSettings",{enumerable:true,get:function(){return acebase_base_1.AceBaseBaseSettings}});var api_1=require("./api");Object.defineProperty(exports,"Api",{enumerable:true,get:function(){return api_1.Api}});var data_reference_1=require("./data-reference");Object.defineProperty(exports,"DataReference",{enumerable:true,get:function(){return data_reference_1.DataReference}});Object.defineProperty(exports,"DataReferenceQuery",{enumerable:true,get:function(){return data_reference_1.DataReferenceQuery}});Object.defineProperty(exports,"DataRetrievalOptions",{enumerable:true,get:function(){return data_reference_1.DataRetrievalOptions}});Object.defineProperty(exports,"QueryDataRetrievalOptions",{enumerable:true,get:function(){return data_reference_1.QueryDataRetrievalOptions}});Object.defineProperty(exports,"DataSnapshotsArray",{enumerable:true,get:function(){return data_reference_1.DataSnapshotsArray}});Object.defineProperty(exports,"DataReferencesArray",{enumerable:true,get:function(){return data_reference_1.DataReferencesArray}});var data_snapshot_1=require("./data-snapshot");Object.defineProperty(exports,"DataSnapshot",{enumerable:true,get:function(){return data_snapshot_1.DataSnapshot}});Object.defineProperty(exports,"MutationsDataSnapshot",{enumerable:true,get:function(){return data_snapshot_1.MutationsDataSnapshot}});var data_proxy_1=require("./data-proxy");Object.defineProperty(exports,"proxyAccess",{enumerable:true,get:function(){return data_proxy_1.proxyAccess}});Object.defineProperty(exports,"OrderedCollectionProxy",{enumerable:true,get:function(){return data_proxy_1.OrderedCollectionProxy}});var debug_1=require("./debug");Object.defineProperty(exports,"DebugLogger",{enumerable:true,get:function(){return debug_1.DebugLogger}});var id_1=require("./id");Object.defineProperty(exports,"ID",{enumerable:true,get:function(){return id_1.ID}});var path_reference_1=require("./path-reference");Object.defineProperty(exports,"PathReference",{enumerable:true,get:function(){return path_reference_1.PathReference}});var subscription_1=require("./subscription");Object.defineProperty(exports,"EventStream",{enumerable:true,get:function(){return subscription_1.EventStream}});Object.defineProperty(exports,"EventPublisher",{enumerable:true,get:function(){return subscription_1.EventPublisher}});Object.defineProperty(exports,"EventSubscription",{enumerable:true,get:function(){return subscription_1.EventSubscription}});exports.Transport=require("./transport");var type_mappings_1=require("./type-mappings");Object.defineProperty(exports,"TypeMappings",{enumerable:true,get:function(){return type_mappings_1.TypeMappings}});exports.Utils=require("./utils");var path_info_1=require("./path-info");Object.defineProperty(exports,"PathInfo",{enumerable:true,get:function(){return path_info_1.PathInfo}});var ascii85_1=require("./ascii85");Object.defineProperty(exports,"ascii85",{enumerable:true,get:function(){return ascii85_1.ascii85}});var simple_cache_1=require("./simple-cache");Object.defineProperty(exports,"SimpleCache",{enumerable:true,get:function(){return simple_cache_1.SimpleCache}});var simple_event_emitter_1=require("./simple-event-emitter");Object.defineProperty(exports,"SimpleEventEmitter",{enumerable:true,get:function(){return simple_event_emitter_1.SimpleEventEmitter}});var simple_colors_1=require("./simple-colors");Object.defineProperty(exports,"ColorStyle",{enumerable:true,get:function(){return simple_colors_1.ColorStyle}});Object.defineProperty(exports,"Colorize",{enumerable:true,get:function(){return simple_colors_1.Colorize}});var schema_1=require("./schema");Object.defineProperty(exports,"SchemaDefinition",{enumerable:true,get:function(){return schema_1.SchemaDefinition}});var partial_array_1=require("./partial-array");Object.defineProperty(exports,"PartialArray",{enumerable:true,get:function(){return partial_array_1.PartialArray}});const object_collection_1=require("./object-collection");Object.defineProperty(exports,"ObjectCollection",{enumerable:true,get:function(){return object_collection_1.ObjectCollection}})},{"./acebase-base":1,"./api":2,"./ascii85":3,"./data-proxy":7,"./data-reference":8,"./data-snapshot":9,"./debug":10,"./id":11,"./object-collection":13,"./partial-array":15,"./path-info":16,"./path-reference":17,"./schema":19,"./simple-cache":20,"./simple-colors":21,"./simple-event-emitter":22,"./subscription":23,"./transport":24,"./type-mappings":25,"./utils":26}],13:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ObjectCollection=void 0;const id_1=require("./id");class ObjectCollection{static from(array){const collection={};array.forEach((child=>{collection[id_1.ID.generate()]=child}));return collection}}exports.ObjectCollection=ObjectCollection},{"./id":11}],14:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ObservableShim=exports.setObservable=exports.getObservable=void 0;let _observable;function getObservable(){if(_observable){return _observable}if(typeof window!=="undefined"&&window.Observable){_observable=window.Observable;return _observable}try{const{Observable:Observable}=require("rxjs");if(!Observable){throw new Error("not loaded")}_observable=Observable;return Observable}catch(err){throw new Error("RxJS Observable could not be loaded. If you are using a browser build, add it to AceBase using db.setObservable. For node.js builds, add it to your project with: npm i rxjs")}}exports.getObservable=getObservable;function setObservable(Observable){if(Observable==="shim"){console.warn("Using AceBase's simple Observable shim. Only use this if you know what you're doing.");Observable=ObservableShim}_observable=Observable}exports.setObservable=setObservable;class ObservableShim{constructor(create){this._active=false;this._subscribers=[];this._create=create}subscribe(subscriber){if(!this._active){const next=value=>{this._subscribers.forEach((s=>{try{s(value)}catch(err){console.error("Error in subscriber callback:",err)}}))};const observer={next:next};this._cleanup=this._create(observer);this._active=true}this._subscribers.push(subscriber);const unsubscribe=()=>{this._subscribers.splice(this._subscribers.indexOf(subscriber),1);if(this._subscribers.length===0){this._active=false;this._cleanup()}};const subscription={unsubscribe:unsubscribe};return subscription}}exports.ObservableShim=ObservableShim},{rxjs:27}],15:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.PartialArray=void 0;class PartialArray{constructor(sparseArray){if(sparseArray instanceof Array){for(let i=0;ikey.startsWith("[")?parseInt(key.slice(1,-1)):key))}class PathInfo{constructor(path){if(typeof path==="string"){this.keys=getPathKeys(path)}else if(path instanceof Array){this.keys=path}this.path=this.keys.reduce(((path,key,i)=>i===0?`${key}`:typeof key==="string"?`${path}/${key}`:`${path}[${key}]`),"")}static get(path){return new PathInfo(path)}static getChildPath(path,childKey){return PathInfo.get(path).child(childKey).path}static getPathKeys(path){return getPathKeys(path)}get key(){return this.keys.length===0?null:this.keys.slice(-1)[0]}get parent(){if(this.keys.length==0){return null}const parentKeys=this.keys.slice(0,-1);return new PathInfo(parentKeys)}get parentPath(){return this.keys.length===0?null:this.parent.path}child(childKey){if(typeof childKey==="string"){childKey=getPathKeys(childKey)}return new PathInfo(this.keys.concat(childKey))}childPath(childKey){return this.child(childKey).path}get pathKeys(){return this.keys}static extractVariables(varPath,fullPath){if(!varPath.includes("*")&&!varPath.includes("$")){return[]}const keys=getPathKeys(varPath);const pathKeys=getPathKeys(fullPath);let count=0;const variables={get length(){return count}};keys.forEach(((key,index)=>{const pathKey=pathKeys[index];if(key==="*"){variables[count++]=pathKey}else if(typeof key==="string"&&key[0]==="$"){variables[count++]=pathKey;variables[key]=pathKey;const varName=key.slice(1);if(typeof variables[varName]==="undefined"){variables[varName]=pathKey}}}));return variables}static fillVariables(varPath,fullPath){if(varPath.indexOf("*")<0&&varPath.indexOf("$")<0){return varPath}const keys=getPathKeys(varPath);const pathKeys=getPathKeys(fullPath);const merged=keys.map(((key,index)=>{if(key===pathKeys[index]||index>=pathKeys.length){return key}else if(typeof key==="string"&&(key==="*"||key[0]==="$")){return pathKeys[index]}else{throw new Error(`Path "${fullPath}" cannot be used to fill variables of path "${varPath}" because they do not match`)}}));let mergedPath="";merged.forEach((key=>{if(typeof key==="number"){mergedPath+=`[${key}]`}else{if(mergedPath.length>0){mergedPath+="/"}mergedPath+=key}}));return mergedPath}static fillVariables2(varPath,vars){if(typeof vars!=="object"||Object.keys(vars).length===0){return varPath}const pathKeys=getPathKeys(varPath);let n=0;const targetPath=pathKeys.reduce(((path,key)=>{if(typeof key==="string"&&(key==="*"||key.startsWith("$"))){return PathInfo.getChildPath(path,vars[n++])}else{return PathInfo.getChildPath(path,key)}}),"");return targetPath}equals(otherPath){const other=otherPath instanceof PathInfo?otherPath:new PathInfo(otherPath);if(this.path===other.path){return true}if(this.keys.length!==other.keys.length){return false}return this.keys.every(((key,index)=>{const otherKey=other.keys[index];return otherKey===key||typeof otherKey==="string"&&(otherKey==="*"||otherKey[0]==="$")||typeof key==="string"&&(key==="*"||key[0]==="$")}))}isAncestorOf(descendantPath){const descendant=descendantPath instanceof PathInfo?descendantPath:new PathInfo(descendantPath);if(descendant.path===""||this.path===descendant.path){return false}if(this.path===""){return true}if(this.keys.length>=descendant.keys.length){return false}return this.keys.every(((key,index)=>{const otherKey=descendant.keys[index];return otherKey===key||typeof otherKey==="string"&&(otherKey==="*"||otherKey[0]==="$")||typeof key==="string"&&(key==="*"||key[0]==="$")}))}isDescendantOf(ancestorPath){const ancestor=ancestorPath instanceof PathInfo?ancestorPath:new PathInfo(ancestorPath);if(this.path===""||this.path===ancestor.path){return false}if(ancestorPath===""){return true}if(ancestor.keys.length>=this.keys.length){return false}return ancestor.keys.every(((key,index)=>{const otherKey=this.keys[index];return otherKey===key||typeof otherKey==="string"&&(otherKey==="*"||otherKey[0]==="$")||typeof key==="string"&&(key==="*"||key[0]==="$")}))}isOnTrailOf(otherPath){const other=otherPath instanceof PathInfo?otherPath:new PathInfo(otherPath);if(this.path.length===0||other.path.length===0){return true}if(this.path===other.path){return true}return this.pathKeys.every(((key,index)=>{if(index>=other.keys.length){return true}const otherKey=other.keys[index];return otherKey===key||typeof otherKey==="string"&&(otherKey==="*"||otherKey[0]==="$")||typeof key==="string"&&(key==="*"||key[0]==="$")}))}isChildOf(otherPath){const other=otherPath instanceof PathInfo?otherPath:new PathInfo(otherPath);if(this.path===""){return false}return this.parent.equals(other)}isParentOf(otherPath){const other=otherPath instanceof PathInfo?otherPath:new PathInfo(otherPath);if(other.path===""){return false}return this.equals(other.parent)}}exports.PathInfo=PathInfo},{}],17:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.PathReference=void 0;class PathReference{constructor(path){this.path=path}}exports.PathReference=PathReference},{}],18:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default={nextTick(fn){setTimeout(fn,0)}}},{}],19:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.SchemaDefinition=void 0;function parse(definition){let pos=0;function consumeSpaces(){let c;while(c=definition[pos],[" ","\r","\n","\t"].includes(c)){pos++}}function consumeCharacter(c){if(definition[pos]!==c){throw new Error(`Unexpected character at position ${pos}. Expected: '${c}', found '${definition[pos]}'`)}pos++}function readProperty(){consumeSpaces();const prop={name:"",optional:false,wildcard:false};let c;while(c=definition[pos],c==="_"||c==="$"||c>="a"&&c<="z"||c>="A"&&c<="Z"||prop.name.length>0&&c>="0"&&c<="9"||prop.name.length===0&&c==="*"){prop.name+=c;pos++}if(prop.name.length===0){throw new Error(`Property name expected at position ${pos}, found: ${definition.slice(pos,pos+10)}..`)}if(definition[pos]==="?"){prop.optional=true;pos++}if(prop.name==="*"||prop.name[0]==="$"){prop.optional=true;prop.wildcard=true}consumeSpaces();consumeCharacter(":");return prop}function readType(){consumeSpaces();let type={typeOf:"any"},c;let name="";while(c=definition[pos],c>="a"&&c<="z"||c>="A"&&c<="Z"){name+=c;pos++}if(name.length===0){if(definition[pos]==="*"){consumeCharacter("*");type.typeOf="any"}else if(["'",'"',"`"].includes(definition[pos])){type.typeOf="string";type.value="";const quote=definition[pos];consumeCharacter(quote);while(c=definition[pos],c&&c!==quote){type.value+=c;pos++}consumeCharacter(quote)}else if(definition[pos]>="0"&&definition[pos]<="9"){type.typeOf="number";let nr="";while(c=definition[pos],c==="."||c==="n"||c>="0"&&c<="9"){nr+=c;pos++}if(nr.endsWith("n")){type.value=BigInt(nr)}else if(nr.includes(".")){type.value=parseFloat(nr)}else{type.value=parseInt(nr)}}else if(definition[pos]==="{"){consumeCharacter("{");type.typeOf="object";type.instanceOf=Object;type.children=[];while(true){const prop=readProperty();const types=readTypes();type.children.push({name:prop.name,optional:prop.optional,wildcard:prop.wildcard,types:types});consumeSpaces();if(definition[pos]==="}"){break}consumeCharacter(",")}consumeCharacter("}")}else if(definition[pos]==="/"){consumeCharacter("/");let pattern="",flags="";while(c=definition[pos],c!=="/"||pattern.endsWith("\\")){pattern+=c;pos++}consumeCharacter("/");while(c=definition[pos],["g","i","m","s","u","y","d"].includes(c)){flags+=c;pos++}type.typeOf="string";type.matches=new RegExp(pattern,flags)}else{throw new Error(`Expected a type definition at position ${pos}, found character '${definition[pos]}'`)}}else if(["string","number","boolean","bigint","undefined","String","Number","Boolean","BigInt"].includes(name)){type.typeOf=name.toLowerCase()}else if(name==="Object"||name==="object"){type.typeOf="object";type.instanceOf=Object}else if(name==="Date"){type.typeOf="object";type.instanceOf=Date}else if(name==="Binary"||name==="binary"){type.typeOf="object";type.instanceOf=ArrayBuffer}else if(name==="any"){type.typeOf="any"}else if(name==="null"){type.typeOf="object";type.value=null}else if(name==="Array"){consumeCharacter("<");type.typeOf="object";type.instanceOf=Array;type.genericTypes=readTypes();consumeCharacter(">")}else if(["true","false"].includes(name)){type.typeOf="boolean";type.value=name==="true"}else{throw new Error(`Unknown type at position ${pos}: "${type}"`)}consumeSpaces();while(definition[pos]==="["){consumeCharacter("[");consumeCharacter("]");type={typeOf:"object",instanceOf:Array,genericTypes:[type]}}return type}function readTypes(){consumeSpaces();const types=[readType()];while(definition[pos]==="|"){consumeCharacter("|");types.push(readType());consumeSpaces()}return types}return readType()}function checkObject(path,properties,obj,partial){const invalidProperties=properties.find((prop=>prop.name==="*"||prop.name[0]==="$"))?[]:Object.keys(obj).filter((key=>![null,undefined].includes(obj[key])&&!properties.find((prop=>prop.name===key))));if(invalidProperties.length>0){return{ok:false,reason:`Object at path "${path}" cannot have propert${invalidProperties.length===1?"y":"ies"} ${invalidProperties.map((p=>`"${p}"`)).join(", ")}`}}function checkProperty(property){const hasValue=![null,undefined].includes(obj[property.name]);if(!property.optional&&(partial?obj[property.name]===null:!hasValue)){return{ok:false,reason:`Property at path "${path}/${property.name}" is not optional`}}if(hasValue&&property.types.length===1){return checkType(`${path}/${property.name}`,property.types[0],obj[property.name],false)}if(hasValue&&!property.types.some((type=>checkType(`${path}/${property.name}`,type,obj[property.name],false).ok))){return{ok:false,reason:`Property at path "${path}/${property.name}" does not match any of ${property.types.length} allowed types`}}return{ok:true}}const namedProperties=properties.filter((prop=>!prop.wildcard));const failedProperty=namedProperties.find((prop=>!checkProperty(prop).ok));if(failedProperty){const reason=checkProperty(failedProperty).reason;return{ok:false,reason:reason}}const wildcardProperty=properties.find((prop=>prop.wildcard));if(!wildcardProperty){return{ok:true}}const wildcardChildKeys=Object.keys(obj).filter((key=>!namedProperties.find((prop=>prop.name===key))));let result={ok:true};for(let i=0;i0){if(type.typeOf!=="object"){return{ok:false,reason:`path "${path}" must be typeof ${type.typeOf}`}}if(!type.children){return ok}const childKey=trailKeys[0];let property=type.children.find((prop=>prop.name===childKey));if(!property){property=type.children.find((prop=>prop.name==="*"||prop.name[0]==="$"))}if(!property){return{ok:false,reason:`Object at path "${path}" cannot have property "${childKey}"`}}if(property.optional&&value===null&&trailKeys.length===1){return ok}let result;property.types.some((type=>{const childPath=typeof childKey==="number"?`${path}[${childKey}]`:`${path}/${childKey}`;result=checkType(childPath,type,value,partial,trailKeys.slice(1));return result.ok}));return result}if(value===null){return ok}if(type.instanceOf===Object&&(typeof value!=="object"||value instanceof Array||value instanceof Date)){return{ok:false,reason:`path "${path}" must be an object collection`}}if(type.instanceOf&&(typeof value!=="object"||value.constructor!==type.instanceOf)){return{ok:false,reason:`path "${path}" must be an instance of ${type.instanceOf.name}`}}if("value"in type&&value!==type.value){return{ok:false,reason:`path "${path}" must be value: ${type.value}`}}if(typeof value!==type.typeOf){return{ok:false,reason:`path "${path}" must be typeof ${type.typeOf}`}}if(type.instanceOf===Array&&type.genericTypes&&!value.every((v=>type.genericTypes.some((t=>checkType(path,t,v,false).ok))))){return{ok:false,reason:`every array value of path "${path}" must match one of the specified types`}}if(type.typeOf==="object"&&type.children){return checkObject(path,type.children,value,partial)}if(type.matches&&!type.matches.test(value)){return{ok:false,reason:`path "${path}" must match regular expression /${type.matches.source}/${type.matches.flags}`}}return ok}function getConstructorType(val){switch(val){case String:return"string";case Number:return"number";case Boolean:return"boolean";case Date:return"Date";case BigInt:return"bigint";case Array:throw new Error("Schema error: Array cannot be used without a type. Use string[] or Array instead");default:throw new Error(`Schema error: unknown type used: ${val.name}`)}}class SchemaDefinition{constructor(definition){this.source=definition;if(typeof definition==="object"){const toTS=obj=>"{"+Object.keys(obj).map((key=>{let val=obj[key];if(val===undefined){val="undefined"}else if(val instanceof RegExp){val=`/${val.source}/${val.flags}`}else if(typeof val==="object"){val=toTS(val)}else if(typeof val==="function"){val=getConstructorType(val)}else if(!["string","number","boolean","bigint"].includes(typeof val)){throw new Error(`Type definition for key "${key}" must be a string, number, boolean, bigint, object, regular expression, or one of these classes: String, Number, Boolean, Date, BigInt`)}return`${key}:${val}`})).join(",")+"}";this.text=toTS(definition)}else if(typeof definition==="string"){this.text=definition}else{throw new Error("Type definiton must be a string or an object")}this.type=parse(this.text)}check(path,value,partial,trailKeys){return checkType(path,this.type,value,partial,trailKeys)}}exports.SchemaDefinition=SchemaDefinition},{}],20:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.SimpleCache=void 0;const utils_1=require("./utils");const calculateExpiryTime=expirySeconds=>expirySeconds>0?Date.now()+expirySeconds*1e3:Infinity;class SimpleCache{constructor(options){var _a;this.enabled=true;if(typeof options==="number"){options={expirySeconds:options}}options.cloneValues=options.cloneValues!==false;if(typeof options.expirySeconds!=="number"&&typeof options.maxEntries!=="number"){throw new Error("Either expirySeconds or maxEntries must be specified")}this.options=options;this.cache=new Map;const interval=setInterval((()=>{this.cleanUp()}),60*1e3);(_a=interval.unref)===null||_a===void 0?void 0:_a.call(interval)}get size(){return this.cache.size}has(key){if(!this.enabled){return false}return this.cache.has(key)}get(key){if(!this.enabled){return null}const entry=this.cache.get(key);if(!entry){return null}entry.expires=calculateExpiryTime(this.options.expirySeconds);entry.accessed=Date.now();return this.options.cloneValues?(0,utils_1.cloneObject)(entry.value):entry.value}set(key,value){if(this.options.maxEntries>0&&this.cache.size>=this.options.maxEntries&&!this.cache.has(key)){let oldest=null;const now=Date.now();for(const[key,entry]of this.cache.entries()){if(entry.expires<=now){this.cache.delete(key);oldest=null;break}if(!oldest||entry.accessed{if(entry.expires<=now){this.cache.delete(key)}}))}}exports.SimpleCache=SimpleCache},{"./utils":26}],21:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Colorize=exports.SetColorsEnabled=exports.ColorsSupported=exports.ColorStyle=void 0;const process_1=require("./process");const FontCode={bold:1,dim:2,italic:3,underline:4,inverse:7,hidden:8,strikethrough:94};const ColorCode={black:30,red:31,green:32,yellow:33,blue:34,magenta:35,cyan:36,white:37,grey:90,brightRed:91};const BgColorCode={bgBlack:40,bgRed:41,bgGreen:42,bgYellow:43,bgBlue:44,bgMagenta:45,bgCyan:46,bgWhite:47,bgGrey:100,bgBrightRed:101};const ResetCode={all:0,color:39,background:49,bold:22,dim:22,italic:23,underline:24,inverse:27,hidden:28,strikethrough:29};var ColorStyle;(function(ColorStyle){ColorStyle["reset"]="reset";ColorStyle["bold"]="bold";ColorStyle["dim"]="dim";ColorStyle["italic"]="italic";ColorStyle["underline"]="underline";ColorStyle["inverse"]="inverse";ColorStyle["hidden"]="hidden";ColorStyle["strikethrough"]="strikethrough";ColorStyle["black"]="black";ColorStyle["red"]="red";ColorStyle["green"]="green";ColorStyle["yellow"]="yellow";ColorStyle["blue"]="blue";ColorStyle["magenta"]="magenta";ColorStyle["cyan"]="cyan";ColorStyle["grey"]="grey";ColorStyle["bgBlack"]="bgBlack";ColorStyle["bgRed"]="bgRed";ColorStyle["bgGreen"]="bgGreen";ColorStyle["bgYellow"]="bgYellow";ColorStyle["bgBlue"]="bgBlue";ColorStyle["bgMagenta"]="bgMagenta";ColorStyle["bgCyan"]="bgCyan";ColorStyle["bgWhite"]="bgWhite";ColorStyle["bgGrey"]="bgGrey"})(ColorStyle=exports.ColorStyle||(exports.ColorStyle={}));function ColorsSupported(){if(typeof process_1.default==="undefined"||!process_1.default.stdout||!process_1.default.env||!process_1.default.platform||process_1.default.platform==="browser"){return false}if(process_1.default.platform==="win32"){return true}const env=process_1.default.env;if(env.COLORTERM){return true}if(env.TERM==="dumb"){return false}if(env.CI||env.TEAMCITY_VERSION){return!!env.TRAVIS}if(["iTerm.app","HyperTerm","Hyper","MacTerm","Apple_Terminal","vscode"].includes(env.TERM_PROGRAM)){return true}if(/^xterm-256|^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(env.TERM)){return true}return false}exports.ColorsSupported=ColorsSupported;let _enabled=ColorsSupported();function SetColorsEnabled(enabled){_enabled=ColorsSupported()&&enabled}exports.SetColorsEnabled=SetColorsEnabled;function Colorize(str,style){if(!_enabled){return str}const openCodes=[],closeCodes=[];const addStyle=style=>{if(style===ColorStyle.reset){openCodes.push(ResetCode.all)}else if(style in FontCode){openCodes.push(FontCode[style]);closeCodes.push(ResetCode[style])}else if(style in ColorCode){openCodes.push(ColorCode[style]);closeCodes.push(ResetCode.color)}else if(style in BgColorCode){openCodes.push(BgColorCode[style]);closeCodes.push(ResetCode.background)}};if(style instanceof Array){style.forEach(addStyle)}else{addStyle(style)}const open=openCodes.map((code=>"["+code+"m")).join("");const close=closeCodes.map((code=>"["+code+"m")).join("");return str.split("\n").map((line=>open+line+close)).join("\n")}exports.Colorize=Colorize;String.prototype.colorize=function(style){return Colorize(this,style)}},{"./process":18}],22:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.SimpleEventEmitter=void 0;function runCallback(callback,data){try{callback(data)}catch(err){console.error("Error in subscription callback",err)}}class SimpleEventEmitter{constructor(){this._subscriptions=[];this._oneTimeEvents=new Map}on(event,callback){if(this._oneTimeEvents.has(event)){return runCallback(callback,this._oneTimeEvents.get(event))}this._subscriptions.push({event:event,callback:callback,once:false});return this}off(event,callback){this._subscriptions=this._subscriptions.filter((s=>s.event!==event||callback&&s.callback!==callback));return this}once(event,callback){return new Promise((resolve=>{const ourCallback=data=>{resolve(data);callback===null||callback===void 0?void 0:callback(data)};if(this._oneTimeEvents.has(event)){runCallback(ourCallback,this._oneTimeEvents.get(event))}else{this._subscriptions.push({event:event,callback:ourCallback,once:true})}}))}emit(event,data){if(this._oneTimeEvents.has(event)){throw new Error(`Event "${event}" was supposed to be emitted only once`)}for(let i=0;i{if(this._internal.state==="active"){return resolve()}else if(this._internal.state==="canceled"&&!callback){return reject(new Error(this._internal.cancelReason))}const noop=()=>{};this._internal.activatePromises.push({resolve:resolve,reject:callback?noop:reject})}))}_setActivationState(activated,cancelReason){this._internal.cancelReason=cancelReason;this._internal.state=activated?"active":"canceled";while(this._internal.activatePromises.length>0){const p=this._internal.activatePromises.shift();if(activated){p.callback&&p.callback(true);p.resolve&&p.resolve()}else{p.callback&&p.callback(false,cancelReason);p.reject&&p.reject(cancelReason)}}}}exports.EventSubscription=EventSubscription;class EventPublisher{constructor(publish,start,cancel){this.publish=publish;this.start=start;this.cancel=cancel}}exports.EventPublisher=EventPublisher;class EventStream{constructor(eventPublisherCallback){const subscribers=[];let noMoreSubscribersCallback;let activationState;const _stoppedState="stopped (no more subscribers)";this.subscribe=(callback,activationCallback)=>{if(typeof callback!=="function"){throw new TypeError("callback must be a function")}else if(activationState===_stoppedState){throw new Error("stream can't be used anymore because all subscribers were stopped")}const sub={callback:callback,activationCallback:function(activated,cancelReason){activationCallback&&activationCallback(activated,cancelReason);this.subscription._setActivationState(activated,cancelReason)},subscription:new EventSubscription((function stop(){subscribers.splice(subscribers.indexOf(this),1);return checkActiveSubscribers()}))};subscribers.push(sub);if(typeof activationState!=="undefined"){if(activationState===true){activationCallback&&activationCallback(true);sub.subscription._setActivationState(true)}else if(typeof activationState==="string"){activationCallback&&activationCallback(false,activationState);sub.subscription._setActivationState(false,activationState)}}return sub.subscription};const checkActiveSubscribers=()=>{let ret;if(subscribers.length===0){ret=noMoreSubscribersCallback&&noMoreSubscribersCallback();activationState=_stoppedState}return Promise.resolve(ret)};this.unsubscribe=callback=>{const remove=callback?subscribers.filter((sub=>sub.callback===callback)):subscribers;remove.forEach((sub=>{const i=subscribers.indexOf(sub);subscribers.splice(i,1)}));checkActiveSubscribers()};this.stop=()=>{subscribers.splice(0);checkActiveSubscribers()};const publish=val=>{subscribers.forEach((sub=>{try{sub.callback(val)}catch(err){console.error(`Error running subscriber callback: ${err.message}`)}}));if(subscribers.length===0){checkActiveSubscribers()}return subscribers.length>0};const start=allSubscriptionsStoppedCallback=>{activationState=true;noMoreSubscribersCallback=allSubscriptionsStoppedCallback;subscribers.forEach((sub=>{sub.activationCallback&&sub.activationCallback(true)}))};const cancel=reason=>{activationState=reason;subscribers.forEach((sub=>{sub.activationCallback&&sub.activationCallback(false,reason||new Error("unknown reason"))}));subscribers.splice(0)};const publisher=new EventPublisher(publish,start,cancel);eventPublisherCallback(publisher)}}exports.EventStream=EventStream},{}],24:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.deserialize2=exports.serialize2=exports.serialize=exports.detectSerializeVersion=exports.deserialize=void 0;const path_reference_1=require("./path-reference");const utils_1=require("./utils");const ascii85_1=require("./ascii85");const path_info_1=require("./path-info");const partial_array_1=require("./partial-array");const deserialize=data=>{if(data.map===null||typeof data.map==="undefined"){if(typeof data.val==="undefined"){throw new Error("serialized value must have a val property")}return data.val}const deserializeValue=(type,val)=>{if(type==="date"){return new Date(val)}else if(type==="binary"){return ascii85_1.ascii85.decode(val)}else if(type==="reference"){return new path_reference_1.PathReference(val)}else if(type==="regexp"){return new RegExp(val.pattern,val.flags)}else if(type==="array"){return new partial_array_1.PartialArray(val)}else if(type==="bigint"){return BigInt(val)}return val};if(typeof data.map==="string"){return deserializeValue(data.map,data.val)}Object.keys(data.map).forEach((path=>{const type=data.map[path];const keys=path_info_1.PathInfo.getPathKeys(path);let parent=data;let key="val";let val=data.val;keys.forEach((k=>{key=k;parent=val;val=val[key]}));parent[key]=deserializeValue(type,val)}));return data.val};exports.deserialize=deserialize;const detectSerializeVersion=data=>{if(typeof data!=="object"||data===null){return 2}if("map"in data&&"val"in data){return 1}else if("val"in data){if(Object.keys(data).length>1){return 2}return 1}return 2};exports.detectSerializeVersion=detectSerializeVersion;const serialize=obj=>{var _a;if(obj===null||typeof obj!=="object"||obj instanceof Date||obj instanceof ArrayBuffer||obj instanceof path_reference_1.PathReference||obj instanceof RegExp){const ser=(0,exports.serialize)({value:obj});return{map:(_a=ser.map)===null||_a===void 0?void 0:_a.value,val:ser.val.value}}obj=(0,utils_1.cloneObject)(obj);const process=(obj,mappings,prefix)=>{if(obj instanceof partial_array_1.PartialArray){mappings[prefix]="array"}Object.keys(obj).forEach((key=>{const val=obj[key];const path=prefix.length===0?key:`${prefix}/${key}`;if(typeof val==="bigint"){obj[key]=val.toString();mappings[path]="bigint"}else if(val instanceof Date){obj[key]=val.toISOString();mappings[path]="date"}else if(val instanceof ArrayBuffer){obj[key]=ascii85_1.ascii85.encode(val);mappings[path]="binary"}else if(val instanceof path_reference_1.PathReference){obj[key]=val.path;mappings[path]="reference"}else if(val instanceof RegExp){obj[key]={pattern:val.source,flags:val.flags};mappings[path]="regexp"}else if(typeof val==="object"&&val!==null){process(val,mappings,path)}}))};const mappings={};process(obj,mappings,"");const serialized={val:obj};if(Object.keys(mappings).length>0){serialized.map=mappings}return serialized};exports.serialize=serialize;const serialize2=obj=>{const getSerializedValue=val=>{if(typeof val==="bigint"){return{".type":"bigint",".val":val.toString()}}else if(val instanceof Date){return{".type":"date",".val":val.toISOString()}}else if(val instanceof ArrayBuffer){return{".type":"binary",".val":ascii85_1.ascii85.encode(val)}}else if(val instanceof path_reference_1.PathReference){return{".type":"reference",".val":val.path}}else if(val instanceof RegExp){return{".type":"regexp",".val":`/${val.source}/${val.flags}`}}else if(typeof val==="object"&&val!==null){if(val instanceof Array){const copy=[];for(let i=0;i{if(typeof data!=="object"||data===null){return data}if(typeof data[".type"]==="undefined"){if(data instanceof Array){const copy=[];const arr=data;for(let i=0;i{const mkeys=path_info_1.PathInfo.getPathKeys(mpath);if(mkeys.length!==keys.length){return false}return mkeys.every(((mkey,index)=>{if(mkey==="*"||mkey[0]==="$"){return true}return mkey===keys[index]}))}));const mapping=mappings[mappedPath];return mapping}function map(mappings,path){const targetPath=path_info_1.PathInfo.get(path).parentPath;if(targetPath===null){return}return get(mappings,targetPath)}function mapDeep(mappings,entryPath){entryPath=entryPath.replace(/^\/|\/$/g,"");const pathInfo=path_info_1.PathInfo.get(entryPath);const startPath=pathInfo.parentPath;const keys=startPath?path_info_1.PathInfo.getPathKeys(startPath):[];const matches=Object.keys(mappings).reduce(((m,mpath)=>{const mkeys=path_info_1.PathInfo.getPathKeys(mpath);if(mkeys.length{if(index>=keys.length){return false}else if(mkey==="*"||mkey[0]==="$"||mkey===keys[index]){return true}else{isMatch=false;return false}}))}if(isMatch){const mapping=mappings[mpath];m.push({path:mpath,type:mapping})}return m}),[]);return matches}function process(db,mappings,path,obj,action){if(obj===null||typeof obj!=="object"){return obj}const keys=path_info_1.PathInfo.getPathKeys(path);const m=mapDeep(mappings,path);const changes=[];m.sort(((a,b)=>path_info_1.PathInfo.getPathKeys(a.path).length>path_info_1.PathInfo.getPathKeys(b.path).length?-1:1));m.forEach((mapping=>{const mkeys=path_info_1.PathInfo.getPathKeys(mapping.path);mkeys.push("*");const mTrailKeys=mkeys.slice(keys.length);if(mTrailKeys.length===0){const vars=path_info_1.PathInfo.extractVariables(mapping.path,path);const ref=new data_reference_1.DataReference(db,path,vars);if(action==="serialize"){obj=mapping.type.serialize(obj,ref)}else if(action==="deserialize"){const snap=new data_snapshot_1.DataSnapshot(ref,obj);obj=mapping.type.deserialize(snap)}return}const process=(parentPath,parent,keys)=>{if(obj===null||typeof obj!=="object"){return obj}const key=keys[0];let children=[];if(key==="*"||key[0]==="$"){if(parent instanceof Array){children=parent.map(((val,index)=>({key:index,val:val})))}else{children=Object.keys(parent).map((k=>({key:k,val:parent[k]})))}}else{const child=parent[key];if(typeof child==="object"){children.push({key:key,val:child})}}children.forEach((child=>{const childPath=path_info_1.PathInfo.getChildPath(parentPath,child.key);const vars=path_info_1.PathInfo.extractVariables(mapping.path,childPath);const ref=new data_reference_1.DataReference(db,childPath,vars);if(keys.length===1){if(action==="serialize"){changes.push({parent:parent,key:child.key,original:parent[child.key]});parent[child.key]=mapping.type.serialize(child.val,ref)}else if(action==="deserialize"){const snap=new data_snapshot_1.DataSnapshot(ref,child.val);parent[child.key]=mapping.type.deserialize(snap)}}else{process(childPath,child.val,keys.slice(1))}}))};process(path,obj,mTrailKeys)}));if(action==="serialize"){obj=(0,utils_1.cloneObject)(obj);if(changes.length>0){changes.forEach((change=>{change.parent[change.key]=change.original}))}}return obj}const _mappings=Symbol("mappings");class TypeMappings{constructor(db){this.db=db;this[_mappings]={}}get mappings(){return this[_mappings]}map(path){return map(this[_mappings],path)}bind(path,type,options={}){if(typeof path!=="string"){throw new TypeError("path must be a string")}if(typeof type!=="function"){throw new TypeError("constructor must be a function")}if(typeof options.serializer==="undefined"){}else if(typeof options.serializer==="string"){if(typeof type.prototype[options.serializer]==="function"){options.serializer=type.prototype[options.serializer]}else{throw new TypeError(`${type.name}.prototype.${options.serializer} is not a function, cannot use it as serializer`)}}else if(typeof options.serializer!=="function"){throw new TypeError(`serializer for class ${type.name} must be a function, or the name of a prototype method`)}if(typeof options.creator==="undefined"){if(typeof type.create==="function"){options.creator=type.create}}else if(typeof options.creator==="string"){if(typeof type[options.creator]==="function"){options.creator=type[options.creator]}else{throw new TypeError(`${type.name}.${options.creator} is not a function, cannot use it as creator`)}}else if(typeof options.creator!=="function"){throw new TypeError(`creator for class ${type.name} must be a function, or the name of a static method`)}path=path.replace(/^\/|\/$/g,"");this[_mappings][path]={db:this.db,type:type,creator:options.creator,serializer:options.serializer,deserialize(snap){let obj;if(this.creator){obj=this.creator.call(this.type,snap)}else{obj=new this.type(snap)}return obj},serialize(obj,ref){if(this.serializer){obj=this.serializer.call(obj,ref,obj)}else if(obj&&typeof obj.serialize==="function"){obj=obj.serialize(ref,obj)}return obj}}}serialize(path,obj){return process(this.db,this[_mappings],path,obj,"serialize")}deserialize(path,obj){return process(this.db,this[_mappings],path,obj,"deserialize")}}exports.TypeMappings=TypeMappings},{"./data-reference":8,"./data-snapshot":9,"./path-info":16,"./utils":26}],26:[function(require,module,exports){(function(Buffer){(function(){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.defer=exports.getChildValues=exports.getMutations=exports.compareValues=exports.ObjectDifferences=exports.valuesAreEqual=exports.cloneObject=exports.concatTypedArrays=exports.decodeString=exports.encodeString=exports.bytesToBigint=exports.bigintToBytes=exports.bytesToNumber=exports.numberToBytes=void 0;const path_reference_1=require("./path-reference");const process_1=require("./process");const partial_array_1=require("./partial-array");function numberToBytes(number){const bytes=new Uint8Array(8);const view=new DataView(bytes.buffer);view.setFloat64(0,number);return new Array(...bytes)}exports.numberToBytes=numberToBytes;function bytesToNumber(bytes){const length=Array.isArray(bytes)?bytes.length:bytes.byteLength;if(length!==8){throw new TypeError("must be 8 bytes")}const bin=new Uint8Array(bytes);const view=new DataView(bin.buffer);const nr=view.getFloat64(0);return nr}exports.bytesToNumber=bytesToNumber;const big={zero:BigInt(0),one:BigInt(1),two:BigInt(2),eight:BigInt(8),ff:BigInt(255)};function bigintToBytes(number){if(typeof number!=="bigint"){throw new Error("number must be a bigint")}const bytes=[];const negative=number>big.eight}while(number!==(negative?-big.one:big.zero));bytes.reverse();if(negative?bytes[0]<128:bytes[0]>=128){bytes.unshift(negative?255:0)}return bytes}exports.bigintToBytes=bigintToBytes;function bytesToBigint(bytes){const negative=bytes[0]>=128;let number=big.zero;for(let b of bytes){if(negative){b=~b&255}number=(number<128){if((code&55296)===55296){const nextCode=str.charCodeAt(i+1);if((nextCode&56320)!==56320){throw new Error("follow-up utf-16 character does not start with 0xDC00")}i++;const p1=code&1023;const p2=nextCode&1023;code=65536|p1<<10|p2}if(code<2048){const b1=192|code>>6&31;const b2=128|code&63;arr.push(b1,b2)}else if(code<65536){const b1=224|code>>12&15;const b2=128|code>>6&63;const b3=128|code&63;arr.push(b1,b2,b3)}else if(code<2097152){const b1=240|code>>18&7;const b2=128|code>>12&63;const b3=128|code>>6&63;const b4=128|code&63;arr.push(b1,b2,b3,b4)}else{throw new Error(`Cannot convert character ${str.charAt(i)} (code ${code}) to utf-8`)}}else{arr.push(code<128?code:63)}}return new Uint8Array(arr)}}exports.encodeString=encodeString;function decodeString(buffer){if(typeof TextDecoder!=="undefined"){const decoder=new TextDecoder;if(buffer instanceof Uint8Array){return decoder.decode(buffer)}const buf=Uint8Array.from(buffer);return decoder.decode(buf)}else if(typeof Buffer==="function"){if(buffer instanceof Array){buffer=Uint8Array.from(buffer)}if(!(buffer instanceof Buffer)&&"buffer"in buffer&&buffer.buffer instanceof ArrayBuffer){const typedArray=buffer;buffer=Buffer.from(typedArray.buffer,typedArray.byteOffset,typedArray.byteLength)}if(!(buffer instanceof Buffer)){throw new Error("Unsupported buffer argument")}return buffer.toString("utf-8")}else{if(!(buffer instanceof Uint8Array)&&"buffer"in buffer&&buffer["buffer"]instanceof ArrayBuffer){const typedArray=buffer;buffer=new Uint8Array(typedArray.buffer,typedArray.byteOffset,typedArray.byteLength)}if(buffer instanceof Buffer||buffer instanceof Array||buffer instanceof Uint8Array){let str="";for(let i=0;i128){if((code&240)===240){const b1=code,b2=buffer[i+1],b3=buffer[i+2],b4=buffer[i+3];code=(b1&7)<<18|(b2&63)<<12|(b3&63)<<6|b4&63;i+=3}else if((code&224)===224){const b1=code,b2=buffer[i+1],b3=buffer[i+2];code=(b1&15)<<12|(b2&63)<<6|b3&63;i+=2}else if((code&192)===192){const b1=code,b2=buffer[i+1];code=(b1&31)<<6|b2&63;i++}else{throw new Error("invalid utf-8 data")}}if(code>=65536){code^=65536;const p1=55296|code>>10;const p2=56320|code&1023;str+=String.fromCharCode(p1);str+=String.fromCharCode(p2)}else{str+=String.fromCharCode(code)}}return str}else{throw new Error("Unsupported buffer argument")}}}exports.decodeString=decodeString;function concatTypedArrays(a,b){const c=new a.constructor(a.length+b.length);c.set(a);c.set(b,a.length);return c}exports.concatTypedArrays=concatTypedArrays;function cloneObject(original,stack){var _a;if(((_a=original===null||original===void 0?void 0:original.constructor)===null||_a===void 0?void 0:_a.name)==="DataSnapshot"){throw new TypeError(`Object to clone is a DataSnapshot (path "${original.ref.path}")`)}const checkAndFixTypedArray=obj=>{if(obj!==null&&typeof obj==="object"&&typeof obj.constructor==="function"&&typeof obj.constructor.name==="string"&&["Buffer","Uint8Array","Int8Array","Uint16Array","Int16Array","Uint32Array","Int32Array","BigUint64Array","BigInt64Array"].includes(obj.constructor.name)){obj=obj.buffer.slice(obj.byteOffset,obj.byteOffset+obj.byteLength)}return obj};original=checkAndFixTypedArray(original);if(typeof original!=="object"||original===null||original instanceof Date||original instanceof ArrayBuffer||original instanceof path_reference_1.PathReference||original instanceof RegExp){return original}const cloneValue=val=>{if(stack.indexOf(val)>=0){throw new ReferenceError("object contains a circular reference")}val=checkAndFixTypedArray(val);if(val===null||val instanceof Date||val instanceof ArrayBuffer||val instanceof path_reference_1.PathReference||val instanceof RegExp){return val}else if(typeof val==="object"){stack.push(val);val=cloneObject(val,stack);stack.pop();return val}else{return val}};if(typeof stack==="undefined"){stack=[original]}const clone=original instanceof Array?[]:original instanceof partial_array_1.PartialArray?new partial_array_1.PartialArray:{};Object.keys(original).forEach((key=>{const val=original[key];if(typeof val==="function"){return}clone[key]=cloneValue(val)}));return clone}exports.cloneObject=cloneObject;const isTypedArray=val=>typeof val==="object"&&["ArrayBuffer","Buffer","Uint8Array","Uint16Array","Uint32Array","Int8Array","Int16Array","Int32Array"].includes(val.constructor.name);function valuesAreEqual(val1,val2){if(val1===val2){return true}if(typeof val1!==typeof val2){return false}if(typeof val1==="object"||typeof val2==="object"){if(val1===null||val2===null){return false}if(val1 instanceof path_reference_1.PathReference||val2 instanceof path_reference_1.PathReference){return val1 instanceof path_reference_1.PathReference&&val2 instanceof path_reference_1.PathReference&&val1.path===val2.path}if(val1 instanceof Date||val2 instanceof Date){return val1 instanceof Date&&val2 instanceof Date&&val1.getTime()===val2.getTime()}if(val1 instanceof Array||val2 instanceof Array){return val1 instanceof Array&&val2 instanceof Array&&val1.length===val2.length&&val1.every(((item,i)=>valuesAreEqual(val1[i],val2[i])))}if(isTypedArray(val1)||isTypedArray(val2)){if(!isTypedArray(val1)||!isTypedArray(val2)||val1.byteLength===val2.byteLength){return false}const typed1=val1 instanceof ArrayBuffer?new Uint8Array(val1):new Uint8Array(val1.buffer,val1.byteOffset,val1.byteLength),typed2=val2 instanceof ArrayBuffer?new Uint8Array(val2):new Uint8Array(val2.buffer,val2.byteOffset,val2.byteLength);return typed1.every(((val,i)=>typed2[i]===val))}const keys1=Object.keys(val1),keys2=Object.keys(val2);return keys1.length===keys2.length&&keys1.every((key=>keys2.includes(key)))&&keys1.every((key=>valuesAreEqual(val1[key],val2[key])))}return false}exports.valuesAreEqual=valuesAreEqual;class ObjectDifferences{constructor(added,removed,changed){this.added=added;this.removed=removed;this.changed=changed}forChild(key){if(this.added.includes(key)){return"added"}if(this.removed.includes(key)){return"removed"}const changed=this.changed.find((ch=>ch.key===key));return changed?changed.change:"identical"}}exports.ObjectDifferences=ObjectDifferences;function compareValues(oldVal,newVal,sortedResults=false){const voids=[undefined,null];if(oldVal===newVal){return"identical"}else if(voids.indexOf(oldVal)>=0&&voids.indexOf(newVal)<0){return"added"}else if(voids.indexOf(oldVal)<0&&voids.indexOf(newVal)>=0){return"removed"}else if(typeof oldVal!==typeof newVal){return"changed"}else if(isTypedArray(oldVal)||isTypedArray(newVal)){if(!isTypedArray(oldVal)||!isTypedArray(newVal)){return"changed"}const typed1=oldVal instanceof Uint8Array?oldVal:oldVal instanceof ArrayBuffer?new Uint8Array(oldVal):new Uint8Array(oldVal.buffer,oldVal.byteOffset,oldVal.byteLength);const typed2=newVal instanceof Uint8Array?newVal:newVal instanceof ArrayBuffer?new Uint8Array(newVal):new Uint8Array(newVal.buffer,newVal.byteOffset,newVal.byteLength);return typed1.byteLength===typed2.byteLength&&typed1.every(((val,i)=>typed2[i]===val))?"identical":"changed"}else if(oldVal instanceof Date||newVal instanceof Date){return oldVal instanceof Date&&newVal instanceof Date&&oldVal.getTime()===newVal.getTime()?"identical":"changed"}else if(oldVal instanceof path_reference_1.PathReference||newVal instanceof path_reference_1.PathReference){return oldVal instanceof path_reference_1.PathReference&&newVal instanceof path_reference_1.PathReference&&oldVal.path===newVal.path?"identical":"changed"}else if(typeof oldVal==="object"){const isArray=oldVal instanceof Array;const getKeys=obj=>{let keys=Object.keys(obj).filter((key=>!voids.includes(obj[key])));if(isArray){keys=keys.map((v=>parseInt(v)))}return keys};const oldKeys=getKeys(oldVal);const newKeys=getKeys(newVal);const removedKeys=oldKeys.filter((key=>!newKeys.includes(key)));const addedKeys=newKeys.filter((key=>!oldKeys.includes(key)));const changedKeys=newKeys.reduce(((changed,key)=>{if(oldKeys.includes(key)){const val1=oldVal[key];const val2=newVal[key];const c=compareValues(val1,val2);if(c!=="identical"){changed.push({key:key,change:c})}}return changed}),[]);if(addedKeys.length===0&&removedKeys.length===0&&changedKeys.length===0){return"identical"}else{return new ObjectDifferences(addedKeys,removedKeys,sortedResults?changedKeys.sort(((a,b)=>a.key{switch(compareResult){case"identical":return[];case"changed":return[{target:target,prev:prev,val:val}];case"added":return[{target:target,prev:null,val:val}];case"removed":return[{target:target,prev:prev,val:null}];default:{let changes=[];compareResult.added.forEach((key=>changes.push({target:target.concat(key),prev:null,val:val[key]})));compareResult.removed.forEach((key=>changes.push({target:target.concat(key),prev:prev[key],val:null})));compareResult.changed.forEach((item=>{const childChanges=process(target.concat(item.key),item.change,prev[item.key],val[item.key]);changes=changes.concat(childChanges)}));return changes}}};const compareResult=compareValues(oldVal,newVal,sortedResults);return process([],compareResult,oldVal,newVal)}exports.getMutations=getMutations;function getChildValues(childKey,oldValue,newValue){oldValue=oldValue===null?null:oldValue[childKey];if(typeof oldValue==="undefined"){oldValue=null}newValue=newValue===null?null:newValue[childKey];if(typeof newValue==="undefined"){newValue=null}return{oldValue:oldValue,newValue:newValue}}exports.getChildValues=getChildValues;function defer(fn){process_1.default.nextTick(fn)}exports.defer=defer}).call(this)}).call(this,require("buffer").Buffer)},{"./partial-array":15,"./path-reference":17,"./process":18,buffer:27}],27:[function(require,module,exports){},{}],28:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.BrowserAceBase=void 0;const acebase_local_1=require("./acebase-local");const indexed_db_1=require("./storage/custom/indexed-db");const deprecatedConstructorError=`Using AceBase constructor in the browser to use localStorage is deprecated!\nSwitch to:\nIndexedDB implementation (FASTER, MORE RELIABLE):\n let db = AceBase.WithIndexedDB(name, settings)\nOr, new LocalStorage implementation:\n let db = AceBase.WithLocalStorage(name, settings)\nOr, write your own CustomStorage adapter:\n let myCustomStorage = new CustomStorageSettings({ ... });\n let db = new AceBase(name, { storage: myCustomStorage })`;class BrowserAceBase extends acebase_local_1.AceBase{constructor(name,settings){if(typeof settings!=="object"||typeof settings.storage!=="object"){throw new Error(deprecatedConstructorError)}super(name,settings);this.settings.ipcEvents=settings.multipleTabs===true}static WithIndexedDB(dbname,init={}){return(0,indexed_db_1.createIndexedDBInstance)(dbname,init)}}exports.BrowserAceBase=BrowserAceBase},{"./acebase-local":29,"./storage/custom/indexed-db":46}],29:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.AceBase=exports.AceBaseLocalSettings=exports.IndexedDBStorageSettings=exports.LocalStorageSettings=void 0;const acebase_core_1=require("acebase-core");const binary_1=require("./storage/binary");const api_local_1=require("./api-local");const local_storage_1=require("./storage/custom/local-storage");Object.defineProperty(exports,"LocalStorageSettings",{enumerable:true,get:function(){return local_storage_1.LocalStorageSettings}});const settings_1=require("./storage/custom/indexed-db/settings");Object.defineProperty(exports,"IndexedDBStorageSettings",{enumerable:true,get:function(){return settings_1.IndexedDBStorageSettings}});class AceBaseLocalSettings extends acebase_core_1.AceBaseBaseSettings{constructor(options={}){super(options);if(options.storage){this.storage=options.storage;if(options.ipc){this.storage.ipc=options.ipc}if(options.transactions){this.storage.transactions=options.transactions}}}}exports.AceBaseLocalSettings=AceBaseLocalSettings;class AceBase extends acebase_core_1.AceBaseBase{constructor(dbname,init={}){const settings=new AceBaseLocalSettings(init);super(dbname,settings);const apiSettings={db:this,settings:settings};this.api=new api_local_1.LocalApi(dbname,apiSettings,(()=>{this.emit("ready")}));this.recovery={repairNode:async(path,options)=>{if(this.api.storage instanceof binary_1.AceBaseStorage){await this.api.storage.repairNode(path,options)}else if(!this.api.storage.repairNode){throw new Error(`repairNode is not supported with chosen storage engine`)}}}}async close(){await this.api.storage.close()}get settings(){const ipc=this.api.storage.ipc,debug=this.debug;return{get logLevel(){return debug.level},set logLevel(level){debug.setLevel(level)},get ipcEvents(){return ipc.eventsEnabled},set ipcEvents(enabled){ipc.eventsEnabled=enabled}}}static WithLocalStorage(dbname,settings={}){const db=(0,local_storage_1.createLocalStorageInstance)(dbname,settings);return db}static WithIndexedDB(dbname,init={}){throw new Error(`IndexedDB storage can only be used in browser contexts`)}}exports.AceBase=AceBase},{"./api-local":30,"./storage/binary":40,"./storage/custom/indexed-db/settings":47,"./storage/custom/local-storage":49,"acebase-core":12}],30:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.LocalApi=void 0;const acebase_core_1=require("acebase-core");const binary_1=require("./storage/binary");const sqlite_1=require("./storage/sqlite");const mssql_1=require("./storage/mssql");const custom_1=require("./storage/custom");const node_value_types_1=require("./node-value-types");const query_1=require("./query");class LocalApi extends acebase_core_1.Api{constructor(dbname="default",init,readyCallback){super();this.db=init.db;const storageEnv={logLevel:init.settings.logLevel};if(typeof init.settings.storage==="object"){if(sqlite_1.SQLiteStorageSettings&&init.settings.storage instanceof sqlite_1.SQLiteStorageSettings){this.storage=new sqlite_1.SQLiteStorage(dbname,init.settings.storage,storageEnv)}else if(mssql_1.MSSQLStorageSettings&&init.settings.storage instanceof mssql_1.MSSQLStorageSettings){this.storage=new mssql_1.MSSQLStorage(dbname,init.settings.storage,storageEnv)}else if(custom_1.CustomStorageSettings&&init.settings.storage instanceof custom_1.CustomStorageSettings){this.storage=new custom_1.CustomStorage(dbname,init.settings.storage,storageEnv)}else{const storageSettings=init.settings.storage instanceof binary_1.AceBaseStorageSettings?init.settings.storage:new binary_1.AceBaseStorageSettings(init.settings.storage);this.storage=new binary_1.AceBaseStorage(dbname,storageSettings,storageEnv)}}else{this.storage=new binary_1.AceBaseStorage(dbname,new binary_1.AceBaseStorageSettings,storageEnv)}this.storage.on("ready",readyCallback)}async stats(options){return this.storage.stats}subscribe(path,event,callback){this.storage.subscriptions.add(path,event,callback)}unsubscribe(path,event,callback){this.storage.subscriptions.remove(path,event,callback)}async set(path,value,options={suppress_events:false,context:null}){const cursor=await this.storage.setNode(path,value,{suppress_events:options.suppress_events,context:options.context});return Object.assign({},cursor&&{cursor:cursor})}async update(path,updates,options={suppress_events:false,context:null}){const cursor=await this.storage.updateNode(path,updates,{suppress_events:options.suppress_events,context:options.context});return Object.assign({},cursor&&{cursor:cursor})}get transactionLoggingEnabled(){return this.storage.settings.transactions&&this.storage.settings.transactions.log===true}async get(path,options){if(!options){options={}}if(typeof options.include!=="undefined"&&!(options.include instanceof Array)){throw new TypeError(`options.include must be an array of key names`)}if(typeof options.exclude!=="undefined"&&!(options.exclude instanceof Array)){throw new TypeError(`options.exclude must be an array of key names`)}if(["undefined","boolean"].indexOf(typeof options.child_objects)<0){throw new TypeError(`options.child_objects must be a boolean`)}const node=await this.storage.getNode(path,options);return{value:node.value,context:{acebase_cursor:node.cursor},cursor:node.cursor}}async transaction(path,callback,options={suppress_events:false,context:null}){const cursor=await this.storage.transactNode(path,callback,{suppress_events:options.suppress_events,context:options.context});return Object.assign({},cursor&&{cursor:cursor})}async exists(path){const nodeInfo=await this.storage.getNodeInfo(path);return nodeInfo.exists}async query(path,query,options={snapshots:false}){const results=await(0,query_1.query)(this,path,query,options);return results}createIndex(path,key,options){return this.storage.indexes.create(path,key,options)}async getIndexes(){return this.storage.indexes.list()}async deleteIndex(filePath){return this.storage.indexes.delete(filePath)}async reflect(path,type,args){args=args||{};const getChildren=async(path,limit=50,skip=0,from=null)=>{if(typeof limit==="string"){limit=parseInt(limit)}if(typeof skip==="string"){skip=parseInt(skip)}if(["null","undefined"].includes(from)){from=null}const children=[];let n=0,stop=false,more=false;await this.storage.getChildren(path).next((childInfo=>{if(stop){more=true;return false}n++;const include=from!==null?childInfo.key>from:skip===0||n>skip;if(include){children.push(Object.assign({key:typeof childInfo.key==="string"?childInfo.key:childInfo.index,type:childInfo.valueTypeName,value:childInfo.value},typeof childInfo.address==="object"&&"pageNr"in childInfo.address&&{address:{pageNr:childInfo.address.pageNr,recordNr:childInfo.address.recordNr}}))}stop=limit>0&&children.length===limit})).catch((err=>{}));return{more:more,list:children}};switch(type){case"children":{return getChildren(path,args.limit,args.skip,args.from)}case"info":{const info={key:"",exists:false,type:"unknown",value:undefined,address:undefined,children:{count:0,more:false,list:[]}};const nodeInfo=await this.storage.getNodeInfo(path,{include_child_count:args.child_count===true});info.key=typeof nodeInfo.key!=="undefined"?nodeInfo.key:nodeInfo.index;info.exists=nodeInfo.exists;info.type=nodeInfo.exists?nodeInfo.valueTypeName:undefined;info.value=nodeInfo.value;info.address=typeof nodeInfo.address==="object"&&"pageNr"in nodeInfo.address?{pageNr:nodeInfo.address.pageNr,recordNr:nodeInfo.address.recordNr}:undefined;const isObjectOrArray=nodeInfo.exists&&nodeInfo.address&&[node_value_types_1.VALUE_TYPES.OBJECT,node_value_types_1.VALUE_TYPES.ARRAY].includes(nodeInfo.type);if(args.child_count===true){info.children={count:isObjectOrArray?nodeInfo.childCount:0}}else if(typeof args.child_limit==="number"&&args.child_limit>0){if(isObjectOrArray){info.children=await getChildren(path,args.child_limit,args.child_skip,args.child_from)}}return info}}}export(path,stream,options={format:"json",type_safe:true}){return this.storage.exportNode(path,stream,options)}import(path,read,options={format:"json",suppress_events:false,method:"set"}){return this.storage.importNode(path,read,options)}async setSchema(path,schema){return this.storage.setSchema(path,schema)}async getSchema(path){return this.storage.getSchema(path)}async getSchemas(){return this.storage.getSchemas()}async validateSchema(path,value,isUpdate){return this.storage.validateSchema(path,value,{updates:isUpdate})}async getMutations(filter){if(typeof this.storage.getMutations!=="function"){throw new Error("Used storage type does not support getMutations")}if(typeof filter!=="object"){throw new Error("No filter specified")}if(typeof filter.cursor!=="string"&&typeof filter.timestamp!=="number"){throw new Error("No cursor or timestamp given")}return this.storage.getMutations(filter)}async getChanges(filter){if(typeof this.storage.getChanges!=="function"){throw new Error("Used storage type does not support getChanges")}if(typeof filter!=="object"){throw new Error("No filter specified")}if(typeof filter.cursor!=="string"&&typeof filter.timestamp!=="number"){throw new Error("No cursor or timestamp given")}return this.storage.getChanges(filter)}}exports.LocalApi=LocalApi},{"./node-value-types":39,"./query":42,"./storage/binary":40,"./storage/custom":45,"./storage/mssql":40,"./storage/sqlite":40,"acebase-core":12}],31:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.AsyncTaskBatch=void 0;class AsyncTaskBatch{constructor(limit=1e3,options){this.limit=limit;this.options=options;this.added=0;this.scheduled=[];this.running=0;this.results=[];this.done=false}async execute(task,index){var _a,_b;try{this.running++;const result=await task();this.results[index]=result;this.running--;if(this.running===0&&this.scheduled.length===0){this.done=true;(_a=this.doneCallback)===null||_a===void 0?void 0:_a.call(this,this.results)}else if(this.scheduled.length>0){const next=this.scheduled.shift();this.execute(next.task,next.index)}}catch(err){this.done=true;(_b=this.errorCallback)===null||_b===void 0?void 0:_b.call(this,err)}}add(task){var _a;if(this.done){throw new Error(`Cannot add to a batch that has already finished. Use wait option and start batch processing manually if you are adding tasks in an async loop`)}const index=this.added++;if(((_a=this.options)===null||_a===void 0?void 0:_a.wait)!==true&&this.running{this.doneCallback=resolve;this.errorCallback=reject}));return this.results}}exports.AsyncTaskBatch=AsyncTaskBatch},{}],32:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.SchemaValidationError=exports.StorageSettings=exports.ICustomStorageNodeMetaData=exports.ICustomStorageNode=exports.CustomStorageHelpers=exports.CustomStorageSettings=exports.CustomStorageTransaction=exports.MSSQLStorageSettings=exports.SQLiteStorageSettings=exports.AceBaseStorageSettings=exports.IndexedDBStorageSettings=exports.LocalStorageSettings=exports.AceBaseLocalSettings=exports.AceBase=exports.PartialArray=exports.proxyAccess=exports.ID=exports.ObjectCollection=exports.TypeMappings=exports.PathReference=exports.EventSubscription=exports.EventStream=exports.DataReferencesArray=exports.DataSnapshotsArray=exports.DataReference=exports.DataSnapshot=void 0;const acebase_core_1=require("acebase-core");Object.defineProperty(exports,"DataReference",{enumerable:true,get:function(){return acebase_core_1.DataReference}});Object.defineProperty(exports,"DataSnapshot",{enumerable:true,get:function(){return acebase_core_1.DataSnapshot}});Object.defineProperty(exports,"EventSubscription",{enumerable:true,get:function(){return acebase_core_1.EventSubscription}});Object.defineProperty(exports,"PathReference",{enumerable:true,get:function(){return acebase_core_1.PathReference}});Object.defineProperty(exports,"TypeMappings",{enumerable:true,get:function(){return acebase_core_1.TypeMappings}});Object.defineProperty(exports,"ID",{enumerable:true,get:function(){return acebase_core_1.ID}});Object.defineProperty(exports,"proxyAccess",{enumerable:true,get:function(){return acebase_core_1.proxyAccess}});Object.defineProperty(exports,"DataSnapshotsArray",{enumerable:true,get:function(){return acebase_core_1.DataSnapshotsArray}});Object.defineProperty(exports,"ObjectCollection",{enumerable:true,get:function(){return acebase_core_1.ObjectCollection}});Object.defineProperty(exports,"DataReferencesArray",{enumerable:true,get:function(){return acebase_core_1.DataReferencesArray}});Object.defineProperty(exports,"EventStream",{enumerable:true,get:function(){return acebase_core_1.EventStream}});Object.defineProperty(exports,"PartialArray",{enumerable:true,get:function(){return acebase_core_1.PartialArray}});const acebase_local_1=require("./acebase-local");const acebase_browser_1=require("./acebase-browser");Object.defineProperty(exports,"AceBase",{enumerable:true,get:function(){return acebase_browser_1.BrowserAceBase}});const custom_1=require("./storage/custom");const acebase={AceBase:acebase_browser_1.BrowserAceBase,AceBaseLocalSettings:acebase_local_1.AceBaseLocalSettings,DataReference:acebase_core_1.DataReference,DataSnapshot:acebase_core_1.DataSnapshot,EventSubscription:acebase_core_1.EventSubscription,PathReference:acebase_core_1.PathReference,TypeMappings:acebase_core_1.TypeMappings,CustomStorageSettings:custom_1.CustomStorageSettings,CustomStorageTransaction:custom_1.CustomStorageTransaction,CustomStorageHelpers:custom_1.CustomStorageHelpers,ID:acebase_core_1.ID,proxyAccess:acebase_core_1.proxyAccess,DataSnapshotsArray:acebase_core_1.DataSnapshotsArray};window.acebase=acebase;window.AceBase=acebase_browser_1.BrowserAceBase;exports.default=acebase;var acebase_local_2=require("./acebase-local");Object.defineProperty(exports,"AceBaseLocalSettings",{enumerable:true,get:function(){return acebase_local_2.AceBaseLocalSettings}});Object.defineProperty(exports,"LocalStorageSettings",{enumerable:true,get:function(){return acebase_local_2.LocalStorageSettings}});Object.defineProperty(exports,"IndexedDBStorageSettings",{enumerable:true,get:function(){return acebase_local_2.IndexedDBStorageSettings}});var binary_1=require("./storage/binary");Object.defineProperty(exports,"AceBaseStorageSettings",{enumerable:true,get:function(){return binary_1.AceBaseStorageSettings}});var sqlite_1=require("./storage/sqlite");Object.defineProperty(exports,"SQLiteStorageSettings",{enumerable:true,get:function(){return sqlite_1.SQLiteStorageSettings}});var mssql_1=require("./storage/mssql");Object.defineProperty(exports,"MSSQLStorageSettings",{enumerable:true,get:function(){return mssql_1.MSSQLStorageSettings}});var custom_2=require("./storage/custom");Object.defineProperty(exports,"CustomStorageTransaction",{enumerable:true,get:function(){return custom_2.CustomStorageTransaction}});Object.defineProperty(exports,"CustomStorageSettings",{enumerable:true,get:function(){return custom_2.CustomStorageSettings}});Object.defineProperty(exports,"CustomStorageHelpers",{enumerable:true,get:function(){return custom_2.CustomStorageHelpers}});Object.defineProperty(exports,"ICustomStorageNode",{enumerable:true,get:function(){return custom_2.ICustomStorageNode}});Object.defineProperty(exports,"ICustomStorageNodeMetaData",{enumerable:true,get:function(){return custom_2.ICustomStorageNodeMetaData}});var storage_1=require("./storage");Object.defineProperty(exports,"StorageSettings",{enumerable:true,get:function(){return storage_1.StorageSettings}});Object.defineProperty(exports,"SchemaValidationError",{enumerable:true,get:function(){return storage_1.SchemaValidationError}})},{"./acebase-browser":28,"./acebase-local":29,"./storage":52,"./storage/binary":40,"./storage/custom":45,"./storage/mssql":40,"./storage/sqlite":40,"acebase-core":12}],33:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.IPCPeer=void 0;const acebase_core_1=require("acebase-core");const ipc_1=require("./ipc");class IPCPeer extends ipc_1.AceBaseIPCPeer{constructor(storage){super(storage,acebase_core_1.ID.generate());this.masterPeerId=this.id;this.ipcType="browser.bcc";window.addEventListener("beforeunload",(()=>{this.exit()}));if(typeof window.BroadcastChannel!=="undefined"){this.channel=new BroadcastChannel(`acebase:${storage.name}`)}else{const listeners=[null];const notImplemented=()=>{throw new Error("Not implemented")};this.channel={name:`acebase:${storage.name}`,postMessage:message=>{const messageId=acebase_core_1.ID.generate(),key=`acebase:${storage.name}:${this.id}:${messageId}`,payload=JSON.stringify(acebase_core_1.Transport.serialize(message));localStorage.setItem(key,payload);setTimeout((()=>localStorage.removeItem(key)),10)},set onmessage(handler){listeners[0]=handler},set onmessageerror(handler){notImplemented()},close(){notImplemented()},addEventListener(event,callback){if(event!=="message"){notImplemented()}listeners.push(callback)},removeEventListener(event,callback){const i=listeners.indexOf(callback);i>=1&&listeners.splice(i,1)},dispatchEvent(event){listeners.forEach((callback=>{try{callback&&callback(event)}catch(err){console.error(err)}}));return true}};window.addEventListener("storage",(event=>{const[acebase,dbname,peerId,messageId]=event.key.split(":");if(acebase!=="acebase"||dbname!==storage.name||peerId===this.id||event.newValue===null){return}const message=acebase_core_1.Transport.deserialize(JSON.parse(event.newValue));this.channel.dispatchEvent({data:message})}))}this.channel.addEventListener("message",(async event=>{const message=event.data;if(message.to&&message.to!==this.id){return}storage.debug.verbose(`[BroadcastChannel] received: `,message);if(message.type==="hello"&&message.frompeer.id)).concat(this.id).filter((id=>id!==this.masterPeerId));this.masterPeerId=allPeerIds.sort()[0];storage.debug.log(`[BroadcastChannel] ${this.masterPeerId===this.id?"We are":`tab ${this.masterPeerId} is`} the new master. Requesting ${this._locks.length} locks (${this._locks.filter((r=>!r.granted)).length} pending)`);const requests=this._locks.splice(0);await Promise.all(requests.filter((req=>req.granted)).map((async req=>{let released,movedToParent;req.lock.release=()=>new Promise((resolve=>released=resolve));req.lock.moveToParent=()=>new Promise((resolve=>movedToParent=resolve));const lock=await this.lock({path:req.lock.path,write:req.lock.forWriting,tid:req.lock.tid,comment:req.lock.comment});if(movedToParent){const newLock=await lock.moveToParent();movedToParent(newLock)}if(released){await lock.release();released()}})));await Promise.all(requests.filter((req=>!req.granted)).map((async req=>{await this.lock(req.request)})))}return this.handleMessage(message)}));const helloMsg={type:"hello",from:this.id,data:undefined};this.sendMessage(helloMsg)}sendMessage(message){this.storage.debug.verbose(`[BroadcastChannel] sending: `,message);this.channel.postMessage(message)}}exports.IPCPeer=IPCPeer},{"./ipc":34,"acebase-core":12}],34:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.AceBaseIPCPeer=exports.AceBaseIPCPeerExitingError=void 0;const acebase_core_1=require("acebase-core");const node_lock_1=require("../node-lock");class AceBaseIPCPeerExitingError extends Error{constructor(message){super(`Exiting: ${message}`)}}exports.AceBaseIPCPeerExitingError=AceBaseIPCPeerExitingError;class AceBaseIPCPeer extends acebase_core_1.SimpleEventEmitter{constructor(storage,id,dbname=storage.name){super();this.storage=storage;this.id=id;this.dbname=dbname;this.ipcType="ipc";this.ourSubscriptions=[];this.remoteSubscriptions=[];this.peers=[];this._exiting=false;this._locks=[];this._requests=new Map;this._eventsEnabled=true;this._nodeLocker=new node_lock_1.NodeLocker(storage.debug,storage.settings.lockTimeout);storage.on("subscribe",(subscription=>{storage.debug.verbose(`database subscription being added on peer ${this.id}`);const remoteSubscription=this.remoteSubscriptions.find((sub=>sub.callback===subscription.callback));if(remoteSubscription){return}const othersAlreadyNotifying=this.ourSubscriptions.some((sub=>sub.event===subscription.event&&sub.path===subscription.path));this.ourSubscriptions.push(subscription);if(othersAlreadyNotifying){return}const message={type:"subscribe",from:this.id,data:{path:subscription.path,event:subscription.event}};this.sendMessage(message)}));storage.on("unsubscribe",(subscription=>{const remoteSubscription=this.remoteSubscriptions.find((sub=>sub.callback===subscription.callback));if(remoteSubscription){this.remoteSubscriptions.splice(this.remoteSubscriptions.indexOf(remoteSubscription),1);return}this.ourSubscriptions.filter((sub=>sub.path===subscription.path&&(!subscription.event||sub.event===subscription.event)&&(!subscription.callback||sub.callback===subscription.callback))).forEach((sub=>{this.ourSubscriptions.splice(this.ourSubscriptions.indexOf(sub),1);const message={type:"unsubscribe",from:this.id,data:{path:sub.path,event:sub.event}};this.sendMessage(message)}))}))}get isMaster(){return this.masterPeerId===this.id}async exit(code=0){if(this._exiting){return this.once("exit")}this._exiting=true;this.storage.debug.warn(`Received ${this.isMaster?"master":"worker "+this.id} process exit request`);if(this._locks.length>0){this.storage.debug.warn(`Waiting for ${this.isMaster?"master":"worker"} ${this.id} locks to clear`);await this.once("locks-cleared")}this.sayGoodbye(this.id);this.storage.debug.warn(`${this.isMaster?"Master":"Worker "+this.id} will now exit`);this.emitOnce("exit",code)}sayGoodbye(forPeerId){const bye={type:"bye",from:forPeerId,data:undefined};this.sendMessage(bye)}addPeer(id,sendReply=true){if(this._exiting){return}const peer=this.peers.find((w=>w.id===id));if(!peer){this.peers.push({id:id,lastSeen:Date.now()})}if(sendReply){const helloMessage={type:"hello",from:this.id,to:id,data:undefined};this.sendMessage(helloMessage);this.ourSubscriptions.forEach((sub=>{const message={type:"subscribe",from:this.id,to:id,data:{path:sub.path,event:sub.event}};this.sendMessage(message)}))}}removePeer(id,ignoreUnknown=false){if(this._exiting){return}const peer=this.peers.find((peer=>peer.id===id));if(!peer){if(!ignoreUnknown){throw new Error(`We are supposed to know this peer!`)}return}this.peers.splice(this.peers.indexOf(peer),1);const subscriptions=this.remoteSubscriptions.filter((sub=>sub.for===id));subscriptions.forEach((sub=>{this.remoteSubscriptions.splice(this.remoteSubscriptions.indexOf(sub),1);this.storage.subscriptions.remove(sub.path,sub.event,sub.callback)}))}addRemoteSubscription(peerId,details){if(this._exiting){return}if(this.remoteSubscriptions.some((sub=>sub.for===peerId&&sub.event===details.event&&sub.path===details.path))){return}const subscribeCallback=(err,path,val,previous,context)=>{const eventMessage={type:"event",from:this.id,to:peerId,path:details.path,event:details.event,data:{path:path,val:val,previous:previous,context:context}};this.sendMessage(eventMessage)};this.remoteSubscriptions.push({for:peerId,event:details.event,path:details.path,callback:subscribeCallback});this.storage.subscriptions.add(details.path,details.event,subscribeCallback)}cancelRemoteSubscription(peerId,details){const sub=this.remoteSubscriptions.find((sub=>sub.for===peerId&&sub.event===details.event&&sub.path===details.event));if(!sub){return}this.storage.subscriptions.remove(details.path,details.event,sub.callback)}async handleMessage(message){switch(message.type){case"hello":return this.addPeer(message.from,message.to!==this.id);case"bye":return this.removePeer(message.from,true);case"subscribe":return this.addRemoteSubscription(message.from,message.data);case"unsubscribe":return this.cancelRemoteSubscription(message.from,message.data);case"event":{if(!this._eventsEnabled){break}const eventMessage=message;const context=eventMessage.data.context||{};context.acebase_ipc={type:this.ipcType,origin:eventMessage.from};const subscriptions=this.ourSubscriptions.filter((sub=>sub.event===eventMessage.event&&sub.path===eventMessage.path));subscriptions.forEach((sub=>{sub.callback(null,eventMessage.data.path,eventMessage.data.val,eventMessage.data.previous,context)}));break}case"lock-request":{if(!this.isMaster){throw new Error(`Workers are not supposed to receive lock requests!`)}const request=message;const result={type:"lock-result",id:request.id,from:this.id,to:request.from,ok:true,data:undefined};try{const lock=await this.lock(request.data);result.data={id:lock.id,path:lock.path,tid:lock.tid,write:lock.forWriting,expires:lock.expires,comment:lock.comment}}catch(err){result.ok=false;result.reason=err.stack||err.message||err}return this.sendMessage(result)}case"lock-result":{if(this.isMaster){throw new Error(`Masters are not supposed to receive results for lock requests!`)}const result=message;const request=this._requests.get(result.id);if(typeof request!=="object"){throw new Error(`The request must be known to us!`)}if(result.ok){request.resolve(result.data)}else{request.reject(new Error(result.reason))}return}case"unlock-request":{if(!this.isMaster){throw new Error(`Workers are not supposed to receive unlock requests!`)}const request=message;const result={type:"unlock-result",id:request.id,from:this.id,to:request.from,ok:true,data:{id:request.data.id}};try{const lockInfo=this._locks.find((l=>{var _a;return((_a=l.lock)===null||_a===void 0?void 0:_a.id)===request.data.id}));await lockInfo.lock.release()}catch(err){result.ok=false;result.reason=err.stack||err.message||err}return this.sendMessage(result)}case"unlock-result":{if(this.isMaster){throw new Error(`Masters are not supposed to receive results for unlock requests!`)}const result=message;const request=this._requests.get(result.id);if(typeof request!=="object"){throw new Error(`The request must be known to us!`)}if(result.ok){request.resolve(result.data)}else{request.reject(new Error(result.reason))}return}case"move-lock-request":{if(!this.isMaster){throw new Error(`Workers are not supposed to receive move lock requests!`)}const request=message;const result={type:"lock-result",id:request.id,from:this.id,to:request.from,ok:true,data:undefined};try{let movedLock;const lockRequest=this._locks.find((r=>{var _a;return((_a=r.lock)===null||_a===void 0?void 0:_a.id)===request.data.id}));if(request.data.move_to==="parent"){movedLock=await lockRequest.lock.moveToParent()}else{throw new Error(`Unknown lock move_to "${request.data.move_to}"`)}lockRequest.lock=movedLock;result.data={id:movedLock.id,path:movedLock.path,tid:movedLock.tid,write:movedLock.forWriting,expires:movedLock.expires,comment:movedLock.comment}}catch(err){result.ok=false;result.reason=err.stack||err.message||err}return this.sendMessage(result)}case"notification":{return this.emit("notification",message)}case"request":{return this.emit("request",message)}case"result":{const result=message;const request=this._requests.get(result.id);if(typeof request!=="object"){throw new Error(`Result of unknown request received`)}if(result.ok){request.resolve(result.data)}else{request.reject(new Error(result.reason))}}}}async lock(details){if(this._exiting){const tidApproved=this._locks.find((l=>l.tid===details.tid&&l.granted));if(!tidApproved){throw new AceBaseIPCPeerExitingError("new transaction lock denied because the IPC peer is exiting")}}const removeLock=lockDetails=>{this._locks.splice(this._locks.indexOf(lockDetails),1);if(this._locks.length===0){this.emit("locks-cleared")}};if(this.isMaster){const lockInfo={tid:details.tid,granted:false,request:details,lock:null};this._locks.push(lockInfo);const lock=await this._nodeLocker.lock(details.path,details.tid,details.write,details.comment);lockInfo.tid=lock.tid;lockInfo.granted=true;const createIPCLock=lock=>({get id(){return lock.id},get tid(){return lock.tid},get path(){return lock.path},get forWriting(){return lock.forWriting},get expires(){return lock.expires},get comment(){return lock.comment},get state(){return lock.state},release:async()=>{await lock.release();removeLock(lockInfo)},moveToParent:async()=>{const parentLock=await lock.moveToParent();lockInfo.lock=createIPCLock(parentLock);return lockInfo.lock}});lockInfo.lock=createIPCLock(lock);return lockInfo.lock}else{const lockInfo={tid:details.tid,granted:false,request:details,lock:null};this._locks.push(lockInfo);const createIPCLock=result=>{lockInfo.granted=true;lockInfo.tid=result.tid;lockInfo.lock={id:result.id,tid:result.tid,path:result.path,forWriting:result.write,state:node_lock_1.LOCK_STATE.LOCKED,expires:result.expires,comment:result.comment,release:async()=>{const req={type:"unlock-request",id:acebase_core_1.ID.generate(),from:this.id,to:this.masterPeerId,data:{id:lockInfo.lock.id}};await this.request(req);lockInfo.lock.state=node_lock_1.LOCK_STATE.DONE;this.storage.debug.verbose(`Worker ${this.id} released lock ${lockInfo.lock.id} (tid ${lockInfo.lock.tid}, ${lockInfo.lock.comment}, "/${lockInfo.lock.path}", ${lockInfo.lock.forWriting?"write":"read"})`);removeLock(lockInfo)},moveToParent:async()=>{const req={type:"move-lock-request",id:acebase_core_1.ID.generate(),from:this.id,to:this.masterPeerId,data:{id:lockInfo.lock.id,move_to:"parent"}};let result;try{result=await this.request(req)}catch(err){lockInfo.lock.state=node_lock_1.LOCK_STATE.DONE;removeLock(lockInfo);throw err}lockInfo.lock=createIPCLock(result);return lockInfo.lock}};return lockInfo.lock};const req={type:"lock-request",id:acebase_core_1.ID.generate(),from:this.id,to:this.masterPeerId,data:details};let result,err;try{result=await this.request(req)}catch(e){err=e;result=null}if(err){removeLock(lockInfo);throw err}return createIPCLock(result)}}async request(req){let resolve,reject;const promise=new Promise(((rs,rj)=>{resolve=result=>{this._requests.delete(req.id);rs(result)};reject=err=>{this._requests.delete(req.id);rj(err)}}));this._requests.set(req.id,{resolve:resolve,reject:reject,request:req});this.sendMessage(req);return promise}sendRequest(request){const req={type:"request",from:this.id,to:this.masterPeerId,id:acebase_core_1.ID.generate(),data:request};return this.request(req).catch((err=>{this.storage.debug.error(err);throw err}))}replyRequest(requestMessage,result){const reply={type:"result",id:requestMessage.id,ok:true,from:this.id,to:requestMessage.from,data:result};this.sendMessage(reply)}sendNotification(notification){const msg={type:"notification",from:this.id,data:notification};this.sendMessage(msg)}get eventsEnabled(){return this._eventsEnabled}set eventsEnabled(enabled){this.storage.debug.log(`ipc events ${enabled?"enabled":"disabled"}`);this._eventsEnabled=enabled}}exports.AceBaseIPCPeer=AceBaseIPCPeer},{"../node-lock":38,"acebase-core":12}],35:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.RemovedNodeAddress=exports.NodeAddress=void 0;class NodeAddress{constructor(path){this.path=path}toString(){return`"/${this.path}"`}equals(address){return this.path===address.path}}exports.NodeAddress=NodeAddress;class RemovedNodeAddress extends NodeAddress{constructor(path){super(path)}toString(){return`"/${this.path}" (removed)`}equals(address){return address instanceof RemovedNodeAddress&&this.path===address.path}}exports.RemovedNodeAddress=RemovedNodeAddress},{}],36:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.NodeRevisionError=exports.NodeNotFoundError=void 0;class NodeNotFoundError extends Error{}exports.NodeNotFoundError=NodeNotFoundError;class NodeRevisionError extends Error{}exports.NodeRevisionError=NodeRevisionError},{}],37:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.NodeInfo=void 0;const node_value_types_1=require("./node-value-types");const acebase_core_1=require("acebase-core");class NodeInfo{constructor(info){this.path=info.path;this.type=info.type;this.index=info.index;this.key=info.key;this.exists=info.exists;this.address=info.address;this.value=info.value;this.childCount=info.childCount;if(typeof this.path==="string"&&(typeof this.key==="undefined"&&typeof this.index==="undefined")){const pathInfo=acebase_core_1.PathInfo.get(this.path);if(typeof pathInfo.key==="number"){this.index=pathInfo.key}else{this.key=pathInfo.key}}if(typeof this.exists==="undefined"){this.exists=true}}get valueType(){return this.type}get valueTypeName(){return(0,node_value_types_1.getValueTypeName)(this.valueType)}toString(){if(!this.exists){return`"${this.path}" doesn't exist`}if(this.address){return`"${this.path}" is ${this.valueTypeName} stored at ${this.address.toString()}`}else{return`"${this.path}" is ${this.valueTypeName} with value ${this.value}`}}}exports.NodeInfo=NodeInfo},{"./node-value-types":39,"acebase-core":12}],38:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.NodeLock=exports.NodeLocker=exports.LOCK_STATE=void 0;const acebase_core_1=require("acebase-core");const DEBUG_MODE=false;const DEFAULT_LOCK_TIMEOUT=120;exports.LOCK_STATE={PENDING:"pending",LOCKED:"locked",EXPIRED:"expired",DONE:"done"};class NodeLocker{constructor(debug,lockTimeout=DEFAULT_LOCK_TIMEOUT){this._locks=[];this._lastTid=0;this.debug=debug;this.timeout=lockTimeout*1e3}setTimeout(timeout){this.timeout=timeout*1e3}createTid(){return DEBUG_MODE?++this._lastTid:acebase_core_1.ID.generate()}_allowLock(path,tid,forWriting){const conflict=this._locks.find((otherLock=>otherLock.tid!==tid&&otherLock.state===exports.LOCK_STATE.LOCKED&&(forWriting||otherLock.forWriting)));return{allow:!conflict,conflict:conflict}}quit(){return new Promise((resolve=>{if(this._locks.length===0){return resolve()}this._quit=resolve}))}_rejectLock(lock,err){this._locks.splice(this._locks.indexOf(lock),1);clearTimeout(lock.timeout);try{lock.reject(err)}catch(err){console.error(`Unhandled promise rejection:`,err)}}_processLockQueue(){if(this._quit){const quitError=new Error("Quitting");this._locks.filter((lock=>lock.state===exports.LOCK_STATE.PENDING)).forEach((lock=>this._rejectLock(lock,quitError)));if(this._locks.length===0){this._quit()}}const pending=this._locks.filter((lock=>lock.state===exports.LOCK_STATE.PENDING)).sort(((a,b)=>{if(a.priority&&!b.priority){return-1}else if(!a.priority&&b.priority){return 1}return a.requested-b.requested}));pending.forEach((lock=>{const check=this._allowLock(lock.path,lock.tid,lock.forWriting);lock.waitingFor=check.conflict||null;if(check.allow){this.lock(lock).then(lock.resolve).catch((err=>this._rejectLock(lock,err)))}}))}async lock(path,tid,forWriting=true,comment="",options={withPriority:false,noTimeout:false}){let lock,proceed;if(path instanceof NodeLock){lock=path;proceed=true}else if(this._locks.findIndex((l=>l.tid===tid&&l.state===exports.LOCK_STATE.EXPIRED))>=0){throw new Error(`lock on tid ${tid} has expired, not allowed to continue`)}else if(this._quit&&!options.withPriority){throw new Error(`Quitting`)}else{DEBUG_MODE&&console.error(`${forWriting?"write":"read"} lock requested on "${path}" by tid ${tid} (${comment})`);lock=new NodeLock(this,path,tid,forWriting,options.withPriority===true);lock.comment=comment;this._locks.push(lock);const check=this._allowLock(path,tid,forWriting);lock.waitingFor=check.conflict||null;proceed=check.allow}if(proceed){DEBUG_MODE&&console.error(`${lock.forWriting?"write":"read"} lock ALLOWED on "${lock.path}" by tid ${lock.tid} (${lock.comment})`);lock.state=exports.LOCK_STATE.LOCKED;if(typeof lock.granted==="number"){}else{lock.granted=Date.now();if(options.noTimeout!==true){lock.expires=Date.now()+this.timeout;let timeoutCount=0;const timeoutHandler=()=>{if(lock.state!==exports.LOCK_STATE.LOCKED){return}timeoutCount++;if(timeoutCount<=3){this.debug.warn(`${lock.forWriting?"write":"read"} lock on path "/${lock.path}" by tid ${lock.tid} (${lock.comment}) is taking a long time to complete [${timeoutCount}]`);lock.timeout=setTimeout(timeoutHandler,this.timeout/4);return}this.debug.error(`lock :: ${lock.forWriting?"write":"read"} lock on path "/${lock.path}" by tid ${lock.tid} (${lock.comment}) took too long`);lock.state=exports.LOCK_STATE.EXPIRED;this._processLockQueue()};lock.timeout=setTimeout(timeoutHandler,this.timeout/4)}}return lock}else{console.assert(lock.state===exports.LOCK_STATE.PENDING);return new Promise(((resolve,reject)=>{lock.resolve=resolve;lock.reject=reject}))}}unlock(lockOrId,comment,processQueue=true){let lock,i;if(lockOrId instanceof NodeLock){lock=lockOrId;i=this._locks.indexOf(lock)}else{const id=lockOrId;i=this._locks.findIndex((l=>l.id===id));lock=this._locks[i]}if(i<0){const msg=`lock on "/${lock.path}" for tid ${lock.tid} wasn't found; ${comment}`;throw new Error(msg)}lock.state=exports.LOCK_STATE.DONE;clearTimeout(lock.timeout);this._locks.splice(i,1);DEBUG_MODE&&console.error(`${lock.forWriting?"write":"read"} lock RELEASED on "${lock.path}" by tid ${lock.tid}`);processQueue&&this._processLockQueue();return lock}list(){return this._locks||[]}isAllowed(path,tid,forWriting){return this._allowLock(path,tid,forWriting).allow}}exports.NodeLocker=NodeLocker;let lastid=0;class NodeLock{constructor(locker,path,tid,forWriting,priority=false){this.locker=locker;this.path=path;this.tid=tid;this.forWriting=forWriting;this.priority=priority;this.state=exports.LOCK_STATE.PENDING;this.requested=Date.now();this.comment="";this.waitingFor=null;this.id=++lastid;this.history=[]}static get LOCK_STATE(){return exports.LOCK_STATE}async release(comment){this.history.push({action:"release",path:this.path,forWriting:this.forWriting,comment:comment});return this.locker.unlock(this,comment||this.comment)}async moveToParent(){const parentPath=acebase_core_1.PathInfo.get(this.path).parentPath;const allowed=this.locker.isAllowed(parentPath,this.tid,this.forWriting);if(allowed){DEBUG_MODE&&console.error(`moveToParent ALLOWED for ${this.forWriting?"write":"read"} lock on "${this.path}" by tid ${this.tid} (${this.comment})`);this.history.push({path:this.path,forWriting:this.forWriting,action:"moving to parent"});this.waitingFor=null;this.path=parentPath;return this}else{DEBUG_MODE&&console.error(`moveToParent QUEUED for ${this.forWriting?"write":"read"} lock on "${this.path}" by tid ${this.tid} (${this.comment})`);this.locker.unlock(this,`moveLockToParent: ${this.comment}`,false);const newLock=await this.locker.lock(parentPath,this.tid,this.forWriting,this.comment,{withPriority:true});DEBUG_MODE&&console.error(`QUEUED moveToParent ALLOWED for ${this.forWriting?"write":"read"} lock on "${this.path}" by tid ${this.tid} (${this.comment})`);newLock.history=this.history;newLock.history.push({path:this.path,forWriting:this.forWriting,action:"moving to parent through queue (priority)"});return newLock}}}exports.NodeLock=NodeLock},{"acebase-core":12}],39:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getValueType=exports.getNodeValueType=exports.getValueTypeName=exports.VALUE_TYPES=void 0;const acebase_core_1=require("acebase-core");exports.VALUE_TYPES=Object.freeze({OBJECT:1,ARRAY:2,NUMBER:3,BOOLEAN:4,STRING:5,BIGINT:7,DATETIME:6,BINARY:8,REFERENCE:9});function getValueTypeName(valueType){switch(valueType){case exports.VALUE_TYPES.ARRAY:return"array";case exports.VALUE_TYPES.BINARY:return"binary";case exports.VALUE_TYPES.BOOLEAN:return"boolean";case exports.VALUE_TYPES.DATETIME:return"date";case exports.VALUE_TYPES.NUMBER:return"number";case exports.VALUE_TYPES.OBJECT:return"object";case exports.VALUE_TYPES.REFERENCE:return"reference";case exports.VALUE_TYPES.STRING:return"string";case exports.VALUE_TYPES.BIGINT:return"bigint";default:"unknown"}}exports.getValueTypeName=getValueTypeName;function getNodeValueType(value){if(value instanceof Array){return exports.VALUE_TYPES.ARRAY}else if(value instanceof acebase_core_1.PathReference){return exports.VALUE_TYPES.REFERENCE}else if(value instanceof ArrayBuffer){return exports.VALUE_TYPES.BINARY}else if(typeof value==="string"){return exports.VALUE_TYPES.STRING}else if(typeof value==="object"){return exports.VALUE_TYPES.OBJECT}else if(typeof value==="bigint"){return exports.VALUE_TYPES.BIGINT}throw new Error(`Invalid value for standalone node: ${value}`)}exports.getNodeValueType=getNodeValueType;function getValueType(value){if(value instanceof Array){return exports.VALUE_TYPES.ARRAY}else if(value instanceof acebase_core_1.PathReference){return exports.VALUE_TYPES.REFERENCE}else if(value instanceof ArrayBuffer){return exports.VALUE_TYPES.BINARY}else if(value instanceof Date){return exports.VALUE_TYPES.DATETIME}else if(typeof value==="string"){return exports.VALUE_TYPES.STRING}else if(typeof value==="object"){return exports.VALUE_TYPES.OBJECT}else if(typeof value==="number"){return exports.VALUE_TYPES.NUMBER}else if(typeof value==="boolean"){return exports.VALUE_TYPES.BOOLEAN}else if(typeof value==="bigint"){return exports.VALUE_TYPES.BIGINT}throw new Error(`Unknown value type: ${value}`)}exports.getValueType=getValueType},{"acebase-core":12}],40:[function(require,module,exports){},{}],41:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.pfs=void 0;class pfs{static get hasFileSystem(){return false}static get fs(){return null}}exports.pfs=pfs},{}],42:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.query=void 0;const acebase_core_1=require("acebase-core");const node_value_types_1=require("./node-value-types");const node_errors_1=require("./node-errors");const data_index_1=require("./data-index");const async_task_batch_1=require("./async-task-batch");const noop=()=>{};function query(api,path,query,options={snapshots:false,include:undefined,exclude:undefined,child_objects:undefined,eventHandler:noop}){var _a;if(typeof options!=="object"){options={}}if(typeof options.snapshots==="undefined"){options.snapshots=false}const context={};if((_a=api.storage.settings.transactions)===null||_a===void 0?void 0:_a.log){context.acebase_cursor=acebase_core_1.ID.generate()}const queryFilters=query.filters.map((f=>Object.assign({},f)));const querySort=query.order.map((s=>Object.assign({},s)));const sortMatches=matches=>{matches.sort(((a,b)=>{const compare=i=>{const o=querySort[i];const trailKeys=acebase_core_1.PathInfo.getPathKeys(typeof o.key==="number"?`[${o.key}]`:o.key);const left=trailKeys.reduce(((val,key)=>val!==null&&typeof val==="object"&&key in val?val[key]:null),a.val);const right=trailKeys.reduce(((val,key)=>val!==null&&typeof val==="object"&&key in val?val[key]:null),b.val);if(left===null){return right===null?0:o.ascending?-1:1}if(right===null){return o.ascending?1:-1}if(left==right){if(i{if(preResults.length===0){return[]}const maxBatchSize=50;const batch=new async_task_batch_1.AsyncTaskBatch(maxBatchSize);const results=[];preResults.forEach((({path:path},index)=>batch.add((async()=>{const node=await api.storage.getNode(path,options);const val=node.value;if(val===null){api.storage.debug.warn(`Indexed result "/${path}" does not have a record!`);return}const result={path:path,val:val};if(stepsExecuted.sorted){results[index]=result}else{results.push(result);if(!stepsExecuted.skipped&&results.length>query.skip+Math.abs(query.take)){sortMatches(results);results.pop()}}}))));await batch.finish();return results};const pathInfo=acebase_core_1.PathInfo.get(path);const isWildcardPath=pathInfo.keys.some((key=>key==="*"||key.toString().startsWith("$")));const availableIndexes=api.storage.indexes.get(path);const usingIndexes=[];if(isWildcardPath){if(availableIndexes.length===0){const err=new Error(`Query on wildcard path "/${path}" requires an index`);return Promise.reject(err)}if(queryFilters.length===0){const index=availableIndexes.filter((index=>index.type==="normal"))[0];queryFilters.push({key:index.key,op:"!=",compare:null})}}queryFilters.forEach((filter=>{if(filter.index){return}const indexesOnKey=availableIndexes.filter((index=>index.key===filter.key)).filter((index=>index.validOperators.includes(filter.op)));if(indexesOnKey.length>=1){const otherFilterKeys=queryFilters.filter((f=>f!==filter)).map((f=>f.key));const sortKeys=querySort.map((o=>o.key)).filter((key=>key!==filter.key));const beneficialIndexes=indexesOnKey.map((index=>{const availableKeys=index.includeKeys.concat(index.key);const forOtherFilters=availableKeys.filter((key=>otherFilterKeys.includes(key)));const forSorting=availableKeys.filter((key=>sortKeys.includes(key)));const forBoth=forOtherFilters.concat(forSorting.filter((index=>!forOtherFilters.includes(index))));const points={filters:forOtherFilters.length,sorting:forSorting.length*(query.take!==0?forSorting.length:1),both:forBoth.length*forBoth.length,get total(){return this.filters+this.sorting+this.both}};return{index:index,points:points.total,filterKeys:forOtherFilters,sortKeys:forSorting}}));beneficialIndexes.sort(((a,b)=>a.points>b.points?-1:1));const bestBenificialIndex=beneficialIndexes[0];filter.index=bestBenificialIndex.index;bestBenificialIndex.filterKeys.forEach((key=>{queryFilters.filter((f=>f!==filter&&f.key===key)).forEach((f=>{if(!data_index_1.DataIndex.validOperators.includes(f.op)){return}f.indexUsage="filter";f.index=bestBenificialIndex.index}))}));bestBenificialIndex.sortKeys.forEach((key=>{querySort.filter((s=>s.key===key)).forEach((s=>{s.index=bestBenificialIndex.index}))}))}if(filter.index){usingIndexes.push({index:filter.index,description:filter.index.description})}}));if(querySort.length>0&&query.take!==0&&queryFilters.length===0){querySort.forEach((sort=>{if(sort.index){return}sort.index=availableIndexes.filter((index=>index.key===sort.key)).find((index=>index.type==="normal"))}))}const indexDescriptions=usingIndexes.map((index=>index.description)).join(", ");usingIndexes.length>0&&api.storage.debug.log(`Using indexes for query: ${indexDescriptions}`);const tableScanFilters=queryFilters.filter((filter=>!filter.index));const specialOpsRegex=/^[a-z]+:/i;if(tableScanFilters.some((filter=>specialOpsRegex.test(filter.op)))){const f=tableScanFilters.find((filter=>specialOpsRegex.test(filter.op)));const err=new Error(`query contains operator "${f.op}" which requires a special index that was not found on path "${path}", key "${f.key}"`);return Promise.reject(err)}const allowedTableScanOperators=["<","<=","==","!=",">=",">","like","!like","in","!in","matches","!matches","between","!between","has","!has","contains","!contains","exists","!exists"];for(let i=0;i0){const keys=tableScanFilters.reduce(((keys,f)=>{if(keys.indexOf(f.key)<0){keys.push(f.key)}return keys}),[]).map((key=>`"${key}"`));const err=new Error(`This wildcard path query on "/${path}" requires index(es) on key(s): ${keys.join(", ")}. Create the index(es) and retry`);return Promise.reject(err)}const indexScanPromises=[];queryFilters.forEach((filter=>{if(filter.index&&filter.indexUsage!=="filter"){let promise=filter.index.query(filter.op,filter.compare).then((results=>{options.eventHandler&&options.eventHandler({name:"stats",type:"index_query",source:filter.index.description,stats:results.stats});if(results.hints.length>0){options.eventHandler&&options.eventHandler({name:"hints",type:"index_query",source:filter.index.description,hints:results.hints})}return results}));const resultFilters=queryFilters.filter((f=>f.index===filter.index&&f.indexUsage==="filter"));if(resultFilters.length>0){promise=promise.then((results=>{resultFilters.forEach((filter=>{const{key:key,op:op,index:index}=filter;let{compare:compare}=filter;if(typeof compare==="string"&&!index.caseSensitive){compare=compare.toLocaleLowerCase(index.textLocale)}results=results.filterMetadata(key,op,compare)}));return results}))}indexScanPromises.push(promise)}}));const stepsExecuted={filtered:queryFilters.length===0,skipped:query.skip===0,taken:query.take===0,sorted:querySort.length===0,preDataLoaded:false,dataLoaded:false};if(queryFilters.length===0&&query.take===0){api.storage.debug.warn(`Filterless queries must use .take to limit the results. Defaulting to 100 for query on path "${path}"`);query.take=100}if(querySort.length>0&&querySort[0].index){const sortIndex=querySort[0].index;const ascending=query.take<0?!querySort[0].ascending:querySort[0].ascending;if(queryFilters.length===0&&querySort.slice(1).every((s=>sortIndex.allMetadataKeys.includes(s.key)))){api.storage.debug.log(`Using index for sorting: ${sortIndex.description}`);const metadataSort=querySort.slice(1).map((s=>{s.index=sortIndex;return{key:s.key,ascending:s.ascending}}));const promise=sortIndex.take(query.skip,Math.abs(query.take),{ascending:ascending,metadataSort:metadataSort}).then((results=>{options.eventHandler&&options.eventHandler({name:"stats",type:"sort_index_take",source:sortIndex.description,stats:results.stats});if(results.hints.length>0){options.eventHandler&&options.eventHandler({name:"hints",type:"sort_index_take",source:sortIndex.description,hints:results.hints})}return results}));indexScanPromises.push(promise);stepsExecuted.skipped=true;stepsExecuted.taken=true;stepsExecuted.sorted=true}}return Promise.all(indexScanPromises).then((async indexResultSets=>{let indexedResults=[];if(indexResultSets.length===1){const resultSet=indexResultSets[0];indexedResults=resultSet.map((match=>{const result={key:match.key,path:match.path,val:{[resultSet.filterKey]:match.value}};match.metadata&&Object.assign(result.val,match.metadata);return result}));stepsExecuted.filtered=true}else if(indexResultSets.length>1){indexResultSets.sort(((a,b)=>a.length{const result={key:match.key,path:match.path,val:{[shortestSet.filterKey]:match.value}};const matchedInAllSets=otherSets.every((set=>set.findIndex((m=>m.path===match.path))>=0));if(matchedInAllSets){match.metadata&&Object.assign(result.val,match.metadata);otherSets.forEach((set=>{const otherResult=set.find((r=>r.path===result.path));result.val[set.filterKey]=otherResult.value;otherResult.metadata&&Object.assign(result.val,otherResult.metadata)}));results.push(result)}return results}),[]);stepsExecuted.filtered=true}if(isWildcardPath||indexScanPromises.length>0&&tableScanFilters.length===0){if(querySort.length===0||querySort.every((o=>o.index))){stepsExecuted.preDataLoaded=true;if(!stepsExecuted.sorted&&querySort.length>0){sortMatches(indexedResults)}stepsExecuted.sorted=true;if(!stepsExecuted.skipped&&query.skip>0){indexedResults=query.take<0?indexedResults.slice(0,-query.skip):indexedResults.slice(query.skip)}if(!stepsExecuted.taken&&query.take!==0){indexedResults=query.take<0?indexedResults.slice(query.take):indexedResults.slice(0,query.take)}stepsExecuted.skipped=true;stepsExecuted.taken=true;if(!options.snapshots){return indexedResults}const childOptions={include:options.include,exclude:options.exclude,child_objects:options.child_objects};return loadResultsData(indexedResults,childOptions).then((results=>{stepsExecuted.dataLoaded=true;return results}))}if(options.snapshots||!stepsExecuted.sorted){const loadPartialResults=querySort.length>0;const childOptions=loadPartialResults?{include:querySort.map((order=>order.key))}:{include:options.include,exclude:options.exclude,child_objects:options.child_objects};return loadResultsData(indexedResults,childOptions).then((results=>{if(querySort.length>0){sortMatches(results)}stepsExecuted.sorted=true;if(query.skip>0){results=query.take<0?results.slice(0,-query.skip):results.slice(query.skip)}if(query.take!==0){results=query.take<0?results.slice(query.take):results.slice(0,query.take)}stepsExecuted.skipped=true;stepsExecuted.taken=true;if(options.snapshots&&loadPartialResults){return loadResultsData(results,{include:options.include,exclude:options.exclude,child_objects:options.child_objects})}return results}))}else{return indexedResults}}let indexKeyFilter;if(indexedResults.length>0){indexKeyFilter=indexedResults.map((result=>result.key))}let matches=[];let preliminaryStop=false;const loadPartialData=querySort.length>0;const childOptions=loadPartialData?{include:querySort.map((order=>order.key))}:{include:options.include,exclude:options.exclude,child_objects:options.child_objects};const batch={promises:[],add(promise){this.promises.push(promise);if(this.promises.length>=1e3){return Promise.all(this.promises.splice(0)).then((_=>undefined))}}};try{await api.storage.getChildren(path,{keyFilter:indexKeyFilter,async:true}).next((child=>{if(child.type!==node_value_types_1.VALUE_TYPES.OBJECT){return}if(!child.address){return}if(preliminaryStop){return false}const matchNode=async()=>{const isMatch=await api.storage.matchNode(child.address.path,tableScanFilters);if(!isMatch){return}const childPath=child.address.path;let result;if(options.snapshots||querySort.length>0){const node=await api.storage.getNode(childPath,childOptions);result={path:childPath,val:node.value}}else{result={path:childPath}}matches.push(result);if(query.take!==0&&matches.length>Math.abs(query.take)+query.skip){if(querySort.length>0){sortMatches(matches)}else if(query.take>0){preliminaryStop=true}matches.pop()}};const p=batch.add(matchNode());if(p instanceof Promise){return p}}))}catch(reason){if(!(reason instanceof node_errors_1.NodeNotFoundError)){api.storage.debug.warn(`Error getting child stream: ${reason}`)}return[]}await Promise.all(batch.promises);stepsExecuted.preDataLoaded=loadPartialData;stepsExecuted.dataLoaded=!loadPartialData;if(querySort.length>0){sortMatches(matches)}stepsExecuted.sorted=true;if(query.skip>0){matches=query.take<0?matches.slice(0,-query.skip):matches.slice(query.skip)}stepsExecuted.skipped=true;if(query.take!==0){matches=query.take<0?matches.slice(query.take):matches.slice(0,query.take)}stepsExecuted.taken=true;if(!stepsExecuted.dataLoaded){matches=await loadResultsData(matches,{include:options.include,exclude:options.exclude,child_objects:options.child_objects});stepsExecuted.dataLoaded=true}return matches})).then((matches=>{if(!stepsExecuted.sorted&&querySort.length>0){sortMatches(matches)}if(!options.snapshots){matches=matches.map((match=>match.path))}if(!stepsExecuted.skipped&&query.skip>0){matches=query.take<0?matches.slice(0,-query.skip):matches.slice(query.skip)}if(!stepsExecuted.taken&&query.take!==0){matches=query.take<0?matches.slice(query.take):matches.slice(0,query.take)}if(options.monitor===true){options.monitor={add:true,change:true,remove:true}}let stop=async()=>{};if(typeof options.monitor==="object"&&(options.monitor.add||options.monitor.change||options.monitor.remove)){const matchedPaths=options.snapshots?matches.map((match=>match.path)):matches.slice();const ref=api.db.ref(path);const removeMatch=path=>{const index=matchedPaths.indexOf(path);if(index<0){return}matchedPaths.splice(index,1)};const addMatch=path=>{if(matchedPaths.includes(path)){return}matchedPaths.push(path)};const stopMonitoring=()=>{api.unsubscribe(ref.path,"child_changed",childChangedCallback);api.unsubscribe(ref.path,"child_added",childAddedCallback);api.unsubscribe(ref.path,"notify_child_removed",childRemovedCallback)};stop=async()=>{stopMonitoring()};const childChangedCallback=async(err,path,newValue,oldValue)=>{const wasMatch=matchedPaths.includes(path);let keepMonitoring=true;const checkKeys=[];queryFilters.forEach((f=>!checkKeys.includes(f.key)&&checkKeys.push(f.key)));const seenKeys=[];typeof oldValue==="object"&&Object.keys(oldValue).forEach((key=>!seenKeys.includes(key)&&seenKeys.push(key)));typeof newValue==="object"&&Object.keys(newValue).forEach((key=>!seenKeys.includes(key)&&seenKeys.push(key)));const missingKeys=[];let isMatch=seenKeys.every((key=>{if(!checkKeys.includes(key)){return true}const filters=queryFilters.filter((filter=>filter.key===key));return filters.every((filter=>{var _a;if(((_a=filter.index)===null||_a===void 0?void 0:_a.textLocaleKey)&&!seenKeys.includes(filter.index.textLocaleKey)){missingKeys.push(filter.index.textLocaleKey);return true}else if(allowedTableScanOperators.includes(filter.op)){return api.storage.test(newValue[key],filter.op,filter.compare)}else{return filter.index.test(newValue,filter.op,filter.compare)}}))}));if(isMatch){missingKeys.push(...checkKeys.filter((key=>!seenKeys.includes(key))));if(!wasMatch&&missingKeys.length>0){const filterQueue=queryFilters.filter((f=>missingKeys.includes(f.key)));const simpleFilters=filterQueue.filter((f=>allowedTableScanOperators.includes(f.op)));const indexFilters=filterQueue.filter((f=>!allowedTableScanOperators.includes(f.op)));if(simpleFilters.length>0){isMatch=await api.storage.matchNode(path,simpleFilters)}if(isMatch&&indexFilters.length>0){const keysToLoad=indexFilters.reduce(((keys,filter)=>{if(!keys.includes(filter.key)){keys.push(filter.key)}if(filter.index instanceof data_index_1.FullTextIndex&&filter.index.config.localeKey&&!keys.includes(filter.index.config.localeKey)){keys.push(filter.index.config.localeKey)}return keys}),[]);const node=await api.storage.getNode(path,{include:keysToLoad});if(node.value===null){return false}isMatch=indexFilters.every((filter=>filter.index.test(node.value,filter.op,filter.compare)))}}}if(isMatch){if(!wasMatch){addMatch(path)}if(options.snapshots){const loadOptions={include:options.include,exclude:options.exclude,child_objects:options.child_objects};const node=await api.storage.getNode(path,loadOptions);newValue=node.value}if(wasMatch&&options.monitor.change){keepMonitoring=options.eventHandler({name:"change",path:path,value:newValue})!==false}else if(!wasMatch&&options.monitor.add){keepMonitoring=options.eventHandler({name:"add",path:path,value:newValue})!==false}}else if(wasMatch){removeMatch(path);if(options.monitor.remove){keepMonitoring=options.eventHandler({name:"remove",path:path,value:oldValue})!==false}}if(keepMonitoring===false){stopMonitoring()}};const childAddedCallback=(err,path,newValue)=>{const isMatch=queryFilters.every((filter=>{if(allowedTableScanOperators.includes(filter.op)){return api.storage.test(newValue[filter.key],filter.op,filter.compare)}else{return filter.index.test(newValue,filter.op,filter.compare)}}));let keepMonitoring=true;if(isMatch){addMatch(path);if(options.monitor.add){keepMonitoring=options.eventHandler({name:"add",path:path,value:options.snapshots?newValue:null})!==false}}if(keepMonitoring===false){stopMonitoring()}};const childRemovedCallback=(err,path,newValue,oldValue)=>{let keepMonitoring=true;removeMatch(path);if(options.monitor.remove){keepMonitoring=options.eventHandler({name:"remove",path:path,value:options.snapshots?oldValue:null})!==false}if(keepMonitoring===false){stopMonitoring()}};if(options.monitor.add||options.monitor.change||options.monitor.remove){api.subscribe(ref.path,"child_changed",childChangedCallback)}if(options.monitor.remove){api.subscribe(ref.path,"notify_child_removed",childRemovedCallback)}if(options.monitor.add){api.subscribe(ref.path,"child_added",childAddedCallback)}}return{results:matches,context:context,stop:stop}}))}exports.query=query},{"./async-task-batch":31,"./data-index":40,"./node-errors":36,"./node-value-types":39,"acebase-core":12}],43:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createIndex=void 0;const acebase_core_1=require("acebase-core");const data_index_1=require("../data-index");const promise_fs_1=require("../promise-fs");async function createIndex(context,path,key,options){if(!context.storage.indexes.supported){throw new Error("Indexes are not supported in current environment because it requires Node.js fs")}const{ipc:ipc,debug:debug,indexes:indexes,storage:storage}=context;const rebuild=options&&options.rebuild===true;const indexType=options&&options.type||"normal";let includeKeys=options&&options.include||[];if(typeof includeKeys==="string"){includeKeys=[includeKeys]}const existingIndex=indexes.find((index=>index.path===path&&index.key===key&&index.type===indexType&&index.includeKeys.length===includeKeys.length&&index.includeKeys.every(((key,index)=>includeKeys[index]===key))));if(existingIndex&&options.config){existingIndex.config=options.config}if(existingIndex&&rebuild!==true){debug.log(`Index on "/${path}/*/${key}" already exists`.colorize(acebase_core_1.ColorStyle.inverse));return existingIndex}if(!ipc.isMaster){const result=await ipc.sendRequest({type:"index.create",path:path,key:key,options:options});if(result.ok){return this.add(result.fileName)}throw new Error(result.reason)}await promise_fs_1.pfs.mkdir(`${storage.settings.path}/${storage.name}.acebase`).catch((err=>{if(err.code!=="EEXIST"){throw err}}));const index=existingIndex||(()=>{const{include:include,caseSensitive:caseSensitive,textLocale:textLocale,textLocaleKey:textLocaleKey}=options;const indexOptions={include:include,caseSensitive:caseSensitive,textLocale:textLocale,textLocaleKey:textLocaleKey};switch(indexType){case"array":return new data_index_1.ArrayIndex(storage,path,key,Object.assign({},indexOptions));case"fulltext":return new data_index_1.FullTextIndex(storage,path,key,Object.assign(Object.assign({},indexOptions),{config:options.config}));case"geo":return new data_index_1.GeoIndex(storage,path,key,Object.assign({},indexOptions));default:return new data_index_1.DataIndex(storage,path,key,Object.assign({},indexOptions))}})();if(!existingIndex){indexes.push(index)}try{await index.build()}catch(err){context.debug.error(`Index build on "/${path}/*/${key}" failed: ${err.message} (code: ${err.code})`.colorize(acebase_core_1.ColorStyle.red));if(!existingIndex){indexes.splice(indexes.indexOf(index),1)}throw err}ipc.sendNotification({type:"index.created",fileName:index.fileName,path:path,key:key,options:options});return index}exports.createIndex=createIndex},{"../data-index":40,"../promise-fs":41,"acebase-core":12}],44:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.CustomStorageHelpers=void 0;const acebase_core_1=require("acebase-core");class CustomStorageHelpers{static ChildPathsSql(path,columnName="path"){const where=path===""?`${columnName} <> '' AND ${columnName} NOT LIKE '%/%'`:`(${columnName} LIKE '${path}/%' OR ${columnName} LIKE '${path}[%') AND ${columnName} NOT LIKE '${path}/%/%' AND ${columnName} NOT LIKE '${path}[%]/%' AND ${columnName} NOT LIKE '${path}[%][%'`;return where}static ChildPathsRegex(path){return new RegExp(`^${path}(?:/[^/[]+|\\[[0-9]+\\])$`)}static DescendantPathsSql(path,columnName="path"){const where=path===""?`${columnName} <> ''`:`${columnName} LIKE '${path}/%' OR ${columnName} LIKE '${path}[%'`;return where}static DescendantPathsRegex(path){return new RegExp(`^${path}(?:/[^/[]+|\\[[0-9]+\\])`)}static get PathInfo(){return acebase_core_1.PathInfo}}exports.CustomStorageHelpers=CustomStorageHelpers},{"acebase-core":12}],45:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.CustomStorage=exports.CustomStorageNodeInfo=exports.CustomStorageNodeAddress=exports.CustomStorageSettings=exports.CustomStorageTransaction=exports.ICustomStorageNode=exports.ICustomStorageNodeMetaData=exports.CustomStorageHelpers=void 0;const acebase_core_1=require("acebase-core");const{compareValues:compareValues}=acebase_core_1.Utils;const node_info_1=require("../../node-info");const node_lock_1=require("../../node-lock");const node_value_types_1=require("../../node-value-types");const node_errors_1=require("../../node-errors");const index_1=require("../index");const helpers_1=require("./helpers");const node_address_1=require("../../node-address");var helpers_2=require("./helpers");Object.defineProperty(exports,"CustomStorageHelpers",{enumerable:true,get:function(){return helpers_2.CustomStorageHelpers}});class ICustomStorageNodeMetaData{constructor(){this.revision="";this.revision_nr=0;this.created=0;this.modified=0;this.type=0}}exports.ICustomStorageNodeMetaData=ICustomStorageNodeMetaData;class ICustomStorageNode extends ICustomStorageNodeMetaData{constructor(){super();this.value=null}}exports.ICustomStorageNode=ICustomStorageNode;class CustomStorageTransaction{constructor(target){this.production=false;this.target={get originalPath(){return target.path},path:target.path,get write(){return target.write}};this.id=acebase_core_1.ID.generate()}async getChildCount(path){let childCount=0;await this.childrenOf(path,{metadata:false,value:false},(()=>{childCount++;return false}));return childCount}async getMultiple(paths){const map=new Map;await Promise.all(paths.map((path=>this.get(path).then((val=>map.set(path,val))))));return map}async setMultiple(nodes){await Promise.all(nodes.map((({path:path,node:node})=>this.set(path,node))))}async removeMultiple(paths){await Promise.all(paths.map((path=>this.remove(path))))}async commit(){throw new Error(`CustomStorageTransaction.rollback must be overridden by subclass`)}async moveToParentPath(targetPath){const currentPath=this._lock&&this._lock.path||this.target.path;if(currentPath===targetPath){return targetPath}const pathInfo=helpers_1.CustomStorageHelpers.PathInfo.get(targetPath);if(pathInfo.isParentOf(currentPath)){if(this._lock){this._lock=await this._lock.moveToParent()}}else{throw new Error(`Locking issue. Locked path "${this._lock.path}" is not a child/descendant of "${targetPath}"`)}this.target.path=targetPath;return targetPath}}exports.CustomStorageTransaction=CustomStorageTransaction;class CustomStorageSettings extends index_1.StorageSettings{constructor(settings){super(settings);this.locking=true;if(typeof settings!=="object"){throw new Error("settings missing")}if(typeof settings.ready!=="function"){throw new Error(`ready must be a function`)}if(typeof settings.getTransaction!=="function"){throw new Error(`getTransaction must be a function`)}this.name=settings.name;this.locking=settings.locking!==false;if(this.locking){this.lockTimeout=typeof settings.lockTimeout==="number"?settings.lockTimeout:120}this.ready=settings.ready;const useLocking=this.locking;const nodeLocker=useLocking?new node_lock_1.NodeLocker(console,this.lockTimeout):null;this.getTransaction=async({path:path,write:write})=>{const transaction=await settings.getTransaction({path:path,write:write});console.assert(typeof transaction.id==="string",`transaction id not set`);const rollback=transaction.rollback;const commit=transaction.commit;transaction.commit=async()=>{const ret=await commit.call(transaction);if(useLocking){await transaction._lock.release("commit")}return ret};transaction.rollback=async reason=>{const ret=await rollback.call(transaction,reason);if(useLocking){await transaction._lock.release("rollback")}return ret};if(useLocking){transaction._lock=await nodeLocker.lock(path,transaction.id,write,`${this.name}::getTransaction`)}return transaction}}}exports.CustomStorageSettings=CustomStorageSettings;class CustomStorageNodeAddress{constructor(containerPath){this.path=containerPath}}exports.CustomStorageNodeAddress=CustomStorageNodeAddress;class CustomStorageNodeInfo extends node_info_1.NodeInfo{constructor(info){super(info);this.revision=info.revision;this.revision_nr=info.revision_nr;this.created=info.created;this.modified=info.modified}}exports.CustomStorageNodeInfo=CustomStorageNodeInfo;class CustomStorage extends index_1.Storage{constructor(dbname,settings,env){super(dbname,settings,env);this._customImplementation=settings;this._init()}async _init(){this.debug.log(`Database "${this.name}" details:`.colorize(acebase_core_1.ColorStyle.dim));this.debug.log(`- Type: CustomStorage`.colorize(acebase_core_1.ColorStyle.dim));this.debug.log(`- Path: ${this.settings.path}`.colorize(acebase_core_1.ColorStyle.dim));this.debug.log(`- Max inline value size: ${this.settings.maxInlineValueSize}`.colorize(acebase_core_1.ColorStyle.dim));this.debug.log(`- Autoremove undefined props: ${this.settings.removeVoidProperties}`.colorize(acebase_core_1.ColorStyle.dim));await this._customImplementation.ready();const transaction=await this._customImplementation.getTransaction({path:"",write:true});const info=await this.getNodeInfo("",{transaction:transaction});if(!info.exists){await this._writeNode("",{},{transaction:transaction})}await transaction.commit();if(this.indexes.supported){await this.indexes.load()}this.emit("ready")}throwImplementationError(message){throw new Error(`CustomStorage "${this._customImplementation.name}" ${message}`)}_storeNode(path,node,options){const getTypedChildValue=val=>{if(val===null){throw new Error(`Not allowed to store null values. remove the property`)}else if(["string","number","boolean"].includes(typeof val)){return val}else if(val instanceof Date){return{type:node_value_types_1.VALUE_TYPES.DATETIME,value:val.getTime()}}else if(val instanceof acebase_core_1.PathReference){return{type:node_value_types_1.VALUE_TYPES.REFERENCE,value:val.path}}else if(val instanceof ArrayBuffer){return{type:node_value_types_1.VALUE_TYPES.BINARY,value:acebase_core_1.ascii85.encode(val)}}else if(typeof val==="object"){console.assert(Object.keys(val).length===0,"child object stored in parent can only be empty");return val}};const unprocessed=`Caller should have pre-processed the value by converting it to a string`;if(node.type===node_value_types_1.VALUE_TYPES.ARRAY&&node.value instanceof Array){console.warn(`Unprocessed array. ${unprocessed}`);const obj={};for(let i=0;i{node.value[key]=getTypedChildValue(original[key])}))}return options.transaction.set(path,node)}_processReadNodeValue(node){const getTypedChildValue=val=>{if(val.type===node_value_types_1.VALUE_TYPES.BINARY){return acebase_core_1.ascii85.decode(val.value)}else if(val.type===node_value_types_1.VALUE_TYPES.DATETIME){return new Date(val.value)}else if(val.type===node_value_types_1.VALUE_TYPES.REFERENCE){return new acebase_core_1.PathReference(val.value)}else{throw new Error(`Unhandled child value type ${val.type}`)}};switch(node.type){case node_value_types_1.VALUE_TYPES.ARRAY:case node_value_types_1.VALUE_TYPES.OBJECT:{const obj=node.value;Object.keys(obj).forEach((key=>{const item=obj[key];if(typeof item==="object"&&"type"in item){obj[key]=getTypedChildValue(item)}}));node.value=obj;break}case node_value_types_1.VALUE_TYPES.BINARY:{node.value=acebase_core_1.ascii85.decode(node.value);break}case node_value_types_1.VALUE_TYPES.REFERENCE:{node.value=new acebase_core_1.PathReference(node.value);break}case node_value_types_1.VALUE_TYPES.STRING:{break}default:throw new Error(`Invalid standalone record value type`)}}async _readNode(path,options){const node=await options.transaction.get(path);if(node===null){return null}if(typeof node!=="object"){this.throwImplementationError(`transaction.get must return an ICustomStorageNode object. Use JSON.parse if your set function stored it as a string`)}this._processReadNodeValue(node);return node}_getTypeFromStoredValue(val){let type;if(typeof val==="string"){type=node_value_types_1.VALUE_TYPES.STRING}else if(typeof val==="number"){type=node_value_types_1.VALUE_TYPES.NUMBER}else if(typeof val==="boolean"){type=node_value_types_1.VALUE_TYPES.BOOLEAN}else if(val instanceof Array){type=node_value_types_1.VALUE_TYPES.ARRAY}else if(typeof val==="object"){if("type"in val){const serialized=val;type=serialized.type;val=serialized.value;if(type===node_value_types_1.VALUE_TYPES.DATETIME){val=new Date(val)}else if(type===node_value_types_1.VALUE_TYPES.REFERENCE){val=new acebase_core_1.PathReference(val)}}else{type=node_value_types_1.VALUE_TYPES.OBJECT}}else{throw new Error(`Unknown value type`)}return{type:type,value:val}}async _writeNode(path,value,options){if(!options.merge&&this.valueFitsInline(value)&&path!==""){throw new Error(`invalid value to store in its own node`)}else if(path===""&&(typeof value!=="object"||value instanceof Array)){throw new Error(`Invalid root node value. Must be an object`)}if(typeof options.diff==="undefined"&&typeof options.currentValue!=="undefined"){const diff=compareValues(options.currentValue,value);if(options.merge&&typeof diff==="object"){diff.removed=diff.removed.filter((key=>value[key]===null))}options.diff=diff}if(options.diff==="identical"){return}const transaction=options.transaction;const currentRow=options.currentValue===null?null:await this._readNode(path,{transaction:transaction});if(options.merge&¤tRow){if(currentRow.type===node_value_types_1.VALUE_TYPES.ARRAY&&!(value instanceof Array)&&typeof value==="object"&&Object.keys(value).some((key=>isNaN(parseInt(key))))){throw new Error(`Cannot merge existing array of path "${path}" with an object`)}if(value instanceof Array&¤tRow.type!==node_value_types_1.VALUE_TYPES.ARRAY){throw new Error(`Cannot merge existing object of path "${path}" with an array`)}}const revision=options.revision||acebase_core_1.ID.generate();const mainNode={type:currentRow&¤tRow.type===node_value_types_1.VALUE_TYPES.ARRAY?node_value_types_1.VALUE_TYPES.ARRAY:node_value_types_1.VALUE_TYPES.OBJECT,value:{}};const childNodeValues={};if(value instanceof Array){mainNode.type=node_value_types_1.VALUE_TYPES.ARRAY;const obj={};for(let i=0;i{if(!(key in value)){value[key]=null}}))}Object.keys(value).forEach((key=>{const val=value[key];delete mainNode.value[key];if(val===null){return}else if(typeof val==="undefined"){if(this.settings.removeVoidProperties===true){delete value[key];return}else{throw new Error(`Property "${key}" has invalid value. Cannot store undefined values. Set removeVoidProperties option to true to automatically remove undefined properties`)}}if(this.valueFitsInline(val)){mainNode.value[key]=val}else{childNodeValues[key]=val}}))}const isArray=mainNode.type===node_value_types_1.VALUE_TYPES.ARRAY;if(currentRow){this.debug.log(`Node "/${path}" is being ${options.merge?"updated":"overwritten"}`.colorize(acebase_core_1.ColorStyle.cyan));if(currentIsObjectOrArray||newIsObjectOrArray){const pathInfo=acebase_core_1.PathInfo.get(path);const keys=[];let checkExecuted=false;const includeChildCheck=childPath=>{checkExecuted=true;if(!transaction.production&&!pathInfo.isParentOf(childPath)){this.throwImplementationError(`"${childPath}" is not a child of "${path}" - childrenOf must only check and return paths that are children`)}return true};const addChildPath=childPath=>{if(!checkExecuted){this.throwImplementationError(`childrenOf did not call checkCallback before addCallback`)}const key=acebase_core_1.PathInfo.get(childPath).key;keys.push(key.toString());return true};await transaction.childrenOf(path,{metadata:false,value:false},includeChildCheck,addChildPath);children.current=children.current.concat(keys);if(newIsObjectOrArray){if(options&&options.merge){children.new=children.current.slice()}Object.keys(value).forEach((key=>{if(!children.new.includes(key)){children.new.push(key)}}))}const changes={insert:children.new.filter((key=>!children.current.includes(key))),update:[],delete:options&&options.merge?Object.keys(value).filter((key=>value[key]===null)):children.current.filter((key=>!children.new.includes(key)))};changes.update=children.new.filter((key=>children.current.includes(key)&&!changes.delete.includes(key)));if(isArray&&options.merge&&(changes.insert.length>0||changes.delete.length>0)){const newArrayKeys=changes.update.concat(changes.insert);const isExhaustive=newArrayKeys.every(((k,index,arr)=>arr.includes(index.toString())));if(!isExhaustive){throw new Error(`Elements cannot be inserted beyond, or removed before the end of an array. Rewrite the whole array at path "${path}" or change your schema to use an object collection instead`)}}const writePromises=Object.keys(childNodeValues).map((key=>{const keyOrIndex=isArray?parseInt(key):key;const childDiff=typeof options.diff==="object"?options.diff.forChild(keyOrIndex):undefined;if(childDiff==="identical"){return}const childPath=pathInfo.childPath(keyOrIndex);const childValue=childNodeValues[keyOrIndex];const currentChildValue=typeof options.currentValue==="undefined"?undefined:options.currentValue!==null&&typeof options.currentValue==="object"&&keyOrIndex in options.currentValue?options.currentValue[keyOrIndex]:null;return this._writeNode(childPath,childValue,{transaction:transaction,revision:revision,merge:false,currentValue:currentChildValue,diff:childDiff})}));const movingNodes=newIsObjectOrArray?keys.filter((key=>key in mainNode.value)):[];const deleteDedicatedKeys=changes.delete.concat(movingNodes);const deletePromises=deleteDedicatedKeys.map((key=>{const keyOrIndex=isArray?parseInt(key):key;const childPath=pathInfo.childPath(keyOrIndex);return this._deleteNode(childPath,{transaction:transaction})}));const promises=writePromises.concat(deletePromises);await Promise.all(promises)}const p=this._storeNode(path,{type:mainNode.type,value:mainNode.value,revision:currentRow.revision,revision_nr:currentRow.revision_nr+1,created:currentRow.created,modified:Date.now()},{transaction:transaction});if(p instanceof Promise){return await p}}else{this.debug.log(`Node "/${path}" is being created`.colorize(acebase_core_1.ColorStyle.cyan));if(isArray){const arrayKeys=Object.keys(mainNode.value).concat(Object.keys(childNodeValues));const isExhaustive=arrayKeys.every(((k,index,arr)=>arr.includes(index.toString())));if(!isExhaustive){throw new Error(`Cannot store arrays with missing entries`)}}const promises=Object.keys(childNodeValues).map((key=>{const keyOrIndex=isArray?parseInt(key):key;const childPath=acebase_core_1.PathInfo.getChildPath(path,keyOrIndex);const childValue=childNodeValues[keyOrIndex];return this._writeNode(childPath,childValue,{transaction:transaction,revision:revision,merge:false,currentValue:null})}));const p=this._storeNode(path,{type:mainNode.type,value:mainNode.value,revision:revision,revision_nr:1,created:Date.now(),modified:Date.now()},{transaction:transaction});if(p instanceof Promise){promises.push(p)}await Promise.all(promises)}}async _deleteNode(path,options){const pathInfo=acebase_core_1.PathInfo.get(path);this.debug.log(`Node "/${path}" is being deleted`.colorize(acebase_core_1.ColorStyle.cyan));const deletePaths=[path];let checkExecuted=false;const includeDescendantCheck=descPath=>{checkExecuted=true;if(!transaction.production&&!pathInfo.isAncestorOf(descPath)){this.throwImplementationError(`"${descPath}" is not a descendant of "${path}" - descendantsOf must only check and return paths that are descendants`)}return true};const addDescendant=descPath=>{if(!checkExecuted){this.throwImplementationError(`descendantsOf did not call checkCallback before addCallback`)}deletePaths.push(descPath);return true};const transaction=options.transaction;await transaction.descendantsOf(path,{metadata:false,value:false},includeDescendantCheck,addDescendant);this.debug.log(`Nodes ${deletePaths.map((p=>`"/${p}"`)).join(",")} are being deleted`.colorize(acebase_core_1.ColorStyle.cyan));return transaction.removeMultiple(deletePaths)}getChildren(path,options={}){let callback;const generator={next(valueCallback){callback=valueCallback;return start()}};const start=async()=>{const transaction=options.transaction||await this._customImplementation.getTransaction({path:path,write:false});try{let canceled=false;await(async()=>{const node=await this._readNode(path,{transaction:transaction});if(!node){throw new node_errors_1.NodeNotFoundError(`Node "/${path}" does not exist`)}if(![node_value_types_1.VALUE_TYPES.OBJECT,node_value_types_1.VALUE_TYPES.ARRAY].includes(node.type)){return}const isArray=node.type===node_value_types_1.VALUE_TYPES.ARRAY;const value=node.value;let keys=Object.keys(value).map((key=>isArray?parseInt(key):key));if(options.keyFilter){keys=keys.filter((key=>options.keyFilter.includes(key)))}const pathInfo=acebase_core_1.PathInfo.get(path);keys.length>0&&keys.every((key=>{const child=this._getTypeFromStoredValue(value[key]);const info=new CustomStorageNodeInfo({path:pathInfo.childPath(key),key:isArray?null:key,index:isArray?key:null,type:child.type,address:null,exists:true,value:child.value,revision:node.revision,revision_nr:node.revision_nr,created:new Date(node.created),modified:new Date(node.modified)});canceled=callback(info)===false;return!canceled}));if(canceled){return}let checkExecuted=false;const includeChildCheck=childPath=>{checkExecuted=true;if(!transaction.production&&!pathInfo.isParentOf(childPath)){this.throwImplementationError(`"${childPath}" is not a child of "${path}" - childrenOf must only check and return paths that are children`)}if(options.keyFilter){const key=acebase_core_1.PathInfo.get(childPath).key;return options.keyFilter.includes(key)}return true};const addChildNode=(childPath,node)=>{if(!checkExecuted){this.throwImplementationError(`childrenOf did not call checkCallback before addCallback`)}const key=acebase_core_1.PathInfo.get(childPath).key;const info=new CustomStorageNodeInfo({path:childPath,type:node.type,key:isArray?null:key,index:isArray?key:null,address:new node_address_1.NodeAddress(childPath),exists:true,value:null,revision:node.revision,revision_nr:node.revision_nr,created:new Date(node.created),modified:new Date(node.modified)});canceled=callback(info)===false;return!canceled};await transaction.childrenOf(path,{metadata:true,value:false},includeChildCheck,addChildNode)})();if(!options.transaction){await transaction.commit()}return canceled}catch(err){if(!options.transaction){await transaction.rollback(err)}throw err}};return generator}async getNode(path,options){options=options||{};const transaction=options.transaction||await this._customImplementation.getTransaction({path:path,write:false});try{const node=await(async()=>{const filtered=options.include&&options.include.length>0||options.exclude&&options.exclude.length>0||options.child_objects===false;const pathInfo=acebase_core_1.PathInfo.get(path);const targetNode=await this._readNode(path,{transaction:transaction});if(!targetNode){if(path===""){return{value:null}}const lockPath=await transaction.moveToParentPath(pathInfo.parentPath);console.assert(lockPath===pathInfo.parentPath,`transaction.moveToParentPath() did not move to the right parent path of "${path}"`);const parentNode=await this._readNode(pathInfo.parentPath,{transaction:transaction});if(parentNode&&[node_value_types_1.VALUE_TYPES.OBJECT,node_value_types_1.VALUE_TYPES.ARRAY].includes(parentNode.type)&&pathInfo.key in parentNode.value){const childValueInfo=this._getTypeFromStoredValue(parentNode.value[pathInfo.key]);return{revision:parentNode.revision,revision_nr:parentNode.revision_nr,created:parentNode.created,modified:parentNode.modified,type:childValueInfo.type,value:childValueInfo.value}}return{value:null}}const isArray=targetNode.type===node_value_types_1.VALUE_TYPES.ARRAY;const convertFilterArray=arr=>{const isNumber=key=>/^[0-9]+$/.test(key);return arr.map((path=>acebase_core_1.PathInfo.get(isArray&&isNumber(path)?`[${path}]`:path)))};const includeFilter=options.include?convertFilterArray(options.include):[];const excludeFilter=options.exclude?convertFilterArray(options.exclude):[];const applyFiltersOnInlineData=(descPath,node)=>{if([node_value_types_1.VALUE_TYPES.OBJECT,node_value_types_1.VALUE_TYPES.ARRAY].includes(node.type)&&includeFilter.length>0){const trailKeys=acebase_core_1.PathInfo.getPathKeys(descPath).slice(pathInfo.keys.length);const checkPathInfo=new acebase_core_1.PathInfo(trailKeys);const remove=[];const includes=includeFilter.filter((info=>info.isDescendantOf(checkPathInfo)));if(includes.length>0){const isArray=node.type===node_value_types_1.VALUE_TYPES.ARRAY;remove.push(...Object.keys(node.value).map((key=>isArray?+key:key)));for(const info of includes){const targetProp=info.keys[trailKeys.length];if(typeof targetProp==="string"&&(targetProp==="*"||targetProp.startsWith("$"))){remove.splice(0);break}const index=remove.indexOf(targetProp);index>=0&&remove.splice(index,1)}}const hasIncludeOnChild=includeFilter.some((info=>info.isChildOf(checkPathInfo)));const hasExcludeOnChild=excludeFilter.some((info=>info.isChildOf(checkPathInfo)));if(hasExcludeOnChild&&!hasIncludeOnChild){const excludes=excludeFilter.filter((info=>info.isChildOf(checkPathInfo)));for(let i=0;iinfo.equals(remove[i])))){remove.splice(i,1);i--}}}for(const key of remove){delete node.value[key]}}};applyFiltersOnInlineData(path,targetNode);let checkExecuted=false;const includeDescendantCheck=(descPath,metadata)=>{checkExecuted=true;if(!transaction.production&&!pathInfo.isAncestorOf(descPath)){this.throwImplementationError(`"${descPath}" is not a descendant of "${path}" - descendantsOf must only check and return paths that are descendants`)}if(!filtered){return true}const descPathKeys=acebase_core_1.PathInfo.getPathKeys(descPath);const trailKeys=descPathKeys.slice(pathInfo.keys.length);const checkPathInfo=new acebase_core_1.PathInfo(trailKeys);let include=(includeFilter.length>0?includeFilter.some((info=>checkPathInfo.isOnTrailOf(info))):true)&&(excludeFilter.length>0?!excludeFilter.some((info=>info.equals(checkPathInfo)||info.isAncestorOf(checkPathInfo))):true);if(include&&options.child_objects===false&&(pathInfo.isParentOf(descPath)&&[node_value_types_1.VALUE_TYPES.OBJECT,node_value_types_1.VALUE_TYPES.ARRAY].includes(metadata?metadata.type:-1)||acebase_core_1.PathInfo.getPathKeys(descPath).length>pathInfo.pathKeys.length+1)){include=false}return include};const descRows=[];const addDescendant=(descPath,node)=>{if(!checkExecuted){this.throwImplementationError("descendantsOf did not call checkCallback before addCallback")}if(options.child_objects===false&&[node_value_types_1.VALUE_TYPES.OBJECT,node_value_types_1.VALUE_TYPES.ARRAY].includes(node.type)){return true}applyFiltersOnInlineData(descPath,node);this._processReadNodeValue(node);const row=node;row.path=descPath;descRows.push(row);return true};await transaction.descendantsOf(path,{metadata:true,value:true},includeDescendantCheck,addDescendant);this.debug.log(`Read node "/${path}" and ${filtered?"(filtered) ":""}descendants from ${descRows.length+1} records`.colorize(acebase_core_1.ColorStyle.magenta));const result=targetNode;const objectToArray=obj=>{const arr=[];Object.keys(obj).forEach((key=>{const index=parseInt(key);arr[index]=obj[index]}));return arr};if(targetNode.type===node_value_types_1.VALUE_TYPES.ARRAY){result.value=objectToArray(result.value)}if(targetNode.type===node_value_types_1.VALUE_TYPES.OBJECT||targetNode.type===node_value_types_1.VALUE_TYPES.ARRAY){const targetPathKeys=acebase_core_1.PathInfo.getPathKeys(path);const value=targetNode.value;for(let i=0;i{if(childKey in parent[key]){this.throwImplementationError(`Custom storage merge error: child key "${childKey}" is in parent value already! Make sure the get/childrenOf/descendantsOf methods of the custom storage class return values that can be modified by AceBase without affecting the stored source`)}parent[key][childKey]=nodeValue[childKey]}))}}else{parent[key]=nodeValue}parent=parent[key]}}}else if(descRows.length>0){this.throwImplementationError(`multiple records found for non-object value!`)}if(options.child_objects===false){Object.keys(result.value).forEach((key=>{if(typeof result.value[key]==="object"&&result.value[key].constructor===Object){console.assert(Object.keys(result.value[key]).length===0);delete result.value[key]}}))}if(options.include){}if(options.exclude){const process=(obj,keys)=>{if(typeof obj!=="object"){return}const key=keys[0];if(key==="*"){Object.keys(obj).forEach((k=>{process(obj[k],keys.slice(1))}))}else if(keys.length>1){key in obj&&process(obj[key],keys.slice(1))}else{delete obj[key]}};options.exclude.forEach((path=>{const checkKeys=acebase_core_1.PathInfo.getPathKeys(path);process(result.value,checkKeys)}))}return result})();if(!options.transaction){await transaction.commit()}return node}catch(err){if(!options.transaction){await transaction.rollback(err)}throw err}}async getNodeInfo(path,options={}){options=options||{};const pathInfo=acebase_core_1.PathInfo.get(path);const transaction=options.transaction||await this._customImplementation.getTransaction({path:path,write:false});try{const node=await this._readNode(path,{transaction:transaction});const info=new CustomStorageNodeInfo({path:path,key:typeof pathInfo.key==="string"?pathInfo.key:null,index:typeof pathInfo.key==="number"?pathInfo.key:null,type:node?node.type:0,exists:node!==null,address:node?new node_address_1.NodeAddress(path):null,created:node?new Date(node.created):null,modified:node?new Date(node.modified):null,revision:node?node.revision:null,revision_nr:node?node.revision_nr:null});if(!node&&path!==""){const lockPath=await transaction.moveToParentPath(pathInfo.parentPath);console.assert(lockPath===pathInfo.parentPath,`transaction.moveToParentPath() did not move to the right parent path of "${path}"`);const parent=await this._readNode(pathInfo.parentPath,{transaction:transaction});if(parent&&[node_value_types_1.VALUE_TYPES.OBJECT,node_value_types_1.VALUE_TYPES.ARRAY].includes(parent.type)&&pathInfo.key in parent.value){info.exists=true;info.value=parent.value[pathInfo.key];info.address=null;info.type=parent.type;info.created=new Date(parent.created);info.modified=new Date(parent.modified);info.revision=parent.revision;info.revision_nr=parent.revision_nr}else{info.address=null}}if(options.include_child_count){info.childCount=0;if([node_value_types_1.VALUE_TYPES.ARRAY,node_value_types_1.VALUE_TYPES.OBJECT].includes(info.valueType)&&info.address){info.childCount=node.value?Object.keys(node.value).length:0;info.childCount+=await transaction.getChildCount(path)}}if(!options.transaction){await transaction.commit()}return info}catch(err){if(!options.transaction){await transaction.rollback(err)}throw err}}async setNode(path,value,options={suppress_events:false,context:null}){if(this.settings.readOnly){throw new Error(`Database is opened in read-only mode`)}const pathInfo=acebase_core_1.PathInfo.get(path);const transaction=options.transaction||await this._customImplementation.getTransaction({path:path,write:true});try{if(path===""){if(value===null||typeof value!=="object"||value instanceof Array||value instanceof ArrayBuffer||"buffer"in value&&value.buffer instanceof ArrayBuffer){throw new Error(`Invalid value for root node: ${value}`)}await this._writeNodeWithTracking("",value,{merge:false,transaction:transaction,suppress_events:options.suppress_events,context:options.context})}else if(typeof options.assert_revision!=="undefined"){const info=await this.getNodeInfo(path,{transaction:transaction});if(info.revision!==options.assert_revision){throw new node_errors_1.NodeRevisionError(`revision '${info.revision}' does not match requested revision '${options.assert_revision}'`)}if(info.address&&info.address.path===path&&value!==null&&!this.valueFitsInline(value)){await this._writeNodeWithTracking(path,value,{merge:false,transaction:transaction,suppress_events:options.suppress_events,context:options.context})}else{const lockPath=await transaction.moveToParentPath(pathInfo.parentPath);console.assert(lockPath===pathInfo.parentPath,`transaction.moveToParentPath() did not move to the right parent path of "${path}"`);await this._writeNodeWithTracking(pathInfo.parentPath,{[pathInfo.key]:value},{merge:true,transaction:transaction,suppress_events:options.suppress_events,context:options.context})}}else{const lockPath=await transaction.moveToParentPath(pathInfo.parentPath);console.assert(lockPath===pathInfo.parentPath,`transaction.moveToParentPath() did not move to the right parent path of "${path}"`);await this.updateNode(pathInfo.parentPath,{[pathInfo.key]:value},{transaction:transaction,suppress_events:options.suppress_events,context:options.context})}if(!options.transaction){await transaction.commit()}}catch(err){if(!options.transaction){await transaction.rollback(err)}throw err}}async updateNode(path,updates,options={suppress_events:false,context:null}){if(this.settings.readOnly){throw new Error(`Database is opened in read-only mode`)}if(typeof updates!=="object"){throw new Error(`invalid updates argument`)}else if(Object.keys(updates).length===0){return}const transaction=options.transaction||await this._customImplementation.getTransaction({path:path,write:true});try{const nodeInfo=await this.getNodeInfo(path,{transaction:transaction});const pathInfo=acebase_core_1.PathInfo.get(path);if(nodeInfo.exists&&nodeInfo.address&&nodeInfo.address.path===path){await this._writeNodeWithTracking(path,updates,{transaction:transaction,merge:true,suppress_events:options.suppress_events,context:options.context})}else if(nodeInfo.exists){const pathInfo=acebase_core_1.PathInfo.get(path);const lockPath=await transaction.moveToParentPath(pathInfo.parentPath);console.assert(lockPath===pathInfo.parentPath,`transaction.moveToParentPath() did not move to the right parent path of "${path}"`);await this._writeNodeWithTracking(pathInfo.parentPath,{[pathInfo.key]:updates},{transaction:transaction,merge:true,suppress_events:options.suppress_events,context:options.context})}else{const lockPath=await transaction.moveToParentPath(pathInfo.parentPath);console.assert(lockPath===pathInfo.parentPath,`transaction.moveToParentPath() did not move to the right parent path of "${path}"`);await this.updateNode(pathInfo.parentPath,{[pathInfo.key]:updates},{transaction:transaction,suppress_events:options.suppress_events,context:options.context})}if(!options.transaction){await transaction.commit()}}catch(err){if(!options.transaction){await transaction.rollback(err)}throw err}}}exports.CustomStorage=CustomStorage},{"../../node-address":35,"../../node-errors":36,"../../node-info":37,"../../node-lock":38,"../../node-value-types":39,"../index":52,"./helpers":44,"acebase-core":12}],46:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createIndexedDBInstance=void 0;const acebase_core_1=require("acebase-core");const __1=require("..");const __2=require("../../..");const settings_1=require("./settings");const transaction_1=require("./transaction");function createIndexedDBInstance(dbname,init={}){const settings=new settings_1.IndexedDBStorageSettings(init);const IndexedDB=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;const request=IndexedDB.open(`${dbname}.acebase`,1);request.onupgradeneeded=e=>{const db=request.result;db.createObjectStore("nodes",{keyPath:"path"});db.createObjectStore("content")};let idb;const readyPromise=new Promise(((resolve,reject)=>{request.onsuccess=e=>{idb=request.result;resolve()};request.onerror=e=>{reject(e)}}));const cache=new acebase_core_1.SimpleCache(typeof settings.cacheSeconds==="number"?settings.cacheSeconds:60);const storageSettings=new __1.CustomStorageSettings({name:"IndexedDB",locking:true,removeVoidProperties:settings.removeVoidProperties,maxInlineValueSize:settings.maxInlineValueSize,lockTimeout:settings.lockTimeout,ready(){return readyPromise},async getTransaction(target){await readyPromise;const context={debug:false,db:idb,cache:cache,ipc:ipc};return new transaction_1.IndexedDBStorageTransaction(context,target)}});const db=new __2.AceBase(dbname,{logLevel:settings.logLevel,storage:storageSettings,sponsor:settings.sponsor});const ipc=db.api.storage.ipc;db.settings.ipcEvents=settings.multipleTabs===true;ipc.on("notification",(async notification=>{const message=notification.data;if(typeof message!=="object"){return}if(message.action==="cache.invalidate"){for(const path of message.paths){cache.remove(path)}}}));return db}exports.createIndexedDBInstance=createIndexedDBInstance},{"..":45,"../../..":32,"./settings":47,"./transaction":48,"acebase-core":12}],47:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.IndexedDBStorageSettings=void 0;const __1=require("../..");class IndexedDBStorageSettings extends __1.StorageSettings{constructor(settings){super(settings);this.multipleTabs=false;this.cacheSeconds=60;this.sponsor=false;if(typeof settings.logLevel==="string"){this.logLevel=settings.logLevel}if(typeof settings.multipleTabs==="boolean"){this.multipleTabs=settings.multipleTabs}if(typeof settings.cacheSeconds==="number"){this.cacheSeconds=settings.cacheSeconds}if(typeof settings.sponsor==="boolean"){this.sponsor=settings.sponsor}["type","ipc","path"].forEach((prop=>{if(prop in settings){console.warn(`${prop} setting is not supported for AceBase IndexedDBStorage`)}}))}}exports.IndexedDBStorageSettings=IndexedDBStorageSettings},{"../..":52}],48:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.IndexedDBStorageTransaction=void 0;const __1=require("..");function _requestToPromise(request){return new Promise(((resolve,reject)=>{request.onsuccess=event=>resolve(request.result||null);request.onerror=reject}))}class IndexedDBStorageTransaction extends __1.CustomStorageTransaction{constructor(context,target){super(target);this.context=context;this.production=true;this._pending=[]}_createTransaction(write=false){const tx=this.context.db.transaction(["nodes","content"],write?"readwrite":"readonly");return tx}_splitMetadata(node){const value=node.value;const copy=Object.assign({},node);delete copy.value;const metadata=copy;return{metadata:metadata,value:value}}async commit(){if(this._pending.length===0){return}const batch=this._pending.splice(0);this.context.ipc.sendNotification({action:"cache.invalidate",paths:batch.map((op=>op.path))});const tx=this._createTransaction(true);try{await new Promise(((resolve,reject)=>{let stop=false,processed=0;const handleError=err=>{stop=true;reject(err)};const handleSuccess=()=>{if(++processed===batch.length){resolve()}};batch.forEach(((op,i)=>{if(stop){return}let r1,r2;const path=op.path;if(op.action==="set"){const{metadata:metadata,value:value}=this._splitMetadata(op.node);const nodeInfo={path:path,metadata:metadata};r1=tx.objectStore("nodes").put(nodeInfo);r2=tx.objectStore("content").put(value,path);this.context.cache.set(path,op.node)}else if(op.action==="remove"){r1=tx.objectStore("content").delete(path);r2=tx.objectStore("nodes").delete(path);this.context.cache.set(path,null)}else{handleError(new Error(`Unknown pending operation "${op.action}" on path "${path}" `))}let succeeded=0;r1.onsuccess=r2.onsuccess=()=>{if(++succeeded===2){handleSuccess()}};r1.onerror=r2.onerror=handleError}))}));tx.commit&&tx.commit()}catch(err){console.error(err);tx.abort&&tx.abort();throw err}}async rollback(err){this._pending=[]}async get(path){if(this.context.cache.has(path)){const cache=this.context.cache.get(path);return cache}const tx=this._createTransaction(false);const r1=_requestToPromise(tx.objectStore("nodes").get(path));const r2=_requestToPromise(tx.objectStore("content").get(path));try{const results=await Promise.all([r1,r2]);tx.commit&&tx.commit();const info=results[0];if(!info){this.context.cache.set(path,null);return null}const node=info.metadata;node.value=results[1];this.context.cache.set(path,node);return node}catch(err){console.error(`IndexedDB get error`,err);tx.abort&&tx.abort();throw err}}set(path,node){this._pending.push({action:"set",path:path,node:node})}remove(path){this._pending.push({action:"remove",path:path})}async removeMultiple(paths){paths.forEach((path=>{this._pending.push({action:"remove",path:path})}))}childrenOf(path,include,checkCallback,addCallback){return this._getChildrenOf(path,Object.assign(Object.assign({},include),{descendants:false}),checkCallback,addCallback)}descendantsOf(path,include,checkCallback,addCallback){return this._getChildrenOf(path,Object.assign(Object.assign({},include),{descendants:true}),checkCallback,addCallback)}_getChildrenOf(path,include,checkCallback,addCallback){return new Promise(((resolve,reject)=>{const pathInfo=__1.CustomStorageHelpers.PathInfo.get(path);const tx=this._createTransaction(false);const store=tx.objectStore("nodes");const query=IDBKeyRange.lowerBound(path,true);const cursor=include.metadata?store.openCursor(query):store.openKeyCursor(query);cursor.onerror=e=>{var _a;(_a=tx.abort)===null||_a===void 0?void 0:_a.call(tx);reject(e)};cursor.onsuccess=async e=>{var _a,_b,_c;const otherPath=(_b=(_a=cursor.result)===null||_a===void 0?void 0:_a.key)!==null&&_b!==void 0?_b:null;let keepGoing=true;if(otherPath===null){keepGoing=false}else if(!pathInfo.isAncestorOf(otherPath)){keepGoing=false}else if(include.descendants||pathInfo.isParentOf(otherPath)){let node;if(include.metadata){const valueCursor=cursor;const data=valueCursor.result.value;node=data.metadata}const shouldAdd=checkCallback(otherPath,node);if(shouldAdd){if(include.value){if(this.context.cache.has(otherPath)){const cache=this.context.cache.get(otherPath);node.value=cache.value}else{const req=tx.objectStore("content").get(otherPath);node.value=await new Promise(((resolve,reject)=>{req.onerror=e=>{resolve(null)};req.onsuccess=e=>{resolve(req.result)}}));this.context.cache.set(otherPath,node.value===null?null:node)}}keepGoing=addCallback(otherPath,node)}}if(keepGoing){try{cursor.result.continue()}catch(err){keepGoing=false}}if(!keepGoing){(_c=tx.commit)===null||_c===void 0?void 0:_c.call(tx);resolve()}}}))}}exports.IndexedDBStorageTransaction=IndexedDBStorageTransaction},{"..":45}],49:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createLocalStorageInstance=exports.LocalStorageTransaction=exports.LocalStorageSettings=void 0;const __1=require("..");const __2=require("../../..");const settings_1=require("./settings");Object.defineProperty(exports,"LocalStorageSettings",{enumerable:true,get:function(){return settings_1.LocalStorageSettings}});const transaction_1=require("./transaction");Object.defineProperty(exports,"LocalStorageTransaction",{enumerable:true,get:function(){return transaction_1.LocalStorageTransaction}});function createLocalStorageInstance(dbname,init={}){const settings=new settings_1.LocalStorageSettings(init);const localStorage=settings.provider?settings.provider:settings.temp?window.localStorage:window.sessionStorage;const storageSettings=new __1.CustomStorageSettings({name:"LocalStorage",locking:true,removeVoidProperties:settings.removeVoidProperties,maxInlineValueSize:settings.maxInlineValueSize,ready(){return Promise.resolve()},getTransaction(target){const context={debug:true,dbname:dbname,localStorage:localStorage};const transaction=new transaction_1.LocalStorageTransaction(context,target);return Promise.resolve(transaction)}});const db=new __2.AceBase(dbname,{logLevel:settings.logLevel,storage:storageSettings,sponsor:settings.sponsor});db.settings.ipcEvents=settings.multipleTabs===true;return db}exports.createLocalStorageInstance=createLocalStorageInstance},{"..":45,"../../..":32,"./settings":50,"./transaction":51}],50:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.LocalStorageSettings=void 0;const __1=require("../..");class LocalStorageSettings extends __1.StorageSettings{constructor(settings){super(settings);this.temp=false;this.multipleTabs=false;if(typeof settings.temp==="boolean"){this.temp=settings.temp}if(typeof settings.provider==="object"){this.provider=settings.provider}if(typeof settings.multipleTabs==="boolean"){this.multipleTabs=settings.multipleTabs}if(typeof settings.logLevel==="string"){this.logLevel=settings.logLevel}if(typeof settings.sponsor==="boolean"){this.sponsor=settings.sponsor}["type","ipc","path"].forEach((prop=>{if(prop in settings){console.warn(`${prop} setting is not supported for AceBase LocalStorage`)}}))}}exports.LocalStorageSettings=LocalStorageSettings},{"../..":52}],51:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.LocalStorageTransaction=void 0;const __1=require("..");class LocalStorageTransaction extends __1.CustomStorageTransaction{constructor(context,target){super(target);this.context=context;this._storageKeysPrefix=`${this.context.dbname}.acebase::`}async commit(){}async rollback(err){}async get(path){const json=this.context.localStorage.getItem(this.getStorageKeyForPath(path));const val=JSON.parse(json);return val}async set(path,val){const json=JSON.stringify(val);this.context.localStorage.setItem(this.getStorageKeyForPath(path),json)}async remove(path){this.context.localStorage.removeItem(this.getStorageKeyForPath(path))}async childrenOf(path,include,checkCallback,addCallback){const pathInfo=__1.CustomStorageHelpers.PathInfo.get(path);for(let i=0;i`notify_${event}`)));const NOOP=()=>{};class SchemaValidationError extends Error{constructor(reason){super(`Schema validation failed: ${reason}`);this.reason=reason}}exports.SchemaValidationError=SchemaValidationError;class StorageSettings{constructor(settings={}){this.maxInlineValueSize=50;this.removeVoidProperties=false;this.path=".";this.lockTimeout=120;this.type="data";this.readOnly=false;if(typeof settings.maxInlineValueSize==="number"){this.maxInlineValueSize=settings.maxInlineValueSize}if(typeof settings.removeVoidProperties==="boolean"){this.removeVoidProperties=settings.removeVoidProperties}if(typeof settings.path==="string"){this.path=settings.path}if(this.path.endsWith("/")){this.path=this.path.slice(0,-1)}if(typeof settings.lockTimeout==="number"){this.lockTimeout=settings.lockTimeout}if(typeof settings.type==="string"){this.type=settings.type}if(typeof settings.readOnly==="boolean"){this.readOnly=settings.readOnly}if(typeof settings.ipc==="object"){this.ipc=settings.ipc}}}exports.StorageSettings=StorageSettings;class Storage extends acebase_core_1.SimpleEventEmitter{constructor(name,settings,env){super();this.name=name;this.settings=settings;this._schemas=[];this._indexes=[];this.indexes={get supported(){return promise_fs_1.pfs===null||promise_fs_1.pfs===void 0?void 0:promise_fs_1.pfs.hasFileSystem},create:(path,key,options={rebuild:false})=>{const context={storage:this,debug:this.debug,indexes:this._indexes,ipc:this.ipc};return(0,indexes_1.createIndex)(context,path,key,options)},get:(path,key=null)=>{if(path.includes("$")){const pathKeys=acebase_core_1.PathInfo.getPathKeys(path).map((key=>typeof key==="string"&&key.startsWith("$")?"*":key));path=new acebase_core_1.PathInfo(pathKeys).path}return this._indexes.filter((index=>index.path===path&&(key===null||key===index.key)))},getAll:(targetPath,options={parentPaths:true,childPaths:true})=>{const pathKeys=acebase_core_1.PathInfo.getPathKeys(targetPath);return this._indexes.filter((index=>{const indexKeys=acebase_core_1.PathInfo.getPathKeys(index.path+"/*");if(options.parentPaths&&indexKeys.every(((key,i)=>key==="*"||pathKeys[i]===key))&&[index.key].concat(...index.includeKeys).includes(pathKeys[indexKeys.length])){return true}else if(indexKeys.length[key,"*"].includes(indexKeys[i])))}))},list:()=>this._indexes.slice(),load:async()=>{this._indexes.splice(0);if(!promise_fs_1.pfs.hasFileSystem){return}let files=[];try{files=await promise_fs_1.pfs.readdir(`${this.settings.path}/${this.name}.acebase`)}catch(err){if(err.code!=="ENOENT"){this.debug.error(err)}}const promises=[];files.forEach((fileName=>{if(!fileName.endsWith(".idx")){return}const needsStoragePrefix=this.settings.type!=="data";const hasStoragePrefix=/^\[[a-z]+\]-/.test(fileName);if(!needsStoragePrefix&&!hasStoragePrefix||needsStoragePrefix&&fileName.startsWith(`[${this.settings.type}]-`)){const p=this.indexes.add(fileName);promises.push(p)}}));await Promise.all(promises)},add:async fileName=>{try{const index=await data_index_1.DataIndex.readFromFile(this,fileName);this._indexes.push(index);return index}catch(err){this.debug.error(err);return null}},delete:async fileName=>{const index=await this.indexes.remove(fileName);await index.delete();this.ipc.sendNotification({type:"index.deleted",fileName:index.fileName,path:index.path,keys:index.key})},remove:async fileName=>{const index=this._indexes.find((index=>index.fileName===fileName));if(!index){throw new Error(`Index ${fileName} not found`)}this._indexes.splice(this._indexes.indexOf(index),1);return index},close:async()=>{const promises=this.indexes.list().map((index=>index.close().catch((err=>this.debug.error(err)))));await Promise.all(promises)}};this._eventSubscriptions={};this.subscriptions={add:(path,type,callback)=>{if(SUPPORTED_EVENTS.indexOf(type)<0){throw new TypeError(`Invalid event type "${type}"`)}let pathSubs=this._eventSubscriptions[path];if(!pathSubs){pathSubs=this._eventSubscriptions[path]=[]}pathSubs.push({created:Date.now(),type:type,callback:callback});this.emit("subscribe",{path:path,event:type,callback:callback})},remove:(path,type,callback)=>{const pathSubs=this._eventSubscriptions[path];if(!pathSubs){return}const next=()=>pathSubs.findIndex((ps=>(type?ps.type===type:true)&&(callback?ps.callback===callback:true)));let i;while((i=next())>=0){pathSubs.splice(i,1)}this.emit("unsubscribe",{path:path,event:type,callback:callback})},hasValueSubscribersForPath(path){const valueNeeded=this.getValueSubscribersForPath(path);return!!valueNeeded},getValueSubscribersForPath:path=>{const pathInfo=new acebase_core_1.PathInfo(path);const valueSubscribers=[];Object.keys(this._eventSubscriptions).forEach((subscriptionPath=>{if(pathInfo.equals(subscriptionPath)||pathInfo.isDescendantOf(subscriptionPath)){const pathSubs=this._eventSubscriptions[subscriptionPath];const eventPath=acebase_core_1.PathInfo.fillVariables(subscriptionPath,path);pathSubs.filter((sub=>!sub.type.startsWith("notify_"))).forEach((sub=>{let dataPath=null;if(sub.type==="value"){dataPath=eventPath}else if(["mutated","mutations"].includes(sub.type)&&pathInfo.isDescendantOf(eventPath)){dataPath=path}else if(sub.type==="child_changed"&&path!==eventPath){const childKey=acebase_core_1.PathInfo.getPathKeys(path.slice(eventPath.length).replace(/^\//,""))[0];dataPath=acebase_core_1.PathInfo.getChildPath(eventPath,childKey)}else if(["child_added","child_removed"].includes(sub.type)&&pathInfo.isChildOf(eventPath)){const childKey=acebase_core_1.PathInfo.getPathKeys(path.slice(eventPath.length).replace(/^\//,""))[0];dataPath=acebase_core_1.PathInfo.getChildPath(eventPath,childKey)}if(dataPath!==null&&!valueSubscribers.some((s=>s.type===sub.type&&s.eventPath===eventPath))){valueSubscribers.push({type:sub.type,eventPath:eventPath,dataPath:dataPath,subscriptionPath:subscriptionPath})}}))}}));return valueSubscribers},getAllSubscribersForPath:path=>{const pathInfo=acebase_core_1.PathInfo.get(path);const subscribers=[];Object.keys(this._eventSubscriptions).forEach((subscriptionPath=>{if(pathInfo.isOnTrailOf(subscriptionPath)){const pathSubs=this._eventSubscriptions[subscriptionPath];const eventPath=acebase_core_1.PathInfo.fillVariables(subscriptionPath,path);pathSubs.forEach((sub=>{let dataPath=null;if(sub.type==="value"||sub.type==="notify_value"){dataPath=eventPath}else if(["child_changed","notify_child_changed"].includes(sub.type)){const childKey=path===eventPath||pathInfo.isAncestorOf(eventPath)?"*":acebase_core_1.PathInfo.getPathKeys(path.slice(eventPath.length).replace(/^\//,""))[0];dataPath=acebase_core_1.PathInfo.getChildPath(eventPath,childKey)}else if(["mutated","mutations","notify_mutated","notify_mutations"].includes(sub.type)){dataPath=path}else if(["child_added","child_removed","notify_child_added","notify_child_removed"].includes(sub.type)&&(pathInfo.isChildOf(eventPath)||path===eventPath||pathInfo.isAncestorOf(eventPath))){const childKey=path===eventPath||pathInfo.isAncestorOf(eventPath)?"*":acebase_core_1.PathInfo.getPathKeys(path.slice(eventPath.length).replace(/^\//,""))[0];dataPath=acebase_core_1.PathInfo.getChildPath(eventPath,childKey)}if(dataPath!==null&&!subscribers.some((s=>s.type===sub.type&&s.eventPath===eventPath&&s.subscriptionPath===subscriptionPath))){subscribers.push({type:sub.type,eventPath:eventPath,dataPath:dataPath,subscriptionPath:subscriptionPath})}}))}}));return subscribers},trigger:(event,path,dataPath,oldValue,newValue,context)=>{const pathSubscriptions=this._eventSubscriptions[path]||[];pathSubscriptions.filter((sub=>sub.type===event)).forEach((sub=>{sub.callback(null,dataPath,newValue,oldValue,context)}))}};this.debug=new acebase_core_1.DebugLogger(env.logLevel,`[${name}${typeof settings.type==="string"&&settings.type!=="data"?`:${settings.type}`:""}]`);const ipcName=name+(typeof settings.type==="string"?`_${settings.type}`:"");if(settings.ipc){if(typeof settings.ipc.port!=="number"){throw new Error("IPC port number must be a number")}if(!["master","worker"].includes(settings.ipc.role)){throw new Error(`IPC client role must be either "master" or "worker", not "${settings.ipc.role}"`)}const ipcSettings=Object.assign({dbname:ipcName},settings.ipc);this.ipc=new ipc_1.RemoteIPCPeer(this,ipcSettings)}else{this.ipc=new ipc_1.IPCPeer(this,ipcName)}this.ipc.once("exit",(code=>{if(this.indexes.supported){this.indexes.close()}}));this.nodeLocker={lock:(path,tid,write,comment)=>this.ipc.lock({path:path,tid:tid,write:write,comment:comment})};this._lastTid=0}createTid(){return DEBUG_MODE?++this._lastTid:acebase_core_1.ID.generate()}async close(){await this.ipc.exit()}get path(){return`${this.settings.path}/${this.name}.acebase`}valueFitsInline(value){if(typeof value==="number"||typeof value==="boolean"||value instanceof Date){return true}else if(typeof value==="string"){if(value.length>this.settings.maxInlineValueSize){return false}const encoded=encodeString(value);return encoded.lengththis.settings.maxInlineValueSize){return false}const encoded=encodeString(value.path);return encoded.length0){hasValueSubscribers=true;const eventPaths=valueSubscribers.map((sub=>({path:sub.dataPath,keys:acebase_core_1.PathInfo.getPathKeys(sub.dataPath)}))).sort(((a,b)=>{if(a.keys.lengthb.keys.length)return 1;return 0}));const first=eventPaths[0];topEventPath=first.path;if(valueSubscribers.filter((sub=>sub.dataPath===topEventPath)).every((sub=>sub.type==="mutated"||sub.type.startsWith("notify_")))){hasValueSubscribers=false}topEventPath=acebase_core_1.PathInfo.fillVariables(topEventPath,path)}const indexes=this.indexes.getAll(path,{childPaths:true,parentPaths:true}).map((index=>({index:index,keys:acebase_core_1.PathInfo.getPathKeys(index.path)}))).sort(((a,b)=>{if(a.keys.lengthb.keys.length){return 1}return 0})).map((obj=>obj.index));const keysFilter=[];if(indexes.length>0){indexes.sort(((a,b)=>{if(typeof a._pathKeys==="undefined"){a._pathKeys=acebase_core_1.PathInfo.getPathKeys(a.path)}if(typeof b._pathKeys==="undefined"){b._pathKeys=acebase_core_1.PathInfo.getPathKeys(b.path)}if(a._pathKeys.lengthb._pathKeys.length)return 1;return 0}));const topIndex=indexes[0];const topIndexPath=topIndex.path===path?path:acebase_core_1.PathInfo.fillVariables(`${topIndex.path}/*`,path);if(topIndexPath.lengthindex.path===topIndex.path)).forEach((index=>{const keys=[index.key].concat(index.includeKeys);keys.forEach((key=>!keysFilter.includes(key)&&keysFilter.push(key)))}))}}return{topEventPath:topEventPath,eventSubscriptions:eventSubscriptions,valueSubscribers:valueSubscribers,hasValueSubscribers:hasValueSubscribers,indexes:indexes,keysFilter:keysFilter}}async _writeNodeWithTracking(path,value,options={merge:false,waitForIndexUpdates:true,suppress_events:false,context:null,impact:null}){options=options||{};if(!options.tid&&!options.transaction){throw new Error("_writeNodeWithTracking MUST be executed with a tid OR transaction!")}options.merge=options.merge===true;const validation=this.validateSchema(path,value,{updates:options.merge});if(!validation.ok){throw new SchemaValidationError(validation.reason)}const tid=options.tid;const transaction=options.transaction;let topEventData=null;const updateImpact=options.impact?options.impact:this.getUpdateImpact(path,options.suppress_events);const{topEventPath:topEventPath,eventSubscriptions:eventSubscriptions,hasValueSubscribers:hasValueSubscribers,indexes:indexes}=updateImpact;let{keysFilter:keysFilter}=updateImpact;const writeNode=()=>{if(typeof options._customWriteFunction==="function"){return options._customWriteFunction()}if(topEventData){const pathKeys=acebase_core_1.PathInfo.getPathKeys(path);const eventPathKeys=acebase_core_1.PathInfo.getPathKeys(topEventPath);const trailKeys=pathKeys.slice(eventPathKeys.length);let currentValue=topEventData;while(trailKeys.length>0&¤tValue!==null){const childKey=trailKeys.shift();currentValue=typeof currentValue==="object"&&childKey in currentValue?currentValue[childKey]:null}options.currentValue=currentValue}return this._writeNode(path,value,options)};const transactionLoggingEnabled=this.settings.transactions&&this.settings.transactions.log===true;if(eventSubscriptions.length===0&&indexes.length===0&&!transactionLoggingEnabled){return writeNode()}if(!hasValueSubscribers&&options.merge===true&&keysFilter.length===0){keysFilter=Object.keys(value);if(topEventPath!==path){const trailPath=path.slice(topEventPath.length);keysFilter=keysFilter.map((key=>`${trailPath}/${key}`))}}const eventNodeInfo=await this.getNodeInfo(topEventPath,{transaction:transaction,tid:tid});let currentValue=null;if(eventNodeInfo.exists){const valueOptions={transaction:transaction,tid:tid};if(keysFilter.length>0){valueOptions.include=keysFilter}if(topEventPath===""&&typeof valueOptions.include==="undefined"){this.debug.warn('WARNING: One or more value event listeners on the root node are causing the entire database value to be read to facilitate change tracking. Using "value", "notify_value", "child_changed" and "notify_child_changed" events on the root node are a bad practice because of the significant performance impact. Use "mutated" or "mutations" events instead')}const node=await this.getNode(topEventPath,valueOptions);currentValue=node.value}topEventData=currentValue;const result=await writeNode()||{};let newTopEventData,modifiedData;if(path===topEventPath){if(options.merge){if(topEventData===null){newTopEventData=value instanceof Array?[]:{}}else{newTopEventData=topEventData instanceof Array?[]:{};Object.keys(topEventData).forEach((key=>{newTopEventData[key]=topEventData[key]}))}}else{newTopEventData=value}modifiedData=newTopEventData}else{const trailPath=path.slice(topEventPath.length).replace(/^\//,"");const trailKeys=acebase_core_1.PathInfo.getPathKeys(trailPath);if(topEventData===null){newTopEventData=typeof trailKeys[0]==="number"?[]:{}}else{newTopEventData=topEventData instanceof Array?[]:{};Object.keys(topEventData).forEach((key=>{newTopEventData[key]=topEventData[key]}))}modifiedData=newTopEventData;while(trailKeys.length>0){const childKey=trailKeys.shift();if(!options.merge&&trailKeys.length===0){modifiedData[childKey]=value}else{const original=modifiedData[childKey];const shallowCopy=typeof childKey==="number"?[...original]:Object.assign({},original);modifiedData[childKey]=shallowCopy}modifiedData=modifiedData[childKey]}}if(options.merge){Object.keys(value).forEach((key=>{modifiedData[key]=value[key]}))}const dataChanges=compareValues(topEventData,newTopEventData);if(dataChanges==="identical"){result.mutations=[];return result}function removeNulls(obj){if(obj===null||typeof obj!=="object"){return obj}Object.keys(obj).forEach((prop=>{const val=obj[prop];if(val===null){delete obj[prop];if(obj instanceof Array){obj.length--}}if(typeof val==="object"){removeNulls(val)}}))}removeNulls(newTopEventData);const indexUpdates=[];indexes.map((index=>({index:index,keys:acebase_core_1.PathInfo.getPathKeys(index.path)}))).sort(((a,b)=>{if(a.keys.lengthb.keys.length){return-1}return 0})).forEach((({index:index})=>{const pathKeys=acebase_core_1.PathInfo.getPathKeys(topEventPath);const indexPathKeys=acebase_core_1.PathInfo.getPathKeys(index.path+"/*");const trailKeys=indexPathKeys.slice(pathKeys.length);const oldValue=topEventData;const newValue=newTopEventData;if(trailKeys.length===0){console.assert(pathKeys.length===indexPathKeys.length,"check logic");const p=this.ipc.isMaster?index.handleRecordUpdate(topEventPath,oldValue,newValue):this.ipc.sendRequest({type:"index.update",path:topEventPath,oldValue:oldValue,newValue:newValue});indexUpdates.push(p);return}const getAllIndexUpdates=(path,oldValue,newValue)=>{if(oldValue===null&&newValue===null){return[]}const pathKeys=acebase_core_1.PathInfo.getPathKeys(path);const indexPathKeys=acebase_core_1.PathInfo.getPathKeys(index.path+"/*");const trailKeys=indexPathKeys.slice(pathKeys.length);if(trailKeys.length===0){console.assert(pathKeys.length===indexPathKeys.length,"check logic");return[{path:path,oldValue:oldValue,newValue:newValue}]}let results=[];let trailPath="";while(trailKeys.length>0){const subKey=trailKeys.shift();if(typeof subKey==="string"&&(subKey==="*"||subKey.startsWith("$"))){const allKeys=oldValue===null?[]:Object.keys(oldValue);newValue!==null&&Object.keys(newValue).forEach((key=>{if(allKeys.indexOf(key)<0){allKeys.push(key)}}));allKeys.forEach((key=>{const childPath=acebase_core_1.PathInfo.getChildPath(trailPath,key);const childValues=getChildValues(key,oldValue,newValue);const subTrailPath=acebase_core_1.PathInfo.getChildPath(path,childPath);const childResults=getAllIndexUpdates(subTrailPath,childValues.oldValue,childValues.newValue);results=results.concat(childResults)}));break}else{const values=getChildValues(subKey,oldValue,newValue);oldValue=values.oldValue;newValue=values.newValue;if(oldValue===null&&newValue===null){break}trailPath=acebase_core_1.PathInfo.getChildPath(trailPath,subKey)}}return results};const results=getAllIndexUpdates(topEventPath,oldValue,newValue);results.forEach((result=>{const p=this.ipc.isMaster?index.handleRecordUpdate(result.path,result.oldValue,result.newValue):this.ipc.sendRequest({type:"index.update",path:result.path,oldValue:result.oldValue,newValue:result.newValue});indexUpdates.push(p)}))}));const callSubscriberWithValues=(sub,oldValue,newValue,variables=[])=>{let trigger=true;let type=sub.type;if(type.startsWith("notify_")){type=type.slice("notify_".length)}if(type==="mutated"){return}else if(type==="child_changed"&&(oldValue===null||newValue===null)){trigger=false}else if(type==="value"||type==="child_changed"){const changes=compareValues(oldValue,newValue);trigger=changes!=="identical"}else if(type==="child_added"){trigger=oldValue===null&&newValue!==null}else if(type==="child_removed"){trigger=oldValue!==null&&newValue===null}const pathKeys=acebase_core_1.PathInfo.getPathKeys(sub.dataPath);variables.forEach((variable=>{const index=pathKeys.indexOf(variable.name);console.assert(index>=0,`Variable "${variable.name}" not found in subscription dataPath "${sub.dataPath}"`);pathKeys[index]=variable.value}));const dataPath=pathKeys.reduce(((path,key)=>acebase_core_1.PathInfo.getChildPath(path,key)),"");trigger&&this.subscriptions.trigger(sub.type,sub.subscriptionPath,dataPath,oldValue,newValue,options.context)};const prepareMutationEvents=(currentPath,oldValue,newValue,compareResult)=>{const batch=[];const result=compareResult||compareValues(oldValue,newValue);if(result==="identical"){return batch}else if(typeof result==="string"){batch.push({path:currentPath,oldValue:oldValue,newValue:newValue})}else{result.changed.forEach((info=>{const childPath=acebase_core_1.PathInfo.getChildPath(currentPath,info.key);const childValues=getChildValues(info.key,oldValue,newValue);const childBatch=prepareMutationEvents(childPath,childValues.oldValue,childValues.newValue,info.change);batch.push(...childBatch)}));result.added.forEach((key=>{const childPath=acebase_core_1.PathInfo.getChildPath(currentPath,key);batch.push({path:childPath,oldValue:null,newValue:newValue[key]})}));if(oldValue instanceof Array&&newValue instanceof Array){result.removed.sort(((a,b)=>a{const childPath=acebase_core_1.PathInfo.getChildPath(currentPath,key);batch.push({path:childPath,oldValue:oldValue[key],newValue:null})}))}return batch};if(transactionLoggingEnabled&&this.settings.type!=="transaction"){result.mutations=(()=>{const trailPath=path.slice(topEventPath.length).replace(/^\//,"");const trailKeys=acebase_core_1.PathInfo.getPathKeys(trailPath);let oldValue=topEventData,newValue=newTopEventData;while(trailKeys.length>0){const key=trailKeys.shift();({oldValue:oldValue,newValue:newValue}=getChildValues(key,oldValue,newValue))}const compareResults=compareValues(oldValue,newValue);const batch=prepareMutationEvents(path,oldValue,newValue,compareResults);const mutations=batch.map((m=>({target:acebase_core_1.PathInfo.getPathKeys(m.path.slice(path.length)),prev:m.oldValue,val:m.newValue})));return mutations})()}const triggerAllEvents=()=>{eventSubscriptions.filter((sub=>!["mutated","mutations","notify_mutated","notify_mutations"].includes(sub.type))).map((sub=>{const keys=acebase_core_1.PathInfo.getPathKeys(sub.dataPath);return{sub:sub,keys:keys}})).sort(((a,b)=>{if(a.keys.lengthb.keys.length){return-1}return 0})).forEach((({sub:sub})=>{const process=(currentPath,oldValue,newValue,variables=[])=>{const trailPath=sub.dataPath.slice(currentPath.length).replace(/^\//,"");const trailKeys=acebase_core_1.PathInfo.getPathKeys(trailPath);while(trailKeys.length>0){const subKey=trailKeys.shift();if(typeof subKey==="string"&&(subKey==="*"||subKey[0]==="$")){const allKeys=oldValue===null?[]:Object.keys(oldValue).map((key=>oldValue instanceof Array?parseInt(key):key));newValue!==null&&Object.keys(newValue).forEach((key=>{const keyOrIndex=newValue instanceof Array?parseInt(key):key;!allKeys.includes(keyOrIndex)&&allKeys.push(key)}));allKeys.forEach((key=>{const childValues=getChildValues(key,oldValue,newValue);const vars=variables.concat({name:subKey,value:key});if(trailKeys.length===0){callSubscriberWithValues(sub,childValues.oldValue,childValues.newValue,vars)}else{process(acebase_core_1.PathInfo.getChildPath(currentPath,subKey),childValues.oldValue,childValues.newValue,vars)}}));return}else{currentPath=acebase_core_1.PathInfo.getChildPath(currentPath,subKey);const childValues=getChildValues(subKey,oldValue,newValue);oldValue=childValues.oldValue;newValue=childValues.newValue}}callSubscriberWithValues(sub,oldValue,newValue,variables)};if(sub.type.startsWith("notify_")&&acebase_core_1.PathInfo.get(sub.eventPath).isAncestorOf(topEventPath)){const isOnParentPath=acebase_core_1.PathInfo.get(sub.eventPath).isParentOf(topEventPath);const trigger=sub.type==="notify_value"||sub.type==="notify_child_changed"&&(!isOnParentPath||!["added","removed"].includes(dataChanges))||sub.type==="notify_child_removed"&&dataChanges==="removed"&&isOnParentPath||sub.type==="notify_child_added"&&dataChanges==="added"&&isOnParentPath;trigger&&this.subscriptions.trigger(sub.type,sub.subscriptionPath,sub.dataPath,null,null,options.context)}else{process(topEventPath,topEventData,newTopEventData)}}));const mutationEvents=eventSubscriptions.filter((sub=>["mutated","mutations","notify_mutated","notify_mutations"].includes(sub.type)));mutationEvents.forEach((sub=>{let currentPath=topEventPath;const trailPath=sub.eventPath.slice(currentPath.length).replace(/^\//,"");const trailKeys=acebase_core_1.PathInfo.getPathKeys(trailPath);let oldValue=topEventData,newValue=newTopEventData;while(trailKeys.length>0){const subKey=trailKeys.shift();currentPath=acebase_core_1.PathInfo.getChildPath(currentPath,subKey);const childValues=getChildValues(subKey,oldValue,newValue);oldValue=childValues.oldValue;newValue=childValues.newValue}const batch=prepareMutationEvents(currentPath,oldValue,newValue);if(batch.length===0){return}const isNotifyEvent=sub.type.startsWith("notify_");if(["mutated","notify_mutated"].includes(sub.type)){batch.forEach(((mutation,index)=>{const context=options.context;const prevVal=isNotifyEvent?null:mutation.oldValue;const newVal=isNotifyEvent?null:mutation.newValue;this.subscriptions.trigger(sub.type,sub.subscriptionPath,mutation.path,prevVal,newVal,context)}))}else if(["mutations","notify_mutations"].includes(sub.type)){const values=isNotifyEvent?null:batch.map((m=>({target:acebase_core_1.PathInfo.getPathKeys(m.path.slice(sub.subscriptionPath.length)),prev:m.oldValue,val:m.newValue})));this.subscriptions.trigger(sub.type,sub.subscriptionPath,sub.subscriptionPath,null,values,options.context)}}))};if(options.waitForIndexUpdates===false){indexUpdates.splice(0)}await Promise.all(indexUpdates);defer(triggerAllEvents);return result}getChildren(path,options){throw new Error("This method must be implemented by subclass")}async getNodeValue(path,options={}){const node=await this.getNode(path,options);return node.value}getNode(path,options){throw new Error("This method must be implemented by subclass")}getNodeInfo(path,options){throw new Error("This method must be implemented by subclass")}setNode(path,value,options){throw new Error("This method must be implemented by subclass")}updateNode(path,updates,options){throw new Error("This method must be implemented by subclass")}async transactNode(path,callback,options={no_lock:false,suppress_events:false,context:null}){const useFakeLock=options&&options.no_lock===true;const tid=this.createTid();const lock=useFakeLock?{tid:tid,release:NOOP}:await this.nodeLocker.lock(path,tid,true,"transactNode");try{let changed=false;const changeCallback=()=>{changed=true};if(useFakeLock){this.subscriptions.add(path,"notify_value",changeCallback)}const node=await this.getNode(path,{tid:tid});const checkRevision=node.revision;let newValue;try{newValue=callback(node.value);if(newValue instanceof Promise){newValue=await newValue.catch((err=>{this.debug.error(`Error in transaction callback: ${err.message}`)}))}}catch(err){this.debug.error(`Error in transaction callback: ${err.message}`)}if(typeof newValue==="undefined"){return}if(useFakeLock){this.subscriptions.remove(path,"notify_value",changeCallback)}if(changed){throw new node_errors_1.NodeRevisionError("Node changed")}const cursor=await this.setNode(path,newValue,{assert_revision:checkRevision,tid:lock.tid,suppress_events:options.suppress_events,context:options.context});return cursor}catch(err){if(err instanceof node_errors_1.NodeRevisionError){console.warn(`node value changed, running again. Error: ${err.message}`);return this.transactNode(path,callback,options)}else{throw err}}finally{lock.release()}}async matchNode(path,criteria,options){var _a;const tid=(_a=options===null||options===void 0?void 0:options.tid)!==null&&_a!==void 0?_a:acebase_core_1.ID.generate();const checkNode=async(path,criteria)=>{if(criteria.length===0){return Promise.resolve(true)}const criteriaKeys=criteria.reduce(((keys,cr)=>{let key=cr.key;if(typeof key==="string"&&key.includes("/")){key=key.slice(0,key.indexOf("/"))}if(keys.indexOf(key)<0){keys.push(key)}return keys}),[]);const unseenKeys=criteriaKeys.slice();let isMatch=true;const delayedMatchPromises=[];try{await this.getChildren(path,{tid:tid,keyFilter:criteriaKeys}).next((childInfo=>{var _a;const keyOrIndex=(_a=childInfo.key)!==null&&_a!==void 0?_a:childInfo.index;unseenKeys.includes(keyOrIndex)&&unseenKeys.splice(unseenKeys.indexOf(childInfo.key),1);const keyCriteria=criteria.filter((cr=>cr.key===keyOrIndex)).map((cr=>({op:cr.op,compare:cr.compare})));const keyResult=keyCriteria.length>0?checkChild(childInfo,keyCriteria):{isMatch:true,promises:[]};isMatch=keyResult.isMatch;if(isMatch){delayedMatchPromises.push(...keyResult.promises);const childCriteria=criteria.filter((cr=>typeof cr.key==="string"&&cr.key.startsWith(`${typeof keyOrIndex==="number"?`[${keyOrIndex}]`:keyOrIndex}/`))).map((cr=>{const key=cr.key.slice(cr.key.indexOf("/")+1);return{key:key,op:cr.op,compare:cr.compare}}));if(childCriteria.length>0){const childPath=acebase_core_1.PathInfo.getChildPath(path,childInfo.key);const childPromise=checkNode(childPath,childCriteria).then((isMatch=>({isMatch:isMatch})));delayedMatchPromises.push(childPromise)}}if(!isMatch||unseenKeys.length===0){return false}}));if(isMatch){const results=await Promise.all(delayedMatchPromises);isMatch=results.every((res=>res.isMatch))}if(!isMatch){return false}isMatch=unseenKeys.every((keyOrIndex=>{const childInfo=new node_info_1.NodeInfo(Object.assign(Object.assign(Object.assign({},typeof keyOrIndex==="number"&&{index:keyOrIndex}),typeof keyOrIndex==="string"&&{key:keyOrIndex}),{exists:false}));const childCriteria=criteria.filter((cr=>typeof cr.key==="string"&&cr.key.startsWith(`${typeof keyOrIndex==="number"?`[${keyOrIndex}]`:keyOrIndex}/`))).map((cr=>({op:cr.op,compare:cr.compare})));if(childCriteria.length>0&&!checkChild(childInfo,childCriteria).isMatch){return false}const keyCriteria=criteria.filter((cr=>cr.key===keyOrIndex)).map((cr=>({op:cr.op,compare:cr.compare})));if(keyCriteria.length===0){return true}const result=checkChild(childInfo,keyCriteria);return result.isMatch}));return isMatch}catch(err){this.debug.error(`Error matching on "${path}": `,err);throw err}};const checkChild=(child,criteria)=>{const promises=[];const isMatch=criteria.every((f=>{let proceed=true;if(f.op==="!exists"||f.op==="=="&&(typeof f.compare==="undefined"||f.compare===null)){proceed=!child.exists}else if(f.op==="exists"||f.op==="!="&&(typeof f.compare==="undefined"||f.compare===null)){proceed=child.exists}else if((f.op==="contains"||f.op==="!contains")&&f.compare instanceof Array&&f.compare.length===0){proceed=true}else if(!child.exists){proceed=false}else{if(child.address){if(child.valueType===node_value_types_1.VALUE_TYPES.OBJECT&&["has","!has"].indexOf(f.op)>=0){const op=f.op==="has"?"exists":"!exists";const p=checkNode(child.path,[{key:f.compare,op:op}]).then((isMatch=>({key:child.key,isMatch:isMatch})));promises.push(p);proceed=true}else if(child.valueType===node_value_types_1.VALUE_TYPES.ARRAY&&["contains","!contains"].indexOf(f.op)>=0){const p=this.getNode(child.path,{tid:tid}).then((({value:arr})=>{const isMatch=f.op==="contains"?f.compare instanceof Array?f.compare.every((val=>arr.includes(val))):arr.includes(f.compare):f.compare instanceof Array?!f.compare.some((val=>arr.includes(val))):!arr.includes(f.compare);return{key:child.key,isMatch:isMatch}}));promises.push(p);proceed=true}else if(child.valueType===node_value_types_1.VALUE_TYPES.STRING){const p=this.getNode(child.path,{tid:tid}).then((node=>({key:child.key,isMatch:this.test(node.value,f.op,f.compare)})));promises.push(p);proceed=true}else{proceed=false}}else if(child.type===node_value_types_1.VALUE_TYPES.OBJECT&&["has","!has"].indexOf(f.op)>=0){const has=f.compare in child.value;proceed=has&&f.op==="has"||!has&&f.op==="!has"}else if(child.type===node_value_types_1.VALUE_TYPES.ARRAY&&["contains","!contains"].indexOf(f.op)>=0){const contains=child.value.indexOf(f.compare)>=0;proceed=contains&&f.op==="contains"||!contains&&f.op==="!contains"}else{let ret=this.test(child.value,f.op,f.compare);if(ret instanceof Promise){promises.push(ret);ret=true}proceed=ret}}return proceed}));return{isMatch:isMatch,promises:promises}};return checkNode(path,criteria)}test(val,op,compare){if(op==="<"){return val"){return val>compare}if(op===">="){return val>=compare}if(op==="in"){return compare.indexOf(val)>=0}if(op==="!in"){return compare.indexOf(val)<0}if(op==="like"||op==="!like"){const pattern="^"+compare.replace(/[-[\]{}()+.,\\^$|#\s]/g,"\\$&").replace(/\?/g,".").replace(/\*/g,".*?")+"$";const re=new RegExp(pattern,"i");const isMatch=re.test(val.toString());return op==="like"?isMatch:!isMatch}if(op==="matches"){return compare.test(val.toString())}if(op==="!matches"){return!compare.test(val.toString())}if(op==="between"){return val>=compare[0]&&val<=compare[1]}if(op==="!between"){return valcompare[1]}if(op==="has"||op==="!has"){const has=typeof val==="object"&&compare in val;return op==="has"?has:!has}if(op==="contains"||op==="!contains"){const includes=typeof val==="object"&&val instanceof Array&&val.includes(compare);return op==="contains"?includes:!includes}return false}async exportNode(path,writeFn,options={format:"json",type_safe:true}){if((options===null||options===void 0?void 0:options.format)!=="json"){throw new Error("Only json output is currently supported")}const write=typeof writeFn!=="function"?writeFn.write.bind(writeFn):writeFn;const stringifyValue=(type,val)=>{const escape=str=>str.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/[\u0000-\u001f]/g,(ch=>`\\u${ch.charCodeAt(0).toString(16).padStart(4,"0")}`));if(type===node_value_types_1.VALUE_TYPES.DATETIME){val=`"${val.toISOString()}"`;if(options.type_safe){val=`{".type":"date",".val":${val}}`}}else if(type===node_value_types_1.VALUE_TYPES.STRING){val=`"${escape(val)}"`}else if(type===node_value_types_1.VALUE_TYPES.ARRAY){val="[]"}else if(type===node_value_types_1.VALUE_TYPES.OBJECT){val="{}"}else if(type===node_value_types_1.VALUE_TYPES.BINARY){val=`"${escape(acebase_core_1.ascii85.encode(val))}"`;if(options.type_safe){val=`{".type":"binary",".val":${val}}`}}else if(type===node_value_types_1.VALUE_TYPES.REFERENCE){val=`"${val.path}"`;if(options.type_safe){val=`{".type":"reference",".val":${val}}`}}else if(type===node_value_types_1.VALUE_TYPES.BIGINT){val=`"${val}"`;if(options.type_safe){val=`{".type":"bigint",".val":${val}}`}}return val};let objStart="",objEnd="";const nodeInfo=await this.getNodeInfo(path);if(!nodeInfo.exists){return write("null")}else if(nodeInfo.type===node_value_types_1.VALUE_TYPES.OBJECT){objStart="{";objEnd="}"}else if(nodeInfo.type===node_value_types_1.VALUE_TYPES.ARRAY){objStart="[";objEnd="]"}else{const node=await this.getNode(path);const val=stringifyValue(nodeInfo.type,node.value);return write(val)}if(objStart){const p=write(objStart);if(p instanceof Promise){await p}}let output="",outputCount=0;const pending=[];await this.getChildren(path).next((childInfo=>{if(childInfo.address){pending.push(childInfo)}else{if(outputCount++>0){output+=","}if(typeof childInfo.key==="string"){output+=`"${childInfo.key}":`}output+=stringifyValue(childInfo.type,childInfo.value)}}));if(output){const p=write(output);if(p instanceof Promise){await p}}while(pending.length>0){const childInfo=pending.shift();let output=outputCount++>0?",":"";const key=typeof childInfo.index==="number"?childInfo.index:childInfo.key;if(typeof key==="string"){output+=`"${key}":`}if(output){const p=write(output);if(p instanceof Promise){await p}}await this.exportNode(acebase_core_1.PathInfo.getChildPath(path,key),write,options)}if(objEnd){const p=write(objEnd);if(p instanceof Promise){await p}}}async importNode(path,read,options={format:"json",method:"set"}){const chunkSize=256*1024;const maxQueueBytes=1024*1024;const state={data:"",index:0,offset:0,queue:[],queueStartByte:0,timesFlushed:0,get processedBytes(){return this.offset+this.index}};const readNextChunk=async(append=false)=>{let data=await read(chunkSize);if(data===null){if(state.data){throw new Error(`Unexpected EOF at index ${state.offset+state.data.length}`)}else{throw new Error("Unable to read data from stream")}}else if(typeof data==="object"){data=acebase_core_1.Utils.decodeString(data)}if(append){state.data+=data}else{state.offset+=state.data.length;state.data=data;state.index=0}};const readBytes=async length=>{let str="";if(state.index+length>=state.data.length){str=state.data.slice(state.index);length-=str.length;await readNextChunk()}str+=state.data.slice(state.index,state.index+length);state.index+=length;return str};const assertBytes=async length=>{if(state.index+length>state.data.length){await readNextChunk(true)}if(state.index+length>state.data.length){throw new Error("Not enough data available from stream")}};const consumeToken=async token=>{const str=await readBytes(token.length);if(str!==token){throw new Error(`Unexpected character "${str[0]}" at index ${state.offset+state.index}, expected "${token}"`)}};const consumeSpaces=async()=>{const spaces=[" ","\t","\r","\n"];while(true){if(state.index>=state.data.length){await readNextChunk()}if(spaces.includes(state.data[state.index])){state.index++}else{break}}};const peekBytes=async length=>{await assertBytes(length);const index=state.index;return state.data.slice(index,index+length)};const peekValueType=async()=>{await consumeSpaces();const ch=await peekBytes(1);switch(ch){case'"':return"string";case"{":return"object";case"[":return"array";case"n":return"null";case"u":return"undefined";case"t":case"f":return"boolean";default:{if(ch==="-"||ch>="0"&&ch<="9"){return"number"}throw new Error(`Unknown value at index ${state.offset+state.index}`)}}};const readString=async()=>{await consumeToken('"');let str="";let i=state.index;while(state.data[i]!=='"'||state.data[i-1]==="\\"){i++;if(i>=state.data.length){str+=state.data.slice(state.index);await readNextChunk();i=0}}str+=state.data.slice(state.index,i);state.index=i+1;return unescape(str)};const readBoolean=async()=>{if(state.data[state.index]==="t"){await consumeToken("true")}else if(state.data[state.index]==="f"){await consumeToken("false")}throw new Error(`Expected true or false at index ${state.offset+state.index}`)};const readNumber=async()=>{let str="";let i=state.index;const nrChars=["-","0","1","2","3","4","5","6","7","8","9",".","e","b","f","x","o","n"];while(nrChars.includes(state.data[i])){i++;if(i>=state.data.length){str+=state.data.slice(state.index);await readNextChunk();i=0}}str+=state.data.slice(state.index,i);state.index=i;const nr=str.endsWith("n")?BigInt(str.slice(0,-1)):str.includes(".")?parseFloat(str):parseInt(str);return nr};const readValue=async()=>{await consumeSpaces();const type=await peekValueType();const value=await(()=>{switch(type){case"string":return readString();case"object":return{};case"array":return[];case"number":return readNumber();case"null":return null;case"undefined":return undefined;case"boolean":return readBoolean()}})();return{type:type,value:value}};const unescape=str=>str.replace(/\\n/g,"\n").replace(/\\"/g,'"');const getTypeSafeValue=(path,obj)=>{const type=obj[".type"];let val=obj[".val"];switch(type){case"Date":case"date":{val=new Date(val);break}case"Buffer":case"binary":{val=unescape(val);if(val.startsWith("<~")){val=acebase_core_1.ascii85.decode(val)}else{throw new Error(`Import error: Unexpected encoding for value for value at path "/${path}"`)}break}case"PathReference":case"reference":{val=new acebase_core_1.PathReference(val);break}case"bigint":{val=BigInt(val);break}default:throw new Error(`Import error: Unsupported type "${type}" for value at path "/${path}"`)}return val};const context={acebase_import_id:acebase_core_1.ID.generate()};const childOptions={suppress_events:options.suppress_events,context:context};const enqueue=async(target,value)=>{state.queue.push({target:target,value:value});if(state.processedBytes>=state.queueStartByte+maxQueueBytes){const operations=state.queue.reduce(((updates,item)=>{if(item.target.path===path){updates.push(Object.assign({op:options.method==="set"&&state.timesFlushed===0?"set":"update"},item))}else{const parent=updates.find((other=>other.target.isParentOf(item.target)));if(parent){parent.value[item.target.key]=item.value}else{updates.push(Object.assign({op:options.method==="merge"?"update":"set"},item))}}return updates}),[]);state.queueStartByte=state.processedBytes;state.queue=[];state.timesFlushed++}if(target.path===path){}};const importObject=async target=>{await consumeToken("{");await consumeSpaces();const nextChar=await peekBytes(1);if(nextChar==="}"){state.index++;return this.setNode(target.path,{},childOptions)}let childCount=0;let obj={};let flushedBefore=false;const flushObject=async()=>{let p;if(!flushedBefore){flushedBefore=true;p=this.setNode(target.path,obj,childOptions)}else if(Object.keys(obj).length>0){p=this.updateNode(target.path,obj,childOptions)}obj={};if(p){await p}};const promises=[];while(true){await consumeSpaces();const property=await readString();await consumeSpaces();await consumeToken(":");await consumeSpaces();const{value:value,type:type}=await readValue();obj[property]=value;childCount++;if(["object","array"].includes(type)){promises.push(flushObject());if(type==="object"){await importObject(target.child(property))}else{await importArray(target.child(property))}}await consumeSpaces();const nextChar=await peekBytes(1);if(nextChar==="}"){state.index++;break}await consumeToken(",")}const isTypedValue=childCount===2&&".type"in obj&&".val"in obj;if(isTypedValue){const val=getTypeSafeValue(target.path,obj);return this.setNode(target.path,val,childOptions)}promises.push(flushObject());await Promise.all(promises)};const importArray=async target=>{await consumeToken("[");await consumeSpaces();const nextChar=await peekBytes(1);if(nextChar==="]"){state.index++;return this.setNode(target.path,[],childOptions)}let flushedBefore=false;let arr=[];let updates={};const flushArray=async()=>{let p;if(!flushedBefore){flushedBefore=true;p=this.setNode(target.path,arr,childOptions);arr=null}else if(Object.keys(updates).length>0){p=this.updateNode(target.path,updates,childOptions);updates={}}if(p){await p}};const pushChild=(value,index)=>{if(flushedBefore){updates[index]=value}else{arr.push(value)}};const promises=[];let index=0;while(true){await consumeSpaces();const{value:value,type:type}=await readValue();pushChild(value,index);if(["object","array"].includes(type)){promises.push(flushArray());if(type==="object"){await importObject(target.child(index))}else{await importArray(target.child(index))}}await consumeSpaces();const nextChar=await peekBytes(1);if(nextChar==="]"){state.index++;break}await consumeToken(",");index++}promises.push(flushArray());await Promise.all(promises)};const start=async()=>{const{value:value,type:type}=await readValue();if(["object","array"].includes(type)){const target=acebase_core_1.PathInfo.get(path);if(type==="object"){await importObject(target)}else{await importArray(target)}}else{await this.setNode(path,value,childOptions)}};return start()}setSchema(path,schema){if(typeof schema==="undefined"){throw new TypeError("schema argument must be given")}if(schema===null){const i=this._schemas.findIndex((s=>s.path===path));i>=0&&this._schemas.splice(i,1);return}const definition=new acebase_core_1.SchemaDefinition(schema);const item=this._schemas.find((s=>s.path===path));if(item){item.schema=definition}else{this._schemas.push({path:path,schema:definition});this._schemas.sort(((a,b)=>{const ka=acebase_core_1.PathInfo.getPathKeys(a.path),kb=acebase_core_1.PathInfo.getPathKeys(b.path);if(ka.length===kb.length){return 0}return ka.lengthitem.path===path));return item?{path:path,schema:item.schema.source,text:item.schema.text}:null}getSchemas(){return this._schemas.map((item=>({path:item.path,schema:item.schema.source,text:item.schema.text})))}validateSchema(path,value,options={updates:false}){let result={ok:true};const pathInfo=acebase_core_1.PathInfo.get(path);this._schemas.filter((s=>pathInfo.isOnTrailOf(s.path))).every((s=>{if(pathInfo.isDescendantOf(s.path)){const ancestorPath=acebase_core_1.PathInfo.fillVariables(s.path,path);const trailKeys=pathInfo.keys.slice(acebase_core_1.PathInfo.getPathKeys(s.path).length);result=s.schema.check(ancestorPath,value,options.updates,trailKeys);return result.ok}const trailKeys=acebase_core_1.PathInfo.getPathKeys(s.path).slice(pathInfo.keys.length);const partial=options.updates===true&&trailKeys.length===0;const check=(path,value,trailKeys)=>{if(trailKeys.length===0){return s.schema.check(path,value,partial)}else if(value===null){return{ok:true}}const key=trailKeys[0];if(typeof key==="string"&&(key==="*"||key[0]==="$")){if(value===null||typeof value!=="object"){return{ok:true}}let result;Object.keys(value).every((childKey=>{const childPath=acebase_core_1.PathInfo.getChildPath(path,childKey);const childValue=value[childKey];result=check(childPath,childValue,trailKeys.slice(1));return result.ok}));return result}else{const childPath=acebase_core_1.PathInfo.getChildPath(path,key);const childValue=value[key];return check(childPath,childValue,trailKeys.slice(1))}};result=check(path,value,trailKeys);return result.ok}));return result}}exports.Storage=Storage},{"../data-index":40,"../ipc":33,"../node-errors":36,"../node-info":37,"../node-value-types":39,"../promise-fs":41,"./indexes":53,"acebase-core":12}],53:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createIndex=void 0;var create_index_1=require("./create-index");Object.defineProperty(exports,"createIndex",{enumerable:true,get:function(){return create_index_1.createIndex}})},{"./create-index":43}]},{},[32])(32)})); \ No newline at end of file +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.acebase=f()}})((function(){var define,module,exports;return function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,(function(r){var n=e[i][1][r];return o(n||r)}),p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i{this.emit("ready")}));this.recovery={repairNode:async(path,options)=>{if(this.api.storage instanceof binary_1.AceBaseStorage){await this.api.storage.repairNode(path,options)}else if(!this.api.storage.repairNode){throw new Error(`repairNode is not supported with chosen storage engine`)}}}}async close(){await this.api.storage.close()}get settings(){const ipc=this.api.storage.ipc,debug=this.debug;return{get logLevel(){return debug.level},set logLevel(level){debug.setLevel(level)},get ipcEvents(){return ipc.eventsEnabled},set ipcEvents(enabled){ipc.eventsEnabled=enabled}}}static WithLocalStorage(dbname,settings={}){const db=(0,local_storage_1.createLocalStorageInstance)(dbname,settings);return db}static WithIndexedDB(dbname,init={}){throw new Error(`IndexedDB storage can only be used in browser contexts`)}}exports.AceBase=AceBase},{"./api-local":3,"./storage/binary":13,"./storage/custom/indexed-db/settings":20,"./storage/custom/local-storage":22,"acebase-core":38}],3:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.LocalApi=void 0;const acebase_core_1=require("acebase-core");const binary_1=require("./storage/binary");const sqlite_1=require("./storage/sqlite");const mssql_1=require("./storage/mssql");const custom_1=require("./storage/custom");const node_value_types_1=require("./node-value-types");const query_1=require("./query");class LocalApi extends acebase_core_1.Api{constructor(dbname="default",init,readyCallback){super();this.db=init.db;const storageEnv={logLevel:init.settings.logLevel};if(typeof init.settings.storage==="object"){if(sqlite_1.SQLiteStorageSettings&&init.settings.storage instanceof sqlite_1.SQLiteStorageSettings){this.storage=new sqlite_1.SQLiteStorage(dbname,init.settings.storage,storageEnv)}else if(mssql_1.MSSQLStorageSettings&&init.settings.storage instanceof mssql_1.MSSQLStorageSettings){this.storage=new mssql_1.MSSQLStorage(dbname,init.settings.storage,storageEnv)}else if(custom_1.CustomStorageSettings&&init.settings.storage instanceof custom_1.CustomStorageSettings){this.storage=new custom_1.CustomStorage(dbname,init.settings.storage,storageEnv)}else{const storageSettings=init.settings.storage instanceof binary_1.AceBaseStorageSettings?init.settings.storage:new binary_1.AceBaseStorageSettings(init.settings.storage);this.storage=new binary_1.AceBaseStorage(dbname,storageSettings,storageEnv)}}else{this.storage=new binary_1.AceBaseStorage(dbname,new binary_1.AceBaseStorageSettings,storageEnv)}this.storage.on("ready",readyCallback)}async stats(options){return this.storage.stats}subscribe(path,event,callback){this.storage.subscriptions.add(path,event,callback)}unsubscribe(path,event,callback){this.storage.subscriptions.remove(path,event,callback)}async set(path,value,options={suppress_events:false,context:null}){const cursor=await this.storage.setNode(path,value,{suppress_events:options.suppress_events,context:options.context});return Object.assign({},cursor&&{cursor:cursor})}async update(path,updates,options={suppress_events:false,context:null}){const cursor=await this.storage.updateNode(path,updates,{suppress_events:options.suppress_events,context:options.context});return Object.assign({},cursor&&{cursor:cursor})}get transactionLoggingEnabled(){return this.storage.settings.transactions&&this.storage.settings.transactions.log===true}async get(path,options){if(!options){options={}}if(typeof options.include!=="undefined"&&!(options.include instanceof Array)){throw new TypeError(`options.include must be an array of key names`)}if(typeof options.exclude!=="undefined"&&!(options.exclude instanceof Array)){throw new TypeError(`options.exclude must be an array of key names`)}if(["undefined","boolean"].indexOf(typeof options.child_objects)<0){throw new TypeError(`options.child_objects must be a boolean`)}const node=await this.storage.getNode(path,options);return{value:node.value,context:{acebase_cursor:node.cursor},cursor:node.cursor}}async transaction(path,callback,options={suppress_events:false,context:null}){const cursor=await this.storage.transactNode(path,callback,{suppress_events:options.suppress_events,context:options.context});return Object.assign({},cursor&&{cursor:cursor})}async exists(path){const nodeInfo=await this.storage.getNodeInfo(path);return nodeInfo.exists}async query(path,query,options={snapshots:false}){const results=await(0,query_1.query)(this,path,query,options);return results}createIndex(path,key,options){return this.storage.indexes.create(path,key,options)}async getIndexes(){return this.storage.indexes.list()}async deleteIndex(filePath){return this.storage.indexes.delete(filePath)}async reflect(path,type,args){args=args||{};const getChildren=async(path,limit=50,skip=0,from=null)=>{if(typeof limit==="string"){limit=parseInt(limit)}if(typeof skip==="string"){skip=parseInt(skip)}if(["null","undefined"].includes(from)){from=null}const children=[];let n=0,stop=false,more=false;await this.storage.getChildren(path).next((childInfo=>{if(stop){more=true;return false}n++;const include=from!==null?childInfo.key>from:skip===0||n>skip;if(include){children.push(Object.assign({key:typeof childInfo.key==="string"?childInfo.key:childInfo.index,type:childInfo.valueTypeName,value:childInfo.value},typeof childInfo.address==="object"&&"pageNr"in childInfo.address&&{address:{pageNr:childInfo.address.pageNr,recordNr:childInfo.address.recordNr}}))}stop=limit>0&&children.length===limit})).catch((err=>{}));return{more:more,list:children}};switch(type){case"children":{return getChildren(path,args.limit,args.skip,args.from)}case"info":{const info={key:"",exists:false,type:"unknown",value:undefined,address:undefined,children:{count:0,more:false,list:[]}};const nodeInfo=await this.storage.getNodeInfo(path,{include_child_count:args.child_count===true});info.key=typeof nodeInfo.key!=="undefined"?nodeInfo.key:nodeInfo.index;info.exists=nodeInfo.exists;info.type=nodeInfo.exists?nodeInfo.valueTypeName:undefined;info.value=nodeInfo.value;info.address=typeof nodeInfo.address==="object"&&"pageNr"in nodeInfo.address?{pageNr:nodeInfo.address.pageNr,recordNr:nodeInfo.address.recordNr}:undefined;const isObjectOrArray=nodeInfo.exists&&nodeInfo.address&&[node_value_types_1.VALUE_TYPES.OBJECT,node_value_types_1.VALUE_TYPES.ARRAY].includes(nodeInfo.type);if(args.child_count===true){info.children={count:isObjectOrArray?nodeInfo.childCount:0}}else if(typeof args.child_limit==="number"&&args.child_limit>0){if(isObjectOrArray){info.children=await getChildren(path,args.child_limit,args.child_skip,args.child_from)}}return info}}}export(path,stream,options={format:"json",type_safe:true}){return this.storage.exportNode(path,stream,options)}import(path,read,options={format:"json",suppress_events:false,method:"set"}){return this.storage.importNode(path,read,options)}async setSchema(path,schema){return this.storage.setSchema(path,schema)}async getSchema(path){return this.storage.getSchema(path)}async getSchemas(){return this.storage.getSchemas()}async validateSchema(path,value,isUpdate){return this.storage.validateSchema(path,value,{updates:isUpdate})}async getMutations(filter){if(typeof this.storage.getMutations!=="function"){throw new Error("Used storage type does not support getMutations")}if(typeof filter!=="object"){throw new Error("No filter specified")}if(typeof filter.cursor!=="string"&&typeof filter.timestamp!=="number"){throw new Error("No cursor or timestamp given")}return this.storage.getMutations(filter)}async getChanges(filter){if(typeof this.storage.getChanges!=="function"){throw new Error("Used storage type does not support getChanges")}if(typeof filter!=="object"){throw new Error("No filter specified")}if(typeof filter.cursor!=="string"&&typeof filter.timestamp!=="number"){throw new Error("No cursor or timestamp given")}return this.storage.getChanges(filter)}}exports.LocalApi=LocalApi},{"./node-value-types":12,"./query":15,"./storage/binary":13,"./storage/custom":18,"./storage/mssql":13,"./storage/sqlite":13,"acebase-core":38}],4:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.AsyncTaskBatch=void 0;class AsyncTaskBatch{constructor(limit=1e3,options){this.limit=limit;this.options=options;this.added=0;this.scheduled=[];this.running=0;this.results=[];this.done=false}async execute(task,index){var _a,_b;try{this.running++;const result=await task();this.results[index]=result;this.running--;if(this.running===0&&this.scheduled.length===0){this.done=true;(_a=this.doneCallback)===null||_a===void 0?void 0:_a.call(this,this.results)}else if(this.scheduled.length>0){const next=this.scheduled.shift();this.execute(next.task,next.index)}}catch(err){this.done=true;(_b=this.errorCallback)===null||_b===void 0?void 0:_b.call(this,err)}}add(task){var _a;if(this.done){throw new Error(`Cannot add to a batch that has already finished. Use wait option and start batch processing manually if you are adding tasks in an async loop`)}const index=this.added++;if(((_a=this.options)===null||_a===void 0?void 0:_a.wait)!==true&&this.running{this.doneCallback=resolve;this.errorCallback=reject}));return this.results}}exports.AsyncTaskBatch=AsyncTaskBatch},{}],5:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.SchemaValidationError=exports.StorageSettings=exports.ICustomStorageNodeMetaData=exports.ICustomStorageNode=exports.CustomStorageHelpers=exports.CustomStorageSettings=exports.CustomStorageTransaction=exports.MSSQLStorageSettings=exports.SQLiteStorageSettings=exports.AceBaseStorageSettings=exports.IndexedDBStorageSettings=exports.LocalStorageSettings=exports.AceBaseLocalSettings=exports.AceBase=exports.PartialArray=exports.proxyAccess=exports.ID=exports.ObjectCollection=exports.TypeMappings=exports.PathReference=exports.EventSubscription=exports.EventStream=exports.DataReferencesArray=exports.DataSnapshotsArray=exports.DataReference=exports.DataSnapshot=void 0;const acebase_core_1=require("acebase-core");Object.defineProperty(exports,"DataReference",{enumerable:true,get:function(){return acebase_core_1.DataReference}});Object.defineProperty(exports,"DataSnapshot",{enumerable:true,get:function(){return acebase_core_1.DataSnapshot}});Object.defineProperty(exports,"EventSubscription",{enumerable:true,get:function(){return acebase_core_1.EventSubscription}});Object.defineProperty(exports,"PathReference",{enumerable:true,get:function(){return acebase_core_1.PathReference}});Object.defineProperty(exports,"TypeMappings",{enumerable:true,get:function(){return acebase_core_1.TypeMappings}});Object.defineProperty(exports,"ID",{enumerable:true,get:function(){return acebase_core_1.ID}});Object.defineProperty(exports,"proxyAccess",{enumerable:true,get:function(){return acebase_core_1.proxyAccess}});Object.defineProperty(exports,"DataSnapshotsArray",{enumerable:true,get:function(){return acebase_core_1.DataSnapshotsArray}});Object.defineProperty(exports,"ObjectCollection",{enumerable:true,get:function(){return acebase_core_1.ObjectCollection}});Object.defineProperty(exports,"DataReferencesArray",{enumerable:true,get:function(){return acebase_core_1.DataReferencesArray}});Object.defineProperty(exports,"EventStream",{enumerable:true,get:function(){return acebase_core_1.EventStream}});Object.defineProperty(exports,"PartialArray",{enumerable:true,get:function(){return acebase_core_1.PartialArray}});const acebase_local_1=require("./acebase-local");const acebase_browser_1=require("./acebase-browser");Object.defineProperty(exports,"AceBase",{enumerable:true,get:function(){return acebase_browser_1.BrowserAceBase}});const custom_1=require("./storage/custom");const acebase={AceBase:acebase_browser_1.BrowserAceBase,AceBaseLocalSettings:acebase_local_1.AceBaseLocalSettings,DataReference:acebase_core_1.DataReference,DataSnapshot:acebase_core_1.DataSnapshot,EventSubscription:acebase_core_1.EventSubscription,PathReference:acebase_core_1.PathReference,TypeMappings:acebase_core_1.TypeMappings,CustomStorageSettings:custom_1.CustomStorageSettings,CustomStorageTransaction:custom_1.CustomStorageTransaction,CustomStorageHelpers:custom_1.CustomStorageHelpers,ID:acebase_core_1.ID,proxyAccess:acebase_core_1.proxyAccess,DataSnapshotsArray:acebase_core_1.DataSnapshotsArray};window.acebase=acebase;window.AceBase=acebase_browser_1.BrowserAceBase;exports.default=acebase;var acebase_local_2=require("./acebase-local");Object.defineProperty(exports,"AceBaseLocalSettings",{enumerable:true,get:function(){return acebase_local_2.AceBaseLocalSettings}});Object.defineProperty(exports,"LocalStorageSettings",{enumerable:true,get:function(){return acebase_local_2.LocalStorageSettings}});Object.defineProperty(exports,"IndexedDBStorageSettings",{enumerable:true,get:function(){return acebase_local_2.IndexedDBStorageSettings}});var binary_1=require("./storage/binary");Object.defineProperty(exports,"AceBaseStorageSettings",{enumerable:true,get:function(){return binary_1.AceBaseStorageSettings}});var sqlite_1=require("./storage/sqlite");Object.defineProperty(exports,"SQLiteStorageSettings",{enumerable:true,get:function(){return sqlite_1.SQLiteStorageSettings}});var mssql_1=require("./storage/mssql");Object.defineProperty(exports,"MSSQLStorageSettings",{enumerable:true,get:function(){return mssql_1.MSSQLStorageSettings}});var custom_2=require("./storage/custom");Object.defineProperty(exports,"CustomStorageTransaction",{enumerable:true,get:function(){return custom_2.CustomStorageTransaction}});Object.defineProperty(exports,"CustomStorageSettings",{enumerable:true,get:function(){return custom_2.CustomStorageSettings}});Object.defineProperty(exports,"CustomStorageHelpers",{enumerable:true,get:function(){return custom_2.CustomStorageHelpers}});Object.defineProperty(exports,"ICustomStorageNode",{enumerable:true,get:function(){return custom_2.ICustomStorageNode}});Object.defineProperty(exports,"ICustomStorageNodeMetaData",{enumerable:true,get:function(){return custom_2.ICustomStorageNodeMetaData}});var storage_1=require("./storage");Object.defineProperty(exports,"StorageSettings",{enumerable:true,get:function(){return storage_1.StorageSettings}});Object.defineProperty(exports,"SchemaValidationError",{enumerable:true,get:function(){return storage_1.SchemaValidationError}})},{"./acebase-browser":1,"./acebase-local":2,"./storage":25,"./storage/binary":13,"./storage/custom":18,"./storage/mssql":13,"./storage/sqlite":13,"acebase-core":38}],6:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.IPCPeer=void 0;const acebase_core_1=require("acebase-core");const ipc_1=require("./ipc");class IPCPeer extends ipc_1.AceBaseIPCPeer{constructor(storage){super(storage,acebase_core_1.ID.generate());this.masterPeerId=this.id;this.ipcType="browser.bcc";window.addEventListener("beforeunload",(()=>{this.exit()}));if(typeof window.BroadcastChannel!=="undefined"){this.channel=new BroadcastChannel(`acebase:${storage.name}`)}else{const listeners=[null];const notImplemented=()=>{throw new Error("Not implemented")};this.channel={name:`acebase:${storage.name}`,postMessage:message=>{const messageId=acebase_core_1.ID.generate(),key=`acebase:${storage.name}:${this.id}:${messageId}`,payload=JSON.stringify(acebase_core_1.Transport.serialize(message));localStorage.setItem(key,payload);setTimeout((()=>localStorage.removeItem(key)),10)},set onmessage(handler){listeners[0]=handler},set onmessageerror(handler){notImplemented()},close(){notImplemented()},addEventListener(event,callback){if(event!=="message"){notImplemented()}listeners.push(callback)},removeEventListener(event,callback){const i=listeners.indexOf(callback);i>=1&&listeners.splice(i,1)},dispatchEvent(event){listeners.forEach((callback=>{try{callback&&callback(event)}catch(err){console.error(err)}}));return true}};window.addEventListener("storage",(event=>{const[acebase,dbname,peerId,messageId]=event.key.split(":");if(acebase!=="acebase"||dbname!==storage.name||peerId===this.id||event.newValue===null){return}const message=acebase_core_1.Transport.deserialize(JSON.parse(event.newValue));this.channel.dispatchEvent({data:message})}))}this.channel.addEventListener("message",(async event=>{const message=event.data;if(message.to&&message.to!==this.id){return}storage.debug.verbose(`[BroadcastChannel] received: `,message);if(message.type==="hello"&&message.frompeer.id)).concat(this.id).filter((id=>id!==this.masterPeerId));this.masterPeerId=allPeerIds.sort()[0];storage.debug.log(`[BroadcastChannel] ${this.masterPeerId===this.id?"We are":`tab ${this.masterPeerId} is`} the new master. Requesting ${this._locks.length} locks (${this._locks.filter((r=>!r.granted)).length} pending)`);const requests=this._locks.splice(0);await Promise.all(requests.filter((req=>req.granted)).map((async req=>{let released,movedToParent;req.lock.release=()=>new Promise((resolve=>released=resolve));req.lock.moveToParent=()=>new Promise((resolve=>movedToParent=resolve));const lock=await this.lock({path:req.lock.path,write:req.lock.forWriting,tid:req.lock.tid,comment:req.lock.comment});if(movedToParent){const newLock=await lock.moveToParent();movedToParent(newLock)}if(released){await lock.release();released()}})));await Promise.all(requests.filter((req=>!req.granted)).map((async req=>{await this.lock(req.request)})))}return this.handleMessage(message)}));const helloMsg={type:"hello",from:this.id,data:undefined};this.sendMessage(helloMsg)}sendMessage(message){this.storage.debug.verbose(`[BroadcastChannel] sending: `,message);this.channel.postMessage(message)}}exports.IPCPeer=IPCPeer},{"./ipc":7,"acebase-core":38}],7:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.AceBaseIPCPeer=exports.AceBaseIPCPeerExitingError=void 0;const acebase_core_1=require("acebase-core");const node_lock_1=require("../node-lock");class AceBaseIPCPeerExitingError extends Error{constructor(message){super(`Exiting: ${message}`)}}exports.AceBaseIPCPeerExitingError=AceBaseIPCPeerExitingError;class AceBaseIPCPeer extends acebase_core_1.SimpleEventEmitter{constructor(storage,id,dbname=storage.name){super();this.storage=storage;this.id=id;this.dbname=dbname;this.ipcType="ipc";this.ourSubscriptions=[];this.remoteSubscriptions=[];this.peers=[];this._exiting=false;this._locks=[];this._requests=new Map;this._eventsEnabled=true;this._nodeLocker=new node_lock_1.NodeLocker(storage.debug,storage.settings.lockTimeout);storage.on("subscribe",(subscription=>{storage.debug.verbose(`database subscription being added on peer ${this.id}`);const remoteSubscription=this.remoteSubscriptions.find((sub=>sub.callback===subscription.callback));if(remoteSubscription){return}const othersAlreadyNotifying=this.ourSubscriptions.some((sub=>sub.event===subscription.event&&sub.path===subscription.path));this.ourSubscriptions.push(subscription);if(othersAlreadyNotifying){return}const message={type:"subscribe",from:this.id,data:{path:subscription.path,event:subscription.event}};this.sendMessage(message)}));storage.on("unsubscribe",(subscription=>{const remoteSubscription=this.remoteSubscriptions.find((sub=>sub.callback===subscription.callback));if(remoteSubscription){this.remoteSubscriptions.splice(this.remoteSubscriptions.indexOf(remoteSubscription),1);return}this.ourSubscriptions.filter((sub=>sub.path===subscription.path&&(!subscription.event||sub.event===subscription.event)&&(!subscription.callback||sub.callback===subscription.callback))).forEach((sub=>{this.ourSubscriptions.splice(this.ourSubscriptions.indexOf(sub),1);const message={type:"unsubscribe",from:this.id,data:{path:sub.path,event:sub.event}};this.sendMessage(message)}))}))}get isMaster(){return this.masterPeerId===this.id}async exit(code=0){if(this._exiting){return this.once("exit")}this._exiting=true;this.storage.debug.warn(`Received ${this.isMaster?"master":"worker "+this.id} process exit request`);if(this._locks.length>0){this.storage.debug.warn(`Waiting for ${this.isMaster?"master":"worker"} ${this.id} locks to clear`);await this.once("locks-cleared")}this.sayGoodbye(this.id);this.storage.debug.warn(`${this.isMaster?"Master":"Worker "+this.id} will now exit`);this.emitOnce("exit",code)}sayGoodbye(forPeerId){const bye={type:"bye",from:forPeerId,data:undefined};this.sendMessage(bye)}addPeer(id,sendReply=true){if(this._exiting){return}const peer=this.peers.find((w=>w.id===id));if(!peer){this.peers.push({id:id,lastSeen:Date.now()})}if(sendReply){const helloMessage={type:"hello",from:this.id,to:id,data:undefined};this.sendMessage(helloMessage);this.ourSubscriptions.forEach((sub=>{const message={type:"subscribe",from:this.id,to:id,data:{path:sub.path,event:sub.event}};this.sendMessage(message)}))}}removePeer(id,ignoreUnknown=false){if(this._exiting){return}const peer=this.peers.find((peer=>peer.id===id));if(!peer){if(!ignoreUnknown){throw new Error(`We are supposed to know this peer!`)}return}this.peers.splice(this.peers.indexOf(peer),1);const subscriptions=this.remoteSubscriptions.filter((sub=>sub.for===id));subscriptions.forEach((sub=>{this.remoteSubscriptions.splice(this.remoteSubscriptions.indexOf(sub),1);this.storage.subscriptions.remove(sub.path,sub.event,sub.callback)}))}addRemoteSubscription(peerId,details){if(this._exiting){return}if(this.remoteSubscriptions.some((sub=>sub.for===peerId&&sub.event===details.event&&sub.path===details.path))){return}const subscribeCallback=(err,path,val,previous,context)=>{const eventMessage={type:"event",from:this.id,to:peerId,path:details.path,event:details.event,data:{path:path,val:val,previous:previous,context:context}};this.sendMessage(eventMessage)};this.remoteSubscriptions.push({for:peerId,event:details.event,path:details.path,callback:subscribeCallback});this.storage.subscriptions.add(details.path,details.event,subscribeCallback)}cancelRemoteSubscription(peerId,details){const sub=this.remoteSubscriptions.find((sub=>sub.for===peerId&&sub.event===details.event&&sub.path===details.event));if(!sub){return}this.storage.subscriptions.remove(details.path,details.event,sub.callback)}async handleMessage(message){switch(message.type){case"hello":return this.addPeer(message.from,message.to!==this.id);case"bye":return this.removePeer(message.from,true);case"subscribe":return this.addRemoteSubscription(message.from,message.data);case"unsubscribe":return this.cancelRemoteSubscription(message.from,message.data);case"event":{if(!this._eventsEnabled){break}const eventMessage=message;const context=eventMessage.data.context||{};context.acebase_ipc={type:this.ipcType,origin:eventMessage.from};const subscriptions=this.ourSubscriptions.filter((sub=>sub.event===eventMessage.event&&sub.path===eventMessage.path));subscriptions.forEach((sub=>{sub.callback(null,eventMessage.data.path,eventMessage.data.val,eventMessage.data.previous,context)}));break}case"lock-request":{if(!this.isMaster){throw new Error(`Workers are not supposed to receive lock requests!`)}const request=message;const result={type:"lock-result",id:request.id,from:this.id,to:request.from,ok:true,data:undefined};try{const lock=await this.lock(request.data);result.data={id:lock.id,path:lock.path,tid:lock.tid,write:lock.forWriting,expires:lock.expires,comment:lock.comment}}catch(err){result.ok=false;result.reason=err.stack||err.message||err}return this.sendMessage(result)}case"lock-result":{if(this.isMaster){throw new Error(`Masters are not supposed to receive results for lock requests!`)}const result=message;const request=this._requests.get(result.id);if(typeof request!=="object"){throw new Error(`The request must be known to us!`)}if(result.ok){request.resolve(result.data)}else{request.reject(new Error(result.reason))}return}case"unlock-request":{if(!this.isMaster){throw new Error(`Workers are not supposed to receive unlock requests!`)}const request=message;const result={type:"unlock-result",id:request.id,from:this.id,to:request.from,ok:true,data:{id:request.data.id}};try{const lockInfo=this._locks.find((l=>{var _a;return((_a=l.lock)===null||_a===void 0?void 0:_a.id)===request.data.id}));await lockInfo.lock.release()}catch(err){result.ok=false;result.reason=err.stack||err.message||err}return this.sendMessage(result)}case"unlock-result":{if(this.isMaster){throw new Error(`Masters are not supposed to receive results for unlock requests!`)}const result=message;const request=this._requests.get(result.id);if(typeof request!=="object"){throw new Error(`The request must be known to us!`)}if(result.ok){request.resolve(result.data)}else{request.reject(new Error(result.reason))}return}case"move-lock-request":{if(!this.isMaster){throw new Error(`Workers are not supposed to receive move lock requests!`)}const request=message;const result={type:"lock-result",id:request.id,from:this.id,to:request.from,ok:true,data:undefined};try{let movedLock;const lockRequest=this._locks.find((r=>{var _a;return((_a=r.lock)===null||_a===void 0?void 0:_a.id)===request.data.id}));if(request.data.move_to==="parent"){movedLock=await lockRequest.lock.moveToParent()}else{throw new Error(`Unknown lock move_to "${request.data.move_to}"`)}lockRequest.lock=movedLock;result.data={id:movedLock.id,path:movedLock.path,tid:movedLock.tid,write:movedLock.forWriting,expires:movedLock.expires,comment:movedLock.comment}}catch(err){result.ok=false;result.reason=err.stack||err.message||err}return this.sendMessage(result)}case"notification":{return this.emit("notification",message)}case"request":{return this.emit("request",message)}case"result":{const result=message;const request=this._requests.get(result.id);if(typeof request!=="object"){throw new Error(`Result of unknown request received`)}if(result.ok){request.resolve(result.data)}else{request.reject(new Error(result.reason))}}}}async lock(details){if(this._exiting){const tidApproved=this._locks.find((l=>l.tid===details.tid&&l.granted));if(!tidApproved){throw new AceBaseIPCPeerExitingError("new transaction lock denied because the IPC peer is exiting")}}const removeLock=lockDetails=>{this._locks.splice(this._locks.indexOf(lockDetails),1);if(this._locks.length===0){this.emit("locks-cleared")}};if(this.isMaster){const lockInfo={tid:details.tid,granted:false,request:details,lock:null};this._locks.push(lockInfo);const lock=await this._nodeLocker.lock(details.path,details.tid,details.write,details.comment);lockInfo.tid=lock.tid;lockInfo.granted=true;const createIPCLock=lock=>({get id(){return lock.id},get tid(){return lock.tid},get path(){return lock.path},get forWriting(){return lock.forWriting},get expires(){return lock.expires},get comment(){return lock.comment},get state(){return lock.state},release:async()=>{await lock.release();removeLock(lockInfo)},moveToParent:async()=>{const parentLock=await lock.moveToParent();lockInfo.lock=createIPCLock(parentLock);return lockInfo.lock}});lockInfo.lock=createIPCLock(lock);return lockInfo.lock}else{const lockInfo={tid:details.tid,granted:false,request:details,lock:null};this._locks.push(lockInfo);const createIPCLock=result=>{lockInfo.granted=true;lockInfo.tid=result.tid;lockInfo.lock={id:result.id,tid:result.tid,path:result.path,forWriting:result.write,state:node_lock_1.LOCK_STATE.LOCKED,expires:result.expires,comment:result.comment,release:async()=>{const req={type:"unlock-request",id:acebase_core_1.ID.generate(),from:this.id,to:this.masterPeerId,data:{id:lockInfo.lock.id}};await this.request(req);lockInfo.lock.state=node_lock_1.LOCK_STATE.DONE;this.storage.debug.verbose(`Worker ${this.id} released lock ${lockInfo.lock.id} (tid ${lockInfo.lock.tid}, ${lockInfo.lock.comment}, "/${lockInfo.lock.path}", ${lockInfo.lock.forWriting?"write":"read"})`);removeLock(lockInfo)},moveToParent:async()=>{const req={type:"move-lock-request",id:acebase_core_1.ID.generate(),from:this.id,to:this.masterPeerId,data:{id:lockInfo.lock.id,move_to:"parent"}};let result;try{result=await this.request(req)}catch(err){lockInfo.lock.state=node_lock_1.LOCK_STATE.DONE;removeLock(lockInfo);throw err}lockInfo.lock=createIPCLock(result);return lockInfo.lock}};return lockInfo.lock};const req={type:"lock-request",id:acebase_core_1.ID.generate(),from:this.id,to:this.masterPeerId,data:details};let result,err;try{result=await this.request(req)}catch(e){err=e;result=null}if(err){removeLock(lockInfo);throw err}return createIPCLock(result)}}async request(req){let resolve,reject;const promise=new Promise(((rs,rj)=>{resolve=result=>{this._requests.delete(req.id);rs(result)};reject=err=>{this._requests.delete(req.id);rj(err)}}));this._requests.set(req.id,{resolve:resolve,reject:reject,request:req});this.sendMessage(req);return promise}sendRequest(request){const req={type:"request",from:this.id,to:this.masterPeerId,id:acebase_core_1.ID.generate(),data:request};return this.request(req).catch((err=>{this.storage.debug.error(err);throw err}))}replyRequest(requestMessage,result){const reply={type:"result",id:requestMessage.id,ok:true,from:this.id,to:requestMessage.from,data:result};this.sendMessage(reply)}sendNotification(notification){const msg={type:"notification",from:this.id,data:notification};this.sendMessage(msg)}get eventsEnabled(){return this._eventsEnabled}set eventsEnabled(enabled){this.storage.debug.log(`ipc events ${enabled?"enabled":"disabled"}`);this._eventsEnabled=enabled}}exports.AceBaseIPCPeer=AceBaseIPCPeer},{"../node-lock":11,"acebase-core":38}],8:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.RemovedNodeAddress=exports.NodeAddress=void 0;class NodeAddress{constructor(path){this.path=path}toString(){return`"/${this.path}"`}equals(address){return this.path===address.path}}exports.NodeAddress=NodeAddress;class RemovedNodeAddress extends NodeAddress{constructor(path){super(path)}toString(){return`"/${this.path}" (removed)`}equals(address){return address instanceof RemovedNodeAddress&&this.path===address.path}}exports.RemovedNodeAddress=RemovedNodeAddress},{}],9:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.NodeRevisionError=exports.NodeNotFoundError=void 0;class NodeNotFoundError extends Error{}exports.NodeNotFoundError=NodeNotFoundError;class NodeRevisionError extends Error{}exports.NodeRevisionError=NodeRevisionError},{}],10:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.NodeInfo=void 0;const node_value_types_1=require("./node-value-types");const acebase_core_1=require("acebase-core");class NodeInfo{constructor(info){this.path=info.path;this.type=info.type;this.index=info.index;this.key=info.key;this.exists=info.exists;this.address=info.address;this.value=info.value;this.childCount=info.childCount;if(typeof this.path==="string"&&(typeof this.key==="undefined"&&typeof this.index==="undefined")){const pathInfo=acebase_core_1.PathInfo.get(this.path);if(typeof pathInfo.key==="number"){this.index=pathInfo.key}else{this.key=pathInfo.key}}if(typeof this.exists==="undefined"){this.exists=true}}get valueType(){return this.type}get valueTypeName(){return(0,node_value_types_1.getValueTypeName)(this.valueType)}toString(){if(!this.exists){return`"${this.path}" doesn't exist`}if(this.address){return`"${this.path}" is ${this.valueTypeName} stored at ${this.address.toString()}`}else{return`"${this.path}" is ${this.valueTypeName} with value ${this.value}`}}}exports.NodeInfo=NodeInfo},{"./node-value-types":12,"acebase-core":38}],11:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.NodeLock=exports.NodeLocker=exports.LOCK_STATE=void 0;const acebase_core_1=require("acebase-core");const DEBUG_MODE=false;const DEFAULT_LOCK_TIMEOUT=120;exports.LOCK_STATE={PENDING:"pending",LOCKED:"locked",EXPIRED:"expired",DONE:"done"};class NodeLocker{constructor(debug,lockTimeout=DEFAULT_LOCK_TIMEOUT){this._locks=[];this._lastTid=0;this.debug=debug;this.timeout=lockTimeout*1e3}setTimeout(timeout){this.timeout=timeout*1e3}createTid(){return DEBUG_MODE?++this._lastTid:acebase_core_1.ID.generate()}_allowLock(path,tid,forWriting){const conflict=this._locks.find((otherLock=>otherLock.tid!==tid&&otherLock.state===exports.LOCK_STATE.LOCKED&&(forWriting||otherLock.forWriting)));return{allow:!conflict,conflict:conflict}}quit(){return new Promise((resolve=>{if(this._locks.length===0){return resolve()}this._quit=resolve}))}_rejectLock(lock,err){this._locks.splice(this._locks.indexOf(lock),1);clearTimeout(lock.timeout);try{lock.reject(err)}catch(err){console.error(`Unhandled promise rejection:`,err)}}_processLockQueue(){if(this._quit){const quitError=new Error("Quitting");this._locks.filter((lock=>lock.state===exports.LOCK_STATE.PENDING)).forEach((lock=>this._rejectLock(lock,quitError)));if(this._locks.length===0){this._quit()}}const pending=this._locks.filter((lock=>lock.state===exports.LOCK_STATE.PENDING)).sort(((a,b)=>{if(a.priority&&!b.priority){return-1}else if(!a.priority&&b.priority){return 1}return a.requested-b.requested}));pending.forEach((lock=>{const check=this._allowLock(lock.path,lock.tid,lock.forWriting);lock.waitingFor=check.conflict||null;if(check.allow){this.lock(lock).then(lock.resolve).catch((err=>this._rejectLock(lock,err)))}}))}async lock(path,tid,forWriting=true,comment="",options={withPriority:false,noTimeout:false}){let lock,proceed;if(path instanceof NodeLock){lock=path;proceed=true}else if(this._locks.findIndex((l=>l.tid===tid&&l.state===exports.LOCK_STATE.EXPIRED))>=0){throw new Error(`lock on tid ${tid} has expired, not allowed to continue`)}else if(this._quit&&!options.withPriority){throw new Error(`Quitting`)}else{DEBUG_MODE&&console.error(`${forWriting?"write":"read"} lock requested on "${path}" by tid ${tid} (${comment})`);lock=new NodeLock(this,path,tid,forWriting,options.withPriority===true);lock.comment=comment;this._locks.push(lock);const check=this._allowLock(path,tid,forWriting);lock.waitingFor=check.conflict||null;proceed=check.allow}if(proceed){DEBUG_MODE&&console.error(`${lock.forWriting?"write":"read"} lock ALLOWED on "${lock.path}" by tid ${lock.tid} (${lock.comment})`);lock.state=exports.LOCK_STATE.LOCKED;if(typeof lock.granted==="number"){}else{lock.granted=Date.now();if(options.noTimeout!==true){lock.expires=Date.now()+this.timeout;let timeoutCount=0;const timeoutHandler=()=>{if(lock.state!==exports.LOCK_STATE.LOCKED){return}timeoutCount++;if(timeoutCount<=3){this.debug.warn(`${lock.forWriting?"write":"read"} lock on path "/${lock.path}" by tid ${lock.tid} (${lock.comment}) is taking a long time to complete [${timeoutCount}]`);lock.timeout=setTimeout(timeoutHandler,this.timeout/4);return}this.debug.error(`lock :: ${lock.forWriting?"write":"read"} lock on path "/${lock.path}" by tid ${lock.tid} (${lock.comment}) took too long`);lock.state=exports.LOCK_STATE.EXPIRED;this._processLockQueue()};lock.timeout=setTimeout(timeoutHandler,this.timeout/4)}}return lock}else{console.assert(lock.state===exports.LOCK_STATE.PENDING);return new Promise(((resolve,reject)=>{lock.resolve=resolve;lock.reject=reject}))}}unlock(lockOrId,comment,processQueue=true){let lock,i;if(lockOrId instanceof NodeLock){lock=lockOrId;i=this._locks.indexOf(lock)}else{const id=lockOrId;i=this._locks.findIndex((l=>l.id===id));lock=this._locks[i]}if(i<0){const msg=`lock on "/${lock.path}" for tid ${lock.tid} wasn't found; ${comment}`;throw new Error(msg)}lock.state=exports.LOCK_STATE.DONE;clearTimeout(lock.timeout);this._locks.splice(i,1);DEBUG_MODE&&console.error(`${lock.forWriting?"write":"read"} lock RELEASED on "${lock.path}" by tid ${lock.tid}`);processQueue&&this._processLockQueue();return lock}list(){return this._locks||[]}isAllowed(path,tid,forWriting){return this._allowLock(path,tid,forWriting).allow}}exports.NodeLocker=NodeLocker;let lastid=0;class NodeLock{constructor(locker,path,tid,forWriting,priority=false){this.locker=locker;this.path=path;this.tid=tid;this.forWriting=forWriting;this.priority=priority;this.state=exports.LOCK_STATE.PENDING;this.requested=Date.now();this.comment="";this.waitingFor=null;this.id=++lastid;this.history=[]}static get LOCK_STATE(){return exports.LOCK_STATE}async release(comment){this.history.push({action:"release",path:this.path,forWriting:this.forWriting,comment:comment});return this.locker.unlock(this,comment||this.comment)}async moveToParent(){const parentPath=acebase_core_1.PathInfo.get(this.path).parentPath;const allowed=this.locker.isAllowed(parentPath,this.tid,this.forWriting);if(allowed){DEBUG_MODE&&console.error(`moveToParent ALLOWED for ${this.forWriting?"write":"read"} lock on "${this.path}" by tid ${this.tid} (${this.comment})`);this.history.push({path:this.path,forWriting:this.forWriting,action:"moving to parent"});this.waitingFor=null;this.path=parentPath;return this}else{DEBUG_MODE&&console.error(`moveToParent QUEUED for ${this.forWriting?"write":"read"} lock on "${this.path}" by tid ${this.tid} (${this.comment})`);this.locker.unlock(this,`moveLockToParent: ${this.comment}`,false);const newLock=await this.locker.lock(parentPath,this.tid,this.forWriting,this.comment,{withPriority:true});DEBUG_MODE&&console.error(`QUEUED moveToParent ALLOWED for ${this.forWriting?"write":"read"} lock on "${this.path}" by tid ${this.tid} (${this.comment})`);newLock.history=this.history;newLock.history.push({path:this.path,forWriting:this.forWriting,action:"moving to parent through queue (priority)"});return newLock}}}exports.NodeLock=NodeLock},{"acebase-core":38}],12:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getValueType=exports.getNodeValueType=exports.getValueTypeName=exports.VALUE_TYPES=void 0;const acebase_core_1=require("acebase-core");exports.VALUE_TYPES=Object.freeze({OBJECT:1,ARRAY:2,NUMBER:3,BOOLEAN:4,STRING:5,BIGINT:7,DATETIME:6,BINARY:8,REFERENCE:9});function getValueTypeName(valueType){switch(valueType){case exports.VALUE_TYPES.ARRAY:return"array";case exports.VALUE_TYPES.BINARY:return"binary";case exports.VALUE_TYPES.BOOLEAN:return"boolean";case exports.VALUE_TYPES.DATETIME:return"date";case exports.VALUE_TYPES.NUMBER:return"number";case exports.VALUE_TYPES.OBJECT:return"object";case exports.VALUE_TYPES.REFERENCE:return"reference";case exports.VALUE_TYPES.STRING:return"string";case exports.VALUE_TYPES.BIGINT:return"bigint";default:"unknown"}}exports.getValueTypeName=getValueTypeName;function getNodeValueType(value){if(value instanceof Array){return exports.VALUE_TYPES.ARRAY}else if(value instanceof acebase_core_1.PathReference){return exports.VALUE_TYPES.REFERENCE}else if(value instanceof ArrayBuffer){return exports.VALUE_TYPES.BINARY}else if(typeof value==="string"){return exports.VALUE_TYPES.STRING}else if(typeof value==="object"){return exports.VALUE_TYPES.OBJECT}else if(typeof value==="bigint"){return exports.VALUE_TYPES.BIGINT}throw new Error(`Invalid value for standalone node: ${value}`)}exports.getNodeValueType=getNodeValueType;function getValueType(value){if(value instanceof Array){return exports.VALUE_TYPES.ARRAY}else if(value instanceof acebase_core_1.PathReference){return exports.VALUE_TYPES.REFERENCE}else if(value instanceof ArrayBuffer){return exports.VALUE_TYPES.BINARY}else if(value instanceof Date){return exports.VALUE_TYPES.DATETIME}else if(typeof value==="string"){return exports.VALUE_TYPES.STRING}else if(typeof value==="object"){return exports.VALUE_TYPES.OBJECT}else if(typeof value==="number"){return exports.VALUE_TYPES.NUMBER}else if(typeof value==="boolean"){return exports.VALUE_TYPES.BOOLEAN}else if(typeof value==="bigint"){return exports.VALUE_TYPES.BIGINT}throw new Error(`Unknown value type: ${value}`)}exports.getValueType=getValueType},{"acebase-core":38}],13:[function(require,module,exports){},{}],14:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.pfs=void 0;class pfs{static get hasFileSystem(){return false}static get fs(){return null}}exports.pfs=pfs},{}],15:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.query=void 0;const acebase_core_1=require("acebase-core");const node_value_types_1=require("./node-value-types");const node_errors_1=require("./node-errors");const data_index_1=require("./data-index");const async_task_batch_1=require("./async-task-batch");const noop=()=>{};function query(api,path,query,options={snapshots:false,include:undefined,exclude:undefined,child_objects:undefined,eventHandler:noop}){var _a;if(typeof options!=="object"){options={}}if(typeof options.snapshots==="undefined"){options.snapshots=false}const context={};if((_a=api.storage.settings.transactions)===null||_a===void 0?void 0:_a.log){context.acebase_cursor=acebase_core_1.ID.generate()}const queryFilters=query.filters.map((f=>Object.assign({},f)));const querySort=query.order.map((s=>Object.assign({},s)));const sortMatches=matches=>{matches.sort(((a,b)=>{const compare=i=>{const o=querySort[i];const trailKeys=acebase_core_1.PathInfo.getPathKeys(typeof o.key==="number"?`[${o.key}]`:o.key);const left=trailKeys.reduce(((val,key)=>val!==null&&typeof val==="object"&&key in val?val[key]:null),a.val);const right=trailKeys.reduce(((val,key)=>val!==null&&typeof val==="object"&&key in val?val[key]:null),b.val);if(left===null){return right===null?0:o.ascending?-1:1}if(right===null){return o.ascending?1:-1}if(left==right){if(i{if(preResults.length===0){return[]}const maxBatchSize=50;const batch=new async_task_batch_1.AsyncTaskBatch(maxBatchSize);const results=[];preResults.forEach((({path:path},index)=>batch.add((async()=>{const node=await api.storage.getNode(path,options);const val=node.value;if(val===null){api.storage.debug.warn(`Indexed result "/${path}" does not have a record!`);return}const result={path:path,val:val};if(stepsExecuted.sorted){results[index]=result}else{results.push(result);if(!stepsExecuted.skipped&&results.length>query.skip+Math.abs(query.take)){sortMatches(results);results.pop()}}}))));await batch.finish();return results};const pathInfo=acebase_core_1.PathInfo.get(path);const isWildcardPath=pathInfo.keys.some((key=>key==="*"||key.toString().startsWith("$")));const availableIndexes=api.storage.indexes.get(path);const usingIndexes=[];if(isWildcardPath){if(availableIndexes.length===0){const err=new Error(`Query on wildcard path "/${path}" requires an index`);return Promise.reject(err)}if(queryFilters.length===0){const index=availableIndexes.filter((index=>index.type==="normal"))[0];queryFilters.push({key:index.key,op:"!=",compare:null})}}queryFilters.forEach((filter=>{if(filter.index){return}const indexesOnKey=availableIndexes.filter((index=>index.key===filter.key)).filter((index=>index.validOperators.includes(filter.op)));if(indexesOnKey.length>=1){const otherFilterKeys=queryFilters.filter((f=>f!==filter)).map((f=>f.key));const sortKeys=querySort.map((o=>o.key)).filter((key=>key!==filter.key));const beneficialIndexes=indexesOnKey.map((index=>{const availableKeys=index.includeKeys.concat(index.key);const forOtherFilters=availableKeys.filter((key=>otherFilterKeys.includes(key)));const forSorting=availableKeys.filter((key=>sortKeys.includes(key)));const forBoth=forOtherFilters.concat(forSorting.filter((index=>!forOtherFilters.includes(index))));const points={filters:forOtherFilters.length,sorting:forSorting.length*(query.take!==0?forSorting.length:1),both:forBoth.length*forBoth.length,get total(){return this.filters+this.sorting+this.both}};return{index:index,points:points.total,filterKeys:forOtherFilters,sortKeys:forSorting}}));beneficialIndexes.sort(((a,b)=>a.points>b.points?-1:1));const bestBenificialIndex=beneficialIndexes[0];filter.index=bestBenificialIndex.index;bestBenificialIndex.filterKeys.forEach((key=>{queryFilters.filter((f=>f!==filter&&f.key===key)).forEach((f=>{if(!data_index_1.DataIndex.validOperators.includes(f.op)){return}f.indexUsage="filter";f.index=bestBenificialIndex.index}))}));bestBenificialIndex.sortKeys.forEach((key=>{querySort.filter((s=>s.key===key)).forEach((s=>{s.index=bestBenificialIndex.index}))}))}if(filter.index){usingIndexes.push({index:filter.index,description:filter.index.description})}}));if(querySort.length>0&&query.take!==0&&queryFilters.length===0){querySort.forEach((sort=>{if(sort.index){return}sort.index=availableIndexes.filter((index=>index.key===sort.key)).find((index=>index.type==="normal"))}))}const indexDescriptions=usingIndexes.map((index=>index.description)).join(", ");usingIndexes.length>0&&api.storage.debug.log(`Using indexes for query: ${indexDescriptions}`);const tableScanFilters=queryFilters.filter((filter=>!filter.index));const specialOpsRegex=/^[a-z]+:/i;if(tableScanFilters.some((filter=>specialOpsRegex.test(filter.op)))){const f=tableScanFilters.find((filter=>specialOpsRegex.test(filter.op)));const err=new Error(`query contains operator "${f.op}" which requires a special index that was not found on path "${path}", key "${f.key}"`);return Promise.reject(err)}const allowedTableScanOperators=["<","<=","==","!=",">=",">","like","!like","in","!in","matches","!matches","between","!between","has","!has","contains","!contains","exists","!exists"];for(let i=0;i0){const keys=tableScanFilters.reduce(((keys,f)=>{if(keys.indexOf(f.key)<0){keys.push(f.key)}return keys}),[]).map((key=>`"${key}"`));const err=new Error(`This wildcard path query on "/${path}" requires index(es) on key(s): ${keys.join(", ")}. Create the index(es) and retry`);return Promise.reject(err)}const indexScanPromises=[];queryFilters.forEach((filter=>{if(filter.index&&filter.indexUsage!=="filter"){let promise=filter.index.query(filter.op,filter.compare).then((results=>{options.eventHandler&&options.eventHandler({name:"stats",type:"index_query",source:filter.index.description,stats:results.stats});if(results.hints.length>0){options.eventHandler&&options.eventHandler({name:"hints",type:"index_query",source:filter.index.description,hints:results.hints})}return results}));const resultFilters=queryFilters.filter((f=>f.index===filter.index&&f.indexUsage==="filter"));if(resultFilters.length>0){promise=promise.then((results=>{resultFilters.forEach((filter=>{const{key:key,op:op,index:index}=filter;let{compare:compare}=filter;if(typeof compare==="string"&&!index.caseSensitive){compare=compare.toLocaleLowerCase(index.textLocale)}results=results.filterMetadata(key,op,compare)}));return results}))}indexScanPromises.push(promise)}}));const stepsExecuted={filtered:queryFilters.length===0,skipped:query.skip===0,taken:query.take===0,sorted:querySort.length===0,preDataLoaded:false,dataLoaded:false};if(queryFilters.length===0&&query.take===0){api.storage.debug.warn(`Filterless queries must use .take to limit the results. Defaulting to 100 for query on path "${path}"`);query.take=100}if(querySort.length>0&&querySort[0].index){const sortIndex=querySort[0].index;const ascending=query.take<0?!querySort[0].ascending:querySort[0].ascending;if(queryFilters.length===0&&querySort.slice(1).every((s=>sortIndex.allMetadataKeys.includes(s.key)))){api.storage.debug.log(`Using index for sorting: ${sortIndex.description}`);const metadataSort=querySort.slice(1).map((s=>{s.index=sortIndex;return{key:s.key,ascending:s.ascending}}));const promise=sortIndex.take(query.skip,Math.abs(query.take),{ascending:ascending,metadataSort:metadataSort}).then((results=>{options.eventHandler&&options.eventHandler({name:"stats",type:"sort_index_take",source:sortIndex.description,stats:results.stats});if(results.hints.length>0){options.eventHandler&&options.eventHandler({name:"hints",type:"sort_index_take",source:sortIndex.description,hints:results.hints})}return results}));indexScanPromises.push(promise);stepsExecuted.skipped=true;stepsExecuted.taken=true;stepsExecuted.sorted=true}}return Promise.all(indexScanPromises).then((async indexResultSets=>{let indexedResults=[];if(indexResultSets.length===1){const resultSet=indexResultSets[0];indexedResults=resultSet.map((match=>{const result={key:match.key,path:match.path,val:{[resultSet.filterKey]:match.value}};match.metadata&&Object.assign(result.val,match.metadata);return result}));stepsExecuted.filtered=true}else if(indexResultSets.length>1){indexResultSets.sort(((a,b)=>a.length{const result={key:match.key,path:match.path,val:{[shortestSet.filterKey]:match.value}};const matchedInAllSets=otherSets.every((set=>set.findIndex((m=>m.path===match.path))>=0));if(matchedInAllSets){match.metadata&&Object.assign(result.val,match.metadata);otherSets.forEach((set=>{const otherResult=set.find((r=>r.path===result.path));result.val[set.filterKey]=otherResult.value;otherResult.metadata&&Object.assign(result.val,otherResult.metadata)}));results.push(result)}return results}),[]);stepsExecuted.filtered=true}if(isWildcardPath||indexScanPromises.length>0&&tableScanFilters.length===0){if(querySort.length===0||querySort.every((o=>o.index))){stepsExecuted.preDataLoaded=true;if(!stepsExecuted.sorted&&querySort.length>0){sortMatches(indexedResults)}stepsExecuted.sorted=true;if(!stepsExecuted.skipped&&query.skip>0){indexedResults=query.take<0?indexedResults.slice(0,-query.skip):indexedResults.slice(query.skip)}if(!stepsExecuted.taken&&query.take!==0){indexedResults=query.take<0?indexedResults.slice(query.take):indexedResults.slice(0,query.take)}stepsExecuted.skipped=true;stepsExecuted.taken=true;if(!options.snapshots){return indexedResults}const childOptions={include:options.include,exclude:options.exclude,child_objects:options.child_objects};return loadResultsData(indexedResults,childOptions).then((results=>{stepsExecuted.dataLoaded=true;return results}))}if(options.snapshots||!stepsExecuted.sorted){const loadPartialResults=querySort.length>0;const childOptions=loadPartialResults?{include:querySort.map((order=>order.key))}:{include:options.include,exclude:options.exclude,child_objects:options.child_objects};return loadResultsData(indexedResults,childOptions).then((results=>{if(querySort.length>0){sortMatches(results)}stepsExecuted.sorted=true;if(query.skip>0){results=query.take<0?results.slice(0,-query.skip):results.slice(query.skip)}if(query.take!==0){results=query.take<0?results.slice(query.take):results.slice(0,query.take)}stepsExecuted.skipped=true;stepsExecuted.taken=true;if(options.snapshots&&loadPartialResults){return loadResultsData(results,{include:options.include,exclude:options.exclude,child_objects:options.child_objects})}return results}))}else{return indexedResults}}let indexKeyFilter;if(indexedResults.length>0){indexKeyFilter=indexedResults.map((result=>result.key))}let matches=[];let preliminaryStop=false;const loadPartialData=querySort.length>0;const childOptions=loadPartialData?{include:querySort.map((order=>order.key))}:{include:options.include,exclude:options.exclude,child_objects:options.child_objects};const batch={promises:[],add(promise){this.promises.push(promise);if(this.promises.length>=1e3){return Promise.all(this.promises.splice(0)).then((_=>undefined))}}};try{await api.storage.getChildren(path,{keyFilter:indexKeyFilter,async:true}).next((child=>{if(child.type!==node_value_types_1.VALUE_TYPES.OBJECT){return}if(!child.address){return}if(preliminaryStop){return false}const matchNode=async()=>{const isMatch=await api.storage.matchNode(child.address.path,tableScanFilters);if(!isMatch){return}const childPath=child.address.path;let result;if(options.snapshots||querySort.length>0){const node=await api.storage.getNode(childPath,childOptions);result={path:childPath,val:node.value}}else{result={path:childPath}}matches.push(result);if(query.take!==0&&matches.length>Math.abs(query.take)+query.skip){if(querySort.length>0){sortMatches(matches)}else if(query.take>0){preliminaryStop=true}matches.pop()}};const p=batch.add(matchNode());if(p instanceof Promise){return p}}))}catch(reason){if(!(reason instanceof node_errors_1.NodeNotFoundError)){api.storage.debug.warn(`Error getting child stream: ${reason}`)}return[]}await Promise.all(batch.promises);stepsExecuted.preDataLoaded=loadPartialData;stepsExecuted.dataLoaded=!loadPartialData;if(querySort.length>0){sortMatches(matches)}stepsExecuted.sorted=true;if(query.skip>0){matches=query.take<0?matches.slice(0,-query.skip):matches.slice(query.skip)}stepsExecuted.skipped=true;if(query.take!==0){matches=query.take<0?matches.slice(query.take):matches.slice(0,query.take)}stepsExecuted.taken=true;if(!stepsExecuted.dataLoaded){matches=await loadResultsData(matches,{include:options.include,exclude:options.exclude,child_objects:options.child_objects});stepsExecuted.dataLoaded=true}return matches})).then((matches=>{if(!stepsExecuted.sorted&&querySort.length>0){sortMatches(matches)}if(!options.snapshots){matches=matches.map((match=>match.path))}if(!stepsExecuted.skipped&&query.skip>0){matches=query.take<0?matches.slice(0,-query.skip):matches.slice(query.skip)}if(!stepsExecuted.taken&&query.take!==0){matches=query.take<0?matches.slice(query.take):matches.slice(0,query.take)}if(options.monitor===true){options.monitor={add:true,change:true,remove:true}}let stop=async()=>{};if(typeof options.monitor==="object"&&(options.monitor.add||options.monitor.change||options.monitor.remove)){const matchedPaths=options.snapshots?matches.map((match=>match.path)):matches.slice();const ref=api.db.ref(path);const removeMatch=path=>{const index=matchedPaths.indexOf(path);if(index<0){return}matchedPaths.splice(index,1)};const addMatch=path=>{if(matchedPaths.includes(path)){return}matchedPaths.push(path)};const stopMonitoring=()=>{api.unsubscribe(ref.path,"child_changed",childChangedCallback);api.unsubscribe(ref.path,"child_added",childAddedCallback);api.unsubscribe(ref.path,"notify_child_removed",childRemovedCallback)};stop=async()=>{stopMonitoring()};const childChangedCallback=async(err,path,newValue,oldValue)=>{const wasMatch=matchedPaths.includes(path);let keepMonitoring=true;const checkKeys=[];queryFilters.forEach((f=>!checkKeys.includes(f.key)&&checkKeys.push(f.key)));const seenKeys=[];typeof oldValue==="object"&&Object.keys(oldValue).forEach((key=>!seenKeys.includes(key)&&seenKeys.push(key)));typeof newValue==="object"&&Object.keys(newValue).forEach((key=>!seenKeys.includes(key)&&seenKeys.push(key)));const missingKeys=[];let isMatch=seenKeys.every((key=>{if(!checkKeys.includes(key)){return true}const filters=queryFilters.filter((filter=>filter.key===key));return filters.every((filter=>{var _a;if(((_a=filter.index)===null||_a===void 0?void 0:_a.textLocaleKey)&&!seenKeys.includes(filter.index.textLocaleKey)){missingKeys.push(filter.index.textLocaleKey);return true}else if(allowedTableScanOperators.includes(filter.op)){return api.storage.test(newValue[key],filter.op,filter.compare)}else{return filter.index.test(newValue,filter.op,filter.compare)}}))}));if(isMatch){missingKeys.push(...checkKeys.filter((key=>!seenKeys.includes(key))));if(!wasMatch&&missingKeys.length>0){const filterQueue=queryFilters.filter((f=>missingKeys.includes(f.key)));const simpleFilters=filterQueue.filter((f=>allowedTableScanOperators.includes(f.op)));const indexFilters=filterQueue.filter((f=>!allowedTableScanOperators.includes(f.op)));if(simpleFilters.length>0){isMatch=await api.storage.matchNode(path,simpleFilters)}if(isMatch&&indexFilters.length>0){const keysToLoad=indexFilters.reduce(((keys,filter)=>{if(!keys.includes(filter.key)){keys.push(filter.key)}if(filter.index instanceof data_index_1.FullTextIndex&&filter.index.config.localeKey&&!keys.includes(filter.index.config.localeKey)){keys.push(filter.index.config.localeKey)}return keys}),[]);const node=await api.storage.getNode(path,{include:keysToLoad});if(node.value===null){return false}isMatch=indexFilters.every((filter=>filter.index.test(node.value,filter.op,filter.compare)))}}}if(isMatch){if(!wasMatch){addMatch(path)}if(options.snapshots){const loadOptions={include:options.include,exclude:options.exclude,child_objects:options.child_objects};const node=await api.storage.getNode(path,loadOptions);newValue=node.value}if(wasMatch&&options.monitor.change){keepMonitoring=options.eventHandler({name:"change",path:path,value:newValue})!==false}else if(!wasMatch&&options.monitor.add){keepMonitoring=options.eventHandler({name:"add",path:path,value:newValue})!==false}}else if(wasMatch){removeMatch(path);if(options.monitor.remove){keepMonitoring=options.eventHandler({name:"remove",path:path,value:oldValue})!==false}}if(keepMonitoring===false){stopMonitoring()}};const childAddedCallback=(err,path,newValue)=>{const isMatch=queryFilters.every((filter=>{if(allowedTableScanOperators.includes(filter.op)){return api.storage.test(newValue[filter.key],filter.op,filter.compare)}else{return filter.index.test(newValue,filter.op,filter.compare)}}));let keepMonitoring=true;if(isMatch){addMatch(path);if(options.monitor.add){keepMonitoring=options.eventHandler({name:"add",path:path,value:options.snapshots?newValue:null})!==false}}if(keepMonitoring===false){stopMonitoring()}};const childRemovedCallback=(err,path,newValue,oldValue)=>{let keepMonitoring=true;removeMatch(path);if(options.monitor.remove){keepMonitoring=options.eventHandler({name:"remove",path:path,value:options.snapshots?oldValue:null})!==false}if(keepMonitoring===false){stopMonitoring()}};if(options.monitor.add||options.monitor.change||options.monitor.remove){api.subscribe(ref.path,"child_changed",childChangedCallback)}if(options.monitor.remove){api.subscribe(ref.path,"notify_child_removed",childRemovedCallback)}if(options.monitor.add){api.subscribe(ref.path,"child_added",childAddedCallback)}}return{results:matches,context:context,stop:stop}}))}exports.query=query},{"./async-task-batch":4,"./data-index":13,"./node-errors":9,"./node-value-types":12,"acebase-core":38}],16:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createIndex=void 0;const acebase_core_1=require("acebase-core");const data_index_1=require("../data-index");const promise_fs_1=require("../promise-fs");async function createIndex(context,path,key,options){if(!context.storage.indexes.supported){throw new Error("Indexes are not supported in current environment because it requires Node.js fs")}const{ipc:ipc,debug:debug,indexes:indexes,storage:storage}=context;const rebuild=options&&options.rebuild===true;const indexType=options&&options.type||"normal";let includeKeys=options&&options.include||[];if(typeof includeKeys==="string"){includeKeys=[includeKeys]}const existingIndex=indexes.find((index=>index.path===path&&index.key===key&&index.type===indexType&&index.includeKeys.length===includeKeys.length&&index.includeKeys.every(((key,index)=>includeKeys[index]===key))));if(existingIndex&&options.config){existingIndex.config=options.config}if(existingIndex&&rebuild!==true){debug.log(`Index on "/${path}/*/${key}" already exists`.colorize(acebase_core_1.ColorStyle.inverse));return existingIndex}if(!ipc.isMaster){const result=await ipc.sendRequest({type:"index.create",path:path,key:key,options:options});if(result.ok){return this.add(result.fileName)}throw new Error(result.reason)}await promise_fs_1.pfs.mkdir(`${storage.settings.path}/${storage.name}.acebase`).catch((err=>{if(err.code!=="EEXIST"){throw err}}));const index=existingIndex||(()=>{const{include:include,caseSensitive:caseSensitive,textLocale:textLocale,textLocaleKey:textLocaleKey}=options;const indexOptions={include:include,caseSensitive:caseSensitive,textLocale:textLocale,textLocaleKey:textLocaleKey};switch(indexType){case"array":return new data_index_1.ArrayIndex(storage,path,key,Object.assign({},indexOptions));case"fulltext":return new data_index_1.FullTextIndex(storage,path,key,Object.assign(Object.assign({},indexOptions),{config:options.config}));case"geo":return new data_index_1.GeoIndex(storage,path,key,Object.assign({},indexOptions));default:return new data_index_1.DataIndex(storage,path,key,Object.assign({},indexOptions))}})();if(!existingIndex){indexes.push(index)}try{await index.build()}catch(err){context.debug.error(`Index build on "/${path}/*/${key}" failed: ${err.message} (code: ${err.code})`.colorize(acebase_core_1.ColorStyle.red));if(!existingIndex){indexes.splice(indexes.indexOf(index),1)}throw err}ipc.sendNotification({type:"index.created",fileName:index.fileName,path:path,key:key,options:options});return index}exports.createIndex=createIndex},{"../data-index":13,"../promise-fs":14,"acebase-core":38}],17:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.CustomStorageHelpers=void 0;const acebase_core_1=require("acebase-core");class CustomStorageHelpers{static ChildPathsSql(path,columnName="path"){const where=path===""?`${columnName} <> '' AND ${columnName} NOT LIKE '%/%'`:`(${columnName} LIKE '${path}/%' OR ${columnName} LIKE '${path}[%') AND ${columnName} NOT LIKE '${path}/%/%' AND ${columnName} NOT LIKE '${path}[%]/%' AND ${columnName} NOT LIKE '${path}[%][%'`;return where}static ChildPathsRegex(path){return new RegExp(`^${path}(?:/[^/[]+|\\[[0-9]+\\])$`)}static DescendantPathsSql(path,columnName="path"){const where=path===""?`${columnName} <> ''`:`${columnName} LIKE '${path}/%' OR ${columnName} LIKE '${path}[%'`;return where}static DescendantPathsRegex(path){return new RegExp(`^${path}(?:/[^/[]+|\\[[0-9]+\\])`)}static get PathInfo(){return acebase_core_1.PathInfo}}exports.CustomStorageHelpers=CustomStorageHelpers},{"acebase-core":38}],18:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.CustomStorage=exports.CustomStorageNodeInfo=exports.CustomStorageNodeAddress=exports.CustomStorageSettings=exports.CustomStorageTransaction=exports.ICustomStorageNode=exports.ICustomStorageNodeMetaData=exports.CustomStorageHelpers=void 0;const acebase_core_1=require("acebase-core");const{compareValues:compareValues}=acebase_core_1.Utils;const node_info_1=require("../../node-info");const node_lock_1=require("../../node-lock");const node_value_types_1=require("../../node-value-types");const node_errors_1=require("../../node-errors");const index_1=require("../index");const helpers_1=require("./helpers");const node_address_1=require("../../node-address");var helpers_2=require("./helpers");Object.defineProperty(exports,"CustomStorageHelpers",{enumerable:true,get:function(){return helpers_2.CustomStorageHelpers}});class ICustomStorageNodeMetaData{constructor(){this.revision="";this.revision_nr=0;this.created=0;this.modified=0;this.type=0}}exports.ICustomStorageNodeMetaData=ICustomStorageNodeMetaData;class ICustomStorageNode extends ICustomStorageNodeMetaData{constructor(){super();this.value=null}}exports.ICustomStorageNode=ICustomStorageNode;class CustomStorageTransaction{constructor(target){this.production=false;this.target={get originalPath(){return target.path},path:target.path,get write(){return target.write}};this.id=acebase_core_1.ID.generate()}async getChildCount(path){let childCount=0;await this.childrenOf(path,{metadata:false,value:false},(()=>{childCount++;return false}));return childCount}async getMultiple(paths){const map=new Map;await Promise.all(paths.map((path=>this.get(path).then((val=>map.set(path,val))))));return map}async setMultiple(nodes){await Promise.all(nodes.map((({path:path,node:node})=>this.set(path,node))))}async removeMultiple(paths){await Promise.all(paths.map((path=>this.remove(path))))}async commit(){throw new Error(`CustomStorageTransaction.rollback must be overridden by subclass`)}async moveToParentPath(targetPath){const currentPath=this._lock&&this._lock.path||this.target.path;if(currentPath===targetPath){return targetPath}const pathInfo=helpers_1.CustomStorageHelpers.PathInfo.get(targetPath);if(pathInfo.isParentOf(currentPath)){if(this._lock){this._lock=await this._lock.moveToParent()}}else{throw new Error(`Locking issue. Locked path "${this._lock.path}" is not a child/descendant of "${targetPath}"`)}this.target.path=targetPath;return targetPath}}exports.CustomStorageTransaction=CustomStorageTransaction;class CustomStorageSettings extends index_1.StorageSettings{constructor(settings){super(settings);this.locking=true;if(typeof settings!=="object"){throw new Error("settings missing")}if(typeof settings.ready!=="function"){throw new Error(`ready must be a function`)}if(typeof settings.getTransaction!=="function"){throw new Error(`getTransaction must be a function`)}this.name=settings.name;this.locking=settings.locking!==false;if(this.locking){this.lockTimeout=typeof settings.lockTimeout==="number"?settings.lockTimeout:120}this.ready=settings.ready;const useLocking=this.locking;const nodeLocker=useLocking?new node_lock_1.NodeLocker(console,this.lockTimeout):null;this.getTransaction=async({path:path,write:write})=>{const transaction=await settings.getTransaction({path:path,write:write});console.assert(typeof transaction.id==="string",`transaction id not set`);const rollback=transaction.rollback;const commit=transaction.commit;transaction.commit=async()=>{const ret=await commit.call(transaction);if(useLocking){await transaction._lock.release("commit")}return ret};transaction.rollback=async reason=>{const ret=await rollback.call(transaction,reason);if(useLocking){await transaction._lock.release("rollback")}return ret};if(useLocking){transaction._lock=await nodeLocker.lock(path,transaction.id,write,`${this.name}::getTransaction`)}return transaction}}}exports.CustomStorageSettings=CustomStorageSettings;class CustomStorageNodeAddress{constructor(containerPath){this.path=containerPath}}exports.CustomStorageNodeAddress=CustomStorageNodeAddress;class CustomStorageNodeInfo extends node_info_1.NodeInfo{constructor(info){super(info);this.revision=info.revision;this.revision_nr=info.revision_nr;this.created=info.created;this.modified=info.modified}}exports.CustomStorageNodeInfo=CustomStorageNodeInfo;class CustomStorage extends index_1.Storage{constructor(dbname,settings,env){super(dbname,settings,env);this._customImplementation=settings;this._init()}async _init(){this.debug.log(`Database "${this.name}" details:`.colorize(acebase_core_1.ColorStyle.dim));this.debug.log(`- Type: CustomStorage`.colorize(acebase_core_1.ColorStyle.dim));this.debug.log(`- Path: ${this.settings.path}`.colorize(acebase_core_1.ColorStyle.dim));this.debug.log(`- Max inline value size: ${this.settings.maxInlineValueSize}`.colorize(acebase_core_1.ColorStyle.dim));this.debug.log(`- Autoremove undefined props: ${this.settings.removeVoidProperties}`.colorize(acebase_core_1.ColorStyle.dim));await this._customImplementation.ready();const transaction=await this._customImplementation.getTransaction({path:"",write:true});const info=await this.getNodeInfo("",{transaction:transaction});if(!info.exists){await this._writeNode("",{},{transaction:transaction})}await transaction.commit();if(this.indexes.supported){await this.indexes.load()}this.emit("ready")}throwImplementationError(message){throw new Error(`CustomStorage "${this._customImplementation.name}" ${message}`)}_storeNode(path,node,options){const getTypedChildValue=val=>{if(val===null){throw new Error(`Not allowed to store null values. remove the property`)}else if(["string","number","boolean"].includes(typeof val)){return val}else if(val instanceof Date){return{type:node_value_types_1.VALUE_TYPES.DATETIME,value:val.getTime()}}else if(val instanceof acebase_core_1.PathReference){return{type:node_value_types_1.VALUE_TYPES.REFERENCE,value:val.path}}else if(val instanceof ArrayBuffer){return{type:node_value_types_1.VALUE_TYPES.BINARY,value:acebase_core_1.ascii85.encode(val)}}else if(typeof val==="object"){console.assert(Object.keys(val).length===0,"child object stored in parent can only be empty");return val}};const unprocessed=`Caller should have pre-processed the value by converting it to a string`;if(node.type===node_value_types_1.VALUE_TYPES.ARRAY&&node.value instanceof Array){console.warn(`Unprocessed array. ${unprocessed}`);const obj={};for(let i=0;i{node.value[key]=getTypedChildValue(original[key])}))}return options.transaction.set(path,node)}_processReadNodeValue(node){const getTypedChildValue=val=>{if(val.type===node_value_types_1.VALUE_TYPES.BINARY){return acebase_core_1.ascii85.decode(val.value)}else if(val.type===node_value_types_1.VALUE_TYPES.DATETIME){return new Date(val.value)}else if(val.type===node_value_types_1.VALUE_TYPES.REFERENCE){return new acebase_core_1.PathReference(val.value)}else{throw new Error(`Unhandled child value type ${val.type}`)}};switch(node.type){case node_value_types_1.VALUE_TYPES.ARRAY:case node_value_types_1.VALUE_TYPES.OBJECT:{const obj=node.value;Object.keys(obj).forEach((key=>{const item=obj[key];if(typeof item==="object"&&"type"in item){obj[key]=getTypedChildValue(item)}}));node.value=obj;break}case node_value_types_1.VALUE_TYPES.BINARY:{node.value=acebase_core_1.ascii85.decode(node.value);break}case node_value_types_1.VALUE_TYPES.REFERENCE:{node.value=new acebase_core_1.PathReference(node.value);break}case node_value_types_1.VALUE_TYPES.STRING:{break}default:throw new Error(`Invalid standalone record value type`)}}async _readNode(path,options){const node=await options.transaction.get(path);if(node===null){return null}if(typeof node!=="object"){this.throwImplementationError(`transaction.get must return an ICustomStorageNode object. Use JSON.parse if your set function stored it as a string`)}this._processReadNodeValue(node);return node}_getTypeFromStoredValue(val){let type;if(typeof val==="string"){type=node_value_types_1.VALUE_TYPES.STRING}else if(typeof val==="number"){type=node_value_types_1.VALUE_TYPES.NUMBER}else if(typeof val==="boolean"){type=node_value_types_1.VALUE_TYPES.BOOLEAN}else if(val instanceof Array){type=node_value_types_1.VALUE_TYPES.ARRAY}else if(typeof val==="object"){if("type"in val){const serialized=val;type=serialized.type;val=serialized.value;if(type===node_value_types_1.VALUE_TYPES.DATETIME){val=new Date(val)}else if(type===node_value_types_1.VALUE_TYPES.REFERENCE){val=new acebase_core_1.PathReference(val)}}else{type=node_value_types_1.VALUE_TYPES.OBJECT}}else{throw new Error(`Unknown value type`)}return{type:type,value:val}}async _writeNode(path,value,options){if(!options.merge&&this.valueFitsInline(value)&&path!==""){throw new Error(`invalid value to store in its own node`)}else if(path===""&&(typeof value!=="object"||value instanceof Array)){throw new Error(`Invalid root node value. Must be an object`)}if(typeof options.diff==="undefined"&&typeof options.currentValue!=="undefined"){const diff=compareValues(options.currentValue,value);if(options.merge&&typeof diff==="object"){diff.removed=diff.removed.filter((key=>value[key]===null))}options.diff=diff}if(options.diff==="identical"){return}const transaction=options.transaction;const currentRow=options.currentValue===null?null:await this._readNode(path,{transaction:transaction});if(options.merge&¤tRow){if(currentRow.type===node_value_types_1.VALUE_TYPES.ARRAY&&!(value instanceof Array)&&typeof value==="object"&&Object.keys(value).some((key=>isNaN(parseInt(key))))){throw new Error(`Cannot merge existing array of path "${path}" with an object`)}if(value instanceof Array&¤tRow.type!==node_value_types_1.VALUE_TYPES.ARRAY){throw new Error(`Cannot merge existing object of path "${path}" with an array`)}}const revision=options.revision||acebase_core_1.ID.generate();const mainNode={type:currentRow&¤tRow.type===node_value_types_1.VALUE_TYPES.ARRAY?node_value_types_1.VALUE_TYPES.ARRAY:node_value_types_1.VALUE_TYPES.OBJECT,value:{}};const childNodeValues={};if(value instanceof Array){mainNode.type=node_value_types_1.VALUE_TYPES.ARRAY;const obj={};for(let i=0;i{if(!(key in value)){value[key]=null}}))}Object.keys(value).forEach((key=>{const val=value[key];delete mainNode.value[key];if(val===null){return}else if(typeof val==="undefined"){if(this.settings.removeVoidProperties===true){delete value[key];return}else{throw new Error(`Property "${key}" has invalid value. Cannot store undefined values. Set removeVoidProperties option to true to automatically remove undefined properties`)}}if(this.valueFitsInline(val)){mainNode.value[key]=val}else{childNodeValues[key]=val}}))}const isArray=mainNode.type===node_value_types_1.VALUE_TYPES.ARRAY;if(currentRow){this.debug.log(`Node "/${path}" is being ${options.merge?"updated":"overwritten"}`.colorize(acebase_core_1.ColorStyle.cyan));if(currentIsObjectOrArray||newIsObjectOrArray){const pathInfo=acebase_core_1.PathInfo.get(path);const keys=[];let checkExecuted=false;const includeChildCheck=childPath=>{checkExecuted=true;if(!transaction.production&&!pathInfo.isParentOf(childPath)){this.throwImplementationError(`"${childPath}" is not a child of "${path}" - childrenOf must only check and return paths that are children`)}return true};const addChildPath=childPath=>{if(!checkExecuted){this.throwImplementationError(`childrenOf did not call checkCallback before addCallback`)}const key=acebase_core_1.PathInfo.get(childPath).key;keys.push(key.toString());return true};await transaction.childrenOf(path,{metadata:false,value:false},includeChildCheck,addChildPath);children.current=children.current.concat(keys);if(newIsObjectOrArray){if(options&&options.merge){children.new=children.current.slice()}Object.keys(value).forEach((key=>{if(!children.new.includes(key)){children.new.push(key)}}))}const changes={insert:children.new.filter((key=>!children.current.includes(key))),update:[],delete:options&&options.merge?Object.keys(value).filter((key=>value[key]===null)):children.current.filter((key=>!children.new.includes(key)))};changes.update=children.new.filter((key=>children.current.includes(key)&&!changes.delete.includes(key)));if(isArray&&options.merge&&(changes.insert.length>0||changes.delete.length>0)){const newArrayKeys=changes.update.concat(changes.insert);const isExhaustive=newArrayKeys.every(((k,index,arr)=>arr.includes(index.toString())));if(!isExhaustive){throw new Error(`Elements cannot be inserted beyond, or removed before the end of an array. Rewrite the whole array at path "${path}" or change your schema to use an object collection instead`)}}const writePromises=Object.keys(childNodeValues).map((key=>{const keyOrIndex=isArray?parseInt(key):key;const childDiff=typeof options.diff==="object"?options.diff.forChild(keyOrIndex):undefined;if(childDiff==="identical"){return}const childPath=pathInfo.childPath(keyOrIndex);const childValue=childNodeValues[keyOrIndex];const currentChildValue=typeof options.currentValue==="undefined"?undefined:options.currentValue!==null&&typeof options.currentValue==="object"&&keyOrIndex in options.currentValue?options.currentValue[keyOrIndex]:null;return this._writeNode(childPath,childValue,{transaction:transaction,revision:revision,merge:false,currentValue:currentChildValue,diff:childDiff})}));const movingNodes=newIsObjectOrArray?keys.filter((key=>key in mainNode.value)):[];const deleteDedicatedKeys=changes.delete.concat(movingNodes);const deletePromises=deleteDedicatedKeys.map((key=>{const keyOrIndex=isArray?parseInt(key):key;const childPath=pathInfo.childPath(keyOrIndex);return this._deleteNode(childPath,{transaction:transaction})}));const promises=writePromises.concat(deletePromises);await Promise.all(promises)}const p=this._storeNode(path,{type:mainNode.type,value:mainNode.value,revision:currentRow.revision,revision_nr:currentRow.revision_nr+1,created:currentRow.created,modified:Date.now()},{transaction:transaction});if(p instanceof Promise){return await p}}else{this.debug.log(`Node "/${path}" is being created`.colorize(acebase_core_1.ColorStyle.cyan));if(isArray){const arrayKeys=Object.keys(mainNode.value).concat(Object.keys(childNodeValues));const isExhaustive=arrayKeys.every(((k,index,arr)=>arr.includes(index.toString())));if(!isExhaustive){throw new Error(`Cannot store arrays with missing entries`)}}const promises=Object.keys(childNodeValues).map((key=>{const keyOrIndex=isArray?parseInt(key):key;const childPath=acebase_core_1.PathInfo.getChildPath(path,keyOrIndex);const childValue=childNodeValues[keyOrIndex];return this._writeNode(childPath,childValue,{transaction:transaction,revision:revision,merge:false,currentValue:null})}));const p=this._storeNode(path,{type:mainNode.type,value:mainNode.value,revision:revision,revision_nr:1,created:Date.now(),modified:Date.now()},{transaction:transaction});if(p instanceof Promise){promises.push(p)}await Promise.all(promises)}}async _deleteNode(path,options){const pathInfo=acebase_core_1.PathInfo.get(path);this.debug.log(`Node "/${path}" is being deleted`.colorize(acebase_core_1.ColorStyle.cyan));const deletePaths=[path];let checkExecuted=false;const includeDescendantCheck=descPath=>{checkExecuted=true;if(!transaction.production&&!pathInfo.isAncestorOf(descPath)){this.throwImplementationError(`"${descPath}" is not a descendant of "${path}" - descendantsOf must only check and return paths that are descendants`)}return true};const addDescendant=descPath=>{if(!checkExecuted){this.throwImplementationError(`descendantsOf did not call checkCallback before addCallback`)}deletePaths.push(descPath);return true};const transaction=options.transaction;await transaction.descendantsOf(path,{metadata:false,value:false},includeDescendantCheck,addDescendant);this.debug.log(`Nodes ${deletePaths.map((p=>`"/${p}"`)).join(",")} are being deleted`.colorize(acebase_core_1.ColorStyle.cyan));return transaction.removeMultiple(deletePaths)}getChildren(path,options={}){let callback;const generator={next(valueCallback){callback=valueCallback;return start()}};const start=async()=>{const transaction=options.transaction||await this._customImplementation.getTransaction({path:path,write:false});try{let canceled=false;await(async()=>{const node=await this._readNode(path,{transaction:transaction});if(!node){throw new node_errors_1.NodeNotFoundError(`Node "/${path}" does not exist`)}if(![node_value_types_1.VALUE_TYPES.OBJECT,node_value_types_1.VALUE_TYPES.ARRAY].includes(node.type)){return}const isArray=node.type===node_value_types_1.VALUE_TYPES.ARRAY;const value=node.value;let keys=Object.keys(value).map((key=>isArray?parseInt(key):key));if(options.keyFilter){keys=keys.filter((key=>options.keyFilter.includes(key)))}const pathInfo=acebase_core_1.PathInfo.get(path);keys.length>0&&keys.every((key=>{const child=this._getTypeFromStoredValue(value[key]);const info=new CustomStorageNodeInfo({path:pathInfo.childPath(key),key:isArray?null:key,index:isArray?key:null,type:child.type,address:null,exists:true,value:child.value,revision:node.revision,revision_nr:node.revision_nr,created:new Date(node.created),modified:new Date(node.modified)});canceled=callback(info)===false;return!canceled}));if(canceled){return}let checkExecuted=false;const includeChildCheck=childPath=>{checkExecuted=true;if(!transaction.production&&!pathInfo.isParentOf(childPath)){this.throwImplementationError(`"${childPath}" is not a child of "${path}" - childrenOf must only check and return paths that are children`)}if(options.keyFilter){const key=acebase_core_1.PathInfo.get(childPath).key;return options.keyFilter.includes(key)}return true};const addChildNode=(childPath,node)=>{if(!checkExecuted){this.throwImplementationError(`childrenOf did not call checkCallback before addCallback`)}const key=acebase_core_1.PathInfo.get(childPath).key;const info=new CustomStorageNodeInfo({path:childPath,type:node.type,key:isArray?null:key,index:isArray?key:null,address:new node_address_1.NodeAddress(childPath),exists:true,value:null,revision:node.revision,revision_nr:node.revision_nr,created:new Date(node.created),modified:new Date(node.modified)});canceled=callback(info)===false;return!canceled};await transaction.childrenOf(path,{metadata:true,value:false},includeChildCheck,addChildNode)})();if(!options.transaction){await transaction.commit()}return canceled}catch(err){if(!options.transaction){await transaction.rollback(err)}throw err}};return generator}async getNode(path,options){options=options||{};const transaction=options.transaction||await this._customImplementation.getTransaction({path:path,write:false});try{const node=await(async()=>{const filtered=options.include&&options.include.length>0||options.exclude&&options.exclude.length>0||options.child_objects===false;const pathInfo=acebase_core_1.PathInfo.get(path);const targetNode=await this._readNode(path,{transaction:transaction});if(!targetNode){if(path===""){return{value:null}}const lockPath=await transaction.moveToParentPath(pathInfo.parentPath);console.assert(lockPath===pathInfo.parentPath,`transaction.moveToParentPath() did not move to the right parent path of "${path}"`);const parentNode=await this._readNode(pathInfo.parentPath,{transaction:transaction});if(parentNode&&[node_value_types_1.VALUE_TYPES.OBJECT,node_value_types_1.VALUE_TYPES.ARRAY].includes(parentNode.type)&&pathInfo.key in parentNode.value){const childValueInfo=this._getTypeFromStoredValue(parentNode.value[pathInfo.key]);return{revision:parentNode.revision,revision_nr:parentNode.revision_nr,created:parentNode.created,modified:parentNode.modified,type:childValueInfo.type,value:childValueInfo.value}}return{value:null}}const isArray=targetNode.type===node_value_types_1.VALUE_TYPES.ARRAY;const convertFilterArray=arr=>{const isNumber=key=>/^[0-9]+$/.test(key);return arr.map((path=>acebase_core_1.PathInfo.get(isArray&&isNumber(path)?`[${path}]`:path)))};const includeFilter=options.include?convertFilterArray(options.include):[];const excludeFilter=options.exclude?convertFilterArray(options.exclude):[];const applyFiltersOnInlineData=(descPath,node)=>{if([node_value_types_1.VALUE_TYPES.OBJECT,node_value_types_1.VALUE_TYPES.ARRAY].includes(node.type)&&includeFilter.length>0){const trailKeys=acebase_core_1.PathInfo.getPathKeys(descPath).slice(pathInfo.keys.length);const checkPathInfo=new acebase_core_1.PathInfo(trailKeys);const remove=[];const includes=includeFilter.filter((info=>info.isDescendantOf(checkPathInfo)));if(includes.length>0){const isArray=node.type===node_value_types_1.VALUE_TYPES.ARRAY;remove.push(...Object.keys(node.value).map((key=>isArray?+key:key)));for(const info of includes){const targetProp=info.keys[trailKeys.length];if(typeof targetProp==="string"&&(targetProp==="*"||targetProp.startsWith("$"))){remove.splice(0);break}const index=remove.indexOf(targetProp);index>=0&&remove.splice(index,1)}}const hasIncludeOnChild=includeFilter.some((info=>info.isChildOf(checkPathInfo)));const hasExcludeOnChild=excludeFilter.some((info=>info.isChildOf(checkPathInfo)));if(hasExcludeOnChild&&!hasIncludeOnChild){const excludes=excludeFilter.filter((info=>info.isChildOf(checkPathInfo)));for(let i=0;iinfo.equals(remove[i])))){remove.splice(i,1);i--}}}for(const key of remove){delete node.value[key]}}};applyFiltersOnInlineData(path,targetNode);let checkExecuted=false;const includeDescendantCheck=(descPath,metadata)=>{checkExecuted=true;if(!transaction.production&&!pathInfo.isAncestorOf(descPath)){this.throwImplementationError(`"${descPath}" is not a descendant of "${path}" - descendantsOf must only check and return paths that are descendants`)}if(!filtered){return true}const descPathKeys=acebase_core_1.PathInfo.getPathKeys(descPath);const trailKeys=descPathKeys.slice(pathInfo.keys.length);const checkPathInfo=new acebase_core_1.PathInfo(trailKeys);let include=(includeFilter.length>0?includeFilter.some((info=>checkPathInfo.isOnTrailOf(info))):true)&&(excludeFilter.length>0?!excludeFilter.some((info=>info.equals(checkPathInfo)||info.isAncestorOf(checkPathInfo))):true);if(include&&options.child_objects===false&&(pathInfo.isParentOf(descPath)&&[node_value_types_1.VALUE_TYPES.OBJECT,node_value_types_1.VALUE_TYPES.ARRAY].includes(metadata?metadata.type:-1)||acebase_core_1.PathInfo.getPathKeys(descPath).length>pathInfo.pathKeys.length+1)){include=false}return include};const descRows=[];const addDescendant=(descPath,node)=>{if(!checkExecuted){this.throwImplementationError("descendantsOf did not call checkCallback before addCallback")}if(options.child_objects===false&&[node_value_types_1.VALUE_TYPES.OBJECT,node_value_types_1.VALUE_TYPES.ARRAY].includes(node.type)){return true}applyFiltersOnInlineData(descPath,node);this._processReadNodeValue(node);const row=node;row.path=descPath;descRows.push(row);return true};await transaction.descendantsOf(path,{metadata:true,value:true},includeDescendantCheck,addDescendant);this.debug.log(`Read node "/${path}" and ${filtered?"(filtered) ":""}descendants from ${descRows.length+1} records`.colorize(acebase_core_1.ColorStyle.magenta));const result=targetNode;const objectToArray=obj=>{const arr=[];Object.keys(obj).forEach((key=>{const index=parseInt(key);arr[index]=obj[index]}));return arr};if(targetNode.type===node_value_types_1.VALUE_TYPES.ARRAY){result.value=objectToArray(result.value)}if(targetNode.type===node_value_types_1.VALUE_TYPES.OBJECT||targetNode.type===node_value_types_1.VALUE_TYPES.ARRAY){const targetPathKeys=acebase_core_1.PathInfo.getPathKeys(path);const value=targetNode.value;for(let i=0;i{if(childKey in parent[key]){this.throwImplementationError(`Custom storage merge error: child key "${childKey}" is in parent value already! Make sure the get/childrenOf/descendantsOf methods of the custom storage class return values that can be modified by AceBase without affecting the stored source`)}parent[key][childKey]=nodeValue[childKey]}))}}else{parent[key]=nodeValue}parent=parent[key]}}}else if(descRows.length>0){this.throwImplementationError(`multiple records found for non-object value!`)}if(options.child_objects===false){Object.keys(result.value).forEach((key=>{if(typeof result.value[key]==="object"&&result.value[key].constructor===Object){console.assert(Object.keys(result.value[key]).length===0);delete result.value[key]}}))}if(options.include){}if(options.exclude){const process=(obj,keys)=>{if(typeof obj!=="object"){return}const key=keys[0];if(key==="*"){Object.keys(obj).forEach((k=>{process(obj[k],keys.slice(1))}))}else if(keys.length>1){key in obj&&process(obj[key],keys.slice(1))}else{delete obj[key]}};options.exclude.forEach((path=>{const checkKeys=acebase_core_1.PathInfo.getPathKeys(path);process(result.value,checkKeys)}))}return result})();if(!options.transaction){await transaction.commit()}return node}catch(err){if(!options.transaction){await transaction.rollback(err)}throw err}}async getNodeInfo(path,options={}){options=options||{};const pathInfo=acebase_core_1.PathInfo.get(path);const transaction=options.transaction||await this._customImplementation.getTransaction({path:path,write:false});try{const node=await this._readNode(path,{transaction:transaction});const info=new CustomStorageNodeInfo({path:path,key:typeof pathInfo.key==="string"?pathInfo.key:null,index:typeof pathInfo.key==="number"?pathInfo.key:null,type:node?node.type:0,exists:node!==null,address:node?new node_address_1.NodeAddress(path):null,created:node?new Date(node.created):null,modified:node?new Date(node.modified):null,revision:node?node.revision:null,revision_nr:node?node.revision_nr:null});if(!node&&path!==""){const lockPath=await transaction.moveToParentPath(pathInfo.parentPath);console.assert(lockPath===pathInfo.parentPath,`transaction.moveToParentPath() did not move to the right parent path of "${path}"`);const parent=await this._readNode(pathInfo.parentPath,{transaction:transaction});if(parent&&[node_value_types_1.VALUE_TYPES.OBJECT,node_value_types_1.VALUE_TYPES.ARRAY].includes(parent.type)&&pathInfo.key in parent.value){info.exists=true;info.value=parent.value[pathInfo.key];info.address=null;info.type=parent.type;info.created=new Date(parent.created);info.modified=new Date(parent.modified);info.revision=parent.revision;info.revision_nr=parent.revision_nr}else{info.address=null}}if(options.include_child_count){info.childCount=0;if([node_value_types_1.VALUE_TYPES.ARRAY,node_value_types_1.VALUE_TYPES.OBJECT].includes(info.valueType)&&info.address){info.childCount=node.value?Object.keys(node.value).length:0;info.childCount+=await transaction.getChildCount(path)}}if(!options.transaction){await transaction.commit()}return info}catch(err){if(!options.transaction){await transaction.rollback(err)}throw err}}async setNode(path,value,options={suppress_events:false,context:null}){if(this.settings.readOnly){throw new Error(`Database is opened in read-only mode`)}const pathInfo=acebase_core_1.PathInfo.get(path);const transaction=options.transaction||await this._customImplementation.getTransaction({path:path,write:true});try{if(path===""){if(value===null||typeof value!=="object"||value instanceof Array||value instanceof ArrayBuffer||"buffer"in value&&value.buffer instanceof ArrayBuffer){throw new Error(`Invalid value for root node: ${value}`)}await this._writeNodeWithTracking("",value,{merge:false,transaction:transaction,suppress_events:options.suppress_events,context:options.context})}else if(typeof options.assert_revision!=="undefined"){const info=await this.getNodeInfo(path,{transaction:transaction});if(info.revision!==options.assert_revision){throw new node_errors_1.NodeRevisionError(`revision '${info.revision}' does not match requested revision '${options.assert_revision}'`)}if(info.address&&info.address.path===path&&value!==null&&!this.valueFitsInline(value)){await this._writeNodeWithTracking(path,value,{merge:false,transaction:transaction,suppress_events:options.suppress_events,context:options.context})}else{const lockPath=await transaction.moveToParentPath(pathInfo.parentPath);console.assert(lockPath===pathInfo.parentPath,`transaction.moveToParentPath() did not move to the right parent path of "${path}"`);await this._writeNodeWithTracking(pathInfo.parentPath,{[pathInfo.key]:value},{merge:true,transaction:transaction,suppress_events:options.suppress_events,context:options.context})}}else{const lockPath=await transaction.moveToParentPath(pathInfo.parentPath);console.assert(lockPath===pathInfo.parentPath,`transaction.moveToParentPath() did not move to the right parent path of "${path}"`);await this.updateNode(pathInfo.parentPath,{[pathInfo.key]:value},{transaction:transaction,suppress_events:options.suppress_events,context:options.context})}if(!options.transaction){await transaction.commit()}}catch(err){if(!options.transaction){await transaction.rollback(err)}throw err}}async updateNode(path,updates,options={suppress_events:false,context:null}){if(this.settings.readOnly){throw new Error(`Database is opened in read-only mode`)}if(typeof updates!=="object"){throw new Error(`invalid updates argument`)}else if(Object.keys(updates).length===0){return}const transaction=options.transaction||await this._customImplementation.getTransaction({path:path,write:true});try{const nodeInfo=await this.getNodeInfo(path,{transaction:transaction});const pathInfo=acebase_core_1.PathInfo.get(path);if(nodeInfo.exists&&nodeInfo.address&&nodeInfo.address.path===path){await this._writeNodeWithTracking(path,updates,{transaction:transaction,merge:true,suppress_events:options.suppress_events,context:options.context})}else if(nodeInfo.exists){const pathInfo=acebase_core_1.PathInfo.get(path);const lockPath=await transaction.moveToParentPath(pathInfo.parentPath);console.assert(lockPath===pathInfo.parentPath,`transaction.moveToParentPath() did not move to the right parent path of "${path}"`);await this._writeNodeWithTracking(pathInfo.parentPath,{[pathInfo.key]:updates},{transaction:transaction,merge:true,suppress_events:options.suppress_events,context:options.context})}else{const lockPath=await transaction.moveToParentPath(pathInfo.parentPath);console.assert(lockPath===pathInfo.parentPath,`transaction.moveToParentPath() did not move to the right parent path of "${path}"`);await this.updateNode(pathInfo.parentPath,{[pathInfo.key]:updates},{transaction:transaction,suppress_events:options.suppress_events,context:options.context})}if(!options.transaction){await transaction.commit()}}catch(err){if(!options.transaction){await transaction.rollback(err)}throw err}}}exports.CustomStorage=CustomStorage},{"../../node-address":8,"../../node-errors":9,"../../node-info":10,"../../node-lock":11,"../../node-value-types":12,"../index":25,"./helpers":17,"acebase-core":38}],19:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createIndexedDBInstance=void 0;const acebase_core_1=require("acebase-core");const __1=require("..");const __2=require("../../..");const settings_1=require("./settings");const transaction_1=require("./transaction");function createIndexedDBInstance(dbname,init={}){const settings=new settings_1.IndexedDBStorageSettings(init);const IndexedDB=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;const request=IndexedDB.open(`${dbname}.acebase`,1);request.onupgradeneeded=e=>{const db=request.result;db.createObjectStore("nodes",{keyPath:"path"});db.createObjectStore("content")};let idb;const readyPromise=new Promise(((resolve,reject)=>{request.onsuccess=e=>{idb=request.result;resolve()};request.onerror=e=>{reject(e)}}));const cache=new acebase_core_1.SimpleCache(typeof settings.cacheSeconds==="number"?settings.cacheSeconds:60);const storageSettings=new __1.CustomStorageSettings({name:"IndexedDB",locking:true,removeVoidProperties:settings.removeVoidProperties,maxInlineValueSize:settings.maxInlineValueSize,lockTimeout:settings.lockTimeout,ready(){return readyPromise},async getTransaction(target){await readyPromise;const context={debug:false,db:idb,cache:cache,ipc:ipc};return new transaction_1.IndexedDBStorageTransaction(context,target)}});const db=new __2.AceBase(dbname,{logLevel:settings.logLevel,storage:storageSettings,sponsor:settings.sponsor});const ipc=db.api.storage.ipc;db.settings.ipcEvents=settings.multipleTabs===true;ipc.on("notification",(async notification=>{const message=notification.data;if(typeof message!=="object"){return}if(message.action==="cache.invalidate"){for(const path of message.paths){cache.remove(path)}}}));return db}exports.createIndexedDBInstance=createIndexedDBInstance},{"..":18,"../../..":5,"./settings":20,"./transaction":21,"acebase-core":38}],20:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.IndexedDBStorageSettings=void 0;const __1=require("../..");class IndexedDBStorageSettings extends __1.StorageSettings{constructor(settings){super(settings);this.multipleTabs=false;this.cacheSeconds=60;this.sponsor=false;if(typeof settings.logLevel==="string"){this.logLevel=settings.logLevel}if(typeof settings.multipleTabs==="boolean"){this.multipleTabs=settings.multipleTabs}if(typeof settings.cacheSeconds==="number"){this.cacheSeconds=settings.cacheSeconds}if(typeof settings.sponsor==="boolean"){this.sponsor=settings.sponsor}["type","ipc","path"].forEach((prop=>{if(prop in settings){console.warn(`${prop} setting is not supported for AceBase IndexedDBStorage`)}}))}}exports.IndexedDBStorageSettings=IndexedDBStorageSettings},{"../..":25}],21:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.IndexedDBStorageTransaction=void 0;const __1=require("..");function _requestToPromise(request){return new Promise(((resolve,reject)=>{request.onsuccess=event=>resolve(request.result||null);request.onerror=reject}))}class IndexedDBStorageTransaction extends __1.CustomStorageTransaction{constructor(context,target){super(target);this.context=context;this.production=true;this._pending=[]}_createTransaction(write=false){const tx=this.context.db.transaction(["nodes","content"],write?"readwrite":"readonly");return tx}_splitMetadata(node){const value=node.value;const copy=Object.assign({},node);delete copy.value;const metadata=copy;return{metadata:metadata,value:value}}async commit(){if(this._pending.length===0){return}const batch=this._pending.splice(0);this.context.ipc.sendNotification({action:"cache.invalidate",paths:batch.map((op=>op.path))});const tx=this._createTransaction(true);try{await new Promise(((resolve,reject)=>{let stop=false,processed=0;const handleError=err=>{stop=true;reject(err)};const handleSuccess=()=>{if(++processed===batch.length){resolve()}};batch.forEach(((op,i)=>{if(stop){return}let r1,r2;const path=op.path;if(op.action==="set"){const{metadata:metadata,value:value}=this._splitMetadata(op.node);const nodeInfo={path:path,metadata:metadata};r1=tx.objectStore("nodes").put(nodeInfo);r2=tx.objectStore("content").put(value,path);this.context.cache.set(path,op.node)}else if(op.action==="remove"){r1=tx.objectStore("content").delete(path);r2=tx.objectStore("nodes").delete(path);this.context.cache.set(path,null)}else{handleError(new Error(`Unknown pending operation "${op.action}" on path "${path}" `))}let succeeded=0;r1.onsuccess=r2.onsuccess=()=>{if(++succeeded===2){handleSuccess()}};r1.onerror=r2.onerror=handleError}))}));tx.commit&&tx.commit()}catch(err){console.error(err);tx.abort&&tx.abort();throw err}}async rollback(err){this._pending=[]}async get(path){if(this.context.cache.has(path)){const cache=this.context.cache.get(path);return cache}const tx=this._createTransaction(false);const r1=_requestToPromise(tx.objectStore("nodes").get(path));const r2=_requestToPromise(tx.objectStore("content").get(path));try{const results=await Promise.all([r1,r2]);tx.commit&&tx.commit();const info=results[0];if(!info){this.context.cache.set(path,null);return null}const node=info.metadata;node.value=results[1];this.context.cache.set(path,node);return node}catch(err){console.error(`IndexedDB get error`,err);tx.abort&&tx.abort();throw err}}set(path,node){this._pending.push({action:"set",path:path,node:node})}remove(path){this._pending.push({action:"remove",path:path})}async removeMultiple(paths){paths.forEach((path=>{this._pending.push({action:"remove",path:path})}))}childrenOf(path,include,checkCallback,addCallback){return this._getChildrenOf(path,Object.assign(Object.assign({},include),{descendants:false}),checkCallback,addCallback)}descendantsOf(path,include,checkCallback,addCallback){return this._getChildrenOf(path,Object.assign(Object.assign({},include),{descendants:true}),checkCallback,addCallback)}_getChildrenOf(path,include,checkCallback,addCallback){return new Promise(((resolve,reject)=>{const pathInfo=__1.CustomStorageHelpers.PathInfo.get(path);const tx=this._createTransaction(false);const store=tx.objectStore("nodes");const query=IDBKeyRange.lowerBound(path,true);const cursor=include.metadata?store.openCursor(query):store.openKeyCursor(query);cursor.onerror=e=>{var _a;(_a=tx.abort)===null||_a===void 0?void 0:_a.call(tx);reject(e)};cursor.onsuccess=async e=>{var _a,_b,_c;const otherPath=(_b=(_a=cursor.result)===null||_a===void 0?void 0:_a.key)!==null&&_b!==void 0?_b:null;let keepGoing=true;if(otherPath===null){keepGoing=false}else if(!pathInfo.isAncestorOf(otherPath)){keepGoing=false}else if(include.descendants||pathInfo.isParentOf(otherPath)){let node;if(include.metadata){const valueCursor=cursor;const data=valueCursor.result.value;node=data.metadata}const shouldAdd=checkCallback(otherPath,node);if(shouldAdd){if(include.value){if(this.context.cache.has(otherPath)){const cache=this.context.cache.get(otherPath);node.value=cache.value}else{const req=tx.objectStore("content").get(otherPath);node.value=await new Promise(((resolve,reject)=>{req.onerror=e=>{resolve(null)};req.onsuccess=e=>{resolve(req.result)}}));this.context.cache.set(otherPath,node.value===null?null:node)}}keepGoing=addCallback(otherPath,node)}}if(keepGoing){try{cursor.result.continue()}catch(err){keepGoing=false}}if(!keepGoing){(_c=tx.commit)===null||_c===void 0?void 0:_c.call(tx);resolve()}}}))}}exports.IndexedDBStorageTransaction=IndexedDBStorageTransaction},{"..":18}],22:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createLocalStorageInstance=exports.LocalStorageTransaction=exports.LocalStorageSettings=void 0;const __1=require("..");const __2=require("../../..");const settings_1=require("./settings");Object.defineProperty(exports,"LocalStorageSettings",{enumerable:true,get:function(){return settings_1.LocalStorageSettings}});const transaction_1=require("./transaction");Object.defineProperty(exports,"LocalStorageTransaction",{enumerable:true,get:function(){return transaction_1.LocalStorageTransaction}});function createLocalStorageInstance(dbname,init={}){const settings=new settings_1.LocalStorageSettings(init);const localStorage=settings.provider?settings.provider:settings.temp?window.localStorage:window.sessionStorage;const storageSettings=new __1.CustomStorageSettings({name:"LocalStorage",locking:true,removeVoidProperties:settings.removeVoidProperties,maxInlineValueSize:settings.maxInlineValueSize,ready(){return Promise.resolve()},getTransaction(target){const context={debug:true,dbname:dbname,localStorage:localStorage};const transaction=new transaction_1.LocalStorageTransaction(context,target);return Promise.resolve(transaction)}});const db=new __2.AceBase(dbname,{logLevel:settings.logLevel,storage:storageSettings,sponsor:settings.sponsor});db.settings.ipcEvents=settings.multipleTabs===true;return db}exports.createLocalStorageInstance=createLocalStorageInstance},{"..":18,"../../..":5,"./settings":23,"./transaction":24}],23:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.LocalStorageSettings=void 0;const __1=require("../..");class LocalStorageSettings extends __1.StorageSettings{constructor(settings){super(settings);this.temp=false;this.multipleTabs=false;if(typeof settings.temp==="boolean"){this.temp=settings.temp}if(typeof settings.provider==="object"){this.provider=settings.provider}if(typeof settings.multipleTabs==="boolean"){this.multipleTabs=settings.multipleTabs}if(typeof settings.logLevel==="string"){this.logLevel=settings.logLevel}if(typeof settings.sponsor==="boolean"){this.sponsor=settings.sponsor}["type","ipc","path"].forEach((prop=>{if(prop in settings){console.warn(`${prop} setting is not supported for AceBase LocalStorage`)}}))}}exports.LocalStorageSettings=LocalStorageSettings},{"../..":25}],24:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.LocalStorageTransaction=void 0;const __1=require("..");class LocalStorageTransaction extends __1.CustomStorageTransaction{constructor(context,target){super(target);this.context=context;this._storageKeysPrefix=`${this.context.dbname}.acebase::`}async commit(){}async rollback(err){}async get(path){const json=this.context.localStorage.getItem(this.getStorageKeyForPath(path));const val=JSON.parse(json);return val}async set(path,val){const json=JSON.stringify(val);this.context.localStorage.setItem(this.getStorageKeyForPath(path),json)}async remove(path){this.context.localStorage.removeItem(this.getStorageKeyForPath(path))}async childrenOf(path,include,checkCallback,addCallback){const pathInfo=__1.CustomStorageHelpers.PathInfo.get(path);for(let i=0;i`notify_${event}`)));const NOOP=()=>{};class SchemaValidationError extends Error{constructor(reason){super(`Schema validation failed: ${reason}`);this.reason=reason}}exports.SchemaValidationError=SchemaValidationError;class StorageSettings{constructor(settings={}){this.maxInlineValueSize=50;this.removeVoidProperties=false;this.path=".";this.lockTimeout=120;this.type="data";this.readOnly=false;if(typeof settings.maxInlineValueSize==="number"){this.maxInlineValueSize=settings.maxInlineValueSize}if(typeof settings.removeVoidProperties==="boolean"){this.removeVoidProperties=settings.removeVoidProperties}if(typeof settings.path==="string"){this.path=settings.path}if(this.path.endsWith("/")){this.path=this.path.slice(0,-1)}if(typeof settings.lockTimeout==="number"){this.lockTimeout=settings.lockTimeout}if(typeof settings.type==="string"){this.type=settings.type}if(typeof settings.readOnly==="boolean"){this.readOnly=settings.readOnly}if(typeof settings.ipc==="object"){this.ipc=settings.ipc}}}exports.StorageSettings=StorageSettings;class Storage extends acebase_core_1.SimpleEventEmitter{constructor(name,settings,env){super();this.name=name;this.settings=settings;this._schemas=[];this._indexes=[];this.indexes={get supported(){return promise_fs_1.pfs===null||promise_fs_1.pfs===void 0?void 0:promise_fs_1.pfs.hasFileSystem},create:(path,key,options={rebuild:false})=>{const context={storage:this,debug:this.debug,indexes:this._indexes,ipc:this.ipc};return(0,indexes_1.createIndex)(context,path,key,options)},get:(path,key=null)=>{if(path.includes("$")){const pathKeys=acebase_core_1.PathInfo.getPathKeys(path).map((key=>typeof key==="string"&&key.startsWith("$")?"*":key));path=new acebase_core_1.PathInfo(pathKeys).path}return this._indexes.filter((index=>index.path===path&&(key===null||key===index.key)))},getAll:(targetPath,options={parentPaths:true,childPaths:true})=>{const pathKeys=acebase_core_1.PathInfo.getPathKeys(targetPath);return this._indexes.filter((index=>{const indexKeys=acebase_core_1.PathInfo.getPathKeys(index.path+"/*");if(options.parentPaths&&indexKeys.every(((key,i)=>key==="*"||pathKeys[i]===key))&&[index.key].concat(...index.includeKeys).includes(pathKeys[indexKeys.length])){return true}else if(indexKeys.length[key,"*"].includes(indexKeys[i])))}))},list:()=>this._indexes.slice(),load:async()=>{this._indexes.splice(0);if(!promise_fs_1.pfs.hasFileSystem){return}let files=[];try{files=await promise_fs_1.pfs.readdir(`${this.settings.path}/${this.name}.acebase`)}catch(err){if(err.code!=="ENOENT"){this.debug.error(err)}}const promises=[];files.forEach((fileName=>{if(!fileName.endsWith(".idx")){return}const needsStoragePrefix=this.settings.type!=="data";const hasStoragePrefix=/^\[[a-z]+\]-/.test(fileName);if(!needsStoragePrefix&&!hasStoragePrefix||needsStoragePrefix&&fileName.startsWith(`[${this.settings.type}]-`)){const p=this.indexes.add(fileName);promises.push(p)}}));await Promise.all(promises)},add:async fileName=>{try{const index=await data_index_1.DataIndex.readFromFile(this,fileName);this._indexes.push(index);return index}catch(err){this.debug.error(err);return null}},delete:async fileName=>{const index=await this.indexes.remove(fileName);await index.delete();this.ipc.sendNotification({type:"index.deleted",fileName:index.fileName,path:index.path,keys:index.key})},remove:async fileName=>{const index=this._indexes.find((index=>index.fileName===fileName));if(!index){throw new Error(`Index ${fileName} not found`)}this._indexes.splice(this._indexes.indexOf(index),1);return index},close:async()=>{const promises=this.indexes.list().map((index=>index.close().catch((err=>this.debug.error(err)))));await Promise.all(promises)}};this._eventSubscriptions={};this.subscriptions={add:(path,type,callback)=>{if(SUPPORTED_EVENTS.indexOf(type)<0){throw new TypeError(`Invalid event type "${type}"`)}let pathSubs=this._eventSubscriptions[path];if(!pathSubs){pathSubs=this._eventSubscriptions[path]=[]}pathSubs.push({created:Date.now(),type:type,callback:callback});this.emit("subscribe",{path:path,event:type,callback:callback})},remove:(path,type,callback)=>{const pathSubs=this._eventSubscriptions[path];if(!pathSubs){return}const next=()=>pathSubs.findIndex((ps=>(type?ps.type===type:true)&&(callback?ps.callback===callback:true)));let i;while((i=next())>=0){pathSubs.splice(i,1)}this.emit("unsubscribe",{path:path,event:type,callback:callback})},hasValueSubscribersForPath(path){const valueNeeded=this.getValueSubscribersForPath(path);return!!valueNeeded},getValueSubscribersForPath:path=>{const pathInfo=new acebase_core_1.PathInfo(path);const valueSubscribers=[];Object.keys(this._eventSubscriptions).forEach((subscriptionPath=>{if(pathInfo.equals(subscriptionPath)||pathInfo.isDescendantOf(subscriptionPath)){const pathSubs=this._eventSubscriptions[subscriptionPath];const eventPath=acebase_core_1.PathInfo.fillVariables(subscriptionPath,path);pathSubs.filter((sub=>!sub.type.startsWith("notify_"))).forEach((sub=>{let dataPath=null;if(sub.type==="value"){dataPath=eventPath}else if(["mutated","mutations"].includes(sub.type)&&pathInfo.isDescendantOf(eventPath)){dataPath=path}else if(sub.type==="child_changed"&&path!==eventPath){const childKey=acebase_core_1.PathInfo.getPathKeys(path.slice(eventPath.length).replace(/^\//,""))[0];dataPath=acebase_core_1.PathInfo.getChildPath(eventPath,childKey)}else if(["child_added","child_removed"].includes(sub.type)&&pathInfo.isChildOf(eventPath)){const childKey=acebase_core_1.PathInfo.getPathKeys(path.slice(eventPath.length).replace(/^\//,""))[0];dataPath=acebase_core_1.PathInfo.getChildPath(eventPath,childKey)}if(dataPath!==null&&!valueSubscribers.some((s=>s.type===sub.type&&s.eventPath===eventPath))){valueSubscribers.push({type:sub.type,eventPath:eventPath,dataPath:dataPath,subscriptionPath:subscriptionPath})}}))}}));return valueSubscribers},getAllSubscribersForPath:path=>{const pathInfo=acebase_core_1.PathInfo.get(path);const subscribers=[];Object.keys(this._eventSubscriptions).forEach((subscriptionPath=>{if(pathInfo.isOnTrailOf(subscriptionPath)){const pathSubs=this._eventSubscriptions[subscriptionPath];const eventPath=acebase_core_1.PathInfo.fillVariables(subscriptionPath,path);pathSubs.forEach((sub=>{let dataPath=null;if(sub.type==="value"||sub.type==="notify_value"){dataPath=eventPath}else if(["child_changed","notify_child_changed"].includes(sub.type)){const childKey=path===eventPath||pathInfo.isAncestorOf(eventPath)?"*":acebase_core_1.PathInfo.getPathKeys(path.slice(eventPath.length).replace(/^\//,""))[0];dataPath=acebase_core_1.PathInfo.getChildPath(eventPath,childKey)}else if(["mutated","mutations","notify_mutated","notify_mutations"].includes(sub.type)){dataPath=path}else if(["child_added","child_removed","notify_child_added","notify_child_removed"].includes(sub.type)&&(pathInfo.isChildOf(eventPath)||path===eventPath||pathInfo.isAncestorOf(eventPath))){const childKey=path===eventPath||pathInfo.isAncestorOf(eventPath)?"*":acebase_core_1.PathInfo.getPathKeys(path.slice(eventPath.length).replace(/^\//,""))[0];dataPath=acebase_core_1.PathInfo.getChildPath(eventPath,childKey)}if(dataPath!==null&&!subscribers.some((s=>s.type===sub.type&&s.eventPath===eventPath&&s.subscriptionPath===subscriptionPath))){subscribers.push({type:sub.type,eventPath:eventPath,dataPath:dataPath,subscriptionPath:subscriptionPath})}}))}}));return subscribers},trigger:(event,path,dataPath,oldValue,newValue,context)=>{const pathSubscriptions=this._eventSubscriptions[path]||[];pathSubscriptions.filter((sub=>sub.type===event)).forEach((sub=>{sub.callback(null,dataPath,newValue,oldValue,context)}))}};this.debug=new acebase_core_1.DebugLogger(env.logLevel,`[${name}${typeof settings.type==="string"&&settings.type!=="data"?`:${settings.type}`:""}]`);const ipcName=name+(typeof settings.type==="string"?`_${settings.type}`:"");if(settings.ipc){if(typeof settings.ipc.port!=="number"){throw new Error("IPC port number must be a number")}if(!["master","worker"].includes(settings.ipc.role)){throw new Error(`IPC client role must be either "master" or "worker", not "${settings.ipc.role}"`)}const ipcSettings=Object.assign({dbname:ipcName},settings.ipc);this.ipc=new ipc_1.RemoteIPCPeer(this,ipcSettings)}else{this.ipc=new ipc_1.IPCPeer(this,ipcName)}this.ipc.once("exit",(code=>{if(this.indexes.supported){this.indexes.close()}}));this.nodeLocker={lock:(path,tid,write,comment)=>this.ipc.lock({path:path,tid:tid,write:write,comment:comment})};this._lastTid=0}createTid(){return DEBUG_MODE?++this._lastTid:acebase_core_1.ID.generate()}async close(){await this.ipc.exit()}get path(){return`${this.settings.path}/${this.name}.acebase`}valueFitsInline(value){if(typeof value==="number"||typeof value==="boolean"||value instanceof Date){return true}else if(typeof value==="string"){if(value.length>this.settings.maxInlineValueSize){return false}const encoded=encodeString(value);return encoded.lengththis.settings.maxInlineValueSize){return false}const encoded=encodeString(value.path);return encoded.length0){hasValueSubscribers=true;const eventPaths=valueSubscribers.map((sub=>({path:sub.dataPath,keys:acebase_core_1.PathInfo.getPathKeys(sub.dataPath)}))).sort(((a,b)=>{if(a.keys.lengthb.keys.length)return 1;return 0}));const first=eventPaths[0];topEventPath=first.path;if(valueSubscribers.filter((sub=>sub.dataPath===topEventPath)).every((sub=>sub.type==="mutated"||sub.type.startsWith("notify_")))){hasValueSubscribers=false}topEventPath=acebase_core_1.PathInfo.fillVariables(topEventPath,path)}const indexes=this.indexes.getAll(path,{childPaths:true,parentPaths:true}).map((index=>({index:index,keys:acebase_core_1.PathInfo.getPathKeys(index.path)}))).sort(((a,b)=>{if(a.keys.lengthb.keys.length){return 1}return 0})).map((obj=>obj.index));const keysFilter=[];if(indexes.length>0){indexes.sort(((a,b)=>{if(typeof a._pathKeys==="undefined"){a._pathKeys=acebase_core_1.PathInfo.getPathKeys(a.path)}if(typeof b._pathKeys==="undefined"){b._pathKeys=acebase_core_1.PathInfo.getPathKeys(b.path)}if(a._pathKeys.lengthb._pathKeys.length)return 1;return 0}));const topIndex=indexes[0];const topIndexPath=topIndex.path===path?path:acebase_core_1.PathInfo.fillVariables(`${topIndex.path}/*`,path);if(topIndexPath.lengthindex.path===topIndex.path)).forEach((index=>{const keys=[index.key].concat(index.includeKeys);keys.forEach((key=>!keysFilter.includes(key)&&keysFilter.push(key)))}))}}return{topEventPath:topEventPath,eventSubscriptions:eventSubscriptions,valueSubscribers:valueSubscribers,hasValueSubscribers:hasValueSubscribers,indexes:indexes,keysFilter:keysFilter}}async _writeNodeWithTracking(path,value,options={merge:false,waitForIndexUpdates:true,suppress_events:false,context:null,impact:null}){options=options||{};if(!options.tid&&!options.transaction){throw new Error("_writeNodeWithTracking MUST be executed with a tid OR transaction!")}options.merge=options.merge===true;const validation=this.validateSchema(path,value,{updates:options.merge});if(!validation.ok){throw new SchemaValidationError(validation.reason)}const tid=options.tid;const transaction=options.transaction;let topEventData=null;const updateImpact=options.impact?options.impact:this.getUpdateImpact(path,options.suppress_events);const{topEventPath:topEventPath,eventSubscriptions:eventSubscriptions,hasValueSubscribers:hasValueSubscribers,indexes:indexes}=updateImpact;let{keysFilter:keysFilter}=updateImpact;const writeNode=()=>{if(typeof options._customWriteFunction==="function"){return options._customWriteFunction()}if(topEventData){const pathKeys=acebase_core_1.PathInfo.getPathKeys(path);const eventPathKeys=acebase_core_1.PathInfo.getPathKeys(topEventPath);const trailKeys=pathKeys.slice(eventPathKeys.length);let currentValue=topEventData;while(trailKeys.length>0&¤tValue!==null){const childKey=trailKeys.shift();currentValue=typeof currentValue==="object"&&childKey in currentValue?currentValue[childKey]:null}options.currentValue=currentValue}return this._writeNode(path,value,options)};const transactionLoggingEnabled=this.settings.transactions&&this.settings.transactions.log===true;if(eventSubscriptions.length===0&&indexes.length===0&&!transactionLoggingEnabled){return writeNode()}if(!hasValueSubscribers&&options.merge===true&&keysFilter.length===0){keysFilter=Object.keys(value);if(topEventPath!==path){const trailPath=path.slice(topEventPath.length);keysFilter=keysFilter.map((key=>`${trailPath}/${key}`))}}const eventNodeInfo=await this.getNodeInfo(topEventPath,{transaction:transaction,tid:tid});let currentValue=null;if(eventNodeInfo.exists){const valueOptions={transaction:transaction,tid:tid};if(keysFilter.length>0){valueOptions.include=keysFilter}if(topEventPath===""&&typeof valueOptions.include==="undefined"){this.debug.warn('WARNING: One or more value event listeners on the root node are causing the entire database value to be read to facilitate change tracking. Using "value", "notify_value", "child_changed" and "notify_child_changed" events on the root node are a bad practice because of the significant performance impact. Use "mutated" or "mutations" events instead')}const node=await this.getNode(topEventPath,valueOptions);currentValue=node.value}topEventData=currentValue;const result=await writeNode()||{};let newTopEventData,modifiedData;if(path===topEventPath){if(options.merge){if(topEventData===null){newTopEventData=value instanceof Array?[]:{}}else{newTopEventData=topEventData instanceof Array?[]:{};Object.keys(topEventData).forEach((key=>{newTopEventData[key]=topEventData[key]}))}}else{newTopEventData=value}modifiedData=newTopEventData}else{const trailPath=path.slice(topEventPath.length).replace(/^\//,"");const trailKeys=acebase_core_1.PathInfo.getPathKeys(trailPath);if(topEventData===null){newTopEventData=typeof trailKeys[0]==="number"?[]:{}}else{newTopEventData=topEventData instanceof Array?[]:{};Object.keys(topEventData).forEach((key=>{newTopEventData[key]=topEventData[key]}))}modifiedData=newTopEventData;while(trailKeys.length>0){const childKey=trailKeys.shift();if(!options.merge&&trailKeys.length===0){modifiedData[childKey]=value}else{const original=modifiedData[childKey];const shallowCopy=typeof childKey==="number"?[...original]:Object.assign({},original);modifiedData[childKey]=shallowCopy}modifiedData=modifiedData[childKey]}}if(options.merge){Object.keys(value).forEach((key=>{modifiedData[key]=value[key]}))}const dataChanges=compareValues(topEventData,newTopEventData);if(dataChanges==="identical"){result.mutations=[];return result}function removeNulls(obj){if(obj===null||typeof obj!=="object"){return obj}Object.keys(obj).forEach((prop=>{const val=obj[prop];if(val===null){delete obj[prop];if(obj instanceof Array){obj.length--}}if(typeof val==="object"){removeNulls(val)}}))}removeNulls(newTopEventData);const indexUpdates=[];indexes.map((index=>({index:index,keys:acebase_core_1.PathInfo.getPathKeys(index.path)}))).sort(((a,b)=>{if(a.keys.lengthb.keys.length){return-1}return 0})).forEach((({index:index})=>{const pathKeys=acebase_core_1.PathInfo.getPathKeys(topEventPath);const indexPathKeys=acebase_core_1.PathInfo.getPathKeys(index.path+"/*");const trailKeys=indexPathKeys.slice(pathKeys.length);const oldValue=topEventData;const newValue=newTopEventData;if(trailKeys.length===0){console.assert(pathKeys.length===indexPathKeys.length,"check logic");const p=this.ipc.isMaster?index.handleRecordUpdate(topEventPath,oldValue,newValue):this.ipc.sendRequest({type:"index.update",path:topEventPath,oldValue:oldValue,newValue:newValue});indexUpdates.push(p);return}const getAllIndexUpdates=(path,oldValue,newValue)=>{if(oldValue===null&&newValue===null){return[]}const pathKeys=acebase_core_1.PathInfo.getPathKeys(path);const indexPathKeys=acebase_core_1.PathInfo.getPathKeys(index.path+"/*");const trailKeys=indexPathKeys.slice(pathKeys.length);if(trailKeys.length===0){console.assert(pathKeys.length===indexPathKeys.length,"check logic");return[{path:path,oldValue:oldValue,newValue:newValue}]}let results=[];let trailPath="";while(trailKeys.length>0){const subKey=trailKeys.shift();if(typeof subKey==="string"&&(subKey==="*"||subKey.startsWith("$"))){const allKeys=oldValue===null?[]:Object.keys(oldValue);newValue!==null&&Object.keys(newValue).forEach((key=>{if(allKeys.indexOf(key)<0){allKeys.push(key)}}));allKeys.forEach((key=>{const childPath=acebase_core_1.PathInfo.getChildPath(trailPath,key);const childValues=getChildValues(key,oldValue,newValue);const subTrailPath=acebase_core_1.PathInfo.getChildPath(path,childPath);const childResults=getAllIndexUpdates(subTrailPath,childValues.oldValue,childValues.newValue);results=results.concat(childResults)}));break}else{const values=getChildValues(subKey,oldValue,newValue);oldValue=values.oldValue;newValue=values.newValue;if(oldValue===null&&newValue===null){break}trailPath=acebase_core_1.PathInfo.getChildPath(trailPath,subKey)}}return results};const results=getAllIndexUpdates(topEventPath,oldValue,newValue);results.forEach((result=>{const p=this.ipc.isMaster?index.handleRecordUpdate(result.path,result.oldValue,result.newValue):this.ipc.sendRequest({type:"index.update",path:result.path,oldValue:result.oldValue,newValue:result.newValue});indexUpdates.push(p)}))}));const callSubscriberWithValues=(sub,oldValue,newValue,variables=[])=>{let trigger=true;let type=sub.type;if(type.startsWith("notify_")){type=type.slice("notify_".length)}if(type==="mutated"){return}else if(type==="child_changed"&&(oldValue===null||newValue===null)){trigger=false}else if(type==="value"||type==="child_changed"){const changes=compareValues(oldValue,newValue);trigger=changes!=="identical"}else if(type==="child_added"){trigger=oldValue===null&&newValue!==null}else if(type==="child_removed"){trigger=oldValue!==null&&newValue===null}const pathKeys=acebase_core_1.PathInfo.getPathKeys(sub.dataPath);variables.forEach((variable=>{const index=pathKeys.indexOf(variable.name);console.assert(index>=0,`Variable "${variable.name}" not found in subscription dataPath "${sub.dataPath}"`);pathKeys[index]=variable.value}));const dataPath=pathKeys.reduce(((path,key)=>acebase_core_1.PathInfo.getChildPath(path,key)),"");trigger&&this.subscriptions.trigger(sub.type,sub.subscriptionPath,dataPath,oldValue,newValue,options.context)};const prepareMutationEvents=(currentPath,oldValue,newValue,compareResult)=>{const batch=[];const result=compareResult||compareValues(oldValue,newValue);if(result==="identical"){return batch}else if(typeof result==="string"){batch.push({path:currentPath,oldValue:oldValue,newValue:newValue})}else{result.changed.forEach((info=>{const childPath=acebase_core_1.PathInfo.getChildPath(currentPath,info.key);const childValues=getChildValues(info.key,oldValue,newValue);const childBatch=prepareMutationEvents(childPath,childValues.oldValue,childValues.newValue,info.change);batch.push(...childBatch)}));result.added.forEach((key=>{const childPath=acebase_core_1.PathInfo.getChildPath(currentPath,key);batch.push({path:childPath,oldValue:null,newValue:newValue[key]})}));if(oldValue instanceof Array&&newValue instanceof Array){result.removed.sort(((a,b)=>a{const childPath=acebase_core_1.PathInfo.getChildPath(currentPath,key);batch.push({path:childPath,oldValue:oldValue[key],newValue:null})}))}return batch};if(transactionLoggingEnabled&&this.settings.type!=="transaction"){result.mutations=(()=>{const trailPath=path.slice(topEventPath.length).replace(/^\//,"");const trailKeys=acebase_core_1.PathInfo.getPathKeys(trailPath);let oldValue=topEventData,newValue=newTopEventData;while(trailKeys.length>0){const key=trailKeys.shift();({oldValue:oldValue,newValue:newValue}=getChildValues(key,oldValue,newValue))}const compareResults=compareValues(oldValue,newValue);const batch=prepareMutationEvents(path,oldValue,newValue,compareResults);const mutations=batch.map((m=>({target:acebase_core_1.PathInfo.getPathKeys(m.path.slice(path.length)),prev:m.oldValue,val:m.newValue})));return mutations})()}const triggerAllEvents=()=>{eventSubscriptions.filter((sub=>!["mutated","mutations","notify_mutated","notify_mutations"].includes(sub.type))).map((sub=>{const keys=acebase_core_1.PathInfo.getPathKeys(sub.dataPath);return{sub:sub,keys:keys}})).sort(((a,b)=>{if(a.keys.lengthb.keys.length){return-1}return 0})).forEach((({sub:sub})=>{const process=(currentPath,oldValue,newValue,variables=[])=>{const trailPath=sub.dataPath.slice(currentPath.length).replace(/^\//,"");const trailKeys=acebase_core_1.PathInfo.getPathKeys(trailPath);while(trailKeys.length>0){const subKey=trailKeys.shift();if(typeof subKey==="string"&&(subKey==="*"||subKey[0]==="$")){const allKeys=oldValue===null?[]:Object.keys(oldValue).map((key=>oldValue instanceof Array?parseInt(key):key));newValue!==null&&Object.keys(newValue).forEach((key=>{const keyOrIndex=newValue instanceof Array?parseInt(key):key;!allKeys.includes(keyOrIndex)&&allKeys.push(key)}));allKeys.forEach((key=>{const childValues=getChildValues(key,oldValue,newValue);const vars=variables.concat({name:subKey,value:key});if(trailKeys.length===0){callSubscriberWithValues(sub,childValues.oldValue,childValues.newValue,vars)}else{process(acebase_core_1.PathInfo.getChildPath(currentPath,subKey),childValues.oldValue,childValues.newValue,vars)}}));return}else{currentPath=acebase_core_1.PathInfo.getChildPath(currentPath,subKey);const childValues=getChildValues(subKey,oldValue,newValue);oldValue=childValues.oldValue;newValue=childValues.newValue}}callSubscriberWithValues(sub,oldValue,newValue,variables)};if(sub.type.startsWith("notify_")&&acebase_core_1.PathInfo.get(sub.eventPath).isAncestorOf(topEventPath)){const isOnParentPath=acebase_core_1.PathInfo.get(sub.eventPath).isParentOf(topEventPath);const trigger=sub.type==="notify_value"||sub.type==="notify_child_changed"&&(!isOnParentPath||!["added","removed"].includes(dataChanges))||sub.type==="notify_child_removed"&&dataChanges==="removed"&&isOnParentPath||sub.type==="notify_child_added"&&dataChanges==="added"&&isOnParentPath;trigger&&this.subscriptions.trigger(sub.type,sub.subscriptionPath,sub.dataPath,null,null,options.context)}else{process(topEventPath,topEventData,newTopEventData)}}));const mutationEvents=eventSubscriptions.filter((sub=>["mutated","mutations","notify_mutated","notify_mutations"].includes(sub.type)));mutationEvents.forEach((sub=>{let currentPath=topEventPath;const trailPath=sub.eventPath.slice(currentPath.length).replace(/^\//,"");const trailKeys=acebase_core_1.PathInfo.getPathKeys(trailPath);let oldValue=topEventData,newValue=newTopEventData;while(trailKeys.length>0){const subKey=trailKeys.shift();currentPath=acebase_core_1.PathInfo.getChildPath(currentPath,subKey);const childValues=getChildValues(subKey,oldValue,newValue);oldValue=childValues.oldValue;newValue=childValues.newValue}const batch=prepareMutationEvents(currentPath,oldValue,newValue);if(batch.length===0){return}const isNotifyEvent=sub.type.startsWith("notify_");if(["mutated","notify_mutated"].includes(sub.type)){batch.forEach(((mutation,index)=>{const context=options.context;const prevVal=isNotifyEvent?null:mutation.oldValue;const newVal=isNotifyEvent?null:mutation.newValue;this.subscriptions.trigger(sub.type,sub.subscriptionPath,mutation.path,prevVal,newVal,context)}))}else if(["mutations","notify_mutations"].includes(sub.type)){const values=isNotifyEvent?null:batch.map((m=>({target:acebase_core_1.PathInfo.getPathKeys(m.path.slice(sub.subscriptionPath.length)),prev:m.oldValue,val:m.newValue})));this.subscriptions.trigger(sub.type,sub.subscriptionPath,sub.subscriptionPath,null,values,options.context)}}))};if(options.waitForIndexUpdates===false){indexUpdates.splice(0)}await Promise.all(indexUpdates);defer(triggerAllEvents);return result}getChildren(path,options){throw new Error("This method must be implemented by subclass")}async getNodeValue(path,options={}){const node=await this.getNode(path,options);return node.value}getNode(path,options){throw new Error("This method must be implemented by subclass")}getNodeInfo(path,options){throw new Error("This method must be implemented by subclass")}setNode(path,value,options){throw new Error("This method must be implemented by subclass")}updateNode(path,updates,options){throw new Error("This method must be implemented by subclass")}async transactNode(path,callback,options={no_lock:false,suppress_events:false,context:null}){const useFakeLock=options&&options.no_lock===true;const tid=this.createTid();const lock=useFakeLock?{tid:tid,release:NOOP}:await this.nodeLocker.lock(path,tid,true,"transactNode");try{let changed=false;const changeCallback=()=>{changed=true};if(useFakeLock){this.subscriptions.add(path,"notify_value",changeCallback)}const node=await this.getNode(path,{tid:tid});const checkRevision=node.revision;let newValue;try{newValue=callback(node.value);if(newValue instanceof Promise){newValue=await newValue.catch((err=>{this.debug.error(`Error in transaction callback: ${err.message}`)}))}}catch(err){this.debug.error(`Error in transaction callback: ${err.message}`)}if(typeof newValue==="undefined"){return}if(useFakeLock){this.subscriptions.remove(path,"notify_value",changeCallback)}if(changed){throw new node_errors_1.NodeRevisionError("Node changed")}const cursor=await this.setNode(path,newValue,{assert_revision:checkRevision,tid:lock.tid,suppress_events:options.suppress_events,context:options.context});return cursor}catch(err){if(err instanceof node_errors_1.NodeRevisionError){console.warn(`node value changed, running again. Error: ${err.message}`);return this.transactNode(path,callback,options)}else{throw err}}finally{lock.release()}}async matchNode(path,criteria,options){var _a;const tid=(_a=options===null||options===void 0?void 0:options.tid)!==null&&_a!==void 0?_a:acebase_core_1.ID.generate();const checkNode=async(path,criteria)=>{if(criteria.length===0){return Promise.resolve(true)}const criteriaKeys=criteria.reduce(((keys,cr)=>{let key=cr.key;if(typeof key==="string"&&key.includes("/")){key=key.slice(0,key.indexOf("/"))}if(keys.indexOf(key)<0){keys.push(key)}return keys}),[]);const unseenKeys=criteriaKeys.slice();let isMatch=true;const delayedMatchPromises=[];try{await this.getChildren(path,{tid:tid,keyFilter:criteriaKeys}).next((childInfo=>{var _a;const keyOrIndex=(_a=childInfo.key)!==null&&_a!==void 0?_a:childInfo.index;unseenKeys.includes(keyOrIndex)&&unseenKeys.splice(unseenKeys.indexOf(childInfo.key),1);const keyCriteria=criteria.filter((cr=>cr.key===keyOrIndex)).map((cr=>({op:cr.op,compare:cr.compare})));const keyResult=keyCriteria.length>0?checkChild(childInfo,keyCriteria):{isMatch:true,promises:[]};isMatch=keyResult.isMatch;if(isMatch){delayedMatchPromises.push(...keyResult.promises);const childCriteria=criteria.filter((cr=>typeof cr.key==="string"&&cr.key.startsWith(`${typeof keyOrIndex==="number"?`[${keyOrIndex}]`:keyOrIndex}/`))).map((cr=>{const key=cr.key.slice(cr.key.indexOf("/")+1);return{key:key,op:cr.op,compare:cr.compare}}));if(childCriteria.length>0){const childPath=acebase_core_1.PathInfo.getChildPath(path,childInfo.key);const childPromise=checkNode(childPath,childCriteria).then((isMatch=>({isMatch:isMatch})));delayedMatchPromises.push(childPromise)}}if(!isMatch||unseenKeys.length===0){return false}}));if(isMatch){const results=await Promise.all(delayedMatchPromises);isMatch=results.every((res=>res.isMatch))}if(!isMatch){return false}isMatch=unseenKeys.every((keyOrIndex=>{const childInfo=new node_info_1.NodeInfo(Object.assign(Object.assign(Object.assign({},typeof keyOrIndex==="number"&&{index:keyOrIndex}),typeof keyOrIndex==="string"&&{key:keyOrIndex}),{exists:false}));const childCriteria=criteria.filter((cr=>typeof cr.key==="string"&&cr.key.startsWith(`${typeof keyOrIndex==="number"?`[${keyOrIndex}]`:keyOrIndex}/`))).map((cr=>({op:cr.op,compare:cr.compare})));if(childCriteria.length>0&&!checkChild(childInfo,childCriteria).isMatch){return false}const keyCriteria=criteria.filter((cr=>cr.key===keyOrIndex)).map((cr=>({op:cr.op,compare:cr.compare})));if(keyCriteria.length===0){return true}const result=checkChild(childInfo,keyCriteria);return result.isMatch}));return isMatch}catch(err){this.debug.error(`Error matching on "${path}": `,err);throw err}};const checkChild=(child,criteria)=>{const promises=[];const isMatch=criteria.every((f=>{let proceed=true;if(f.op==="!exists"||f.op==="=="&&(typeof f.compare==="undefined"||f.compare===null)){proceed=!child.exists}else if(f.op==="exists"||f.op==="!="&&(typeof f.compare==="undefined"||f.compare===null)){proceed=child.exists}else if((f.op==="contains"||f.op==="!contains")&&f.compare instanceof Array&&f.compare.length===0){proceed=true}else if(!child.exists){proceed=false}else{if(child.address){if(child.valueType===node_value_types_1.VALUE_TYPES.OBJECT&&["has","!has"].indexOf(f.op)>=0){const op=f.op==="has"?"exists":"!exists";const p=checkNode(child.path,[{key:f.compare,op:op}]).then((isMatch=>({key:child.key,isMatch:isMatch})));promises.push(p);proceed=true}else if(child.valueType===node_value_types_1.VALUE_TYPES.ARRAY&&["contains","!contains"].indexOf(f.op)>=0){const p=this.getNode(child.path,{tid:tid}).then((({value:arr})=>{const isMatch=f.op==="contains"?f.compare instanceof Array?f.compare.every((val=>arr.includes(val))):arr.includes(f.compare):f.compare instanceof Array?!f.compare.some((val=>arr.includes(val))):!arr.includes(f.compare);return{key:child.key,isMatch:isMatch}}));promises.push(p);proceed=true}else if(child.valueType===node_value_types_1.VALUE_TYPES.STRING){const p=this.getNode(child.path,{tid:tid}).then((node=>({key:child.key,isMatch:this.test(node.value,f.op,f.compare)})));promises.push(p);proceed=true}else{proceed=false}}else if(child.type===node_value_types_1.VALUE_TYPES.OBJECT&&["has","!has"].indexOf(f.op)>=0){const has=f.compare in child.value;proceed=has&&f.op==="has"||!has&&f.op==="!has"}else if(child.type===node_value_types_1.VALUE_TYPES.ARRAY&&["contains","!contains"].indexOf(f.op)>=0){const contains=child.value.indexOf(f.compare)>=0;proceed=contains&&f.op==="contains"||!contains&&f.op==="!contains"}else{let ret=this.test(child.value,f.op,f.compare);if(ret instanceof Promise){promises.push(ret);ret=true}proceed=ret}}return proceed}));return{isMatch:isMatch,promises:promises}};return checkNode(path,criteria)}test(val,op,compare){if(op==="<"){return val"){return val>compare}if(op===">="){return val>=compare}if(op==="in"){return compare.indexOf(val)>=0}if(op==="!in"){return compare.indexOf(val)<0}if(op==="like"||op==="!like"){const pattern="^"+compare.replace(/[-[\]{}()+.,\\^$|#\s]/g,"\\$&").replace(/\?/g,".").replace(/\*/g,".*?")+"$";const re=new RegExp(pattern,"i");const isMatch=re.test(val.toString());return op==="like"?isMatch:!isMatch}if(op==="matches"){return compare.test(val.toString())}if(op==="!matches"){return!compare.test(val.toString())}if(op==="between"){return val>=compare[0]&&val<=compare[1]}if(op==="!between"){return valcompare[1]}if(op==="has"||op==="!has"){const has=typeof val==="object"&&compare in val;return op==="has"?has:!has}if(op==="contains"||op==="!contains"){const includes=typeof val==="object"&&val instanceof Array&&val.includes(compare);return op==="contains"?includes:!includes}return false}async exportNode(path,writeFn,options={format:"json",type_safe:true}){if((options===null||options===void 0?void 0:options.format)!=="json"){throw new Error("Only json output is currently supported")}const write=typeof writeFn!=="function"?writeFn.write.bind(writeFn):writeFn;const stringifyValue=(type,val)=>{const escape=str=>str.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/[\u0000-\u001f]/g,(ch=>`\\u${ch.charCodeAt(0).toString(16).padStart(4,"0")}`));if(type===node_value_types_1.VALUE_TYPES.DATETIME){val=`"${val.toISOString()}"`;if(options.type_safe){val=`{".type":"date",".val":${val}}`}}else if(type===node_value_types_1.VALUE_TYPES.STRING){val=`"${escape(val)}"`}else if(type===node_value_types_1.VALUE_TYPES.ARRAY){val="[]"}else if(type===node_value_types_1.VALUE_TYPES.OBJECT){val="{}"}else if(type===node_value_types_1.VALUE_TYPES.BINARY){val=`"${escape(acebase_core_1.ascii85.encode(val))}"`;if(options.type_safe){val=`{".type":"binary",".val":${val}}`}}else if(type===node_value_types_1.VALUE_TYPES.REFERENCE){val=`"${val.path}"`;if(options.type_safe){val=`{".type":"reference",".val":${val}}`}}else if(type===node_value_types_1.VALUE_TYPES.BIGINT){val=`"${val}"`;if(options.type_safe){val=`{".type":"bigint",".val":${val}}`}}return val};let objStart="",objEnd="";const nodeInfo=await this.getNodeInfo(path);if(!nodeInfo.exists){return write("null")}else if(nodeInfo.type===node_value_types_1.VALUE_TYPES.OBJECT){objStart="{";objEnd="}"}else if(nodeInfo.type===node_value_types_1.VALUE_TYPES.ARRAY){objStart="[";objEnd="]"}else{const node=await this.getNode(path);const val=stringifyValue(nodeInfo.type,node.value);return write(val)}if(objStart){const p=write(objStart);if(p instanceof Promise){await p}}let output="",outputCount=0;const pending=[];await this.getChildren(path).next((childInfo=>{if(childInfo.address){pending.push(childInfo)}else{if(outputCount++>0){output+=","}if(typeof childInfo.key==="string"){output+=`"${childInfo.key}":`}output+=stringifyValue(childInfo.type,childInfo.value)}}));if(output){const p=write(output);if(p instanceof Promise){await p}}while(pending.length>0){const childInfo=pending.shift();let output=outputCount++>0?",":"";const key=typeof childInfo.index==="number"?childInfo.index:childInfo.key;if(typeof key==="string"){output+=`"${key}":`}if(output){const p=write(output);if(p instanceof Promise){await p}}await this.exportNode(acebase_core_1.PathInfo.getChildPath(path,key),write,options)}if(objEnd){const p=write(objEnd);if(p instanceof Promise){await p}}}async importNode(path,read,options={format:"json",method:"set"}){const chunkSize=256*1024;const maxQueueBytes=1024*1024;const state={data:"",index:0,offset:0,queue:[],queueStartByte:0,timesFlushed:0,get processedBytes(){return this.offset+this.index}};const readNextChunk=async(append=false)=>{let data=await read(chunkSize);if(data===null){if(state.data){throw new Error(`Unexpected EOF at index ${state.offset+state.data.length}`)}else{throw new Error("Unable to read data from stream")}}else if(typeof data==="object"){data=acebase_core_1.Utils.decodeString(data)}if(append){state.data+=data}else{state.offset+=state.data.length;state.data=data;state.index=0}};const readBytes=async length=>{let str="";if(state.index+length>=state.data.length){str=state.data.slice(state.index);length-=str.length;await readNextChunk()}str+=state.data.slice(state.index,state.index+length);state.index+=length;return str};const assertBytes=async length=>{if(state.index+length>state.data.length){await readNextChunk(true)}if(state.index+length>state.data.length){throw new Error("Not enough data available from stream")}};const consumeToken=async token=>{const str=await readBytes(token.length);if(str!==token){throw new Error(`Unexpected character "${str[0]}" at index ${state.offset+state.index}, expected "${token}"`)}};const consumeSpaces=async()=>{const spaces=[" ","\t","\r","\n"];while(true){if(state.index>=state.data.length){await readNextChunk()}if(spaces.includes(state.data[state.index])){state.index++}else{break}}};const peekBytes=async length=>{await assertBytes(length);const index=state.index;return state.data.slice(index,index+length)};const peekValueType=async()=>{await consumeSpaces();const ch=await peekBytes(1);switch(ch){case'"':return"string";case"{":return"object";case"[":return"array";case"n":return"null";case"u":return"undefined";case"t":case"f":return"boolean";default:{if(ch==="-"||ch>="0"&&ch<="9"){return"number"}throw new Error(`Unknown value at index ${state.offset+state.index}`)}}};const readString=async()=>{await consumeToken('"');let str="";let i=state.index;while(state.data[i]!=='"'||state.data[i-1]==="\\"){i++;if(i>=state.data.length){str+=state.data.slice(state.index);await readNextChunk();i=0}}str+=state.data.slice(state.index,i);state.index=i+1;return unescape(str)};const readBoolean=async()=>{if(state.data[state.index]==="t"){await consumeToken("true")}else if(state.data[state.index]==="f"){await consumeToken("false")}throw new Error(`Expected true or false at index ${state.offset+state.index}`)};const readNumber=async()=>{let str="";let i=state.index;const nrChars=["-","0","1","2","3","4","5","6","7","8","9",".","e","b","f","x","o","n"];while(nrChars.includes(state.data[i])){i++;if(i>=state.data.length){str+=state.data.slice(state.index);await readNextChunk();i=0}}str+=state.data.slice(state.index,i);state.index=i;const nr=str.endsWith("n")?BigInt(str.slice(0,-1)):str.includes(".")?parseFloat(str):parseInt(str);return nr};const readValue=async()=>{await consumeSpaces();const type=await peekValueType();const value=await(()=>{switch(type){case"string":return readString();case"object":return{};case"array":return[];case"number":return readNumber();case"null":return null;case"undefined":return undefined;case"boolean":return readBoolean()}})();return{type:type,value:value}};const unescape=str=>str.replace(/\\n/g,"\n").replace(/\\"/g,'"');const getTypeSafeValue=(path,obj)=>{const type=obj[".type"];let val=obj[".val"];switch(type){case"Date":case"date":{val=new Date(val);break}case"Buffer":case"binary":{val=unescape(val);if(val.startsWith("<~")){val=acebase_core_1.ascii85.decode(val)}else{throw new Error(`Import error: Unexpected encoding for value for value at path "/${path}"`)}break}case"PathReference":case"reference":{val=new acebase_core_1.PathReference(val);break}case"bigint":{val=BigInt(val);break}default:throw new Error(`Import error: Unsupported type "${type}" for value at path "/${path}"`)}return val};const context={acebase_import_id:acebase_core_1.ID.generate()};const childOptions={suppress_events:options.suppress_events,context:context};const enqueue=async(target,value)=>{state.queue.push({target:target,value:value});if(state.processedBytes>=state.queueStartByte+maxQueueBytes){const operations=state.queue.reduce(((updates,item)=>{if(item.target.path===path){updates.push(Object.assign({op:options.method==="set"&&state.timesFlushed===0?"set":"update"},item))}else{const parent=updates.find((other=>other.target.isParentOf(item.target)));if(parent){parent.value[item.target.key]=item.value}else{updates.push(Object.assign({op:options.method==="merge"?"update":"set"},item))}}return updates}),[]);state.queueStartByte=state.processedBytes;state.queue=[];state.timesFlushed++}if(target.path===path){}};const importObject=async target=>{await consumeToken("{");await consumeSpaces();const nextChar=await peekBytes(1);if(nextChar==="}"){state.index++;return this.setNode(target.path,{},childOptions)}let childCount=0;let obj={};let flushedBefore=false;const flushObject=async()=>{let p;if(!flushedBefore){flushedBefore=true;p=this.setNode(target.path,obj,childOptions)}else if(Object.keys(obj).length>0){p=this.updateNode(target.path,obj,childOptions)}obj={};if(p){await p}};const promises=[];while(true){await consumeSpaces();const property=await readString();await consumeSpaces();await consumeToken(":");await consumeSpaces();const{value:value,type:type}=await readValue();obj[property]=value;childCount++;if(["object","array"].includes(type)){promises.push(flushObject());if(type==="object"){await importObject(target.child(property))}else{await importArray(target.child(property))}}await consumeSpaces();const nextChar=await peekBytes(1);if(nextChar==="}"){state.index++;break}await consumeToken(",")}const isTypedValue=childCount===2&&".type"in obj&&".val"in obj;if(isTypedValue){const val=getTypeSafeValue(target.path,obj);return this.setNode(target.path,val,childOptions)}promises.push(flushObject());await Promise.all(promises)};const importArray=async target=>{await consumeToken("[");await consumeSpaces();const nextChar=await peekBytes(1);if(nextChar==="]"){state.index++;return this.setNode(target.path,[],childOptions)}let flushedBefore=false;let arr=[];let updates={};const flushArray=async()=>{let p;if(!flushedBefore){flushedBefore=true;p=this.setNode(target.path,arr,childOptions);arr=null}else if(Object.keys(updates).length>0){p=this.updateNode(target.path,updates,childOptions);updates={}}if(p){await p}};const pushChild=(value,index)=>{if(flushedBefore){updates[index]=value}else{arr.push(value)}};const promises=[];let index=0;while(true){await consumeSpaces();const{value:value,type:type}=await readValue();pushChild(value,index);if(["object","array"].includes(type)){promises.push(flushArray());if(type==="object"){await importObject(target.child(index))}else{await importArray(target.child(index))}}await consumeSpaces();const nextChar=await peekBytes(1);if(nextChar==="]"){state.index++;break}await consumeToken(",");index++}promises.push(flushArray());await Promise.all(promises)};const start=async()=>{const{value:value,type:type}=await readValue();if(["object","array"].includes(type)){const target=acebase_core_1.PathInfo.get(path);if(type==="object"){await importObject(target)}else{await importArray(target)}}else{await this.setNode(path,value,childOptions)}};return start()}setSchema(path,schema){if(typeof schema==="undefined"){throw new TypeError("schema argument must be given")}if(schema===null){const i=this._schemas.findIndex((s=>s.path===path));i>=0&&this._schemas.splice(i,1);return}const definition=new acebase_core_1.SchemaDefinition(schema);const item=this._schemas.find((s=>s.path===path));if(item){item.schema=definition}else{this._schemas.push({path:path,schema:definition});this._schemas.sort(((a,b)=>{const ka=acebase_core_1.PathInfo.getPathKeys(a.path),kb=acebase_core_1.PathInfo.getPathKeys(b.path);if(ka.length===kb.length){return 0}return ka.lengthitem.path===path));return item?{path:path,schema:item.schema.source,text:item.schema.text}:null}getSchemas(){return this._schemas.map((item=>({path:item.path,schema:item.schema.source,text:item.schema.text})))}validateSchema(path,value,options={updates:false}){let result={ok:true};const pathInfo=acebase_core_1.PathInfo.get(path);this._schemas.filter((s=>pathInfo.isOnTrailOf(s.path))).every((s=>{if(pathInfo.isDescendantOf(s.path)){const ancestorPath=acebase_core_1.PathInfo.fillVariables(s.path,path);const trailKeys=pathInfo.keys.slice(acebase_core_1.PathInfo.getPathKeys(s.path).length);result=s.schema.check(ancestorPath,value,options.updates,trailKeys);return result.ok}const trailKeys=acebase_core_1.PathInfo.getPathKeys(s.path).slice(pathInfo.keys.length);const partial=options.updates===true&&trailKeys.length===0;const check=(path,value,trailKeys)=>{if(trailKeys.length===0){return s.schema.check(path,value,partial)}else if(value===null){return{ok:true}}const key=trailKeys[0];if(typeof key==="string"&&(key==="*"||key[0]==="$")){if(value===null||typeof value!=="object"){return{ok:true}}let result;Object.keys(value).every((childKey=>{const childPath=acebase_core_1.PathInfo.getChildPath(path,childKey);const childValue=value[childKey];result=check(childPath,childValue,trailKeys.slice(1));return result.ok}));return result}else{const childPath=acebase_core_1.PathInfo.getChildPath(path,key);const childValue=value[key];return check(childPath,childValue,trailKeys.slice(1))}};result=check(path,value,trailKeys);return result.ok}));return result}}exports.Storage=Storage},{"../data-index":13,"../ipc":6,"../node-errors":9,"../node-info":10,"../node-value-types":12,"../promise-fs":14,"./indexes":26,"acebase-core":38}],26:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createIndex=void 0;var create_index_1=require("./create-index");Object.defineProperty(exports,"createIndex",{enumerable:true,get:function(){return create_index_1.createIndex}})},{"./create-index":16}],27:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.AceBaseBase=exports.AceBaseBaseSettings=void 0;const simple_event_emitter_1=require("./simple-event-emitter");const data_reference_1=require("./data-reference");const type_mappings_1=require("./type-mappings");const optional_observable_1=require("./optional-observable");const debug_1=require("./debug");const simple_colors_1=require("./simple-colors");class AceBaseBaseSettings{constructor(options){this.logLevel="log";this.logColors=true;this.info="realtime database";this.sponsor=false;if(typeof options!=="object"){options={}}if(typeof options.logLevel==="string"){this.logLevel=options.logLevel}if(typeof options.logColors==="boolean"){this.logColors=options.logColors}if(typeof options.info==="string"){this.info=options.info}if(typeof options.sponsor==="boolean"){this.sponsor=options.sponsor}}}exports.AceBaseBaseSettings=AceBaseBaseSettings;class AceBaseBase extends simple_event_emitter_1.SimpleEventEmitter{constructor(dbname,options={}){super();this._ready=false;options=new AceBaseBaseSettings(options);this.name=dbname;this.debug=new debug_1.DebugLogger(options.logLevel,`[${dbname}]`);(0,simple_colors_1.SetColorsEnabled)(options.logColors);const logoStyle=[simple_colors_1.ColorStyle.magenta,simple_colors_1.ColorStyle.bold];const logo=" ___ ______ "+"\n"+" / _ \\ | ___ \\ "+"\n"+" / /_\\ \\ ___ ___| |_/ / __ _ ___ ___ "+"\n"+" | _ |/ __/ _ \\ ___ \\/ _` / __|/ _ \\"+"\n"+" | | | | (_| __/ |_/ / (_| \\__ \\ __/"+"\n"+" \\_| |_/\\___\\___\\____/ \\__,_|___/\\___|";const info=options.info?"".padStart(40-options.info.length," ")+options.info+"\n":"";if(!options.sponsor){this.debug.write(logo.colorize(logoStyle));info&&this.debug.write(info.colorize(simple_colors_1.ColorStyle.magenta))}this.types=new type_mappings_1.TypeMappings(this);this.once("ready",(()=>{this._ready=true}))}async ready(callback){if(!this._ready){await new Promise((resolve=>this.on("ready",resolve)))}callback===null||callback===void 0?void 0:callback()}get isReady(){return this._ready}setObservable(ObservableImpl){(0,optional_observable_1.setObservable)(ObservableImpl)}ref(path){return new data_reference_1.DataReference(this,path)}get root(){return this.ref("")}query(path){const ref=new data_reference_1.DataReference(this,path);return new data_reference_1.DataReferenceQuery(ref)}get indexes(){return{get:()=>this.api.getIndexes(),create:(path,key,options)=>this.api.createIndex(path,key,options),delete:async filePath=>this.api.deleteIndex(filePath)}}get schema(){return{get:path=>this.api.getSchema(path),set:(path,schema)=>this.api.setSchema(path,schema),all:()=>this.api.getSchemas(),check:(path,value,isUpdate)=>this.api.validateSchema(path,value,isUpdate)}}}exports.AceBaseBase=AceBaseBase},{"./data-reference":34,"./debug":36,"./optional-observable":40,"./simple-colors":47,"./simple-event-emitter":48,"./type-mappings":51}],28:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Api=void 0;class NotImplementedError extends Error{constructor(name){super(`${name} is not implemented`)}}class Api{constructor(){}stats(options){throw new NotImplementedError("stats")}subscribe(path,event,callback,settings){throw new NotImplementedError("subscribe")}unsubscribe(path,event,callback){throw new NotImplementedError("unsubscribe")}update(path,updates,options){throw new NotImplementedError("update")}set(path,value,options){throw new NotImplementedError("set")}get(path,options){throw new NotImplementedError("get")}transaction(path,callback,options){throw new NotImplementedError("transaction")}exists(path){throw new NotImplementedError("exists")}query(path,query,options){throw new NotImplementedError("query")}reflect(path,type,args){throw new NotImplementedError("reflect")}export(path,write,options){throw new NotImplementedError("export")}import(path,read,options){throw new NotImplementedError("import")}createIndex(path,key,options){throw new NotImplementedError("createIndex")}getIndexes(){throw new NotImplementedError("getIndexes")}deleteIndex(filePath){throw new NotImplementedError("deleteIndex")}setSchema(path,schema){throw new NotImplementedError("setSchema")}getSchema(path){throw new NotImplementedError("getSchema")}getSchemas(){throw new NotImplementedError("getSchemas")}validateSchema(path,value,isUpdate){throw new NotImplementedError("validateSchema")}getMutations(filter){throw new NotImplementedError("getMutations")}getChanges(filter){throw new NotImplementedError("getChanges")}}exports.Api=Api},{}],29:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ascii85=void 0;function c(input,length,result){const b=[0,0,0,0,0];for(let i=0;i";return ret}exports.ascii85={encode:function(arr){if(arr instanceof ArrayBuffer){arr=new Uint8Array(arr,0,arr.byteLength)}return encode(arr)},decode:function(input){if(!input.startsWith("<~")||!input.endsWith("~>")){throw new Error("Invalid input string")}input=input.substr(2,input.length-4);const n=input.length,r=[],b=[0,0,0,0,0];let t,x,y,d;for(let i=0;i>>=8;y=t&255;t>>>=8;r.push(t>>>8,t&255,y,x);for(let j=d;j<5;++j,r.pop());i+=4}const data=new Uint8Array(r);return data.buffer.slice(data.byteOffset,data.byteOffset+data.byteLength)}}},{}],30:[function(require,module,exports){"use strict";var _a,_b;Object.defineProperty(exports,"__esModule",{value:true});const pad_1=require("../pad");const env=typeof window==="object"?window:self,globalCount=Object.keys(env).length,mimeTypesLength=(_b=(_a=navigator.mimeTypes)===null||_a===void 0?void 0:_a.length)!==null&&_b!==void 0?_b:0,clientId=(0,pad_1.default)((mimeTypesLength+navigator.userAgent.length).toString(36)+globalCount.toString(36),4);function fingerprint(){return clientId}exports.default=fingerprint},{"../pad":32}],31:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});const fingerprint_1=require("./fingerprint");const pad_1=require("./pad");let c=0;const blockSize=4,base=36,discreteValues=Math.pow(base,blockSize);function randomBlock(){return(0,pad_1.default)((Math.random()*discreteValues<<0).toString(base),blockSize)}function safeCounter(){c=ct2[i]===key))}static isAncestor(ancestor,other){return ancestor.lengthother[i]===key))}static isDescendant(descendant,other){return descendant.length>other.length&&other.every(((key,i)=>descendant[i]===key))}}const isProxy=Symbol("isProxy");class LiveDataProxy{static async create(ref,options){var _a;ref=new data_reference_1.DataReference(ref.db,ref.path);let cache,loaded=false;let latestCursor=options===null||options===void 0?void 0:options.cursor;let proxy;const proxyId=id_1.ID.generate();const clientSubscriptions=[];const clientEventEmitter=new simple_event_emitter_1.SimpleEventEmitter;clientEventEmitter.on("cursor",(cursor=>latestCursor=cursor));clientEventEmitter.on("error",(err=>{console.error(err.message,err.details)}));const applyChange=(keys,newValue)=>{if(keys.length===0){cache=newValue;return true}const allowCreation=false;if(allowCreation){cache=typeof keys[0]==="number"?[]:{}}let target=cache;const trailKeys=keys.slice();while(trailKeys.length>1){const key=trailKeys.shift();if(!(key in target)){if(allowCreation){target[key]=typeof key==="number"?[]:{}}else{return false}}target=target[key]}const prop=trailKeys.shift();if(newValue===null){target instanceof Array?target.splice(prop,1):delete target[prop]}else{target[prop]=newValue}return true};const syncFallback=async()=>{if(!loaded){return}await reload()};const subscription=ref.on("mutations",{syncFallback:syncFallback}).subscribe((async snap=>{var _a;if(!loaded){return}const context=snap.context();const isRemote=((_a=context.acebase_proxy)===null||_a===void 0?void 0:_a.id)!==proxyId;if(!isRemote){return}const mutations=snap.val(false);const proceed=mutations.every((mutation=>{if(!applyChange(mutation.target,mutation.val)){return false}const changeRef=mutation.target.reduce(((ref,key)=>ref.child(key)),ref);const changeSnap=new data_snapshot_1.DataSnapshot(changeRef,mutation.val,false,mutation.prev,snap.context());clientEventEmitter.emit("mutation",{snapshot:changeSnap,isRemote:isRemote});return true}));if(proceed){clientEventEmitter.emit("cursor",context.acebase_cursor);localMutationsEmitter.emit("mutations",{origin:"remote",snap:snap})}else{console.warn(`Cached value of live data proxy on "${ref.path}" appears outdated, will be reloaded`);await reload()}}));let processPromise=Promise.resolve();const mutationQueue=[];const transactions=[];const pushLocalMutations=async()=>{const mutations=[];for(let i=0,m=mutationQueue[0];iRelativeNodeTarget.areEqual(t.target,m.target)||RelativeNodeTarget.isAncestor(t.target,m.target)))){mutationQueue.splice(i,1);i--;mutations.push(m)}}if(mutations.length===0){return}mutations.forEach((mutation=>{mutation.value=(0,utils_1.cloneObject)(getTargetValue(cache,mutation.target))}));process_1.default.nextTick((()=>{const context={acebase_proxy:{id:proxyId,source:"update"}};mutations.forEach((mutation=>{const mutationRef=mutation.target.reduce(((ref,key)=>ref.child(key)),ref);const mutationSnap=new data_snapshot_1.DataSnapshot(mutationRef,mutation.value,false,mutation.previous,context);clientEventEmitter.emit("mutation",{snapshot:mutationSnap,isRemote:false})}));const snap=new data_snapshot_1.MutationsDataSnapshot(ref,mutations.map((m=>({target:m.target,val:m.value,prev:m.previous}))),context);localMutationsEmitter.emit("mutations",{origin:"local",snap:snap})}));processPromise=mutations.reduce(((mutations,m,i,arr)=>{if(!arr.some((other=>RelativeNodeTarget.isAncestor(other.target,m.target)))){mutations.push(m)}return mutations}),[]).reduce(((updates,m)=>{const target=m.target;if(target.length===0){updates.push({ref:ref,target:target,value:cache,type:"set",previous:m.previous})}else{const parentTarget=target.slice(0,-1);const key=target.slice(-1)[0];const parentRef=parentTarget.reduce(((ref,key)=>ref.child(key)),ref);const parentUpdate=updates.find((update=>update.ref.path===parentRef.path));const cacheValue=getTargetValue(cache,target);const prevValue=m.previous;if(parentUpdate){parentUpdate.value[key]=cacheValue;parentUpdate.previous[key]=prevValue}else{updates.push({ref:parentRef,target:parentTarget,value:{[key]:cacheValue},type:"update",previous:{[key]:prevValue}})}}return updates}),[]).reduce((async(promise,update)=>{const context={acebase_proxy:{id:proxyId,source:update.type}};await promise;await update.ref.context(context)[update.type](update.value).catch((err=>{clientEventEmitter.emit("error",{source:"update",message:`Error processing update of "/${ref.path}"`,details:err});const context={acebase_proxy:{id:proxyId,source:"update-rollback"}};const mutations=[];if(update.type==="set"){setTargetValue(cache,update.target,update.previous);const mutationSnap=new data_snapshot_1.DataSnapshot(update.ref,update.previous,false,update.value,context);clientEventEmitter.emit("mutation",{snapshot:mutationSnap,isRemote:false});mutations.push({target:update.target,val:update.previous,prev:update.value})}else{Object.keys(update.previous).forEach((key=>{setTargetValue(cache,update.target.concat(key),update.previous[key]);const mutationSnap=new data_snapshot_1.DataSnapshot(update.ref.child(key),update.previous[key],false,update.value[key],context);clientEventEmitter.emit("mutation",{snapshot:mutationSnap,isRemote:false});mutations.push({target:update.target.concat(key),val:update.previous[key],prev:update.value[key]})}))}mutations.forEach((m=>{const mutationRef=m.target.reduce(((ref,key)=>ref.child(key)),ref);const mutationSnap=new data_snapshot_1.DataSnapshot(mutationRef,m.val,false,m.prev,context);clientEventEmitter.emit("mutation",{snapshot:mutationSnap,isRemote:false})}));const snap=new data_snapshot_1.MutationsDataSnapshot(update.ref,mutations,context);localMutationsEmitter.emit("mutations",{origin:"local",snap:snap})}));if(update.ref.cursor){clientEventEmitter.emit("cursor",update.ref.cursor)}}),processPromise);await processPromise};let syncInProgress=false;const syncPromises=[];const syncCompleted=()=>{let resolve;const promise=new Promise((rs=>resolve=rs));syncPromises.push({resolve:resolve});return promise};let processQueueTimeout=null;const scheduleSync=()=>{if(!processQueueTimeout){processQueueTimeout=setTimeout((async()=>{syncInProgress=true;processQueueTimeout=null;await pushLocalMutations();syncInProgress=false;syncPromises.splice(0).forEach((p=>p.resolve()))}),0)}};const flagOverwritten=target=>{if(!mutationQueue.find((m=>RelativeNodeTarget.areEqual(m.target,target)))){mutationQueue.push({target:target,previous:(0,utils_1.cloneObject)(getTargetValue(cache,target))})}scheduleSync()};const localMutationsEmitter=new simple_event_emitter_1.SimpleEventEmitter;const addOnChangeHandler=(target,callback)=>{const isObject=val=>val!==null&&typeof val==="object";const mutationsHandler=async details=>{var _a;const{snap:snap,origin:origin}=details;const context=snap.context();const causedByOurProxy=((_a=context.acebase_proxy)===null||_a===void 0?void 0:_a.id)===proxyId;if(details.origin==="remote"&&causedByOurProxy){console.error("DEV ISSUE: mutationsHandler was called from remote event originating from our own proxy");return}const mutations=snap.val(false).filter((mutation=>mutation.target.slice(0,target.length).every(((key,i)=>target[i]===key))));if(mutations.length===0){return}let newValue,previousValue;const singleMutation=mutations.find((m=>m.target.length<=target.length));if(singleMutation){const trailKeys=target.slice(singleMutation.target.length);newValue=trailKeys.reduce(((val,key)=>!isObject(val)||!(key in val)?null:val[key]),singleMutation.val);previousValue=trailKeys.reduce(((val,key)=>!isObject(val)||!(key in val)?null:val[key]),singleMutation.prev)}else{const currentValue=getTargetValue(cache,target);newValue=(0,utils_1.cloneObject)(currentValue);previousValue=(0,utils_1.cloneObject)(newValue);mutations.forEach((mutation=>{const trailKeys=mutation.target.slice(target.length);for(let i=0,val=newValue,prev=previousValue;i{let keepSubscription=true;try{keepSubscription=false!==callback(Object.freeze(newValue),Object.freeze(previousValue),!causedByOurProxy,context)}catch(err){clientEventEmitter.emit("error",{source:origin==="remote"?"remote_update":"local_update",message:"Error running subscription callback",details:err})}if(keepSubscription===false){stop()}}))};localMutationsEmitter.on("mutations",mutationsHandler);const stop=()=>{localMutationsEmitter.off("mutations").off("mutations",mutationsHandler);clientSubscriptions.splice(clientSubscriptions.findIndex((cs=>cs.stop===stop)),1)};clientSubscriptions.push({target:target,stop:stop});return{stop:stop}};const handleFlag=(flag,target,args)=>{if(flag==="write"){return flagOverwritten(target)}else if(flag==="onChange"){return addOnChangeHandler(target,args.callback)}else if(flag==="subscribe"||flag==="observe"){const subscribe=subscriber=>{const currentValue=getTargetValue(cache,target);subscriber.next(currentValue);const subscription=addOnChangeHandler(target,(value=>{subscriber.next(value)}));return function unsubscribe(){subscription.stop()}};if(flag==="subscribe"){return subscribe}const Observable=(0,optional_observable_1.getObservable)();return new Observable(subscribe)}else if(flag==="transaction"){const hasConflictingTransaction=transactions.some((t=>RelativeNodeTarget.areEqual(target,t.target)||RelativeNodeTarget.isAncestor(target,t.target)||RelativeNodeTarget.isDescendant(target,t.target)));if(hasConflictingTransaction){return Promise.reject(new Error("Cannot start transaction because it conflicts with another transaction"))}return new Promise((async resolve=>{const hasPendingMutations=mutationQueue.some((m=>RelativeNodeTarget.areEqual(target,m.target)||RelativeNodeTarget.isAncestor(target,m.target)));if(hasPendingMutations){if(!syncInProgress){scheduleSync()}await syncCompleted()}const tx={target:target,status:"started",transaction:null};transactions.push(tx);tx.transaction={get status(){return tx.status},get completed(){return tx.status!=="started"},get mutations(){return mutationQueue.filter((m=>RelativeNodeTarget.areEqual(tx.target,m.target)||RelativeNodeTarget.isAncestor(tx.target,m.target)))},get hasMutations(){return this.mutations.length>0},async commit(){if(this.completed){throw new Error(`Transaction has completed already (status '${tx.status}')`)}tx.status="finished";transactions.splice(transactions.indexOf(tx),1);if(syncInProgress){await syncCompleted()}scheduleSync();await syncCompleted()},rollback(){if(this.completed){throw new Error(`Transaction has completed already (status '${tx.status}')`)}tx.status="canceled";const mutations=[];for(let i=0;i{if(m.target.length===0){cache=m.previous}else{setTargetValue(cache,m.target,m.previous)}}));transactions.splice(transactions.indexOf(tx),1)}};resolve(tx.transaction)}))}};const snap=await ref.get({cache_mode:"allow",cache_cursor:options===null||options===void 0?void 0:options.cursor});if(snap.context().acebase_origin!=="cache"){clientEventEmitter.emit("cursor",(_a=ref.cursor)!==null&&_a!==void 0?_a:null)}loaded=true;cache=snap.val();if(cache===null&&typeof(options===null||options===void 0?void 0:options.defaultValue)!=="undefined"){cache=options.defaultValue;const context={acebase_proxy:{id:proxyId,source:"default"}};await ref.context(context).set(cache)}proxy=createProxy({root:{ref:ref,get cache(){return cache}},target:[],id:proxyId,flag:handleFlag});const assertProxyAvailable=()=>{if(proxy===null){throw new Error("Proxy was destroyed")}};const reload=async()=>{assertProxyAvailable();mutationQueue.splice(0);const snap=await ref.get({allow_cache:false});const oldVal=cache,newVal=snap.val();cache=newVal;const mutations=(0,utils_1.getMutations)(oldVal,newVal);if(mutations.length===0){return}const context=snap.context();context.acebase_proxy={id:proxyId,source:"reload"};mutations.forEach((m=>{const targetRef=getTargetRef(ref,m.target);const newSnap=new data_snapshot_1.DataSnapshot(targetRef,m.val,m.val===null,m.prev,context);clientEventEmitter.emit("mutation",{snapshot:newSnap,isRemote:true})}));const mutationsSnap=new data_snapshot_1.MutationsDataSnapshot(ref,mutations,context);localMutationsEmitter.emit("mutations",{origin:"local",snap:mutationsSnap})};return{async destroy(){await processPromise;const promises=[subscription.stop(),...clientSubscriptions.map((cs=>cs.stop()))];await Promise.all(promises);["cursor","mutation","error"].forEach((event=>clientEventEmitter.off(event)));cache=null;proxy=null},stop(){this.destroy()},get value(){assertProxyAvailable();return proxy},get hasValue(){assertProxyAvailable();return cache!==null},set value(val){assertProxyAvailable();if(val!==null&&typeof val==="object"&&val[isProxy]){val=val.valueOf()}flagOverwritten([]);cache=val},get ref(){return ref},get cursor(){return latestCursor},reload:reload,onMutation(callback){assertProxyAvailable();clientEventEmitter.off("mutation");clientEventEmitter.on("mutation",(({snapshot:snapshot,isRemote:isRemote})=>{try{callback(snapshot,isRemote)}catch(err){clientEventEmitter.emit("error",{source:"mutation_callback",message:"Error in dataproxy onMutation callback",details:err})}}))},onError(callback){assertProxyAvailable();clientEventEmitter.off("error");clientEventEmitter.on("error",(err=>{try{callback(err)}catch(err){console.error(`Error in dataproxy onError callback: ${err.message}`)}}))},on(event,callback){clientEventEmitter.on(event,callback)},off(event,callback){clientEventEmitter.off(event,callback)}}}}exports.LiveDataProxy=LiveDataProxy;function getTargetValue(obj,target){let val=obj;for(const key of target){val=typeof val==="object"&&val!==null&&key in val?val[key]:null}return val}function setTargetValue(obj,target,value){if(target.length===0){throw new Error("Cannot update root target, caller must do that itself!")}const targetObject=target.slice(0,-1).reduce(((obj,key)=>obj[key]),obj);const prop=target.slice(-1)[0];if(value===null||typeof value==="undefined"){targetObject instanceof Array?targetObject.splice(prop,1):delete targetObject[prop]}else{targetObject[prop]=value}}function getTargetRef(ref,target){const path=path_info_1.PathInfo.get(ref.path).childPath(target);return new data_reference_1.DataReference(ref.db,path)}function createProxy(context){const targetRef=getTargetRef(context.root.ref,context.target);const childProxies=[];const handler={get(target,prop,receiver){target=getTargetValue(context.root.cache,context.target);if(typeof prop==="symbol"){if(prop.toString()===Symbol.iterator.toString()){prop="values"}else if(prop.toString()===isProxy.toString()){return true}else{return Reflect.get(target,prop,receiver)}}if(prop==="valueOf"){return function valueOf(){return target}}if(target===null||typeof target!=="object"){throw new Error(`Cannot read property "${prop}" of ${target}. Value of path "/${targetRef.path}" is not an object (anymore)`)}if(target instanceof Array&&typeof prop==="string"&&/^[0-9]+$/.test(prop)){prop=parseInt(prop)}const value=target[prop];if(value===null){delete target[prop];return}const childProxy=childProxies.find((proxy=>proxy.prop===prop));if(childProxy){if(childProxy.typeof===typeof value){return childProxy.value}childProxies.splice(childProxies.indexOf(childProxy),1)}const proxifyChildValue=prop=>{const value=target[prop];const childProxy=childProxies.find((child=>child.prop===prop));if(childProxy){if(childProxy.typeof===typeof value){return childProxy.value}childProxies.splice(childProxies.indexOf(childProxy),1)}if(typeof value!=="object"){return value}const newChildProxy=createProxy({root:context.root,target:context.target.concat(prop),id:context.id,flag:context.flag});childProxies.push({typeof:typeof value,prop:prop,value:newChildProxy});return newChildProxy};const unproxyValue=value=>value!==null&&typeof value==="object"&&value[isProxy]?value.getTarget():value;if(["string","number","boolean"].includes(typeof value)||value instanceof Date||value instanceof path_reference_1.PathReference||value instanceof ArrayBuffer||typeof value==="object"&&"buffer"in value){return value}const isArray=target instanceof Array;if(prop==="toString"){return function toString(){return`[LiveDataProxy for "${targetRef.path}"]`}}if(typeof value==="undefined"){if(prop==="push"){return function push(item){const childRef=targetRef.push();context.flag("write",context.target.concat(childRef.key));target[childRef.key]=item;return childRef.key}}if(prop==="getTarget"){return function(warn=true){warn&&console.warn("Use getTarget with caution - any changes will not be synchronized!");return target}}if(prop==="getRef"){return function getRef(){const ref=getTargetRef(context.root.ref,context.target);return ref}}if(prop==="forEach"){return function forEach(callback){const keys=Object.keys(target);let stop=false;for(let i=0;!stop&&iproxifyChildValue(key)));if(sortFn){arr.sort(sortFn)}return arr}}if(prop==="onChanged"){return function onChanged(callback){return context.flag("onChange",context.target,{callback:callback})}}if(prop==="subscribe"){return function subscribe(){return context.flag("subscribe",context.target)}}if(prop==="getObservable"){return function getObservable(){return context.flag("observe",context.target)}}if(prop==="getOrderedCollection"){return function getOrderedCollection(orderProperty,orderIncrement){return new OrderedCollectionProxy(this,orderProperty,orderIncrement)}}if(prop==="startTransaction"){return function startTransaction(){return context.flag("transaction",context.target)}}if(prop==="remove"&&!isArray){return function remove(){if(context.target.length===0){throw new Error("Can't remove proxy root value")}const parent=getTargetValue(context.root.cache,context.target.slice(0,-1));const key=context.target.slice(-1)[0];context.flag("write",context.target);delete parent[key]}}return}else if(typeof value==="function"){if(isArray){const writeArray=action=>{context.flag("write",context.target);return action()};const cleanArrayValues=values=>values.map((value=>{value=unproxyValue(value);removeVoidProperties(value);return value}));if(prop==="push"){return function push(...items){items=cleanArrayValues(items);return writeArray((()=>target.push(...items)))}}if(prop==="pop"){return function pop(){return writeArray((()=>target.pop()))}}if(prop==="splice"){return function splice(start,deleteCount,...items){items=cleanArrayValues(items);return writeArray((()=>target.splice(start,deleteCount,...items)))}}if(prop==="shift"){return function shift(){return writeArray((()=>target.shift()))}}if(prop==="unshift"){return function unshift(...items){items=cleanArrayValues(items);return writeArray((()=>target.unshift(...items)))}}if(prop==="sort"){return function sort(compareFn){return writeArray((()=>target.sort(compareFn)))}}if(prop==="reverse"){return function reverse(){return writeArray((()=>target.reverse()))}}if(["indexOf","lastIndexOf"].includes(prop)){return function indexOf(item,start){if(item!==null&&typeof item==="object"&&item[isProxy]){item=item.getTarget(false)}return target[prop](item,start)}}if(["forEach","every","some","filter","map"].includes(prop)){return function iterate(callback){return target[prop](((value,i)=>callback(proxifyChildValue(i),i,proxy)))}}if(["reduce","reduceRight"].includes(prop)){return function reduce(callback,initialValue){return target[prop](((prev,value,i)=>callback(prev,proxifyChildValue(i),i,proxy)),initialValue)}}if(["find","findIndex"].includes(prop)){return function find(callback){let value=target[prop](((value,i)=>callback(proxifyChildValue(i),i,proxy)));if(prop==="find"&&value){const index=target.indexOf(value);value=proxifyChildValue(index)}return value}}if(["values","entries","keys"].includes(prop)){return function*generator(){for(let i=0;itypeof key==="number"))){context.flag("write",context.target.slice(0,context.target.findIndex((key=>typeof key==="number"))))}else if(target instanceof Array){context.flag("write",context.target)}else{context.flag("write",context.target.concat(prop))}if(value===null){delete target[prop]}else{removeVoidProperties(value);target[prop]=value}return true},deleteProperty(target,prop){target=getTargetValue(context.root.cache,context.target);if(target===null){throw new Error(`Cannot delete property ${prop.toString()} of null`)}if(typeof prop==="symbol"){return Reflect.deleteProperty(target,prop)}if(!(prop in target)){return true}context.flag("write",context.target.concat(prop));delete target[prop];return true},ownKeys(target){target=getTargetValue(context.root.cache,context.target);return Reflect.ownKeys(target)},has(target,prop){target=getTargetValue(context.root.cache,context.target);return Reflect.has(target,prop)},getOwnPropertyDescriptor(target,prop){target=getTargetValue(context.root.cache,context.target);const descriptor=Reflect.getOwnPropertyDescriptor(target,prop);if(descriptor){descriptor.configurable=true}return descriptor},getPrototypeOf(target){target=getTargetValue(context.root.cache,context.target);return Reflect.getPrototypeOf(target)}};const proxy=new Proxy({},handler);return proxy}function removeVoidProperties(obj){if(typeof obj!=="object"){return}Object.keys(obj).forEach((key=>{const val=obj[key];if(val===null||typeof val==="undefined"){delete obj[key]}else if(typeof val==="object"){removeVoidProperties(val)}}))}function proxyAccess(proxiedValue){if(typeof proxiedValue!=="object"||!proxiedValue[isProxy]){throw new Error("Given value is not proxied. Make sure you are referencing the value through the live data proxy.")}return proxiedValue}exports.proxyAccess=proxyAccess;class OrderedCollectionProxy{constructor(collection,orderProperty="order",orderIncrement=10){this.collection=collection;this.orderProperty=orderProperty;this.orderIncrement=orderIncrement;if(typeof collection!=="object"||!collection[isProxy]){throw new Error("Collection is not proxied")}if(collection.valueOf()instanceof Array){throw new Error("Collection is an array, not an object collection")}if(!Object.keys(collection).every((key=>typeof collection[key]==="object"))){throw new Error("Collection has non-object children")}const ok=Object.keys(collection).every((key=>typeof collection[key][orderProperty]==="number"));if(!ok){const keys=Object.keys(collection);for(let i=0;i{const subscription=this.getObservable().subscribe((()=>{const newArray=this.getArray();subscriber.next(newArray)}));return function unsubscribe(){subscription.unsubscribe()}}))}getArray(){const arr=proxyAccess(this.collection).toArray(((a,b)=>a[this.orderProperty]-b[this.orderProperty]));return arr}add(item,index,from){const arr=this.getArray();let minOrder=Number.POSITIVE_INFINITY,maxOrder=Number.NEGATIVE_INFINITY;for(let i=0;ithis.collection[key]===item));if(!fromKey){throw new Error("item not found in collection")}if(from===index){return{key:fromKey,index:index}}if(Math.abs(from-index)===1){const otherItem=arr[index];const otherOrder=otherItem[this.orderProperty];otherItem[this.orderProperty]=item[this.orderProperty];item[this.orderProperty]=otherOrder;return{key:fromKey,index:index}}else{arr.splice(from,1)}}if(typeof index!=="number"||index>=arr.length){index=arr.length;item[this.orderProperty]=arr.length==0?0:maxOrder+this.orderIncrement}else if(index===0){item[this.orderProperty]=arr.length==0?0:minOrder-this.orderIncrement}else{const orders=arr.map((item=>item[this.orderProperty]));const gap=orders[index]-orders[index-1];if(gap>1){item[this.orderProperty]=orders[index]-Math.floor(gap/2)}else{arr.splice(index,0,item);for(let i=0;ithis.collection[key]===item));if(!key){throw new Error("Cannot find target object to delete")}this.collection[key]=null;return{key:key,index:index}}move(fromIndex,toIndex){const arr=this.getArray();return this.add(arr[fromIndex],toIndex,fromIndex)}sort(sortFn){const arr=this.getArray();arr.sort(sortFn);for(let i=0;i{newContext[key]=context[key]}))}this[_private].context=newContext;return this}else if(typeof context==="undefined"){console.warn("Use snap.context() instead of snap.ref.context() to get updating context in event callbacks");return currentContext}else{throw new Error("Invalid context argument")}}get cursor(){return this[_private].cursor}set cursor(value){var _a;this[_private].cursor=value;(_a=this.onCursor)===null||_a===void 0?void 0:_a.call(this,value)}get path(){return this[_private].path}get key(){const key=this[_private].key;return typeof key==="number"?`[${key}]`:key}get index(){const key=this[_private].key;if(typeof key!=="number"){throw new Error(`"${key}" is not a number`)}return key}get parent(){const currentPath=path_info_1.PathInfo.fillVariables2(this.path,this.vars);const info=path_info_1.PathInfo.get(currentPath);if(info.parentPath===null){return null}return new DataReference(this.db,info.parentPath).context(this[_private].context)}get vars(){return this[_private].vars}child(childPath){childPath=typeof childPath==="number"?childPath:childPath.replace(/^\/|\/$/g,"");const currentPath=path_info_1.PathInfo.fillVariables2(this.path,this.vars);const targetPath=path_info_1.PathInfo.getChildPath(currentPath,childPath);return new DataReference(this.db,targetPath).context(this[_private].context)}async set(value,onComplete){try{if(this.isWildcardPath){throw new Error(`Cannot set the value of wildcard path "/${this.path}"`)}if(this.parent===null){throw new Error("Cannot set the root object. Use update, or set individual child properties")}if(typeof value==="undefined"){throw new TypeError(`Cannot store undefined value in "/${this.path}"`)}if(!this.db.isReady){await this.db.ready()}value=this.db.types.serialize(this.path,value);const{cursor:cursor}=await this.db.api.set(this.path,value,{context:this[_private].context});this.cursor=cursor;if(typeof onComplete==="function"){try{onComplete(null,this)}catch(err){console.error("Error in onComplete callback:",err)}}}catch(err){if(typeof onComplete==="function"){try{onComplete(err,this)}catch(err){console.error("Error in onComplete callback:",err)}}else{throw err}}return this}async update(updates,onComplete){try{if(this.isWildcardPath){throw new Error(`Cannot update the value of wildcard path "/${this.path}"`)}if(!this.db.isReady){await this.db.ready()}if(typeof updates!=="object"||updates instanceof Array||updates instanceof ArrayBuffer||updates instanceof Date){await this.set(updates)}else if(Object.keys(updates).length===0){console.warn(`update called on path "/${this.path}", but there is nothing to update`)}else{updates=this.db.types.serialize(this.path,updates);const{cursor:cursor}=await this.db.api.update(this.path,updates,{context:this[_private].context});this.cursor=cursor}if(typeof onComplete==="function"){try{onComplete(null,this)}catch(err){console.error("Error in onComplete callback:",err)}}}catch(err){if(typeof onComplete==="function"){try{onComplete(err,this)}catch(err){console.error("Error in onComplete callback:",err)}}else{throw err}}return this}async transaction(callback){if(this.isWildcardPath){throw new Error(`Cannot start a transaction on wildcard path "/${this.path}"`)}if(!this.db.isReady){await this.db.ready()}let throwError;const cb=currentValue=>{currentValue=this.db.types.deserialize(this.path,currentValue);const snap=new data_snapshot_1.DataSnapshot(this,currentValue);let newValue;try{newValue=callback(snap)}catch(err){throwError=err;return}if(newValue instanceof Promise){return newValue.then((val=>this.db.types.serialize(this.path,val))).catch((err=>{throwError=err;return}))}else{return this.db.types.serialize(this.path,newValue)}};const{cursor:cursor}=await this.db.api.transaction(this.path,cb,{context:this[_private].context});this.cursor=cursor;if(throwError){throw throwError}return this}on(event,callback,cancelCallback){if(this.path===""&&["value","child_changed"].includes(event)){console.warn("WARNING: Listening for value and child_changed events on the root node is a bad practice. These events require loading of all data (value event), or potentially lots of data (child_changed event) each time they are fired")}let eventPublisher=null;const eventStream=new subscription_1.EventStream((publisher=>{eventPublisher=publisher}));const cb={event:event,stream:eventStream,userCallback:typeof callback==="function"&&callback,ourCallback:(err,path,newValue,oldValue,eventContext)=>{if(err){this.db.debug.error(`Error getting data for event ${event} on path "${path}"`,err);return}const ref=this.db.ref(path);ref[_private].vars=path_info_1.PathInfo.extractVariables(this.path,path);let callbackObject;if(event.startsWith("notify_")){callbackObject=ref.context(eventContext||{})}else{const values={previous:this.db.types.deserialize(path,oldValue),current:this.db.types.deserialize(path,newValue)};if(event==="child_removed"){callbackObject=new data_snapshot_1.DataSnapshot(ref,values.previous,true,values.previous,eventContext)}else if(event==="mutations"){callbackObject=new data_snapshot_1.MutationsDataSnapshot(ref,values.current,eventContext)}else{const isRemoved=event==="mutated"&&values.current===null;callbackObject=new data_snapshot_1.DataSnapshot(ref,values.current,isRemoved,values.previous,eventContext)}}eventPublisher.publish(callbackObject);if(eventContext===null||eventContext===void 0?void 0:eventContext.acebase_cursor){this.cursor=eventContext.acebase_cursor}}};this[_private].callbacks.push(cb);const subscribe=()=>{if(typeof callback==="function"){eventStream.subscribe(callback,((activated,cancelReason)=>{if(!activated){cancelCallback&&cancelCallback(cancelReason)}}))}const advancedOptions=typeof callback==="object"?callback:{newOnly:!callback};if(typeof advancedOptions.newOnly!=="boolean"){advancedOptions.newOnly=false}if(this.isWildcardPath){advancedOptions.newOnly=true}const cancelSubscription=err=>{const callbacks=this[_private].callbacks;callbacks.splice(callbacks.indexOf(cb),1);this.db.api.unsubscribe(this.path,event,cb.ourCallback);this.db.debug.error(`Subscription "${event}" on path "/${this.path}" canceled because of an error: ${err.message}`);eventPublisher.cancel(err.message)};const authorized=this.db.api.subscribe(this.path,event,cb.ourCallback,{newOnly:advancedOptions.newOnly,cancelCallback:cancelSubscription,syncFallback:advancedOptions.syncFallback});const allSubscriptionsStoppedCallback=()=>{const callbacks=this[_private].callbacks;callbacks.splice(callbacks.indexOf(cb),1);return this.db.api.unsubscribe(this.path,event,cb.ourCallback)};if(authorized instanceof Promise){authorized.then((()=>{eventPublisher.start(allSubscriptionsStoppedCallback)})).catch(cancelSubscription)}else{eventPublisher.start(allSubscriptionsStoppedCallback)}if(!advancedOptions.newOnly){if(event==="value"){this.get((snap=>{eventPublisher.publish(snap)}))}else if(event==="child_added"){this.get((snap=>{const val=snap.val();if(val===null||typeof val!=="object"){return}Object.keys(val).forEach((key=>{const childSnap=new data_snapshot_1.DataSnapshot(this.child(key),val[key]);eventPublisher.publish(childSnap)}))}))}else if(event==="notify_child_added"){const step=100,limit=step;let skip=0;const more=async()=>{const children=await this.db.api.reflect(this.path,"children",{limit:limit,skip:skip});children.list.forEach((child=>{const childRef=this.child(child.key);eventPublisher.publish(childRef)}));if(children.more){skip+=step;more()}};more()}}};if(this.db.isReady){subscribe()}else{this.db.ready(subscribe)}return eventStream}off(event,callback){const subscriptions=this[_private].callbacks;const stopSubs=subscriptions.filter((sub=>(!event||sub.event===event)&&(!callback||sub.userCallback===callback)));if(stopSubs.length===0){this.db.debug.warn(`Can't find event subscriptions to stop (path: "${this.path}", event: ${event||"(any)"}, callback: ${callback})`)}stopSubs.forEach((sub=>{sub.stream.stop()}));return this}get(optionsOrCallback,callback){if(!this.db.isReady){const promise=this.db.ready().then((()=>this.get(optionsOrCallback,callback)));return typeof optionsOrCallback!=="function"&&typeof callback!=="function"?promise:undefined}callback=typeof optionsOrCallback==="function"?optionsOrCallback:typeof callback==="function"?callback:undefined;if(this.isWildcardPath){const error=new Error(`Cannot get value of wildcard path "/${this.path}". Use .query() instead`);if(typeof callback==="function"){throw error}return Promise.reject(error)}const options=new DataRetrievalOptions(typeof optionsOrCallback==="object"?optionsOrCallback:{cache_mode:"allow"});const promise=this.db.api.get(this.path,options).then((result=>{var _a;const isNewApiResult="context"in result&&"value"in result;if(!isNewApiResult){console.warn("AceBase api.get method returned an old response value. Update your acebase or acebase-client package");result={value:result,context:{}}}const value=this.db.types.deserialize(this.path,result.value);const snapshot=new data_snapshot_1.DataSnapshot(this,value,undefined,undefined,result.context);if((_a=result.context)===null||_a===void 0?void 0:_a.acebase_cursor){this.cursor=result.context.acebase_cursor}return snapshot}));if(callback){promise.then(callback).catch((err=>{console.error("Uncaught error:",err)}));return}else{return promise}}once(event,options){if(event==="value"&&!this.isWildcardPath){return this.get(options)}return new Promise((resolve=>{const callback=snap=>{this.off(event,callback);resolve(snap)};this.on(event,callback)}))}push(value,onComplete){if(this.isWildcardPath){const error=new Error(`Cannot push to wildcard path "/${this.path}"`);if(typeof value==="undefined"||typeof onComplete==="function"){throw error}return Promise.reject(error)}const id=id_1.ID.generate();const ref=this.child(id);ref[_private].pushed=true;if(typeof value!=="undefined"){return ref.set(value,onComplete).then((()=>ref))}else{return ref}}async remove(){if(this.isWildcardPath){throw new Error(`Cannot remove wildcard path "/${this.path}". Use query().remove instead`)}if(this.parent===null){throw new Error("Cannot remove the root node")}return this.set(null)}async exists(){if(this.isWildcardPath){throw new Error(`Cannot check wildcard path "/${this.path}" existence`)}if(!this.db.isReady){await this.db.ready()}return this.db.api.exists(this.path)}get isWildcardPath(){return this.path.indexOf("*")>=0||this.path.indexOf("$")>=0}query(){return new DataReferenceQuery(this)}async count(){const info=await this.reflect("info",{child_count:true});return info.children.count}async reflect(type,args){if(this.isWildcardPath){throw new Error(`Cannot reflect on wildcard path "/${this.path}"`)}if(!this.db.isReady){await this.db.ready()}return this.db.api.reflect(this.path,type,args)}async export(write,options={format:"json",type_safe:true}){if(this.isWildcardPath){throw new Error(`Cannot export wildcard path "/${this.path}"`)}if(!this.db.isReady){await this.db.ready()}const writeFn=typeof write==="function"?write:write.write.bind(write);return this.db.api.export(this.path,writeFn,options)}async import(read,options={format:"json",suppress_events:false}){if(this.isWildcardPath){throw new Error(`Cannot import to wildcard path "/${this.path}"`)}if(!this.db.isReady){await this.db.ready()}return this.db.api.import(this.path,read,options)}proxy(options){const isOptionsArg=typeof options==="object"&&(typeof options.cursor!=="undefined"||typeof options.defaultValue!=="undefined");if(typeof options!=="undefined"&&!isOptionsArg){this.db.debug.warn("Warning: live data proxy is being initialized with a deprecated method signature. Use ref.proxy(options) instead of ref.proxy(defaultValue)");options={defaultValue:options}}return data_proxy_1.LiveDataProxy.create(this,options)}observe(options){if(options){throw new Error("observe does not support data retrieval options yet")}if(this.isWildcardPath){throw new Error(`Cannot observe wildcard path "/${this.path}"`)}const Observable=(0,optional_observable_1.getObservable)();return new Observable((observer=>{let cache,resolved=false;let promise=this.get(options).then((snap=>{resolved=true;cache=snap.val();observer.next(cache)}));const updateCache=snap=>{if(!resolved){promise=promise.then((()=>updateCache(snap)));return}const mutatedPath=snap.ref.path;if(mutatedPath===this.path){cache=snap.val();return observer.next(cache)}const trailKeys=path_info_1.PathInfo.getPathKeys(mutatedPath).slice(path_info_1.PathInfo.getPathKeys(this.path).length);let target=cache;while(trailKeys.length>1){const key=trailKeys.shift();if(!(key in target)){target[key]=typeof trailKeys[0]==="number"?[]:{}}target=target[key]}const prop=trailKeys.shift();const newValue=snap.val();if(newValue===null){target instanceof Array&&typeof prop==="number"?target.splice(prop,1):delete target[prop]}else{target[prop]=newValue}observer.next(cache)};this.on("mutated",updateCache);return()=>{this.off("mutated",updateCache)}}))}async forEach(callbackOrOptions,callback){let options;if(typeof callbackOrOptions==="function"){callback=callbackOrOptions}else{options=callbackOrOptions}if(typeof callback!=="function"){throw new TypeError("No callback function given")}const info=await this.reflect("children",{limit:0,skip:0});const summary={canceled:false,total:info.list.length,processed:0};for(let i=0;ithis.get(optionsOrCallback,callback)));return typeof optionsOrCallback!=="function"&&typeof callback!=="function"?promise:undefined}callback=typeof optionsOrCallback==="function"?optionsOrCallback:typeof callback==="function"?callback:undefined;const options=new QueryDataRetrievalOptions(typeof optionsOrCallback==="object"?optionsOrCallback:{snapshots:true,cache_mode:"allow"});options.allow_cache=options.cache_mode!=="bypass";options.eventHandler=ev=>{if(!this[_private].events[ev.name]){return false}const listeners=this[_private].events[ev.name];if(typeof listeners!=="object"||listeners.length===0){return false}if(["add","change","remove"].includes(ev.name)){const ref=new DataReference(this.ref.db,ev.path);const eventData={name:ev.name};if(options.snapshots&&ev.name!=="remove"){const val=db.types.deserialize(ev.path,ev.value);eventData.snapshot=new data_snapshot_1.DataSnapshot(ref,val,false)}else{eventData.ref=ref}ev=eventData}listeners.forEach((callback=>{try{callback(ev)}catch(e){}}))};options.monitor={add:false,change:false,remove:false};if(this[_private].events){if(this[_private].events["add"]&&this[_private].events["add"].length>0){options.monitor.add=true}if(this[_private].events["change"]&&this[_private].events["change"].length>0){options.monitor.change=true}if(this[_private].events["remove"]&&this[_private].events["remove"].length>0){options.monitor.remove=true}}this.stop();const db=this.ref.db;return db.api.query(this.ref.path,this[_private],options).catch((err=>{throw new Error(err)})).then((res=>{const{stop:stop}=res;let{results:results,context:context}=res;this.stop=async()=>{await stop()};if(!("results"in res&&"context"in res)){console.warn("Query results missing context. Update your acebase and/or acebase-client packages");results=res,context={}}if(options.snapshots){const snaps=results.map((result=>{const val=db.types.deserialize(result.path,result.val);return new data_snapshot_1.DataSnapshot(db.ref(result.path),val,false,undefined,context)}));return DataSnapshotsArray.from(snaps)}else{const refs=results.map((path=>db.ref(path)));return DataReferencesArray.from(refs)}})).then((results=>{callback&&callback(results);return results}))}async stop(){}getRefs(callback){return this.get({snapshots:false},callback)}find(){return this.get({snapshots:false})}async count(){const refs=await this.find();return refs.length}async exists(){const originalTake=this[_private].take;const p=this.take(1).find();this.take(originalTake);const refs=await p;return refs.length!==0}async remove(callback){const refs=await this.find();const parentUpdates=refs.reduce(((parents,ref)=>{const parent=parents[ref.parent.path];if(!parent){parents[ref.parent.path]=[ref]}else{parent.push(ref)}return parents}),{});const db=this.ref.db;const promises=Object.keys(parentUpdates).map((async parentPath=>{const updates=refs.reduce(((updates,ref)=>{updates[ref.key]=null;return updates}),{});const ref=db.ref(parentPath);try{await ref.update(updates);return{ref:ref,success:true}}catch(error){return{ref:ref,success:false,error:error}}}));const results=await Promise.all(promises);callback&&callback(results);return results}on(event,callback){if(!this[_private].events[event]){this[_private].events[event]=[]}this[_private].events[event].push(callback);return this}off(event,callback){if(typeof event==="undefined"){this[_private].events={};return this}if(!this[_private].events[event]){return this}if(typeof callback==="undefined"){delete this[_private].events[event];return this}const index=this[_private].events[event].indexOf(callback);if(!~index){return this}this[_private].events[event].splice(index,1);return this}async forEach(callbackOrOptions,callback){let options;if(typeof callbackOrOptions==="function"){callback=callbackOrOptions}else{options=callbackOrOptions}if(typeof callback!=="function"){throw new TypeError("No callback function given")}const refs=await this.find();const summary={canceled:false,total:refs.length,processed:0};for(let i=0;iarr[i]=snap));return arr}getValues(){return this.map((snap=>snap.val()))}}exports.DataSnapshotsArray=DataSnapshotsArray;class DataReferencesArray extends Array{static from(refs){const arr=new DataReferencesArray(refs.length);refs.forEach(((ref,i)=>arr[i]=ref));return arr}getPaths(){return this.map((ref=>ref.path))}}exports.DataReferencesArray=DataReferencesArray},{"./data-proxy":33,"./data-snapshot":35,"./id":37,"./optional-observable":40,"./path-info":42,"./subscription":49}],35:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.MutationsDataSnapshot=exports.DataSnapshot=void 0;const path_info_1=require("./path-info");function getChild(snapshot,path,previous=false){if(!snapshot.exists()){return null}let child=previous?snapshot.previous():snapshot.val();if(typeof path==="number"){return child[path]}path_info_1.PathInfo.getPathKeys(path).every((key=>{child=child[key];return typeof child!=="undefined"}));return child||null}function getChildren(snapshot){if(!snapshot.exists()){return[]}const value=snapshot.val();if(value instanceof Array){return new Array(value.length).map(((v,i)=>i))}if(typeof value==="object"){return Object.keys(value)}return[]}class DataSnapshot{constructor(ref,value,isRemoved=false,prevValue,context){this.ref=ref;this.val=()=>value;this.previous=()=>prevValue;this.exists=()=>{if(isRemoved){return false}return value!==null&&typeof value!=="undefined"};this.context=()=>context||{}}exists(){return false}static for(ref,value){return new DataSnapshot(ref,value)}child(path){const val=getChild(this,path,false);const prev=getChild(this,path,true);return new DataSnapshot(this.ref.child(path),val,false,prev)}hasChild(path){return getChild(this,path)!==null}hasChildren(){return getChildren(this).length>0}numChildren(){return getChildren(this).length}forEach(callback){const value=this.val();const prev=this.previous();return getChildren(this).every((key=>{const snap=new DataSnapshot(this.ref.child(key),value[key],false,prev[key]);return callback(snap)}))}get key(){return this.ref.key}}exports.DataSnapshot=DataSnapshot;class MutationsDataSnapshot extends DataSnapshot{constructor(ref,mutations,context){super(ref,mutations,false,undefined,context);this.previous=()=>{throw new Error("Iterate values to get previous values for each mutation")};this.val=(warn=true)=>{if(warn){console.warn("Unless you know what you are doing, it is best not to use the value of a mutations snapshot directly. Use child methods and forEach to iterate the mutations instead")}return mutations}}forEach(callback){const mutations=this.val();return mutations.every((mutation=>{const ref=mutation.target.reduce(((ref,key)=>ref.child(key)),this.ref);const snap=new DataSnapshot(ref,mutation.val,false,mutation.prev);return callback(snap)}))}child(index){if(typeof index!=="number"){throw new Error("child index must be a number")}const mutation=this.val()[index];const ref=mutation.target.reduce(((ref,key)=>ref.child(key)),this.ref);return new DataSnapshot(ref,mutation.val,false,mutation.prev)}}exports.MutationsDataSnapshot=MutationsDataSnapshot},{"./path-info":42}],36:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.DebugLogger=void 0;const process_1=require("./process");const noop=()=>{};class DebugLogger{constructor(level="log",prefix=""){this.level=level;this.prefix=prefix;this.setLevel(level)}setLevel(level){const prefix=this.prefix?this.prefix+" %s":"";this.verbose=["verbose"].includes(level)?prefix?console.log.bind(console,prefix):console.log.bind(console):noop;this.log=["verbose","log"].includes(level)?prefix?console.log.bind(console,prefix):console.log.bind(console):noop;this.warn=["verbose","log","warn"].includes(level)?prefix?console.warn.bind(console,prefix):console.warn.bind(console):noop;this.error=["verbose","log","warn","error"].includes(level)?prefix?console.error.bind(console,prefix):console.error.bind(console):noop;this.write=text=>{const isRunKit=typeof process_1.default!=="undefined"&&process_1.default.env&&typeof process_1.default.env.RUNKIT_ENDPOINT_PATH==="string";if(text&&isRunKit){text.split("\n").forEach((line=>console.log(line)))}else{console.log(text)}}}}exports.DebugLogger=DebugLogger},{"./process":44}],37:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ID=void 0;const cuid_1=require("./cuid");let timeBias=0;class ID{static set timeBias(bias){if(typeof bias!=="number"){return}timeBias=bias}static generate(){return(0,cuid_1.default)(timeBias).slice(1)}}exports.ID=ID},{"./cuid":31}],38:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ObjectCollection=exports.PartialArray=exports.SchemaDefinition=exports.Colorize=exports.ColorStyle=exports.SimpleEventEmitter=exports.SimpleCache=exports.ascii85=exports.PathInfo=exports.Utils=exports.TypeMappings=exports.Transport=exports.EventSubscription=exports.EventPublisher=exports.EventStream=exports.PathReference=exports.ID=exports.DebugLogger=exports.OrderedCollectionProxy=exports.proxyAccess=exports.MutationsDataSnapshot=exports.DataSnapshot=exports.DataReferencesArray=exports.DataSnapshotsArray=exports.QueryDataRetrievalOptions=exports.DataRetrievalOptions=exports.DataReferenceQuery=exports.DataReference=exports.Api=exports.AceBaseBaseSettings=exports.AceBaseBase=void 0;var acebase_base_1=require("./acebase-base");Object.defineProperty(exports,"AceBaseBase",{enumerable:true,get:function(){return acebase_base_1.AceBaseBase}});Object.defineProperty(exports,"AceBaseBaseSettings",{enumerable:true,get:function(){return acebase_base_1.AceBaseBaseSettings}});var api_1=require("./api");Object.defineProperty(exports,"Api",{enumerable:true,get:function(){return api_1.Api}});var data_reference_1=require("./data-reference");Object.defineProperty(exports,"DataReference",{enumerable:true,get:function(){return data_reference_1.DataReference}});Object.defineProperty(exports,"DataReferenceQuery",{enumerable:true,get:function(){return data_reference_1.DataReferenceQuery}});Object.defineProperty(exports,"DataRetrievalOptions",{enumerable:true,get:function(){return data_reference_1.DataRetrievalOptions}});Object.defineProperty(exports,"QueryDataRetrievalOptions",{enumerable:true,get:function(){return data_reference_1.QueryDataRetrievalOptions}});Object.defineProperty(exports,"DataSnapshotsArray",{enumerable:true,get:function(){return data_reference_1.DataSnapshotsArray}});Object.defineProperty(exports,"DataReferencesArray",{enumerable:true,get:function(){return data_reference_1.DataReferencesArray}});var data_snapshot_1=require("./data-snapshot");Object.defineProperty(exports,"DataSnapshot",{enumerable:true,get:function(){return data_snapshot_1.DataSnapshot}});Object.defineProperty(exports,"MutationsDataSnapshot",{enumerable:true,get:function(){return data_snapshot_1.MutationsDataSnapshot}});var data_proxy_1=require("./data-proxy");Object.defineProperty(exports,"proxyAccess",{enumerable:true,get:function(){return data_proxy_1.proxyAccess}});Object.defineProperty(exports,"OrderedCollectionProxy",{enumerable:true,get:function(){return data_proxy_1.OrderedCollectionProxy}});var debug_1=require("./debug");Object.defineProperty(exports,"DebugLogger",{enumerable:true,get:function(){return debug_1.DebugLogger}});var id_1=require("./id");Object.defineProperty(exports,"ID",{enumerable:true,get:function(){return id_1.ID}});var path_reference_1=require("./path-reference");Object.defineProperty(exports,"PathReference",{enumerable:true,get:function(){return path_reference_1.PathReference}});var subscription_1=require("./subscription");Object.defineProperty(exports,"EventStream",{enumerable:true,get:function(){return subscription_1.EventStream}});Object.defineProperty(exports,"EventPublisher",{enumerable:true,get:function(){return subscription_1.EventPublisher}});Object.defineProperty(exports,"EventSubscription",{enumerable:true,get:function(){return subscription_1.EventSubscription}});exports.Transport=require("./transport");var type_mappings_1=require("./type-mappings");Object.defineProperty(exports,"TypeMappings",{enumerable:true,get:function(){return type_mappings_1.TypeMappings}});exports.Utils=require("./utils");var path_info_1=require("./path-info");Object.defineProperty(exports,"PathInfo",{enumerable:true,get:function(){return path_info_1.PathInfo}});var ascii85_1=require("./ascii85");Object.defineProperty(exports,"ascii85",{enumerable:true,get:function(){return ascii85_1.ascii85}});var simple_cache_1=require("./simple-cache");Object.defineProperty(exports,"SimpleCache",{enumerable:true,get:function(){return simple_cache_1.SimpleCache}});var simple_event_emitter_1=require("./simple-event-emitter");Object.defineProperty(exports,"SimpleEventEmitter",{enumerable:true,get:function(){return simple_event_emitter_1.SimpleEventEmitter}});var simple_colors_1=require("./simple-colors");Object.defineProperty(exports,"ColorStyle",{enumerable:true,get:function(){return simple_colors_1.ColorStyle}});Object.defineProperty(exports,"Colorize",{enumerable:true,get:function(){return simple_colors_1.Colorize}});var schema_1=require("./schema");Object.defineProperty(exports,"SchemaDefinition",{enumerable:true,get:function(){return schema_1.SchemaDefinition}});var partial_array_1=require("./partial-array");Object.defineProperty(exports,"PartialArray",{enumerable:true,get:function(){return partial_array_1.PartialArray}});const object_collection_1=require("./object-collection");Object.defineProperty(exports,"ObjectCollection",{enumerable:true,get:function(){return object_collection_1.ObjectCollection}})},{"./acebase-base":27,"./api":28,"./ascii85":29,"./data-proxy":33,"./data-reference":34,"./data-snapshot":35,"./debug":36,"./id":37,"./object-collection":39,"./partial-array":41,"./path-info":42,"./path-reference":43,"./schema":45,"./simple-cache":46,"./simple-colors":47,"./simple-event-emitter":48,"./subscription":49,"./transport":50,"./type-mappings":51,"./utils":52}],39:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ObjectCollection=void 0;const id_1=require("./id");class ObjectCollection{static from(array){const collection={};array.forEach((child=>{collection[id_1.ID.generate()]=child}));return collection}}exports.ObjectCollection=ObjectCollection},{"./id":37}],40:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ObservableShim=exports.setObservable=exports.getObservable=void 0;let _observable;function getObservable(){if(_observable){return _observable}if(typeof window!=="undefined"&&window.Observable){_observable=window.Observable;return _observable}try{const{Observable:Observable}=require("rxjs");if(!Observable){throw new Error("not loaded")}_observable=Observable;return Observable}catch(err){throw new Error("RxJS Observable could not be loaded. If you are using a browser build, add it to AceBase using db.setObservable. For node.js builds, add it to your project with: npm i rxjs")}}exports.getObservable=getObservable;function setObservable(Observable){if(Observable==="shim"){console.warn("Using AceBase's simple Observable shim. Only use this if you know what you're doing.");Observable=ObservableShim}_observable=Observable}exports.setObservable=setObservable;class ObservableShim{constructor(create){this._active=false;this._subscribers=[];this._create=create}subscribe(subscriber){if(!this._active){const next=value=>{this._subscribers.forEach((s=>{try{s(value)}catch(err){console.error("Error in subscriber callback:",err)}}))};const observer={next:next};this._cleanup=this._create(observer);this._active=true}this._subscribers.push(subscriber);const unsubscribe=()=>{this._subscribers.splice(this._subscribers.indexOf(subscriber),1);if(this._subscribers.length===0){this._active=false;this._cleanup()}};const subscription={unsubscribe:unsubscribe};return subscription}}exports.ObservableShim=ObservableShim},{rxjs:53}],41:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.PartialArray=void 0;class PartialArray{constructor(sparseArray){if(sparseArray instanceof Array){for(let i=0;ikey.startsWith("[")?parseInt(key.slice(1,-1)):key))}class PathInfo{constructor(path){if(typeof path==="string"){this.keys=getPathKeys(path)}else if(path instanceof Array){this.keys=path}this.path=this.keys.reduce(((path,key,i)=>i===0?`${key}`:typeof key==="string"?`${path}/${key}`:`${path}[${key}]`),"")}static get(path){return new PathInfo(path)}static getChildPath(path,childKey){return PathInfo.get(path).child(childKey).path}static getPathKeys(path){return getPathKeys(path)}get key(){return this.keys.length===0?null:this.keys.slice(-1)[0]}get parent(){if(this.keys.length==0){return null}const parentKeys=this.keys.slice(0,-1);return new PathInfo(parentKeys)}get parentPath(){return this.keys.length===0?null:this.parent.path}child(childKey){if(typeof childKey==="string"){childKey=getPathKeys(childKey)}return new PathInfo(this.keys.concat(childKey))}childPath(childKey){return this.child(childKey).path}get pathKeys(){return this.keys}static extractVariables(varPath,fullPath){if(!varPath.includes("*")&&!varPath.includes("$")){return[]}const keys=getPathKeys(varPath);const pathKeys=getPathKeys(fullPath);let count=0;const variables={get length(){return count}};keys.forEach(((key,index)=>{const pathKey=pathKeys[index];if(key==="*"){variables[count++]=pathKey}else if(typeof key==="string"&&key[0]==="$"){variables[count++]=pathKey;variables[key]=pathKey;const varName=key.slice(1);if(typeof variables[varName]==="undefined"){variables[varName]=pathKey}}}));return variables}static fillVariables(varPath,fullPath){if(varPath.indexOf("*")<0&&varPath.indexOf("$")<0){return varPath}const keys=getPathKeys(varPath);const pathKeys=getPathKeys(fullPath);const merged=keys.map(((key,index)=>{if(key===pathKeys[index]||index>=pathKeys.length){return key}else if(typeof key==="string"&&(key==="*"||key[0]==="$")){return pathKeys[index]}else{throw new Error(`Path "${fullPath}" cannot be used to fill variables of path "${varPath}" because they do not match`)}}));let mergedPath="";merged.forEach((key=>{if(typeof key==="number"){mergedPath+=`[${key}]`}else{if(mergedPath.length>0){mergedPath+="/"}mergedPath+=key}}));return mergedPath}static fillVariables2(varPath,vars){if(typeof vars!=="object"||Object.keys(vars).length===0){return varPath}const pathKeys=getPathKeys(varPath);let n=0;const targetPath=pathKeys.reduce(((path,key)=>{if(typeof key==="string"&&(key==="*"||key.startsWith("$"))){return PathInfo.getChildPath(path,vars[n++])}else{return PathInfo.getChildPath(path,key)}}),"");return targetPath}equals(otherPath){const other=otherPath instanceof PathInfo?otherPath:new PathInfo(otherPath);if(this.path===other.path){return true}if(this.keys.length!==other.keys.length){return false}return this.keys.every(((key,index)=>{const otherKey=other.keys[index];return otherKey===key||typeof otherKey==="string"&&(otherKey==="*"||otherKey[0]==="$")||typeof key==="string"&&(key==="*"||key[0]==="$")}))}isAncestorOf(descendantPath){const descendant=descendantPath instanceof PathInfo?descendantPath:new PathInfo(descendantPath);if(descendant.path===""||this.path===descendant.path){return false}if(this.path===""){return true}if(this.keys.length>=descendant.keys.length){return false}return this.keys.every(((key,index)=>{const otherKey=descendant.keys[index];return otherKey===key||typeof otherKey==="string"&&(otherKey==="*"||otherKey[0]==="$")||typeof key==="string"&&(key==="*"||key[0]==="$")}))}isDescendantOf(ancestorPath){const ancestor=ancestorPath instanceof PathInfo?ancestorPath:new PathInfo(ancestorPath);if(this.path===""||this.path===ancestor.path){return false}if(ancestorPath===""){return true}if(ancestor.keys.length>=this.keys.length){return false}return ancestor.keys.every(((key,index)=>{const otherKey=this.keys[index];return otherKey===key||typeof otherKey==="string"&&(otherKey==="*"||otherKey[0]==="$")||typeof key==="string"&&(key==="*"||key[0]==="$")}))}isOnTrailOf(otherPath){const other=otherPath instanceof PathInfo?otherPath:new PathInfo(otherPath);if(this.path.length===0||other.path.length===0){return true}if(this.path===other.path){return true}return this.pathKeys.every(((key,index)=>{if(index>=other.keys.length){return true}const otherKey=other.keys[index];return otherKey===key||typeof otherKey==="string"&&(otherKey==="*"||otherKey[0]==="$")||typeof key==="string"&&(key==="*"||key[0]==="$")}))}isChildOf(otherPath){const other=otherPath instanceof PathInfo?otherPath:new PathInfo(otherPath);if(this.path===""){return false}return this.parent.equals(other)}isParentOf(otherPath){const other=otherPath instanceof PathInfo?otherPath:new PathInfo(otherPath);if(other.path===""){return false}return this.equals(other.parent)}}exports.PathInfo=PathInfo},{}],43:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.PathReference=void 0;class PathReference{constructor(path){this.path=path}}exports.PathReference=PathReference},{}],44:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default={nextTick(fn){setTimeout(fn,0)}}},{}],45:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.SchemaDefinition=void 0;function parse(definition){let pos=0;function consumeSpaces(){let c;while(c=definition[pos],[" ","\r","\n","\t"].includes(c)){pos++}}function consumeCharacter(c){if(definition[pos]!==c){throw new Error(`Unexpected character at position ${pos}. Expected: '${c}', found '${definition[pos]}'`)}pos++}function readProperty(){consumeSpaces();const prop={name:"",optional:false,wildcard:false};let c;while(c=definition[pos],c==="_"||c==="$"||c>="a"&&c<="z"||c>="A"&&c<="Z"||prop.name.length>0&&c>="0"&&c<="9"||prop.name.length===0&&c==="*"){prop.name+=c;pos++}if(prop.name.length===0){throw new Error(`Property name expected at position ${pos}, found: ${definition.slice(pos,pos+10)}..`)}if(definition[pos]==="?"){prop.optional=true;pos++}if(prop.name==="*"||prop.name[0]==="$"){prop.optional=true;prop.wildcard=true}consumeSpaces();consumeCharacter(":");return prop}function readType(){consumeSpaces();let type={typeOf:"any"},c;let name="";while(c=definition[pos],c>="a"&&c<="z"||c>="A"&&c<="Z"){name+=c;pos++}if(name.length===0){if(definition[pos]==="*"){consumeCharacter("*");type.typeOf="any"}else if(["'",'"',"`"].includes(definition[pos])){type.typeOf="string";type.value="";const quote=definition[pos];consumeCharacter(quote);while(c=definition[pos],c&&c!==quote){type.value+=c;pos++}consumeCharacter(quote)}else if(definition[pos]>="0"&&definition[pos]<="9"){type.typeOf="number";let nr="";while(c=definition[pos],c==="."||c==="n"||c>="0"&&c<="9"){nr+=c;pos++}if(nr.endsWith("n")){type.value=BigInt(nr)}else if(nr.includes(".")){type.value=parseFloat(nr)}else{type.value=parseInt(nr)}}else if(definition[pos]==="{"){consumeCharacter("{");type.typeOf="object";type.instanceOf=Object;type.children=[];while(true){const prop=readProperty();const types=readTypes();type.children.push({name:prop.name,optional:prop.optional,wildcard:prop.wildcard,types:types});consumeSpaces();if(definition[pos]==="}"){break}consumeCharacter(",")}consumeCharacter("}")}else if(definition[pos]==="/"){consumeCharacter("/");let pattern="",flags="";while(c=definition[pos],c!=="/"||pattern.endsWith("\\")){pattern+=c;pos++}consumeCharacter("/");while(c=definition[pos],["g","i","m","s","u","y","d"].includes(c)){flags+=c;pos++}type.typeOf="string";type.matches=new RegExp(pattern,flags)}else{throw new Error(`Expected a type definition at position ${pos}, found character '${definition[pos]}'`)}}else if(["string","number","boolean","bigint","undefined","String","Number","Boolean","BigInt"].includes(name)){type.typeOf=name.toLowerCase()}else if(name==="Object"||name==="object"){type.typeOf="object";type.instanceOf=Object}else if(name==="Date"){type.typeOf="object";type.instanceOf=Date}else if(name==="Binary"||name==="binary"){type.typeOf="object";type.instanceOf=ArrayBuffer}else if(name==="any"){type.typeOf="any"}else if(name==="null"){type.typeOf="object";type.value=null}else if(name==="Array"){consumeCharacter("<");type.typeOf="object";type.instanceOf=Array;type.genericTypes=readTypes();consumeCharacter(">")}else if(["true","false"].includes(name)){type.typeOf="boolean";type.value=name==="true"}else{throw new Error(`Unknown type at position ${pos}: "${type}"`)}consumeSpaces();while(definition[pos]==="["){consumeCharacter("[");consumeCharacter("]");type={typeOf:"object",instanceOf:Array,genericTypes:[type]}}return type}function readTypes(){consumeSpaces();const types=[readType()];while(definition[pos]==="|"){consumeCharacter("|");types.push(readType());consumeSpaces()}return types}return readType()}function checkObject(path,properties,obj,partial){const invalidProperties=properties.find((prop=>prop.name==="*"||prop.name[0]==="$"))?[]:Object.keys(obj).filter((key=>![null,undefined].includes(obj[key])&&!properties.find((prop=>prop.name===key))));if(invalidProperties.length>0){return{ok:false,reason:`Object at path "${path}" cannot have propert${invalidProperties.length===1?"y":"ies"} ${invalidProperties.map((p=>`"${p}"`)).join(", ")}`}}function checkProperty(property){const hasValue=![null,undefined].includes(obj[property.name]);if(!property.optional&&(partial?obj[property.name]===null:!hasValue)){return{ok:false,reason:`Property at path "${path}/${property.name}" is not optional`}}if(hasValue&&property.types.length===1){return checkType(`${path}/${property.name}`,property.types[0],obj[property.name],false)}if(hasValue&&!property.types.some((type=>checkType(`${path}/${property.name}`,type,obj[property.name],false).ok))){return{ok:false,reason:`Property at path "${path}/${property.name}" does not match any of ${property.types.length} allowed types`}}return{ok:true}}const namedProperties=properties.filter((prop=>!prop.wildcard));const failedProperty=namedProperties.find((prop=>!checkProperty(prop).ok));if(failedProperty){const reason=checkProperty(failedProperty).reason;return{ok:false,reason:reason}}const wildcardProperty=properties.find((prop=>prop.wildcard));if(!wildcardProperty){return{ok:true}}const wildcardChildKeys=Object.keys(obj).filter((key=>!namedProperties.find((prop=>prop.name===key))));let result={ok:true};for(let i=0;i0){if(type.typeOf!=="object"){return{ok:false,reason:`path "${path}" must be typeof ${type.typeOf}`}}if(!type.children){return ok}const childKey=trailKeys[0];let property=type.children.find((prop=>prop.name===childKey));if(!property){property=type.children.find((prop=>prop.name==="*"||prop.name[0]==="$"))}if(!property){return{ok:false,reason:`Object at path "${path}" cannot have property "${childKey}"`}}if(property.optional&&value===null&&trailKeys.length===1){return ok}let result;property.types.some((type=>{const childPath=typeof childKey==="number"?`${path}[${childKey}]`:`${path}/${childKey}`;result=checkType(childPath,type,value,partial,trailKeys.slice(1));return result.ok}));return result}if(value===null){return ok}if(type.instanceOf===Object&&(typeof value!=="object"||value instanceof Array||value instanceof Date)){return{ok:false,reason:`path "${path}" must be an object collection`}}if(type.instanceOf&&(typeof value!=="object"||value.constructor!==type.instanceOf)){return{ok:false,reason:`path "${path}" must be an instance of ${type.instanceOf.name}`}}if("value"in type&&value!==type.value){return{ok:false,reason:`path "${path}" must be value: ${type.value}`}}if(typeof value!==type.typeOf){return{ok:false,reason:`path "${path}" must be typeof ${type.typeOf}`}}if(type.instanceOf===Array&&type.genericTypes&&!value.every((v=>type.genericTypes.some((t=>checkType(path,t,v,false).ok))))){return{ok:false,reason:`every array value of path "${path}" must match one of the specified types`}}if(type.typeOf==="object"&&type.children){return checkObject(path,type.children,value,partial)}if(type.matches&&!type.matches.test(value)){return{ok:false,reason:`path "${path}" must match regular expression /${type.matches.source}/${type.matches.flags}`}}return ok}function getConstructorType(val){switch(val){case String:return"string";case Number:return"number";case Boolean:return"boolean";case Date:return"Date";case BigInt:return"bigint";case Array:throw new Error("Schema error: Array cannot be used without a type. Use string[] or Array instead");default:throw new Error(`Schema error: unknown type used: ${val.name}`)}}class SchemaDefinition{constructor(definition){this.source=definition;if(typeof definition==="object"){const toTS=obj=>"{"+Object.keys(obj).map((key=>{let val=obj[key];if(val===undefined){val="undefined"}else if(val instanceof RegExp){val=`/${val.source}/${val.flags}`}else if(typeof val==="object"){val=toTS(val)}else if(typeof val==="function"){val=getConstructorType(val)}else if(!["string","number","boolean","bigint"].includes(typeof val)){throw new Error(`Type definition for key "${key}" must be a string, number, boolean, bigint, object, regular expression, or one of these classes: String, Number, Boolean, Date, BigInt`)}return`${key}:${val}`})).join(",")+"}";this.text=toTS(definition)}else if(typeof definition==="string"){this.text=definition}else{throw new Error("Type definiton must be a string or an object")}this.type=parse(this.text)}check(path,value,partial,trailKeys){return checkType(path,this.type,value,partial,trailKeys)}}exports.SchemaDefinition=SchemaDefinition},{}],46:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.SimpleCache=void 0;const utils_1=require("./utils");const calculateExpiryTime=expirySeconds=>expirySeconds>0?Date.now()+expirySeconds*1e3:Infinity;class SimpleCache{constructor(options){var _a;this.enabled=true;if(typeof options==="number"){options={expirySeconds:options}}options.cloneValues=options.cloneValues!==false;if(typeof options.expirySeconds!=="number"&&typeof options.maxEntries!=="number"){throw new Error("Either expirySeconds or maxEntries must be specified")}this.options=options;this.cache=new Map;const interval=setInterval((()=>{this.cleanUp()}),60*1e3);(_a=interval.unref)===null||_a===void 0?void 0:_a.call(interval)}get size(){return this.cache.size}has(key){if(!this.enabled){return false}return this.cache.has(key)}get(key){if(!this.enabled){return null}const entry=this.cache.get(key);if(!entry){return null}entry.expires=calculateExpiryTime(this.options.expirySeconds);entry.accessed=Date.now();return this.options.cloneValues?(0,utils_1.cloneObject)(entry.value):entry.value}set(key,value){if(this.options.maxEntries>0&&this.cache.size>=this.options.maxEntries&&!this.cache.has(key)){let oldest=null;const now=Date.now();for(const[key,entry]of this.cache.entries()){if(entry.expires<=now){this.cache.delete(key);oldest=null;break}if(!oldest||entry.accessed{if(entry.expires<=now){this.cache.delete(key)}}))}}exports.SimpleCache=SimpleCache},{"./utils":52}],47:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Colorize=exports.SetColorsEnabled=exports.ColorsSupported=exports.ColorStyle=void 0;const process_1=require("./process");const FontCode={bold:1,dim:2,italic:3,underline:4,inverse:7,hidden:8,strikethrough:94};const ColorCode={black:30,red:31,green:32,yellow:33,blue:34,magenta:35,cyan:36,white:37,grey:90,brightRed:91};const BgColorCode={bgBlack:40,bgRed:41,bgGreen:42,bgYellow:43,bgBlue:44,bgMagenta:45,bgCyan:46,bgWhite:47,bgGrey:100,bgBrightRed:101};const ResetCode={all:0,color:39,background:49,bold:22,dim:22,italic:23,underline:24,inverse:27,hidden:28,strikethrough:29};var ColorStyle;(function(ColorStyle){ColorStyle["reset"]="reset";ColorStyle["bold"]="bold";ColorStyle["dim"]="dim";ColorStyle["italic"]="italic";ColorStyle["underline"]="underline";ColorStyle["inverse"]="inverse";ColorStyle["hidden"]="hidden";ColorStyle["strikethrough"]="strikethrough";ColorStyle["black"]="black";ColorStyle["red"]="red";ColorStyle["green"]="green";ColorStyle["yellow"]="yellow";ColorStyle["blue"]="blue";ColorStyle["magenta"]="magenta";ColorStyle["cyan"]="cyan";ColorStyle["grey"]="grey";ColorStyle["bgBlack"]="bgBlack";ColorStyle["bgRed"]="bgRed";ColorStyle["bgGreen"]="bgGreen";ColorStyle["bgYellow"]="bgYellow";ColorStyle["bgBlue"]="bgBlue";ColorStyle["bgMagenta"]="bgMagenta";ColorStyle["bgCyan"]="bgCyan";ColorStyle["bgWhite"]="bgWhite";ColorStyle["bgGrey"]="bgGrey"})(ColorStyle=exports.ColorStyle||(exports.ColorStyle={}));function ColorsSupported(){if(typeof process_1.default==="undefined"||!process_1.default.stdout||!process_1.default.env||!process_1.default.platform||process_1.default.platform==="browser"){return false}if(process_1.default.platform==="win32"){return true}const env=process_1.default.env;if(env.COLORTERM){return true}if(env.TERM==="dumb"){return false}if(env.CI||env.TEAMCITY_VERSION){return!!env.TRAVIS}if(["iTerm.app","HyperTerm","Hyper","MacTerm","Apple_Terminal","vscode"].includes(env.TERM_PROGRAM)){return true}if(/^xterm-256|^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(env.TERM)){return true}return false}exports.ColorsSupported=ColorsSupported;let _enabled=ColorsSupported();function SetColorsEnabled(enabled){_enabled=ColorsSupported()&&enabled}exports.SetColorsEnabled=SetColorsEnabled;function Colorize(str,style){if(!_enabled){return str}const openCodes=[],closeCodes=[];const addStyle=style=>{if(style===ColorStyle.reset){openCodes.push(ResetCode.all)}else if(style in FontCode){openCodes.push(FontCode[style]);closeCodes.push(ResetCode[style])}else if(style in ColorCode){openCodes.push(ColorCode[style]);closeCodes.push(ResetCode.color)}else if(style in BgColorCode){openCodes.push(BgColorCode[style]);closeCodes.push(ResetCode.background)}};if(style instanceof Array){style.forEach(addStyle)}else{addStyle(style)}const open=openCodes.map((code=>"["+code+"m")).join("");const close=closeCodes.map((code=>"["+code+"m")).join("");return str.split("\n").map((line=>open+line+close)).join("\n")}exports.Colorize=Colorize;String.prototype.colorize=function(style){return Colorize(this,style)}},{"./process":44}],48:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.SimpleEventEmitter=void 0;function runCallback(callback,data){try{callback(data)}catch(err){console.error("Error in subscription callback",err)}}class SimpleEventEmitter{constructor(){this._subscriptions=[];this._oneTimeEvents=new Map}on(event,callback){if(this._oneTimeEvents.has(event)){return runCallback(callback,this._oneTimeEvents.get(event))}this._subscriptions.push({event:event,callback:callback,once:false});return this}off(event,callback){this._subscriptions=this._subscriptions.filter((s=>s.event!==event||callback&&s.callback!==callback));return this}once(event,callback){return new Promise((resolve=>{const ourCallback=data=>{resolve(data);callback===null||callback===void 0?void 0:callback(data)};if(this._oneTimeEvents.has(event)){runCallback(ourCallback,this._oneTimeEvents.get(event))}else{this._subscriptions.push({event:event,callback:ourCallback,once:true})}}))}emit(event,data){if(this._oneTimeEvents.has(event)){throw new Error(`Event "${event}" was supposed to be emitted only once`)}for(let i=0;i{if(this._internal.state==="active"){return resolve()}else if(this._internal.state==="canceled"&&!callback){return reject(new Error(this._internal.cancelReason))}const noop=()=>{};this._internal.activatePromises.push({resolve:resolve,reject:callback?noop:reject})}))}_setActivationState(activated,cancelReason){this._internal.cancelReason=cancelReason;this._internal.state=activated?"active":"canceled";while(this._internal.activatePromises.length>0){const p=this._internal.activatePromises.shift();if(activated){p.callback&&p.callback(true);p.resolve&&p.resolve()}else{p.callback&&p.callback(false,cancelReason);p.reject&&p.reject(cancelReason)}}}}exports.EventSubscription=EventSubscription;class EventPublisher{constructor(publish,start,cancel){this.publish=publish;this.start=start;this.cancel=cancel}}exports.EventPublisher=EventPublisher;class EventStream{constructor(eventPublisherCallback){const subscribers=[];let noMoreSubscribersCallback;let activationState;const _stoppedState="stopped (no more subscribers)";this.subscribe=(callback,activationCallback)=>{if(typeof callback!=="function"){throw new TypeError("callback must be a function")}else if(activationState===_stoppedState){throw new Error("stream can't be used anymore because all subscribers were stopped")}const sub={callback:callback,activationCallback:function(activated,cancelReason){activationCallback&&activationCallback(activated,cancelReason);this.subscription._setActivationState(activated,cancelReason)},subscription:new EventSubscription((function stop(){subscribers.splice(subscribers.indexOf(this),1);return checkActiveSubscribers()}))};subscribers.push(sub);if(typeof activationState!=="undefined"){if(activationState===true){activationCallback&&activationCallback(true);sub.subscription._setActivationState(true)}else if(typeof activationState==="string"){activationCallback&&activationCallback(false,activationState);sub.subscription._setActivationState(false,activationState)}}return sub.subscription};const checkActiveSubscribers=()=>{let ret;if(subscribers.length===0){ret=noMoreSubscribersCallback&&noMoreSubscribersCallback();activationState=_stoppedState}return Promise.resolve(ret)};this.unsubscribe=callback=>{const remove=callback?subscribers.filter((sub=>sub.callback===callback)):subscribers;remove.forEach((sub=>{const i=subscribers.indexOf(sub);subscribers.splice(i,1)}));checkActiveSubscribers()};this.stop=()=>{subscribers.splice(0);checkActiveSubscribers()};const publish=val=>{subscribers.forEach((sub=>{try{sub.callback(val)}catch(err){console.error(`Error running subscriber callback: ${err.message}`)}}));if(subscribers.length===0){checkActiveSubscribers()}return subscribers.length>0};const start=allSubscriptionsStoppedCallback=>{activationState=true;noMoreSubscribersCallback=allSubscriptionsStoppedCallback;subscribers.forEach((sub=>{sub.activationCallback&&sub.activationCallback(true)}))};const cancel=reason=>{activationState=reason;subscribers.forEach((sub=>{sub.activationCallback&&sub.activationCallback(false,reason||new Error("unknown reason"))}));subscribers.splice(0)};const publisher=new EventPublisher(publish,start,cancel);eventPublisherCallback(publisher)}}exports.EventStream=EventStream},{}],50:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.deserialize2=exports.serialize2=exports.serialize=exports.detectSerializeVersion=exports.deserialize=void 0;const path_reference_1=require("./path-reference");const utils_1=require("./utils");const ascii85_1=require("./ascii85");const path_info_1=require("./path-info");const partial_array_1=require("./partial-array");const deserialize=data=>{if(data.map===null||typeof data.map==="undefined"){if(typeof data.val==="undefined"){throw new Error("serialized value must have a val property")}return data.val}const deserializeValue=(type,val)=>{if(type==="date"){return new Date(val)}else if(type==="binary"){return ascii85_1.ascii85.decode(val)}else if(type==="reference"){return new path_reference_1.PathReference(val)}else if(type==="regexp"){return new RegExp(val.pattern,val.flags)}else if(type==="array"){return new partial_array_1.PartialArray(val)}else if(type==="bigint"){return BigInt(val)}return val};if(typeof data.map==="string"){return deserializeValue(data.map,data.val)}Object.keys(data.map).forEach((path=>{const type=data.map[path];const keys=path_info_1.PathInfo.getPathKeys(path);let parent=data;let key="val";let val=data.val;keys.forEach((k=>{key=k;parent=val;val=val[key]}));parent[key]=deserializeValue(type,val)}));return data.val};exports.deserialize=deserialize;const detectSerializeVersion=data=>{if(typeof data!=="object"||data===null){return 2}if("map"in data&&"val"in data){return 1}else if("val"in data){if(Object.keys(data).length>1){return 2}return 1}return 2};exports.detectSerializeVersion=detectSerializeVersion;const serialize=obj=>{var _a;if(obj===null||typeof obj!=="object"||obj instanceof Date||obj instanceof ArrayBuffer||obj instanceof path_reference_1.PathReference||obj instanceof RegExp){const ser=(0,exports.serialize)({value:obj});return{map:(_a=ser.map)===null||_a===void 0?void 0:_a.value,val:ser.val.value}}obj=(0,utils_1.cloneObject)(obj);const process=(obj,mappings,prefix)=>{if(obj instanceof partial_array_1.PartialArray){mappings[prefix]="array"}Object.keys(obj).forEach((key=>{const val=obj[key];const path=prefix.length===0?key:`${prefix}/${key}`;if(typeof val==="bigint"){obj[key]=val.toString();mappings[path]="bigint"}else if(val instanceof Date){obj[key]=val.toISOString();mappings[path]="date"}else if(val instanceof ArrayBuffer){obj[key]=ascii85_1.ascii85.encode(val);mappings[path]="binary"}else if(val instanceof path_reference_1.PathReference){obj[key]=val.path;mappings[path]="reference"}else if(val instanceof RegExp){obj[key]={pattern:val.source,flags:val.flags};mappings[path]="regexp"}else if(typeof val==="object"&&val!==null){process(val,mappings,path)}}))};const mappings={};process(obj,mappings,"");const serialized={val:obj};if(Object.keys(mappings).length>0){serialized.map=mappings}return serialized};exports.serialize=serialize;const serialize2=obj=>{const getSerializedValue=val=>{if(typeof val==="bigint"){return{".type":"bigint",".val":val.toString()}}else if(val instanceof Date){return{".type":"date",".val":val.toISOString()}}else if(val instanceof ArrayBuffer){return{".type":"binary",".val":ascii85_1.ascii85.encode(val)}}else if(val instanceof path_reference_1.PathReference){return{".type":"reference",".val":val.path}}else if(val instanceof RegExp){return{".type":"regexp",".val":`/${val.source}/${val.flags}`}}else if(typeof val==="object"&&val!==null){if(val instanceof Array){const copy=[];for(let i=0;i{if(typeof data!=="object"||data===null){return data}if(typeof data[".type"]==="undefined"){if(data instanceof Array){const copy=[];const arr=data;for(let i=0;i{const mkeys=path_info_1.PathInfo.getPathKeys(mpath);if(mkeys.length!==keys.length){return false}return mkeys.every(((mkey,index)=>{if(mkey==="*"||mkey[0]==="$"){return true}return mkey===keys[index]}))}));const mapping=mappings[mappedPath];return mapping}function map(mappings,path){const targetPath=path_info_1.PathInfo.get(path).parentPath;if(targetPath===null){return}return get(mappings,targetPath)}function mapDeep(mappings,entryPath){entryPath=entryPath.replace(/^\/|\/$/g,"");const pathInfo=path_info_1.PathInfo.get(entryPath);const startPath=pathInfo.parentPath;const keys=startPath?path_info_1.PathInfo.getPathKeys(startPath):[];const matches=Object.keys(mappings).reduce(((m,mpath)=>{const mkeys=path_info_1.PathInfo.getPathKeys(mpath);if(mkeys.length{if(index>=keys.length){return false}else if(mkey==="*"||mkey[0]==="$"||mkey===keys[index]){return true}else{isMatch=false;return false}}))}if(isMatch){const mapping=mappings[mpath];m.push({path:mpath,type:mapping})}return m}),[]);return matches}function process(db,mappings,path,obj,action){if(obj===null||typeof obj!=="object"){return obj}const keys=path_info_1.PathInfo.getPathKeys(path);const m=mapDeep(mappings,path);const changes=[];m.sort(((a,b)=>path_info_1.PathInfo.getPathKeys(a.path).length>path_info_1.PathInfo.getPathKeys(b.path).length?-1:1));m.forEach((mapping=>{const mkeys=path_info_1.PathInfo.getPathKeys(mapping.path);mkeys.push("*");const mTrailKeys=mkeys.slice(keys.length);if(mTrailKeys.length===0){const vars=path_info_1.PathInfo.extractVariables(mapping.path,path);const ref=new data_reference_1.DataReference(db,path,vars);if(action==="serialize"){obj=mapping.type.serialize(obj,ref)}else if(action==="deserialize"){const snap=new data_snapshot_1.DataSnapshot(ref,obj);obj=mapping.type.deserialize(snap)}return}const process=(parentPath,parent,keys)=>{if(obj===null||typeof obj!=="object"){return obj}const key=keys[0];let children=[];if(key==="*"||key[0]==="$"){if(parent instanceof Array){children=parent.map(((val,index)=>({key:index,val:val})))}else{children=Object.keys(parent).map((k=>({key:k,val:parent[k]})))}}else{const child=parent[key];if(typeof child==="object"){children.push({key:key,val:child})}}children.forEach((child=>{const childPath=path_info_1.PathInfo.getChildPath(parentPath,child.key);const vars=path_info_1.PathInfo.extractVariables(mapping.path,childPath);const ref=new data_reference_1.DataReference(db,childPath,vars);if(keys.length===1){if(action==="serialize"){changes.push({parent:parent,key:child.key,original:parent[child.key]});parent[child.key]=mapping.type.serialize(child.val,ref)}else if(action==="deserialize"){const snap=new data_snapshot_1.DataSnapshot(ref,child.val);parent[child.key]=mapping.type.deserialize(snap)}}else{process(childPath,child.val,keys.slice(1))}}))};process(path,obj,mTrailKeys)}));if(action==="serialize"){obj=(0,utils_1.cloneObject)(obj);if(changes.length>0){changes.forEach((change=>{change.parent[change.key]=change.original}))}}return obj}const _mappings=Symbol("mappings");class TypeMappings{constructor(db){this.db=db;this[_mappings]={}}get mappings(){return this[_mappings]}map(path){return map(this[_mappings],path)}bind(path,type,options={}){if(typeof path!=="string"){throw new TypeError("path must be a string")}if(typeof type!=="function"){throw new TypeError("constructor must be a function")}if(typeof options.serializer==="undefined"){}else if(typeof options.serializer==="string"){if(typeof type.prototype[options.serializer]==="function"){options.serializer=type.prototype[options.serializer]}else{throw new TypeError(`${type.name}.prototype.${options.serializer} is not a function, cannot use it as serializer`)}}else if(typeof options.serializer!=="function"){throw new TypeError(`serializer for class ${type.name} must be a function, or the name of a prototype method`)}if(typeof options.creator==="undefined"){if(typeof type.create==="function"){options.creator=type.create}}else if(typeof options.creator==="string"){if(typeof type[options.creator]==="function"){options.creator=type[options.creator]}else{throw new TypeError(`${type.name}.${options.creator} is not a function, cannot use it as creator`)}}else if(typeof options.creator!=="function"){throw new TypeError(`creator for class ${type.name} must be a function, or the name of a static method`)}path=path.replace(/^\/|\/$/g,"");this[_mappings][path]={db:this.db,type:type,creator:options.creator,serializer:options.serializer,deserialize(snap){let obj;if(this.creator){obj=this.creator.call(this.type,snap)}else{obj=new this.type(snap)}return obj},serialize(obj,ref){if(this.serializer){obj=this.serializer.call(obj,ref,obj)}else if(obj&&typeof obj.serialize==="function"){obj=obj.serialize(ref,obj)}return obj}}}serialize(path,obj){return process(this.db,this[_mappings],path,obj,"serialize")}deserialize(path,obj){return process(this.db,this[_mappings],path,obj,"deserialize")}}exports.TypeMappings=TypeMappings},{"./data-reference":34,"./data-snapshot":35,"./path-info":42,"./utils":52}],52:[function(require,module,exports){(function(Buffer){(function(){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.defer=exports.getChildValues=exports.getMutations=exports.compareValues=exports.ObjectDifferences=exports.valuesAreEqual=exports.cloneObject=exports.concatTypedArrays=exports.decodeString=exports.encodeString=exports.bytesToBigint=exports.bigintToBytes=exports.bytesToNumber=exports.numberToBytes=void 0;const path_reference_1=require("./path-reference");const process_1=require("./process");const partial_array_1=require("./partial-array");function numberToBytes(number){const bytes=new Uint8Array(8);const view=new DataView(bytes.buffer);view.setFloat64(0,number);return new Array(...bytes)}exports.numberToBytes=numberToBytes;function bytesToNumber(bytes){const length=Array.isArray(bytes)?bytes.length:bytes.byteLength;if(length!==8){throw new TypeError("must be 8 bytes")}const bin=new Uint8Array(bytes);const view=new DataView(bin.buffer);const nr=view.getFloat64(0);return nr}exports.bytesToNumber=bytesToNumber;const big={zero:BigInt(0),one:BigInt(1),two:BigInt(2),eight:BigInt(8),ff:BigInt(255)};function bigintToBytes(number){if(typeof number!=="bigint"){throw new Error("number must be a bigint")}const bytes=[];const negative=number>big.eight}while(number!==(negative?-big.one:big.zero));bytes.reverse();if(negative?bytes[0]<128:bytes[0]>=128){bytes.unshift(negative?255:0)}return bytes}exports.bigintToBytes=bigintToBytes;function bytesToBigint(bytes){const negative=bytes[0]>=128;let number=big.zero;for(let b of bytes){if(negative){b=~b&255}number=(number<128){if((code&55296)===55296){const nextCode=str.charCodeAt(i+1);if((nextCode&56320)!==56320){throw new Error("follow-up utf-16 character does not start with 0xDC00")}i++;const p1=code&1023;const p2=nextCode&1023;code=65536|p1<<10|p2}if(code<2048){const b1=192|code>>6&31;const b2=128|code&63;arr.push(b1,b2)}else if(code<65536){const b1=224|code>>12&15;const b2=128|code>>6&63;const b3=128|code&63;arr.push(b1,b2,b3)}else if(code<2097152){const b1=240|code>>18&7;const b2=128|code>>12&63;const b3=128|code>>6&63;const b4=128|code&63;arr.push(b1,b2,b3,b4)}else{throw new Error(`Cannot convert character ${str.charAt(i)} (code ${code}) to utf-8`)}}else{arr.push(code<128?code:63)}}return new Uint8Array(arr)}}exports.encodeString=encodeString;function decodeString(buffer){if(typeof TextDecoder!=="undefined"){const decoder=new TextDecoder;if(buffer instanceof Uint8Array){return decoder.decode(buffer)}const buf=Uint8Array.from(buffer);return decoder.decode(buf)}else if(typeof Buffer==="function"){if(buffer instanceof Array){buffer=Uint8Array.from(buffer)}if(!(buffer instanceof Buffer)&&"buffer"in buffer&&buffer.buffer instanceof ArrayBuffer){const typedArray=buffer;buffer=Buffer.from(typedArray.buffer,typedArray.byteOffset,typedArray.byteLength)}if(!(buffer instanceof Buffer)){throw new Error("Unsupported buffer argument")}return buffer.toString("utf-8")}else{if(!(buffer instanceof Uint8Array)&&"buffer"in buffer&&buffer["buffer"]instanceof ArrayBuffer){const typedArray=buffer;buffer=new Uint8Array(typedArray.buffer,typedArray.byteOffset,typedArray.byteLength)}if(buffer instanceof Buffer||buffer instanceof Array||buffer instanceof Uint8Array){let str="";for(let i=0;i128){if((code&240)===240){const b1=code,b2=buffer[i+1],b3=buffer[i+2],b4=buffer[i+3];code=(b1&7)<<18|(b2&63)<<12|(b3&63)<<6|b4&63;i+=3}else if((code&224)===224){const b1=code,b2=buffer[i+1],b3=buffer[i+2];code=(b1&15)<<12|(b2&63)<<6|b3&63;i+=2}else if((code&192)===192){const b1=code,b2=buffer[i+1];code=(b1&31)<<6|b2&63;i++}else{throw new Error("invalid utf-8 data")}}if(code>=65536){code^=65536;const p1=55296|code>>10;const p2=56320|code&1023;str+=String.fromCharCode(p1);str+=String.fromCharCode(p2)}else{str+=String.fromCharCode(code)}}return str}else{throw new Error("Unsupported buffer argument")}}}exports.decodeString=decodeString;function concatTypedArrays(a,b){const c=new a.constructor(a.length+b.length);c.set(a);c.set(b,a.length);return c}exports.concatTypedArrays=concatTypedArrays;function cloneObject(original,stack){var _a;if(((_a=original===null||original===void 0?void 0:original.constructor)===null||_a===void 0?void 0:_a.name)==="DataSnapshot"){throw new TypeError(`Object to clone is a DataSnapshot (path "${original.ref.path}")`)}const checkAndFixTypedArray=obj=>{if(obj!==null&&typeof obj==="object"&&typeof obj.constructor==="function"&&typeof obj.constructor.name==="string"&&["Buffer","Uint8Array","Int8Array","Uint16Array","Int16Array","Uint32Array","Int32Array","BigUint64Array","BigInt64Array"].includes(obj.constructor.name)){obj=obj.buffer.slice(obj.byteOffset,obj.byteOffset+obj.byteLength)}return obj};original=checkAndFixTypedArray(original);if(typeof original!=="object"||original===null||original instanceof Date||original instanceof ArrayBuffer||original instanceof path_reference_1.PathReference||original instanceof RegExp){return original}const cloneValue=val=>{if(stack.indexOf(val)>=0){throw new ReferenceError("object contains a circular reference")}val=checkAndFixTypedArray(val);if(val===null||val instanceof Date||val instanceof ArrayBuffer||val instanceof path_reference_1.PathReference||val instanceof RegExp){return val}else if(typeof val==="object"){stack.push(val);val=cloneObject(val,stack);stack.pop();return val}else{return val}};if(typeof stack==="undefined"){stack=[original]}const clone=original instanceof Array?[]:original instanceof partial_array_1.PartialArray?new partial_array_1.PartialArray:{};Object.keys(original).forEach((key=>{const val=original[key];if(typeof val==="function"){return}clone[key]=cloneValue(val)}));return clone}exports.cloneObject=cloneObject;const isTypedArray=val=>typeof val==="object"&&["ArrayBuffer","Buffer","Uint8Array","Uint16Array","Uint32Array","Int8Array","Int16Array","Int32Array"].includes(val.constructor.name);function valuesAreEqual(val1,val2){if(val1===val2){return true}if(typeof val1!==typeof val2){return false}if(typeof val1==="object"||typeof val2==="object"){if(val1===null||val2===null){return false}if(val1 instanceof path_reference_1.PathReference||val2 instanceof path_reference_1.PathReference){return val1 instanceof path_reference_1.PathReference&&val2 instanceof path_reference_1.PathReference&&val1.path===val2.path}if(val1 instanceof Date||val2 instanceof Date){return val1 instanceof Date&&val2 instanceof Date&&val1.getTime()===val2.getTime()}if(val1 instanceof Array||val2 instanceof Array){return val1 instanceof Array&&val2 instanceof Array&&val1.length===val2.length&&val1.every(((item,i)=>valuesAreEqual(val1[i],val2[i])))}if(isTypedArray(val1)||isTypedArray(val2)){if(!isTypedArray(val1)||!isTypedArray(val2)||val1.byteLength===val2.byteLength){return false}const typed1=val1 instanceof ArrayBuffer?new Uint8Array(val1):new Uint8Array(val1.buffer,val1.byteOffset,val1.byteLength),typed2=val2 instanceof ArrayBuffer?new Uint8Array(val2):new Uint8Array(val2.buffer,val2.byteOffset,val2.byteLength);return typed1.every(((val,i)=>typed2[i]===val))}const keys1=Object.keys(val1),keys2=Object.keys(val2);return keys1.length===keys2.length&&keys1.every((key=>keys2.includes(key)))&&keys1.every((key=>valuesAreEqual(val1[key],val2[key])))}return false}exports.valuesAreEqual=valuesAreEqual;class ObjectDifferences{constructor(added,removed,changed){this.added=added;this.removed=removed;this.changed=changed}forChild(key){if(this.added.includes(key)){return"added"}if(this.removed.includes(key)){return"removed"}const changed=this.changed.find((ch=>ch.key===key));return changed?changed.change:"identical"}}exports.ObjectDifferences=ObjectDifferences;function compareValues(oldVal,newVal,sortedResults=false){const voids=[undefined,null];if(oldVal===newVal){return"identical"}else if(voids.indexOf(oldVal)>=0&&voids.indexOf(newVal)<0){return"added"}else if(voids.indexOf(oldVal)<0&&voids.indexOf(newVal)>=0){return"removed"}else if(typeof oldVal!==typeof newVal){return"changed"}else if(isTypedArray(oldVal)||isTypedArray(newVal)){if(!isTypedArray(oldVal)||!isTypedArray(newVal)){return"changed"}const typed1=oldVal instanceof Uint8Array?oldVal:oldVal instanceof ArrayBuffer?new Uint8Array(oldVal):new Uint8Array(oldVal.buffer,oldVal.byteOffset,oldVal.byteLength);const typed2=newVal instanceof Uint8Array?newVal:newVal instanceof ArrayBuffer?new Uint8Array(newVal):new Uint8Array(newVal.buffer,newVal.byteOffset,newVal.byteLength);return typed1.byteLength===typed2.byteLength&&typed1.every(((val,i)=>typed2[i]===val))?"identical":"changed"}else if(oldVal instanceof Date||newVal instanceof Date){return oldVal instanceof Date&&newVal instanceof Date&&oldVal.getTime()===newVal.getTime()?"identical":"changed"}else if(oldVal instanceof path_reference_1.PathReference||newVal instanceof path_reference_1.PathReference){return oldVal instanceof path_reference_1.PathReference&&newVal instanceof path_reference_1.PathReference&&oldVal.path===newVal.path?"identical":"changed"}else if(typeof oldVal==="object"){const isArray=oldVal instanceof Array;const getKeys=obj=>{let keys=Object.keys(obj).filter((key=>!voids.includes(obj[key])));if(isArray){keys=keys.map((v=>parseInt(v)))}return keys};const oldKeys=getKeys(oldVal);const newKeys=getKeys(newVal);const removedKeys=oldKeys.filter((key=>!newKeys.includes(key)));const addedKeys=newKeys.filter((key=>!oldKeys.includes(key)));const changedKeys=newKeys.reduce(((changed,key)=>{if(oldKeys.includes(key)){const val1=oldVal[key];const val2=newVal[key];const c=compareValues(val1,val2);if(c!=="identical"){changed.push({key:key,change:c})}}return changed}),[]);if(addedKeys.length===0&&removedKeys.length===0&&changedKeys.length===0){return"identical"}else{return new ObjectDifferences(addedKeys,removedKeys,sortedResults?changedKeys.sort(((a,b)=>a.key{switch(compareResult){case"identical":return[];case"changed":return[{target:target,prev:prev,val:val}];case"added":return[{target:target,prev:null,val:val}];case"removed":return[{target:target,prev:prev,val:null}];default:{let changes=[];compareResult.added.forEach((key=>changes.push({target:target.concat(key),prev:null,val:val[key]})));compareResult.removed.forEach((key=>changes.push({target:target.concat(key),prev:prev[key],val:null})));compareResult.changed.forEach((item=>{const childChanges=process(target.concat(item.key),item.change,prev[item.key],val[item.key]);changes=changes.concat(childChanges)}));return changes}}};const compareResult=compareValues(oldVal,newVal,sortedResults);return process([],compareResult,oldVal,newVal)}exports.getMutations=getMutations;function getChildValues(childKey,oldValue,newValue){oldValue=oldValue===null?null:oldValue[childKey];if(typeof oldValue==="undefined"){oldValue=null}newValue=newValue===null?null:newValue[childKey];if(typeof newValue==="undefined"){newValue=null}return{oldValue:oldValue,newValue:newValue}}exports.getChildValues=getChildValues;function defer(fn){process_1.default.nextTick(fn)}exports.defer=defer}).call(this)}).call(this,require("buffer").Buffer)},{"./partial-array":41,"./path-reference":43,"./process":44,buffer:53}],53:[function(require,module,exports){},{}]},{},[5])(5)})); \ No newline at end of file diff --git a/dist/cjs/acebase-browser.js.map b/dist/cjs/acebase-browser.js.map index b6dc9a0..74e6ef3 100644 --- a/dist/cjs/acebase-browser.js.map +++ b/dist/cjs/acebase-browser.js.map @@ -1 +1 @@ -{"version":3,"file":"acebase-browser.js","sourceRoot":"","sources":["ts/acebase-browser.ts"],"names":[],"mappings":";;;AAAA,mDAAgE;AAChE,4DAAsE;AAGtE,MAAM,0BAA0B,GAAG;;;;;;;;6DAQ0B,CAAC;AAE9D,MAAa,cAAe,SAAQ,uBAAO;IACvC;;;;OAIG;IACH,YAAY,IAAY,EAAE,QAAoE;QAC1F,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE;YACtE,oDAAoD;YACpD,gDAAgD;YAChD,EAAE;YACF,iEAAiE;YACjE,qEAAqE;YACrE,+DAA+D;YAC/D,kDAAkD;YAClD,iFAAiF;YAEjF,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC/C;QACD,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAAc,EAAE,OAA0C,EAAE;QAC7E,OAAO,IAAA,oCAAuB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACJ;AA/BD,wCA+BC"} \ No newline at end of file +{"version":3,"file":"acebase-browser.js","sourceRoot":"","sources":["../../src/acebase-browser.ts"],"names":[],"mappings":";;;AAAA,mDAAgE;AAChE,4DAAsE;AAGtE,MAAM,0BAA0B,GAAG;;;;;;;;6DAQ0B,CAAC;AAE9D,MAAa,cAAe,SAAQ,uBAAO;IACvC;;;;OAIG;IACH,YAAY,IAAY,EAAE,QAAoE;QAC1F,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE;YACtE,oDAAoD;YACpD,gDAAgD;YAChD,EAAE;YACF,iEAAiE;YACjE,qEAAqE;YACrE,+DAA+D;YAC/D,kDAAkD;YAClD,iFAAiF;YAEjF,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC/C;QACD,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAAc,EAAE,OAA0C,EAAE;QAC7E,OAAO,IAAA,oCAAuB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACJ;AA/BD,wCA+BC"} \ No newline at end of file diff --git a/dist/cjs/acebase-local.js.map b/dist/cjs/acebase-local.js.map index 0eefa20..a36c0b0 100644 --- a/dist/cjs/acebase-local.js.map +++ b/dist/cjs/acebase-local.js.map @@ -1 +1 @@ -{"version":3,"file":"acebase-local.js","sourceRoot":"","sources":["ts/acebase-local.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"acebase-local.js","sourceRoot":"","sources":["../../src/acebase-local.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/api-local.js.map b/dist/cjs/api-local.js.map index c7ccf88..2f9d951 100644 --- a/dist/cjs/api-local.js.map +++ b/dist/cjs/api-local.js.map @@ -1 +1 @@ -{"version":3,"file":"api-local.js","sourceRoot":"","sources":["ts/api-local.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"api-local.js","sourceRoot":"","sources":["../../src/api-local.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/async-task-batch.js.map b/dist/cjs/async-task-batch.js.map index 770dbea..89367ac 100644 --- a/dist/cjs/async-task-batch.js.map +++ b/dist/cjs/async-task-batch.js.map @@ -1 +1 @@ -{"version":3,"file":"async-task-batch.js","sourceRoot":"","sources":["ts/async-task-batch.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IASvB;;;;;;;OAOG;IACH,YAAmB,QAAQ,IAAI,EAAS,OAA2C;QAAhE,UAAK,GAAL,KAAK,CAAO;QAAS,YAAO,GAAP,OAAO,CAAoC;QAhB3E,UAAK,GAAG,CAAC,CAAC;QACV,cAAS,GAAG,EAAwD,CAAC;QACrE,YAAO,GAAG,CAAC,CAAC;QACZ,YAAO,GAAG,EAAW,CAAC;QAGtB,SAAI,GAAG,KAAK,CAAC;IAUkE,CAAC;IAEhF,KAAK,CAAC,OAAO,CAAC,IAAwB,EAAE,KAAa;;QACzD,IAAI;YACA,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;YAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YAEf,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnD,WAAW;gBACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,MAAA,IAAI,CAAC,YAAY,qDAAG,IAAI,CAAC,OAAO,CAAC,CAAC;aACrC;iBACI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChC,0BAA0B;gBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;aACvC;SACJ;QACD,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,MAAA,IAAI,CAAC,aAAa,qDAAG,GAAG,CAAC,CAAC;SAC7B;IACL,CAAC;IAED,GAAG,CAAC,IAAwB;;QACxB,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,+IAA+I,CAAC,CAAC;SACpK;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,MAAK,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE;YAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SAC7B;aACI;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;SACxC;IACL,CAAC;IAED;;OAEG;IACH,KAAK;QACD,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SACvC;IACL,CAAC;IAED,KAAK,CAAC,MAAM;QACR,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACnD,OAAO,IAAI,CAAC,OAAO,CAAC;SACvB;QACD,MAAM,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ;AA5ED,wCA4EC"} \ No newline at end of file +{"version":3,"file":"async-task-batch.js","sourceRoot":"","sources":["../../src/async-task-batch.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IASvB;;;;;;;OAOG;IACH,YAAmB,QAAQ,IAAI,EAAS,OAA2C;QAAhE,UAAK,GAAL,KAAK,CAAO;QAAS,YAAO,GAAP,OAAO,CAAoC;QAhB3E,UAAK,GAAG,CAAC,CAAC;QACV,cAAS,GAAG,EAAwD,CAAC;QACrE,YAAO,GAAG,CAAC,CAAC;QACZ,YAAO,GAAG,EAAW,CAAC;QAGtB,SAAI,GAAG,KAAK,CAAC;IAUkE,CAAC;IAEhF,KAAK,CAAC,OAAO,CAAC,IAAwB,EAAE,KAAa;;QACzD,IAAI;YACA,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;YAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YAEf,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnD,WAAW;gBACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,MAAA,IAAI,CAAC,YAAY,qDAAG,IAAI,CAAC,OAAO,CAAC,CAAC;aACrC;iBACI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChC,0BAA0B;gBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;aACvC;SACJ;QACD,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,MAAA,IAAI,CAAC,aAAa,qDAAG,GAAG,CAAC,CAAC;SAC7B;IACL,CAAC;IAED,GAAG,CAAC,IAAwB;;QACxB,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,+IAA+I,CAAC,CAAC;SACpK;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,MAAK,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE;YAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SAC7B;aACI;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;SACxC;IACL,CAAC;IAED;;OAEG;IACH,KAAK;QACD,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SACvC;IACL,CAAC;IAED,KAAK,CAAC,MAAM;QACR,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACnD,OAAO,IAAI,CAAC,OAAO,CAAC;SACvB;QACD,MAAM,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ;AA5ED,wCA4EC"} \ No newline at end of file diff --git a/dist/cjs/binary.js.map b/dist/cjs/binary.js.map index f56940b..97973a7 100644 --- a/dist/cjs/binary.js.map +++ b/dist/cjs/binary.js.map @@ -1 +1 @@ -{"version":3,"file":"binary.js","sourceRoot":"","sources":["ts/binary.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"binary.js","sourceRoot":"","sources":["../../src/binary.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/browser.js.map b/dist/cjs/browser.js.map index 75c1328..909e186 100644 --- a/dist/cjs/browser.js.map +++ b/dist/cjs/browser.js.map @@ -1 +1 @@ -{"version":3,"file":"browser.js","sourceRoot":"","sources":["ts/browser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;EAiBE;;;AAEF,+CAG0D;AAgCtD,8FAnCK,4BAAa,OAmCL;AADb,6FAlCoB,2BAAY,OAkCpB;AAKZ,kGAvCkC,gCAAiB,OAuClC;AACjB,8FAxCqD,4BAAa,OAwCrD;AACb,6FAzCoE,2BAAY,OAyCpE;AASZ,mFAlDkF,iBAAE,OAkDlF;AACF,4FAnDsF,0BAAW,OAmDtF;AAfX,mGAnCA,iCAAkB,OAmCA;AAalB,iGAhDoB,+BAAgB,OAgDpB;AAZhB,oGApCsC,kCAAmB,OAoCtC;AACnB,4FArC2D,0BAAW,OAqC3D;AAcX,6FAjDmB,2BAAY,OAiDnB;AAhDhB,mDAAuD;AACvD,uDAAmD;AAoD7B,wFApDb,gCAAc,OAoDM;AAnD7B,6CAAyG;AAEzG,MAAM,OAAO,GAAG;IACZ,OAAO,EAAE,gCAAc;IACvB,oBAAoB,EAApB,oCAAoB;IACpB,aAAa,EAAb,4BAAa;IACb,YAAY,EAAZ,2BAAY;IACZ,iBAAiB,EAAjB,gCAAiB;IACjB,aAAa,EAAb,4BAAa;IACb,YAAY,EAAZ,2BAAY;IACZ,qBAAqB,EAArB,8BAAqB;IACrB,wBAAwB,EAAxB,iCAAwB;IACxB,oBAAoB,EAApB,6BAAoB;IACpB,EAAE,EAAF,iBAAE;IACF,WAAW,EAAX,0BAAW;IACX,kBAAkB,EAAlB,iCAAkB;CACrB,CAAC;AAEF,oCAAoC;AACnC,MAAc,CAAC,OAAO,GAAG,OAAO,CAAC;AAClC,iDAAiD;AAChD,MAAc,CAAC,OAAO,GAAG,gCAAc,CAAC;AAEzC,qCAAqC;AACrC,kBAAe,OAAO,CAAC;AA8BvB,iDAIyB;AAHrB,qHAAA,oBAAoB,OAAA;AACpB,qHAAA,oBAAoB,OAAA;AACpB,yHAAA,wBAAwB,OAAA;AAG5B,2CAA0D;AAAjD,gHAAA,sBAAsB,OAAA;AAC/B,2CAAyD;AAAhD,+GAAA,qBAAqB,OAAA;AAC9B,yCAAuD;AAA9C,6GAAA,oBAAoB,OAAA;AAE7B,2CAM0B;AALtB,kHAAA,wBAAwB,OAAA;AACxB,+GAAA,qBAAqB,OAAA;AACrB,8GAAA,oBAAoB,OAAA;AACpB,4GAAA,kBAAkB,OAAA;AAClB,oHAAA,0BAA0B,OAAA;AAG9B,qCAKmB;AAJf,0GAAA,eAAe,OAAA;AAGf,gHAAA,qBAAqB,OAAA"} \ No newline at end of file +{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;EAiBE;;;AAEF,+CAG0D;AAgCtD,8FAnCK,4BAAa,OAmCL;AADb,6FAlCoB,2BAAY,OAkCpB;AAKZ,kGAvCkC,gCAAiB,OAuClC;AACjB,8FAxCqD,4BAAa,OAwCrD;AACb,6FAzCoE,2BAAY,OAyCpE;AASZ,mFAlDkF,iBAAE,OAkDlF;AACF,4FAnDsF,0BAAW,OAmDtF;AAfX,mGAnCA,iCAAkB,OAmCA;AAalB,iGAhDoB,+BAAgB,OAgDpB;AAZhB,oGApCsC,kCAAmB,OAoCtC;AACnB,4FArC2D,0BAAW,OAqC3D;AAcX,6FAjDmB,2BAAY,OAiDnB;AAhDhB,mDAAuD;AACvD,uDAAmD;AAoD7B,wFApDb,gCAAc,OAoDM;AAnD7B,6CAAyG;AAEzG,MAAM,OAAO,GAAG;IACZ,OAAO,EAAE,gCAAc;IACvB,oBAAoB,EAApB,oCAAoB;IACpB,aAAa,EAAb,4BAAa;IACb,YAAY,EAAZ,2BAAY;IACZ,iBAAiB,EAAjB,gCAAiB;IACjB,aAAa,EAAb,4BAAa;IACb,YAAY,EAAZ,2BAAY;IACZ,qBAAqB,EAArB,8BAAqB;IACrB,wBAAwB,EAAxB,iCAAwB;IACxB,oBAAoB,EAApB,6BAAoB;IACpB,EAAE,EAAF,iBAAE;IACF,WAAW,EAAX,0BAAW;IACX,kBAAkB,EAAlB,iCAAkB;CACrB,CAAC;AAEF,oCAAoC;AACnC,MAAc,CAAC,OAAO,GAAG,OAAO,CAAC;AAClC,iDAAiD;AAChD,MAAc,CAAC,OAAO,GAAG,gCAAc,CAAC;AAEzC,qCAAqC;AACrC,kBAAe,OAAO,CAAC;AA8BvB,iDAIyB;AAHrB,qHAAA,oBAAoB,OAAA;AACpB,qHAAA,oBAAoB,OAAA;AACpB,yHAAA,wBAAwB,OAAA;AAG5B,2CAA0D;AAAjD,gHAAA,sBAAsB,OAAA;AAC/B,2CAAyD;AAAhD,+GAAA,qBAAqB,OAAA;AAC9B,yCAAuD;AAA9C,6GAAA,oBAAoB,OAAA;AAE7B,2CAM0B;AALtB,kHAAA,wBAAwB,OAAA;AACxB,+GAAA,qBAAqB,OAAA;AACrB,8GAAA,oBAAoB,OAAA;AACpB,4GAAA,kBAAkB,OAAA;AAClB,oHAAA,0BAA0B,OAAA;AAG9B,qCAKmB;AAJf,0GAAA,eAAe,OAAA;AAGf,gHAAA,qBAAqB,OAAA"} \ No newline at end of file diff --git a/dist/cjs/btree/binary-reader.js.map b/dist/cjs/btree/binary-reader.js.map index 5687243..fa63059 100644 --- a/dist/cjs/btree/binary-reader.js.map +++ b/dist/cjs/btree/binary-reader.js.map @@ -1 +1 @@ -{"version":3,"file":"binary-reader.js","sourceRoot":"","sources":["../ts/btree/binary-reader.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"binary-reader.js","sourceRoot":"","sources":["../../../src/btree/binary-reader.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/btree/binary-tree-builder.js.map b/dist/cjs/btree/binary-tree-builder.js.map index affb5c9..ea6649f 100644 --- a/dist/cjs/btree/binary-tree-builder.js.map +++ b/dist/cjs/btree/binary-tree-builder.js.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-builder.js","sourceRoot":"","sources":["../ts/btree/binary-tree-builder.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"binary-tree-builder.js","sourceRoot":"","sources":["../../../src/btree/binary-tree-builder.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/btree/binary-tree-leaf-entry-extdata.js.map b/dist/cjs/btree/binary-tree-leaf-entry-extdata.js.map index d90d268..f8f8f06 100644 --- a/dist/cjs/btree/binary-tree-leaf-entry-extdata.js.map +++ b/dist/cjs/btree/binary-tree-leaf-entry-extdata.js.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-leaf-entry-extdata.js","sourceRoot":"","sources":["../ts/btree/binary-tree-leaf-entry-extdata.ts"],"names":[],"mappings":";;AA0BA,oEAAoE;AACpE,iDAAiD;AAEjD,qCAAqC;AACrC,UAAU;AACV,SAAS;AACT,gCAAgC;AAChC,yCAAyC;AACzC,4CAA4C;AAC5C,wCAAwC;AACxC,gDAAgD;AAChD,UAAU;AACV,0BAA0B;AAC1B,2EAA2E;AAC3E,oFAAoF;AACpF,gFAAgF;AAChF,iDAAiD;AACjD,qCAAqC;AACrC,YAAY;AACZ,QAAQ;AACR,UAAU;AACV,+FAA+F;AAC/F,UAAU;AACV,eAAe;AACf,iFAAiF;AACjF,QAAQ;AACR,IAAI"} \ No newline at end of file +{"version":3,"file":"binary-tree-leaf-entry-extdata.js","sourceRoot":"","sources":["../../../src/btree/binary-tree-leaf-entry-extdata.ts"],"names":[],"mappings":";;AA0BA,oEAAoE;AACpE,iDAAiD;AAEjD,qCAAqC;AACrC,UAAU;AACV,SAAS;AACT,gCAAgC;AAChC,yCAAyC;AACzC,4CAA4C;AAC5C,wCAAwC;AACxC,gDAAgD;AAChD,UAAU;AACV,0BAA0B;AAC1B,2EAA2E;AAC3E,oFAAoF;AACpF,gFAAgF;AAChF,iDAAiD;AACjD,qCAAqC;AACrC,YAAY;AACZ,QAAQ;AACR,UAAU;AACV,+FAA+F;AAC/F,UAAU;AACV,eAAe;AACf,iFAAiF;AACjF,QAAQ;AACR,IAAI"} \ No newline at end of file diff --git a/dist/cjs/btree/binary-tree-leaf-entry-value.js.map b/dist/cjs/btree/binary-tree-leaf-entry-value.js.map index 3695924..88fdc28 100644 --- a/dist/cjs/btree/binary-tree-leaf-entry-value.js.map +++ b/dist/cjs/btree/binary-tree-leaf-entry-value.js.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-leaf-entry-value.js","sourceRoot":"","sources":["../ts/btree/binary-tree-leaf-entry-value.ts"],"names":[],"mappings":";;;AAGA,MAAa,6BAA6B;IACtC;;;;OAIG;IACH,YAAmB,aAAqC,EAAS,QAA4B;QAA1E,kBAAa,GAAb,aAAa,CAAwB;QAAS,aAAQ,GAAR,QAAQ,CAAoB;IAC7F,CAAC;IAED,6CAA6C;IAC7C,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;CACJ;AAbD,sEAaC"} \ No newline at end of file +{"version":3,"file":"binary-tree-leaf-entry-value.js","sourceRoot":"","sources":["../../../src/btree/binary-tree-leaf-entry-value.ts"],"names":[],"mappings":";;;AAGA,MAAa,6BAA6B;IACtC;;;;OAIG;IACH,YAAmB,aAAqC,EAAS,QAA4B;QAA1E,kBAAa,GAAb,aAAa,CAAwB;QAAS,aAAQ,GAAR,QAAQ,CAAoB;IAC7F,CAAC;IAED,6CAA6C;IAC7C,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;CACJ;AAbD,sEAaC"} \ No newline at end of file diff --git a/dist/cjs/btree/binary-tree-leaf-entry.js.map b/dist/cjs/btree/binary-tree-leaf-entry.js.map index af9e897..49565ef 100644 --- a/dist/cjs/btree/binary-tree-leaf-entry.js.map +++ b/dist/cjs/btree/binary-tree-leaf-entry.js.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-leaf-entry.js","sourceRoot":"","sources":["../ts/btree/binary-tree-leaf-entry.ts"],"names":[],"mappings":";;;AAIA,MAAa,wBAAwB;IAMjC;;;OAGG;IACH,YAAmB,GAAqB,EAAS,MAAuC;QAArE,QAAG,GAAH,GAAG,CAAkB;QAAS,WAAM,GAAN,MAAM,CAAiC;QACpF,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,WAAW;QACX,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC;SAAE;QACxE,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;SAAE;QACtD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI,WAAW,CAAC,EAAE;QACd,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IAC3B,CAAC;IAOD,6CAA6C;IAC7C,KAAK,CAAC,UAAU;QACZ,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC/E,CAAC;CAEJ;AA1CD,4DA0CC"} \ No newline at end of file +{"version":3,"file":"binary-tree-leaf-entry.js","sourceRoot":"","sources":["../../../src/btree/binary-tree-leaf-entry.ts"],"names":[],"mappings":";;;AAIA,MAAa,wBAAwB;IAMjC;;;OAGG;IACH,YAAmB,GAAqB,EAAS,MAAuC;QAArE,QAAG,GAAH,GAAG,CAAkB;QAAS,WAAM,GAAN,MAAM,CAAiC;QACpF,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,WAAW;QACX,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC;SAAE;QACxE,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;SAAE;QACtD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI,WAAW,CAAC,EAAE;QACd,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IAC3B,CAAC;IAOD,6CAA6C;IAC7C,KAAK,CAAC,UAAU;QACZ,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC/E,CAAC;CAEJ;AA1CD,4DA0CC"} \ No newline at end of file diff --git a/dist/cjs/btree/binary-tree-leaf.js.map b/dist/cjs/btree/binary-tree-leaf.js.map index a0575af..62210fb 100644 --- a/dist/cjs/btree/binary-tree-leaf.js.map +++ b/dist/cjs/btree/binary-tree-leaf.js.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-leaf.js","sourceRoot":"","sources":["../ts/btree/binary-tree-leaf.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"binary-tree-leaf.js","sourceRoot":"","sources":["../../../src/btree/binary-tree-leaf.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/btree/binary-tree-node-entry.js.map b/dist/cjs/btree/binary-tree-node-entry.js.map index d734f73..42d870a 100644 --- a/dist/cjs/btree/binary-tree-node-entry.js.map +++ b/dist/cjs/btree/binary-tree-node-entry.js.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-node-entry.js","sourceRoot":"","sources":["../ts/btree/binary-tree-node-entry.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAIlD,MAAa,wBAAwB;IAQjC,YAAmB,GAAqB;QAArB,QAAG,GAAH,GAAG,CAAkB;QAPxC,kBAAa,GAAW,IAAI,CAAC;IAQ7B,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,IAAI,8BAAa,CAAC,uBAAuB,EAAE,+BAA+B,CAAC,CAAC;IACtF,CAAC;CACJ;AAdD,4DAcC"} \ No newline at end of file +{"version":3,"file":"binary-tree-node-entry.js","sourceRoot":"","sources":["../../../src/btree/binary-tree-node-entry.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAIlD,MAAa,wBAAwB;IAQjC,YAAmB,GAAqB;QAArB,QAAG,GAAH,GAAG,CAAkB;QAPxC,kBAAa,GAAW,IAAI,CAAC;IAQ7B,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,IAAI,8BAAa,CAAC,uBAAuB,EAAE,+BAA+B,CAAC,CAAC;IACtF,CAAC;CACJ;AAdD,4DAcC"} \ No newline at end of file diff --git a/dist/cjs/btree/binary-tree-node-info.js.map b/dist/cjs/btree/binary-tree-node-info.js.map index 1c82460..f68b739 100644 --- a/dist/cjs/btree/binary-tree-node-info.js.map +++ b/dist/cjs/btree/binary-tree-node-info.js.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-node-info.js","sourceRoot":"","sources":["../ts/btree/binary-tree-node-info.ts"],"names":[],"mappings":";;;AAIA,MAAa,uBAAuB;IA+ChC,YAAY,IAAsC;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;YACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;SACjC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;YACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,8BAA8B;SACxE;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACxC,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK,CAAC,KAAK;QACX,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC7B,CAAC;CACJ;AAzED,0DAyEC"} \ No newline at end of file +{"version":3,"file":"binary-tree-node-info.js","sourceRoot":"","sources":["../../../src/btree/binary-tree-node-info.ts"],"names":[],"mappings":";;;AAIA,MAAa,uBAAuB;IA+ChC,YAAY,IAAsC;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;YACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;SACjC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;YACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,8BAA8B;SACxE;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACxC,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK,CAAC,KAAK;QACX,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC7B,CAAC;CACJ;AAzED,0DAyEC"} \ No newline at end of file diff --git a/dist/cjs/btree/binary-tree-node.js.map b/dist/cjs/btree/binary-tree-node.js.map index acca070..d389405 100644 --- a/dist/cjs/btree/binary-tree-node.js.map +++ b/dist/cjs/btree/binary-tree-node.js.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-node.js","sourceRoot":"","sources":["../ts/btree/binary-tree-node.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAElD,mEAAkE;AAElE,MAAa,mBAAoB,SAAQ,+CAAuB;IAW5D,YAAY,QAA0C;QAClD,KAAK,CAAC,QAAQ,CAAC,CAAC;QAVpB,YAAO,GAA+B,EAAE,CAAC;QAEzC,kBAAa,GAAW,IAAI,CAAC;IAS7B,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,IAAI,8BAAa,CAAC,uBAAuB,EAAE,+BAA+B,CAAC,CAAC;IACtF,CAAC;CACJ;AAlBD,kDAkBC"} \ No newline at end of file +{"version":3,"file":"binary-tree-node.js","sourceRoot":"","sources":["../../../src/btree/binary-tree-node.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAElD,mEAAkE;AAElE,MAAa,mBAAoB,SAAQ,+CAAuB;IAW5D,YAAY,QAA0C;QAClD,KAAK,CAAC,QAAQ,CAAC,CAAC;QAVpB,YAAO,GAA+B,EAAE,CAAC;QAEzC,kBAAa,GAAW,IAAI,CAAC;IAS7B,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,IAAI,8BAAa,CAAC,uBAAuB,EAAE,+BAA+B,CAAC,CAAC;IACtF,CAAC;CACJ;AAlBD,kDAkBC"} \ No newline at end of file diff --git a/dist/cjs/btree/binary-tree-transaction-operation.js.map b/dist/cjs/btree/binary-tree-transaction-operation.js.map index e20b2c2..c833924 100644 --- a/dist/cjs/btree/binary-tree-transaction-operation.js.map +++ b/dist/cjs/btree/binary-tree-transaction-operation.js.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-transaction-operation.js","sourceRoot":"","sources":["../ts/btree/binary-tree-transaction-operation.ts"],"names":[],"mappings":";;;AAKA,MAAa,mCAAmC;IAoB5C,YAAY,SAA8C;QACtD,iIAAiI;QACjI,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;QACzB,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;YACzD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;SAChD;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,EAAE;YAC1B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;SACtC;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC7B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;YACnC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;SAC9C;IACL,CAAC;IAjCD,MAAM,CAAC,GAAG,CAAC,GAAqB,EAAE,aAAqC,EAAE,QAA4B;QACjG,OAAO,IAAI,mCAAmC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,GAAqB,EAAE,QAAuC,EAAE,YAA2C,EAAE,QAA4B;QACnJ,OAAO,IAAI,mCAAmC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,GAAqB,EAAE,aAAqC;QACtE,OAAO,IAAI,mCAAmC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3F,CAAC;CAwBJ;AAnCD,kFAmCC"} \ No newline at end of file +{"version":3,"file":"binary-tree-transaction-operation.js","sourceRoot":"","sources":["../../../src/btree/binary-tree-transaction-operation.ts"],"names":[],"mappings":";;;AAKA,MAAa,mCAAmC;IAoB5C,YAAY,SAA8C;QACtD,iIAAiI;QACjI,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;QACzB,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;YACzD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;SAChD;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,EAAE;YAC1B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;SACtC;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC7B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;YACnC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;SAC9C;IACL,CAAC;IAjCD,MAAM,CAAC,GAAG,CAAC,GAAqB,EAAE,aAAqC,EAAE,QAA4B;QACjG,OAAO,IAAI,mCAAmC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,GAAqB,EAAE,QAAuC,EAAE,YAA2C,EAAE,QAA4B;QACnJ,OAAO,IAAI,mCAAmC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,GAAqB,EAAE,aAAqC;QACtE,OAAO,IAAI,mCAAmC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3F,CAAC;CAwBJ;AAnCD,kFAmCC"} \ No newline at end of file diff --git a/dist/cjs/btree/binary-tree.js.map b/dist/cjs/btree/binary-tree.js.map index 33b123c..d97dbe7 100644 --- a/dist/cjs/btree/binary-tree.js.map +++ b/dist/cjs/btree/binary-tree.js.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree.js","sourceRoot":"","sources":["../ts/btree/binary-tree.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"binary-tree.js","sourceRoot":"","sources":["../../../src/btree/binary-tree.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/btree/binary-writer.js.map b/dist/cjs/btree/binary-writer.js.map index 0ae0c50..06d82f4 100644 --- a/dist/cjs/btree/binary-writer.js.map +++ b/dist/cjs/btree/binary-writer.js.map @@ -1 +1 @@ -{"version":3,"file":"binary-writer.js","sourceRoot":"","sources":["../ts/btree/binary-writer.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"binary-writer.js","sourceRoot":"","sources":["../../../src/btree/binary-writer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/btree/config.js.map b/dist/cjs/btree/config.js.map index ab19abe..fb8723f 100644 --- a/dist/cjs/btree/config.js.map +++ b/dist/cjs/btree/config.js.map @@ -1 +1 @@ -{"version":3,"file":"config.js","sourceRoot":"","sources":["../ts/btree/config.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,IAAI,CAAC;AACzB,QAAA,2BAA2B,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,8DAA8D;AACrG,QAAA,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/btree/config.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,IAAI,CAAC;AACzB,QAAA,2BAA2B,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,8DAA8D;AACrG,QAAA,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/cjs/btree/entry-key-type.js.map b/dist/cjs/btree/entry-key-type.js.map index c189a74..a763823 100644 --- a/dist/cjs/btree/entry-key-type.js.map +++ b/dist/cjs/btree/entry-key-type.js.map @@ -1 +1 @@ -{"version":3,"file":"entry-key-type.js","sourceRoot":"","sources":["../ts/btree/entry-key-type.ts"],"names":[],"mappings":""} \ No newline at end of file +{"version":3,"file":"entry-key-type.js","sourceRoot":"","sources":["../../../src/btree/entry-key-type.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/cjs/btree/index.js.map b/dist/cjs/btree/index.js.map index 15484f8..6ab9133 100644 --- a/dist/cjs/btree/index.js.map +++ b/dist/cjs/btree/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/btree/index.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAe3C,6FAfK,4BAAY,OAeL;AAdhB,+CAA4E;AASxE,gGATK,6BAAe,OASL;AAMf,2GAfsB,wCAA0B,OAetB;AAd9B,yDAAyD;AASrD,oGATK,sCAAmB,OASL;AARvB,qEAAoE;AAShE,yGATK,iDAAwB,OASL;AAR5B,mDAA+C;AAU3C,6FAVK,4BAAY,OAUL;AAThB,iCAAmC;AAI/B,0FAJK,gBAAS,OAIL;AAHb,iDAAkD;AAO9C,iGAPK,+BAAgB,OAOL"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/btree/index.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAe3C,6FAfK,4BAAY,OAeL;AAdhB,+CAA4E;AASxE,gGATK,6BAAe,OASL;AAMf,2GAfsB,wCAA0B,OAetB;AAd9B,yDAAyD;AASrD,oGATK,sCAAmB,OASL;AARvB,qEAAoE;AAShE,yGATK,iDAAwB,OASL;AAR5B,mDAA+C;AAU3C,6FAVK,4BAAY,OAUL;AAThB,iCAAmC;AAI/B,0FAJK,gBAAS,OAIL;AAHb,iDAAkD;AAO9C,iGAPK,+BAAgB,OAOL"} \ No newline at end of file diff --git a/dist/cjs/btree/leaf-entry-metadata.js.map b/dist/cjs/btree/leaf-entry-metadata.js.map index 915e69a..7539fe1 100644 --- a/dist/cjs/btree/leaf-entry-metadata.js.map +++ b/dist/cjs/btree/leaf-entry-metadata.js.map @@ -1 +1 @@ -{"version":3,"file":"leaf-entry-metadata.js","sourceRoot":"","sources":["../ts/btree/leaf-entry-metadata.ts"],"names":[],"mappings":""} \ No newline at end of file +{"version":3,"file":"leaf-entry-metadata.js","sourceRoot":"","sources":["../../../src/btree/leaf-entry-metadata.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/cjs/btree/leaf-entry-recordpointer.js.map b/dist/cjs/btree/leaf-entry-recordpointer.js.map index 32e3234..4effa49 100644 --- a/dist/cjs/btree/leaf-entry-recordpointer.js.map +++ b/dist/cjs/btree/leaf-entry-recordpointer.js.map @@ -1 +1 @@ -{"version":3,"file":"leaf-entry-recordpointer.js","sourceRoot":"","sources":["../ts/btree/leaf-entry-recordpointer.ts"],"names":[],"mappings":""} \ No newline at end of file +{"version":3,"file":"leaf-entry-recordpointer.js","sourceRoot":"","sources":["../../../src/btree/leaf-entry-recordpointer.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/cjs/btree/tree-builder.js.map b/dist/cjs/btree/tree-builder.js.map index f8cf6a0..8b37d86 100644 --- a/dist/cjs/btree/tree-builder.js.map +++ b/dist/cjs/btree/tree-builder.js.map @@ -1 +1 @@ -{"version":3,"file":"tree-builder.js","sourceRoot":"","sources":["../ts/btree/tree-builder.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tree-builder.js","sourceRoot":"","sources":["../../../src/btree/tree-builder.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/btree/tree-leaf-entry-value.js.map b/dist/cjs/btree/tree-leaf-entry-value.js.map index 77276c6..4d19f8f 100644 --- a/dist/cjs/btree/tree-leaf-entry-value.js.map +++ b/dist/cjs/btree/tree-leaf-entry-value.js.map @@ -1 +1 @@ -{"version":3,"file":"tree-leaf-entry-value.js","sourceRoot":"","sources":["../ts/btree/tree-leaf-entry-value.ts"],"names":[],"mappings":";;;AAGA,MAAa,uBAAuB;IAChC;;;OAGG;IACH,YAAmB,aAAqC,EAAS,QAA4B;QAA1E,kBAAa,GAAb,aAAa,CAAwB;QAAS,aAAQ,GAAR,QAAQ,CAAoB;IAC7F,CAAC;IAED,6CAA6C;IAC7C,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;CACJ;AAZD,0DAYC"} \ No newline at end of file +{"version":3,"file":"tree-leaf-entry-value.js","sourceRoot":"","sources":["../../../src/btree/tree-leaf-entry-value.ts"],"names":[],"mappings":";;;AAGA,MAAa,uBAAuB;IAChC;;;OAGG;IACH,YAAmB,aAAqC,EAAS,QAA4B;QAA1E,kBAAa,GAAb,aAAa,CAAwB;QAAS,aAAQ,GAAR,QAAQ,CAAoB;IAC7F,CAAC;IAED,6CAA6C;IAC7C,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;CACJ;AAZD,0DAYC"} \ No newline at end of file diff --git a/dist/cjs/btree/tree-leaf-entry.js.map b/dist/cjs/btree/tree-leaf-entry.js.map index d0b1eb7..6a483e9 100644 --- a/dist/cjs/btree/tree-leaf-entry.js.map +++ b/dist/cjs/btree/tree-leaf-entry.js.map @@ -1 +1 @@ -{"version":3,"file":"tree-leaf-entry.js","sourceRoot":"","sources":["../ts/btree/tree-leaf-entry.ts"],"names":[],"mappings":";;;AAEA,mEAAkE;AAElE,MAAa,kBAAkB;IAG3B,YAAmB,IAAmB,EAAS,GAAqB,EAAE,KAA+B;QAAlF,SAAI,GAAJ,IAAI,CAAe;QAAS,QAAG,GAAH,GAAG,CAAkB;QAChE,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,YAAY,+CAAuB,CAAC,EAAE;YAC7E,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SAC3E;QACD,IAAI,CAAC,MAAM,GAAG,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;CACJ;AATD,gDASC"} \ No newline at end of file +{"version":3,"file":"tree-leaf-entry.js","sourceRoot":"","sources":["../../../src/btree/tree-leaf-entry.ts"],"names":[],"mappings":";;;AAEA,mEAAkE;AAElE,MAAa,kBAAkB;IAG3B,YAAmB,IAAmB,EAAS,GAAqB,EAAE,KAA+B;QAAlF,SAAI,GAAJ,IAAI,CAAe;QAAS,QAAG,GAAH,GAAG,CAAkB;QAChE,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,YAAY,+CAAuB,CAAC,EAAE;YAC7E,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SAC3E;QACD,IAAI,CAAC,MAAM,GAAG,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;CACJ;AATD,gDASC"} \ No newline at end of file diff --git a/dist/cjs/btree/tree-leaf.js.map b/dist/cjs/btree/tree-leaf.js.map index 650e44e..f421b3c 100644 --- a/dist/cjs/btree/tree-leaf.js.map +++ b/dist/cjs/btree/tree-leaf.js.map @@ -1 +1 @@ -{"version":3,"file":"tree-leaf.js","sourceRoot":"","sources":["../ts/btree/tree-leaf.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tree-leaf.js","sourceRoot":"","sources":["../../../src/btree/tree-leaf.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/btree/tree-node-entry.js.map b/dist/cjs/btree/tree-node-entry.js.map index 312eb07..9ba12bc 100644 --- a/dist/cjs/btree/tree-node-entry.js.map +++ b/dist/cjs/btree/tree-node-entry.js.map @@ -1 +1 @@ -{"version":3,"file":"tree-node-entry.js","sourceRoot":"","sources":["../ts/btree/tree-node-entry.ts"],"names":[],"mappings":";;;AAIA,MAAa,kBAAkB;IAG3B,YAAmB,IAAmB,EAAS,GAAqB;QAAjD,SAAI,GAAJ,IAAI,CAAe;QAAS,QAAG,GAAH,GAAG,CAAkB;QAFpE,YAAO,GAAkC,IAAI,CAAC;IAG9C,CAAC;CACJ;AALD,gDAKC"} \ No newline at end of file +{"version":3,"file":"tree-node-entry.js","sourceRoot":"","sources":["../../../src/btree/tree-node-entry.ts"],"names":[],"mappings":";;;AAIA,MAAa,kBAAkB;IAG3B,YAAmB,IAAmB,EAAS,GAAqB;QAAjD,SAAI,GAAJ,IAAI,CAAe;QAAS,QAAG,GAAH,GAAG,CAAkB;QAFpE,YAAO,GAAkC,IAAI,CAAC;IAG9C,CAAC;CACJ;AALD,gDAKC"} \ No newline at end of file diff --git a/dist/cjs/btree/tree-node.js.map b/dist/cjs/btree/tree-node.js.map index 2c6e838..86c5ef9 100644 --- a/dist/cjs/btree/tree-node.js.map +++ b/dist/cjs/btree/tree-node.js.map @@ -1 +1 @@ -{"version":3,"file":"tree-node.js","sourceRoot":"","sources":["../ts/btree/tree-node.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tree-node.js","sourceRoot":"","sources":["../../../src/btree/tree-node.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/btree/tree.js.map b/dist/cjs/btree/tree.js.map index 4dc838c..9dd22ca 100644 --- a/dist/cjs/btree/tree.js.map +++ b/dist/cjs/btree/tree.js.map @@ -1 +1 @@ -{"version":3,"file":"tree.js","sourceRoot":"","sources":["../ts/btree/tree.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/btree/tree.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/btree/tx.js.map b/dist/cjs/btree/tx.js.map index 07101b1..cb817fe 100644 --- a/dist/cjs/btree/tx.js.map +++ b/dist/cjs/btree/tx.js.map @@ -1 +1 @@ -{"version":3,"file":"tx.js","sourceRoot":"","sources":["../ts/btree/tx.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../src/btree/tx.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/btree/typesafe-compare.js.map b/dist/cjs/btree/typesafe-compare.js.map index d91cdb0..89046a6 100644 --- a/dist/cjs/btree/typesafe-compare.js.map +++ b/dist/cjs/btree/typesafe-compare.js.map @@ -1 +1 @@ -{"version":3,"file":"typesafe-compare.js","sourceRoot":"","sources":["../ts/btree/typesafe-compare.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"typesafe-compare.js","sourceRoot":"","sources":["../../../src/btree/typesafe-compare.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/btree/utils.js.map b/dist/cjs/btree/utils.js.map index 32f3696..39ddd0f 100644 --- a/dist/cjs/btree/utils.js.map +++ b/dist/cjs/btree/utils.js.map @@ -1 +1 @@ -{"version":3,"file":"utils.js","sourceRoot":"","sources":["../ts/btree/utils.ts"],"names":[],"mappings":";;;AAIA,SAAgB,kBAAkB,CAAC,GAAqB,EAAE,aAAqC,EAAE,YAAsB,EAAE,QAA2B;IAChJ,MAAM,gBAAgB,GAAG,iEAAiE,CAAC;IAC3F,MAAM,cAAc,GAAG,CAAC,GAAqB,EAAE,EAAE;QAC7C,OAAO,CAAC,QAAQ,EAAC,QAAQ,EAAC,SAAS,EAAC,QAAQ,EAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,YAAY,IAAI,CAAC;IAC1G,CAAC,CAAC;IACF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,IAAI,SAAS,CAAC,+CAA+C,gBAAgB,EAAE,CAAC,CAAC;KAC3F;IACD,IAAI,CAAC,CAAC,aAAa,YAAY,KAAK,IAAI,aAAa,YAAY,UAAU,CAAC,EAAE;QAC1E,OAAO,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;KAC5E;IACD,IAAI,aAAa,CAAC,MAAM,GAAG,GAAG,EAAE;QAC5B,OAAO,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC,qBAAqB;KAClG;IACD,6DAA6D;IAC7D,IAAI;QACA,YAAY,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvC,IAAI,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE;gBACpB,MAAM,IAAI,SAAS,CAAC,8BAA8B,GAAG,GAAG,CAAC,CAAC;aAC7D;YACD,IAAI,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;gBACvC,MAAM,IAAI,SAAS,CAAC,aAAa,GAAG,6CAA6C,gBAAgB,EAAE,CAAC,CAAC;aACxG;QACL,CAAC,CAAC,CAAC;KACN;IACD,OAAM,GAAG,EAAE;QACP,OAAO,GAAG,CAAC;KACd;AACL,CAAC;AA5BD,gDA4BC;AAEM,MAAM,cAAc,GAAG,CAAC,WAAsB,EAAE,IAAe,EAAE,EAAE;IACtE,MAAM,CAAC,GAAG,GAAG,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;QACxB,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAClD,KAAK,IAAI,CAAC,CAAC;KACd;AACL,CAAC,CAAC;AAPW,QAAA,cAAc,kBAOzB"} \ No newline at end of file +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/btree/utils.ts"],"names":[],"mappings":";;;AAIA,SAAgB,kBAAkB,CAAC,GAAqB,EAAE,aAAqC,EAAE,YAAsB,EAAE,QAA2B;IAChJ,MAAM,gBAAgB,GAAG,iEAAiE,CAAC;IAC3F,MAAM,cAAc,GAAG,CAAC,GAAqB,EAAE,EAAE;QAC7C,OAAO,CAAC,QAAQ,EAAC,QAAQ,EAAC,SAAS,EAAC,QAAQ,EAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,YAAY,IAAI,CAAC;IAC1G,CAAC,CAAC;IACF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,IAAI,SAAS,CAAC,+CAA+C,gBAAgB,EAAE,CAAC,CAAC;KAC3F;IACD,IAAI,CAAC,CAAC,aAAa,YAAY,KAAK,IAAI,aAAa,YAAY,UAAU,CAAC,EAAE;QAC1E,OAAO,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;KAC5E;IACD,IAAI,aAAa,CAAC,MAAM,GAAG,GAAG,EAAE;QAC5B,OAAO,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC,qBAAqB;KAClG;IACD,6DAA6D;IAC7D,IAAI;QACA,YAAY,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvC,IAAI,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE;gBACpB,MAAM,IAAI,SAAS,CAAC,8BAA8B,GAAG,GAAG,CAAC,CAAC;aAC7D;YACD,IAAI,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;gBACvC,MAAM,IAAI,SAAS,CAAC,aAAa,GAAG,6CAA6C,gBAAgB,EAAE,CAAC,CAAC;aACxG;QACL,CAAC,CAAC,CAAC;KACN;IACD,OAAM,GAAG,EAAE;QACP,OAAO,GAAG,CAAC;KACd;AACL,CAAC;AA5BD,gDA4BC;AAEM,MAAM,cAAc,GAAG,CAAC,WAAsB,EAAE,IAAe,EAAE,EAAE;IACtE,MAAM,CAAC,GAAG,GAAG,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;QACxB,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAClD,KAAK,IAAI,CAAC,CAAC;KACd;AACL,CAAC,CAAC;AAPW,QAAA,cAAc,kBAOzB"} \ No newline at end of file diff --git a/dist/cjs/data-index/array-index-query-hint.js.map b/dist/cjs/data-index/array-index-query-hint.js.map index 5c991a8..ae2c1cb 100644 --- a/dist/cjs/data-index/array-index-query-hint.js.map +++ b/dist/cjs/data-index/array-index-query-hint.js.map @@ -1 +1 @@ -{"version":3,"file":"array-index-query-hint.js","sourceRoot":"","sources":["../ts/data-index/array-index-query-hint.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAE9C,MAAa,mBAAoB,SAAQ,2BAAc;IACnD,MAAM,KAAK,KAAK;QACZ,OAAO,MAAM,CAAC,MAAM,CAAC;YACjB,YAAY,EAAE,SAAS;SAC1B,CAAC,CAAC;IACP,CAAC;IAED,YAAY,IAAe,EAAE,KAAc;QACvC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,WAAW;QACX,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5E,QAAQ,IAAI,CAAC,IAAI,EAAE;YACf,KAAK,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACzC,OAAO,SAAS,GAAG,2EAA2E,CAAC;aAClG;YACD,OAAO,CAAC,CAAC;gBACL,OAAO,aAAa,CAAC;aACxB;SACJ;IACL,CAAC;CACJ;AAtBD,kDAsBC"} \ No newline at end of file +{"version":3,"file":"array-index-query-hint.js","sourceRoot":"","sources":["../../../src/data-index/array-index-query-hint.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAE9C,MAAa,mBAAoB,SAAQ,2BAAc;IACnD,MAAM,KAAK,KAAK;QACZ,OAAO,MAAM,CAAC,MAAM,CAAC;YACjB,YAAY,EAAE,SAAS;SAC1B,CAAC,CAAC;IACP,CAAC;IAED,YAAY,IAAe,EAAE,KAAc;QACvC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,WAAW;QACX,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5E,QAAQ,IAAI,CAAC,IAAI,EAAE;YACf,KAAK,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACzC,OAAO,SAAS,GAAG,2EAA2E,CAAC;aAClG;YACD,OAAO,CAAC,CAAC;gBACL,OAAO,aAAa,CAAC;aACxB;SACJ;IACL,CAAC;CACJ;AAtBD,kDAsBC"} \ No newline at end of file diff --git a/dist/cjs/data-index/array-index.js.map b/dist/cjs/data-index/array-index.js.map index 04402f1..2ff9262 100644 --- a/dist/cjs/data-index/array-index.js.map +++ b/dist/cjs/data-index/array-index.js.map @@ -1 +1 @@ -{"version":3,"file":"array-index.js","sourceRoot":"","sources":["../ts/data-index/array-index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"array-index.js","sourceRoot":"","sources":["../../../src/data-index/array-index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/data-index/data-index.js.map b/dist/cjs/data-index/data-index.js.map index ed4b1f4..0203653 100644 --- a/dist/cjs/data-index/data-index.js.map +++ b/dist/cjs/data-index/data-index.js.map @@ -1 +1 @@ -{"version":3,"file":"data-index.js","sourceRoot":"","sources":["../ts/data-index/data-index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"data-index.js","sourceRoot":"","sources":["../../../src/data-index/data-index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/data-index/fulltext-index-query-hint.js.map b/dist/cjs/data-index/fulltext-index-query-hint.js.map index cd77c63..6e8011e 100644 --- a/dist/cjs/data-index/fulltext-index-query-hint.js.map +++ b/dist/cjs/data-index/fulltext-index-query-hint.js.map @@ -1 +1 @@ -{"version":3,"file":"fulltext-index-query-hint.js","sourceRoot":"","sources":["../ts/data-index/fulltext-index-query-hint.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAE9C,MAAa,sBAAuB,SAAQ,2BAAc;IACtD,MAAM,KAAK,KAAK;QACZ,OAAO,MAAM,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,SAAS;SACzB,CAAC,CAAC;IACP,CAAC;IAED,YAAY,IAAuC,EAAE,KAAc;QAC/D,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,WAAW;QACX,QAAQ,IAAI,CAAC,IAAI,EAAE;YACf,KAAK,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC3C,OAAO,SAAS,IAAI,CAAC,KAAK,4EAA4E,CAAC;aAC1G;YACD,KAAK,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC3C,OAAO,SAAS,IAAI,CAAC,KAAK,mKAAmK,CAAC;aACjM;YACD,KAAK,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC3C,OAAO,SAAS,IAAI,CAAC,KAAK,8IAA8I,CAAC;aAC5K;YACD,OAAO,CAAC,CAAC;gBACL,OAAO,aAAa,CAAC;aACxB;SACJ;IACL,CAAC;CACJ;AA7BD,wDA6BC"} \ No newline at end of file +{"version":3,"file":"fulltext-index-query-hint.js","sourceRoot":"","sources":["../../../src/data-index/fulltext-index-query-hint.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAE9C,MAAa,sBAAuB,SAAQ,2BAAc;IACtD,MAAM,KAAK,KAAK;QACZ,OAAO,MAAM,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,SAAS;SACzB,CAAC,CAAC;IACP,CAAC;IAED,YAAY,IAAuC,EAAE,KAAc;QAC/D,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,WAAW;QACX,QAAQ,IAAI,CAAC,IAAI,EAAE;YACf,KAAK,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC3C,OAAO,SAAS,IAAI,CAAC,KAAK,4EAA4E,CAAC;aAC1G;YACD,KAAK,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC3C,OAAO,SAAS,IAAI,CAAC,KAAK,mKAAmK,CAAC;aACjM;YACD,KAAK,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC3C,OAAO,SAAS,IAAI,CAAC,KAAK,8IAA8I,CAAC;aAC5K;YACD,OAAO,CAAC,CAAC;gBACL,OAAO,aAAa,CAAC;aACxB;SACJ;IACL,CAAC;CACJ;AA7BD,wDA6BC"} \ No newline at end of file diff --git a/dist/cjs/data-index/fulltext-index.js.map b/dist/cjs/data-index/fulltext-index.js.map index 725f835..6bbab23 100644 --- a/dist/cjs/data-index/fulltext-index.js.map +++ b/dist/cjs/data-index/fulltext-index.js.map @@ -1 +1 @@ -{"version":3,"file":"fulltext-index.js","sourceRoot":"","sources":["../ts/data-index/fulltext-index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"fulltext-index.js","sourceRoot":"","sources":["../../../src/data-index/fulltext-index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/data-index/geo-index.js.map b/dist/cjs/data-index/geo-index.js.map index a7546e0..2ec6656 100644 --- a/dist/cjs/data-index/geo-index.js.map +++ b/dist/cjs/data-index/geo-index.js.map @@ -1 +1 @@ -{"version":3,"file":"geo-index.js","sourceRoot":"","sources":["../ts/data-index/geo-index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"geo-index.js","sourceRoot":"","sources":["../../../src/data-index/geo-index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/data-index/index.js.map b/dist/cjs/data-index/index.js.map index 4bf8aaa..ee82eb5 100644 --- a/dist/cjs/data-index/index.js.map +++ b/dist/cjs/data-index/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/data-index/index.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAKhC,0FALA,sBAAS,OAKA;AAJlB,qDAAiD;AAI7B,8FAJX,8BAAa,OAIW;AAHjC,2CAAuC;AAGJ,yFAH1B,oBAAQ,OAG0B;AAF3C,+CAA2C;AAEE,2FAFpC,wBAAU,OAEoC;AACvD,iDAAoD;AAA3C,kHAAA,iBAAiB,OAAA;AAE1B,sBAAS,CAAC,eAAe,GAAG;IACxB,MAAM,EAAE,sBAAS;IACjB,QAAQ,EAAE,8BAAa;IACvB,GAAG,EAAE,oBAAQ;IACb,KAAK,EAAE,wBAAU;CACpB,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data-index/index.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAKhC,0FALA,sBAAS,OAKA;AAJlB,qDAAiD;AAI7B,8FAJX,8BAAa,OAIW;AAHjC,2CAAuC;AAGJ,yFAH1B,oBAAQ,OAG0B;AAF3C,+CAA2C;AAEE,2FAFpC,wBAAU,OAEoC;AACvD,iDAAoD;AAA3C,kHAAA,iBAAiB,OAAA;AAE1B,sBAAS,CAAC,eAAe,GAAG;IACxB,MAAM,EAAE,sBAAS;IACjB,QAAQ,EAAE,8BAAa;IACvB,GAAG,EAAE,oBAAQ;IACb,KAAK,EAAE,wBAAU;CACpB,CAAC"} \ No newline at end of file diff --git a/dist/cjs/data-index/options.js.map b/dist/cjs/data-index/options.js.map index 8d62fee..e286995 100644 --- a/dist/cjs/data-index/options.js.map +++ b/dist/cjs/data-index/options.js.map @@ -1 +1 @@ -{"version":3,"file":"options.js","sourceRoot":"","sources":["../ts/data-index/options.ts"],"names":[],"mappings":""} \ No newline at end of file +{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/data-index/options.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/cjs/data-index/query-hint.js.map b/dist/cjs/data-index/query-hint.js.map index bf2b233..1078aa9 100644 --- a/dist/cjs/data-index/query-hint.js.map +++ b/dist/cjs/data-index/query-hint.js.map @@ -1 +1 @@ -{"version":3,"file":"query-hint.js","sourceRoot":"","sources":["../ts/data-index/query-hint.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IACvB,YAAmB,IAAY,EAAS,KAAc;QAAnC,SAAI,GAAJ,IAAI,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAS;IAAI,CAAC;CAC9D;AAFD,wCAEC"} \ No newline at end of file +{"version":3,"file":"query-hint.js","sourceRoot":"","sources":["../../../src/data-index/query-hint.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IACvB,YAAmB,IAAY,EAAS,KAAc;QAAnC,SAAI,GAAJ,IAAI,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAS;IAAI,CAAC;CAC9D;AAFD,wCAEC"} \ No newline at end of file diff --git a/dist/cjs/data-index/query-results.js.map b/dist/cjs/data-index/query-results.js.map index 4f17bd0..9e21261 100644 --- a/dist/cjs/data-index/query-results.js.map +++ b/dist/cjs/data-index/query-results.js.map @@ -1 +1 @@ -{"version":3,"file":"query-results.js","sourceRoot":"","sources":["../ts/data-index/query-results.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"query-results.js","sourceRoot":"","sources":["../../../src/data-index/query-results.ts"],"names":[],"mappings":";;;AAKA,MAAa,gBAAgB;IAEzB,YAAmB,GAAoB,EAAS,IAAY,EAAS,KAAqB,EAAS,QAAuB;QAAvG,QAAG,GAAH,GAAG,CAAiB;QAAS,SAAI,GAAJ,IAAI,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAgB;QAAS,aAAQ,GAAR,QAAQ,CAAe;IAAI,CAAC;CAClI;AAHD,4CAGC;AAED,MAAa,iBAAkB,SAAQ,KAAuB;IAwF1D,YAAY,GAAG,IAAW;QACtB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QA/EZ,UAAK,GAAG,EAAsB,CAAC;QAC/B,UAAK,GAAG,IAAuB,CAAC;IA+EvC,CAAC;IAxFD,MAAM,CAAC,WAAW,CAAC,OAA+C,EAAE,SAAiB;QACjF,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAChD,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAC1B,OAAO,GAAG,CAAC;IACf,CAAC;IAQD,qDAAqD;IACrD,6BAA6B;IAC7B,mCAAmC;IACnC,IAAI;IAEJ,4CAA4C;IAC5C,sBAAsB;IACtB,gCAAgC;IAChC,IAAI;IAEJ,mGAAmG;IACnG,qCAAqC;IACrC,IAAI;IAEJ,cAAc,CAAC,GAAoB,EAAE,EAAU,EAAE,OAA8B;QAC3E,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;YAChC,OAAO,GAAG,IAAI,CAAC,CAAC,+DAA+D;SAClF;QACD,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,SAAS,EAAE;YACrC,EAAE,GAAG,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACnC,OAAO,GAAG,IAAI,CAAC;SAClB;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAClC,IAAI,KAAK,GAAG,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClG,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;gBAC9B,KAAK,GAAG,IAAI,CAAC,CAAC,oBAAoB;aACrC;YACD,IAAI,EAAE,KAAK,GAAG,EAAE;gBAAE,OAAO,KAAK,GAAG,OAAO,CAAC;aAAE;YAC3C,IAAI,EAAE,KAAK,IAAI,EAAE;gBAAE,OAAO,KAAK,IAAI,OAAO,CAAC;aAAE;YAC7C,IAAI,EAAE,KAAK,GAAG,EAAE;gBAAE,OAAO,KAAK,GAAG,OAAO,CAAC;aAAE;YAC3C,IAAI,EAAE,KAAK,IAAI,EAAE;gBAAE,OAAO,KAAK,IAAI,OAAO,CAAC;aAAE;YAC7C,IAAI,EAAE,KAAK,IAAI,EAAE;gBAAE,OAAO,KAAK,IAAI,OAAO,CAAC;aAAE;YAC7C,IAAI,EAAE,KAAK,IAAI,EAAE;gBAAE,OAAO,KAAK,IAAI,OAAO,CAAC;aAAE;YAC7C,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,OAAO,EAAE;gBACjC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;oBAC7B,OAAO,EAAE,KAAK,OAAO,CAAC;iBACzB;gBACD,MAAM,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;gBAC7E,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACpC,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;gBACxC,OAAO,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;aAC3C;YACD,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,KAAK,EAAE;gBAC7B,MAAM,IAAI,GAAG,OAAO,YAAY,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACjE,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aACrC;YACD,IAAI,EAAE,IAAI,SAAS,IAAI,EAAE,KAAK,UAAU,EAAE;gBACtC,IAAI,CAAC,CAAC,OAAO,YAAY,KAAK,CAAC,EAAE;oBAC7B,OAAO,EAAE,KAAK,UAAU,CAAC;iBAC5B;gBACD,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,GAAG,GAAG,MAAM,EAAE;oBACd,MAAM,IAAI,GAAG,GAAG,CAAC;oBACjB,GAAG,GAAG,MAAM,CAAC;oBACb,MAAM,GAAG,IAAI,CAAC;iBACjB;gBACD,MAAM,SAAS,GAAG,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,GAAG,CAAC;gBAClD,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;aACpD;YACD,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,UAAU,EAAE;gBACvC,IAAI,CAAC,CAAC,OAAO,YAAY,MAAM,CAAC,EAAE;oBAC9B,OAAO,EAAE,KAAK,UAAU,CAAC;iBAC5B;gBACD,MAAM,EAAE,GAAG,OAAO,CAAC;gBACnB,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;gBACzC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;aAChD;QACL,CAAC,CAAC,CAAC;QACH,OAAO,iBAAiB,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;CAQJ;AA5FD,8CA4FC"} \ No newline at end of file diff --git a/dist/cjs/data-index/query-stats.js.map b/dist/cjs/data-index/query-stats.js.map index 9d6b0e8..f3d87a7 100644 --- a/dist/cjs/data-index/query-stats.js.map +++ b/dist/cjs/data-index/query-stats.js.map @@ -1 +1 @@ -{"version":3,"file":"query-stats.js","sourceRoot":"","sources":["../ts/data-index/query-stats.ts"],"names":[],"mappings":";;;AACA,MAAa,eAAe;IAWxB,YAAmB,IAAY,EAAS,IAAa,EAAE,KAAK,GAAG,KAAK;QAAjD,SAAI,GAAJ,IAAI,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAS;QAV9C,YAAO,GAAG,CAAC,CAAC;QACZ,YAAO,GAAG,CAAC,CAAC;QACZ,UAAK,GAAG,EAAuB,CAAC;QAChC,WAAM,GAAG,IAAW,CAAC;QAE5B;;WAEG;QACI,YAAO,GAAG,CAAC,CAAC;QAGf,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,SAAc,IAAI;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;CACzD;AA3BD,0CA2BC"} \ No newline at end of file +{"version":3,"file":"query-stats.js","sourceRoot":"","sources":["../../../src/data-index/query-stats.ts"],"names":[],"mappings":";;;AACA,MAAa,eAAe;IAWxB,YAAmB,IAAY,EAAS,IAAa,EAAE,KAAK,GAAG,KAAK;QAAjD,SAAI,GAAJ,IAAI,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAS;QAV9C,YAAO,GAAG,CAAC,CAAC;QACZ,YAAO,GAAG,CAAC,CAAC;QACZ,UAAK,GAAG,EAAuB,CAAC;QAChC,WAAM,GAAG,IAAW,CAAC;QAE5B;;WAEG;QACI,YAAO,GAAG,CAAC,CAAC;QAGf,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,SAAc,IAAI;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;CACzD;AA3BD,0CA2BC"} \ No newline at end of file diff --git a/dist/cjs/data-index/shared.js.map b/dist/cjs/data-index/shared.js.map index 95422a9..e50b07e 100644 --- a/dist/cjs/data-index/shared.js.map +++ b/dist/cjs/data-index/shared.js.map @@ -1 +1 @@ -{"version":3,"file":"shared.js","sourceRoot":"","sources":["../ts/data-index/shared.ts"],"names":[],"mappings":""} \ No newline at end of file +{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/data-index/shared.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/cjs/detailed-error.js.map b/dist/cjs/detailed-error.js.map index 6a68d29..55a276c 100644 --- a/dist/cjs/detailed-error.js.map +++ b/dist/cjs/detailed-error.js.map @@ -1 +1 @@ -{"version":3,"file":"detailed-error.js","sourceRoot":"","sources":["ts/detailed-error.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,MAAa,aAAc,SAAQ,KAAK;IAMpC;;;;;OAKG;IACH,YAAY,IAAY,EAAE,OAAe,EAAE,gBAAuC,IAAI;QAClF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAED,IAAI,KAAK;QACL,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,IAAI,GAAG,GAAU,IAAI,CAAC;QACtB,OAAM,GAAG,EAAE;YACP,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7D,GAAG,GAAG,GAAG,YAAY,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;SACjE;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,IAAI,MAAM;QACN,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,IAAI,GAAG,GAAU,IAAI,CAAC;QACtB,OAAM,GAAG,EAAE;YACP,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpB,GAAG,GAAG,GAAG,YAAY,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;SACjE;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,IAAI,GAAG,GAAkB,IAAI,CAAC;QAC9B,OAAO,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,aAAa,EAAE;YAC3C,GAAG,GAAG,GAAG,CAAC,aAA8B,CAAC;SAC5C;QACD,OAAO,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;QACzB,4CAA4C;QAC5C,oCAAoC;IACxC,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,GAAU,EAAE,IAAY;QACxC,IAAI,CAAC,CAAC,GAAG,YAAY,aAAa,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;SAAE;QACtD,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACJ;AApDD,sCAoDC"} \ No newline at end of file +{"version":3,"file":"detailed-error.js","sourceRoot":"","sources":["../../src/detailed-error.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,MAAa,aAAc,SAAQ,KAAK;IAMpC;;;;;OAKG;IACH,YAAY,IAAY,EAAE,OAAe,EAAE,gBAAuC,IAAI;QAClF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAED,IAAI,KAAK;QACL,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,IAAI,GAAG,GAAU,IAAI,CAAC;QACtB,OAAM,GAAG,EAAE;YACP,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7D,GAAG,GAAG,GAAG,YAAY,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;SACjE;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,IAAI,MAAM;QACN,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,IAAI,GAAG,GAAU,IAAI,CAAC;QACtB,OAAM,GAAG,EAAE;YACP,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpB,GAAG,GAAG,GAAG,YAAY,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;SACjE;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,IAAI,GAAG,GAAkB,IAAI,CAAC;QAC9B,OAAO,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,aAAa,EAAE;YAC3C,GAAG,GAAG,GAAG,CAAC,aAA8B,CAAC;SAC5C;QACD,OAAO,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;QACzB,4CAA4C;QAC5C,oCAAoC;IACxC,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,GAAU,EAAE,IAAY;QACxC,IAAI,CAAC,CAAC,GAAG,YAAY,aAAa,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;SAAE;QACtD,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACJ;AApDD,sCAoDC"} \ No newline at end of file diff --git a/dist/cjs/geohash.js.map b/dist/cjs/geohash.js.map index bb8e053..3561475 100644 --- a/dist/cjs/geohash.js.map +++ b/dist/cjs/geohash.js.map @@ -1 +1 @@ -{"version":3,"file":"geohash.js","sourceRoot":"","sources":["ts/geohash.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"geohash.js","sourceRoot":"","sources":["../../src/geohash.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/index.js.map b/dist/cjs/index.js.map index 485026b..0a9841b 100644 --- a/dist/cjs/index.js.map +++ b/dist/cjs/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["ts/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;EAiBE;AACF,6CAoBsB;AAnBlB,4GAAA,YAAY,OAAA;AACZ,6GAAA,aAAa,OAAA;AACb,kHAAA,kBAAkB,OAAA;AAClB,mHAAA,mBAAmB,OAAA;AACnB,2GAAA,WAAW,OAAA;AACX,iHAAA,iBAAiB,OAAA;AACjB,6GAAA,aAAa,OAAA;AACb,4GAAA,YAAY,OAAA;AAQZ,gHAAA,gBAAgB,OAAA;AAChB,kGAAA,EAAE,OAAA;AACF,2GAAA,WAAW,OAAA;AACX,4GAAA,YAAY,OAAA;AAGhB,iDAKyB;AAJrB,wGAAA,OAAO,OAAA;AACP,qHAAA,oBAAoB,OAAA;AACpB,qHAAA,oBAAoB,OAAA;AACpB,yHAAA,wBAAwB,OAAA;AAG5B,2CAA0D;AAAjD,gHAAA,sBAAsB,OAAA;AAC/B,2CAAyD;AAAhD,+GAAA,qBAAqB,OAAA;AAC9B,yCAAuD;AAA9C,6GAAA,oBAAoB,OAAA;AAE7B,2CAM0B;AALtB,kHAAA,wBAAwB,OAAA;AACxB,+GAAA,qBAAqB,OAAA;AACrB,8GAAA,oBAAoB,OAAA;AACpB,4GAAA,kBAAkB,OAAA;AAClB,oHAAA,0BAA0B,OAAA;AAG9B,qCAKmB;AAJf,0GAAA,eAAe,OAAA;AAGf,gHAAA,qBAAqB,OAAA"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;EAiBE;AACF,6CAoBsB;AAnBlB,4GAAA,YAAY,OAAA;AACZ,6GAAA,aAAa,OAAA;AACb,kHAAA,kBAAkB,OAAA;AAClB,mHAAA,mBAAmB,OAAA;AACnB,2GAAA,WAAW,OAAA;AACX,iHAAA,iBAAiB,OAAA;AACjB,6GAAA,aAAa,OAAA;AACb,4GAAA,YAAY,OAAA;AAQZ,gHAAA,gBAAgB,OAAA;AAChB,kGAAA,EAAE,OAAA;AACF,2GAAA,WAAW,OAAA;AACX,4GAAA,YAAY,OAAA;AAGhB,iDAKyB;AAJrB,wGAAA,OAAO,OAAA;AACP,qHAAA,oBAAoB,OAAA;AACpB,qHAAA,oBAAoB,OAAA;AACpB,yHAAA,wBAAwB,OAAA;AAG5B,2CAA0D;AAAjD,gHAAA,sBAAsB,OAAA;AAC/B,2CAAyD;AAAhD,+GAAA,qBAAqB,OAAA;AAC9B,yCAAuD;AAA9C,6GAAA,oBAAoB,OAAA;AAE7B,2CAM0B;AALtB,kHAAA,wBAAwB,OAAA;AACxB,+GAAA,qBAAqB,OAAA;AACrB,8GAAA,oBAAoB,OAAA;AACpB,4GAAA,kBAAkB,OAAA;AAClB,oHAAA,0BAA0B,OAAA;AAG9B,qCAKmB;AAJf,0GAAA,eAAe,OAAA;AAGf,gHAAA,qBAAqB,OAAA"} \ No newline at end of file diff --git a/dist/cjs/ipc/browser.js.map b/dist/cjs/ipc/browser.js.map index 708ca4d..51acb3b 100644 --- a/dist/cjs/ipc/browser.js.map +++ b/dist/cjs/ipc/browser.js.map @@ -1 +1 @@ -{"version":3,"file":"browser.js","sourceRoot":"","sources":["../ts/ipc/browser.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/ipc/browser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/ipc/index.js.map b/dist/cjs/ipc/index.js.map index 69df71d..44b94a0 100644 --- a/dist/cjs/ipc/index.js.map +++ b/dist/cjs/ipc/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/ipc/index.ts"],"names":[],"mappings":";;;AAAA,+BAAgE;AAEhE,mCAAmC;AACnC,mCAAgE;AAAvD,uGAAA,aAAa,OAAA;AAEtB,MAAM,YAAY,GAAG,UAAU,CAAC;AAchC;;;;GAIG;AACH,MAAa,OAAQ,SAAQ,oBAAc;IAEvC,YAAY,OAAgB,EAAE,MAAc;;QAExC,uEAAuE;QACvE,MAAM,KAAK,GAAG,CAAA,MAAA,OAAO,CAAC,GAAG,0CAAE,iBAAiB,MAAI,MAAA,OAAO,CAAC,GAAG,0CAAE,KAAK,CAAA,CAAC;QACnE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,GAAG,EAAE;YAC5C,MAAM,IAAI,KAAK,CAAC,0GAA0G,CAAC,CAAC;SAC/H;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC9E,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAE/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;QAE9B,kGAAkG;QAClG,MAAM,gBAAgB,GAAG,CAAC,MAAwB,EAAE,KAAa,EAAE,OAAgC,EAAE,EAAE;YACnG,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;QAEF,6BAA6B;QAC7B,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE;YACrC,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,QAAQ,EAAE;YAClB,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,MAAsB,EAAE,EAAE;gBAC3D,0BAA0B;gBAC1B,wFAAwF;gBACxF,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE;oBACpC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,MAAsB,EAAE,EAAE;gBACzD,yBAAyB;gBACzB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE;oBAC3D,sDAAsD;oBACtD,4BAA4B;oBAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAEtC,qCAAqC;oBACrC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACzC;YACL,CAAC,CAAC,CAAC;SACN;QAED,MAAM,aAAa,GAAG,CAAC,OAAwB,EAAE,EAAE;YAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC7B,iCAAiC;gBACjC,OAAO;aACV;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;gBAChC,8CAA8C;gBAC9C,OAAO;aACV;YACD,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,KAAK,YAAY,EAAE;gBACjD,mDAAmD;gBACnD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aAC7B;YACD,IAAI,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;gBACtC,uCAAuC;gBACvC,OAAO;aACV;YAED,OAAO,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC,CAAC;QAEF,IAAI,OAAO,CAAC,QAAQ,EAAE;YAClB,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,MAAsB,EAAE,OAAwB,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;SACtH;aACI;YACD,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;SAC9D;QAED,2BAA2B;QAC3B,yCAAyC;QACzC,gDAAgD;QAChD,IAAI;QAEJ,4BAA4B;QAC5B,MAAM,QAAQ,GAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAClF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEM,WAAW,CAAC,GAAa;QAC5B,MAAM,OAAO,GAAG,GAAsB,CAAC;QACvC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE7B,IAAI,OAAO,CAAC,QAAQ,EAAE;YAClB,iEAAiE;YACjE,IAAI,CAAC,KAAK;iBACL,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;iBAC1E,OAAO,CAAC,IAAI,CAAC,EAAE;gBACZ,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,4DAA4D;YAChG,CAAC,CAAC,CAAC;SACV;aACI;YACD,6EAA6E;YAC7E,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACzB;IACL,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QACtB,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;CAEJ;AA9GD,0BA8GC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ipc/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/ipc/ipc.js.map b/dist/cjs/ipc/ipc.js.map index 161c363..b0fea32 100644 --- a/dist/cjs/ipc/ipc.js.map +++ b/dist/cjs/ipc/ipc.js.map @@ -1 +1 @@ -{"version":3,"file":"ipc.js","sourceRoot":"","sources":["../ts/ipc/ipc.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../../src/ipc/ipc.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/ipc/remote.js.map b/dist/cjs/ipc/remote.js.map index 651d468..db62859 100644 --- a/dist/cjs/ipc/remote.js.map +++ b/dist/cjs/ipc/remote.js.map @@ -1 +1 @@ -{"version":3,"file":"remote.js","sourceRoot":"","sources":["../ts/ipc/remote.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/ipc/remote.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/node-address.js.map b/dist/cjs/node-address.js.map index 638d643..4e45b9e 100644 --- a/dist/cjs/node-address.js.map +++ b/dist/cjs/node-address.js.map @@ -1 +1 @@ -{"version":3,"file":"node-address.js","sourceRoot":"","sources":["ts/node-address.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IACpB,YAA4B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAE5C,QAAQ;QACJ,OAAO,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAoB;QACvB,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC;IACtC,CAAC;CACJ;AAbD,kCAaC;AAED,MAAa,kBAAmB,SAAQ,WAAW;IAC/C,YAAY,IAAY;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,QAAQ;QACJ,OAAO,KAAK,IAAI,CAAC,IAAI,aAAa,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAoB;QACvB,OAAO,OAAO,YAAY,kBAAkB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC;IAC/E,CAAC;CACJ;AAfD,gDAeC"} \ No newline at end of file +{"version":3,"file":"node-address.js","sourceRoot":"","sources":["../../src/node-address.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IACpB,YAA4B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAE5C,QAAQ;QACJ,OAAO,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAoB;QACvB,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC;IACtC,CAAC;CACJ;AAbD,kCAaC;AAED,MAAa,kBAAmB,SAAQ,WAAW;IAC/C,YAAY,IAAY;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,QAAQ;QACJ,OAAO,KAAK,IAAI,CAAC,IAAI,aAAa,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAoB;QACvB,OAAO,OAAO,YAAY,kBAAkB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC;IAC/E,CAAC;CACJ;AAfD,gDAeC"} \ No newline at end of file diff --git a/dist/cjs/node-cache.js.map b/dist/cjs/node-cache.js.map index 6a9c1c2..4215cb4 100644 --- a/dist/cjs/node-cache.js.map +++ b/dist/cjs/node-cache.js.map @@ -1 +1 @@ -{"version":3,"file":"node-cache.js","sourceRoot":"","sources":["ts/node-cache.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"node-cache.js","sourceRoot":"","sources":["../../src/node-cache.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/node-changes.js.map b/dist/cjs/node-changes.js.map index c1e09b8..dfb39a1 100644 --- a/dist/cjs/node-changes.js.map +++ b/dist/cjs/node-changes.js.map @@ -1 +1 @@ -{"version":3,"file":"node-changes.js","sourceRoot":"","sources":["ts/node-changes.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"node-changes.js","sourceRoot":"","sources":["../../src/node-changes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/node-errors.js.map b/dist/cjs/node-errors.js.map index 34d14f0..ca12fa3 100644 --- a/dist/cjs/node-errors.js.map +++ b/dist/cjs/node-errors.js.map @@ -1 +1 @@ -{"version":3,"file":"node-errors.js","sourceRoot":"","sources":["ts/node-errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,iBAAkB,SAAQ,KAAK;CAAG;AAA/C,8CAA+C;AAC/C,MAAa,iBAAkB,SAAQ,KAAK;CAAG;AAA/C,8CAA+C"} \ No newline at end of file +{"version":3,"file":"node-errors.js","sourceRoot":"","sources":["../../src/node-errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,iBAAkB,SAAQ,KAAK;CAAG;AAA/C,8CAA+C;AAC/C,MAAa,iBAAkB,SAAQ,KAAK;CAAG;AAA/C,8CAA+C"} \ No newline at end of file diff --git a/dist/cjs/node-info.js.map b/dist/cjs/node-info.js.map index 2ec96c9..6ea03fc 100644 --- a/dist/cjs/node-info.js.map +++ b/dist/cjs/node-info.js.map @@ -1 +1 @@ -{"version":3,"file":"node-info.js","sourceRoot":"","sources":["ts/node-info.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,+CAAwC;AAGxC,MAAa,QAAQ;IAWjB,YAAY,IAAuB;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAElC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,EAAE;YACzG,MAAM,QAAQ,GAAG,uBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,EAAE;gBAClC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC;aAC7B;iBACI;gBACD,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;aAC3B;SACJ;QACD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;YACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;IACL,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAA,mCAAgB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,OAAO,IAAI,IAAI,CAAC,IAAI,iBAAiB,CAAC;SACzC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,OAAO,IAAI,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,aAAa,cAAc,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACzF;aACI;YACD,OAAO,IAAI,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,aAAa,eAAe,IAAI,CAAC,KAAK,EAAE,CAAC;SAC7E;IACL,CAAC;CACJ;AAtDD,4BAsDC"} \ No newline at end of file +{"version":3,"file":"node-info.js","sourceRoot":"","sources":["../../src/node-info.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,+CAAwC;AAGxC,MAAa,QAAQ;IAWjB,YAAY,IAAuB;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAElC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,EAAE;YACzG,MAAM,QAAQ,GAAG,uBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,EAAE;gBAClC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC;aAC7B;iBACI;gBACD,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;aAC3B;SACJ;QACD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;YACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;IACL,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAA,mCAAgB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,OAAO,IAAI,IAAI,CAAC,IAAI,iBAAiB,CAAC;SACzC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,OAAO,IAAI,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,aAAa,cAAc,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACzF;aACI;YACD,OAAO,IAAI,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,aAAa,eAAe,IAAI,CAAC,KAAK,EAAE,CAAC;SAC7E;IACL,CAAC;CACJ;AAtDD,4BAsDC"} \ No newline at end of file diff --git a/dist/cjs/node-lock.js.map b/dist/cjs/node-lock.js.map index 3b7354e..29ddfc7 100644 --- a/dist/cjs/node-lock.js.map +++ b/dist/cjs/node-lock.js.map @@ -1 +1 @@ -{"version":3,"file":"node-lock.js","sourceRoot":"","sources":["ts/node-lock.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"node-lock.js","sourceRoot":"","sources":["../../src/node-lock.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/node-transaction.js.map b/dist/cjs/node-transaction.js.map index b3ccdf2..f8426cd 100644 --- a/dist/cjs/node-transaction.js.map +++ b/dist/cjs/node-transaction.js.map @@ -1 +1 @@ -{"version":3,"file":"node-transaction.js","sourceRoot":"","sources":["ts/node-transaction.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"node-transaction.js","sourceRoot":"","sources":["../../src/node-transaction.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/node-value-types.js.map b/dist/cjs/node-value-types.js.map index 332ea68..8921107 100644 --- a/dist/cjs/node-value-types.js.map +++ b/dist/cjs/node-value-types.js.map @@ -1 +1 @@ -{"version":3,"file":"node-value-types.js","sourceRoot":"","sources":["ts/node-value-types.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAEhC,QAAA,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,gBAAgB;IAChB,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,gBAAgB;IAChB,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,CAAC,EAAS,0CAA0C;IAC/D,UAAU;IACV,6FAA6F;CAChG,CAAC,CAAC;AAEH,SAAgB,gBAAgB,CAAC,SAAiB;IAC9C,QAAQ,SAAS,EAAE;QACf,KAAK,mBAAW,CAAC,KAAK,CAAC,CAAC,OAAO,OAAO,CAAC;QACvC,KAAK,mBAAW,CAAC,MAAM,CAAC,CAAC,OAAO,QAAQ,CAAC;QACzC,KAAK,mBAAW,CAAC,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC;QAC3C,KAAK,mBAAW,CAAC,QAAQ,CAAC,CAAC,OAAO,MAAM,CAAC;QACzC,KAAK,mBAAW,CAAC,MAAM,CAAC,CAAC,OAAO,QAAQ,CAAC;QACzC,KAAK,mBAAW,CAAC,MAAM,CAAC,CAAC,OAAO,QAAQ,CAAC;QACzC,KAAK,mBAAW,CAAC,SAAS,CAAC,CAAC,OAAO,WAAW,CAAC;QAC/C,KAAK,mBAAW,CAAC,MAAM,CAAC,CAAC,OAAO,QAAQ,CAAC;QACzC,KAAK,mBAAW,CAAC,MAAM,CAAC,CAAC,OAAO,QAAQ,CAAC;QACzC,gDAAgD;QAChD,OAAO,CAAC,CAAC,SAAS,CAAC;KACtB;AACL,CAAC;AAdD,4CAcC;AAED,SAAgB,gBAAgB,CAAC,KAAc;IAC3C,IAAI,KAAK,YAAY,KAAK,EAAE;QAAE,OAAO,mBAAW,CAAC,KAAK,CAAC;KAAE;SACpD,IAAI,KAAK,YAAY,4BAAa,EAAE;QAAE,OAAO,mBAAW,CAAC,SAAS,CAAC;KAAE;SACrE,IAAI,KAAK,YAAY,WAAW,EAAE;QAAE,OAAO,mBAAW,CAAC,MAAM,CAAC;KAAE;IACrE,gFAAgF;SAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAAE,OAAO,mBAAW,CAAC,MAAM,CAAC;KAAE;SAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAAE,OAAO,mBAAW,CAAC,MAAM,CAAC;KAAE;SAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAAE,OAAO,mBAAW,CAAC,MAAM,CAAC;KAAE;IAClE,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;AACnE,CAAC;AATD,4CASC;AAED,SAAgB,YAAY,CAAC,KAAc;IACvC,IAAI,KAAK,YAAY,KAAK,EAAE;QAAE,OAAO,mBAAW,CAAC,KAAK,CAAC;KAAE;SACpD,IAAI,KAAK,YAAY,4BAAa,EAAE;QAAE,OAAO,mBAAW,CAAC,SAAS,CAAC;KAAE;SACrE,IAAI,KAAK,YAAY,WAAW,EAAE;QAAE,OAAO,mBAAW,CAAC,MAAM,CAAC;KAAE;SAChE,IAAI,KAAK,YAAY,IAAI,EAAE;QAAE,OAAO,mBAAW,CAAC,QAAQ,CAAC;KAAE;IAChE,gFAAgF;SAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAAE,OAAO,mBAAW,CAAC,MAAM,CAAC;KAAE;SAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAAE,OAAO,mBAAW,CAAC,MAAM,CAAC;KAAE;SAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAAE,OAAO,mBAAW,CAAC,MAAM,CAAC;KAAE;SAC7D,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;QAAE,OAAO,mBAAW,CAAC,OAAO,CAAC;KAAE;SAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAAE,OAAO,mBAAW,CAAC,MAAM,CAAC;KAAE;IAClE,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;AACpD,CAAC;AAZD,oCAYC"} \ No newline at end of file +{"version":3,"file":"node-value-types.js","sourceRoot":"","sources":["../../src/node-value-types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/node.js.map b/dist/cjs/node.js.map index d60d127..6b38636 100644 --- a/dist/cjs/node.js.map +++ b/dist/cjs/node.js.map @@ -1 +1 @@ -{"version":3,"file":"node.js","sourceRoot":"","sources":["ts/node.ts"],"names":[],"mappings":";;;AAAA,yDAAiD;AAEjD,MAAa,IAAI;IACb,MAAM,KAAK,WAAW;QAClB,OAAO,8BAAW,CAAC;IACvB,CAAC;CACJ;AAJD,oBAIC"} \ No newline at end of file +{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/node.ts"],"names":[],"mappings":";;;AAAA,yDAAiD;AAEjD,MAAa,IAAI;IACb,MAAM,KAAK,WAAW;QAClB,OAAO,8BAAW,CAAC;IACvB,CAAC;CACJ;AAJD,oBAIC"} \ No newline at end of file diff --git a/dist/cjs/not-supported.js b/dist/cjs/not-supported.js new file mode 100644 index 0000000..20b1bd0 --- /dev/null +++ b/dist/cjs/not-supported.js @@ -0,0 +1,2 @@ +// Not supported in current environment +//# sourceMappingURL=not-supported.js.map \ No newline at end of file diff --git a/dist/cjs/not-supported.js.map b/dist/cjs/not-supported.js.map new file mode 100644 index 0000000..731a279 --- /dev/null +++ b/dist/cjs/not-supported.js.map @@ -0,0 +1 @@ +{"version":3,"file":"not-supported.js","sourceRoot":"","sources":["../../src/not-supported.ts"],"names":[],"mappings":"AAAA,uCAAuC"} \ No newline at end of file diff --git a/dist/cjs/promise-fs/browser.js.map b/dist/cjs/promise-fs/browser.js.map index 4ac6afd..dafff06 100644 --- a/dist/cjs/promise-fs/browser.js.map +++ b/dist/cjs/promise-fs/browser.js.map @@ -1 +1 @@ -{"version":3,"file":"browser.js","sourceRoot":"","sources":["../ts/promise-fs/browser.ts"],"names":[],"mappings":";;;AAAA,MAAsB,GAAG;IACrB,MAAM,KAAK,aAAa,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;IAC5C,MAAM,KAAK,EAAE,KAAW,OAAO,IAAI,CAAC,CAAC,CAAC;CACzC;AAHD,kBAGC"} \ No newline at end of file +{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/promise-fs/browser.ts"],"names":[],"mappings":";;;AAAA,MAAsB,GAAG;IACrB,MAAM,KAAK,aAAa,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;IAC5C,MAAM,KAAK,EAAE,KAAW,OAAO,IAAI,CAAC,CAAC,CAAC;CACzC;AAHD,kBAGC"} \ No newline at end of file diff --git a/dist/cjs/promise-fs/index.js.map b/dist/cjs/promise-fs/index.js.map index 9ae0b4b..2cad5ca 100644 --- a/dist/cjs/promise-fs/index.js.map +++ b/dist/cjs/promise-fs/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/promise-fs/index.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AAGzB,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AAEzK,MAAsB,GAAG;IACrB,MAAM,KAAK,aAAa,KAAK,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,KAAK,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,KAAK,KAAK;QACZ,OAAO;YACH,4FAA4F;YAC5F,IAAI,MAAM,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC;YAC5B,0EAA0E;YAC1E,IAAI,eAAe,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;YACtC,yGAAyG;YACzG,IAAI,aAAa,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;YACpC,mFAAmF;YACnF,IAAI,sBAAsB,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;YAC9C,iHAAiH;YACjH,IAAI,iBAAiB,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;YACxC,8HAA8H;YAC9H,IAAI,wBAAwB,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;YAChD,gGAAgG;YAChG,IAAI,IAAI,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC;YAC1B,4GAA4G;YAC5G,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;YACnC,shBAAshB;YACthB,IAAI,uBAAuB,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;YAC/C,wHAAwH;YACxH,IAAI,KAAK,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC;YAC3B,yEAAyE;YACzE,IAAI,cAAc,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;YACrC,qIAAqI;YACrI,IAAI,gCAAgC,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;YACvD,sGAAsG;YACtG,IAAI,qBAAqB,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;SAChD,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,IAA+B;QACzC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;gBACrB,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAAC,IAA+B,EAAE,KAAoB,EAAE,IAAY;QAC3E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;gBACnC,IAAI,GAAG,EAAE;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBAAE;qBACpB;oBAAE,OAAO,CAAC,EAAE,CAAC,CAAC;iBAAE;YACzB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,EAAU;QACnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,GAAG,EAAE;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBAAE;qBACpB;oBAAE,OAAO,EAAE,CAAC;iBAAE;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,EAAU,EAAE,MAAkC,EAAE,MAAc,EAAE,MAAc,EAAE,QAAgB;QACzG,kFAAkF;QAClF,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAAE,MAAM,GAAG,CAAC,CAAC;SAAE;QAClD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAAE,MAAM,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC;SAAE;QAC3E,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YAAE,QAAQ,GAAG,IAAI,CAAC;SAAE;QAEzD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;gBACzE,IAAI,GAAG,EAAE;oBACJ,GAAW,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;oBAC7D,MAAM,CAAC,GAAG,CAAC,CAAC;iBACf;qBACI;oBAAE,OAAO,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;iBAAE;YAC/C,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,SAAS,CAAC,IAAqC,EAAE,IAAuC,EAAE,OAAqF;QAClL,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE;gBACpC,IAAI,GAAG,EAAE;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBAAE;qBACpB;oBAAE,OAAO,EAAE,CAAC;iBAAE;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,IAAI,CAAuC,EAAU,EAAE,MAAS,EAAE,MAAc,EAAE,MAAc,EAAE,QAAgB;QACrH,iFAAiF;QACjF,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAAE,MAAM,GAAG,CAAC,CAAC;SAAE;QAClD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAAE,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;SAAE;QAClE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YAAE,QAAQ,GAAG,IAAI,CAAC;SAAE;QAEzD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;gBACrE,IAAI,GAAG,EAAE;oBACJ,GAAW,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;oBAC7D,MAAM,CAAC,GAAG,CAAC,CAAC;iBACf;qBACI;oBAAE,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;iBAAE;YAC5C,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAsC,EAAE,OAAuE;QAC3H,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACrC,IAAI,GAAG,EAAE;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBAAE;qBACpB;oBAAE,OAAO,CAAC,IAAI,CAAC,CAAC;iBAAE;YAC3B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,IAA8B,EAAE,GAAG,GAAG,CAAC;QACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC3B,IAAI,GAAG,EAAE;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBAAE;qBACpB;oBAAE,OAAO,EAAE,CAAC;iBAAE;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,EAAU,EAAE,GAAG,GAAG,CAAC;QAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC1B,IAAI,GAAG,EAAE;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBAAE;qBACpB;oBAAE,OAAO,EAAE,CAAC;iBAAE;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAC,IAA8B,EAAE,OAA4E;QACvH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACrC,IAAI,GAAG,EAAE;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBAAE;qBACpB;oBAAE,OAAO,CAAC,KAAK,CAAC,CAAC;iBAAE;YAC5B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,IAA8B,EAAE,OAAsD;QAC/F,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC5B,IAAI,GAAG,EAAE;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBAAE;qBACpB;oBAAE,OAAO,EAAE,CAAC;iBAAE;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,IAA+B;QACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;gBACpB,IAAI,GAAG,EAAE;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBAAE;qBACpB;oBAAE,OAAO,EAAE,CAAC;iBAAE;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,IAA+B;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,IAA+B,EAAE,OAA2E;QACrH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,QAAQ,GAAG,CAAC,GAAU,EAAE,EAAE;gBAC5B,IAAI,GAAG,EAAE;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBAAE;qBACpB;oBAAE,OAAO,EAAE,CAAC;iBAAE;YACvB,CAAC,CAAC;YACF,MAAM,kBAAkB,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,MAAK,IAAI,CAAC;YACvD,IAAI,WAAW,CAAC,KAAK,GAAG,EAAE,EAAE;gBACxB,6CAA6C;gBAC7C,IAAI,kBAAkB,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;iBAAE;gBACxG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aAC5B;iBACI,IAAI,kBAAkB,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE,IAAI,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE;gBAC9G,mFAAmF;gBACnF,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;aAClC;iBACI;gBACD,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;aACrC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,CAAC,OAAkC,EAAE,OAAiC;QAC/E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAChC,IAAI,GAAG,EAAE;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBAAE;qBACpB;oBAAE,OAAO,EAAE,CAAC;iBAAE;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAAC,IAA8B,EAAE,OAA8B;QACtE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAClC,IAAI,GAAG,EAAE;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBAAE;qBACpB;oBAAE,OAAO,CAAC,KAAK,CAAC,CAAC;iBAAE;YAC5B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,EAAU;QACnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,GAAG,EAAE;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBAAE;qBACpB;oBAAE,OAAO,EAAE,CAAC;iBAAE;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAU;QACvB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gBACrB,IAAI,GAAG,EAAE;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBAAE;qBACpB;oBAAE,OAAO,EAAE,CAAC;iBAAE;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAnVD,kBAmVC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/promise-fs/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/query.js.map b/dist/cjs/query.js.map index aaa971d..a0586cf 100644 --- a/dist/cjs/query.js.map +++ b/dist/cjs/query.js.map @@ -1 +1 @@ -{"version":3,"file":"query.js","sourceRoot":"","sources":["ts/query.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/query.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/quicksort.js.map b/dist/cjs/quicksort.js.map index 8dd54d8..aeeb49c 100644 --- a/dist/cjs/quicksort.js.map +++ b/dist/cjs/quicksort.js.map @@ -1 +1 @@ -{"version":3,"file":"quicksort.js","sourceRoot":"","sources":["ts/quicksort.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"quicksort.js","sourceRoot":"","sources":["../../src/quicksort.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/storage/binary/index.js.map b/dist/cjs/storage/binary/index.js.map index 7f70a4d..e7f8dd6 100644 --- a/dist/cjs/storage/binary/index.js.map +++ b/dist/cjs/storage/binary/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/storage/binary/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storage/binary/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/storage/binary/node-address.js.map b/dist/cjs/storage/binary/node-address.js.map index 93b8a06..8ddc822 100644 --- a/dist/cjs/storage/binary/node-address.js.map +++ b/dist/cjs/storage/binary/node-address.js.map @@ -1 +1 @@ -{"version":3,"file":"node-address.js","sourceRoot":"","sources":["../../ts/storage/binary/node-address.ts"],"names":[],"mappings":";;;AAAA,qDAAiD;AAEjD,MAAa,iBAAkB,SAAQ,0BAAW;IAC9C,YACI,IAAY,EACI,MAAc,EACd,QAAgB;QAEhC,KAAK,CAAC,IAAI,CAAC,CAAC;QAHI,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAQ;IAGpC,CAAC;IAED,QAAQ;QACJ,OAAO,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAA0B;QAC7B,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC;IAC9G,CAAC;CAEJ;AApBD,8CAoBC"} \ No newline at end of file +{"version":3,"file":"node-address.js","sourceRoot":"","sources":["../../../../src/storage/binary/node-address.ts"],"names":[],"mappings":";;;AAAA,qDAAiD;AAEjD,MAAa,iBAAkB,SAAQ,0BAAW;IAC9C,YACI,IAAY,EACI,MAAc,EACd,QAAgB;QAEhC,KAAK,CAAC,IAAI,CAAC,CAAC;QAHI,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAQ;IAGpC,CAAC;IAED,QAAQ;QACJ,OAAO,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAA0B;QAC7B,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC;IAC9G,CAAC;CAEJ;AApBD,8CAoBC"} \ No newline at end of file diff --git a/dist/cjs/storage/binary/node-info.js.map b/dist/cjs/storage/binary/node-info.js.map index d80f5d0..b1e5b9d 100644 --- a/dist/cjs/storage/binary/node-info.js.map +++ b/dist/cjs/storage/binary/node-info.js.map @@ -1 +1 @@ -{"version":3,"file":"node-info.js","sourceRoot":"","sources":["../../ts/storage/binary/node-info.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAG3C,MAAa,cAAe,SAAQ,oBAAQ;CAE3C;AAFD,wCAEC"} \ No newline at end of file +{"version":3,"file":"node-info.js","sourceRoot":"","sources":["../../../../src/storage/binary/node-info.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAG3C,MAAa,cAAe,SAAQ,oBAAQ;CAE3C;AAFD,wCAEC"} \ No newline at end of file diff --git a/dist/cjs/storage/context.js.map b/dist/cjs/storage/context.js.map index de642cc..360370c 100644 --- a/dist/cjs/storage/context.js.map +++ b/dist/cjs/storage/context.js.map @@ -1 +1 @@ -{"version":3,"file":"context.js","sourceRoot":"","sources":["../ts/storage/context.ts"],"names":[],"mappings":""} \ No newline at end of file +{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/storage/context.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/cjs/storage/create-index.js.map b/dist/cjs/storage/create-index.js.map index a0b001d..73861a2 100644 --- a/dist/cjs/storage/create-index.js.map +++ b/dist/cjs/storage/create-index.js.map @@ -1 +1 @@ -{"version":3,"file":"create-index.js","sourceRoot":"","sources":["../ts/storage/create-index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"create-index.js","sourceRoot":"","sources":["../../../src/storage/create-index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/storage/custom/helpers.js.map b/dist/cjs/storage/custom/helpers.js.map index 777ace8..90fb200 100644 --- a/dist/cjs/storage/custom/helpers.js.map +++ b/dist/cjs/storage/custom/helpers.js.map @@ -1 +1 @@ -{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../ts/storage/custom/helpers.ts"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC;;GAEG;AACH,MAAa,oBAAoB;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,IAAY,EAAE,UAAU,GAAG,MAAM;QAClD,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE;YACrB,CAAC,CAAC,GAAG,UAAU,cAAc,UAAU,iBAAiB;YACxD,CAAC,CAAC,IAAI,UAAU,UAAU,IAAI,UAAU,UAAU,UAAU,IAAI,YAAY,UAAU,cAAc,IAAI,aAAa,UAAU,cAAc,IAAI,cAAc,UAAU,cAAc,IAAI,QAAQ,CAAC;QACxM,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,IAAY;QAC/B,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,2BAA2B,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAY,EAAE,UAAU,GAAG,MAAM;QACvD,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE;YACrB,CAAC,CAAC,GAAG,UAAU,QAAQ;YACvB,CAAC,CAAC,GAAG,UAAU,UAAU,IAAI,UAAU,UAAU,UAAU,IAAI,KAAK,CAAC;QACzE,OAAO,KAAK,CAAC;IACjB,CAAC;IACD;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAY;QACpC,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,0BAA0B,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,KAAK,QAAQ;QACf,OAAO,uBAAQ,CAAC;IACpB,CAAC;CACJ;AA7DD,oDA6DC"} \ No newline at end of file +{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/storage/custom/helpers.ts"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC;;GAEG;AACH,MAAa,oBAAoB;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,IAAY,EAAE,UAAU,GAAG,MAAM;QAClD,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE;YACrB,CAAC,CAAC,GAAG,UAAU,cAAc,UAAU,iBAAiB;YACxD,CAAC,CAAC,IAAI,UAAU,UAAU,IAAI,UAAU,UAAU,UAAU,IAAI,YAAY,UAAU,cAAc,IAAI,aAAa,UAAU,cAAc,IAAI,cAAc,UAAU,cAAc,IAAI,QAAQ,CAAC;QACxM,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,IAAY;QAC/B,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,2BAA2B,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAY,EAAE,UAAU,GAAG,MAAM;QACvD,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE;YACrB,CAAC,CAAC,GAAG,UAAU,QAAQ;YACvB,CAAC,CAAC,GAAG,UAAU,UAAU,IAAI,UAAU,UAAU,UAAU,IAAI,KAAK,CAAC;QACzE,OAAO,KAAK,CAAC;IACjB,CAAC;IACD;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAY;QACpC,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,0BAA0B,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,KAAK,QAAQ;QACf,OAAO,uBAAQ,CAAC;IACpB,CAAC;CACJ;AA7DD,oDA6DC"} \ No newline at end of file diff --git a/dist/cjs/storage/custom/index.js.map b/dist/cjs/storage/custom/index.js.map index fda527b..4767c7d 100644 --- a/dist/cjs/storage/custom/index.js.map +++ b/dist/cjs/storage/custom/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/storage/custom/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storage/custom/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/storage/custom/indexed-db/index.js.map b/dist/cjs/storage/custom/indexed-db/index.js.map index 8584e2d..b5b9435 100644 --- a/dist/cjs/storage/custom/indexed-db/index.js.map +++ b/dist/cjs/storage/custom/indexed-db/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/storage/custom/indexed-db/index.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAC3C,0BAA+D;AAC/D,gCAAmC;AACnC,yCAAsD;AACtD,+CAAyF;AAEzF,SAAgB,uBAAuB,CAAC,MAAc,EAAE,OAA0C,EAAE;IAChG,MAAM,QAAQ,GAAG,IAAI,mCAAwB,CAAC,IAAI,CAAC,CAAC;IAEpD,uDAAuD;IACvD,MAAM,SAAS,GAAe,MAAM,CAAC,SAAS,IAAK,MAAc,CAAC,YAAY,IAAK,MAAc,CAAC,eAAe,IAAK,MAAc,CAAC,WAAW,CAAC,CAAC,8EAA8E;IAChO,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,UAAU,EAAE,CAAC,CAAC,CAAC;IAEvD,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC,EAAE,EAAE;QAC5B,mBAAmB;QACnB,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAE1B,2CAA2C;QAC3C,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;QAElD,8CAA8C;QAC9C,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,IAAI,GAAgB,CAAC;IACrB,MAAM,YAAY,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACvD,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE;YACpB,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,CAAC;QACd,CAAC,CAAC;QACF,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE;YAClB,MAAM,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,IAAI,0BAAW,CAA6B,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kCAAkC;IACrK,yBAAyB;IAEzB,MAAM,eAAe,GAAG,IAAI,yBAAqB,CAAC;QAC9C,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,IAAI;QACb,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;QACnD,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,KAAK;YACD,OAAO,YAAY,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,MAAwC;YACzD,MAAM,YAAY,CAAC;YACnB,MAAM,OAAO,GAAgC;gBACzC,KAAK,EAAE,KAAK;gBACZ,EAAE,EAAE,GAAG;gBACP,KAAK;gBACL,GAAG;aACN,CAAC;YACF,OAAO,IAAI,yCAA2B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5D,CAAC;KACJ,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,IAAI,WAAO,CAAC,MAAM,EAAE;QAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,+BAA+B;KAClC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;IAC/B,EAAE,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC;IACvD,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,YAA2B,EAAE,EAAE;QACzD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC;QAClC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAAE,OAAO;SAAE;QAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,kBAAkB,EAAE;YACvC,+DAA+D;YAC/D,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE;gBAC9B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aACtB;SACJ;IACL,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACd,CAAC;AAvED,0DAuEC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/storage/custom/indexed-db/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/storage/custom/indexed-db/settings.js.map b/dist/cjs/storage/custom/indexed-db/settings.js.map index 40bcfc5..b794a03 100644 --- a/dist/cjs/storage/custom/indexed-db/settings.js.map +++ b/dist/cjs/storage/custom/indexed-db/settings.js.map @@ -1 +1 @@ -{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../ts/storage/custom/indexed-db/settings.ts"],"names":[],"mappings":";;;AACA,6BAAwC;AAExC,MAAa,wBAAyB,SAAQ,mBAAe;IAwBzD,YAAY,QAA2C;QACnD,KAAK,CAAC,QAAQ,CAAC,CAAC;QAnBpB;;;WAGG;QACH,iBAAY,GAAG,KAAK,CAAC;QAErB;;;WAGG;QACH,iBAAY,GAAG,EAAE,CAAC;QAElB;;;WAGG;QACH,YAAO,GAAG,KAAK,CAAC;QAIZ,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;SAAE;QACjF,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;SAAE;QAC9F,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;SAAE;QAC7F,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE;YAAE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;SAAE;QAC/E,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,IAAI,IAAI,IAAI,QAAQ,EAAE;gBAClB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,wDAAwD,CAAC,CAAC;aACjF;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AApCD,4DAoCC"} \ No newline at end of file +{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../../../src/storage/custom/indexed-db/settings.ts"],"names":[],"mappings":";;;AACA,6BAAwC;AAExC,MAAa,wBAAyB,SAAQ,mBAAe;IAwBzD,YAAY,QAA2C;QACnD,KAAK,CAAC,QAAQ,CAAC,CAAC;QAnBpB;;;WAGG;QACH,iBAAY,GAAG,KAAK,CAAC;QAErB;;;WAGG;QACH,iBAAY,GAAG,EAAE,CAAC;QAElB;;;WAGG;QACH,YAAO,GAAG,KAAK,CAAC;QAIZ,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;SAAE;QACjF,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;SAAE;QAC9F,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;SAAE;QAC7F,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE;YAAE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;SAAE;QAC/E,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,IAAI,IAAI,IAAI,QAAQ,EAAE;gBAClB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,wDAAwD,CAAC,CAAC;aACjF;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AApCD,4DAoCC"} \ No newline at end of file diff --git a/dist/cjs/storage/custom/indexed-db/transaction.js.map b/dist/cjs/storage/custom/indexed-db/transaction.js.map index 9bca536..5d68546 100644 --- a/dist/cjs/storage/custom/indexed-db/transaction.js.map +++ b/dist/cjs/storage/custom/indexed-db/transaction.js.map @@ -1 +1 @@ -{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../ts/storage/custom/indexed-db/transaction.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../../../src/storage/custom/indexed-db/transaction.ts"],"names":[],"mappings":";;;AACA,0BAAoH;AAQpH,SAAS,iBAAiB,CAAC,OAAmB;IAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE;YACxB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7B,CAAC,CAAC,CAAC;AACP,CAAC;AASD,MAAa,2BAA4B,SAAQ,4BAAwB;IAMrE;;;;;;OAMG;IACH,YAAmB,OAAoC,EAAE,MAAwC;QAC7F,KAAK,CAAC,MAAM,CAAC,CAAC;QADC,YAAO,GAAP,OAAO,CAA6B;QAXvD,eAAU,GAAG,IAAI,CAAC,CAAC,qDAAqD;QAapE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,kBAAkB,CAAC,KAAK,GAAG,KAAK;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC/F,OAAO,EAAE,CAAC;IACd,CAAC;IAED,cAAc,CAAC,IAAwB;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,IAAI,qBAA4B,IAAI,CAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAkC,CAAC;QACpD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,MAAM;QACR,qEAAqE;QACrE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAAE,OAAO;SAAE;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEnG,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI;YACA,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACxC,IAAI,IAAI,GAAG,KAAK,EAAE,SAAS,GAAG,CAAC,CAAC;gBAChC,MAAM,WAAW,GAAG,CAAC,GAAQ,EAAE,EAAE;oBAC7B,IAAI,GAAG,IAAI,CAAC;oBACZ,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC,CAAC;gBACF,MAAM,aAAa,GAAG,GAAG,EAAE;oBACvB,IAAI,EAAE,SAAS,KAAK,KAAK,CAAC,MAAM,EAAE;wBAC9B,OAAO,EAAE,CAAC;qBACb;gBACL,CAAC,CAAC;gBACF,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;oBACpB,IAAI,IAAI,EAAE;wBAAE,OAAO;qBAAE;oBACrB,IAAI,EAAE,EAAE,EAAE,CAAC;oBACX,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;oBACrB,IAAI,EAAE,CAAC,MAAM,KAAK,KAAK,EAAE;wBACrB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;wBACzD,MAAM,QAAQ,GAAuB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;wBACxD,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,mCAAmC;wBAC/E,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,sCAAsC;wBACvF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;qBACzC;yBACI,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ,EAAE;wBAC7B,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,qCAAqC;wBAClF,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,iCAAiC;wBAC5E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;qBACtC;yBACI;wBACD,WAAW,CAAC,IAAI,KAAK,CAAC,8BAA8B,EAAE,CAAC,MAAM,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC;qBACzF;oBACD,IAAI,SAAS,GAAG,CAAC,CAAC;oBAClB,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,GAAG,GAAG,EAAE;wBAC/B,IAAI,EAAE,SAAS,KAAK,CAAC,EAAE;4BAAE,aAAa,EAAE,CAAC;yBAAE;oBAC/C,CAAC,CAAC;oBACF,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,GAAG,WAAW,CAAC;gBAC1C,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;SAC5B;QACD,OAAO,GAAG,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,GAAG,CAAC;SACb;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAQ;QACnB,yDAAyD;QACzD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY;QAClB,yCAAyC;QACzC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,gEAAgE;YAChE,OAAO,KAAK,CAAC;SAChB;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,yCAAyC;QAC1G,MAAM,EAAE,GAAG,iBAAiB,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0CAA0C;QAC7G,IAAI;YACA,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5C,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAuB,CAAC;YAC9C,IAAI,CAAC,IAAI,EAAE;gBACP,qBAAqB;gBACrB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACnC,OAAO,IAAI,CAAC;aACf;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAA8B,CAAC;YACjD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;SACf;QACD,OAAM,GAAG,EAAE;YACP,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;YAC1C,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,GAAG,CAAC;SACb;IACL,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,IAAwB;QACtC,mCAAmC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,IAAY;QACf,mCAAmC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAe;QAChC,sFAAsF;QACtF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CACN,IAAY,EACZ,OAGC,EACD,aAA6C,EAC7C,WAAkG;QAElG,gDAAgD;QAChD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,kCAAO,OAAO,KAAE,WAAW,EAAE,KAAK,KAAI,aAAa,EAAE,WAAW,CAAC,CAAC;IACrG,CAAC;IAED,aAAa,CACT,IAAY,EACZ,OAGC,EACD,aAAmF,EACnF,WAAiG;QAEjG,mDAAmD;QACnD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,kCAAO,OAAO,KAAE,WAAW,EAAE,IAAI,KAAI,aAAa,EAAE,WAAW,CAAC,CAAC;IACpG,CAAC;IAED,cAAc,CACV,IAAY,EACZ,OAIC,EACD,aAA+E,EAC/E,WAA6F;QAE7F,kCAAkC;QAClC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,MAAM,QAAQ,GAAG,wBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAmC,CAAC;YAClJ,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE;;gBACjB,MAAA,EAAE,CAAC,KAAK,kDAAI,CAAC;gBACb,MAAM,CAAC,CAAC,CAAC,CAAC;YACd,CAAC,CAAC;YACF,MAAM,CAAC,SAAS,GAAG,KAAK,EAAC,CAAC,EAAC,EAAE;;gBACzB,MAAM,SAAS,GAAG,MAAA,MAAA,MAAM,CAAC,MAAM,0CAAE,GAAa,mCAAI,IAAI,CAAC;gBACvD,IAAI,SAAS,GAAG,IAAI,CAAC;gBACrB,IAAI,SAAS,KAAK,IAAI,EAAE;oBACpB,kBAAkB;oBAClB,SAAS,GAAG,KAAK,CAAC;iBACrB;qBACI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;oBACxC,kEAAkE;oBAClE,SAAS,GAAG,KAAK,CAAC;iBACrB;qBACI,IAAI,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;oBAE5D,IAAI,IAAmD,CAAC;oBACxD,IAAI,OAAO,CAAC,QAAQ,EAAE;wBAClB,MAAM,WAAW,GAAG,MAAwC,CAAC;wBAC7D,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,KAA2B,CAAC;wBAC5D,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;qBACxB;oBACD,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBACjD,IAAI,SAAS,EAAE;wBACX,IAAI,OAAO,CAAC,KAAK,EAAE;4BACf,cAAc;4BACd,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gCACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gCAC/C,IAA2B,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;6BACpD;iCACI;gCACD,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gCACpD,IAA2B,CAAC,KAAK,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oCACvE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE;wCACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB;oCACpC,CAAC,CAAC;oCACF,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE;wCAChB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oCACxB,CAAC,CAAC;gCACN,CAAC,CAAC,CAAC;gCACH,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAG,IAA2B,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAA0B,CAAC,CAAC;6BACtH;yBACJ;wBACD,SAAS,GAAG,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;qBAC5C;iBACJ;gBACD,IAAI,SAAS,EAAE;oBACX,IAAI;wBAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;qBAAE;oBACjC,OAAM,GAAG,EAAE;wBACP,oCAAoC;wBACpC,SAAS,GAAG,KAAK,CAAC;qBACrB;iBACJ;gBACD,IAAI,CAAC,SAAS,EAAE;oBACZ,MAAA,EAAE,CAAC,MAAM,kDAAI,CAAC;oBACd,OAAO,EAAE,CAAC;iBACb;YACL,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;CAEJ;AApPD,kEAoPC"} \ No newline at end of file diff --git a/dist/cjs/storage/custom/local-storage/index.js.map b/dist/cjs/storage/custom/local-storage/index.js.map index 40aff48..928fe87 100644 --- a/dist/cjs/storage/custom/local-storage/index.js.map +++ b/dist/cjs/storage/custom/local-storage/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/storage/custom/local-storage/index.ts"],"names":[],"mappings":";;;AAAA,0BAA2C;AAC3C,gCAAmC;AACnC,yCAAkD;AAGzC,qGAHA,+BAAoB,OAGA;AAF7B,+CAAwD;AAEzB,wGAFtB,qCAAuB,OAEsB;AAEtD,SAAgB,0BAA0B,CAAC,MAAc,EAAE,OAAsC,EAAE;IAC/F,MAAM,QAAQ,GAAG,IAAI,+BAAoB,CAAC,IAAI,CAAC,CAAC;IAEhD,0DAA0D;IAC1D,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;IAEzH,kCAAkC;IAClC,MAAM,eAAe,GAAG,IAAI,yBAAqB,CAAC;QAC9C,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,IAAI;QACb,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;QACnD,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,KAAK;YACD,+BAA+B;YAC/B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QACD,cAAc,CAAC,MAAwC;YACnD,8CAA8C;YAC9C,MAAM,OAAO,GAAG;gBACZ,KAAK,EAAE,IAAI;gBACX,MAAM;gBACN,YAAY;aACf,CAAC;YACF,MAAM,WAAW,GAAG,IAAI,qCAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACjE,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;KACJ,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,IAAI,WAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACrH,EAAE,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC;IAEvD,OAAO,EAAE,CAAC;AACd,CAAC;AA/BD,gEA+BC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/storage/custom/local-storage/index.ts"],"names":[],"mappings":";;;AAAA,0BAA2C;AAC3C,gCAAmC;AACnC,yCAAkD;AAGzC,qGAHA,+BAAoB,OAGA;AAF7B,+CAAwD;AAEzB,wGAFtB,qCAAuB,OAEsB;AAEtD,SAAgB,0BAA0B,CAAC,MAAc,EAAE,OAAsC,EAAE;IAC/F,MAAM,QAAQ,GAAG,IAAI,+BAAoB,CAAC,IAAI,CAAC,CAAC;IAEhD,0DAA0D;IAC1D,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;IAEzH,kCAAkC;IAClC,MAAM,eAAe,GAAG,IAAI,yBAAqB,CAAC;QAC9C,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,IAAI;QACb,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;QACnD,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,KAAK;YACD,+BAA+B;YAC/B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QACD,cAAc,CAAC,MAAwC;YACnD,8CAA8C;YAC9C,MAAM,OAAO,GAAG;gBACZ,KAAK,EAAE,IAAI;gBACX,MAAM;gBACN,YAAY;aACf,CAAC;YACF,MAAM,WAAW,GAAG,IAAI,qCAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACjE,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;KACJ,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,IAAI,WAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACrH,EAAE,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC;IAEvD,OAAO,EAAE,CAAC;AACd,CAAC;AA/BD,gEA+BC"} \ No newline at end of file diff --git a/dist/cjs/storage/custom/local-storage/interface.js.map b/dist/cjs/storage/custom/local-storage/interface.js.map index 7b57a70..1807e85 100644 --- a/dist/cjs/storage/custom/local-storage/interface.js.map +++ b/dist/cjs/storage/custom/local-storage/interface.js.map @@ -1 +1 @@ -{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../ts/storage/custom/local-storage/interface.ts"],"names":[],"mappings":""} \ No newline at end of file +{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../../src/storage/custom/local-storage/interface.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/cjs/storage/custom/local-storage/local-storage-like.js b/dist/cjs/storage/custom/local-storage/local-storage-like.js deleted file mode 100644 index 7009005..0000000 --- a/dist/cjs/storage/custom/local-storage/local-storage-like.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=local-storage-like.js.map \ No newline at end of file diff --git a/dist/cjs/storage/custom/local-storage/local-storage-like.js.map b/dist/cjs/storage/custom/local-storage/local-storage-like.js.map deleted file mode 100644 index 07fe81f..0000000 --- a/dist/cjs/storage/custom/local-storage/local-storage-like.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"local-storage-like.js","sourceRoot":"","sources":["../../../ts/storage/custom/local-storage/local-storage-like.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/cjs/storage/custom/local-storage/settings.js.map b/dist/cjs/storage/custom/local-storage/settings.js.map index 78f2736..4b01885 100644 --- a/dist/cjs/storage/custom/local-storage/settings.js.map +++ b/dist/cjs/storage/custom/local-storage/settings.js.map @@ -1 +1 @@ -{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../ts/storage/custom/local-storage/settings.ts"],"names":[],"mappings":";;;AACA,6BAAwC;AAGxC,MAAa,oBAAqB,SAAQ,mBAAe;IACrD,YAAY,QAAuC;QAC/C,KAAK,CAAC,QAAQ,CAAC,CAAC;QAapB;;;WAGG;QACH,SAAI,GAAG,KAAK,CAAC;QAOb;;;WAGG;QACH,iBAAY,GAAG,KAAK,CAAC;QA3BjB,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE;YAAE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;SAAE;QACtE,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;SAAE;QACjF,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;SAAE;QAC9F,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;SAAE;QACjF,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE;YAAE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;SAAE;QAC/E,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,IAAI,IAAI,IAAI,QAAQ,EAAE;gBAClB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,oDAAoD,CAAC,CAAC;aAC7E;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CA4CJ;AAzDD,oDAyDC"} \ No newline at end of file +{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../../../src/storage/custom/local-storage/settings.ts"],"names":[],"mappings":";;;AACA,6BAAwC;AAGxC,MAAa,oBAAqB,SAAQ,mBAAe;IACrD,YAAY,QAAuC;QAC/C,KAAK,CAAC,QAAQ,CAAC,CAAC;QAapB;;;WAGG;QACH,SAAI,GAAG,KAAK,CAAC;QAOb;;;WAGG;QACH,iBAAY,GAAG,KAAK,CAAC;QA3BjB,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE;YAAE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;SAAE;QACtE,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;SAAE;QACjF,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE;YAAE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;SAAE;QAC9F,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;SAAE;QACjF,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE;YAAE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;SAAE;QAC/E,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,IAAI,IAAI,IAAI,QAAQ,EAAE;gBAClB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,oDAAoD,CAAC,CAAC;aAC7E;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CA4CJ;AAzDD,oDAyDC"} \ No newline at end of file diff --git a/dist/cjs/storage/custom/local-storage/transaction.js.map b/dist/cjs/storage/custom/local-storage/transaction.js.map index c60e325..05761ec 100644 --- a/dist/cjs/storage/custom/local-storage/transaction.js.map +++ b/dist/cjs/storage/custom/local-storage/transaction.js.map @@ -1 +1 @@ -{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../ts/storage/custom/local-storage/transaction.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../../../src/storage/custom/local-storage/transaction.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/storage/index.js.map b/dist/cjs/storage/index.js.map index 641da11..e2868fb 100644 --- a/dist/cjs/storage/index.js.map +++ b/dist/cjs/storage/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/storage/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":";;;AAAA,+CAAsL;AACtL,0DAAkD;AAClD,gDAAmD;AACnD,4CAAwC;AACxC,gCAAgD;AAChD,8CAAoC;AACpC,mEAAmE;AACnE,8CAA0C,CAAC,8IAA8I;AACzL,uCAA4D;AAG5D,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,oBAAK,CAAC;AAErE,MAAM,UAAU,GAAG,KAAK,CAAC;AACzB,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAC,aAAa,EAAC,eAAe,EAAC,eAAe,EAAC,SAAS,EAAC,WAAW,CAAC,CAAC;AACvG,kHAAkH;AAClH,gBAAgB,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC;AAE3E,gEAAgE;AAChE,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AACtB,MAAa,qBAAsB,SAAQ,KAAK;IAC5C,YAAmB,MAAc;QAC7B,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;QAD9B,WAAM,GAAN,MAAM,CAAQ;IAEjC,CAAC;CACJ;AAJD,sDAIC;AA4CD;;GAEG;AACH,MAAa,eAAe;IAgDxB,YAAY,WAAqC,EAAE;QA9CnD;;;WAGG;QACH,uBAAkB,GAAG,EAAE,CAAC;QAExB;;;WAGG;QACH,yBAAoB,GAAG,KAAK,CAAC;QAE7B;;;WAGG;QACH,SAAI,GAAG,GAAG,CAAC;QAEX;;;WAGG;QACH,gBAAW,GAAG,GAAG,CAAC;QAElB;;;WAGG;QACH,SAAI,GAAG,MAAM,CAAC;QAEd;;;WAGG;QACH,aAAQ,GAAG,KAAK,CAAC;QAab,IAAI,OAAO,QAAQ,CAAC,kBAAkB,KAAK,QAAQ,EAAE;YAAE,IAAI,CAAC,kBAAkB,GAAI,QAAQ,CAAC,kBAAkB,CAAC;SAAE;QAChH,IAAI,OAAO,QAAQ,CAAC,oBAAoB,KAAK,SAAS,EAAE;YAAE,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,oBAAoB,CAAC;SAAE;QACtH,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;YAAE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;SAAE;QACrE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAAE;QACpE,IAAI,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,EAAE;YAAE,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;SAAE;QAC1F,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;YAAE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;SAAE;QACrE,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE;YAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;SAAE;QAClF,IAAI,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,EAAE;YAAE,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;SAAE;IACtE,CAAC;CACJ;AA1DD,0CA0DC;AAUD,MAAa,OAAQ,SAAQ,iCAAkB;IAkB3C;;;;;OAKG;IACH,YAAmB,IAAY,EAAS,QAAyB,EAAE,GAAe;QAC9E,KAAK,EAAE,CAAC;QADO,SAAI,GAAJ,IAAI,CAAQ;QAAS,aAAQ,GAAR,QAAQ,CAAiB;QATjE,2HAA2H;QACnH,aAAQ,GAAsD,EAAE,CAAC;QA+CjE,aAAQ,GAAgB,EAAE,CAAC;QAC5B,YAAO,GAAG;YACb;;;;eAIG;YACH,IAAI,SAAS;gBACT,OAAO,gBAAG,aAAH,gBAAG,uBAAH,gBAAG,CAAE,aAAa,CAAC;YAC9B,CAAC;YAED,MAAM,EAAE,CACJ,IAAY,EACZ,GAAW,EACX,UAA8B;gBAC1B,OAAO,EAAE,KAAK;aACjB,EACH,EAAE;gBACA,MAAM,OAAO,GAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC5G,OAAO,IAAA,qBAAW,EAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YACpD,CAAC;YAED;;eAEG;YACH,GAAG,EAAE,CAAC,IAAY,EAAE,MAAc,IAAI,EAAE,EAAE;gBACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACpB,8CAA8C;oBAC9C,MAAM,QAAQ,GAAG,uBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACnH,IAAI,GAAG,CAAC,IAAI,uBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;iBACxC;gBACD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAChC,KAAK,CAAC,IAAI,KAAK,IAAI;oBACnB,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,CACtC,CAAC;YACN,CAAC;YAED;;eAEG;YACH,MAAM,EAAE,CAAC,UAAkB,EAAE,OAAO,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;gBAC9E,MAAM,QAAQ,GAAG,uBAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBAChC,MAAM,SAAS,GAAG,uBAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;oBAC1D,oDAAoD;oBACpD,IAAI,OAAO,CAAC,WAAW,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,GAAG,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAW,CAAC,EAAE;wBAC/L,yFAAyF;wBACzF,OAAO,IAAI,CAAC;qBACf;yBACI,IAAI,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE;wBACzC,4EAA4E;wBAC5E,OAAO,KAAK,CAAC;qBAChB;yBACI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE;wBAClE,wFAAwF;wBACxF,+FAA+F;wBAC/F,OAAO,KAAK,CAAC;qBAChB;oBACD,gDAAgD;oBAChD,wEAAwE;oBACxE,sHAAsH;oBACtH,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBAC7B,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,+CAA+C;oBAC7F,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC;YAED;;eAEG;YACH,IAAI,EAAE,GAAG,EAAE;gBACP,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,CAAC;YAED;;eAEG;YACH,IAAI,EAAE,KAAK,IAAI,EAAE;gBACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,gBAAG,CAAC,aAAa,EAAE;oBACpB,mDAAmD;oBACnD,OAAO;iBACV;gBACD,IAAI,KAAK,GAAG,EAAc,CAAC;gBAC3B,IAAI;oBACA,KAAK,GAAG,CAAC,MAAM,gBAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,UAAU,CAAC,CAAa,CAAC;iBACzF;gBACD,OAAM,GAAG,EAAE;oBACP,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;wBACvB,2GAA2G;wBAC3G,2CAA2C;wBAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBACzB;iBACJ;gBACD,MAAM,QAAQ,GAAG,EAAwB,CAAC;gBAC1C,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;wBAAE,OAAO;qBAAE;oBAC3C,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,0FAA0F;oBACpJ,MAAM,gBAAgB,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACvD,IAAI,CAAC,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,CAAC,IAAI,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAE;wBACrH,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACrC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACpB;gBACL,CAAC,CAAC,CAAC;gBACH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;YAED,GAAG,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;gBAC5B,IAAI;oBACA,MAAM,KAAK,GAAG,MAAM,sBAAS,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC3D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1B,OAAO,KAAK,CAAC;iBAChB;gBACD,OAAM,GAAG,EAAE;oBACP,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACtB,OAAO,IAAI,CAAC;iBACf;YACL,CAAC;YAED;;eAEG;YACH,MAAM,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;gBAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClD,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACtH,CAAC;YAED;;;eAGG;YACH,MAAM,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;gBACvE,IAAI,CAAC,KAAK,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,YAAY,CAAC,CAAC;iBAAE;gBAC/D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtD,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,KAAK,EAAE,KAAK,IAAI,EAAE;gBACd,oBAAoB;gBACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;SAEJ,CAAC;QAGM,wBAAmB,GAAG,EAAkG,CAAC;QAC1H,kBAAa,GAAG;YACnB;;;;;eAKG;YACH,GAAG,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,QAA8B,EAAE,EAAE;gBAChE,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBACpC,MAAM,IAAI,SAAS,CAAC,uBAAuB,IAAI,GAAG,CAAC,CAAC;iBACvD;gBACD,IAAI,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ,EAAE;oBAAE,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;iBAAE;gBAClE,gFAAgF;gBAChF,kGAAkG;gBAClG,IAAI;gBACJ,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACvD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,mCAAmC;YAChG,CAAC;YAED;;;;;eAKG;YACH,MAAM,EAAE,CAAC,IAAY,EAAE,IAAa,EAAE,QAA+B,EAAE,EAAE;gBACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,CAAC,QAAQ,EAAE;oBAAE,OAAO;iBAAE;gBAC1B,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CACvC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CACnF,CAAC;gBACF,IAAI,CAAC,CAAC;gBACN,OAAO,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;oBACtB,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACzB;gBACD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,mCAAmC;YAClG,CAAC;YAED;;;eAGG;YACH,0BAA0B,CAAC,IAAY;gBACnC,MAAM,WAAW,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;gBAC1D,OAAO,CAAC,CAAC,WAAW,CAAC;YACzB,CAAC;YAED;;;eAGG;YACH,0BAA0B,EAAE,CAAC,IAAY,EAAE,EAAE;gBACzC,kFAAkF;gBAClF,8DAA8D;gBAC9D,8DAA8D;gBAC9D,iEAAiE;gBACjE,0CAA0C;gBAC1C,MAAM,QAAQ,GAAG,IAAI,uBAAQ,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,gBAAgB,GAAG,EAA4F,CAAC;gBACtH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;oBAC7D,IAAI,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE;wBAChF,4EAA4E;wBAC5E,gCAAgC;wBAChC,wGAAwG;wBACxG,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;wBAC5D,MAAM,SAAS,GAAG,uBAAQ,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;wBACjE,QAAQ;6BACH,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,oDAAoD;6BACnG,OAAO,CAAC,GAAG,CAAC,EAAE;4BACX,IAAI,QAAQ,GAAG,IAAI,CAAC;4BACpB,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,EAAE,+CAA+C;gCACvE,QAAQ,GAAG,SAAS,CAAC;6BACxB;iCACI,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,kDAAkD;gCAC5I,QAAQ,GAAG,IAAI,CAAC,CAAC,wEAAwE;6BAC5F;iCACI,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,SAAS,EAAE,EAAE,+DAA+D;gCAC1H,MAAM,QAAQ,GAAG,uBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC1F,QAAQ,GAAG,uBAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;6BACzD;iCACI,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,gFAAgF;gCAC7K,MAAM,QAAQ,GAAG,uBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC1F,QAAQ,GAAG,uBAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;6BACzD;4BAED,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,EAAE;gCACpG,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;6BACpF;wBACL,CAAC,CAAC,CAAC;qBACV;gBACL,CAAC,CAAC,CAAC;gBACH,OAAO,gBAAgB,CAAC;YAC5B,CAAC;YAED;;eAEG;YACH,wBAAwB,EAAE,CAAC,IAAY,EAAE,EAAE;gBACvC,MAAM,QAAQ,GAAG,uBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,WAAW,GAAG,EAA4F,CAAC;gBACjH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;oBAC7D,oEAAoE;oBACpE,mDAAmD;oBACnD,iDAAiD;oBACjD,MAAM;oBACN,IAAI,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;wBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;wBAC5D,MAAM,SAAS,GAAG,uBAAQ,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;wBAEjE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;4BACnB,IAAI,QAAQ,GAAG,IAAI,CAAC;4BACpB,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE;gCACrD,QAAQ,GAAG,SAAS,CAAC;6BACxB;iCACI,IAAI,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gCACnE,MAAM,QAAQ,GAAG,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC;oCACnE,CAAC,CAAC,GAAG;oCACL,CAAC,CAAC,uBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC/E,QAAQ,GAAG,uBAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;6BACzD;iCACI,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gCACxF,QAAQ,GAAG,IAAI,CAAC;6BACnB;iCACI,IACD,CAAC,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;mCAC9F,CACC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC;uCAC1B,IAAI,KAAK,SAAS;uCAClB,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CACtC,EACH;gCACE,MAAM,QAAQ,GAAG,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC;oCACnE,CAAC,CAAC,GAAG;oCACL,CAAC,CAAC,uBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC/E,QAAQ,GAAG,uBAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,iDAAiD;6BAC3G;4BACD,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,EAAE,EAAE,oFAAoF;gCAChO,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;6BAC/E;wBACL,CAAC,CAAC,CAAC;qBACN;gBACL,CAAC,CAAC,CAAC;gBACH,OAAO,WAAW,CAAC;YACvB,CAAC;YAED;;;;;;;;eAQG;YACH,OAAO,EAAE,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB,EAAE,QAAa,EAAE,QAAa,EAAE,OAAY,EAAE,EAAE;gBACnG,wGAAwG;gBACxG,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC/D,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC;qBAC9C,OAAO,CAAC,GAAG,CAAC,EAAE;oBACX,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC9D,qCAAqC;oBACrC,sDAAsD;oBACtD,oCAAoC;oBACpC,IAAI;oBACJ,SAAS;oBACT,gCAAgC;oBAChC,wDAAwD;oBACxD,IAAI;gBACJ,CAAC,CAAC,CAAC;YACX,CAAC;SACJ,CAAC;QApWE,IAAI,CAAC,KAAK,GAAG,IAAI,0BAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,GAAG,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,iCAAiC;QAErL,gFAAgF;QAChF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtF,IAAI,QAAQ,CAAC,GAAG,EAAE;YACd,IAAI,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACvD;YACD,IAAI,CAAC,CAAC,QAAQ,EAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,6DAA6D,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;aACtG;YACD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;YACrE,IAAI,CAAC,GAAG,GAAG,IAAI,mBAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;SACnD;aACI;YACD,IAAI,CAAC,GAAG,GAAG,IAAI,aAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACnC,0CAA0C;YAC1C,6CAA6C;YAC7C,mDAAmD;YACnD,qCAAqC;YACrC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;gBACxB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;aACxB;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAChC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACxD,CAAC;SACJ,CAAC;QACF,iEAAiE;QACjE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IAEtB,CAAC,CAAC,qBAAqB;IAlDvB,SAAS;QACL,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAE,CAAC,QAAQ,EAAE,CAAC;IACxD,CAAC;IA8XD,KAAK,CAAC,KAAK;QACP,iIAAiI;QACjI,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,UAAU,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,KAAU;QACtB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,YAAY,IAAI,EAAE;YAClF,OAAO,IAAI,CAAC;SACf;aACI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAChC,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;gBAAE,OAAO,KAAK,CAAC;aAAE;YACtE,kFAAkF;YAClF,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;SAC5D;aACI,IAAI,KAAK,YAAY,4BAAa,EAAE;YACrC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;gBAAE,OAAO,KAAK,CAAC;aAAE;YAC3E,qFAAqF;YACrF,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;SAC5D;aACI,IAAI,KAAK,YAAY,WAAW,EAAE;YACnC,OAAO,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;SAC9D;aACI,IAAI,KAAK,YAAY,KAAK,EAAE;YAC7B,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;SAC7B;aACI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAChC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;SAC1C;aACI;YACD,MAAM,IAAI,SAAS,CAAC,qBAAqB,CAAC,CAAC;SAC9C;IACL,CAAC;IAED;;OAEG;IACH,6DAA6D;IACnD,UAAU,CAAC,IAAY,EAAE,KAAU,EAAE,OAA6B;QACxE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACnE,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,cAAuB;QACjD,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAEhC,iGAAiG;QACjG,MAAM,kBAAkB,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAEnG,2GAA2G;QAC3G,MAAM,gBAAgB,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACnG,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,mBAAmB,GAAG,IAAI,CAAC;YAC3B,MAAM,UAAU,GAAG,gBAAgB;iBAC9B,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,uBAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBACxF,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE;gBACV,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM;oBAAE,OAAO,CAAC,CAAC,CAAC;qBACxC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM;oBAAE,OAAO,CAAC,CAAC;gBACjD,OAAO,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;YACP,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5B,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;YAC1B,IAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE;gBACtI,8EAA8E;gBAC9E,mBAAmB,GAAG,KAAK,CAAC;aAC/B;YACD,YAAY,GAAG,uBAAQ,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,iDAAiD;SAC/G;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;aAC7E,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACjE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,OAAO,CAAC,CAAC,CAAC;aAAE;iBAC5C,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,OAAO,CAAC,CAAC;aAAE;YACrD,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;aACD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAA6D,CAAC;QAEvF,MAAM,UAAU,GAAG,EAAc,CAAC;QAClC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE;gBACjB,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,WAAW,EAAE;oBAAE,CAAC,CAAC,SAAS,GAAG,uBAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBAAE;gBACvF,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,WAAW,EAAE;oBAAE,CAAC,CAAC,SAAS,GAAG,uBAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBAAE;gBACvF,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM;oBAAE,OAAO,CAAC,CAAC,CAAC;qBAClD,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM;oBAAE,OAAO,CAAC,CAAC;gBAC3D,OAAO,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAQ,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC,CAAC;YACxG,IAAI,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE;gBAC3C,uDAAuD;gBACvD,MAAM;gBACN,qCAAqC;gBACrC,kGAAkG;gBAClG,iHAAiH;gBACjH,sDAAsD;gBACtD,+BAA+B;gBAC/B,mHAAmH;gBACnH,YAAY,GAAG,YAAY,CAAC;gBAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAClE,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBACnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3E,CAAC,CAAC,CAAC;aACN;SACJ;QACD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAC5G,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,sBAAsB,CAAC,IAAY,EAAE,KAAU,EAAE,UAUlD;QACD,KAAK,EAAE,KAAK;QACZ,mBAAmB,EAAE,IAAI;QACzB,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;KACf;QACG,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;SAAE;QACpI,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC;QAEvC,2CAA2C;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,qBAAqB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SACtD;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACxB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAExC,4DAA4D;QAC5D,IAAI,YAAY,GAAQ,IAAI,CAAC;QAC7B,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAC3G,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;QACxF,IAAI,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;QAElC,MAAM,SAAS,GAAG,GAAG,EAAE;YACnB,IAAI,OAAO,OAAO,CAAC,oBAAoB,KAAK,UAAU,EAAE;gBACpD,OAAO,OAAO,CAAC,oBAAoB,EAAE,CAAC;aACzC;YACD,IAAI,YAAY,EAAE;gBACd,4DAA4D;gBAC5D,sEAAsE;gBACtE,MAAM,QAAQ,GAAG,uBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC5C,MAAM,aAAa,GAAG,uBAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACzD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACvD,IAAI,YAAY,GAAG,YAAY,CAAC;gBAChC,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,KAAK,IAAI,EAAE;oBAClD,+DAA+D;oBAC/D,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;oBACnC,YAAY,GAAG,OAAO,YAAY,KAAK,QAAQ,IAAI,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;iBAC/G;gBACD,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;aACvC;YACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,MAAM,yBAAyB,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,KAAK,IAAI,CAAC;QACxG,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACvF,oEAAoE;YACpE,OAAO,SAAS,EAAE,CAAC;SACtB;QAED,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3E,qCAAqC;YACrC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,YAAY,KAAK,IAAI,EAAE;gBACvB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAClD,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC;aAC7D;SACJ;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QACjF,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,IAAI,aAAa,CAAC,MAAM,EAAE;YACtB,MAAM,YAAY,GAAsG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;YAC7I,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,YAAY,CAAC,OAAO,GAAG,UAAU,CAAC;aACrC;YACD,IAAI,YAAY,KAAK,EAAE,IAAI,OAAO,YAAY,CAAC,OAAO,KAAK,WAAW,EAAE;gBACpE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,6VAA6V,CAAC,CAAC;aAClX;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAC5D,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;SAC7B;QAED,YAAY,GAAG,YAAY,CAAC;QAE5B,iCAAiC;QACjC,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC;QAEzC,oCAAoC;QACpC,IAAI,eAAoB,EAAE,YAAiB,CAAC;QAC5C,IAAI,IAAI,KAAK,YAAY,EAAE;YACvB,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,IAAI,YAAY,KAAK,IAAI,EAAE;oBACvB,eAAe,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtD;qBACI;oBACD,+CAA+C;oBAC/C,eAAe,GAAG,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1D,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;wBACpC,eAAe,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;oBAC7C,CAAC,CAAC,CAAC;iBACN;aACJ;iBACI;gBACD,eAAe,GAAG,KAAK,CAAC;aAC3B;YACD,YAAY,GAAG,eAAe,CAAC;SAClC;aACI;YACD,+EAA+E;YAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrE,MAAM,SAAS,GAAG,uBAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAClD,mGAAmG;YACnG,IAAI,YAAY,KAAK,IAAI,EAAE;gBACvB,gEAAgE;gBAChE,eAAe,GAAG,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChE;iBACI;gBACD,eAAe,GAAG,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACpC,eAAe,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;aACN;YACD,YAAY,GAAG,eAAe,CAAC;YAC/B,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;gBACnC,0CAA0C;gBAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC1C,YAAY,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;iBAClC;qBACI;oBACD,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;oBACxC,MAAM,WAAW,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,mBAAM,QAAQ,CAAE,CAAC;oBACnF,YAAY,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;iBACxC;gBACD,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;aACzC;SACJ;QAED,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,mCAAmC;YACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC7B,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;SACN;QAED,yFAAyF;QAEzF,MAAM,WAAW,GAAG,aAAa,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACjE,IAAI,WAAW,KAAK,WAAW,EAAE;YAC7B,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC;SACjB;QAED,kFAAkF;QAClF,SAAS,WAAW,CAAC,GAAwB;YACzC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBAAE,OAAO,GAAG,CAAC;aAAE,CAAC,gBAAgB;YAC7E,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC5B,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;gBACtB,IAAI,GAAG,KAAK,IAAI,EAAE;oBACd,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjB,IAAI,GAAG,YAAY,KAAK,EAAE;wBAAE,GAAG,CAAC,MAAM,EAAE,CAAC;qBAAE,CAAC,gDAAgD;iBAC/F;gBACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;oBAAE,WAAW,CAAC,GAAG,CAAC,CAAC;iBAAE;YACtD,CAAC,CAAC,CAAC;QACP,CAAC;QACD,WAAW,CAAC,eAAe,CAAC,CAAC;QAE7B,4BAA4B;QAC5B,iGAAiG;QACjG,oGAAoG;QACpG,MAAM,YAAY,GAAG,EAAwB,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACpE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACX,2DAA2D;YAC3D,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,OAAO,CAAC,CAAC;aAAE;iBAC3C,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,OAAO,CAAC,CAAC,CAAC;aAAE;YACtD,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YACnB,4DAA4D;YAE5D,qBAAqB;YACrB,kDAAkD;YAClD,wEAAwE;YACxE,gCAAgC;YAChC,0DAA0D;YAE1D,MAAM,QAAQ,GAAG,uBAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACpD,MAAM,aAAa,GAAG,uBAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvD,4CAA4C;YAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC;YAC9B,MAAM,QAAQ,GAAG,eAAe,CAAC;YACjC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBACxE,2BAA2B;gBAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ;oBACvB,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC;oBAC5D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC7F,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrB,OAAO,CAAC,aAAa;aACxB;YACD,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,QAAa,EAAE,QAAa,EAAE,EAAE;gBACtE,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE;oBACxC,OAAO,EAAE,CAAC;iBACb;gBACD,MAAM,QAAQ,GAAG,uBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC5C,MAAM,aAAa,GAAG,uBAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;gBAC9D,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACvD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;oBACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;oBACxE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;iBACzC;gBAED,IAAI,OAAO,GAAG,EAAW,CAAC;gBAC1B,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;oBACjC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;wBAC1E,mBAAmB;wBACnB,MAAM,OAAO,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC/D,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;4BACrD,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gCAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;6BACrB;wBACL,CAAC,CAAC,CAAC;wBACH,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;4BAClB,MAAM,SAAS,GAAG,uBAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;4BACxD,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;4BAC5D,MAAM,YAAY,GAAG,uBAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;4BAC5D,MAAM,YAAY,GAAG,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;4BAClG,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBAC3C,CAAC,CAAC,CAAC;wBACH,MAAM;qBACT;yBACI;wBACD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBAC1D,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;wBAC3B,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;wBAC3B,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE;4BACxC,MAAM;yBACT;wBACD,SAAS,GAAG,uBAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;qBACxD;iBACJ;gBACD,OAAO,OAAO,CAAC;YACnB,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACrE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACrB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ;oBACvB,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;oBACzE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9H,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEP,MAAM,wBAAwB,GAAG,CAC7B,GAAwE,EACxE,QAAa,EACb,QAAa,EACb,YAA6D,EAAE,EACjE,EAAE;YACA,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACpB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;gBAC5B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACvC;YACD,IAAI,IAAI,KAAK,SAAS,EAAE;gBACpB,OAAO,CAAC,wCAAwC;aACnD;iBACI,IAAI,IAAI,KAAK,eAAe,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,CAAC,EAAE;gBAC3E,OAAO,GAAG,KAAK,CAAC;aACnB;iBACI,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,eAAe,EAAE;gBACnD,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAClD,OAAO,GAAG,OAAO,KAAK,WAAW,CAAC;aACrC;iBACI,IAAI,IAAI,KAAK,aAAa,EAAE;gBAC7B,OAAO,GAAG,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,CAAC;aACpD;iBACI,IAAI,IAAI,KAAK,eAAe,EAAE;gBAC/B,OAAO,GAAG,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,CAAC;aACpD;YAED,MAAM,QAAQ,GAAG,uBAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACzB,4EAA4E;gBAC5E,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,aAAa,QAAQ,CAAC,IAAI,yCAAyC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAC/G,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAS,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,uBAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9F,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACzH,CAAC,CAAC;QAEF,MAAM,qBAAqB,GAAG,CAC1B,WAAmB,EACnB,QAAa,EACb,QAAa,EACb,aAAoC,EACtC,EAAE;YACA,MAAM,KAAK,GAAG,EAAmF,CAAC;YAClG,MAAM,MAAM,GAAG,aAAa,IAAI,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAClE,IAAI,MAAM,KAAK,WAAW,EAAE;gBACxB,OAAO,KAAK,CAAC,CAAC,gCAAgC;aACjD;iBACI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;gBACjC,6CAA6C;gBAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;aACzD;YACD,qEAAqE;YACrE,qFAAqF;YACrF,mEAAmE;YACnE,sCAAsC;YACtC,sCAAsC;YACtC,gCAAgC;YAChC,2CAA2C;YAC3C,UAAU;YACV,wCAAwC;YACxC,2CAA2C;YAC3C,gCAAgC;YAChC,UAAU;YACV,wCAAwC;YACxC,2CAA2C;YAC3C,2CAA2C;YAC3C,UAAU;YACV,6EAA6E;YAC7E,IAAI;iBACC;gBACD,iGAAiG;gBACjG,6DAA6D;gBAC7D,gEAAgE;gBAChE,qFAAqF;gBACrF,oDAAoD;gBACpD,IAAI;gBACJ,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC1B,MAAM,SAAS,GAAG,uBAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC/D,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACjE,MAAM,UAAU,GAAG,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC7G,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACvB,MAAM,SAAS,GAAG,uBAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;oBAC1D,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7E,CAAC,CAAC,CAAC;gBACH,IAAI,QAAQ,YAAY,KAAK,IAAI,QAAQ,YAAY,KAAK,EAAE;oBACxD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjD;gBACD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACzB,MAAM,SAAS,GAAG,uBAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;oBAC1D,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7E,CAAC,CAAC,CAAC;aACN;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC;QAEF,mEAAmE;QACnE,IAAI,yBAAyB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,aAAa,EAAE;YACnE,MAAM,CAAC,SAAS,GAAG,CAAC,GAAG,EAAE;gBACrB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrE,MAAM,SAAS,GAAG,uBAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAClD,IAAI,QAAQ,GAAG,YAAY,EAAE,QAAQ,GAAG,eAAe,CAAC;gBACxD,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;oBAC9B,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;iBACtE;gBACD,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACzD,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC9E,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,uBAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,gCAAgC;gBACpK,OAAO,SAAS,CAAC;YACrB,CAAC,CAAC,EAAE,CAAC;SACR;QAED,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC1B,kEAAkE;YAClE,6HAA6H;YAC7H,kBAAkB;iBACb,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAC,WAAW,EAAC,gBAAgB,EAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBAC9F,GAAG,CAAC,GAAG,CAAC,EAAE;gBACP,MAAM,IAAI,GAAG,uBAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAChD,OAAO;oBACH,GAAG;oBACH,IAAI;iBACP,CAAC;YACN,CAAC,CAAC;iBACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACf,2DAA2D;gBACvD,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;oBAAE,OAAO,CAAC,CAAC;iBAAE;qBAC3C,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;oBAAE,OAAO,CAAC,CAAC,CAAC;iBAAE;gBACtD,OAAO,CAAC,CAAC;YACb,CAAC,CAAC;iBACD,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;gBACjB,MAAM,OAAO,GAAG,CAAC,WAAmB,EAAE,QAAa,EAAE,QAAa,EAAE,YAA6D,EAAE,EAAE,EAAE;oBACnI,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC5E,MAAM,SAAS,GAAG,uBAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;oBAClD,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;wBACzB,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;wBACjC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;4BACzE,kCAAkC;4BAC9B,MAAM,OAAO,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACrE,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAClD,CAAC;4BACF,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gCACrD,MAAM,UAAU,GAAG,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gCACnE,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACvD,CAAC,CAAC,CAAC;4BACH,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gCAClB,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;gCAC5D,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gCAC5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;oCACxB,wBAAwB,CAAC,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;iCACnF;qCACI;oCACD,OAAO,CAAC,uBAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;iCACzG;4BACL,CAAC,CAAC,CAAC;4BACH,OAAO,CAAC,yBAAyB;yBACpC;6BACI;4BACD,WAAW,GAAG,uBAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;4BACzD,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;4BAC/D,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;4BAChC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;yBACnC;qBACJ;oBACD,wBAAwB,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACjE,CAAC,CAAC;gBAEF,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,uBAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE;oBAC9F,4DAA4D;oBAC5D,yDAAyD;oBACzD,MAAM;oBACN,qEAAqE;oBACrE,kEAAkE;oBAClE,4DAA4D;oBACxD,MAAM,cAAc,GAAG,uBAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBAC5E,MAAM,OAAO,GACb,CAAC,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC;2BAC1B,CAAC,GAAG,CAAC,IAAI,KAAK,sBAAsB,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,OAAO,EAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAqB,CAAC,CAAC,CAAC;2BAClH,CAAC,GAAG,CAAC,IAAI,KAAK,sBAAsB,IAAI,WAAW,KAAK,SAAS,IAAI,cAAc,CAAC;2BACpF,CAAC,GAAG,CAAC,IAAI,KAAK,oBAAoB,IAAI,WAAW,KAAK,OAAO,IAAI,cAAc,CAAC,CAAC;oBACpF,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;iBACpH;qBACI;oBACL,4CAA4C;oBACxC,OAAO,CAAC,YAAY,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;iBACxD;YACL,CAAC,CAAC,CAAC;YAEP,iEAAiE;YACjE,oGAAoG;YACpG,wEAAwE;YACxE,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3I,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACzB,yDAAyD;gBACzD,IAAI,WAAW,GAAG,YAAY,CAAC;gBAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC7E,MAAM,SAAS,GAAG,uBAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAClD,IAAI,QAAQ,GAAG,YAAY,EAAE,QAAQ,GAAG,eAAe,CAAC;gBACxD,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;oBACjC,WAAW,GAAG,uBAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;oBACzD,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAC/D,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;oBAChC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;iBACnC;gBAED,MAAM,KAAK,GAAG,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACrE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBACpB,OAAO;iBACV;gBACD,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBACrD,IAAI,CAAC,SAAS,EAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACjD,4BAA4B;oBAC5B,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;wBAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,gDAAgD;wBACjF,wHAAwH;wBACxH,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBACzD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBACxD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;oBACxG,CAAC,CAAC,CAAC;iBACN;qBACI,IAAI,CAAC,WAAW,EAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC1D,kCAAkC;oBAClC,sTAAsT;oBACtT,oTAAoT;oBACpT,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,uBAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACvK,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;iBACnH;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,yCAAyC;QACzC,IAAI,OAAO,CAAC,mBAAmB,KAAK,KAAK,EAAE;YACvC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,yEAAyE;SACpG;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB;QAC7C,OAAO,MAAM,CAAC;IAClB,CAAC;IAGD;;;;;OAKG;IACH,6DAA6D;IAC7D,WAAW,CAAC,IAAY,EAAE,OAazB;QACG,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACnE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,UAAwC,EAAE;QACvE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,6DAA6D;IAC7D,OAAO,CAAC,IAAY,EAAE,OAAsC;QACxD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,6DAA6D;IAC7D,WAAW,CAAC,IAAY,EAAE,OAcxB;QACE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;OAOG;IACH,6DAA6D;IAC7D,OAAO,CAAC,IAAY,EAAE,KAAU,EAAE,OAiBhC;QACE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;OAMG;IACH,6DAA6D;IAC7D,UAAU,CAAC,IAAY,EAAE,OAAe,EAAE,OAiBxC;QACE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,QAA6B,EAAE,UAe3D,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;QAC1D,MAAM,WAAW,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAY,CAAC;QACvC,MAAM,IAAI,GAAG,WAAW;YACpB,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,4DAA4D;YACrF,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAElE,IAAI;YACA,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,cAAc,GAAG,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,WAAW,EAAE;gBACb,wBAAwB;gBACxB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;aAChE;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;YACpC,IAAI,QAAQ,CAAC;YACb,IAAI;gBACA,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,QAAQ,YAAY,OAAO,EAAE;oBAC7B,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;wBAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,kCAAkC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBACtE,CAAC,CAAC,CAAC;iBACN;aACJ;YACD,OAAO,GAAG,EAAE;gBACR,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,kCAAkC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;aACrE;YACD,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;gBACjC,oDAAoD;gBACpD,OAAO;aACV;YACD,sEAAsE;YACtE,IAAI,WAAW,EAAE;gBACb,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;aACnE;YACD,IAAI,OAAO,EAAE;gBACT,MAAM,IAAI,+BAAiB,CAAC,cAAc,CAAC,CAAC;aAC/C;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACzK,OAAO,MAAM,CAAC;SACjB;QACD,OAAO,GAAG,EAAE;YACR,IAAI,GAAG,YAAY,+BAAiB,EAAE;gBAClC,YAAY;gBACZ,OAAO,CAAC,IAAI,CAAC,6CAA6C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;aACrD;iBACI;gBACD,MAAM,GAAG,CAAC;aACb;SACJ;gBACO;YACJ,IAAI,CAAC,OAAO,EAAE,CAAC;SAClB;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,QAAmE,EAAE,OAKlG;;QAEG,MAAM,GAAG,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,mCAAI,iBAAE,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAAE,QAAoE,EAAE,EAAE;YAC3G,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,qCAAqC;aACtE;YACD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;gBAC9C,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;gBACjB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC9C,gFAAgF;oBAChF,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;iBACxC;gBACD,IAAK,IAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBACjC,IAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC7B;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC,EAAE,EAAyB,CAAC,CAAC;YAC9B,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;YAExC,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,MAAM,oBAAoB,GAAG,EAAqC,CAAC;YACnE,IAAI;gBACA,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;;oBAC5E,MAAM,UAAU,GAAG,MAAA,SAAS,CAAC,GAAG,mCAAI,SAAS,CAAC,KAAK,CAAC;oBACnD,UAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,CAAE,UAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAEjH,MAAM,WAAW,GAAG,QAAQ;yBACvB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,UAAU,CAAC;yBACnC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBAErD,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAqC,EAAE,CAAC;oBACnJ,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;oBAC5B,IAAI,OAAO,EAAE;wBACT,oBAAoB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;wBAEjD,MAAM,aAAa,GAAG,QAAQ;6BACzB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;6BACpI,GAAG,CAAC,EAAE,CAAC,EAAE;4BACN,MAAM,GAAG,GAAI,EAAE,CAAC,GAAc,CAAC,KAAK,CAAE,EAAE,CAAC,GAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;4BAC1E,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC;wBACnD,CAAC,CAAC,CAAC;wBAEP,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC1B,MAAM,SAAS,GAAG,uBAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;4BAC7D,MAAM,YAAY,GAClB,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC;iCAC9B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;4BACpC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;yBAC3C;qBACJ;oBACD,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;wBACrC,OAAO,KAAK,CAAC,CAAC,iBAAiB;qBAClC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,OAAO,EAAE;oBACT,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;oBACxD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC/C;gBACD,IAAI,CAAC,OAAO,EAAE;oBAAE,OAAO,KAAK,CAAC;iBAAE;gBAE/B,sFAAsF;gBACtF,OAAO,GAAI,UAAgC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;oBAE3D,MAAM,SAAS,GAAG,IAAI,oBAAQ,+CACvB,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,GACzD,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,KAC1D,MAAM,EAAE,KAAK,IACf,CAAC;oBAEH,MAAM,aAAa,GAAG,QAAQ;yBACzB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;yBACpI,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBAErD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,OAAO,EAAE;wBAC3E,OAAO,KAAK,CAAC;qBAChB;oBAED,MAAM,WAAW,GAAG,QAAQ;yBACvB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,UAAU,CAAC;yBACnC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBAErD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;wBAC1B,OAAO,IAAI,CAAC,CAAC,mFAAmF;qBACnG;oBAED,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;oBAClD,OAAO,MAAM,CAAC,OAAO,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBACH,OAAO,OAAO,CAAC;aAClB;YACD,OAAO,GAAG,EAAE;gBACR,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,IAAI,KAAK,EAAE,GAAG,CAAC,CAAC;gBACvD,MAAM,GAAG,CAAC;aACb;QACL,CAAC,CAAC,CAAC,YAAY;QAEf;;;;WAIG;QACH,MAAM,UAAU,GAAG,CAAC,KAAe,EAAE,QAA4D,EAAE,EAAE;YACjG,MAAM,QAAQ,GAAG,EAAqC,CAAC;YACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC/B,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,WAAW,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,EAAE;oBACnG,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;iBAC3B;qBACI,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,WAAW,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,EAAE;oBACvG,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;iBAC1B;qBACI,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,IAAI,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,YAAY,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC5G,mFAAmF;oBACnF,OAAO,GAAG,IAAI,CAAC;iBAClB;qBACI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBACpB,OAAO,GAAG,KAAK,CAAC;iBACnB;qBACI;oBACD,IAAI,KAAK,CAAC,OAAO,EAAE;wBACf,IAAI,KAAK,CAAC,SAAS,KAAK,8BAAW,CAAC,MAAM,IAAI,CAAC,KAAK,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;4BAC7E,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;4BACjD,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;iCACpD,IAAI,CAAC,OAAO,CAAC,EAAE;gCACZ,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;4BACvC,CAAC,CAAC,CAAC;4BACP,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjB,OAAO,GAAG,IAAI,CAAC;yBAClB;6BACI,IAAI,KAAK,CAAC,SAAS,KAAK,8BAAW,CAAC,KAAK,IAAI,CAAC,UAAU,EAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;4BAC3F,qCAAqC;4BACrC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC;iCACtC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;gCACzB,oCAAoC;gCACpC,0GAA0G;gCAEtG,MAAM,OAAO,GACb,CAAC,CAAC,EAAE,KAAK,UAAU;oCACf,aAAa;oCACb,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,KAAK;wCACxB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,qDAAqD;wCACjG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;oCAE7B,cAAc;oCACd,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,KAAK;wCACxB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,0DAA0D;wCACtG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gCAEnC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;4BACvC,CAAC,CAAC,CAAC;4BACP,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjB,OAAO,GAAG,IAAI,CAAC;yBAClB;6BACI,IAAI,KAAK,CAAC,SAAS,KAAK,8BAAW,CAAC,MAAM,EAAE;4BAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC;iCACtC,IAAI,CAAC,IAAI,CAAC,EAAE;gCACT,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC/E,CAAC,CAAC,CAAC;4BACP,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjB,OAAO,GAAG,IAAI,CAAC;yBAClB;6BACI;4BACD,OAAO,GAAG,KAAK,CAAC;yBACnB;qBACJ;yBACI,IAAI,KAAK,CAAC,IAAI,KAAK,8BAAW,CAAC,MAAM,IAAI,CAAC,KAAK,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;wBAC7E,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC;wBACrC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;qBAClE;yBACI,IAAI,KAAK,CAAC,IAAI,KAAK,8BAAW,CAAC,KAAK,IAAI,CAAC,UAAU,EAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;wBACtF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBACrD,OAAO,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;qBACtF;yBACI;wBACD,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;wBAClD,IAAI,GAAG,YAAY,OAAO,EAAE;4BACxB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACnB,GAAG,GAAG,IAAI,CAAC;yBACd;wBACD,OAAO,GAAG,GAAG,CAAC;qBACjB;iBACJ;gBACD,OAAO,OAAO,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,WAAW;YAEf,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC,aAAa;QAEhB,OAAO,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,GAAQ,EAAE,EAAU,EAAE,OAAY;QACnC,IAAI,EAAE,KAAK,GAAG,EAAE;YAAE,OAAO,GAAG,GAAG,OAAO,CAAC;SAAE;QACzC,IAAI,EAAE,KAAK,IAAI,EAAE;YAAE,OAAO,GAAG,IAAI,OAAO,CAAC;SAAE;QAC3C,IAAI,EAAE,KAAK,IAAI,EAAE;YAAE,OAAO,GAAG,KAAK,OAAO,CAAC;SAAE;QAC5C,IAAI,EAAE,KAAK,IAAI,EAAE;YAAE,OAAO,GAAG,KAAK,OAAO,CAAC;SAAE;QAC5C,IAAI,EAAE,KAAK,GAAG,EAAE;YAAE,OAAO,GAAG,GAAG,OAAO,CAAC;SAAE;QACzC,IAAI,EAAE,KAAK,IAAI,EAAE;YAAE,OAAO,GAAG,IAAI,OAAO,CAAC;SAAE;QAC3C,IAAI,EAAE,KAAK,IAAI,EAAE;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAAE;QACtD,IAAI,EAAE,KAAK,KAAK,EAAE;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SAAE;QACtD,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,OAAO,EAAE;YACjC,MAAM,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC;YACxH,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxC,OAAO,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;SAC7C;QACD,IAAI,EAAE,KAAK,SAAS,EAAE;YAClB,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvC;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACnB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SACxC;QACD,IAAI,EAAE,KAAK,SAAS,EAAE;YAClB,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;SACjD;QACD,IAAI,EAAE,KAAK,UAAU,EAAE;YACnB,OAAO,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;SAC/C;QACD,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE;YAC/B,MAAM,GAAG,GAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,IAAI,GAAG,CAAC;YACtD,OAAO,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;SACpC;QACD,IAAI,EAAE,KAAK,UAAU,IAAI,EAAE,KAAK,WAAW,EAAE;YACzC,8BAA8B;YAC9B,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1F,OAAO,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SACnD;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,OAA0F,EAAE,OAAO,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE;QACpK,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,MAAK,MAAM,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC9D;QACD,MAAM,KAAK,GAA0C,OAAO,OAAO,KAAK,UAAU;YAC9E,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,mFAAmF;YACjH,CAAC,CAAC,OAAO,CAAC;QAEd,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,GAAQ,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;iBAC9B,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAS,kBAAkB;iBACjD,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAW,SAAS;iBACxC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAU,kBAAkB;iBACjD,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAU,YAAY;iBAC3C,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAU,OAAO;iBACtC,OAAO,CAAC,kBAAkB,EAAK,2BAA2B;YACvD,AAD4B,2BAA2B;YACvD,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC/D,CAAC;YAEN,IAAI,IAAI,KAAK,8BAAW,CAAC,QAAQ,EAAE;gBAC/B,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC;gBAC/B,IAAI,OAAO,CAAC,SAAS,EAAE;oBACnB,GAAG,GAAG,0BAA0B,GAAG,GAAG,CAAC,CAAC,qBAAqB;iBAChE;aACJ;iBACI,IAAI,IAAI,KAAK,8BAAW,CAAC,MAAM,EAAE;gBAClC,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;aAC5B;iBACI,IAAI,IAAI,KAAK,8BAAW,CAAC,KAAK,EAAE;gBACjC,GAAG,GAAG,IAAI,CAAC;aACd;iBACI,IAAI,IAAI,KAAK,8BAAW,CAAC,MAAM,EAAE;gBAClC,GAAG,GAAG,IAAI,CAAC;aACd;iBACI,IAAI,IAAI,KAAK,8BAAW,CAAC,MAAM,EAAE;gBAClC,GAAG,GAAG,IAAI,MAAM,CAAC,sBAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,+CAA+C;gBACzF,IAAI,OAAO,CAAC,SAAS,EAAE;oBACnB,GAAG,GAAG,4BAA4B,GAAG,GAAG,CAAC,CAAC,uBAAuB;iBACpE;aACJ;iBACI,IAAI,IAAI,KAAK,8BAAW,CAAC,SAAS,EAAE;gBACrC,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC;gBACtB,IAAI,OAAO,CAAC,SAAS,EAAE;oBACnB,GAAG,GAAG,+BAA+B,GAAG,GAAG,CAAC,CAAC,8BAA8B;iBAC9E;aACJ;iBACI,IAAI,IAAI,KAAK,8BAAW,CAAC,MAAM,EAAE;gBAClC,oEAAoE;gBACpE,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;gBACjB,IAAI,OAAO,CAAC,SAAS,EAAE;oBACnB,GAAG,GAAG,4BAA4B,GAAG,GAAG,CAAC;iBAC5C;aACJ;YACD,OAAO,GAAG,CAAC;QACf,CAAC,CAAC;QAEF,IAAI,QAAQ,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAClB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;SACxB;aACI,IAAI,QAAQ,CAAC,IAAI,KAAK,8BAAW,CAAC,MAAM,EAAE;YAAE,QAAQ,GAAG,GAAG,CAAC;YAAC,MAAM,GAAG,GAAG,CAAC;SAAE;aAC3E,IAAI,QAAQ,CAAC,IAAI,KAAK,8BAAW,CAAC,KAAK,EAAE;YAAE,QAAQ,GAAG,GAAG,CAAC;YAAC,MAAM,GAAG,GAAG,CAAC;SAAE;aAC1E;YACD,iDAAiD;YACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;SACrB;QAED,IAAI,QAAQ,EAAE;YACV,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC1B,IAAI,CAAC,YAAY,OAAO,EAAE;gBAAE,MAAM,CAAC,CAAC;aAAE;SACzC;QAED,IAAI,MAAM,GAAG,EAAE,EAAE,WAAW,GAAG,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,EAAgB,CAAC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;aACvB,IAAI,CAAC,SAAS,CAAC,EAAE;YACd,IAAI,SAAS,CAAC,OAAO,EAAE;gBACvB,2BAA2B;gBACvB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC3B;iBACI;gBACD,IAAI,WAAW,EAAE,GAAG,CAAC,EAAE;oBAAE,MAAM,IAAI,GAAG,CAAC;iBAAE;gBACzC,IAAI,OAAO,SAAS,CAAC,GAAG,KAAK,QAAQ,EAAE;oBAAE,MAAM,IAAI,IAAI,SAAS,CAAC,GAAG,IAAI,CAAC;iBAAE;gBAC3E,MAAM,IAAI,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;aAC7D;QACL,CAAC,CAAC,CAAC;QACP,IAAI,MAAM,EAAE;YACR,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YACxB,IAAI,CAAC,YAAY,OAAO,EAAE;gBAAE,MAAM,CAAC,CAAC;aAAE;SACzC;QAED,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,MAAM,GAAG,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;YAClF,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBAAE,MAAM,IAAI,IAAI,GAAG,IAAI,CAAC;aAAE;YACvD,IAAI,MAAM,EAAE;gBACR,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBACxB,IAAI,CAAC,YAAY,OAAO,EAAE;oBAAE,MAAM,CAAC,CAAC;iBAAE;aACzC;YACD,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SAC3E;QAED,IAAI,MAAM,EAAE;YACR,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YACxB,IAAI,CAAC,YAAY,OAAO,EAAE;gBAAE,MAAM,CAAC,CAAC;aAAE;SACzC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CACZ,IAAY,EACZ,IAA+E,EAC/E,UAYK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QAEtC,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,QAAQ;QACtC,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM;QACzC,MAAM,KAAK,GAAG;YACV,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,EAA6C;YACpD,cAAc,EAAE,CAAC;YACjB,YAAY,EAAE,CAAC;YACf,IAAI,cAAc;gBACd,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YACpC,CAAC;SACJ,CAAC;QACF,MAAM,aAAa,GAAG,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE;YAC3C,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;YACjC,IAAI,IAAI,KAAK,IAAI,EAAE;gBACf,IAAI,KAAK,CAAC,IAAI,EAAE;oBACZ,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;iBAClF;qBACI;oBACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;iBACtD;aACJ;iBACI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC/B,IAAI,GAAG,oBAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aACnC;YACD,IAAI,MAAM,EAAE;gBACR,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;aACtB;iBACI;gBACD,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;gBAClC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;gBAClB,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;aACnB;QACL,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;YACvC,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IAAI,KAAK,CAAC,KAAK,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC3C,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;gBACrB,MAAM,aAAa,EAAE,CAAC;aACzB;YACD,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;YAC3D,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC;YACtB,OAAO,GAAG,CAAC;QACf,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;YACzC,IAAI,KAAK,CAAC,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC1C,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;aAC7B;YACD,IAAI,KAAK,CAAC,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;QACL,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;YACzC,yEAAyE;YACzE,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,GAAG,KAAK,KAAK,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,eAAe,KAAK,GAAG,CAAC,CAAC;aAAE;QAC3I,CAAC,CAAC;QACF,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAC7B,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACvC,OAAO,IAAI,EAAE;gBACT,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;oBAClC,MAAM,aAAa,EAAE,CAAC;iBACzB;gBACD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;oBAC1C,KAAK,CAAC,KAAK,EAAE,CAAC;iBACjB;qBACI;oBACD,MAAM;iBACT;aACJ;QACL,CAAC,CAAC;QACF;;WAEG;QACH,MAAM,SAAS,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;YACvC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC;QACF;;;WAGG;QACH,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAC7B,MAAM,aAAa,EAAE,CAAC;YACtB,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,QAAQ,EAAE,EAAE;gBACR,KAAK,GAAG,CAAC,CAAC,OAAO,QAAQ,CAAC;gBAC1B,KAAK,GAAG,CAAC,CAAC,OAAO,QAAQ,CAAC;gBAC1B,KAAK,GAAG,CAAC,CAAC,OAAO,OAAO,CAAC;gBACzB,KAAK,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC;gBACxB,KAAK,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC;gBAC7B,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG;oBACJ,OAAO,SAAS,CAAC;gBACrB,OAAO,CAAC,CAAC;oBACL,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE;wBACxC,OAAO,QAAQ,CAAC;qBACnB;oBACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;iBAC3E;aACJ;QACL,CAAC,CAAC;QAEF;;WAEG;QACH,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;YAC1B,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YACpB,oCAAoC;YACpC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,KAAK,IAAI,EAAE;gBACtD,CAAC,EAAE,CAAC;gBACJ,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;oBACxB,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACrC,MAAM,aAAa,EAAE,CAAC;oBACtB,CAAC,GAAG,CAAC,CAAC;iBACT;aACJ;YACD,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACxC,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;YACpB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;YAC3B,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE;gBACjC,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;aAC9B;iBACI,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE;gBACtC,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;aAC/B;YACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;YAC1B,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YACpB,iDAAiD;YACjD,MAAM,OAAO,GAAG,CAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,CAAC,CAAC,CAAC,4DAA4D;YACvJ,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;gBACpC,CAAC,EAAE,CAAC;gBACJ,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;oBACxB,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACrC,MAAM,aAAa,EAAE,CAAC;oBACtB,CAAC,GAAG,CAAC,CAAC;iBACT;aACJ;YACD,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACxC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;YAChB,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9G,OAAO,EAAE,CAAC;QACd,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;YACzB,MAAM,aAAa,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE;gBACtB,QAAQ,IAAI,EAAE;oBACV,KAAK,QAAQ,CAAC,CAAC,OAAO,UAAU,EAAE,CAAC;oBACnC,KAAK,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;oBACzB,KAAK,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;oBACxB,KAAK,QAAQ,CAAC,CAAC,OAAO,UAAU,EAAE,CAAC;oBACnC,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC;oBACzB,KAAK,WAAW,CAAC,CAAC,OAAO,SAAS,CAAC;oBACnC,KAAK,SAAS,CAAC,CAAC,OAAO,WAAW,EAAE,CAAC;iBACxC;YACL,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC3B,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACjF,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,GAAQ,EAAE,EAAE;YAChD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;YACtB,QAAQ,IAAI,EAAE;gBACV,KAAK,MAAM,CAAC;gBACZ,KAAK,MAAM,CAAC,CAAC;oBACT,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpB,MAAM;iBACT;gBACD,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ,CAAC,CAAC;oBACX,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACpB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;wBACtB,kBAAkB;wBAClB,GAAG,GAAG,sBAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;qBAC7B;yBACI;wBACD,6BAA6B;wBAC7B,MAAM,IAAI,KAAK,CAAC,mEAAmE,IAAI,GAAG,CAAC,CAAC;qBAC/F;oBACD,MAAM;iBACT;gBACD,KAAK,eAAe,CAAC;gBACrB,KAAK,WAAW,CAAC,CAAC;oBACd,GAAG,GAAG,IAAI,4BAAa,CAAC,GAAG,CAAC,CAAC;oBAC7B,MAAM;iBACT;gBACD,KAAK,QAAQ,CAAC,CAAC;oBACX,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBAClB,MAAM;iBACT;gBACD;oBACI,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,yBAAyB,IAAI,GAAG,CAAC,CAAC;aAChG;YACD,OAAO,GAAG,CAAC;QACf,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,EAAE,iBAAiB,EAAE,iBAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QACrD,MAAM,YAAY,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;QAE3E;;WAEG;QACH,MAAM,OAAO,GAAG,KAAK,EAAE,MAAgB,EAAE,KAAU,EAAE,EAAE;YACnD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,GAAG,aAAa,EAAE;gBAC9D,8EAA8E;gBAC9E,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;oBACpD,gGAAgG;oBAChG,qCAAqC;oBACrC,uBAAuB;oBACvB,4CAA4C;oBAC5C,iCAAiC;oBACjC,0CAA0C;oBAC1C,wDAAwD;oBACxD,yGAAyG;oBACzG,qDAAqD;oBACrD,uEAAuE;oBACvE,GAAG;oBACH,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE;wBAC3B,wGAAwG;wBACxG,kCAAkC;wBAClC,OAAO,CAAC,IAAI,iBAAG,EAAE,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAK,IAAI,EAAG,CAAC;qBAC1G;yBACI;wBACD,4BAA4B;wBAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC3E,IAAI,MAAM,EAAE;4BACR,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;yBAC9C;6BACI;4BACD,+EAA+E;4BAC/E,OAAO,CAAC,IAAI,iBAAG,EAAE,EAAE,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAK,IAAI,EAAG,CAAC;yBAChF;qBACJ;oBACD,OAAO,OAAO,CAAC;gBACnB,CAAC,EAAE,EAA2D,CAAC,CAAC;gBAEhE,cAAc;gBACd,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;gBAC5C,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gBACjB,KAAK,CAAC,YAAY,EAAE,CAAC;gBAErB,qBAAqB;aAGxB;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE;gBACtB,iDAAiD;aAEpD;QACL,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,KAAK,EAAE,MAAgB,EAAE,EAAE;YAC5C,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;YACxB,MAAM,aAAa,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,QAAQ,KAAK,GAAG,EAAE;gBAClB,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;aACtD;YACD,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,GAAG,GAAG,EAAyB,CAAC;YACpC,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;gBAC3B,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,aAAa,EAAE;oBAChB,aAAa,GAAG,IAAI,CAAC;oBACrB,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;iBACpD;qBACI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;iBACvD;gBACD,GAAG,GAAG,EAAE,CAAC;gBACT,IAAI,CAAC,EAAE;oBAAE,MAAM,CAAC,CAAC;iBAAE;YACvB,CAAC,CAAC;YACF,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,OAAO,IAAI,EAAE;gBACT,MAAM,aAAa,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,MAAM,UAAU,EAAE,CAAC,CAAC,sBAAsB;gBAC3D,MAAM,aAAa,EAAE,CAAC;gBACtB,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;gBACxB,MAAM,aAAa,EAAE,CAAC;gBACtB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC;gBAC1C,GAAG,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;gBACtB,UAAU,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,EAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBACnC,yEAAyE;oBACzE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;oBAE7B,IAAI,IAAI,KAAK,QAAQ,EAAE;wBACnB,4BAA4B;wBAC5B,MAAM,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;qBAC9C;yBACI;wBACD,MAAM,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;qBAC7C;iBACJ;gBAED,8DAA8D;gBAC9D,MAAM,aAAa,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,QAAQ,KAAK,GAAG,EAAE;oBAClB,6BAA6B;oBAC7B,KAAK,CAAC,KAAK,EAAE,CAAC;oBACd,MAAM;iBACT;gBACD,mBAAmB;gBACnB,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;aAC3B;YACD,MAAM,YAAY,GAAG,UAAU,KAAK,CAAC,IAAI,OAAO,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,CAAC;YACzE,IAAI,YAAY,EAAE;gBACd,sDAAsD;gBACtD,wDAAwD;gBACxD,yDAAyD;gBACzD,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;aACvD;YACD,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7B,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,KAAK,EAAE,MAAgB,EAAE,EAAE;YAC3C,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;YACxB,MAAM,aAAa,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,QAAQ,KAAK,GAAG,EAAE;gBAClB,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;aACtD;YACD,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,IAAI,GAAG,GAAG,EAAW,CAAC;YACtB,IAAI,OAAO,GAAG,EAAyB,CAAC;YACxC,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;gBAC1B,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,aAAa,EAAE;oBAChB,cAAc;oBACd,aAAa,GAAG,IAAI,CAAC;oBACrB,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;oBACjD,GAAG,GAAG,IAAI,CAAC,CAAC,KAAK;iBACpB;qBACI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBACtC,gBAAgB;oBAChB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;oBACxD,OAAO,GAAG,EAAE,CAAC;iBAChB;gBACD,IAAI,CAAC,EAAE;oBAAE,MAAM,CAAC,CAAC;iBAAE;YACvB,CAAC,CAAC;YACF,MAAM,SAAS,GAAG,CAAC,KAAU,EAAE,KAAa,EAAE,EAAE;gBAC5C,IAAI,aAAa,EAAE;oBACf,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;iBAC1B;qBACI;oBACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACnB;YACL,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,OAAO,IAAI,EAAE;gBACT,MAAM,aAAa,EAAE,CAAC;gBACtB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC;gBAC1C,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACxB,IAAI,CAAC,QAAQ,EAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBACnC,yEAAyE;oBACzE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,uBAAuB;oBAEpD,IAAI,IAAI,KAAK,QAAQ,EAAE;wBACnB,4BAA4B;wBAC5B,MAAM,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;qBAC3C;yBACI;wBACD,MAAM,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;qBAC1C;iBACJ;gBAED,6DAA6D;gBAC7D,MAAM,aAAa,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,QAAQ,KAAK,GAAG,EAAE;oBAClB,4BAA4B;oBAC5B,KAAK,CAAC,KAAK,EAAE,CAAC;oBACd,MAAM;iBACT;gBACD,mBAAmB;gBACnB,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;gBACxB,KAAK,EAAE,CAAC;aACX;YAED,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5B,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;YACrB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,EAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACnC,+CAA+C;gBAC/C,MAAM,MAAM,GAAG,uBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,IAAI,KAAK,QAAQ,EAAE;oBACnB,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;iBAC9B;qBACI;oBACD,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;iBAC7B;aACJ;iBACI;gBACD,eAAe;gBACf,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;aACjD;QACL,CAAC,CAAC;QACF,OAAO,KAAK,EAAE,CAAC;IACnB,CAAC;IAGD;;;;OAIG;IACH,SAAS,CAAC,IAAY,EAAE,MAAqB;QACzC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAC/B,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAC;SACxD;QACD,IAAI,MAAM,KAAK,IAAI,EAAE;YACjB,uCAAuC;YACvC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACxD,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrC,OAAO;SACV;QACD,iCAAiC;QACjC,MAAM,UAAU,GAAG,IAAI,+BAAgB,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACtD,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;SAC5B;aACI;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxB,MAAM,EAAE,GAAG,uBAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,uBAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC3E,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,EAAE;oBAAE,OAAO,CAAC,CAAC;iBAAE;gBAC1C,OAAO,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,IAAY;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,CAAC;IAED;;OAEG;IACH,UAAU;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAE,CAAC;IACjH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,cAAc,CAAC,IAAY,EAAE,KAAU,EAAE,UAKjC,EAAE,OAAO,EAAE,KAAK,EAAE;QAEtB,IAAI,MAAM,GAAuB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,uBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACrB,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAC/B,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACR,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBACrC,oEAAoE;gBAChE,MAAM,YAAY,GAAG,uBAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC1D,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC3E,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACzE,OAAO,MAAM,CAAC,EAAE,CAAC;aACpB;YAED,sEAAsE;YACtE,MAAM,SAAS,GAAG,uBAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;YACnE,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,KAAU,EAAE,SAA+B,EAAsB,EAAE;gBAC5F,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;oBACxB,kBAAkB;oBAClB,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;iBAC/C;qBACI,IAAI,KAAK,KAAK,IAAI,EAAE;oBACrB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,qDAAqD;iBAC7E;gBACD,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;oBAC5D,gDAAgD;oBAChD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;wBAC7C,wDAAwD;wBACxD,6DAA6D;wBAC7D,uCAAuC;wBACvC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;qBACvB;oBACD,IAAI,MAAM,CAAC;oBACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;wBAChC,MAAM,SAAS,GAAG,uBAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;wBACxD,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;wBACnC,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC1D,OAAO,MAAM,CAAC,EAAE,CAAC;oBACrB,CAAC,CAAC,CAAC;oBACH,OAAO,MAAM,CAAC;iBACjB;qBACI;oBACD,MAAM,SAAS,GAAG,uBAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACnD,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC9B,OAAO,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3D;YACL,CAAC,CAAC;YACF,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YACvC,OAAO,MAAM,CAAC,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAvoED,0BAuoEC"} \ No newline at end of file diff --git a/dist/cjs/storage/indexes.js.map b/dist/cjs/storage/indexes.js.map index dd5da85..61ab7b3 100644 --- a/dist/cjs/storage/indexes.js.map +++ b/dist/cjs/storage/indexes.js.map @@ -1 +1 @@ -{"version":3,"file":"indexes.js","sourceRoot":"","sources":["../ts/storage/indexes.ts"],"names":[],"mappings":";;;AAAA,+CAAiE;AAAxD,2GAAA,WAAW,OAAA"} \ No newline at end of file +{"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../../src/storage/indexes.ts"],"names":[],"mappings":";;;AAAA,+CAAiE;AAAxD,2GAAA,WAAW,OAAA"} \ No newline at end of file diff --git a/dist/cjs/storage/mssql/index.js.map b/dist/cjs/storage/mssql/index.js.map index 9837d1b..e848b53 100644 --- a/dist/cjs/storage/mssql/index.js.map +++ b/dist/cjs/storage/mssql/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/storage/mssql/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storage/mssql/index.ts"],"names":[],"mappings":";;;AAAA,+CAAgF;AAChF,0BAA0D;AAC1D,+CAA2C;AAC3C,6DAAqD;AACrD,mDAAyE;AACzE,iDAAuC;AACvC,qDAAiD;AAEjD,MAAa,gBAAiB,SAAQ,0BAAW;IAC7C,YAAY,aAAqB;QAC7B,KAAK,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;CACJ;AAJD,4CAIC;AAED,MAAa,aAAc,SAAQ,oBAAQ;IAOvC,YAAY,IAA4B;QACpC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAClC,CAAC;CACJ;AAdD,sCAcC;AAED,MAAa,oBAAqB,SAAQ,mBAAe;IAwFrD,YAAY,OAAsC;QAC9C,KAAK,CAAC,OAAO,CAAC,CAAC;QAvFnB;;;WAGG;QACH,WAAM,GAAyB,SAAS,CAAC;QAiBzC;;;WAGG;QACH,WAAM,GAAG,WAAW,CAAC;QAQrB;;;WAGG;QACH,SAAI,GAAG,IAAI,CAAC;QAOZ;;;WAGG;QACH,YAAO,GAAG,IAAI,CAAC;QAEf;;WAEG;QACH,YAAO,GAAG,SAAS,CAAC;QAEpB;;WAEG;QACH,sBAAiB,GAAG,KAAK,CAAC;QAE1B;;WAEG;QACH,mBAAc,GAAG,MAAM,CAAC;QAExB;;WAEG;QACH,mBAAc,GAAG,EAAE,CAAC;QAEpB;;WAEG;QACH,mBAAc,GAAG,CAAC,CAAC;QAEnB;;WAEG;QACH,gBAAW,GAAG,MAAM,CAAC;QAErB;;;WAGG;QACH,sBAAiB,GAAG,KAAK,CAAC;QAKtB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QAC7H,IAAI,CAAC,cAAc,GAAG,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACvH,IAAI,CAAC,cAAc,GAAG,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,IAAI,CAAC,cAAc,GAAG,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,WAAW,GAAG,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM;QACpG,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,KAAK,IAAI,CAAC;QAC5D,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;YACpD,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;SAC9G;IACL,CAAC;CACJ;AA/GD,oDA+GC;AAED,MAAa,YAAa,SAAQ,WAAO;IAQrC;;;OAGG;IACH,YAAY,IAAY,EAAE,QAAuC,EAAE,GAAe;QAE9E,QAAQ,GAAG,IAAI,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,EAAE,QAAgC,EAAE,GAAG,CAAC,CAAC;QAEnD,mFAAmF;QACnF,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE;YACnC,gCAAgC;YAChC,IAAI;gBACA,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;aAC7C;YACD,OAAO,GAAG,EAAE;gBACR,MAAM,IAAI,KAAK,CAAC,wKAAwK,CAAC,CAAC;aAC7L;SACJ;QACD,6BAA6B;QAC7B,IAAI;YACA,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;SACjC;QACD,OAAO,GAAG,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAC;SACpH;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI;QAEN,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,UAAU,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,gBAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,EAAE;YACT,IAAI;gBACA,MAAM,gBAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACzB;YACD,OAAO,GAAG,EAAE;gBACR,OAAO,CAAC,KAAK,CAAC,sBAAsB,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;gBACrD,MAAM,GAAG,CAAC;aACb;SACJ;QAED,UAAU;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;YACrC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,OAAO,EAAE;gBACL,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,uBAAuB,EAAE,IAAI;gBAC7B,YAAY,EAAE,QAAQ,CAAC,QAAQ;gBAC/B,kBAAkB;gBAClB,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;aAChD;YACD,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;YAC7C,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,IAAI,EAAE;gBACF,GAAG,EAAE,QAAQ,CAAC,cAAc;gBAC5B,GAAG,EAAE,QAAQ,CAAC,cAAc;gBAC5B,iBAAiB,EAAE,QAAQ,CAAC,WAAW;aAC1C;SACJ,CAAC,CAAC;QAEH,IAAI;YACA,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,qCAAqC;YACrC,MAAM,MAAM,GAAG;gBACX,QAAQ,EAAE;oBACN,MAAM,EAAE,oFAAoF;oBAC5F,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;iBACpD;gBACD,KAAK,EAAE;oBACH,MAAM,EAAE;;;;;;;;;;;sBAWN;oBACF,IAAI,EAAE,CAAC;4BACH,IAAI,EAAE,EAAE;4BACR,IAAI,EAAE,8BAAW,CAAC,MAAM;4BACxB,UAAU,EAAE,IAAI;4BAChB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;4BACnB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;4BACpB,WAAW,EAAE,CAAC;4BACd,QAAQ,EAAE,iBAAE,CAAC,QAAQ,EAAE;yBAC1B,CAAC;iBACL;gBACD,IAAI,EAAE;oBACF,MAAM,EAAE;;;;;;;sBAON;oBACF,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;iBACjE;aACJ,CAAC;YAGF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,0FAA0F,CAAC,CAAC;YACzH,IAAI,CAAC,OAAO,CAAC,CAAC,GAAwB,EAAE,EAAE;gBACtC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,kCAAkC;YAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAe,EAAE,EAAE;;gBAC/D,eAAe;gBACf,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAErC,6BAA6B;gBAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;oBACnB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAa,CAAC;oBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;wBAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC9B,4GAA4G;wBAC5G,oFAAoF;wBACpF,MAAM,GAAG,GAAG,eAAe,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;wBACvG,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAS,CAAC,CAAC;wBAC1F,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBAClC,CAAC,CAAC,CAAC;oBACH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;iBAC/B;gBACD,sBAAsB;gBACtB,MAAM,CAAA,MAAA,MAAC,MAAM,CAAC,IAAI,CAAS,EAAC,MAAM,kDAAI,CAAA,CAAC;YAC3C,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE5B,uBAAuB;YACvB,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAE7C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,yBAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,yBAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACnG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC,yBAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YAExG,eAAe;YACf,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACtB;QACD,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,sCAAsC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SAC3B;IACL,CAAC;IAEO,eAAe,CAAC,OAAY,EAAE,GAAW,EAAE,MAAW;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACrC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,KAAK,KAAK,IAAI,EAAE;gBAChB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;gBACvD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpB,OAAO;aACV;YACD,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE;gBACf,QAAQ,OAAO,KAAK,EAAE;oBAClB,KAAK,QAAQ,CAAC,CAAC,OAAO,KAAK,CAAC,QAAQ,CAAC;oBACrC,KAAK,QAAQ,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC;oBACnC,KAAK,QAAQ,CAAC,CAAC;wBACX,IAAI,KAAK,YAAY,WAAW,IAAI,KAAK,YAAY,MAAM,EAAE;4BACzD,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;yBAC5C;6BACI;4BACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;yBAC/C;qBACJ;oBACD;wBACI,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;iBACjD;YACL,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,MAAY;QACxC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC,SAAkB,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,MAAY;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,CAAC,CAAQ,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,MAAY;QACzC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC,CAAC,gBAAgB;IACnC,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,GAAW,EAAE,SAAc,EAAE,EAAE,QAA+B;QACxE,SAAS;QACT,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAEtB,OAAO,IAAI,OAAO,CAAsC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxE,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAQ,EAAE,EAAE;gBAC3B,sCAAsC;gBACtC,IAAI,QAAQ,EAAE;oBACV,OAAO,CAAC,wDAAwD;iBACnE;gBACD,SAAS,EAAE,CAAC;gBACZ,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC;gBACnC,IAAI,QAAQ,EAAE;oBACV,OAAO,CAAC,MAAM,EAAE,CAAC;oBACjB,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBAChD;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;gBAC7B,gCAAgC;gBAChC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;oBACxB,MAAM,CAAC,GAAG,CAAC,CAAC;iBACf;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAe,EAAE,EAAE;gBACnC,iCAAiC;gBACjC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,kBAAkB;QACtB,MAAM,KAAK,GAAG,EAA0C,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;YACnB,MAAM,OAAO,GAAG,EAAE,CAAC;YAEnB,6BAA6B;YAC7B,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI;gBACA,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,MAAY,EAAE,EAAE;oBACvC,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBAC/C,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBACtD,CAAC,CAAC;gBAEF,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE;oBAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;oBAC3D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACxB;gBAED,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC3B,OAAO,OAAO,CAAC;aAClB;YACD,OAAO,GAAG,EAAE;gBACR,kFAAkF;gBAClF,oBAAoB;gBACpB,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,uBAAuB,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChH,MAAc,CAAC,KAAK,GAAG,GAAG,CAAC;gBAC5B,MAAM,MAAM,CAAC;aAChB;QACL,CAAC,CAAC,CAAC,MAAM;QAET,OAAO;YACH,GAAG,CAAC,GAAW,EAAE,MAAY;gBACzB,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YAChC,CAAC;YACD,GAAG;SACN,CAAC;IACN,CAAC;IAED,uBAAuB,CAAC,GAAY;QAChC,IAAI,IAAY,CAAC;QACjB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACzB,IAAI,GAAG,8BAAW,CAAC,MAAM,CAAC;SAC7B;aACI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC9B,IAAI,GAAG,8BAAW,CAAC,MAAM,CAAC;SAC7B;aACI,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE;YAC/B,IAAI,GAAG,8BAAW,CAAC,OAAO,CAAC;SAC9B;aACI,IAAI,GAAG,YAAY,KAAK,EAAE;YAC3B,IAAI,GAAG,8BAAW,CAAC,KAAK,CAAC;SAC5B;aACI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC9B,IAAI,MAAM,IAAI,GAAG,EAAE;gBACf,IAAI,GAAI,GAAW,CAAC,IAAI,CAAC;gBACzB,GAAG,GAAI,GAAW,CAAC,KAAK,CAAC;gBACzB,IAAI,IAAI,KAAK,8BAAW,CAAC,QAAQ,EAAE;oBAC/B,GAAG,GAAG,IAAI,IAAI,CAAC,GAAa,CAAC,CAAC;iBACjC;qBACI,IAAI,IAAI,KAAK,8BAAW,CAAC,SAAS,EAAE;oBACrC,GAAG,GAAG,IAAI,4BAAa,CAAC,GAAa,CAAC,CAAC;iBAC1C;aACJ;iBACI;gBACD,IAAI,GAAG,8BAAW,CAAC,MAAM,CAAC;aAC7B;SACJ;aACI;YACD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACzC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAU,EAAE,CAAC;IACvC,CAAC;IAED,WAAW,CAAC,GAAQ;QAChB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC3B,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,IAAI,KAAK,YAAY,IAAI,EAAE;gBACvB,KAAK,GAAG,EAAE,IAAI,EAAE,8BAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;aAClE;iBACI,IAAI,KAAK,YAAY,4BAAa,EAAE;gBACrC,KAAK,GAAG,EAAE,IAAI,EAAE,8BAAW,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;aAC9D;iBACI,IAAI,KAAK,YAAY,WAAW,EAAE;gBACnC,KAAK,GAAG,EAAE,IAAI,EAAE,8BAAW,CAAC,MAAM,EAAE,KAAK,EAAE,sBAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;aACtE;iBACI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAChC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aACnC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,gBAAgB,CAAC,IAAkD,EAAE,IAAY;QAC7E,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE7B,sFAAsF;QACtF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE;gBAC1C,sCAAsC;gBACtC,IAAI,GAAG,CAAC,IAAI,KAAK,8BAAW,CAAC,MAAM,EAAE;oBACjC,+CAA+C;oBAC/C,KAAK,CAAC,GAAG,CAAC,GAAG,sBAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBAC1C;qBACI,IAAI,GAAG,CAAC,IAAI,KAAK,8BAAW,CAAC,QAAQ,EAAE;oBACxC,8BAA8B;oBAC9B,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBACpC;qBACI,IAAI,GAAG,CAAC,IAAI,KAAK,8BAAW,CAAC,SAAS,EAAE;oBACzC,kCAAkC;oBAClC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,4BAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBAC7C;qBACI;oBACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;iBAC7D;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,KAAK,8BAAW,CAAC,KAAK,EAAE;YAC5B,iDAAiD;YACjD,MAAM,GAAG,GAAG,EAAW,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC/B,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,KAAK,GAAG,GAAG,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,UAAU,CACtB,IAAY,EACZ,KAAU,EACV,UAII;QACA,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;KACpB;QAED,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC7D;QAED,oBAAoB;QACpB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAErE,sCAAsC;QACtC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,8GAA8G,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,qDAAqD;QACtN,MAAM,WAAW,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,iBAAE,CAAC,QAAQ,EAAE,CAAC;QAEnE,MAAM,QAAQ,GAAG;YACb,IAAI,EAAE,8BAAW,CAAC,MAAM;YACxB,KAAK,EAAE,EAAS;YAChB,WAAW,EAAE,MAAM;SACtB,CAAC;QACF,MAAM,eAAe,GAAG,EAAS,CAAC;QAClC,IAAI,KAAK,YAAY,KAAK,EAAE;YACxB,QAAQ,CAAC,IAAI,GAAG,8BAAW,CAAC,KAAK,CAAC;YAClC,kDAAkD;YAClD,MAAM,GAAG,GAAG,EAAS,CAAC;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;aACrB;YACD,KAAK,GAAG,GAAG,CAAC;SACf;aACI,IAAI,KAAK,YAAY,4BAAa,EAAE;YACrC,QAAQ,CAAC,IAAI,GAAG,8BAAW,CAAC,SAAS,CAAC;YACtC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;YAC5B,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC;SACjC;aACI,IAAI,KAAK,YAAY,WAAW,EAAE;YACnC,QAAQ,CAAC,IAAI,GAAG,8BAAW,CAAC,MAAM,CAAC;YACnC,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC;SACnC;aACI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAChC,QAAQ,CAAC,IAAI,GAAG,8BAAW,CAAC,MAAM,CAAC;YACnC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;YACvB,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC;SACjC;QAED,MAAM,sBAAsB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,8BAAW,CAAC,MAAM,EAAE,8BAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACtH,MAAM,kBAAkB,GAAG,CAAC,8BAAW,CAAC,MAAM,EAAE,8BAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3F,MAAM,QAAQ,GAAG;YACb,OAAO,EAAE,EAAyB;YAClC,GAAG,EAAE,EAAyB;SACjC,CAAC;QACF,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,IAAI,sBAAsB,EAAE;YACxB,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;YAC9E,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9C,IAAI,kBAAkB,EAAE;gBACpB,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC;aAClC;SACJ;QACD,IAAI,kBAAkB,EAAE;YACpB,8EAA8E;YAC9E,gDAAgD;YAChD,wDAAwD;YACxD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvB,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,wEAAwE;gBACpG,IAAI,GAAG,KAAK,IAAI,EAAE,EAAE,iCAAiC;oBACjD,4BAA4B;oBAC5B,OAAO;iBACV;gBACD,6BAA6B;gBAC7B,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;oBAC3B,qBAAqB;oBACrB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;iBAC7B;qBACI;oBACD,sBAAsB;oBACtB,eAAe,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;iBAC9B;YACL,CAAC,CAAC,CAAC;SACN;QAED,wBAAwB;QACxB,IAAI,UAAU,EAAE;YACZ,SAAS;YACT,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI,cAAc,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,yBAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YAElH,MAAM,cAAc,GAAG,GAAG,EAAE;gBACxB,MAAM,GAAG,GAAG;uCACW,CAAC;gBACxB,MAAM,MAAM,GAAG;oBACX,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,UAAU,EAAE,QAAQ,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;oBACnE,YAAY,EAAE,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;oBACvE,UAAU,EAAE,QAAQ,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;oBACrF,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;oBACpB,gDAAgD;oBAChD,QAAQ,EAAE,WAAW;iBACxB,CAAC;gBACF,qBAAqB;gBACrB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC7B,IAAI;gBACJ,SAAS;gBACT,sCAAsC;gBACtC,IAAI;YACR,CAAC,CAAC;YAEF,qFAAqF;YACrF,IAAI,sBAAsB,IAAI,kBAAkB,EAAE;gBAE9C,qDAAqD;gBACrD,IAAI,SAAS,GAAG,EAAW,CAAC;gBAC5B,IAAI,sBAAsB,EAAE;oBACxB,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE;wBACrB,CAAC,CAAC,oCAAoC;wBACtC,CAAC,CAAC,eAAe,IAAI,qBAAqB,IAAI,2BAA2B,IAAI,4BAA4B,IAAI,6BAA6B,IAAI,QAAQ,CAAC;oBAC3J,wEAAwE;oBACxE,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;iBACxE;gBACD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,uBAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC9D,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjD,IAAI,kBAAkB,EAAE;oBACpB,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;wBAC1B,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;qBAC3C;oBACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;wBAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;4BAC7B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBAC1B;oBACL,CAAC,CAAC,CAAC;iBACN;gBAED,4EAA4E;gBAC5E,MAAM,OAAO,GAAG;oBACZ,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACnE,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAClE,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;iBACzJ,CAAC;gBAEF,sEAAsE;gBACtE,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBAC/D,MAAM,SAAS,GAAG,uBAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACnD,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;oBACxC,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,uGAAuG;gBAChN,CAAC,CAAC,CAAC;gBAEH,qFAAqF;gBACrF,2EAA2E;gBAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,wCAAwC;gBACvG,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC/D,0DAA0D;gBAC1D,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBAC9B,MAAM,SAAS,GAAG,uBAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACnD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,uDAAuD;gBACzG,CAAC,CAAC,CAAC;gBAEH,cAAc,EAAE,CAAC;gBACjB,MAAM,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;aAC1C;iBACI;gBACD,qDAAqD;gBACrD,cAAc,EAAE,CAAC;aACpB;SACJ;aACI;YACD,6DAA6D;YAC7D,gEAAgE;YAChE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI,oBAAoB,CAAC,QAAQ,CAAC,yBAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7E,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC/D,MAAM,SAAS,GAAG,uBAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACnD,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBACxC,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,0FAA0F;YACnM,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAEvC,sBAAsB;YACtB,MAAM,GAAG,GAAG;6HACqG,CAAC;YAClH,MAAM,MAAM,GAAG;gBACX,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,UAAU,EAAE,QAAQ,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBACnE,YAAY,EAAE,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBACvE,UAAU,EAAE,QAAQ,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gBACrF,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;gBACnB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;gBACpB,WAAW,EAAE,CAAC;gBACd,QAAQ,EAAE,WAAW;aACxB,CAAC;YAEF,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,kCAAkC;SACnE;QACD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YACtB,sCAAsC;YACtC,IAAI;gBACA,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC;aAC3B;YACD,OAAM,GAAG,EAAE;gBACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,MAAM,GAAG,CAAC;aACb;SACJ;IACL,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAAY,EAAE,UAAU,EAAE,WAAW,EAAE,IAAsD,EAAE;QACvG,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,mBAAmB,IAAI,qBAAqB,IAAI,KAAK,CAAC;QAC5G,MAAM,GAAG,GAAG,qBAAqB,KAAK,EAAE,CAAC;QACzC,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE;YAChC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SAChC;aACI;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC1B;IACL,CAAC;IAED;;OAEG;IACH,WAAW,CACP,IAAY,EACZ,UAGI,EAAE;QAIN,IAAI,QAA0B,CAAC;QAC/B,MAAM,SAAS,GAAG;YACd;;;eAGG;YACH,IAAI,CAAC,aAA+B;gBAChC,QAAQ,GAAG,aAAa,CAAC;gBACzB,OAAO,KAAK,EAAE,CAAC;YACnB,CAAC;SACJ,CAAC;QACF,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;YACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,iBAAE,CAAC,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;YACpF,IAAI;gBACA,MAAM,GAAG,GAAQ,MAAM,IAAI,CAAC,OAAO,CAAC,iGAAiG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvJ,IAAI,CAAC,GAAG,EAAE;oBAAE,MAAM,IAAI,+BAAiB,CAAC,UAAU,IAAI,kBAAkB,CAAC,CAAC;iBAAE;gBAC5E,IAAI,CAAC,CAAC,8BAAW,CAAC,MAAM,EAAE,8BAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC7D,cAAc;oBACd,OAAO,KAAK,CAAC,CAAC,iBAAiB;iBAClC;gBACD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,8BAAW,CAAC,KAAK,CAAC;gBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACzC,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC9B,IAAI,OAAO,CAAC,SAAS,EAAE;oBACnB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC9D;gBACD,MAAM,QAAQ,GAAG,uBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBAChC,MAAM,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;oBAEvD,MAAM,IAAI,GAAG,IAAI,aAAa,6CAC1B,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAC1B,CAAC,CAAC,OAAO,IAAI,EAAE,GAAG,EAAE,CAAC,GACrB,CAAC,OAAO,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KACxC,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,OAAO,EAAE,IAAI,EACb,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ,EACtB,WAAW,EAAE,GAAG,CAAC,WAAW,EAC5B,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAC9B,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAClC,CAAC;oBAEH,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;oBACpC,OAAO,CAAC,QAAQ,CAAC,CAAC,+BAA+B;gBACrD,CAAC,CAAC,CAAC;gBACH,IAAI,QAAQ,EAAE;oBACV,OAAO,CAAC,gBAAgB;iBAC3B;gBACD,gCAAgC;gBAChC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE;oBACrB,CAAC,CAAC,wDAAwD,CAAC,mDAAmD;oBAC9G,CAAC,CAAC,cAAc,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,yBAAyB,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,2BAA2B,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;gBAC7J,MAAM,CAAC,GAAG,gFAAgF,KAAK,EAAE,CAAC;gBAClG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE;oBAC5B,MAAM,GAAG,GAAG,uBAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;oBACvC,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBAAE,OAAO;qBAAE;oBAEtE,MAAM,IAAI,GAAG,IAAI,aAAa,6CAC1B,IAAI,EAAE,GAAG,CAAC,IAAI,EACd,IAAI,EAAE,GAAG,CAAC,IAAI,IACX,CAAC,CAAC,OAAO,IAAI,EAAE,GAAG,EAAE,GAAa,EAAE,CAAC,GACpC,CAAC,OAAO,IAAI,EAAE,KAAK,EAAE,GAAa,EAAE,CAAC,KACxC,OAAO,EAAE,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EACvC,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,GAAG,CAAC,QAAQ,EACtB,WAAW,EAAE,GAAG,CAAC,WAAW,EAC5B,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAC9B,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAClC,CAAC;oBAEH,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;oBACpC,OAAO,CAAC,QAAQ,CAAC,CAAC,+BAA+B;gBACrD,CAAC,CAAC,CAAC;aACN;oBACO;gBACJ,IAAI,CAAC,OAAO,EAAE,CAAC;aAClB;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC,UAAU;QACb,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO,CACT,IAAY,EACZ,UAKI,EAAE,aAAa,EAAE,IAAI,EAAE;QAE3B,iFAAiF;QAEjF,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAE,IAAG,iBAAE,CAAC,QAAQ,EAAE,CAAC;QACtD,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC9E,IAAI;YACA,8BAA8B;YAC9B,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,IAAI,KAAK,EAAE,EAAE;gBACb,IAAI,OAAO,IAAI,OAAO,CAAC,aAAa,KAAK,KAAK,EAAE;oBAC5C,KAAK,GAAG,iCAAiC,8BAAW,CAAC,MAAM,IAAI,8BAAW,CAAC,KAAK,GAAG,CAAC;iBACvF;aACJ;iBACI,IAAI,OAAO,IAAI,OAAO,CAAC,aAAa,KAAK,KAAK,EAAE;gBACjD,KAAK,GAAG,eAAe,IAAI,qBAAqB,IAAI,qBAAqB,IAAI,yBAAyB,8BAAW,CAAC,MAAM,IAAI,8BAAW,CAAC,KAAK,IAAI,CAAC;aACrJ;iBACI;gBACD,KAAK,GAAG,iBAAiB,IAAI,mBAAmB,IAAI,qBAAqB,IAAI,KAAK,CAAC;aACtF;YACD,IAAI,IAAW,CAAC;YAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,EAAE;gBACpF,8BAA8B;gBAC9B,6LAA6L;gBAC7L,sDAAsD;gBACtD,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;gBAChE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrB,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO;oBAChC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;oBACzH,CAAC,CAAC,IAAI,CAAC;gBACX,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO;oBAChC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;oBACzH,CAAC,CAAC,IAAI,CAAC;gBAEX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAClC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpB,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE;wBACnB,SAAS,CAAC,oCAAoC;qBACjD;oBACD,IAAI,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC5C,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;wBAAE,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBAAE;oBAC7D,MAAM,KAAK,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;2BAC3D,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;2BACrD,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,8BAAW,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC7G,IAAI,KAAK,EAAE;wBACP,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;qBACxB;iBACJ;gBAED,oDAAoD;gBACpD,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,+FAA+F,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAChK;iBACI;gBACD,eAAe;gBACf,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gFAAgF,KAAK,EAAE,CAAC,CAAC;aACnH;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnB,qBAAqB;gBACrB,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjC,IAAI,IAAI,KAAK,EAAE,EAAE;oBAAE,OAAO,IAAI,CAAC;iBAAE,CAAC,oCAAoC;gBACtE,MAAM,QAAQ,GAAG,uBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,8DAA8D,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;gBAC3H,MAAM,MAAM,GAAG;oBACX,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;oBAC/C,KAAK,EAAE,IAAW;iBACrB,CAAC;gBACF,IAAI,CAAC,SAAS,EAAE;oBAAE,OAAO,MAAM,CAAC;iBAAE,CAAC,4BAA4B;gBAC/D,IAAI,CAAC,CAAC,8BAAW,CAAC,MAAM,EAAE,8BAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;oBAAE,OAAO,MAAM,CAAC;iBAAE,CAAC,+BAA+B;gBAEzH,+CAA+C;gBAC/C,4EAA4E;gBAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;gBACxE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE;oBAAE,OAAO,MAAM,CAAC;iBAAE,CAAC,kDAAkD;gBACjG,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,MAAM,CAAC;aACjB;YAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,IAAI,SAAS,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,iBAAiB,IAAI,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,yBAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YAE7I,MAAM,cAAc,GAAG,uBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG;gBACX,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;gBAC/C,KAAK,EAAE,IAAW;aACrB,CAAC;YACF,IAAI,SAAS,CAAC,IAAI,KAAK,8BAAW,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,KAAK,8BAAW,CAAC,KAAK,EAAE;gBAC/E,oCAAoC;gBACpC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;gBAE1E,yCAAyC;gBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACzB,IAAI,QAAQ,KAAK,SAAS,EAAE;wBAAE,SAAS;qBAAE;oBACzC,MAAM,QAAQ,GAAG,uBAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACrD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBACxD,IAAI,MAAM,GAAG,KAAK,CAAC;oBACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACxC,OAAO,CAAC,MAAM,CAAC,OAAO,MAAM,KAAK,QAAQ,EAAE,mDAAmD,CAAC,CAAC;wBAChG,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;wBACzB,MAAM,MAAM,GAAG,CAAC,KAAK,SAAS,CAAC,MAAM,GAAC,CAAC,CAAC;wBACxC,MAAM,QAAQ,GAAG,MAAM;4BACnB,CAAC,CAAC,QAAQ,CAAC,IAAI;4BACf,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,GAAC,CAAC,CAAC,KAAK,QAAQ;gCAChC,CAAC,CAAC,8BAAW,CAAC,KAAK;gCACnB,CAAC,CAAC,8BAAW,CAAC,MAAM,CAAC;wBAC7B,IAAI,SAAc,CAAC;wBACnB,IAAI,CAAC,MAAM,EAAE;4BACT,SAAS,GAAG,QAAQ,KAAK,8BAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACzD;6BACI,IAAI,QAAQ,KAAK,8BAAW,CAAC,MAAM,IAAI,QAAQ,KAAK,8BAAW,CAAC,KAAK,EAAE;4BACxE,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;yBACzE;6BACI,IAAI,QAAQ,KAAK,8BAAW,CAAC,SAAS,EAAE;4BACzC,SAAS,GAAG,IAAI,4BAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;yBACtD;6BACI,IAAI,QAAQ,KAAK,8BAAW,CAAC,MAAM,EAAE;4BACtC,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC;yBACrC;6BACI;4BACD,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC;yBACnC;wBACD,IAAI,GAAG,IAAI,MAAM,EAAE;4BACf,oBAAoB;4BACpB,OAAO,CAAC,MAAM,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,OAAO,SAAS,IAAI,CAAC,8BAAW,CAAC,MAAM,EAAE,8BAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,kGAAkG,CAAC,CAAC;4BAC1N,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gCACtC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,8CAA8C,CAAC,CAAC;gCAC3F,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;4BAChD,CAAC,CAAC,CAAC;yBACN;6BACI;4BACD,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;yBAC3B;wBACD,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;qBACxB;iBACJ;gBAED,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;aACxB;iBACI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;aACrE;iBACI,IAAI,SAAS,CAAC,IAAI,KAAK,8BAAW,CAAC,SAAS,EAAE;gBAC/C,MAAM,CAAC,KAAK,GAAG,IAAI,4BAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;aAC1D;iBACI,IAAI,SAAS,CAAC,IAAI,KAAK,8BAAW,CAAC,MAAM,EAAE;gBAC5C,6CAA6C;gBAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC;gBACnC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;aACpF;iBACI;gBACD,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC;aACvC;YAED,4EAA4E;YAC5E,gFAAgF;YAChF,+CAA+C;YAC/C,MAAM;YACN,4EAA4E;YAC5E,mDAAmD;YACnD,4EAA4E;YAC5E,oCAAoC;YAEpC,IAAI,OAAO,CAAC,aAAa,KAAK,KAAK,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACpC,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,KAAK,MAAM,EAAE;wBACnF,+CAA+C;wBAC/C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;wBAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBAC5B;gBACL,CAAC,CAAC,CAAC;aACN;YAED,IAAI,OAAO,CAAC,OAAO,EAAE;gBACjB,MAAM,OAAO,GAAG,CAAC,GAAQ,EAAE,IAAyB,EAAE,EAAE;oBACpD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;wBAAE,OAAO;qBAAE;oBACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpB,IAAI,GAAG,KAAK,GAAG,EAAE;wBACb,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;4BACzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnC,CAAC,CAAC,CAAC;qBACN;yBACI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;wBACtB,GAAG,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;qBAClD;yBACI;wBACD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;qBACnB;gBACL,CAAC,CAAC;gBACF,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC3B,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,uBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACjF,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;aACN;YACD,OAAO,MAAM,CAAC;SACjB;gBACO;YACJ,IAAI,CAAC,OAAO,EAAE,CAAC;SAClB;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CACb,IAAY,EACZ,UAAqC,EAAE;QAGvC,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,yHAAyH,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAClK,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnB,OAAO,IAAI,CAAC;aACf;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,IAAI,GAAG,CAAC,IAAI,KAAK,8BAAW,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,8BAAW,CAAC,KAAK,EAAE;gBACnE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aACtC;iBACI,IAAI,GAAG,CAAC,IAAI,KAAK,8BAAW,CAAC,MAAM,EAAE;gBACtC,4CAA4C;gBAC5C,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;gBAC7B,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;aAC7E;iBACI;gBACD,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC;aAC1B;YACD,OAAO;gBACH,IAAI;gBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK;gBACL,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,WAAW,EAAE,GAAG,CAAC,WAAW;aAC/B,CAAC;QACN,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,uBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,iBAAE,CAAC,QAAQ,EAAE,CAAC;QACtD,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QAClF,IAAI;YACA,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC;gBAC3B,IAAI;gBACJ,GAAG,EAAE,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;gBAC3D,KAAK,EAAE,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;gBAC7D,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM,EAAE,IAAI,KAAK,IAAI;gBACrB,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;gBACjD,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC7C,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC/C,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;gBACrC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;aAC9C,CAAC,CAAC;YACH,uDAAuD;YACvD,yDAAyD;YACzD,+CAA+C;YAC/C,qDAAqD;YAErD,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;gBACrB,OAAO,IAAI,CAAC;aACf;YAED,kBAAkB;YAClB,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,MAAM,IAAI,CAAC,8BAAW,CAAC,MAAM,EAAE,8BAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE;gBACzG,wBAAwB;gBACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,kEAAkE;gBACvF,QAAQ,OAAO,IAAI,CAAC,KAAK,EAAE;oBACvB,KAAK,QAAQ,CAAC,CAAC;wBACX,IAAI,CAAC,IAAI,GAAG,8BAAW,CAAC,MAAM,CAAC;wBAAC,MAAM;qBACzC;oBACD,KAAK,QAAQ,CAAC,CAAC;wBACX,IAAI,CAAC,IAAI,GAAG,8BAAW,CAAC,MAAM,CAAC;wBAAC,MAAM;qBACzC;oBACD,KAAK,SAAS,CAAC,CAAC;wBACZ,IAAI,CAAC,IAAI,GAAG,8BAAW,CAAC,OAAO,CAAC;wBAAC,MAAM;qBAC1C;oBACD,KAAK,QAAQ,CAAC,CAAC;wBACX,yEAAyE;wBACzE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;wBAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,8BAAW,CAAC,QAAQ,EAAE;4BACpC,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB;yBAC/D;wBACD,MAAM;qBACT;iBACJ;gBACD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAChC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;aACzC;iBACI;gBACD,0EAA0E;gBAC1E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACvB;YACD,OAAO,IAAI,CAAC;SACf;gBACO;YACJ,IAAI,CAAC,OAAO,EAAE,CAAC;SAClB;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CACT,IAAY,EACZ,KAAU,EACV,UAKI;QACA,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,IAAI;KAChB;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SAC3D;QACD,MAAM,QAAQ,GAAG,uBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpC,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,iBAAE,CAAC,QAAQ,EAAE,CAAC;QACtD,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC7E,IAAI;YACA,IAAI,IAAI,KAAK,EAAE,EAAE;gBACb,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,YAAY,WAAW,IAAI,CAAC,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,YAAY,WAAW,CAAC,EAAE;oBACrK,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;iBAC5D;gBACD,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;aAC3I;iBACI,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,WAAW,EAAE;gBAChE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC7D,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,eAAe,EAAE;oBAC3C,MAAM,IAAI,+BAAiB,CAAC,aAAa,IAAI,CAAC,QAAQ,wCAAwC,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC;iBAC7H;gBACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;oBAC5E,iBAAiB;oBACjB,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;iBAC7I;qBACI;oBACD,qBAAqB;oBACrB,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;iBAC/K;aACJ;iBACI;gBACD,8CAA8C;gBAC9C,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;aACvJ;SACJ;gBACO;YACJ,IAAI,CAAC,OAAO,EAAE,CAAC;SAClB;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,IAAY,EACZ,OAAY,EACZ,UAII;QACA,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,IAAI;KAChB;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SAC3D;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,EAAE,wCAAwC;YACvE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC,uCAAuC;SACvF;QAED,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,iBAAE,CAAC,QAAQ,EAAE,CAAC;QACtD,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAEhF,IAAI;YACA,8BAA8B;YAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,uBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE;gBACvE,+CAA+C;gBAC/C,YAAY;gBACZ,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;aAC9I;iBACI,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACtB,iDAAiD;gBACjD,MAAM,QAAQ,GAAG,uBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;aACjL;iBACI;gBACD,yFAAyF;gBACzF,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;aACxJ;SACJ;gBACO;YACJ,IAAI,CAAC,OAAO,EAAE,CAAC;SAClB;IACL,CAAC;CACJ;AAtnCD,oCAsnCC"} \ No newline at end of file diff --git a/dist/cjs/storage/sqlite/index.js.map b/dist/cjs/storage/sqlite/index.js.map index 4ad570b..596faca 100644 --- a/dist/cjs/storage/sqlite/index.js.map +++ b/dist/cjs/storage/sqlite/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/storage/sqlite/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storage/sqlite/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/storage/storage-custom.js b/dist/cjs/storage/storage-custom.js deleted file mode 100644 index f5324d3..0000000 --- a/dist/cjs/storage/storage-custom.js +++ /dev/null @@ -1,1217 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CustomStorage = exports.CustomStorageNodeInfo = exports.CustomStorageNodeAddress = exports.CustomStorageSettings = exports.CustomStorageTransaction = exports.ICustomStorageNode = exports.ICustomStorageNodeMetaData = exports.CustomStorageHelpers = void 0; -const acebase_core_1 = require("acebase-core"); -const { compareValues } = acebase_core_1.Utils; -const node_info_1 = require("../node-info"); -const node_lock_1 = require("../node-lock"); -const node_value_types_1 = require("../node-value-types"); -const node_errors_1 = require("../node-errors"); -const index_1 = require("./index"); -const helpers_1 = require("./custom/helpers"); -const node_address_1 = require("../node-address"); -var helpers_2 = require("./custom/helpers"); -Object.defineProperty(exports, "CustomStorageHelpers", { enumerable: true, get: function () { return helpers_2.CustomStorageHelpers; } }); -/** Interface for metadata being stored for nodes */ -class ICustomStorageNodeMetaData { - constructor() { - /** cuid (time sortable revision id). Nodes stored in the same operation share this id */ - this.revision = ''; - /** Number of revisions, starting with 1. Resets to 1 after deletion and recreation */ - this.revision_nr = 0; - /** Creation date/time in ms since epoch UTC */ - this.created = 0; - /** Last modification date/time in ms since epoch UTC */ - this.modified = 0; - /** Type of the node's value. 1=object, 2=array, 3=number, 4=boolean, 5=string, 6=date, 7=reserved, 8=binary, 9=reference */ - this.type = 0; - } -} -exports.ICustomStorageNodeMetaData = ICustomStorageNodeMetaData; -/** Interface for metadata combined with a stored value */ -class ICustomStorageNode extends ICustomStorageNodeMetaData { - constructor() { - super(); - /** only Object, Array, large string and binary values. */ - this.value = null; - } -} -exports.ICustomStorageNode = ICustomStorageNode; -/** Enables get/set/remove operations to be wrapped in transactions to improve performance and reliability. */ -class CustomStorageTransaction { - /** - * @param target Which path the transaction is taking place on, and whether it is a read or read/write lock. If your storage backend does not support transactions, is synchronous, or if you are able to lock resources based on path: use storage.nodeLocker to ensure threadsafe transactions - */ - constructor(target) { - this.production = false; // dev mode by default - this.target = { - get originalPath() { return target.path; }, - path: target.path, - get write() { return target.write; }, - }; - this.id = acebase_core_1.ID.generate(); - } - /** - * Returns the number of children stored in their own records. This implementation uses `childrenOf` to count, override if storage supports a quicker way. - * Eg: For SQL databases, you can implement this with a single query like `SELECT count(*) FROM nodes WHERE ${CustomStorageHelpers.ChildPathsSql(path)}` - * @param path - * @returns Returns a promise that resolves with the number of children - */ - async getChildCount(path) { - let childCount = 0; - await this.childrenOf(path, { metadata: false, value: false }, () => { childCount++; return false; }); - return childCount; - } - /** - * NOT USED YET - * Default implementation of getMultiple that executes .get for each given path. Override for custom logic - * @param paths - * @returns Returns promise with a Map of paths to nodes - */ - async getMultiple(paths) { - const map = new Map(); - await Promise.all(paths.map(path => this.get(path).then(val => map.set(path, val)))); - return map; - } - /** - * NOT USED YET - * Default implementation of setMultiple that executes .set for each given path. Override for custom logic - * @param nodes - */ - async setMultiple(nodes) { - await Promise.all(nodes.map(({ path, node }) => this.set(path, node))); - } - /** - * Default implementation of removeMultiple that executes .remove for each given path. Override for custom logic - * @param paths - */ - async removeMultiple(paths) { - await Promise.all(paths.map(path => this.remove(path))); - } - /** - * @returns {Promise} - */ - async commit() { throw new Error(`CustomStorageTransaction.rollback must be overridden by subclass`); } - /** - * Moves the transaction path to the parent node. If node locking is used, it will request a new lock - * Used internally, must not be overridden unless custom locking mechanism is required - * @param targetPath - */ - async moveToParentPath(targetPath) { - const currentPath = (this._lock && this._lock.path) || this.target.path; - if (currentPath === targetPath) { - return targetPath; // Already on the right path - } - const pathInfo = helpers_1.CustomStorageHelpers.PathInfo.get(targetPath); - if (pathInfo.isParentOf(currentPath)) { - if (this._lock) { - this._lock = await this._lock.moveToParent(); - } - } - else { - throw new Error(`Locking issue. Locked path "${this._lock.path}" is not a child/descendant of "${targetPath}"`); - } - this.target.path = targetPath; - return targetPath; - } -} -exports.CustomStorageTransaction = CustomStorageTransaction; -/** - * Allows data to be stored in a custom storage backend of your choice! Simply provide a couple of functions - * to get, set and remove data and you're done. - */ -class CustomStorageSettings extends index_1.StorageSettings { - constructor(settings) { - super(settings); - /** - * Whether default node locking should be used. Set to false if your storage backend disallows multiple simultanious write transactions (eg IndexedDB). Set to true if your storage backend does not support transactions (eg LocalStorage) or allows multiple simultanious write transactions (eg AceBase binary). - * @default true - */ - this.locking = true; - /** - * If default node locking is used, timeout setting for read and write locks in seconds. Operations taking longer than this will be aborted. Default is 120 seconds. - * @default 120 - */ - this.lockTimeout = 120; - if (typeof settings !== 'object') { - throw new Error('settings missing'); - } - if (typeof settings.ready !== 'function') { - throw new Error(`ready must be a function`); - } - if (typeof settings.getTransaction !== 'function') { - throw new Error(`getTransaction must be a function`); - } - this.name = settings.name; - // this.info = `${this.name || 'CustomStorage'} realtime database`; - this.locking = settings.locking !== false; - if (this.locking) { - this.lockTimeout = typeof settings.lockTimeout === 'number' ? settings.lockTimeout : 120; - } - this.ready = settings.ready; - // Hijack getTransaction to add locking - const useLocking = this.locking; - const nodeLocker = useLocking ? new node_lock_1.NodeLocker(console, this.lockTimeout) : null; - this.getTransaction = async ({ path, write }) => { - // console.log(`${write ? 'WRITE' : 'READ'} transaction requested for path "${path}"`) - const transaction = await settings.getTransaction({ path, write }); - console.assert(typeof transaction.id === 'string', `transaction id not set`); - // console.log(`Got transaction ${transaction.id} for ${write ? 'WRITE' : 'READ'} on path "${path}"`); - // Hijack rollback and commit - const rollback = transaction.rollback; - const commit = transaction.commit; - transaction.commit = async () => { - // console.log(`COMMIT ${transaction.id} for ${write ? 'WRITE' : 'READ'} on path "${path}"`); - const ret = await commit.call(transaction); - // console.log(`COMMIT DONE ${transaction.id} for ${write ? 'WRITE' : 'READ'} on path "${path}"`); - if (useLocking) { - await transaction._lock.release('commit'); - } - return ret; - }; - transaction.rollback = async (reason) => { - // const reasonText = reason instanceof Error ? reason.message : reason.toString(); - // console.error(`ROLLBACK ${transaction.id} for ${write ? 'WRITE' : 'READ'} on path "${path}":`, reason); - const ret = await rollback.call(transaction, reason); - // console.log(`ROLLBACK DONE ${transaction.id} for ${write ? 'WRITE' : 'READ'} on path "${path}"`); - if (useLocking) { - await transaction._lock.release('rollback'); - } - return ret; - }; - if (useLocking) { - // Lock the path before continuing - transaction._lock = await nodeLocker.lock(path, transaction.id, write, `${this.name}::getTransaction`); - } - return transaction; - }; - } -} -exports.CustomStorageSettings = CustomStorageSettings; -class CustomStorageNodeAddress { - constructor(containerPath) { - this.path = containerPath; - } -} -exports.CustomStorageNodeAddress = CustomStorageNodeAddress; -class CustomStorageNodeInfo extends node_info_1.NodeInfo { - constructor(info) { - super(info); - this.revision = info.revision; - this.revision_nr = info.revision_nr; - this.created = info.created; - this.modified = info.modified; - } -} -exports.CustomStorageNodeInfo = CustomStorageNodeInfo; -class CustomStorage extends index_1.Storage { - constructor(dbname, settings) { - super(dbname, settings); - this._customImplementation = settings; - this._init(); - } - async _init() { - this.debug.log(`Database "${this.name}" details:`.colorize(acebase_core_1.ColorStyle.dim)); - this.debug.log(`- Type: CustomStorage`.colorize(acebase_core_1.ColorStyle.dim)); - this.debug.log(`- Path: ${this.settings.path}`.colorize(acebase_core_1.ColorStyle.dim)); - this.debug.log(`- Max inline value size: ${this.settings.maxInlineValueSize}`.colorize(acebase_core_1.ColorStyle.dim)); - this.debug.log(`- Autoremove undefined props: ${this.settings.removeVoidProperties}`.colorize(acebase_core_1.ColorStyle.dim)); - // Create root node if it's not there yet - await this._customImplementation.ready(); - const transaction = await this._customImplementation.getTransaction({ path: '', write: true }); - const info = await this.getNodeInfo('', { transaction }); - if (!info.exists) { - await this._writeNode('', {}, { transaction }); - } - await transaction.commit(); - if (this.indexes.supported) { - await this.indexes.load(); - } - this.emit('ready'); - } - _storeNode(path, node, options) { - // serialize the value to store - const getTypedChildValue = (val) => { - if (val === null) { - throw new Error(`Not allowed to store null values. remove the property`); - } - else if (['string', 'number', 'boolean'].includes(typeof val)) { - return val; - } - else if (val instanceof Date) { - return { type: node_value_types_1.VALUE_TYPES.DATETIME, value: val.getTime() }; - } - else if (val instanceof acebase_core_1.PathReference) { - return { type: node_value_types_1.VALUE_TYPES.REFERENCE, value: val.path }; - } - else if (val instanceof ArrayBuffer) { - return { type: node_value_types_1.VALUE_TYPES.BINARY, value: acebase_core_1.ascii85.encode(val) }; - } - else if (typeof val === 'object') { - console.assert(Object.keys(val).length === 0, 'child object stored in parent can only be empty'); - return val; - } - }; - const unprocessed = `Caller should have pre-processed the value by converting it to a string`; - if (node.type === node_value_types_1.VALUE_TYPES.ARRAY && node.value instanceof Array) { - // Convert array to object with numeric properties - // NOTE: caller should have done this already - console.warn(`Unprocessed array. ${unprocessed}`); - const obj = {}; - for (let i = 0; i < node.value.length; i++) { - obj[i] = node.value[i]; - } - node.value = obj; - } - if (node.type === node_value_types_1.VALUE_TYPES.BINARY && typeof node.value !== 'string') { - console.warn(`Unprocessed binary value. ${unprocessed}`); - node.value = acebase_core_1.ascii85.encode(node.value); - } - if (node.type === node_value_types_1.VALUE_TYPES.REFERENCE && node.value instanceof acebase_core_1.PathReference) { - console.warn(`Unprocessed path reference. ${unprocessed}`); - node.value = node.value.path; - } - if ([node_value_types_1.VALUE_TYPES.OBJECT, node_value_types_1.VALUE_TYPES.ARRAY].includes(node.type)) { - const original = node.value; - node.value = {}; - // If original is an array, it'll automatically be converted to an object now - Object.keys(original).forEach(key => { - node.value[key] = getTypedChildValue(original[key]); - }); - } - return options.transaction.set(path, node); - } - _processReadNodeValue(node) { - const getTypedChildValue = (val) => { - // Typed value stored in parent record - if (val.type === node_value_types_1.VALUE_TYPES.BINARY) { - // binary stored in a parent record as a string - return acebase_core_1.ascii85.decode(val.value); - } - else if (val.type === node_value_types_1.VALUE_TYPES.DATETIME) { - // Date value stored as number - return new Date(val.value); - } - else if (val.type === node_value_types_1.VALUE_TYPES.REFERENCE) { - // Path reference stored as string - return new acebase_core_1.PathReference(val.value); - } - else { - throw new Error(`Unhandled child value type ${val.type}`); - } - }; - switch (node.type) { - case node_value_types_1.VALUE_TYPES.ARRAY: - case node_value_types_1.VALUE_TYPES.OBJECT: { - // check if any value needs to be converted - // NOTE: Arrays are stored with numeric properties - const obj = node.value; - Object.keys(obj).forEach(key => { - const item = obj[key]; - if (typeof item === 'object' && 'type' in item) { - obj[key] = getTypedChildValue(item); - } - }); - node.value = obj; - break; - } - case node_value_types_1.VALUE_TYPES.BINARY: { - node.value = acebase_core_1.ascii85.decode(node.value); - break; - } - case node_value_types_1.VALUE_TYPES.REFERENCE: { - node.value = new acebase_core_1.PathReference(node.value); - break; - } - case node_value_types_1.VALUE_TYPES.STRING: { - // No action needed - // node.value = node.value; - break; - } - default: - throw new Error(`Invalid standalone record value type`); // should never happen - } - } - async _readNode(path, options) { - // deserialize a stored value (always an object with "type", "value", "revision", "revision_nr", "created", "modified") - const node = await options.transaction.get(path); - if (node === null) { - return null; - } - if (typeof node !== 'object') { - throw new Error(`CustomStorageTransaction.get must return an ICustomStorageNode object. Use JSON.parse if your set function stored it as a string`); - } - this._processReadNodeValue(node); - return node; - } - _getTypeFromStoredValue(val) { - let type; - if (typeof val === 'string') { - type = node_value_types_1.VALUE_TYPES.STRING; - } - else if (typeof val === 'number') { - type = node_value_types_1.VALUE_TYPES.NUMBER; - } - else if (typeof val === 'boolean') { - type = node_value_types_1.VALUE_TYPES.BOOLEAN; - } - else if (val instanceof Array) { - type = node_value_types_1.VALUE_TYPES.ARRAY; - } - else if (typeof val === 'object') { - if ('type' in val) { - const serialized = val; - type = serialized.type; - val = serialized.value; - if (type === node_value_types_1.VALUE_TYPES.DATETIME) { - val = new Date(val); - } - else if (type === node_value_types_1.VALUE_TYPES.REFERENCE) { - val = new acebase_core_1.PathReference(val); - } - } - else { - type = node_value_types_1.VALUE_TYPES.OBJECT; - } - } - else { - throw new Error(`Unknown value type`); - } - return { type, value: val }; - } - /** - * Creates or updates a node in its own record. DOES NOT CHECK if path exists in parent node, or if parent paths exist! Calling code needs to do this - */ - async _writeNode(path, value, options) { - if (!options.merge && this.valueFitsInline(value) && path !== '') { - throw new Error(`invalid value to store in its own node`); - } - else if (path === '' && (typeof value !== 'object' || value instanceof Array)) { - throw new Error(`Invalid root node value. Must be an object`); - } - // Check if the value for this node changed, to prevent recursive calls to - // perform unnecessary writes that do not change any data - if (typeof options.diff === 'undefined' && typeof options.currentValue !== 'undefined') { - const diff = compareValues(options.currentValue, value); - if (options.merge && typeof diff === 'object') { - diff.removed = diff.removed.filter(key => value[key] === null); // Only keep "removed" items that are really being removed by setting to null - } - options.diff = diff; - } - if (options.diff === 'identical') { - return; // Done! - } - const transaction = options.transaction; - // Get info about current node at path - const currentRow = options.currentValue === null - ? null // No need to load info if currentValue is null (we already know it doesn't exist) - : await this._readNode(path, { transaction }); - if (options.merge && currentRow) { - if (currentRow.type === node_value_types_1.VALUE_TYPES.ARRAY && !(value instanceof Array) && typeof value === 'object' && Object.keys(value).some(key => isNaN(parseInt(key)))) { - throw new Error(`Cannot merge existing array of path "${path}" with an object`); - } - if (value instanceof Array && currentRow.type !== node_value_types_1.VALUE_TYPES.ARRAY) { - throw new Error(`Cannot merge existing object of path "${path}" with an array`); - } - } - const revision = options.revision || acebase_core_1.ID.generate(); - const mainNode = { - type: currentRow && currentRow.type === node_value_types_1.VALUE_TYPES.ARRAY ? node_value_types_1.VALUE_TYPES.ARRAY : node_value_types_1.VALUE_TYPES.OBJECT, - value: {}, - }; - const childNodeValues = {}; - if (value instanceof Array) { - mainNode.type = node_value_types_1.VALUE_TYPES.ARRAY; - // Convert array to object with numeric properties - const obj = {}; - for (let i = 0; i < value.length; i++) { - obj[i] = value[i]; - } - value = obj; - } - else if (value instanceof acebase_core_1.PathReference) { - mainNode.type = node_value_types_1.VALUE_TYPES.REFERENCE; - mainNode.value = value.path; - } - else if (value instanceof ArrayBuffer) { - mainNode.type = node_value_types_1.VALUE_TYPES.BINARY; - mainNode.value = acebase_core_1.ascii85.encode(value); - } - else if (typeof value === 'string') { - mainNode.type = node_value_types_1.VALUE_TYPES.STRING; - mainNode.value = value; - } - const currentIsObjectOrArray = currentRow ? [node_value_types_1.VALUE_TYPES.OBJECT, node_value_types_1.VALUE_TYPES.ARRAY].includes(currentRow.type) : false; - const newIsObjectOrArray = [node_value_types_1.VALUE_TYPES.OBJECT, node_value_types_1.VALUE_TYPES.ARRAY].includes(mainNode.type); - const children = { - current: [], - new: [], - }; - let currentObject = null; - if (currentIsObjectOrArray) { - currentObject = currentRow.value; - children.current = Object.keys(currentObject); - // if (currentObject instanceof Array) { // ALWAYS FALSE BECAUSE THEY ARE STORED AS OBJECTS WITH NUMERIC PROPERTIES - // // Convert array to object with numeric properties - // const obj = {}; - // for (let i = 0; i < value.length; i++) { - // obj[i] = value[i]; - // } - // currentObject = obj; - // } - if (newIsObjectOrArray) { - mainNode.value = currentObject; - } - } - if (newIsObjectOrArray) { - // Object or array. Determine which properties can be stored in the main node, - // and which should be stored in their own nodes - if (!options.merge) { - // Check which keys are present in the old object, but not in newly given object - Object.keys(mainNode.value).forEach(key => { - if (!(key in value)) { - // Property that was in old object, is not in new value -> set to null to mark deletion! - value[key] = null; - } - }); - } - Object.keys(value).forEach(key => { - const val = value[key]; - delete mainNode.value[key]; // key is being overwritten, moved from inline to dedicated, or deleted. TODO: check if this needs to be done SQLite & MSSQL implementations too - if (val === null) { // || typeof val === 'undefined' - // This key is being removed - return; - } - else if (typeof val === 'undefined') { - if (this.settings.removeVoidProperties === true) { - delete value[key]; // Kill the property in the passed object as well, to prevent differences in stored and working values - return; - } - else { - throw new Error(`Property "${key}" has invalid value. Cannot store undefined values. Set removeVoidProperties option to true to automatically remove undefined properties`); - } - } - // Where to store this value? - if (this.valueFitsInline(val)) { - // Store in main node - mainNode.value[key] = val; - } - else { - // Store in child node - childNodeValues[key] = val; - } - }); - } - // Insert or update node - const isArray = mainNode.type === node_value_types_1.VALUE_TYPES.ARRAY; - if (currentRow) { - // update - this.debug.log(`Node "/${path}" is being ${options.merge ? 'updated' : 'overwritten'}`.colorize(acebase_core_1.ColorStyle.cyan)); - // If existing is an array or object, we have to find out which children are affected - if (currentIsObjectOrArray || newIsObjectOrArray) { - // Get current child nodes in dedicated child records - const pathInfo = acebase_core_1.PathInfo.get(path); - const keys = []; - let checkExecuted = false; - const includeChildCheck = (childPath) => { - checkExecuted = true; - if (!transaction.production && !pathInfo.isParentOf(childPath)) { - // Double check failed - throw new Error(`"${childPath}" is not a child of "${path}" - childrenOf must only check and return paths that are children`); - } - return true; - }; - const addChildPath = (childPath) => { - if (!checkExecuted) { - throw new Error(`${this._customImplementation.info} childrenOf did not call checkCallback before addCallback`); - } - const key = acebase_core_1.PathInfo.get(childPath).key; - keys.push(key.toString()); // .toString to make sure all keys are compared as strings - return true; // Keep streaming - }; - await transaction.childrenOf(path, { metadata: false, value: false }, includeChildCheck, addChildPath); - children.current = children.current.concat(keys); - if (newIsObjectOrArray) { - if (options && options.merge) { - children.new = children.current.slice(); - } - Object.keys(value).forEach(key => { - if (!children.new.includes(key)) { - children.new.push(key); - } - }); - } - const changes = { - insert: children.new.filter(key => !children.current.includes(key)), - update: [], - delete: options && options.merge ? Object.keys(value).filter(key => value[key] === null) : children.current.filter(key => !children.new.includes(key)), - }; - changes.update = children.new.filter(key => children.current.includes(key) && !changes.delete.includes(key)); - if (isArray && options.merge && (changes.insert.length > 0 || changes.delete.length > 0)) { - // deletes or inserts of individual array entries are not allowed, unless it is the last entry: - // - deletes would cause the paths of following items to change, which is unwanted because the actual data does not change, - // eg: removing index 3 on array of size 10 causes entries with index 4 to 9 to 'move' to indexes 3 to 8 - // - inserts might introduce gaps in indexes, - // eg: adding to index 7 on an array of size 3 causes entries with indexes 3 to 6 to go 'missing' - const newArrayKeys = changes.update.concat(changes.insert); - const isExhaustive = newArrayKeys.every((k, index, arr) => arr.includes(index.toString())); - if (!isExhaustive) { - throw new Error(`Elements cannot be inserted beyond, or removed before the end of an array. Rewrite the whole array at path "${path}" or change your schema to use an object collection instead`); - } - } - // (over)write all child nodes that must be stored in their own record - const writePromises = Object.keys(childNodeValues).map(key => { - const keyOrIndex = isArray ? parseInt(key) : key; - const childDiff = typeof options.diff === 'object' ? options.diff.forChild(keyOrIndex) : undefined; - if (childDiff === 'identical') { - // console.warn(`Skipping _writeNode recursion for child "${keyOrIndex}"`); - return; // Skip - } - const childPath = pathInfo.childPath(keyOrIndex); // PathInfo.getChildPath(path, key); - const childValue = childNodeValues[keyOrIndex]; - // Pass current child value to _writeNode - const currentChildValue = typeof options.currentValue === 'undefined' // Fixing issue #20 - ? undefined - : options.currentValue !== null && typeof options.currentValue === 'object' && keyOrIndex in options.currentValue - ? options.currentValue[keyOrIndex] - : null; - return this._writeNode(childPath, childValue, { transaction, revision, merge: false, currentValue: currentChildValue, diff: childDiff }); - }); - // Delete all child nodes that were stored in their own record, but are being removed - // Also delete nodes that are being moved from a dedicated record to inline - const movingNodes = newIsObjectOrArray ? keys.filter(key => key in mainNode.value) : []; // moving from dedicated to inline value - const deleteDedicatedKeys = changes.delete.concat(movingNodes); - const deletePromises = deleteDedicatedKeys.map(key => { - const keyOrIndex = isArray ? parseInt(key) : key; - const childPath = pathInfo.childPath(keyOrIndex); - return this._deleteNode(childPath, { transaction }); - }); - const promises = writePromises.concat(deletePromises); - await Promise.all(promises); - } - // Update main node - // TODO: Check if revision should change? - const p = this._storeNode(path, { - type: mainNode.type, - value: mainNode.value, - revision: currentRow.revision, - revision_nr: currentRow.revision_nr + 1, - created: currentRow.created, - modified: Date.now(), - }, { - transaction, - }); - if (p instanceof Promise) { - return await p; - } - } - else { - // Current node does not exist, create it and any child nodes - // write all child nodes that must be stored in their own record - this.debug.log(`Node "/${path}" is being created`.colorize(acebase_core_1.ColorStyle.cyan)); - if (isArray) { - // Check if the array is "intact" (all entries have an index from 0 to the end with no gaps) - const arrayKeys = Object.keys(mainNode.value).concat(Object.keys(childNodeValues)); - const isExhaustive = arrayKeys.every((k, index, arr) => arr.includes(index.toString())); - if (!isExhaustive) { - throw new Error(`Cannot store arrays with missing entries`); - } - } - const promises = Object.keys(childNodeValues).map(key => { - const keyOrIndex = isArray ? parseInt(key) : key; - const childPath = acebase_core_1.PathInfo.getChildPath(path, keyOrIndex); - const childValue = childNodeValues[keyOrIndex]; - return this._writeNode(childPath, childValue, { transaction, revision, merge: false, currentValue: null }); - }); - // Create current node - const p = this._storeNode(path, { - type: mainNode.type, - value: mainNode.value, - revision, - revision_nr: 1, - created: Date.now(), - modified: Date.now(), - }, { - transaction, - }); - promises.push(p); - await Promise.all(promises); - } - } - /** - * Deletes (dedicated) node and all subnodes without checking for existence. Use with care - all removed nodes will lose their revision stats! DOES NOT REMOVE INLINE CHILD NODES! - */ - async _deleteNode(path, options) { - const pathInfo = acebase_core_1.PathInfo.get(path); - this.debug.log(`Node "/${path}" is being deleted`.colorize(acebase_core_1.ColorStyle.cyan)); - const deletePaths = [path]; - let checkExecuted = false; - const includeDescendantCheck = (descPath) => { - checkExecuted = true; - if (!transaction.production && !pathInfo.isAncestorOf(descPath)) { - // Double check failed - throw new Error(`"${descPath}" is not a descendant of "${path}" - descendantsOf must only check and return paths that are descendants`); - } - return true; - }; - const addDescendant = (descPath) => { - if (!checkExecuted) { - throw new Error(`${this._customImplementation.info} descendantsOf did not call checkCallback before addCallback`); - } - deletePaths.push(descPath); - return true; - }; - const transaction = options.transaction; - await transaction.descendantsOf(path, { metadata: false, value: false }, includeDescendantCheck, addDescendant); - this.debug.log(`Nodes ${deletePaths.map(p => `"/${p}"`).join(',')} are being deleted`.colorize(acebase_core_1.ColorStyle.cyan)); - return transaction.removeMultiple(deletePaths); - } - /** - * Enumerates all children of a given Node for reflection purposes - */ - getChildren(path, options = {}) { - let callback; - const generator = { - /** - * - * @param valueCallback callback function to run for each child. Return false to stop iterating - * @returns returns a promise that resolves with a boolean indicating if all children have been enumerated, or was canceled by the valueCallback function - */ - next(valueCallback) { - callback = valueCallback; - return start(); - }, - }; - const start = async () => { - const transaction = options.transaction || await this._customImplementation.getTransaction({ path, write: false }); - try { - let canceled = false; - await (async () => { - const node = await this._readNode(path, { transaction }); - if (!node) { - throw new node_errors_1.NodeNotFoundError(`Node "/${path}" does not exist`); - } - if (![node_value_types_1.VALUE_TYPES.OBJECT, node_value_types_1.VALUE_TYPES.ARRAY].includes(node.type)) { - // No children - return; - } - const isArray = node.type === node_value_types_1.VALUE_TYPES.ARRAY; - const value = node.value; - let keys = Object.keys(value).map(key => isArray ? parseInt(key) : key); - if (options.keyFilter) { - keys = keys.filter(key => options.keyFilter.includes(key)); - } - const pathInfo = acebase_core_1.PathInfo.get(path); - keys.length > 0 && keys.every(key => { - const child = this._getTypeFromStoredValue(value[key]); - const info = new CustomStorageNodeInfo({ - path: pathInfo.childPath(key), - key: isArray ? null : key, - index: isArray ? key : null, - type: child.type, - address: null, - exists: true, - value: child.value, - revision: node.revision, - revision_nr: node.revision_nr, - created: new Date(node.created), - modified: new Date(node.modified), - }); - canceled = callback(info) === false; - return !canceled; // stop .every loop if canceled - }); - if (canceled) { - return; - } - // Go on... get other children - let checkExecuted = false; - const includeChildCheck = (childPath) => { - checkExecuted = true; - if (!transaction.production && !pathInfo.isParentOf(childPath)) { - // Double check failed - throw new Error(`"${childPath}" is not a child of "${path}" - childrenOf must only check and return paths that are children`); - } - if (options.keyFilter) { - const key = acebase_core_1.PathInfo.get(childPath).key; - return options.keyFilter.includes(key); - } - return true; - }; - const addChildNode = (childPath, node) => { - if (!checkExecuted) { - throw new Error(`${this._customImplementation.info} childrenOf did not call checkCallback before addCallback`); - } - const key = acebase_core_1.PathInfo.get(childPath).key; - const info = new CustomStorageNodeInfo({ - path: childPath, - type: node.type, - key: isArray ? null : key, - index: isArray ? key : null, - address: new node_address_1.NodeAddress(childPath), - exists: true, - value: null, - revision: node.revision, - revision_nr: node.revision_nr, - created: new Date(node.created), - modified: new Date(node.modified), - }); - canceled = callback(info) === false; - return !canceled; - }; - await transaction.childrenOf(path, { metadata: true, value: false }, includeChildCheck, addChildNode); - })(); - if (!options.transaction) { - // transaction was created by us, commit - await transaction.commit(); - } - return canceled; - } - catch (err) { - if (!options.transaction) { - // transaction was created by us, rollback - await transaction.rollback(err); - } - throw err; - } - // }) - // .then(() => { - // lock.release(); - // return canceled; - // }) - // .catch(err => { - // lock.release(); - // throw err; - // }); - }; // start() - return generator; - } - async getNode(path, options) { - // path = path.replace(/'/g, ''); // prevent sql injection, remove single quotes - options = options || {}; - const transaction = options.transaction || await this._customImplementation.getTransaction({ path, write: false }); - // let lock; - // return this.nodeLocker.lock(path, tid, false, 'getNode') - // .then(async l => { - // lock = l; - try { - const node = await (async () => { - // Get path, path/* and path[* - const filtered = (options.include && options.include.length > 0) || (options.exclude && options.exclude.length > 0) || options.child_objects === false; - const pathInfo = acebase_core_1.PathInfo.get(path); - const targetNode = await this._readNode(path, { transaction }); - if (!targetNode) { - // Lookup parent node - if (path === '') { - return { value: null }; - } // path is root. There is no parent. - const lockPath = await transaction.moveToParentPath(pathInfo.parentPath); - console.assert(lockPath === pathInfo.parentPath, `transaction.moveToParentPath() did not move to the right parent path of "${path}"`); - const parentNode = await this._readNode(pathInfo.parentPath, { transaction }); - if (parentNode && [node_value_types_1.VALUE_TYPES.OBJECT, node_value_types_1.VALUE_TYPES.ARRAY].includes(parentNode.type) && pathInfo.key in parentNode.value) { - const childValueInfo = this._getTypeFromStoredValue(parentNode.value[pathInfo.key]); - return { - revision: parentNode.revision, - revision_nr: parentNode.revision_nr, - created: parentNode.created, - modified: parentNode.modified, - type: childValueInfo.type, - value: childValueInfo.value, - }; - } - return { value: null }; - } - const isArray = targetNode.type === node_value_types_1.VALUE_TYPES.ARRAY; - /** - * Convert include & exclude filters to PathInfo instances for easier handling - */ - const convertFilterArray = (arr) => { - const isNumber = (key) => /^[0-9]+$/.test(key); - return arr.map(path => acebase_core_1.PathInfo.get(isArray && isNumber(path) ? `[${path}]` : path)); - }; - const includeFilter = options.include ? convertFilterArray(options.include) : []; - const excludeFilter = options.exclude ? convertFilterArray(options.exclude) : []; - /** - * Apply include filters to prevent unwanted properties stored inline to be added. - * - * Removes properties that are not on the trail of any include filter, but were loaded because they are - * stored inline in the parent node. - * - * Example: - * data of `"users/someuser/posts/post1"`: `{ title: 'My first post', posted: (date), history: {} }` - * code: `db.ref('users/someuser').get({ include: ['posts/*\/title'] })` - * descPath: `"users/someuser/posts/post1"`, - * trailKeys: `["posts", "post1"]`, - * includeFilter[0]: `["posts", "*", "title"]` - * properties `posted` and `history` must be removed from the object - */ - const applyFiltersOnInlineData = (descPath, node) => { - if ([node_value_types_1.VALUE_TYPES.OBJECT, node_value_types_1.VALUE_TYPES.ARRAY].includes(node.type) && includeFilter.length > 0) { - const trailKeys = acebase_core_1.PathInfo.getPathKeys(descPath).slice(pathInfo.keys.length); - const checkPathInfo = new acebase_core_1.PathInfo(trailKeys); - const remove = []; - const includes = includeFilter.filter(info => info.isDescendantOf(checkPathInfo)); - if (includes.length > 0) { - const isArray = node.type === node_value_types_1.VALUE_TYPES.ARRAY; - remove.push(...Object.keys(node.value).map(key => isArray ? +key : key)); // Mark all at first - for (const info of includes) { - const targetProp = info.keys[trailKeys.length]; - if (typeof targetProp === 'string' && (targetProp === '*' || targetProp.startsWith('$'))) { - remove.splice(0); - break; - } - const index = remove.indexOf(targetProp); - index >= 0 && remove.splice(index, 1); - } - } - const hasIncludeOnChild = includeFilter.some(info => info.isChildOf(checkPathInfo)); - const hasExcludeOnChild = excludeFilter.some(info => info.isChildOf(checkPathInfo)); - if (hasExcludeOnChild && !hasIncludeOnChild) { - // do not remove children that are NOT in direct exclude filters (which includes them again) - const excludes = excludeFilter.filter(info => info.isChildOf(checkPathInfo)); - for (let i = 0; i < remove.length; i++) { - if (!excludes.find(info => info.equals(remove[i]))) { - remove.splice(i, 1); - i--; - } - } - } - // remove.length > 0 && this.debug.log(`Remove properties:`, remove); - for (const key of remove) { - delete node.value[key]; - } - } - }; - applyFiltersOnInlineData(path, targetNode); - let checkExecuted = false; - const includeDescendantCheck = (descPath, metadata) => { - checkExecuted = true; - if (!transaction.production && !pathInfo.isAncestorOf(descPath)) { - // Double check failed - throw new Error(`"${descPath}" is not a descendant of "${path}" - descendantsOf must only check and return paths that are descendants`); - } - if (!filtered) { - return true; - } - // Apply include & exclude filters - const descPathKeys = acebase_core_1.PathInfo.getPathKeys(descPath); - const trailKeys = descPathKeys.slice(pathInfo.keys.length); - const checkPathInfo = new acebase_core_1.PathInfo(trailKeys); - let include = (includeFilter.length > 0 - ? includeFilter.some(info => checkPathInfo.isOnTrailOf(info)) - : true) - && (excludeFilter.length > 0 - ? !excludeFilter.some(info => info.equals(checkPathInfo) || info.isAncestorOf(checkPathInfo)) - : true); - // Apply child_objects filter. If metadata is not loaded, we can only skip deeper descendants here - any child object that does get through will be ignored by addDescendant - if (include - && options.child_objects === false - && (pathInfo.isParentOf(descPath) && [node_value_types_1.VALUE_TYPES.OBJECT, node_value_types_1.VALUE_TYPES.ARRAY].includes(metadata ? metadata.type : -1) - || acebase_core_1.PathInfo.getPathKeys(descPath).length > pathInfo.pathKeys.length + 1)) { - include = false; - } - return include; - }; - const descRows = []; - const addDescendant = (descPath, node) => { - // console.warn(`Adding descendant "${descPath}"`); - if (!checkExecuted) { - throw new Error(`${this._customImplementation.info} descendantsOf did not call checkCallback before addCallback`); - } - if (options.child_objects === false && [node_value_types_1.VALUE_TYPES.OBJECT, node_value_types_1.VALUE_TYPES.ARRAY].includes(node.type)) { - // child objects are filtered out, but this one got through because includeDescendantCheck did not have access to its metadata, - // which is ok because doing that might drastically improve performance in client code. Skip it now. - return true; - } - // Apply include filters to prevent unwanted properties stored inline to be added - applyFiltersOnInlineData(descPath, node); - // Process the value - this._processReadNodeValue(node); - // Add node - const row = node; - row.path = descPath; - descRows.push(row); - return true; // Keep streaming - }; - await transaction.descendantsOf(path, { metadata: true, value: true }, includeDescendantCheck, addDescendant); - this.debug.log(`Read node "/${path}" and ${filtered ? '(filtered) ' : ''}descendants from ${descRows.length + 1} records`.colorize(acebase_core_1.ColorStyle.magenta)); - const result = targetNode; - const objectToArray = (obj) => { - // Convert object value to array - const arr = []; - Object.keys(obj).forEach(key => { - const index = parseInt(key); - arr[index] = obj[index]; - }); - return arr; - }; - if (targetNode.type === node_value_types_1.VALUE_TYPES.ARRAY) { - result.value = objectToArray(result.value); - } - if (targetNode.type === node_value_types_1.VALUE_TYPES.OBJECT || targetNode.type === node_value_types_1.VALUE_TYPES.ARRAY) { - // target node is an object or array - // merge with other found (child) nodes - const targetPathKeys = acebase_core_1.PathInfo.getPathKeys(path); - const value = targetNode.value; - for (let i = 0; i < descRows.length; i++) { - const otherNode = descRows[i]; - const pathKeys = acebase_core_1.PathInfo.getPathKeys(otherNode.path); - const trailKeys = pathKeys.slice(targetPathKeys.length); - let parent = value; - for (let j = 0; j < trailKeys.length; j++) { - console.assert(typeof parent === 'object', 'parent must be an object/array to have children!!'); - const key = trailKeys[j]; - const isLast = j === trailKeys.length - 1; - const nodeType = isLast - ? otherNode.type - : typeof trailKeys[j + 1] === 'number' - ? node_value_types_1.VALUE_TYPES.ARRAY - : node_value_types_1.VALUE_TYPES.OBJECT; - let nodeValue; - if (!isLast) { - nodeValue = nodeType === node_value_types_1.VALUE_TYPES.OBJECT ? {} : []; - } - else { - nodeValue = otherNode.value; - if (nodeType === node_value_types_1.VALUE_TYPES.ARRAY) { - nodeValue = objectToArray(nodeValue); - } - } - if (key in parent) { - // Merge with parent - const mergePossible = typeof parent[key] === typeof nodeValue && [node_value_types_1.VALUE_TYPES.OBJECT, node_value_types_1.VALUE_TYPES.ARRAY].includes(nodeType); - if (!mergePossible) { - // Ignore the value in the child record, see issue #20: "Assertion failed: Merging child values can only be done if existing and current values are both an array or object" - this.debug.error(`The value stored in node "${otherNode.path}" cannot be merged with the parent node, value will be ignored. This error should disappear once the target node value is updated. See issue #20 for more information`, { path, parent, key, nodeType, nodeValue }); - } - else { - Object.keys(nodeValue).forEach(childKey => { - if (childKey in parent[key]) { - throw new Error(`Custom storage merge error: child key "${childKey}" is in parent value already! Make sure the get/childrenOf/descendantsOf methods of the custom storage class return values that can be modified by AceBase without affecting the stored source`); - } - parent[key][childKey] = nodeValue[childKey]; - }); - } - } - else { - parent[key] = nodeValue; - } - parent = parent[key]; - } - } - } - else if (descRows.length > 0) { - throw new Error(`multiple records found for non-object value!`); - } - // Post process filters to remove any data that got through because they were - // not stored in dedicated records. This will happen with smaller values because - // they are stored inline in their parent node. - // eg: - // { number: 1, small_string: 'small string', bool: true, obj: {}, arr: [] } - // All properties of this object are stored inline, - // if exclude: ['obj'], or child_objects: false was passed, these will still - // have to be removed from the value - if (options.child_objects === false) { - Object.keys(result.value).forEach(key => { - if (typeof result.value[key] === 'object' && result.value[key].constructor === Object) { - // This can only happen if the object was empty - console.assert(Object.keys(result.value[key]).length === 0); - delete result.value[key]; - } - }); - } - if (options.include) { - // TODO: remove any unselected children that did get through - } - if (options.exclude) { - const process = (obj, keys) => { - if (typeof obj !== 'object') { - return; - } - const key = keys[0]; - if (key === '*') { - Object.keys(obj).forEach(k => { - process(obj[k], keys.slice(1)); - }); - } - else if (keys.length > 1) { - key in obj && process(obj[key], keys.slice(1)); - } - else { - delete obj[key]; - } - }; - options.exclude.forEach(path => { - const checkKeys = acebase_core_1.PathInfo.getPathKeys(path); - process(result.value, checkKeys); - }); - } - return result; - })(); - if (!options.transaction) { - // transaction was created by us, commit - await transaction.commit(); - } - return node; - } - catch (err) { - if (!options.transaction) { - // transaction was created by us, rollback - await transaction.rollback(err); - } - throw err; - } - } - async getNodeInfo(path, options = {}) { - options = options || {}; - const pathInfo = acebase_core_1.PathInfo.get(path); - const transaction = options.transaction || await this._customImplementation.getTransaction({ path, write: false }); - try { - const node = await this._readNode(path, { transaction }); - const info = new CustomStorageNodeInfo({ - path, - key: typeof pathInfo.key === 'string' ? pathInfo.key : null, - index: typeof pathInfo.key === 'number' ? pathInfo.key : null, - type: node ? node.type : 0, - exists: node !== null, - address: node ? new node_address_1.NodeAddress(path) : null, - created: node ? new Date(node.created) : null, - modified: node ? new Date(node.modified) : null, - revision: node ? node.revision : null, - revision_nr: node ? node.revision_nr : null, - }); - if (!node && path !== '') { - // Try parent node - const lockPath = await transaction.moveToParentPath(pathInfo.parentPath); - console.assert(lockPath === pathInfo.parentPath, `transaction.moveToParentPath() did not move to the right parent path of "${path}"`); - const parent = await this._readNode(pathInfo.parentPath, { transaction }); - if (parent && [node_value_types_1.VALUE_TYPES.OBJECT, node_value_types_1.VALUE_TYPES.ARRAY].includes(parent.type) && pathInfo.key in parent.value) { - // Stored in parent node - info.exists = true; - info.value = parent.value[pathInfo.key]; - info.address = null; - info.type = parent.type; - info.created = new Date(parent.created); - info.modified = new Date(parent.modified); - info.revision = parent.revision; - info.revision_nr = parent.revision_nr; - } - else { - // Parent doesn't exist, so the node we're looking for cannot exist either - info.address = null; - } - } - if (options.include_child_count) { - info.childCount = 0; - if ([node_value_types_1.VALUE_TYPES.ARRAY, node_value_types_1.VALUE_TYPES.OBJECT].includes(info.valueType) && info.address) { - // Get number of children - info.childCount = node.value ? Object.keys(node.value).length : 0; - info.childCount += await transaction.getChildCount(path); - } - } - if (!options.transaction) { - // transaction was created by us, commit - await transaction.commit(); - } - return info; - } - catch (err) { - if (!options.transaction) { - // transaction was created by us, rollback - await transaction.rollback(err); - } - throw err; - } - } - // TODO: Move to Storage base class? - async setNode(path, value, options = { suppress_events: false, context: null }) { - const pathInfo = acebase_core_1.PathInfo.get(path); - const transaction = options.transaction || await this._customImplementation.getTransaction({ path, write: true }); - try { - if (path === '') { - if (value === null || typeof value !== 'object' || value instanceof Array || value instanceof ArrayBuffer || ('buffer' in value && value.buffer instanceof ArrayBuffer)) { - throw new Error(`Invalid value for root node: ${value}`); - } - await this._writeNodeWithTracking('', value, { merge: false, transaction, suppress_events: options.suppress_events, context: options.context }); - } - else if (typeof options.assert_revision !== 'undefined') { - const info = await this.getNodeInfo(path, { transaction }); - if (info.revision !== options.assert_revision) { - throw new node_errors_1.NodeRevisionError(`revision '${info.revision}' does not match requested revision '${options.assert_revision}'`); - } - if (info.address && info.address.path === path && value !== null && !this.valueFitsInline(value)) { - // Overwrite node - await this._writeNodeWithTracking(path, value, { merge: false, transaction, suppress_events: options.suppress_events, context: options.context }); - } - else { - // Update parent node - const lockPath = await transaction.moveToParentPath(pathInfo.parentPath); - console.assert(lockPath === pathInfo.parentPath, `transaction.moveToParentPath() did not move to the right parent path of "${path}"`); - await this._writeNodeWithTracking(pathInfo.parentPath, { [pathInfo.key]: value }, { merge: true, transaction, suppress_events: options.suppress_events, context: options.context }); - } - } - else { - // Delegate operation to update on parent node - const lockPath = await transaction.moveToParentPath(pathInfo.parentPath); - console.assert(lockPath === pathInfo.parentPath, `transaction.moveToParentPath() did not move to the right parent path of "${path}"`); - await this.updateNode(pathInfo.parentPath, { [pathInfo.key]: value }, { transaction, suppress_events: options.suppress_events, context: options.context }); - } - if (!options.transaction) { - // transaction was created by us, commit - await transaction.commit(); - } - } - catch (err) { - if (!options.transaction) { - // transaction was created by us, rollback - await transaction.rollback(err); - } - throw err; - } - } - // TODO: Move to Storage base class? - async updateNode(path, updates, options = { suppress_events: false, context: null }) { - if (typeof updates !== 'object') { - throw new Error(`invalid updates argument`); //. Must be a non-empty object or array - } - else if (Object.keys(updates).length === 0) { - return; // Nothing to update. Done! - } - const transaction = options.transaction || await this._customImplementation.getTransaction({ path, write: true }); - try { - // Get info about current node - const nodeInfo = await this.getNodeInfo(path, { transaction }); - const pathInfo = acebase_core_1.PathInfo.get(path); - if (nodeInfo.exists && nodeInfo.address && nodeInfo.address.path === path) { - // Node exists and is stored in its own record. - // Update it - await this._writeNodeWithTracking(path, updates, { transaction, merge: true, suppress_events: options.suppress_events, context: options.context }); - } - else if (nodeInfo.exists) { - // Node exists, but is stored in its parent node. - const pathInfo = acebase_core_1.PathInfo.get(path); - const lockPath = await transaction.moveToParentPath(pathInfo.parentPath); - console.assert(lockPath === pathInfo.parentPath, `transaction.moveToParentPath() did not move to the right parent path of "${path}"`); - await this._writeNodeWithTracking(pathInfo.parentPath, { [pathInfo.key]: updates }, { transaction, merge: true, suppress_events: options.suppress_events, context: options.context }); - } - else { - // The node does not exist, it's parent doesn't have it either. Update the parent instead - const lockPath = await transaction.moveToParentPath(pathInfo.parentPath); - console.assert(lockPath === pathInfo.parentPath, `transaction.moveToParentPath() did not move to the right parent path of "${path}"`); - await this.updateNode(pathInfo.parentPath, { [pathInfo.key]: updates }, { transaction, suppress_events: options.suppress_events, context: options.context }); - } - if (!options.transaction) { - // transaction was created by us, commit - await transaction.commit(); - } - } - catch (err) { - if (!options.transaction) { - // transaction was created by us, rollback - await transaction.rollback(err); - } - throw err; - } - } -} -exports.CustomStorage = CustomStorage; -//# sourceMappingURL=storage-custom.js.map \ No newline at end of file diff --git a/dist/cjs/storage/storage-custom.js.map b/dist/cjs/storage/storage-custom.js.map deleted file mode 100644 index c270d51..0000000 --- a/dist/cjs/storage/storage-custom.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"storage-custom.js","sourceRoot":"","sources":["../ts/storage/storage-custom.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/thread-safe.js.map b/dist/cjs/thread-safe.js.map index 7b60fbb..f438255 100644 --- a/dist/cjs/thread-safe.js.map +++ b/dist/cjs/thread-safe.js.map @@ -1 +1 @@ -{"version":3,"file":"thread-safe.js","sourceRoot":"","sources":["ts/thread-safe.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"thread-safe.js","sourceRoot":"","sources":["../../src/thread-safe.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/unidecode-module.js.map b/dist/cjs/unidecode-module.js.map index db0b145..3e9789e 100644 --- a/dist/cjs/unidecode-module.js.map +++ b/dist/cjs/unidecode-module.js.map @@ -1 +1 @@ -{"version":3,"file":"unidecode-module.js","sourceRoot":"","sources":["ts/unidecode-module.ts"],"names":[],"mappings":""} \ No newline at end of file +{"version":3,"file":"unidecode-module.js","sourceRoot":"","sources":["../../src/unidecode-module.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/cjs/unidecode.js.map b/dist/cjs/unidecode.js.map index a5381e4..e992901 100644 --- a/dist/cjs/unidecode.js.map +++ b/dist/cjs/unidecode.js.map @@ -1 +1 @@ -{"version":3,"file":"unidecode.js","sourceRoot":"","sources":["ts/unidecode.ts"],"names":[],"mappings":";;AAAA,+EAA+E;AAC/E,uCAAuC,CAAC,kCAAkC;AAC1E,kBAAe,SAAiD,CAAC"} \ No newline at end of file +{"version":3,"file":"unidecode.js","sourceRoot":"","sources":["../../src/unidecode.ts"],"names":[],"mappings":";;AAAA,+EAA+E;AAC/E,uCAAuC,CAAC,kCAAkC;AAC1E,kBAAe,SAAiD,CAAC"} \ No newline at end of file diff --git a/dist/types/acebase-browser.d.ts.map b/dist/types/acebase-browser.d.ts.map index 771c025..daa19a5 100644 --- a/dist/types/acebase-browser.d.ts.map +++ b/dist/types/acebase-browser.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"acebase-browser.d.ts","sourceRoot":"","sources":["ts/acebase-browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAYhF,qBAAa,cAAe,SAAQ,OAAO;IACvC;;;;OAIG;gBACS,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE;IAiB9F;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,CAAC,wBAAwB,CAAM;CAGpF"} \ No newline at end of file +{"version":3,"file":"acebase-browser.d.ts","sourceRoot":"","sources":["../../src/acebase-browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAYhF,qBAAa,cAAe,SAAQ,OAAO;IACvC;;;;OAIG;gBACS,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE;IAiB9F;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,CAAC,wBAAwB,CAAM;CAGpF"} \ No newline at end of file diff --git a/dist/types/acebase-local.d.ts.map b/dist/types/acebase-local.d.ts.map index c52ea7b..e5f8059 100644 --- a/dist/types/acebase-local.d.ts.map +++ b/dist/types/acebase-local.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"acebase-local.d.ts","sourceRoot":"","sources":["ts/acebase-local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACvF,OAAO,EAA8B,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAClG,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,CAAC;AAE1D,qBAAa,oBAAqB,SAAQ,mBAAmB;IAEzD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAEnC;;;OAGG;IACH,GAAG,CAAC,EAAE,iBAAiB,CAAC;IAExB;;;OAGG;IACH,YAAY,CAAC,EAAE,sBAAsB,CAAC;gBAE1B,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM;CAU1D;AAGD,qBAAa,OAAQ,SAAQ,WAAW;IAEpC;;OAEG;IACI,GAAG,EAAE,QAAQ,CAAC;IAErB;;OAEG;gBACS,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,CAAC,oBAAoB,CAAM;IAsB7D,QAAQ,EAAE;QACb,UAAU,CACN,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;YACN;;;eAGG;YACH,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB;;;eAGG;YACH,aAAa,CAAC,EAAE,OAAO,CAAC;SAC3B,GACF,OAAO,CAAC,IAAI,CAAC,CAAC;KACpB,CAAC;IAEI,KAAK;IAKX,IAAI,QAAQ;;;MAQX;IAED;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAO,CAAC,oBAAoB,CAAM;IAKpF;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,CAAC,wBAAwB,CAAM,GAAG,OAAO;CAG9F"} \ No newline at end of file +{"version":3,"file":"acebase-local.d.ts","sourceRoot":"","sources":["../../src/acebase-local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACvF,OAAO,EAA8B,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAClG,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,CAAC;AAE1D,qBAAa,oBAAqB,SAAQ,mBAAmB;IAEzD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAEnC;;;OAGG;IACH,GAAG,CAAC,EAAE,iBAAiB,CAAC;IAExB;;;OAGG;IACH,YAAY,CAAC,EAAE,sBAAsB,CAAC;gBAE1B,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM;CAU1D;AAGD,qBAAa,OAAQ,SAAQ,WAAW;IAEpC;;OAEG;IACI,GAAG,EAAE,QAAQ,CAAC;IAErB;;OAEG;gBACS,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,CAAC,oBAAoB,CAAM;IAsB7D,QAAQ,EAAE;QACb,UAAU,CACN,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;YACN;;;eAGG;YACH,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB;;;eAGG;YACH,aAAa,CAAC,EAAE,OAAO,CAAC;SAC3B,GACF,OAAO,CAAC,IAAI,CAAC,CAAC;KACpB,CAAC;IAEI,KAAK;IAKX,IAAI,QAAQ;;;MAQX;IAED;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAO,CAAC,oBAAoB,CAAM;IAKpF;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,CAAC,wBAAwB,CAAM,GAAG,OAAO;CAG9F"} \ No newline at end of file diff --git a/dist/types/api-local.d.ts.map b/dist/types/api-local.d.ts.map index 68588fc..7b9a71e 100644 --- a/dist/types/api-local.d.ts.map +++ b/dist/types/api-local.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"api-local.d.ts","sourceRoot":"","sources":["ts/api-local.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"api-local.d.ts","sourceRoot":"","sources":["../../src/api-local.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types/async-task-batch.d.ts.map b/dist/types/async-task-batch.d.ts.map index 6b478ee..f08182f 100644 --- a/dist/types/async-task-batch.d.ts.map +++ b/dist/types/async-task-batch.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"async-task-batch.d.ts","sourceRoot":"","sources":["ts/async-task-batch.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IAiBJ,KAAK;IAAgB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;IAhBnF,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,SAAS,CAA4D;IAC7E,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,IAAI,CAAS;IAErB;;;;;;;OAOG;gBACgB,KAAK,SAAO,EAAS,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;YAErE,OAAO;IAwBrB,GAAG,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC;IAa5B;;OAEG;IACH,KAAK;IAOC,MAAM;CAUf"} \ No newline at end of file +{"version":3,"file":"async-task-batch.d.ts","sourceRoot":"","sources":["../../src/async-task-batch.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IAiBJ,KAAK;IAAgB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;IAhBnF,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,SAAS,CAA4D;IAC7E,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,IAAI,CAAS;IAErB;;;;;;;OAOG;gBACgB,KAAK,SAAO,EAAS,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;YAErE,OAAO;IAwBrB,GAAG,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC;IAa5B;;OAEG;IACH,KAAK;IAOC,MAAM;CAUf"} \ No newline at end of file diff --git a/dist/types/binary.d.ts.map b/dist/types/binary.d.ts.map index 41169c0..046a153 100644 --- a/dist/types/binary.d.ts.map +++ b/dist/types/binary.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["ts/binary.ts"],"names":[],"mappings":";AAAA,oBAAY,UAAU,GAAG,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,CAAC;AAExD,wBAAgB,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAMhG;AACD,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAM9D;AAGD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAWlG;AAED,wBAAgB,gBAAgB,CAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAKjE;AAKD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,CAAC,CAsBjH;AAED,wBAAgB,gBAAgB,CAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,UAAQ,UAchF;AAED,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAS;gBAKhB,KAAK,GAAC,MAAM,EAAE,GAAC,UAAiB,EAAE,UAAU,SAAO;IAkB/D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,iBAAiB;IASvD,IAAI,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE;IAMvB,MAAM,CAAC,WAAW,CAAC,cAAc,EAAC,MAAM,EAAE,MAAM,CAAC,EAAC,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM;IAW5E,OAAO,CAAC,MAAM,EAAE,MAAM;IAatB,IAAI,QAAQ,aAEX;IACD,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM;IASrC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAStC,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IASlD,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IASlD,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAQtD,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IA2B/C,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAQnD,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IA8B/C,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAQnD,IAAI,IAAI,eAEP;IACD,IAAI,MAAM,WAET;IACD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAQjC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAcxC"} \ No newline at end of file +{"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../src/binary.ts"],"names":[],"mappings":";AAAA,oBAAY,UAAU,GAAG,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,CAAC;AAExD,wBAAgB,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAMhG;AACD,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAM9D;AAGD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAWlG;AAED,wBAAgB,gBAAgB,CAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAKjE;AAKD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,CAAC,CAsBjH;AAED,wBAAgB,gBAAgB,CAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,UAAQ,UAchF;AAED,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAS;gBAKhB,KAAK,GAAC,MAAM,EAAE,GAAC,UAAiB,EAAE,UAAU,SAAO;IAkB/D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,iBAAiB;IASvD,IAAI,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE;IAMvB,MAAM,CAAC,WAAW,CAAC,cAAc,EAAC,MAAM,EAAE,MAAM,CAAC,EAAC,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM;IAW5E,OAAO,CAAC,MAAM,EAAE,MAAM;IAatB,IAAI,QAAQ,aAEX;IACD,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM;IASrC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAStC,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IASlD,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IASlD,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAQtD,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IA2B/C,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAQnD,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IA8B/C,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAQnD,IAAI,IAAI,eAEP;IACD,IAAI,MAAM,WAET;IACD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAQjC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAcxC"} \ No newline at end of file diff --git a/dist/types/browser.d.ts.map b/dist/types/browser.d.ts.map index 7156e4e..1ee2fe5 100644 --- a/dist/types/browser.d.ts.map +++ b/dist/types/browser.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["ts/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;EAiBE;AAEF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EACjG,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB,EAC1F,mBAAmB,EAAE,uBAAuB,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAC9F,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEzG,QAAA,MAAM,OAAO;;;;;;;;;;;;;;CAcZ,CAAC;AAQF,eAAe,OAAO,CAAC;AAGvB,OAAO,EACH,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,EAAE,EACF,WAAW,EACX,YAAY,GACf,CAAC;AAGF,OAAO,EACH,cAAc,IAAI,OAAO,GAC5B,CAAC;AAEF,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EACH,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,GAC7B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACH,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,GACxB,MAAM,WAAW,CAAC"} \ No newline at end of file +{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;EAiBE;AAEF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EACjG,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB,EAC1F,mBAAmB,EAAE,uBAAuB,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAC9F,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEzG,QAAA,MAAM,OAAO;;;;;;;;;;;;;;CAcZ,CAAC;AAQF,eAAe,OAAO,CAAC;AAGvB,OAAO,EACH,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,EAAE,EACF,WAAW,EACX,YAAY,GACf,CAAC;AAGF,OAAO,EACH,cAAc,IAAI,OAAO,GAC5B,CAAC;AAEF,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EACH,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,GAC7B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACH,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,GACxB,MAAM,WAAW,CAAC"} \ No newline at end of file diff --git a/dist/types/btree/binary-reader.d.ts.map b/dist/types/btree/binary-reader.d.ts.map index adacd28..7bdf4c7 100644 --- a/dist/types/btree/binary-reader.d.ts.map +++ b/dist/types/btree/binary-reader.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"binary-reader.d.ts","sourceRoot":"","sources":["../ts/btree/binary-reader.ts"],"names":[],"mappings":";AAOA,oBAAY,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9E,qBAAa,YAAY;IAqBoC,SAAS;IApB3D,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,IAAI,EAAE,MAAM,CAAQ;IAE3B;;OAEG;IACI,MAAM,SAAK;IAElB;;OAEG;IACI,KAAK,SAAK;IAEjB;;;;OAIG;gBACS,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,EAAS,SAAS,SAAO;IAsCnE,IAAI;IAQV,KAAK;IAQC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASvC,QAAQ;IAKR,SAAS;IAKT,QAAQ;IAeR,IAAI,CAAC,MAAM,SAAI;IAiBf,IAAI,CAAC,MAAM,EAAE,MAAM;IAanB,MAAM,CAAC,SAAS,EAAE,MAAM;IAU9B,IAAI,CAAC,SAAS,EAAE,MAAM;IAItB,MAAM,CAAC,SAAS,EAAE,MAAM;IAIlB,EAAE,CAAC,KAAK,EAAE,MAAM;IAYtB,YAAY,CAAC,gBAAgB,SAAI;;;;IAYjC,IAAI,WAAW,WAEd;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;;IAM9C,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM;IAKnC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAI/C,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAGjD"} \ No newline at end of file +{"version":3,"file":"binary-reader.d.ts","sourceRoot":"","sources":["../../../src/btree/binary-reader.ts"],"names":[],"mappings":";AAOA,oBAAY,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9E,qBAAa,YAAY;IAqBoC,SAAS;IApB3D,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,IAAI,EAAE,MAAM,CAAQ;IAE3B;;OAEG;IACI,MAAM,SAAK;IAElB;;OAEG;IACI,KAAK,SAAK;IAEjB;;;;OAIG;gBACS,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,EAAS,SAAS,SAAO;IAsCnE,IAAI;IAQV,KAAK;IAQC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASvC,QAAQ;IAKR,SAAS;IAKT,QAAQ;IAeR,IAAI,CAAC,MAAM,SAAI;IAiBf,IAAI,CAAC,MAAM,EAAE,MAAM;IAanB,MAAM,CAAC,SAAS,EAAE,MAAM;IAU9B,IAAI,CAAC,SAAS,EAAE,MAAM;IAItB,MAAM,CAAC,SAAS,EAAE,MAAM;IAIlB,EAAE,CAAC,KAAK,EAAE,MAAM;IAYtB,YAAY,CAAC,gBAAgB,SAAI;;;;IAYjC,IAAI,WAAW,WAEd;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;;IAM9C,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM;IAKnC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAI/C,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAGjD"} \ No newline at end of file diff --git a/dist/types/btree/binary-tree-builder.d.ts.map b/dist/types/btree/binary-tree-builder.d.ts.map index 99b9593..8c11fc1 100644 --- a/dist/types/btree/binary-tree-builder.d.ts.map +++ b/dist/types/btree/binary-tree-builder.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-builder.d.ts","sourceRoot":"","sources":["../ts/btree/binary-tree-builder.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpD,eAAO,MAAM,QAAQ;;;;;;;CAOpB,CAAC;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;CAUjB,CAAC;AAEF,aAAK,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAC,CAAC;AAClG,aAAK,iBAAiB,GAAG;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAC3G,aAAK,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,GAAC,UAAU,CAAC;IAAC,OAAO,EAAE,wBAAwB,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC;AACnM,aAAK,iBAAiB,GAAG;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAEtJ,qBAAa,sBAAsB;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;gBAEP,OAAO,GAAE,OAAO,CAAC,sBAAsB,CAA4I;IAU/L,SAAS;IAsDT,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,GAAE,iBAAwD;IAkElG;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,GAAE,iBAA0C;IAmYpF,sBAAsB,CAAC,aAAa,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB;IAmBzF,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB;CA8D3C"} \ No newline at end of file +{"version":3,"file":"binary-tree-builder.d.ts","sourceRoot":"","sources":["../../../src/btree/binary-tree-builder.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpD,eAAO,MAAM,QAAQ;;;;;;;CAOpB,CAAC;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;CAUjB,CAAC;AAEF,aAAK,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAC,CAAC;AAClG,aAAK,iBAAiB,GAAG;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAC3G,aAAK,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,GAAC,UAAU,CAAC;IAAC,OAAO,EAAE,wBAAwB,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC;AACnM,aAAK,iBAAiB,GAAG;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAEtJ,qBAAa,sBAAsB;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;gBAEP,OAAO,GAAE,OAAO,CAAC,sBAAsB,CAA4I;IAU/L,SAAS;IAsDT,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,GAAE,iBAAwD;IAkElG;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,GAAE,iBAA0C;IAmYpF,sBAAsB,CAAC,aAAa,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB;IAmBzF,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB;CA8D3C"} \ No newline at end of file diff --git a/dist/types/btree/binary-tree-leaf-entry-extdata.d.ts.map b/dist/types/btree/binary-tree-leaf-entry-extdata.d.ts.map index 2f6459c..7ea16e9 100644 --- a/dist/types/btree/binary-tree-leaf-entry-extdata.d.ts.map +++ b/dist/types/btree/binary-tree-leaf-entry-extdata.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-leaf-entry-extdata.d.ts","sourceRoot":"","sources":["../ts/btree/binary-tree-leaf-entry-extdata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,MAAM,WAAW,gCAAgC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,6BAA6B,EAAE,CAAC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,CAAC,YAAY,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,6BAA6B,EAAE,CAAC,CAAC;IACxF,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,GAAG,cAAc,KAAK,OAAO,CAAC,IAAI,GAAG,cAAc,CAAC,CAAC;IACnF,eAAe,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,QAAQ,EAAE,CAAC,aAAa,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG,WAAW,EAAE,CAAC,aAAa,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE"} \ No newline at end of file +{"version":3,"file":"binary-tree-leaf-entry-extdata.d.ts","sourceRoot":"","sources":["../../../src/btree/binary-tree-leaf-entry-extdata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,MAAM,WAAW,gCAAgC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,6BAA6B,EAAE,CAAC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,CAAC,YAAY,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,6BAA6B,EAAE,CAAC,CAAC;IACxF,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,GAAG,cAAc,KAAK,OAAO,CAAC,IAAI,GAAG,cAAc,CAAC,CAAC;IACnF,eAAe,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,QAAQ,EAAE,CAAC,aAAa,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG,WAAW,EAAE,CAAC,aAAa,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE"} \ No newline at end of file diff --git a/dist/types/btree/binary-tree-leaf-entry-value.d.ts.map b/dist/types/btree/binary-tree-leaf-entry-value.d.ts.map index 45116cb..6fe06e8 100644 --- a/dist/types/btree/binary-tree-leaf-entry-value.d.ts.map +++ b/dist/types/btree/binary-tree-leaf-entry-value.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-leaf-entry-value.d.ts","sourceRoot":"","sources":["../ts/btree/binary-tree-leaf-entry-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,qBAAa,6BAA6B;IAMnB,aAAa,EAAE,sBAAsB;IAAS,QAAQ,CAAC,EAAE,iBAAiB;IAL7F;;;;OAIG;gBACgB,aAAa,EAAE,sBAAsB,EAAS,QAAQ,CAAC,EAAE,iBAAiB;IAG7F,6CAA6C;IAC7C,IAAI,KAAK,2BAER;CACJ"} \ No newline at end of file +{"version":3,"file":"binary-tree-leaf-entry-value.d.ts","sourceRoot":"","sources":["../../../src/btree/binary-tree-leaf-entry-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,qBAAa,6BAA6B;IAMnB,aAAa,EAAE,sBAAsB;IAAS,QAAQ,CAAC,EAAE,iBAAiB;IAL7F;;;;OAIG;gBACgB,aAAa,EAAE,sBAAsB,EAAS,QAAQ,CAAC,EAAE,iBAAiB;IAG7F,6CAA6C;IAC7C,IAAI,KAAK,2BAER;CACJ"} \ No newline at end of file diff --git a/dist/types/btree/binary-tree-leaf-entry.d.ts.map b/dist/types/btree/binary-tree-leaf-entry.d.ts.map index ca10180..049edd3 100644 --- a/dist/types/btree/binary-tree-leaf-entry.d.ts.map +++ b/dist/types/btree/binary-tree-leaf-entry.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-leaf-entry.d.ts","sourceRoot":"","sources":["../ts/btree/binary-tree-leaf-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,qBAAa,wBAAwB;IAUd,GAAG,EAAE,gBAAgB;IAAS,MAAM,EAAE,6BAA6B,EAAE;IARxF,OAAO,CAAC,EAAE,gCAAgC,CAAC;IAE3C,OAAO,CAAC,YAAY,CAAS;IAE7B;;;OAGG;gBACgB,GAAG,EAAE,gBAAgB,EAAS,MAAM,EAAE,6BAA6B,EAAE;IAKxF;;OAEG;IACH,IAAI,KAAK,kCAER;IAED,IAAI,WAAW,WAId;IAED,IAAI,WAAW,CAAC,EAAE,QAAA,EAEjB;IAED;;OAEG;IACI,OAAO,EAAE,6BAA6B,EAAE,CAAC;IAEhD,6CAA6C;IACvC,UAAU,IAAI,OAAO,CAAC,6BAA6B,EAAE,CAAC;CAI/D"} \ No newline at end of file +{"version":3,"file":"binary-tree-leaf-entry.d.ts","sourceRoot":"","sources":["../../../src/btree/binary-tree-leaf-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,qBAAa,wBAAwB;IAUd,GAAG,EAAE,gBAAgB;IAAS,MAAM,EAAE,6BAA6B,EAAE;IARxF,OAAO,CAAC,EAAE,gCAAgC,CAAC;IAE3C,OAAO,CAAC,YAAY,CAAS;IAE7B;;;OAGG;gBACgB,GAAG,EAAE,gBAAgB,EAAS,MAAM,EAAE,6BAA6B,EAAE;IAKxF;;OAEG;IACH,IAAI,KAAK,kCAER;IAED,IAAI,WAAW,WAId;IAED,IAAI,WAAW,CAAC,EAAE,QAAA,EAEjB;IAED;;OAEG;IACI,OAAO,EAAE,6BAA6B,EAAE,CAAC;IAEhD,6CAA6C;IACvC,UAAU,IAAI,OAAO,CAAC,6BAA6B,EAAE,CAAC;CAI/D"} \ No newline at end of file diff --git a/dist/types/btree/binary-tree-leaf.d.ts.map b/dist/types/btree/binary-tree-leaf.d.ts.map index 481a5e5..0dcd8a8 100644 --- a/dist/types/btree/binary-tree-leaf.d.ts.map +++ b/dist/types/btree/binary-tree-leaf.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-leaf.d.ts","sourceRoot":"","sources":["../ts/btree/binary-tree-leaf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,qBAAa,mBAAoB,SAAQ,uBAAuB;IAE5D,MAAM,KAAK,gBAAgB,WAAgB;IAC3C,MAAM,KAAK,gBAAgB,WAAiB;IAE5C,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAMjE,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAM1D,cAAc,SAAK;IACnB,cAAc,SAAK;IAEnB,OAAO;;;;gBAII,QAAQ,IAAI,CAAC;MAI7B;IAEK,OAAO,EAAE,wBAAwB,EAAE,CAAM;gBAEpC,QAAQ,EAAE,OAAO,CAAC,uBAAuB,CAAC;IAKtD;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAGjD;;QAEI;IACJ,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE7C,IAAI,WAAW,YAAqD;IACpE,IAAI,OAAO,YAAiD;IAE5D,IAAI,aAAa,WAIhB;IACD,IAAI,aAAa,CAAC,QAAQ,QAAA,EAIzB;IAED,IAAI,aAAa,WAIhB;IACD,IAAI,aAAa,CAAC,QAAQ,QAAA,EAIzB;IAED,cAAc,CAAC,GAAG,EAAE,gBAAgB;IAIpC,SAAS,CAAC,GAAG,EAAE,gBAAgB;CAGlC"} \ No newline at end of file +{"version":3,"file":"binary-tree-leaf.d.ts","sourceRoot":"","sources":["../../../src/btree/binary-tree-leaf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,qBAAa,mBAAoB,SAAQ,uBAAuB;IAE5D,MAAM,KAAK,gBAAgB,WAAgB;IAC3C,MAAM,KAAK,gBAAgB,WAAiB;IAE5C,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAMjE,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAM1D,cAAc,SAAK;IACnB,cAAc,SAAK;IAEnB,OAAO;;;;gBAII,QAAQ,IAAI,CAAC;MAI7B;IAEK,OAAO,EAAE,wBAAwB,EAAE,CAAM;gBAEpC,QAAQ,EAAE,OAAO,CAAC,uBAAuB,CAAC;IAKtD;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAGjD;;QAEI;IACJ,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE7C,IAAI,WAAW,YAAqD;IACpE,IAAI,OAAO,YAAiD;IAE5D,IAAI,aAAa,WAIhB;IACD,IAAI,aAAa,CAAC,QAAQ,QAAA,EAIzB;IAED,IAAI,aAAa,WAIhB;IACD,IAAI,aAAa,CAAC,QAAQ,QAAA,EAIzB;IAED,cAAc,CAAC,GAAG,EAAE,gBAAgB;IAIpC,SAAS,CAAC,GAAG,EAAE,gBAAgB;CAGlC"} \ No newline at end of file diff --git a/dist/types/btree/binary-tree-node-entry.d.ts.map b/dist/types/btree/binary-tree-node-entry.d.ts.map index f86364a..8280a5e 100644 --- a/dist/types/btree/binary-tree-node-entry.d.ts.map +++ b/dist/types/btree/binary-tree-node-entry.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-node-entry.d.ts","sourceRoot":"","sources":["../ts/btree/binary-tree-node-entry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,qBAAa,wBAAwB;IAQd,GAAG,EAAE,gBAAgB;IAPxC,aAAa,EAAE,MAAM,CAAQ;IAE7B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;gBAEF,GAAG,EAAE,gBAAgB;IAGlC,UAAU,IAAI,OAAO,CAAC,uBAAuB,CAAC;CAGvD"} \ No newline at end of file +{"version":3,"file":"binary-tree-node-entry.d.ts","sourceRoot":"","sources":["../../../src/btree/binary-tree-node-entry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,qBAAa,wBAAwB;IAQd,GAAG,EAAE,gBAAgB;IAPxC,aAAa,EAAE,MAAM,CAAQ;IAE7B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;gBAEF,GAAG,EAAE,gBAAgB;IAGlC,UAAU,IAAI,OAAO,CAAC,uBAAuB,CAAC;CAGvD"} \ No newline at end of file diff --git a/dist/types/btree/binary-tree-node-info.d.ts.map b/dist/types/btree/binary-tree-node-info.d.ts.map index 9063ec9..3da9964 100644 --- a/dist/types/btree/binary-tree-node-info.d.ts.map +++ b/dist/types/btree/binary-tree-node-info.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-node-info.d.ts","sourceRoot":"","sources":["../ts/btree/binary-tree-node-info.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,qBAAa,uBAAuB;IAChC,IAAI,CAAC,EAAE,eAAe,CAAC;IAEvB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAEjC,WAAW,CAAC,EAAE,wBAAwB,CAAC;IAEvC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAOzB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC;IAmBlD,IAAI,KAAK,WAER;IAED,IAAI,KAAK,CAAC,KAAK,QAAA,EAEd;CACJ"} \ No newline at end of file +{"version":3,"file":"binary-tree-node-info.d.ts","sourceRoot":"","sources":["../../../src/btree/binary-tree-node-info.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,qBAAa,uBAAuB;IAChC,IAAI,CAAC,EAAE,eAAe,CAAC;IAEvB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAEjC,WAAW,CAAC,EAAE,wBAAwB,CAAC;IAEvC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAOzB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC;IAmBlD,IAAI,KAAK,WAER;IAED,IAAI,KAAK,CAAC,KAAK,QAAA,EAEd;CACJ"} \ No newline at end of file diff --git a/dist/types/btree/binary-tree-node.d.ts.map b/dist/types/btree/binary-tree-node.d.ts.map index f6a78b4..9dee82b 100644 --- a/dist/types/btree/binary-tree-node.d.ts.map +++ b/dist/types/btree/binary-tree-node.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-node.d.ts","sourceRoot":"","sources":["../ts/btree/binary-tree-node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,qBAAa,mBAAoB,SAAQ,uBAAuB;IAE5D,OAAO,EAAE,wBAAwB,EAAE,CAAM;IAEzC,aAAa,EAAE,MAAM,CAAQ;IAE7B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;gBAET,QAAQ,EAAE,OAAO,CAAC,uBAAuB,CAAC;IAIhD,UAAU,IAAI,OAAO,CAAC,uBAAuB,CAAC;CAGvD"} \ No newline at end of file +{"version":3,"file":"binary-tree-node.d.ts","sourceRoot":"","sources":["../../../src/btree/binary-tree-node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,qBAAa,mBAAoB,SAAQ,uBAAuB;IAE5D,OAAO,EAAE,wBAAwB,EAAE,CAAM;IAEzC,aAAa,EAAE,MAAM,CAAQ;IAE7B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;gBAET,QAAQ,EAAE,OAAO,CAAC,uBAAuB,CAAC;IAIhD,UAAU,IAAI,OAAO,CAAC,uBAAuB,CAAC;CAGvD"} \ No newline at end of file diff --git a/dist/types/btree/binary-tree-transaction-operation.d.ts.map b/dist/types/btree/binary-tree-transaction-operation.d.ts.map index 9ffe046..917fe59 100644 --- a/dist/types/btree/binary-tree-transaction-operation.d.ts.map +++ b/dist/types/btree/binary-tree-transaction-operation.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree-transaction-operation.d.ts","sourceRoot":"","sources":["../ts/btree/binary-tree-transaction-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,qBAAa,mCAAmC;IAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,aAAa,EAAE,sBAAsB,EAAE,QAAQ,CAAC,EAAE,iBAAiB;IAIrG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,6BAA6B,EAAE,YAAY,EAAE,6BAA6B,EAAE,QAAQ,CAAC,EAAE,iBAAiB;IAIvJ,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,gBAAgB,EAAE,aAAa,EAAE,sBAAsB;IAI1E,IAAI,EAAE,KAAK,GAAC,QAAQ,GAAC,QAAQ,CAAC;IAC9B,GAAG,EAAE,gBAAgB,CAAC;IACtB,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,6BAA6B,CAAC;IACzC,YAAY,CAAC,EAAE,6BAA6B,CAAC;gBAEjC,SAAS,EAAE,mCAAmC;CAe7D"} \ No newline at end of file +{"version":3,"file":"binary-tree-transaction-operation.d.ts","sourceRoot":"","sources":["../../../src/btree/binary-tree-transaction-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,qBAAa,mCAAmC;IAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,aAAa,EAAE,sBAAsB,EAAE,QAAQ,CAAC,EAAE,iBAAiB;IAIrG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,6BAA6B,EAAE,YAAY,EAAE,6BAA6B,EAAE,QAAQ,CAAC,EAAE,iBAAiB;IAIvJ,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,gBAAgB,EAAE,aAAa,EAAE,sBAAsB;IAI1E,IAAI,EAAE,KAAK,GAAC,QAAQ,GAAC,QAAQ,CAAC;IAC9B,GAAG,EAAE,gBAAgB,CAAC;IACtB,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,6BAA6B,CAAC;IACzC,YAAY,CAAC,EAAE,6BAA6B,CAAC;gBAEjC,SAAS,EAAE,mCAAmC;CAe7D"} \ No newline at end of file diff --git a/dist/types/btree/binary-tree.d.ts.map b/dist/types/btree/binary-tree.d.ts.map index 2db3da4..3e0bf13 100644 --- a/dist/types/btree/binary-tree.d.ts.map +++ b/dist/types/btree/binary-tree.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"binary-tree.d.ts","sourceRoot":"","sources":["../ts/btree/binary-tree.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"binary-tree.d.ts","sourceRoot":"","sources":["../../../src/btree/binary-tree.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types/btree/binary-writer.d.ts.map b/dist/types/btree/binary-writer.d.ts.map index e899514..03a8aa2 100644 --- a/dist/types/btree/binary-writer.d.ts.map +++ b/dist/types/btree/binary-writer.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"binary-writer.d.ts","sourceRoot":"","sources":["../ts/btree/binary-writer.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAsC,UAAU,EAAE,MAAM,WAAW,CAAC;AAG9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,aAAK,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,cAAc,CAAC,CAAC;AACpF,aAAK,aAAa,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3E,qBAAa,YAAY;IAErB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa;IAM3D,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE;IAkC/B,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,iBAAiB;IA2BtD,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa;IA+DzC,IAAI,MAAM,WAA4B;IACtC,IAAI,MAAM,WAAwD;IAElE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM;IAgB3C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM;IAO5D,GAAG;IAOH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB;IAGvC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM;IAGnC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE;IAGpC,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;IAGpF,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;CAG5F"} \ No newline at end of file +{"version":3,"file":"binary-writer.d.ts","sourceRoot":"","sources":["../../../src/btree/binary-writer.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAsC,UAAU,EAAE,MAAM,WAAW,CAAC;AAG9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,aAAK,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,cAAc,CAAC,CAAC;AACpF,aAAK,aAAa,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3E,qBAAa,YAAY;IAErB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa;IAM3D,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE;IAkC/B,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,iBAAiB;IA2BtD,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa;IA+DzC,IAAI,MAAM,WAA4B;IACtC,IAAI,MAAM,WAAwD;IAElE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM;IAgB3C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM;IAO5D,GAAG;IAOH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB;IAGvC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM;IAGnC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE;IAGpC,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;IAGpF,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;CAG5F"} \ No newline at end of file diff --git a/dist/types/btree/config.d.ts.map b/dist/types/btree/config.d.ts.map index 1d70d8e..12957e8 100644 --- a/dist/types/btree/config.d.ts.map +++ b/dist/types/btree/config.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../ts/btree/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,eAAO,MAAM,2BAA2B,QAAU,CAAC;AACnD,eAAO,MAAM,qBAAqB,QAAsB,CAAC"} \ No newline at end of file +{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/btree/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,eAAO,MAAM,2BAA2B,QAAU,CAAC;AACnD,eAAO,MAAM,qBAAqB,QAAsB,CAAC"} \ No newline at end of file diff --git a/dist/types/btree/entry-key-type.d.ts.map b/dist/types/btree/entry-key-type.d.ts.map index a312564..046880d 100644 --- a/dist/types/btree/entry-key-type.d.ts.map +++ b/dist/types/btree/entry-key-type.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"entry-key-type.d.ts","sourceRoot":"","sources":["../ts/btree/entry-key-type.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AACrF,oBAAY,kBAAkB,GAAG,gBAAgB,CAAC"} \ No newline at end of file +{"version":3,"file":"entry-key-type.d.ts","sourceRoot":"","sources":["../../../src/btree/entry-key-type.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AACrF,oBAAY,kBAAkB,GAAG,gBAAgB,CAAC"} \ No newline at end of file diff --git a/dist/types/btree/index.d.ts.map b/dist/types/btree/index.d.ts.map index aa064dc..f58e4c3 100644 --- a/dist/types/btree/index.d.ts.map +++ b/dist/types/btree/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/btree/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EACH,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,0BAA0B,GAC7B,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/btree/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EACH,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,0BAA0B,GAC7B,CAAC"} \ No newline at end of file diff --git a/dist/types/btree/leaf-entry-metadata.d.ts.map b/dist/types/btree/leaf-entry-metadata.d.ts.map index 442899f..888ef4f 100644 --- a/dist/types/btree/leaf-entry-metadata.d.ts.map +++ b/dist/types/btree/leaf-entry-metadata.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"leaf-entry-metadata.d.ts","sourceRoot":"","sources":["../ts/btree/leaf-entry-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,oBAAY,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"leaf-entry-metadata.d.ts","sourceRoot":"","sources":["../../../src/btree/leaf-entry-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,oBAAY,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/types/btree/leaf-entry-recordpointer.d.ts.map b/dist/types/btree/leaf-entry-recordpointer.d.ts.map index 17d0db3..0eec365 100644 --- a/dist/types/btree/leaf-entry-recordpointer.d.ts.map +++ b/dist/types/btree/leaf-entry-recordpointer.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"leaf-entry-recordpointer.d.ts","sourceRoot":"","sources":["../ts/btree/leaf-entry-recordpointer.ts"],"names":[],"mappings":"AAAA,oBAAY,sBAAsB,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC"} \ No newline at end of file +{"version":3,"file":"leaf-entry-recordpointer.d.ts","sourceRoot":"","sources":["../../../src/btree/leaf-entry-recordpointer.ts"],"names":[],"mappings":"AAAA,oBAAY,sBAAsB,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC"} \ No newline at end of file diff --git a/dist/types/btree/tree-builder.d.ts.map b/dist/types/btree/tree-builder.d.ts.map index 33d0586..ee0817b 100644 --- a/dist/types/btree/tree-builder.d.ts.map +++ b/dist/types/btree/tree-builder.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"tree-builder.d.ts","sourceRoot":"","sources":["../ts/btree/tree-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAMlE,qBAAa,gBAAgB;IASN,UAAU,EAAE,OAAO;IAAS,UAAU;IAAe,YAAY,EAAE,MAAM,EAAE;IAR9F,IAAI,6EAAsF;IAC1F,aAAa,SAAK;IAElB;;;;OAIG;gBACgB,UAAU,EAAE,OAAO,EAAS,UAAU,SAAM,EAAS,YAAY,GAAE,MAAM,EAAO;IAGnG,GAAG,CAAC,GAAG,EAAE,kBAAkB,EAAE,aAAa,EAAE,sBAAsB,EAAE,QAAQ,CAAC,EAAE,iBAAiB;IAsBhG;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,kBAAkB,EAAE,aAAa,CAAC,EAAE,sBAAsB;IAyBtE,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM;IA6N1B,UAAU,CAAC,QAAQ,EAAE,MAAM;IAW3B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;CAqBnC"} \ No newline at end of file +{"version":3,"file":"tree-builder.d.ts","sourceRoot":"","sources":["../../../src/btree/tree-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAMlE,qBAAa,gBAAgB;IASN,UAAU,EAAE,OAAO;IAAS,UAAU;IAAe,YAAY,EAAE,MAAM,EAAE;IAR9F,IAAI,6EAAsF;IAC1F,aAAa,SAAK;IAElB;;;;OAIG;gBACgB,UAAU,EAAE,OAAO,EAAS,UAAU,SAAM,EAAS,YAAY,GAAE,MAAM,EAAO;IAGnG,GAAG,CAAC,GAAG,EAAE,kBAAkB,EAAE,aAAa,EAAE,sBAAsB,EAAE,QAAQ,CAAC,EAAE,iBAAiB;IAsBhG;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,kBAAkB,EAAE,aAAa,CAAC,EAAE,sBAAsB;IAyBtE,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM;IA6N1B,UAAU,CAAC,QAAQ,EAAE,MAAM;IAW3B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;CAqBnC"} \ No newline at end of file diff --git a/dist/types/btree/tree-leaf-entry-value.d.ts.map b/dist/types/btree/tree-leaf-entry-value.d.ts.map index 75058ed..7fdf97e 100644 --- a/dist/types/btree/tree-leaf-entry-value.d.ts.map +++ b/dist/types/btree/tree-leaf-entry-value.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"tree-leaf-entry-value.d.ts","sourceRoot":"","sources":["../ts/btree/tree-leaf-entry-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,qBAAa,uBAAuB;IAKb,aAAa,EAAE,sBAAsB;IAAS,QAAQ,CAAC,EAAE,iBAAiB;IAJ7F;;;OAGG;gBACgB,aAAa,EAAE,sBAAsB,EAAS,QAAQ,CAAC,EAAE,iBAAiB;IAG7F,6CAA6C;IAC7C,IAAI,KAAK,2BAER;CACJ"} \ No newline at end of file +{"version":3,"file":"tree-leaf-entry-value.d.ts","sourceRoot":"","sources":["../../../src/btree/tree-leaf-entry-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,qBAAa,uBAAuB;IAKb,aAAa,EAAE,sBAAsB;IAAS,QAAQ,CAAC,EAAE,iBAAiB;IAJ7F;;;OAGG;gBACgB,aAAa,EAAE,sBAAsB,EAAS,QAAQ,CAAC,EAAE,iBAAiB;IAG7F,6CAA6C;IAC7C,IAAI,KAAK,2BAER;CACJ"} \ No newline at end of file diff --git a/dist/types/btree/tree-leaf-entry.d.ts.map b/dist/types/btree/tree-leaf-entry.d.ts.map index 40b786d..24ec0f6 100644 --- a/dist/types/btree/tree-leaf-entry.d.ts.map +++ b/dist/types/btree/tree-leaf-entry.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"tree-leaf-entry.d.ts","sourceRoot":"","sources":["../ts/btree/tree-leaf-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,qBAAa,kBAAkB;IAGR,IAAI,EAAE,aAAa;IAAS,GAAG,EAAE,gBAAgB;IAFpE,MAAM,EAAE,uBAAuB,EAAE,CAAC;gBAEf,IAAI,EAAE,aAAa,EAAS,GAAG,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,uBAAuB;CAMxG"} \ No newline at end of file +{"version":3,"file":"tree-leaf-entry.d.ts","sourceRoot":"","sources":["../../../src/btree/tree-leaf-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,qBAAa,kBAAkB;IAGR,IAAI,EAAE,aAAa;IAAS,GAAG,EAAE,gBAAgB;IAFpE,MAAM,EAAE,uBAAuB,EAAE,CAAC;gBAEf,IAAI,EAAE,aAAa,EAAS,GAAG,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,uBAAuB;CAMxG"} \ No newline at end of file diff --git a/dist/types/btree/tree-leaf.d.ts.map b/dist/types/btree/tree-leaf.d.ts.map index 7348a13..51fceb1 100644 --- a/dist/types/btree/tree-leaf.d.ts.map +++ b/dist/types/btree/tree-leaf.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"tree-leaf.d.ts","sourceRoot":"","sources":["../ts/btree/tree-leaf.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,qBAAa,aAAa;IAMH,MAAM,EAAE,SAAS,GAAG,aAAa;IAJpD,OAAO,EAAE,kBAAkB,EAAE,CAAM;IACnC,QAAQ,EAAE,aAAa,CAAQ;IAC/B,QAAQ,EAAE,aAAa,CAAQ;gBAEZ,MAAM,EAAE,SAAS,GAAG,aAAa;IAGpD;;OAEG;IACH,IAAI,IAAI,IAAI,SAAS,CAEpB;IAED;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB;IAyFtG,QAAQ;IAKF,QAAQ,CAAC,aAAa,SAAQ,EAAE,MAAM,EAAE,YAAY;;;;;;;CAyM7D"} \ No newline at end of file +{"version":3,"file":"tree-leaf.d.ts","sourceRoot":"","sources":["../../../src/btree/tree-leaf.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,qBAAa,aAAa;IAMH,MAAM,EAAE,SAAS,GAAG,aAAa;IAJpD,OAAO,EAAE,kBAAkB,EAAE,CAAM;IACnC,QAAQ,EAAE,aAAa,CAAQ;IAC/B,QAAQ,EAAE,aAAa,CAAQ;gBAEZ,MAAM,EAAE,SAAS,GAAG,aAAa;IAGpD;;OAEG;IACH,IAAI,IAAI,IAAI,SAAS,CAEpB;IAED;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB;IAyFtG,QAAQ;IAKF,QAAQ,CAAC,aAAa,SAAQ,EAAE,MAAM,EAAE,YAAY;;;;;;;CAyM7D"} \ No newline at end of file diff --git a/dist/types/btree/tree-node-entry.d.ts.map b/dist/types/btree/tree-node-entry.d.ts.map index 52a998e..3751d37 100644 --- a/dist/types/btree/tree-node-entry.d.ts.map +++ b/dist/types/btree/tree-node-entry.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"tree-node-entry.d.ts","sourceRoot":"","sources":["../ts/btree/tree-node-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,qBAAa,kBAAkB;IAGR,IAAI,EAAE,aAAa;IAAS,GAAG,EAAE,gBAAgB;IAFpE,OAAO,EAAE,aAAa,GAAG,aAAa,CAAQ;gBAE3B,IAAI,EAAE,aAAa,EAAS,GAAG,EAAE,gBAAgB;CAEvE"} \ No newline at end of file +{"version":3,"file":"tree-node-entry.d.ts","sourceRoot":"","sources":["../../../src/btree/tree-node-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,qBAAa,kBAAkB;IAGR,IAAI,EAAE,aAAa;IAAS,GAAG,EAAE,gBAAgB;IAFpE,OAAO,EAAE,aAAa,GAAG,aAAa,CAAQ;gBAE3B,IAAI,EAAE,aAAa,EAAS,GAAG,EAAE,gBAAgB;CAEvE"} \ No newline at end of file diff --git a/dist/types/btree/tree-node.d.ts.map b/dist/types/btree/tree-node.d.ts.map index fcba10f..062246a 100644 --- a/dist/types/btree/tree-node.d.ts.map +++ b/dist/types/btree/tree-node.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"tree-node.d.ts","sourceRoot":"","sources":["../ts/btree/tree-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,aAAK,aAAa,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,aAAK,eAAe,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,GAAG,aAAa,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;CACjB,CAAA;AAED,qBAAa,aAAa;IAIH,IAAI,EAAE,SAAS;IAAS,MAAM,EAAE,aAAa;IAHhE,OAAO,EAAE,kBAAkB,EAAE,CAAM;IACnC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAQ;gBAE3B,IAAI,EAAE,SAAS,EAAS,MAAM,EAAE,aAAa;IAGhE,QAAQ;IAQR,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa;IAuBnF,OAAO,CAAC,UAAU;IAyDZ,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;;;;WA+K9C,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE;CAYtH"} \ No newline at end of file +{"version":3,"file":"tree-node.d.ts","sourceRoot":"","sources":["../../../src/btree/tree-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,aAAK,aAAa,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,aAAK,eAAe,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,GAAG,aAAa,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;CACjB,CAAA;AAED,qBAAa,aAAa;IAIH,IAAI,EAAE,SAAS;IAAS,MAAM,EAAE,aAAa;IAHhE,OAAO,EAAE,kBAAkB,EAAE,CAAM;IACnC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAQ;gBAE3B,IAAI,EAAE,SAAS,EAAS,MAAM,EAAE,aAAa;IAGhE,QAAQ;IAQR,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa;IAuBnF,OAAO,CAAC,UAAU;IAyDZ,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;;;;WA+K9C,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE;CAYtH"} \ No newline at end of file diff --git a/dist/types/btree/tree.d.ts.map b/dist/types/btree/tree.d.ts.map index 8e59245..a74e6d4 100644 --- a/dist/types/btree/tree.d.ts.map +++ b/dist/types/btree/tree.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../ts/btree/tree.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,qBAAa,SAAS;IAqBC,iBAAiB,EAAE,MAAM;IAAS,UAAU,EAAE,OAAO;IAAS,YAAY,EAAE,MAAM,EAAE;IApBvG;;OAEG;IACI,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC;IAE3C;;OAEG;IACI,KAAK,EAAE,MAAM,CAAC;IAErB;;OAEG;IACI,UAAU,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;gBACgB,iBAAiB,EAAE,MAAM,EAAS,UAAU,EAAE,OAAO,EAAS,YAAY,GAAE,MAAM,EAAO;IAM5G;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,GAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,iBAAiB;IAyBnF;;;;OAIG;IACH,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa;IA4B9C,IAAI,CAAC,GAAG,EAAE,gBAAgB;IAY1B,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,GAAG,kBAAkB,EAAE;aAoBpD,gBAAgB;gBACb,uBAAuB;iBACtB,uBAAuB,EAAE;;IAyI1C;;OAEG;IACH,SAAS;IAST;;OAEG;IACH,QAAQ;IASR,GAAG;IAYH,UAAU;IAYV,MAAM,KAAK,WAAW,YAAoB;IAC1C,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAQrD,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM;;;;;IA4D/D,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,gBAAgB;IA4DvC,QAAQ,CAAC,aAAa,SAAQ,EAAE,MAAM,EAAE,YAAY;IAkF1D,MAAM,KAAK,kBAAkB;qBAER,OAAO,QAAQ,OAAO;4BACf,OAAO,QAAQ,OAAO;qBAC7B,OAAO,QAAQ,OAAO;4BACf,OAAO,QAAQ,OAAO;sBAC5B,OAAO,QAAQ,OAAO;yBACnB,OAAO,QAAQ,OAAO;MAE9C;CACJ"} \ No newline at end of file +{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../src/btree/tree.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,qBAAa,SAAS;IAqBC,iBAAiB,EAAE,MAAM;IAAS,UAAU,EAAE,OAAO;IAAS,YAAY,EAAE,MAAM,EAAE;IApBvG;;OAEG;IACI,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC;IAE3C;;OAEG;IACI,KAAK,EAAE,MAAM,CAAC;IAErB;;OAEG;IACI,UAAU,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;gBACgB,iBAAiB,EAAE,MAAM,EAAS,UAAU,EAAE,OAAO,EAAS,YAAY,GAAE,MAAM,EAAO;IAM5G;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,GAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,iBAAiB;IAyBnF;;;;OAIG;IACH,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa;IA4B9C,IAAI,CAAC,GAAG,EAAE,gBAAgB;IAY1B,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,GAAG,kBAAkB,EAAE;aAoBpD,gBAAgB;gBACb,uBAAuB;iBACtB,uBAAuB,EAAE;;IAyI1C;;OAEG;IACH,SAAS;IAST;;OAEG;IACH,QAAQ;IASR,GAAG;IAYH,UAAU;IAYV,MAAM,KAAK,WAAW,YAAoB;IAC1C,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAQrD,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM;;;;;IA4D/D,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,gBAAgB;IA4DvC,QAAQ,CAAC,aAAa,SAAQ,EAAE,MAAM,EAAE,YAAY;IAkF1D,MAAM,KAAK,kBAAkB;qBAER,OAAO,QAAQ,OAAO;4BACf,OAAO,QAAQ,OAAO;qBAC7B,OAAO,QAAQ,OAAO;4BACf,OAAO,QAAQ,OAAO;sBAC5B,OAAO,QAAQ,OAAO;yBACnB,OAAO,QAAQ,OAAO;MAE9C;CACJ"} \ No newline at end of file diff --git a/dist/types/btree/tx.d.ts.map b/dist/types/btree/tx.d.ts.map index c47dacb..eee55f0 100644 --- a/dist/types/btree/tx.d.ts.map +++ b/dist/types/btree/tx.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../ts/btree/tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,qBAAa,eAAgB,SAAQ,aAAa;IAC9C,iBAAiB,EAAE,KAAK,CAAC,aAAa,GAAC,KAAK,CAAC,CAAQ;IACrD,cAAc,EAAE,KAAK,CAAC,aAAa,GAAC,KAAK,CAAC,CAAQ;gBAEtC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,KAAK;CAG/D;AAED,qBAAa,EAAE;IAEX,OAAO,CAAC,MAAM,CAAiJ;IAC/J,OAAO,CAAC,cAAc,CAAoB;;IAQ1C,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG;IAsB1C;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,CAAA;KAAE;IAU/E,OAAO,CAAC,QAAQ,UAAO;CA6EhC"} \ No newline at end of file +{"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../../src/btree/tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,qBAAa,eAAgB,SAAQ,aAAa;IAC9C,iBAAiB,EAAE,KAAK,CAAC,aAAa,GAAC,KAAK,CAAC,CAAQ;IACrD,cAAc,EAAE,KAAK,CAAC,aAAa,GAAC,KAAK,CAAC,CAAQ;gBAEtC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,KAAK;CAG/D;AAED,qBAAa,EAAE;IAEX,OAAO,CAAC,MAAM,CAAiJ;IAC/J,OAAO,CAAC,cAAc,CAAoB;;IAQ1C,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG;IAsB1C;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,CAAA;KAAE;IAU/E,OAAO,CAAC,QAAQ,UAAO;CA6EhC"} \ No newline at end of file diff --git a/dist/types/btree/typesafe-compare.d.ts.map b/dist/types/btree/typesafe-compare.d.ts.map index 4007f10..78aca0d 100644 --- a/dist/types/btree/typesafe-compare.d.ts.map +++ b/dist/types/btree/typesafe-compare.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"typesafe-compare.d.ts","sourceRoot":"","sources":["../ts/btree/typesafe-compare.ts"],"names":[],"mappings":";AAAA,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,WAI/C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,WAKpD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,WAKvD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,WAOnD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,WAO1D;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,WAOnD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,WAO1D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,cAaxD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,EAAE,WAExG"} \ No newline at end of file +{"version":3,"file":"typesafe-compare.d.ts","sourceRoot":"","sources":["../../../src/btree/typesafe-compare.ts"],"names":[],"mappings":";AAAA,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,WAI/C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,WAKpD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,WAKvD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,WAOnD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,WAO1D;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,WAOnD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,WAO1D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,cAaxD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,EAAE,WAExG"} \ No newline at end of file diff --git a/dist/types/btree/utils.d.ts.map b/dist/types/btree/utils.d.ts.map index 5e256a3..279ba19 100644 --- a/dist/types/btree/utils.d.ts.map +++ b/dist/types/btree/utils.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../ts/btree/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,EAAE,aAAa,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,iBAAiB,OA4BnJ;AAED,eAAO,MAAM,cAAc,gBAAiB,OAAO,EAAE,QAAQ,OAAO,EAAE,SAOrE,CAAC"} \ No newline at end of file +{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/btree/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,EAAE,aAAa,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,iBAAiB,OA4BnJ;AAED,eAAO,MAAM,cAAc,gBAAiB,OAAO,EAAE,QAAQ,OAAO,EAAE,SAOrE,CAAC"} \ No newline at end of file diff --git a/dist/types/data-index/array-index-query-hint.d.ts.map b/dist/types/data-index/array-index-query-hint.d.ts.map index a0961ac..800db03 100644 --- a/dist/types/data-index/array-index-query-hint.d.ts.map +++ b/dist/types/data-index/array-index-query-hint.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"array-index-query-hint.d.ts","sourceRoot":"","sources":["../ts/data-index/array-index-query-hint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,qBAAa,mBAAoB,SAAQ,cAAc;IACnD,MAAM,KAAK,KAAK;;OAIf;gBAEW,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO;IAI3C,IAAI,WAAW,WAUd;CACJ"} \ No newline at end of file +{"version":3,"file":"array-index-query-hint.d.ts","sourceRoot":"","sources":["../../../src/data-index/array-index-query-hint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,qBAAa,mBAAoB,SAAQ,cAAc;IACnD,MAAM,KAAK,KAAK;;OAIf;gBAEW,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO;IAI3C,IAAI,WAAW,WAUd;CACJ"} \ No newline at end of file diff --git a/dist/types/data-index/array-index.d.ts.map b/dist/types/data-index/array-index.d.ts.map index 0f02574..b98dc27 100644 --- a/dist/types/data-index/array-index.d.ts.map +++ b/dist/types/data-index/array-index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"array-index.d.ts","sourceRoot":"","sources":["../ts/data-index/array-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAkB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIpD;;GAEG;AACH,qBAAa,UAAW,SAAQ,SAAS;gBACzB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB;IASlF,IAAI,IAAI,WAEP;IAEK,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;IAsD3E,KAAK;IAsBL,MAAM,KAAK,cAAc,aAIxB;IACD,IAAI,cAAc,aAEjB;IAEK,KAAK,CAAC,EAAE,EAAE,0BAA0B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACjE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,iBAAiB,CAAC;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;CA+J7H"} \ No newline at end of file +{"version":3,"file":"array-index.d.ts","sourceRoot":"","sources":["../../../src/data-index/array-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAkB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIpD;;GAEG;AACH,qBAAa,UAAW,SAAQ,SAAS;gBACzB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB;IASlF,IAAI,IAAI,WAEP;IAEK,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;IAsD3E,KAAK;IAsBL,MAAM,KAAK,cAAc,aAIxB;IACD,IAAI,cAAc,aAEjB;IAEK,KAAK,CAAC,EAAE,EAAE,0BAA0B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACjE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,iBAAiB,CAAC;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;CA+J7H"} \ No newline at end of file diff --git a/dist/types/data-index/data-index.d.ts.map b/dist/types/data-index/data-index.d.ts.map index ce076b1..21217bf 100644 --- a/dist/types/data-index/data-index.d.ts.map +++ b/dist/types/data-index/data-index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"data-index.d.ts","sourceRoot":"","sources":["../ts/data-index/data-index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"data-index.d.ts","sourceRoot":"","sources":["../../../src/data-index/data-index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types/data-index/fulltext-index-query-hint.d.ts.map b/dist/types/data-index/fulltext-index-query-hint.d.ts.map index 40e26a8..04250b5 100644 --- a/dist/types/data-index/fulltext-index-query-hint.d.ts.map +++ b/dist/types/data-index/fulltext-index-query-hint.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"fulltext-index-query-hint.d.ts","sourceRoot":"","sources":["../ts/data-index/fulltext-index-query-hint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,qBAAa,sBAAuB,SAAQ,cAAc;IACtD,MAAM,KAAK,KAAK;;;;OAMf;gBAEW,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO;IAInE,IAAI,WAAW,WAed;CACJ"} \ No newline at end of file +{"version":3,"file":"fulltext-index-query-hint.d.ts","sourceRoot":"","sources":["../../../src/data-index/fulltext-index-query-hint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,qBAAa,sBAAuB,SAAQ,cAAc;IACtD,MAAM,KAAK,KAAK;;;;OAMf;gBAEW,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO;IAInE,IAAI,WAAW,WAed;CACJ"} \ No newline at end of file diff --git a/dist/types/data-index/fulltext-index.d.ts.map b/dist/types/data-index/fulltext-index.d.ts.map index 2cedd5d..71c1077 100644 --- a/dist/types/data-index/fulltext-index.d.ts.map +++ b/dist/types/data-index/fulltext-index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"fulltext-index.d.ts","sourceRoot":"","sources":["../ts/data-index/fulltext-index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"fulltext-index.d.ts","sourceRoot":"","sources":["../../../src/data-index/fulltext-index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types/data-index/geo-index.d.ts.map b/dist/types/data-index/geo-index.d.ts.map index c4c6c92..22c51b9 100644 --- a/dist/types/data-index/geo-index.d.ts.map +++ b/dist/types/data-index/geo-index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"geo-index.d.ts","sourceRoot":"","sources":["../ts/data-index/geo-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAwHjD,qBAAa,QAAS,SAAQ,SAAS;gBACvB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB;IASlF,IAAI,IAAI,WAEP;IAEK,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;IAa3E,KAAK;IAmBL,MAAM,KAAK,cAAc,aAExB;IAED,IAAI,cAAc,aAEjB;IAED,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IA0B7E,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,0BAA0B,EAAE,GAAG,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,iBAAiB,CAAC;KAAE;IAiB3H;;OAEG;IACG,MAAM,CACR,GAAG,EAAE;QACD;;WAEG;QACH,GAAG,EAAE,MAAM,CAAC;QAEZ;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC;QAEb;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;KAClB,GACF,OAAO,CAAC,iBAAiB,CAAC;CAuChC"} \ No newline at end of file +{"version":3,"file":"geo-index.d.ts","sourceRoot":"","sources":["../../../src/data-index/geo-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAwHjD,qBAAa,QAAS,SAAQ,SAAS;gBACvB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB;IASlF,IAAI,IAAI,WAEP;IAEK,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;IAa3E,KAAK;IAmBL,MAAM,KAAK,cAAc,aAExB;IAED,IAAI,cAAc,aAEjB;IAED,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IA0B7E,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,0BAA0B,EAAE,GAAG,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,iBAAiB,CAAC;KAAE;IAiB3H;;OAEG;IACG,MAAM,CACR,GAAG,EAAE;QACD;;WAEG;QACH,GAAG,EAAE,MAAM,CAAC;QAEZ;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC;QAEb;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;KAClB,GACF,OAAO,CAAC,iBAAiB,CAAC;CAuChC"} \ No newline at end of file diff --git a/dist/types/data-index/index.d.ts.map b/dist/types/data-index/index.d.ts.map index fe75d0b..8dfae8d 100644 --- a/dist/types/data-index/index.d.ts.map +++ b/dist/types/data-index/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/data-index/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/data-index/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"} \ No newline at end of file diff --git a/dist/types/data-index/options.d.ts.map b/dist/types/data-index/options.d.ts.map index dd2992f..f4d903a 100644 --- a/dist/types/data-index/options.d.ts.map +++ b/dist/types/data-index/options.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../ts/data-index/options.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB"} \ No newline at end of file +{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/data-index/options.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB"} \ No newline at end of file diff --git a/dist/types/data-index/query-hint.d.ts.map b/dist/types/data-index/query-hint.d.ts.map index 33b8164..ee10c50 100644 --- a/dist/types/data-index/query-hint.d.ts.map +++ b/dist/types/data-index/query-hint.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"query-hint.d.ts","sourceRoot":"","sources":["../ts/data-index/query-hint.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IACJ,IAAI,EAAE,MAAM;IAAS,KAAK,EAAE,OAAO;gBAAnC,IAAI,EAAE,MAAM,EAAS,KAAK,EAAE,OAAO;CACzD"} \ No newline at end of file +{"version":3,"file":"query-hint.d.ts","sourceRoot":"","sources":["../../../src/data-index/query-hint.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IACJ,IAAI,EAAE,MAAM;IAAS,KAAK,EAAE,OAAO;gBAAnC,IAAI,EAAE,MAAM,EAAS,KAAK,EAAE,OAAO;CACzD"} \ No newline at end of file diff --git a/dist/types/data-index/query-results.d.ts.map b/dist/types/data-index/query-results.d.ts.map index f59822b..ff15ca6 100644 --- a/dist/types/data-index/query-results.d.ts.map +++ b/dist/types/data-index/query-results.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"query-results.d.ts","sourceRoot":"","sources":["../ts/data-index/query-results.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEhF,qBAAa,gBAAgB;IAEN,GAAG,EAAE,MAAM,GAAG,MAAM;IAAS,IAAI,EAAE,MAAM;IAAS,KAAK,EAAE,cAAc;IAAS,QAAQ,EAAE,aAAa;IADnH,MAAM,EAAE,uBAAuB,EAAE,CAAC;gBACtB,GAAG,EAAE,MAAM,GAAG,MAAM,EAAS,IAAI,EAAE,MAAM,EAAS,KAAK,EAAE,cAAc,EAAS,QAAQ,EAAE,aAAa;CAC7H;AAED,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,gBAAgB,CAAC;IAE1D,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,EAAE,EAAE,SAAS,EAAE,MAAM;IAO9E,WAAW,EAAE,uBAAuB,EAAE,CAAC;IACvC,KAAK,mBAA0B;IAC/B,KAAK,kBAA2B;IAEhC,SAAS,EAAE,MAAM,CAAC;IAgBzB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB;gBAyDnE,MAAM,EAAE,MAAM;gBACd,GAAG,OAAO,EAAE,gBAAgB,EAAE;CAK7C"} \ No newline at end of file +{"version":3,"file":"query-results.d.ts","sourceRoot":"","sources":["../../../src/data-index/query-results.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEhF,qBAAa,gBAAgB;IAEN,GAAG,EAAE,MAAM,GAAG,MAAM;IAAS,IAAI,EAAE,MAAM;IAAS,KAAK,EAAE,cAAc;IAAS,QAAQ,EAAE,aAAa;IADnH,MAAM,EAAE,uBAAuB,EAAE,CAAC;gBACtB,GAAG,EAAE,MAAM,GAAG,MAAM,EAAS,IAAI,EAAE,MAAM,EAAS,KAAK,EAAE,cAAc,EAAS,QAAQ,EAAE,aAAa;CAC7H;AAED,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,gBAAgB,CAAC;IAE1D,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,EAAE,EAAE,SAAS,EAAE,MAAM;IAO9E,WAAW,EAAE,uBAAuB,EAAE,CAAC;IACvC,KAAK,mBAA0B;IAC/B,KAAK,kBAA2B;IAEhC,SAAS,EAAE,MAAM,CAAC;IAgBzB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB;gBAyDnE,MAAM,EAAE,MAAM;gBACd,GAAG,OAAO,EAAE,gBAAgB,EAAE;CAK7C"} \ No newline at end of file diff --git a/dist/types/data-index/query-stats.d.ts.map b/dist/types/data-index/query-stats.d.ts.map index d06b9f5..8e185c4 100644 --- a/dist/types/data-index/query-stats.d.ts.map +++ b/dist/types/data-index/query-stats.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"query-stats.d.ts","sourceRoot":"","sources":["../ts/data-index/query-stats.ts"],"names":[],"mappings":"AACA,qBAAa,eAAe;IAWL,IAAI,EAAE,MAAM;IAAS,IAAI,EAAE,OAAO;IAV9C,OAAO,SAAK;IACZ,OAAO,SAAK;IACZ,KAAK,oBAA2B;IAChC,MAAM,MAAe;IAE5B;;OAEG;IACI,OAAO,SAAK;gBAEA,IAAI,EAAE,MAAM,EAAS,IAAI,EAAE,OAAO,EAAE,KAAK,UAAQ;IAMpE,KAAK;IAIL,IAAI,CAAC,MAAM,GAAE,GAAU;IAKvB,IAAI,QAAQ,WAA0C;CACzD"} \ No newline at end of file +{"version":3,"file":"query-stats.d.ts","sourceRoot":"","sources":["../../../src/data-index/query-stats.ts"],"names":[],"mappings":"AACA,qBAAa,eAAe;IAWL,IAAI,EAAE,MAAM;IAAS,IAAI,EAAE,OAAO;IAV9C,OAAO,SAAK;IACZ,OAAO,SAAK;IACZ,KAAK,oBAA2B;IAChC,MAAM,MAAe;IAE5B;;OAEG;IACI,OAAO,SAAK;gBAEA,IAAI,EAAE,MAAM,EAAS,IAAI,EAAE,OAAO,EAAE,KAAK,UAAQ;IAMpE,KAAK;IAIL,IAAI,CAAC,MAAM,GAAE,GAAU;IAKvB,IAAI,QAAQ,WAA0C;CACzD"} \ No newline at end of file diff --git a/dist/types/data-index/shared.d.ts.map b/dist/types/data-index/shared.d.ts.map index c08cae5..a8f9e56 100644 --- a/dist/types/data-index/shared.d.ts.map +++ b/dist/types/data-index/shared.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../ts/data-index/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,oBAAY,eAAe,GAAG,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,oBAAY,cAAc,GAAG,gBAAgB,CAAC;AAC9C,oBAAY,qBAAqB,GAAG,cAAc,GAAG,cAAc,EAAE,CAAC;AACtE,oBAAY,kBAAkB,GAAG,sBAAsB,CAAC;AACxD,oBAAY,aAAa,GAAG,iBAAiB,CAAC"} \ No newline at end of file +{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/data-index/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,oBAAY,eAAe,GAAG,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,oBAAY,cAAc,GAAG,gBAAgB,CAAC;AAC9C,oBAAY,qBAAqB,GAAG,cAAc,GAAG,cAAc,EAAE,CAAC;AACtE,oBAAY,kBAAkB,GAAG,sBAAsB,CAAC;AACxD,oBAAY,aAAa,GAAG,iBAAiB,CAAC"} \ No newline at end of file diff --git a/dist/types/detailed-error.d.ts.map b/dist/types/detailed-error.d.ts.map index effa3e4..59dd68f 100644 --- a/dist/types/detailed-error.d.ts.map +++ b/dist/types/detailed-error.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"detailed-error.d.ts","sourceRoot":"","sources":["ts/detailed-error.ts"],"names":[],"mappings":"AACA,qBAAa,aAAc,SAAQ,KAAK;IAEpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAC,KAAK,CAAC;IAE5C;;;;;OAKG;gBACS,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,GAAE,aAAa,GAAG,KAAY;IAMtF,IAAI,KAAK,aAQR;IAED,IAAI,MAAM,WAQT;IAED,YAAY,CAAC,IAAI,EAAE,MAAM;IAUzB,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM;CAI/C"} \ No newline at end of file +{"version":3,"file":"detailed-error.d.ts","sourceRoot":"","sources":["../../src/detailed-error.ts"],"names":[],"mappings":"AACA,qBAAa,aAAc,SAAQ,KAAK;IAEpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAC,KAAK,CAAC;IAE5C;;;;;OAKG;gBACS,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,GAAE,aAAa,GAAG,KAAY;IAMtF,IAAI,KAAK,aAQR;IAED,IAAI,MAAM,WAQT;IAED,YAAY,CAAC,IAAI,EAAE,MAAM;IAUzB,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM;CAI/C"} \ No newline at end of file diff --git a/dist/types/geohash.d.ts.map b/dist/types/geohash.d.ts.map index 3b41da2..54f206a 100644 --- a/dist/types/geohash.d.ts.map +++ b/dist/types/geohash.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"geohash.d.ts","sourceRoot":"","sources":["ts/geohash.ts"],"names":[],"mappings":"AAWA;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,QAAkB,MAAM,OAAO,MAAM,cAAc,MAAM,KAAG,MA2D9E,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,YAAsB,MAAM;SAAU,MAAM;SAAO,MAAM;CAiB3E,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,MAAM,YAAsB,MAAM,KAAG;IAAE,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CA2CrH,CAAC;AAGF;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,YAAsB,MAAM,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,WAkC1G,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,UAAU,YAAsB,MAAM;;;;;;;;;CAWlD,CAAC"} \ No newline at end of file +{"version":3,"file":"geohash.d.ts","sourceRoot":"","sources":["../../src/geohash.ts"],"names":[],"mappings":"AAWA;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,QAAkB,MAAM,OAAO,MAAM,cAAc,MAAM,KAAG,MA2D9E,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,YAAsB,MAAM;SAAU,MAAM;SAAO,MAAM;CAiB3E,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,MAAM,YAAsB,MAAM,KAAG;IAAE,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CA2CrH,CAAC;AAGF;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,YAAsB,MAAM,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,WAkC1G,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,UAAU,YAAsB,MAAM;;;;;;;;;CAWlD,CAAC"} \ No newline at end of file diff --git a/dist/types/index.d.ts.map b/dist/types/index.d.ts.map index 19f9bce..18a4c01 100644 --- a/dist/types/index.d.ts.map +++ b/dist/types/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;EAiBE;AACF,OAAO,EACH,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,EAAE,EACF,WAAW,EACX,YAAY,GACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACH,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EACH,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,GAC7B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACH,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,GACxB,MAAM,WAAW,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;EAiBE;AACF,OAAO,EACH,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,EAAE,EACF,WAAW,EACX,YAAY,GACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACH,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EACH,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,GAC7B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACH,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,GACxB,MAAM,WAAW,CAAC"} \ No newline at end of file diff --git a/dist/types/ipc/browser.d.ts.map b/dist/types/ipc/browser.d.ts.map index ded96fb..1e72b8f 100644 --- a/dist/types/ipc/browser.d.ts.map +++ b/dist/types/ipc/browser.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../ts/ipc/browser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAkC,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC;;;;GAIG;AACH,qBAAa,OAAQ,SAAQ,cAAc;IAEvC,OAAO,CAAC,OAAO,CAAmB;gBAEtB,OAAO,EAAE,OAAO;IAyI5B,WAAW,CAAC,OAAO,EAAE,QAAQ;CAKhC"} \ No newline at end of file +{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/ipc/browser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAkC,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC;;;;GAIG;AACH,qBAAa,OAAQ,SAAQ,cAAc;IAEvC,OAAO,CAAC,OAAO,CAAmB;gBAEtB,OAAO,EAAE,OAAO;IAyI5B,WAAW,CAAC,OAAO,EAAE,QAAQ;CAKhC"} \ No newline at end of file diff --git a/dist/types/ipc/index.d.ts.map b/dist/types/ipc/index.d.ts.map index 26b7d38..19f081f 100644 --- a/dist/types/ipc/index.d.ts.map +++ b/dist/types/ipc/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/ipc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiB,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAgBhE;;;;GAIG;AACH,qBAAa,OAAQ,SAAQ,cAAc;gBAE3B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAqFrC,WAAW,CAAC,GAAG,EAAE,QAAQ;IAmBnB,IAAI,CAAC,IAAI,SAAI;CAI7B"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ipc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiB,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAgBhE;;;;GAIG;AACH,qBAAa,OAAQ,SAAQ,cAAc;gBAE3B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAqFrC,WAAW,CAAC,GAAG,EAAE,QAAQ;IAmBnB,IAAI,CAAC,IAAI,SAAI;CAI7B"} \ No newline at end of file diff --git a/dist/types/ipc/ipc.d.ts.map b/dist/types/ipc/ipc.d.ts.map index 8be60f2..738c762 100644 --- a/dist/types/ipc/ipc.d.ts.map +++ b/dist/types/ipc/ipc.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"ipc.d.ts","sourceRoot":"","sources":["../ts/ipc/ipc.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ipc.d.ts","sourceRoot":"","sources":["../../../src/ipc/ipc.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types/ipc/remote.d.ts.map b/dist/types/ipc/remote.d.ts.map index fb3192a..008bb1e 100644 --- a/dist/types/ipc/remote.d.ts.map +++ b/dist/types/ipc/remote.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../ts/ipc/remote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAerC,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,GAAC,QAAQ,CAAC;CAC3B;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AACH,qBAAa,aAAc,SAAQ,cAAc;IAWf,OAAO,CAAC,MAAM;IAT5C,OAAO,KAAK,OAAO,GAAsB;IACzC,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,OAAO,CAGS;IACxB,OAAO,CAAC,UAAU,CAAO;gBAEb,OAAO,EAAE,OAAO,EAAU,MAAM,EAAE,qBAAqB;IAcnE,OAAO,CAAC,OAAO;IA+If,WAAW,CAAC,OAAO,EAAE,QAAQ;IAkBvB,KAAK,CAAC,MAAM,EAAE,KAAK,GAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAmCpE"} \ No newline at end of file +{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../../src/ipc/remote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAerC,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,GAAC,QAAQ,CAAC;CAC3B;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AACH,qBAAa,aAAc,SAAQ,cAAc;IAWf,OAAO,CAAC,MAAM;IAT5C,OAAO,KAAK,OAAO,GAAsB;IACzC,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,OAAO,CAGS;IACxB,OAAO,CAAC,UAAU,CAAO;gBAEb,OAAO,EAAE,OAAO,EAAU,MAAM,EAAE,qBAAqB;IAcnE,OAAO,CAAC,OAAO;IA+If,WAAW,CAAC,OAAO,EAAE,QAAQ;IAkBvB,KAAK,CAAC,MAAM,EAAE,KAAK,GAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAmCpE"} \ No newline at end of file diff --git a/dist/types/node-address.d.ts.map b/dist/types/node-address.d.ts.map index 25639af..4225966 100644 --- a/dist/types/node-address.d.ts.map +++ b/dist/types/node-address.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"node-address.d.ts","sourceRoot":"","sources":["ts/node-address.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW;aACQ,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM;IAExC,QAAQ;IAIR;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,WAAW;CAG9B;AAED,qBAAa,kBAAmB,SAAQ,WAAW;gBACnC,IAAI,EAAE,MAAM;IAIxB,QAAQ;IAIR;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;CAGxC"} \ No newline at end of file +{"version":3,"file":"node-address.d.ts","sourceRoot":"","sources":["../../src/node-address.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW;aACQ,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM;IAExC,QAAQ;IAIR;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,WAAW;CAG9B;AAED,qBAAa,kBAAmB,SAAQ,WAAW;gBACnC,IAAI,EAAE,MAAM;IAIxB,QAAQ;IAIR;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;CAGxC"} \ No newline at end of file diff --git a/dist/types/node-cache.d.ts.map b/dist/types/node-cache.d.ts.map index 4e0ad57..1f19986 100644 --- a/dist/types/node-cache.d.ts.map +++ b/dist/types/node-cache.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"node-cache.d.ts","sourceRoot":"","sources":["ts/node-cache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAQxC,qBAAa,cAAc;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;gBAEJ,QAAQ,EAAE,QAAQ;IAO9B,SAAS;IAIT,MAAM,CAAC,QAAQ,EAAE,QAAQ;CAK5B;AAED;;GAEG;AACH,qBAAa,SAAS;IAClB,MAAM,KAAK,cAAc,WAA4B;IAErD,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,MAAM,CAAqC;IAE5C,GAAG,CAAC,GAAG,EAAE,MAAM;IAItB;;OAEG;IACH,OAAO,CAAC,cAAc,CAA2H;IAEjJ,OAAO,CAAC,qBAAqB;IAiB7B,QAAQ,CAAC,IAAI,EAAE,MAAM;IAgBrB;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ;IA4BzB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAC,YAAY,CAAA;KAAE,EAAE,MAAM,EAAE,MAAM;IA6BtG;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM;IAkBnB,OAAO;IAaP,KAAK;IAIL;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,UAAQ,GAAG,QAAQ,GAAC,OAAO,CAAC,QAAQ,CAAC;CA4CzE"} \ No newline at end of file +{"version":3,"file":"node-cache.d.ts","sourceRoot":"","sources":["../../src/node-cache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAQxC,qBAAa,cAAc;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;gBAEJ,QAAQ,EAAE,QAAQ;IAO9B,SAAS;IAIT,MAAM,CAAC,QAAQ,EAAE,QAAQ;CAK5B;AAED;;GAEG;AACH,qBAAa,SAAS;IAClB,MAAM,KAAK,cAAc,WAA4B;IAErD,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,MAAM,CAAqC;IAE5C,GAAG,CAAC,GAAG,EAAE,MAAM;IAItB;;OAEG;IACH,OAAO,CAAC,cAAc,CAA2H;IAEjJ,OAAO,CAAC,qBAAqB;IAiB7B,QAAQ,CAAC,IAAI,EAAE,MAAM;IAgBrB;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ;IA4BzB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAC,YAAY,CAAA;KAAE,EAAE,MAAM,EAAE,MAAM;IA6BtG;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM;IAkBnB,OAAO;IAaP,KAAK;IAIL;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,UAAQ,GAAG,QAAQ,GAAC,OAAO,CAAC,QAAQ,CAAC;CA4CzE"} \ No newline at end of file diff --git a/dist/types/node-changes.d.ts.map b/dist/types/node-changes.d.ts.map index 07a2e2c..02d3c95 100644 --- a/dist/types/node-changes.d.ts.map +++ b/dist/types/node-changes.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"node-changes.d.ts","sourceRoot":"","sources":["ts/node-changes.ts"],"names":[],"mappings":"AAAA,aAAK,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAQlC,qBAAa,UAAU;IAKA,UAAU,EAAE,MAAM,GAAG,MAAM;IAAS,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ;IAAS,QAAQ,EAAE,OAAO;IAAS,QAAQ,EAAE,OAAO;IAJrJ,MAAM,KAAK,WAAW;;;;OAErB;gBAEkB,UAAU,EAAE,MAAM,GAAG,MAAM,EAAS,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EAAS,QAAQ,EAAE,OAAO,EAAS,QAAQ,EAAE,OAAO;CAExJ;AAED,qBAAa,iBAAiB;IAKP,IAAI,EAAE,MAAM;IAJ/B,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,SAAS,CAA0B;gBAExB,IAAI,EAAE,MAAM;IAG/B,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO;IAKnD,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;IAKtE,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO;IAKnD,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;IAepE,IAAI,OAAO,iBAEV;IACD,IAAI,OAAO,iBAEV;IACD,IAAI,OAAO,iBAEV;IACD,IAAI,GAAG,iBAEN;IACD,IAAI,YAAY,WAEf;IACD,GAAG,CAAC,UAAU,EAAE,UAAU;IAG1B,UAAU,CAAC,UAAU,EAAE,UAAU;IAIjC,IAAI,QAAQ,4BASX;IACD,IAAI,QAAQ,CAAC,KAAK,yBAAA,EAEjB;IAED,IAAI,QAAQ,4BASX;IACD,IAAI,QAAQ,CAAC,KAAK,yBAAA,EAEjB;IAED,IAAI,WAAW,YAId;IAED,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAoBnG"} \ No newline at end of file +{"version":3,"file":"node-changes.d.ts","sourceRoot":"","sources":["../../src/node-changes.ts"],"names":[],"mappings":"AAAA,aAAK,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAQlC,qBAAa,UAAU;IAKA,UAAU,EAAE,MAAM,GAAG,MAAM;IAAS,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ;IAAS,QAAQ,EAAE,OAAO;IAAS,QAAQ,EAAE,OAAO;IAJrJ,MAAM,KAAK,WAAW;;;;OAErB;gBAEkB,UAAU,EAAE,MAAM,GAAG,MAAM,EAAS,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EAAS,QAAQ,EAAE,OAAO,EAAS,QAAQ,EAAE,OAAO;CAExJ;AAED,qBAAa,iBAAiB;IAKP,IAAI,EAAE,MAAM;IAJ/B,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,SAAS,CAA0B;gBAExB,IAAI,EAAE,MAAM;IAG/B,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO;IAKnD,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;IAKtE,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO;IAKnD,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;IAepE,IAAI,OAAO,iBAEV;IACD,IAAI,OAAO,iBAEV;IACD,IAAI,OAAO,iBAEV;IACD,IAAI,GAAG,iBAEN;IACD,IAAI,YAAY,WAEf;IACD,GAAG,CAAC,UAAU,EAAE,UAAU;IAG1B,UAAU,CAAC,UAAU,EAAE,UAAU;IAIjC,IAAI,QAAQ,4BASX;IACD,IAAI,QAAQ,CAAC,KAAK,yBAAA,EAEjB;IAED,IAAI,QAAQ,4BASX;IACD,IAAI,QAAQ,CAAC,KAAK,yBAAA,EAEjB;IAED,IAAI,WAAW,YAId;IAED,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAoBnG"} \ No newline at end of file diff --git a/dist/types/node-errors.d.ts.map b/dist/types/node-errors.d.ts.map index 4c86d2a..c13dcbd 100644 --- a/dist/types/node-errors.d.ts.map +++ b/dist/types/node-errors.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"node-errors.d.ts","sourceRoot":"","sources":["ts/node-errors.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAC/C,qBAAa,iBAAkB,SAAQ,KAAK;CAAG"} \ No newline at end of file +{"version":3,"file":"node-errors.d.ts","sourceRoot":"","sources":["../../src/node-errors.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAC/C,qBAAa,iBAAkB,SAAQ,KAAK;CAAG"} \ No newline at end of file diff --git a/dist/types/node-info.d.ts.map b/dist/types/node-info.d.ts.map index 2b10adf..dd5b673 100644 --- a/dist/types/node-info.d.ts.map +++ b/dist/types/node-info.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"node-info.d.ts","sourceRoot":"","sources":["ts/node-info.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,QAAQ;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;gBAER,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC;IAwBnC,IAAI,SAAS,WAEZ;IAED,IAAI,aAAa,sGAEhB;IAED,QAAQ;CAWX"} \ No newline at end of file +{"version":3,"file":"node-info.d.ts","sourceRoot":"","sources":["../../src/node-info.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,QAAQ;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;gBAER,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC;IAwBnC,IAAI,SAAS,WAEZ;IAED,IAAI,aAAa,sGAEhB;IAED,QAAQ;CAWX"} \ No newline at end of file diff --git a/dist/types/node-lock.d.ts.map b/dist/types/node-lock.d.ts.map index 13f1708..2055fd3 100644 --- a/dist/types/node-lock.d.ts.map +++ b/dist/types/node-lock.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"node-lock.d.ts","sourceRoot":"","sources":["ts/node-lock.ts"],"names":[],"mappings":";AAAA,OAAO,EAAgB,WAAW,EAAE,MAAM,cAAc,CAAC;AAKzD,eAAO,MAAM,UAAU;;;;;CAKtB,CAAC;AAEF,qBAAa,UAAU;IAEnB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAK;IAErB;;OAEG;IACH,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,KAAK,CAAc;IACpB,OAAO,EAAE,MAAM,CAAC;IAEvB;;OAEG;gBACS,KAAK,EAAE,WAAW,EAAE,WAAW,SAAuB;IAKlE,UAAU,CAAC,OAAO,EAAE,MAAM;IAI1B,SAAS;IAIT,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAC,MAAM,EAAE,UAAU,EAAE,OAAO;;;;IA2BhE,IAAI;IAOJ;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK;IAWtC,iBAAiB;IAwCjB;;;;;;OAMG;IACG,IAAI,CACN,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,OAAO,EACpB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1D,OAAO,CAAC,QAAQ,CAAC;IACd,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IA8F7C,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,UAAO;IA0BhF,IAAI;IAIJ,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,OAAO;CAGpE;AAGD,qBAAa,QAAQ;IA0Bb,OAAO,CAAC,MAAM;IACP,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM;IACX,UAAU,EAAE,OAAO;IACnB,QAAQ;IA5BnB,MAAM,KAAK,UAAU;;;;;MAAyB;IAE9C,KAAK,SAAsB;IAC3B,SAAS,EAAE,MAAM,CAAc;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,SAAM;IACb,UAAU,EAAE,QAAQ,CAAQ;IAC5B,EAAE,EAAE,MAAM,CAAY;IACtB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAM;IACxF,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;IAExB,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAE7B;;;;;;;OAOG;gBAES,MAAM,EAAE,UAAU,EACnB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,OAAO,EACnB,QAAQ,UAAQ;IAGrB,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM;IAMxB,YAAY;CAoDrB"} \ No newline at end of file +{"version":3,"file":"node-lock.d.ts","sourceRoot":"","sources":["../../src/node-lock.ts"],"names":[],"mappings":";AAAA,OAAO,EAAgB,WAAW,EAAE,MAAM,cAAc,CAAC;AAKzD,eAAO,MAAM,UAAU;;;;;CAKtB,CAAC;AAEF,qBAAa,UAAU;IAEnB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAK;IAErB;;OAEG;IACH,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,KAAK,CAAc;IACpB,OAAO,EAAE,MAAM,CAAC;IAEvB;;OAEG;gBACS,KAAK,EAAE,WAAW,EAAE,WAAW,SAAuB;IAKlE,UAAU,CAAC,OAAO,EAAE,MAAM;IAI1B,SAAS;IAIT,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAC,MAAM,EAAE,UAAU,EAAE,OAAO;;;;IA2BhE,IAAI;IAOJ;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK;IAWtC,iBAAiB;IAwCjB;;;;;;OAMG;IACG,IAAI,CACN,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,OAAO,EACpB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1D,OAAO,CAAC,QAAQ,CAAC;IACd,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IA8F7C,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,UAAO;IA0BhF,IAAI;IAIJ,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,OAAO;CAGpE;AAGD,qBAAa,QAAQ;IA0Bb,OAAO,CAAC,MAAM;IACP,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM;IACX,UAAU,EAAE,OAAO;IACnB,QAAQ;IA5BnB,MAAM,KAAK,UAAU;;;;;MAAyB;IAE9C,KAAK,SAAsB;IAC3B,SAAS,EAAE,MAAM,CAAc;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,SAAM;IACb,UAAU,EAAE,QAAQ,CAAQ;IAC5B,EAAE,EAAE,MAAM,CAAY;IACtB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAM;IACxF,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;IAExB,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAE7B;;;;;;;OAOG;gBAES,MAAM,EAAE,UAAU,EACnB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,OAAO,EACnB,QAAQ,UAAQ;IAGrB,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM;IAMxB,YAAY;CAoDrB"} \ No newline at end of file diff --git a/dist/types/node-transaction.d.ts.map b/dist/types/node-transaction.d.ts.map index 85c45b2..0da029f 100644 --- a/dist/types/node-transaction.d.ts.map +++ b/dist/types/node-transaction.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"node-transaction.d.ts","sourceRoot":"","sources":["ts/node-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAQhC,aAAK,OAAO,GAAG,MAAM,GAAC,MAAM,CAAC;AAE7B,8BAAsB,iBAAiB;IAEnC;;;OAGG;IACH,MAAM,CAAC,QAAQ;IAEf;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE;IAE/F;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE;IAEjC;;;OAGG;IACH,MAAM,CAAC,aAAa;CACvB;AAED,cAAM,iBAAkB,SAAQ,iBAAiB;CAAG;AACpD,cAAM,kBAAmB,SAAQ,iBAAiB;IAC3B,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE;gBAA9E,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE;CACpG;AACD,cAAM,mBAAoB,SAAQ,iBAAiB;IAC5B,IAAI,EAAE,OAAO,EAAE;gBAAf,IAAI,EAAE,OAAO,EAAE;CACrC;AACD,cAAM,sBAAuB,SAAQ,iBAAiB;CAAG;AAEzD,UAAU,gBAAgB;IACtB,GAAG,EAAE,aAAa,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,SAAS,EAAE,iBAAiB,CAAA;CAC/B;AAUD,aAAK,aAAa,GAAG,MAAM,CAAC;AAC5B,aAAK,MAAM,GAAG,MAAM,CAAC;AACrB,aAAK,aAAa;IACd,OAAO,IAAA;IACP,MAAM,IAAA;IACN,QAAQ,IAAA;IACR,OAAO,IAAA;CACV;AAED,qBAAa,YAAY;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAC5B,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,eAAe;IACf,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,gDAAgD;IAChD,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,iFAAiF;IACjF,KAAK,EAAE,aAAa,CAAC;IACrB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAEN,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB;CAQzF;AAED,UAAU,mBAAmB;IACzB;;OAEG;IACH,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;IAEzC;;;;OAIG;IACH,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAE7D,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACzC;AACD,qBAAa,kBAAmB,YAAW,mBAAmB;IAE1D,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,OAAO,CAAY;IAE3B,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,WAAW,CAAuB;IAIpC,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC;IAOzC,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;IAiE7D,WAAW,CAAC,EAAE,EAAE,MAAM;IAO5B,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,SAAS;IAUV,YAAY,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,iBAAiB,CAAA;KAAC,EAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,iBAAiB,CAAA;KAAE;IAiBhI,OAAO,CAAC,SAAS;CAmMpB;AAED,qBAAa,qBAAsB,SAAQ,kBAAkB;IAC5C,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,OAAO;IAIjC,OAAO,CAAC,IAAI;IAuBN,iBAAiB,IAAK,OAAO,CAAC,WAAW,CAAC;IAW1C,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;IAM7D,WAAW,CAAC,EAAE,EAAE,MAAM;CAK/B;AAED,qBAAa,QAAS,SAAQ,YAAY;IAC1B,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY;IAG9D,OAAO;CAGhB;AAED,qBAAa,WAAW;IAID,OAAO,EAAE,mBAAmB;IAH/C,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;gBAEZ,OAAO,EAAE,mBAAmB,EAAE,EAAE,EAAE,aAAa;IAK5D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;CAK5E"} \ No newline at end of file +{"version":3,"file":"node-transaction.d.ts","sourceRoot":"","sources":["../../src/node-transaction.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types/node-value-types.d.ts.map b/dist/types/node-value-types.d.ts.map index c5b2718..06e2adf 100644 --- a/dist/types/node-value-types.d.ts.map +++ b/dist/types/node-value-types.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"node-value-types.d.ts","sourceRoot":"","sources":["ts/node-value-types.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;EActB,CAAC;AAEH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,qGAcjD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,yBAS9C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,qCAY1C"} \ No newline at end of file +{"version":3,"file":"node-value-types.d.ts","sourceRoot":"","sources":["../../src/node-value-types.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;EActB,CAAC;AAEH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,qGAcjD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,yBAS9C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,qCAY1C"} \ No newline at end of file diff --git a/dist/types/node.d.ts.map b/dist/types/node.d.ts.map index b5d68fa..d864f94 100644 --- a/dist/types/node.d.ts.map +++ b/dist/types/node.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["ts/node.ts"],"names":[],"mappings":"AAEA,qBAAa,IAAI;IACb,MAAM,KAAK,WAAW;;;;;;;;;;OAErB;CACJ"} \ No newline at end of file +{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/node.ts"],"names":[],"mappings":"AAEA,qBAAa,IAAI;IACb,MAAM,KAAK,WAAW;;;;;;;;;;OAErB;CACJ"} \ No newline at end of file diff --git a/dist/types/not-supported.d.ts b/dist/types/not-supported.d.ts new file mode 100644 index 0000000..4ef8dba --- /dev/null +++ b/dist/types/not-supported.d.ts @@ -0,0 +1 @@ +//# sourceMappingURL=not-supported.d.ts.map \ No newline at end of file diff --git a/dist/types/not-supported.d.ts.map b/dist/types/not-supported.d.ts.map new file mode 100644 index 0000000..740bbcf --- /dev/null +++ b/dist/types/not-supported.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"not-supported.d.ts","sourceRoot":"","sources":["../../src/not-supported.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/types/promise-fs/browser.d.ts.map b/dist/types/promise-fs/browser.d.ts.map index 3ed2026..69a0720 100644 --- a/dist/types/promise-fs/browser.d.ts.map +++ b/dist/types/promise-fs/browser.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../ts/promise-fs/browser.ts"],"names":[],"mappings":"AAAA,8BAAsB,GAAG;IACrB,MAAM,KAAK,aAAa,YAAoB;IAC5C,MAAM,KAAK,EAAE,IAAI,IAAI,CAAiB;CACzC"} \ No newline at end of file +{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/promise-fs/browser.ts"],"names":[],"mappings":"AAAA,8BAAsB,GAAG;IACrB,MAAM,KAAK,aAAa,YAAoB;IAC5C,MAAM,KAAK,EAAE,IAAI,IAAI,CAAiB;CACzC"} \ No newline at end of file diff --git a/dist/types/promise-fs/index.d.ts.map b/dist/types/promise-fs/index.d.ts.map index 8a47307..4ac9303 100644 --- a/dist/types/promise-fs/index.d.ts.map +++ b/dist/types/promise-fs/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/promise-fs/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/promise-fs/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types/query.d.ts.map b/dist/types/query.d.ts.map index 58dc21d..c19cf17 100644 --- a/dist/types/query.d.ts.map +++ b/dist/types/query.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["ts/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,GAAG,EAA6B,KAAK,EAAE,YAAY,EAA2B,MAAM,cAAc,CAAC;AAGjH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;GAEG;AACH,aAAK,QAAQ,GAAG,GAAG,GAAG;IAClB,EAAE,EAAE,WAAW,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CACpB,CAAA;AAKD;;;;;;;GAOG;AACH,wBAAgB,KAAK,CACjB,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,YAAyH,GACnI,OAAO,CAAC;IACP,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAE,CAAC,GAAG,MAAM,EAAE,CAAC;IACtD,OAAO,EAAE,GAAG,CAAC;IACb,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB,CAAC,CAwtBD"} \ No newline at end of file +{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,GAAG,EAA6B,KAAK,EAAE,YAAY,EAA2B,MAAM,cAAc,CAAC;AAGjH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;GAEG;AACH,aAAK,QAAQ,GAAG,GAAG,GAAG;IAClB,EAAE,EAAE,WAAW,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CACpB,CAAA;AAKD;;;;;;;GAOG;AACH,wBAAgB,KAAK,CACjB,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,YAAyH,GACnI,OAAO,CAAC;IACP,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAE,CAAC,GAAG,MAAM,EAAE,CAAC;IACtD,OAAO,EAAE,GAAG,CAAC;IACb,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB,CAAC,CAwtBD"} \ No newline at end of file diff --git a/dist/types/quicksort.d.ts.map b/dist/types/quicksort.d.ts.map index 3877555..b2f8688 100644 --- a/dist/types/quicksort.d.ts.map +++ b/dist/types/quicksort.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"quicksort.d.ts","sourceRoot":"","sources":["ts/quicksort.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,SAAS,GAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAsE,OAoCzJ"} \ No newline at end of file +{"version":3,"file":"quicksort.d.ts","sourceRoot":"","sources":["../../src/quicksort.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,SAAS,GAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAsE,OAoCzJ"} \ No newline at end of file diff --git a/dist/types/storage/binary/index.d.ts.map b/dist/types/storage/binary/index.d.ts.map index da8815a..fc7d05c 100644 --- a/dist/types/storage/binary/index.d.ts.map +++ b/dist/types/storage/binary/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/storage/binary/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/binary/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types/storage/binary/node-address.d.ts.map b/dist/types/storage/binary/node-address.d.ts.map index 6f85b25..11ea9f5 100644 --- a/dist/types/storage/binary/node-address.d.ts.map +++ b/dist/types/storage/binary/node-address.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"node-address.d.ts","sourceRoot":"","sources":["../../ts/storage/binary/node-address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qBAAa,iBAAkB,SAAQ,WAAW;aAG1B,MAAM,EAAE,MAAM;aACd,QAAQ,EAAE,MAAM;gBAFhC,IAAI,EAAE,MAAM,EACI,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM;IAKpC,QAAQ;IAIR;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,iBAAiB;CAIpC"} \ No newline at end of file +{"version":3,"file":"node-address.d.ts","sourceRoot":"","sources":["../../../../src/storage/binary/node-address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qBAAa,iBAAkB,SAAQ,WAAW;aAG1B,MAAM,EAAE,MAAM;aACd,QAAQ,EAAE,MAAM;gBAFhC,IAAI,EAAE,MAAM,EACI,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM;IAKpC,QAAQ;IAIR;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,iBAAiB;CAIpC"} \ No newline at end of file diff --git a/dist/types/storage/binary/node-info.d.ts.map b/dist/types/storage/binary/node-info.d.ts.map index c8320bb..69d682f 100644 --- a/dist/types/storage/binary/node-info.d.ts.map +++ b/dist/types/storage/binary/node-info.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"node-info.d.ts","sourceRoot":"","sources":["../../ts/storage/binary/node-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,qBAAa,cAAe,SAAQ,QAAQ;IACxC,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC/B"} \ No newline at end of file +{"version":3,"file":"node-info.d.ts","sourceRoot":"","sources":["../../../../src/storage/binary/node-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,qBAAa,cAAe,SAAQ,QAAQ;IACxC,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC/B"} \ No newline at end of file diff --git a/dist/types/storage/context.d.ts.map b/dist/types/storage/context.d.ts.map index a7dc622..71dd722 100644 --- a/dist/types/storage/context.d.ts.map +++ b/dist/types/storage/context.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../ts/storage/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,cAAc,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC;CACxB"} \ No newline at end of file +{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/storage/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,cAAc,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC;CACxB"} \ No newline at end of file diff --git a/dist/types/storage/create-index.d.ts.map b/dist/types/storage/create-index.d.ts.map index 4d9952d..adfef8e 100644 --- a/dist/types/storage/create-index.d.ts.map +++ b/dist/types/storage/create-index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"create-index.d.ts","sourceRoot":"","sources":["../ts/storage/create-index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAuC,MAAM,eAAe,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC;IAE/C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,CAAA;CACf;AAED;;;;EAIE;AACF,wBAAsB,WAAW,CAC7B,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,kBAAkB,GAC5B,OAAO,CAAC,SAAS,CAAC,CAoEpB"} \ No newline at end of file +{"version":3,"file":"create-index.d.ts","sourceRoot":"","sources":["../../../src/storage/create-index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAuC,MAAM,eAAe,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC;IAE/C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,CAAA;CACf;AAED;;;;EAIE;AACF,wBAAsB,WAAW,CAC7B,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,kBAAkB,GAC5B,OAAO,CAAC,SAAS,CAAC,CAoEpB"} \ No newline at end of file diff --git a/dist/types/storage/custom/helpers.d.ts.map b/dist/types/storage/custom/helpers.d.ts.map index 5b4de01..2bb1c6a 100644 --- a/dist/types/storage/custom/helpers.d.ts.map +++ b/dist/types/storage/custom/helpers.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../ts/storage/custom/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC;;GAEG;AACH,qBAAa,oBAAoB;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAS;IAOtD;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM;IAInC;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAS;IAM3D;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM;IAIxC;;;;;;;;;;;;;OAaG;IACH,MAAM,KAAK,QAAQ,oBAElB;CACJ"} \ No newline at end of file +{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/storage/custom/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC;;GAEG;AACH,qBAAa,oBAAoB;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAS;IAOtD;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM;IAInC;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAS;IAM3D;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM;IAIxC;;;;;;;;;;;;;OAaG;IACH,MAAM,KAAK,QAAQ,oBAElB;CACJ"} \ No newline at end of file diff --git a/dist/types/storage/custom/index.d.ts.map b/dist/types/storage/custom/index.d.ts.map index fbf12f2..f3c82c6 100644 --- a/dist/types/storage/custom/index.d.ts.map +++ b/dist/types/storage/custom/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/storage/custom/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/custom/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types/storage/custom/indexed-db/index.d.ts.map b/dist/types/storage/custom/indexed-db/index.d.ts.map index 3f835a7..aa893cd 100644 --- a/dist/types/storage/custom/indexed-db/index.d.ts.map +++ b/dist/types/storage/custom/indexed-db/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/storage/custom/indexed-db/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAGtD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,CAAC,wBAAwB,CAAM,WAuEnG"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/storage/custom/indexed-db/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAGtD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,CAAC,wBAAwB,CAAM,WAuEnG"} \ No newline at end of file diff --git a/dist/types/storage/custom/indexed-db/settings.d.ts.map b/dist/types/storage/custom/indexed-db/settings.d.ts.map index c8bb9a0..ccf4533 100644 --- a/dist/types/storage/custom/indexed-db/settings.d.ts.map +++ b/dist/types/storage/custom/indexed-db/settings.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../ts/storage/custom/indexed-db/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,qBAAa,wBAAyB,SAAQ,eAAe;IACzD;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IAEvB;;;OAGG;IACH,YAAY,UAAS;IAErB;;;OAGG;IACH,YAAY,SAAM;IAElB;;;OAGG;IACH,OAAO,UAAS;gBAEJ,QAAQ,EAAE,OAAO,CAAC,wBAAwB,CAAC;CAY1D"} \ No newline at end of file +{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../../src/storage/custom/indexed-db/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,qBAAa,wBAAyB,SAAQ,eAAe;IACzD;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IAEvB;;;OAGG;IACH,YAAY,UAAS;IAErB;;;OAGG;IACH,YAAY,SAAM;IAElB;;;OAGG;IACH,OAAO,UAAS;gBAEJ,QAAQ,EAAE,OAAO,CAAC,wBAAwB,CAAC;CAY1D"} \ No newline at end of file diff --git a/dist/types/storage/custom/indexed-db/transaction.d.ts.map b/dist/types/storage/custom/indexed-db/transaction.d.ts.map index 02837c4..1fc68ee 100644 --- a/dist/types/storage/custom/indexed-db/transaction.d.ts.map +++ b/dist/types/storage/custom/indexed-db/transaction.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../ts/storage/custom/indexed-db/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAwB,wBAAwB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,IAAI,CAAC;AACpH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAgBvC,MAAM,WAAW,2BAA2B;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,EAAE,EAAE,WAAW,CAAC;IAChB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC/C,GAAG,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,2BAA4B,SAAQ,wBAAwB;IAalD,OAAO,EAAE,2BAA2B;IAXvD,UAAU,UAAQ;IAElB,OAAO,CAAC,QAAQ,CAA0F;IAE1G;;;;;;OAMG;gBACgB,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE;IAKjG,kBAAkB,CAAC,KAAK,UAAQ;IAKhC,cAAc,CAAC,IAAI,EAAE,kBAAkB;;;;IAQjC,MAAM;IAuDN,QAAQ,CAAC,GAAG,EAAE,GAAG;IAKjB,GAAG,CAAC,IAAI,EAAE,MAAM;IA+BtB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB;IAK1C,MAAM,CAAC,IAAI,EAAE,MAAM;IAKb,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE;IAOpC,UAAU,CACN,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QACL,QAAQ,EAAE,OAAO,CAAC;QAClB,KAAK,EAAE,OAAO,CAAC;KAClB,EACD,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,EAC7C,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,0BAA0B,GAAC,kBAAkB,KAAK,OAAO;IAMtG,aAAa,CACT,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QACL,QAAQ,EAAE,OAAO,CAAC;QAClB,KAAK,EAAE,OAAO,CAAC;KAClB,EACD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,0BAA0B,KAAK,OAAO,EACnF,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,0BAA0B,GAAC,kBAAkB,KAAK,OAAO;IAMrG,cAAc,CACV,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QACL,QAAQ,EAAE,OAAO,CAAC;QAClB,KAAK,EAAE,OAAO,CAAC;QACf,WAAW,EAAE,OAAO,CAAC;KACxB,EACD,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,0BAA0B,KAAK,OAAO,EAC/E,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,0BAA0B,GAAC,kBAAkB,KAAK,OAAO;CAuEpG"} \ No newline at end of file +{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../../src/storage/custom/indexed-db/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAwB,wBAAwB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,IAAI,CAAC;AACpH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAgBvC,MAAM,WAAW,2BAA2B;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,EAAE,EAAE,WAAW,CAAC;IAChB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC/C,GAAG,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,2BAA4B,SAAQ,wBAAwB;IAalD,OAAO,EAAE,2BAA2B;IAXvD,UAAU,UAAQ;IAElB,OAAO,CAAC,QAAQ,CAA0F;IAE1G;;;;;;OAMG;gBACgB,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE;IAKjG,kBAAkB,CAAC,KAAK,UAAQ;IAKhC,cAAc,CAAC,IAAI,EAAE,kBAAkB;;;;IAQjC,MAAM;IAuDN,QAAQ,CAAC,GAAG,EAAE,GAAG;IAKjB,GAAG,CAAC,IAAI,EAAE,MAAM;IA+BtB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB;IAK1C,MAAM,CAAC,IAAI,EAAE,MAAM;IAKb,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE;IAOpC,UAAU,CACN,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QACL,QAAQ,EAAE,OAAO,CAAC;QAClB,KAAK,EAAE,OAAO,CAAC;KAClB,EACD,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,EAC7C,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,0BAA0B,GAAC,kBAAkB,KAAK,OAAO;IAMtG,aAAa,CACT,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QACL,QAAQ,EAAE,OAAO,CAAC;QAClB,KAAK,EAAE,OAAO,CAAC;KAClB,EACD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,0BAA0B,KAAK,OAAO,EACnF,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,0BAA0B,GAAC,kBAAkB,KAAK,OAAO;IAMrG,cAAc,CACV,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QACL,QAAQ,EAAE,OAAO,CAAC;QAClB,KAAK,EAAE,OAAO,CAAC;QACf,WAAW,EAAE,OAAO,CAAC;KACxB,EACD,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,0BAA0B,KAAK,OAAO,EAC/E,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,0BAA0B,GAAC,kBAAkB,KAAK,OAAO;CAuEpG"} \ No newline at end of file diff --git a/dist/types/storage/custom/local-storage/index.d.ts.map b/dist/types/storage/custom/local-storage/index.d.ts.map index 7866aa4..331bc8b 100644 --- a/dist/types/storage/custom/local-storage/index.d.ts.map +++ b/dist/types/storage/custom/local-storage/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/storage/custom/local-storage/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,CAAC;AAEzD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,CAAC,oBAAoB,CAAM,WA+BlG"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/storage/custom/local-storage/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,CAAC;AAEzD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,CAAC,oBAAoB,CAAM,WA+BlG"} \ No newline at end of file diff --git a/dist/types/storage/custom/local-storage/interface.d.ts.map b/dist/types/storage/custom/local-storage/interface.d.ts.map index bd5f57c..799f8ea 100644 --- a/dist/types/storage/custom/local-storage/interface.d.ts.map +++ b/dist/types/storage/custom/local-storage/interface.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../ts/storage/custom/local-storage/interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAClB"} \ No newline at end of file +{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../../../src/storage/custom/local-storage/interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAClB"} \ No newline at end of file diff --git a/dist/types/storage/custom/local-storage/settings.d.ts.map b/dist/types/storage/custom/local-storage/settings.d.ts.map index bb7ed8a..7092a7d 100644 --- a/dist/types/storage/custom/local-storage/settings.d.ts.map +++ b/dist/types/storage/custom/local-storage/settings.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../ts/storage/custom/local-storage/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,qBAAa,oBAAqB,SAAQ,eAAe;gBACzC,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAcnD;;;OAGG;IACH,IAAI,UAAS;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAE5B;;;OAGG;IACH,YAAY,UAAS;IAErB;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IAEvB;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,GAAG,EAAE,GAAG,CAAC;IAET;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CAChB"} \ No newline at end of file +{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../../src/storage/custom/local-storage/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,qBAAa,oBAAqB,SAAQ,eAAe;gBACzC,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAcnD;;;OAGG;IACH,IAAI,UAAS;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAE5B;;;OAGG;IACH,YAAY,UAAS;IAErB;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IAEvB;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,GAAG,EAAE,GAAG,CAAC;IAET;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CAChB"} \ No newline at end of file diff --git a/dist/types/storage/custom/local-storage/transaction.d.ts.map b/dist/types/storage/custom/local-storage/transaction.d.ts.map index 89ee0fc..48625ec 100644 --- a/dist/types/storage/custom/local-storage/transaction.d.ts.map +++ b/dist/types/storage/custom/local-storage/transaction.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../ts/storage/custom/local-storage/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,wBAAwB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,IAAI,CAAC;AACpH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,qBAAa,uBAAwB,SAAQ,wBAAwB;IAI9C,OAAO,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,gBAAgB,CAAA;KAAE;IAF9F,OAAO,CAAC,kBAAkB,CAAS;gBAEhB,OAAO,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,gBAAgB,CAAA;KAAE,EAAE,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC;IAKhI,MAAM;IAIN,QAAQ,CAAC,GAAG,EAAE,GAAG;IAIjB,GAAG,CAAC,IAAI,EAAE,MAAM;IAOhB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG;IAM1B,MAAM,CAAC,IAAI,EAAE,MAAM;IAKnB,UAAU,CAAC,IAAI,EAAE,MAAM,EACzB,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAChD,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EACxC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,GAAG,kBAAkB,KAAK,OAAO;IAqB3F,aAAa,CAAC,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAChD,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EACxC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,GAAG,kBAAkB,KAAK,OAAO;IAqBjG;;OAEG;IACH,qBAAqB,CAAC,GAAG,EAAE,MAAM;IAIjC;;OAEG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM;CAGpC"} \ No newline at end of file +{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../../src/storage/custom/local-storage/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,wBAAwB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,IAAI,CAAC;AACpH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,qBAAa,uBAAwB,SAAQ,wBAAwB;IAI9C,OAAO,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,gBAAgB,CAAA;KAAE;IAF9F,OAAO,CAAC,kBAAkB,CAAS;gBAEhB,OAAO,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,gBAAgB,CAAA;KAAE,EAAE,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC;IAKhI,MAAM;IAIN,QAAQ,CAAC,GAAG,EAAE,GAAG;IAIjB,GAAG,CAAC,IAAI,EAAE,MAAM;IAOhB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG;IAM1B,MAAM,CAAC,IAAI,EAAE,MAAM;IAKnB,UAAU,CAAC,IAAI,EAAE,MAAM,EACzB,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAChD,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EACxC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,GAAG,kBAAkB,KAAK,OAAO;IAqB3F,aAAa,CAAC,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAChD,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EACxC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,GAAG,kBAAkB,KAAK,OAAO;IAqBjG;;OAEG;IACH,qBAAqB,CAAC,GAAG,EAAE,MAAM;IAIjC;;OAEG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM;CAGpC"} \ No newline at end of file diff --git a/dist/types/storage/index.d.ts.map b/dist/types/storage/index.d.ts.map index 11e06d9..7f3aa62 100644 --- a/dist/types/storage/index.d.ts.map +++ b/dist/types/storage/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/storage/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types/storage/indexes.d.ts.map b/dist/types/storage/indexes.d.ts.map index 453964a..f6b26a4 100644 --- a/dist/types/storage/indexes.d.ts.map +++ b/dist/types/storage/indexes.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../ts/storage/indexes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC"} \ No newline at end of file +{"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../../src/storage/indexes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC"} \ No newline at end of file diff --git a/dist/types/storage/mssql/index.d.ts.map b/dist/types/storage/mssql/index.d.ts.map index 3b723c7..afd1fbf 100644 --- a/dist/types/storage/mssql/index.d.ts.map +++ b/dist/types/storage/mssql/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/storage/mssql/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/mssql/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types/storage/sqlite/index.d.ts.map b/dist/types/storage/sqlite/index.d.ts.map index dcbcbb4..c3a9e7a 100644 --- a/dist/types/storage/sqlite/index.d.ts.map +++ b/dist/types/storage/sqlite/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/storage/sqlite/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/sqlite/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types/thread-safe.d.ts.map b/dist/types/thread-safe.d.ts.map index 6318f4b..94b2058 100644 --- a/dist/types/thread-safe.d.ts.map +++ b/dist/types/thread-safe.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"thread-safe.d.ts","sourceRoot":"","sources":["ts/thread-safe.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAQlD,MAAM,WAAW,qBAAqB;IAClC,mHAAmH;IACnH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oIAAoI;IACpI,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4IAA4I;IAC5I,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gLAAgL;IAChL,MAAM,CAAC,EAAE,GAAG,CAAA;CACf;AAED,UAAU,uBAAuB;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC;IAC5B,OAAO,EAAE,qBAAqB,CAAA;CACjC;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;IACzB,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAClC,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAA;CAChB;AAID,8BAAsB,UAAU;IAC5B;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,GAAE,qBAAoG,GAAG,OAAO,CAAC,cAAc,CAAC;CAwFnK;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,kBAAkB;aAMvB,MAAM,EAAE,GAAG;IALvC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAAiD;IAC9D,OAAO,CAAC,OAAO,CAAU;IACzB,IAAW,MAAM,YAA2B;gBAChB,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO;IAKxD,OAAO;IAoBD,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAahD;AAID,8BAAsB,WAAW;IAC7B;;;;;OAKG;WACU,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;CAkB3E"} \ No newline at end of file +{"version":3,"file":"thread-safe.d.ts","sourceRoot":"","sources":["../../src/thread-safe.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAQlD,MAAM,WAAW,qBAAqB;IAClC,mHAAmH;IACnH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oIAAoI;IACpI,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4IAA4I;IAC5I,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gLAAgL;IAChL,MAAM,CAAC,EAAE,GAAG,CAAA;CACf;AAED,UAAU,uBAAuB;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC;IAC5B,OAAO,EAAE,qBAAqB,CAAA;CACjC;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;IACzB,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAClC,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAA;CAChB;AAID,8BAAsB,UAAU;IAC5B;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,GAAE,qBAAoG,GAAG,OAAO,CAAC,cAAc,CAAC;CAwFnK;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,kBAAkB;aAMvB,MAAM,EAAE,GAAG;IALvC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAAiD;IAC9D,OAAO,CAAC,OAAO,CAAU;IACzB,IAAW,MAAM,YAA2B;gBAChB,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO;IAKxD,OAAO;IAoBD,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAahD;AAID,8BAAsB,WAAW;IAC7B;;;;;OAKG;WACU,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;CAkB3E"} \ No newline at end of file diff --git a/dist/types/unidecode-module.d.ts.map b/dist/types/unidecode-module.d.ts.map index 23226f7..456f293 100644 --- a/dist/types/unidecode-module.d.ts.map +++ b/dist/types/unidecode-module.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"unidecode-module.d.ts","sourceRoot":"","sources":["ts/unidecode-module.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,WAAW,CAAC;CAE1B"} \ No newline at end of file +{"version":3,"file":"unidecode-module.d.ts","sourceRoot":"","sources":["../../src/unidecode-module.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,WAAW,CAAC;CAE1B"} \ No newline at end of file diff --git a/dist/types/unidecode.d.ts.map b/dist/types/unidecode.d.ts.map index a6de784..6874ec7 100644 --- a/dist/types/unidecode.d.ts.map +++ b/dist/types/unidecode.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"unidecode.d.ts","sourceRoot":"","sources":["ts/unidecode.ts"],"names":[],"mappings":"gCAE+C,MAAM,KAAK,MAAM;AAAhE,wBAAiE"} \ No newline at end of file +{"version":3,"file":"unidecode.d.ts","sourceRoot":"","sources":["../../src/unidecode.ts"],"names":[],"mappings":"gCAE+C,MAAM,KAAK,MAAM;AAAhE,wBAAiE"} \ No newline at end of file