Added Monaco editor example
This commit is contained in:
		
							parent
							
								
									e30e16c91b
								
							
						
					
					
						commit
						3eafd78710
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -1 +1,2 @@
 | 
				
			|||||||
 | 
					node_modules
 | 
				
			||||||
bower_components
 | 
					bower_components
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										24
									
								
								Examples/Monaco/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								Examples/Monaco/index.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html>
 | 
				
			||||||
 | 
					  <head>
 | 
				
			||||||
 | 
					  </head>
 | 
				
			||||||
 | 
					  <body>
 | 
				
			||||||
 | 
					    <div id="monacoContainer"></div>
 | 
				
			||||||
 | 
					    <style>
 | 
				
			||||||
 | 
					      #monacoContainer {
 | 
				
			||||||
 | 
					        position: fixed;
 | 
				
			||||||
 | 
					        top: 0;
 | 
				
			||||||
 | 
					        left: 0;
 | 
				
			||||||
 | 
					        height: 100%;
 | 
				
			||||||
 | 
					        width: 100%;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    </style>
 | 
				
			||||||
 | 
					    <script src="../bower_components/yjs/y.es6"></script>
 | 
				
			||||||
 | 
					    <script src="../bower_components/y-array/y-array.es6"></script>
 | 
				
			||||||
 | 
					    <script src="../bower_components/y-text/y-text.es6"></script>
 | 
				
			||||||
 | 
					    <script src="../bower_components/y-websockets-client/y-websockets-client.es6"></script>
 | 
				
			||||||
 | 
					    <script src="../bower_components/y-memory/y-memory.es6"></script>
 | 
				
			||||||
 | 
					    <script src="../node_modules/monaco-editor/min/vs/loader.js"></script>
 | 
				
			||||||
 | 
					    <script src="./index.js"></script>
 | 
				
			||||||
 | 
					  </body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										31
									
								
								Examples/Monaco/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								Examples/Monaco/index.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,31 @@
 | 
				
			|||||||
 | 
					/* global Y */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require.config({ paths: { 'vs': '../node_modules/monaco-editor/min/vs' }})
 | 
				
			||||||
 | 
					require(['vs/editor/editor.main'], function() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Initialize a shared object. This function call returns a promise!
 | 
				
			||||||
 | 
					  Y({
 | 
				
			||||||
 | 
					    db: {
 | 
				
			||||||
 | 
					      name: 'memory'
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    connector: {
 | 
				
			||||||
 | 
					      name: 'websockets-client',
 | 
				
			||||||
 | 
					      room: 'monaco-example'
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    sourceDir: '/bower_components',
 | 
				
			||||||
 | 
					    share: {
 | 
				
			||||||
 | 
					      monaco: 'Text' // y.share.monaco is of type Y.Text
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }).then(function (y) {
 | 
				
			||||||
 | 
					    window.yMonaco = y
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Create Monaco editor
 | 
				
			||||||
 | 
					    var editor = monaco.editor.create(document.getElementById('monacoContainer'), {
 | 
				
			||||||
 | 
					      language: 'javascript'
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Bind to y.share.monaco
 | 
				
			||||||
 | 
					    y.share.monaco.bindMonaco(editor)
 | 
				
			||||||
 | 
					  })
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										10
									
								
								Examples/package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								Examples/package.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "name": "examples",
 | 
				
			||||||
 | 
					  "version": "1.0.0",
 | 
				
			||||||
 | 
					  "description": "",
 | 
				
			||||||
 | 
					  "author": "Kevin Jahns",
 | 
				
			||||||
 | 
					  "license": "MIT",
 | 
				
			||||||
 | 
					  "dependencies": {
 | 
				
			||||||
 | 
					    "monaco-editor": "^0.8.3"
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -40,7 +40,7 @@ is a list of the modules we know of:
 | 
				
			|||||||
|[map](https://github.com/y-js/y-map) | A shared Map implementation. Maps from text to any stringify-able object |
 | 
					|[map](https://github.com/y-js/y-map) | A shared Map implementation. Maps from text to any stringify-able object |
 | 
				
			||||||
|[array](https://github.com/y-js/y-array) | A shared Array implementation |
 | 
					|[array](https://github.com/y-js/y-array) | A shared Array implementation |
 | 
				
			||||||
|[xml](https://github.com/y-js/y-xml) | An implementation of the DOM. You can create a two way binding to Browser DOM objects |
 | 
					|[xml](https://github.com/y-js/y-xml) | An implementation of the DOM. You can create a two way binding to Browser DOM objects |
 | 
				
			||||||
|[text](https://github.com/y-js/y-text) | Collaborate on text. Supports two way binding to the [Ace Editor](https://ace.c9.io), [CodeMirror](https://codemirror.net/), textareas, input elements, and HTML elements (e.g. <*h1*>, or <*p*>) |
 | 
					|[text](https://github.com/y-js/y-text) | Collaborate on text. Supports two way binding to the [Ace Editor](https://ace.c9.io), [CodeMirror](https://codemirror.net/), [Monaco](https://github.com/Microsoft/monaco-editor), textareas, input elements, and HTML elements (e.g. <*h1*>, or <*p*>) |
 | 
				
			||||||
|[richtext](https://github.com/y-js/y-richtext) | Collaborate on rich text. Supports two way binding to the [Quill Rich Text Editor](http://quilljs.com/)|
 | 
					|[richtext](https://github.com/y-js/y-richtext) | Collaborate on rich text. Supports two way binding to the [Quill Rich Text Editor](http://quilljs.com/)|
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##### Other
 | 
					##### Other
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										382
									
								
								y.es6
									
									
									
									
									
								
							
							
						
						
									
										382
									
								
								y.es6
									
									
									
									
									
								
							@ -5,157 +5,6 @@
 | 
				
			|||||||
 * @license MIT
 | 
					 * @license MIT
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Y = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
 | 
					(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Y = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * Helpers.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var s = 1000
 | 
					 | 
				
			||||||
var m = s * 60
 | 
					 | 
				
			||||||
var h = m * 60
 | 
					 | 
				
			||||||
var d = h * 24
 | 
					 | 
				
			||||||
var y = d * 365.25
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * Parse or format the given `val`.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Options:
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 *  - `long` verbose formatting [false]
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * @param {String|Number} val
 | 
					 | 
				
			||||||
 * @param {Object} options
 | 
					 | 
				
			||||||
 * @throws {Error} throw an error if val is not a non-empty string or a number
 | 
					 | 
				
			||||||
 * @return {String|Number}
 | 
					 | 
				
			||||||
 * @api public
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
module.exports = function (val, options) {
 | 
					 | 
				
			||||||
  options = options || {}
 | 
					 | 
				
			||||||
  var type = typeof val
 | 
					 | 
				
			||||||
  if (type === 'string' && val.length > 0) {
 | 
					 | 
				
			||||||
    return parse(val)
 | 
					 | 
				
			||||||
  } else if (type === 'number' && isNaN(val) === false) {
 | 
					 | 
				
			||||||
    return options.long ?
 | 
					 | 
				
			||||||
			fmtLong(val) :
 | 
					 | 
				
			||||||
			fmtShort(val)
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val))
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * Parse the given `str` and return milliseconds.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * @param {String} str
 | 
					 | 
				
			||||||
 * @return {Number}
 | 
					 | 
				
			||||||
 * @api private
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function parse(str) {
 | 
					 | 
				
			||||||
  str = String(str)
 | 
					 | 
				
			||||||
  if (str.length > 10000) {
 | 
					 | 
				
			||||||
    return
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(str)
 | 
					 | 
				
			||||||
  if (!match) {
 | 
					 | 
				
			||||||
    return
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  var n = parseFloat(match[1])
 | 
					 | 
				
			||||||
  var type = (match[2] || 'ms').toLowerCase()
 | 
					 | 
				
			||||||
  switch (type) {
 | 
					 | 
				
			||||||
    case 'years':
 | 
					 | 
				
			||||||
    case 'year':
 | 
					 | 
				
			||||||
    case 'yrs':
 | 
					 | 
				
			||||||
    case 'yr':
 | 
					 | 
				
			||||||
    case 'y':
 | 
					 | 
				
			||||||
      return n * y
 | 
					 | 
				
			||||||
    case 'days':
 | 
					 | 
				
			||||||
    case 'day':
 | 
					 | 
				
			||||||
    case 'd':
 | 
					 | 
				
			||||||
      return n * d
 | 
					 | 
				
			||||||
    case 'hours':
 | 
					 | 
				
			||||||
    case 'hour':
 | 
					 | 
				
			||||||
    case 'hrs':
 | 
					 | 
				
			||||||
    case 'hr':
 | 
					 | 
				
			||||||
    case 'h':
 | 
					 | 
				
			||||||
      return n * h
 | 
					 | 
				
			||||||
    case 'minutes':
 | 
					 | 
				
			||||||
    case 'minute':
 | 
					 | 
				
			||||||
    case 'mins':
 | 
					 | 
				
			||||||
    case 'min':
 | 
					 | 
				
			||||||
    case 'm':
 | 
					 | 
				
			||||||
      return n * m
 | 
					 | 
				
			||||||
    case 'seconds':
 | 
					 | 
				
			||||||
    case 'second':
 | 
					 | 
				
			||||||
    case 'secs':
 | 
					 | 
				
			||||||
    case 'sec':
 | 
					 | 
				
			||||||
    case 's':
 | 
					 | 
				
			||||||
      return n * s
 | 
					 | 
				
			||||||
    case 'milliseconds':
 | 
					 | 
				
			||||||
    case 'millisecond':
 | 
					 | 
				
			||||||
    case 'msecs':
 | 
					 | 
				
			||||||
    case 'msec':
 | 
					 | 
				
			||||||
    case 'ms':
 | 
					 | 
				
			||||||
      return n
 | 
					 | 
				
			||||||
    default:
 | 
					 | 
				
			||||||
      return undefined
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * Short format for `ms`.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * @param {Number} ms
 | 
					 | 
				
			||||||
 * @return {String}
 | 
					 | 
				
			||||||
 * @api private
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function fmtShort(ms) {
 | 
					 | 
				
			||||||
  if (ms >= d) {
 | 
					 | 
				
			||||||
    return Math.round(ms / d) + 'd'
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  if (ms >= h) {
 | 
					 | 
				
			||||||
    return Math.round(ms / h) + 'h'
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  if (ms >= m) {
 | 
					 | 
				
			||||||
    return Math.round(ms / m) + 'm'
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  if (ms >= s) {
 | 
					 | 
				
			||||||
    return Math.round(ms / s) + 's'
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return ms + 'ms'
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * Long format for `ms`.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * @param {Number} ms
 | 
					 | 
				
			||||||
 * @return {String}
 | 
					 | 
				
			||||||
 * @api private
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function fmtLong(ms) {
 | 
					 | 
				
			||||||
  return plural(ms, d, 'day') ||
 | 
					 | 
				
			||||||
    plural(ms, h, 'hour') ||
 | 
					 | 
				
			||||||
    plural(ms, m, 'minute') ||
 | 
					 | 
				
			||||||
    plural(ms, s, 'second') ||
 | 
					 | 
				
			||||||
    ms + ' ms'
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * Pluralization helper.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function plural(ms, n, name) {
 | 
					 | 
				
			||||||
  if (ms < n) {
 | 
					 | 
				
			||||||
    return
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  if (ms < n * 1.5) {
 | 
					 | 
				
			||||||
    return Math.floor(ms / n) + ' ' + name
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return Math.ceil(ms / n) + ' ' + name + 's'
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
},{}],2:[function(require,module,exports){
 | 
					 | 
				
			||||||
(function (process){
 | 
					(function (process){
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * This is the web browser implementation of `debug()`.
 | 
					 * This is the web browser implementation of `debug()`.
 | 
				
			||||||
@ -345,7 +194,7 @@ function localstorage() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
}).call(this,require('_process'))
 | 
					}).call(this,require('_process'))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
},{"./debug":3,"_process":4}],3:[function(require,module,exports){
 | 
					},{"./debug":2,"_process":4}],2:[function(require,module,exports){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * This is the common logic for both the Node.js and web browser
 | 
					 * This is the common logic for both the Node.js and web browser
 | 
				
			||||||
@ -549,7 +398,158 @@ function coerce(val) {
 | 
				
			|||||||
  return val;
 | 
					  return val;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
},{"ms":1}],4:[function(require,module,exports){
 | 
					},{"ms":3}],3:[function(require,module,exports){
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Helpers.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var s = 1000
 | 
				
			||||||
 | 
					var m = s * 60
 | 
				
			||||||
 | 
					var h = m * 60
 | 
				
			||||||
 | 
					var d = h * 24
 | 
				
			||||||
 | 
					var y = d * 365.25
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Parse or format the given `val`.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Options:
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *  - `long` verbose formatting [false]
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param {String|Number} val
 | 
				
			||||||
 | 
					 * @param {Object} options
 | 
				
			||||||
 | 
					 * @throws {Error} throw an error if val is not a non-empty string or a number
 | 
				
			||||||
 | 
					 * @return {String|Number}
 | 
				
			||||||
 | 
					 * @api public
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = function (val, options) {
 | 
				
			||||||
 | 
					  options = options || {}
 | 
				
			||||||
 | 
					  var type = typeof val
 | 
				
			||||||
 | 
					  if (type === 'string' && val.length > 0) {
 | 
				
			||||||
 | 
					    return parse(val)
 | 
				
			||||||
 | 
					  } else if (type === 'number' && isNaN(val) === false) {
 | 
				
			||||||
 | 
					    return options.long ?
 | 
				
			||||||
 | 
								fmtLong(val) :
 | 
				
			||||||
 | 
								fmtShort(val)
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val))
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Parse the given `str` and return milliseconds.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param {String} str
 | 
				
			||||||
 | 
					 * @return {Number}
 | 
				
			||||||
 | 
					 * @api private
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function parse(str) {
 | 
				
			||||||
 | 
					  str = String(str)
 | 
				
			||||||
 | 
					  if (str.length > 10000) {
 | 
				
			||||||
 | 
					    return
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(str)
 | 
				
			||||||
 | 
					  if (!match) {
 | 
				
			||||||
 | 
					    return
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  var n = parseFloat(match[1])
 | 
				
			||||||
 | 
					  var type = (match[2] || 'ms').toLowerCase()
 | 
				
			||||||
 | 
					  switch (type) {
 | 
				
			||||||
 | 
					    case 'years':
 | 
				
			||||||
 | 
					    case 'year':
 | 
				
			||||||
 | 
					    case 'yrs':
 | 
				
			||||||
 | 
					    case 'yr':
 | 
				
			||||||
 | 
					    case 'y':
 | 
				
			||||||
 | 
					      return n * y
 | 
				
			||||||
 | 
					    case 'days':
 | 
				
			||||||
 | 
					    case 'day':
 | 
				
			||||||
 | 
					    case 'd':
 | 
				
			||||||
 | 
					      return n * d
 | 
				
			||||||
 | 
					    case 'hours':
 | 
				
			||||||
 | 
					    case 'hour':
 | 
				
			||||||
 | 
					    case 'hrs':
 | 
				
			||||||
 | 
					    case 'hr':
 | 
				
			||||||
 | 
					    case 'h':
 | 
				
			||||||
 | 
					      return n * h
 | 
				
			||||||
 | 
					    case 'minutes':
 | 
				
			||||||
 | 
					    case 'minute':
 | 
				
			||||||
 | 
					    case 'mins':
 | 
				
			||||||
 | 
					    case 'min':
 | 
				
			||||||
 | 
					    case 'm':
 | 
				
			||||||
 | 
					      return n * m
 | 
				
			||||||
 | 
					    case 'seconds':
 | 
				
			||||||
 | 
					    case 'second':
 | 
				
			||||||
 | 
					    case 'secs':
 | 
				
			||||||
 | 
					    case 'sec':
 | 
				
			||||||
 | 
					    case 's':
 | 
				
			||||||
 | 
					      return n * s
 | 
				
			||||||
 | 
					    case 'milliseconds':
 | 
				
			||||||
 | 
					    case 'millisecond':
 | 
				
			||||||
 | 
					    case 'msecs':
 | 
				
			||||||
 | 
					    case 'msec':
 | 
				
			||||||
 | 
					    case 'ms':
 | 
				
			||||||
 | 
					      return n
 | 
				
			||||||
 | 
					    default:
 | 
				
			||||||
 | 
					      return undefined
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Short format for `ms`.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param {Number} ms
 | 
				
			||||||
 | 
					 * @return {String}
 | 
				
			||||||
 | 
					 * @api private
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function fmtShort(ms) {
 | 
				
			||||||
 | 
					  if (ms >= d) {
 | 
				
			||||||
 | 
					    return Math.round(ms / d) + 'd'
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  if (ms >= h) {
 | 
				
			||||||
 | 
					    return Math.round(ms / h) + 'h'
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  if (ms >= m) {
 | 
				
			||||||
 | 
					    return Math.round(ms / m) + 'm'
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  if (ms >= s) {
 | 
				
			||||||
 | 
					    return Math.round(ms / s) + 's'
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  return ms + 'ms'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Long format for `ms`.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @param {Number} ms
 | 
				
			||||||
 | 
					 * @return {String}
 | 
				
			||||||
 | 
					 * @api private
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function fmtLong(ms) {
 | 
				
			||||||
 | 
					  return plural(ms, d, 'day') ||
 | 
				
			||||||
 | 
					    plural(ms, h, 'hour') ||
 | 
				
			||||||
 | 
					    plural(ms, m, 'minute') ||
 | 
				
			||||||
 | 
					    plural(ms, s, 'second') ||
 | 
				
			||||||
 | 
					    ms + ' ms'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Pluralization helper.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function plural(ms, n, name) {
 | 
				
			||||||
 | 
					  if (ms < n) {
 | 
				
			||||||
 | 
					    return
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  if (ms < n * 1.5) {
 | 
				
			||||||
 | 
					    return Math.floor(ms / n) + ' ' + name
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  return Math.ceil(ms / n) + ' ' + name + 's'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					},{}],4:[function(require,module,exports){
 | 
				
			||||||
// shim for using process in browser
 | 
					// shim for using process in browser
 | 
				
			||||||
var process = module.exports = {};
 | 
					var process = module.exports = {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -561,35 +561,83 @@ var process = module.exports = {};
 | 
				
			|||||||
var cachedSetTimeout;
 | 
					var cachedSetTimeout;
 | 
				
			||||||
var cachedClearTimeout;
 | 
					var cachedClearTimeout;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function defaultSetTimout() {
 | 
				
			||||||
 | 
					    throw new Error('setTimeout has not been defined');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					function defaultClearTimeout () {
 | 
				
			||||||
 | 
					    throw new Error('clearTimeout has not been defined');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
(function () {
 | 
					(function () {
 | 
				
			||||||
    try {
 | 
					    try {
 | 
				
			||||||
        cachedSetTimeout = setTimeout;
 | 
					        if (typeof setTimeout === 'function') {
 | 
				
			||||||
    } catch (e) {
 | 
					            cachedSetTimeout = setTimeout;
 | 
				
			||||||
        cachedSetTimeout = function () {
 | 
					        } else {
 | 
				
			||||||
            throw new Error('setTimeout is not defined');
 | 
					            cachedSetTimeout = defaultSetTimout;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					    } catch (e) {
 | 
				
			||||||
 | 
					        cachedSetTimeout = defaultSetTimout;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    try {
 | 
					    try {
 | 
				
			||||||
        cachedClearTimeout = clearTimeout;
 | 
					        if (typeof clearTimeout === 'function') {
 | 
				
			||||||
    } catch (e) {
 | 
					            cachedClearTimeout = clearTimeout;
 | 
				
			||||||
        cachedClearTimeout = function () {
 | 
					        } else {
 | 
				
			||||||
            throw new Error('clearTimeout is not defined');
 | 
					            cachedClearTimeout = defaultClearTimeout;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					    } catch (e) {
 | 
				
			||||||
 | 
					        cachedClearTimeout = defaultClearTimeout;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
} ())
 | 
					} ())
 | 
				
			||||||
function runTimeout(fun) {
 | 
					function runTimeout(fun) {
 | 
				
			||||||
    if (cachedSetTimeout === setTimeout) {
 | 
					    if (cachedSetTimeout === setTimeout) {
 | 
				
			||||||
 | 
					        //normal enviroments in sane situations
 | 
				
			||||||
        return setTimeout(fun, 0);
 | 
					        return setTimeout(fun, 0);
 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
        return cachedSetTimeout.call(null, fun, 0);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    // if setTimeout wasn't available but was latter defined
 | 
				
			||||||
 | 
					    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
 | 
				
			||||||
 | 
					        cachedSetTimeout = setTimeout;
 | 
				
			||||||
 | 
					        return setTimeout(fun, 0);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    try {
 | 
				
			||||||
 | 
					        // when when somebody has screwed with setTimeout but no I.E. maddness
 | 
				
			||||||
 | 
					        return cachedSetTimeout(fun, 0);
 | 
				
			||||||
 | 
					    } catch(e){
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
 | 
				
			||||||
 | 
					            return cachedSetTimeout.call(null, fun, 0);
 | 
				
			||||||
 | 
					        } catch(e){
 | 
				
			||||||
 | 
					            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
 | 
				
			||||||
 | 
					            return cachedSetTimeout.call(this, fun, 0);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
function runClearTimeout(marker) {
 | 
					function runClearTimeout(marker) {
 | 
				
			||||||
    if (cachedClearTimeout === clearTimeout) {
 | 
					    if (cachedClearTimeout === clearTimeout) {
 | 
				
			||||||
        clearTimeout(marker);
 | 
					        //normal enviroments in sane situations
 | 
				
			||||||
    } else {
 | 
					        return clearTimeout(marker);
 | 
				
			||||||
        cachedClearTimeout.call(null, marker);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    // if clearTimeout wasn't available but was latter defined
 | 
				
			||||||
 | 
					    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
 | 
				
			||||||
 | 
					        cachedClearTimeout = clearTimeout;
 | 
				
			||||||
 | 
					        return clearTimeout(marker);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    try {
 | 
				
			||||||
 | 
					        // when when somebody has screwed with setTimeout but no I.E. maddness
 | 
				
			||||||
 | 
					        return cachedClearTimeout(marker);
 | 
				
			||||||
 | 
					    } catch (e){
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally
 | 
				
			||||||
 | 
					            return cachedClearTimeout.call(null, marker);
 | 
				
			||||||
 | 
					        } catch (e){
 | 
				
			||||||
 | 
					            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
 | 
				
			||||||
 | 
					            // Some versions of I.E. have different rules for clearTimeout vs setTimeout
 | 
				
			||||||
 | 
					            return cachedClearTimeout.call(this, marker);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
var queue = [];
 | 
					var queue = [];
 | 
				
			||||||
var draining = false;
 | 
					var draining = false;
 | 
				
			||||||
@ -4408,6 +4456,6 @@ class YConfig {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
},{"./Connector.js":5,"./Connectors/Test.js":6,"./Database.js":7,"./Struct.js":8,"./Transaction.js":9,"./Utils.js":10,"debug":2}]},{},[11])(11)
 | 
					},{"./Connector.js":5,"./Connectors/Test.js":6,"./Database.js":7,"./Struct.js":8,"./Transaction.js":9,"./Utils.js":10,"debug":1}]},{},[11])(11)
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user