Skip to content

Instantly share code, notes, and snippets.

@chimmelb
chimmelb / client.js
Last active August 29, 2015 14:08
Socket.io server and client, connect to primus
var socket = require( 'socket.io-client' )( 'http://localhost:4567' );
//var socket = require( 'socket.io-client' )( 'http://127.0.0.1:8080/primus', {
// transports: [ 'polling', 'websocket' ],
// forceBase64: true,
// rememberUpgrade: false,
// enablesXDR: false,
// timestampRequests: true
//} );
//var socket = require( 'socket.io-client' )( 'http://127.0.0.1:8080/primus' );
@chimmelb
chimmelb / client.js
Created November 4, 2014 21:44
engine.io-client connect to primus server
var socket = require( 'engine.io-client' )( 'http://localhost:8080' );
//engine.io-client callbacks
socket.on( 'open', function() {
console.log( 'open!' );
} );
socket.on( 'message', function( data ) {
console.log( 'message=' + message.toString() );
} );
socket.on( 'close', function() {
@chimmelb
chimmelb / output withErrors=false
Last active September 15, 2015 14:45
Promise.promisifyAll of a class and errors
start promisifyInLine
calling `a`, willError=false
promisifyInLine from a=123
calling `b`, willError=false
promisifyInLine from b=456
promisifyInLine error=null results=done promisifyInLine
start promisifyUsingAll
calling `a`, willError=false
promisifyUsingAll from a=123
app.game = {
state: {
currentTurn: 'player1'
},
player1: {
name: 'Player 1',
stacks: {
stack1: ['1'],
stack2: ['2'],
stack3: ['3'],
<section data-route="game">
<div>Game board</div>
<game-board game="{{game}}"></game-board>
</section>
.game-card {
position: relative;
transition: transform .5s linear 0s;
backface-visibility: hidden;
}
.game-card .front {
transform: rotateY( 180deg);
position: absolute;
}
Polymer({
is: 'card-stack',
behaviors: [Polymer.IronResizableBehavior],
listeners: {
"iron-resize": "resized"
},
resized: function() {
var height = this.offsetHeight - 2;
var stackWidth = this.offsetWidth - 2;
if (height > 0) {
<template is="dom-repeat" items="{{data}}">
<game-card style$="{{calcMargin(reverse, index, cardWidth)}}" class="card-in-stack" rank="{{item}}" card-width="[[cardWidth]]" card-height="[[cardHeight]]">
</game-card>
</template>
<style include="shared-styles">
.card-in-stack {
position: absolute;
}
</style>
@chimmelb
chimmelb / snippet.js
Last active July 30, 2018 13:44
JSON Data to AWS SNS publish
//text, topicArn, and api.aws.sns all defined elsewhere in scope
var apnsMessage = JSON.stringify({
aps: {
alert: text,
extraData: 'thing'
}
});
var gcmMessage = JSON.stringify({
data: {
message: text,
@chimmelb
chimmelb / primus-ping-pong.js
Created June 20, 2019 19:14
primus ping-pong for own websocket
const pingRegex = /^primus::ping::(\d{13})$/
private onMessage = (messageEvent: MessageEvent) => {
try {
const data = JSON.parse(messageEvent.data)
if (pingRegex.test(data)) {
let pingResults = pingRegex.exec(data)
if (pingResults) {
this.pong(pingResults[1])
}
} else if (data.context && data.context === 'response') {