namirasoft-sdk-generator 1.4.4 → 1.4.6
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/dist/builder/BaseBuilder.d.ts +2 -0
- package/dist/builder/BaseBuilder.js +20 -7
- package/dist/builder/BaseBuilder.js.map +1 -1
- package/dist/builder/BaseBuilderEnv.js +17 -7
- package/dist/builder/BaseBuilderEnv.js.map +1 -1
- package/dist/builder/composer/ComposerBuilder.d.ts +15 -0
- package/dist/builder/composer/ComposerBuilder.js +442 -0
- package/dist/builder/composer/ComposerBuilder.js.map +1 -0
- package/dist/builder/composer/PHP.d.ts +19 -0
- package/dist/builder/composer/PHP.js +104 -0
- package/dist/builder/composer/PHP.js.map +1 -0
- package/dist/builder/composer/TypeBuilder.d.ts +34 -0
- package/dist/builder/composer/TypeBuilder.js +176 -0
- package/dist/builder/composer/TypeBuilder.js.map +1 -0
- package/dist/builder/npm/NPMBuilder.d.ts +1 -1
- package/dist/builder/npm/NPMBuilder.js +44 -22
- package/dist/builder/npm/NPMBuilder.js.map +1 -1
- package/dist/builder/npm/TS.js +17 -7
- package/dist/builder/npm/TS.js.map +1 -1
- package/dist/builder/php/PHP.js +17 -7
- package/dist/builder/php/PHP.js.map +1 -1
- package/dist/builder/php/PHPBuilder.d.ts +1 -1
- package/dist/builder/php/PHPBuilder.js +32 -19
- package/dist/builder/php/PHPBuilder.js.map +1 -1
- package/dist/builder/php/TypeBuilder.js +1 -1
- package/dist/builder/php/TypeBuilder.js.map +1 -1
- package/dist/command/BuildComposerCommand.d.ts +5 -0
- package/dist/command/BuildComposerCommand.js +27 -0
- package/dist/command/BuildComposerCommand.js.map +1 -0
- package/package.json +29 -28
- package/src/builder/BaseBuilder.ts +105 -101
- package/src/builder/BaseBuilderEnv.ts +207 -207
- package/src/builder/npm/NPMBuilder.ts +684 -669
- package/src/builder/npm/TS.ts +79 -79
- package/src/builder/npm/TypeBuilder.ts +163 -163
- package/src/builder/php/PHP.ts +98 -98
- package/src/builder/php/PHPBuilder.ts +710 -695
- package/src/builder/php/TypeBuilder.ts +165 -165
- package/src/command/BuildCommand.ts +10 -10
- package/src/command/BuildNPMCommand.ts +14 -14
- package/src/command/BuildPHPCommand.ts +14 -14
- package/src/command/GitCloneCommand.ts +24 -24
- package/src/command/GitCommand.ts +15 -15
- package/src/command/GitLoginCommand.ts +12 -12
- package/src/command/GitLogoutCommand.ts +12 -12
- package/src/index.ts +6 -6
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { BaseBuilderEnv } from "./BaseBuilderEnv";
|
|
2
2
|
import { ApplicationSchema } from "namirasoft-schema";
|
|
3
3
|
import { Logger } from "namirasoft-node-cli";
|
|
4
|
+
import { ProductFullRow } from "namirasoft-api-product";
|
|
4
5
|
export declare abstract class BaseBuilder {
|
|
5
6
|
protected src: BaseBuilderEnv;
|
|
6
7
|
protected dst: BaseBuilderEnv;
|
|
7
8
|
protected schema: ApplicationSchema;
|
|
9
|
+
protected product: ProductFullRow;
|
|
8
10
|
protected name: string;
|
|
9
11
|
protected command: string;
|
|
10
12
|
protected title: string;
|
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
36
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
37
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -38,6 +48,7 @@ const path = __importStar(require("path"));
|
|
|
38
48
|
const BaseBuilderEnv_1 = require("./BaseBuilderEnv");
|
|
39
49
|
const namirasoft_schema_1 = require("namirasoft-schema");
|
|
40
50
|
const namirasoft_node_cli_1 = require("namirasoft-node-cli");
|
|
51
|
+
const namirasoft_api_product_1 = require("namirasoft-api-product");
|
|
41
52
|
class BaseBuilder {
|
|
42
53
|
constructor(src_directory, dst_directory) {
|
|
43
54
|
this.account = false;
|
|
@@ -65,6 +76,8 @@ class BaseBuilder {
|
|
|
65
76
|
this.src.saveFileText(".env", `NAMIRASOFT_MUTE="true"\nBASE_PATH=/`);
|
|
66
77
|
yield this.src.exec("node ./dist/index.js");
|
|
67
78
|
this.schema = namirasoft_schema_1.ApplicationSchema.byFile(namirasoft_schema_1.ApplicationSchema, this.src.getPath("application.schema"));
|
|
79
|
+
let server = new namirasoft_api_product_1.NamirasoftAPIProductServer("https://namirasoft.com/api/product/v1", console.error);
|
|
80
|
+
this.product = yield server.product.Get(this.schema.meta.product_id);
|
|
68
81
|
this.account = this.schema.tags.account == "true";
|
|
69
82
|
this.nws = this.schema.tags.nws == "true";
|
|
70
83
|
this.command = this.name.replace("namirasoft", this.nws ? "nws" : "ns");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseBuilder.js","sourceRoot":"","sources":["../../src/builder/BaseBuilder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseBuilder.js","sourceRoot":"","sources":["../../src/builder/BaseBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
36
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
37
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseBuilderEnv.js","sourceRoot":"","sources":["../../src/builder/BaseBuilderEnv.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseBuilderEnv.js","sourceRoot":"","sources":["../../src/builder/BaseBuilderEnv.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseTypeSchema, ControllerSchema, EnumSchema, ObjectSchema } from "namirasoft-schema";
|
|
2
|
+
import { BaseBuilder } from "../BaseBuilder";
|
|
3
|
+
import { PHP } from "./PHP";
|
|
4
|
+
export declare class ComposerBuilder extends BaseBuilder {
|
|
5
|
+
constructor(src_directory: string, dst_directory: string);
|
|
6
|
+
protected onRun(): Promise<void>;
|
|
7
|
+
save(php: PHP): void;
|
|
8
|
+
getRow(schema: ObjectSchema): Promise<PHP[] | null>;
|
|
9
|
+
getEnum(schema: EnumSchema): Promise<PHP[] | null>;
|
|
10
|
+
getServer(tags: string[]): PHP;
|
|
11
|
+
getServerBase(): PHP;
|
|
12
|
+
getServerTag(tag: string): PHP;
|
|
13
|
+
addFunction(schema: ControllerSchema, php: PHP): Promise<void>;
|
|
14
|
+
addFunction_GetType(schema: BaseTypeSchema | null, php: PHP, read_only: boolean | null, postfix?: string): Promise<string>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,442 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator)
|
|
3
|
+
{
|
|
4
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
+
return new (P || (P = Promise))(function (resolve, reject)
|
|
6
|
+
{
|
|
7
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
8
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
9
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
10
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.ComposerBuilder = void 0;
|
|
15
|
+
const namirasoft_schema_1 = require("namirasoft-schema");
|
|
16
|
+
const namirasoft_core_1 = require("namirasoft-core");
|
|
17
|
+
const BaseBuilder_1 = require("../BaseBuilder");
|
|
18
|
+
const PHP_1 = require("./PHP");
|
|
19
|
+
const TypeBuilder_1 = require("./TypeBuilder");
|
|
20
|
+
class ComposerBuilder extends BaseBuilder_1.BaseBuilder
|
|
21
|
+
{
|
|
22
|
+
constructor(src_directory, dst_directory)
|
|
23
|
+
{
|
|
24
|
+
super(src_directory, dst_directory);
|
|
25
|
+
}
|
|
26
|
+
onRun()
|
|
27
|
+
{
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* ()
|
|
29
|
+
{
|
|
30
|
+
this.dst.clean();
|
|
31
|
+
this.dst.mkFolder("src");
|
|
32
|
+
this.dst.mkFolder("src/row");
|
|
33
|
+
this.dst.mkFolder("src/enum");
|
|
34
|
+
this.copy("logo.png", "logo.png");
|
|
35
|
+
yield this.dst.download("https://static.namirasoft.com/template/composer/php/.gitignore", ".gitignore");
|
|
36
|
+
let composerjson = {
|
|
37
|
+
name: this.name.replace("namirasoft-", "namirasoft/"),
|
|
38
|
+
description: this.description + " PHP Package",
|
|
39
|
+
"type": "library",
|
|
40
|
+
"version": this.src.json.version,
|
|
41
|
+
"authors": [
|
|
42
|
+
{
|
|
43
|
+
"name": "Amir Abolhasani",
|
|
44
|
+
"email": "amir@namirasoft.com"
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"license": "MIT",
|
|
48
|
+
"autoload": {
|
|
49
|
+
"psr-4": {
|
|
50
|
+
"Namirasoft\\ApiLink\\": "src/"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"require": {
|
|
54
|
+
"namirasoft/core": "^1.3.0",
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
let packagejson = {
|
|
58
|
+
name: this.name,
|
|
59
|
+
title: this.title + " PHP Package",
|
|
60
|
+
description: this.description + " PHP Package",
|
|
61
|
+
"icon": "logo.png",
|
|
62
|
+
"logo": this.src.json.logo,
|
|
63
|
+
"language": "php",
|
|
64
|
+
"framework": "composer",
|
|
65
|
+
"application": "package",
|
|
66
|
+
"private": false,
|
|
67
|
+
"version": this.src.json.version,
|
|
68
|
+
"author": "Amir Abolhasani",
|
|
69
|
+
"license": "MIT"
|
|
70
|
+
};
|
|
71
|
+
if (this.account)
|
|
72
|
+
if (this.src.json.name != "namirasoft-account-api-v1")
|
|
73
|
+
composerjson.require["namirasoft-account"] = "^1.2.0";
|
|
74
|
+
else
|
|
75
|
+
composerjson.require["namirasoft-site"] = "^1.2.0";
|
|
76
|
+
this.dst.saveFileJson("package.json", packagejson);
|
|
77
|
+
this.dst.saveFileJson("composer.json", composerjson);
|
|
78
|
+
yield this.dst.exec("composer update");
|
|
79
|
+
yield this.dst.exec("composer install");
|
|
80
|
+
let looper = new namirasoft_schema_1.ApplicationLooper(this.schema);
|
|
81
|
+
let objs = yield looper.getObjects(true, () => { });
|
|
82
|
+
let enums = yield looper.getEnums(() => { });
|
|
83
|
+
let tags = [...new Set(this.schema.controllers.map(c => c.tag))];
|
|
84
|
+
let rows = [];
|
|
85
|
+
for (let i = 0; i < objs.length; i++)
|
|
86
|
+
{
|
|
87
|
+
const obj = objs[i];
|
|
88
|
+
let phps = yield this.getRow(obj);
|
|
89
|
+
if (phps)
|
|
90
|
+
rows.push(...phps);
|
|
91
|
+
}
|
|
92
|
+
for (let i = 0; i < enums.length; i++)
|
|
93
|
+
{
|
|
94
|
+
const _enum = enums[i];
|
|
95
|
+
let phps = yield this.getEnum(_enum);
|
|
96
|
+
if (phps)
|
|
97
|
+
rows.push(...phps);
|
|
98
|
+
}
|
|
99
|
+
let server = this.getServer(tags);
|
|
100
|
+
let server_base = this.getServerBase();
|
|
101
|
+
let server_tags = {};
|
|
102
|
+
let servers = [];
|
|
103
|
+
tags.forEach(tag =>
|
|
104
|
+
{
|
|
105
|
+
let s = this.getServerTag(tag);
|
|
106
|
+
server_tags[tag] = s;
|
|
107
|
+
servers.push(s);
|
|
108
|
+
});
|
|
109
|
+
for (let i = 0; i < this.schema.controllers.length; i++)
|
|
110
|
+
{
|
|
111
|
+
const c = this.schema.controllers[i];
|
|
112
|
+
yield this.addFunction(c, server_tags[c.tag]);
|
|
113
|
+
}
|
|
114
|
+
let all = [...rows, server, server_base, ...servers];
|
|
115
|
+
all.filter(a => a.save).forEach(x => this.save(x));
|
|
116
|
+
yield this.dst.exec("composer validate");
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
save(php)
|
|
120
|
+
{
|
|
121
|
+
this.dst.saveFileText(php.getFilePath(), php.getContent());
|
|
122
|
+
}
|
|
123
|
+
getRow(schema)
|
|
124
|
+
{
|
|
125
|
+
return __awaiter(this, void 0, void 0, function* ()
|
|
126
|
+
{
|
|
127
|
+
if (schema.external != null)
|
|
128
|
+
return [];
|
|
129
|
+
let getPHP = (name, read_only) => __awaiter(this, void 0, void 0, function* ()
|
|
130
|
+
{
|
|
131
|
+
let php = new PHP_1.PHP("./src/row", "./row/", name, undefined, true);
|
|
132
|
+
if (schema.fields)
|
|
133
|
+
for (let i = 0; i < schema.fields.length; i++)
|
|
134
|
+
{
|
|
135
|
+
const field = schema.fields[i];
|
|
136
|
+
if (read_only == null || field.type.read_only == read_only)
|
|
137
|
+
{
|
|
138
|
+
let build = new TypeBuilder_1.TypeBuilder(field.type, null);
|
|
139
|
+
let rows = [];
|
|
140
|
+
let enums = [];
|
|
141
|
+
let type = yield build.run(s =>
|
|
142
|
+
{
|
|
143
|
+
if (s.type == namirasoft_schema_1.VariableType.Object)
|
|
144
|
+
rows.push(s);
|
|
145
|
+
else if (s.type == namirasoft_schema_1.VariableType.Enum)
|
|
146
|
+
enums.push(s);
|
|
147
|
+
});
|
|
148
|
+
php.fields.push(`public ${type} $${field.name};`);
|
|
149
|
+
if (field.name)
|
|
150
|
+
{
|
|
151
|
+
if (rows)
|
|
152
|
+
{
|
|
153
|
+
for (let j = 0; j < rows.length; j++)
|
|
154
|
+
{
|
|
155
|
+
const row = rows[j];
|
|
156
|
+
if (row.name)
|
|
157
|
+
if (row.external == null)
|
|
158
|
+
{
|
|
159
|
+
let typename = TypeBuilder_1.TypeBuilder.getClassName(row.name);
|
|
160
|
+
if (typename)
|
|
161
|
+
php.imports.push(`require_once "./${typename}";`);
|
|
162
|
+
}
|
|
163
|
+
else
|
|
164
|
+
php.imports.push(`require_once "${row.external.package}";`);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
if (enums)
|
|
168
|
+
{
|
|
169
|
+
for (let j = 0; j < enums.length; j++)
|
|
170
|
+
{
|
|
171
|
+
const _enum = enums[j];
|
|
172
|
+
if (_enum.external == null)
|
|
173
|
+
{
|
|
174
|
+
let typename = TypeBuilder_1.TypeBuilder.getEnumName(_enum.name);
|
|
175
|
+
if (typename)
|
|
176
|
+
php.imports.push(`require_once "../enum/${typename}";`);
|
|
177
|
+
}
|
|
178
|
+
else
|
|
179
|
+
php.imports.push(`import { ${_enum.name} } from "${_enum.external.package}";`);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return php;
|
|
186
|
+
});
|
|
187
|
+
let name_row = TypeBuilder_1.TypeBuilder.getClassName(schema.name);
|
|
188
|
+
let name_input = name_row + "Input";
|
|
189
|
+
let name_output = name_row + "Output";
|
|
190
|
+
if (name_row)
|
|
191
|
+
{
|
|
192
|
+
let row = yield getPHP(name_row, null);
|
|
193
|
+
let input = yield getPHP(name_input, false);
|
|
194
|
+
let output = yield getPHP(name_output, true);
|
|
195
|
+
return [row, input, output];
|
|
196
|
+
}
|
|
197
|
+
return null;
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
getEnum(schema)
|
|
201
|
+
{
|
|
202
|
+
return __awaiter(this, void 0, void 0, function* ()
|
|
203
|
+
{
|
|
204
|
+
if (schema.external != null)
|
|
205
|
+
return [];
|
|
206
|
+
let php = new PHP_1.PHP("./src/enum", "./enum/", schema.name, undefined, false);
|
|
207
|
+
php.scripts.push(`export enum ${schema.name}`);
|
|
208
|
+
php.scripts.push(`{`);
|
|
209
|
+
if (schema.valids)
|
|
210
|
+
for (let i = 0; i < schema.valids.length; i++)
|
|
211
|
+
{
|
|
212
|
+
const field = schema.valids[i];
|
|
213
|
+
php.scripts.push(` ${field} = "${field}",`);
|
|
214
|
+
}
|
|
215
|
+
php.scripts.push(`}`);
|
|
216
|
+
return [php];
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
getServer(tags)
|
|
220
|
+
{
|
|
221
|
+
let className = this.title.replace(/\s/gm, "") + "Server";
|
|
222
|
+
let php = new PHP_1.PHP("./src", "./", className);
|
|
223
|
+
if (this.account)
|
|
224
|
+
{
|
|
225
|
+
if (this.src.json.name == "namirasoft-account-api-v1")
|
|
226
|
+
php.imports.push(`require_once "./TokenManager";`);
|
|
227
|
+
else
|
|
228
|
+
php.imports.push(`require_once "namirasoft/account";`);
|
|
229
|
+
}
|
|
230
|
+
tags.forEach(tag => php.imports.push(`require_once "./${className}${tag}";`));
|
|
231
|
+
if (this.account)
|
|
232
|
+
{
|
|
233
|
+
php.fields.push(`TokenManager manager;`);
|
|
234
|
+
}
|
|
235
|
+
if (this.nws)
|
|
236
|
+
{
|
|
237
|
+
php.fields.push(`string zone;`);
|
|
238
|
+
}
|
|
239
|
+
tags.forEach(tag => php.fields.push(`public ${className}${tag} $${tag.toLowerCase()};`));
|
|
240
|
+
let pars = [];
|
|
241
|
+
let args = [];
|
|
242
|
+
if (this.account)
|
|
243
|
+
{
|
|
244
|
+
pars.push(`TokenManager manager`);
|
|
245
|
+
args.push(`manager`);
|
|
246
|
+
}
|
|
247
|
+
if (this.nws)
|
|
248
|
+
{
|
|
249
|
+
pars.push(`string zone`);
|
|
250
|
+
args.push(`zone`);
|
|
251
|
+
}
|
|
252
|
+
pars.push("callable $onError");
|
|
253
|
+
args.push("$onError");
|
|
254
|
+
php.constructors.push(`public function __construct(${pars.join(", ")})`);
|
|
255
|
+
php.constructors.push(`{`);
|
|
256
|
+
if (this.account)
|
|
257
|
+
php.constructors.push(` $this->manager = manager;`);
|
|
258
|
+
if (this.nws)
|
|
259
|
+
php.constructors.push(` $this->zone = zone;`);
|
|
260
|
+
tags.forEach(tag => php.constructors.push(` $this->${tag.toLowerCase()} = new ${className}${tag}(${args.join(", ")});`));
|
|
261
|
+
php.constructors.push(`}`);
|
|
262
|
+
return php;
|
|
263
|
+
}
|
|
264
|
+
getServerBase()
|
|
265
|
+
{
|
|
266
|
+
let className = this.title.replace(/\s/gm, "") + "ServerBase";
|
|
267
|
+
let parentName = this.account ? "NSABaseServer" : "BaseServer";
|
|
268
|
+
let php = new PHP_1.PHP("./src", "./", className, parentName);
|
|
269
|
+
if (this.account)
|
|
270
|
+
{
|
|
271
|
+
if (this.src.json.name == "namirasoft-account-api-v1")
|
|
272
|
+
{
|
|
273
|
+
php.imports.push(`require_once "./NSABaseServer";`);
|
|
274
|
+
php.imports.push(`require_once "./TokenManager";`);
|
|
275
|
+
}
|
|
276
|
+
else
|
|
277
|
+
{
|
|
278
|
+
php.imports.push(`require_once "namirasoft/account";`);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
else
|
|
282
|
+
{
|
|
283
|
+
php.imports.push(`require_once "namirasoft/core";`);
|
|
284
|
+
}
|
|
285
|
+
let pars = [];
|
|
286
|
+
let args = [`\`${this.url}\``];
|
|
287
|
+
if (this.account)
|
|
288
|
+
{
|
|
289
|
+
pars.push(`TokenManager manager`);
|
|
290
|
+
args.push(`manager`);
|
|
291
|
+
}
|
|
292
|
+
if (this.nws)
|
|
293
|
+
{
|
|
294
|
+
pars.push(`string zone`);
|
|
295
|
+
}
|
|
296
|
+
pars.push("callable $onError");
|
|
297
|
+
if (this.account)
|
|
298
|
+
args.push("$onError");
|
|
299
|
+
php.constructors.push(`public function __construct(${pars.join(", ")})`);
|
|
300
|
+
php.constructors.push(`{`);
|
|
301
|
+
php.constructors.push(` parent::__construct(${args.join(", ")});`);
|
|
302
|
+
if (!this.account)
|
|
303
|
+
{
|
|
304
|
+
php.uses.push("use GuzzleHttp\\Psr7\\Response;");
|
|
305
|
+
php.fields.push("protected $onError;");
|
|
306
|
+
php.constructors.push(` $this->onError = $onError;`);
|
|
307
|
+
php.functions.push(`protected function onBeforeRequest(string $url, array $config = [])`);
|
|
308
|
+
php.functions.push(`{`);
|
|
309
|
+
php.functions.push(`}`);
|
|
310
|
+
php.functions.push(`protected function onAfterRequest(string $url, Response $response)`);
|
|
311
|
+
php.functions.push(`{`);
|
|
312
|
+
php.functions.push(`}`);
|
|
313
|
+
php.functions.push(`protected function onError($error)`);
|
|
314
|
+
php.functions.push(`{`);
|
|
315
|
+
php.functions.push(` if ($this->onError != null)`);
|
|
316
|
+
php.functions.push(` call_user_func($this->onError);`);
|
|
317
|
+
php.functions.push(`}`);
|
|
318
|
+
}
|
|
319
|
+
php.constructors.push(`}`);
|
|
320
|
+
return php;
|
|
321
|
+
}
|
|
322
|
+
getServerTag(tag)
|
|
323
|
+
{
|
|
324
|
+
let baseName = this.title.replace(/\s/gm, "") + "Server";
|
|
325
|
+
let parentName = baseName + "Base";
|
|
326
|
+
let className = baseName + tag;
|
|
327
|
+
let php = new PHP_1.PHP("./src", "./", className, parentName);
|
|
328
|
+
php.imports.push(`require_once "./${parentName}";`);
|
|
329
|
+
return php;
|
|
330
|
+
}
|
|
331
|
+
addFunction(schema, php)
|
|
332
|
+
{
|
|
333
|
+
return __awaiter(this, void 0, void 0, function* ()
|
|
334
|
+
{
|
|
335
|
+
let function_lines = [];
|
|
336
|
+
let pars = [];
|
|
337
|
+
for (let i = 0; i < schema.parameters.length; i++)
|
|
338
|
+
{
|
|
339
|
+
const parameter = schema.parameters[i];
|
|
340
|
+
let parameter_output = yield this.addFunction_GetType(parameter.type, php, null);
|
|
341
|
+
pars.push(parameter_output + " $" + parameter.name);
|
|
342
|
+
}
|
|
343
|
+
let queries = [];
|
|
344
|
+
for (let i = 0; i < schema.queries.length; i++)
|
|
345
|
+
{
|
|
346
|
+
const query = schema.queries[i];
|
|
347
|
+
let newname = query.name;
|
|
348
|
+
let query_output = yield this.addFunction_GetType(query.type, php, null);
|
|
349
|
+
if (query.name == "filters")
|
|
350
|
+
{
|
|
351
|
+
newname = query.name + "_string_value";
|
|
352
|
+
function_lines.push(...[`let ${newname} : string | undefined = undefined;`,
|
|
353
|
+
`if (${query.name})`,
|
|
354
|
+
` ${newname} = ${query.name}.map(f => f.getCommand()).join(";");`]);
|
|
355
|
+
query_output = "FilterItem[] | null";
|
|
356
|
+
php.imports.push(`import { FilterItem } from "namirasoft-core";`);
|
|
357
|
+
}
|
|
358
|
+
pars.push(query_output + " $" + query.name);
|
|
359
|
+
if (newname === query.name)
|
|
360
|
+
queries.push(`${query.name}`);
|
|
361
|
+
else
|
|
362
|
+
queries.push(`${query.name}: ${newname}`);
|
|
363
|
+
}
|
|
364
|
+
let body = "";
|
|
365
|
+
if (schema.body)
|
|
366
|
+
{
|
|
367
|
+
let parameter_output = yield this.addFunction_GetType(schema.body, php, false, "Input");
|
|
368
|
+
pars.push(parameter_output + " $body");
|
|
369
|
+
body = ", body";
|
|
370
|
+
}
|
|
371
|
+
let type_output = yield this.addFunction_GetType(schema.output, php, null);
|
|
372
|
+
let query = "[ " + queries.map(q => "$" + q).join(", ") + " ]";
|
|
373
|
+
if (queries.length == 0)
|
|
374
|
+
query = "[]";
|
|
375
|
+
php.functions.push(`public function ${schema.name}(${pars.join(", ")}): ${type_output}`);
|
|
376
|
+
php.functions.push(`{`);
|
|
377
|
+
php.functions.push(...function_lines.map(l => " " + l));
|
|
378
|
+
php.functions.push(` $path = "${schema.path.replace(/\{([^\}]+)\}/gm, '$$$1')}";`);
|
|
379
|
+
php.functions.push(` $response = $this->_${namirasoft_core_1.HTTPMethod[schema.method].toLowerCase()}($path, ${query}${body});`);
|
|
380
|
+
if (schema.tags["token"] == "changed")
|
|
381
|
+
php.functions.push(` $this->manager.set($response, false);`);
|
|
382
|
+
if (schema.tags["token"] == "deleted")
|
|
383
|
+
php.functions.push(` $this->manager.del();`);
|
|
384
|
+
if (schema.tags["user"] == "changed")
|
|
385
|
+
php.functions.push(` $this->manager.setUser($response);`);
|
|
386
|
+
php.functions.push(` return $response->data;`);
|
|
387
|
+
php.functions.push(`}`);
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
addFunction_GetType(schema, php, read_only, postfix = "")
|
|
391
|
+
{
|
|
392
|
+
return __awaiter(this, void 0, void 0, function* ()
|
|
393
|
+
{
|
|
394
|
+
let type_output = null;
|
|
395
|
+
if (schema)
|
|
396
|
+
{
|
|
397
|
+
let builder = new TypeBuilder_1.TypeBuilder(schema, read_only, postfix);
|
|
398
|
+
let rows = [];
|
|
399
|
+
let enums = [];
|
|
400
|
+
type_output = yield builder.run(s =>
|
|
401
|
+
{
|
|
402
|
+
if (s.type == namirasoft_schema_1.VariableType.Object)
|
|
403
|
+
rows.push(s);
|
|
404
|
+
else if (s.type == namirasoft_schema_1.VariableType.Enum)
|
|
405
|
+
enums.push(s);
|
|
406
|
+
});
|
|
407
|
+
if (rows)
|
|
408
|
+
{
|
|
409
|
+
for (let j = 0; j < rows.length; j++)
|
|
410
|
+
{
|
|
411
|
+
const row = rows[j];
|
|
412
|
+
if (row.name)
|
|
413
|
+
if (row.external == null)
|
|
414
|
+
{
|
|
415
|
+
let typename = TypeBuilder_1.TypeBuilder.getClassName(row.name);
|
|
416
|
+
php.imports.push(`require_once "./row/${typename + postfix}";`);
|
|
417
|
+
}
|
|
418
|
+
else
|
|
419
|
+
php.imports.push(`import { ${row.name} } from "${row.external.package}";`);
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
if (enums)
|
|
423
|
+
{
|
|
424
|
+
for (let j = 0; j < enums.length; j++)
|
|
425
|
+
{
|
|
426
|
+
const _enum = enums[j];
|
|
427
|
+
if (_enum.external == null)
|
|
428
|
+
{
|
|
429
|
+
let typename = TypeBuilder_1.TypeBuilder.getEnumName(_enum.name);
|
|
430
|
+
php.imports.push(`require_once "./enum/${typename}";`);
|
|
431
|
+
}
|
|
432
|
+
else
|
|
433
|
+
php.imports.push(`import { ${_enum.name} } from "${_enum.external.package}";`);
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
return type_output !== null && type_output !== void 0 ? type_output : "void";
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
exports.ComposerBuilder = ComposerBuilder;
|
|
442
|
+
//# sourceMappingURL=ComposerBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComposerBuilder.js","sourceRoot":"","sources":["../../../src/builder/composer/ComposerBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAgI;AAChI,qDAA6C;AAC7C,gDAA6C;AAC7C,+BAA4B;AAC5B,+CAA4C;AAE5C,MAAa,eAAgB,SAAQ,yBAAW;IAE5C,YAAY,aAAqB,EAAE,aAAqB;QAEpD,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACxC,CAAC;IACwB,KAAK;;YAE1B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YAEjB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAE9B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAElC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,gEAAgE,EAAE,YAAY,CAAC,CAAC;YAExG,IAAI,YAAY,GAAQ;gBACpB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC;gBACrD,WAAW,EAAE,IAAI,CAAC,WAAW,GAAG,cAAc;gBAC9C,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO;gBAChC,SAAS,EAAE;oBACP;wBACI,MAAM,EAAE,iBAAiB;wBACzB,OAAO,EAAE,qBAAqB;qBACjC;iBACJ;gBACD,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE;oBACR,OAAO,EAAE;wBACL,uBAAuB,EAAE,MAAM;qBAClC;iBACJ;gBACD,SAAS,EAAE;oBACP,iBAAiB,EAAE,QAAQ;iBAC9B;aACJ,CAAC;YAEF,IAAI,WAAW,GAAQ;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,cAAc;gBAClC,WAAW,EAAE,IAAI,CAAC,WAAW,GAAG,cAAc;gBAC9C,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI;gBAC1B,UAAU,EAAE,KAAK;gBACjB,WAAW,EAAE,UAAU;gBACvB,aAAa,EAAE,SAAS;gBACxB,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO;gBAChC,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,KAAK;aACnB,CAAC;YACF,IAAI,IAAI,CAAC,OAAO;gBACZ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,2BAA2B;oBACjD,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,QAAQ,CAAC;;oBAEtD,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAC;YAE3D,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YACnD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;YAErD,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACvC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAExC,IAAI,MAAM,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACpD,IAAI,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC7C,IAAI,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjE,IAAI,IAAI,GAAU,EAAE,CAAC;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EACpC;gBACI,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,IAAI;oBACJ,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;aAC1B;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EACrC;gBACI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrC,IAAI,IAAI;oBACJ,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;aAC1B;YACD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,WAAW,GAA2B,EAAE,CAAC;YAC7C,IAAI,OAAO,GAAU,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAEf,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC/B,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EACvD;gBACI,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aACjD;YACD,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,CAAC;YACrD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAInD,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC7C,CAAC;KAAA;IACD,IAAI,CAAC,GAAQ;QAET,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/D,CAAC;IAYK,MAAM,CAAC,MAAoB;;YAE7B,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI;gBACvB,OAAO,EAAE,CAAC;YACd,IAAI,MAAM,GAAG,CAAO,IAAY,EAAE,SAAyB,EAAE,EAAE;gBAE3D,IAAI,GAAG,GAAG,IAAI,SAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBAChE,IAAI,MAAM,CAAC,MAAM;oBACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAC7C;wBACI,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC/B,IAAI,SAAS,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,EAC1D;4BACI,IAAI,KAAK,GAAG,IAAI,yBAAW,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAC9C,IAAI,IAAI,GAAmB,EAAE,CAAC;4BAC9B,IAAI,KAAK,GAAiB,EAAE,CAAC;4BAC7B,IAAI,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gCAE3B,IAAI,CAAC,CAAC,IAAI,IAAI,gCAAY,CAAC,MAAM;oCAC7B,IAAI,CAAC,IAAI,CAAC,CAAiB,CAAC,CAAC;qCAC5B,IAAI,CAAC,CAAC,IAAI,IAAI,gCAAY,CAAC,IAAI;oCAChC,KAAK,CAAC,IAAI,CAAC,CAAe,CAAC,CAAC;4BACpC,CAAC,CAAC,CAAC;4BACH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;4BAClD,IAAI,KAAK,CAAC,IAAI,EACd;gCACI,IAAI,IAAI,EACR;oCACI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EACpC;wCACI,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wCACpB,IAAI,GAAG,CAAC,IAAI;4CACR,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI,EACxB;gDACI,IAAI,QAAQ,GAAG,yBAAW,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gDAClD,IAAI,QAAQ;oDACR,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,QAAQ,IAAI,CAAC,CAAC;6CACzD;;gDAEG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;qCACvE;iCACJ;gCACD,IAAI,KAAK,EACT;oCACI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EACrC;wCACI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wCACvB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAC1B;4CACI,IAAI,QAAQ,GAAG,yBAAW,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4CACnD,IAAI,QAAQ;gDACR,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,QAAQ,IAAI,CAAC,CAAC;yCAC/D;;4CAEG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;qCACtF;iCACJ;6BACJ;yBACJ;qBACJ;gBACL,OAAO,GAAG,CAAC;YACf,CAAC,CAAA,CAAC;YACF,IAAI,QAAQ,GAAG,yBAAW,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;YACpC,IAAI,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;YACtC,IAAI,QAAQ,EACZ;gBACI,IAAI,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACvC,IAAI,KAAK,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC5C,IAAI,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;aAC/B;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IACK,OAAO,CAAC,MAAkB;;YAE5B,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI;gBACvB,OAAO,EAAE,CAAC;YACd,IAAI,GAAG,GAAG,IAAI,SAAG,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC1E,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/C,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,MAAM,CAAC,MAAM;gBACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAC7C;oBACI,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC/B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,KAAK,IAAI,CAAC,CAAC;iBAClD;YACL,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;KAAA;IAED,SAAS,CAAC,IAAc;QAEpB,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC;QAC1D,IAAI,GAAG,GAAG,IAAI,SAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,OAAO,EAChB;YACI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,2BAA2B;gBACjD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;;gBAEnD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;SAC9D;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,SAAS,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QAE9E,IAAI,IAAI,CAAC,OAAO,EAChB;YACI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SAC5C;QACD,IAAI,IAAI,CAAC,GAAG,EACZ;YACI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACnC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,SAAS,GAAG,GAAG,KAAK,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzF,IAAI,IAAI,GAAa,EAAE,CAAC;QACxB,IAAI,IAAI,GAAa,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,OAAO,EAChB;YACI,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,GAAG,EACZ;YACI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACrB;QACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtB,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,OAAO;YACZ,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,GAAG;YACR,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,WAAW,EAAE,UAAU,SAAS,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5H,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC;IACf,CAAC;IACD,aAAa;QAET,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC;QAC9D,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,YAAY,CAAC;QACtE,IAAI,GAAG,GAAG,IAAI,SAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,OAAO,EAChB;YACI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,2BAA2B,EACrD;gBACI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;gBAC3D,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;aACtD;iBAED;gBAGI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;aAC1D;SACJ;aAED;YACI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;SACvD;QAED,IAAI,IAAI,GAAa,EAAE,CAAC;QACxB,IAAI,IAAI,GAAa,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,OAAO,EAChB;YACI,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,GAAG,EACZ;YACI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC5B;QACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE1B,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,OAAO,EACjB;YACI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YACjD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACvC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YACxD,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;YAC1F,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;YACzF,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACzD,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YACtD,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YAC9D,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC3B;QACD,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC;IACf,CAAC;IACD,YAAY,CAAC,GAAW;QAEpB,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC;QACzD,IAAI,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;QACnC,IAAI,SAAS,GAAG,QAAQ,GAAG,GAAG,CAAC;QAC/B,IAAI,GAAG,GAAG,IAAI,SAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACxD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,UAAU,IAAI,CAAC,CAAC;QACpD,OAAO,GAAG,CAAC;IACf,CAAC;IACK,WAAW,CAAC,MAAwB,EAAE,GAAQ;;YAEhD,IAAI,cAAc,GAAG,EAAE,CAAC;YACxB,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EACjD;gBACI,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBACjF,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;aACvD;YACD,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAC9C;gBACI,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;gBACzB,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBACzE,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,EAC3B;oBACI,OAAO,GAAG,KAAK,CAAC,IAAI,GAAG,eAAe,CAAC;oBACvC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,OAAO,oCAAoC;wBAC1E,OAAO,KAAK,CAAC,IAAI,GAAG;wBACpB,OAAO,OAAO,MAAM,KAAK,CAAC,IAAI,sCAAsC,CAAC,CAAC,CAAC;oBACvE,YAAY,GAAG,qBAAqB,CAAC;oBACrC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;iBACrE;gBACD,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,OAAO,KAAK,KAAK,CAAC,IAAI;oBACtB,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;;oBAE9B,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;aACjD;YACD,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,MAAM,CAAC,IAAI,EACf;gBACI,IAAI,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACxF,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC;gBACvC,IAAI,GAAG,QAAQ,CAAC;aACnB;YACD,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3E,IAAI,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAC/D,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;gBACnB,KAAK,GAAG,IAAI,CAAC;YACjB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC;YACzF,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3D,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACtF,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,2BAA2B,4BAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,WAAW,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC;YAClH,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS;gBACjC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YACpE,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS;gBACjC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACpD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,SAAS;gBAChC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACjE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAClD,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;KAAA;IACK,mBAAmB,CAAC,MAA6B,EAAE,GAAQ,EAAE,SAAyB,EAAE,UAAkB,EAAE;;YAE9G,IAAI,WAAW,GAAG,IAAI,CAAC;YACvB,IAAI,MAAM,EACV;gBACI,IAAI,OAAO,GAAG,IAAI,yBAAW,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC1D,IAAI,IAAI,GAAmB,EAAE,CAAC;gBAC9B,IAAI,KAAK,GAAiB,EAAE,CAAC;gBAC7B,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBAEhC,IAAI,CAAC,CAAC,IAAI,IAAI,gCAAY,CAAC,MAAM;wBAC7B,IAAI,CAAC,IAAI,CAAC,CAAiB,CAAC,CAAC;yBAC5B,IAAI,CAAC,CAAC,IAAI,IAAI,gCAAY,CAAC,IAAI;wBAChC,KAAK,CAAC,IAAI,CAAC,CAAe,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;gBACH,IAAI,IAAI,EACR;oBACI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EACpC;wBACI,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACpB,IAAI,GAAG,CAAC,IAAI;4BACR,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI,EACxB;gCACI,IAAI,QAAQ,GAAG,yBAAW,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gCAClD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,QAAQ,GAAG,OAAO,IAAI,CAAC,CAAC;6BACnE;;gCAEG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;qBACtF;iBACJ;gBACD,IAAI,KAAK,EACT;oBACI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EACrC;wBACI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACvB,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAC1B;4BACI,IAAI,QAAQ,GAAG,yBAAW,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BACnD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,QAAQ,IAAI,CAAC,CAAC;yBAC1D;;4BAEG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;qBACtF;iBACJ;aACJ;YACD,OAAO,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,MAAM,CAAC;QACjC,CAAC;KAAA;CACJ;AAnbD,0CAmbC"}
|