firetruss-worker 2.6.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"worker.umd.js","sources":["../src/worker.js"],"sourcesContent":["/* globals firebase */\n\nconst fireworkers = [];\nconst apps = {};\n// This version is filled in by the build, don't reformat the line.\nconst VERSION = '2.6.0';\n\n\nclass LocalStorage {\n constructor() {\n this._items = [];\n this._pendingItems = [];\n this._initialized = false;\n this._flushPending = this.flushPending.bind(this);\n }\n\n init(items) {\n if (!this._initialized) {\n this._items = items;\n this._initialized = true;\n }\n }\n\n _update(item) {\n if (!this._pendingItems.length) Promise.resolve().then(this._flushPending);\n this._pendingItems.push(item);\n }\n\n flushPending() {\n if (!this._pendingItems.length) return;\n if (!fireworkers.length) {\n setTimeout(this._flushPending, 200);\n return;\n }\n fireworkers[0]._send({msg: 'updateLocalStorage', items: this._pendingItems});\n this._pendingItems = [];\n }\n\n get length() {return this._items.length;}\n\n key(n) {\n return this._items[n].key;\n }\n\n getItem(key) {\n for (const item of this._items) {\n if (item.key === key) return item.value;\n }\n return null;\n }\n\n setItem(key, value) {\n let targetItem;\n for (const item of this._items) {\n if (item.key === key) {\n targetItem = item;\n item.value = value;\n break;\n }\n }\n if (!targetItem) {\n targetItem = {key, value};\n this._items.push(targetItem);\n }\n this._update(targetItem);\n }\n\n removeItem(key) {\n for (let i = 0; i < this._items.length; i++) {\n if (this._items[i].key === key) {\n this._items.splice(i, 1);\n this._update({key, value: null});\n break;\n }\n }\n }\n\n clear() {\n for (const item in this._items) {\n this._update({key: item.key, value: null});\n }\n this._items = [];\n }\n}\n\nself.localStorage = new LocalStorage();\n\n\nclass Branch {\n constructor() {\n this._root = null;\n }\n\n set(value) {\n this._root = value;\n }\n\n diff(value, pathPrefix) {\n const updates = {};\n const segments = pathPrefix === '/' ? [''] : pathPrefix.split('/');\n if (this._diffRecursively(this._root, value, segments, updates)) {\n this._root = value;\n updates[pathPrefix] = value;\n }\n return updates;\n }\n\n _diffRecursively(oldValue, newValue, segments, updates) {\n if (oldValue === undefined) oldValue = null;\n if (newValue === undefined) newValue = null;\n if (oldValue === null) return newValue !== null;\n if (oldValue instanceof Object && newValue instanceof Object) {\n let replace = true;\n const keysToReplace = [];\n for (const childKey in newValue) {\n if (!newValue.hasOwnProperty(childKey)) continue;\n const replaceChild = this._diffRecursively(\n oldValue[childKey], newValue[childKey], segments.concat(childKey), updates);\n if (replaceChild) {\n keysToReplace.push(childKey);\n } else {\n replace = false;\n }\n }\n if (replace) return true;\n for (const childKey in oldValue) {\n if (!oldValue.hasOwnProperty(childKey) || newValue.hasOwnProperty(childKey)) continue;\n updates[segments.concat(childKey).join('/')] = null;\n delete oldValue[childKey];\n }\n for (const childKey of keysToReplace) {\n updates[segments.concat(childKey).join('/')] = newValue[childKey];\n oldValue[childKey] = newValue[childKey];\n }\n } else {\n return newValue !== oldValue;\n }\n }\n}\n\n\nexport default class Fireworker {\n constructor(port) {\n this._port = port;\n this._lastWriteSerial = 0;\n this._app = undefined;\n this._cachedAuth = undefined;\n this._cachedDatabase = undefined;\n this._lastJsonUser = undefined;\n this._configError = Fireworker._staticConfigError;\n this._callbacks = {};\n this._messages = [];\n this._flushMessageQueue = this._flushMessageQueue.bind(this);\n port.onmessage = this._receive.bind(this);\n }\n\n get _auth() {\n if (this._cachedAuth) return this._cachedAuth;\n if (!this._app) throw new Error('Must provide Firebase configuration data first');\n return this._cachedAuth = this._app.auth();\n }\n\n get _database() {\n if (this._cachedDatabase) return this._cachedDatabase;\n if (!this._app) throw new Error('Must provide Firebase configuration data first');\n if (Fireworker._databaseWrapperCallback) {\n this._cachedDatabase = Fireworker._databaseWrapperCallback(this._app.database());\n } else {\n this._cachedDatabase = this._app.database();\n }\n return this._cachedDatabase;\n }\n\n init({storage, config}) {\n if (storage) self.localStorage.init(storage);\n if (config) {\n try {\n this._app = apps[config.databaseURL];\n if (!this._app) {\n this._app = apps[config.databaseURL] = firebase.initializeApp(config, config.databaseURL);\n // If the API key looks invalid then assume that we're running against Cinderbase rather\n // than Firebase and override the configuration appropriately.\n if (config.apiKey && config.apiKey.length < 20) {\n this._app.database().INTERNAL.forceWebSockets();\n this._app.auth().useEmulator(config.databaseURL, {disableWarnings: true});\n }\n }\n this._app.database();\n this._app.auth();\n this._configError = Fireworker._staticConfigError;\n } catch (e) {\n this._configError = e;\n throw e;\n }\n } else if (this._configError) {\n throw this._configError;\n }\n return {\n exposedFunctionNames: Object.keys(Fireworker._exposed),\n version: VERSION,\n firebaseSdkVersion: firebase.SDK_VERSION\n };\n }\n\n destroy() {\n for (const key in this._callbacks) {\n const callback = this._callbacks[key];\n if (callback.cancel) callback.cancel();\n }\n this._callbacks = {};\n this._port.onmessage = null;\n this._messages = [];\n const k = fireworkers.indexOf(this);\n if (k >= 0) fireworkers[k] = null;\n }\n\n enableFirebaseLogging({value}) {\n firebase.database.enableLogging(value);\n }\n\n ping() {\n // Noop, placeholder for legacy Firetruss clients.\n }\n\n bounceConnection() {\n this._database.goOffline();\n this._database.goOnline();\n }\n\n _receive(event) {\n Fireworker._firstMessageReceived = true;\n for (const message of event.data) this._receiveMessage(message);\n }\n\n _receiveMessage(message) {\n let promise;\n try {\n const fn = this[message.msg];\n if (typeof fn !== 'function') throw new Error('Unknown message: ' + message.msg);\n if (message.writeSerial) {\n this._lastWriteSerial = Math.max(this._lastWriteSerial, message.writeSerial);\n }\n promise = Promise.resolve(fn.call(this, message));\n } catch (e) {\n e.immediateFailure = true;\n promise = Promise.reject(e);\n }\n if (!message.oneWay) {\n promise.then(result => {\n this._send({msg: 'resolve', id: message.id, result});\n }, error => {\n this._send({msg: 'reject', id: message.id, error: errorToJson(error)});\n });\n }\n }\n\n _send(message) {\n if (!this._messages.length) Promise.resolve().then(this._flushMessageQueue);\n this._messages.push(message);\n }\n\n _flushMessageQueue() {\n this._port.postMessage(this._messages);\n this._messages = [];\n }\n\n call({name, args}) {\n try {\n return Promise.resolve(Fireworker._exposed[name].apply(null, args));\n } catch (e) {\n return Promise.reject(e);\n }\n }\n\n authWithCustomToken({url, authToken}) {\n return this._auth.signInWithCustomToken(authToken)\n .then(result => userToJson(result.user));\n }\n\n authAnonymously({url}) {\n return this._auth.signInAnonymously()\n .then(result => userToJson(result.user));\n }\n\n unauth({url}) {\n return this._auth.signOut().catch(e => {\n // We can ignore the error if the user is signed out anyway, but make sure to notify all\n // authCallbacks otherwise we end up in a bogus state!\n if (this._auth.currentUser === null) {\n for (const callbackId in this._callbacks) {\n if (!this._callbacks.hasOwnProperty(callbackId)) continue;\n const callback = this._callbacks[callbackId];\n if (callback.auth) callback(null);\n }\n } else {\n return Promise.reject(e);\n }\n });\n }\n\n onAuth({url, callbackId}) {\n const authCallback = this._callbacks[callbackId] = this._onAuthCallback.bind(this, callbackId);\n authCallback.auth = true;\n authCallback.cancel = this._auth.onIdTokenChanged(authCallback);\n }\n\n _onAuthCallback(callbackId, user) {\n userToJson(user).then(jsonUser => {\n if (areEqualValues(this._lastJsonUser, jsonUser)) return;\n this._lastJsonUser = jsonUser;\n this._send({msg: 'callback', id: callbackId, args: [jsonUser]});\n });\n }\n\n set({url, value}) {\n return this._createRef(url).set(value);\n }\n\n update({url, value}) {\n return this._createRef(url).update(value);\n }\n\n once({url}) {\n return this._createRef(url).once('value').then(snapshot => this._snapshotToJson(snapshot));\n }\n\n on({listenerKey, url, spec, eventType, callbackId, options}) {\n options = options || {};\n if (options.sync) options.branch = new Branch();\n options.cancel = this.off.bind(this, {listenerKey, url, spec, eventType, callbackId});\n const snapshotCallback = this._callbacks[callbackId] =\n this._onSnapshotCallback.bind(this, callbackId, options);\n snapshotCallback.listenerKey = listenerKey;\n snapshotCallback.eventType = eventType;\n snapshotCallback.cancel = options.cancel;\n const cancelCallback = this._onCancelCallback.bind(this, callbackId);\n this._createRef(url, spec).on(eventType, snapshotCallback, cancelCallback);\n }\n\n off({listenerKey, url, spec, eventType, callbackId}) {\n let snapshotCallback;\n if (callbackId) {\n // Callback IDs will not be reused across on() calls, so it's safe to just delete it.\n snapshotCallback = this._callbacks[callbackId];\n delete this._callbacks[callbackId];\n } else {\n for (const key of Object.keys(this._callbacks)) {\n if (!this._callbacks.hasOwnProperty(key)) continue;\n const callback = this._callbacks[key];\n if (callback.listenerKey === listenerKey &&\n (!eventType || callback.eventType === eventType)) {\n delete this._callbacks[key];\n }\n }\n }\n this._createRef(url, spec).off(eventType, snapshotCallback);\n }\n\n _onSnapshotCallback(callbackId, options, snapshot) {\n if (options.sync && options.rest) {\n const path = decodeURIComponent(\n snapshot.ref.toString().replace(/.*?:\\/\\/[^/]*/, '').replace(/\\/$/, ''));\n let value;\n try {\n value = normalizeFirebaseValue(snapshot.val());\n } catch (e) {\n options.cancel();\n this._onCancelCallback(callbackId, e);\n return;\n }\n const updates = options.branch.diff(value, path);\n for (const childPath in updates) {\n if (!updates.hasOwnProperty(childPath)) continue;\n this._send({\n msg: 'callback', id: callbackId,\n args: [null, {\n path: childPath, value: updates[childPath], writeSerial: this._lastWriteSerial\n }]\n });\n }\n } else {\n try {\n const snapshotJson = this._snapshotToJson(snapshot);\n if (options.sync) options.branch.set(snapshotJson.value);\n this._send({msg: 'callback', id: callbackId, args: [null, snapshotJson]});\n options.rest = true;\n } catch (e) {\n options.cancel();\n this._onCancelCallback(callbackId, e);\n }\n }\n }\n\n _onCancelCallback(callbackId, error) {\n delete this._callbacks[callbackId];\n this._send({msg: 'callback', id: callbackId, args: [errorToJson(error)]});\n }\n\n transaction({url, oldValue, relativeUpdates}) {\n const transactionPath = decodeURIComponent(url.replace(/.*?:\\/\\/[^/]*/, '').replace(/\\/$/, ''));\n const ref = this._createRef(url);\n const branch = new Branch();\n let stale, committedValue;\n\n return ref.transaction(value => {\n committedValue = undefined;\n value = normalizeFirebaseValue(value);\n stale = !areEqualNormalFirebaseValues(value, oldValue);\n if (stale) value = oldValue;\n if (relativeUpdates) {\n for (const relativePath in relativeUpdates) {\n if (!relativeUpdates.hasOwnProperty(relativePath)) continue;\n if (relativePath) {\n const segments = relativePath.split('/');\n if (value === undefined || value === null) value = {};\n let object = value;\n for (let i = 0; i < segments.length - 1; i++) {\n const key = segments[i];\n let child = object[key];\n if (child === undefined || child === null) child = object[key] = {};\n object = child;\n }\n object[segments[segments.length - 1]] = relativeUpdates[relativePath];\n } else {\n value = relativeUpdates[relativePath];\n }\n }\n }\n branch.set(value);\n if (!stale) {\n committedValue = value;\n return value;\n }\n }).then(result => {\n const snapshots = [];\n const updates = branch.diff(normalizeFirebaseValue(result.snapshot.val()), transactionPath);\n for (const path in updates) {\n if (!updates.hasOwnProperty(path)) continue;\n snapshots.push({\n path, value: updates[path], writeSerial: result.writeSerial || this._lastWriteSerial\n });\n }\n return {committed: !stale, snapshots};\n }, error => {\n if (error.message === 'set' || error.message === 'disconnect') {\n return ref.once('value').then(snapshot => {\n return {committed: false, snapshots: [snapshot], writeSerial: this._lastWriteSerial};\n });\n }\n error.committedValue = committedValue;\n return Promise.reject(error);\n });\n }\n\n _snapshotToJson(snapshot) {\n const path =\n decodeURIComponent(snapshot.ref.toString().replace(/.*?:\\/\\/[^/]*/, '').replace(/\\/$/, ''));\n return {\n path, value: normalizeFirebaseValue(snapshot.val()), writeSerial: this._lastWriteSerial\n };\n }\n\n onDisconnect({url, method, value}) {\n const onDisconnect = this._createRef(url).onDisconnect();\n return onDisconnect[method](value);\n }\n\n _createRef(url, spec) {\n if (!this._app) throw new Error('Must provide Firebase configuration data first');\n try {\n let ref = this._database.refFromURL(url);\n if (spec) {\n switch (spec.by) {\n case '$key': ref = ref.orderByKey(); break;\n case '$value': ref = ref.orderByValue(); break;\n default: ref = ref.orderByChild(spec.by); break;\n }\n if (spec.at !== undefined) ref = ref.equalTo(spec.at);\n else if (spec.from !== undefined) ref = ref.startAt(spec.from);\n else if (spec.to !== undefined) ref = ref.endAt(spec.to);\n if (spec.first !== undefined) ref = ref.limitToFirst(spec.first);\n else if (spec.last !== undefined) ref = ref.limitToLast(spec.last);\n }\n return ref;\n } catch (e) {\n e.extra = {url, spec};\n throw e;\n }\n }\n\n static expose(fn, name) {\n name = name || fn.name;\n if (!name) {\n Fireworker._signalStaticConfigError(\n new Error(`Cannot expose a function with no name: ${fn}`));\n }\n if (Fireworker._exposed.hasOwnProperty(name)) {\n Fireworker._signalStaticConfigError(new Error(`Function ${name}() already exposed`));\n }\n if (Fireworker._firstMessageReceived) {\n Fireworker._signalStaticConfigError(new Error('Too late to expose function, worker in use'));\n }\n Fireworker._exposed[name] = fn;\n }\n\n static setDatabaseWrapperCallback(fn) {\n if (Fireworker._databaseWrapperCallback) {\n Fireworker._signalStaticConfigError(new Error('Database wrapper callback already set'));\n }\n if (Fireworker._firstMessageReceived) {\n Fireworker._signalStaticConfigError(\n new Error('Too late to set database wrapper callback, worker in use'));\n }\n Fireworker._databaseWrapperCallback = fn;\n }\n\n static _signalStaticConfigError(error) {\n if (!Fireworker._staticConfigError) Fireworker._staticConfigError = error;\n for (const fireworker of fireworkers) {\n if (fireworker && !fireworker._configError) fireworker._configError = error;\n }\n throw error;\n }\n}\n\nFireworker._exposed = {};\nFireworker._firstMessageReceived = false;\nFireworker._databaseWrapperCallback = undefined;\nFireworker._staticConfigError = undefined;\n\nfunction errorToJson(error) {\n const json = {name: error.name, message: error.message};\n const propertyNames = Object.getOwnPropertyNames(error);\n for (const propertyName of propertyNames) {\n json[propertyName] = error[propertyName];\n }\n return json;\n}\n\nfunction normalizeFirebaseValue(value) {\n if (Array.isArray(value)) {\n const normalValue = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n if (item === undefined || item === null) continue;\n normalValue[i] = normalizeFirebaseValue(item);\n }\n return normalValue;\n }\n if (value instanceof Object) {\n for (const key in value) {\n if (value.hasOwnProperty(key)) value[key] = normalizeFirebaseValue(value[key]);\n }\n }\n return value;\n}\n\nfunction userToJson(user) {\n if (!user) return Promise.resolve(user);\n const json = user.toJSON();\n delete json.stsTokenManager;\n return user.getIdTokenResult().then(result => {\n delete result.claims.exp;\n delete result.claims.iat;\n json.claims = result.claims;\n return json;\n });\n}\n\n\nfunction areEqualNormalFirebaseValues(a, b) {\n if (a === b) return true;\n if ((a === null || a === undefined) && (b === null || b === undefined)) return true;\n if (a === null || b === null) return false;\n if (!(typeof a === 'object' && typeof b === 'object')) return false;\n for (const key in a) {\n if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) return false;\n if (!areEqualNormalFirebaseValues(a[key], b[key])) return false;\n }\n for (const key in b) {\n if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) return false;\n }\n return true;\n}\n\nfunction areEqualValues(a, b) {\n if (a === b) return true;\n if (a === null && b === null || a === undefined && b === undefined) return true;\n if (a === null || b === null || a === undefined || b === undefined) return false;\n if (!(typeof a === 'object' && typeof b === 'object')) return false;\n for (const key in a) {\n if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) return false;\n if (!areEqualValues(a[key], b[key])) return false;\n }\n for (const key in b) {\n if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) return false;\n }\n if (Array.isArray(a) || Array.isArray(b)) {\n if (!Array.isArray(a) || !Array.isArray(b)) return false;\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (!areEqualValues(a[i], b[i])) return false;\n }\n }\n return true;\n}\n\nfunction acceptConnections() {\n if (typeof onconnect !== 'undefined') {\n self.onconnect = function(event) {\n fireworkers.push(new Fireworker(event.ports[0]));\n };\n } else {\n fireworkers.push(new Fireworker(self));\n }\n self.localStorage.flushPending();\n}\n\nself.window = self;\nacceptConnections();\n"],"names":["const","let","childKey","this","e","key"],"mappings":"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"}
1
+ {"version":3,"file":"worker.umd.js","sources":["../src/worker.js"],"sourcesContent":["/* globals firebase */\n\nconst fireworkers = [];\nconst apps = {};\n// This version is filled in by the build, don't reformat the line.\nconst VERSION = '3.0.0';\n\n\nclass LocalStorage {\n constructor() {\n this._items = [];\n this._pendingItems = [];\n this._initialized = false;\n this._flushPending = this.flushPending.bind(this);\n }\n\n init(items) {\n if (!this._initialized) {\n this._items = items;\n this._initialized = true;\n }\n }\n\n _update(item) {\n if (!this._pendingItems.length) Promise.resolve().then(this._flushPending);\n this._pendingItems.push(item);\n }\n\n flushPending() {\n if (!this._pendingItems.length) return;\n if (!fireworkers.length) {\n setTimeout(this._flushPending, 200);\n return;\n }\n fireworkers[0]._send({msg: 'updateLocalStorage', items: this._pendingItems});\n this._pendingItems = [];\n }\n\n get length() {return this._items.length;}\n\n key(n) {\n return this._items[n].key;\n }\n\n getItem(key) {\n for (const item of this._items) {\n if (item.key === key) return item.value;\n }\n return null;\n }\n\n setItem(key, value) {\n let targetItem;\n for (const item of this._items) {\n if (item.key === key) {\n targetItem = item;\n item.value = value;\n break;\n }\n }\n if (!targetItem) {\n targetItem = {key, value};\n this._items.push(targetItem);\n }\n this._update(targetItem);\n }\n\n removeItem(key) {\n for (let i = 0; i < this._items.length; i++) {\n if (this._items[i].key === key) {\n this._items.splice(i, 1);\n this._update({key, value: null});\n break;\n }\n }\n }\n\n clear() {\n for (const item in this._items) {\n this._update({key: item.key, value: null});\n }\n this._items = [];\n }\n}\n\nself.localStorage = new LocalStorage();\n\n\nclass Branch {\n constructor() {\n this._root = null;\n }\n\n set(value) {\n this._root = value;\n }\n\n diff(value, pathPrefix) {\n const updates = {};\n const segments = pathPrefix === '/' ? [''] : pathPrefix.split('/');\n if (this._diffRecursively(this._root, value, segments, updates)) {\n this._root = value;\n updates[pathPrefix] = value;\n }\n return updates;\n }\n\n _diffRecursively(oldValue, newValue, segments, updates) {\n if (oldValue === undefined) oldValue = null;\n if (newValue === undefined) newValue = null;\n if (oldValue === null) return newValue !== null;\n if (oldValue instanceof Object && newValue instanceof Object) {\n let replace = true;\n const keysToReplace = [];\n for (const childKey in newValue) {\n if (!newValue.hasOwnProperty(childKey)) continue;\n const replaceChild = this._diffRecursively(\n oldValue[childKey], newValue[childKey], segments.concat(childKey), updates);\n if (replaceChild) {\n keysToReplace.push(childKey);\n } else {\n replace = false;\n }\n }\n if (replace) return true;\n for (const childKey in oldValue) {\n if (!oldValue.hasOwnProperty(childKey) || newValue.hasOwnProperty(childKey)) continue;\n updates[segments.concat(childKey).join('/')] = null;\n delete oldValue[childKey];\n }\n for (const childKey of keysToReplace) {\n updates[segments.concat(childKey).join('/')] = newValue[childKey];\n oldValue[childKey] = newValue[childKey];\n }\n } else {\n return newValue !== oldValue;\n }\n }\n}\n\n\nexport default class Fireworker {\n constructor(port) {\n this._port = port;\n this._lastWriteSerial = 0;\n this._app = undefined;\n this._cachedAuth = undefined;\n this._cachedDatabase = undefined;\n this._lastJsonUser = undefined;\n this._configError = Fireworker._staticConfigError;\n this._callbacks = {};\n this._messages = [];\n this._flushMessageQueue = this._flushMessageQueue.bind(this);\n port.onmessage = this._receive.bind(this);\n }\n\n get _auth() {\n if (this._cachedAuth) return this._cachedAuth;\n if (!this._app) throw new Error('Must provide Firebase configuration data first');\n return this._cachedAuth = this._app.auth();\n }\n\n get _database() {\n if (this._cachedDatabase) return this._cachedDatabase;\n if (!this._app) throw new Error('Must provide Firebase configuration data first');\n if (Fireworker._databaseWrapperCallback) {\n this._cachedDatabase = Fireworker._databaseWrapperCallback(this._app.database());\n } else {\n this._cachedDatabase = this._app.database();\n }\n return this._cachedDatabase;\n }\n\n init({storage, config}) {\n if (storage) self.localStorage.init(storage);\n if (config) {\n try {\n this._app = apps[config.databaseURL];\n if (!this._app) {\n this._app = apps[config.databaseURL] = firebase.initializeApp(config, config.databaseURL);\n // If the API key looks invalid then assume that we're running against Cinderbase rather\n // than Firebase and override the configuration appropriately.\n if (config.apiKey && config.apiKey.length < 20) {\n this._app.database().INTERNAL.forceWebSockets();\n this._app.auth().useEmulator(config.databaseURL, {disableWarnings: true});\n }\n }\n this._app.database();\n this._app.auth();\n this._configError = Fireworker._staticConfigError;\n } catch (e) {\n this._configError = e;\n throw e;\n }\n } else if (this._configError) {\n throw this._configError;\n }\n return {\n exposedFunctionNames: Object.keys(Fireworker._exposed),\n version: VERSION,\n firebaseSdkVersion: firebase.SDK_VERSION\n };\n }\n\n destroy() {\n for (const key in this._callbacks) {\n const callback = this._callbacks[key];\n if (callback.cancel) callback.cancel();\n }\n this._callbacks = {};\n this._port.onmessage = null;\n this._messages = [];\n const k = fireworkers.indexOf(this);\n if (k >= 0) fireworkers[k] = null;\n }\n\n enableFirebaseLogging({value}) {\n firebase.database.enableLogging(value);\n }\n\n ping() {\n // Noop, placeholder for legacy Firetruss clients.\n }\n\n bounceConnection() {\n this._database.goOffline();\n this._database.goOnline();\n }\n\n _receive(event) {\n Fireworker._firstMessageReceived = true;\n for (const message of event.data) this._receiveMessage(message);\n }\n\n _receiveMessage(message) {\n let promise;\n try {\n const fn = this[message.msg];\n if (typeof fn !== 'function') throw new Error('Unknown message: ' + message.msg);\n if (message.writeSerial) {\n this._lastWriteSerial = Math.max(this._lastWriteSerial, message.writeSerial);\n }\n promise = Promise.resolve(fn.call(this, message));\n } catch (e) {\n e.immediateFailure = true;\n promise = Promise.reject(e);\n }\n if (!message.oneWay) {\n promise.then(result => {\n this._send({msg: 'resolve', id: message.id, result});\n }, error => {\n this._send({msg: 'reject', id: message.id, error: errorToJson(error)});\n });\n }\n }\n\n _send(message) {\n if (!this._messages.length) Promise.resolve().then(this._flushMessageQueue);\n this._messages.push(message);\n }\n\n _flushMessageQueue() {\n this._port.postMessage(this._messages);\n this._messages = [];\n }\n\n call({name, args}) {\n try {\n return Promise.resolve(Fireworker._exposed[name].apply(null, args));\n } catch (e) {\n return Promise.reject(e);\n }\n }\n\n authWithCustomToken({url, authToken}) {\n return this._auth.signInWithCustomToken(authToken)\n .then(result => userToJson(result.user));\n }\n\n authAnonymously({url}) {\n return this._auth.signInAnonymously()\n .then(result => userToJson(result.user));\n }\n\n unauth({url}) {\n return this._auth.signOut().catch(e => {\n // We can ignore the error if the user is signed out anyway, but make sure to notify all\n // authCallbacks otherwise we end up in a bogus state!\n if (this._auth.currentUser === null) {\n for (const callbackId in this._callbacks) {\n if (!this._callbacks.hasOwnProperty(callbackId)) continue;\n const callback = this._callbacks[callbackId];\n if (callback.auth) callback(null);\n }\n } else {\n return Promise.reject(e);\n }\n });\n }\n\n onAuth({url, callbackId}) {\n const authCallback = this._callbacks[callbackId] = this._onAuthCallback.bind(this, callbackId);\n authCallback.auth = true;\n authCallback.cancel = this._auth.onIdTokenChanged(authCallback);\n }\n\n _onAuthCallback(callbackId, user) {\n userToJson(user).then(jsonUser => {\n if (areEqualValues(this._lastJsonUser, jsonUser)) return;\n this._lastJsonUser = jsonUser;\n this._send({msg: 'callback', id: callbackId, args: [jsonUser]});\n });\n }\n\n set({url, value}) {\n return this._createRef(url).set(value);\n }\n\n update({url, value}) {\n return this._createRef(url).update(value);\n }\n\n once({url}) {\n return this._createRef(url).once('value').then(snapshot => this._snapshotToJson(snapshot));\n }\n\n on({listenerKey, url, spec, eventType, callbackId, options}) {\n options = options || {};\n if (options.sync) options.branch = new Branch();\n options.cancel = this.off.bind(this, {listenerKey, url, spec, eventType, callbackId});\n const snapshotCallback = this._callbacks[callbackId] =\n this._onSnapshotCallback.bind(this, callbackId, options);\n snapshotCallback.listenerKey = listenerKey;\n snapshotCallback.eventType = eventType;\n snapshotCallback.cancel = options.cancel;\n const cancelCallback = this._onCancelCallback.bind(this, callbackId);\n this._createRef(url, spec).on(eventType, snapshotCallback, cancelCallback);\n }\n\n off({listenerKey, url, spec, eventType, callbackId}) {\n let snapshotCallback;\n if (callbackId) {\n // Callback IDs will not be reused across on() calls, so it's safe to just delete it.\n snapshotCallback = this._callbacks[callbackId];\n delete this._callbacks[callbackId];\n } else {\n for (const key of Object.keys(this._callbacks)) {\n if (!this._callbacks.hasOwnProperty(key)) continue;\n const callback = this._callbacks[key];\n if (callback.listenerKey === listenerKey &&\n (!eventType || callback.eventType === eventType)) {\n delete this._callbacks[key];\n }\n }\n }\n this._createRef(url, spec).off(eventType, snapshotCallback);\n }\n\n _onSnapshotCallback(callbackId, options, snapshot) {\n if (options.sync && options.rest) {\n const path = decodeURIComponent(\n snapshot.ref.toString().replace(/.*?:\\/\\/[^/]*/, '').replace(/\\/$/, ''));\n let value;\n try {\n value = normalizeFirebaseValue(snapshot.val());\n } catch (e) {\n options.cancel();\n this._onCancelCallback(callbackId, e);\n return;\n }\n const updates = options.branch.diff(value, path);\n for (const childPath in updates) {\n if (!updates.hasOwnProperty(childPath)) continue;\n this._send({\n msg: 'callback', id: callbackId,\n args: [null, {\n path: childPath, value: updates[childPath], writeSerial: this._lastWriteSerial\n }]\n });\n }\n } else {\n try {\n const snapshotJson = this._snapshotToJson(snapshot);\n if (options.sync) options.branch.set(snapshotJson.value);\n this._send({msg: 'callback', id: callbackId, args: [null, snapshotJson]});\n options.rest = true;\n } catch (e) {\n options.cancel();\n this._onCancelCallback(callbackId, e);\n }\n }\n }\n\n _onCancelCallback(callbackId, error) {\n delete this._callbacks[callbackId];\n this._send({msg: 'callback', id: callbackId, args: [errorToJson(error)]});\n }\n\n transaction({url, oldValue, relativeUpdates}) {\n const transactionPath = decodeURIComponent(url.replace(/.*?:\\/\\/[^/]*/, '').replace(/\\/$/, ''));\n const ref = this._createRef(url);\n const branch = new Branch();\n let stale, committedValue;\n\n return ref.transaction(value => {\n committedValue = undefined;\n value = normalizeFirebaseValue(value);\n stale = !areEqualNormalFirebaseValues(value, oldValue);\n if (stale) value = oldValue;\n if (relativeUpdates) {\n for (const relativePath in relativeUpdates) {\n if (!relativeUpdates.hasOwnProperty(relativePath)) continue;\n if (relativePath) {\n const segments = relativePath.split('/');\n if (value === undefined || value === null) value = {};\n let object = value;\n for (let i = 0; i < segments.length - 1; i++) {\n const key = segments[i];\n let child = object[key];\n if (child === undefined || child === null) child = object[key] = {};\n object = child;\n }\n object[segments[segments.length - 1]] = relativeUpdates[relativePath];\n } else {\n value = relativeUpdates[relativePath];\n }\n }\n }\n branch.set(value);\n if (!stale) {\n committedValue = value;\n return value;\n }\n }).then(result => {\n const snapshots = [];\n const updates = branch.diff(normalizeFirebaseValue(result.snapshot.val()), transactionPath);\n for (const path in updates) {\n if (!updates.hasOwnProperty(path)) continue;\n snapshots.push({\n path, value: updates[path], writeSerial: result.writeSerial || this._lastWriteSerial\n });\n }\n return {committed: !stale, snapshots};\n }, error => {\n if (error.message === 'set' || error.message === 'disconnect') {\n return ref.once('value').then(snapshot => {\n return {committed: false, snapshots: [snapshot], writeSerial: this._lastWriteSerial};\n });\n }\n error.committedValue = committedValue;\n return Promise.reject(error);\n });\n }\n\n _snapshotToJson(snapshot) {\n const path =\n decodeURIComponent(snapshot.ref.toString().replace(/.*?:\\/\\/[^/]*/, '').replace(/\\/$/, ''));\n return {\n path, value: normalizeFirebaseValue(snapshot.val()), writeSerial: this._lastWriteSerial\n };\n }\n\n onDisconnect({url, method, value}) {\n const onDisconnect = this._createRef(url).onDisconnect();\n return onDisconnect[method](value);\n }\n\n _createRef(url, spec) {\n if (!this._app) throw new Error('Must provide Firebase configuration data first');\n try {\n let ref = this._database.refFromURL(url);\n if (spec) {\n switch (spec.by) {\n case '$key': ref = ref.orderByKey(); break;\n case '$value': ref = ref.orderByValue(); break;\n default: ref = ref.orderByChild(spec.by); break;\n }\n if (spec.at !== undefined) ref = ref.equalTo(spec.at);\n else if (spec.from !== undefined) ref = ref.startAt(spec.from);\n else if (spec.to !== undefined) ref = ref.endAt(spec.to);\n if (spec.first !== undefined) ref = ref.limitToFirst(spec.first);\n else if (spec.last !== undefined) ref = ref.limitToLast(spec.last);\n }\n return ref;\n } catch (e) {\n e.extra = {url, spec};\n throw e;\n }\n }\n\n static expose(fn, name) {\n name = name || fn.name;\n if (!name) {\n Fireworker._signalStaticConfigError(\n new Error(`Cannot expose a function with no name: ${fn}`));\n }\n if (Fireworker._exposed.hasOwnProperty(name)) {\n Fireworker._signalStaticConfigError(new Error(`Function ${name}() already exposed`));\n }\n if (Fireworker._firstMessageReceived) {\n Fireworker._signalStaticConfigError(new Error('Too late to expose function, worker in use'));\n }\n Fireworker._exposed[name] = fn;\n }\n\n static setDatabaseWrapperCallback(fn) {\n if (Fireworker._databaseWrapperCallback) {\n Fireworker._signalStaticConfigError(new Error('Database wrapper callback already set'));\n }\n if (Fireworker._firstMessageReceived) {\n Fireworker._signalStaticConfigError(\n new Error('Too late to set database wrapper callback, worker in use'));\n }\n Fireworker._databaseWrapperCallback = fn;\n }\n\n static _signalStaticConfigError(error) {\n if (!Fireworker._staticConfigError) Fireworker._staticConfigError = error;\n for (const fireworker of fireworkers) {\n if (fireworker && !fireworker._configError) fireworker._configError = error;\n }\n throw error;\n }\n}\n\nFireworker._exposed = {};\nFireworker._firstMessageReceived = false;\nFireworker._databaseWrapperCallback = undefined;\nFireworker._staticConfigError = undefined;\n\nfunction errorToJson(error) {\n const json = {name: error.name, message: error.message};\n const propertyNames = Object.getOwnPropertyNames(error);\n for (const propertyName of propertyNames) {\n json[propertyName] = error[propertyName];\n }\n return json;\n}\n\nfunction normalizeFirebaseValue(value) {\n if (Array.isArray(value)) {\n const normalValue = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n if (item === undefined || item === null) continue;\n normalValue[i] = normalizeFirebaseValue(item);\n }\n return normalValue;\n }\n if (value instanceof Object) {\n for (const key in value) {\n if (value.hasOwnProperty(key)) value[key] = normalizeFirebaseValue(value[key]);\n }\n }\n return value;\n}\n\nfunction userToJson(user) {\n if (!user) return Promise.resolve(user);\n const json = user.toJSON();\n delete json.stsTokenManager;\n return user.getIdTokenResult().then(result => {\n delete result.claims.exp;\n delete result.claims.iat;\n json.claims = result.claims;\n return json;\n });\n}\n\n\nfunction areEqualNormalFirebaseValues(a, b) {\n if (a === b) return true;\n if ((a === null || a === undefined) && (b === null || b === undefined)) return true;\n if (a === null || b === null) return false;\n if (!(typeof a === 'object' && typeof b === 'object')) return false;\n for (const key in a) {\n if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) return false;\n if (!areEqualNormalFirebaseValues(a[key], b[key])) return false;\n }\n for (const key in b) {\n if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) return false;\n }\n return true;\n}\n\nfunction areEqualValues(a, b) {\n if (a === b) return true;\n if (a === null && b === null || a === undefined && b === undefined) return true;\n if (a === null || b === null || a === undefined || b === undefined) return false;\n if (!(typeof a === 'object' && typeof b === 'object')) return false;\n for (const key in a) {\n if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) return false;\n if (!areEqualValues(a[key], b[key])) return false;\n }\n for (const key in b) {\n if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) return false;\n }\n if (Array.isArray(a) || Array.isArray(b)) {\n if (!Array.isArray(a) || !Array.isArray(b)) return false;\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (!areEqualValues(a[i], b[i])) return false;\n }\n }\n return true;\n}\n\nfunction acceptConnections() {\n if (typeof onconnect !== 'undefined') {\n self.onconnect = function(event) {\n fireworkers.push(new Fireworker(event.ports[0]));\n };\n } else {\n fireworkers.push(new Fireworker(self));\n }\n self.localStorage.flushPending();\n}\n\nself.window = self;\nacceptConnections();\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():(e="undefined"!=typeof globalThis?globalThis:e||self).Fireworker=t()}(this,function(){"use strict";function e(){this._items=[],this._pendingItems=[],this._initialized=!1,this._flushPending=this.flushPending.bind(this)}var n=[],a={},t={length:{configurable:!0}};e.prototype.init=function(e){this._initialized||(this._items=e,this._initialized=!0)},e.prototype._update=function(e){this._pendingItems.length||Promise.resolve().then(this._flushPending),this._pendingItems.push(e)},e.prototype.flushPending=function(){this._pendingItems.length&&(n.length?(n[0]._send({msg:"updateLocalStorage",items:this._pendingItems}),this._pendingItems=[]):setTimeout(this._flushPending,200))},t.length.get=function(){return this._items.length},e.prototype.key=function(e){return this._items[e].key},e.prototype.getItem=function(e){for(var t=0,r=this._items;t<r.length;t+=1){var a=r[t];if(a.key===e)return a.value}return null},e.prototype.setItem=function(e,t){for(var r,a=0,n=this._items;a<n.length;a+=1){var i=n[a];if(i.key===e){(r=i).value=t;break}}r||(r={key:e,value:t},this._items.push(r)),this._update(r)},e.prototype.removeItem=function(e){for(var t=0;t<this._items.length;t++)if(this._items[t].key===e){this._items.splice(t,1),this._update({key:e,value:null});break}},e.prototype.clear=function(){for(var e in this._items)this._update({key:e.key,value:null});this._items=[]},Object.defineProperties(e.prototype,t),self.localStorage=new e;function f(){this._root=null}f.prototype.set=function(e){this._root=e},f.prototype.diff=function(e,t){var r={},a="/"===t?[""]:t.split("/");return this._diffRecursively(this._root,e,a,r)&&(this._root=e,r[t]=e),r},f.prototype._diffRecursively=function(e,t,r,a){if(void 0===e&&(e=null),void 0===t&&(t=null),null===e)return null!==t;if(!(e instanceof Object&&t instanceof Object))return t!==e;var n=!0,i=[];for(var s in t){t.hasOwnProperty(s)&&(this._diffRecursively(e[s],t[s],r.concat(s),a)?i.push(s):n=!1)}if(n)return!0;for(var o in e)e.hasOwnProperty(o)&&!t.hasOwnProperty(o)&&(a[r.concat(o).join("/")]=null,delete e[o]);for(var l=0,c=i;l<c.length;l+=1){var u=c[l];a[r.concat(u).join("/")]=t[u],e[u]=t[u]}};function i(e){this._port=e,this._lastWriteSerial=0,this._app=void 0,this._cachedAuth=void 0,this._cachedDatabase=void 0,this._lastJsonUser=void 0,this._configError=i._staticConfigError,this._callbacks={},this._messages=[],this._flushMessageQueue=this._flushMessageQueue.bind(this),e.onmessage=this._receive.bind(this)}var r={_auth:{configurable:!0},_database:{configurable:!0}};function s(e){for(var t={name:e.name,message:e.message},r=0,a=Object.getOwnPropertyNames(e);r<a.length;r+=1){var n=a[r];t[n]=e[n]}return t}function p(e){if(Array.isArray(e)){for(var t={},r=0;r<e.length;r++){var a=e[r];null!=a&&(t[r]=p(a))}return t}if(e instanceof Object)for(var n in e)e.hasOwnProperty(n)&&(e[n]=p(e[n]));return e}function o(e){if(!e)return Promise.resolve(e);var t=e.toJSON();return delete t.stsTokenManager,e.getIdTokenResult().then(function(e){return delete e.claims.exp,delete e.claims.iat,t.claims=e.claims,t})}return r._auth.get=function(){if(this._cachedAuth)return this._cachedAuth;if(!this._app)throw new Error("Must provide Firebase configuration data first");return this._cachedAuth=this._app.auth()},r._database.get=function(){if(this._cachedDatabase)return this._cachedDatabase;if(!this._app)throw new Error("Must provide Firebase configuration data first");return this._cachedDatabase=i._databaseWrapperCallback?i._databaseWrapperCallback(this._app.database()):this._app.database(),this._cachedDatabase},i.prototype.init=function(e){var t=e.storage,r=e.config;if(t&&self.localStorage.init(t),r)try{this._app=a[r.databaseURL],this._app||(this._app=a[r.databaseURL]=firebase.initializeApp(r,r.databaseURL),r.apiKey&&r.apiKey.length<20&&(this._app.database().INTERNAL.forceWebSockets(),this._app.auth().useEmulator(r.databaseURL,{disableWarnings:!0}))),this._app.database(),this._app.auth(),this._configError=i._staticConfigError}catch(e){throw this._configError=e}else if(this._configError)throw this._configError;return{exposedFunctionNames:Object.keys(i._exposed),version:"2.6.0",firebaseSdkVersion:firebase.SDK_VERSION}},i.prototype.destroy=function(){for(var e in this._callbacks){var t=this._callbacks[e];t.cancel&&t.cancel()}this._callbacks={},this._port.onmessage=null,this._messages=[];var r=n.indexOf(this);0<=r&&(n[r]=null)},i.prototype.enableFirebaseLogging=function(e){var t=e.value;firebase.database.enableLogging(t)},i.prototype.ping=function(){},i.prototype.bounceConnection=function(){this._database.goOffline(),this._database.goOnline()},i.prototype._receive=function(e){i._firstMessageReceived=!0;for(var t=0,r=e.data;t<r.length;t+=1){var a=r[t];this._receiveMessage(a)}},i.prototype._receiveMessage=function(t){var r,a=this;try{var e=this[t.msg];if("function"!=typeof e)throw new Error("Unknown message: "+t.msg);t.writeSerial&&(this._lastWriteSerial=Math.max(this._lastWriteSerial,t.writeSerial)),r=Promise.resolve(e.call(this,t))}catch(e){e.immediateFailure=!0,r=Promise.reject(e)}t.oneWay||r.then(function(e){a._send({msg:"resolve",id:t.id,result:e})},function(e){a._send({msg:"reject",id:t.id,error:s(e)})})},i.prototype._send=function(e){this._messages.length||Promise.resolve().then(this._flushMessageQueue),this._messages.push(e)},i.prototype._flushMessageQueue=function(){this._port.postMessage(this._messages),this._messages=[]},i.prototype.call=function(e){var t=e.name,r=e.args;try{return Promise.resolve(i._exposed[t].apply(null,r))}catch(e){return Promise.reject(e)}},i.prototype.authWithCustomToken=function(e){e.url;var t=e.authToken;return this._auth.signInWithCustomToken(t).then(function(e){return o(e.user)})},i.prototype.authAnonymously=function(e){e.url;return this._auth.signInAnonymously().then(function(e){return o(e.user)})},i.prototype.unauth=function(e){var a=this;e.url;return this._auth.signOut().catch(function(e){if(null!==a._auth.currentUser)return Promise.reject(e);for(var t in a._callbacks){var r;a._callbacks.hasOwnProperty(t)&&((r=a._callbacks[t]).auth&&r(null))}})},i.prototype.onAuth=function(e){e.url;var t=e.callbackId,r=this._callbacks[t]=this._onAuthCallback.bind(this,t);r.auth=!0,r.cancel=this._auth.onIdTokenChanged(r)},i.prototype._onAuthCallback=function(t,e){var r=this;o(e).then(function(e){!function e(t,r){if(t===r)return!0;if(null===t&&null===r||void 0===t&&void 0===r)return!0;if(null===t||null===r||void 0===t||void 0===r)return!1;if("object"!=typeof t||"object"!=typeof r)return!1;for(var a in t){if(!t.hasOwnProperty(a)||!r.hasOwnProperty(a))return!1;if(!e(t[a],r[a]))return!1}for(var n in r)if(!t.hasOwnProperty(n)||!r.hasOwnProperty(n))return!1;if(Array.isArray(t)||Array.isArray(r)){if(!Array.isArray(t)||!Array.isArray(r))return!1;if(t.length!==r.length)return!1;for(var i=0;i<t.length;i++)if(!e(t[i],r[i]))return!1}return!0}(r._lastJsonUser,e)&&(r._lastJsonUser=e,r._send({msg:"callback",id:t,args:[e]}))})},i.prototype.set=function(e){var t=e.url,r=e.value;return this._createRef(t).set(r)},i.prototype.update=function(e){var t=e.url,r=e.value;return this._createRef(t).update(r)},i.prototype.once=function(e){var t=this,r=e.url;return this._createRef(r).once("value").then(function(e){return t._snapshotToJson(e)})},i.prototype.on=function(e){var t=e.listenerKey,r=e.url,a=e.spec,n=e.eventType,i=e.callbackId,s=e.options;(s=s||{}).sync&&(s.branch=new f),s.cancel=this.off.bind(this,{listenerKey:t,url:r,spec:a,eventType:n,callbackId:i});var o=this._callbacks[i]=this._onSnapshotCallback.bind(this,i,s);o.listenerKey=t,o.eventType=n,o.cancel=s.cancel;var l=this._onCancelCallback.bind(this,i);this._createRef(r,a).on(n,o,l)},i.prototype.off=function(e){var t,r=e.listenerKey,a=e.url,n=e.spec,i=e.eventType,s=e.callbackId;if(s)t=this._callbacks[s],delete this._callbacks[s];else for(var o=0,l=Object.keys(this._callbacks);o<l.length;o+=1){var c,u=l[o];this._callbacks.hasOwnProperty(u)&&((c=this._callbacks[u]).listenerKey!==r||i&&c.eventType!==i||delete this._callbacks[u])}this._createRef(a,n).off(i,t)},i.prototype._onSnapshotCallback=function(t,r,e){if(r.sync&&r.rest){var a,n=decodeURIComponent(e.ref.toString().replace(/.*?:\/\/[^/]*/,"").replace(/\/$/,""));try{a=p(e.val())}catch(e){return r.cancel(),void this._onCancelCallback(t,e)}var i=r.branch.diff(a,n);for(var s in i)i.hasOwnProperty(s)&&this._send({msg:"callback",id:t,args:[null,{path:s,value:i[s],writeSerial:this._lastWriteSerial}]})}else try{var o=this._snapshotToJson(e);r.sync&&r.branch.set(o.value),this._send({msg:"callback",id:t,args:[null,o]}),r.rest=!0}catch(e){r.cancel(),this._onCancelCallback(t,e)}},i.prototype._onCancelCallback=function(e,t){delete this._callbacks[e],this._send({msg:"callback",id:e,args:[s(t)]})},i.prototype.transaction=function(e){var o,l,n=this,t=e.url,c=e.oldValue,u=e.relativeUpdates,i=decodeURIComponent(t.replace(/.*?:\/\/[^/]*/,"").replace(/\/$/,"")),r=this._createRef(t),h=new f;return r.transaction(function(e){if(l=void 0,e=p(e),(o=!function e(t,r){if(t===r)return!0;if(null==t&&null==r)return!0;if(null===t||null===r)return!1;if("object"!=typeof t||"object"!=typeof r)return!1;for(var a in t){if(!t.hasOwnProperty(a)||!r.hasOwnProperty(a))return!1;if(!e(t[a],r[a]))return!1}for(var n in r)if(!t.hasOwnProperty(n)||!r.hasOwnProperty(n))return!1;return!0}(e,c))&&(e=c),u)for(var t in u)if(u.hasOwnProperty(t))if(t){var r=t.split("/");null==e&&(e={});for(var a=e,n=0;n<r.length-1;n++){var i=r[n],s=a[i];null==s&&(s=a[i]={}),a=s}a[r[r.length-1]]=u[t]}else e=u[t];if(h.set(e),!o)return l=e}).then(function(e){var t=[],r=h.diff(p(e.snapshot.val()),i);for(var a in r)r.hasOwnProperty(a)&&t.push({path:a,value:r[a],writeSerial:e.writeSerial||n._lastWriteSerial});return{committed:!o,snapshots:t}},function(e){return"set"===e.message||"disconnect"===e.message?r.once("value").then(function(e){return{committed:!1,snapshots:[e],writeSerial:n._lastWriteSerial}}):(e.committedValue=l,Promise.reject(e))})},i.prototype._snapshotToJson=function(e){return{path:decodeURIComponent(e.ref.toString().replace(/.*?:\/\/[^/]*/,"").replace(/\/$/,"")),value:p(e.val()),writeSerial:this._lastWriteSerial}},i.prototype.onDisconnect=function(e){var t=e.url,r=e.method,a=e.value,n=this._createRef(t).onDisconnect();return n[r](a)},i.prototype._createRef=function(t,r){if(!this._app)throw new Error("Must provide Firebase configuration data first");try{var e=this._database.refFromURL(t);if(r){switch(r.by){case"$key":e=e.orderByKey();break;case"$value":e=e.orderByValue();break;default:e=e.orderByChild(r.by)}void 0!==r.at?e=e.equalTo(r.at):void 0!==r.from?e=e.startAt(r.from):void 0!==r.to&&(e=e.endAt(r.to)),void 0!==r.first?e=e.limitToFirst(r.first):void 0!==r.last&&(e=e.limitToLast(r.last))}return e}catch(e){throw e.extra={url:t,spec:r},e}},i.expose=function(e,t){(t=t||e.name)||i._signalStaticConfigError(new Error("Cannot expose a function with no name: "+e)),i._exposed.hasOwnProperty(t)&&i._signalStaticConfigError(new Error("Function "+t+"() already exposed")),i._firstMessageReceived&&i._signalStaticConfigError(new Error("Too late to expose function, worker in use")),i._exposed[t]=e},i.setDatabaseWrapperCallback=function(e){i._databaseWrapperCallback&&i._signalStaticConfigError(new Error("Database wrapper callback already set")),i._firstMessageReceived&&i._signalStaticConfigError(new Error("Too late to set database wrapper callback, worker in use")),i._databaseWrapperCallback=e},i._signalStaticConfigError=function(e){i._staticConfigError||(i._staticConfigError=e);for(var t=0,r=n;t<r.length;t+=1){var a=r[t];a&&!a._configError&&(a._configError=e)}throw e},Object.defineProperties(i.prototype,r),i._exposed={},i._firstMessageReceived=!1,i._databaseWrapperCallback=void 0,i._staticConfigError=void 0,self.window=self,"undefined"!=typeof onconnect?self.onconnect=function(e){n.push(new i(e.ports[0]))}:n.push(new i(self)),self.localStorage.flushPending(),i});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Fireworker=t()}(this,function(){"use strict";const r=[],s={};self.localStorage=new class{constructor(){this._items=[],this._pendingItems=[],this._initialized=!1,this._flushPending=this.flushPending.bind(this)}init(e){this._initialized||(this._items=e,this._initialized=!0)}_update(e){this._pendingItems.length||Promise.resolve().then(this._flushPending),this._pendingItems.push(e)}flushPending(){this._pendingItems.length&&(r.length?(r[0]._send({msg:"updateLocalStorage",items:this._pendingItems}),this._pendingItems=[]):setTimeout(this._flushPending,200))}get length(){return this._items.length}key(e){return this._items[e].key}getItem(e){for(const t of this._items)if(t.key===e)return t.value;return null}setItem(e,t){let s;for(const r of this._items)if(r.key===e){(s=r).value=t;break}s||(s={key:e,value:t},this._items.push(s)),this._update(s)}removeItem(t){for(let e=0;e<this._items.length;e++)if(this._items[e].key===t){this._items.splice(e,1),this._update({key:t,value:null});break}}clear(){for(const e in this._items)this._update({key:e.key,value:null});this._items=[]}};class c{constructor(){this._root=null}set(e){this._root=e}diff(e,t){var s={},r="/"===t?[""]:t.split("/");return this._diffRecursively(this._root,e,r,s)&&(this._root=e,s[t]=e),s}_diffRecursively(t,s,r,a){if(void 0===s&&(s=null),null===(t=void 0===t?null:t))return null!==s;if(!(t instanceof Object&&s instanceof Object))return s!==t;{let e=!0;var i=[];for(const n in s)s.hasOwnProperty(n)&&(this._diffRecursively(t[n],s[n],r.concat(n),a)?i.push(n):e=!1);if(e)return!0;for(const o in t)t.hasOwnProperty(o)&&!s.hasOwnProperty(o)&&(a[r.concat(o).join("/")]=null,delete t[o]);for(const l of i)a[r.concat(l).join("/")]=s[l],t[l]=s[l]}}}class a{constructor(e){this._port=e,this._lastWriteSerial=0,this._app=void 0,this._cachedAuth=void 0,this._cachedDatabase=void 0,this._lastJsonUser=void 0,this._configError=a._staticConfigError,this._callbacks={},this._messages=[],this._flushMessageQueue=this._flushMessageQueue.bind(this),e.onmessage=this._receive.bind(this)}get _auth(){if(this._cachedAuth)return this._cachedAuth;if(this._app)return this._cachedAuth=this._app.auth();throw new Error("Must provide Firebase configuration data first")}get _database(){if(!this._cachedDatabase){if(!this._app)throw new Error("Must provide Firebase configuration data first");a._databaseWrapperCallback?this._cachedDatabase=a._databaseWrapperCallback(this._app.database()):this._cachedDatabase=this._app.database()}return this._cachedDatabase}init({storage:e,config:t}){if(e&&self.localStorage.init(e),t)try{this._app=s[t.databaseURL],this._app||(this._app=s[t.databaseURL]=firebase.initializeApp(t,t.databaseURL),t.apiKey&&t.apiKey.length<20&&(this._app.database().INTERNAL.forceWebSockets(),this._app.auth().useEmulator(t.databaseURL,{disableWarnings:!0}))),this._app.database(),this._app.auth(),this._configError=a._staticConfigError}catch(e){throw this._configError=e}else if(this._configError)throw this._configError;return{exposedFunctionNames:Object.keys(a._exposed),version:"3.0.0",firebaseSdkVersion:firebase.SDK_VERSION}}destroy(){for(const s in this._callbacks){var e=this._callbacks[s];e.cancel&&e.cancel()}this._callbacks={},this._port.onmessage=null,this._messages=[];var t=r.indexOf(this);0<=t&&(r[t]=null)}enableFirebaseLogging({value:e}){firebase.database.enableLogging(e)}ping(){}bounceConnection(){this._database.goOffline(),this._database.goOnline()}_receive(e){a._firstMessageReceived=!0;for(const t of e.data)this._receiveMessage(t)}_receiveMessage(t){let s;try{var e=this[t.msg];if("function"!=typeof e)throw new Error("Unknown message: "+t.msg);t.writeSerial&&(this._lastWriteSerial=Math.max(this._lastWriteSerial,t.writeSerial)),s=Promise.resolve(e.call(this,t))}catch(e){e.immediateFailure=!0,s=Promise.reject(e)}t.oneWay||s.then(e=>{this._send({msg:"resolve",id:t.id,result:e})},e=>{this._send({msg:"reject",id:t.id,error:i(e)})})}_send(e){this._messages.length||Promise.resolve().then(this._flushMessageQueue),this._messages.push(e)}_flushMessageQueue(){this._port.postMessage(this._messages),this._messages=[]}call({name:e,args:t}){try{return Promise.resolve(a._exposed[e].apply(null,t))}catch(e){return Promise.reject(e)}}authWithCustomToken({authToken:e}){return this._auth.signInWithCustomToken(e).then(e=>n(e.user))}authAnonymously({}){return this._auth.signInAnonymously().then(e=>n(e.user))}unauth({}){return this._auth.signOut().catch(e=>{if(null!==this._auth.currentUser)return Promise.reject(e);for(const s in this._callbacks){var t;this._callbacks.hasOwnProperty(s)&&(t=this._callbacks[s]).auth&&t(null)}})}onAuth({callbackId:e}){e=this._callbacks[e]=this._onAuthCallback.bind(this,e);e.auth=!0,e.cancel=this._auth.onIdTokenChanged(e)}_onAuthCallback(t,e){n(e).then(e=>{!function t(s,r){if(s===r)return!0;if(null===s&&null===r||void 0===s&&void 0===r)return!0;if(null===s||null===r||void 0===s||void 0===r)return!1;if("object"!=typeof s||"object"!=typeof r)return!1;for(const e in s){if(!s.hasOwnProperty(e)||!r.hasOwnProperty(e))return!1;if(!t(s[e],r[e]))return!1}for(const a in r)if(!s.hasOwnProperty(a)||!r.hasOwnProperty(a))return!1;if(Array.isArray(s)||Array.isArray(r)){if(!Array.isArray(s)||!Array.isArray(r))return!1;if(s.length!==r.length)return!1;for(let e=0;e<s.length;e++)if(!t(s[e],r[e]))return!1}return!0}(this._lastJsonUser,e)&&(this._lastJsonUser=e,this._send({msg:"callback",id:t,args:[e]}))})}set({url:e,value:t}){return this._createRef(e).set(t)}update({url:e,value:t}){return this._createRef(e).update(t)}once({url:e}){return this._createRef(e).once("value").then(e=>this._snapshotToJson(e))}on({listenerKey:e,url:t,spec:s,eventType:r,callbackId:a,options:i}){(i=i||{}).sync&&(i.branch=new c),i.cancel=this.off.bind(this,{listenerKey:e,url:t,spec:s,eventType:r,callbackId:a});var n=this._callbacks[a]=this._onSnapshotCallback.bind(this,a,i),e=(n.listenerKey=e,n.eventType=r,n.cancel=i.cancel,this._onCancelCallback.bind(this,a));this._createRef(t,s).on(r,n,e)}off({listenerKey:e,url:t,spec:s,eventType:r,callbackId:a}){let i;if(a)i=this._callbacks[a],delete this._callbacks[a];else for(const o of Object.keys(this._callbacks)){var n;this._callbacks.hasOwnProperty(o)&&((n=this._callbacks[o]).listenerKey!==e||r&&n.eventType!==r||delete this._callbacks[o])}this._createRef(t,s).off(r,i)}_onSnapshotCallback(t,s,r){if(s.sync&&s.rest){var a=decodeURIComponent(r.ref.toString().replace(/.*?:\/\/[^/]*/,"").replace(/\/$/,""));let e;try{e=h(r.val())}catch(e){return s.cancel(),void this._onCancelCallback(t,e)}var i=s.branch.diff(e,a);for(const n in i)i.hasOwnProperty(n)&&this._send({msg:"callback",id:t,args:[null,{path:n,value:i[n],writeSerial:this._lastWriteSerial}]})}else try{var e=this._snapshotToJson(r);s.sync&&s.branch.set(e.value),this._send({msg:"callback",id:t,args:[null,e]}),s.rest=!0}catch(e){s.cancel(),this._onCancelCallback(t,e)}}_onCancelCallback(e,t){delete this._callbacks[e],this._send({msg:"callback",id:e,args:[i(t)]})}transaction({url:e,oldValue:s,relativeUpdates:i}){const a=decodeURIComponent(e.replace(/.*?:\/\/[^/]*/,"").replace(/\/$/,"")),t=this._createRef(e),n=new c;let o,l;return t.transaction(e=>{if(l=void 0,e=h(e),(o=!function e(t,s){if(t===s)return!0;if(null==t&&null==s)return!0;if(null===t||null===s)return!1;if("object"!=typeof t||"object"!=typeof s)return!1;for(const r in t){if(!t.hasOwnProperty(r)||!s.hasOwnProperty(r))return!1;if(!e(t[r],s[r]))return!1}for(const a in s)if(!t.hasOwnProperty(a)||!s.hasOwnProperty(a))return!1;return!0}(e,s))&&(e=s),i)for(const t in i)if(i.hasOwnProperty(t))if(t){var r=t.split("/");let s=e=null==e?{}:e;for(let t=0;t<r.length-1;t++){var a=r[t];let e=s[a];void 0!==e&&null!==e||(e=s[a]={}),s=e}s[r[r.length-1]]=i[t]}else e=i[t];if(n.set(e),!o)return l=e}).then(e=>{var t=[],s=n.diff(h(e.snapshot.val()),a);for(const r in s)s.hasOwnProperty(r)&&t.push({path:r,value:s[r],writeSerial:e.writeSerial||this._lastWriteSerial});return{committed:!o,snapshots:t}},e=>"set"===e.message||"disconnect"===e.message?t.once("value").then(e=>({committed:!1,snapshots:[e],writeSerial:this._lastWriteSerial})):(e.committedValue=l,Promise.reject(e)))}_snapshotToJson(e){return{path:decodeURIComponent(e.ref.toString().replace(/.*?:\/\/[^/]*/,"").replace(/\/$/,"")),value:h(e.val()),writeSerial:this._lastWriteSerial}}onDisconnect({url:e,method:t,value:s}){return this._createRef(e).onDisconnect()[t](s)}_createRef(t,s){if(!this._app)throw new Error("Must provide Firebase configuration data first");try{let e=this._database.refFromURL(t);if(s){switch(s.by){case"$key":e=e.orderByKey();break;case"$value":e=e.orderByValue();break;default:e=e.orderByChild(s.by)}void 0!==s.at?e=e.equalTo(s.at):void 0!==s.from?e=e.startAt(s.from):void 0!==s.to&&(e=e.endAt(s.to)),void 0!==s.first?e=e.limitToFirst(s.first):void 0!==s.last&&(e=e.limitToLast(s.last))}return e}catch(e){throw e.extra={url:t,spec:s},e}}static expose(e,t){(t=t||e.name)||a._signalStaticConfigError(new Error("Cannot expose a function with no name: "+e)),a._exposed.hasOwnProperty(t)&&a._signalStaticConfigError(new Error(`Function ${t}() already exposed`)),a._firstMessageReceived&&a._signalStaticConfigError(new Error("Too late to expose function, worker in use")),a._exposed[t]=e}static setDatabaseWrapperCallback(e){a._databaseWrapperCallback&&a._signalStaticConfigError(new Error("Database wrapper callback already set")),a._firstMessageReceived&&a._signalStaticConfigError(new Error("Too late to set database wrapper callback, worker in use")),a._databaseWrapperCallback=e}static _signalStaticConfigError(e){a._staticConfigError||(a._staticConfigError=e);for(const t of r)t&&!t._configError&&(t._configError=e);throw e}}function i(e){var t={name:e.name,message:e.message};for(const s of Object.getOwnPropertyNames(e))t[s]=e[s];return t}function h(t){if(Array.isArray(t)){var s={};for(let e=0;e<t.length;e++){var r=t[e];null!=r&&(s[e]=h(r))}return s}if(t instanceof Object)for(const e in t)t.hasOwnProperty(e)&&(t[e]=h(t[e]));return t}function n(e){if(!e)return Promise.resolve(e);const t=e.toJSON();return delete t.stsTokenManager,e.getIdTokenResult().then(e=>(delete e.claims.exp,delete e.claims.iat,t.claims=e.claims,t))}return a._exposed={},a._firstMessageReceived=!1,a._databaseWrapperCallback=void 0,a._staticConfigError=void 0,self.window=self,"undefined"!=typeof onconnect?self.onconnect=function(e){r.push(new a(e.ports[0]))}:r.push(new a(self)),self.localStorage.flushPending(),a});
2
2
  //# sourceMappingURL=worker.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.umd.min.js","sources":["../src/worker.js"],"names":["LocalStorage","this","_items","_pendingItems","_initialized","_flushPending","flushPending","bind","const","fireworkers","apps","init","items","_update","item","length","Promise","resolve","then","push","_send","msg","setTimeout","prototypeAccessors","get","key","n","getItem","i","list","value","setItem","let","targetItem","removeItem","splice","clear","self","localStorage","Branch","_root","set","diff","pathPrefix","updates","segments","split","_diffRecursively","oldValue","newValue","undefined","Object","replace","keysToReplace","childKey","hasOwnProperty","concat","join","Fireworker","port","_port","_lastWriteSerial","_app","_cachedAuth","_cachedDatabase","_lastJsonUser","_configError","_staticConfigError","_callbacks","_messages","_flushMessageQueue","onmessage","_receive","errorToJson","error","json","name","message","getOwnPropertyNames","propertyName","normalizeFirebaseValue","Array","isArray","normalValue","userToJson","user","toJSON","stsTokenManager","getIdTokenResult","result","claims","exp","iat","prototypeAccessors$1","_auth","Error","auth","_database","_databaseWrapperCallback","database","ref","storage","config","databaseURL","firebase","initializeApp","apiKey","INTERNAL","forceWebSockets","useEmulator","disableWarnings","e","exposedFunctionNames","keys","_exposed","version","firebaseSdkVersion","SDK_VERSION","destroy","callback","cancel","k","indexOf","enableFirebaseLogging","enableLogging","ping","bounceConnection","goOffline","goOnline","event","_firstMessageReceived","data","_receiveMessage","promise","fn","writeSerial","Math","max","call","immediateFailure","reject","oneWay","id","postMessage","apply","args","authWithCustomToken","signInWithCustomToken","authToken","authAnonymously","signInAnonymously","unauth","signOut","catch","currentUser","callbackId","onAuth","authCallback","_onAuthCallback","onIdTokenChanged","jsonUser","areEqualValues","a","b","_createRef","url","update","once","snapshot","_snapshotToJson","on","options","sync","branch","off","listenerKey","spec","eventType","snapshotCallback","_onSnapshotCallback","cancelCallback","_onCancelCallback","rest","path","decodeURIComponent","toString","val","childPath","snapshotJson","transaction","ref$1","stale","committedValue","transactionPath","areEqualNormalFirebaseValues","relativeUpdates","relativePath","object","child","snapshots","committed","onDisconnect","method","refFromURL","by","orderByKey","orderByValue","orderByChild","at","equalTo","from","startAt","to","endAt","first","limitToFirst","last","limitToLast","extra","expose","_signalStaticConfigError","setDatabaseWrapperCallback","fireworker","window","onconnect","ports"],"mappings":"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"}
1
+ {"version":3,"file":"worker.umd.min.js","sources":["../src/worker.js"],"names":["fireworkers","apps","self","localStorage","constructor","this","_items","_pendingItems","_initialized","_flushPending","flushPending","bind","init","items","_update","item","length","Promise","resolve","then","push","_send","msg","setTimeout","key","n","getItem","value","setItem","let","targetItem","removeItem","i","splice","clear","Branch","_root","set","diff","pathPrefix","updates","segments","split","_diffRecursively","oldValue","newValue","undefined","Object","replace","keysToReplace","childKey","hasOwnProperty","concat","join","Fireworker","port","_port","_lastWriteSerial","_app","_cachedAuth","_cachedDatabase","_lastJsonUser","_configError","_staticConfigError","_callbacks","_messages","_flushMessageQueue","onmessage","_receive","_auth","auth","Error","_database","_databaseWrapperCallback","database","storage","config","databaseURL","firebase","initializeApp","apiKey","INTERNAL","forceWebSockets","useEmulator","disableWarnings","e","exposedFunctionNames","keys","_exposed","version","firebaseSdkVersion","SDK_VERSION","destroy","callback","cancel","k","indexOf","enableFirebaseLogging","enableLogging","ping","bounceConnection","goOffline","goOnline","event","_firstMessageReceived","message","data","_receiveMessage","promise","fn","writeSerial","Math","max","call","immediateFailure","reject","oneWay","result","id","error","errorToJson","postMessage","name","args","apply","authWithCustomToken","authToken","signInWithCustomToken","userToJson","user","authAnonymously","signInAnonymously","unauth","signOut","catch","currentUser","callbackId","onAuth","authCallback","_onAuthCallback","onIdTokenChanged","jsonUser","areEqualValues","a","b","Array","isArray","url","_createRef","update","once","snapshot","_snapshotToJson","on","listenerKey","spec","eventType","options","sync","branch","off","snapshotCallback","_onSnapshotCallback","cancelCallback","_onCancelCallback","rest","path","decodeURIComponent","ref","toString","normalizeFirebaseValue","val","childPath","snapshotJson","transaction","relativeUpdates","transactionPath","stale","committedValue","areEqualNormalFirebaseValues","relativePath","object","child","snapshots","committed","onDisconnect","method","refFromURL","by","orderByKey","orderByValue","orderByChild","at","equalTo","from","startAt","to","endAt","first","limitToFirst","last","limitToLast","extra","expose","_signalStaticConfigError","setDatabaseWrapperCallback","fireworker","json","propertyName","getOwnPropertyNames","normalValue","toJSON","stsTokenManager","getIdTokenResult","claims","exp","iat","window","onconnect","ports"],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "name": "firetruss-worker",
3
- "version": "2.6.0",
3
+ "version": "3.0.0",
4
4
  "description": "Web worker component for pkaminski/firetruss",
5
5
  "scripts": {
6
- "setup": "rm -rf bower_components; rm -rf node_modules; npm install; bower install;",
7
- "test": "node node_modules/ava/cli.js --watch"
6
+ "setup": "rm -rf node_modules; npm install;"
8
7
  },
9
8
  "repository": {
10
9
  "type": "git",
@@ -27,23 +26,21 @@
27
26
  "@babel/core": "^7.11.0",
28
27
  "@babel/preset-env": "^7.11.0",
29
28
  "@babel/register": "^7.10.5",
30
- "@rollup/plugin-buble": "^0.21.3",
31
- "@rollup/plugin-commonjs": "^14.0.0",
32
- "@rollup/plugin-node-resolve": "^8.4.0",
33
- "ava": "3",
29
+ "@rollup/plugin-commonjs": "25.x",
30
+ "@rollup/plugin-node-resolve": "15.x",
34
31
  "compose-source-map": "^1.0.0",
35
32
  "grunt": "^1.0.0",
36
33
  "grunt-contrib-clean": "2",
37
34
  "grunt-contrib-uglify": "5",
38
35
  "grunt-contrib-watch": "^1.0.0",
39
- "grunt-eslint": "23",
36
+ "grunt-eslint": "24.x",
40
37
  "grunt-exec": "^3.0.0",
41
38
  "grunt-git": "^1.0.1",
42
39
  "grunt-release": "reviewable/grunt-release#master",
43
- "grunt-rollup": "11",
40
+ "grunt-rollup": "12.x",
44
41
  "grunt-text-replace": "^0.4.0",
45
42
  "load-grunt-tasks": "5",
46
- "rollup": "^2.23.0",
43
+ "rollup": "4.x",
47
44
  "testdouble": "3"
48
45
  },
49
46
  "peerDependencies": {
package/src/worker.js CHANGED
@@ -3,7 +3,7 @@
3
3
  const fireworkers = [];
4
4
  const apps = {};
5
5
  // This version is filled in by the build, don't reformat the line.
6
- const VERSION = '2.6.0';
6
+ const VERSION = '3.0.0';
7
7
 
8
8
 
9
9
  class LocalStorage {
package/bower.json DELETED
@@ -1,23 +0,0 @@
1
- {
2
- "name": "firetruss-worker",
3
- "version": "2.6.0",
4
- "homepage": "https://github.com/pkaminski/firetruss-worker",
5
- "authors": [
6
- "Piotr Kaminski"
7
- ],
8
- "description": "Web worker component for pkaminski/firetruss",
9
- "keywords": [
10
- "firebase",
11
- "vuejs",
12
- "model",
13
- "worker",
14
- "angular"
15
- ],
16
- "license": "MIT",
17
- "ignore": [
18
- "**/.*",
19
- "node_modules",
20
- "bower_components"
21
- ],
22
- "main": "dist/worker.umd.js"
23
- }