@qodalis/cli-qr 0.0.2 → 2.0.0-beta.1
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/package.json +27 -23
- package/public-api.d.mts +21 -0
- package/public-api.d.ts +21 -3
- package/public-api.js +134 -0
- package/public-api.js.map +1 -0
- package/public-api.mjs +125 -0
- package/public-api.mjs.map +1 -0
- package/umd/cli-entrypoint.global.js +3946 -0
- package/README.md +0 -17
- package/esm2022/lib/cli-qr.module.mjs +0 -19
- package/esm2022/lib/processors/cli-qr-command-processor.mjs +0 -82
- package/esm2022/lib/version.mjs +0 -3
- package/esm2022/public-api.mjs +0 -7
- package/esm2022/qodalis-cli-qr.mjs +0 -5
- package/fesm2022/qodalis-cli-qr.mjs +0 -111
- package/fesm2022/qodalis-cli-qr.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/cli-qr.module.d.ts +0 -6
- package/lib/processors/cli-qr-command-processor.d.ts +0 -14
- package/lib/version.d.ts +0 -1
- package/umd/index.js +0 -120
package/README.md
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# Cli extension
|
|
2
|
-
|
|
3
|
-
The `@qodalis/cli-qr` package is a CLI extension designed to provide utilities to generate a qr code.
|
|
4
|
-
|
|
5
|
-
# Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
packages add @qodalis/cli-qr
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
# Usage
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
qr generate --text="Hello world!"
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
This command downloads and registers the extension for use within the CLI environment.
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { resolveCommandProcessorProvider } from '@qodalis/angular-cli';
|
|
3
|
-
import { CliQrCommandProcessor } from './processors/cli-qr-command-processor';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class CliQrModule {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliQrModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: CliQrModule }); }
|
|
8
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliQrModule, providers: [resolveCommandProcessorProvider(CliQrCommandProcessor)] }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliQrModule, decorators: [{
|
|
11
|
-
type: NgModule,
|
|
12
|
-
args: [{
|
|
13
|
-
declarations: [],
|
|
14
|
-
imports: [],
|
|
15
|
-
exports: [],
|
|
16
|
-
providers: [resolveCommandProcessorProvider(CliQrCommandProcessor)],
|
|
17
|
-
}]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLXFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3FyL3NyYy9saWIvY2xpLXFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQVE5RSxNQUFNLE9BQU8sV0FBVzsrR0FBWCxXQUFXO2dIQUFYLFdBQVc7Z0hBQVgsV0FBVyxhQUZULENBQUMsK0JBQStCLENBQUMscUJBQXFCLENBQUMsQ0FBQzs7NEZBRTFELFdBQVc7a0JBTnZCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxFQUFFO29CQUNYLFNBQVMsRUFBRSxDQUFDLCtCQUErQixDQUFDLHFCQUFxQixDQUFDLENBQUM7aUJBQ3RFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJlc29sdmVDb21tYW5kUHJvY2Vzc29yUHJvdmlkZXIgfSBmcm9tICdAcW9kYWxpcy9hbmd1bGFyLWNsaSc7XG5pbXBvcnQgeyBDbGlRckNvbW1hbmRQcm9jZXNzb3IgfSBmcm9tICcuL3Byb2Nlc3NvcnMvY2xpLXFyLWNvbW1hbmQtcHJvY2Vzc29yJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtdLFxuICAgIGltcG9ydHM6IFtdLFxuICAgIGV4cG9ydHM6IFtdLFxuICAgIHByb3ZpZGVyczogW3Jlc29sdmVDb21tYW5kUHJvY2Vzc29yUHJvdmlkZXIoQ2xpUXJDb21tYW5kUHJvY2Vzc29yKV0sXG59KVxuZXhwb3J0IGNsYXNzIENsaVFyTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { CliForegroundColor, DefaultLibraryAuthor, } from '@qodalis/cli-core';
|
|
3
|
-
import QRCodeStyling from 'qr-code-styling';
|
|
4
|
-
import { LIBRARY_VERSION } from '../version';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class CliQrCommandProcessor {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.command = 'qr';
|
|
9
|
-
this.description = 'Provide utility functions to generate QR codes. Usage: qr generate --text "https://example.com" --fileName "my-qr"';
|
|
10
|
-
this.author = DefaultLibraryAuthor;
|
|
11
|
-
this.version = LIBRARY_VERSION;
|
|
12
|
-
this.processors = [];
|
|
13
|
-
this.processors = [
|
|
14
|
-
{
|
|
15
|
-
command: 'generate',
|
|
16
|
-
description: 'Generate a QR code and download it as PNG. Usage: qr generate --text "https://example.com"',
|
|
17
|
-
parameters: [
|
|
18
|
-
{
|
|
19
|
-
name: 'text',
|
|
20
|
-
description: 'Text or URL to encode as a QR code',
|
|
21
|
-
type: 'string',
|
|
22
|
-
required: true,
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
name: 'fileName',
|
|
26
|
-
description: 'the file name',
|
|
27
|
-
type: 'string',
|
|
28
|
-
required: false,
|
|
29
|
-
},
|
|
30
|
-
],
|
|
31
|
-
processCommand: async (command, context) => {
|
|
32
|
-
const text = command.args['text'];
|
|
33
|
-
if (!text) {
|
|
34
|
-
context.writer.writeError('Missing required parameter: --text');
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
const fileName = command.args['fileName'] || 'qr-code';
|
|
38
|
-
try {
|
|
39
|
-
const qrCode = new QRCodeStyling({
|
|
40
|
-
width: 300,
|
|
41
|
-
height: 300,
|
|
42
|
-
data: text,
|
|
43
|
-
type: 'svg',
|
|
44
|
-
});
|
|
45
|
-
await qrCode.download({
|
|
46
|
-
name: fileName,
|
|
47
|
-
extension: 'png',
|
|
48
|
-
});
|
|
49
|
-
context.writer.writeSuccess(`QR Code for "${text}" downloaded as ${fileName}.png`);
|
|
50
|
-
}
|
|
51
|
-
catch (err) {
|
|
52
|
-
context.writer.writeError(`Failed to generate QR code: ${err}`);
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
];
|
|
57
|
-
}
|
|
58
|
-
async processCommand(command, context) {
|
|
59
|
-
context.executor.showHelp(command, context);
|
|
60
|
-
}
|
|
61
|
-
writeDescription(context) {
|
|
62
|
-
const { writer } = context;
|
|
63
|
-
writer.writeln('Generate QR codes from text or URLs and download as PNG');
|
|
64
|
-
writer.writeln();
|
|
65
|
-
writer.writeln('📋 Usage:');
|
|
66
|
-
writer.writeln(` ${writer.wrapInColor('qr generate --text="<content>"', CliForegroundColor.Cyan)}`);
|
|
67
|
-
writer.writeln();
|
|
68
|
-
writer.writeln('⚙️ Options:');
|
|
69
|
-
writer.writeln(` ${writer.wrapInColor('--text', CliForegroundColor.Yellow)} Text or URL to encode (required)`);
|
|
70
|
-
writer.writeln(` ${writer.wrapInColor('--fileName', CliForegroundColor.Yellow)} Output filename (default: qr-code)`);
|
|
71
|
-
writer.writeln();
|
|
72
|
-
writer.writeln('📝 Examples:');
|
|
73
|
-
writer.writeln(` qr generate --text="https://example.com" ${writer.wrapInColor('# URL QR code', CliForegroundColor.Green)}`);
|
|
74
|
-
writer.writeln(` qr generate --text="Hello!" --fileName="my-qr" ${writer.wrapInColor('# Custom filename', CliForegroundColor.Green)}`);
|
|
75
|
-
}
|
|
76
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliQrCommandProcessor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
77
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliQrCommandProcessor }); }
|
|
78
|
-
}
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliQrCommandProcessor, decorators: [{
|
|
80
|
-
type: Injectable
|
|
81
|
-
}], ctorParameters: function () { return []; } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLXFyLWNvbW1hbmQtcHJvY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcXIvc3JjL2xpYi9wcm9jZXNzb3JzL2NsaS1xci1jb21tYW5kLXByb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDSCxrQkFBa0IsRUFFbEIsb0JBQW9CLEdBR3ZCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFHN0MsTUFBTSxPQUFPLHFCQUFxQjtJQVk5QjtRQVhBLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFZixnQkFBVyxHQUNQLG9IQUFvSCxDQUFDO1FBRXpILFdBQU0sR0FBRyxvQkFBb0IsQ0FBQztRQUU5QixZQUFPLEdBQUcsZUFBZSxDQUFDO1FBRTFCLGVBQVUsR0FBd0MsRUFBRSxDQUFDO1FBR2pELElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDZDtnQkFDSSxPQUFPLEVBQUUsVUFBVTtnQkFDbkIsV0FBVyxFQUNQLDRGQUE0RjtnQkFDaEcsVUFBVSxFQUFFO29CQUNSO3dCQUNJLElBQUksRUFBRSxNQUFNO3dCQUNaLFdBQVcsRUFBRSxvQ0FBb0M7d0JBQ2pELElBQUksRUFBRSxRQUFRO3dCQUNkLFFBQVEsRUFBRSxJQUFJO3FCQUNqQjtvQkFDRDt3QkFDSSxJQUFJLEVBQUUsVUFBVTt3QkFDaEIsV0FBVyxFQUFFLGVBQWU7d0JBQzVCLElBQUksRUFBRSxRQUFRO3dCQUNkLFFBQVEsRUFBRSxLQUFLO3FCQUNsQjtpQkFDSjtnQkFDRCxjQUFjLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRTtvQkFDdkMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFFbEMsSUFBSSxDQUFDLElBQUksRUFBRTt3QkFDUCxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FDckIsb0NBQW9DLENBQ3ZDLENBQUM7d0JBQ0YsT0FBTztxQkFDVjtvQkFFRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFNBQVMsQ0FBQztvQkFFdkQsSUFBSTt3QkFDQSxNQUFNLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBQzs0QkFDN0IsS0FBSyxFQUFFLEdBQUc7NEJBQ1YsTUFBTSxFQUFFLEdBQUc7NEJBQ1gsSUFBSSxFQUFFLElBQUk7NEJBQ1YsSUFBSSxFQUFFLEtBQUs7eUJBQ2QsQ0FBQyxDQUFDO3dCQUVILE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQzs0QkFDbEIsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsU0FBUyxFQUFFLEtBQUs7eUJBQ25CLENBQUMsQ0FBQzt3QkFFSCxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FDdkIsZ0JBQWdCLElBQUksbUJBQW1CLFFBQVEsTUFBTSxDQUN4RCxDQUFDO3FCQUNMO29CQUFDLE9BQU8sR0FBRyxFQUFFO3dCQUNWLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUNyQiwrQkFBK0IsR0FBRyxFQUFFLENBQ3ZDLENBQUM7cUJBQ0w7Z0JBQ0wsQ0FBQzthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUNoQixPQUEwQixFQUMxQixPQUE2QjtRQUU3QixPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQTZCO1FBQzFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDM0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxNQUFNLENBQUMsV0FBVyxDQUFDLGdDQUFnQyxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyRyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvQixNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDekgsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLE1BQU0sQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQzNILE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsNkRBQTZELE1BQU0sQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3SSxNQUFNLENBQUMsT0FBTyxDQUFDLDZEQUE2RCxNQUFNLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNySixDQUFDOytHQTNGUSxxQkFBcUI7bUhBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2xpRm9yZWdyb3VuZENvbG9yLFxuICAgIENsaVByb2Nlc3NDb21tYW5kLFxuICAgIERlZmF1bHRMaWJyYXJ5QXV0aG9yLFxuICAgIElDbGlDb21tYW5kUHJvY2Vzc29yLFxuICAgIElDbGlFeGVjdXRpb25Db250ZXh0LFxufSBmcm9tICdAcW9kYWxpcy9jbGktY29yZSc7XG5pbXBvcnQgUVJDb2RlU3R5bGluZyBmcm9tICdxci1jb2RlLXN0eWxpbmcnO1xuaW1wb3J0IHsgTElCUkFSWV9WRVJTSU9OIH0gZnJvbSAnLi4vdmVyc2lvbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDbGlRckNvbW1hbmRQcm9jZXNzb3IgaW1wbGVtZW50cyBJQ2xpQ29tbWFuZFByb2Nlc3NvciB7XG4gICAgY29tbWFuZCA9ICdxcic7XG5cbiAgICBkZXNjcmlwdGlvbiA9XG4gICAgICAgICdQcm92aWRlIHV0aWxpdHkgZnVuY3Rpb25zIHRvIGdlbmVyYXRlIFFSIGNvZGVzLiBVc2FnZTogcXIgZ2VuZXJhdGUgLS10ZXh0IFwiaHR0cHM6Ly9leGFtcGxlLmNvbVwiIC0tZmlsZU5hbWUgXCJteS1xclwiJztcblxuICAgIGF1dGhvciA9IERlZmF1bHRMaWJyYXJ5QXV0aG9yO1xuXG4gICAgdmVyc2lvbiA9IExJQlJBUllfVkVSU0lPTjtcblxuICAgIHByb2Nlc3NvcnM/OiBJQ2xpQ29tbWFuZFByb2Nlc3NvcltdIHwgdW5kZWZpbmVkID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzb3JzID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICdnZW5lcmF0ZScsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgICAgICdHZW5lcmF0ZSBhIFFSIGNvZGUgYW5kIGRvd25sb2FkIGl0IGFzIFBORy4gVXNhZ2U6IHFyIGdlbmVyYXRlIC0tdGV4dCBcImh0dHBzOi8vZXhhbXBsZS5jb21cIicsXG4gICAgICAgICAgICAgICAgcGFyYW1ldGVyczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAndGV4dCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RleHQgb3IgVVJMIHRvIGVuY29kZSBhcyBhIFFSIGNvZGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2ZpbGVOYW1lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAndGhlIGZpbGUgbmFtZScsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHByb2Nlc3NDb21tYW5kOiBhc3luYyAoY29tbWFuZCwgY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXh0ID0gY29tbWFuZC5hcmdzWyd0ZXh0J107XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZUVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaXNzaW5nIHJlcXVpcmVkIHBhcmFtZXRlcjogLS10ZXh0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGNvbW1hbmQuYXJnc1snZmlsZU5hbWUnXSB8fCAncXItY29kZSc7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHFyQ29kZSA9IG5ldyBRUkNvZGVTdHlsaW5nKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N2ZycsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgcXJDb2RlLmRvd25sb2FkKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBmaWxlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlbnNpb246ICdwbmcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlU3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgUVIgQ29kZSBmb3IgXCIke3RleHR9XCIgZG93bmxvYWRlZCBhcyAke2ZpbGVOYW1lfS5wbmdgLFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZUVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBGYWlsZWQgdG8gZ2VuZXJhdGUgUVIgY29kZTogJHtlcnJ9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBhc3luYyBwcm9jZXNzQ29tbWFuZChcbiAgICAgICAgY29tbWFuZDogQ2xpUHJvY2Vzc0NvbW1hbmQsXG4gICAgICAgIGNvbnRleHQ6IElDbGlFeGVjdXRpb25Db250ZXh0LFxuICAgICk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb250ZXh0LmV4ZWN1dG9yLnNob3dIZWxwKGNvbW1hbmQsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHdyaXRlRGVzY3JpcHRpb24oY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB3cml0ZXIgfSA9IGNvbnRleHQ7XG4gICAgICAgIHdyaXRlci53cml0ZWxuKCdHZW5lcmF0ZSBRUiBjb2RlcyBmcm9tIHRleHQgb3IgVVJMcyBhbmQgZG93bmxvYWQgYXMgUE5HJyk7XG4gICAgICAgIHdyaXRlci53cml0ZWxuKCk7XG4gICAgICAgIHdyaXRlci53cml0ZWxuKCfwn5OLIFVzYWdlOicpO1xuICAgICAgICB3cml0ZXIud3JpdGVsbihgICAke3dyaXRlci53cmFwSW5Db2xvcigncXIgZ2VuZXJhdGUgLS10ZXh0PVwiPGNvbnRlbnQ+XCInLCBDbGlGb3JlZ3JvdW5kQ29sb3IuQ3lhbil9YCk7XG4gICAgICAgIHdyaXRlci53cml0ZWxuKCk7XG4gICAgICAgIHdyaXRlci53cml0ZWxuKCfimpnvuI8gIE9wdGlvbnM6Jyk7XG4gICAgICAgIHdyaXRlci53cml0ZWxuKGAgICR7d3JpdGVyLndyYXBJbkNvbG9yKCctLXRleHQnLCBDbGlGb3JlZ3JvdW5kQ29sb3IuWWVsbG93KX0gICAgICAgICAgVGV4dCBvciBVUkwgdG8gZW5jb2RlIChyZXF1aXJlZClgKTtcbiAgICAgICAgd3JpdGVyLndyaXRlbG4oYCAgJHt3cml0ZXIud3JhcEluQ29sb3IoJy0tZmlsZU5hbWUnLCBDbGlGb3JlZ3JvdW5kQ29sb3IuWWVsbG93KX0gICAgICBPdXRwdXQgZmlsZW5hbWUgKGRlZmF1bHQ6IHFyLWNvZGUpYCk7XG4gICAgICAgIHdyaXRlci53cml0ZWxuKCk7XG4gICAgICAgIHdyaXRlci53cml0ZWxuKCfwn5OdIEV4YW1wbGVzOicpO1xuICAgICAgICB3cml0ZXIud3JpdGVsbihgICBxciBnZW5lcmF0ZSAtLXRleHQ9XCJodHRwczovL2V4YW1wbGUuY29tXCIgICAgICAgICAgICAgICAgJHt3cml0ZXIud3JhcEluQ29sb3IoJyMgVVJMIFFSIGNvZGUnLCBDbGlGb3JlZ3JvdW5kQ29sb3IuR3JlZW4pfWApO1xuICAgICAgICB3cml0ZXIud3JpdGVsbihgICBxciBnZW5lcmF0ZSAtLXRleHQ9XCJIZWxsbyFcIiAtLWZpbGVOYW1lPVwibXktcXJcIiAgICAgICAgICAke3dyaXRlci53cmFwSW5Db2xvcignIyBDdXN0b20gZmlsZW5hbWUnLCBDbGlGb3JlZ3JvdW5kQ29sb3IuR3JlZW4pfWApO1xuICAgIH1cbn1cbiJdfQ==
|
package/esm2022/lib/version.mjs
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
// Automatically generated during build
|
|
2
|
-
export const LIBRARY_VERSION = '0.0.2';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3FyL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSx1Q0FBdUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZHVyaW5nIGJ1aWxkXG5leHBvcnQgY29uc3QgTElCUkFSWV9WRVJTSU9OID0gJzAuMC4yJztcbiAgIl19
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of qr
|
|
3
|
-
*/
|
|
4
|
-
export * from './lib/cli-qr.module';
|
|
5
|
-
export * from './lib/processors/cli-qr-command-processor';
|
|
6
|
-
export * from './lib/version';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3FyL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBxclxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsaS1xci5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm9jZXNzb3JzL2NsaS1xci1jb21tYW5kLXByb2Nlc3Nvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZlcnNpb24nO1xuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW9kYWxpcy1jbGktcXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9xci9zcmMvcW9kYWxpcy1jbGktcXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, NgModule } from '@angular/core';
|
|
3
|
-
import { resolveCommandProcessorProvider } from '@qodalis/angular-cli';
|
|
4
|
-
import { DefaultLibraryAuthor, CliForegroundColor } from '@qodalis/cli-core';
|
|
5
|
-
import QRCodeStyling from 'qr-code-styling';
|
|
6
|
-
|
|
7
|
-
// Automatically generated during build
|
|
8
|
-
const LIBRARY_VERSION = '0.0.2';
|
|
9
|
-
|
|
10
|
-
class CliQrCommandProcessor {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.command = 'qr';
|
|
13
|
-
this.description = 'Provide utility functions to generate QR codes. Usage: qr generate --text "https://example.com" --fileName "my-qr"';
|
|
14
|
-
this.author = DefaultLibraryAuthor;
|
|
15
|
-
this.version = LIBRARY_VERSION;
|
|
16
|
-
this.processors = [];
|
|
17
|
-
this.processors = [
|
|
18
|
-
{
|
|
19
|
-
command: 'generate',
|
|
20
|
-
description: 'Generate a QR code and download it as PNG. Usage: qr generate --text "https://example.com"',
|
|
21
|
-
parameters: [
|
|
22
|
-
{
|
|
23
|
-
name: 'text',
|
|
24
|
-
description: 'Text or URL to encode as a QR code',
|
|
25
|
-
type: 'string',
|
|
26
|
-
required: true,
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
name: 'fileName',
|
|
30
|
-
description: 'the file name',
|
|
31
|
-
type: 'string',
|
|
32
|
-
required: false,
|
|
33
|
-
},
|
|
34
|
-
],
|
|
35
|
-
processCommand: async (command, context) => {
|
|
36
|
-
const text = command.args['text'];
|
|
37
|
-
if (!text) {
|
|
38
|
-
context.writer.writeError('Missing required parameter: --text');
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
const fileName = command.args['fileName'] || 'qr-code';
|
|
42
|
-
try {
|
|
43
|
-
const qrCode = new QRCodeStyling({
|
|
44
|
-
width: 300,
|
|
45
|
-
height: 300,
|
|
46
|
-
data: text,
|
|
47
|
-
type: 'svg',
|
|
48
|
-
});
|
|
49
|
-
await qrCode.download({
|
|
50
|
-
name: fileName,
|
|
51
|
-
extension: 'png',
|
|
52
|
-
});
|
|
53
|
-
context.writer.writeSuccess(`QR Code for "${text}" downloaded as ${fileName}.png`);
|
|
54
|
-
}
|
|
55
|
-
catch (err) {
|
|
56
|
-
context.writer.writeError(`Failed to generate QR code: ${err}`);
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
];
|
|
61
|
-
}
|
|
62
|
-
async processCommand(command, context) {
|
|
63
|
-
context.executor.showHelp(command, context);
|
|
64
|
-
}
|
|
65
|
-
writeDescription(context) {
|
|
66
|
-
const { writer } = context;
|
|
67
|
-
writer.writeln('Generate QR codes from text or URLs and download as PNG');
|
|
68
|
-
writer.writeln();
|
|
69
|
-
writer.writeln('📋 Usage:');
|
|
70
|
-
writer.writeln(` ${writer.wrapInColor('qr generate --text="<content>"', CliForegroundColor.Cyan)}`);
|
|
71
|
-
writer.writeln();
|
|
72
|
-
writer.writeln('⚙️ Options:');
|
|
73
|
-
writer.writeln(` ${writer.wrapInColor('--text', CliForegroundColor.Yellow)} Text or URL to encode (required)`);
|
|
74
|
-
writer.writeln(` ${writer.wrapInColor('--fileName', CliForegroundColor.Yellow)} Output filename (default: qr-code)`);
|
|
75
|
-
writer.writeln();
|
|
76
|
-
writer.writeln('📝 Examples:');
|
|
77
|
-
writer.writeln(` qr generate --text="https://example.com" ${writer.wrapInColor('# URL QR code', CliForegroundColor.Green)}`);
|
|
78
|
-
writer.writeln(` qr generate --text="Hello!" --fileName="my-qr" ${writer.wrapInColor('# Custom filename', CliForegroundColor.Green)}`);
|
|
79
|
-
}
|
|
80
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliQrCommandProcessor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
81
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliQrCommandProcessor }); }
|
|
82
|
-
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliQrCommandProcessor, decorators: [{
|
|
84
|
-
type: Injectable
|
|
85
|
-
}], ctorParameters: function () { return []; } });
|
|
86
|
-
|
|
87
|
-
class CliQrModule {
|
|
88
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliQrModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
89
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: CliQrModule }); }
|
|
90
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliQrModule, providers: [resolveCommandProcessorProvider(CliQrCommandProcessor)] }); }
|
|
91
|
-
}
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliQrModule, decorators: [{
|
|
93
|
-
type: NgModule,
|
|
94
|
-
args: [{
|
|
95
|
-
declarations: [],
|
|
96
|
-
imports: [],
|
|
97
|
-
exports: [],
|
|
98
|
-
providers: [resolveCommandProcessorProvider(CliQrCommandProcessor)],
|
|
99
|
-
}]
|
|
100
|
-
}] });
|
|
101
|
-
|
|
102
|
-
/*
|
|
103
|
-
* Public API Surface of qr
|
|
104
|
-
*/
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* Generated bundle index. Do not edit.
|
|
108
|
-
*/
|
|
109
|
-
|
|
110
|
-
export { CliQrCommandProcessor, CliQrModule, LIBRARY_VERSION };
|
|
111
|
-
//# sourceMappingURL=qodalis-cli-qr.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qodalis-cli-qr.mjs","sources":["../../../projects/qr/src/lib/version.ts","../../../projects/qr/src/lib/processors/cli-qr-command-processor.ts","../../../projects/qr/src/lib/cli-qr.module.ts","../../../projects/qr/src/public-api.ts","../../../projects/qr/src/qodalis-cli-qr.ts"],"sourcesContent":["\n// Automatically generated during build\nexport const LIBRARY_VERSION = '0.0.2';\n ","import { Injectable } from '@angular/core';\nimport {\n CliForegroundColor,\n CliProcessCommand,\n DefaultLibraryAuthor,\n ICliCommandProcessor,\n ICliExecutionContext,\n} from '@qodalis/cli-core';\nimport QRCodeStyling from 'qr-code-styling';\nimport { LIBRARY_VERSION } from '../version';\n\n@Injectable()\nexport class CliQrCommandProcessor implements ICliCommandProcessor {\n command = 'qr';\n\n description =\n 'Provide utility functions to generate QR codes. Usage: qr generate --text \"https://example.com\" --fileName \"my-qr\"';\n\n author = DefaultLibraryAuthor;\n\n version = LIBRARY_VERSION;\n\n processors?: ICliCommandProcessor[] | undefined = [];\n\n constructor() {\n this.processors = [\n {\n command: 'generate',\n description:\n 'Generate a QR code and download it as PNG. Usage: qr generate --text \"https://example.com\"',\n parameters: [\n {\n name: 'text',\n description: 'Text or URL to encode as a QR code',\n type: 'string',\n required: true,\n },\n {\n name: 'fileName',\n description: 'the file name',\n type: 'string',\n required: false,\n },\n ],\n processCommand: async (command, context) => {\n const text = command.args['text'];\n\n if (!text) {\n context.writer.writeError(\n 'Missing required parameter: --text',\n );\n return;\n }\n\n const fileName = command.args['fileName'] || 'qr-code';\n\n try {\n const qrCode = new QRCodeStyling({\n width: 300,\n height: 300,\n data: text,\n type: 'svg',\n });\n\n await qrCode.download({\n name: fileName,\n extension: 'png',\n });\n\n context.writer.writeSuccess(\n `QR Code for \"${text}\" downloaded as ${fileName}.png`,\n );\n } catch (err) {\n context.writer.writeError(\n `Failed to generate QR code: ${err}`,\n );\n }\n },\n },\n ];\n }\n\n async processCommand(\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ): Promise<void> {\n context.executor.showHelp(command, context);\n }\n\n writeDescription(context: ICliExecutionContext): void {\n const { writer } = context;\n writer.writeln('Generate QR codes from text or URLs and download as PNG');\n writer.writeln();\n writer.writeln('📋 Usage:');\n writer.writeln(` ${writer.wrapInColor('qr generate --text=\"<content>\"', CliForegroundColor.Cyan)}`);\n writer.writeln();\n writer.writeln('⚙️ Options:');\n writer.writeln(` ${writer.wrapInColor('--text', CliForegroundColor.Yellow)} Text or URL to encode (required)`);\n writer.writeln(` ${writer.wrapInColor('--fileName', CliForegroundColor.Yellow)} Output filename (default: qr-code)`);\n writer.writeln();\n writer.writeln('📝 Examples:');\n writer.writeln(` qr generate --text=\"https://example.com\" ${writer.wrapInColor('# URL QR code', CliForegroundColor.Green)}`);\n writer.writeln(` qr generate --text=\"Hello!\" --fileName=\"my-qr\" ${writer.wrapInColor('# Custom filename', CliForegroundColor.Green)}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { resolveCommandProcessorProvider } from '@qodalis/angular-cli';\nimport { CliQrCommandProcessor } from './processors/cli-qr-command-processor';\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: [],\n providers: [resolveCommandProcessorProvider(CliQrCommandProcessor)],\n})\nexport class CliQrModule {}\n","/*\n * Public API Surface of qr\n */\n\nexport * from './lib/cli-qr.module';\n\nexport * from './lib/processors/cli-qr-command-processor';\n\nexport * from './lib/version';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AACA;AACO,MAAM,eAAe,GAAG;;MCUlB,qBAAqB,CAAA;AAY9B,IAAA,WAAA,GAAA;QAXA,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;QAEf,IAAW,CAAA,WAAA,GACP,oHAAoH,CAAC;QAEzH,IAAM,CAAA,MAAA,GAAG,oBAAoB,CAAC;QAE9B,IAAO,CAAA,OAAA,GAAG,eAAe,CAAC;QAE1B,IAAU,CAAA,UAAA,GAAwC,EAAE,CAAC;QAGjD,IAAI,CAAC,UAAU,GAAG;AACd,YAAA;AACI,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,WAAW,EACP,4FAA4F;AAChG,gBAAA,UAAU,EAAE;AACR,oBAAA;AACI,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,WAAW,EAAE,oCAAoC;AACjD,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,QAAQ,EAAE,IAAI;AACjB,qBAAA;AACD,oBAAA;AACI,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,WAAW,EAAE,eAAe;AAC5B,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,QAAQ,EAAE,KAAK;AAClB,qBAAA;AACJ,iBAAA;AACD,gBAAA,cAAc,EAAE,OAAO,OAAO,EAAE,OAAO,KAAI;oBACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAElC,IAAI,CAAC,IAAI,EAAE;AACP,wBAAA,OAAO,CAAC,MAAM,CAAC,UAAU,CACrB,oCAAoC,CACvC,CAAC;wBACF,OAAO;AACV,qBAAA;oBAED,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC;oBAEvD,IAAI;AACA,wBAAA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;AAC7B,4BAAA,KAAK,EAAE,GAAG;AACV,4BAAA,MAAM,EAAE,GAAG;AACX,4BAAA,IAAI,EAAE,IAAI;AACV,4BAAA,IAAI,EAAE,KAAK;AACd,yBAAA,CAAC,CAAC;wBAEH,MAAM,MAAM,CAAC,QAAQ,CAAC;AAClB,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,SAAS,EAAE,KAAK;AACnB,yBAAA,CAAC,CAAC;wBAEH,OAAO,CAAC,MAAM,CAAC,YAAY,CACvB,CAAgB,aAAA,EAAA,IAAI,CAAmB,gBAAA,EAAA,QAAQ,CAAM,IAAA,CAAA,CACxD,CAAC;AACL,qBAAA;AAAC,oBAAA,OAAO,GAAG,EAAE;wBACV,OAAO,CAAC,MAAM,CAAC,UAAU,CACrB,CAA+B,4BAAA,EAAA,GAAG,CAAE,CAAA,CACvC,CAAC;AACL,qBAAA;iBACJ;AACJ,aAAA;SACJ,CAAC;KACL;AAED,IAAA,MAAM,cAAc,CAChB,OAA0B,EAC1B,OAA6B,EAAA;QAE7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KAC/C;AAED,IAAA,gBAAgB,CAAC,OAA6B,EAAA;AAC1C,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;AAC3B,QAAA,MAAM,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC;QAC1E,MAAM,CAAC,OAAO,EAAE,CAAC;AACjB,QAAA,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAC5B,QAAA,MAAM,CAAC,OAAO,CAAC,CAAK,EAAA,EAAA,MAAM,CAAC,WAAW,CAAC,gCAAgC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAA,CAAE,CAAC,CAAC;QACrG,MAAM,CAAC,OAAO,EAAE,CAAC;AACjB,QAAA,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAC/B,QAAA,MAAM,CAAC,OAAO,CAAC,CAAK,EAAA,EAAA,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA,0CAAA,CAA4C,CAAC,CAAC;AACzH,QAAA,MAAM,CAAC,OAAO,CAAC,CAAK,EAAA,EAAA,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA,wCAAA,CAA0C,CAAC,CAAC;QAC3H,MAAM,CAAC,OAAO,EAAE,CAAC;AACjB,QAAA,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAC/B,QAAA,MAAM,CAAC,OAAO,CAAC,CAA6D,0DAAA,EAAA,MAAM,CAAC,WAAW,CAAC,eAAe,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC,CAAC;AAC7I,QAAA,MAAM,CAAC,OAAO,CAAC,CAA6D,0DAAA,EAAA,MAAM,CAAC,WAAW,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC,CAAC;KACpJ;+GA3FQ,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAArB,qBAAqB,EAAA,CAAA,CAAA,EAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;;;MCDE,WAAW,CAAA;+GAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAX,WAAW,EAAA,CAAA,CAAA,EAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,aAFT,CAAC,+BAA+B,CAAC,qBAAqB,CAAC,CAAC,EAAA,CAAA,CAAA,EAAA;;4FAE1D,WAAW,EAAA,UAAA,EAAA,CAAA;kBANvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,SAAS,EAAE,CAAC,+BAA+B,CAAC,qBAAqB,CAAC,CAAC;AACtE,iBAAA,CAAA;;;ACTD;;AAEG;;ACFH;;AAEG;;;;"}
|
package/index.d.ts
DELETED
package/lib/cli-qr.module.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { CliProcessCommand, ICliCommandProcessor, ICliExecutionContext } from '@qodalis/cli-core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class CliQrCommandProcessor implements ICliCommandProcessor {
|
|
4
|
-
command: string;
|
|
5
|
-
description: string;
|
|
6
|
-
author: import("@qodalis/cli-core").ICliCommandAuthor;
|
|
7
|
-
version: string;
|
|
8
|
-
processors?: ICliCommandProcessor[] | undefined;
|
|
9
|
-
constructor();
|
|
10
|
-
processCommand(command: CliProcessCommand, context: ICliExecutionContext): Promise<void>;
|
|
11
|
-
writeDescription(context: ICliExecutionContext): void;
|
|
12
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CliQrCommandProcessor, never>;
|
|
13
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<CliQrCommandProcessor>;
|
|
14
|
-
}
|
package/lib/version.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const LIBRARY_VERSION = "0.0.2";
|
package/umd/index.js
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('@qodalis/cli-core'), require('@angular/core'), require('qr-code-styling')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['@qodalis/cli-core', '@angular/core', 'qr-code-styling'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.cliCore, global.ngCore, global.QRCodeStyling));
|
|
5
|
-
})(this, (function (cliCore, core, QRCodeStyling) { 'use strict';
|
|
6
|
-
|
|
7
|
-
/******************************************************************************
|
|
8
|
-
Copyright (c) Microsoft Corporation.
|
|
9
|
-
|
|
10
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
11
|
-
purpose with or without fee is hereby granted.
|
|
12
|
-
|
|
13
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
14
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
15
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
16
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
17
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
18
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
19
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
20
|
-
***************************************************************************** */
|
|
21
|
-
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
function __decorate(decorators, target, key, desc) {
|
|
25
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
26
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
27
|
-
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;
|
|
28
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
32
|
-
var e = new Error(message);
|
|
33
|
-
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
// Automatically generated during build
|
|
37
|
-
const LIBRARY_VERSION = '0.0.2';
|
|
38
|
-
|
|
39
|
-
let CliQrCommandProcessor = class CliQrCommandProcessor {
|
|
40
|
-
constructor() {
|
|
41
|
-
this.command = 'qr';
|
|
42
|
-
this.description = 'Provide utility functions to generate QR codes. Usage: qr generate --text "https://example.com" --fileName "my-qr"';
|
|
43
|
-
this.author = cliCore.DefaultLibraryAuthor;
|
|
44
|
-
this.version = LIBRARY_VERSION;
|
|
45
|
-
this.processors = [];
|
|
46
|
-
this.processors = [
|
|
47
|
-
{
|
|
48
|
-
command: 'generate',
|
|
49
|
-
description: 'Generate a QR code and download it as PNG. Usage: qr generate --text "https://example.com"',
|
|
50
|
-
parameters: [
|
|
51
|
-
{
|
|
52
|
-
name: 'text',
|
|
53
|
-
description: 'Text or URL to encode as a QR code',
|
|
54
|
-
type: 'string',
|
|
55
|
-
required: true,
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
name: 'fileName',
|
|
59
|
-
description: 'the file name',
|
|
60
|
-
type: 'string',
|
|
61
|
-
required: false,
|
|
62
|
-
},
|
|
63
|
-
],
|
|
64
|
-
processCommand: async (command, context) => {
|
|
65
|
-
const text = command.args['text'];
|
|
66
|
-
if (!text) {
|
|
67
|
-
context.writer.writeError('Missing required parameter: --text');
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
const fileName = command.args['fileName'] || 'qr-code';
|
|
71
|
-
try {
|
|
72
|
-
const qrCode = new QRCodeStyling({
|
|
73
|
-
width: 300,
|
|
74
|
-
height: 300,
|
|
75
|
-
data: text,
|
|
76
|
-
type: 'svg',
|
|
77
|
-
});
|
|
78
|
-
await qrCode.download({
|
|
79
|
-
name: fileName,
|
|
80
|
-
extension: 'png',
|
|
81
|
-
});
|
|
82
|
-
context.writer.writeSuccess(`QR Code for "${text}" downloaded as ${fileName}.png`);
|
|
83
|
-
}
|
|
84
|
-
catch (err) {
|
|
85
|
-
context.writer.writeError(`Failed to generate QR code: ${err}`);
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
},
|
|
89
|
-
];
|
|
90
|
-
}
|
|
91
|
-
async processCommand(command, context) {
|
|
92
|
-
context.executor.showHelp(command, context);
|
|
93
|
-
}
|
|
94
|
-
writeDescription(context) {
|
|
95
|
-
const { writer } = context;
|
|
96
|
-
writer.writeln('Generate QR codes from text or URLs and download as PNG');
|
|
97
|
-
writer.writeln();
|
|
98
|
-
writer.writeln('📋 Usage:');
|
|
99
|
-
writer.writeln(` ${writer.wrapInColor('qr generate --text="<content>"', cliCore.CliForegroundColor.Cyan)}`);
|
|
100
|
-
writer.writeln();
|
|
101
|
-
writer.writeln('⚙️ Options:');
|
|
102
|
-
writer.writeln(` ${writer.wrapInColor('--text', cliCore.CliForegroundColor.Yellow)} Text or URL to encode (required)`);
|
|
103
|
-
writer.writeln(` ${writer.wrapInColor('--fileName', cliCore.CliForegroundColor.Yellow)} Output filename (default: qr-code)`);
|
|
104
|
-
writer.writeln();
|
|
105
|
-
writer.writeln('📝 Examples:');
|
|
106
|
-
writer.writeln(` qr generate --text="https://example.com" ${writer.wrapInColor('# URL QR code', cliCore.CliForegroundColor.Green)}`);
|
|
107
|
-
writer.writeln(` qr generate --text="Hello!" --fileName="my-qr" ${writer.wrapInColor('# Custom filename', cliCore.CliForegroundColor.Green)}`);
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
CliQrCommandProcessor = __decorate([
|
|
111
|
-
core.Injectable()
|
|
112
|
-
], CliQrCommandProcessor);
|
|
113
|
-
|
|
114
|
-
const module = {
|
|
115
|
-
name: '@qodalis/cli-qr',
|
|
116
|
-
processors: [new CliQrCommandProcessor()],
|
|
117
|
-
};
|
|
118
|
-
cliCore.bootUmdModule(module);
|
|
119
|
-
|
|
120
|
-
}));
|