angular-mailru-counter 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/LICENSE +190 -0
- package/README.md +1 -0
- package/angular-mailru-counter.d.ts +5 -0
- package/angular-mailru-counter.metadata.json +1 -0
- package/bundles/angular-mailru-counter.umd.js +360 -0
- package/bundles/angular-mailru-counter.umd.js.map +1 -0
- package/bundles/angular-mailru-counter.umd.min.js +16 -0
- package/bundles/angular-mailru-counter.umd.min.js.map +1 -0
- package/esm2015/angular-mailru-counter.js +5 -0
- package/esm2015/lib/angular-mail-ru-counter.models.js +1 -0
- package/esm2015/lib/angular-mail-ru-counter.module.js +57 -0
- package/esm2015/lib/angular-mail-ru-counter.service.js +109 -0
- package/esm2015/public-api.js +6 -0
- package/esm5/angular-mailru-counter.js +5 -0
- package/esm5/lib/angular-mail-ru-counter.models.js +1 -0
- package/esm5/lib/angular-mail-ru-counter.module.js +59 -0
- package/esm5/lib/angular-mail-ru-counter.service.js +102 -0
- package/esm5/public-api.js +6 -0
- package/fesm2015/angular-mailru-counter.js +169 -0
- package/fesm2015/angular-mailru-counter.js.map +1 -0
- package/fesm5/angular-mailru-counter.js +164 -0
- package/fesm5/angular-mailru-counter.js.map +1 -0
- package/lib/angular-mail-ru-counter.models.d.ts +6 -0
- package/lib/angular-mail-ru-counter.module.d.ts +20 -0
- package/lib/angular-mail-ru-counter.service.d.ts +36 -0
- package/package.json +31 -0
- package/public-api.d.ts +5 -0
package/LICENSE
ADDED
@@ -0,0 +1,190 @@
|
|
1
|
+
Apache License
|
2
|
+
Version 2.0, January 2004
|
3
|
+
http://www.apache.org/licenses/
|
4
|
+
|
5
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
6
|
+
|
7
|
+
1. Definitions.
|
8
|
+
|
9
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
10
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
11
|
+
|
12
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
13
|
+
the copyright owner that is granting the License.
|
14
|
+
|
15
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
16
|
+
other entities that control, are controlled by, or are under common
|
17
|
+
control with that entity. For the purposes of this definition,
|
18
|
+
"control" means (i) the power, direct or indirect, to cause the
|
19
|
+
direction or management of such entity, whether by contract or
|
20
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
21
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
22
|
+
|
23
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
24
|
+
exercising permissions granted by this License.
|
25
|
+
|
26
|
+
"Source" form shall mean the preferred form for making modifications,
|
27
|
+
including but not limited to software source code, documentation
|
28
|
+
source, and configuration files.
|
29
|
+
|
30
|
+
"Object" form shall mean any form resulting from mechanical
|
31
|
+
transformation or translation of a Source form, including but
|
32
|
+
not limited to compiled object code, generated documentation,
|
33
|
+
and conversions to other media types.
|
34
|
+
|
35
|
+
"Work" shall mean the work of authorship, whether in Source or
|
36
|
+
Object form, made available under the License, as indicated by a
|
37
|
+
copyright notice that is included in or attached to the work
|
38
|
+
(an example is provided in the Appendix below).
|
39
|
+
|
40
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
41
|
+
form, that is based on (or derived from) the Work and for which the
|
42
|
+
editorial revisions, annotations, elaborations, or other modifications
|
43
|
+
represent, as a whole, an original work of authorship. For the purposes
|
44
|
+
of this License, Derivative Works shall not include works that remain
|
45
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
46
|
+
the Work and Derivative Works thereof.
|
47
|
+
|
48
|
+
"Contribution" shall mean any work of authorship, including
|
49
|
+
the original version of the Work and any modifications or additions
|
50
|
+
to that Work or Derivative Works thereof, that is intentionally
|
51
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
52
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
53
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
54
|
+
means any form of electronic, verbal, or written communication sent
|
55
|
+
to the Licensor or its representatives, including but not limited to
|
56
|
+
communication on electronic mailing lists, source code control systems,
|
57
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
58
|
+
Licensor for the purpose of discussing and improving the Work, but
|
59
|
+
excluding communication that is conspicuously marked or otherwise
|
60
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
61
|
+
|
62
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
63
|
+
on behalf of whom a Contribution has been received by Licensor and
|
64
|
+
subsequently incorporated within the Work.
|
65
|
+
|
66
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
67
|
+
this License, each Contributor hereby grants to You a perpetual,
|
68
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
69
|
+
copyright license to reproduce, prepare Derivative Works of,
|
70
|
+
publicly display, publicly perform, sublicense, and distribute the
|
71
|
+
Work and such Derivative Works in Source or Object form.
|
72
|
+
|
73
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
74
|
+
this License, each Contributor hereby grants to You a perpetual,
|
75
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
76
|
+
(except as stated in this section) patent license to make, have made,
|
77
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
78
|
+
where such license applies only to those patent claims licensable
|
79
|
+
by such Contributor that are necessarily infringed by their
|
80
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
81
|
+
with the Work to which such Contribution(s) was submitted. If You
|
82
|
+
institute patent litigation against any entity (including a
|
83
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
84
|
+
or a Contribution incorporated within the Work constitutes direct
|
85
|
+
or contributory patent infringement, then any patent licenses
|
86
|
+
granted to You under this License for that Work shall terminate
|
87
|
+
as of the date such litigation is filed.
|
88
|
+
|
89
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
90
|
+
Work or Derivative Works thereof in any medium, with or without
|
91
|
+
modifications, and in Source or Object form, provided that You
|
92
|
+
meet the following conditions:
|
93
|
+
|
94
|
+
(a) You must give any other recipients of the Work or
|
95
|
+
Derivative Works a copy of this License; and
|
96
|
+
|
97
|
+
(b) You must cause any modified files to carry prominent notices
|
98
|
+
stating that You changed the files; and
|
99
|
+
|
100
|
+
(c) You must retain, in the Source form of any Derivative Works
|
101
|
+
that You distribute, all copyright, patent, trademark, and
|
102
|
+
attribution notices from the Source form of the Work,
|
103
|
+
excluding those notices that do not pertain to any part of
|
104
|
+
the Derivative Works; and
|
105
|
+
|
106
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
107
|
+
distribution, then any Derivative Works that You distribute must
|
108
|
+
include a readable copy of the attribution notices contained
|
109
|
+
within such NOTICE file, excluding those notices that do not
|
110
|
+
pertain to any part of the Derivative Works, in at least one
|
111
|
+
of the following places: within a NOTICE text file distributed
|
112
|
+
as part of the Derivative Works; within the Source form or
|
113
|
+
documentation, if provided along with the Derivative Works; or,
|
114
|
+
within a display generated by the Derivative Works, if and
|
115
|
+
wherever such third-party notices normally appear. The contents
|
116
|
+
of the NOTICE file are for informational purposes only and
|
117
|
+
do not modify the License. You may add Your own attribution
|
118
|
+
notices within Derivative Works that You distribute, alongside
|
119
|
+
or as an addendum to the NOTICE text from the Work, provided
|
120
|
+
that such additional attribution notices cannot be construed
|
121
|
+
as modifying the License.
|
122
|
+
|
123
|
+
You may add Your own copyright statement to Your modifications and
|
124
|
+
may provide additional or different license terms and conditions
|
125
|
+
for use, reproduction, or distribution of Your modifications, or
|
126
|
+
for any such Derivative Works as a whole, provided Your use,
|
127
|
+
reproduction, and distribution of the Work otherwise complies with
|
128
|
+
the conditions stated in this License.
|
129
|
+
|
130
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
131
|
+
any Contribution intentionally submitted for inclusion in the Work
|
132
|
+
by You to the Licensor shall be under the terms and conditions of
|
133
|
+
this License, without any additional terms or conditions.
|
134
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
135
|
+
the terms of any separate license agreement you may have executed
|
136
|
+
with Licensor regarding such Contributions.
|
137
|
+
|
138
|
+
6. Trademarks. This License does not grant permission to use the trade
|
139
|
+
names, trademarks, service marks, or product names of the Licensor,
|
140
|
+
except as required for reasonable and customary use in describing the
|
141
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
142
|
+
|
143
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
144
|
+
agreed to in writing, Licensor provides the Work (and each
|
145
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
146
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
147
|
+
implied, including, without limitation, any warranties or conditions
|
148
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
149
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
150
|
+
appropriateness of using or redistributing the Work and assume any
|
151
|
+
risks associated with Your exercise of permissions under this License.
|
152
|
+
|
153
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
154
|
+
whether in tort (including negligence), contract, or otherwise,
|
155
|
+
unless required by applicable law (such as deliberate and grossly
|
156
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
157
|
+
liable to You for damages, including any direct, indirect, special,
|
158
|
+
incidental, or consequential damages of any character arising as a
|
159
|
+
result of this License or out of the use or inability to use the
|
160
|
+
Work (including but not limited to damages for loss of goodwill,
|
161
|
+
work stoppage, computer failure or malfunction, or any and all
|
162
|
+
other commercial damages or losses), even if such Contributor
|
163
|
+
has been advised of the possibility of such damages.
|
164
|
+
|
165
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
166
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
167
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
168
|
+
or other liability obligations and/or rights consistent with this
|
169
|
+
License. However, in accepting such obligations, You may act only
|
170
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
171
|
+
of any other Contributor, and only if You agree to indemnify,
|
172
|
+
defend, and hold each Contributor harmless for any liability
|
173
|
+
incurred by, or claims asserted against, such Contributor by reason
|
174
|
+
of your accepting any such warranty or additional liability.
|
175
|
+
|
176
|
+
END OF TERMS AND CONDITIONS
|
177
|
+
|
178
|
+
Copyright 2019 Tinkoff Bank
|
179
|
+
|
180
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
181
|
+
you may not use this file except in compliance with the License.
|
182
|
+
You may obtain a copy of the License at
|
183
|
+
|
184
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
185
|
+
|
186
|
+
Unless required by applicable law or agreed to in writing, software
|
187
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
188
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
189
|
+
See the License for the specific language governing permissions and
|
190
|
+
limitations under the License.
|
package/README.md
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
# angular-mailru-counter
|
@@ -0,0 +1 @@
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"AngularMailRuCounterService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":20,"character":9},"arguments":["config"]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":21,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":21,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":22,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":22,"character":16}]}],null],"parameters":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"Object"},{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":23,"character":33}]}],"initialize":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"trackGoal":[{"__symbolic":"method"}],"addMailRuCounterScript":[{"__symbolic":"method"}],"removeMailRuCounterScript":[{"__symbolic":"method"}],"isLoaded":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"AngularMailRuCounterModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"declarations":[],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":7,"character":14}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":14,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":14,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"AngularMailRuCounterService"},{"__symbolic":"reference","name":"Object"}]}]},"statics":{"config":null}},"ɵa":{"__symbolic":"interface"}},"origins":{"AngularMailRuCounterService":"./lib/angular-mail-ru-counter.service","AngularMailRuCounterModule":"./lib/angular-mail-ru-counter.module","ɵa":"./lib/angular-mail-ru-counter.models"},"importAs":"angular-mailru-counter"}
|
@@ -0,0 +1,360 @@
|
|
1
|
+
(function (global, factory) {
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core')) :
|
3
|
+
typeof define === 'function' && define.amd ? define('angular-mailru-counter', ['exports', '@angular/common', '@angular/core'], factory) :
|
4
|
+
(global = global || self, factory(global['angular-mailru-counter'] = {}, global.ng.common, global.ng.core));
|
5
|
+
}(this, (function (exports, common, core) { 'use strict';
|
6
|
+
|
7
|
+
/*! *****************************************************************************
|
8
|
+
Copyright (c) Microsoft Corporation. All rights reserved.
|
9
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
10
|
+
this file except in compliance with the License. You may obtain a copy of the
|
11
|
+
License at http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
|
13
|
+
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
15
|
+
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
16
|
+
MERCHANTABLITY OR NON-INFRINGEMENT.
|
17
|
+
|
18
|
+
See the Apache Version 2.0 License for specific language governing permissions
|
19
|
+
and limitations under the License.
|
20
|
+
***************************************************************************** */
|
21
|
+
/* global Reflect, Promise */
|
22
|
+
|
23
|
+
var extendStatics = function(d, b) {
|
24
|
+
extendStatics = Object.setPrototypeOf ||
|
25
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
26
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
27
|
+
return extendStatics(d, b);
|
28
|
+
};
|
29
|
+
|
30
|
+
function __extends(d, b) {
|
31
|
+
extendStatics(d, b);
|
32
|
+
function __() { this.constructor = d; }
|
33
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
34
|
+
}
|
35
|
+
|
36
|
+
var __assign = function() {
|
37
|
+
__assign = Object.assign || function __assign(t) {
|
38
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
39
|
+
s = arguments[i];
|
40
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
41
|
+
}
|
42
|
+
return t;
|
43
|
+
};
|
44
|
+
return __assign.apply(this, arguments);
|
45
|
+
};
|
46
|
+
|
47
|
+
function __rest(s, e) {
|
48
|
+
var t = {};
|
49
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
50
|
+
t[p] = s[p];
|
51
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
52
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
53
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
54
|
+
t[p[i]] = s[p[i]];
|
55
|
+
}
|
56
|
+
return t;
|
57
|
+
}
|
58
|
+
|
59
|
+
function __decorate(decorators, target, key, desc) {
|
60
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
61
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
62
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
63
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
64
|
+
}
|
65
|
+
|
66
|
+
function __param(paramIndex, decorator) {
|
67
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
68
|
+
}
|
69
|
+
|
70
|
+
function __metadata(metadataKey, metadataValue) {
|
71
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
72
|
+
}
|
73
|
+
|
74
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
75
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
76
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
77
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
78
|
+
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
79
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
80
|
+
});
|
81
|
+
}
|
82
|
+
|
83
|
+
function __generator(thisArg, body) {
|
84
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
85
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
86
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
87
|
+
function step(op) {
|
88
|
+
if (f) throw new TypeError("Generator is already executing.");
|
89
|
+
while (_) try {
|
90
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
91
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
92
|
+
switch (op[0]) {
|
93
|
+
case 0: case 1: t = op; break;
|
94
|
+
case 4: _.label++; return { value: op[1], done: false };
|
95
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
96
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
97
|
+
default:
|
98
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
99
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
100
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
101
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
102
|
+
if (t[2]) _.ops.pop();
|
103
|
+
_.trys.pop(); continue;
|
104
|
+
}
|
105
|
+
op = body.call(thisArg, _);
|
106
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
107
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
111
|
+
function __exportStar(m, exports) {
|
112
|
+
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
113
|
+
}
|
114
|
+
|
115
|
+
function __values(o) {
|
116
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
|
117
|
+
if (m) return m.call(o);
|
118
|
+
return {
|
119
|
+
next: function () {
|
120
|
+
if (o && i >= o.length) o = void 0;
|
121
|
+
return { value: o && o[i++], done: !o };
|
122
|
+
}
|
123
|
+
};
|
124
|
+
}
|
125
|
+
|
126
|
+
function __read(o, n) {
|
127
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
128
|
+
if (!m) return o;
|
129
|
+
var i = m.call(o), r, ar = [], e;
|
130
|
+
try {
|
131
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
132
|
+
}
|
133
|
+
catch (error) { e = { error: error }; }
|
134
|
+
finally {
|
135
|
+
try {
|
136
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
137
|
+
}
|
138
|
+
finally { if (e) throw e.error; }
|
139
|
+
}
|
140
|
+
return ar;
|
141
|
+
}
|
142
|
+
|
143
|
+
function __spread() {
|
144
|
+
for (var ar = [], i = 0; i < arguments.length; i++)
|
145
|
+
ar = ar.concat(__read(arguments[i]));
|
146
|
+
return ar;
|
147
|
+
}
|
148
|
+
|
149
|
+
function __spreadArrays() {
|
150
|
+
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
151
|
+
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
152
|
+
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
153
|
+
r[k] = a[j];
|
154
|
+
return r;
|
155
|
+
};
|
156
|
+
|
157
|
+
function __await(v) {
|
158
|
+
return this instanceof __await ? (this.v = v, this) : new __await(v);
|
159
|
+
}
|
160
|
+
|
161
|
+
function __asyncGenerator(thisArg, _arguments, generator) {
|
162
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
163
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
164
|
+
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
|
165
|
+
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
|
166
|
+
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
167
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
168
|
+
function fulfill(value) { resume("next", value); }
|
169
|
+
function reject(value) { resume("throw", value); }
|
170
|
+
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
171
|
+
}
|
172
|
+
|
173
|
+
function __asyncDelegator(o) {
|
174
|
+
var i, p;
|
175
|
+
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
|
176
|
+
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
|
177
|
+
}
|
178
|
+
|
179
|
+
function __asyncValues(o) {
|
180
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
181
|
+
var m = o[Symbol.asyncIterator], i;
|
182
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
183
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
184
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
185
|
+
}
|
186
|
+
|
187
|
+
function __makeTemplateObject(cooked, raw) {
|
188
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
189
|
+
return cooked;
|
190
|
+
};
|
191
|
+
|
192
|
+
function __importStar(mod) {
|
193
|
+
if (mod && mod.__esModule) return mod;
|
194
|
+
var result = {};
|
195
|
+
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
196
|
+
result.default = mod;
|
197
|
+
return result;
|
198
|
+
}
|
199
|
+
|
200
|
+
function __importDefault(mod) {
|
201
|
+
return (mod && mod.__esModule) ? mod : { default: mod };
|
202
|
+
}
|
203
|
+
|
204
|
+
var AngularMailRuCounterService = /** @class */ (function () {
|
205
|
+
function AngularMailRuCounterService(config, documentRef, platformId, rendererFactory) {
|
206
|
+
this.config = config;
|
207
|
+
this.documentRef = documentRef;
|
208
|
+
this.platformId = platformId;
|
209
|
+
this.rendererFactory = rendererFactory;
|
210
|
+
this.doc = this.documentRef;
|
211
|
+
this.renderer = this.rendererFactory.createRenderer(null, null);
|
212
|
+
}
|
213
|
+
/**
|
214
|
+
* Initialize Mail.ru Counter tracking script
|
215
|
+
* - Adds the script to page's head
|
216
|
+
* - Tracks first page view
|
217
|
+
*/
|
218
|
+
AngularMailRuCounterService.prototype.initialize = function (counterId) {
|
219
|
+
if (counterId === void 0) { counterId = this.config.counterId; }
|
220
|
+
if (this.isLoaded()) {
|
221
|
+
console.warn('Tried to initialize a Mail.Ru Counter instance while another is already active. Please call `remove()` before initializing a new instance.');
|
222
|
+
return;
|
223
|
+
}
|
224
|
+
this.config.enabled = true;
|
225
|
+
this.addMailRuCounterScript(counterId);
|
226
|
+
};
|
227
|
+
/** Remove the Mail.ru Counter tracking script */
|
228
|
+
AngularMailRuCounterService.prototype.remove = function () {
|
229
|
+
this.removeMailRuCounterScript();
|
230
|
+
this.config.enabled = false;
|
231
|
+
};
|
232
|
+
/**
|
233
|
+
* Track a goal
|
234
|
+
*
|
235
|
+
* See {@link https://target.my.com/help/advertisers/sourcetopmailru/en#goals MyTarget docs - Set goals for the counter}
|
236
|
+
* @param goal The name of the goal that is being tracked
|
237
|
+
* @param value A fixed number attached to a specific goal
|
238
|
+
*/
|
239
|
+
AngularMailRuCounterService.prototype.trackGoal = function (goal, value) {
|
240
|
+
if (!common.isPlatformBrowser(this.platformId)) {
|
241
|
+
return;
|
242
|
+
}
|
243
|
+
if (!this.isLoaded()) {
|
244
|
+
console.warn('Tried to track an event without initializing a Mail.Ru Counter instance. Call `initialize()` first.');
|
245
|
+
return;
|
246
|
+
}
|
247
|
+
_tmr.push(__assign({ type: 'reachGoal', id: this.config.counterId, goal: goal }, (value && Number.isInteger(value) && { value: value })));
|
248
|
+
};
|
249
|
+
/**
|
250
|
+
* Adds Mail.ru Counter tracking script to the application
|
251
|
+
* @param counterId Mail.ru Counter ID to use
|
252
|
+
*/
|
253
|
+
AngularMailRuCounterService.prototype.addMailRuCounterScript = function (counterId) {
|
254
|
+
if (!common.isPlatformBrowser(this.platformId)) {
|
255
|
+
return;
|
256
|
+
}
|
257
|
+
var counterCode = "\n var _tmr = window._tmr || (window._tmr = []);\n _tmr.push({id: \"" + counterId + "\", type: \"pageView\", start: (new Date()).getTime()});\n (function (d, w, id) {\n if (d.getElementById(id)) return;\n var ts = d.createElement(\"script\"); ts.type = \"text/javascript\"; ts.async = true; ts.id = id;\n ts.src = \"https://top-fwz1.mail.ru/js/code.js\";\n var f = function () {var s = d.getElementsByTagName(\"script\")[0]; s.parentNode.insertBefore(ts, s);};\n if (w.opera == \"[object Opera]\") { d.addEventListener(\"DOMContentLoaded\", f, false); } else { f(); }\n })(document, window, \"topmailru-code\");";
|
258
|
+
var scriptElement = this.renderer.createElement('script');
|
259
|
+
this.renderer.setAttribute(scriptElement, 'id', 'mail-ru-counter-script');
|
260
|
+
this.renderer.setAttribute(scriptElement, 'type', 'text/javascript');
|
261
|
+
this.renderer.setProperty(scriptElement, 'innerHTML', counterCode);
|
262
|
+
this.renderer.appendChild(this.doc.head, scriptElement);
|
263
|
+
};
|
264
|
+
/** Remove Mail.ru Counter tracking script from the application */
|
265
|
+
AngularMailRuCounterService.prototype.removeMailRuCounterScript = function () {
|
266
|
+
if (!common.isPlatformBrowser(this.platformId)) {
|
267
|
+
return;
|
268
|
+
}
|
269
|
+
var mailRuCounterElement = this.doc.getElementById('mail-ru-counter-script');
|
270
|
+
if (mailRuCounterElement) {
|
271
|
+
mailRuCounterElement.remove();
|
272
|
+
}
|
273
|
+
};
|
274
|
+
/** Checks if the script element is present */
|
275
|
+
AngularMailRuCounterService.prototype.isLoaded = function () {
|
276
|
+
if (common.isPlatformBrowser(this.platformId)) {
|
277
|
+
var mailRuCounterElement = this.doc.getElementById('mail-ru-counter-script');
|
278
|
+
return !!mailRuCounterElement;
|
279
|
+
}
|
280
|
+
return false;
|
281
|
+
};
|
282
|
+
AngularMailRuCounterService.ctorParameters = function () { return [
|
283
|
+
{ type: undefined, decorators: [{ type: core.Inject, args: ['config',] }] },
|
284
|
+
{ type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] },
|
285
|
+
{ type: Object, decorators: [{ type: core.Inject, args: [core.PLATFORM_ID,] }] },
|
286
|
+
{ type: core.RendererFactory2 }
|
287
|
+
]; };
|
288
|
+
AngularMailRuCounterService.ɵprov = core.ɵɵdefineInjectable({ factory: function AngularMailRuCounterService_Factory() { return new AngularMailRuCounterService(core.ɵɵinject("config"), core.ɵɵinject(common.DOCUMENT), core.ɵɵinject(core.PLATFORM_ID), core.ɵɵinject(core.RendererFactory2)); }, token: AngularMailRuCounterService, providedIn: "root" });
|
289
|
+
AngularMailRuCounterService = __decorate([
|
290
|
+
core.Injectable({
|
291
|
+
providedIn: 'root',
|
292
|
+
}),
|
293
|
+
__param(0, core.Inject('config')),
|
294
|
+
__param(1, core.Inject(common.DOCUMENT)),
|
295
|
+
__param(2, core.Inject(core.PLATFORM_ID))
|
296
|
+
], AngularMailRuCounterService);
|
297
|
+
return AngularMailRuCounterService;
|
298
|
+
}());
|
299
|
+
|
300
|
+
var AngularMailRuCounterModule = /** @class */ (function () {
|
301
|
+
function AngularMailRuCounterModule(angularMailRuCounter, platformId) {
|
302
|
+
this.angularMailRuCounter = angularMailRuCounter;
|
303
|
+
if (!AngularMailRuCounterModule_1.config) {
|
304
|
+
throw Error('angular-mailru-counter not configured correctly. Pass the `counterId` property to the `forRoot()` function');
|
305
|
+
}
|
306
|
+
if (AngularMailRuCounterModule_1.config.enabled && common.isPlatformBrowser(platformId)) {
|
307
|
+
this.angularMailRuCounter.initialize();
|
308
|
+
}
|
309
|
+
}
|
310
|
+
AngularMailRuCounterModule_1 = AngularMailRuCounterModule;
|
311
|
+
/**
|
312
|
+
* Initialize the Angular Mail.ru Counter Module
|
313
|
+
*
|
314
|
+
* Add your Mail.ru Counter ID as parameter
|
315
|
+
*/
|
316
|
+
AngularMailRuCounterModule.forRoot = function (config) {
|
317
|
+
this.config = config;
|
318
|
+
var counterId = config.counterId;
|
319
|
+
this.verifyCounterId(counterId);
|
320
|
+
return {
|
321
|
+
ngModule: AngularMailRuCounterModule_1,
|
322
|
+
providers: [
|
323
|
+
AngularMailRuCounterService,
|
324
|
+
{ provide: 'config', useValue: config },
|
325
|
+
],
|
326
|
+
};
|
327
|
+
};
|
328
|
+
/**
|
329
|
+
* Verifies the Counter ID that was passed into the configuration.
|
330
|
+
* - Checks if Counter was initialized
|
331
|
+
* @param counterId Counter ID to verify
|
332
|
+
*/
|
333
|
+
AngularMailRuCounterModule.verifyCounterId = function (counterId) {
|
334
|
+
if (counterId === null || counterId === undefined || counterId.length === 0) {
|
335
|
+
throw Error('Invalid Mail.ru Counter ID. Did you pass the ID into the forRoot() function?');
|
336
|
+
}
|
337
|
+
};
|
338
|
+
var AngularMailRuCounterModule_1;
|
339
|
+
AngularMailRuCounterModule.config = null;
|
340
|
+
AngularMailRuCounterModule.ctorParameters = function () { return [
|
341
|
+
{ type: AngularMailRuCounterService },
|
342
|
+
{ type: Object, decorators: [{ type: core.Inject, args: [core.PLATFORM_ID,] }] }
|
343
|
+
]; };
|
344
|
+
AngularMailRuCounterModule = AngularMailRuCounterModule_1 = __decorate([
|
345
|
+
core.NgModule({
|
346
|
+
declarations: [],
|
347
|
+
imports: [common.CommonModule],
|
348
|
+
}),
|
349
|
+
__param(1, core.Inject(core.PLATFORM_ID))
|
350
|
+
], AngularMailRuCounterModule);
|
351
|
+
return AngularMailRuCounterModule;
|
352
|
+
}());
|
353
|
+
|
354
|
+
exports.AngularMailRuCounterModule = AngularMailRuCounterModule;
|
355
|
+
exports.AngularMailRuCounterService = AngularMailRuCounterService;
|
356
|
+
|
357
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
358
|
+
|
359
|
+
})));
|
360
|
+
//# sourceMappingURL=angular-mailru-counter.umd.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"angular-mailru-counter.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://angular-mailru-counter/lib/angular-mail-ru-counter.service.ts","ng://angular-mailru-counter/lib/angular-mail-ru-counter.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {DOCUMENT, isPlatformBrowser} from '@angular/common';\nimport {\n Inject,\n Injectable,\n PLATFORM_ID,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\nimport {AngularMailRuCounterConfiguration} from './angular-mail-ru-counter.models';\n\ndeclare const _tmr: any;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AngularMailRuCounterService {\n private renderer: Renderer2;\n private doc: Document;\n\n constructor(\n @Inject('config') private config: AngularMailRuCounterConfiguration,\n @Inject(DOCUMENT) private documentRef: any,\n @Inject(PLATFORM_ID) private platformId: Object,\n private rendererFactory: RendererFactory2,\n ) {\n this.doc = this.documentRef as Document;\n this.renderer = this.rendererFactory.createRenderer(null, null);\n }\n\n /**\n * Initialize Mail.ru Counter tracking script\n * - Adds the script to page's head\n * - Tracks first page view\n */\n initialize(counterId: string = this.config.counterId): void {\n if (this.isLoaded()) {\n console.warn(\n 'Tried to initialize a Mail.Ru Counter instance while another is already active. Please call `remove()` before initializing a new instance.',\n );\n\n return;\n }\n\n this.config.enabled = true;\n this.addMailRuCounterScript(counterId);\n }\n\n /** Remove the Mail.ru Counter tracking script */\n remove(): void {\n this.removeMailRuCounterScript();\n this.config.enabled = false;\n }\n\n /**\n * Track a goal\n *\n * See {@link https://target.my.com/help/advertisers/sourcetopmailru/en#goals MyTarget docs - Set goals for the counter}\n * @param goal The name of the goal that is being tracked\n * @param value A fixed number attached to a specific goal\n */\n trackGoal(goal: string, value?: number): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n if (!this.isLoaded()) {\n console.warn(\n 'Tried to track an event without initializing a Mail.Ru Counter instance. Call `initialize()` first.',\n );\n\n return;\n }\n\n _tmr.push({\n type: 'reachGoal',\n id: this.config.counterId,\n goal,\n ...(value && Number.isInteger(value) && {value}),\n });\n }\n\n /**\n * Adds Mail.ru Counter tracking script to the application\n * @param counterId Mail.ru Counter ID to use\n */\n private addMailRuCounterScript(counterId: string): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n const counterCode = `\n var _tmr = window._tmr || (window._tmr = []);\n _tmr.push({id: \"${counterId}\", type: \"pageView\", start: (new Date()).getTime()});\n (function (d, w, id) {\n if (d.getElementById(id)) return;\n var ts = d.createElement(\"script\"); ts.type = \"text/javascript\"; ts.async = true; ts.id = id;\n ts.src = \"https://top-fwz1.mail.ru/js/code.js\";\n var f = function () {var s = d.getElementsByTagName(\"script\")[0]; s.parentNode.insertBefore(ts, s);};\n if (w.opera == \"[object Opera]\") { d.addEventListener(\"DOMContentLoaded\", f, false); } else { f(); }\n })(document, window, \"topmailru-code\");`;\n\n const scriptElement = this.renderer.createElement('script');\n\n this.renderer.setAttribute(scriptElement, 'id', 'mail-ru-counter-script');\n this.renderer.setAttribute(scriptElement, 'type', 'text/javascript');\n this.renderer.setProperty(scriptElement, 'innerHTML', counterCode);\n this.renderer.appendChild(this.doc.head, scriptElement);\n }\n\n /** Remove Mail.ru Counter tracking script from the application */\n private removeMailRuCounterScript(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n const mailRuCounterElement = this.doc.getElementById('mail-ru-counter-script');\n\n if (mailRuCounterElement) {\n mailRuCounterElement.remove();\n }\n }\n\n /** Checks if the script element is present */\n private isLoaded(): boolean {\n if (isPlatformBrowser(this.platformId)) {\n const mailRuCounterElement = this.doc.getElementById(\n 'mail-ru-counter-script',\n );\n\n return !!mailRuCounterElement;\n }\n\n return false;\n }\n}\n","import {CommonModule, isPlatformBrowser} from '@angular/common';\nimport {Inject, ModuleWithProviders, NgModule, PLATFORM_ID} from '@angular/core';\nimport {AngularMailRuCounterConfiguration} from './angular-mail-ru-counter.models';\nimport {AngularMailRuCounterService} from './angular-mail-ru-counter.service';\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n})\nexport class AngularMailRuCounterModule {\n private static config: AngularMailRuCounterConfiguration | null = null;\n\n constructor(\n private angularMailRuCounter: AngularMailRuCounterService,\n @Inject(PLATFORM_ID) platformId: Object,\n ) {\n if (!AngularMailRuCounterModule.config) {\n throw Error(\n 'angular-mailru-counter not configured correctly. Pass the `counterId` property to the `forRoot()` function',\n );\n }\n\n if (AngularMailRuCounterModule.config.enabled && isPlatformBrowser(platformId)) {\n this.angularMailRuCounter.initialize();\n }\n }\n\n /**\n * Initialize the Angular Mail.ru Counter Module\n *\n * Add your Mail.ru Counter ID as parameter\n */\n static forRoot(\n config: AngularMailRuCounterConfiguration,\n ): ModuleWithProviders<AngularMailRuCounterModule> {\n this.config = config;\n\n const counterId = config.counterId;\n\n this.verifyCounterId(counterId);\n\n return {\n ngModule: AngularMailRuCounterModule,\n providers: [\n AngularMailRuCounterService,\n {provide: 'config', useValue: config},\n ],\n };\n }\n\n /**\n * Verifies the Counter ID that was passed into the configuration.\n * - Checks if Counter was initialized\n * @param counterId Counter ID to verify\n */\n private static verifyCounterId(counterId: string): void {\n if (counterId === null || counterId === undefined || counterId.length === 0) {\n throw Error(\n 'Invalid Mail.ru Counter ID. Did you pass the ID into the forRoot() function?',\n );\n }\n }\n}\n"],"names":["isPlatformBrowser","Inject","DOCUMENT","PLATFORM_ID","RendererFactory2","Injectable","NgModule","CommonModule"],"mappings":"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"}
|