add websocket server to this dir. fix stuff for client
This commit is contained in:
4
websocket_server/node_modules/postgres-array/index.d.ts
generated
vendored
Normal file
4
websocket_server/node_modules/postgres-array/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
export function parse(source: string): string[];
|
||||
export function parse<T>(source: string, transform: (value: string) => T): T[];
|
||||
|
97
websocket_server/node_modules/postgres-array/index.js
generated
vendored
Normal file
97
websocket_server/node_modules/postgres-array/index.js
generated
vendored
Normal file
@ -0,0 +1,97 @@
|
||||
'use strict'
|
||||
|
||||
exports.parse = function (source, transform) {
|
||||
return new ArrayParser(source, transform).parse()
|
||||
}
|
||||
|
||||
class ArrayParser {
|
||||
constructor (source, transform) {
|
||||
this.source = source
|
||||
this.transform = transform || identity
|
||||
this.position = 0
|
||||
this.entries = []
|
||||
this.recorded = []
|
||||
this.dimension = 0
|
||||
}
|
||||
|
||||
isEof () {
|
||||
return this.position >= this.source.length
|
||||
}
|
||||
|
||||
nextCharacter () {
|
||||
var character = this.source[this.position++]
|
||||
if (character === '\\') {
|
||||
return {
|
||||
value: this.source[this.position++],
|
||||
escaped: true
|
||||
}
|
||||
}
|
||||
return {
|
||||
value: character,
|
||||
escaped: false
|
||||
}
|
||||
}
|
||||
|
||||
record (character) {
|
||||
this.recorded.push(character)
|
||||
}
|
||||
|
||||
newEntry (includeEmpty) {
|
||||
var entry
|
||||
if (this.recorded.length > 0 || includeEmpty) {
|
||||
entry = this.recorded.join('')
|
||||
if (entry === 'NULL' && !includeEmpty) {
|
||||
entry = null
|
||||
}
|
||||
if (entry !== null) entry = this.transform(entry)
|
||||
this.entries.push(entry)
|
||||
this.recorded = []
|
||||
}
|
||||
}
|
||||
|
||||
consumeDimensions () {
|
||||
if (this.source[0] === '[') {
|
||||
while (!this.isEof()) {
|
||||
var char = this.nextCharacter()
|
||||
if (char.value === '=') break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
parse (nested) {
|
||||
var character, parser, quote
|
||||
this.consumeDimensions()
|
||||
while (!this.isEof()) {
|
||||
character = this.nextCharacter()
|
||||
if (character.value === '{' && !quote) {
|
||||
this.dimension++
|
||||
if (this.dimension > 1) {
|
||||
parser = new ArrayParser(this.source.substr(this.position - 1), this.transform)
|
||||
this.entries.push(parser.parse(true))
|
||||
this.position += parser.position - 2
|
||||
}
|
||||
} else if (character.value === '}' && !quote) {
|
||||
this.dimension--
|
||||
if (!this.dimension) {
|
||||
this.newEntry()
|
||||
if (nested) return this.entries
|
||||
}
|
||||
} else if (character.value === '"' && !character.escaped) {
|
||||
if (quote) this.newEntry(true)
|
||||
quote = !quote
|
||||
} else if (character.value === ',' && !quote) {
|
||||
this.newEntry()
|
||||
} else {
|
||||
this.record(character.value)
|
||||
}
|
||||
}
|
||||
if (this.dimension !== 0) {
|
||||
throw new Error('array dimension not balanced')
|
||||
}
|
||||
return this.entries
|
||||
}
|
||||
}
|
||||
|
||||
function identity (value) {
|
||||
return value
|
||||
}
|
21
websocket_server/node_modules/postgres-array/license
generated
vendored
Normal file
21
websocket_server/node_modules/postgres-array/license
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Ben Drucker <bvdrucker@gmail.com> (bendrucker.me)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
35
websocket_server/node_modules/postgres-array/package.json
generated
vendored
Normal file
35
websocket_server/node_modules/postgres-array/package.json
generated
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"name": "postgres-array",
|
||||
"main": "index.js",
|
||||
"version": "2.0.0",
|
||||
"description": "Parse postgres array columns",
|
||||
"license": "MIT",
|
||||
"repository": "bendrucker/postgres-array",
|
||||
"author": {
|
||||
"name": "Ben Drucker",
|
||||
"email": "bvdrucker@gmail.com",
|
||||
"url": "bendrucker.me"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "standard && tape test.js"
|
||||
},
|
||||
"types": "index.d.ts",
|
||||
"keywords": [
|
||||
"postgres",
|
||||
"array",
|
||||
"parser"
|
||||
],
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"standard": "^12.0.1",
|
||||
"tape": "^4.0.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts",
|
||||
"readme.md"
|
||||
]
|
||||
}
|
43
websocket_server/node_modules/postgres-array/readme.md
generated
vendored
Normal file
43
websocket_server/node_modules/postgres-array/readme.md
generated
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
# postgres-array [](https://travis-ci.org/bendrucker/postgres-array)
|
||||
|
||||
> Parse postgres array columns
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install --save postgres-array
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
var postgresArray = require('postgres-array')
|
||||
|
||||
postgresArray.parse('{1,2,3}', (value) => parseInt(value, 10))
|
||||
//=> [1, 2, 3]
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
#### `parse(input, [transform])` -> `array`
|
||||
|
||||
##### input
|
||||
|
||||
*Required*
|
||||
Type: `string`
|
||||
|
||||
A Postgres array string.
|
||||
|
||||
##### transform
|
||||
|
||||
Type: `function`
|
||||
Default: `identity`
|
||||
|
||||
A function that transforms non-null values inserted into the array.
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Ben Drucker](http://bendrucker.me)
|
Reference in New Issue
Block a user