| 487 | |
| 488 | const DATA_METHODS = ['page', 'track', 'identify'] |
| 489 | function whatThisEnablesText(name, provider, methods) { |
| 490 | const dataMethods = methods.filter((x) => DATA_METHODS.includes(x)) |
| 491 | if (!dataMethods.length) { |
| 492 | return '' |
| 493 | } |
| 494 | const dataMethodText = dataMethods |
| 495 | .map((x) => { |
| 496 | const link = SRC_LINKS[x] |
| 497 | const linkText = (link) ? `[analytics.${x}](${link})` : `\`analytics.${x}\`` |
| 498 | return linkText |
| 499 | }) |
| 500 | .reduce((acc, curr, i) => { |
| 501 | if ((dataMethods.length - 1) === i) { |
| 502 | acc = `${acc}or ${curr}` |
| 503 | return acc |
| 504 | } |
| 505 | acc = `${acc}${curr}, ` |
| 506 | return acc |
| 507 | }, '') |
| 508 | return ` |
| 509 | After initializing \`analytics\` with the \`${name}\` plugin, data will be sent into ${provider} whenever ${dataMethodText} are called. |
| 510 | ` |
| 511 | } |
| 512 | |
| 513 | function generateImportStatement(name, pkgName) { |
| 514 | return `import Analytics from 'analytics' |