simple-scaffold 1.1.0-alpha.1 → 1.1.0-alpha.2

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
@@ -1,4 +1,4 @@
1
- # simple-scaffold
1
+ # Simple Scaffold
2
2
 
3
3
  Simple Scaffold allows you to generate any set of files in the easiest way possible with simple commands.
4
4
 
@@ -14,7 +14,7 @@ other custom data) inside the paths or contents of the files using Handlebars.js
14
14
  <details>
15
15
  <summary>Table of contents</summary>
16
16
 
17
- - [simple-scaffold](#simple-scaffold)
17
+ - [Simple Scaffold](#simple-scaffold)
18
18
  - [Install](#install)
19
19
  - [Use as a command line tool](#use-as-a-command-line-tool)
20
20
  - [Command Line Options](#command-line-options)
@@ -23,7 +23,10 @@ other custom data) inside the paths or contents of the files using Handlebars.js
23
23
  - [Preparing files](#preparing-files)
24
24
  - [Template files](#template-files)
25
25
  - [Variable/token replacement](#variabletoken-replacement)
26
- - [Helpers](#helpers)
26
+ - [Built-in Helpers](#built-in-helpers)
27
+ - [Capitalization Helpers](#capitalization-helpers)
28
+ - [Date helpers](#date-helpers)
29
+ - [Custom Helpers](#custom-helpers)
27
30
  - [Examples](#examples)
28
31
  - [Command Example](#command-example)
29
32
  - [Example Scaffold Input](#example-scaffold-input)
@@ -210,28 +213,58 @@ Your `data` will be pre-populated with the following:
210
213
  > [Handlebars.js Language Features](https://handlebarsjs.com/guide/#language-features) for more
211
214
  > information.
212
215
 
213
- ### Helpers
216
+ ### Built-in Helpers
214
217
 
215
218
  Simple-Scaffold provides some built-in text transformation filters usable by handleBars.
216
219
 
217
220
  For example, you may use `{{ snakeCase name }}` inside a template file or filename, and it will
218
221
  replace `My Name` with `my_name` when producing the final value.
219
222
 
220
- Here are the built-in helpers available for use:
223
+ #### Capitalization Helpers
221
224
 
222
- | Helper name | Example code | Example output |
223
- | ----------- | ----------------------- | -------------- |
224
- | [None] | `{{ name }}` | my name |
225
- | camelCase | `{{ camelCase name }}` | myName |
226
- | snakeCase | `{{ snakeCase name }}` | my_name |
227
- | startCase | `{{ startCase name }}` | My Name |
228
- | kebabCase | `{{ kebabCase name }}` | my-name |
229
- | hyphenCase | `{{ hyphenCase name }}` | my-name |
230
- | pascalCase | `{{ pascalCase name }}` | MyName |
231
- | upperCase | `{{ upperCase name }}` | MY NAME |
232
- | lowerCase | `{{ lowerCase name }}` | my name |
225
+ | Helper name | Example code | Example output |
226
+ | ------------ | ----------------------- | -------------- |
227
+ | [None] | `{{ name }}` | my name |
228
+ | `camelCase` | `{{ camelCase name }}` | myName |
229
+ | `snakeCase` | `{{ snakeCase name }}` | my_name |
230
+ | `startCase` | `{{ startCase name }}` | My Name |
231
+ | `kebabCase` | `{{ kebabCase name }}` | my-name |
232
+ | `hyphenCase` | `{{ hyphenCase name }}` | my-name |
233
+ | `pascalCase` | `{{ pascalCase name }}` | MyName |
234
+ | `upperCase` | `{{ upperCase name }}` | MY NAME |
235
+ | `lowerCase` | `{{ lowerCase name }}` | my name |
233
236
 
234
- > These helpers are available for any data property, not exclusive to `name`.
237
+ #### Date helpers
238
+
239
+ | Helper name | Description | Example code | Example output |
240
+ | -------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |
241
+ | `now` | Current date with format | `{{ now "yyyy-MM-dd HH:mm" }}` | 2042-01-01 15:00 |
242
+ | `now` (with offset) | Current date with format, and with offset | `{{ now "yyyy-MM-dd HH:mm" -1 "hours" }}` | 2042-01-01 14:00 |
243
+ | `date` | Custom date with format | `{{ date "2042-01-01T15:00:00Z" "yyyy-MM-dd HH:mm" }}` | 2042-01-01 15:00 |
244
+ | `date` (with offset) | Custom date with format, and with offset | `{{ date "2042-01-01T15:00:00Z" "yyyy-MM-dd HH:mm" -1 "days" }}` | 2041-31-12 15:00 |
245
+ | `date` (with date from `--data`) | Custom date with format, with data from the `data` config option | `{{ date myCustomDate "yyyy-MM-dd HH:mm" }}` | 2042-01-01 12:00 |
246
+
247
+ Further details:
248
+
249
+ - We use [`date-fns`](https://date-fns.org/docs/) for parsing/manipulating the dates.
250
+ If you want more information on the date tokens to use, refer to
251
+ [their format documentation](https://date-fns.org/docs/format).
252
+
253
+ - The date helper format takes the following arguments:
254
+
255
+ ```typescript
256
+ (
257
+ date: string,
258
+ format: string,
259
+ offsetAmount?: number,
260
+ offsetType?: "years" | "months" | "weeks" | "days" | "hours" | "minutes" | "seconds"
261
+ )
262
+ ```
263
+
264
+ - **The now helper** (for current time) takes the same arguments, minus the first one (`date`) as
265
+ it is implicitly the current date.
266
+
267
+ ### Custom Helpers
235
268
 
236
269
  You may also add your own custom helpers using the `helpers` options when using the JS API (rather
237
270
  than the CLI). The `helpers` option takes an object whose keys are helper names, and values are
@@ -243,8 +276,8 @@ config.helpers = {
243
276
  }
244
277
  ```
245
278
 
246
- These helpers will also be available to you when using `subFolderNameHelper` or
247
- `--sub-folder-name-helper` as a possible value.
279
+ All of the above helpers (built in and custom) will also be available to you when using
280
+ `subFolderNameHelper` (`--sub-folder-name-helper`/`-sh`) as a possible value.
248
281
 
249
282
  ## Examples
250
283
 
@@ -320,6 +353,16 @@ export default MyComponent: React.FC = (props) => {
320
353
 
321
354
  ## Contributing
322
355
 
356
+ I am developing this package on my free time, so any support, whether code, issues, or just stars
357
+ is very helpful to sustaining its life. If you would like to donate a bit to help keep the project
358
+ alive, I would be very thankful!
359
+
360
+ <a href='https://ko-fi.com/casraf' target='_blank'>
361
+ <img height='36' style='border:0px;height:36px;'
362
+ src='https://cdn.ko-fi.com/cdn/kofi1.png?v=3'
363
+ alt='Buy Me a Coffee at ko-fi.com' />
364
+ </a>
365
+
323
366
  I welcome any issues or pull requests on GitHub. If you find a bug, or would like a new feature,
324
367
  don't hesitate to open an appropriate issue and I will do my best to reply promptly.
325
368
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "simple-scaffold",
3
- "version": "1.1.0-alpha.1",
3
+ "version": "1.1.0-alpha.2",
4
4
  "description": "Create files based on templates",
5
5
  "repository": "https://github.com/chenasraf/simple-scaffold.git",
6
6
  "author": "Chen Asraf <inbox@casraf.com>",
@@ -30,6 +30,7 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "chalk": "^4.1.2",
33
+ "date-fns": "^2.28.0",
33
34
  "glob": "^7.1.3",
34
35
  "handlebars": "^4.7.7",
35
36
  "lodash": "^4.17.21",
package/types.d.ts CHANGED
@@ -8,9 +8,9 @@ export declare enum LogLevel {
8
8
  }
9
9
  export declare type FileResponseFn<T> = (fullPath: string, basedir: string, basename: string) => T;
10
10
  export declare type FileResponse<T> = T | FileResponseFn<T>;
11
- export declare type DefaultHelperKeys = "camelCase" | "snakeCase" | "startCase" | "kebabCase" | "hyphenCase" | "pascalCase" | "lowerCase" | "upperCase";
11
+ export declare type DefaultHelperKeys = "camelCase" | "date" | "hyphenCase" | "kebabCase" | "lowerCase" | "now" | "pascalCase" | "snakeCase" | "startCase" | "upperCase";
12
12
  export declare type HelperKeys<T> = DefaultHelperKeys | T;
13
- export declare type Helper = (text: string) => string;
13
+ export declare type Helper = Handlebars.HelperDelegate;
14
14
  export interface ScaffoldConfig {
15
15
  /**
16
16
  * Name to be passed to the generated files. `{{name}}` and `{{Name}}` inside contents and file names will be replaced
package/utils.d.ts CHANGED
@@ -1,6 +1,12 @@
1
1
  /// <reference types="node" />
2
2
  import { DefaultHelperKeys, FileResponse, Helper, LogLevel, ScaffoldConfig } from "./types";
3
3
  export declare const defaultHelpers: Record<DefaultHelperKeys, Helper>;
4
+ export declare function _dateHelper(date: Date, formatString: string): string;
5
+ export declare function _dateHelper(date: Date, formatString: string, durationDifference: number, durationType: keyof Duration): string;
6
+ export declare function nowHelper(formatString: string): string;
7
+ export declare function nowHelper(formatString: string, durationDifference: number, durationType: keyof Duration): string;
8
+ export declare function dateHelper(date: string, formatString: string): string;
9
+ export declare function dateHelper(date: string, formatString: string, durationDifference: number, durationType: keyof Duration): string;
4
10
  export declare function registerHelpers(options: ScaffoldConfig): void;
5
11
  export declare function handleErr(err: NodeJS.ErrnoException | null): void;
6
12
  export declare function log(options: ScaffoldConfig, level: LogLevel, ...obj: any[]): void;
package/utils.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.logInitStep = exports.logInputFile = exports.getOutputDir = exports.copyFileTransformed = exports.getTemplateFileInfo = exports.ensureFileExists = exports.getTemplateGlobInfo = exports.getFileList = exports.getBasePath = exports.makeRelativePath = exports.removeGlob = exports.isDir = exports.pascalCase = exports.pathExists = exports.handlebarsParse = exports.getOptionValueForFile = exports.createDirIfNotExists = exports.log = exports.handleErr = exports.registerHelpers = exports.defaultHelpers = void 0;
6
+ exports.logInitStep = exports.logInputFile = exports.getOutputDir = exports.copyFileTransformed = exports.getTemplateFileInfo = exports.ensureFileExists = exports.getTemplateGlobInfo = exports.getFileList = exports.getBasePath = exports.makeRelativePath = exports.removeGlob = exports.isDir = exports.pascalCase = exports.pathExists = exports.handlebarsParse = exports.getOptionValueForFile = exports.createDirIfNotExists = exports.log = exports.handleErr = exports.registerHelpers = exports.dateHelper = exports.nowHelper = exports._dateHelper = exports.defaultHelpers = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const constants_1 = require("constants");
9
9
  const types_1 = require("./types");
@@ -15,6 +15,14 @@ const handlebars_1 = __importDefault(require("handlebars"));
15
15
  const fs_1 = require("fs");
16
16
  const chalk_1 = __importDefault(require("chalk"));
17
17
  const { stat, access, mkdir } = fs_1.promises;
18
+ const add_1 = __importDefault(require("date-fns/add"));
19
+ const format_1 = __importDefault(require("date-fns/format"));
20
+ const parseISO_1 = __importDefault(require("date-fns/parseISO"));
21
+ const dateFns = {
22
+ add: add_1.default,
23
+ format: format_1.default,
24
+ parseISO: parseISO_1.default,
25
+ };
18
26
  const glob_1 = require("glob");
19
27
  const util_1 = require("util");
20
28
  const { readFile, writeFile } = fs_1.promises;
@@ -27,7 +35,24 @@ exports.defaultHelpers = {
27
35
  pascalCase,
28
36
  lowerCase: (text) => text.toLowerCase(),
29
37
  upperCase: (text) => text.toUpperCase(),
38
+ now: nowHelper,
39
+ date: dateHelper,
30
40
  };
41
+ function _dateHelper(date, formatString, durationDifference, durationType) {
42
+ if (durationType && durationDifference !== undefined) {
43
+ return dateFns.format(dateFns.add(date, { [durationType]: durationDifference }), formatString);
44
+ }
45
+ return dateFns.format(date, formatString);
46
+ }
47
+ exports._dateHelper = _dateHelper;
48
+ function nowHelper(formatString, durationDifference, durationType) {
49
+ return _dateHelper(new Date(), formatString, durationDifference, durationType);
50
+ }
51
+ exports.nowHelper = nowHelper;
52
+ function dateHelper(date, formatString, durationDifference, durationType) {
53
+ return _dateHelper(dateFns.parseISO(date), formatString, durationDifference, durationType);
54
+ }
55
+ exports.dateHelper = dateHelper;
31
56
  function registerHelpers(options) {
32
57
  const _helpers = { ...exports.defaultHelpers, ...options.helpers };
33
58
  for (const helperName in _helpers) {
package/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,yCAAgC;AAChC,mCAA2G;AAC3G,iEAAwC;AACxC,iEAAwC;AACxC,iEAAwC;AACxC,iEAAwC;AACxC,4DAAmC;AACnC,2BAA2C;AAC3C,kDAAyB;AACzB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,aAAU,CAAA;AAE1C,+BAA2B;AAC3B,+BAAgC;AAChC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,aAAU,CAAA;AAE7B,QAAA,cAAc,GAAsC;IAC/D,SAAS,EAAT,mBAAS;IACT,SAAS,EAAT,mBAAS;IACT,SAAS,EAAT,mBAAS;IACT,SAAS,EAAT,mBAAS;IACT,UAAU,EAAE,mBAAS;IACrB,UAAU;IACV,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;IACvC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;CACxC,CAAA;AAED,SAAgB,eAAe,CAAC,OAAuB;IACrD,MAAM,QAAQ,GAAG,EAAE,GAAG,sBAAc,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1D,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE;QACjC,GAAG,CAAC,OAAO,EAAE,gBAAQ,CAAC,KAAK,EAAE,uBAAuB,UAAU,EAAE,CAAC,CAAA;QACjE,oBAAU,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAmC,CAAC,CAAC,CAAA;KACrF;AACH,CAAC;AAND,0CAMC;AAED,SAAgB,SAAS,CAAC,GAAiC;IACzD,IAAI,GAAG;QAAE,MAAM,GAAG,CAAA;AACpB,CAAC;AAFD,8BAEC;AAED,SAAgB,GAAG,CAAC,OAAuB,EAAE,KAAe,EAAE,GAAG,GAAU;;IACzE,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,KAAK,gBAAQ,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,gBAAQ,CAAC,IAAI,CAAC,EAAE;QACpG,OAAM;KACP;IACD,MAAM,UAAU,GAAyC;QACvD,CAAC,gBAAQ,CAAC,IAAI,CAAC,EAAE,OAAO;QACxB,CAAC,gBAAQ,CAAC,KAAK,CAAC,EAAE,MAAM;QACxB,CAAC,gBAAQ,CAAC,IAAI,CAAC,EAAE,KAAK;QACtB,CAAC,gBAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ;QAC5B,CAAC,gBAAQ,CAAC,KAAK,CAAC,EAAE,KAAK;KACxB,CAAA;IACD,MAAM,OAAO,GAAQ,eAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IAC7C,MAAM,GAAG,GAA6B,KAAK,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,gBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;IACtH,MAAM,KAAK,GAAQ,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/B,KAAK,CACH,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACf,CAAC,YAAY,KAAK;QAChB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;QACtD,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ;YACvB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACf,CACF,CAAA;AACH,CAAC;AAvBD,kBAuBC;AAEM,KAAK,UAAU,oBAAoB,CAAC,GAAW,EAAE,OAAuB;IAC7E,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAEnC,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE;QAClC,MAAM,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;KAC/C;IAED,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;QAC5B,IAAI;YACF,GAAG,CAAC,OAAO,EAAE,gBAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,EAAE,CAAC,CAAA;YACnD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;YAChB,OAAM;SACP;QAAC,OAAO,CAAM,EAAE;YACf,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACvB,MAAM,CAAC,CAAA;aACR;YACD,OAAM;SACP;KACF;AACH,CAAC;AAnBD,oDAmBC;AAED,SAAgB,qBAAqB,CACnC,OAAuB,EACvB,QAAgB,EAChB,EAAmB,EACnB,YAAgB;IAEhB,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;QAC5B,OAAO,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAK,EAAQ,CAAA;KACjC;IACD,OAAQ,EAAwB,CAC9B,QAAQ,EACR,cAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,EAC7E,cAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAC/E,CAAA;AACH,CAAC;AAdD,sDAcC;AAED,SAAgB,eAAe,CAC7B,OAAuB,EACvB,cAA+B,EAC/B,EAAE,MAAM,GAAG,KAAK,KAA2B,EAAE;IAE7C,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IACxB,IAAI;QACF,IAAI,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;QACnC,IAAI,MAAM,EAAE;YACV,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;SAC9B;QACD,MAAM,MAAM,GAAG,oBAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1D,IAAI,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,MAAM,IAAI,cAAI,CAAC,GAAG,KAAK,GAAG,EAAE;YAC9B,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;SACrD;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;KACnC;IAAC,OAAO,CAAC,EAAE;QACV,GAAG,CAAC,OAAO,EAAE,gBAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC/B,GAAG,CAAC,OAAO,EAAE,gBAAQ,CAAC,OAAO,EAAE,iEAAiE,CAAC,CAAA;QACjG,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;KACnC;AACH,CAAC;AAtBD,0CAsBC;AAEM,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,IAAI;QACF,MAAM,MAAM,CAAC,QAAQ,EAAE,gBAAI,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;KACZ;IAAC,OAAO,CAAM,EAAE;QACf,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;YACvB,OAAO,KAAK,CAAA;SACb;QACD,MAAM,CAAC,CAAA;KACR;AACH,CAAC;AAVD,gCAUC;AAED,SAAgB,UAAU,CAAC,CAAS;IAClC,OAAO,mBAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AACzC,CAAC;AAFD,gCAEC;AAEM,KAAK,UAAU,KAAK,CAAC,IAAY;IACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAA;IAChC,OAAO,OAAO,CAAC,WAAW,EAAE,CAAA;AAC9B,CAAC;AAHD,sBAGC;AAED,SAAgB,UAAU,CAAC,QAAgB;IACzC,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,cAAI,CAAC,GAAG,CAAC,CAAA;AACtE,CAAC;AAFD,gCAEC;AAED,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,UAAU,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;AACtD,CAAC;AAFD,4CAEC;AAED,SAAgB,WAAW,CAAC,OAAe;IACzC,OAAO,cAAI;SACR,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC;SAC/B,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,cAAI,CAAC,GAAG,EAAE,EAAE,CAAC;SACrC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAA;AAC/B,CAAC;AALD,kCAKC;AAEM,KAAK,UAAU,WAAW,CAAC,OAAuB,EAAE,QAAgB;IACzE,OAAO,CACL,MAAM,gBAAS,CAAC,WAAI,CAAC,CAAC,QAAQ,EAAE;QAC9B,GAAG,EAAE,IAAI;QACT,KAAK,EAAE,OAAO,CAAC,OAAO,KAAK,gBAAQ,CAAC,KAAK;QACzC,KAAK,EAAE,IAAI;KACZ,CAAC,CACH,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,cAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAC1C,CAAC;AARD,kCAQC;AAUM,KAAK,UAAU,mBAAmB,CAAC,OAAuB,EAAE,QAAgB;IACjF,MAAM,MAAM,GAAG,WAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACtC,GAAG,CAAC,OAAO,EAAE,gBAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IACzE,IAAI,SAAS,GAAG,QAAQ,CAAA;IACxB,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;IAChE,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAA;IACzD,GAAG,CAAC,OAAO,EAAE,gBAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;IACxD,MAAM,cAAc,GAAG,CAAC,MAAM,IAAI,WAAW,CAAA;IAC7C,MAAM,YAAY,GAAG,QAAQ,CAAA;IAC7B,IAAI,cAAc,EAAE;QAClB,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;KAC3C;IACD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;AACpF,CAAC;AAbD,kDAaC;AAEM,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,MAAe;IACtE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE;QAC5C,MAAM,GAAG,GAA0B,IAAI,KAAK,CAAC,qCAAqC,QAAQ,EAAE,CAAC,CAAA;QAC7F,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAA;QACnB,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAA;QACnB,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QACd,MAAM,GAAG,CAAA;KACV;AACH,CAAC;AARD,4CAQC;AAUM,KAAK,UAAU,mBAAmB,CACvC,OAAuB,EACvB,IAA4B,EAC5B,EAAE,YAAY,EAAE,QAAQ,EAA8C;IAEtE,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAA;IAC3D,MAAM,aAAa,GAAG,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAC/E,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAA;IAChE,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,EAAE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE;QAC1F,MAAM,EAAE,IAAI;KACb,CAAC,CAAC,QAAQ,EAAE,CAAA;IACb,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAA;IAC3C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;AACpE,CAAC;AAbD,kDAaC;AAEM,KAAK,UAAU,mBAAmB,CACvC,OAAuB,EACvB,EACE,MAAM,EACN,SAAS,EACT,UAAU,EACV,SAAS,GAMV;;IAED,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;QACxB,IAAI,MAAM,IAAI,SAAS,EAAE;YACvB,GAAG,CAAC,OAAO,EAAE,gBAAQ,CAAC,IAAI,EAAE,QAAQ,UAAU,sBAAsB,CAAC,CAAA;SACtE;QACD,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAA;QAChD,MAAM,yBAAyB,GAAG,eAAe,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;QAC1E,MAAM,mBAAmB,GAAG,CAC1B,MAAA,MAAA,OAAO,CAAC,WAAW,+CAAnB,OAAO,EAAe,yBAAyB,EAAE,cAAc,EAAE,UAAU,CAAC,mCAAI,yBAAyB,CAC1G,CAAC,QAAQ,EAAE,CAAA;QAEZ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,MAAM,SAAS,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAA;YAChD,GAAG,CAAC,OAAO,EAAE,gBAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;SACrC;aAAM;YACL,GAAG,CAAC,OAAO,EAAE,gBAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;YAC9C,GAAG,CAAC,OAAO,EAAE,gBAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;SACjD;KACF;SAAM,IAAI,MAAM,EAAE;QACjB,GAAG,CAAC,OAAO,EAAE,gBAAQ,CAAC,IAAI,EAAE,QAAQ,UAAU,2BAA2B,CAAC,CAAA;KAC3E;AACH,CAAC;AAlCD,kDAkCC;AAED,SAAgB,YAAY,CAAC,OAAuB,EAAE,aAAqB,EAAE,QAAgB;IAC3F,OAAO,cAAI,CAAC,OAAO,CACjB,OAAO,CAAC,GAAG,EAAE,EACb,GAAI;QACF,aAAa;QACb,QAAQ;QACR,OAAO,CAAC,eAAe;YACrB,CAAC,CAAC,OAAO,CAAC,mBAAmB;gBAC3B,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,mBAAmB,UAAU,CAAC,CAAC,QAAQ,EAAE;gBAClF,CAAC,CAAC,OAAO,CAAC,IAAI;YAChB,CAAC,CAAC,SAAS;KACd,CAAC,MAAM,CAAC,OAAO,CAAc,CAC/B,CAAA;AACH,CAAC;AAbD,oCAaC;AAED,SAAgB,YAAY,CAC1B,OAAuB,EACvB,EACE,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,aAAa,EACb,eAAe,EACf,QAAQ,EACR,WAAW,EACX,MAAM,GAUP;IAED,GAAG,CACD,OAAO,EACP,gBAAQ,CAAC,KAAK,EACd,oBAAoB,OAAO,CAAC,GAAG,EAAE,EAAE,EACnC,mBAAmB,YAAY,EAAE,EACjC,cAAc,OAAO,EAAE,EACvB,eAAe,QAAQ,EAAE,EACzB,oBAAoB,aAAa,EAAE,EACnC,sBAAsB,eAAe,EAAE,EACvC,eAAe,QAAQ,EAAE,EACzB,kBAAkB,WAAW,EAAE,EAC/B,aAAa,MAAM,EAAE,EACrB,IAAI,CACL,CAAA;AACH,CAAC;AApCD,oCAoCC;AAED,SAAgB,WAAW,CAAC,OAAuB;;IACjD,GAAG,CAAC,OAAO,EAAE,gBAAQ,CAAC,KAAK,EAAE,cAAc,EAAE;QAC3C,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,wBAAwB,EAAE,OAAO,CAAC,mBAAmB;QACrD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,EAAE,CAAC;QAC3C,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,gBAAQ,CAAC,CAAC,IAAI,CACxD,CAAC,CAAC,EAAE,EAAE,CAAE,gBAAQ,CAAC,CAAQ,CAAuB,KAAK,OAAO,CAAC,OAAQ,CACtE,GAAG;KACL,CAAC,CAAA;IACF,GAAG,CAAC,OAAO,EAAE,gBAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;AACpD,CAAC;AAhBD,kCAgBC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}