pict 1.0.115 → 1.0.116
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/pict.compatible.js +301 -117
- package/dist/pict.compatible.min.js +2 -2
- package/dist/pict.compatible.min.js.map +1 -1
- package/dist/pict.js +301 -117
- package/dist/pict.min.js +2 -2
- package/dist/pict.min.js.map +1 -1
- package/package.json +2 -2
package/dist/pict.compatible.js
CHANGED
|
@@ -10,7 +10,250 @@ var len=placeHoldersLen>0?validLen-4:validLen;var i;for(i=0;i<len;i+=4){tmp=revL
|
|
|
10
10
|
var parts=[];var maxChunkLength=16383;// must be multiple of 3
|
|
11
11
|
// go through the array every three bytes, we'll deal with trailing stuff later
|
|
12
12
|
for(var i=0,len2=len-extraBytes;i<len2;i+=maxChunkLength){parts.push(encodeChunk(uint8,i,i+maxChunkLength>len2?len2:i+maxChunkLength));}// pad the end with zeros, but make sure to not forget the extra bytes
|
|
13
|
-
if(extraBytes===1){tmp=uint8[len-1];parts.push(lookup[tmp>>2]+lookup[tmp<<4&0x3F]+'==');}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];parts.push(lookup[tmp>>10]+lookup[tmp>>4&0x3F]+lookup[tmp<<2&0x3F]+'=');}return parts.join('');}},{}],17:[function(require,module,exports){
|
|
13
|
+
if(extraBytes===1){tmp=uint8[len-1];parts.push(lookup[tmp>>2]+lookup[tmp<<4&0x3F]+'==');}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];parts.push(lookup[tmp>>10]+lookup[tmp>>4&0x3F]+lookup[tmp<<2&0x3F]+'=');}return parts.join('');}},{}],17:[function(require,module,exports){/*
|
|
14
|
+
* big.js v6.2.1
|
|
15
|
+
* A small, fast, easy-to-use library for arbitrary-precision decimal arithmetic.
|
|
16
|
+
* Copyright (c) 2022 Michael Mclaughlin
|
|
17
|
+
* https://github.com/MikeMcl/big.js/LICENCE.md
|
|
18
|
+
*/;(function(GLOBAL){'use strict';var Big,/************************************** EDITABLE DEFAULTS *****************************************/ // The default values below must be integers within the stated ranges.
|
|
19
|
+
/*
|
|
20
|
+
* The maximum number of decimal places (DP) of the results of operations involving division:
|
|
21
|
+
* div and sqrt, and pow with negative exponents.
|
|
22
|
+
*/DP=20,// 0 to MAX_DP
|
|
23
|
+
/*
|
|
24
|
+
* The rounding mode (RM) used when rounding to the above decimal places.
|
|
25
|
+
*
|
|
26
|
+
* 0 Towards zero (i.e. truncate, no rounding). (ROUND_DOWN)
|
|
27
|
+
* 1 To nearest neighbour. If equidistant, round up. (ROUND_HALF_UP)
|
|
28
|
+
* 2 To nearest neighbour. If equidistant, to even. (ROUND_HALF_EVEN)
|
|
29
|
+
* 3 Away from zero. (ROUND_UP)
|
|
30
|
+
*/RM=1,// 0, 1, 2 or 3
|
|
31
|
+
// The maximum value of DP and Big.DP.
|
|
32
|
+
MAX_DP=1E6,// 0 to 1000000
|
|
33
|
+
// The maximum magnitude of the exponent argument to the pow method.
|
|
34
|
+
MAX_POWER=1E6,// 1 to 1000000
|
|
35
|
+
/*
|
|
36
|
+
* The negative exponent (NE) at and beneath which toString returns exponential notation.
|
|
37
|
+
* (JavaScript numbers: -7)
|
|
38
|
+
* -1000000 is the minimum recommended exponent value of a Big.
|
|
39
|
+
*/NE=-7,// 0 to -1000000
|
|
40
|
+
/*
|
|
41
|
+
* The positive exponent (PE) at and above which toString returns exponential notation.
|
|
42
|
+
* (JavaScript numbers: 21)
|
|
43
|
+
* 1000000 is the maximum recommended exponent value of a Big, but this limit is not enforced.
|
|
44
|
+
*/PE=21,// 0 to 1000000
|
|
45
|
+
/*
|
|
46
|
+
* When true, an error will be thrown if a primitive number is passed to the Big constructor,
|
|
47
|
+
* or if valueOf is called, or if toNumber is called on a Big which cannot be converted to a
|
|
48
|
+
* primitive number without a loss of precision.
|
|
49
|
+
*/STRICT=false,// true or false
|
|
50
|
+
/**************************************************************************************************/ // Error messages.
|
|
51
|
+
NAME='[big.js] ',INVALID=NAME+'Invalid ',INVALID_DP=INVALID+'decimal places',INVALID_RM=INVALID+'rounding mode',DIV_BY_ZERO=NAME+'Division by zero',// The shared prototype object.
|
|
52
|
+
P={},UNDEFINED=void 0,NUMERIC=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;/*
|
|
53
|
+
* Create and return a Big constructor.
|
|
54
|
+
*/function _Big_(){/*
|
|
55
|
+
* The Big constructor and exported function.
|
|
56
|
+
* Create and return a new instance of a Big number object.
|
|
57
|
+
*
|
|
58
|
+
* n {number|string|Big} A numeric value.
|
|
59
|
+
*/function Big(n){var x=this;// Enable constructor usage without new.
|
|
60
|
+
if(!(x instanceof Big))return n===UNDEFINED?_Big_():new Big(n);// Duplicate.
|
|
61
|
+
if(n instanceof Big){x.s=n.s;x.e=n.e;x.c=n.c.slice();}else{if(typeof n!=='string'){if(Big.strict===true&&typeof n!=='bigint'){throw TypeError(INVALID+'value');}// Minus zero?
|
|
62
|
+
n=n===0&&1/n<0?'-0':String(n);}parse(x,n);}// Retain a reference to this Big constructor.
|
|
63
|
+
// Shadow Big.prototype.constructor which points to Object.
|
|
64
|
+
x.constructor=Big;}Big.prototype=P;Big.DP=DP;Big.RM=RM;Big.NE=NE;Big.PE=PE;Big.strict=STRICT;Big.roundDown=0;Big.roundHalfUp=1;Big.roundHalfEven=2;Big.roundUp=3;return Big;}/*
|
|
65
|
+
* Parse the number or string value passed to a Big constructor.
|
|
66
|
+
*
|
|
67
|
+
* x {Big} A Big number instance.
|
|
68
|
+
* n {number|string} A numeric value.
|
|
69
|
+
*/function parse(x,n){var e,i,nl;if(!NUMERIC.test(n)){throw Error(INVALID+'number');}// Determine sign.
|
|
70
|
+
x.s=n.charAt(0)=='-'?(n=n.slice(1),-1):1;// Decimal point?
|
|
71
|
+
if((e=n.indexOf('.'))>-1)n=n.replace('.','');// Exponential form?
|
|
72
|
+
if((i=n.search(/e/i))>0){// Determine exponent.
|
|
73
|
+
if(e<0)e=i;e+=+n.slice(i+1);n=n.substring(0,i);}else if(e<0){// Integer.
|
|
74
|
+
e=n.length;}nl=n.length;// Determine leading zeros.
|
|
75
|
+
for(i=0;i<nl&&n.charAt(i)=='0';)++i;if(i==nl){// Zero.
|
|
76
|
+
x.c=[x.e=0];}else{// Determine trailing zeros.
|
|
77
|
+
for(;nl>0&&n.charAt(--nl)=='0';);x.e=e-i-1;x.c=[];// Convert string to array of digits without leading/trailing zeros.
|
|
78
|
+
for(e=0;i<=nl;)x.c[e++]=+n.charAt(i++);}return x;}/*
|
|
79
|
+
* Round Big x to a maximum of sd significant digits using rounding mode rm.
|
|
80
|
+
*
|
|
81
|
+
* x {Big} The Big to round.
|
|
82
|
+
* sd {number} Significant digits: integer, 0 to MAX_DP inclusive.
|
|
83
|
+
* rm {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
|
|
84
|
+
* [more] {boolean} Whether the result of division was truncated.
|
|
85
|
+
*/function round(x,sd,rm,more){var xc=x.c;if(rm===UNDEFINED)rm=x.constructor.RM;if(rm!==0&&rm!==1&&rm!==2&&rm!==3){throw Error(INVALID_RM);}if(sd<1){more=rm===3&&(more||!!xc[0])||sd===0&&(rm===1&&xc[0]>=5||rm===2&&(xc[0]>5||xc[0]===5&&(more||xc[1]!==UNDEFINED)));xc.length=1;if(more){// 1, 0.1, 0.01, 0.001, 0.0001 etc.
|
|
86
|
+
x.e=x.e-sd+1;xc[0]=1;}else{// Zero.
|
|
87
|
+
xc[0]=x.e=0;}}else if(sd<xc.length){// xc[sd] is the digit after the digit that may be rounded up.
|
|
88
|
+
more=rm===1&&xc[sd]>=5||rm===2&&(xc[sd]>5||xc[sd]===5&&(more||xc[sd+1]!==UNDEFINED||xc[sd-1]&1))||rm===3&&(more||!!xc[0]);// Remove any digits after the required precision.
|
|
89
|
+
xc.length=sd;// Round up?
|
|
90
|
+
if(more){// Rounding up may mean the previous digit has to be rounded up.
|
|
91
|
+
for(;++xc[--sd]>9;){xc[sd]=0;if(sd===0){++x.e;xc.unshift(1);break;}}}// Remove trailing zeros.
|
|
92
|
+
for(sd=xc.length;!xc[--sd];)xc.pop();}return x;}/*
|
|
93
|
+
* Return a string representing the value of Big x in normal or exponential notation.
|
|
94
|
+
* Handles P.toExponential, P.toFixed, P.toJSON, P.toPrecision, P.toString and P.valueOf.
|
|
95
|
+
*/function stringify(x,doExponential,isNonzero){var e=x.e,s=x.c.join(''),n=s.length;// Exponential notation?
|
|
96
|
+
if(doExponential){s=s.charAt(0)+(n>1?'.'+s.slice(1):'')+(e<0?'e':'e+')+e;// Normal notation.
|
|
97
|
+
}else if(e<0){for(;++e;)s='0'+s;s='0.'+s;}else if(e>0){if(++e>n){for(e-=n;e--;)s+='0';}else if(e<n){s=s.slice(0,e)+'.'+s.slice(e);}}else if(n>1){s=s.charAt(0)+'.'+s.slice(1);}return x.s<0&&isNonzero?'-'+s:s;}// Prototype/instance methods
|
|
98
|
+
/*
|
|
99
|
+
* Return a new Big whose value is the absolute value of this Big.
|
|
100
|
+
*/P.abs=function(){var x=new this.constructor(this);x.s=1;return x;};/*
|
|
101
|
+
* Return 1 if the value of this Big is greater than the value of Big y,
|
|
102
|
+
* -1 if the value of this Big is less than the value of Big y, or
|
|
103
|
+
* 0 if they have the same value.
|
|
104
|
+
*/P.cmp=function(y){var isneg,x=this,xc=x.c,yc=(y=new x.constructor(y)).c,i=x.s,j=y.s,k=x.e,l=y.e;// Either zero?
|
|
105
|
+
if(!xc[0]||!yc[0])return!xc[0]?!yc[0]?0:-j:i;// Signs differ?
|
|
106
|
+
if(i!=j)return i;isneg=i<0;// Compare exponents.
|
|
107
|
+
if(k!=l)return k>l^isneg?1:-1;j=(k=xc.length)<(l=yc.length)?k:l;// Compare digit by digit.
|
|
108
|
+
for(i=-1;++i<j;){if(xc[i]!=yc[i])return xc[i]>yc[i]^isneg?1:-1;}// Compare lengths.
|
|
109
|
+
return k==l?0:k>l^isneg?1:-1;};/*
|
|
110
|
+
* Return a new Big whose value is the value of this Big divided by the value of Big y, rounded,
|
|
111
|
+
* if necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.
|
|
112
|
+
*/P.div=function(y){var x=this,Big=x.constructor,a=x.c,// dividend
|
|
113
|
+
b=(y=new Big(y)).c,// divisor
|
|
114
|
+
k=x.s==y.s?1:-1,dp=Big.DP;if(dp!==~~dp||dp<0||dp>MAX_DP){throw Error(INVALID_DP);}// Divisor is zero?
|
|
115
|
+
if(!b[0]){throw Error(DIV_BY_ZERO);}// Dividend is 0? Return +-0.
|
|
116
|
+
if(!a[0]){y.s=k;y.c=[y.e=0];return y;}var bl,bt,n,cmp,ri,bz=b.slice(),ai=bl=b.length,al=a.length,r=a.slice(0,bl),// remainder
|
|
117
|
+
rl=r.length,q=y,// quotient
|
|
118
|
+
qc=q.c=[],qi=0,p=dp+(q.e=x.e-y.e)+1;// precision of the result
|
|
119
|
+
q.s=k;k=p<0?0:p;// Create version of divisor with leading zero.
|
|
120
|
+
bz.unshift(0);// Add zeros to make remainder as long as divisor.
|
|
121
|
+
for(;rl++<bl;)r.push(0);do{// n is how many times the divisor goes into current remainder.
|
|
122
|
+
for(n=0;n<10;n++){// Compare divisor and remainder.
|
|
123
|
+
if(bl!=(rl=r.length)){cmp=bl>rl?1:-1;}else{for(ri=-1,cmp=0;++ri<bl;){if(b[ri]!=r[ri]){cmp=b[ri]>r[ri]?1:-1;break;}}}// If divisor < remainder, subtract divisor from remainder.
|
|
124
|
+
if(cmp<0){// Remainder can't be more than 1 digit longer than divisor.
|
|
125
|
+
// Equalise lengths using divisor with extra leading zero?
|
|
126
|
+
for(bt=rl==bl?b:bz;rl;){if(r[--rl]<bt[rl]){ri=rl;for(;ri&&!r[--ri];)r[ri]=9;--r[ri];r[rl]+=10;}r[rl]-=bt[rl];}for(;!r[0];)r.shift();}else{break;}}// Add the digit n to the result array.
|
|
127
|
+
qc[qi++]=cmp?n:++n;// Update the remainder.
|
|
128
|
+
if(r[0]&&cmp)r[rl]=a[ai]||0;else r=[a[ai]];}while((ai++<al||r[0]!==UNDEFINED)&&k--);// Leading zero? Do not remove if result is simply zero (qi == 1).
|
|
129
|
+
if(!qc[0]&&qi!=1){// There can't be more than one zero.
|
|
130
|
+
qc.shift();q.e--;p--;}// Round?
|
|
131
|
+
if(qi>p)round(q,p,Big.RM,r[0]!==UNDEFINED);return q;};/*
|
|
132
|
+
* Return true if the value of this Big is equal to the value of Big y, otherwise return false.
|
|
133
|
+
*/P.eq=function(y){return this.cmp(y)===0;};/*
|
|
134
|
+
* Return true if the value of this Big is greater than the value of Big y, otherwise return
|
|
135
|
+
* false.
|
|
136
|
+
*/P.gt=function(y){return this.cmp(y)>0;};/*
|
|
137
|
+
* Return true if the value of this Big is greater than or equal to the value of Big y, otherwise
|
|
138
|
+
* return false.
|
|
139
|
+
*/P.gte=function(y){return this.cmp(y)>-1;};/*
|
|
140
|
+
* Return true if the value of this Big is less than the value of Big y, otherwise return false.
|
|
141
|
+
*/P.lt=function(y){return this.cmp(y)<0;};/*
|
|
142
|
+
* Return true if the value of this Big is less than or equal to the value of Big y, otherwise
|
|
143
|
+
* return false.
|
|
144
|
+
*/P.lte=function(y){return this.cmp(y)<1;};/*
|
|
145
|
+
* Return a new Big whose value is the value of this Big minus the value of Big y.
|
|
146
|
+
*/P.minus=P.sub=function(y){var i,j,t,xlty,x=this,Big=x.constructor,a=x.s,b=(y=new Big(y)).s;// Signs differ?
|
|
147
|
+
if(a!=b){y.s=-b;return x.plus(y);}var xc=x.c.slice(),xe=x.e,yc=y.c,ye=y.e;// Either zero?
|
|
148
|
+
if(!xc[0]||!yc[0]){if(yc[0]){y.s=-b;}else if(xc[0]){y=new Big(x);}else{y.s=1;}return y;}// Determine which is the bigger number. Prepend zeros to equalise exponents.
|
|
149
|
+
if(a=xe-ye){if(xlty=a<0){a=-a;t=xc;}else{ye=xe;t=yc;}t.reverse();for(b=a;b--;)t.push(0);t.reverse();}else{// Exponents equal. Check digit by digit.
|
|
150
|
+
j=((xlty=xc.length<yc.length)?xc:yc).length;for(a=b=0;b<j;b++){if(xc[b]!=yc[b]){xlty=xc[b]<yc[b];break;}}}// x < y? Point xc to the array of the bigger number.
|
|
151
|
+
if(xlty){t=xc;xc=yc;yc=t;y.s=-y.s;}/*
|
|
152
|
+
* Append zeros to xc if shorter. No need to add zeros to yc if shorter as subtraction only
|
|
153
|
+
* needs to start at yc.length.
|
|
154
|
+
*/if((b=(j=yc.length)-(i=xc.length))>0)for(;b--;)xc[i++]=0;// Subtract yc from xc.
|
|
155
|
+
for(b=i;j>a;){if(xc[--j]<yc[j]){for(i=j;i&&!xc[--i];)xc[i]=9;--xc[i];xc[j]+=10;}xc[j]-=yc[j];}// Remove trailing zeros.
|
|
156
|
+
for(;xc[--b]===0;)xc.pop();// Remove leading zeros and adjust exponent accordingly.
|
|
157
|
+
for(;xc[0]===0;){xc.shift();--ye;}if(!xc[0]){// n - n = +0
|
|
158
|
+
y.s=1;// Result must be zero.
|
|
159
|
+
xc=[ye=0];}y.c=xc;y.e=ye;return y;};/*
|
|
160
|
+
* Return a new Big whose value is the value of this Big modulo the value of Big y.
|
|
161
|
+
*/P.mod=function(y){var ygtx,x=this,Big=x.constructor,a=x.s,b=(y=new Big(y)).s;if(!y.c[0]){throw Error(DIV_BY_ZERO);}x.s=y.s=1;ygtx=y.cmp(x)==1;x.s=a;y.s=b;if(ygtx)return new Big(x);a=Big.DP;b=Big.RM;Big.DP=Big.RM=0;x=x.div(y);Big.DP=a;Big.RM=b;return this.minus(x.times(y));};/*
|
|
162
|
+
* Return a new Big whose value is the value of this Big negated.
|
|
163
|
+
*/P.neg=function(){var x=new this.constructor(this);x.s=-x.s;return x;};/*
|
|
164
|
+
* Return a new Big whose value is the value of this Big plus the value of Big y.
|
|
165
|
+
*/P.plus=P.add=function(y){var e,k,t,x=this,Big=x.constructor;y=new Big(y);// Signs differ?
|
|
166
|
+
if(x.s!=y.s){y.s=-y.s;return x.minus(y);}var xe=x.e,xc=x.c,ye=y.e,yc=y.c;// Either zero?
|
|
167
|
+
if(!xc[0]||!yc[0]){if(!yc[0]){if(xc[0]){y=new Big(x);}else{y.s=x.s;}}return y;}xc=xc.slice();// Prepend zeros to equalise exponents.
|
|
168
|
+
// Note: reverse faster than unshifts.
|
|
169
|
+
if(e=xe-ye){if(e>0){ye=xe;t=yc;}else{e=-e;t=xc;}t.reverse();for(;e--;)t.push(0);t.reverse();}// Point xc to the longer array.
|
|
170
|
+
if(xc.length-yc.length<0){t=yc;yc=xc;xc=t;}e=yc.length;// Only start adding at yc.length - 1 as the further digits of xc can be left as they are.
|
|
171
|
+
for(k=0;e;xc[e]%=10)k=(xc[--e]=xc[e]+yc[e]+k)/10|0;// No need to check for zero, as +x + +y != 0 && -x + -y != 0
|
|
172
|
+
if(k){xc.unshift(k);++ye;}// Remove trailing zeros.
|
|
173
|
+
for(e=xc.length;xc[--e]===0;)xc.pop();y.c=xc;y.e=ye;return y;};/*
|
|
174
|
+
* Return a Big whose value is the value of this Big raised to the power n.
|
|
175
|
+
* If n is negative, round to a maximum of Big.DP decimal places using rounding
|
|
176
|
+
* mode Big.RM.
|
|
177
|
+
*
|
|
178
|
+
* n {number} Integer, -MAX_POWER to MAX_POWER inclusive.
|
|
179
|
+
*/P.pow=function(n){var x=this,one=new x.constructor('1'),y=one,isneg=n<0;if(n!==~~n||n<-MAX_POWER||n>MAX_POWER){throw Error(INVALID+'exponent');}if(isneg)n=-n;for(;;){if(n&1)y=y.times(x);n>>=1;if(!n)break;x=x.times(x);}return isneg?one.div(y):y;};/*
|
|
180
|
+
* Return a new Big whose value is the value of this Big rounded to a maximum precision of sd
|
|
181
|
+
* significant digits using rounding mode rm, or Big.RM if rm is not specified.
|
|
182
|
+
*
|
|
183
|
+
* sd {number} Significant digits: integer, 1 to MAX_DP inclusive.
|
|
184
|
+
* rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
|
|
185
|
+
*/P.prec=function(sd,rm){if(sd!==~~sd||sd<1||sd>MAX_DP){throw Error(INVALID+'precision');}return round(new this.constructor(this),sd,rm);};/*
|
|
186
|
+
* Return a new Big whose value is the value of this Big rounded to a maximum of dp decimal places
|
|
187
|
+
* using rounding mode rm, or Big.RM if rm is not specified.
|
|
188
|
+
* If dp is negative, round to an integer which is a multiple of 10**-dp.
|
|
189
|
+
* If dp is not specified, round to 0 decimal places.
|
|
190
|
+
*
|
|
191
|
+
* dp? {number} Integer, -MAX_DP to MAX_DP inclusive.
|
|
192
|
+
* rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
|
|
193
|
+
*/P.round=function(dp,rm){if(dp===UNDEFINED)dp=0;else if(dp!==~~dp||dp<-MAX_DP||dp>MAX_DP){throw Error(INVALID_DP);}return round(new this.constructor(this),dp+this.e+1,rm);};/*
|
|
194
|
+
* Return a new Big whose value is the square root of the value of this Big, rounded, if
|
|
195
|
+
* necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.
|
|
196
|
+
*/P.sqrt=function(){var r,c,t,x=this,Big=x.constructor,s=x.s,e=x.e,half=new Big('0.5');// Zero?
|
|
197
|
+
if(!x.c[0])return new Big(x);// Negative?
|
|
198
|
+
if(s<0){throw Error(NAME+'No square root');}// Estimate.
|
|
199
|
+
s=Math.sqrt(x+'');// Math.sqrt underflow/overflow?
|
|
200
|
+
// Re-estimate: pass x coefficient to Math.sqrt as integer, then adjust the result exponent.
|
|
201
|
+
if(s===0||s===1/0){c=x.c.join('');if(!(c.length+e&1))c+='0';s=Math.sqrt(c);e=((e+1)/2|0)-(e<0||e&1);r=new Big((s==1/0?'5e':(s=s.toExponential()).slice(0,s.indexOf('e')+1))+e);}else{r=new Big(s+'');}e=r.e+(Big.DP+=4);// Newton-Raphson iteration.
|
|
202
|
+
do{t=r;r=half.times(t.plus(x.div(t)));}while(t.c.slice(0,e).join('')!==r.c.slice(0,e).join(''));return round(r,(Big.DP-=4)+r.e+1,Big.RM);};/*
|
|
203
|
+
* Return a new Big whose value is the value of this Big times the value of Big y.
|
|
204
|
+
*/P.times=P.mul=function(y){var c,x=this,Big=x.constructor,xc=x.c,yc=(y=new Big(y)).c,a=xc.length,b=yc.length,i=x.e,j=y.e;// Determine sign of result.
|
|
205
|
+
y.s=x.s==y.s?1:-1;// Return signed 0 if either 0.
|
|
206
|
+
if(!xc[0]||!yc[0]){y.c=[y.e=0];return y;}// Initialise exponent of result as x.e + y.e.
|
|
207
|
+
y.e=i+j;// If array xc has fewer digits than yc, swap xc and yc, and lengths.
|
|
208
|
+
if(a<b){c=xc;xc=yc;yc=c;j=a;a=b;b=j;}// Initialise coefficient array of result with zeros.
|
|
209
|
+
for(c=new Array(j=a+b);j--;)c[j]=0;// Multiply.
|
|
210
|
+
// i is initially xc.length.
|
|
211
|
+
for(i=b;i--;){b=0;// a is yc.length.
|
|
212
|
+
for(j=a+i;j>i;){// Current sum of products at this digit position, plus carry.
|
|
213
|
+
b=c[j]+yc[i]*xc[j-i-1]+b;c[j--]=b%10;// carry
|
|
214
|
+
b=b/10|0;}c[j]=b;}// Increment result exponent if there is a final carry, otherwise remove leading zero.
|
|
215
|
+
if(b)++y.e;else c.shift();// Remove trailing zeros.
|
|
216
|
+
for(i=c.length;!c[--i];)c.pop();y.c=c;return y;};/*
|
|
217
|
+
* Return a string representing the value of this Big in exponential notation rounded to dp fixed
|
|
218
|
+
* decimal places using rounding mode rm, or Big.RM if rm is not specified.
|
|
219
|
+
*
|
|
220
|
+
* dp? {number} Decimal places: integer, 0 to MAX_DP inclusive.
|
|
221
|
+
* rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
|
|
222
|
+
*/P.toExponential=function(dp,rm){var x=this,n=x.c[0];if(dp!==UNDEFINED){if(dp!==~~dp||dp<0||dp>MAX_DP){throw Error(INVALID_DP);}x=round(new x.constructor(x),++dp,rm);for(;x.c.length<dp;)x.c.push(0);}return stringify(x,true,!!n);};/*
|
|
223
|
+
* Return a string representing the value of this Big in normal notation rounded to dp fixed
|
|
224
|
+
* decimal places using rounding mode rm, or Big.RM if rm is not specified.
|
|
225
|
+
*
|
|
226
|
+
* dp? {number} Decimal places: integer, 0 to MAX_DP inclusive.
|
|
227
|
+
* rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
|
|
228
|
+
*
|
|
229
|
+
* (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.
|
|
230
|
+
* (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.
|
|
231
|
+
*/P.toFixed=function(dp,rm){var x=this,n=x.c[0];if(dp!==UNDEFINED){if(dp!==~~dp||dp<0||dp>MAX_DP){throw Error(INVALID_DP);}x=round(new x.constructor(x),dp+x.e+1,rm);// x.e may have changed if the value is rounded up.
|
|
232
|
+
for(dp=dp+x.e+1;x.c.length<dp;)x.c.push(0);}return stringify(x,false,!!n);};/*
|
|
233
|
+
* Return a string representing the value of this Big.
|
|
234
|
+
* Return exponential notation if this Big has a positive exponent equal to or greater than
|
|
235
|
+
* Big.PE, or a negative exponent equal to or less than Big.NE.
|
|
236
|
+
* Omit the sign for negative zero.
|
|
237
|
+
*/P.toJSON=P.toString=function(){var x=this,Big=x.constructor;return stringify(x,x.e<=Big.NE||x.e>=Big.PE,!!x.c[0]);};/*
|
|
238
|
+
* Return the value of this Big as a primitve number.
|
|
239
|
+
*/P.toNumber=function(){var n=Number(stringify(this,true,true));if(this.constructor.strict===true&&!this.eq(n.toString())){throw Error(NAME+'Imprecise conversion');}return n;};/*
|
|
240
|
+
* Return a string representing the value of this Big rounded to sd significant digits using
|
|
241
|
+
* rounding mode rm, or Big.RM if rm is not specified.
|
|
242
|
+
* Use exponential notation if sd is less than the number of digits necessary to represent
|
|
243
|
+
* the integer part of the value in normal notation.
|
|
244
|
+
*
|
|
245
|
+
* sd {number} Significant digits: integer, 1 to MAX_DP inclusive.
|
|
246
|
+
* rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
|
|
247
|
+
*/P.toPrecision=function(sd,rm){var x=this,Big=x.constructor,n=x.c[0];if(sd!==UNDEFINED){if(sd!==~~sd||sd<1||sd>MAX_DP){throw Error(INVALID+'precision');}x=round(new Big(x),sd,rm);for(;x.c.length<sd;)x.c.push(0);}return stringify(x,sd<=x.e||x.e<=Big.NE||x.e>=Big.PE,!!n);};/*
|
|
248
|
+
* Return a string representing the value of this Big.
|
|
249
|
+
* Return exponential notation if this Big has a positive exponent equal to or greater than
|
|
250
|
+
* Big.PE, or a negative exponent equal to or less than Big.NE.
|
|
251
|
+
* Include the sign for negative zero.
|
|
252
|
+
*/P.valueOf=function(){var x=this,Big=x.constructor;if(Big.strict===true){throw Error(NAME+'valueOf disallowed');}return stringify(x,x.e<=Big.NE||x.e>=Big.PE,true);};// Export
|
|
253
|
+
Big=_Big_();Big['default']=Big.Big=Big;//AMD.
|
|
254
|
+
if(typeof define==='function'&&define.amd){define(function(){return Big;});// Node and other CommonJS-like environments that support module.exports.
|
|
255
|
+
}else if(typeof module!=='undefined'&&module.exports){module.exports=Big;//Browser.
|
|
256
|
+
}else{GLOBAL.Big=Big;}})(this);},{}],18:[function(require,module,exports){},{}],19:[function(require,module,exports){arguments[4][18][0].apply(exports,arguments);},{"dup":18}],20:[function(require,module,exports){(function(Buffer){(function(){/*!
|
|
14
257
|
* The buffer module from node.js, for the browser.
|
|
15
258
|
*
|
|
16
259
|
* @author Feross Aboukhadijeh <https://feross.org>
|
|
@@ -153,7 +396,7 @@ byteArray.push(str.charCodeAt(i)&0xFF);}return byteArray;}function utf16leToByte
|
|
|
153
396
|
// See: https://github.com/feross/buffer/issues/166
|
|
154
397
|
function isInstance(obj,type){return obj instanceof type||obj!=null&&obj.constructor!=null&&obj.constructor.name!=null&&obj.constructor.name===type.name;}function numberIsNaN(obj){// For IE11 support
|
|
155
398
|
return obj!==obj;// eslint-disable-line no-self-compare
|
|
156
|
-
}}).call(this);}).call(this,require("buffer").Buffer);},{"base64-js":16,"buffer":
|
|
399
|
+
}}).call(this);}).call(this,require("buffer").Buffer);},{"base64-js":16,"buffer":20,"ieee754":58}],21:[function(require,module,exports){module.exports={"100":"Continue","101":"Switching Protocols","102":"Processing","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I'm a teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Unordered Collection","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"};},{}],22:[function(require,module,exports){/**
|
|
157
400
|
* Cache data structure with:
|
|
158
401
|
* - enumerable items
|
|
159
402
|
* - unique hash item access (if none is passed in, one is generated)
|
|
@@ -199,7 +442,7 @@ if(fPruneFunction(tmpNode.Datum,tmpNode.Hash,tmpNode)){tmpRemovedRecords.push(th
|
|
|
199
442
|
if(this._List.length<1){return fComplete(tmpRemovedRecords);}// Now prune based on expiration time
|
|
200
443
|
this.pruneBasedOnExpiration(function(fExpirationPruneComplete){// Now prune based on length, then return the removed records in the callback.
|
|
201
444
|
_this4.pruneBasedOnLength(fComplete,tmpRemovedRecords);},tmpRemovedRecords);}// Get a low level node (including metadata statistics) by hash from the cache
|
|
202
|
-
},{key:"getNode",value:function getNode(pHash){if(!this._HashMap.hasOwnProperty(pHash))return false;return this._HashMap[pHash];}}]);return CashMoney;}(libFableServiceProviderBase);module.exports=CashMoney;},{"./LinkedList.js":
|
|
445
|
+
},{key:"getNode",value:function getNode(pHash){if(!this._HashMap.hasOwnProperty(pHash))return false;return this._HashMap[pHash];}}]);return CashMoney;}(libFableServiceProviderBase);module.exports=CashMoney;},{"./LinkedList.js":24,"fable-serviceproviderbase":34}],23:[function(require,module,exports){/**
|
|
203
446
|
* Double Linked List Node
|
|
204
447
|
*
|
|
205
448
|
* @author Steven Velozo <steven@velozo.com>
|
|
@@ -211,7 +454,7 @@ _this4.pruneBasedOnLength(fComplete,tmpRemovedRecords);},tmpRemovedRecords);}//
|
|
|
211
454
|
* @constructor
|
|
212
455
|
*/var LinkedListNode=/*#__PURE__*/_createClass2(function LinkedListNode(){_classCallCheck2(this,LinkedListNode);this.Hash=false;this.Datum=false;// This is where expiration and other elements are stored;
|
|
213
456
|
this.Metadata={};this.LeftNode=false;this.RightNode=false;// To allow safe specialty operations on nodes
|
|
214
|
-
this.__ISNODE=true;});module.exports=LinkedListNode;},{}],
|
|
457
|
+
this.__ISNODE=true;});module.exports=LinkedListNode;},{}],24:[function(require,module,exports){"use strict";/**
|
|
215
458
|
* Simple double linked list to hold the cache entries in, in order.
|
|
216
459
|
*
|
|
217
460
|
* @author Steven Velozo <steven@velozo.com>
|
|
@@ -250,7 +493,7 @@ else tmpNode=tmpNode.RightNode;// Call the actual action
|
|
|
250
493
|
// I hate this pattern because long tails eventually cause stack overflows.
|
|
251
494
|
fAction(tmpNode.Datum,tmpNode.Hash,fIterator);};// Now kick off the iterator
|
|
252
495
|
return fIterator();}// Seek a specific node, 0 is the index of the first node.
|
|
253
|
-
},{key:"seek",value:function seek(pNodeIndex){if(!pNodeIndex)return false;if(this.length<1)return false;if(pNodeIndex>=this.length)return false;var tmpNode=this.head;for(var i=0;i<pNodeIndex;i++){tmpNode=tmpNode.RightNode;}return tmpNode;}}]);return LinkedList;}();module.exports=LinkedList;},{"./LinkedList-Node.js":
|
|
496
|
+
},{key:"seek",value:function seek(pNodeIndex){if(!pNodeIndex)return false;if(this.length<1)return false;if(pNodeIndex>=this.length)return false;var tmpNode=this.head;for(var i=0;i<pNodeIndex;i++){tmpNode=tmpNode.RightNode;}return tmpNode;}}]);return LinkedList;}();module.exports=LinkedList;},{"./LinkedList-Node.js":23}],25:[function(require,module,exports){/*!
|
|
254
497
|
* cookie
|
|
255
498
|
* Copyright(c) 2012-2014 Roman Shtylman
|
|
256
499
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
@@ -316,7 +559,7 @@ if(val.charCodeAt(0)===0x22){val=val.slice(1,-1);}obj[key]=tryDecode(val,dec);}i
|
|
|
316
559
|
* @param {string} str
|
|
317
560
|
* @param {function} decode
|
|
318
561
|
* @private
|
|
319
|
-
*/function tryDecode(str,decode){try{return decode(str);}catch(e){return str;}}},{}],
|
|
562
|
+
*/function tryDecode(str,decode){try{return decode(str);}catch(e){return str;}}},{}],26:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
|
|
320
563
|
//
|
|
321
564
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
|
322
565
|
// copy of this software and associated documentation files (the
|
|
@@ -365,7 +608,7 @@ for(i=listeners.length-1;i>=0;i--){this.removeListener(type,listeners[i]);}}retu
|
|
|
365
608
|
// EventEmitters, we do not listen for `error` events here.
|
|
366
609
|
emitter.addEventListener(name,function wrapListener(arg){// IE does not have builtin `{ once: true }` support so we
|
|
367
610
|
// have to do it manually.
|
|
368
|
-
if(flags.once){emitter.removeEventListener(name,wrapListener);}listener(arg);});}else{throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+_typeof(emitter));}}},{}],
|
|
611
|
+
if(flags.once){emitter.removeEventListener(name,wrapListener);}listener(arg);});}else{throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+_typeof(emitter));}}},{}],27:[function(require,module,exports){/**
|
|
369
612
|
* Base Logger Class
|
|
370
613
|
*
|
|
371
614
|
*
|
|
@@ -381,18 +624,18 @@ _createClass2(BaseLogger,[{key:"generateInsecureUUID",value:function generateIns
|
|
|
381
624
|
// ..but good enough for unique log stream identifiers
|
|
382
625
|
var tmpRandomData=(tmpDate+Math.random()*16)%16|0;tmpDate=Math.floor(tmpDate/16);return(pCharacter=='x'?tmpRandomData:tmpRandomData&0x3|0x8).toString(16);});return tmpUUID;}},{key:"initialize",value:function initialize(){// No operation.
|
|
383
626
|
}},{key:"trace",value:function trace(pLogText,pLogObject){this.write("trace",pLogText,pLogObject);}},{key:"debug",value:function debug(pLogText,pLogObject){this.write("debug",pLogText,pLogObject);}},{key:"info",value:function info(pLogText,pLogObject){this.write("info",pLogText,pLogObject);}},{key:"warn",value:function warn(pLogText,pLogObject){this.write("warn",pLogText,pLogObject);}},{key:"error",value:function error(pLogText,pLogObject){this.write("error",pLogText,pLogObject);}},{key:"fatal",value:function fatal(pLogText,pLogObject){this.write("fatal",pLogText,pLogObject);}},{key:"write",value:function write(pLogLevel,pLogText,pLogObject){// The base logger does nothing.
|
|
384
|
-
return true;}}]);return BaseLogger;}();module.exports=BaseLogger;},{}],
|
|
627
|
+
return true;}}]);return BaseLogger;}();module.exports=BaseLogger;},{}],28:[function(require,module,exports){/**
|
|
385
628
|
* Default Logger Provider Function
|
|
386
629
|
*
|
|
387
630
|
*
|
|
388
631
|
* @author Steven Velozo <steven@velozo.com>
|
|
389
632
|
*/ // Return the providers that are available without extensions loaded
|
|
390
|
-
var getDefaultProviders=function getDefaultProviders(){var tmpDefaultProviders={};tmpDefaultProviders.console=require('./Fable-Log-Logger-Console.js');tmpDefaultProviders["default"]=tmpDefaultProviders.console;return tmpDefaultProviders;};module.exports=getDefaultProviders();},{"./Fable-Log-Logger-Console.js":
|
|
633
|
+
var getDefaultProviders=function getDefaultProviders(){var tmpDefaultProviders={};tmpDefaultProviders.console=require('./Fable-Log-Logger-Console.js');tmpDefaultProviders["default"]=tmpDefaultProviders.console;return tmpDefaultProviders;};module.exports=getDefaultProviders();},{"./Fable-Log-Logger-Console.js":30}],29:[function(require,module,exports){module.exports=[{"loggertype":"console","streamtype":"console","level":"trace"}];},{}],30:[function(require,module,exports){var libBaseLogger=require('./Fable-Log-BaseLogger.js');var ConsoleLogger=/*#__PURE__*/function(_libBaseLogger){_inherits(ConsoleLogger,_libBaseLogger);var _super2=_createSuper(ConsoleLogger);function ConsoleLogger(pLogStreamSettings,pFableLog){var _this6;_classCallCheck2(this,ConsoleLogger);_this6=_super2.call(this,pLogStreamSettings);_this6._ShowTimeStamps=_this6._Settings.hasOwnProperty('showtimestamps')?_this6._Settings.showtimestamps==true:true;_this6._FormattedTimeStamps=_this6._Settings.hasOwnProperty('formattedtimestamps')?_this6._Settings.formattedtimestamps==true:true;_this6._ContextMessage=_this6._Settings.hasOwnProperty('Context')?"(".concat(_this6._Settings.Context,")"):pFableLog._Settings.hasOwnProperty('Product')?"(".concat(pFableLog._Settings.Product,")"):'Unnamed_Log_Context';// Allow the user to decide what gets output to the console
|
|
391
634
|
_this6._OutputLogLinesToConsole=_this6._Settings.hasOwnProperty('outputloglinestoconsole')?_this6._Settings.outputloglinestoconsole:true;_this6._OutputObjectsToConsole=_this6._Settings.hasOwnProperty('outputobjectstoconsole')?_this6._Settings.outputobjectstoconsole:true;// Precompute the prefix for each level
|
|
392
635
|
_this6.prefixCache={};for(var i=0;i<=_this6.levels.length;i++){_this6.prefixCache[_this6.levels[i]]="[".concat(_this6.levels[i],"] ").concat(_this6._ContextMessage,": ");if(_this6._ShowTimeStamps){// If there is a timestamp we need a to prepend space before the prefixcache string, since the timestamp comes first
|
|
393
636
|
_this6.prefixCache[_this6.levels[i]]=' '+_this6.prefixCache[_this6.levels[i]];}}return _this6;}_createClass2(ConsoleLogger,[{key:"write",value:function write(pLevel,pLogText,pObject){var tmpTimeStamp='';if(this._ShowTimeStamps&&this._FormattedTimeStamps){tmpTimeStamp=new Date().toISOString();}else if(this._ShowTimeStamps){tmpTimeStamp=+new Date();}var tmpLogLine="".concat(tmpTimeStamp).concat(this.prefixCache[pLevel]).concat(pLogText);if(this._OutputLogLinesToConsole){console.log(tmpLogLine);}// Write out the object on a separate line if it is passed in
|
|
394
637
|
if(this._OutputObjectsToConsole&&typeof pObject!=='undefined'){console.log(JSON.stringify(pObject,null,2));}// Provide an easy way to be overridden and be consistent
|
|
395
|
-
return tmpLogLine;}}]);return ConsoleLogger;}(libBaseLogger);module.exports=ConsoleLogger;},{"./Fable-Log-BaseLogger.js":
|
|
638
|
+
return tmpLogLine;}}]);return ConsoleLogger;}(libBaseLogger);module.exports=ConsoleLogger;},{"./Fable-Log-BaseLogger.js":27}],31:[function(require,module,exports){var libConsoleLog=require('./Fable-Log-Logger-Console.js');var libFS=require('fs');var libPath=require('path');var SimpleFlatFileLogger=/*#__PURE__*/function(_libConsoleLog){_inherits(SimpleFlatFileLogger,_libConsoleLog);var _super3=_createSuper(SimpleFlatFileLogger);function SimpleFlatFileLogger(pLogStreamSettings,pFableLog){var _this7;_classCallCheck2(this,SimpleFlatFileLogger);_this7=_super3.call(this,pLogStreamSettings,pFableLog);// If a path isn't provided for the logfile, it tries to use the ProductName or Context
|
|
396
639
|
_this7.logFileRawPath=_this7._Settings.hasOwnProperty('path')?_this7._Settings.path:"./".concat(_this7._ContextMessage,".log");_this7.logFilePath=libPath.normalize(_this7.logFileRawPath);_this7.logFileStreamOptions=_this7._Settings.hasOwnProperty('fileStreamoptions')?_this7._Settings.fileStreamOptions:{"flags":"a","encoding":"utf8"};_this7.fileWriter=libFS.createWriteStream(_this7.logFilePath,_this7.logFileStreamOptions);_this7.activelyWriting=false;_this7.logLineStrings=[];_this7.logObjectStrings=[];_this7.defaultWriteCompleteCallback=function(){};_this7.defaultBufferFlushCallback=function(){};return _this7;}_createClass2(SimpleFlatFileLogger,[{key:"closeWriter",value:function closeWriter(fCloseComplete){var tmpCloseComplete=typeof fCloseComplete=='function'?fCloseComplete:function(){};if(this.fileWriter){this.fileWriter.end('\n');return this.fileWriter.once('finish',tmpCloseComplete.bind(this));}}},{key:"completeBufferFlushToLogFile",value:function completeBufferFlushToLogFile(fFlushComplete){this.activelyWriting=false;var tmpFlushComplete=typeof fFlushComplete=='function'?fFlushComplete:this.defaultBufferFlushCallback;if(this.logLineStrings.length>0){this.flushBufferToLogFile(tmpFlushComplete);}else{return tmpFlushComplete();}}},{key:"flushBufferToLogFile",value:function flushBufferToLogFile(fFlushComplete){if(!this.activelyWriting){// Only want to be writing one thing at a time....
|
|
397
640
|
this.activelyWriting=true;var tmpFlushComplete=typeof fFlushComplete=='function'?fFlushComplete:this.defaultBufferFlushCallback;// Get the current buffer arrays. These should always have matching number of elements.
|
|
398
641
|
var tmpLineStrings=this.logLineStrings;var tmpObjectStrings=this.logObjectStrings;// Reset these to be filled while we process this queue...
|
|
@@ -401,7 +644,7 @@ var tmpConstructedBufferOutputString='';for(var i=0;i<tmpLineStrings.length;i++)
|
|
|
401
644
|
tmpConstructedBufferOutputString+="".concat(tmpLineStrings[i],"\n");if(tmpObjectStrings[i]!==false){tmpConstructedBufferOutputString+="".concat(tmpObjectStrings[i],"\n");}}if(!this.fileWriter.write(tmpConstructedBufferOutputString,'utf8')){// If the streamwriter returns false, we need to wait for it to drain.
|
|
402
645
|
this.fileWriter.once('drain',this.completeBufferFlushToLogFile.bind(this,tmpFlushComplete));}else{return this.completeBufferFlushToLogFile(tmpFlushComplete);}}}},{key:"write",value:function write(pLevel,pLogText,pObject){var tmpLogLine=_get(_getPrototypeOf(SimpleFlatFileLogger.prototype),"write",this).call(this,pLevel,pLogText,pObject);// Use a very simple array as the write buffer
|
|
403
646
|
this.logLineStrings.push(tmpLogLine);// Write out the object on a separate line if it is passed in
|
|
404
|
-
if(typeof pObject!=='undefined'){this.logObjectStrings.push(JSON.stringify(pObject,null,4));}else{this.logObjectStrings.push(false);}this.flushBufferToLogFile();}}]);return SimpleFlatFileLogger;}(libConsoleLog);module.exports=SimpleFlatFileLogger;},{"./Fable-Log-Logger-Console.js":
|
|
647
|
+
if(typeof pObject!=='undefined'){this.logObjectStrings.push(JSON.stringify(pObject,null,4));}else{this.logObjectStrings.push(false);}this.flushBufferToLogFile();}}]);return SimpleFlatFileLogger;}(libConsoleLog);module.exports=SimpleFlatFileLogger;},{"./Fable-Log-Logger-Console.js":30,"fs":19,"path":72}],32:[function(require,module,exports){/**
|
|
405
648
|
* Fable Logging Service
|
|
406
649
|
*/var libFableServiceProviderBase=require('fable-serviceproviderbase').CoreServiceProviderBase;var FableLog=/*#__PURE__*/function(_libFableServiceProvi2){_inherits(FableLog,_libFableServiceProvi2);var _super4=_createSuper(FableLog);function FableLog(pSettings,pServiceHash){var _this8;_classCallCheck2(this,FableLog);_this8=_super4.call(this,pSettings,pServiceHash);_this8.serviceType='Logging';var tmpSettings=_typeof(pSettings)==='object'?pSettings:{};_this8._Settings=tmpSettings;_this8._Providers=require('./Fable-Log-DefaultProviders-Node.js');_this8._StreamDefinitions=tmpSettings.hasOwnProperty('LogStreams')?tmpSettings.LogStreams:require('./Fable-Log-DefaultStreams.json');_this8.logStreams=[];// This object gets decorated for one-time instantiated providers that
|
|
407
650
|
// have multiple outputs, such as bunyan.
|
|
@@ -414,7 +657,7 @@ for(var i=0;i<this._StreamDefinitions.length;i++){var tmpStreamDefinition=Object
|
|
|
414
657
|
for(var _i=0;_i<this.logStreams.length;_i++){this.logStreams[_i].initialize();}}},{key:"logTime",value:function logTime(pMessage,pDatum){var tmpMessage=typeof pMessage!=='undefined'?pMessage:'Time';var tmpTime=new Date();this.info("".concat(tmpMessage," ").concat(tmpTime," (epoch ").concat(+tmpTime,")"),pDatum);}// Get a timestamp
|
|
415
658
|
},{key:"getTimeStamp",value:function getTimeStamp(){return+new Date();}},{key:"getTimeDelta",value:function getTimeDelta(pTimeStamp){var tmpEndTime=+new Date();return tmpEndTime-pTimeStamp;}// Log the delta between a timestamp, and now with a message
|
|
416
659
|
},{key:"logTimeDelta",value:function logTimeDelta(pTimeDelta,pMessage,pDatum){var tmpMessage=typeof pMessage!=='undefined'?pMessage:'Time Measurement';var tmpDatum=_typeof(pDatum)==='object'?pDatum:{};var tmpEndTime=+new Date();this.info("".concat(tmpMessage," logged at (epoch ").concat(+tmpEndTime,") took (").concat(pTimeDelta,"ms)"),pDatum);}},{key:"logTimeDeltaHuman",value:function logTimeDeltaHuman(pTimeDelta,pMessage,pDatum){var tmpMessage=typeof pMessage!=='undefined'?pMessage:'Time Measurement';var tmpEndTime=+new Date();var tmpMs=parseInt(pTimeDelta%1000);var tmpSeconds=parseInt(pTimeDelta/1000%60);var tmpMinutes=parseInt(pTimeDelta/(1000*60)%60);var tmpHours=parseInt(pTimeDelta/(1000*60*60));tmpMs=tmpMs<10?"00"+tmpMs:tmpMs<100?"0"+tmpMs:tmpMs;tmpSeconds=tmpSeconds<10?"0"+tmpSeconds:tmpSeconds;tmpMinutes=tmpMinutes<10?"0"+tmpMinutes:tmpMinutes;tmpHours=tmpHours<10?"0"+tmpHours:tmpHours;this.info("".concat(tmpMessage," logged at (epoch ").concat(+tmpEndTime,") took (").concat(pTimeDelta,"ms) or (").concat(tmpHours,":").concat(tmpMinutes,":").concat(tmpSeconds,".").concat(tmpMs,")"),pDatum);}},{key:"logTimeDeltaRelative",value:function logTimeDeltaRelative(pStartTime,pMessage,pDatum){this.logTimeDelta(this.getTimeDelta(pStartTime),pMessage,pDatum);}},{key:"logTimeDeltaRelativeHuman",value:function logTimeDeltaRelativeHuman(pStartTime,pMessage,pDatum){this.logTimeDeltaHuman(this.getTimeDelta(pStartTime),pMessage,pDatum);}}]);return FableLog;}(libFableServiceProviderBase);// This is for backwards compatibility
|
|
417
|
-
function autoConstruct(pSettings){return new FableLog(pSettings);}module.exports=FableLog;module.exports["new"]=autoConstruct;module.exports.LogProviderBase=require('./Fable-Log-BaseLogger.js');module.exports.LogProviderConsole=require('./Fable-Log-Logger-Console.js');module.exports.LogProviderConsole=require('./Fable-Log-Logger-SimpleFlatFile.js');},{"./Fable-Log-BaseLogger.js":
|
|
660
|
+
function autoConstruct(pSettings){return new FableLog(pSettings);}module.exports=FableLog;module.exports["new"]=autoConstruct;module.exports.LogProviderBase=require('./Fable-Log-BaseLogger.js');module.exports.LogProviderConsole=require('./Fable-Log-Logger-Console.js');module.exports.LogProviderConsole=require('./Fable-Log-Logger-SimpleFlatFile.js');},{"./Fable-Log-BaseLogger.js":27,"./Fable-Log-DefaultProviders-Node.js":28,"./Fable-Log-DefaultStreams.json":29,"./Fable-Log-Logger-Console.js":30,"./Fable-Log-Logger-SimpleFlatFile.js":31,"fable-serviceproviderbase":34}],33:[function(require,module,exports){/**
|
|
418
661
|
* Fable Core Pre-initialization Service Base
|
|
419
662
|
*
|
|
420
663
|
* For a couple services, we need to be able to instantiate them before the Fable object is fully initialized.
|
|
@@ -423,11 +666,11 @@ function autoConstruct(pSettings){return new FableLog(pSettings);}module.exports
|
|
|
423
666
|
* @author <steven@velozo.com>
|
|
424
667
|
*/var FableCoreServiceProviderBase=/*#__PURE__*/function(){function FableCoreServiceProviderBase(pOptions,pServiceHash){_classCallCheck2(this,FableCoreServiceProviderBase);this.fable=false;this.options=_typeof(pOptions)==='object'?pOptions:{};this.serviceType='Unknown';// The hash will be a non-standard UUID ... the UUID service uses this base class!
|
|
425
668
|
this.UUID="CORESVC-".concat(Math.floor(Math.random()*(99999-10000)+10000));this.Hash=typeof pServiceHash==='string'?pServiceHash:"".concat(this.UUID);}_createClass2(FableCoreServiceProviderBase,[{key:"connectFable",value:// After fable is initialized, it would be expected to be wired in as a normal service.
|
|
426
|
-
function connectFable(pFable){this.fable=pFable;return true;}}]);return FableCoreServiceProviderBase;}();_defineProperty2(FableCoreServiceProviderBase,"isFableService",true);module.exports=FableCoreServiceProviderBase;},{}],
|
|
669
|
+
function connectFable(pFable){this.fable=pFable;return true;}}]);return FableCoreServiceProviderBase;}();_defineProperty2(FableCoreServiceProviderBase,"isFableService",true);module.exports=FableCoreServiceProviderBase;},{}],34:[function(require,module,exports){/**
|
|
427
670
|
* Fable Service Base
|
|
428
671
|
* @author <steven@velozo.com>
|
|
429
672
|
*/var FableServiceProviderBase=/*#__PURE__*/_createClass2(function FableServiceProviderBase(pFable,pOptions,pServiceHash){_classCallCheck2(this,FableServiceProviderBase);this.fable=pFable;this.options=_typeof(pOptions)==='object'?pOptions:_typeof(pFable)==='object'&&!pFable.isFable?pFable:{};this.serviceType='Unknown';if(typeof pFable.getUUID=='function'){this.UUID=pFable.getUUID();}else{this.UUID="NoFABLESVC-".concat(Math.floor(Math.random()*(99999-10000)+10000));}this.Hash=typeof pServiceHash==='string'?pServiceHash:"".concat(this.UUID);// Pull back a few things
|
|
430
|
-
this.log=this.fable.log;this.servicesMap=this.fable.servicesMap;this.services=this.fable.services;});_defineProperty2(FableServiceProviderBase,"isFableService",true);module.exports=FableServiceProviderBase;module.exports.CoreServiceProviderBase=require('./Fable-ServiceProviderBase-Preinit.js');},{"./Fable-ServiceProviderBase-Preinit.js":
|
|
673
|
+
this.log=this.fable.log;this.servicesMap=this.fable.servicesMap;this.services=this.fable.services;});_defineProperty2(FableServiceProviderBase,"isFableService",true);module.exports=FableServiceProviderBase;module.exports.CoreServiceProviderBase=require('./Fable-ServiceProviderBase-Preinit.js');},{"./Fable-ServiceProviderBase-Preinit.js":33}],35:[function(require,module,exports){module.exports={"Product":"ApplicationNameHere","ProductVersion":"0.0.0","ConfigFile":false,"LogStreams":[{"level":"trace"}]};},{}],36:[function(require,module,exports){(function(process){(function(){/**
|
|
431
674
|
* Fable Settings Template Processor
|
|
432
675
|
*
|
|
433
676
|
* This class allows environment variables to come in via templated expressions, and defaults to be set.
|
|
@@ -437,7 +680,7 @@ this.log=this.fable.log;this.servicesMap=this.fable.servicesMap;this.services=th
|
|
|
437
680
|
* @module Fable Settings
|
|
438
681
|
*/var libPrecedent=require('precedent');var FableSettingsTemplateProcessor=/*#__PURE__*/function(){function FableSettingsTemplateProcessor(pDependencies){_classCallCheck2(this,FableSettingsTemplateProcessor);// Use a no-dependencies templating engine to parse out environment variables
|
|
439
682
|
this.templateProcessor=new libPrecedent();// TODO: Make the environment variable wrap expression demarcation characters configurable?
|
|
440
|
-
this.templateProcessor.addPattern('${','}',function(pTemplateValue){var tmpTemplateValue=pTemplateValue.trim();var tmpSeparatorIndex=tmpTemplateValue.indexOf('|');var tmpDefaultValue=tmpSeparatorIndex>=0?tmpTemplateValue.substring(tmpSeparatorIndex+1):'';var tmpEnvironmentVariableName=tmpSeparatorIndex>-1?tmpTemplateValue.substring(0,tmpSeparatorIndex):tmpTemplateValue;if(process.env.hasOwnProperty(tmpEnvironmentVariableName)){return process.env[tmpEnvironmentVariableName];}else{return tmpDefaultValue;}});}_createClass2(FableSettingsTemplateProcessor,[{key:"parseSetting",value:function parseSetting(pString){return this.templateProcessor.parseString(pString);}}]);return FableSettingsTemplateProcessor;}();module.exports=FableSettingsTemplateProcessor;}).call(this);}).call(this,require('_process'));},{"_process":78,"precedent":75}],
|
|
683
|
+
this.templateProcessor.addPattern('${','}',function(pTemplateValue){var tmpTemplateValue=pTemplateValue.trim();var tmpSeparatorIndex=tmpTemplateValue.indexOf('|');var tmpDefaultValue=tmpSeparatorIndex>=0?tmpTemplateValue.substring(tmpSeparatorIndex+1):'';var tmpEnvironmentVariableName=tmpSeparatorIndex>-1?tmpTemplateValue.substring(0,tmpSeparatorIndex):tmpTemplateValue;if(process.env.hasOwnProperty(tmpEnvironmentVariableName)){return process.env[tmpEnvironmentVariableName];}else{return tmpDefaultValue;}});}_createClass2(FableSettingsTemplateProcessor,[{key:"parseSetting",value:function parseSetting(pString){return this.templateProcessor.parseString(pString);}}]);return FableSettingsTemplateProcessor;}();module.exports=FableSettingsTemplateProcessor;}).call(this);}).call(this,require('_process'));},{"_process":78,"precedent":75}],37:[function(require,module,exports){/**
|
|
441
684
|
* Fable Settings Add-on
|
|
442
685
|
*
|
|
443
686
|
*
|
|
@@ -471,7 +714,7 @@ this._configureEnvTemplating(tmpSettingsTo);return tmpSettingsTo;}// Fill in set
|
|
|
471
714
|
},{key:"fill",value:function fill(pSettingsFrom){// If an invalid settings from object is passed in (e.g. object constructor without passing in anything) this should still work
|
|
472
715
|
var tmpSettingsFrom=_typeof(pSettingsFrom)==='object'?pSettingsFrom:{};// do not mutate the From object property values
|
|
473
716
|
var tmpSettingsFromCopy=JSON.parse(JSON.stringify(tmpSettingsFrom));this.settings=this._deepMergeObjects(tmpSettingsFromCopy,this.settings);return this.settings;}}]);return FableSettings;}(libFableServiceProviderBase);;// This is for backwards compatibility
|
|
474
|
-
function autoConstruct(pSettings){return new FableSettings(pSettings);}module.exports=FableSettings;module.exports["new"]=autoConstruct;},{"./Fable-Settings-Default":
|
|
717
|
+
function autoConstruct(pSettings){return new FableSettings(pSettings);}module.exports=FableSettings;module.exports["new"]=autoConstruct;},{"./Fable-Settings-Default":35,"./Fable-Settings-TemplateProcessor.js":36,"fable-serviceproviderbase":34}],38:[function(require,module,exports){/**
|
|
475
718
|
* Random Byte Generator - Browser version
|
|
476
719
|
*
|
|
477
720
|
*
|
|
@@ -489,7 +732,7 @@ this.getRandomValues(tmpBuffer);return tmpBuffer;}// Math.random()-based (RNG)
|
|
|
489
732
|
},{key:"generateRandomBytes",value:function generateRandomBytes(){// If all else fails, use Math.random(). It's fast, but is of unspecified
|
|
490
733
|
// quality.
|
|
491
734
|
var tmpBuffer=new Uint8Array(16);// eslint-disable-line no-undef
|
|
492
|
-
for(var i=0,tmpValue;i<16;i++){if((i&0x03)===0){tmpValue=Math.random()*0x100000000;}tmpBuffer[i]=tmpValue>>>((i&0x03)<<3)&0xff;}return tmpBuffer;}},{key:"generate",value:function generate(){if(this.getRandomValues){return this.generateWhatWGBytes();}else{return this.generateRandomBytes();}}}]);return RandomBytes;}();module.exports=RandomBytes;},{}],
|
|
735
|
+
for(var i=0,tmpValue;i<16;i++){if((i&0x03)===0){tmpValue=Math.random()*0x100000000;}tmpBuffer[i]=tmpValue>>>((i&0x03)<<3)&0xff;}return tmpBuffer;}},{key:"generate",value:function generate(){if(this.getRandomValues){return this.generateWhatWGBytes();}else{return this.generateRandomBytes();}}}]);return RandomBytes;}();module.exports=RandomBytes;},{}],39:[function(require,module,exports){/**
|
|
493
736
|
* Fable UUID Generator
|
|
494
737
|
*/var libFableServiceProviderBase=require('fable-serviceproviderbase').CoreServiceProviderBase;0;var libRandomByteGenerator=require('./Fable-UUID-Random.js');var FableUUID=/*#__PURE__*/function(_libFableServiceProvi4){_inherits(FableUUID,_libFableServiceProvi4);var _super6=_createSuper(FableUUID);function FableUUID(pSettings,pServiceHash){var _this11;_classCallCheck2(this,FableUUID);_this11=_super6.call(this,pSettings,pServiceHash);_this11.serviceType='UUID';// Determine if the module is in "Random UUID Mode" which means just use the random character function rather than the v4 random UUID spec.
|
|
495
738
|
// Note this allows UUIDs of various lengths (including very short ones) although guaranteed uniqueness goes downhill fast.
|
|
@@ -504,7 +747,7 @@ return[this._HexLookup[pBuffer[i++]],this._HexLookup[pBuffer[i++]],this._HexLook
|
|
|
504
747
|
tmpRandomBytes[6]=tmpRandomBytes[6]&0x0f|0x40;tmpRandomBytes[8]=tmpRandomBytes[8]&0x3f|0x80;return this.bytesToUUID(tmpRandomBytes);}// Simple random UUID generation
|
|
505
748
|
},{key:"generateRandom",value:function generateRandom(){var tmpUUID='';for(var i=0;i<this._UUIDLength;i++){tmpUUID+=this._UUIDRandomDictionary.charAt(Math.floor(Math.random()*(this._UUIDRandomDictionary.length-1)));}return tmpUUID;}// Adapted from node-uuid (https://github.com/kelektiv/node-uuid)
|
|
506
749
|
},{key:"getUUID",value:function getUUID(){if(this._UUIDModeRandom){return this.generateRandom();}else{return this.generateUUIDv4();}}}]);return FableUUID;}(libFableServiceProviderBase);// This is for backwards compatibility
|
|
507
|
-
function autoConstruct(pSettings){return new FableUUID(pSettings);}module.exports=FableUUID;module.exports["new"]=autoConstruct;},{"./Fable-UUID-Random.js":
|
|
750
|
+
function autoConstruct(pSettings){return new FableUUID(pSettings);}module.exports=FableUUID;module.exports["new"]=autoConstruct;},{"./Fable-UUID-Random.js":38,"fable-serviceproviderbase":34}],40:[function(require,module,exports){/**
|
|
508
751
|
* Fable Application Services Management
|
|
509
752
|
* @author <steven@velozo.com>
|
|
510
753
|
*/var libFableServiceBase=require('fable-serviceproviderbase');var FableService=/*#__PURE__*/function(_libFableServiceBase$){_inherits(FableService,_libFableServiceBase$);var _super7=_createSuper(FableService);function FableService(pSettings,pServiceHash){var _this12;_classCallCheck2(this,FableService);_this12=_super7.call(this,pSettings,pServiceHash);_this12.serviceType='ServiceManager';_this12.serviceTypes=[];// A map of instantiated services
|
|
@@ -533,7 +776,7 @@ pServiceInstance.connectFable(this.fable);if(!this.servicesMap.hasOwnProperty(tm
|
|
|
533
776
|
// This means you couldn't register another with this type unless it was later registered with a constructor class.
|
|
534
777
|
this.servicesMap[tmpServiceType]={};}// Add the service to the service map
|
|
535
778
|
this.servicesMap[tmpServiceType][tmpServiceHash]=pServiceInstance;// If this is the first service of this type, make it the default
|
|
536
|
-
if(!this.services.hasOwnProperty(tmpServiceType)){this.setDefaultServiceInstantiation(tmpServiceType,tmpServiceHash);}return pServiceInstance;}},{key:"setDefaultServiceInstantiation",value:function setDefaultServiceInstantiation(pServiceType,pServiceHash){if(this.servicesMap[pServiceType].hasOwnProperty(pServiceHash)){this.fable[pServiceType]=this.servicesMap[pServiceType][pServiceHash];this.services[pServiceType]=this.servicesMap[pServiceType][pServiceHash];return true;}return false;}}]);return FableService;}(libFableServiceBase.CoreServiceProviderBase);module.exports=FableService;module.exports.ServiceProviderBase=libFableServiceBase;module.exports.CoreServiceProviderBase=libFableServiceBase.CoreServiceProviderBase;},{"fable-serviceproviderbase":
|
|
779
|
+
if(!this.services.hasOwnProperty(tmpServiceType)){this.setDefaultServiceInstantiation(tmpServiceType,tmpServiceHash);}return pServiceInstance;}},{key:"setDefaultServiceInstantiation",value:function setDefaultServiceInstantiation(pServiceType,pServiceHash){if(this.servicesMap[pServiceType].hasOwnProperty(pServiceHash)){this.fable[pServiceType]=this.servicesMap[pServiceType][pServiceHash];this.services[pServiceType]=this.servicesMap[pServiceType][pServiceHash];return true;}return false;}}]);return FableService;}(libFableServiceBase.CoreServiceProviderBase);module.exports=FableService;module.exports.ServiceProviderBase=libFableServiceBase;module.exports.CoreServiceProviderBase=libFableServiceBase.CoreServiceProviderBase;},{"fable-serviceproviderbase":34}],41:[function(require,module,exports){/**
|
|
537
780
|
* Fable Application Services Support Library
|
|
538
781
|
* @author <steven@velozo.com>
|
|
539
782
|
*/ // Pre-init services
|
|
@@ -551,14 +794,14 @@ this._coreServices.ServiceManager=new libFableServiceManager(this);this.serviceM
|
|
|
551
794
|
// They will then be available in the Default service provider set as well.
|
|
552
795
|
this.serviceManager.connectPreinitServiceProviderInstance(this._coreServices.ServiceManager);this.serviceManager.connectPreinitServiceProviderInstance(this._coreServices.UUID);this.serviceManager.connectPreinitServiceProviderInstance(this._coreServices.Logging);this.serviceManager.connectPreinitServiceProviderInstance(this._coreServices.SettingsManager);// Initialize and instantiate the default baked-in Data Arithmatic service
|
|
553
796
|
this.serviceManager.addAndInstantiateServiceType('EnvironmentData',require('./services/Fable-Service-EnvironmentData.js'));this.serviceManager.addServiceType('Template',require('./services/Fable-Service-Template.js'));this.serviceManager.addServiceType('MetaTemplate',require('./services/Fable-Service-MetaTemplate.js'));this.serviceManager.addServiceType('Anticipate',require('./services/Fable-Service-Anticipate.js'));this.serviceManager.addAndInstantiateServiceType('DataFormat',require('./services/Fable-Service-DataFormat.js'));this.serviceManager.addAndInstantiateServiceType('DataGeneration',require('./services/Fable-Service-DataGeneration.js'));this.serviceManager.addAndInstantiateServiceType('Utility',require('./services/Fable-Service-Utility.js'));this.serviceManager.addServiceType('Operation',require('./services/Fable-Service-Operation.js'));this.serviceManager.addServiceType('RestClient',require('./services/Fable-Service-RestClient.js'));this.serviceManager.addServiceType('CSVParser',require('./services/Fable-Service-CSVParser.js'));this.serviceManager.addServiceType('Manifest',require('manyfest'));this.serviceManager.addServiceType('ObjectCache',require('cachetrax'));this.serviceManager.addServiceType('FilePersistence',require('./services/Fable-Service-FilePersistence.js'));}_createClass2(Fable,[{key:"isFable",get:function get(){return true;}},{key:"settings",get:function get(){return this._coreServices.SettingsManager.settings;}},{key:"settingsManager",get:function get(){return this._coreServices.SettingsManager;}},{key:"log",get:function get(){return this._coreServices.Logging;}},{key:"services",get:function get(){return this._coreServices.ServiceManager.services;}},{key:"servicesMap",get:function get(){return this._coreServices.ServiceManager.servicesMap;}},{key:"getUUID",value:function getUUID(){return this._coreServices.UUID.getUUID();}},{key:"fable",get:function get(){return this;}}]);return Fable;}();// This is for backwards compatibility
|
|
554
|
-
function autoConstruct(pSettings){return new Fable(pSettings);}module.exports=Fable;module.exports["new"]=autoConstruct;module.exports.LogProviderBase=libFableLog.LogProviderBase;module.exports.ServiceProviderBase=libFableServiceManager.ServiceProviderBase;module.exports.CoreServiceProviderBase=libFableServiceManager.CoreServiceProviderBase;module.exports.precedent=libFableSettings.precedent;},{"./Fable-ServiceManager.js":
|
|
797
|
+
function autoConstruct(pSettings){return new Fable(pSettings);}module.exports=Fable;module.exports["new"]=autoConstruct;module.exports.LogProviderBase=libFableLog.LogProviderBase;module.exports.ServiceProviderBase=libFableServiceManager.ServiceProviderBase;module.exports.CoreServiceProviderBase=libFableServiceManager.CoreServiceProviderBase;module.exports.precedent=libFableSettings.precedent;},{"./Fable-ServiceManager.js":40,"./services/Fable-Service-Anticipate.js":42,"./services/Fable-Service-CSVParser.js":43,"./services/Fable-Service-DataFormat.js":44,"./services/Fable-Service-DataGeneration.js":46,"./services/Fable-Service-EnvironmentData.js":47,"./services/Fable-Service-FilePersistence.js":48,"./services/Fable-Service-MetaTemplate.js":49,"./services/Fable-Service-Operation.js":53,"./services/Fable-Service-RestClient.js":54,"./services/Fable-Service-Template.js":55,"./services/Fable-Service-Utility.js":56,"cachetrax":22,"fable-log":32,"fable-settings":37,"fable-uuid":39,"manyfest":70}],42:[function(require,module,exports){var libFableServiceBase=require('../Fable-ServiceManager.js').ServiceProviderBase;var FableServiceAnticipate=/*#__PURE__*/function(_libFableServiceBase){_inherits(FableServiceAnticipate,_libFableServiceBase);var _super8=_createSuper(FableServiceAnticipate);function FableServiceAnticipate(pFable,pOptions,pServiceHash){var _this13;_classCallCheck2(this,FableServiceAnticipate);_this13=_super8.call(this,pFable,pOptions,pServiceHash);_this13.serviceType='AsyncAnticipate';// The queue of operations waiting to run.
|
|
555
798
|
_this13.operationQueue=[];_this13.erroredOperations=[];_this13.executingOperationCount=0;_this13.completedOperationCount=0;_this13.maxOperations=1;_this13.lastError=undefined;_this13.waitingFunctions=[];return _this13;}_createClass2(FableServiceAnticipate,[{key:"checkQueue",value:function checkQueue(){// This checks to see if we need to start any operations.
|
|
556
799
|
if(this.operationQueue.length>0&&this.executingOperationCount<this.maxOperations){var tmpOperation=this.operationQueue.shift();this.executingOperationCount+=1;tmpOperation(this.buildAnticipatorCallback());}else if(this.waitingFunctions.length>0&&this.executingOperationCount<1){// If there are no operations left, and we have waiting functions, call them.
|
|
557
800
|
for(var i=0;i<this.waitingFunctions.length;i++){this.waitingFunctions[i](this.lastError);}// Reset our state
|
|
558
801
|
this.lastError=undefined;this.waitingFunctions=[];}}// Expects a function fAsynchronousFunction(fCallback)
|
|
559
802
|
},{key:"anticipate",value:function anticipate(fAsynchronousFunction){this.operationQueue.push(fAsynchronousFunction);this.checkQueue();}},{key:"buildAnticipatorCallback",value:function buildAnticipatorCallback(){// This uses closure-scoped state to track the callback state
|
|
560
803
|
var tmpCallbackState={Called:false,Error:undefined,OperationSet:this};return hoistedCallback;function hoistedCallback(pError){if(tmpCallbackState.Called){// If they call the callback twice, throw an error
|
|
561
|
-
throw new Error("Anticipation async callback called twice...");}tmpCallbackState.Called=true;tmpCallbackState.error=pError;tmpCallbackState.OperationSet.executingOperationCount-=1;tmpCallbackState.OperationSet.completedOperationCount+=1;tmpCallbackState.OperationSet.checkQueue();}}},{key:"wait",value:function wait(fCallback){this.waitingFunctions.push(fCallback);this.checkQueue();}}]);return FableServiceAnticipate;}(libFableServiceBase);module.exports=FableServiceAnticipate;},{"../Fable-ServiceManager.js":
|
|
804
|
+
throw new Error("Anticipation async callback called twice...");}tmpCallbackState.Called=true;tmpCallbackState.error=pError;tmpCallbackState.OperationSet.executingOperationCount-=1;tmpCallbackState.OperationSet.completedOperationCount+=1;tmpCallbackState.OperationSet.checkQueue();}}},{key:"wait",value:function wait(fCallback){this.waitingFunctions.push(fCallback);this.checkQueue();}}]);return FableServiceAnticipate;}(libFableServiceBase);module.exports=FableServiceAnticipate;},{"../Fable-ServiceManager.js":40}],43:[function(require,module,exports){var libFableServiceProviderBase=require('fable-serviceproviderbase');/**
|
|
562
805
|
* Parsing CSVs. Why? Because it's a thing that needs to be done.
|
|
563
806
|
*
|
|
564
807
|
* 1. And the other node CSV parsers had issues with the really messy files we had.
|
|
@@ -581,7 +824,7 @@ if(!this.InQuote){// Push the last remaining column from the buffer to the curre
|
|
|
581
824
|
this.pushLine();// Check to see if there is a header -- and if so, if this is the header row
|
|
582
825
|
if(this.HasHeader&&!this.HasSetHeader&&this.RowsEmitted==this.HeaderLineIndex){this.HasSetHeader=true;// Override the format as json bit
|
|
583
826
|
this.setHeader(this.emitRow(false));// No matter what, formatting this as JSON is silly and we don't want to go there anyway.
|
|
584
|
-
if(this.EmitHeader){return this.Header;}else{return false;}}else{return this.emitRow();}}else{return false;}}}]);return CSVParser;}(libFableServiceProviderBase);module.exports=CSVParser;},{"fable-serviceproviderbase":
|
|
827
|
+
if(this.EmitHeader){return this.Header;}else{return false;}}else{return this.emitRow();}}else{return false;}}}]);return CSVParser;}(libFableServiceProviderBase);module.exports=CSVParser;},{"fable-serviceproviderbase":34}],44:[function(require,module,exports){var libFableServiceProviderBase=require('fable-serviceproviderbase');/**
|
|
585
828
|
* Data Formatting and Translation Functions
|
|
586
829
|
*
|
|
587
830
|
* @class DataFormat
|
|
@@ -693,7 +936,7 @@ return pNumber.toString().replace(this._Regex_formatterAddCommasToNumber,this.pr
|
|
|
693
936
|
*
|
|
694
937
|
* @param {*} pValue
|
|
695
938
|
* @returns {string}
|
|
696
|
-
*/},{key:"formatterDollars",value:function formatterDollars(pValue){if(isNaN(pValue)){return this._Value_NaN_Currency;}var
|
|
939
|
+
*/},{key:"formatterDollars",value:function formatterDollars(pValue){if(isNaN(pValue)){return this._Value_NaN_Currency;}var tmpDollarAmountArbitrary=this.fable.Utility.bigNumber(pValue);var tmpDollarAmount=tmpDollarAmountArbitrary.toFixed(2);if(isNaN(tmpDollarAmount)){// Try again and see if what was passed in was a dollars string.
|
|
697
940
|
if(typeof pValue=='string'){// TODO: Better rounding function? This is a hack to get rid of the currency symbol and commas.
|
|
698
941
|
tmpDollarAmount=parseFloat(pValue.replace(this._Value_MoneySign_Currency,'').replace(this._Regex_formatterDollarsRemoveCommas,'')).toFixed(2);}// If we didn't get a number, return the "not a number" string.
|
|
699
942
|
if(isNaN(tmpDollarAmount)){return this._Value_NaN_Currency;}}// TODO: Get locale data and use that for this stuff.
|
|
@@ -703,7 +946,7 @@ return"$".concat(this.formatterAddCommasToNumber(tmpDollarAmount));}/**
|
|
|
703
946
|
* @param {*} pValue
|
|
704
947
|
* @param {number} pDigits
|
|
705
948
|
* @returns {string}
|
|
706
|
-
*/},{key:"formatterRoundNumber",value:function formatterRoundNumber(pValue,pDigits){var tmpDigits=typeof pDigits=='undefined'?2:pDigits;if(isNaN(pValue)){var tmpZed=0;return tmpZed.toFixed(tmpDigits);}var
|
|
949
|
+
*/},{key:"formatterRoundNumber",value:function formatterRoundNumber(pValue,pDigits){var tmpDigits=typeof pDigits=='undefined'?2:pDigits;if(isNaN(pValue)){var tmpZed=0;return tmpZed.toFixed(tmpDigits);}var tmpAmountArbitrary=this.fable.Utility.bigNumber(pValue);var tmpValue=tmpAmountArbitrary.toFixed(tmpDigits);if(isNaN(tmpValue)){var _tmpZed=0;return _tmpZed.toFixed(tmpDigits);}else{return tmpValue;}}/**
|
|
707
950
|
* Generate a reapeating padding string to be appended before or after depending on
|
|
708
951
|
* which padding function it uses.
|
|
709
952
|
*
|
|
@@ -711,7 +954,7 @@ return"$".concat(this.formatterAddCommasToNumber(tmpDollarAmount));}/**
|
|
|
711
954
|
* @param {number} pTargetLength
|
|
712
955
|
* @returns {string} pPadString
|
|
713
956
|
*/},{key:"stringGeneratePaddingString",value:function stringGeneratePaddingString(pString,pTargetLength,pPadString){var tmpTargetLength=pTargetLength>>0;var tmpPadString=String(typeof pPadString!=='undefined'?pPadString:' ');if(pString.length>pTargetLength){// No padding string if the source string is already longer than the target length, return an empty string
|
|
714
|
-
return'';}else{var tmpPadLength=pTargetLength-pString.length;if(tmpPadLength>
|
|
957
|
+
return'';}else{var tmpPadLength=pTargetLength-pString.length;if(tmpPadLength>tmpPadString.length){tmpPadString+=tmpPadString.repeat(tmpTargetLength/tmpPadString.length);}return tmpPadString.slice(0,tmpPadLength);}}},{key:"formatTimeSpan",value:/*************************************************************************
|
|
715
958
|
* Time Formatting Functions (milliseconds)
|
|
716
959
|
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ /**
|
|
717
960
|
* Format a time length in milliseconds into a human readable string.
|
|
@@ -777,10 +1020,10 @@ return'';}if(tmpEnclosedValueEndIndex>0&&tmpEnclosedValueEndIndex>tmpEnclosedVal
|
|
|
777
1020
|
* @param {number} pEnclosureEnd
|
|
778
1021
|
* @returns {string}
|
|
779
1022
|
*/},{key:"stringRemoveEnclosureByIndex",value:function stringRemoveEnclosureByIndex(pString,pEnclosureIndexToRemove,pEnclosureStart,pEnclosureEnd){var tmpString=typeof pString=='string'?pString:'';var tmpEnclosureIndexToRemove=typeof pEnclosureIndexToRemove=='number'?pEnclosureIndexToRemove:0;var tmpEnclosureStart=typeof pEnclosureStart=='string'?pEnclosureStart:'(';var tmpEnclosureEnd=typeof pEnclosureEnd=='string'?pEnclosureEnd:')';var tmpEnclosureCount=0;var tmpEnclosureDepth=0;var tmpMatchedEnclosureIndex=false;var tmpEnclosureStartIndex=0;var tmpEnclosureEndIndex=0;for(var i=0;i<tmpString.length;i++){// This is the start of an enclosure
|
|
780
|
-
if(tmpString[i]==tmpEnclosureStart){tmpEnclosureDepth++;if(tmpEnclosureDepth==1){tmpEnclosureCount++;if(tmpEnclosureIndexToRemove==tmpEnclosureCount-1){tmpMatchedEnclosureIndex=true;tmpEnclosureStartIndex=i;}}}else if(tmpString[i]==tmpEnclosureEnd){tmpEnclosureDepth--;if(tmpEnclosureDepth==0&&tmpMatchedEnclosureIndex&&tmpEnclosureEndIndex<=tmpEnclosureStartIndex){tmpEnclosureEndIndex=i;tmpMatchedEnclosureIndex=false;}}}if(tmpEnclosureCount<=tmpEnclosureIndexToRemove){return tmpString;}var tmpReturnString='';if(tmpEnclosureStartIndex>1){tmpReturnString=tmpString.substring(0,tmpEnclosureStartIndex);}if(tmpString.length>tmpEnclosureEndIndex+1&&tmpEnclosureEndIndex>tmpEnclosureStartIndex){tmpReturnString+=tmpString.substring(tmpEnclosureEndIndex+1);}return tmpReturnString;}}]);return DataFormat;}(libFableServiceProviderBase);module.exports=DataFormat;},{"fable-serviceproviderbase":
|
|
1023
|
+
if(tmpString[i]==tmpEnclosureStart){tmpEnclosureDepth++;if(tmpEnclosureDepth==1){tmpEnclosureCount++;if(tmpEnclosureIndexToRemove==tmpEnclosureCount-1){tmpMatchedEnclosureIndex=true;tmpEnclosureStartIndex=i;}}}else if(tmpString[i]==tmpEnclosureEnd){tmpEnclosureDepth--;if(tmpEnclosureDepth==0&&tmpMatchedEnclosureIndex&&tmpEnclosureEndIndex<=tmpEnclosureStartIndex){tmpEnclosureEndIndex=i;tmpMatchedEnclosureIndex=false;}}}if(tmpEnclosureCount<=tmpEnclosureIndexToRemove){return tmpString;}var tmpReturnString='';if(tmpEnclosureStartIndex>1){tmpReturnString=tmpString.substring(0,tmpEnclosureStartIndex);}if(tmpString.length>tmpEnclosureEndIndex+1&&tmpEnclosureEndIndex>tmpEnclosureStartIndex){tmpReturnString+=tmpString.substring(tmpEnclosureEndIndex+1);}return tmpReturnString;}}]);return DataFormat;}(libFableServiceProviderBase);module.exports=DataFormat;},{"fable-serviceproviderbase":34}],45:[function(require,module,exports){module.exports={"DefaultIntegerMinimum":0,"DefaultIntegerMaximum":9999999,"DefaultNumericStringLength":10,"MonthSet":["January","February","March","April","May","June","July","August","September","October","November","December"],"WeekDaySet":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"ColorSet":["Red","Orange","Yellow","Green","Blue","Indigo","Violet","Pink","Purple","Turquoise","Gold","Lime","Maroon","Navy","Coral","Teal","Brown","White","Black","Sky","Berry","Grey","Straw","Silver","Sapphire"],"SurNameSet":["Smith","Johnson","Williams","Brown","Jones","Miller","Davis","Garcia","Rodriguez","Wilson","Martinez","Anderson","Taylor","Thomas","Hernandez","Moore","Martin","Jackson","Thompson","White","Lopez","Lee","Gonzalez","Harris","Clark","Lewis","Robinson","Walker","Perez","Hall","Young","Allen","Sanchez","Wright","King","Scott","Green","Baker","Adams","Nelson","Hill","Ramirez","Campbell","Mitchell","Roberts","Carter","Phillips","Evans","Turner","Torres","Parker","Collins","Edwards","Stewart","Flores","Morris","Nguyen","Murphy","Rivera","Cook","Rogers","Morgan","Peterson","Cooper","Reed","Bailey","Bell","Gomez","Kelly","Howard","Ward","Cox","Diaz","Richardson","Wood","Watson","Brooks","Bennett","Gray","James","Reyes","Cruz","Hughes","Price","Myers","Long","Foster","Sanders","Ross","Morales","Powell","Sullivan","Russell","Ortiz","Jenkins","Gutierrez","Perry","Butler","Barnes","Fisher"],"NameSet":["Mary","Patricia","Jennifer","Linda","Elizabeth","Barbara","Susan","Jessica","Sarah","Karen","Lisa","Nancy","Betty","Sandra","Margaret","Ashley","Kimberly","Emily","Donna","Michelle","Carol","Amanda","Melissa","Deborah","Stephanie","Dorothy","Rebecca","Sharon","Laura","Cynthia","Amy","Kathleen","Angela","Shirley","Brenda","Emma","Anna","Pamela","Nicole","Samantha","Katherine","Christine","Helen","Debra","Rachel","Carolyn","Janet","Maria","Catherine","Heather","Diane","Olivia","Julie","Joyce","Victoria","Ruth","Virginia","Lauren","Kelly","Christina","Joan","Evelyn","Judith","Andrea","Hannah","Megan","Cheryl","Jacqueline","Martha","Madison","Teresa","Gloria","Sara","Janice","Ann","Kathryn","Abigail","Sophia","Frances","Jean","Alice","Judy","Isabella","Julia","Grace","Amber","Denise","Danielle","Marilyn","Beverly","Charlotte","Natalie","Theresa","Diana","Brittany","Doris","Kayla","Alexis","Lori","Marie","James","Robert","John","Michael","David","William","Richard","Joseph","Thomas","Christopher","Charles","Daniel","Matthew","Anthony","Mark","Donald","Steven","Andrew","Paul","Joshua","Kenneth","Kevin","Brian","George","Timothy","Ronald","Jason","Edward","Jeffrey","Ryan","Jacob","Gary","Nicholas","Eric","Jonathan","Stephen","Larry","Justin","Scott","Brandon","Benjamin","Samuel","Gregory","Alexander","Patrick","Frank","Raymond","Jack","Dennis","Jerry","Tyler","Aaron","Jose","Adam","Nathan","Henry","Zachary","Douglas","Peter","Kyle","Noah","Ethan","Jeremy","Walter","Christian","Keith","Roger","Terry","Austin","Sean","Gerald","Carl","Harold","Dylan","Arthur","Lawrence","Jordan","Jesse","Bryan","Billy","Bruce","Gabriel","Joe","Logan","Alan","Juan","Albert","Willie","Elijah","Wayne","Randy","Vincent","Mason","Roy","Ralph","Bobby","Russell","Bradley","Philip","Eugene"]};},{}],46:[function(require,module,exports){var libFableServiceBase=require('../Fable-ServiceManager.js').ServiceProviderBase;var FableServiceDataGeneration=/*#__PURE__*/function(_libFableServiceBase2){_inherits(FableServiceDataGeneration,_libFableServiceBase2);var _super11=_createSuper(FableServiceDataGeneration);function FableServiceDataGeneration(pFable,pOptions,pServiceHash){var _this16;_classCallCheck2(this,FableServiceDataGeneration);_this16=_super11.call(this,pFable,pOptions,pServiceHash);_this16.serviceType='DataGeneration';_this16.defaultData=require('./Fable-Service-DataGeneration-DefaultValues.json');return _this16;}// Return a random integer between pMinimum and pMaximum
|
|
781
1024
|
_createClass2(FableServiceDataGeneration,[{key:"randomIntegerBetween",value:function randomIntegerBetween(pMinimum,pMaximum){return Math.floor(Math.random()*(pMaximum-pMinimum))+pMinimum;}// Return a random integer up to the passed-in maximum
|
|
782
1025
|
},{key:"randomIntegerUpTo",value:function randomIntegerUpTo(pMaximum){return this.randomIntegerBetween(0,pMaximum);}// Return a random integer between 0 and 9999999
|
|
783
|
-
},{key:"randomInteger",value:function randomInteger(){return Math.floor(Math.random()*this.defaultData.DefaultIntegerMaximum);}},{key:"randomNumericString",value:function randomNumericString(pLength,pMaxNumber){var tmpLength=typeof pLength==='undefined'?10:pLength;var tmpMaxNumber=typeof pMaxNumber==='undefined'?Math.pow(10,tmpLength)-1:pMaxNumber;return this.services.DataFormat.stringPadStart(this.randomIntegerUpTo(tmpMaxNumber),pLength,'0');}},{key:"randomMonth",value:function randomMonth(){return this.defaultData.MonthSet[this.randomIntegerUpTo(this.defaultData.MonthSet.length-1)];}},{key:"randomDayOfWeek",value:function randomDayOfWeek(){return this.defaultData.WeekDaySet[this.randomIntegerUpTo(this.defaultData.WeekDaySet.length-1)];}},{key:"randomColor",value:function randomColor(){return this.defaultData.ColorSet[this.randomIntegerUpTo(this.defaultData.ColorSet.length-1)];}},{key:"randomName",value:function randomName(){return this.defaultData.NameSet[this.randomIntegerUpTo(this.defaultData.NameSet.length-1)];}},{key:"randomSurname",value:function randomSurname(){return this.defaultData.SurNameSet[this.randomIntegerUpTo(this.defaultData.SurNameSet.length-1)];}}]);return FableServiceDataGeneration;}(libFableServiceBase);module.exports=FableServiceDataGeneration;},{"../Fable-ServiceManager.js":
|
|
1026
|
+
},{key:"randomInteger",value:function randomInteger(){return Math.floor(Math.random()*this.defaultData.DefaultIntegerMaximum);}},{key:"randomNumericString",value:function randomNumericString(pLength,pMaxNumber){var tmpLength=typeof pLength==='undefined'?10:pLength;var tmpMaxNumber=typeof pMaxNumber==='undefined'?Math.pow(10,tmpLength)-1:pMaxNumber;return this.services.DataFormat.stringPadStart(this.randomIntegerUpTo(tmpMaxNumber),pLength,'0');}},{key:"randomMonth",value:function randomMonth(){return this.defaultData.MonthSet[this.randomIntegerUpTo(this.defaultData.MonthSet.length-1)];}},{key:"randomDayOfWeek",value:function randomDayOfWeek(){return this.defaultData.WeekDaySet[this.randomIntegerUpTo(this.defaultData.WeekDaySet.length-1)];}},{key:"randomColor",value:function randomColor(){return this.defaultData.ColorSet[this.randomIntegerUpTo(this.defaultData.ColorSet.length-1)];}},{key:"randomName",value:function randomName(){return this.defaultData.NameSet[this.randomIntegerUpTo(this.defaultData.NameSet.length-1)];}},{key:"randomSurname",value:function randomSurname(){return this.defaultData.SurNameSet[this.randomIntegerUpTo(this.defaultData.SurNameSet.length-1)];}}]);return FableServiceDataGeneration;}(libFableServiceBase);module.exports=FableServiceDataGeneration;},{"../Fable-ServiceManager.js":40,"./Fable-Service-DataGeneration-DefaultValues.json":45}],47:[function(require,module,exports){var libFableServiceBase=require('../Fable-ServiceManager.js').ServiceProviderBase;var FableServiceEnvironmentData=/*#__PURE__*/function(_libFableServiceBase3){_inherits(FableServiceEnvironmentData,_libFableServiceBase3);var _super12=_createSuper(FableServiceEnvironmentData);function FableServiceEnvironmentData(pFable,pOptions,pServiceHash){var _this17;_classCallCheck2(this,FableServiceEnvironmentData);_this17=_super12.call(this,pFable,pOptions,pServiceHash);_this17.serviceType='EnvironmentData';_this17.Environment="node.js";return _this17;}return _createClass2(FableServiceEnvironmentData);}(libFableServiceBase);module.exports=FableServiceEnvironmentData;},{"../Fable-ServiceManager.js":40}],48:[function(require,module,exports){(function(process){(function(){var libFableServiceBase=require('../Fable-ServiceManager.js').ServiceProviderBase;var libFS=require('fs');var libPath=require('path');var FableServiceFilePersistence=/*#__PURE__*/function(_libFableServiceBase4){_inherits(FableServiceFilePersistence,_libFableServiceBase4);var _super13=_createSuper(FableServiceFilePersistence);function FableServiceFilePersistence(pFable,pOptions,pServiceHash){var _this18;_classCallCheck2(this,FableServiceFilePersistence);_this18=_super13.call(this,pFable,pOptions,pServiceHash);_this18.serviceType='FilePersistence';if(!_this18.options.hasOwnProperty('Mode')){_this18.options.Mode=parseInt('0777',8)&~process.umask();}_this18.currentInputFolder="/tmp";_this18.currentOutputFolder="/tmp";return _this18;}_createClass2(FableServiceFilePersistence,[{key:"joinPath",value:function joinPath(){return libPath.resolve.apply(libPath,arguments);}},{key:"existsSync",value:function existsSync(pPath){return libFS.existsSync(pPath);}},{key:"exists",value:function exists(pPath,fCallback){var tmpFileExists=this.existsSync(pPath);;return fCallback(null,tmpFileExists);}},{key:"writeFileSync",value:function writeFileSync(pFileName,pFileContent,pOptions){var tmpOptions=typeof pOptions==='undefined'?'utf8':pOptions;return libFS.writeFileSync(pFileName,pFileContent,tmpOptions);}},{key:"appendFileSync",value:function appendFileSync(pFileName,pAppendContent,pOptions){var tmpOptions=typeof pOptions==='undefined'?'utf8':pOptions;return libFS.appendFileSync(pFileName,pAppendContent,tmpOptions);}},{key:"deleteFileSync",value:function deleteFileSync(pFileName){return libFS.unlinkSync(pFileName);}},{key:"deleteFolderSync",value:function deleteFolderSync(pFileName){return libFS.rmdirSync(pFileName);}},{key:"writeFileSyncFromObject",value:function writeFileSyncFromObject(pFileName,pObject){return this.writeFileSync(pFileName,JSON.stringify(pObject,null,4));}},{key:"writeFileSyncFromArray",value:function writeFileSyncFromArray(pFileName,pFileArray){if(!Array.isArray(pFileArray)){this.log.error("File Persistence Service attempted to write ".concat(pFileName," from array but the expected array was not an array (it was a ").concat(_typeof(pFileArray),")."));return Error('Attempted to write ${pFileName} from array but the expected array was not an array (it was a ${typeof(pFileArray)}).');}else{for(var i=0;i<pFileArray.length;i++){return this.appendFileSync(pFileName,"".concat(pFileArray[i],"\n"));}}}// Default folder behaviors
|
|
784
1027
|
},{key:"getDefaultOutputPath",value:function getDefaultOutputPath(pFileName){return libPath.join(this.currentOutputFolder,pFileName);}},{key:"dataFolderWriteSync",value:function dataFolderWriteSync(pFileName,pFileContent){return this.writeFileSync(this.getDefaultOutputPath(pFileName),pFileContent);}},{key:"dataFolderWriteSyncFromObject",value:function dataFolderWriteSyncFromObject(pFileName,pObject){return this.writeFileSyncFromObject(this.getDefaultOutputPath(pFileName),pObject);}},{key:"dataFolderWriteSyncFromArray",value:function dataFolderWriteSyncFromArray(pFileName,pFileArray){return this.writeFileSyncFromArray(this.getDefaultOutputPath(pFileName),pFileArray);}// Folder management
|
|
785
1028
|
},{key:"makeFolderRecursive",value:function makeFolderRecursive(pParameters,fCallback){var _this19=this;var tmpParameters=pParameters;if(typeof pParameters=='string'){tmpParameters={Path:pParameters};}else if(_typeof(pParameters)!=='object'){fCallback(new Error('Parameters object or string not properly passed to recursive folder create.'));return false;}if(typeof tmpParameters.Path!=='string'){fCallback(new Error('Parameters object needs a path to run the folder create operation.'));return false;}if(!tmpParameters.hasOwnProperty('Mode')){tmpParameters.Mode=this.options.Mode;}// Check if we are just starting .. if so, build the initial state for our recursive function
|
|
786
1029
|
if(typeof tmpParameters.CurrentPathIndex==='undefined'){// Build the tools to start recursing
|
|
@@ -791,7 +1034,7 @@ tmpParameters.CurrentPathIndex++;}// Check if the path is fully complete
|
|
|
791
1034
|
if(tmpParameters.CurrentPathIndex>=tmpParameters.ActualPathParts.length){return fCallback(null);}// Check if the path exists (and is a folder)
|
|
792
1035
|
libFS.open(tmpParameters.CurrentPath+libPath.sep+tmpParameters.ActualPathParts[tmpParameters.CurrentPathIndex],'r',function(pError,pFileDescriptor){if(pFileDescriptor){libFS.closeSync(pFileDescriptor);}if(pError&&pError.code=='ENOENT'){/* Path doesn't exist, create it */libFS.mkdir(tmpParameters.CurrentPath+libPath.sep+tmpParameters.ActualPathParts[tmpParameters.CurrentPathIndex],tmpParameters.Mode,function(pCreateError){if(!pCreateError){// We have now created our folder and there was no error -- continue.
|
|
793
1036
|
return _this19.makeFolderRecursive(tmpParameters,fCallback);}else if(pCreateError.code=='EEXIST'){// The folder exists -- our dev might be running this in parallel/async/whatnot.
|
|
794
|
-
return _this19.makeFolderRecursive(tmpParameters,fCallback);}else{console.log(pCreateError.code);return fCallback(pCreateError);}});}else{return _this19.makeFolderRecursive(tmpParameters,fCallback);}});}}]);return FableServiceFilePersistence;}(libFableServiceBase);module.exports=FableServiceFilePersistence;}).call(this);}).call(this,require('_process'));},{"../Fable-ServiceManager.js":
|
|
1037
|
+
return _this19.makeFolderRecursive(tmpParameters,fCallback);}else{console.log(pCreateError.code);return fCallback(pCreateError);}});}else{return _this19.makeFolderRecursive(tmpParameters,fCallback);}});}}]);return FableServiceFilePersistence;}(libFableServiceBase);module.exports=FableServiceFilePersistence;}).call(this);}).call(this,require('_process'));},{"../Fable-ServiceManager.js":40,"_process":78,"fs":19,"path":72}],49:[function(require,module,exports){var libFableServiceBase=require('../Fable-ServiceManager.js').ServiceProviderBase;/**
|
|
795
1038
|
* Precedent Meta-Templating
|
|
796
1039
|
* @author Steven Velozo <steven@velozo.com>
|
|
797
1040
|
* @description Process text stream trie and postfix tree, parsing out meta-template expression functions.
|
|
@@ -809,7 +1052,7 @@ _this20.StringParser=new libStringParser(_this20.fable.services.Utility.eachLimi
|
|
|
809
1052
|
* @param {string} pString - The string to parse
|
|
810
1053
|
* @param {object} pData - Data to pass in as the second argument
|
|
811
1054
|
* @return {string} The result from the parser
|
|
812
|
-
*/},{key:"parseString",value:function parseString(pString,pData,fCallback){return this.StringParser.parseString(pString,this.ParseTree,pData,fCallback);}}]);return FableServiceMetaTemplate;}(libFableServiceBase);module.exports=FableServiceMetaTemplate;},{"../Fable-ServiceManager.js":
|
|
1055
|
+
*/},{key:"parseString",value:function parseString(pString,pData,fCallback){return this.StringParser.parseString(pString,this.ParseTree,pData,fCallback);}}]);return FableServiceMetaTemplate;}(libFableServiceBase);module.exports=FableServiceMetaTemplate;},{"../Fable-ServiceManager.js":40,"./Fable-Service-MetaTemplate/MetaTemplate-StringParser.js":50,"./Fable-Service-MetaTemplate/MetaTemplate-WordTree.js":51}],50:[function(require,module,exports){/**
|
|
813
1056
|
* String Parser
|
|
814
1057
|
* @author Steven Velozo <steven@velozo.com>
|
|
815
1058
|
* @description Parse a string, properly processing each matched token in the word tree.
|
|
@@ -893,7 +1136,7 @@ this.resetOutputBuffer(pParserState);this.appendOutputBuffer(pCharacter,pParserS
|
|
|
893
1136
|
*/},{key:"parseString",value:function parseString(pString,pParseTree,pData,fCallback){var _this22=this;if(typeof fCallback!=='function'){var tmpParserState=this.newParserState(pParseTree);for(var i=0;i<pString.length;i++){// TODO: This is not fast.
|
|
894
1137
|
this.parseCharacter(pString[i],tmpParserState,pData,fCallback);}this.flushOutputBuffer(tmpParserState);return tmpParserState.Output;}else{// This is the async mode
|
|
895
1138
|
var _tmpParserState=this.newParserState(pParseTree);_tmpParserState.Asynchronous=true;this.eachLimit(pString,1,function(pCharacter,fCharacterCallback){_this22.parseCharacterAsync(pCharacter,_tmpParserState,pData,fCharacterCallback);},function(pError){// Flush the remaining data
|
|
896
|
-
_this22.flushOutputBuffer(_tmpParserState);fCallback(pError,_tmpParserState.Output);});}}}]);return StringParser;}();module.exports=StringParser;},{}],
|
|
1139
|
+
_this22.flushOutputBuffer(_tmpParserState);fCallback(pError,_tmpParserState.Output);});}}}]);return StringParser;}();module.exports=StringParser;},{}],51:[function(require,module,exports){/**
|
|
897
1140
|
* Word Tree
|
|
898
1141
|
* @author Steven Velozo <steven@velozo.com>
|
|
899
1142
|
* @description Create a tree (directed graph) of Javascript objects, one character per object.
|
|
@@ -926,8 +1169,8 @@ for(var i=0;i<pPatternStart.length;i++){tmpLeaf=this.addChild(tmpLeaf,pPatternSt
|
|
|
926
1169
|
* @param {string} pPatternEnd - The ending string for the pattern (e.g. "}")
|
|
927
1170
|
* @param {function} fParser - The function to parse if this is the matched pattern, once the Pattern End is met. If this is a string, a simple replacement occurs.
|
|
928
1171
|
* @return {bool} True if adding the pattern was successful
|
|
929
|
-
*/},{key:"addPatternAsync",value:function addPatternAsync(pPatternStart,pPatternEnd,fParser){var tmpLeaf=this.addPattern(pPatternStart,pPatternEnd,fParser);if(tmpLeaf){tmpLeaf.isAsync=true;}}}]);return WordTree;}();module.exports=WordTree;},{}],
|
|
930
|
-
_this23.state.Metadata.Hash=_this23.Hash;_this23.state.Metadata.UUID=_this23.UUID;_this23.name=typeof _this23.options.Name=='string'?_this23.options.Name:"Unnamed Operation ".concat(_this23.state.Metadata.UUID);_this23.log=_assertThisInitialized(_this23);return _this23;}_createClass2(FableOperation,[{key:"writeOperationLog",value:function writeOperationLog(pLogLevel,pLogText,pLogObject){this.state.Log.push("".concat(new Date().toUTCString()," [").concat(pLogLevel,"]: ").concat(pLogText));if(_typeof(pLogObject)=='object'){this.state.Log.push(JSON.stringify(pLogObject));}}},{key:"writeOperationErrors",value:function writeOperationErrors(pLogText,pLogObject){this.state.Errors.push("".concat(pLogText));if(_typeof(pLogObject)=='object'){this.state.Errors.push(JSON.stringify(pLogObject));}}},{key:"trace",value:function trace(pLogText,pLogObject){this.writeOperationLog('TRACE',pLogText,pLogObject);this.fable.log.trace(pLogText,pLogObject);}},{key:"debug",value:function debug(pLogText,pLogObject){this.writeOperationLog('DEBUG',pLogText,pLogObject);this.fable.log.debug(pLogText,pLogObject);}},{key:"info",value:function info(pLogText,pLogObject){this.writeOperationLog('INFO',pLogText,pLogObject);this.fable.log.info(pLogText,pLogObject);}},{key:"warn",value:function warn(pLogText,pLogObject){this.writeOperationLog('WARN',pLogText,pLogObject);this.fable.log.warn(pLogText,pLogObject);}},{key:"error",value:function error(pLogText,pLogObject){this.writeOperationLog('ERROR',pLogText,pLogObject);this.writeOperationErrors(pLogText,pLogObject);this.fable.log.error(pLogText,pLogObject);}},{key:"fatal",value:function fatal(pLogText,pLogObject){this.writeOperationLog('FATAL',pLogText,pLogObject);this.writeOperationErrors(pLogText,pLogObject);this.fable.log.fatal(pLogText,pLogObject);}}]);return FableOperation;}(libFableServiceBase);module.exports=FableOperation;},{"../Fable-ServiceManager.js":
|
|
1172
|
+
*/},{key:"addPatternAsync",value:function addPatternAsync(pPatternStart,pPatternEnd,fParser){var tmpLeaf=this.addPattern(pPatternStart,pPatternEnd,fParser);if(tmpLeaf){tmpLeaf.isAsync=true;}}}]);return WordTree;}();module.exports=WordTree;},{}],52:[function(require,module,exports){module.exports={"Metadata":{"UUID":false,"Hash":false,"Title":"","Summary":"","Version":0},"Status":{"Completed":false,"CompletionProgress":0,"CompletionTimeElapsed":0,"Steps":1,"StepsCompleted":0,"StartTime":0,"EndTime":0},"Errors":[],"Log":[]};},{}],53:[function(require,module,exports){var libFableServiceBase=require('../Fable-ServiceManager.js').ServiceProviderBase;var _OperationStatePrototypeString=JSON.stringify(require('./Fable-Service-Operation-DefaultSettings.js'));var FableOperation=/*#__PURE__*/function(_libFableServiceBase6){_inherits(FableOperation,_libFableServiceBase6);var _super15=_createSuper(FableOperation);function FableOperation(pFable,pOptions,pServiceHash){var _this23;_classCallCheck2(this,FableOperation);_this23=_super15.call(this,pFable,pOptions,pServiceHash);_this23.serviceType='PhasedOperation';_this23.state=JSON.parse(_OperationStatePrototypeString);// Match the service instantiation to the operation.
|
|
1173
|
+
_this23.state.Metadata.Hash=_this23.Hash;_this23.state.Metadata.UUID=_this23.UUID;_this23.name=typeof _this23.options.Name=='string'?_this23.options.Name:"Unnamed Operation ".concat(_this23.state.Metadata.UUID);_this23.log=_assertThisInitialized(_this23);return _this23;}_createClass2(FableOperation,[{key:"writeOperationLog",value:function writeOperationLog(pLogLevel,pLogText,pLogObject){this.state.Log.push("".concat(new Date().toUTCString()," [").concat(pLogLevel,"]: ").concat(pLogText));if(_typeof(pLogObject)=='object'){this.state.Log.push(JSON.stringify(pLogObject));}}},{key:"writeOperationErrors",value:function writeOperationErrors(pLogText,pLogObject){this.state.Errors.push("".concat(pLogText));if(_typeof(pLogObject)=='object'){this.state.Errors.push(JSON.stringify(pLogObject));}}},{key:"trace",value:function trace(pLogText,pLogObject){this.writeOperationLog('TRACE',pLogText,pLogObject);this.fable.log.trace(pLogText,pLogObject);}},{key:"debug",value:function debug(pLogText,pLogObject){this.writeOperationLog('DEBUG',pLogText,pLogObject);this.fable.log.debug(pLogText,pLogObject);}},{key:"info",value:function info(pLogText,pLogObject){this.writeOperationLog('INFO',pLogText,pLogObject);this.fable.log.info(pLogText,pLogObject);}},{key:"warn",value:function warn(pLogText,pLogObject){this.writeOperationLog('WARN',pLogText,pLogObject);this.fable.log.warn(pLogText,pLogObject);}},{key:"error",value:function error(pLogText,pLogObject){this.writeOperationLog('ERROR',pLogText,pLogObject);this.writeOperationErrors(pLogText,pLogObject);this.fable.log.error(pLogText,pLogObject);}},{key:"fatal",value:function fatal(pLogText,pLogObject){this.writeOperationLog('FATAL',pLogText,pLogObject);this.writeOperationErrors(pLogText,pLogObject);this.fable.log.fatal(pLogText,pLogObject);}}]);return FableOperation;}(libFableServiceBase);module.exports=FableOperation;},{"../Fable-ServiceManager.js":40,"./Fable-Service-Operation-DefaultSettings.js":52}],54:[function(require,module,exports){(function(Buffer){(function(){var libFableServiceBase=require('../Fable-ServiceManager.js').ServiceProviderBase;var libSimpleGet=require('simple-get');var libCookie=require('cookie');var FableServiceRestClient=/*#__PURE__*/function(_libFableServiceBase7){_inherits(FableServiceRestClient,_libFableServiceBase7);var _super16=_createSuper(FableServiceRestClient);function FableServiceRestClient(pFable,pOptions,pServiceHash){var _this24;_classCallCheck2(this,FableServiceRestClient);_this24=_super16.call(this,pFable,pOptions,pServiceHash);_this24.TraceLog=false;if(_this24.options.TraceLog||_this24.fable.TraceLog){_this24.TraceLog=true;}_this24.dataFormat=_this24.fable.services.DataFormat;_this24.serviceType='RestClient';_this24.cookie=false;// This is a function that can be overridden, to allow the management
|
|
931
1174
|
// of the request options before they are passed to the request library.
|
|
932
1175
|
_this24.prepareRequestOptions=function(pOptions){return pOptions;};return _this24;}_createClass2(FableServiceRestClient,[{key:"simpleGet",get:function get(){return libSimpleGet;}},{key:"prepareCookies",value:function prepareCookies(pRequestOptions){if(this.cookie){var tmpCookieObject=this.cookie;if(!pRequestOptions.hasOwnProperty('headers')){pRequestOptions.headers={};}var tmpCookieKeys=Object.keys(tmpCookieObject);if(tmpCookieKeys.length>0){// Only grab the first for now.
|
|
933
1176
|
pRequestOptions.headers.cookie=libCookie.serialize(tmpCookieKeys[0],tmpCookieObject[tmpCookieKeys[0]]);}}return pRequestOptions;}},{key:"preRequest",value:function preRequest(pOptions){// Validate the options object
|
|
@@ -939,7 +1182,7 @@ if(!tmpDataBuffer){tmpDataBuffer=Buffer.from(pChunk);}else{tmpDataBuffer=Buffer.
|
|
|
939
1182
|
{
|
|
940
1183
|
tmpOptions.headers['Content-Type'] = 'application/json';
|
|
941
1184
|
}
|
|
942
|
-
*/tmpOptions.RequestStartTime=this.fable.log.getTimeStamp();if(this.TraceLog){this.fable.log.debug("Beginning ".concat(tmpOptions.method," JSON request to ").concat(tmpOptions.url," at ").concat(tmpOptions.RequestStartTime));}return libSimpleGet(tmpOptions,function(pError,pResponse){if(pError){return fCallback(pError,pResponse);}if(_this27.TraceLog){var tmpConnectTime=_this27.fable.log.getTimeStamp();_this27.fable.log.debug("--> JSON ".concat(tmpOptions.method," connected in ").concat(_this27.dataFormat.formatTimeDelta(tmpOptions.RequestStartTime,tmpConnectTime),"ms code ").concat(pResponse.statusCode));}var tmpJSONData='';pResponse.on('data',function(pChunk){if(_this27.TraceLog){var tmpChunkTime=_this27.fable.log.getTimeStamp();_this27.fable.log.debug("--> JSON ".concat(tmpOptions.method," data chunk size ").concat(pChunk.length,"b received in ").concat(_this27.dataFormat.formatTimeDelta(tmpOptions.RequestStartTime,tmpChunkTime),"ms"));}tmpJSONData+=pChunk;});pResponse.on('end',function(){if(_this27.TraceLog){var tmpCompletionTime=_this27.fable.log.getTimeStamp();_this27.fable.log.debug("==> JSON ".concat(tmpOptions.method," completed - received in ").concat(_this27.dataFormat.formatTimeDelta(tmpOptions.RequestStartTime,tmpCompletionTime),"ms"));}return fCallback(pError,pResponse,JSON.parse(tmpJSONData));});});}},{key:"getJSON",value:function getJSON(pOptionsOrURL,fCallback){var tmpRequestOptions=_typeof(pOptionsOrURL)=='object'?pOptionsOrURL:{};if(typeof pOptionsOrURL=='string'){tmpRequestOptions.url=pOptionsOrURL;}tmpRequestOptions.method='GET';return this.executeJSONRequest(tmpRequestOptions,fCallback);}},{key:"putJSON",value:function putJSON(pOptions,fCallback){if(_typeof(pOptions.body)!='object'){return fCallback(new Error("PUT JSON Error Invalid options object"));}pOptions.method='PUT';return this.executeJSONRequest(pOptions,fCallback);}},{key:"postJSON",value:function postJSON(pOptions,fCallback){if(_typeof(pOptions.body)!='object'){return fCallback(new Error("POST JSON Error Invalid options object"));}pOptions.method='POST';return this.executeJSONRequest(pOptions,fCallback);}},{key:"patchJSON",value:function patchJSON(pOptions,fCallback){if(_typeof(pOptions.body)!='object'){return fCallback(new Error("PATCH JSON Error Invalid options object"));}pOptions.method='PATCH';return this.executeJSONRequest(pOptions,fCallback);}},{key:"headJSON",value:function headJSON(pOptions,fCallback){if(_typeof(pOptions.body)!='object'){return fCallback(new Error("HEAD JSON Error Invalid options object"));}pOptions.method='HEAD';return this.executeJSONRequest(pOptions,fCallback);}},{key:"delJSON",value:function delJSON(pOptions,fCallback){pOptions.method='DELETE';return this.executeJSONRequest(pOptions,fCallback);}},{key:"getRawText",value:function getRawText(pOptionsOrURL,fCallback){var tmpRequestOptions=_typeof(pOptionsOrURL)=='object'?pOptionsOrURL:{};if(typeof pOptionsOrURL=='string'){tmpRequestOptions.url=pOptionsOrURL;}tmpRequestOptions.method='GET';return this.executeChunkedRequest(tmpRequestOptions,fCallback);}}]);return FableServiceRestClient;}(libFableServiceBase);module.exports=FableServiceRestClient;}).call(this);}).call(this,require("buffer").Buffer);},{"../Fable-ServiceManager.js":
|
|
1185
|
+
*/tmpOptions.RequestStartTime=this.fable.log.getTimeStamp();if(this.TraceLog){this.fable.log.debug("Beginning ".concat(tmpOptions.method," JSON request to ").concat(tmpOptions.url," at ").concat(tmpOptions.RequestStartTime));}return libSimpleGet(tmpOptions,function(pError,pResponse){if(pError){return fCallback(pError,pResponse);}if(_this27.TraceLog){var tmpConnectTime=_this27.fable.log.getTimeStamp();_this27.fable.log.debug("--> JSON ".concat(tmpOptions.method," connected in ").concat(_this27.dataFormat.formatTimeDelta(tmpOptions.RequestStartTime,tmpConnectTime),"ms code ").concat(pResponse.statusCode));}var tmpJSONData='';pResponse.on('data',function(pChunk){if(_this27.TraceLog){var tmpChunkTime=_this27.fable.log.getTimeStamp();_this27.fable.log.debug("--> JSON ".concat(tmpOptions.method," data chunk size ").concat(pChunk.length,"b received in ").concat(_this27.dataFormat.formatTimeDelta(tmpOptions.RequestStartTime,tmpChunkTime),"ms"));}tmpJSONData+=pChunk;});pResponse.on('end',function(){if(_this27.TraceLog){var tmpCompletionTime=_this27.fable.log.getTimeStamp();_this27.fable.log.debug("==> JSON ".concat(tmpOptions.method," completed - received in ").concat(_this27.dataFormat.formatTimeDelta(tmpOptions.RequestStartTime,tmpCompletionTime),"ms"));}return fCallback(pError,pResponse,JSON.parse(tmpJSONData));});});}},{key:"getJSON",value:function getJSON(pOptionsOrURL,fCallback){var tmpRequestOptions=_typeof(pOptionsOrURL)=='object'?pOptionsOrURL:{};if(typeof pOptionsOrURL=='string'){tmpRequestOptions.url=pOptionsOrURL;}tmpRequestOptions.method='GET';return this.executeJSONRequest(tmpRequestOptions,fCallback);}},{key:"putJSON",value:function putJSON(pOptions,fCallback){if(_typeof(pOptions.body)!='object'){return fCallback(new Error("PUT JSON Error Invalid options object"));}pOptions.method='PUT';return this.executeJSONRequest(pOptions,fCallback);}},{key:"postJSON",value:function postJSON(pOptions,fCallback){if(_typeof(pOptions.body)!='object'){return fCallback(new Error("POST JSON Error Invalid options object"));}pOptions.method='POST';return this.executeJSONRequest(pOptions,fCallback);}},{key:"patchJSON",value:function patchJSON(pOptions,fCallback){if(_typeof(pOptions.body)!='object'){return fCallback(new Error("PATCH JSON Error Invalid options object"));}pOptions.method='PATCH';return this.executeJSONRequest(pOptions,fCallback);}},{key:"headJSON",value:function headJSON(pOptions,fCallback){if(_typeof(pOptions.body)!='object'){return fCallback(new Error("HEAD JSON Error Invalid options object"));}pOptions.method='HEAD';return this.executeJSONRequest(pOptions,fCallback);}},{key:"delJSON",value:function delJSON(pOptions,fCallback){pOptions.method='DELETE';return this.executeJSONRequest(pOptions,fCallback);}},{key:"getRawText",value:function getRawText(pOptionsOrURL,fCallback){var tmpRequestOptions=_typeof(pOptionsOrURL)=='object'?pOptionsOrURL:{};if(typeof pOptionsOrURL=='string'){tmpRequestOptions.url=pOptionsOrURL;}tmpRequestOptions.method='GET';return this.executeChunkedRequest(tmpRequestOptions,fCallback);}}]);return FableServiceRestClient;}(libFableServiceBase);module.exports=FableServiceRestClient;}).call(this);}).call(this,require("buffer").Buffer);},{"../Fable-ServiceManager.js":40,"buffer":20,"cookie":25,"simple-get":85}],55:[function(require,module,exports){var libFableServiceBase=require('../Fable-ServiceManager.js').ServiceProviderBase;var FableServiceTemplate=/*#__PURE__*/function(_libFableServiceBase8){_inherits(FableServiceTemplate,_libFableServiceBase8);var _super17=_createSuper(FableServiceTemplate);// Underscore and lodash have a behavior, _.template, which compiles a
|
|
943
1186
|
// string-based template with code snippets into simple executable pieces,
|
|
944
1187
|
// with the added twist of returning a precompiled function ready to go.
|
|
945
1188
|
//
|
|
@@ -959,8 +1202,8 @@ _this28.renderFunction=false;_this28.templateString=false;return _this28;}_creat
|
|
|
959
1202
|
// underscore code until this is rewritten using precedent.
|
|
960
1203
|
this.TemplateSource="__p+='"+pTemplateText.replace(this.Matchers.Escaper,function(pMatch){return"\\".concat(_this29.templateEscapes[pMatch]);}).replace(this.Matchers.Interpolate||this.Matchers.GuaranteedNonMatch,function(pMatch,pCode){return"'+\n(".concat(decodeURIComponent(pCode),")+\n'");}).replace(this.Matchers.Evaluate||this.Matchers.GuaranteedNonMatch,function(pMatch,pCode){return"';\n".concat(decodeURIComponent(pCode),"\n;__p+='");})+"';\n";this.TemplateSource="with(pTemplateDataObject||{}){\n".concat(this.TemplateSource,"}\n");this.TemplateSource="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n".concat(this.TemplateSource,"return __p;\n");this.renderFunction=new Function('pTemplateDataObject',this.TemplateSource);if(typeof pData!='undefined'){return this.renderFunction(pData);}// Provide the compiled function source as a convenience for build time
|
|
961
1204
|
// precompilation.
|
|
962
|
-
this.TemplateSourceCompiled='function(obj){\n'+this.TemplateSource+'}';return this.templateFunction();}}]);return FableServiceTemplate;}(libFableServiceBase);module.exports=FableServiceTemplate;},{"../Fable-ServiceManager.js":
|
|
963
|
-
var libAsyncWaterfall=require('async.waterfall');var libAsyncEachLimit=require('async.eachlimit');var
|
|
1205
|
+
this.TemplateSourceCompiled='function(obj){\n'+this.TemplateSource+'}';return this.templateFunction();}}]);return FableServiceTemplate;}(libFableServiceBase);module.exports=FableServiceTemplate;},{"../Fable-ServiceManager.js":40}],56:[function(require,module,exports){var libFableServiceBase=require('../Fable-ServiceManager.js').ServiceProviderBase;// TODO: These are still pretty big -- consider the smaller polyfills
|
|
1206
|
+
var libAsyncWaterfall=require('async.waterfall');var libAsyncEachLimit=require('async.eachlimit');var libBigNumber=require('big.js');var FableServiceUtility=/*#__PURE__*/function(_libFableServiceBase9){_inherits(FableServiceUtility,_libFableServiceBase9);var _super18=_createSuper(FableServiceUtility);// Underscore and lodash have a behavior, _.template, which compiles a
|
|
964
1207
|
// string-based template with code snippets into simple executable pieces,
|
|
965
1208
|
// with the added twist of returning a precompiled function ready to go.
|
|
966
1209
|
//
|
|
@@ -970,7 +1213,7 @@ var libAsyncWaterfall=require('async.waterfall');var libAsyncEachLimit=require('
|
|
|
970
1213
|
// This is an implementation of that.
|
|
971
1214
|
// TODO: Make this use precedent, add configuration, add debugging.
|
|
972
1215
|
function FableServiceUtility(pFable,pOptions,pServiceHash){var _this30;_classCallCheck2(this,FableServiceUtility);_this30=_super18.call(this,pFable,pOptions,pServiceHash);_this30.templates={};// These two functions are used extensively throughout
|
|
973
|
-
_this30.waterfall=libAsyncWaterfall;_this30.eachLimit=libAsyncEachLimit;_this30.
|
|
1216
|
+
_this30.waterfall=libAsyncWaterfall;_this30.eachLimit=libAsyncEachLimit;_this30.bigNumber=libBigNumber;return _this30;}// Underscore and lodash have a behavior, _.extend, which merges objects.
|
|
974
1217
|
// Now that es6 gives us this, use the native thingy.
|
|
975
1218
|
// Nevermind, the native thing is not stable enough across environments
|
|
976
1219
|
// Basic shallow copy
|
|
@@ -1013,68 +1256,9 @@ tmpTimeZoneOffsetInHours=parseInt(tmpDateParts[7])+tmpTimeZoneOffsetInMinutes;//
|
|
|
1013
1256
|
if(pISOString.substr(-6,1)=="+"){// Make the offset negative since the hours will need to be subtracted from the date.
|
|
1014
1257
|
tmpTimeZoneOffsetInHours*=-1;}}// Get the current hours for the date and add the offset to get the correct time adjusted for timezone.
|
|
1015
1258
|
tmpReturnDate.setHours(tmpReturnDate.getHours()+tmpTimeZoneOffsetInHours);// Return the Date object calculated from the string.
|
|
1016
|
-
return tmpReturnDate;}}]);return FableServiceUtility;}(libFableServiceBase);module.exports=FableServiceUtility;},{"../Fable-ServiceManager.js":
|
|
1259
|
+
return tmpReturnDate;}}]);return FableServiceUtility;}(libFableServiceBase);module.exports=FableServiceUtility;},{"../Fable-ServiceManager.js":40,"async.eachlimit":1,"async.waterfall":15,"big.js":17}],57:[function(require,module,exports){var http=require('http');var url=require('url');var https=module.exports;for(var key in http){if(http.hasOwnProperty(key))https[key]=http[key];}https.request=function(params,cb){params=validateParams(params);return http.request.call(this,params,cb);};https.get=function(params,cb){params=validateParams(params);return http.get.call(this,params,cb);};function validateParams(params){if(typeof params==='string'){params=url.parse(params);}if(!params.protocol){params.protocol='https:';}if(params.protocol!=='https:'){throw new Error('Protocol "'+params.protocol+'" not supported. Expected "https:"');}return params;}},{"http":86,"url":107}],58:[function(require,module,exports){/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias;}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity;}else{m=m+Math.pow(2,mLen);e=e-eBias;}return(s?-1:1)*m*Math.pow(2,e-mLen);};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax;}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2;}if(e+eBias>=1){value+=rt/c;}else{value+=rt*Math.pow(2,1-eBias);}if(value*c>=2){e++;c/=2;}if(e+eBias>=eMax){m=0;e=eMax;}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias;}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0;}}for(;mLen>=8;buffer[offset+i]=m&0xff,i+=d,m/=256,mLen-=8){}e=e<<mLen|m;eLen+=mLen;for(;eLen>0;buffer[offset+i]=e&0xff,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128;};},{}],59:[function(require,module,exports){if(typeof Object.create==='function'){// implementation from standard node.js 'util' module
|
|
1017
1260
|
module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}});}};}else{// old school shim for old browsers
|
|
1018
|
-
module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function TempCtor(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor();ctor.prototype.constructor=ctor;}};}},{}],
|
|
1019
|
-
/******/"use strict";/******/var __webpack_modules__={/***/165:/***/function _(__unused_webpack_module,exports){Object.defineProperty(exports,"__esModule",{value:true});exports.abs=void 0;function abs(n){if(typeof n=='number'||typeof n=='bigint')n=n.toString();if(n[0]=='-')return n.substring(1);return n;}exports.abs=abs;/***/},/***/217:/***/function _(__unused_webpack_module,exports){Object.defineProperty(exports,"__esModule",{value:true});exports.pad=exports.trim=exports.add=void 0;//function add {
|
|
1020
|
-
function add(number1,number2){var _a;if(number2===void 0){number2="0";}var neg=0,ind=-1,neg_len;//check for negatives
|
|
1021
|
-
if(number1[0]=='-'){number1=number1.substring(1);if(!testZero(number1)){neg++;ind=1;neg_len=number1.length;}}if(number2[0]=='-'){number2=number2.substring(1);if(!testZero(number2)){neg++;ind=2;neg_len=number2.length;}}number1=trim(number1);number2=trim(number2);_a=pad(trim(number1),trim(number2)),number1=_a[0],number2=_a[1];if(neg==1){if(ind===1)number1=compliment(number1);else if(ind===2)number2=compliment(number2);}var res=addCore(number1,number2);if(!neg)return trim(res);else if(neg==2)return'-'+trim(res);else{if(number1.length<res.length)return trim(res.substring(1));else return'-'+trim(compliment(res));}}exports.add=add;function compliment(number){if(testZero(number)){return number;}var s='',l=number.length,dec=number.split('.')[1],ld=dec?dec.length:0;for(var i=0;i<l;i++){if(number[i]>='0'&&number[i]<='9')s+=9-parseInt(number[i]);else s+=number[i];}var one=ld>0?'0.'+new Array(ld).join('0')+'1':'1';return addCore(s,one);}function trim(number){var parts=number.split('.');if(!parts[0])parts[0]='0';while(parts[0][0]=='0'&&parts[0].length>1)parts[0]=parts[0].substring(1);return parts[0]+(parts[1]?'.'+parts[1]:'');}exports.trim=trim;function pad(number1,number2){var parts1=number1.split('.'),parts2=number2.split('.');//pad integral part
|
|
1022
|
-
var length1=parts1[0].length,length2=parts2[0].length;if(length1>length2){parts2[0]=new Array(Math.abs(length1-length2)+1).join('0')+(parts2[0]?parts2[0]:'');}else{parts1[0]=new Array(Math.abs(length1-length2)+1).join('0')+(parts1[0]?parts1[0]:'');}//pad fractional part
|
|
1023
|
-
length1=parts1[1]?parts1[1].length:0,length2=parts2[1]?parts2[1].length:0;if(length1||length2){if(length1>length2){parts2[1]=(parts2[1]?parts2[1]:'')+new Array(Math.abs(length1-length2)+1).join('0');}else{parts1[1]=(parts1[1]?parts1[1]:'')+new Array(Math.abs(length1-length2)+1).join('0');}}number1=parts1[0]+(parts1[1]?'.'+parts1[1]:'');number2=parts2[0]+(parts2[1]?'.'+parts2[1]:'');return[number1,number2];}exports.pad=pad;function addCore(number1,number2){var _a;_a=pad(number1,number2),number1=_a[0],number2=_a[1];var sum='',carry=0;for(var i=number1.length-1;i>=0;i--){if(number1[i]==='.'){sum='.'+sum;continue;}var temp=parseInt(number1[i])+parseInt(number2[i])+carry;sum=temp%10+sum;carry=Math.floor(temp/10);}return carry?carry.toString()+sum:sum;}function testZero(number){return /^0[0]*[.]{0,1}[0]*$/.test(number);}/***/},/***/423:/***/function _(module,__unused_webpack_exports,__webpack_require__){var add_1=__webpack_require__(217);var abs_1=__webpack_require__(165);var round_1=__webpack_require__(350);var multiply_1=__webpack_require__(182);var divide_1=__webpack_require__(415);var modulus_1=__webpack_require__(213);var compareTo_1=__webpack_require__(664);var subtract_1=__webpack_require__(26);var roundingModes_1=__webpack_require__(916);var bigDecimal=/** @class */function(){function bigDecimal(number){if(number===void 0){number='0';}this.value=bigDecimal.validate(number);}bigDecimal.validate=function(number){if(number){number=number.toString();if(isNaN(number))throw Error("Parameter is not a number: "+number);if(number[0]=='+')number=number.substring(1);}else number='0';//handle missing leading zero
|
|
1024
|
-
if(number.startsWith('.'))number='0'+number;else if(number.startsWith('-.'))number='-0'+number.substr(1);//handle exponentiation
|
|
1025
|
-
if(/e/i.test(number)){var _a=number.split(/[eE]/),mantisa=_a[0],exponent=_a[1];mantisa=(0,add_1.trim)(mantisa);var sign='';if(mantisa[0]=='-'){sign='-';mantisa=mantisa.substring(1);}if(mantisa.indexOf('.')>=0){exponent=parseInt(exponent)+mantisa.indexOf('.');mantisa=mantisa.replace('.','');}else{exponent=parseInt(exponent)+mantisa.length;}if(mantisa.length<exponent){number=sign+mantisa+new Array(exponent-mantisa.length+1).join('0');}else if(mantisa.length>=exponent&&exponent>0){number=sign+(0,add_1.trim)(mantisa.substring(0,exponent))+(mantisa.length>exponent?'.'+mantisa.substring(exponent):'');}else{number=sign+'0.'+new Array(-exponent+1).join('0')+mantisa;}}return number;};bigDecimal.prototype.getValue=function(){return this.value;};bigDecimal.prototype.setValue=function(num){this.value=bigDecimal.validate(num);};bigDecimal.getPrettyValue=function(number,digits,separator){if(!(digits||separator)){digits=3;separator=',';}else if(!(digits&&separator)){throw Error('Illegal Arguments. Should pass both digits and separator or pass none');}number=bigDecimal.validate(number);var neg=number.charAt(0)=='-';if(neg)number=number.substring(1);var len=number.indexOf('.');len=len>0?len:number.length;var temp='';for(var i=len;i>0;){if(i<digits){digits=i;i=0;}else i-=digits;temp=number.substring(i,i+digits)+(i<len-digits&&i>=0?separator:'')+temp;}return(neg?'-':'')+temp+number.substring(len);};bigDecimal.prototype.getPrettyValue=function(digits,separator){return bigDecimal.getPrettyValue(this.value,digits,separator);};bigDecimal.round=function(number,precision,mode){if(precision===void 0){precision=0;}if(mode===void 0){mode=roundingModes_1.RoundingModes.HALF_EVEN;}number=bigDecimal.validate(number);// console.log(number)
|
|
1026
|
-
if(isNaN(precision))throw Error("Precision is not a number: "+precision);return(0,round_1.roundOff)(number,precision,mode);};bigDecimal.prototype.round=function(precision,mode){if(precision===void 0){precision=0;}if(mode===void 0){mode=roundingModes_1.RoundingModes.HALF_EVEN;}if(isNaN(precision))throw Error("Precision is not a number: "+precision);return new bigDecimal((0,round_1.roundOff)(this.value,precision,mode));};bigDecimal.abs=function(number){number=bigDecimal.validate(number);return(0,abs_1.abs)(number);};bigDecimal.prototype.abs=function(){return new bigDecimal((0,abs_1.abs)(this.value));};bigDecimal.floor=function(number){number=bigDecimal.validate(number);if(number.indexOf('.')===-1)return number;return bigDecimal.round(number,0,roundingModes_1.RoundingModes.FLOOR);};bigDecimal.prototype.floor=function(){if(this.value.indexOf('.')===-1)return new bigDecimal(this.value);return new bigDecimal(this.value).round(0,roundingModes_1.RoundingModes.FLOOR);};bigDecimal.ceil=function(number){number=bigDecimal.validate(number);if(number.indexOf('.')===-1)return number;return bigDecimal.round(number,0,roundingModes_1.RoundingModes.CEILING);};bigDecimal.prototype.ceil=function(){if(this.value.indexOf('.')===-1)return new bigDecimal(this.value);return new bigDecimal(this.value).round(0,roundingModes_1.RoundingModes.CEILING);};bigDecimal.add=function(number1,number2){number1=bigDecimal.validate(number1);number2=bigDecimal.validate(number2);return(0,add_1.add)(number1,number2);};bigDecimal.prototype.add=function(number){return new bigDecimal((0,add_1.add)(this.value,number.getValue()));};bigDecimal.subtract=function(number1,number2){number1=bigDecimal.validate(number1);number2=bigDecimal.validate(number2);return(0,subtract_1.subtract)(number1,number2);};bigDecimal.prototype.subtract=function(number){return new bigDecimal((0,subtract_1.subtract)(this.value,number.getValue()));};bigDecimal.multiply=function(number1,number2){number1=bigDecimal.validate(number1);number2=bigDecimal.validate(number2);return(0,multiply_1.multiply)(number1,number2);};bigDecimal.prototype.multiply=function(number){return new bigDecimal((0,multiply_1.multiply)(this.value,number.getValue()));};bigDecimal.divide=function(number1,number2,precision){number1=bigDecimal.validate(number1);number2=bigDecimal.validate(number2);return(0,divide_1.divide)(number1,number2,precision);};bigDecimal.prototype.divide=function(number,precision){return new bigDecimal((0,divide_1.divide)(this.value,number.getValue(),precision));};bigDecimal.modulus=function(number1,number2){number1=bigDecimal.validate(number1);number2=bigDecimal.validate(number2);return(0,modulus_1.modulus)(number1,number2);};bigDecimal.prototype.modulus=function(number){return new bigDecimal((0,modulus_1.modulus)(this.value,number.getValue()));};bigDecimal.compareTo=function(number1,number2){number1=bigDecimal.validate(number1);number2=bigDecimal.validate(number2);return(0,compareTo_1.compareTo)(number1,number2);};bigDecimal.prototype.compareTo=function(number){return(0,compareTo_1.compareTo)(this.value,number.getValue());};bigDecimal.negate=function(number){number=bigDecimal.validate(number);return(0,subtract_1.negate)(number);};bigDecimal.prototype.negate=function(){return new bigDecimal((0,subtract_1.negate)(this.value));};bigDecimal.RoundingModes=roundingModes_1.RoundingModes;return bigDecimal;}();module.exports=bigDecimal;/***/},/***/664:/***/function _(__unused_webpack_module,exports,__webpack_require__){Object.defineProperty(exports,"__esModule",{value:true});exports.compareTo=void 0;var add_1=__webpack_require__(217);function compareTo(number1,number2){var _a;var negative=false;if(number1[0]=='-'&&number2[0]!="-"){return-1;}else if(number1[0]!='-'&&number2[0]=='-'){return 1;}else if(number1[0]=='-'&&number2[0]=='-'){number1=number1.substr(1);number2=number2.substr(1);negative=true;}_a=(0,add_1.pad)(number1,number2),number1=_a[0],number2=_a[1];if(number1.localeCompare(number2)==0){return 0;}for(var i=0;i<number1.length;i++){if(number1[i]==number2[i]){continue;}else if(number1[i]>number2[i]){if(negative){return-1;}else{return 1;}}else{if(negative){return 1;}else{return-1;}}}return 0;}exports.compareTo=compareTo;/***/},/***/415:/***/function _(__unused_webpack_module,exports,__webpack_require__){Object.defineProperty(exports,"__esModule",{value:true});exports.divide=void 0;var add_1=__webpack_require__(217);var round_1=__webpack_require__(350);function divide(dividend,divisor,precission){if(precission===void 0){precission=8;}if(divisor==0){throw new Error('Cannot divide by 0');}dividend=dividend.toString();divisor=divisor.toString();// remove trailing zeros in decimal ISSUE#18
|
|
1027
|
-
dividend=dividend.replace(/(\.\d*?[1-9])0+$/g,"$1").replace(/\.0+$/,"");divisor=divisor.replace(/(\.\d*?[1-9])0+$/g,"$1").replace(/\.0+$/,"");if(dividend==0)return'0';var neg=0;if(divisor[0]=='-'){divisor=divisor.substring(1);neg++;}if(dividend[0]=='-'){dividend=dividend.substring(1);neg++;}var pt_dvsr=divisor.indexOf('.')>0?divisor.length-divisor.indexOf('.')-1:-1;divisor=(0,add_1.trim)(divisor.replace('.',''));if(pt_dvsr>=0){var pt_dvnd=dividend.indexOf('.')>0?dividend.length-dividend.indexOf('.')-1:-1;if(pt_dvnd==-1){dividend=(0,add_1.trim)(dividend+new Array(pt_dvsr+1).join('0'));}else{if(pt_dvsr>pt_dvnd){dividend=dividend.replace('.','');dividend=(0,add_1.trim)(dividend+new Array(pt_dvsr-pt_dvnd+1).join('0'));}else if(pt_dvsr<pt_dvnd){dividend=dividend.replace('.','');var loc=dividend.length-pt_dvnd+pt_dvsr;dividend=(0,add_1.trim)(dividend.substring(0,loc)+'.'+dividend.substring(loc));}else if(pt_dvsr==pt_dvnd){dividend=(0,add_1.trim)(dividend.replace('.',''));}}}var prec=0,dl=divisor.length,rem='0',quotent='';var dvnd=dividend.indexOf('.')>-1&÷nd.indexOf('.')<dl?dividend.substring(0,dl+1):dividend.substring(0,dl);dividend=dividend.indexOf('.')>-1&÷nd.indexOf('.')<dl?dividend.substring(dl+1):dividend.substring(dl);if(dvnd.indexOf('.')>-1){var shift=dvnd.length-dvnd.indexOf('.')-1;dvnd=dvnd.replace('.','');if(dl>dvnd.length){shift+=dl-dvnd.length;dvnd=dvnd+new Array(dl-dvnd.length+1).join('0');}prec=shift;quotent='0.'+new Array(shift).join('0');}precission=precission+2;while(prec<=precission){var qt=0;while(parseInt(dvnd)>=parseInt(divisor)){dvnd=(0,add_1.add)(dvnd,'-'+divisor);qt++;}quotent+=qt;if(!dividend){if(!prec)quotent+='.';prec++;dvnd=dvnd+'0';}else{if(dividend[0]=='.'){quotent+='.';prec++;dividend=dividend.substring(1);}dvnd=dvnd+dividend.substring(0,1);dividend=dividend.substring(1);}}return(neg==1?'-':'')+(0,add_1.trim)((0,round_1.roundOff)(quotent,precission-2));}exports.divide=divide;/***/},/***/213:/***/function _(__unused_webpack_module,exports,__webpack_require__){Object.defineProperty(exports,"__esModule",{value:true});exports.modulus=void 0;var divide_1=__webpack_require__(415);var round_1=__webpack_require__(350);var multiply_1=__webpack_require__(182);var subtract_1=__webpack_require__(26);var roundingModes_1=__webpack_require__(916);function modulus(dividend,divisor){if(divisor==0){throw new Error('Cannot divide by 0');}dividend=dividend.toString();divisor=divisor.toString();validate(dividend);validate(divisor);var sign='';if(dividend[0]=='-'){sign='-';dividend=dividend.substr(1);}if(divisor[0]=='-'){divisor=divisor.substr(1);}var result=(0,subtract_1.subtract)(dividend,(0,multiply_1.multiply)(divisor,(0,round_1.roundOff)((0,divide_1.divide)(dividend,divisor),0,roundingModes_1.RoundingModes.FLOOR)));return sign+result;}exports.modulus=modulus;function validate(oparand){if(oparand.indexOf('.')!=-1){throw new Error('Modulus of non-integers not supported');}}/***/},/***/182:/***/function _(__unused_webpack_module,exports){Object.defineProperty(exports,"__esModule",{value:true});exports.multiply=void 0;function multiply(number1,number2){number1=number1.toString();number2=number2.toString();/*Filter numbers*/var negative=0;if(number1[0]=='-'){negative++;number1=number1.substr(1);}if(number2[0]=='-'){negative++;number2=number2.substr(1);}number1=trailZero(number1);number2=trailZero(number2);var decimalLength1=0;var decimalLength2=0;if(number1.indexOf('.')!=-1){decimalLength1=number1.length-number1.indexOf('.')-1;}if(number2.indexOf('.')!=-1){decimalLength2=number2.length-number2.indexOf('.')-1;}var decimalLength=decimalLength1+decimalLength2;number1=trailZero(number1.replace('.',''));number2=trailZero(number2.replace('.',''));if(number1.length<number2.length){var temp=number1;number1=number2;number2=temp;}if(number2=='0'){return'0';}/*
|
|
1028
|
-
* Core multiplication
|
|
1029
|
-
*/var length=number2.length;var carry=0;var positionVector=[];var currentPosition=length-1;var result="";for(var i=0;i<length;i++){positionVector[i]=number1.length-1;}for(var i=0;i<2*number1.length;i++){var sum=0;for(var j=number2.length-1;j>=currentPosition&&j>=0;j--){if(positionVector[j]>-1&&positionVector[j]<number1.length){sum+=parseInt(number1[positionVector[j]--])*parseInt(number2[j]);}}sum+=carry;carry=Math.floor(sum/10);result=sum%10+result;currentPosition--;}/*
|
|
1030
|
-
* Formatting result
|
|
1031
|
-
*/result=trailZero(adjustDecimal(result,decimalLength));if(negative==1){result='-'+result;}return result;}exports.multiply=multiply;/*
|
|
1032
|
-
* Add decimal point
|
|
1033
|
-
*/function adjustDecimal(number,decimal){if(decimal==0)return number;else{number=decimal>=number.length?new Array(decimal-number.length+1).join('0')+number:number;return number.substr(0,number.length-decimal)+'.'+number.substr(number.length-decimal,decimal);}}/*
|
|
1034
|
-
* Removes zero from front and back*/function trailZero(number){while(number[0]=='0'){number=number.substr(1);}if(number.indexOf('.')!=-1){while(number[number.length-1]=='0'){number=number.substr(0,number.length-1);}}if(number==""||number=="."){number='0';}else if(number[number.length-1]=='.'){number=number.substr(0,number.length-1);}if(number[0]=='.'){number='0'+number;}return number;}/***/},/***/350:/***/function _(__unused_webpack_module,exports,__webpack_require__){Object.defineProperty(exports,"__esModule",{value:true});exports.roundOff=void 0;var roundingModes_1=__webpack_require__(916);/**
|
|
1035
|
-
*
|
|
1036
|
-
* @param input the number to round
|
|
1037
|
-
* @param n precision
|
|
1038
|
-
* @param mode Rounding Mode
|
|
1039
|
-
*/function roundOff(input,n,mode){if(n===void 0){n=0;}if(mode===void 0){mode=roundingModes_1.RoundingModes.HALF_EVEN;}if(mode===roundingModes_1.RoundingModes.UNNECESSARY){throw new Error("UNNECESSARY Rounding Mode has not yet been implemented");}if(typeof input=='number'||typeof input=='bigint')input=input.toString();var neg=false;if(input[0]==='-'){neg=true;input=input.substring(1);}var parts=input.split('.'),partInt=parts[0],partDec=parts[1];//handle case of -ve n: roundOff(12564,-2)=12600
|
|
1040
|
-
if(n<0){n=-n;if(partInt.length<=n)return'0';else{var prefix=partInt.substr(0,partInt.length-n);input=prefix+'.'+partInt.substr(partInt.length-n)+partDec;prefix=roundOff(input,0,mode);return(neg?'-':'')+prefix+new Array(n+1).join('0');}}// handle case when integer output is desired
|
|
1041
|
-
if(n==0){var l=partInt.length;if(greaterThanFive(parts[1],partInt,neg,mode)){partInt=increment(partInt);}return(neg&&parseInt(partInt)?'-':'')+partInt;}// handle case when n>0
|
|
1042
|
-
if(!parts[1]){return(neg?'-':'')+partInt+'.'+new Array(n+1).join('0');}else if(parts[1].length<n){return(neg?'-':'')+partInt+'.'+parts[1]+new Array(n-parts[1].length+1).join('0');}partDec=parts[1].substring(0,n);var rem=parts[1].substring(n);if(rem&&greaterThanFive(rem,partDec,neg,mode)){partDec=increment(partDec);if(partDec.length>n){return(neg?'-':'')+increment(partInt,parseInt(partDec[0]))+'.'+partDec.substring(1);}}return(neg&&(parseInt(partInt)||parseInt(partDec))?'-':'')+partInt+'.'+partDec;}exports.roundOff=roundOff;function greaterThanFive(part,pre,neg,mode){if(!part||part===new Array(part.length+1).join('0'))return false;// #region UP, DOWN, CEILING, FLOOR
|
|
1043
|
-
if(mode===roundingModes_1.RoundingModes.DOWN||!neg&&mode===roundingModes_1.RoundingModes.FLOOR||neg&&mode===roundingModes_1.RoundingModes.CEILING)return false;if(mode===roundingModes_1.RoundingModes.UP||neg&&mode===roundingModes_1.RoundingModes.FLOOR||!neg&&mode===roundingModes_1.RoundingModes.CEILING)return true;// #endregion
|
|
1044
|
-
// case when part !== five
|
|
1045
|
-
var five='5'+new Array(part.length).join('0');if(part>five)return true;else if(part<five)return false;// case when part === five
|
|
1046
|
-
switch(mode){case roundingModes_1.RoundingModes.HALF_DOWN:return false;case roundingModes_1.RoundingModes.HALF_UP:return true;case roundingModes_1.RoundingModes.HALF_EVEN:default:return parseInt(pre[pre.length-1])%2==1;}}function increment(part,c){if(c===void 0){c=0;}if(!c)c=1;if(typeof part=='number')part.toString();var l=part.length-1,s='';for(var i=l;i>=0;i--){var x=parseInt(part[i])+c;if(x==10){c=1;x=0;}else{c=0;}s+=x;}if(c)s+=c;return s.split('').reverse().join('');}/***/},/***/916:/***/function _(__unused_webpack_module,exports){Object.defineProperty(exports,"__esModule",{value:true});exports.RoundingModes=void 0;var RoundingModes;(function(RoundingModes){/**
|
|
1047
|
-
* Rounding mode to round towards positive infinity.
|
|
1048
|
-
*/RoundingModes[RoundingModes["CEILING"]=0]="CEILING";/**
|
|
1049
|
-
* Rounding mode to round towards zero.
|
|
1050
|
-
*/RoundingModes[RoundingModes["DOWN"]=1]="DOWN";/**
|
|
1051
|
-
* Rounding mode to round towards negative infinity.
|
|
1052
|
-
*/RoundingModes[RoundingModes["FLOOR"]=2]="FLOOR";/**
|
|
1053
|
-
* Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant,
|
|
1054
|
-
* in which case round down.
|
|
1055
|
-
*/RoundingModes[RoundingModes["HALF_DOWN"]=3]="HALF_DOWN";/**
|
|
1056
|
-
* Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant,
|
|
1057
|
-
* in which case, round towards the even neighbor.
|
|
1058
|
-
*/RoundingModes[RoundingModes["HALF_EVEN"]=4]="HALF_EVEN";/**
|
|
1059
|
-
* Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant,
|
|
1060
|
-
* in which case round up.
|
|
1061
|
-
*/RoundingModes[RoundingModes["HALF_UP"]=5]="HALF_UP";/**
|
|
1062
|
-
* Rounding mode to assert that the requested operation has an exact result, hence no rounding is necessary.
|
|
1063
|
-
* UNIMPLEMENTED
|
|
1064
|
-
*/RoundingModes[RoundingModes["UNNECESSARY"]=6]="UNNECESSARY";/**
|
|
1065
|
-
* Rounding mode to round away from zero.
|
|
1066
|
-
*/RoundingModes[RoundingModes["UP"]=7]="UP";})(RoundingModes=exports.RoundingModes||(exports.RoundingModes={}));/***/},/***/26:/***/function _(__unused_webpack_module,exports,__webpack_require__){Object.defineProperty(exports,"__esModule",{value:true});exports.negate=exports.subtract=void 0;var add_1=__webpack_require__(217);function subtract(number1,number2){number1=number1.toString();number2=number2.toString();number2=negate(number2);return(0,add_1.add)(number1,number2);}exports.subtract=subtract;function negate(number){if(number[0]=='-'){number=number.substr(1);}else{number='-'+number;}return number;}exports.negate=negate;/***/}/******/};/************************************************************************/ /******/ // The module cache
|
|
1067
|
-
/******/var __webpack_module_cache__={};/******/ /******/ // The require function
|
|
1068
|
-
/******/function __webpack_require__(moduleId){/******/ // Check if module is in cache
|
|
1069
|
-
/******/var cachedModule=__webpack_module_cache__[moduleId];/******/if(cachedModule!==undefined){/******/return cachedModule.exports;/******/}/******/ // Create a new module (and put it into the cache)
|
|
1070
|
-
/******/var module=__webpack_module_cache__[moduleId]={/******/ // no module.id needed
|
|
1071
|
-
/******/ // no module.loaded needed
|
|
1072
|
-
/******/exports:{}/******/};/******/ /******/ // Execute the module function
|
|
1073
|
-
/******/__webpack_modules__[moduleId](module,module.exports,__webpack_require__);/******/ /******/ // Return the exports of the module
|
|
1074
|
-
/******/return module.exports;/******/}/******/ /************************************************************************/ /******/ /******/ // startup
|
|
1075
|
-
/******/ // Load entry module and return exports
|
|
1076
|
-
/******/ // This entry module is referenced by other modules so it can't be inlined
|
|
1077
|
-
/******/var __webpack_exports__=__webpack_require__(423);/******/ /******/return __webpack_exports__;/******/}());});}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{}],60:[function(require,module,exports){// When a boxed property is passed in, it should have quotes of some
|
|
1261
|
+
module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function TempCtor(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor();ctor.prototype.constructor=ctor;}};}},{}],60:[function(require,module,exports){// When a boxed property is passed in, it should have quotes of some
|
|
1078
1262
|
// kind around it.
|
|
1079
1263
|
//
|
|
1080
1264
|
// For instance:
|
|
@@ -1718,7 +1902,7 @@ var tmpOverwriteProperties=typeof pOverwriteProperties=='undefined'?false:pOverw
|
|
|
1718
1902
|
// The default filter function just returns true, populating everything.
|
|
1719
1903
|
var tmpFilterFunction=typeof fFilter=='function'?fFilter:function(pDescriptor){return true;};this.elementAddresses.forEach(function(pAddress){var tmpDescriptor=_this34.getDescriptor(pAddress);// Check the filter function to see if this is an address we want to set the value for.
|
|
1720
1904
|
if(tmpFilterFunction(tmpDescriptor)){// If we are overwriting properties OR the property does not exist
|
|
1721
|
-
if(tmpOverwriteProperties||!_this34.checkAddressExists(tmpObject,pAddress)){_this34.setValueAtAddress(tmpObject,pAddress,_this34.getDefaultValue(tmpDescriptor));}}});return tmpObject;}}]);return Manyfest;}(libFableServiceProviderBase);;module.exports=Manyfest;},{"./Manyfest-HashTranslation.js":61,"./Manyfest-LogToConsole.js":62,"./Manyfest-ObjectAddress-CheckAddressExists.js":63,"./Manyfest-ObjectAddress-DeleteValue.js":64,"./Manyfest-ObjectAddress-GetValue.js":65,"./Manyfest-ObjectAddress-SetValue.js":66,"./Manyfest-ObjectAddressGeneration.js":67,"./Manyfest-SchemaManipulation.js":69,"fable-serviceproviderbase":
|
|
1905
|
+
if(tmpOverwriteProperties||!_this34.checkAddressExists(tmpObject,pAddress)){_this34.setValueAtAddress(tmpObject,pAddress,_this34.getDefaultValue(tmpDescriptor));}}});return tmpObject;}}]);return Manyfest;}(libFableServiceProviderBase);;module.exports=Manyfest;},{"./Manyfest-HashTranslation.js":61,"./Manyfest-LogToConsole.js":62,"./Manyfest-ObjectAddress-CheckAddressExists.js":63,"./Manyfest-ObjectAddress-DeleteValue.js":64,"./Manyfest-ObjectAddress-GetValue.js":65,"./Manyfest-ObjectAddress-SetValue.js":66,"./Manyfest-ObjectAddressGeneration.js":67,"./Manyfest-SchemaManipulation.js":69,"fable-serviceproviderbase":34}],71:[function(require,module,exports){var wrappy=require('wrappy');module.exports=wrappy(once);module.exports.strict=wrappy(onceStrict);once.proto=once(function(){Object.defineProperty(Function.prototype,'once',{value:function value(){return once(this);},configurable:true});Object.defineProperty(Function.prototype,'onceStrict',{value:function value(){return onceStrict(this);},configurable:true});});function once(fn){var f=function f(){if(f.called)return f.value;f.called=true;return f.value=fn.apply(this,arguments);};f.called=false;return f;}function onceStrict(fn){var f=function f(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=fn.apply(this,arguments);};var name=fn.name||'Function wrapped with `once`';f.onceError=name+" shouldn't be called more than once";f.called=false;return f;}},{"wrappy":110}],72:[function(require,module,exports){(function(process){(function(){// 'path' module extracted from Node.js v8.11.1 (only the posix part)
|
|
1722
1906
|
// transplited with Babel
|
|
1723
1907
|
// Copyright Joyent, Inc. and other Node contributors.
|
|
1724
1908
|
//
|
|
@@ -1822,7 +2006,7 @@ var tmpLoadedViews=Object.keys(this.pict.views);var tmpViewsToInitialize=[];for(
|
|
|
1822
2006
|
// If they are all the default priority 0, it will end up being add order due to JSON Object Property Key order stuff
|
|
1823
2007
|
tmpViewsToInitialize.sort(function(a,b){return a.options.AutoInitializeOrdinal-b.options.AutoInitializeOrdinal;});for(var _i15=0;_i15<tmpViewsToInitialize.length;_i15++){var _tmpView=tmpViewsToInitialize[_i15];tmpAnticipate.anticipate(_tmpView.initializeAsync.bind(_tmpView));}tmpAnticipate.anticipate(this.onAfterInitializeAsync.bind(this));if(this.options.AutoSolveAfterInitialize){if(this.pict.LogNoisiness>1){this.log.trace("PictApp [".concat(this.UUID,"]::[").concat(this.Hash,"] ").concat(this.options.Name," auto solving (asynchronously) after initialization..."));}tmpAnticipate.anticipate(this.solveAsync.bind(this));}if(this.options.AutoRenderMainViewportViewAfterInitialize){if(this.pict.LogNoisiness>1){this.log.trace("PictApp [".concat(this.UUID,"]::[").concat(this.Hash,"] ").concat(this.options.Name," auto rendering (asynchronously) after initialization..."));}tmpAnticipate.anticipate(this.renderMainViewportAsync.bind(this));}tmpAnticipate.wait(function(pError){_this37.initializeTimestamp=_this37.fable.log.getTimeStamp();if(_this37.pict.LogNoisiness>2){_this37.log.trace("PictApp [".concat(_this37.UUID,"]::[").concat(_this37.Hash,"] ").concat(_this37.options.Name," initialization complete."));}return fCallBack();});}else{this.log.warn("PictApp [".concat(this.UUID,"]::[").concat(this.Hash,"] ").concat(this.options.Name," async initialize called but initialization is already completed. Aborting."));// TODO: Should this be an error?
|
|
1824
2008
|
return fCallback();}}},{key:"onAfterInitialize",value:function onAfterInitialize(){if(this.pict.LogNoisiness>3){this.log.trace("PictApp [".concat(this.UUID,"]::[").concat(this.Hash,"] ").concat(this.options.Name," onAfterInitialize:"));}return true;}},{key:"onAfterInitializeAsync",value:function onAfterInitializeAsync(fCallback){this.onAfterInitialize();return fCallback();}},{key:"render",value:function render(pViewIdentifier,pRenderableHash,pRenderDestinationAddress,pTemplateDataAddress){var tmpViewIdentifier=typeof pViewIdentifier==='undefined'?this.options.MainViewportViewIdentifier:pViewIdentifier;var tmpRenderableHash=typeof pRenderableHash==='undefined'?this.options.MainViewportRenderableHash:pRenderableHash;var tmpRenderDestinationAddress=typeof pRenderDestinationAddress==='undefined'?this.options.MainViewportDestinationAddress:pRenderDestinationAddress;var tmpTemplateDataAddress=typeof pTemplateDataAddress==='undefined'?this.options.MainViewportDefaultDataAddress:pTemplateDataAddress;// Now get the view (by hash) from the loaded views
|
|
1825
|
-
var tmpView=typeof tmpViewIdentifier==='string'?this.servicesMap.PictView[tmpViewIdentifier]:false;if(!tmpView){this.log.error("PictApp [".concat(this.UUID,"]::[").concat(this.Hash,"] ").concat(this.options.Name," could not render from View ").concat(tmpViewIdentifier," because it is not a valid view."));return false;}return tmpView.render(tmpRenderableHash,tmpRenderDestinationAddress,tmpTemplateDataAddress);}},{key:"renderMainViewport",value:function renderMainViewport(){return this.render(this.options.MainViewportViewIdentifier,this.options.MainViewportRenderableHash,this.options.MainViewportDestinationAddress,this.options.MainViewportDefaultDataAddress);}},{key:"renderAsync",value:function renderAsync(pViewIdentifier,pRenderableHash,pRenderDestinationAddress,pTemplateDataAddress,fCallback){var tmpViewIdentifier=typeof pViewIdentifier==='undefined'?this.options.MainViewportViewIdentifier:pViewIdentifier;var tmpRenderableHash=typeof pRenderableHash==='undefined'?this.options.MainViewportRenderableHash:pRenderableHash;var tmpRenderDestinationAddress=typeof pRenderDestinationAddress==='undefined'?this.options.MainViewportDestinationAddress:pRenderDestinationAddress;var tmpTemplateDataAddress=typeof pTemplateDataAddress==='undefined'?this.options.MainViewportDefaultDataAddress:pTemplateDataAddress;var tmpView=typeof tmpViewIdentifier==='string'?this.servicesMap.PictView[tmpViewIdentifier]:false;if(!tmpView){var tmpErrorMessage="PictApp [".concat(this.UUID,"]::[").concat(this.Hash,"] ").concat(this.options.Name," could not asynchronously render from View ").concat(tmpViewIdentifier," because it is not a valid view.");if(this.pict.LogNoisiness>3){this.log.error(tmpErrorMessage);}return fCallback(new Error(tmpErrorMessage));}return tmpView.renderAsync(tmpRenderableHash,tmpRenderDestinationAddress,tmpTemplateDataAddress,fCallback);}},{key:"renderMainViewportAsync",value:function renderMainViewportAsync(fCallback){return this.renderAsync(this.options.MainViewportViewIdentifier,this.options.MainViewportRenderableHash,this.options.MainViewportDestinationAddress,this.options.MainViewportDefaultDataAddress,fCallback);}}]);return PictApplication;}(libFableServiceBase);module.exports=PictApplication;},{"fable-serviceproviderbase":
|
|
2009
|
+
var tmpView=typeof tmpViewIdentifier==='string'?this.servicesMap.PictView[tmpViewIdentifier]:false;if(!tmpView){this.log.error("PictApp [".concat(this.UUID,"]::[").concat(this.Hash,"] ").concat(this.options.Name," could not render from View ").concat(tmpViewIdentifier," because it is not a valid view."));return false;}return tmpView.render(tmpRenderableHash,tmpRenderDestinationAddress,tmpTemplateDataAddress);}},{key:"renderMainViewport",value:function renderMainViewport(){return this.render(this.options.MainViewportViewIdentifier,this.options.MainViewportRenderableHash,this.options.MainViewportDestinationAddress,this.options.MainViewportDefaultDataAddress);}},{key:"renderAsync",value:function renderAsync(pViewIdentifier,pRenderableHash,pRenderDestinationAddress,pTemplateDataAddress,fCallback){var tmpViewIdentifier=typeof pViewIdentifier==='undefined'?this.options.MainViewportViewIdentifier:pViewIdentifier;var tmpRenderableHash=typeof pRenderableHash==='undefined'?this.options.MainViewportRenderableHash:pRenderableHash;var tmpRenderDestinationAddress=typeof pRenderDestinationAddress==='undefined'?this.options.MainViewportDestinationAddress:pRenderDestinationAddress;var tmpTemplateDataAddress=typeof pTemplateDataAddress==='undefined'?this.options.MainViewportDefaultDataAddress:pTemplateDataAddress;var tmpView=typeof tmpViewIdentifier==='string'?this.servicesMap.PictView[tmpViewIdentifier]:false;if(!tmpView){var tmpErrorMessage="PictApp [".concat(this.UUID,"]::[").concat(this.Hash,"] ").concat(this.options.Name," could not asynchronously render from View ").concat(tmpViewIdentifier," because it is not a valid view.");if(this.pict.LogNoisiness>3){this.log.error(tmpErrorMessage);}return fCallback(new Error(tmpErrorMessage));}return tmpView.renderAsync(tmpRenderableHash,tmpRenderDestinationAddress,tmpTemplateDataAddress,fCallback);}},{key:"renderMainViewportAsync",value:function renderMainViewportAsync(fCallback){return this.renderAsync(this.options.MainViewportViewIdentifier,this.options.MainViewportRenderableHash,this.options.MainViewportDestinationAddress,this.options.MainViewportDefaultDataAddress,fCallback);}}]);return PictApplication;}(libFableServiceBase);module.exports=PictApplication;},{"fable-serviceproviderbase":34}],74:[function(require,module,exports){var libFableServiceBase=require('fable-serviceproviderbase');var defaultPictViewSettings={DefaultRenderable:false,DefaultDestinationAddress:false,DefaultTemplateRecordAddress:false,ViewIdentifier:false,// If this is set to true, when the App initializes this will.
|
|
1826
2010
|
// After the App initializes, initialize will be called as soon as it's added.
|
|
1827
2011
|
AutoInitialize:true,AutoInitializeOrdinal:0,// If this is set to true, when the App autorenders (on load) this will.
|
|
1828
2012
|
// After the App initializes, render will be called as soon as it's added.
|
|
@@ -1853,7 +2037,7 @@ this.onBeforeRender(tmpRenderable,tmpRenderDestinationAddress,tmpData);// Render
|
|
|
1853
2037
|
this.pict.parseTemplateByHash(tmpRenderable.TemplateHash,tmpData,function(pError,pContent){if(pError){_this41.log.error("PictView [".concat(_this41.UUID,"]::[").concat(_this41.Hash,"] ").concat(_this41.options.ViewIdentifier," could not render (asynchronously) ").concat(tmpRenderableHash," (param ").concat(pRenderable,") because it did not parse the template."),pError);return fCallback(pError);}// Assign the content to the destination address
|
|
1854
2038
|
switch(tmpRenderable.RenderMethod){case'append':_this41.pict.ContentAssignment.appendContent(tmpRenderDestinationAddress,pContent);break;case'prepend':_this41.pict.ContentAssignment.prependContent(tmpRenderDestinationAddress,pContent);break;case'append_once':// Try to find the content in the destination address
|
|
1855
2039
|
var tmpExistingContent=_this41.pict.ContentAssignment.getElement("#".concat(tmpRenderableHash));if(tmpExistingContent.length<1){_this41.pict.ContentAssignment.appendContent(tmpRenderDestinationAddress,pContent);}case'replace':default:_this41.pict.ContentAssignment.assignContent(tmpRenderDestinationAddress,pContent);break;}// Execute the developer-overridable post-render behavior
|
|
1856
|
-
_this41.onAfterRender(tmpRenderable,tmpRenderDestinationAddress,tmpData,pContent);_this41.lastRenderedTimestamp=_this41.pict.log.getTimeStamp();return fCallback(null,pContent);});}},{key:"onAfterRender",value:function onAfterRender(){if(this.pict.LogNoisiness>3){this.log.trace("PictView [".concat(this.UUID,"]::[").concat(this.Hash,"] ").concat(this.options.ViewIdentifier," onAfterRender:"));}return true;}},{key:"onAfterRenderAsync",value:function onAfterRenderAsync(fCallback){this.onAfterRender();return fCallback();}}]);return PictView;}(libFableServiceBase);module.exports=PictView;},{"fable-serviceproviderbase":
|
|
2040
|
+
_this41.onAfterRender(tmpRenderable,tmpRenderDestinationAddress,tmpData,pContent);_this41.lastRenderedTimestamp=_this41.pict.log.getTimeStamp();return fCallback(null,pContent);});}},{key:"onAfterRender",value:function onAfterRender(){if(this.pict.LogNoisiness>3){this.log.trace("PictView [".concat(this.UUID,"]::[").concat(this.Hash,"] ").concat(this.options.ViewIdentifier," onAfterRender:"));}return true;}},{key:"onAfterRenderAsync",value:function onAfterRenderAsync(fCallback){this.onAfterRender();return fCallback();}}]);return PictView;}(libFableServiceBase);module.exports=PictView;},{"fable-serviceproviderbase":34}],75:[function(require,module,exports){/**
|
|
1857
2041
|
* Precedent Meta-Templating
|
|
1858
2042
|
*
|
|
1859
2043
|
* @license MIT
|
|
@@ -2176,7 +2360,7 @@ if(maxKeys>0&&len>maxKeys){len=maxKeys;}for(var i=0;i<len;++i){var x=qs[i].repla
|
|
|
2176
2360
|
'use strict';var stringifyPrimitive=function stringifyPrimitive(v){switch(_typeof(v)){case'string':return v;case'boolean':return v?'true':'false';case'number':return isFinite(v)?v:'';default:return'';}};module.exports=function(obj,sep,eq,name){sep=sep||'&';eq=eq||'=';if(obj===null){obj=undefined;}if(_typeof(obj)==='object'){return map(objectKeys(obj),function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+eq;if(isArray(obj[k])){return map(obj[k],function(v){return ks+encodeURIComponent(stringifyPrimitive(v));}).join(sep);}else{return ks+encodeURIComponent(stringifyPrimitive(obj[k]));}}).join(sep);}if(!name)return'';return encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj));};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==='[object Array]';};function map(xs,f){if(xs.map)return xs.map(f);var res=[];for(var i=0;i<xs.length;i++){res.push(f(xs[i],i));}return res;}var objectKeys=Object.keys||function(obj){var res=[];for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))res.push(key);}return res;};},{}],82:[function(require,module,exports){'use strict';exports.decode=exports.parse=require('./decode');exports.encode=exports.stringify=require('./encode');},{"./decode":80,"./encode":81}],83:[function(require,module,exports){/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */ /* eslint-disable node/no-deprecated-api */var buffer=require('buffer');var Buffer=buffer.Buffer;// alternative to using Object.keys for old browsers
|
|
2177
2361
|
function copyProps(src,dst){for(var key in src){dst[key]=src[key];}}if(Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow){module.exports=buffer;}else{// Copy properties from require('buffer')
|
|
2178
2362
|
copyProps(buffer,exports);exports.Buffer=SafeBuffer;}function SafeBuffer(arg,encodingOrOffset,length){return Buffer(arg,encodingOrOffset,length);}SafeBuffer.prototype=Object.create(Buffer.prototype);// Copy static methods from Buffer
|
|
2179
|
-
copyProps(Buffer,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==='number'){throw new TypeError('Argument must not be a number');}return Buffer(arg,encodingOrOffset,length);};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!=='number'){throw new TypeError('Argument must be a number');}var buf=Buffer(size);if(fill!==undefined){if(typeof encoding==='string'){buf.fill(fill,encoding);}else{buf.fill(fill);}}else{buf.fill(0);}return buf;};SafeBuffer.allocUnsafe=function(size){if(typeof size!=='number'){throw new TypeError('Argument must be a number');}return Buffer(size);};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!=='number'){throw new TypeError('Argument must be a number');}return buffer.SlowBuffer(size);};},{"buffer":
|
|
2363
|
+
copyProps(Buffer,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==='number'){throw new TypeError('Argument must not be a number');}return Buffer(arg,encodingOrOffset,length);};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!=='number'){throw new TypeError('Argument must be a number');}var buf=Buffer(size);if(fill!==undefined){if(typeof encoding==='string'){buf.fill(fill,encoding);}else{buf.fill(fill);}}else{buf.fill(0);}return buf;};SafeBuffer.allocUnsafe=function(size){if(typeof size!=='number'){throw new TypeError('Argument must be a number');}return Buffer(size);};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!=='number'){throw new TypeError('Argument must be a number');}return buffer.SlowBuffer(size);};},{"buffer":20}],84:[function(require,module,exports){(function(Buffer){(function(){/*! simple-concat. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */module.exports=function(stream,cb){var chunks=[];stream.on('data',function(chunk){chunks.push(chunk);});stream.once('end',function(){if(cb)cb(null,Buffer.concat(chunks));cb=null;});stream.once('error',function(err){if(cb)cb(err);cb=null;});};}).call(this);}).call(this,require("buffer").Buffer);},{"buffer":20}],85:[function(require,module,exports){(function(Buffer){(function(){/*! simple-get. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */module.exports=simpleGet;var concat=require('simple-concat');var decompressResponse=require('decompress-response');// excluded from browser build
|
|
2180
2364
|
var http=require('http');var https=require('https');var once=require('once');var querystring=require('querystring');var url=require('url');var isStream=function isStream(o){return o!==null&&_typeof(o)==='object'&&typeof o.pipe==='function';};function simpleGet(opts,cb){opts=Object.assign({maxRedirects:10},typeof opts==='string'?{url:opts}:opts);cb=once(cb);if(opts.url){var _url$parse=url.parse(opts.url),hostname=_url$parse.hostname,port=_url$parse.port,_protocol=_url$parse.protocol,auth=_url$parse.auth,path=_url$parse.path;// eslint-disable-line node/no-deprecated-api
|
|
2181
2365
|
delete opts.url;if(!hostname&&!port&&!_protocol&&!auth)opts.path=path;// Relative redirect
|
|
2182
2366
|
else Object.assign(opts,{hostname:hostname,port:port,protocol:_protocol,auth:auth,path:path});// Absolute redirect
|
|
@@ -2188,13 +2372,13 @@ res.resume();// Discard response
|
|
|
2188
2372
|
var redirectHost=url.parse(opts.url).hostname;// eslint-disable-line node/no-deprecated-api
|
|
2189
2373
|
// If redirected host is different than original host, drop headers to prevent cookie leak (#73)
|
|
2190
2374
|
if(redirectHost!==null&&redirectHost!==originalHost){delete opts.headers.cookie;delete opts.headers.authorization;}if(opts.method==='POST'&&[301,302].includes(res.statusCode)){opts.method='GET';// On 301/302 redirect, change POST to GET (see #35)
|
|
2191
|
-
delete opts.headers['content-length'];delete opts.headers['content-type'];}if(opts.maxRedirects--===0)return cb(new Error('too many redirects'));else return simpleGet(opts,cb);}var tryUnzip=typeof decompressResponse==='function'&&opts.method!=='HEAD';cb(null,tryUnzip?decompressResponse(res):res);});req.on('timeout',function(){req.abort();cb(new Error('Request timed out'));});req.on('error',cb);if(isStream(body))body.on('error',cb).pipe(req);else req.end(body);return req;}simpleGet.concat=function(opts,cb){return simpleGet(opts,function(err,res){if(err)return cb(err);concat(res,function(err,data){if(err)return cb(err);if(opts.json){try{data=JSON.parse(data.toString());}catch(err){return cb(err,res,data);}}cb(null,res,data);});});};['get','post','put','patch','head','delete'].forEach(function(method){simpleGet[method]=function(opts,cb){if(typeof opts==='string')opts={url:opts};return simpleGet(Object.assign({method:method.toUpperCase()},opts),cb);};});}).call(this);}).call(this,require("buffer").Buffer);},{"buffer":
|
|
2375
|
+
delete opts.headers['content-length'];delete opts.headers['content-type'];}if(opts.maxRedirects--===0)return cb(new Error('too many redirects'));else return simpleGet(opts,cb);}var tryUnzip=typeof decompressResponse==='function'&&opts.method!=='HEAD';cb(null,tryUnzip?decompressResponse(res):res);});req.on('timeout',function(){req.abort();cb(new Error('Request timed out'));});req.on('error',cb);if(isStream(body))body.on('error',cb).pipe(req);else req.end(body);return req;}simpleGet.concat=function(opts,cb){return simpleGet(opts,function(err,res){if(err)return cb(err);concat(res,function(err,data){if(err)return cb(err);if(opts.json){try{data=JSON.parse(data.toString());}catch(err){return cb(err,res,data);}}cb(null,res,data);});});};['get','post','put','patch','head','delete'].forEach(function(method){simpleGet[method]=function(opts,cb){if(typeof opts==='string')opts={url:opts};return simpleGet(Object.assign({method:method.toUpperCase()},opts),cb);};});}).call(this);}).call(this,require("buffer").Buffer);},{"buffer":20,"decompress-response":18,"http":86,"https":57,"once":71,"querystring":82,"simple-concat":84,"url":107}],86:[function(require,module,exports){(function(global){(function(){var ClientRequest=require('./lib/request');var response=require('./lib/response');var extend=require('xtend');var statusCodes=require('builtin-status-codes');var url=require('url');var http=exports;http.request=function(opts,cb){if(typeof opts==='string')opts=url.parse(opts);else opts=extend(opts);// Normally, the page is loaded from http or https, so not specifying a protocol
|
|
2192
2376
|
// will result in a (valid) protocol-relative url. However, this won't work if
|
|
2193
2377
|
// the protocol is something else, like 'file:'
|
|
2194
2378
|
var defaultProtocol=global.location.protocol.search(/^https?:$/)===-1?'http:':'';var protocol=opts.protocol||defaultProtocol;var host=opts.hostname||opts.host;var port=opts.port;var path=opts.path||'/';// Necessary for IPv6 addresses
|
|
2195
2379
|
if(host&&host.indexOf(':')!==-1)host='['+host+']';// This may be a relative url. The browser should always be able to interpret it correctly.
|
|
2196
2380
|
opts.url=(host?protocol+'//'+host:'')+(port?':'+port:'')+path;opts.method=(opts.method||'GET').toUpperCase();opts.headers=opts.headers||{};// Also valid opts.auth, opts.mode
|
|
2197
|
-
var req=new ClientRequest(opts);if(cb)req.on('response',cb);return req;};http.get=function get(opts,cb){var req=http.request(opts,cb);req.end();return req;};http.ClientRequest=ClientRequest;http.IncomingMessage=response.IncomingMessage;http.Agent=function(){};http.Agent.defaultMaxSockets=4;http.globalAgent=new http.Agent();http.STATUS_CODES=statusCodes;http.METHODS=['CHECKOUT','CONNECT','COPY','DELETE','GET','HEAD','LOCK','M-SEARCH','MERGE','MKACTIVITY','MKCOL','MOVE','NOTIFY','OPTIONS','PATCH','POST','PROPFIND','PROPPATCH','PURGE','PUT','REPORT','SEARCH','SUBSCRIBE','TRACE','UNLOCK','UNSUBSCRIBE'];}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"./lib/request":88,"./lib/response":89,"builtin-status-codes":
|
|
2381
|
+
var req=new ClientRequest(opts);if(cb)req.on('response',cb);return req;};http.get=function get(opts,cb){var req=http.request(opts,cb);req.end();return req;};http.ClientRequest=ClientRequest;http.IncomingMessage=response.IncomingMessage;http.Agent=function(){};http.Agent.defaultMaxSockets=4;http.globalAgent=new http.Agent();http.STATUS_CODES=statusCodes;http.METHODS=['CHECKOUT','CONNECT','COPY','DELETE','GET','HEAD','LOCK','M-SEARCH','MERGE','MKACTIVITY','MKCOL','MOVE','NOTIFY','OPTIONS','PATCH','POST','PROPFIND','PROPPATCH','PURGE','PUT','REPORT','SEARCH','SUBSCRIBE','TRACE','UNLOCK','UNSUBSCRIBE'];}).call(this);}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"./lib/request":88,"./lib/response":89,"builtin-status-codes":21,"url":107,"xtend":111}],87:[function(require,module,exports){(function(global){(function(){exports.fetch=isFunction(global.fetch)&&isFunction(global.ReadableStream);exports.writableStream=isFunction(global.WritableStream);exports.abortController=isFunction(global.AbortController);// The xhr request to example.com may violate some restrictive CSP configurations,
|
|
2198
2382
|
// so if we're running in a browser that supports `fetch`, avoid calling getXHR()
|
|
2199
2383
|
// and assume support for certain features below.
|
|
2200
2384
|
var xhr;function getXHR(){// Cache the xhr value
|
|
@@ -2226,7 +2410,7 @@ if(self._mode==='moz-chunked-arraybuffer'){xhr.onprogress=function(){self._onXHR
|
|
|
2226
2410
|
* Even though the spec says it should be available in readyState 3,
|
|
2227
2411
|
* accessing it throws an exception in IE8
|
|
2228
2412
|
*/function statusValid(xhr){try{var status=xhr.status;return status!==null&&status!==0;}catch(e){return false;}}ClientRequest.prototype._onXHRProgress=function(){var self=this;self._resetTimers(false);if(!statusValid(self._xhr)||self._destroyed)return;if(!self._response)self._connect();self._response._onXHRProgress(self._resetTimers.bind(self));};ClientRequest.prototype._connect=function(){var self=this;if(self._destroyed)return;self._response=new IncomingMessage(self._xhr,self._fetchResponse,self._mode,self._resetTimers.bind(self));self._response.on('error',function(err){self.emit('error',err);});self.emit('response',self._response);};ClientRequest.prototype._write=function(chunk,encoding,cb){var self=this;self._body.push(chunk);cb();};ClientRequest.prototype._resetTimers=function(done){var self=this;global.clearTimeout(self._socketTimer);self._socketTimer=null;if(done){global.clearTimeout(self._fetchTimer);self._fetchTimer=null;}else if(self._socketTimeout){self._socketTimer=global.setTimeout(function(){self.emit('timeout');},self._socketTimeout);}};ClientRequest.prototype.abort=ClientRequest.prototype.destroy=function(err){var self=this;self._destroyed=true;self._resetTimers(true);if(self._response)self._response._destroyed=true;if(self._xhr)self._xhr.abort();else if(self._fetchAbortController)self._fetchAbortController.abort();if(err)self.emit('error',err);};ClientRequest.prototype.end=function(data,encoding,cb){var self=this;if(typeof data==='function'){cb=data;data=undefined;}stream.Writable.prototype.end.call(self,data,encoding,cb);};ClientRequest.prototype.setTimeout=function(timeout,cb){var self=this;if(cb)self.once('timeout',cb);self._socketTimeout=timeout;self._resetTimers(false);};ClientRequest.prototype.flushHeaders=function(){};ClientRequest.prototype.setNoDelay=function(){};ClientRequest.prototype.setSocketKeepAlive=function(){};// Taken from http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader%28%29-method
|
|
2229
|
-
var unsafeHeaders=['accept-charset','accept-encoding','access-control-request-headers','access-control-request-method','connection','content-length','cookie','cookie2','date','dnt','expect','host','keep-alive','origin','referer','te','trailer','transfer-encoding','upgrade','via'];}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer);},{"./capability":87,"./response":89,"_process":78,"buffer":
|
|
2413
|
+
var unsafeHeaders=['accept-charset','accept-encoding','access-control-request-headers','access-control-request-method','connection','content-length','cookie','cookie2','date','dnt','expect','host','keep-alive','origin','referer','te','trailer','transfer-encoding','upgrade','via'];}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer);},{"./capability":87,"./response":89,"_process":78,"buffer":20,"inherits":59,"readable-stream":104}],89:[function(require,module,exports){(function(process,global,Buffer){(function(){var capability=require('./capability');var inherits=require('inherits');var stream=require('readable-stream');var rStates=exports.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4};var IncomingMessage=exports.IncomingMessage=function(xhr,response,mode,resetTimers){var self=this;stream.Readable.call(self);self._mode=mode;self.headers={};self.rawHeaders=[];self.trailers={};self.rawTrailers=[];// Fake the 'close' event, but only once 'end' fires
|
|
2230
2414
|
self.on('end',function(){// The nextTick is necessary to prevent the 'request' module from causing an infinite loop
|
|
2231
2415
|
process.nextTick(function(){self.emit('close');});});if(mode==='fetch'){var read=function read(){reader.read().then(function(result){if(self._destroyed)return;resetTimers(result.done);if(result.done){self.push(null);return;}self.push(Buffer.from(result.value));read();})["catch"](function(err){resetTimers(true);if(!self._destroyed)self.emit('error',err);});};self._fetchResponse=response;self.url=response.url;self.statusCode=response.status;self.statusMessage=response.statusText;response.headers.forEach(function(header,key){self.headers[key.toLowerCase()]=header;self.rawHeaders.push(key,header);});if(capability.writableStream){var writable=new WritableStream({write:function write(chunk){resetTimers(false);return new Promise(function(resolve,reject){if(self._destroyed){reject();}else if(self.push(Buffer.from(chunk))){resolve();}else{self._resumeFetch=resolve;}});},close:function close(){resetTimers(true);if(!self._destroyed)self.push(null);},abort:function abort(err){resetTimers(true);if(!self._destroyed)self.emit('error',err);}});try{response.body.pipeTo(writable)["catch"](function(err){resetTimers(true);if(!self._destroyed)self.emit('error',err);});return;}catch(e){}// pipeTo method isn't defined. Can't find a better way to feature test this
|
|
2232
2416
|
}// fallback for when writableStream or pipeTo aren't available
|
|
@@ -2234,7 +2418,7 @@ var reader=response.body.getReader();read();}else{self._xhr=xhr;self._pos=0;self
|
|
|
2234
2418
|
}}};inherits(IncomingMessage,stream.Readable);IncomingMessage.prototype._read=function(){var self=this;var resolve=self._resumeFetch;if(resolve){self._resumeFetch=null;resolve();}};IncomingMessage.prototype._onXHRProgress=function(resetTimers){var self=this;var xhr=self._xhr;var response=null;switch(self._mode){case'text':response=xhr.responseText;if(response.length>self._pos){var newData=response.substr(self._pos);if(self._charset==='x-user-defined'){var buffer=Buffer.alloc(newData.length);for(var i=0;i<newData.length;i++)buffer[i]=newData.charCodeAt(i)&0xff;self.push(buffer);}else{self.push(newData,self._charset);}self._pos=response.length;}break;case'arraybuffer':if(xhr.readyState!==rStates.DONE||!xhr.response)break;response=xhr.response;self.push(Buffer.from(new Uint8Array(response)));break;case'moz-chunked-arraybuffer':// take whole
|
|
2235
2419
|
response=xhr.response;if(xhr.readyState!==rStates.LOADING||!response)break;self.push(Buffer.from(new Uint8Array(response)));break;case'ms-stream':response=xhr.response;if(xhr.readyState!==rStates.LOADING)break;var reader=new global.MSStreamReader();reader.onprogress=function(){if(reader.result.byteLength>self._pos){self.push(Buffer.from(new Uint8Array(reader.result.slice(self._pos))));self._pos=reader.result.byteLength;}};reader.onload=function(){resetTimers(true);self.push(null);};// reader.onerror = ??? // TODO: this
|
|
2236
2420
|
reader.readAsArrayBuffer(response);break;}// The ms-stream case handles end separately in reader.onload()
|
|
2237
|
-
if(self._xhr.readyState===rStates.DONE&&self._mode!=='ms-stream'){resetTimers(true);self.push(null);}};}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer);},{"./capability":87,"_process":78,"buffer":
|
|
2421
|
+
if(self._xhr.readyState===rStates.DONE&&self._mode!=='ms-stream'){resetTimers(true);self.push(null);}};}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer);},{"./capability":87,"_process":78,"buffer":20,"inherits":59,"readable-stream":104}],90:[function(require,module,exports){'use strict';function _inheritsLoose(subClass,superClass){subClass.prototype=Object.create(superClass.prototype);subClass.prototype.constructor=subClass;subClass.__proto__=superClass;}var codes={};function createErrorType(code,message,Base){if(!Base){Base=Error;}function getMessage(arg1,arg2,arg3){if(typeof message==='string'){return message;}else{return message(arg1,arg2,arg3);}}var NodeError=/*#__PURE__*/function(_Base){_inheritsLoose(NodeError,_Base);function NodeError(arg1,arg2,arg3){return _Base.call(this,getMessage(arg1,arg2,arg3))||this;}return NodeError;}(Base);NodeError.prototype.name=Base.name;NodeError.prototype.code=code;codes[code]=NodeError;}// https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js
|
|
2238
2422
|
function oneOf(expected,thing){if(Array.isArray(expected)){var len=expected.length;expected=expected.map(function(i){return String(i);});if(len>2){return"one of ".concat(thing," ").concat(expected.slice(0,len-1).join(', '),", or ")+expected[len-1];}else if(len===2){return"one of ".concat(thing," ").concat(expected[0]," or ").concat(expected[1]);}else{return"of ".concat(thing," ").concat(expected[0]);}}else{return"of ".concat(thing," ").concat(String(expected));}}// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith
|
|
2239
2423
|
function startsWith(str,search,pos){return str.substr(!pos||pos<0?0:+pos,search.length)===search;}// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith
|
|
2240
2424
|
function endsWith(str,search,this_len){if(this_len===undefined||this_len>str.length){this_len=str.length;}return str.substring(this_len-search.length,this_len)===search;}// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes
|
|
@@ -2285,7 +2469,7 @@ enumerable:false,get:function get(){if(this._readableState===undefined||this._wr
|
|
|
2285
2469
|
// has not been initialized yet
|
|
2286
2470
|
if(this._readableState===undefined||this._writableState===undefined){return;}// backward compatibility, the user is explicitly
|
|
2287
2471
|
// managing destroyed
|
|
2288
|
-
this._readableState.destroyed=value;this._writableState.destroyed=value;}});}).call(this);}).call(this,require('_process'));},{"./_stream_readable":93,"./_stream_writable":95,"_process":78,"inherits":
|
|
2472
|
+
this._readableState.destroyed=value;this._writableState.destroyed=value;}});}).call(this);}).call(this,require('_process'));},{"./_stream_readable":93,"./_stream_writable":95,"_process":78,"inherits":59}],92:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
|
|
2289
2473
|
//
|
|
2290
2474
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
|
2291
2475
|
// copy of this software and associated documentation files (the
|
|
@@ -2308,7 +2492,7 @@ this._readableState.destroyed=value;this._writableState.destroyed=value;}});}).c
|
|
|
2308
2492
|
// a passthrough stream.
|
|
2309
2493
|
// basically just the most minimal sort of Transform stream.
|
|
2310
2494
|
// Every written chunk gets output as-is.
|
|
2311
|
-
'use strict';module.exports=PassThrough;var Transform=require('./_stream_transform');require('inherits')(PassThrough,Transform);function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options);}PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk);};},{"./_stream_transform":94,"inherits":
|
|
2495
|
+
'use strict';module.exports=PassThrough;var Transform=require('./_stream_transform');require('inherits')(PassThrough,Transform);function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options);}PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk);};},{"./_stream_transform":94,"inherits":59}],93:[function(require,module,exports){(function(process,global){(function(){// Copyright Joyent, Inc. and other Node contributors.
|
|
2312
2496
|
//
|
|
2313
2497
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
|
2314
2498
|
// copy of this software and associated documentation files (the
|
|
@@ -2560,7 +2744,7 @@ if(state.decoder)ret=state.buffer.join('');else if(state.buffer.length===1)ret=s
|
|
|
2560
2744
|
ret=state.buffer.consume(n,state.decoder);}return ret;}function endReadable(stream){var state=stream._readableState;debug('endReadable',state.endEmitted);if(!state.endEmitted){state.ended=true;process.nextTick(endReadableNT,state,stream);}}function endReadableNT(state,stream){debug('endReadableNT',state.endEmitted,state.length);// Check that we didn't get one last unshift.
|
|
2561
2745
|
if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit('end');if(state.autoDestroy){// In case of duplex streams we need a way to detect
|
|
2562
2746
|
// if the writable side is ready for autoDestroy as well
|
|
2563
|
-
var wState=stream._writableState;if(!wState||wState.autoDestroy&&wState.finished){stream.destroy();}}}}if(typeof Symbol==='function'){Readable.from=function(iterable,opts){if(from===undefined){from=require('./internal/streams/from');}return from(Readable,iterable,opts);};}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x)return i;}return-1;}}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"../errors":90,"./_stream_duplex":91,"./internal/streams/async_iterator":96,"./internal/streams/buffer_list":97,"./internal/streams/destroy":98,"./internal/streams/from":100,"./internal/streams/state":102,"./internal/streams/stream":103,"_process":78,"buffer":
|
|
2747
|
+
var wState=stream._writableState;if(!wState||wState.autoDestroy&&wState.finished){stream.destroy();}}}}if(typeof Symbol==='function'){Readable.from=function(iterable,opts){if(from===undefined){from=require('./internal/streams/from');}return from(Readable,iterable,opts);};}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x)return i;}return-1;}}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"../errors":90,"./_stream_duplex":91,"./internal/streams/async_iterator":96,"./internal/streams/buffer_list":97,"./internal/streams/destroy":98,"./internal/streams/from":100,"./internal/streams/state":102,"./internal/streams/stream":103,"_process":78,"buffer":20,"events":26,"inherits":59,"string_decoder/":105,"util":18}],94:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
|
|
2564
2748
|
//
|
|
2565
2749
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
|
2566
2750
|
// copy of this software and associated documentation files (the
|
|
@@ -2646,7 +2830,7 @@ ts.needTransform=true;}};Transform.prototype._destroy=function(err,cb){Duplex.pr
|
|
|
2646
2830
|
stream.push(data);// TODO(BridgeAR): Write a test for these two error cases
|
|
2647
2831
|
// if there's nothing in the write buffer, then that means
|
|
2648
2832
|
// that nothing more will ever be provided
|
|
2649
|
-
if(stream._writableState.length)throw new ERR_TRANSFORM_WITH_LENGTH_0();if(stream._transformState.transforming)throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();return stream.push(null);}},{"../errors":90,"./_stream_duplex":91,"inherits":
|
|
2833
|
+
if(stream._writableState.length)throw new ERR_TRANSFORM_WITH_LENGTH_0();if(stream._transformState.transforming)throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();return stream.push(null);}},{"../errors":90,"./_stream_duplex":91,"inherits":59}],95:[function(require,module,exports){(function(process,global){(function(){// Copyright Joyent, Inc. and other Node contributors.
|
|
2650
2834
|
//
|
|
2651
2835
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
|
2652
2836
|
// copy of this software and associated documentation files (the
|
|
@@ -2781,7 +2965,7 @@ enumerable:false,get:function get(){if(this._writableState===undefined){return f
|
|
|
2781
2965
|
// has not been initialized yet
|
|
2782
2966
|
if(!this._writableState){return;}// backward compatibility, the user is explicitly
|
|
2783
2967
|
// managing destroyed
|
|
2784
|
-
this._writableState.destroyed=value;}});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){cb(err);};}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"../errors":90,"./_stream_duplex":91,"./internal/streams/destroy":98,"./internal/streams/state":102,"./internal/streams/stream":103,"_process":78,"buffer":
|
|
2968
|
+
this._writableState.destroyed=value;}});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){cb(err);};}).call(this);}).call(this,require('_process'),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{});},{"../errors":90,"./_stream_duplex":91,"./internal/streams/destroy":98,"./internal/streams/state":102,"./internal/streams/stream":103,"_process":78,"buffer":20,"inherits":59,"util-deprecate":109}],96:[function(require,module,exports){(function(process){(function(){'use strict';var _Object$setPrototypeO;function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return _typeof(key)==="symbol"?key:String(key);}function _toPrimitive(input,hint){if(_typeof(input)!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==undefined){var res=prim.call(input,hint||"default");if(_typeof(res)!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.");}return(hint==="string"?String:Number)(input);}var finished=require('./end-of-stream');var kLastResolve=Symbol('lastResolve');var kLastReject=Symbol('lastReject');var kError=Symbol('error');var kEnded=Symbol('ended');var kLastPromise=Symbol('lastPromise');var kHandlePromise=Symbol('handlePromise');var kStream=Symbol('stream');function createIterResult(value,done){return{value:value,done:done};}function readAndResolve(iter){var resolve=iter[kLastResolve];if(resolve!==null){var data=iter[kStream].read();// we defer if data is null
|
|
2785
2969
|
// we can be expecting either 'end' or
|
|
2786
2970
|
// 'error'
|
|
2787
2971
|
if(data!==null){iter[kLastPromise]=null;iter[kLastResolve]=null;iter[kLastReject]=null;resolve(createIterResult(data,false));}}}function onReadable(iter){// we wait for the next tick, because it might
|
|
@@ -2812,7 +2996,7 @@ ret=hasStrings?this._getString(n):this._getBuffer(n);}return ret;}},{key:"first"
|
|
|
2812
2996
|
},{key:"_getBuffer",value:function _getBuffer(n){var ret=Buffer.allocUnsafe(n);var p=this.head;var c=1;p.data.copy(ret);n-=p.data.length;while(p=p.next){var buf=p.data;var nb=n>buf.length?buf.length:n;buf.copy(ret,ret.length-n,0,nb);n-=nb;if(n===0){if(nb===buf.length){++c;if(p.next)this.head=p.next;else this.head=this.tail=null;}else{this.head=p;p.data=buf.slice(nb);}break;}++c;}this.length-=c;return ret;}// Make sure the linked list only shows the minimal necessary information.
|
|
2813
2997
|
},{key:custom,value:function value(_,options){return inspect(this,_objectSpread(_objectSpread({},options),{},{// Only inspect one level.
|
|
2814
2998
|
depth:0,// It should not recurse.
|
|
2815
|
-
customInspect:false}));}}]);return BufferList;}();},{"buffer":
|
|
2999
|
+
customInspect:false}));}}]);return BufferList;}();},{"buffer":20,"util":18}],98:[function(require,module,exports){(function(process){(function(){'use strict';// undocumented cb() API, needed for core, not for public API
|
|
2816
3000
|
function destroy(err,cb){var _this=this;var readableDestroyed=this._readableState&&this._readableState.destroyed;var writableDestroyed=this._writableState&&this._writableState.destroyed;if(readableDestroyed||writableDestroyed){if(cb){cb(err);}else if(err){if(!this._writableState){process.nextTick(emitErrorNT,this,err);}else if(!this._writableState.errorEmitted){this._writableState.errorEmitted=true;process.nextTick(emitErrorNT,this,err);}}return this;}// we set destroyed to true before firing error callbacks in order
|
|
2817
3001
|
// to make it re-entrance safe in case destroy() is called within callbacks
|
|
2818
3002
|
if(this._readableState){this._readableState.destroyed=true;}// if this is a duplex stream mark the writable part as destroyed as well
|
|
@@ -2829,7 +3013,7 @@ stream.on('end',onlegacyfinish);stream.on('close',onlegacyfinish);}stream.on('en
|
|
|
2829
3013
|
'use strict';var eos;function once(callback){var called=false;return function(){if(called)return;called=true;callback.apply(void 0,arguments);};}var _require$codes=require('../../../errors').codes,ERR_MISSING_ARGS=_require$codes.ERR_MISSING_ARGS,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED;function noop(err){// Rethrow the error if it exists to avoid swallowing it
|
|
2830
3014
|
if(err)throw err;}function isRequest(stream){return stream.setHeader&&typeof stream.abort==='function';}function destroyer(stream,reading,writing,callback){callback=once(callback);var closed=false;stream.on('close',function(){closed=true;});if(eos===undefined)eos=require('./end-of-stream');eos(stream,{readable:reading,writable:writing},function(err){if(err)return callback(err);closed=true;callback();});var destroyed=false;return function(err){if(closed)return;if(destroyed)return;destroyed=true;// request.destroy just do .end - .abort is what we want
|
|
2831
3015
|
if(isRequest(stream))return stream.abort();if(typeof stream.destroy==='function')return stream.destroy();callback(err||new ERR_STREAM_DESTROYED('pipe'));};}function call(fn){fn();}function pipe(from,to){return from.pipe(to);}function popCallback(streams){if(!streams.length)return noop;if(typeof streams[streams.length-1]!=='function')return noop;return streams.pop();}function pipeline(){for(var _len=arguments.length,streams=new Array(_len),_key=0;_key<_len;_key++){streams[_key]=arguments[_key];}var callback=popCallback(streams);if(Array.isArray(streams[0]))streams=streams[0];if(streams.length<2){throw new ERR_MISSING_ARGS('streams');}var error;var destroys=streams.map(function(stream,i){var reading=i<streams.length-1;var writing=i>0;return destroyer(stream,reading,writing,function(err){if(!error)error=err;if(err)destroys.forEach(call);if(reading)return;destroys.forEach(call);callback(error);});});return streams.reduce(pipe);}module.exports=pipeline;},{"../../../errors":90,"./end-of-stream":99}],102:[function(require,module,exports){'use strict';var ERR_INVALID_OPT_VALUE=require('../../../errors').codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(options,isDuplex,duplexKey){return options.highWaterMark!=null?options.highWaterMark:isDuplex?options[duplexKey]:null;}function getHighWaterMark(state,options,duplexKey,isDuplex){var hwm=highWaterMarkFrom(options,isDuplex,duplexKey);if(hwm!=null){if(!(isFinite(hwm)&&Math.floor(hwm)===hwm)||hwm<0){var name=isDuplex?duplexKey:'highWaterMark';throw new ERR_INVALID_OPT_VALUE(name,hwm);}return Math.floor(hwm);}// Default value
|
|
2832
|
-
return state.objectMode?16:16*1024;}module.exports={getHighWaterMark:getHighWaterMark};},{"../../../errors":90}],103:[function(require,module,exports){module.exports=require('events').EventEmitter;},{"events":
|
|
3016
|
+
return state.objectMode?16:16*1024;}module.exports={getHighWaterMark:getHighWaterMark};},{"../../../errors":90}],103:[function(require,module,exports){module.exports=require('events').EventEmitter;},{"events":26}],104:[function(require,module,exports){exports=module.exports=require('./lib/_stream_readable.js');exports.Stream=exports;exports.Readable=exports;exports.Writable=require('./lib/_stream_writable.js');exports.Duplex=require('./lib/_stream_duplex.js');exports.Transform=require('./lib/_stream_transform.js');exports.PassThrough=require('./lib/_stream_passthrough.js');exports.finished=require('./lib/internal/streams/end-of-stream.js');exports.pipeline=require('./lib/internal/streams/pipeline.js');},{"./lib/_stream_duplex.js":91,"./lib/_stream_passthrough.js":92,"./lib/_stream_readable.js":93,"./lib/_stream_transform.js":94,"./lib/_stream_writable.js":95,"./lib/internal/streams/end-of-stream.js":99,"./lib/internal/streams/pipeline.js":101}],105:[function(require,module,exports){// Copyright Joyent, Inc. and other Node contributors.
|
|
2833
3017
|
//
|
|
2834
3018
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
|
2835
3019
|
// copy of this software and associated documentation files (the
|
|
@@ -3072,7 +3256,7 @@ if(typeof _this42.options.CSSElementAddress==='undefined'){_this42.options.CSSEl
|
|
|
3072
3256
|
// Hash is shared across all views, so if 10 views all load the "My-Table-View" fragment, it will only be loaded once.
|
|
3073
3257
|
_createClass2(PictCSS,[{key:"addCSS",value:function addCSS(pHash,pContent,pPriority,pProvider){var tmpPriority=typeof pPriority!=='undefined'?pPriority:1000;var tmpProvidor=typeof pProvider==='string'?pProvider:'Unknown';this.inlineCSSMap[pHash]={Hash:pHash,Content:pContent,Provider:tmpProvidor,Priority:tmpPriority};}},{key:"removeCSS",value:function removeCSS(pHash){delete this.inlineCSSMap[pHash];}},{key:"generateCSS",value:function generateCSS(){var _this43=this;var tmpCSS='';var tmpCSSHashes=Object.keys(this.inlineCSSMap);// Sort the hashes by Priority
|
|
3074
3258
|
tmpCSSHashes.sort(function(a,b){return _this43.inlineCSSMap[a].Priority-_this43.inlineCSSMap[b].Priority;});for(var i=0;i<tmpCSSHashes.length;i++){var tmpCSSFragment=this.inlineCSSMap[tmpCSSHashes[i]];var tmpCSSComment=tmpCSSFragment.Hash;if(tmpCSSFragment.Hash!=tmpCSSFragment.Provider){tmpCSSComment="".concat(tmpCSSComment," from ").concat(tmpCSSFragment.Provider);}tmpCSS+="/* ".concat(tmpCSSComment," */\n").concat(tmpCSSFragment.Content,"\n");}return tmpCSS;}// Inject the CSS into the magic DOM element for it
|
|
3075
|
-
},{key:"injectCSS",value:function injectCSS(){this.services.ContentAssignment.assignContent(this.options.CSSElementAddress,this.generateCSS());}}]);return PictCSS;}(libFableServiceBase);module.exports=PictCSS;},{"fable":
|
|
3259
|
+
},{key:"injectCSS",value:function injectCSS(){this.services.ContentAssignment.assignContent(this.options.CSSElementAddress,this.generateCSS());}}]);return PictCSS;}(libFableServiceBase);module.exports=PictCSS;},{"fable":41}],113:[function(require,module,exports){var libFableServiceBase=require('fable').ServiceProviderBase;var PictContentAssignment=/*#__PURE__*/function(_libFableServiceBase13){_inherits(PictContentAssignment,_libFableServiceBase13);var _super23=_createSuper(PictContentAssignment);function PictContentAssignment(pFable,pOptions,pServiceHash){var _this44;_classCallCheck2(this,PictContentAssignment);_this44=_super23.call(this,pFable,pOptions,pServiceHash);_this44.serviceType='PictContentAssignment';// Check to see if we are running in a browser
|
|
3076
3260
|
_this44.inBrowser=false;_this44.hasDocument=false;if((typeof window==="undefined"?"undefined":_typeof(window))=='object'){_this44.inBrowser=true;// Now check that the browser has a document object
|
|
3077
3261
|
if(typeof window.document!='undefined'&&typeof window.document.querySelectorAll=='function'){_this44.hasDocument=true;}}// If we're in a browser, check to see if jQuery is available.
|
|
3078
3262
|
_this44.hasJquery=false;_this44.jQuery=false;if(_this44.inBrowser&&typeof window.jQuery!=='undefined'){_this44.hasJquery=true;}// API Consumers can craft their own assign function
|
|
@@ -3096,7 +3280,7 @@ this.log.trace("PICT Content READ from [".concat(pAddress,"]..."));return'';}}},
|
|
|
3096
3280
|
var tmpTargetElement=window.jQuery(pAddress);tmpTargetElement.addClass(pClass);}else if(this.inBrowser&&this.hasDocument){var tmpTargetElementSet=window.document.querySelectorAll(pAddress);for(var i=0;i<tmpTargetElementSet.length;i++){tmpTargetElementSet[i].classList.add(pClass);}}else{this.log.trace("PICT Content ADDCLASS to [".concat(pAddress,"]:"),pClass);}}},{key:"removeClass",value:function removeClass(pAddress,pClass){if(this.customRemoveClassFunction){return this.customRemoveClassFunction(pAddress,pClass);}else if(this.hasJquery){// Get the element
|
|
3097
3281
|
var tmpTargetElement=window.jQuery(pAddress);tmpTargetElement.removeClass(pClass);}else if(this.inBrowser&&this.hasDocument){var tmpTargetElementSet=window.document.querySelectorAll(pAddress);for(var i=0;i<tmpTargetElementSet.length;i++){tmpTargetElementSet[i].classList.remove(pClass);}}else{this.log.trace("PICT Content REMOVECLASS from [".concat(pAddress,"]:"),pClass);}}},{key:"toggleClass",value:function toggleClass(pAddress,pClass){// STUB
|
|
3098
3282
|
}},{key:"hasClass",value:function hasClass(pAddress,pClass){// STUB
|
|
3099
|
-
}}]);return PictContentAssignment;}(libFableServiceBase);module.exports=PictContentAssignment;},{"fable":
|
|
3283
|
+
}}]);return PictContentAssignment;}(libFableServiceBase);module.exports=PictContentAssignment;},{"fable":41}],114:[function(require,module,exports){var libFableServiceBase=require('fable').ServiceProviderBase;var PictDataProvider=/*#__PURE__*/function(_libFableServiceBase14){_inherits(PictDataProvider,_libFableServiceBase14);var _super24=_createSuper(PictDataProvider);function PictDataProvider(pFable,pOptions,pServiceHash){var _this45;_classCallCheck2(this,PictDataProvider);_this45=_super24.call(this,pFable,pOptions,pServiceHash);_this45.serviceType='PictDataProvider';return _this45;}_createClass2(PictDataProvider,[{key:"getDataByAddress",value:function getDataByAddress(pAddress,pData){var tmpData=typeof pData==='undefined'?{}:pData;return this.fable.manifest.getValueByHash({AppData:this.AppData,Bundle:this.Bundle,Record:tmpData},pAddress);}}]);return PictDataProvider;}(libFableServiceBase);module.exports=PictDataProvider;},{"fable":41}],115:[function(require,module,exports){var libFableServiceBase=require('fable').ServiceProviderBase;var PictMeadowEntityProvider=/*#__PURE__*/function(_libFableServiceBase15){_inherits(PictMeadowEntityProvider,_libFableServiceBase15);var _super25=_createSuper(PictMeadowEntityProvider);function PictMeadowEntityProvider(pFable,pOptions,pServiceHash){var _this46;_classCallCheck2(this,PictMeadowEntityProvider);_this46=_super25.call(this,pFable,pOptions,pServiceHash);_defineProperty2(_assertThisInitialized(_this46),"getEntitySet",function(pEntity,pMeadowFilterExpression,fCallback){var _this47=this;this.initializeCache(pEntity);// TODO: Should we test for too many record IDs here by string length?
|
|
3100
3284
|
// FBL~ID${pDestinationEntity}~INN~${tmpIDRecordsCommaSeparated}
|
|
3101
3285
|
// Discard anything from the cache that has expired or is over size.
|
|
3102
3286
|
this.cache[pEntity].prune(function(){var tmpCountOptions={url:"".concat(_this47.options.urlPrefix).concat(pEntity,"s/Count/FilteredTo/").concat(pMeadowFilterExpression)};tmpCountOptions=_this47.prepareRequestOptions(tmpCountOptions);return _this47.restClient.getJSON(tmpCountOptions,function(pError,pResponse,pBody){if(pError){_this47.log.error("Error getting bulk entity count of [".concat(pEntity,"] filtered to [").concat(pMeadowFilterExpression,"] from server [").concat(tmpCountOptions.url,"]: ").concat(pError));return fCallback(pError);}var tmpRecordCount=0;if(pBody.Count){tmpRecordCount=pBody.Count;}var tmpDownloadURIFragments=[];var tmpDownloadBatchSize=_this47.options.downloadBatchSize;for(var i=0;i<tmpRecordCount/tmpDownloadBatchSize;i++){// Generate each of the URI fragments to download
|
|
@@ -3106,7 +3290,7 @@ return fDownloadCallback(pDownloadError);});},function(pFullDownloadError){retur
|
|
|
3106
3290
|
if(!this.cache.hasOwnProperty(pEntity)){this.cache[pEntity]=this.fable.serviceManager.instantiateServiceProviderWithoutRegistration('ObjectCache');// TODO: Make this a configuration?
|
|
3107
3291
|
// For now cache for 30 seconds.
|
|
3108
3292
|
this.cache[pEntity].maxAge=30000;this.cache[pEntity].maxLength=10000;this.fable.Bundle[pEntity]=this.cache[pEntity].RecordMap;}}},{key:"getEntity",value:function getEntity(pEntity,pIDRecord,fCallback){var _this48=this;this.initializeCache(pEntity);// Discard anything from the cache that has expired or is over size.
|
|
3109
|
-
this.cache[pEntity].prune(function(){var tmpPossibleRecord=_this48.cache[pEntity].read(pIDRecord);if(tmpPossibleRecord){return tmpPossibleRecord;}var tmpOptions={url:"".concat(_this48.options.urlPrefix).concat(pEntity,"/").concat(pIDRecord)};tmpOptions=_this48.prepareRequestOptions(tmpOptions);return _this48.restClient.getJSON(tmpOptions,function(pError,pResponse,pBody){if(pBody){_this48.cache[pEntity].put(pBody,pIDRecord);}return fCallback(pError,pBody);});});}}]);return PictMeadowEntityProvider;}(libFableServiceBase);module.exports=PictMeadowEntityProvider;},{"fable":
|
|
3293
|
+
this.cache[pEntity].prune(function(){var tmpPossibleRecord=_this48.cache[pEntity].read(pIDRecord);if(tmpPossibleRecord){return tmpPossibleRecord;}var tmpOptions={url:"".concat(_this48.options.urlPrefix).concat(pEntity,"/").concat(pIDRecord)};tmpOptions=_this48.prepareRequestOptions(tmpOptions);return _this48.restClient.getJSON(tmpOptions,function(pError,pResponse,pBody){if(pBody){_this48.cache[pEntity].put(pBody,pIDRecord);}return fCallback(pError,pBody);});});}}]);return PictMeadowEntityProvider;}(libFableServiceBase);module.exports=PictMeadowEntityProvider;},{"fable":41}],116:[function(require,module,exports){var libFableServiceBase=require('fable').ServiceProviderBase;var PictTemplateProvider=/*#__PURE__*/function(_libFableServiceBase16){_inherits(PictTemplateProvider,_libFableServiceBase16);var _super26=_createSuper(PictTemplateProvider);function PictTemplateProvider(pFable,pOptions,pServiceHash){var _this49;_classCallCheck2(this,PictTemplateProvider);_this49=_super26.call(this,pFable,pOptions,pServiceHash);_this49.serviceType='PictTemplateProvider';_this49.templates={};_this49.templateSources={};// Default templates are stored by prefix.
|
|
3110
3294
|
// The longest prefix match is used.
|
|
3111
3295
|
// Case sensitive.
|
|
3112
3296
|
_this49.defaultTemplates=[];// This function can be overloaded to load templates from a database, in a page or other source.
|
|
@@ -3122,7 +3306,7 @@ _this49.loadTemplateFunction=function(pTemplateHash){return false;};return _this
|
|
|
3122
3306
|
*/for(var i=0;i<this.defaultTemplates.length;i++){if(pTemplateHash.indexOf(this.defaultTemplates[i].postfix)==pTemplateHash.length-this.defaultTemplates[i].postfix.length&&pTemplateHash.indexOf(this.defaultTemplates[i].prefix)==0){this.templates[pTemplateHash]=this.defaultTemplates[i].template;this.templateSources[pTemplateHash]="Auto created in checkDefaultTemplateHash('".concat(pTemplateHash,"') function by PictTemplateProvider [").concat(this.UUID,"]::[").concat(this.Hash,"] from [").concat(this.defaultTemplates[i].prefix,"]...[").concat(this.defaultTemplates[i].postfix,"]");return this.templates[pTemplateHash];}}return false;}},{key:"getTemplate",value:function getTemplate(pTemplateHash){// TODO: Optimize this.
|
|
3123
3307
|
// If the template doesn't exist, try to load it with the loading function
|
|
3124
3308
|
if(!this.templates.hasOwnProperty(pTemplateHash)){this.loadTemplate(pTemplateHash);}// If the loading function fails, try to load it from the default templates
|
|
3125
|
-
if(!this.templates.hasOwnProperty(pTemplateHash)){this.checkDefaultTemplateHash(pTemplateHash);}if(this.templates.hasOwnProperty(pTemplateHash)){return this.templates[pTemplateHash];}else{return false;}}},{key:"loadTemplate",value:function loadTemplate(pTemplateHash){var tmpTemplate=this.loadTemplateFunction(pTemplateHash);if(tmpTemplate){this.templates[pTemplateHash]=tmpTemplate.template;this.templateSources[pTemplateHash]="Loaded in loadTemplate('".concat(pTemplateHash,"') function by PictTemplateProvider [").concat(this.UUID,"]::[").concat(this.Hash,"] from [").concat(tmpTemplate.source,"]");}return tmpTemplate;}}]);return PictTemplateProvider;}(libFableServiceBase);module.exports=PictTemplateProvider;},{"fable":
|
|
3309
|
+
if(!this.templates.hasOwnProperty(pTemplateHash)){this.checkDefaultTemplateHash(pTemplateHash);}if(this.templates.hasOwnProperty(pTemplateHash)){return this.templates[pTemplateHash];}else{return false;}}},{key:"loadTemplate",value:function loadTemplate(pTemplateHash){var tmpTemplate=this.loadTemplateFunction(pTemplateHash);if(tmpTemplate){this.templates[pTemplateHash]=tmpTemplate.template;this.templateSources[pTemplateHash]="Loaded in loadTemplate('".concat(pTemplateHash,"') function by PictTemplateProvider [").concat(this.UUID,"]::[").concat(this.Hash,"] from [").concat(tmpTemplate.source,"]");}return tmpTemplate;}}]);return PictTemplateProvider;}(libFableServiceBase);module.exports=PictTemplateProvider;},{"fable":41}],117:[function(require,module,exports){/**
|
|
3126
3310
|
* @author <steven@velozo.com>
|
|
3127
3311
|
*/var libFable=require('fable');var Pict=/*#__PURE__*/function(_libFable){_inherits(Pict,_libFable);var _super27=_createSuper(Pict);function Pict(pSettings){var _this50;_classCallCheck2(this,Pict);_this50=_super27.call(this,pSettings);_this50.isBrowser=new Function("try {return (this===window);} catch(pError) {return false;}");// The templateProvider provides a basic key->template mapping with default fallback capabilities
|
|
3128
3312
|
_this50.serviceManager.addAndInstantiateServiceType('TemplateProvider',require('./Pict-Template-Provider.js'));_this50.serviceManager.addAndInstantiateServiceType('EntityProvider',require('./Pict-Meadow-EntityProvider.js'));_this50.serviceManager.addAndInstantiateServiceType('DataProvider',require('./Pict-DataProvider.js'));_this50.serviceManager.addAndInstantiateServiceType('ContentAssignment',require('./Pict-Content-Assignment.js'));_this50.serviceManager.addAndInstantiateServiceType('CSSMap',require('./Pict-CSS.js'));_this50.serviceManager.instantiateServiceProvider('MetaTemplate');_this50.serviceManager.instantiateServiceProvider('DataGeneration');_this50.manifest=_this50.serviceManager.instantiateServiceProvider('Manifest');_this50.AppData={};_this50.Bundle={};// Log noisness goes from 0 - 5, where 5 is show me everything.
|
|
@@ -3173,7 +3357,7 @@ var fDataRender=function fDataRender(pHash,pData){var tmpHash=pHash.trim();var t
|
|
|
3173
3357
|
if(!tmpTemplateString){return'';}return this.parseTemplate(tmpTemplateString,pData,fCallback);}},{key:"parseTemplateSet",value:function parseTemplateSet(pTemplateString,pDataSet,fCallback){var _this52=this;// TODO: This will need streaming -- for now janky old string append does the trick
|
|
3174
3358
|
var tmpValue='';if(typeof fCallback=='function'){if(Array.isArray(pDataSet)||_typeof(pDataSet)=='object'){this.Utility.eachLimit(pDataSet,1,function(pRecord,fRecordTemplateCallback){return _this52.parseTemplate(pTemplateString,pRecord,function(pError,pTemplateResult){tmpValue+=pTemplateResult;return fRecordTemplateCallback();});},function(pError){return fCallback(pError,tmpValue);});}else{return fCallback(Error('Pict: Template Set: pDataSet is not an array or object.'),'');}}else{if(Array.isArray(pDataSet)||_typeof(pDataSet)=='object'){if(Array.isArray(pDataSet)){for(var i=0;i<pDataSet.length;i++){tmpValue+=this.parseTemplate(pTemplateString,pDataSet[i]);}}else{var tmpKeys=Object.keys(pDataSet);for(var _i19=0;_i19<tmpKeys.length;_i19++){tmpValue+=this.parseTemplate(pTemplateString,pDataSet[tmpKeys[_i19]]);}}return tmpValue;}else{return'';}}}},{key:"parseTemplateSetByHash",value:function parseTemplateSetByHash(pTemplateHash,pDataSet,fCallback){var tmpTemplateString=this.TemplateProvider.getTemplate(pTemplateHash);// TODO: Unsure if returning empty is always the right behavior -- if it isn't we will use config to set the behavior
|
|
3175
3359
|
if(!tmpTemplateString){return'';}return this.parseTemplateSet(tmpTemplateString,pDataSet,fCallback);}}]);return Pict;}(libFable);;module.exports=Pict;module.exports.PictApplicationClass=require('pict-application');module.exports.PictViewClass=require('pict-view');module.exports.EnvironmentLog=require('./environments/Pict-Environment-Log.js');// This is to help understand the type of enivironement we're executing in
|
|
3176
|
-
module.exports.isBrowser=new Function("try {return (this===window);} catch(pError) {return false;}");},{"./Pict-CSS.js":112,"./Pict-Content-Assignment.js":113,"./Pict-DataProvider.js":114,"./Pict-Meadow-EntityProvider.js":115,"./Pict-Template-Provider.js":116,"./environments/Pict-Environment-Log.js":118,"fable":
|
|
3360
|
+
module.exports.isBrowser=new Function("try {return (this===window);} catch(pError) {return false;}");},{"./Pict-CSS.js":112,"./Pict-Content-Assignment.js":113,"./Pict-DataProvider.js":114,"./Pict-Meadow-EntityProvider.js":115,"./Pict-Template-Provider.js":116,"./environments/Pict-Environment-Log.js":118,"fable":41,"pict-application":73,"pict-view":74}],118:[function(require,module,exports){/**
|
|
3177
3361
|
* Pict browser shim loader
|
|
3178
3362
|
* @author <steven@velozo.com>
|
|
3179
3363
|
*
|