react-use-action-cable-ts
Advanced tools
Comparing version 1.0.2 to 1.0.3
@@ -17,10 +17,11 @@ import { ChannelNameWithParams, Consumer, Subscription } from "@rails/actioncable"; | ||
disconnected?: () => void; | ||
}) => void; | ||
}, camelCaseMessage?: boolean) => void; | ||
unsubscribe: () => void; | ||
send: ({ action, payload, useQueue }: { | ||
send: ({ action, payload, useQueue, snakeCaseMessage }: { | ||
action: Action; | ||
payload: Payload; | ||
useQueue: boolean; | ||
snakeCaseMessage: boolean; | ||
}) => void; | ||
}; | ||
export {}; |
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.useChannel = exports.useActionCable = void 0; | ||
const actioncable_1 = require("@rails/actioncable"); | ||
const camelcase_keys_1 = __importDefault(require("camelcase-keys")); | ||
const react_1 = require("react"); | ||
const snakecase_keys_1 = __importDefault(require("snakecase-keys")); | ||
const log = (x) => { | ||
@@ -42,3 +47,3 @@ if (x.verbose) | ||
}, []); | ||
const subscribe = (data, callbacks) => { | ||
const subscribe = (data, callbacks, camelCaseMessage = true) => { | ||
log({ | ||
@@ -56,2 +61,5 @@ verbose: verbose, | ||
}); | ||
if (camelCaseMessage && x) { | ||
x = (0, camelcase_keys_1.default)(x, { deep: true }); | ||
} | ||
callbacks.received?.(x); | ||
@@ -163,8 +171,11 @@ }, | ||
}; | ||
const send = ({ action, payload, useQueue }) => { | ||
const send = ({ action, payload, useQueue, snakeCaseMessage = true }) => { | ||
const formattedPayload = snakeCaseMessage && payload | ||
? (0, snakecase_keys_1.default)(payload, { deep: true }) | ||
: payload; | ||
if (useQueue) { | ||
enqueue(action, payload); | ||
enqueue(action, formattedPayload); | ||
} | ||
else { | ||
perform(action, payload); | ||
perform(action, formattedPayload); | ||
} | ||
@@ -171,0 +182,0 @@ }; |
{ | ||
"name": "react-use-action-cable-ts", | ||
"version": "1.0.2", | ||
"version": "1.0.3", | ||
"description": "Hooks to easily use Rails Action Cable in your React application", | ||
@@ -26,3 +26,5 @@ "main": "dist/index.js", | ||
"dependencies": { | ||
"@rails/actioncable": "7.1.3" | ||
"@rails/actioncable": "7.1.3", | ||
"camelcase-keys": "^9.1.3", | ||
"snakecase-keys": "^6.0.0" | ||
}, | ||
@@ -29,0 +31,0 @@ "devDependencies": { |
10921
212
4
+ Addedcamelcase-keys@^9.1.3
+ Addedsnakecase-keys@^6.0.0
+ Addedcamelcase@8.0.0(transitive)
+ Addedcamelcase-keys@9.1.3(transitive)
+ Addeddot-case@3.0.4(transitive)
+ Addedlower-case@2.0.2(transitive)
+ Addedmap-obj@4.3.05.0.0(transitive)
+ Addedno-case@3.0.4(transitive)
+ Addedquick-lru@6.1.2(transitive)
+ Addedsnake-case@3.0.4(transitive)
+ Addedsnakecase-keys@6.0.0(transitive)
+ Addedtslib@2.8.1(transitive)
+ Addedtype-fest@3.13.14.35.0(transitive)