Search
Search
Search
Search
Information
Information
Light
Dark
Open actions menu
Basic upload method
Bypass upload method
Tips!
If you encounter an error (by firewall) while uploading using both methods,
try changing extension of the file before uploading it and rename it right after.
This uploader supports multiple file upload.
Submit
~
var
www
web-koncept
server
node_modules
postgres-array
File Content:
index.js
'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 }
Edit
Download
Unzip
Chmod
Delete