@qodalis/cli-browser-storage 0.0.1 → 0.0.3

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.
@@ -1,5 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
+ import { CliForegroundColor, } from '@qodalis/cli-core';
2
3
  import { DefaultLibraryAuthor } from '@qodalis/cli-core';
4
+ import { LIBRARY_VERSION } from '../version';
3
5
  import * as i0 from "@angular/core";
4
6
  export class CliCookiesCommandProcessor {
5
7
  constructor() {
@@ -7,6 +9,11 @@ export class CliCookiesCommandProcessor {
7
9
  this.description = 'Interact with the cookies';
8
10
  this.author = DefaultLibraryAuthor;
9
11
  this.processors = [];
12
+ this.version = LIBRARY_VERSION;
13
+ this.metadata = {
14
+ requiredCoreVersion: '0.0.16',
15
+ requiredCliVersion: '1.0.37',
16
+ };
10
17
  this.processors = [
11
18
  {
12
19
  command: 'list',
@@ -63,10 +70,22 @@ export class CliCookiesCommandProcessor {
63
70
  ];
64
71
  }
65
72
  async processCommand(command, context) {
66
- context.writer.writeError('Choose a sub-command');
73
+ await context.executor.showHelp(command, context);
67
74
  }
68
75
  writeDescription(context) {
69
- context.writer.writeln(this.description);
76
+ const { writer } = context;
77
+ writer.writeln('Read, write, and delete browser cookies');
78
+ writer.writeln();
79
+ writer.writeln('📋 Commands:');
80
+ writer.writeln(` ${writer.wrapInColor('cookies list', CliForegroundColor.Cyan)} 🍪 List all cookies`);
81
+ writer.writeln(` ${writer.wrapInColor('cookies get <key>', CliForegroundColor.Cyan)} Read a cookie value`);
82
+ writer.writeln(` ${writer.wrapInColor('cookies set <key> <value>', CliForegroundColor.Cyan)} Write a cookie`);
83
+ writer.writeln(` ${writer.wrapInColor('cookies remove <key>', CliForegroundColor.Cyan)} Delete a cookie`);
84
+ writer.writeln();
85
+ writer.writeln('📝 Examples:');
86
+ writer.writeln(` cookies set lang en ${writer.wrapInColor('# Set a cookie', CliForegroundColor.Green)}`);
87
+ writer.writeln(` cookies get lang ${writer.wrapInColor('# Read a cookie', CliForegroundColor.Green)}`);
88
+ writer.writeln(` cookies list ${writer.wrapInColor('# Show all cookies', CliForegroundColor.Green)}`);
70
89
  }
71
90
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliCookiesCommandProcessor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
72
91
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliCookiesCommandProcessor, providedIn: 'root' }); }
@@ -77,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
77
96
  providedIn: 'root',
78
97
  }]
79
98
  }], ctorParameters: function () { return []; } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWNvb2tpZXMtY29tbWFuZC1wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icm93c2VyLXN0b3JhZ2Uvc3JjL2xpYi9wcm9jZXNzb3JzL2NsaS1jb29raWVzLWNvbW1hbmQtcHJvY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBS3pELE1BQU0sT0FBTywwQkFBMEI7SUFTbkM7UUFSQSxZQUFPLEdBQUcsU0FBUyxDQUFDO1FBRXBCLGdCQUFXLEdBQUcsMkJBQTJCLENBQUM7UUFFMUMsV0FBTSxHQUFtQyxvQkFBb0IsQ0FBQztRQUU5RCxlQUFVLEdBQXdDLEVBQUUsQ0FBQztRQUdqRCxJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2Q7Z0JBQ0ksT0FBTyxFQUFFLE1BQU07Z0JBQ2YscUJBQXFCLEVBQUUsSUFBSTtnQkFDM0IsV0FBVyxFQUFFLGtCQUFrQjtnQkFDL0IsY0FBYyxFQUFFLEtBQUssRUFDakIsT0FBMEIsRUFDMUIsT0FBNkIsRUFDL0IsRUFBRTtvQkFDQSxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQzlDLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFO3dCQUNaLE1BQU0sQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDbkQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLGtCQUFrQixDQUMvQixXQUFXLElBQUksRUFBRSxDQUNwQixDQUFDO3dCQUNGLE9BQU8sR0FBRyxDQUFDO29CQUNmLENBQUMsRUFDRCxFQUE0QixDQUMvQixDQUFDO29CQUVGLEtBQUss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T0FBNkI7UUFDM0MsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7K0dBeEdRLDBCQUEwQjttSEFBMUIsMEJBQTBCLGNBRnZCLE1BQU07OzRGQUVULDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENsaVByb2Nlc3NDb21tYW5kLFxuICAgIElDbGlDb21tYW5kQXV0aG9yLFxuICAgIElDbGlDb21tYW5kUHJvY2Vzc29yLFxuICAgIElDbGlFeGVjdXRpb25Db250ZXh0LFxufSBmcm9tICdAcW9kYWxpcy9jbGktY29yZSc7XG5cbmltcG9ydCB7IERlZmF1bHRMaWJyYXJ5QXV0aG9yIH0gZnJvbSAnQHFvZGFsaXMvY2xpLWNvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDbGlDb29raWVzQ29tbWFuZFByb2Nlc3NvciBpbXBsZW1lbnRzIElDbGlDb21tYW5kUHJvY2Vzc29yIHtcbiAgICBjb21tYW5kID0gJ2Nvb2tpZXMnO1xuXG4gICAgZGVzY3JpcHRpb24gPSAnSW50ZXJhY3Qgd2l0aCB0aGUgY29va2llcyc7XG5cbiAgICBhdXRob3I/OiBJQ2xpQ29tbWFuZEF1dGhvciB8IHVuZGVmaW5lZCA9IERlZmF1bHRMaWJyYXJ5QXV0aG9yO1xuXG4gICAgcHJvY2Vzc29ycz86IElDbGlDb21tYW5kUHJvY2Vzc29yW10gfCB1bmRlZmluZWQgPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnByb2Nlc3NvcnMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29tbWFuZDogJ2xpc3QnLFxuICAgICAgICAgICAgICAgIGFsbG93VW5saXN0ZWRDb21tYW5kczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0xpc3QgYWxsIGNvb2tpZXMnLFxuICAgICAgICAgICAgICAgIHByb2Nlc3NDb21tYW5kOiBhc3luYyAoXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IENsaVByb2Nlc3NDb21tYW5kLFxuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCxcbiAgICAgICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29va2llcyA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOyAnKS5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAoYWNjLCBjb29raWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBbY29va2llS2V5LCBjb29raWVWYWx1ZV0gPSBjb29raWUuc3BsaXQoJz0nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NbY29va2llS2V5XSA9IGRlY29kZVVSSUNvbXBvbmVudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29va2llVmFsdWUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHt9IGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoY29va2llcykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlbG4oYCR7a2V5fTogJHt2YWx1ZX1gKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICdnZXQnLFxuICAgICAgICAgICAgICAgIGFsbG93VW5saXN0ZWRDb21tYW5kczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0dldCB0aGUgdmFsdWUgb2YgYSBrZXknLFxuICAgICAgICAgICAgICAgIHByb2Nlc3NDb21tYW5kOiBhc3luYyAoXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IENsaVByb2Nlc3NDb21tYW5kLFxuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCxcbiAgICAgICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgW2tleV0gPSBjb21tYW5kLmNoYWluQ29tbWFuZHMuc2xpY2UoMik7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29va2llcyA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOyAnKS5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAoYWNjLCBjb29raWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBbY29va2llS2V5LCBjb29raWVWYWx1ZV0gPSBjb29raWUuc3BsaXQoJz0nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NbY29va2llS2V5XSA9IGRlY29kZVVSSUNvbXBvbmVudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29va2llVmFsdWUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHt9IGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBjb29raWVzW2tleV07XG5cbiAgICAgICAgICAgICAgICAgICAgY29udGV4dC53cml0ZXIud3JpdGVsbih2YWx1ZSB8fCAnbnVsbCcpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICdzZXQnLFxuICAgICAgICAgICAgICAgIGFsbG93VW5saXN0ZWRDb21tYW5kczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1NldCB0aGUgdmFsdWUgb2YgYSBrZXknLFxuICAgICAgICAgICAgICAgIHByb2Nlc3NDb21tYW5kOiBhc3luYyAoXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IENsaVByb2Nlc3NDb21tYW5kLFxuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCxcbiAgICAgICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgW2tleSwgLi4udmFsdWVdID0gY29tbWFuZC5jaGFpbkNvbW1hbmRzLnNsaWNlKDEpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4cGlyZXMgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICBleHBpcmVzLnNldEZ1bGxZZWFyKGV4cGlyZXMuZ2V0RnVsbFllYXIoKSArIDEpO1xuXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGAke2tleX09JHtlbmNvZGVVUklDb21wb25lbnQodmFsdWUuam9pbignICcpKX07ZXhwaXJlcz0ke2V4cGlyZXMudG9VVENTdHJpbmcoKX07cGF0aD0vYDtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dC53cml0ZXIud3JpdGVTdWNjZXNzKCdDb29raWUgc2V0IHN1Y2Nlc3NmdWxseScpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICdyZW1vdmUnLFxuICAgICAgICAgICAgICAgIGFsbG93VW5saXN0ZWRDb21tYW5kczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1JlbW92ZSBhIGtleScsXG4gICAgICAgICAgICAgICAgcHJvY2Vzc0NvbW1hbmQ6IGFzeW5jIChcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDogQ2xpUHJvY2Vzc0NvbW1hbmQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IElDbGlFeGVjdXRpb25Db250ZXh0LFxuICAgICAgICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBba2V5XSA9IGNvbW1hbmQuY2hhaW5Db21tYW5kcy5zbGljZSgxKTtcblxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSBgJHtrZXl9PTtleHBpcmVzPVRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgVVRDO3BhdGg9L2A7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlU3VjY2VzcygnQ29va2llIHJlbW92ZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgYXN5bmMgcHJvY2Vzc0NvbW1hbmQoXG4gICAgICAgIGNvbW1hbmQ6IENsaVByb2Nlc3NDb21tYW5kLFxuICAgICAgICBjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCxcbiAgICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29udGV4dC53cml0ZXIud3JpdGVFcnJvcignQ2hvb3NlIGEgc3ViLWNvbW1hbmQnKTtcbiAgICB9XG5cbiAgICB3cml0ZURlc2NyaXB0aW9uPyhjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCk6IHZvaWQge1xuICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZWxuKHRoaXMuZGVzY3JpcHRpb24pO1xuICAgIH1cbn1cbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWNvb2tpZXMtY29tbWFuZC1wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icm93c2VyLXN0b3JhZ2Uvc3JjL2xpYi9wcm9jZXNzb3JzL2NsaS1jb29raWVzLWNvbW1hbmQtcHJvY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNILGtCQUFrQixHQU1yQixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBSzdDLE1BQU0sT0FBTywwQkFBMEI7SUFnQm5DO1FBZkEsWUFBTyxHQUFHLFNBQVMsQ0FBQztRQUVwQixnQkFBVyxHQUFHLDJCQUEyQixDQUFDO1FBRTFDLFdBQU0sR0FBbUMsb0JBQW9CLENBQUM7UUFFOUQsZUFBVSxHQUF3QyxFQUFFLENBQUM7UUFFckQsWUFBTyxHQUFHLGVBQWUsQ0FBQztRQUUxQixhQUFRLEdBQXNDO1lBQzFDLG1CQUFtQixFQUFFLFFBQVE7WUFDN0Isa0JBQWtCLEVBQUUsUUFBUTtTQUMvQixDQUFDO1FBR0UsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNkO2dCQUNJLE9BQU8sRUFBRSxNQUFNO2dCQUNmLHFCQUFxQixFQUFFLElBQUk7Z0JBQzNCLFdBQVcsRUFBRSxrQkFBa0I7Z0JBQy9CLGNBQWMsRUFBRSxLQUFLLEVBQ2pCLE9BQTBCLEVBQzFCLE9BQTZCLEVBQy9CLEVBQUU7b0JBQ0EsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUM5QyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRTt3QkFDWixNQUFNLENBQUMsU0FBUyxFQUFF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RUFBRSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkgsTUFBTSxDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsTUFBTSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEgsTUFBTSxDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsTUFBTSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0gsQ0FBQzsrR0EzSFEsMEJBQTBCO21IQUExQiwwQkFBMEIsY0FGdkIsTUFBTTs7NEZBRVQsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2xpRm9yZWdyb3VuZENvbG9yLFxuICAgIENsaVByb2Nlc3NDb21tYW5kLFxuICAgIENsaVByb2Nlc3Nvck1ldGFkYXRhLFxuICAgIElDbGlDb21tYW5kQXV0aG9yLFxuICAgIElDbGlDb21tYW5kUHJvY2Vzc29yLFxuICAgIElDbGlFeGVjdXRpb25Db250ZXh0LFxufSBmcm9tICdAcW9kYWxpcy9jbGktY29yZSc7XG5cbmltcG9ydCB7IERlZmF1bHRMaWJyYXJ5QXV0aG9yIH0gZnJvbSAnQHFvZGFsaXMvY2xpLWNvcmUnO1xuaW1wb3J0IHsgTElCUkFSWV9WRVJTSU9OIH0gZnJvbSAnLi4vdmVyc2lvbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENsaUNvb2tpZXNDb21tYW5kUHJvY2Vzc29yIGltcGxlbWVudHMgSUNsaUNvbW1hbmRQcm9jZXNzb3Ige1xuICAgIGNvbW1hbmQgPSAnY29va2llcyc7XG5cbiAgICBkZXNjcmlwdGlvbiA9ICdJbnRlcmFjdCB3aXRoIHRoZSBjb29raWVzJztcblxuICAgIGF1dGhvcj86IElDbGlDb21tYW5kQXV0aG9yIHwgdW5kZWZpbmVkID0gRGVmYXVsdExpYnJhcnlBdXRob3I7XG5cbiAgICBwcm9jZXNzb3JzPzogSUNsaUNvbW1hbmRQcm9jZXNzb3JbXSB8IHVuZGVmaW5lZCA9IFtdO1xuXG4gICAgdmVyc2lvbiA9IExJQlJBUllfVkVSU0lPTjtcblxuICAgIG1ldGFkYXRhPzogQ2xpUHJvY2Vzc29yTWV0YWRhdGEgfCB1bmRlZmluZWQgPSB7XG4gICAgICAgIHJlcXVpcmVkQ29yZVZlcnNpb246ICcwLjAuMTYnLFxuICAgICAgICByZXF1aXJlZENsaVZlcnNpb246ICcxLjAuMzcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzb3JzID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICdsaXN0JyxcbiAgICAgICAgICAgICAgICBhbGxvd1VubGlzdGVkQ29tbWFuZHM6IHRydWUsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdMaXN0IGFsbCBjb29raWVzJyxcbiAgICAgICAgICAgICAgICBwcm9jZXNzQ29tbWFuZDogYXN5bmMgKFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgICAgICAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvb2tpZXMgPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsgJykucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGFjYywgY29va2llKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgW2Nvb2tpZUtleSwgY29va2llVmFsdWVdID0gY29va2llLnNwbGl0KCc9Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjW2Nvb2tpZUtleV0gPSBkZWNvZGVVUklDb21wb25lbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb2tpZVZhbHVlIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGNvb2tpZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZWxuKGAke2tleX06ICR7dmFsdWV9YCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAnZ2V0JyxcbiAgICAgICAgICAgICAgICBhbGxvd1VubGlzdGVkQ29tbWFuZHM6IHRydWUsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdHZXQgdGhlIHZhbHVlIG9mIGEga2V5JyxcbiAgICAgICAgICAgICAgICBwcm9jZXNzQ29tbWFuZDogYXN5bmMgKFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgICAgICAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFtrZXldID0gY29tbWFuZC5jaGFpbkNvbW1hbmRzLnNsaWNlKDIpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvb2tpZXMgPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsgJykucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGFjYywgY29va2llKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgW2Nvb2tpZUtleSwgY29va2llVmFsdWVdID0gY29va2llLnNwbGl0KCc9Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjW2Nvb2tpZUtleV0gPSBkZWNvZGVVUklDb21wb25lbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb2tpZVZhbHVlIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gY29va2llc1trZXldO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlbG4odmFsdWUgfHwgJ251bGwnKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAnc2V0JyxcbiAgICAgICAgICAgICAgICBhbGxvd1VubGlzdGVkQ29tbWFuZHM6IHRydWUsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTZXQgdGhlIHZhbHVlIG9mIGEga2V5JyxcbiAgICAgICAgICAgICAgICBwcm9jZXNzQ29tbWFuZDogYXN5bmMgKFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgICAgICAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFtrZXksIC4uLnZhbHVlXSA9IGNvbW1hbmQuY2hhaW5Db21tYW5kcy5zbGljZSgxKTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBleHBpcmVzID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgZXhwaXJlcy5zZXRGdWxsWWVhcihleHBpcmVzLmdldEZ1bGxZZWFyKCkgKyAxKTtcblxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSBgJHtrZXl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlLmpvaW4oJyAnKSl9O2V4cGlyZXM9JHtleHBpcmVzLnRvVVRDU3RyaW5nKCl9O3BhdGg9L2A7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlU3VjY2VzcygnQ29va2llIHNldCBzdWNjZXNzZnVsbHknKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAncmVtb3ZlJyxcbiAgICAgICAgICAgICAgICBhbGxvd1VubGlzdGVkQ29tbWFuZHM6IHRydWUsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdSZW1vdmUgYSBrZXknLFxuICAgICAgICAgICAgICAgIHByb2Nlc3NDb21tYW5kOiBhc3luYyAoXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IENsaVByb2Nlc3NDb21tYW5kLFxuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCxcbiAgICAgICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgW2tleV0gPSBjb21tYW5kLmNoYWluQ29tbWFuZHMuc2xpY2UoMSk7XG5cbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuY29va2llID0gYCR7a2V5fT07ZXhwaXJlcz1UaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIFVUQztwYXRoPS9gO1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZVN1Y2Nlc3MoJ0Nvb2tpZSByZW1vdmVkIHN1Y2Nlc3NmdWxseScpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGFzeW5jIHByb2Nlc3NDb21tYW5kKFxuICAgICAgICBjb21tYW5kOiBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IGNvbnRleHQuZXhlY3V0b3Iuc2hvd0hlbHAoY29tbWFuZCwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgd3JpdGVEZXNjcmlwdGlvbj8oY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB3cml0ZXIgfSA9IGNvbnRleHQ7XG4gICAgICAgIHdyaXRlci53cml0ZWxuKCdSZWFkLCB3cml0ZSwgYW5kIGRlbGV0ZSBicm93c2VyIGNvb2tpZXMnKTtcbiAgICAgICAgd3JpdGVyLndyaXRlbG4oKTtcbiAgICAgICAgd3JpdGVyLndyaXRlbG4oJ/Cfk4sgQ29tbWFuZHM6Jyk7XG4gICAgICAgIHdyaXRlci53cml0ZWxuKGAgICR7d3JpdGVyLndyYXBJbkNvbG9yKCdjb29raWVzIGxpc3QnLCBDbGlGb3JlZ3JvdW5kQ29sb3IuQ3lhbil9ICAgICAgICAgICAgICAgICAgICDwn42qIExpc3QgYWxsIGNvb2tpZXNgKTtcbiAgICAgICAgd3JpdGVyLndyaXRlbG4oYCAgJHt3cml0ZXIud3JhcEluQ29sb3IoJ2Nvb2tpZXMgZ2V0IDxrZXk+JywgQ2xpRm9yZWdyb3VuZENvbG9yLkN5YW4pfSAgICAgICAgICAgICAgICBSZWFkIGEgY29va2llIHZhbHVlYCk7XG4gICAgICAgIHdyaXRlci53cml0ZWxuKGAgICR7d3JpdGVyLndyYXBJbkNvbG9yKCdjb29raWVzIHNldCA8a2V5PiA8dmFsdWU+JywgQ2xpRm9yZWdyb3VuZENvbG9yLkN5YW4pfSAgICAgICAgV3JpdGUgYSBjb29raWVgKTtcbiAgICAgICAgd3JpdGVyLndyaXRlbG4oYCAgJHt3cml0ZXIud3JhcEluQ29sb3IoJ2Nvb2tpZXMgcmVtb3ZlIDxrZXk+JywgQ2xpRm9yZWdyb3VuZENvbG9yLkN5YW4pfSAgICAgICAgICAgICBEZWxldGUgYSBjb29raWVgKTtcbiAgICAgICAgd3JpdGVyLndyaXRlbG4oKTtcbiAgICAgICAgd3JpdGVyLndyaXRlbG4oJ/Cfk50gRXhhbXBsZXM6Jyk7XG4gICAgICAgIHdyaXRlci53cml0ZWxuKGAgIGNvb2tpZXMgc2V0IGxhbmcgZW4gICAgICAgICAgICAgICR7d3JpdGVyLndyYXBJbkNvbG9yKCcjIFNldCBhIGNvb2tpZScsIENsaUZvcmVncm91bmRDb2xvci5HcmVlbil9YCk7XG4gICAgICAgIHdyaXRlci53cml0ZWxuKGAgIGNvb2tpZXMgZ2V0IGxhbmcgICAgICAgICAgICAgICAgICR7d3JpdGVyLndyYXBJbkNvbG9yKCcjIFJlYWQgYSBjb29raWUnLCBDbGlGb3JlZ3JvdW5kQ29sb3IuR3JlZW4pfWApO1xuICAgICAgICB3cml0ZXIud3JpdGVsbihgICBjb29raWVzIGxpc3QgICAgICAgICAgICAgICAgICAgICAke3dyaXRlci53cmFwSW5Db2xvcignIyBTaG93IGFsbCBjb29raWVzJywgQ2xpRm9yZWdyb3VuZENvbG9yLkdyZWVuKX1gKTtcbiAgICB9XG59XG4iXX0=
@@ -1,5 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
+ import { CliForegroundColor, } from '@qodalis/cli-core';
2
3
  import { DefaultLibraryAuthor } from '@qodalis/cli-core';
4
+ import { LIBRARY_VERSION } from '../version';
3
5
  import * as i0 from "@angular/core";
4
6
  export class CliLocalStorageCommandProcessor {
5
7
  constructor() {
@@ -7,6 +9,11 @@ export class CliLocalStorageCommandProcessor {
7
9
  this.description = 'Interact with the local storage';
8
10
  this.author = DefaultLibraryAuthor;
9
11
  this.processors = [];
12
+ this.version = LIBRARY_VERSION;
13
+ this.metadata = {
14
+ requiredCoreVersion: '0.0.16',
15
+ requiredCliVersion: '1.0.37',
16
+ };
10
17
  this.processors = [
11
18
  {
12
19
  command: 'get',
@@ -41,15 +48,21 @@ export class CliLocalStorageCommandProcessor {
41
48
  ];
42
49
  }
43
50
  async processCommand(command, context) {
44
- context.writer.writeError('Choose a sub-command');
51
+ await context.executor.showHelp(command, context);
45
52
  }
46
53
  writeDescription(context) {
47
- context.writer.writeln('local-storage get <key>');
48
- context.writer.writeln('Gets the value of the specified key');
49
- context.writer.writeln('local-storage set <key> <value>');
50
- context.writer.writeln('Sets the value of the specified key');
51
- context.writer.writeln('local-storage remove <key>');
52
- context.writer.writeln('Removes the specified key');
54
+ const { writer } = context;
55
+ writer.writeln('Read, write, and delete keys from the browser local storage');
56
+ writer.writeln();
57
+ writer.writeln('📋 Commands:');
58
+ writer.writeln(` ${writer.wrapInColor('local-storage get <key>', CliForegroundColor.Cyan)} Read a value`);
59
+ writer.writeln(` ${writer.wrapInColor('local-storage set <key> <value>', CliForegroundColor.Cyan)} Write a value`);
60
+ writer.writeln(` ${writer.wrapInColor('local-storage remove <key>', CliForegroundColor.Cyan)} Delete a key`);
61
+ writer.writeln();
62
+ writer.writeln('📝 Examples:');
63
+ writer.writeln(` local-storage set theme dark ${writer.wrapInColor('# Store a value', CliForegroundColor.Green)}`);
64
+ writer.writeln(` local-storage get theme ${writer.wrapInColor('# Read a value', CliForegroundColor.Green)}`);
65
+ writer.writeln(` local-storage remove theme ${writer.wrapInColor('# Delete a key', CliForegroundColor.Green)}`);
53
66
  }
54
67
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliLocalStorageCommandProcessor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
55
68
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliLocalStorageCommandProcessor, providedIn: 'root' }); }
@@ -60,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
60
73
  providedIn: 'root',
61
74
  }]
62
75
  }], ctorParameters: function () { return []; } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWxvY2FsLXN0b3JhZ2UtY29tbWFuZC1wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icm93c2VyLXN0b3JhZ2Uvc3JjL2xpYi9wcm9jZXNzb3JzL2NsaS1sb2NhbC1zdG9yYWdlLWNvbW1hbmQtcHJvY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBS3pELE1BQU0sT0FBTywrQkFBK0I7SUFTeEM7UUFSQSxZQUFPLEdBQUcsZUFBZSxDQUFDO1FBRTFCLGdCQUFXLEdBQUcsaUNBQWlDLENBQUM7UUFFaEQsV0FBTSxHQUFtQyxvQkFBb0IsQ0FBQztRQUU5RCxlQUFVLEdBQXdDLEVBQUUsQ0FBQztRQUdqRCxJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2Q7Z0JBQ0ksT0FBTyxFQUFFLEtBQUs7Z0JBQ2QscUJBQXFCLEVBQUUsSUFBSTtnQkFDM0IsV0FBVyxFQUFFLHdCQUF3QjtnQkFDckMsY0FBYyxFQUFFLEtBQUssRUFDakIsT0FBMEIsRUFDMUIsT0FBNkIsRUFDL0IsRUFBRTtvQkFDQSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBRTdDLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsQ0FBQztnQkFDNUMsQ0FBQzthQUNKO1lBQ0Q7Z0JBQ0ksT0FBTyxFQUFFLEtBQUs7Z0JBQ2QscUJBQXFCLEVBQUUsSUFBSTtnQkFDM0IsV0FBVyxFQUFFLHdCQUF3QjtnQkFDckMsY0FBYyxFQUFFLEtBQUssRUFDakIsT0FBMEIsRUFDMUIsT0FBNkIsRUFDL0IsRUFBRTtvQkFDQSxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBRXZELFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDM0MsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsd0JBQXdCLENBQUMsQ0FBQztnQkFDMUQsQ0FBQzthQUNKO1lBQ0Q7Z0JBQ0ksT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLHFCQUFxQixFQUFFLElBQUk7Z0JBQzNCLFdBQVcsRUFBRSxjQUFjO2dCQUMzQixjQUFjLEVBQUUsS0FBSyxFQUNqQixPQUEwQixFQUMxQixPQUE2QixFQUMvQixFQUFFO29CQUNBLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFFN0MsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDN0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsMEJBQTBCLENBQUMsQ0FBQztnQkFDNUQsQ0FBQzthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUNoQixPQUEwQixFQUMxQixPQUE2QjtRQUU3QixPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxPQUE2QjtRQUMzQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ2xELE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFFOUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUMxRCxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBRTlELE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDckQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUN4RCxDQUFDOytHQXhFUSwrQkFBK0I7bUhBQS9CLCtCQUErQixjQUY1QixNQUFNOzs0RkFFVCwrQkFBK0I7a0JBSDNDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICBJQ2xpQ29tbWFuZEF1dGhvcixcbiAgICBJQ2xpQ29tbWFuZFByb2Nlc3NvcixcbiAgICBJQ2xpRXhlY3V0aW9uQ29udGV4dCxcbn0gZnJvbSAnQHFvZGFsaXMvY2xpLWNvcmUnO1xuXG5pbXBvcnQgeyBEZWZhdWx0TGlicmFyeUF1dGhvciB9IGZyb20gJ0Bxb2RhbGlzL2NsaS1jb3JlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xpTG9jYWxTdG9yYWdlQ29tbWFuZFByb2Nlc3NvciBpbXBsZW1lbnRzIElDbGlDb21tYW5kUHJvY2Vzc29yIHtcbiAgICBjb21tYW5kID0gJ2xvY2FsLXN0b3JhZ2UnO1xuXG4gICAgZGVzY3JpcHRpb24gPSAnSW50ZXJhY3Qgd2l0aCB0aGUgbG9jYWwgc3RvcmFnZSc7XG5cbiAgICBhdXRob3I/OiBJQ2xpQ29tbWFuZEF1dGhvciB8IHVuZGVmaW5lZCA9IERlZmF1bHRMaWJyYXJ5QXV0aG9yO1xuXG4gICAgcHJvY2Vzc29ycz86IElDbGlDb21tYW5kUHJvY2Vzc29yW10gfCB1bmRlZmluZWQgPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnByb2Nlc3NvcnMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29tbWFuZDogJ2dldCcsXG4gICAgICAgICAgICAgICAgYWxsb3dVbmxpc3RlZENvbW1hbmRzOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnR2V0IHRoZSB2YWx1ZSBvZiBhIGtleScsXG4gICAgICAgICAgICAgICAgcHJvY2Vzc0NvbW1hbmQ6IGFzeW5jIChcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDogQ2xpUHJvY2Vzc0NvbW1hbmQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IElDbGlFeGVjdXRpb25Db250ZXh0LFxuICAgICAgICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBba2V5XSA9IGNvbW1hbmQuY2hhaW5Db21tYW5kcy5zbGljZSgxKTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlbG4odmFsdWUgfHwgJ251bGwnKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAnc2V0JyxcbiAgICAgICAgICAgICAgICBhbGxvd1VubGlzdGVkQ29tbWFuZHM6IHRydWUsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTZXQgdGhlIHZhbHVlIG9mIGEga2V5JyxcbiAgICAgICAgICAgICAgICBwcm9jZXNzQ29tbWFuZDogYXN5bmMgKFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgICAgICAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFtrZXksIC4uLnZhbHVlXSA9IGNvbW1hbmQuY2hhaW5Db21tYW5kcy5zbGljZSgxKTtcblxuICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlLmpvaW4oJyAnKSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlU3VjY2VzcygnVmFsdWUgc2V0IHN1Y2Nlc3NmdWxseScpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICdyZW1vdmUnLFxuICAgICAgICAgICAgICAgIGFsbG93VW5saXN0ZWRDb21tYW5kczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1JlbW92ZSBhIGtleScsXG4gICAgICAgICAgICAgICAgcHJvY2Vzc0NvbW1hbmQ6IGFzeW5jIChcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDogQ2xpUHJvY2Vzc0NvbW1hbmQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IElDbGlFeGVjdXRpb25Db250ZXh0LFxuICAgICAgICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBba2V5XSA9IGNvbW1hbmQuY2hhaW5Db21tYW5kcy5zbGljZSgyKTtcblxuICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZVN1Y2Nlc3MoJ0tleSByZW1vdmVkIHN1Y2Nlc3NmdWxseScpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGFzeW5jIHByb2Nlc3NDb21tYW5kKFxuICAgICAgICBjb21tYW5kOiBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlRXJyb3IoJ0Nob29zZSBhIHN1Yi1jb21tYW5kJyk7XG4gICAgfVxuXG4gICAgd3JpdGVEZXNjcmlwdGlvbj8oY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQpOiB2b2lkIHtcbiAgICAgICAgY29udGV4dC53cml0ZXIud3JpdGVsbignbG9jYWwtc3RvcmFnZSBnZXQgPGtleT4nKTtcbiAgICAgICAgY29udGV4dC53cml0ZXIud3JpdGVsbignR2V0cyB0aGUgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBrZXknKTtcblxuICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZWxuKCdsb2NhbC1zdG9yYWdlIHNldCA8a2V5PiA8dmFsdWU+Jyk7XG4gICAgICAgIGNvbnRleHQud3JpdGVyLndyaXRlbG4oJ1NldHMgdGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQga2V5Jyk7XG5cbiAgICAgICAgY29udGV4dC53cml0ZXIud3JpdGVsbignbG9jYWwtc3RvcmFnZSByZW1vdmUgPGtleT4nKTtcbiAgICAgICAgY29udGV4dC53cml0ZXIud3JpdGVsbignUmVtb3ZlcyB0aGUgc3BlY2lmaWVkIGtleScpO1xuICAgIH1cbn1cbiJdfQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWxvY2FsLXN0b3JhZ2UtY29tbWFuZC1wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icm93c2VyLXN0b3JhZ2Uvc3JjL2xpYi9wcm9jZXNzb3JzL2NsaS1sb2NhbC1zdG9yYWdlLWNvbW1hbmQtcHJvY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNILGtCQUFrQixHQU1yQixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBSzdDLE1BQU0sT0FBTywrQkFBK0I7SUFnQnhDO1FBZkEsWUFBTyxHQUFHLGVBQWUsQ0FBQztRQUUxQixnQkFBVyxHQUFHLGlDQUFpQyxDQUFDO1FBRWhELFdBQU0sR0FBbUMsb0JBQW9CLENBQUM7UUFFOUQsZUFBVSxHQUF3QyxFQUFFLENBQUM7UUFFckQsWUFBTyxHQUFHLGVBQWUsQ0FBQztRQUUxQixhQUFRLEdBQXNDO1lBQzFDLG1CQUFtQixFQUFFLFFBQVE7WUFDN0Isa0JBQWtCLEVBQUUsUUFBUTtTQUMvQixDQUFDO1FBR0UsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNkO2dCQUNJLE9BQU8sRUFBRSxLQUFLO2dCQUNkLHFCQUFxQixFQUFFLElBQUk7Z0JBQzNCLFdBQVcsRUFBRSx3QkFBd0I7Z0JBQ3JDLGNBQWMsRUFBRSxLQUFLLEVBQ2pCLE9BQTBCLEVBQzFCLE9BQTZCLEVBQy9CLEVBQUU7b0JBQ0EsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUU3QyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEdB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LCtCQUErQjttSEFBL0IsK0JBQStCLGNBRjVCLE1BQU07OzRGQUVULCtCQUErQjtrQkFIM0MsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENsaUZvcmVncm91bmRDb2xvcixcbiAgICBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICBDbGlQcm9jZXNzb3JNZXRhZGF0YSxcbiAgICBJQ2xpQ29tbWFuZEF1dGhvcixcbiAgICBJQ2xpQ29tbWFuZFByb2Nlc3NvcixcbiAgICBJQ2xpRXhlY3V0aW9uQ29udGV4dCxcbn0gZnJvbSAnQHFvZGFsaXMvY2xpLWNvcmUnO1xuXG5pbXBvcnQgeyBEZWZhdWx0TGlicmFyeUF1dGhvciB9IGZyb20gJ0Bxb2RhbGlzL2NsaS1jb3JlJztcbmltcG9ydCB7IExJQlJBUllfVkVSU0lPTiB9IGZyb20gJy4uL3ZlcnNpb24nO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDbGlMb2NhbFN0b3JhZ2VDb21tYW5kUHJvY2Vzc29yIGltcGxlbWVudHMgSUNsaUNvbW1hbmRQcm9jZXNzb3Ige1xuICAgIGNvbW1hbmQgPSAnbG9jYWwtc3RvcmFnZSc7XG5cbiAgICBkZXNjcmlwdGlvbiA9ICdJbnRlcmFjdCB3aXRoIHRoZSBsb2NhbCBzdG9yYWdlJztcblxuICAgIGF1dGhvcj86IElDbGlDb21tYW5kQXV0aG9yIHwgdW5kZWZpbmVkID0gRGVmYXVsdExpYnJhcnlBdXRob3I7XG5cbiAgICBwcm9jZXNzb3JzPzogSUNsaUNvbW1hbmRQcm9jZXNzb3JbXSB8IHVuZGVmaW5lZCA9IFtdO1xuXG4gICAgdmVyc2lvbiA9IExJQlJBUllfVkVSU0lPTjtcblxuICAgIG1ldGFkYXRhPzogQ2xpUHJvY2Vzc29yTWV0YWRhdGEgfCB1bmRlZmluZWQgPSB7XG4gICAgICAgIHJlcXVpcmVkQ29yZVZlcnNpb246ICcwLjAuMTYnLFxuICAgICAgICByZXF1aXJlZENsaVZlcnNpb246ICcxLjAuMzcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzb3JzID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICdnZXQnLFxuICAgICAgICAgICAgICAgIGFsbG93VW5saXN0ZWRDb21tYW5kczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0dldCB0aGUgdmFsdWUgb2YgYSBrZXknLFxuICAgICAgICAgICAgICAgIHByb2Nlc3NDb21tYW5kOiBhc3luYyAoXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IENsaVByb2Nlc3NDb21tYW5kLFxuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCxcbiAgICAgICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgW2tleV0gPSBjb21tYW5kLmNoYWluQ29tbWFuZHMuc2xpY2UoMSk7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZWxuKHZhbHVlIHx8ICdudWxsJyk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29tbWFuZDogJ3NldCcsXG4gICAgICAgICAgICAgICAgYWxsb3dVbmxpc3RlZENvbW1hbmRzOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2V0IHRoZSB2YWx1ZSBvZiBhIGtleScsXG4gICAgICAgICAgICAgICAgcHJvY2Vzc0NvbW1hbmQ6IGFzeW5jIChcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDogQ2xpUHJvY2Vzc0NvbW1hbmQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IElDbGlFeGVjdXRpb25Db250ZXh0LFxuICAgICAgICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBba2V5LCAuLi52YWx1ZV0gPSBjb21tYW5kLmNoYWluQ29tbWFuZHMuc2xpY2UoMSk7XG5cbiAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZS5qb2luKCcgJykpO1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LndyaXRlci53cml0ZVN1Y2Nlc3MoJ1ZhbHVlIHNldCBzdWNjZXNzZnVsbHknKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAncmVtb3ZlJyxcbiAgICAgICAgICAgICAgICBhbGxvd1VubGlzdGVkQ29tbWFuZHM6IHRydWUsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdSZW1vdmUgYSBrZXknLFxuICAgICAgICAgICAgICAgIHByb2Nlc3NDb21tYW5kOiBhc3luYyAoXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IENsaVByb2Nlc3NDb21tYW5kLFxuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCxcbiAgICAgICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgW2tleV0gPSBjb21tYW5kLmNoYWluQ29tbWFuZHMuc2xpY2UoMik7XG5cbiAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dC53cml0ZXIud3JpdGVTdWNjZXNzKCdLZXkgcmVtb3ZlZCBzdWNjZXNzZnVsbHknKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBhc3luYyBwcm9jZXNzQ29tbWFuZChcbiAgICAgICAgY29tbWFuZDogQ2xpUHJvY2Vzc0NvbW1hbmQsXG4gICAgICAgIGNvbnRleHQ6IElDbGlFeGVjdXRpb25Db250ZXh0LFxuICAgICk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCBjb250ZXh0LmV4ZWN1dG9yLnNob3dIZWxwKGNvbW1hbmQsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHdyaXRlRGVzY3JpcHRpb24/KGNvbnRleHQ6IElDbGlFeGVjdXRpb25Db250ZXh0KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgd3JpdGVyIH0gPSBjb250ZXh0O1xuICAgICAgICB3cml0ZXIud3JpdGVsbignUmVhZCwgd3JpdGUsIGFuZCBkZWxldGUga2V5cyBmcm9tIHRoZSBicm93c2VyIGxvY2FsIHN0b3JhZ2UnKTtcbiAgICAgICAgd3JpdGVyLndyaXRlbG4oKTtcbiAgICAgICAgd3JpdGVyLndyaXRlbG4oJ/Cfk4sgQ29tbWFuZHM6Jyk7XG4gICAgICAgIHdyaXRlci53cml0ZWxuKGAgICR7d3JpdGVyLndyYXBJbkNvbG9yKCdsb2NhbC1zdG9yYWdlIGdldCA8a2V5PicsIENsaUZvcmVncm91bmRDb2xvci5DeWFuKX0gICAgICAgICAgICAgUmVhZCBhIHZhbHVlYCk7XG4gICAgICAgIHdyaXRlci53cml0ZWxuKGAgICR7d3JpdGVyLndyYXBJbkNvbG9yKCdsb2NhbC1zdG9yYWdlIHNldCA8a2V5PiA8dmFsdWU+JywgQ2xpRm9yZWdyb3VuZENvbG9yLkN5YW4pfSAgICAgV3JpdGUgYSB2YWx1ZWApO1xuICAgICAgICB3cml0ZXIud3JpdGVsbihgICAke3dyaXRlci53cmFwSW5Db2xvcignbG9jYWwtc3RvcmFnZSByZW1vdmUgPGtleT4nLCBDbGlGb3JlZ3JvdW5kQ29sb3IuQ3lhbil9ICAgICAgICAgIERlbGV0ZSBhIGtleWApO1xuICAgICAgICB3cml0ZXIud3JpdGVsbigpO1xuICAgICAgICB3cml0ZXIud3JpdGVsbign8J+TnSBFeGFtcGxlczonKTtcbiAgICAgICAgd3JpdGVyLndyaXRlbG4oYCAgbG9jYWwtc3RvcmFnZSBzZXQgdGhlbWUgZGFyayAgICAgICAgICAke3dyaXRlci53cmFwSW5Db2xvcignIyBTdG9yZSBhIHZhbHVlJywgQ2xpRm9yZWdyb3VuZENvbG9yLkdyZWVuKX1gKTtcbiAgICAgICAgd3JpdGVyLndyaXRlbG4oYCAgbG9jYWwtc3RvcmFnZSBnZXQgdGhlbWUgICAgICAgICAgICAgICAke3dyaXRlci53cmFwSW5Db2xvcignIyBSZWFkIGEgdmFsdWUnLCBDbGlGb3JlZ3JvdW5kQ29sb3IuR3JlZW4pfWApO1xuICAgICAgICB3cml0ZXIud3JpdGVsbihgICBsb2NhbC1zdG9yYWdlIHJlbW92ZSB0aGVtZSAgICAgICAgICAgICR7d3JpdGVyLndyYXBJbkNvbG9yKCcjIERlbGV0ZSBhIGtleScsIENsaUZvcmVncm91bmRDb2xvci5HcmVlbil9YCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ // Automatically generated during build
2
+ export const LIBRARY_VERSION = '0.0.3';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Jyb3dzZXItc3RvcmFnZS9zcmMvbGliL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsdUNBQXVDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGR1cmluZyBidWlsZFxuZXhwb3J0IGNvbnN0IExJQlJBUllfVkVSU0lPTiA9ICcwLjAuMyc7XG4gICJdfQ==
@@ -1,14 +1,22 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, NgModule } from '@angular/core';
3
- import { DefaultLibraryAuthor } from '@qodalis/cli-core';
3
+ import { DefaultLibraryAuthor, CliForegroundColor } from '@qodalis/cli-core';
4
4
  import { resolveCommandProcessorProvider } from '@qodalis/angular-cli';
5
5
 
6
+ // Automatically generated during build
7
+ const LIBRARY_VERSION = '0.0.3';
8
+
6
9
  class CliCookiesCommandProcessor {
7
10
  constructor() {
8
11
  this.command = 'cookies';
9
12
  this.description = 'Interact with the cookies';
10
13
  this.author = DefaultLibraryAuthor;
11
14
  this.processors = [];
15
+ this.version = LIBRARY_VERSION;
16
+ this.metadata = {
17
+ requiredCoreVersion: '0.0.16',
18
+ requiredCliVersion: '1.0.37',
19
+ };
12
20
  this.processors = [
13
21
  {
14
22
  command: 'list',
@@ -65,10 +73,22 @@ class CliCookiesCommandProcessor {
65
73
  ];
66
74
  }
67
75
  async processCommand(command, context) {
68
- context.writer.writeError('Choose a sub-command');
76
+ await context.executor.showHelp(command, context);
69
77
  }
70
78
  writeDescription(context) {
71
- context.writer.writeln(this.description);
79
+ const { writer } = context;
80
+ writer.writeln('Read, write, and delete browser cookies');
81
+ writer.writeln();
82
+ writer.writeln('📋 Commands:');
83
+ writer.writeln(` ${writer.wrapInColor('cookies list', CliForegroundColor.Cyan)} 🍪 List all cookies`);
84
+ writer.writeln(` ${writer.wrapInColor('cookies get <key>', CliForegroundColor.Cyan)} Read a cookie value`);
85
+ writer.writeln(` ${writer.wrapInColor('cookies set <key> <value>', CliForegroundColor.Cyan)} Write a cookie`);
86
+ writer.writeln(` ${writer.wrapInColor('cookies remove <key>', CliForegroundColor.Cyan)} Delete a cookie`);
87
+ writer.writeln();
88
+ writer.writeln('📝 Examples:');
89
+ writer.writeln(` cookies set lang en ${writer.wrapInColor('# Set a cookie', CliForegroundColor.Green)}`);
90
+ writer.writeln(` cookies get lang ${writer.wrapInColor('# Read a cookie', CliForegroundColor.Green)}`);
91
+ writer.writeln(` cookies list ${writer.wrapInColor('# Show all cookies', CliForegroundColor.Green)}`);
72
92
  }
73
93
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliCookiesCommandProcessor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
74
94
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliCookiesCommandProcessor, providedIn: 'root' }); }
@@ -86,6 +106,11 @@ class CliLocalStorageCommandProcessor {
86
106
  this.description = 'Interact with the local storage';
87
107
  this.author = DefaultLibraryAuthor;
88
108
  this.processors = [];
109
+ this.version = LIBRARY_VERSION;
110
+ this.metadata = {
111
+ requiredCoreVersion: '0.0.16',
112
+ requiredCliVersion: '1.0.37',
113
+ };
89
114
  this.processors = [
90
115
  {
91
116
  command: 'get',
@@ -120,15 +145,21 @@ class CliLocalStorageCommandProcessor {
120
145
  ];
121
146
  }
122
147
  async processCommand(command, context) {
123
- context.writer.writeError('Choose a sub-command');
148
+ await context.executor.showHelp(command, context);
124
149
  }
125
150
  writeDescription(context) {
126
- context.writer.writeln('local-storage get <key>');
127
- context.writer.writeln('Gets the value of the specified key');
128
- context.writer.writeln('local-storage set <key> <value>');
129
- context.writer.writeln('Sets the value of the specified key');
130
- context.writer.writeln('local-storage remove <key>');
131
- context.writer.writeln('Removes the specified key');
151
+ const { writer } = context;
152
+ writer.writeln('Read, write, and delete keys from the browser local storage');
153
+ writer.writeln();
154
+ writer.writeln('📋 Commands:');
155
+ writer.writeln(` ${writer.wrapInColor('local-storage get <key>', CliForegroundColor.Cyan)} Read a value`);
156
+ writer.writeln(` ${writer.wrapInColor('local-storage set <key> <value>', CliForegroundColor.Cyan)} Write a value`);
157
+ writer.writeln(` ${writer.wrapInColor('local-storage remove <key>', CliForegroundColor.Cyan)} Delete a key`);
158
+ writer.writeln();
159
+ writer.writeln('📝 Examples:');
160
+ writer.writeln(` local-storage set theme dark ${writer.wrapInColor('# Store a value', CliForegroundColor.Green)}`);
161
+ writer.writeln(` local-storage get theme ${writer.wrapInColor('# Read a value', CliForegroundColor.Green)}`);
162
+ writer.writeln(` local-storage remove theme ${writer.wrapInColor('# Delete a key', CliForegroundColor.Green)}`);
132
163
  }
133
164
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliLocalStorageCommandProcessor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
134
165
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliLocalStorageCommandProcessor, providedIn: 'root' }); }
@@ -1 +1 @@
1
- {"version":3,"file":"qodalis-cli-browser-storage.mjs","sources":["../../../projects/browser-storage/src/lib/processors/cli-cookies-command-processor.ts","../../../projects/browser-storage/src/lib/processors/cli-local-storage-command-processor.ts","../../../projects/browser-storage/src/lib/cli-browser-storage.module.ts","../../../projects/browser-storage/src/public-api.ts","../../../projects/browser-storage/src/qodalis-cli-browser-storage.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n CliProcessCommand,\n ICliCommandAuthor,\n ICliCommandProcessor,\n ICliExecutionContext,\n} from '@qodalis/cli-core';\n\nimport { DefaultLibraryAuthor } from '@qodalis/cli-core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CliCookiesCommandProcessor implements ICliCommandProcessor {\n command = 'cookies';\n\n description = 'Interact with the cookies';\n\n author?: ICliCommandAuthor | undefined = DefaultLibraryAuthor;\n\n processors?: ICliCommandProcessor[] | undefined = [];\n\n constructor() {\n this.processors = [\n {\n command: 'list',\n allowUnlistedCommands: true,\n description: 'List all cookies',\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const cookies = document.cookie.split('; ').reduce(\n (acc, cookie) => {\n const [cookieKey, cookieValue] = cookie.split('=');\n acc[cookieKey] = decodeURIComponent(\n cookieValue || '',\n );\n return acc;\n },\n {} as Record<string, string>,\n );\n\n for (const [key, value] of Object.entries(cookies)) {\n context.writer.writeln(`${key}: ${value}`);\n }\n },\n },\n {\n command: 'get',\n allowUnlistedCommands: true,\n description: 'Get the value of a key',\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const [key] = command.chainCommands.slice(2);\n\n const cookies = document.cookie.split('; ').reduce(\n (acc, cookie) => {\n const [cookieKey, cookieValue] = cookie.split('=');\n acc[cookieKey] = decodeURIComponent(\n cookieValue || '',\n );\n return acc;\n },\n {} as Record<string, string>,\n );\n\n const value = cookies[key];\n\n context.writer.writeln(value || 'null');\n },\n },\n {\n command: 'set',\n allowUnlistedCommands: true,\n description: 'Set the value of a key',\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const [key, ...value] = command.chainCommands.slice(1);\n\n const expires = new Date();\n expires.setFullYear(expires.getFullYear() + 1);\n\n document.cookie = `${key}=${encodeURIComponent(value.join(' '))};expires=${expires.toUTCString()};path=/`;\n context.writer.writeSuccess('Cookie set successfully');\n },\n },\n {\n command: 'remove',\n allowUnlistedCommands: true,\n description: 'Remove a key',\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const [key] = command.chainCommands.slice(1);\n\n document.cookie = `${key}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/`;\n context.writer.writeSuccess('Cookie removed successfully');\n },\n },\n ];\n }\n\n async processCommand(\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ): Promise<void> {\n context.writer.writeError('Choose a sub-command');\n }\n\n writeDescription?(context: ICliExecutionContext): void {\n context.writer.writeln(this.description);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n CliProcessCommand,\n ICliCommandAuthor,\n ICliCommandProcessor,\n ICliExecutionContext,\n} from '@qodalis/cli-core';\n\nimport { DefaultLibraryAuthor } from '@qodalis/cli-core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CliLocalStorageCommandProcessor implements ICliCommandProcessor {\n command = 'local-storage';\n\n description = 'Interact with the local storage';\n\n author?: ICliCommandAuthor | undefined = DefaultLibraryAuthor;\n\n processors?: ICliCommandProcessor[] | undefined = [];\n\n constructor() {\n this.processors = [\n {\n command: 'get',\n allowUnlistedCommands: true,\n description: 'Get the value of a key',\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const [key] = command.chainCommands.slice(1);\n\n const value = localStorage.getItem(key);\n context.writer.writeln(value || 'null');\n },\n },\n {\n command: 'set',\n allowUnlistedCommands: true,\n description: 'Set the value of a key',\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const [key, ...value] = command.chainCommands.slice(1);\n\n localStorage.setItem(key, value.join(' '));\n context.writer.writeSuccess('Value set successfully');\n },\n },\n {\n command: 'remove',\n allowUnlistedCommands: true,\n description: 'Remove a key',\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const [key] = command.chainCommands.slice(2);\n\n localStorage.removeItem(key);\n context.writer.writeSuccess('Key removed successfully');\n },\n },\n ];\n }\n\n async processCommand(\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ): Promise<void> {\n context.writer.writeError('Choose a sub-command');\n }\n\n writeDescription?(context: ICliExecutionContext): void {\n context.writer.writeln('local-storage get <key>');\n context.writer.writeln('Gets the value of the specified key');\n\n context.writer.writeln('local-storage set <key> <value>');\n context.writer.writeln('Sets the value of the specified key');\n\n context.writer.writeln('local-storage remove <key>');\n context.writer.writeln('Removes the specified key');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CliCookiesCommandProcessor } from './processors/cli-cookies-command-processor';\nimport { CliLocalStorageCommandProcessor } from './processors/cli-local-storage-command-processor';\nimport { resolveCommandProcessorProvider } from '@qodalis/angular-cli';\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: [],\n providers: [\n resolveCommandProcessorProvider(CliCookiesCommandProcessor),\n resolveCommandProcessorProvider(CliLocalStorageCommandProcessor),\n ],\n})\nexport class CliBrowserStorageModule {}\n","/*\n * Public API Surface of browser-storage\n */\n\nexport * from './lib/cli-browser-storage.module';\n\nexport * from './lib/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qodalis-cli-browser-storage.mjs","sources":["../../../projects/browser-storage/src/lib/version.ts","../../../projects/browser-storage/src/lib/processors/cli-cookies-command-processor.ts","../../../projects/browser-storage/src/lib/processors/cli-local-storage-command-processor.ts","../../../projects/browser-storage/src/lib/cli-browser-storage.module.ts","../../../projects/browser-storage/src/public-api.ts","../../../projects/browser-storage/src/qodalis-cli-browser-storage.ts"],"sourcesContent":["\n// Automatically generated during build\nexport const LIBRARY_VERSION = '0.0.3';\n ","import { Injectable } from '@angular/core';\nimport {\n CliForegroundColor,\n CliProcessCommand,\n CliProcessorMetadata,\n ICliCommandAuthor,\n ICliCommandProcessor,\n ICliExecutionContext,\n} from '@qodalis/cli-core';\n\nimport { DefaultLibraryAuthor } from '@qodalis/cli-core';\nimport { LIBRARY_VERSION } from '../version';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CliCookiesCommandProcessor implements ICliCommandProcessor {\n command = 'cookies';\n\n description = 'Interact with the cookies';\n\n author?: ICliCommandAuthor | undefined = DefaultLibraryAuthor;\n\n processors?: ICliCommandProcessor[] | undefined = [];\n\n version = LIBRARY_VERSION;\n\n metadata?: CliProcessorMetadata | undefined = {\n requiredCoreVersion: '0.0.16',\n requiredCliVersion: '1.0.37',\n };\n\n constructor() {\n this.processors = [\n {\n command: 'list',\n allowUnlistedCommands: true,\n description: 'List all cookies',\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const cookies = document.cookie.split('; ').reduce(\n (acc, cookie) => {\n const [cookieKey, cookieValue] = cookie.split('=');\n acc[cookieKey] = decodeURIComponent(\n cookieValue || '',\n );\n return acc;\n },\n {} as Record<string, string>,\n );\n\n for (const [key, value] of Object.entries(cookies)) {\n context.writer.writeln(`${key}: ${value}`);\n }\n },\n },\n {\n command: 'get',\n allowUnlistedCommands: true,\n description: 'Get the value of a key',\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const [key] = command.chainCommands.slice(2);\n\n const cookies = document.cookie.split('; ').reduce(\n (acc, cookie) => {\n const [cookieKey, cookieValue] = cookie.split('=');\n acc[cookieKey] = decodeURIComponent(\n cookieValue || '',\n );\n return acc;\n },\n {} as Record<string, string>,\n );\n\n const value = cookies[key];\n\n context.writer.writeln(value || 'null');\n },\n },\n {\n command: 'set',\n allowUnlistedCommands: true,\n description: 'Set the value of a key',\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const [key, ...value] = command.chainCommands.slice(1);\n\n const expires = new Date();\n expires.setFullYear(expires.getFullYear() + 1);\n\n document.cookie = `${key}=${encodeURIComponent(value.join(' '))};expires=${expires.toUTCString()};path=/`;\n context.writer.writeSuccess('Cookie set successfully');\n },\n },\n {\n command: 'remove',\n allowUnlistedCommands: true,\n description: 'Remove a key',\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const [key] = command.chainCommands.slice(1);\n\n document.cookie = `${key}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/`;\n context.writer.writeSuccess('Cookie removed successfully');\n },\n },\n ];\n }\n\n async processCommand(\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ): Promise<void> {\n await context.executor.showHelp(command, context);\n }\n\n writeDescription?(context: ICliExecutionContext): void {\n const { writer } = context;\n writer.writeln('Read, write, and delete browser cookies');\n writer.writeln();\n writer.writeln('📋 Commands:');\n writer.writeln(` ${writer.wrapInColor('cookies list', CliForegroundColor.Cyan)} 🍪 List all cookies`);\n writer.writeln(` ${writer.wrapInColor('cookies get <key>', CliForegroundColor.Cyan)} Read a cookie value`);\n writer.writeln(` ${writer.wrapInColor('cookies set <key> <value>', CliForegroundColor.Cyan)} Write a cookie`);\n writer.writeln(` ${writer.wrapInColor('cookies remove <key>', CliForegroundColor.Cyan)} Delete a cookie`);\n writer.writeln();\n writer.writeln('📝 Examples:');\n writer.writeln(` cookies set lang en ${writer.wrapInColor('# Set a cookie', CliForegroundColor.Green)}`);\n writer.writeln(` cookies get lang ${writer.wrapInColor('# Read a cookie', CliForegroundColor.Green)}`);\n writer.writeln(` cookies list ${writer.wrapInColor('# Show all cookies', CliForegroundColor.Green)}`);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n CliForegroundColor,\n CliProcessCommand,\n CliProcessorMetadata,\n ICliCommandAuthor,\n ICliCommandProcessor,\n ICliExecutionContext,\n} from '@qodalis/cli-core';\n\nimport { DefaultLibraryAuthor } from '@qodalis/cli-core';\nimport { LIBRARY_VERSION } from '../version';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CliLocalStorageCommandProcessor implements ICliCommandProcessor {\n command = 'local-storage';\n\n description = 'Interact with the local storage';\n\n author?: ICliCommandAuthor | undefined = DefaultLibraryAuthor;\n\n processors?: ICliCommandProcessor[] | undefined = [];\n\n version = LIBRARY_VERSION;\n\n metadata?: CliProcessorMetadata | undefined = {\n requiredCoreVersion: '0.0.16',\n requiredCliVersion: '1.0.37',\n };\n\n constructor() {\n this.processors = [\n {\n command: 'get',\n allowUnlistedCommands: true,\n description: 'Get the value of a key',\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const [key] = command.chainCommands.slice(1);\n\n const value = localStorage.getItem(key);\n context.writer.writeln(value || 'null');\n },\n },\n {\n command: 'set',\n allowUnlistedCommands: true,\n description: 'Set the value of a key',\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const [key, ...value] = command.chainCommands.slice(1);\n\n localStorage.setItem(key, value.join(' '));\n context.writer.writeSuccess('Value set successfully');\n },\n },\n {\n command: 'remove',\n allowUnlistedCommands: true,\n description: 'Remove a key',\n processCommand: async (\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ) => {\n const [key] = command.chainCommands.slice(2);\n\n localStorage.removeItem(key);\n context.writer.writeSuccess('Key removed successfully');\n },\n },\n ];\n }\n\n async processCommand(\n command: CliProcessCommand,\n context: ICliExecutionContext,\n ): Promise<void> {\n await context.executor.showHelp(command, context);\n }\n\n writeDescription?(context: ICliExecutionContext): void {\n const { writer } = context;\n writer.writeln('Read, write, and delete keys from the browser local storage');\n writer.writeln();\n writer.writeln('📋 Commands:');\n writer.writeln(` ${writer.wrapInColor('local-storage get <key>', CliForegroundColor.Cyan)} Read a value`);\n writer.writeln(` ${writer.wrapInColor('local-storage set <key> <value>', CliForegroundColor.Cyan)} Write a value`);\n writer.writeln(` ${writer.wrapInColor('local-storage remove <key>', CliForegroundColor.Cyan)} Delete a key`);\n writer.writeln();\n writer.writeln('📝 Examples:');\n writer.writeln(` local-storage set theme dark ${writer.wrapInColor('# Store a value', CliForegroundColor.Green)}`);\n writer.writeln(` local-storage get theme ${writer.wrapInColor('# Read a value', CliForegroundColor.Green)}`);\n writer.writeln(` local-storage remove theme ${writer.wrapInColor('# Delete a key', CliForegroundColor.Green)}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CliCookiesCommandProcessor } from './processors/cli-cookies-command-processor';\nimport { CliLocalStorageCommandProcessor } from './processors/cli-local-storage-command-processor';\nimport { resolveCommandProcessorProvider } from '@qodalis/angular-cli';\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: [],\n providers: [\n resolveCommandProcessorProvider(CliCookiesCommandProcessor),\n resolveCommandProcessorProvider(CliLocalStorageCommandProcessor),\n ],\n})\nexport class CliBrowserStorageModule {}\n","/*\n * Public API Surface of browser-storage\n */\n\nexport * from './lib/cli-browser-storage.module';\n\nexport * from './lib/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
- import { CliProcessCommand, ICliCommandAuthor, ICliCommandProcessor, ICliExecutionContext } from '@qodalis/cli-core';
1
+ import { CliProcessCommand, CliProcessorMetadata, ICliCommandAuthor, ICliCommandProcessor, ICliExecutionContext } from '@qodalis/cli-core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class CliCookiesCommandProcessor implements ICliCommandProcessor {
4
4
  command: string;
5
5
  description: string;
6
6
  author?: ICliCommandAuthor | undefined;
7
7
  processors?: ICliCommandProcessor[] | undefined;
8
+ version: string;
9
+ metadata?: CliProcessorMetadata | undefined;
8
10
  constructor();
9
11
  processCommand(command: CliProcessCommand, context: ICliExecutionContext): Promise<void>;
10
12
  writeDescription?(context: ICliExecutionContext): void;
@@ -1,10 +1,12 @@
1
- import { CliProcessCommand, ICliCommandAuthor, ICliCommandProcessor, ICliExecutionContext } from '@qodalis/cli-core';
1
+ import { CliProcessCommand, CliProcessorMetadata, ICliCommandAuthor, ICliCommandProcessor, ICliExecutionContext } from '@qodalis/cli-core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class CliLocalStorageCommandProcessor implements ICliCommandProcessor {
4
4
  command: string;
5
5
  description: string;
6
6
  author?: ICliCommandAuthor | undefined;
7
7
  processors?: ICliCommandProcessor[] | undefined;
8
+ version: string;
9
+ metadata?: CliProcessorMetadata | undefined;
8
10
  constructor();
9
11
  processCommand(command: CliProcessCommand, context: ICliExecutionContext): Promise<void>;
10
12
  writeDescription?(context: ICliExecutionContext): void;
@@ -0,0 +1 @@
1
+ export declare const LIBRARY_VERSION = "0.0.3";
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@qodalis/cli-browser-storage",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "An Angular CLI extension that provides browser storage utilities",
5
5
  "author": "Nicolae Lupei, Qodalis Solutions",
6
6
  "license": "MIT",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "https://github.com/qodalis-solutions/qodalis-angular-cli"
9
+ "url": "https://github.com/qodalis-solutions/angular-web-cli"
10
10
  },
11
11
  "homepage": "https://qodalis.com",
12
12
  "keywords": [
@@ -25,8 +25,8 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "tslib": "^2.3.0",
28
- "@qodalis/cli-core": "^0.0.6",
29
- "@qodalis/angular-cli": "^1.0.17"
28
+ "@qodalis/cli-core": "^0.0.16",
29
+ "@qodalis/angular-cli": "^1.0.37"
30
30
  },
31
31
  "sideEffects": false,
32
32
  "module": "fesm2022/qodalis-cli-browser-storage.mjs",
package/umd/index.js CHANGED
@@ -33,12 +33,20 @@
33
33
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
34
34
  };
35
35
 
36
+ // Automatically generated during build
37
+ const LIBRARY_VERSION = '0.0.3';
38
+
36
39
  let CliCookiesCommandProcessor = class CliCookiesCommandProcessor {
37
40
  constructor() {
38
41
  this.command = 'cookies';
39
42
  this.description = 'Interact with the cookies';
40
43
  this.author = cliCore.DefaultLibraryAuthor;
41
44
  this.processors = [];
45
+ this.version = LIBRARY_VERSION;
46
+ this.metadata = {
47
+ requiredCoreVersion: '0.0.16',
48
+ requiredCliVersion: '1.0.37',
49
+ };
42
50
  this.processors = [
43
51
  {
44
52
  command: 'list',
@@ -95,10 +103,22 @@
95
103
  ];
96
104
  }
97
105
  async processCommand(command, context) {
98
- context.writer.writeError('Choose a sub-command');
106
+ await context.executor.showHelp(command, context);
99
107
  }
100
108
  writeDescription(context) {
101
- context.writer.writeln(this.description);
109
+ const { writer } = context;
110
+ writer.writeln('Read, write, and delete browser cookies');
111
+ writer.writeln();
112
+ writer.writeln('📋 Commands:');
113
+ writer.writeln(` ${writer.wrapInColor('cookies list', cliCore.CliForegroundColor.Cyan)} 🍪 List all cookies`);
114
+ writer.writeln(` ${writer.wrapInColor('cookies get <key>', cliCore.CliForegroundColor.Cyan)} Read a cookie value`);
115
+ writer.writeln(` ${writer.wrapInColor('cookies set <key> <value>', cliCore.CliForegroundColor.Cyan)} Write a cookie`);
116
+ writer.writeln(` ${writer.wrapInColor('cookies remove <key>', cliCore.CliForegroundColor.Cyan)} Delete a cookie`);
117
+ writer.writeln();
118
+ writer.writeln('📝 Examples:');
119
+ writer.writeln(` cookies set lang en ${writer.wrapInColor('# Set a cookie', cliCore.CliForegroundColor.Green)}`);
120
+ writer.writeln(` cookies get lang ${writer.wrapInColor('# Read a cookie', cliCore.CliForegroundColor.Green)}`);
121
+ writer.writeln(` cookies list ${writer.wrapInColor('# Show all cookies', cliCore.CliForegroundColor.Green)}`);
102
122
  }
103
123
  };
104
124
  CliCookiesCommandProcessor = __decorate([
@@ -113,6 +133,11 @@
113
133
  this.description = 'Interact with the local storage';
114
134
  this.author = cliCore.DefaultLibraryAuthor;
115
135
  this.processors = [];
136
+ this.version = LIBRARY_VERSION;
137
+ this.metadata = {
138
+ requiredCoreVersion: '0.0.16',
139
+ requiredCliVersion: '1.0.37',
140
+ };
116
141
  this.processors = [
117
142
  {
118
143
  command: 'get',
@@ -147,15 +172,21 @@
147
172
  ];
148
173
  }
149
174
  async processCommand(command, context) {
150
- context.writer.writeError('Choose a sub-command');
175
+ await context.executor.showHelp(command, context);
151
176
  }
152
177
  writeDescription(context) {
153
- context.writer.writeln('local-storage get <key>');
154
- context.writer.writeln('Gets the value of the specified key');
155
- context.writer.writeln('local-storage set <key> <value>');
156
- context.writer.writeln('Sets the value of the specified key');
157
- context.writer.writeln('local-storage remove <key>');
158
- context.writer.writeln('Removes the specified key');
178
+ const { writer } = context;
179
+ writer.writeln('Read, write, and delete keys from the browser local storage');
180
+ writer.writeln();
181
+ writer.writeln('📋 Commands:');
182
+ writer.writeln(` ${writer.wrapInColor('local-storage get <key>', cliCore.CliForegroundColor.Cyan)} Read a value`);
183
+ writer.writeln(` ${writer.wrapInColor('local-storage set <key> <value>', cliCore.CliForegroundColor.Cyan)} Write a value`);
184
+ writer.writeln(` ${writer.wrapInColor('local-storage remove <key>', cliCore.CliForegroundColor.Cyan)} Delete a key`);
185
+ writer.writeln();
186
+ writer.writeln('📝 Examples:');
187
+ writer.writeln(` local-storage set theme dark ${writer.wrapInColor('# Store a value', cliCore.CliForegroundColor.Green)}`);
188
+ writer.writeln(` local-storage get theme ${writer.wrapInColor('# Read a value', cliCore.CliForegroundColor.Green)}`);
189
+ writer.writeln(` local-storage remove theme ${writer.wrapInColor('# Delete a key', cliCore.CliForegroundColor.Green)}`);
159
190
  }
160
191
  };
161
192
  CliLocalStorageCommandProcessor = __decorate([