@ffflorian/electron-icon-generator 1.3.0 → 1.3.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/README.md CHANGED
@@ -2,13 +2,16 @@
2
2
 
3
3
  Based on https://github.com/jaretburkett/electron-icon-maker.
4
4
 
5
+ ## Prerequisites
6
+
7
+ - [Node.js](https://nodejs.org) >= 14
8
+ - npm (preinstalled) or [yarn](https://classic.yarnpkg.com) < 2
9
+
5
10
  ## Installation
6
11
 
7
- ```
8
- yarn global add @ffflorian/electron-icon-generator
9
- # or
10
- npm install -g @ffflorian/electron-icon-generator
11
- ```
12
+ ℹ️ This is a hybrid [CommonJS](https://nodejs.org/docs/latest/api/modules.html#modules-commonjs-modules) / [ESM](https://nodejs.org/api/esm.html#introduction) module.
13
+
14
+ Run `yarn global add @ffflorian/electron-icon-generator` or `npm i -g @ffflorian/electron-icon-generator`
12
15
 
13
16
  ## Usage
14
17
 
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env node
2
+ import { program as commander } from 'commander';
3
+ import { createRequire } from 'node:module';
4
+ const require = createRequire(import.meta.url);
5
+ import { IconGenerator } from './index.js';
6
+ const { bin, description, version } = require('../package.json');
7
+ commander
8
+ .description(description)
9
+ .name(Object.keys(bin)[0])
10
+ .version(version)
11
+ .option('-i, --input <file>', 'Input PNG file (recommended size: 1024x1024)', './icon.png')
12
+ .option('-o, --output <folder>', 'Folder to output new icons folder', './')
13
+ .option('-s, --silent', `Don't log anything beside errors`, false)
14
+ .parse(process.argv);
15
+ const commanderOptions = commander.opts();
16
+ new IconGenerator({
17
+ input: commanderOptions.input,
18
+ output: commanderOptions.output,
19
+ silent: commanderOptions.silent,
20
+ })
21
+ .start()
22
+ .then(() => process.exit())
23
+ .catch(error => {
24
+ console.error(error);
25
+ process.exit(1);
26
+ });
27
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAQzC,MAAM,EAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAC,GAAgB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE5E,SAAS;KACN,WAAW,CAAC,WAAW,CAAC;KACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,oBAAoB,EAAE,8CAA8C,EAAE,YAAY,CAAC;KAC1F,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,EAAE,IAAI,CAAC;KAC1E,MAAM,CAAC,cAAc,EAAE,kCAAkC,EAAE,KAAK,CAAC;KACjE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;AAE1C,IAAI,aAAa,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC,KAAK;IAC7B,MAAM,EAAE,gBAAgB,CAAC,MAAM;IAC/B,MAAM,EAAE,gBAAgB,CAAC,MAAM;CAChC,CAAC;KACC,KAAK,EAAE;KACP,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KAC1B,KAAK,CAAC,KAAK,CAAC,EAAE;IACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,28 +1,4 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
26
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
27
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -32,18 +8,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
33
9
  });
34
10
  };
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.IconGenerator = void 0;
40
- const fs = __importStar(require("fs-extra"));
41
- const icon_gen_1 = __importDefault(require("icon-gen"));
42
- const jimp_1 = __importDefault(require("jimp"));
43
- const path = __importStar(require("path"));
11
+ import fs from 'fs-extra';
12
+ import Jimp from 'jimp';
13
+ import path from 'node:path';
14
+ import { createRequire } from 'node:module';
15
+ const require = createRequire(import.meta.url);
16
+ const icongen = require('icon-gen');
44
17
  // eslint-disable-next-line no-magic-numbers
45
18
  const pngSizes = [16, 24, 32, 48, 64, 128, 256, 512, 1024];
46
- class IconGenerator {
19
+ export class IconGenerator {
47
20
  constructor(options) {
48
21
  this.options = options;
49
22
  this.logConsole(options);
@@ -63,7 +36,7 @@ class IconGenerator {
63
36
  yield fs.ensureDir(this.options.output);
64
37
  yield fs.ensureDir(this.iconsDir);
65
38
  yield fs.ensureDir(this.PNGoutputDir);
66
- const image = yield jimp_1.default.read(this.options.input);
39
+ const image = yield Jimp.read(this.options.input);
67
40
  const resizeFile = path.join(this.PNGoutputDir, fileName);
68
41
  yield new Promise((resolve, reject) => image.resize(size, size, (error, result) => (error ? reject(error) : resolve(result))));
69
42
  yield image.writeAsync(resizeFile);
@@ -81,7 +54,7 @@ class IconGenerator {
81
54
  const macIconsDir = path.join(this.iconsDir, 'mac');
82
55
  const winIconsDir = path.join(this.iconsDir, 'win');
83
56
  yield fs.ensureDir(macIconsDir);
84
- yield (0, icon_gen_1.default)(this.PNGoutputDir, macIconsDir, {
57
+ yield icongen(this.PNGoutputDir, macIconsDir, {
85
58
  icns: {
86
59
  name: 'icon',
87
60
  sizes: pngSizes,
@@ -89,7 +62,7 @@ class IconGenerator {
89
62
  report: !this.options.silent,
90
63
  });
91
64
  yield fs.ensureDir(winIconsDir);
92
- yield (0, icon_gen_1.default)(this.PNGoutputDir, winIconsDir, {
65
+ yield icongen(this.PNGoutputDir, winIconsDir, {
93
66
  icns: {
94
67
  name: 'icon',
95
68
  sizes: pngSizes,
@@ -123,5 +96,4 @@ class IconGenerator {
123
96
  });
124
97
  }
125
98
  }
126
- exports.IconGenerator = IconGenerator;
127
99
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env node
2
+ import { program as commander } from 'commander';
3
+ import { createRequire } from 'node:module';
4
+ const require = createRequire(import.meta.url);
5
+ import { IconGenerator } from './index.js';
6
+ const { bin, description, version } = require('../package.json');
7
+ commander
8
+ .description(description)
9
+ .name(Object.keys(bin)[0])
10
+ .version(version)
11
+ .option('-i, --input <file>', 'Input PNG file (recommended size: 1024x1024)', './icon.png')
12
+ .option('-o, --output <folder>', 'Folder to output new icons folder', './')
13
+ .option('-s, --silent', `Don't log anything beside errors`, false)
14
+ .parse(process.argv);
15
+ const commanderOptions = commander.opts();
16
+ new IconGenerator({
17
+ input: commanderOptions.input,
18
+ output: commanderOptions.output,
19
+ silent: commanderOptions.silent,
20
+ })
21
+ .start()
22
+ .then(() => process.exit())
23
+ .catch(error => {
24
+ console.error(error);
25
+ process.exit(1);
26
+ });
27
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAQzC,MAAM,EAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAC,GAAgB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE5E,SAAS;KACN,WAAW,CAAC,WAAW,CAAC;KACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,oBAAoB,EAAE,8CAA8C,EAAE,YAAY,CAAC;KAC1F,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,EAAE,IAAI,CAAC;KAC1E,MAAM,CAAC,cAAc,EAAE,kCAAkC,EAAE,KAAK,CAAC;KACjE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;AAE1C,IAAI,aAAa,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC,KAAK;IAC7B,MAAM,EAAE,gBAAgB,CAAC,MAAM;IAC/B,MAAM,EAAE,gBAAgB,CAAC,MAAM;CAChC,CAAC;KACC,KAAK,EAAE;KACP,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KAC1B,KAAK,CAAC,KAAK,CAAC,EAAE;IACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+ export interface Options {
3
+ input: string;
4
+ output: string;
5
+ silent?: boolean;
6
+ }
7
+ export declare class IconGenerator {
8
+ private readonly iconsDir;
9
+ private readonly options;
10
+ private readonly PNGoutputDir;
11
+ constructor(options: Options);
12
+ start(): Promise<void>;
13
+ private createPNG;
14
+ private createPNGs;
15
+ private logConsole;
16
+ private renamePNGs;
17
+ }
@@ -0,0 +1,82 @@
1
+ #!/usr/bin/env node
2
+ import fs from 'fs-extra';
3
+ import Jimp from 'jimp';
4
+ import path from 'node:path';
5
+ import { createRequire } from 'node:module';
6
+ const require = createRequire(import.meta.url);
7
+ const icongen = require('icon-gen');
8
+ // eslint-disable-next-line no-magic-numbers
9
+ const pngSizes = [16, 24, 32, 48, 64, 128, 256, 512, 1024];
10
+ export class IconGenerator {
11
+ constructor(options) {
12
+ this.options = options;
13
+ this.logConsole(options);
14
+ this.options.input = path.resolve(this.options.input);
15
+ this.options.output = path.resolve(this.options.output);
16
+ this.iconsDir = path.join(this.options.output, 'icons');
17
+ this.PNGoutputDir = path.join(this.iconsDir, 'png');
18
+ }
19
+ async start() {
20
+ await this.createPNGs(0);
21
+ }
22
+ async createPNG(size) {
23
+ const fileName = `${size.toString()}.png`;
24
+ await fs.ensureDir(this.options.output);
25
+ await fs.ensureDir(this.iconsDir);
26
+ await fs.ensureDir(this.PNGoutputDir);
27
+ const image = await Jimp.read(this.options.input);
28
+ const resizeFile = path.join(this.PNGoutputDir, fileName);
29
+ await new Promise((resolve, reject) => image.resize(size, size, (error, result) => (error ? reject(error) : resolve(result))));
30
+ await image.writeAsync(resizeFile);
31
+ return `Created "${resizeFile}"`;
32
+ }
33
+ async createPNGs(position) {
34
+ const info = await this.createPNG(pngSizes[position]);
35
+ this.logConsole(info);
36
+ if (position < pngSizes.length - 1) {
37
+ await this.createPNGs(position + 1);
38
+ }
39
+ else {
40
+ const macIconsDir = path.join(this.iconsDir, 'mac');
41
+ const winIconsDir = path.join(this.iconsDir, 'win');
42
+ await fs.ensureDir(macIconsDir);
43
+ await icongen(this.PNGoutputDir, macIconsDir, {
44
+ icns: {
45
+ name: 'icon',
46
+ sizes: pngSizes,
47
+ },
48
+ report: !this.options.silent,
49
+ });
50
+ await fs.ensureDir(winIconsDir);
51
+ await icongen(this.PNGoutputDir, winIconsDir, {
52
+ icns: {
53
+ name: 'icon',
54
+ sizes: pngSizes,
55
+ },
56
+ report: !this.options.silent,
57
+ });
58
+ this.logConsole('Renaming PNGs to Electron Format');
59
+ await this.renamePNGs(0);
60
+ }
61
+ }
62
+ logConsole(...messages) {
63
+ if (!this.options.silent) {
64
+ console.info(...messages);
65
+ }
66
+ }
67
+ async renamePNGs(position) {
68
+ const startName = `${pngSizes[position]}.png`;
69
+ const endName = `${pngSizes[position]}x${pngSizes[position]}.png`;
70
+ const startFile = path.join(this.PNGoutputDir, startName);
71
+ const endFile = path.join(this.PNGoutputDir, endName);
72
+ await fs.rename(startFile, endFile);
73
+ this.logConsole(`Renamed "${startName}" to "${endName}".`);
74
+ if (position < pngSizes.length - 1) {
75
+ await this.renamePNGs(position + 1);
76
+ }
77
+ else {
78
+ this.logConsole('\nAll done');
79
+ }
80
+ }
81
+ }
82
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "author": "Florian Imdahl <git@ffflorian.de>",
3
3
  "bin": {
4
- "electron-icon-generator": "index.js"
4
+ "electron-icon-generator": "dist/cjs/index.js"
5
5
  },
6
6
  "dependencies": {
7
7
  "commander": "10.0.1",
@@ -16,15 +16,16 @@
16
16
  "typescript": "5.0.4"
17
17
  },
18
18
  "engines": {
19
- "node": ">= 10.9"
19
+ "node": ">= 14.16"
20
+ },
21
+ "exports": {
22
+ ".": {
23
+ "import": "./dist/mjs/index.js",
24
+ "require": "./dist/cjs/index.js"
25
+ }
20
26
  },
21
27
  "files": [
22
- "cli.d.ts",
23
- "cli.js",
24
- "cli.js.map",
25
- "index.d.ts",
26
- "index.js",
27
- "index.js.map"
28
+ "dist"
28
29
  ],
29
30
  "keywords": [
30
31
  "electron",
@@ -34,19 +35,21 @@
34
35
  "ico"
35
36
  ],
36
37
  "license": "GPL-3.0",
37
- "main": "index.js",
38
+ "main": "dist/cjs/index.js",
39
+ "module": "dist/mjs/index.js",
38
40
  "name": "@ffflorian/electron-icon-generator",
39
- "publishConfig": {
40
- "directory": "flattened"
41
- },
42
41
  "repository": "https://github.com/ffflorian/node-packages/tree/main/packages/electron-icon-generator",
43
42
  "scripts": {
44
- "build": "tsc",
43
+ "build": "yarn build:cjs && yarn build:mjs && yarn generate:packagejson",
44
+ "build:cjs": "tsc -p tsconfig.cjs.json",
45
+ "build:mjs": "tsc -p tsconfig.json",
45
46
  "clean": "rimraf dist",
46
47
  "dist": "yarn clean && yarn build",
47
- "flatten": "node ../publish-flat/dist/cli.js -o flattened",
48
- "postversion": "node ../publish-flat/dist/cli-copy.js -o flattened/package.json version",
49
- "start": "ts-node src/cli.ts"
48
+ "generate:packagejson": "../../bin/generate-hybrid-package-json.sh",
49
+ "start": "ts-node-esm src/cli.ts",
50
+ "test": "exit 0"
50
51
  },
51
- "version": "1.3.0"
52
+ "type": "module",
53
+ "version": "1.3.1",
54
+ "gitHead": "fee6dde4396255259028c1c723a95b9f6ec5b281"
52
55
  }
package/cli.js DELETED
@@ -1,57 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- const commander_1 = require("commander");
28
- const fs = __importStar(require("fs"));
29
- const path = __importStar(require("path"));
30
- const _1 = require("./");
31
- const defaultPackageJsonPath = path.join(__dirname, 'package.json');
32
- const packageJsonPath = fs.existsSync(defaultPackageJsonPath)
33
- ? defaultPackageJsonPath
34
- : path.join(__dirname, '../package.json');
35
- const packageJson = fs.readFileSync(packageJsonPath, 'utf-8');
36
- const { bin, description, version } = JSON.parse(packageJson);
37
- commander_1.program
38
- .description(description)
39
- .name(Object.keys(bin)[0])
40
- .version(version)
41
- .option('-i, --input <file>', 'Input PNG file (recommended size: 1024x1024)', './icon.png')
42
- .option('-o, --output <folder>', 'Folder to output new icons folder', './')
43
- .option('-s, --silent', `Don't log anything beside errors`, false)
44
- .parse(process.argv);
45
- const commanderOptions = commander_1.program.opts();
46
- new _1.IconGenerator({
47
- input: commanderOptions.input,
48
- output: commanderOptions.output,
49
- silent: commanderOptions.silent,
50
- })
51
- .start()
52
- .then(() => process.exit())
53
- .catch(error => {
54
- console.error(error);
55
- process.exit(1);
56
- });
57
- //# sourceMappingURL=cli.js.map
package/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAA+C;AAC/C,uCAAyB;AACzB,2CAA6B;AAE7B,yBAAiC;AAEjC,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AACpE,MAAM,eAAe,GAAG,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC;IAC3D,CAAC,CAAC,sBAAsB;IACxB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE5C,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AAC9D,MAAM,EAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAE5D,mBAAS;KACN,WAAW,CAAC,WAAW,CAAC;KACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,oBAAoB,EAAE,8CAA8C,EAAE,YAAY,CAAC;KAC1F,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,EAAE,IAAI,CAAC;KAC1E,MAAM,CAAC,cAAc,EAAE,kCAAkC,EAAE,KAAK,CAAC;KACjE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,gBAAgB,GAAG,mBAAS,CAAC,IAAI,EAAE,CAAC;AAE1C,IAAI,gBAAa,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC,KAAK;IAC7B,MAAM,EAAE,gBAAgB,CAAC,MAAM;IAC/B,MAAM,EAAE,gBAAgB,CAAC,MAAM;CAChC,CAAC;KACC,KAAK,EAAE;KACP,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KAC1B,KAAK,CAAC,KAAK,CAAC,EAAE;IACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
File without changes
File without changes