nativescript 9.1.0-alpha.7 → 9.1.0-alpha.8

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.
Files changed (232) hide show
  1. package/lib/common/definitions/mobile.d.ts +15 -10
  2. package/lib/common/mobile/ios/device/ios-device-file-system.js +29 -1
  3. package/lib/controllers/prepare-controller.js +53 -11
  4. package/lib/definitions/project.d.ts +16 -0
  5. package/lib/services/android-plugin-build-service.js +20 -12
  6. package/lib/services/livesync/ios-livesync-service.js +113 -2
  7. package/lib/services/project-data-service.js +14 -11
  8. package/package.json +4 -7
  9. package/node_modules/debug/LICENSE +0 -20
  10. package/node_modules/debug/README.md +0 -481
  11. package/node_modules/debug/package.json +0 -64
  12. package/node_modules/debug/src/browser.js +0 -272
  13. package/node_modules/debug/src/common.js +0 -292
  14. package/node_modules/debug/src/index.js +0 -10
  15. package/node_modules/debug/src/node.js +0 -263
  16. package/node_modules/ms/index.js +0 -162
  17. package/node_modules/ms/license.md +0 -21
  18. package/node_modules/ms/package.json +0 -38
  19. package/node_modules/ms/readme.md +0 -59
  20. package/node_modules/universal-analytics/.travis.yml +0 -11
  21. package/node_modules/universal-analytics/AcceptableParams.md +0 -757
  22. package/node_modules/universal-analytics/HISTORY.md +0 -170
  23. package/node_modules/universal-analytics/Makefile +0 -5
  24. package/node_modules/universal-analytics/README.md +0 -651
  25. package/node_modules/universal-analytics/index.js +0 -2
  26. package/node_modules/universal-analytics/lib/config.js +0 -171
  27. package/node_modules/universal-analytics/lib/index.js +0 -563
  28. package/node_modules/universal-analytics/lib/request.js +0 -73
  29. package/node_modules/universal-analytics/lib/utils.js +0 -29
  30. package/node_modules/universal-analytics/package.json +0 -33
  31. package/node_modules/universal-analytics/test/_enqueue.js +0 -144
  32. package/node_modules/universal-analytics/test/event.js +0 -346
  33. package/node_modules/universal-analytics/test/exception.js +0 -233
  34. package/node_modules/universal-analytics/test/index.js +0 -141
  35. package/node_modules/universal-analytics/test/item.js +0 -550
  36. package/node_modules/universal-analytics/test/middleware.js +0 -119
  37. package/node_modules/universal-analytics/test/mocha.opts +0 -3
  38. package/node_modules/universal-analytics/test/pageview.js +0 -286
  39. package/node_modules/universal-analytics/test/send.js +0 -232
  40. package/node_modules/universal-analytics/test/set.js +0 -68
  41. package/node_modules/universal-analytics/test/timing.js +0 -363
  42. package/node_modules/universal-analytics/test/transaction.js +0 -371
  43. package/node_modules/uuid/LICENSE.md +0 -9
  44. package/node_modules/uuid/README.md +0 -510
  45. package/node_modules/uuid/dist/cjs/index.d.ts +0 -15
  46. package/node_modules/uuid/dist/cjs/index.js +0 -31
  47. package/node_modules/uuid/dist/cjs/max.d.ts +0 -2
  48. package/node_modules/uuid/dist/cjs/max.js +0 -3
  49. package/node_modules/uuid/dist/cjs/md5.d.ts +0 -4
  50. package/node_modules/uuid/dist/cjs/md5.js +0 -13
  51. package/node_modules/uuid/dist/cjs/native.d.ts +0 -6
  52. package/node_modules/uuid/dist/cjs/native.js +0 -4
  53. package/node_modules/uuid/dist/cjs/nil.d.ts +0 -2
  54. package/node_modules/uuid/dist/cjs/nil.js +0 -3
  55. package/node_modules/uuid/dist/cjs/package.json +0 -1
  56. package/node_modules/uuid/dist/cjs/parse.d.ts +0 -2
  57. package/node_modules/uuid/dist/cjs/parse.js +0 -11
  58. package/node_modules/uuid/dist/cjs/regex.d.ts +0 -2
  59. package/node_modules/uuid/dist/cjs/regex.js +0 -3
  60. package/node_modules/uuid/dist/cjs/rng.d.ts +0 -1
  61. package/node_modules/uuid/dist/cjs/rng.js +0 -13
  62. package/node_modules/uuid/dist/cjs/sha1.d.ts +0 -4
  63. package/node_modules/uuid/dist/cjs/sha1.js +0 -13
  64. package/node_modules/uuid/dist/cjs/stringify.d.ts +0 -3
  65. package/node_modules/uuid/dist/cjs/stringify.js +0 -39
  66. package/node_modules/uuid/dist/cjs/types.d.ts +0 -21
  67. package/node_modules/uuid/dist/cjs/types.js +0 -2
  68. package/node_modules/uuid/dist/cjs/uuid-bin.d.ts +0 -1
  69. package/node_modules/uuid/dist/cjs/uuid-bin.js +0 -72
  70. package/node_modules/uuid/dist/cjs/v1.d.ts +0 -11
  71. package/node_modules/uuid/dist/cjs/v1.js +0 -87
  72. package/node_modules/uuid/dist/cjs/v1ToV6.d.ts +0 -2
  73. package/node_modules/uuid/dist/cjs/v1ToV6.js +0 -13
  74. package/node_modules/uuid/dist/cjs/v3.d.ts +0 -9
  75. package/node_modules/uuid/dist/cjs/v3.js +0 -14
  76. package/node_modules/uuid/dist/cjs/v35.d.ts +0 -7
  77. package/node_modules/uuid/dist/cjs/v35.js +0 -41
  78. package/node_modules/uuid/dist/cjs/v4.d.ts +0 -4
  79. package/node_modules/uuid/dist/cjs/v4.js +0 -29
  80. package/node_modules/uuid/dist/cjs/v5.d.ts +0 -9
  81. package/node_modules/uuid/dist/cjs/v5.js +0 -14
  82. package/node_modules/uuid/dist/cjs/v6.d.ts +0 -4
  83. package/node_modules/uuid/dist/cjs/v6.js +0 -19
  84. package/node_modules/uuid/dist/cjs/v6ToV1.d.ts +0 -2
  85. package/node_modules/uuid/dist/cjs/v6ToV1.js +0 -13
  86. package/node_modules/uuid/dist/cjs/v7.d.ts +0 -9
  87. package/node_modules/uuid/dist/cjs/v7.js +0 -69
  88. package/node_modules/uuid/dist/cjs/validate.d.ts +0 -2
  89. package/node_modules/uuid/dist/cjs/validate.js +0 -7
  90. package/node_modules/uuid/dist/cjs/version.d.ts +0 -2
  91. package/node_modules/uuid/dist/cjs/version.js +0 -10
  92. package/node_modules/uuid/dist/cjs-browser/index.d.ts +0 -15
  93. package/node_modules/uuid/dist/cjs-browser/index.js +0 -31
  94. package/node_modules/uuid/dist/cjs-browser/max.d.ts +0 -2
  95. package/node_modules/uuid/dist/cjs-browser/max.js +0 -3
  96. package/node_modules/uuid/dist/cjs-browser/md5.d.ts +0 -2
  97. package/node_modules/uuid/dist/cjs-browser/md5.js +0 -137
  98. package/node_modules/uuid/dist/cjs-browser/native.d.ts +0 -4
  99. package/node_modules/uuid/dist/cjs-browser/native.js +0 -4
  100. package/node_modules/uuid/dist/cjs-browser/nil.d.ts +0 -2
  101. package/node_modules/uuid/dist/cjs-browser/nil.js +0 -3
  102. package/node_modules/uuid/dist/cjs-browser/package.json +0 -1
  103. package/node_modules/uuid/dist/cjs-browser/parse.d.ts +0 -2
  104. package/node_modules/uuid/dist/cjs-browser/parse.js +0 -11
  105. package/node_modules/uuid/dist/cjs-browser/regex.d.ts +0 -2
  106. package/node_modules/uuid/dist/cjs-browser/regex.js +0 -3
  107. package/node_modules/uuid/dist/cjs-browser/rng.d.ts +0 -1
  108. package/node_modules/uuid/dist/cjs-browser/rng.js +0 -14
  109. package/node_modules/uuid/dist/cjs-browser/sha1.d.ts +0 -2
  110. package/node_modules/uuid/dist/cjs-browser/sha1.js +0 -72
  111. package/node_modules/uuid/dist/cjs-browser/stringify.d.ts +0 -3
  112. package/node_modules/uuid/dist/cjs-browser/stringify.js +0 -39
  113. package/node_modules/uuid/dist/cjs-browser/types.d.ts +0 -21
  114. package/node_modules/uuid/dist/cjs-browser/types.js +0 -2
  115. package/node_modules/uuid/dist/cjs-browser/uuid-bin.d.ts +0 -1
  116. package/node_modules/uuid/dist/cjs-browser/uuid-bin.js +0 -72
  117. package/node_modules/uuid/dist/cjs-browser/v1.d.ts +0 -11
  118. package/node_modules/uuid/dist/cjs-browser/v1.js +0 -87
  119. package/node_modules/uuid/dist/cjs-browser/v1ToV6.d.ts +0 -2
  120. package/node_modules/uuid/dist/cjs-browser/v1ToV6.js +0 -13
  121. package/node_modules/uuid/dist/cjs-browser/v3.d.ts +0 -9
  122. package/node_modules/uuid/dist/cjs-browser/v3.js +0 -14
  123. package/node_modules/uuid/dist/cjs-browser/v35.d.ts +0 -7
  124. package/node_modules/uuid/dist/cjs-browser/v35.js +0 -41
  125. package/node_modules/uuid/dist/cjs-browser/v4.d.ts +0 -4
  126. package/node_modules/uuid/dist/cjs-browser/v4.js +0 -29
  127. package/node_modules/uuid/dist/cjs-browser/v5.d.ts +0 -9
  128. package/node_modules/uuid/dist/cjs-browser/v5.js +0 -14
  129. package/node_modules/uuid/dist/cjs-browser/v6.d.ts +0 -4
  130. package/node_modules/uuid/dist/cjs-browser/v6.js +0 -19
  131. package/node_modules/uuid/dist/cjs-browser/v6ToV1.d.ts +0 -2
  132. package/node_modules/uuid/dist/cjs-browser/v6ToV1.js +0 -13
  133. package/node_modules/uuid/dist/cjs-browser/v7.d.ts +0 -9
  134. package/node_modules/uuid/dist/cjs-browser/v7.js +0 -69
  135. package/node_modules/uuid/dist/cjs-browser/validate.d.ts +0 -2
  136. package/node_modules/uuid/dist/cjs-browser/validate.js +0 -7
  137. package/node_modules/uuid/dist/cjs-browser/version.d.ts +0 -2
  138. package/node_modules/uuid/dist/cjs-browser/version.js +0 -10
  139. package/node_modules/uuid/dist/esm/bin/uuid +0 -2
  140. package/node_modules/uuid/dist/esm/index.d.ts +0 -15
  141. package/node_modules/uuid/dist/esm/index.js +0 -14
  142. package/node_modules/uuid/dist/esm/max.d.ts +0 -2
  143. package/node_modules/uuid/dist/esm/max.js +0 -1
  144. package/node_modules/uuid/dist/esm/md5.d.ts +0 -4
  145. package/node_modules/uuid/dist/esm/md5.js +0 -11
  146. package/node_modules/uuid/dist/esm/native.d.ts +0 -6
  147. package/node_modules/uuid/dist/esm/native.js +0 -2
  148. package/node_modules/uuid/dist/esm/nil.d.ts +0 -2
  149. package/node_modules/uuid/dist/esm/nil.js +0 -1
  150. package/node_modules/uuid/dist/esm/parse.d.ts +0 -2
  151. package/node_modules/uuid/dist/esm/parse.js +0 -9
  152. package/node_modules/uuid/dist/esm/regex.d.ts +0 -2
  153. package/node_modules/uuid/dist/esm/regex.js +0 -1
  154. package/node_modules/uuid/dist/esm/rng.d.ts +0 -1
  155. package/node_modules/uuid/dist/esm/rng.js +0 -10
  156. package/node_modules/uuid/dist/esm/sha1.d.ts +0 -4
  157. package/node_modules/uuid/dist/esm/sha1.js +0 -11
  158. package/node_modules/uuid/dist/esm/stringify.d.ts +0 -3
  159. package/node_modules/uuid/dist/esm/stringify.js +0 -35
  160. package/node_modules/uuid/dist/esm/types.d.ts +0 -21
  161. package/node_modules/uuid/dist/esm/types.js +0 -1
  162. package/node_modules/uuid/dist/esm/uuid-bin.d.ts +0 -1
  163. package/node_modules/uuid/dist/esm/uuid-bin.js +0 -70
  164. package/node_modules/uuid/dist/esm/v1.d.ts +0 -11
  165. package/node_modules/uuid/dist/esm/v1.js +0 -83
  166. package/node_modules/uuid/dist/esm/v1ToV6.d.ts +0 -2
  167. package/node_modules/uuid/dist/esm/v1ToV6.js +0 -10
  168. package/node_modules/uuid/dist/esm/v3.d.ts +0 -9
  169. package/node_modules/uuid/dist/esm/v3.js +0 -9
  170. package/node_modules/uuid/dist/esm/v35.d.ts +0 -7
  171. package/node_modules/uuid/dist/esm/v35.js +0 -36
  172. package/node_modules/uuid/dist/esm/v4.d.ts +0 -4
  173. package/node_modules/uuid/dist/esm/v4.js +0 -27
  174. package/node_modules/uuid/dist/esm/v5.d.ts +0 -9
  175. package/node_modules/uuid/dist/esm/v5.js +0 -9
  176. package/node_modules/uuid/dist/esm/v6.d.ts +0 -4
  177. package/node_modules/uuid/dist/esm/v6.js +0 -17
  178. package/node_modules/uuid/dist/esm/v6ToV1.d.ts +0 -2
  179. package/node_modules/uuid/dist/esm/v6ToV1.js +0 -10
  180. package/node_modules/uuid/dist/esm/v7.d.ts +0 -9
  181. package/node_modules/uuid/dist/esm/v7.js +0 -65
  182. package/node_modules/uuid/dist/esm/validate.d.ts +0 -2
  183. package/node_modules/uuid/dist/esm/validate.js +0 -5
  184. package/node_modules/uuid/dist/esm/version.d.ts +0 -2
  185. package/node_modules/uuid/dist/esm/version.js +0 -8
  186. package/node_modules/uuid/dist/esm-browser/index.d.ts +0 -15
  187. package/node_modules/uuid/dist/esm-browser/index.js +0 -14
  188. package/node_modules/uuid/dist/esm-browser/max.d.ts +0 -2
  189. package/node_modules/uuid/dist/esm-browser/max.js +0 -1
  190. package/node_modules/uuid/dist/esm-browser/md5.d.ts +0 -2
  191. package/node_modules/uuid/dist/esm-browser/md5.js +0 -135
  192. package/node_modules/uuid/dist/esm-browser/native.d.ts +0 -4
  193. package/node_modules/uuid/dist/esm-browser/native.js +0 -2
  194. package/node_modules/uuid/dist/esm-browser/nil.d.ts +0 -2
  195. package/node_modules/uuid/dist/esm-browser/nil.js +0 -1
  196. package/node_modules/uuid/dist/esm-browser/parse.d.ts +0 -2
  197. package/node_modules/uuid/dist/esm-browser/parse.js +0 -9
  198. package/node_modules/uuid/dist/esm-browser/regex.d.ts +0 -2
  199. package/node_modules/uuid/dist/esm-browser/regex.js +0 -1
  200. package/node_modules/uuid/dist/esm-browser/rng.d.ts +0 -1
  201. package/node_modules/uuid/dist/esm-browser/rng.js +0 -11
  202. package/node_modules/uuid/dist/esm-browser/sha1.d.ts +0 -2
  203. package/node_modules/uuid/dist/esm-browser/sha1.js +0 -70
  204. package/node_modules/uuid/dist/esm-browser/stringify.d.ts +0 -3
  205. package/node_modules/uuid/dist/esm-browser/stringify.js +0 -35
  206. package/node_modules/uuid/dist/esm-browser/types.d.ts +0 -21
  207. package/node_modules/uuid/dist/esm-browser/types.js +0 -1
  208. package/node_modules/uuid/dist/esm-browser/uuid-bin.d.ts +0 -1
  209. package/node_modules/uuid/dist/esm-browser/uuid-bin.js +0 -70
  210. package/node_modules/uuid/dist/esm-browser/v1.d.ts +0 -11
  211. package/node_modules/uuid/dist/esm-browser/v1.js +0 -83
  212. package/node_modules/uuid/dist/esm-browser/v1ToV6.d.ts +0 -2
  213. package/node_modules/uuid/dist/esm-browser/v1ToV6.js +0 -10
  214. package/node_modules/uuid/dist/esm-browser/v3.d.ts +0 -9
  215. package/node_modules/uuid/dist/esm-browser/v3.js +0 -9
  216. package/node_modules/uuid/dist/esm-browser/v35.d.ts +0 -7
  217. package/node_modules/uuid/dist/esm-browser/v35.js +0 -36
  218. package/node_modules/uuid/dist/esm-browser/v4.d.ts +0 -4
  219. package/node_modules/uuid/dist/esm-browser/v4.js +0 -27
  220. package/node_modules/uuid/dist/esm-browser/v5.d.ts +0 -9
  221. package/node_modules/uuid/dist/esm-browser/v5.js +0 -9
  222. package/node_modules/uuid/dist/esm-browser/v6.d.ts +0 -4
  223. package/node_modules/uuid/dist/esm-browser/v6.js +0 -17
  224. package/node_modules/uuid/dist/esm-browser/v6ToV1.d.ts +0 -2
  225. package/node_modules/uuid/dist/esm-browser/v6ToV1.js +0 -10
  226. package/node_modules/uuid/dist/esm-browser/v7.d.ts +0 -9
  227. package/node_modules/uuid/dist/esm-browser/v7.js +0 -65
  228. package/node_modules/uuid/dist/esm-browser/validate.d.ts +0 -2
  229. package/node_modules/uuid/dist/esm-browser/validate.js +0 -5
  230. package/node_modules/uuid/dist/esm-browser/version.d.ts +0 -2
  231. package/node_modules/uuid/dist/esm-browser/version.js +0 -8
  232. package/node_modules/uuid/package.json +0 -132
@@ -1,563 +0,0 @@
1
-
2
- var uuid = require("uuid");
3
- var querystring = require("querystring");
4
- var url = require("url");
5
-
6
- var utils = require("./utils");
7
- var config = require("./config");
8
- var request = require('./request');
9
-
10
- var debug = require("debug")("universal-analytics");
11
-
12
-
13
- module.exports = init;
14
-
15
-
16
- function init (tid, cid, options) {
17
- return new Visitor(tid, cid, options);
18
- }
19
-
20
- var Visitor = module.exports.Visitor = function (tid, cid, options, context, persistentParams) {
21
-
22
- if (typeof tid === 'object') {
23
- options = tid;
24
- tid = cid = null;
25
- } else if (typeof cid === 'object') {
26
- options = cid;
27
- cid = null;
28
- }
29
-
30
- this._queue = [];
31
-
32
- this.options = options || {};
33
-
34
- if(this.options.hostname) {
35
- config.hostname = this.options.hostname;
36
- }
37
- if(this.options.path) {
38
- config.path = this.options.path;
39
- }
40
-
41
- if (this.options.http) {
42
- var parsedHostname = url.parse(config.hostname);
43
- config.hostname = 'http://' + parsedHostname.host;
44
- }
45
-
46
- if(this.options.enableBatching !== undefined) {
47
- config.batching = options.enableBatching;
48
- }
49
-
50
- if(this.options.batchSize) {
51
- config.batchSize = this.options.batchSize;
52
- }
53
-
54
- this._context = context || {};
55
- this._persistentParams = persistentParams || {};
56
-
57
- this.tid = tid || this.options.tid;
58
- this.cid = this._determineCid(cid, this.options.cid, (this.options.strictCidFormat !== false));
59
- if(this.options.uid) {
60
- this.uid = this.options.uid;
61
- }
62
- }
63
-
64
-
65
-
66
-
67
- module.exports.middleware = function (tid, options) {
68
-
69
- this.tid = tid;
70
- this.options = options || {};
71
-
72
- var cookieName = this.options.cookieName || "_ga";
73
- var instanceName = this.options.instanceName || "visitor";
74
- delete this.options.instanceName;
75
-
76
- return function (req, res, next) {
77
-
78
- req[instanceName] = module.exports.createFromSession(req.session);
79
-
80
- if (req[instanceName]) return next();
81
-
82
- var cid;
83
- if (req.cookies && req.cookies[cookieName]) {
84
- var gaSplit = req.cookies[cookieName].split('.');
85
- cid = gaSplit[2] + "." + gaSplit[3];
86
- }
87
-
88
- req[instanceName] = init(tid, cid, options);
89
-
90
- if (req.session) {
91
- req.session.cid = req[instanceName].cid;
92
- }
93
-
94
- next();
95
- }
96
- }
97
-
98
-
99
-
100
- module.exports.createFromSession = function (session) {
101
- if (session && session.cid) {
102
- return init(this.tid, session.cid, this.options);
103
- }
104
- }
105
-
106
-
107
-
108
- Visitor.prototype = {
109
-
110
- debug: function (d) {
111
- debug.enabled = arguments.length === 0 ? true : d;
112
- debug("visitor.debug() is deprecated: set DEBUG=universal-analytics to enable logging")
113
- return this;
114
- },
115
-
116
-
117
- reset: function () {
118
- this._context = null;
119
- return this;
120
- },
121
-
122
- set: function (key, value) {
123
- this._persistentParams = this._persistentParams || {};
124
- this._persistentParams[key] = value;
125
- },
126
-
127
- pageview: function (path, hostname, title, params, fn) {
128
-
129
- if (typeof path === 'object' && path != null) {
130
- params = path;
131
- if (typeof hostname === 'function') {
132
- fn = hostname
133
- }
134
- path = hostname = title = null;
135
- } else if (typeof hostname === 'function') {
136
- fn = hostname
137
- hostname = title = null;
138
- } else if (typeof title === 'function') {
139
- fn = title;
140
- title = null;
141
- } else if (typeof params === 'function') {
142
- fn = params;
143
- params = null;
144
- }
145
-
146
- params = this._translateParams(params);
147
-
148
- params = Object.assign({}, this._persistentParams || {}, params);
149
-
150
- params.dp = path || params.dp || this._context.dp;
151
- params.dh = hostname || params.dh || this._context.dh;
152
- params.dt = title || params.dt || this._context.dt;
153
-
154
- this._tidyParameters(params);
155
-
156
- if (!params.dp && !params.dl) {
157
- return this._handleError("Please provide either a page path (dp) or a document location (dl)", fn);
158
- }
159
-
160
- return this._withContext(params)._enqueue("pageview", params, fn);
161
- },
162
-
163
-
164
- screenview: function (screenName, appName, appVersion, appId, appInstallerId, params, fn) {
165
-
166
- if (typeof screenName === 'object' && screenName != null) {
167
- params = screenName;
168
- if (typeof appName === 'function') {
169
- fn = appName
170
- }
171
- screenName = appName = appVersion = appId = appInstallerId = null;
172
- } else if (typeof appName === 'function') {
173
- fn = appName
174
- appName = appVersion = appId = appInstallerId = null;
175
- } else if (typeof appVersion === 'function') {
176
- fn = appVersion;
177
- appVersion = appId = appInstallerId = null;
178
- } else if (typeof appId === 'function') {
179
- fn = appId;
180
- appId = appInstallerId = null;
181
- } else if (typeof appInstallerId === 'function') {
182
- fn = appInstallerId;
183
- appInstallerId = null;
184
- } else if (typeof params === 'function') {
185
- fn = params;
186
- params = null;
187
- }
188
-
189
- params = this._translateParams(params);
190
-
191
- params = Object.assign({}, this._persistentParams || {}, params);
192
-
193
- params.cd = screenName || params.cd || this._context.cd;
194
- params.an = appName || params.an || this._context.an;
195
- params.av = appVersion || params.av || this._context.av;
196
- params.aid = appId || params.aid || this._context.aid;
197
- params.aiid = appInstallerId || params.aiid || this._context.aiid;
198
-
199
- this._tidyParameters(params);
200
-
201
- if (!params.cd || !params.an) {
202
- return this._handleError("Please provide at least a screen name (cd) and an app name (an)", fn);
203
- }
204
-
205
- return this._withContext(params)._enqueue("screenview", params, fn);
206
- },
207
-
208
-
209
- event: function (category, action, label, value, params, fn) {
210
-
211
- if (typeof category === 'object' && category != null) {
212
- params = category;
213
- if (typeof action === 'function') {
214
- fn = action
215
- }
216
- category = action = label = value = null;
217
- } else if (typeof label === 'function') {
218
- fn = label;
219
- label = value = null;
220
- } else if (typeof value === 'function') {
221
- fn = value;
222
- value = null;
223
- } else if (typeof params === 'function') {
224
- fn = params;
225
- params = null;
226
- }
227
-
228
- params = this._translateParams(params);
229
-
230
- params = Object.assign({}, this._persistentParams || {}, params);
231
-
232
- params.ec = category || params.ec || this._context.ec;
233
- params.ea = action || params.ea || this._context.ea;
234
- params.el = label || params.el || this._context.el;
235
- params.ev = value || params.ev || this._context.ev;
236
- params.p = params.p || params.dp || this._context.p || this._context.dp;
237
-
238
- delete params.dp;
239
- this._tidyParameters(params);
240
-
241
- if (!params.ec || !params.ea) {
242
- return this._handleError("Please provide at least an event category (ec) and an event action (ea)", fn);
243
- }
244
-
245
- return this._withContext(params)._enqueue("event", params, fn);
246
- },
247
-
248
-
249
- transaction: function (transaction, revenue, shipping, tax, affiliation, params, fn) {
250
- if (typeof transaction === 'object') {
251
- params = transaction;
252
- if (typeof revenue === 'function') {
253
- fn = revenue
254
- }
255
- transaction = revenue = shipping = tax = affiliation = null;
256
- } else if (typeof revenue === 'function') {
257
- fn = revenue;
258
- revenue = shipping = tax = affiliation = null;
259
- } else if (typeof shipping === 'function') {
260
- fn = shipping;
261
- shipping = tax = affiliation = null;
262
- } else if (typeof tax === 'function') {
263
- fn = tax;
264
- tax = affiliation = null;
265
- } else if (typeof affiliation === 'function') {
266
- fn = affiliation;
267
- affiliation = null;
268
- } else if (typeof params === 'function') {
269
- fn = params;
270
- params = null;
271
- }
272
-
273
- params = this._translateParams(params);
274
-
275
- params = Object.assign({}, this._persistentParams || {}, params);
276
-
277
- params.ti = transaction || params.ti || this._context.ti;
278
- params.tr = revenue || params.tr || this._context.tr;
279
- params.ts = shipping || params.ts || this._context.ts;
280
- params.tt = tax || params.tt || this._context.tt;
281
- params.ta = affiliation || params.ta || this._context.ta;
282
- params.p = params.p || this._context.p || this._context.dp;
283
-
284
- this._tidyParameters(params);
285
-
286
- if (!params.ti) {
287
- return this._handleError("Please provide at least a transaction ID (ti)", fn);
288
- }
289
-
290
- return this._withContext(params)._enqueue("transaction", params, fn);
291
- },
292
-
293
-
294
- item: function (price, quantity, sku, name, variation, params, fn) {
295
- if (typeof price === 'object') {
296
- params = price;
297
- if (typeof quantity === 'function') {
298
- fn = quantity
299
- }
300
- price = quantity = sku = name = variation = null;
301
- } else if (typeof quantity === 'function') {
302
- fn = quantity;
303
- quantity = sku = name = variation = null;
304
- } else if (typeof sku === 'function') {
305
- fn = sku;
306
- sku = name = variation = null;
307
- } else if (typeof name === 'function') {
308
- fn = name;
309
- name = variation = null;
310
- } else if (typeof variation === 'function') {
311
- fn = variation;
312
- variation = null;
313
- } else if (typeof params === 'function') {
314
- fn = params;
315
- params = null;
316
- }
317
-
318
- params = this._translateParams(params);
319
-
320
- params = Object.assign({}, this._persistentParams || {}, params);
321
-
322
- params.ip = price || params.ip || this._context.ip;
323
- params.iq = quantity || params.iq || this._context.iq;
324
- params.ic = sku || params.ic || this._context.ic;
325
- params.in = name || params.in || this._context.in;
326
- params.iv = variation || params.iv || this._context.iv;
327
- params.p = params.p || this._context.p || this._context.dp;
328
- params.ti = params.ti || this._context.ti;
329
-
330
- this._tidyParameters(params);
331
-
332
- if (!params.ti) {
333
- return this._handleError("Please provide at least an item transaction ID (ti)", fn);
334
- }
335
-
336
- return this._withContext(params)._enqueue("item", params, fn);
337
-
338
- },
339
-
340
- exception: function (description, fatal, params, fn) {
341
-
342
- if (typeof description === 'object') {
343
- params = description;
344
- if (typeof fatal === 'function') {
345
- fn = fatal;
346
- }
347
- description = fatal = null;
348
- } else if (typeof fatal === 'function') {
349
- fn = fatal;
350
- fatal = 0;
351
- } else if (typeof params === 'function') {
352
- fn = params;
353
- params = null;
354
- }
355
-
356
- params = this._translateParams(params);
357
-
358
- params = Object.assign({}, this._persistentParams || {}, params);
359
-
360
- params.exd = description || params.exd || this._context.exd;
361
- params.exf = +!!(fatal || params.exf || this._context.exf);
362
-
363
- if (params.exf === 0) {
364
- delete params.exf;
365
- }
366
-
367
- this._tidyParameters(params);
368
-
369
- return this._withContext(params)._enqueue("exception", params, fn);
370
- },
371
-
372
- timing: function (category, variable, time, label, params, fn) {
373
-
374
- if (typeof category === 'object') {
375
- params = category;
376
- if (typeof variable === 'function') {
377
- fn = variable;
378
- }
379
- category = variable = time = label = null;
380
- } else if (typeof variable === 'function') {
381
- fn = variable;
382
- variable = time = label = null;
383
- } else if (typeof time === 'function') {
384
- fn = time;
385
- time = label = null;
386
- } else if (typeof label === 'function') {
387
- fn = label;
388
- label = null;
389
- } else if (typeof params === 'function') {
390
- fn = params;
391
- params = null;
392
- }
393
-
394
- params = this._translateParams(params);
395
-
396
- params = Object.assign({}, this._persistentParams || {}, params);
397
-
398
- params.utc = category || params.utc || this._context.utc;
399
- params.utv = variable || params.utv || this._context.utv;
400
- params.utt = time || params.utt || this._context.utt;
401
- params.utl = label || params.utl || this._context.utl;
402
-
403
- this._tidyParameters(params);
404
-
405
- return this._withContext(params)._enqueue("timing", params, fn);
406
- },
407
-
408
-
409
- send: function (fn) {
410
- var self = this;
411
- var count = 1;
412
- var fn = fn || function () {};
413
- debug("Sending %d tracking call(s)", self._queue.length);
414
-
415
- var getBody = function(params) {
416
- return params.map(function(x) { return querystring.stringify(x); }).join("\n");
417
- }
418
-
419
- var onFinish = function (err) {
420
- debug("Finished sending tracking calls")
421
- fn.call(self, err || null, count - 1);
422
- }
423
-
424
- var iterator = function () {
425
- if (!self._queue.length) {
426
- return onFinish(null);
427
- }
428
- var params = [];
429
-
430
- if(config.batching) {
431
- params = self._queue.splice(0, Math.min(self._queue.length, config.batchSize));
432
- } else {
433
- params.push(self._queue.shift());
434
- }
435
-
436
- var useBatchPath = params.length > 1;
437
-
438
- var path = config.hostname + (useBatchPath ? config.batchPath : config.path);
439
-
440
- debug("%d: %o", count++, params);
441
-
442
- var body = getBody(params);
443
-
444
- request.post(path, body, self.options.headers, nextIteration);
445
- }
446
-
447
- function nextIteration(err) {
448
- if (err) return onFinish(err);
449
- iterator();
450
- }
451
-
452
- iterator();
453
-
454
- },
455
-
456
- _enqueue: function (type, params, fn) {
457
-
458
- if (typeof params === 'function') {
459
- fn = params;
460
- params = {};
461
- }
462
-
463
- params = this._translateParams(params) || {};
464
-
465
- Object.assign(params, {
466
- v: config.protocolVersion,
467
- tid: this.tid,
468
- cid: this.cid,
469
- t: type
470
- });
471
- if(this.uid) {
472
- params.uid = this.uid;
473
- }
474
-
475
- this._queue.push(params);
476
-
477
- if (debug.enabled) {
478
- this._checkParameters(params);
479
- }
480
-
481
- debug("Enqueued %s (%o)", type, params);
482
-
483
- if (fn) {
484
- this.send(fn);
485
- }
486
-
487
- return this;
488
- },
489
-
490
-
491
- _handleError: function (message, fn) {
492
- debug("Error: %s", message)
493
- fn && fn.call(this, new Error(message))
494
- return this;
495
- },
496
-
497
-
498
-
499
- _determineCid: function () {
500
- var args = Array.prototype.splice.call(arguments, 0);
501
- var id;
502
- var lastItem = args.length-1;
503
- var strict = args[lastItem];
504
- if (strict) {
505
- for (var i = 0; i < lastItem; i++) {
506
- id = utils.ensureValidCid(args[i]);
507
- if (id !== false) return id;
508
- if (id != null) debug("Warning! Invalid UUID format '%s'", args[i]);
509
- }
510
- } else {
511
- for (var i = 0; i < lastItem; i++) {
512
- if (args[i]) return args[i];
513
- }
514
- }
515
- return uuid.v4();
516
- },
517
-
518
-
519
- _checkParameters: function (params) {
520
- for (var param in params) {
521
- if (config.acceptedParameters.indexOf(param) !== -1 || config.acceptedParametersRegex.filter(function (r) {
522
- return r.test(param);
523
- }).length) {
524
- continue;
525
- }
526
- debug("Warning! Unsupported tracking parameter %s (%s)", param, params[param]);
527
- }
528
- },
529
-
530
- _translateParams: function (params) {
531
- var translated = {};
532
- for (var key in params) {
533
- if (config.parametersMap.hasOwnProperty(key)) {
534
- translated[config.parametersMap[key]] = params[key];
535
- } else {
536
- translated[key] = params[key];
537
- }
538
- }
539
- return translated;
540
- },
541
-
542
- _tidyParameters: function (params) {
543
- for (var param in params) {
544
- if (params[param] === null || params[param] === undefined) {
545
- delete params[param];
546
- }
547
- }
548
- return params;
549
- },
550
-
551
- _withContext: function (context) {
552
- var visitor = new Visitor(this.tid, this.cid, this.options, context, this._persistentParams);
553
- visitor._queue = this._queue;
554
- return visitor;
555
- }
556
-
557
-
558
- }
559
-
560
- Visitor.prototype.pv = Visitor.prototype.pageview
561
- Visitor.prototype.e = Visitor.prototype.event
562
- Visitor.prototype.t = Visitor.prototype.transaction
563
- Visitor.prototype.i = Visitor.prototype.item
@@ -1,73 +0,0 @@
1
- `use strict`
2
-
3
- const http = require('http');
4
- const https = require('https');
5
- const url = require('url');
6
- const debug = require("debug")("universal-analytics");
7
-
8
- function getProtocol(path) {
9
- return url.parse(path).protocol === "http:" ? http : https;
10
- }
11
-
12
- /**
13
- * Send a post request
14
- * @param path is the url endpoint
15
- * @param headers of the request
16
- * @param callback contains (error, body, status, headers)
17
- * @param data a JSON Object or a string
18
- */
19
- function post(path, data, headers, callback) {
20
- request(path, "POST", data, headers, callback);
21
- }
22
-
23
- /**
24
- * Send a custom request
25
- * @param path is the url endpoint
26
- * @param headers of the request
27
- * @param callback contains (error, statusCode, data)
28
- * @param data a JSON Object or a string
29
- * @param method is the protocol used like POST GET DELETE PUT etc...
30
- */
31
- function request(path, method, body, headers = {}, callback) {
32
- const { hostname, port, pathname } = url.parse(path);
33
- const options = {
34
- hostname,
35
- port,
36
- path: pathname,
37
- method,
38
- headers
39
- };
40
-
41
- const req = getProtocol(path).request(options, function (response) {
42
- handleResponse(response, callback);
43
- });
44
-
45
- req.on('error', function (error) {
46
- callback(error);
47
- debug('Request error', error);
48
- });
49
-
50
- req.write(body);
51
-
52
- req.end();
53
- }
54
-
55
- function handleResponse(response, callback) {
56
- let body = '';
57
- const { headers, statusCode } = response
58
- const hasError = statusCode >= 300;
59
-
60
- response.setEncoding('utf8');
61
-
62
- response.on('data', function (data) {
63
- body += data;
64
- });
65
-
66
- response.on('end', function () {
67
- callback(hasError ? body : null, hasError ? null : body, statusCode, headers);
68
- });
69
- }
70
-
71
- module.exports = {
72
- post
73
- };
@@ -1,29 +0,0 @@
1
-
2
- module.exports.isUuid = function (uuid) {
3
- if (!uuid) return false;
4
- uuid = uuid.toString().toLowerCase();
5
- return /[0-9a-f]{8}\-?[0-9a-f]{4}\-?4[0-9a-f]{3}\-?[89ab][0-9a-f]{3}\-?[0-9a-f]{12}/.test(uuid)
6
- }
7
-
8
-
9
- module.exports.isCookieCid = function (cid) {
10
- return /^[0-9]+\.[0-9]+$/.test(cid)
11
- }
12
-
13
-
14
- module.exports.ensureValidCid = function (uuid) {
15
- if (!this.isUuid(uuid)) {
16
- if (!this.isCookieCid(uuid)) {
17
- return false;
18
- }
19
- return uuid;
20
- }
21
-
22
- uuid = uuid.replace(/\-/g, "");
23
- return "" +
24
- uuid.substring(0, 8) + "-" +
25
- uuid.substring(8, 12) + "-" +
26
- uuid.substring(12, 16) + "-" +
27
- uuid.substring(16, 20) + "-" +
28
- uuid.substring(20);
29
- }
@@ -1,33 +0,0 @@
1
- {
2
- "name": "universal-analytics",
3
- "version": "0.5.3",
4
- "description": "A node module for Google's Universal Analytics tracking",
5
- "main": "index.js",
6
- "scripts": {
7
- "test": "make test"
8
- },
9
- "repository": {
10
- "type": "git",
11
- "url": "git@github.com:peaksandpies/universal-analytics.git"
12
- },
13
- "keywords": [
14
- "google",
15
- "analytics",
16
- "universal",
17
- "tracking"
18
- ],
19
- "dependencies": {
20
- "debug": "^4.3.1",
21
- "uuid": "^8.0.0"
22
- },
23
- "devDependencies": {
24
- "mocha": "*",
25
- "should": "*",
26
- "sinon": "^1.17.7"
27
- },
28
- "author": "Jörg Tillmann <joerg@peaksandpies.com>",
29
- "license": "MIT",
30
- "engines": {
31
- "node": ">=12.18.2"
32
- }
33
- }