@azuro-org/images-generator 1.3.15 → 2.0.0
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/README.md +179 -98
- package/dist/generator.d.ts +31 -0
- package/dist/{index-82868da9.js → index-6ec143bc.js} +2047 -1394
- package/dist/index.d.ts +1 -1
- package/dist/index.es.js +238 -128
- package/dist/templates/bet-nft/index.js +1 -1
- package/dist/templates/bet-og/index.js +1 -1
- package/dist/templates/combo-bet-og/index.js +1 -1
- package/dist/templates/freebet/index.js +1 -1
- package/dist/templates/trendle-leaderboard/index.js +1 -1
- package/dist/templates/trendle-social/index.js +1 -1
- package/dist/templates/trendle-trading/index.js +1 -1
- package/lib/generator.d.ts +31 -0
- package/lib/{index-de0b52f4.js → index-efa024cc.js} +2047 -1394
- package/lib/index.d.ts +1 -1
- package/lib/index.js +238 -128
- package/lib/templates/bet-nft/index.js +1 -1
- package/lib/templates/bet-og/index.js +1 -1
- package/lib/templates/combo-bet-og/index.js +1 -1
- package/lib/templates/freebet/index.js +1 -1
- package/lib/templates/trendle-leaderboard/index.js +1 -1
- package/lib/templates/trendle-social/index.js +1 -1
- package/lib/templates/trendle-trading/index.js +1 -1
- package/package.json +1 -1
- package/dist/utils/generateImage.d.ts +0 -17
- package/lib/utils/generateImage.d.ts +0 -17
package/lib/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as
|
|
1
|
+
export { default as Generator } from './generator';
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var puppeteer=require('puppeteer'),fs=require('fs');function _interopDefaultLegacy(e){return e&&typeof e==='object'&&'default'in e?e:{'default':e}}var puppeteer__default=/*#__PURE__*/_interopDefaultLegacy(puppeteer);var fs__default=/*#__PURE__*/_interopDefaultLegacy(fs);/******************************************************************************
|
|
2
2
|
Copyright (c) Microsoft Corporation.
|
|
3
3
|
|
|
4
4
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -60,133 +60,243 @@ function __generator(thisArg, body) {
|
|
|
60
60
|
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
61
61
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
62
62
|
}
|
|
63
|
-
}function
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
if (typeof modifyPuppeteerOptions === 'function') {
|
|
106
|
-
launchOptions = modifyPuppeteerOptions(launchOptions);
|
|
107
|
-
}
|
|
108
|
-
return [4 /*yield*/, puppeteer__default["default"].launch(launchOptions)];
|
|
109
|
-
case 2:
|
|
110
|
-
browser = _d.sent();
|
|
111
|
-
return [4 /*yield*/, browser.newPage()];
|
|
112
|
-
case 3:
|
|
113
|
-
page = _d.sent();
|
|
114
|
-
page.setDefaultNavigationTimeout(0);
|
|
115
|
-
return [4 /*yield*/, page.setCacheEnabled(false)];
|
|
116
|
-
case 4:
|
|
117
|
-
_d.sent();
|
|
118
|
-
return [4 /*yield*/, page.setJavaScriptEnabled(true)];
|
|
119
|
-
case 5:
|
|
120
|
-
_d.sent();
|
|
121
|
-
return [4 /*yield*/, page.setRequestInterception(true)];
|
|
122
|
-
case 6:
|
|
123
|
-
_d.sent();
|
|
124
|
-
page.on('request', function (req) {
|
|
125
|
-
var resourceType = req.resourceType();
|
|
126
|
-
// Block only truly unnecessary resources that don't affect rendering
|
|
127
|
-
// Allow images, stylesheets, scripts, and data URLs
|
|
128
|
-
if (['font', 'media', 'websocket', 'manifest', 'texttrack'].includes(resourceType)) {
|
|
129
|
-
req.abort();
|
|
63
|
+
}var Generator = /** @class */ (function () {
|
|
64
|
+
function Generator(options) {
|
|
65
|
+
if (options === void 0) { options = {}; }
|
|
66
|
+
this.browser = null;
|
|
67
|
+
this.options = __assign({ headless: true, timeout: 30000, args: [
|
|
68
|
+
'--no-sandbox',
|
|
69
|
+
'--disable-setuid-sandbox',
|
|
70
|
+
'--disable-gpu',
|
|
71
|
+
'--disable-accelerated-video-decode',
|
|
72
|
+
'--disable-dev-shm-usage',
|
|
73
|
+
'--disable-web-security',
|
|
74
|
+
'--disable-plugins',
|
|
75
|
+
'--disable-extensions',
|
|
76
|
+
'--disable-background-networking',
|
|
77
|
+
'--disable-background-timer-throttling',
|
|
78
|
+
'--disable-renderer-backgrounding',
|
|
79
|
+
'--disable-backgrounding-occluded-windows',
|
|
80
|
+
'--disable-breakpad',
|
|
81
|
+
'--disable-component-extensions-with-background-pages',
|
|
82
|
+
'--disable-features=TranslateUI',
|
|
83
|
+
'--disable-ipc-flooding-protection',
|
|
84
|
+
'--disable-hang-monitor',
|
|
85
|
+
'--disable-prompt-on-repost',
|
|
86
|
+
'--disable-sync',
|
|
87
|
+
'--metrics-recording-only',
|
|
88
|
+
'--no-first-run',
|
|
89
|
+
'--safebrowsing-disable-auto-update',
|
|
90
|
+
'--enable-automation',
|
|
91
|
+
'--password-store=basic',
|
|
92
|
+
'--use-mock-keychain',
|
|
93
|
+
] }, options);
|
|
94
|
+
}
|
|
95
|
+
Generator.prototype.run = function () {
|
|
96
|
+
var _a;
|
|
97
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
98
|
+
var launchOptions, _b, error_1;
|
|
99
|
+
var _this = this;
|
|
100
|
+
return __generator(this, function (_c) {
|
|
101
|
+
switch (_c.label) {
|
|
102
|
+
case 0:
|
|
103
|
+
if (this.browser) {
|
|
104
|
+
return [2 /*return*/];
|
|
130
105
|
}
|
|
131
|
-
|
|
132
|
-
|
|
106
|
+
_c.label = 1;
|
|
107
|
+
case 1:
|
|
108
|
+
_c.trys.push([1, 3, , 5]);
|
|
109
|
+
launchOptions = {
|
|
110
|
+
headless: (_a = this.options.headless) !== null && _a !== void 0 ? _a : true,
|
|
111
|
+
devtools: false,
|
|
112
|
+
args: this.options.args,
|
|
113
|
+
timeout: this.options.timeout,
|
|
114
|
+
};
|
|
115
|
+
_b = this;
|
|
116
|
+
return [4 /*yield*/, puppeteer__default["default"].launch(launchOptions)];
|
|
117
|
+
case 2:
|
|
118
|
+
_b.browser = _c.sent();
|
|
119
|
+
this.browser.on('disconnected', function () {
|
|
120
|
+
_this.browser = null;
|
|
121
|
+
});
|
|
122
|
+
return [3 /*break*/, 5];
|
|
123
|
+
case 3:
|
|
124
|
+
error_1 = _c.sent();
|
|
125
|
+
return [4 /*yield*/, this.cleanup()];
|
|
126
|
+
case 4:
|
|
127
|
+
_c.sent();
|
|
128
|
+
throw new Error("Failed to initialize generator: ".concat(error_1 instanceof Error ? error_1.message : 'Unknown error'));
|
|
129
|
+
case 5: return [2 /*return*/];
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
Generator.prototype.generate = function (props) {
|
|
135
|
+
var _a, _b;
|
|
136
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
137
|
+
var template, templateProps, output, filename, _c, options, page, width, height, type, getHtml, _d, quality, _e, fullPage, _f, waitForFonts, _g, waitTimeout, _h, waitUntil, _j, skipAnimations, htmlContent, content, _k, screenshotOptions, imageBuffer, error_2, errorMessage;
|
|
138
|
+
return __generator(this, function (_l) {
|
|
139
|
+
switch (_l.label) {
|
|
140
|
+
case 0:
|
|
141
|
+
if (!(!this.browser || !this.browser.connected)) return [3 /*break*/, 2];
|
|
142
|
+
return [4 /*yield*/, this.run()];
|
|
143
|
+
case 1:
|
|
144
|
+
_l.sent();
|
|
145
|
+
_l.label = 2;
|
|
146
|
+
case 2:
|
|
147
|
+
template = props.template, templateProps = props.props, output = props.output, filename = props.filename, _c = props.options, options = _c === void 0 ? {} : _c;
|
|
148
|
+
return [4 /*yield*/, this.browser.newPage()];
|
|
149
|
+
case 3:
|
|
150
|
+
page = _l.sent();
|
|
151
|
+
// Set reasonable timeout instead of infinite
|
|
152
|
+
page.setDefaultNavigationTimeout((_a = this.options.timeout) !== null && _a !== void 0 ? _a : 30000);
|
|
153
|
+
page.setDefaultTimeout((_b = this.options.timeout) !== null && _b !== void 0 ? _b : 30000);
|
|
154
|
+
// Optimize page performance
|
|
155
|
+
return [4 /*yield*/, page.setCacheEnabled(false)];
|
|
156
|
+
case 4:
|
|
157
|
+
// Optimize page performance
|
|
158
|
+
_l.sent();
|
|
159
|
+
return [4 /*yield*/, page.setJavaScriptEnabled(true)];
|
|
160
|
+
case 5:
|
|
161
|
+
_l.sent();
|
|
162
|
+
// Block unnecessary network requests for faster rendering
|
|
163
|
+
return [4 /*yield*/, page.setRequestInterception(true)];
|
|
164
|
+
case 6:
|
|
165
|
+
// Block unnecessary network requests for faster rendering
|
|
166
|
+
_l.sent();
|
|
167
|
+
page.on('request', function (req) {
|
|
168
|
+
var resourceType = req.resourceType();
|
|
169
|
+
// Block only truly unnecessary resources that don't affect rendering
|
|
170
|
+
// Allow images, stylesheets, scripts, and data URLs
|
|
171
|
+
if (['font', 'media', 'websocket', 'manifest', 'texttrack'].includes(resourceType)) {
|
|
172
|
+
req.abort();
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
req.continue();
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
// Validate template
|
|
179
|
+
if (!template.width || !template.height || !template.html) {
|
|
180
|
+
throw new Error('Invalid template: missing required properties');
|
|
133
181
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
182
|
+
width = template.width, height = template.height, type = template.type, getHtml = template.html;
|
|
183
|
+
_d = options.quality, quality = _d === void 0 ? type === 'jpeg' ? 85 : undefined : _d, _e = options.fullPage, fullPage = _e === void 0 ? false : _e, _f = options.waitForFonts, waitForFonts = _f === void 0 ? true : _f, _g = options.waitTimeout, waitTimeout = _g === void 0 ? 2000 : _g, _h = options.waitUntil, waitUntil = _h === void 0 ? 'domcontentloaded' : _h, _j = options.skipAnimations, skipAnimations = _j === void 0 ? true : _j;
|
|
184
|
+
_l.label = 7;
|
|
185
|
+
case 7:
|
|
186
|
+
_l.trys.push([7, 20, , 21]);
|
|
187
|
+
// Set viewport for this generation
|
|
188
|
+
return [4 /*yield*/, page.setViewport({
|
|
189
|
+
width: width,
|
|
190
|
+
height: height,
|
|
191
|
+
deviceScaleFactor: 1,
|
|
192
|
+
})];
|
|
193
|
+
case 8:
|
|
194
|
+
// Set viewport for this generation
|
|
195
|
+
_l.sent();
|
|
196
|
+
return [4 /*yield*/, getHtml(templateProps)];
|
|
197
|
+
case 9:
|
|
198
|
+
htmlContent = _l.sent();
|
|
199
|
+
if (!htmlContent || typeof htmlContent !== 'string') {
|
|
200
|
+
throw new Error('Template html function must return a non-empty string');
|
|
201
|
+
}
|
|
202
|
+
// Load content with faster wait strategy
|
|
203
|
+
return [4 /*yield*/, Promise.race([
|
|
204
|
+
page.setContent(htmlContent, { waitUntil: waitUntil }),
|
|
205
|
+
new Promise(function (_, reject) {
|
|
206
|
+
return setTimeout(function () { return reject(new Error('Content loading timeout')); }, waitTimeout);
|
|
207
|
+
}),
|
|
208
|
+
])];
|
|
209
|
+
case 10:
|
|
210
|
+
// Load content with faster wait strategy
|
|
211
|
+
_l.sent();
|
|
212
|
+
if (!waitForFonts) return [3 /*break*/, 12];
|
|
213
|
+
return [4 /*yield*/, Promise.race([
|
|
214
|
+
page.evaluate(function () { return document.fonts.ready; }),
|
|
215
|
+
new Promise(function (_, reject) {
|
|
216
|
+
return setTimeout(function () { return reject(new Error('Font loading timeout')); }, waitTimeout);
|
|
217
|
+
}),
|
|
218
|
+
]).catch(function () {
|
|
219
|
+
// Font loading timeout is not critical, continue anyway
|
|
220
|
+
})];
|
|
221
|
+
case 11:
|
|
222
|
+
_l.sent();
|
|
223
|
+
_l.label = 12;
|
|
224
|
+
case 12:
|
|
225
|
+
if (!!skipAnimations) return [3 /*break*/, 14];
|
|
226
|
+
return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 100); })];
|
|
227
|
+
case 13:
|
|
228
|
+
_l.sent();
|
|
229
|
+
_l.label = 14;
|
|
230
|
+
case 14:
|
|
231
|
+
if (!fullPage) return [3 /*break*/, 15];
|
|
232
|
+
_k = page;
|
|
233
|
+
return [3 /*break*/, 17];
|
|
234
|
+
case 15: return [4 /*yield*/, page.$('body')];
|
|
235
|
+
case 16:
|
|
236
|
+
_k = _l.sent();
|
|
237
|
+
_l.label = 17;
|
|
238
|
+
case 17:
|
|
239
|
+
content = _k;
|
|
240
|
+
if (!content) {
|
|
241
|
+
throw new Error('Failed to find content element');
|
|
242
|
+
}
|
|
243
|
+
screenshotOptions = __assign({ omitBackground: true, type: type }, (type === 'jpeg' && quality ? { quality: quality } : {}));
|
|
244
|
+
if (output && filename) {
|
|
245
|
+
if (!fs__default["default"].existsSync(output)) {
|
|
246
|
+
fs__default["default"].mkdirSync(output);
|
|
247
|
+
}
|
|
248
|
+
screenshotOptions.path = "".concat(output.replace(/\/$/, ''), "/").concat(filename.replace(/\..+$/, ''), ".").concat(type);
|
|
249
|
+
}
|
|
250
|
+
return [4 /*yield*/, content.screenshot(screenshotOptions)];
|
|
251
|
+
case 18:
|
|
252
|
+
imageBuffer = _l.sent();
|
|
253
|
+
return [4 /*yield*/, page.close()];
|
|
254
|
+
case 19:
|
|
255
|
+
_l.sent();
|
|
256
|
+
return [2 /*return*/, imageBuffer];
|
|
257
|
+
case 20:
|
|
258
|
+
error_2 = _l.sent();
|
|
259
|
+
errorMessage = error_2 instanceof Error ? error_2.message : 'Unknown error occurred';
|
|
260
|
+
throw new Error("Failed to generate image: ".concat(errorMessage));
|
|
261
|
+
case 21: return [2 /*return*/];
|
|
262
|
+
}
|
|
263
|
+
});
|
|
190
264
|
});
|
|
191
|
-
}
|
|
192
|
-
|
|
265
|
+
};
|
|
266
|
+
Generator.prototype.shutdown = function () {
|
|
267
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
268
|
+
return __generator(this, function (_a) {
|
|
269
|
+
switch (_a.label) {
|
|
270
|
+
case 0: return [4 /*yield*/, this.cleanup()];
|
|
271
|
+
case 1:
|
|
272
|
+
_a.sent();
|
|
273
|
+
return [2 /*return*/];
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
});
|
|
277
|
+
};
|
|
278
|
+
Generator.prototype.cleanup = function () {
|
|
279
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
280
|
+
return __generator(this, function (_b) {
|
|
281
|
+
switch (_b.label) {
|
|
282
|
+
case 0:
|
|
283
|
+
_b.trys.push([0, 3, , 4]);
|
|
284
|
+
if (!this.browser) return [3 /*break*/, 2];
|
|
285
|
+
return [4 /*yield*/, this.browser.close().catch(function () {
|
|
286
|
+
// Ignore errors during cleanup
|
|
287
|
+
})];
|
|
288
|
+
case 1:
|
|
289
|
+
_b.sent();
|
|
290
|
+
this.browser = null;
|
|
291
|
+
_b.label = 2;
|
|
292
|
+
case 2: return [3 /*break*/, 4];
|
|
293
|
+
case 3:
|
|
294
|
+
_b.sent();
|
|
295
|
+
return [3 /*break*/, 4];
|
|
296
|
+
case 4: return [2 /*return*/];
|
|
297
|
+
}
|
|
298
|
+
});
|
|
299
|
+
});
|
|
300
|
+
};
|
|
301
|
+
return Generator;
|
|
302
|
+
}());exports.Generator=Generator;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var index=require('../../index-
|
|
1
|
+
'use strict';var index=require('../../index-efa024cc.js'),path=require('path');require('fs'),require('util'),require('stream'),require('http'),require('https'),require('url'),require('crypto'),require('http2'),require('assert'),require('tty'),require('zlib'),require('events');function _interopDefaultLegacy(e){return e&&typeof e==='object'&&'default'in e?e:{'default':e}}var path__default=/*#__PURE__*/_interopDefaultLegacy(path);var matchType = {
|
|
2
2
|
'match': 'Waiting for match',
|
|
3
3
|
'claim': 'Waiting for claim',
|
|
4
4
|
'claimed': 'Claimed',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var index=require('../../index-
|
|
1
|
+
'use strict';var index=require('../../index-efa024cc.js'),path=require('path');require('fs'),require('util'),require('stream'),require('http'),require('https'),require('url'),require('crypto'),require('http2'),require('assert'),require('tty'),require('zlib'),require('events');function _interopDefaultLegacy(e){return e&&typeof e==='object'&&'default'in e?e:{'default':e}}var path__default=/*#__PURE__*/_interopDefaultLegacy(path);var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};var dayjs_min = {exports: {}};(function (module, exports) {
|
|
2
2
|
!function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return "["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},g="en",D={};D[g]=M;var p=function(t){return t instanceof _},S=function t(e,n,r){var i;if(!e)return g;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},w=function(t,e){if(p(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=v;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t);}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return O},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),l=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return O.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v="set"+(this.$u?"UTC":"");switch(h){case c:return r?l(1,0):l(31,11);case f:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+"Hours",0);case u:return $(v+"Minutes",1);case s:return $(v+"Seconds",2);case i:return $(v+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h="set"+(this.$u?"UTC":""),l=(n={},n[a]=h+"Date",n[d]=h+"Date",n[f]=h+"Month",n[c]=h+"FullYear",n[u]=h+"Hours",n[s]=h+"Minutes",n[i]=h+"Seconds",n[r]=h+"Milliseconds",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,l=this;r=Number(r);var $=O.p(h),y=function(t){var e=w(l);return O.w(e.date(e.date()+Math.round(t*r)),l)};if($===f)return this.set(f,this.$M+r);if($===c)return this.set(c,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},c=function(t){return O.s(s%12||12,t,"0")},d=n.meridiem||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r},$={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,"0"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,"0"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,"0"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,"0"),s:String(this.$s),ss:O.s(this.$s,2,"0"),SSS:O.s(this.$ms,3,"0"),Z:i};return r.replace(y,(function(t,e){return e||$[t]||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,v=this-M,g=O.m(this,M);return g=($={},$[c]=g/12,$[f]=g,$[h]=g/3,$[o]=(v-m)/6048e5,$[a]=(v-m)/864e5,$[u]=v/n,$[s]=v/e,$[i]=v/t,$)[y]||v,l?g:O.a(g)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),T=_.prototype;return w.prototype=T,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",f],["$y",c],["$D",d]].forEach((function(t){T[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=D[g],w.Ls=D,w.p={},w}));
|
|
3
3
|
} (dayjs_min));
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var index=require('../../index-
|
|
1
|
+
'use strict';var index=require('../../index-efa024cc.js'),path=require('path');require('fs'),require('util'),require('stream'),require('http'),require('https'),require('url'),require('crypto'),require('http2'),require('assert'),require('tty'),require('zlib'),require('events');function _interopDefaultLegacy(e){return e&&typeof e==='object'&&'default'in e?e:{'default':e}}var path__default=/*#__PURE__*/_interopDefaultLegacy(path);var template = {
|
|
2
2
|
width: 600,
|
|
3
3
|
height: 315,
|
|
4
4
|
type: 'jpeg',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var index=require('../../index-
|
|
1
|
+
'use strict';var index=require('../../index-efa024cc.js'),path=require('path');require('fs'),require('util'),require('stream'),require('http'),require('https'),require('url'),require('crypto'),require('http2'),require('assert'),require('tty'),require('zlib'),require('events');function _interopDefaultLegacy(e){return e&&typeof e==='object'&&'default'in e?e:{'default':e}}var path__default=/*#__PURE__*/_interopDefaultLegacy(path);var template = {
|
|
2
2
|
width: 416,
|
|
3
3
|
height: 250,
|
|
4
4
|
type: 'jpeg',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var index=require('../../index-
|
|
1
|
+
'use strict';var index=require('../../index-efa024cc.js'),path=require('path');require('fs'),require('util'),require('stream'),require('http'),require('https'),require('url'),require('crypto'),require('http2'),require('assert'),require('tty'),require('zlib'),require('events');function _interopDefaultLegacy(e){return e&&typeof e==='object'&&'default'in e?e:{'default':e}}var path__default=/*#__PURE__*/_interopDefaultLegacy(path);var textByType = {
|
|
2
2
|
pnlPercent: 'PnL%',
|
|
3
3
|
pnl: 'PnL$',
|
|
4
4
|
consistencyScore: 'consistency score'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var index=require('../../index-
|
|
1
|
+
'use strict';var index=require('../../index-efa024cc.js'),path=require('path');require('fs'),require('util'),require('stream'),require('http'),require('https'),require('url'),require('crypto'),require('http2'),require('assert'),require('tty'),require('zlib'),require('events');function _interopDefaultLegacy(e){return e&&typeof e==='object'&&'default'in e?e:{'default':e}}var path__default=/*#__PURE__*/_interopDefaultLegacy(path);var cardTypes = {
|
|
2
2
|
'business': {
|
|
3
3
|
bottomImg: 'images/business.png',
|
|
4
4
|
bgImg: 'images/bg-business.png',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var index=require('../../index-
|
|
1
|
+
'use strict';var index=require('../../index-efa024cc.js'),path=require('path');require('fs'),require('util'),require('stream'),require('http'),require('https'),require('url'),require('crypto'),require('http2'),require('assert'),require('tty'),require('zlib'),require('events');function _interopDefaultLegacy(e){return e&&typeof e==='object'&&'default'in e?e:{'default':e}}var path__default=/*#__PURE__*/_interopDefaultLegacy(path);var cardTypes = {
|
|
2
2
|
'profit': {
|
|
3
3
|
rightImg: 'images/profit.png',
|
|
4
4
|
bgColor: '#72FF4B',
|
package/package.json
CHANGED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import puppeteer from 'puppeteer';
|
|
2
|
-
import { type Template } from './types';
|
|
3
|
-
type PuppeteerOptions = Parameters<typeof puppeteer.launch>[0];
|
|
4
|
-
type PuppeteerInitialOptions = {
|
|
5
|
-
headless: boolean;
|
|
6
|
-
devtools: boolean;
|
|
7
|
-
args: string[];
|
|
8
|
-
};
|
|
9
|
-
type GenerateImageProps<P> = {
|
|
10
|
-
template: Template<P>;
|
|
11
|
-
output?: string;
|
|
12
|
-
filename?: string;
|
|
13
|
-
props: P;
|
|
14
|
-
modifyPuppeteerOptions?(options: PuppeteerInitialOptions): PuppeteerOptions;
|
|
15
|
-
};
|
|
16
|
-
export default function generateImage<P>(props: GenerateImageProps<P>): Promise<Uint8Array | undefined>;
|
|
17
|
-
export {};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import puppeteer from 'puppeteer';
|
|
2
|
-
import { type Template } from './types';
|
|
3
|
-
type PuppeteerOptions = Parameters<typeof puppeteer.launch>[0];
|
|
4
|
-
type PuppeteerInitialOptions = {
|
|
5
|
-
headless: boolean;
|
|
6
|
-
devtools: boolean;
|
|
7
|
-
args: string[];
|
|
8
|
-
};
|
|
9
|
-
type GenerateImageProps<P> = {
|
|
10
|
-
template: Template<P>;
|
|
11
|
-
output?: string;
|
|
12
|
-
filename?: string;
|
|
13
|
-
props: P;
|
|
14
|
-
modifyPuppeteerOptions?(options: PuppeteerInitialOptions): PuppeteerOptions;
|
|
15
|
-
};
|
|
16
|
-
export default function generateImage<P>(props: GenerateImageProps<P>): Promise<Uint8Array | undefined>;
|
|
17
|
-
export {};
|