simple-scaffold 1.0.1 → 1.0.4
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 +38 -28
- package/package.json +2 -2
- package/scaffold.js +0 -2
- package/scaffold.js.map +1 -1
- package/utils.d.ts +3 -1
- package/utils.js +23 -13
- package/utils.js.map +1 -1
package/README.md
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
# simple-scaffold
|
|
2
2
|
|
|
3
|
-
Simple Scaffold allows you to
|
|
3
|
+
Simple Scaffold allows you to generate any set of files in the easiest way possible with simple commands.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
populated upon scaffolding.
|
|
5
|
+
It is completely framework agnostic so you can use it for anything from a few simple files to an
|
|
6
|
+
entire app boilerplate setup.
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
It's a simple way to easily create reusable components, common class files to start writing from,
|
|
13
|
-
or even entire app structures.
|
|
8
|
+
Simply organize your commonly-created files in their original structure, and running Simple Scaffold
|
|
9
|
+
will copy the files to the output path, while replacing values (such as component or app name, or
|
|
10
|
+
other custom data) inside the paths or contents of the files using Handlebars.js syntax.
|
|
14
11
|
|
|
15
12
|
## Install
|
|
16
13
|
|
|
@@ -22,7 +19,7 @@ npm install [-g] simple-scaffold
|
|
|
22
19
|
# yarn
|
|
23
20
|
yarn [global] add simple-scaffold
|
|
24
21
|
# run without installing
|
|
25
|
-
npx simple-scaffold <...args>
|
|
22
|
+
npx simple-scaffold@latest <...args>
|
|
26
23
|
```
|
|
27
24
|
|
|
28
25
|
## Use as a command line tool
|
|
@@ -81,10 +78,8 @@ You can also add this as a script in your `package.json`:
|
|
|
81
78
|
|
|
82
79
|
```json
|
|
83
80
|
{
|
|
84
|
-
...
|
|
85
81
|
"scripts": {
|
|
86
|
-
|
|
87
|
-
"scaffold": "yarn simple-scaffold --templates scaffolds/component/**/* --output src/components --data '{\"myProp\": \"propName\", \"myVal\": \"123\"}'"
|
|
82
|
+
"scaffold": "npx simple-scaffold@latest -t scaffolds/component/**/* -o src/components -d '{\"myProp\": \"propName\", \"myVal\": 123}'"
|
|
88
83
|
}
|
|
89
84
|
}
|
|
90
85
|
```
|
|
@@ -104,7 +99,7 @@ const config = {
|
|
|
104
99
|
output: path.join(__dirname, "src", "components"),
|
|
105
100
|
createSubFolder: true,
|
|
106
101
|
subFolderNameHelper: "upperCase"
|
|
107
|
-
|
|
102
|
+
data: {
|
|
108
103
|
property: "value",
|
|
109
104
|
},
|
|
110
105
|
helpers: {
|
|
@@ -148,15 +143,29 @@ transformed files in the output directory.
|
|
|
148
143
|
The data available for the template parser is the data you pass to the `data` config option (or
|
|
149
144
|
`--data` argument in CLI).
|
|
150
145
|
|
|
146
|
+
For example, using the following command:
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
npx simple-scaffold@latest --templates templates/components/{{name}}.jsx --output src/components -create-sub-folder true MyComponent
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Will output a file with the path:
|
|
153
|
+
|
|
154
|
+
```plaintext
|
|
155
|
+
<working_dir>/src/components/MyComponent.jsx
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
The contents of the file will be transformed in a similar fashion.
|
|
159
|
+
|
|
151
160
|
Your `data` will be pre-populated with the following:
|
|
152
161
|
|
|
153
162
|
- `{{Name}}`: PascalCase of the component name
|
|
154
|
-
- `{{name}}`: raw name of the component
|
|
163
|
+
- `{{name}}`: raw name of the component as you entered it
|
|
155
164
|
|
|
156
|
-
> Simple-Scaffold uses [Handlebars.js](https://handlebarsjs.com/) for outputting the file contents
|
|
157
|
-
> see their documentation for more information on syntax.
|
|
165
|
+
> Simple-Scaffold uses [Handlebars.js](https://handlebarsjs.com/) for outputting the file contents.
|
|
158
166
|
> Any `data` you add in the config will be available for use with their names wrapped in
|
|
159
|
-
> `{{` and `}}`.
|
|
167
|
+
> `{{` and `}}`. Other Handlebars built-ins such as `each`, `if` and `with` are also supported, see
|
|
168
|
+
> [Handlebars.js Language Features](https://handlebarsjs.com/guide/#language-features) for more information.
|
|
160
169
|
|
|
161
170
|
#### Helpers
|
|
162
171
|
|
|
@@ -169,14 +178,15 @@ Here are the built-in helpers available for use:
|
|
|
169
178
|
|
|
170
179
|
| Helper name | Example code | Example output |
|
|
171
180
|
| ----------- | ----------------------- | -------------- |
|
|
181
|
+
| [None] | `{{ name }}` | my name |
|
|
172
182
|
| camelCase | `{{ camelCase name }}` | myName |
|
|
173
183
|
| snakeCase | `{{ snakeCase name }}` | my_name |
|
|
174
184
|
| startCase | `{{ startCase name }}` | My Name |
|
|
175
185
|
| kebabCase | `{{ kebabCase name }}` | my-name |
|
|
176
186
|
| hyphenCase | `{{ hyphenCase name }}` | my-name |
|
|
177
187
|
| pascalCase | `{{ pascalCase name }}` | MyName |
|
|
178
|
-
| upperCase | `{{ upperCase name }}` |
|
|
179
|
-
| lowerCase | `{{ lowerCase name }}` |
|
|
188
|
+
| upperCase | `{{ upperCase name }}` | MY NAME |
|
|
189
|
+
| lowerCase | `{{ lowerCase name }}` | my name |
|
|
180
190
|
|
|
181
191
|
> These helpers are available for any data property, not exclusive to `name`.
|
|
182
192
|
|
|
@@ -220,12 +230,12 @@ simple-scaffold MyComponent \
|
|
|
220
230
|
|
|
221
231
|
#### Contents of `project/scaffold/{{Name}}.jsx`
|
|
222
232
|
|
|
223
|
-
```
|
|
224
|
-
|
|
233
|
+
```typescriptreact
|
|
234
|
+
import React from 'react'
|
|
225
235
|
|
|
226
|
-
|
|
236
|
+
export default {{camelCase ame}}: React.FC = (props) => {
|
|
227
237
|
return (
|
|
228
|
-
<div className="{{className}}">{{
|
|
238
|
+
<div className="{{className}}">{{camelCase name}} Component</div>
|
|
229
239
|
)
|
|
230
240
|
}
|
|
231
241
|
```
|
|
@@ -255,10 +265,10 @@ With `createSubFolder = false`:
|
|
|
255
265
|
|
|
256
266
|
#### Contents of `project/scaffold/MyComponent/MyComponent.jsx`
|
|
257
267
|
|
|
258
|
-
```
|
|
259
|
-
|
|
268
|
+
```typescriptreact
|
|
269
|
+
import React from 'react'
|
|
260
270
|
|
|
261
|
-
|
|
271
|
+
export default MyComponent: React.FC = (props) => {
|
|
262
272
|
return (
|
|
263
273
|
<div className="myClassName">MyComponent Component</div>
|
|
264
274
|
)
|
|
@@ -290,5 +300,5 @@ Some tips on getting around the code:
|
|
|
290
300
|
enabling you to test different behaviors. See `yarn cmd -h` for more information.
|
|
291
301
|
|
|
292
302
|
> This requires an updated build, and does not trigger one itself. Either use `yarn dev` to watch
|
|
293
|
-
> for changes and build, or `yarn build` before running this, or use `yarn build-cmd` instead,
|
|
303
|
+
> for changes and build, or `yarn build` before running this, or use `yarn build-cmd` instead,
|
|
294
304
|
> which triggers a build right before running the command with the rest of the given arguments.
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "simple-scaffold",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
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>",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"main": "index.js",
|
|
9
9
|
"bin": "cmd.js",
|
|
10
|
+
"keywords": ["javascript", "cli", "template", "files", "typescript", "generator", "scaffold", "file", "scaffolding"],
|
|
10
11
|
"scripts": {
|
|
11
12
|
"clean": "rm -rf dist/",
|
|
12
13
|
"build": "yarn clean && tsc && chmod -R +x ./dist && cp ./package.json ./README.md ./dist/",
|
|
@@ -18,7 +19,6 @@
|
|
|
18
19
|
"build-cmd": "yarn build && yarn cmd"
|
|
19
20
|
},
|
|
20
21
|
"dependencies": {
|
|
21
|
-
"args": "^5.0.1",
|
|
22
22
|
"chalk": "^4.1.2",
|
|
23
23
|
"glob": "^7.1.3",
|
|
24
24
|
"handlebars": "^4.7.7",
|
package/scaffold.js
CHANGED
|
@@ -5,8 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Scaffold = void 0;
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const fs_1 = require("fs");
|
|
9
|
-
const { readFile, writeFile } = fs_1.promises;
|
|
10
8
|
const utils_1 = require("./utils");
|
|
11
9
|
const types_1 = require("./types");
|
|
12
10
|
/**
|
package/scaffold.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
|
package/utils.d.ts
CHANGED
|
@@ -6,7 +6,9 @@ export declare function handleErr(err: NodeJS.ErrnoException | null): void;
|
|
|
6
6
|
export declare function log(options: ScaffoldConfig, level: LogLevel, ...obj: any[]): void;
|
|
7
7
|
export declare function createDirIfNotExists(dir: string, options: ScaffoldConfig): Promise<void>;
|
|
8
8
|
export declare function getOptionValueForFile<T>(options: ScaffoldConfig, filePath: string, data: Record<string, string>, fn: FileResponse<T>, defaultValue?: T): T;
|
|
9
|
-
export declare function handlebarsParse(options: ScaffoldConfig, templateBuffer: Buffer | string,
|
|
9
|
+
export declare function handlebarsParse(options: ScaffoldConfig, templateBuffer: Buffer | string, { isPath }?: {
|
|
10
|
+
isPath?: boolean;
|
|
11
|
+
}): string | Buffer;
|
|
10
12
|
export declare function pathExists(filePath: string): Promise<boolean>;
|
|
11
13
|
export declare function pascalCase(s: string): string;
|
|
12
14
|
export declare function isDir(path: string): Promise<boolean>;
|
package/utils.js
CHANGED
|
@@ -87,13 +87,21 @@ function getOptionValueForFile(options, filePath, data, fn, defaultValue) {
|
|
|
87
87
|
if (typeof fn !== "function") {
|
|
88
88
|
return defaultValue !== null && defaultValue !== void 0 ? defaultValue : fn;
|
|
89
89
|
}
|
|
90
|
-
return fn(filePath, path_1.default.dirname(handlebarsParse(options, filePath,
|
|
90
|
+
return fn(filePath, path_1.default.dirname(handlebarsParse(options, filePath, { isPath: true }).toString()), path_1.default.basename(handlebarsParse(options, filePath, { isPath: true }).toString()));
|
|
91
91
|
}
|
|
92
92
|
exports.getOptionValueForFile = getOptionValueForFile;
|
|
93
|
-
function handlebarsParse(options, templateBuffer,
|
|
93
|
+
function handlebarsParse(options, templateBuffer, { isPath = false } = {}) {
|
|
94
|
+
const { data } = options;
|
|
94
95
|
try {
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
let str = templateBuffer.toString();
|
|
97
|
+
if (isPath) {
|
|
98
|
+
str = str.replace(/\\/g, "/");
|
|
99
|
+
}
|
|
100
|
+
const parser = handlebars_1.default.compile(str, { noEscape: true });
|
|
101
|
+
let outputContents = parser(data);
|
|
102
|
+
if (isPath && path_1.default.sep !== "/") {
|
|
103
|
+
outputContents = outputContents.replace(/\//g, "\\");
|
|
104
|
+
}
|
|
97
105
|
return outputContents;
|
|
98
106
|
}
|
|
99
107
|
catch {
|
|
@@ -125,26 +133,26 @@ async function isDir(path) {
|
|
|
125
133
|
}
|
|
126
134
|
exports.isDir = isDir;
|
|
127
135
|
function removeGlob(template) {
|
|
128
|
-
return template.replace(/\*/g, "").replace(
|
|
136
|
+
return template.replace(/\*/g, "").replace(/(\/\/|\\\\)/g, path_1.default.sep);
|
|
129
137
|
}
|
|
130
138
|
exports.removeGlob = removeGlob;
|
|
131
139
|
function makeRelativePath(str) {
|
|
132
|
-
return str.startsWith(
|
|
140
|
+
return str.startsWith(path_1.default.sep) ? str.slice(1) : str;
|
|
133
141
|
}
|
|
134
142
|
exports.makeRelativePath = makeRelativePath;
|
|
135
143
|
function getBasePath(relPath) {
|
|
136
144
|
return path_1.default
|
|
137
145
|
.resolve(process.cwd(), relPath)
|
|
138
|
-
.replace(process.cwd() +
|
|
146
|
+
.replace(process.cwd() + path_1.default.sep, "")
|
|
139
147
|
.replace(process.cwd(), "");
|
|
140
148
|
}
|
|
141
149
|
exports.getBasePath = getBasePath;
|
|
142
150
|
async function getFileList(options, template) {
|
|
143
|
-
return await util_1.promisify(glob_1.glob)(template, {
|
|
151
|
+
return (await util_1.promisify(glob_1.glob)(template, {
|
|
144
152
|
dot: true,
|
|
145
153
|
debug: options.verbose === types_1.LogLevel.Debug,
|
|
146
154
|
nodir: true,
|
|
147
|
-
});
|
|
155
|
+
})).map((f) => f.replace(/\//g, path_1.default.sep));
|
|
148
156
|
}
|
|
149
157
|
exports.getFileList = getFileList;
|
|
150
158
|
async function getTemplateGlobInfo(options, template) {
|
|
@@ -157,7 +165,7 @@ async function getTemplateGlobInfo(options, template) {
|
|
|
157
165
|
const _shouldAddGlob = !isGlob && isDirOrGlob;
|
|
158
166
|
const origTemplate = template;
|
|
159
167
|
if (_shouldAddGlob) {
|
|
160
|
-
_template = template
|
|
168
|
+
_template = path_1.default.join(template, "**", "*");
|
|
161
169
|
}
|
|
162
170
|
return { nonGlobTemplate, origTemplate, isDirOrGlob, isGlob, template: _template };
|
|
163
171
|
}
|
|
@@ -176,7 +184,9 @@ async function getTemplateFileInfo(options, data, { templatePath, basePath }) {
|
|
|
176
184
|
const inputPath = path_1.default.resolve(process.cwd(), templatePath);
|
|
177
185
|
const outputPathOpt = getOptionValueForFile(options, inputPath, data, options.output);
|
|
178
186
|
const outputDir = getOutputDir(options, data, outputPathOpt, basePath);
|
|
179
|
-
const outputPath = handlebarsParse(options, path_1.default.join(outputDir, path_1.default.basename(inputPath)),
|
|
187
|
+
const outputPath = handlebarsParse(options, path_1.default.join(outputDir, path_1.default.basename(inputPath)), {
|
|
188
|
+
isPath: true,
|
|
189
|
+
}).toString();
|
|
180
190
|
const exists = await pathExists(outputPath);
|
|
181
191
|
return { inputPath, outputPathOpt, outputDir, outputPath, exists };
|
|
182
192
|
}
|
|
@@ -187,7 +197,7 @@ async function copyFileTransformed(options, data, { exists, overwrite, outputPat
|
|
|
187
197
|
log(options, types_1.LogLevel.Info, `File ${outputPath} exists, overwriting`);
|
|
188
198
|
}
|
|
189
199
|
const templateBuffer = await readFile(inputPath);
|
|
190
|
-
const outputContents = handlebarsParse(options, templateBuffer
|
|
200
|
+
const outputContents = handlebarsParse(options, templateBuffer);
|
|
191
201
|
if (!options.dryRun) {
|
|
192
202
|
await writeFile(outputPath, outputContents);
|
|
193
203
|
log(options, types_1.LogLevel.Info, "Done.");
|
|
@@ -208,7 +218,7 @@ function getOutputDir(options, data, outputPathOpt, basePath) {
|
|
|
208
218
|
basePath,
|
|
209
219
|
options.createSubFolder
|
|
210
220
|
? options.subFolderNameHelper
|
|
211
|
-
? handlebarsParse(options, `{{ ${options.subFolderNameHelper} name }}
|
|
221
|
+
? handlebarsParse(options, `{{ ${options.subFolderNameHelper} name }}`)
|
|
212
222
|
: options.name
|
|
213
223
|
: undefined,
|
|
214
224
|
].filter(Boolean));
|
package/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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
|
|
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,IAA4B,EAC5B,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;AAfD,sDAeC;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,cAAc,CAAA;KACtB;IAAC,MAAM;QACN,GAAG,CAAC,OAAO,EAAE,gBAAQ,CAAC,OAAO,EAAE,iEAAiE,CAAC,CAAA;QACjG,OAAO,cAAc,CAAA;KACtB;AACH,CAAC;AArBD,0CAqBC;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,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACrF,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAA;IACtE,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,IAA4B,EAC5B,EACE,MAAM,EACN,SAAS,EACT,UAAU,EACV,SAAS,GACsE;IAEjF,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,cAAc,GAAG,eAAe,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;QAE/D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,MAAM,SAAS,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;YAC3C,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,cAAc,CAAC,CAAA;SAC5C;KACF;SAAM,IAAI,MAAM,EAAE;QACjB,GAAG,CAAC,OAAO,EAAE,gBAAQ,CAAC,IAAI,EAAE,QAAQ,UAAU,2BAA2B,CAAC,CAAA;KAC3E;AACH,CAAC;AA3BD,kDA2BC;AAED,SAAgB,YAAY,CAC1B,OAAuB,EACvB,IAA4B,EAC5B,aAAqB,EACrB,QAAgB;IAEhB,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;gBACvE,CAAC,CAAC,OAAO,CAAC,IAAI;YAChB,CAAC,CAAC,SAAS;KACd,CAAC,MAAM,CAAC,OAAO,CAAc,CAC/B,CAAA;AACH,CAAC;AAlBD,oCAkBC;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"}
|