First development of the deploy action (#6)
Some checks failed
Lint / pre-commit Linting (push) Has been cancelled
Some checks failed
Lint / pre-commit Linting (push) Has been cancelled
Deploy js code to an instance of screeps. Some debugging tools are implemented. Reviewed-on: #6 Co-authored-by: Philipp Horstenkamp <philipp@horstenkamp.de> Co-committed-by: Philipp Horstenkamp <philipp@horstenkamp.de>
This commit is contained in:
73
node_modules/gauge/template-item.js
generated
vendored
Normal file
73
node_modules/gauge/template-item.js
generated
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
'use strict'
|
||||
var stringWidth = require('string-width')
|
||||
|
||||
module.exports = TemplateItem
|
||||
|
||||
function isPercent (num) {
|
||||
if (typeof num !== 'string') return false
|
||||
return num.slice(-1) === '%'
|
||||
}
|
||||
|
||||
function percent (num) {
|
||||
return Number(num.slice(0, -1)) / 100
|
||||
}
|
||||
|
||||
function TemplateItem (values, outputLength) {
|
||||
this.overallOutputLength = outputLength
|
||||
this.finished = false
|
||||
this.type = null
|
||||
this.value = null
|
||||
this.length = null
|
||||
this.maxLength = null
|
||||
this.minLength = null
|
||||
this.kerning = null
|
||||
this.align = 'left'
|
||||
this.padLeft = 0
|
||||
this.padRight = 0
|
||||
this.index = null
|
||||
this.first = null
|
||||
this.last = null
|
||||
if (typeof values === 'string') {
|
||||
this.value = values
|
||||
} else {
|
||||
for (var prop in values) this[prop] = values[prop]
|
||||
}
|
||||
// Realize percents
|
||||
if (isPercent(this.length)) {
|
||||
this.length = Math.round(this.overallOutputLength * percent(this.length))
|
||||
}
|
||||
if (isPercent(this.minLength)) {
|
||||
this.minLength = Math.round(this.overallOutputLength * percent(this.minLength))
|
||||
}
|
||||
if (isPercent(this.maxLength)) {
|
||||
this.maxLength = Math.round(this.overallOutputLength * percent(this.maxLength))
|
||||
}
|
||||
return this
|
||||
}
|
||||
|
||||
TemplateItem.prototype = {}
|
||||
|
||||
TemplateItem.prototype.getBaseLength = function () {
|
||||
var length = this.length
|
||||
if (length == null && typeof this.value === 'string' && this.maxLength == null && this.minLength == null) {
|
||||
length = stringWidth(this.value)
|
||||
}
|
||||
return length
|
||||
}
|
||||
|
||||
TemplateItem.prototype.getLength = function () {
|
||||
var length = this.getBaseLength()
|
||||
if (length == null) return null
|
||||
return length + this.padLeft + this.padRight
|
||||
}
|
||||
|
||||
TemplateItem.prototype.getMaxLength = function () {
|
||||
if (this.maxLength == null) return null
|
||||
return this.maxLength + this.padLeft + this.padRight
|
||||
}
|
||||
|
||||
TemplateItem.prototype.getMinLength = function () {
|
||||
if (this.minLength == null) return null
|
||||
return this.minLength + this.padLeft + this.padRight
|
||||
}
|
||||
|
Reference in New Issue
Block a user