aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/gauge/lib/template-item.js
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/gauge/lib/template-item.js')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/gauge/lib/template-item.js87
1 files changed, 87 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/gauge/lib/template-item.js b/sandbox/testAppNevena/Front/node_modules/gauge/lib/template-item.js
new file mode 100644
index 00000000..e307e9b7
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/gauge/lib/template-item.js
@@ -0,0 +1,87 @@
+'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
+}