Registry / devops / react-native-queue-it

react-native-queue-it

JSON →
library1.2.1jsnpmunverified

React Native module for integrating Queue-it's virtual waiting room into React Native apps. Version 1.2.1 requires react-native ^0.80.1. Supports iOS and Android, ships TypeScript types. Provides methods to enqueue users and handle queue states (Disabled, Passed, Unavailable, RestartedSession). Events like openingQueueView and webViewClosed allow tracking the queue view lifecycle. The module interacts with Queue-it's servers to obtain a QueueITToken after the user passes the queue.

npm install react-native-queue-it
INSTALL
IMPORT
SIG · REACT-NATIVE-QUEUE
R
react-native-queue-it
devopsjavascriptv1.2.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

QueueIt
import { QueueIt } from 'react-native-queue-it'
import QueueIt from 'react-native-queue-it'
QueueIt is a named export, not default.
EnqueueResultState
import { EnqueueResultState } from 'react-native-queue-it'
import { EnqueueResultStates } from 'react-native-queue-it'
Correct spelling is EnqueueResultState (singular).
EnqueueResult
import { EnqueueResult } from 'react-native-queue-it'
const { EnqueueResult } = require('react-native-queue-it')
Module is ESM; require is not recommended and may not work in all bundlers.

Demonstrates the three enqueue methods (run, runWithEnqueueKey, runWithEnqueueToken) and handling of the four possible result states.

import { QueueIt, EnqueueResultState, EnqueueResult } from 'react-native-queue-it'; async function enqueueUser(clientId: string, eventOrAlias: string, enqueueKey?: string, enqueueToken?: string) { try { QueueIt.once('openingQueueView', () => { console.log('Queue view opened'); }); QueueIt.once('webViewClosed', () => { console.log('User closed the queue view'); }); let enqueueResult: EnqueueResult; if (enqueueKey) { enqueueResult = await QueueIt.runWithEnqueueKey(clientId, eventOrAlias, enqueueKey); } else if (enqueueToken) { enqueueResult = await QueueIt.runWithEnqueueToken(clientId, eventOrAlias, enqueueToken); } else { enqueueResult = await QueueIt.run(clientId, eventOrAlias); } switch (enqueueResult.State) { case EnqueueResultState.Disabled: console.log('Queue disabled, token:', enqueueResult.QueueITToken); break; case EnqueueResultState.Passed: console.log('User passed queue, token:', enqueueResult.QueueITToken); break; case EnqueueResultState.Unavailable: console.log('Queue unavailable'); break; case EnqueueResultState.RestartedSession: console.log('Session restarted, re-enqueueing...'); await enqueueUser(clientId, eventOrAlias, enqueueKey, enqueueToken); } return enqueueResult.QueueITToken; } catch (error) { console.error('Enqueue error:', error); } }
Debug
Known issues
gotchaImport correctly: QueueIt is a named export, not default. Using default import will result in undefined.
fix
Use `import { QueueIt } from 'react-native-queue-it'`
affects: >=1.0.0
gotchaEnqueueResultState is singular. Misspelling as EnqueueResultStates leads to undefined.
fix
Use `import { EnqueueResultState } from 'react-native-queue-it'`
affects: >=1.0.0
breakingVersion 1.2.0+ requires react-native ^0.80.1. Older react-native versions may cause build failures.
fix
Upgrade react-native to 0.80.1 or higher.
affects: >=1.2.0
gotchaAndroid requires adding QueueActivity to AndroidManifest.xml. Missing this causes a crash when the user enters the queue.
fix
Add `<activity android:name="com.queue_it.androidsdk.QueueActivity"/>` to your AndroidManifest.xml.
affects: >=1.0.0
gotchaEvent listeners (openingQueueView, webViewClosed) are instance-level, not per-enqueue call. Use once() to avoid repeated listeners across multiple enqueues.
fix
Use `QueueIt.once(...)` instead of `QueueIt.on(...)` to ensure single invocation per enqueue.
affects: >=1.0.0
Errors
Common errors & fixes
TypeError: Cannot read property 'State' of undefined
Using default import of QueueIt instead of named import, resulting in undefined.
fix
Correct import: import { QueueIt } from 'react-native-queue-it'
Error: You have not registered QueueActivity in your AndroidManifest.xml
Android requires adding QueueActivity for queue view.
fix
Add <activity android:name="com.queue_it.androidsdk.QueueActivity"/> to AndroidManifest.xml
Invariant Violation: Native module QueueIt is not available
Missing pod install for iOS or link for React Native <= 0.59.
fix
Run `cd ios && pod install` for iOS; for older RN, `react-native link react-native-queue-it`
Upgrade
Version history
1.2.1latest on npm
Audit
Dependencies
react-nativerequiredpeer dependency required for native modules
Agent activity
4 hits · last 30 days
node
4
Resources
react-native-queue-it — npm install react-native-queue-it · libregistry