@kitalive/sfdx-plugin 0.3.0 → 0.4.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 +79 -10
- package/lib/bulk.js +2 -6
- package/lib/bulk.js.map +1 -1
- package/lib/commands/kit/data/csv/convert.d.ts +0 -13
- package/lib/commands/kit/data/csv/convert.js +3 -67
- package/lib/commands/kit/data/csv/convert.js.map +1 -1
- package/lib/commands/kit/layout/assignments/deploy.d.ts +0 -1
- package/lib/commands/kit/layout/assignments/deploy.js +2 -6
- package/lib/commands/kit/layout/assignments/deploy.js.map +1 -1
- package/lib/commands/kit/layout/assignments/retrieve.d.ts +0 -1
- package/lib/commands/kit/layout/assignments/retrieve.js +23 -8
- package/lib/commands/kit/layout/assignments/retrieve.js.map +1 -1
- package/lib/commands/kit/object/fields/describe.d.ts +14 -0
- package/lib/commands/kit/object/fields/describe.js +87 -0
- package/lib/commands/kit/object/fields/describe.js.map +1 -0
- package/lib/commands/kit/object/fields/setup.d.ts +21 -0
- package/lib/commands/kit/object/fields/setup.js +203 -0
- package/lib/commands/kit/object/fields/setup.js.map +1 -0
- package/lib/metadata.d.ts +18 -0
- package/lib/metadata.js +69 -0
- package/lib/metadata.js.map +1 -0
- package/lib/types.d.ts +25 -0
- package/lib/utils.d.ts +16 -1
- package/lib/utils.js +76 -1
- package/lib/utils.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ $ npm install -g @kitalive/sfdx-plugin
|
|
|
18
18
|
$ sfdx COMMAND
|
|
19
19
|
running command...
|
|
20
20
|
$ sfdx (-v|--version|version)
|
|
21
|
-
@kitalive/sfdx-plugin/0.
|
|
21
|
+
@kitalive/sfdx-plugin/0.4.2 darwin-x64 node-v16.15.0
|
|
22
22
|
$ sfdx --help [COMMAND]
|
|
23
23
|
USAGE
|
|
24
24
|
$ sfdx COMMAND
|
|
@@ -37,6 +37,8 @@ USAGE
|
|
|
37
37
|
* [`sfdx kit:data:csv:convert [-f <filepath>] [-o <filepath>] [-e <string>] [-d <string>] [-q <string>] [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitdatacsvconvert--f-filepath--o-filepath--e-string--d-string--q-string---skiplines-integer---trim--m-filepath--c-filepath---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
38
38
|
* [`sfdx kit:layout:assignments:deploy -f <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitlayoutassignmentsdeploy--f-string--u-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
39
39
|
* [`sfdx kit:layout:assignments:retrieve -f <string> [-p <string>] [-o <string>] [--merge] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitlayoutassignmentsretrieve--f-string--p-string--o-string---merge--u-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
40
|
+
* [`sfdx kit:object:fields:describe -o <string> [-f <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitobjectfieldsdescribe--o-string--f-string--u-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
41
|
+
* [`sfdx kit:object:fields:setup -o <string> -f <string> [--delete] [--force] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitobjectfieldssetup--o-string--f-string---delete---force--u-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
40
42
|
* [`sfdx kit:script:execute [-f <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-kitscriptexecute--f-filepath--u-string---apiversion-string---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
41
43
|
|
|
42
44
|
## `sfdx kit:data:bulk:delete -q <string> [--hard] [--concurrencymode <string>] [-s <integer>] [-w <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
@@ -80,7 +82,7 @@ EXAMPLE
|
|
|
80
82
|
$ sfdx kit:data:bulk:delete -q 'SELECT Id FROM Opportunity WHERE CloseDate < LAST_N_YEARS:5'
|
|
81
83
|
```
|
|
82
84
|
|
|
83
|
-
_See code: [src/commands/kit/data/bulk/delete.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
85
|
+
_See code: [src/commands/kit/data/bulk/delete.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.2/src/commands/kit/data/bulk/delete.ts)_
|
|
84
86
|
|
|
85
87
|
## `sfdx kit:data:bulk:insert -o <string> -f <filepath> [-r <filepath>] [-e <string>] [-d <string>] [-q <string>] [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--setnull] [--convertonly] [--concurrencymode <string>] [--assignmentruleid <string>] [-s <integer>] [-w <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
86
88
|
|
|
@@ -165,7 +167,7 @@ EXAMPLES
|
|
|
165
167
|
$ sfdx kit:data:bulk:insert -o MyObject__c -f ./path/to/MyObject__c.csv -c ./path/to/convert.js -w 10
|
|
166
168
|
```
|
|
167
169
|
|
|
168
|
-
_See code: [src/commands/kit/data/bulk/insert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
170
|
+
_See code: [src/commands/kit/data/bulk/insert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.2/src/commands/kit/data/bulk/insert.ts)_
|
|
169
171
|
|
|
170
172
|
## `sfdx kit:data:bulk:query -q <string> [-f <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
171
173
|
|
|
@@ -197,7 +199,7 @@ EXAMPLE
|
|
|
197
199
|
$ sfdx kit:data:bulk:query -q 'SELECT Id, Name FROM Account' -f ./path/to/Account.csv
|
|
198
200
|
```
|
|
199
201
|
|
|
200
|
-
_See code: [src/commands/kit/data/bulk/query.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
202
|
+
_See code: [src/commands/kit/data/bulk/query.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.2/src/commands/kit/data/bulk/query.ts)_
|
|
201
203
|
|
|
202
204
|
## `sfdx kit:data:bulk:update -o <string> -f <filepath> [-r <filepath>] [-e <string>] [-d <string>] [-q <string>] [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--setnull] [--convertonly] [--concurrencymode <string>] [--assignmentruleid <string>] [-s <integer>] [-w <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
203
205
|
|
|
@@ -282,7 +284,7 @@ EXAMPLES
|
|
|
282
284
|
$ sfdx kit:data:bulk:update -o MyObject__c -f ./path/to/MyObject__c.csv -c ./path/to/convert.js -w 10
|
|
283
285
|
```
|
|
284
286
|
|
|
285
|
-
_See code: [src/commands/kit/data/bulk/update.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
287
|
+
_See code: [src/commands/kit/data/bulk/update.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.2/src/commands/kit/data/bulk/update.ts)_
|
|
286
288
|
|
|
287
289
|
## `sfdx kit:data:bulk:upsert -o <string> -f <filepath> -i <string> [-r <filepath>] [-e <string>] [-d <string>] [-q <string>] [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--setnull] [--convertonly] [--concurrencymode <string>] [--assignmentruleid <string>] [-s <integer>] [-w <integer>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
288
290
|
|
|
@@ -371,7 +373,7 @@ EXAMPLES
|
|
|
371
373
|
10
|
|
372
374
|
```
|
|
373
375
|
|
|
374
|
-
_See code: [src/commands/kit/data/bulk/upsert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
376
|
+
_See code: [src/commands/kit/data/bulk/upsert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.2/src/commands/kit/data/bulk/upsert.ts)_
|
|
375
377
|
|
|
376
378
|
## `sfdx kit:data:csv:convert [-f <filepath>] [-o <filepath>] [-e <string>] [-d <string>] [-q <string>] [--skiplines <integer>] [--trim] [-m <filepath>] [-c <filepath>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
377
379
|
|
|
@@ -420,7 +422,7 @@ EXAMPLES
|
|
|
420
422
|
$ sfdx kit:data:csv:convert -f ./path/to/input.csv -o ./path/to/output.csv -c ./path/to/convert.js -e cp932 -d :
|
|
421
423
|
```
|
|
422
424
|
|
|
423
|
-
_See code: [src/commands/kit/data/csv/convert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
425
|
+
_See code: [src/commands/kit/data/csv/convert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.2/src/commands/kit/data/csv/convert.ts)_
|
|
424
426
|
|
|
425
427
|
## `sfdx kit:layout:assignments:deploy -f <string> [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
426
428
|
|
|
@@ -453,7 +455,7 @@ EXAMPLES
|
|
|
453
455
|
$ sfdx kit:layout:assignments:deploy -u me@my.org -f config/layout-assignments.sandbox.json
|
|
454
456
|
```
|
|
455
457
|
|
|
456
|
-
_See code: [src/commands/kit/layout/assignments/deploy.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
458
|
+
_See code: [src/commands/kit/layout/assignments/deploy.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.2/src/commands/kit/layout/assignments/deploy.ts)_
|
|
457
459
|
|
|
458
460
|
## `sfdx kit:layout:assignments:retrieve -f <string> [-p <string>] [-o <string>] [--merge] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
459
461
|
|
|
@@ -497,7 +499,74 @@ EXAMPLES
|
|
|
497
499
|
$ sfdx kit:layout:assignments:retrieve -u me@my.org -f config/layout-assignments.sandbox.json
|
|
498
500
|
```
|
|
499
501
|
|
|
500
|
-
_See code: [src/commands/kit/layout/assignments/retrieve.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
502
|
+
_See code: [src/commands/kit/layout/assignments/retrieve.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.2/src/commands/kit/layout/assignments/retrieve.ts)_
|
|
503
|
+
|
|
504
|
+
## `sfdx kit:object:fields:describe -o <string> [-f <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
505
|
+
|
|
506
|
+
describe object fields information
|
|
507
|
+
|
|
508
|
+
```
|
|
509
|
+
USAGE
|
|
510
|
+
$ sfdx kit:object:fields:describe -o <string> [-f <string>] [-u <string>] [--apiversion <string>] [--json] [--loglevel
|
|
511
|
+
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
|
|
512
|
+
|
|
513
|
+
OPTIONS
|
|
514
|
+
-f, --file=file output csv file path
|
|
515
|
+
-o, --object=object (required) SObject name
|
|
516
|
+
|
|
517
|
+
-u, --targetusername=targetusername username or alias for the target
|
|
518
|
+
org; overrides default target org
|
|
519
|
+
|
|
520
|
+
--apiversion=apiversion override the api version used for
|
|
521
|
+
api requests made by this command
|
|
522
|
+
|
|
523
|
+
--json format output as json
|
|
524
|
+
|
|
525
|
+
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
|
|
526
|
+
this command invocation
|
|
527
|
+
|
|
528
|
+
EXAMPLES
|
|
529
|
+
$ sfdx kit:object:fields:describe -o Account -f path/to/account_fields.csv
|
|
530
|
+
$ sfdx kit:object:fields:describe -u me@my.org -o CustomObject__c --json
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
_See code: [src/commands/kit/object/fields/describe.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.2/src/commands/kit/object/fields/describe.ts)_
|
|
534
|
+
|
|
535
|
+
## `sfdx kit:object:fields:setup -o <string> -f <string> [--delete] [--force] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
536
|
+
|
|
537
|
+
upsert and delete object fields from a CSV file
|
|
538
|
+
|
|
539
|
+
```
|
|
540
|
+
USAGE
|
|
541
|
+
$ sfdx kit:object:fields:setup -o <string> -f <string> [--delete] [--force] [-u <string>] [--apiversion <string>]
|
|
542
|
+
[--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
|
|
543
|
+
|
|
544
|
+
OPTIONS
|
|
545
|
+
-f, --file=file (required) input csv file path
|
|
546
|
+
-o, --object=object (required) SObject name
|
|
547
|
+
|
|
548
|
+
-u, --targetusername=targetusername username or alias for the target
|
|
549
|
+
org; overrides default target org
|
|
550
|
+
|
|
551
|
+
--apiversion=apiversion override the api version used for
|
|
552
|
+
api requests made by this command
|
|
553
|
+
|
|
554
|
+
--delete delete fields that are not in the
|
|
555
|
+
csv file
|
|
556
|
+
|
|
557
|
+
--force Do not confirm when deleting
|
|
558
|
+
|
|
559
|
+
--json format output as json
|
|
560
|
+
|
|
561
|
+
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
|
|
562
|
+
this command invocation
|
|
563
|
+
|
|
564
|
+
EXAMPLES
|
|
565
|
+
$ sfdx kit:object:fields:setup -o Account -f path/to/account_fields.csv
|
|
566
|
+
$ sfdx kit:object:fields:setup -u me@my.org -o CustomObject__c -f path/to/custom_object_fields.csv --delete
|
|
567
|
+
```
|
|
568
|
+
|
|
569
|
+
_See code: [src/commands/kit/object/fields/setup.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.2/src/commands/kit/object/fields/setup.ts)_
|
|
501
570
|
|
|
502
571
|
## `sfdx kit:script:execute [-f <filepath>] [-u <string>] [--apiversion <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
503
572
|
|
|
@@ -540,5 +609,5 @@ EXAMPLES
|
|
|
540
609
|
$ NODE_OPTIONS=--experimental-repl-await sfdx kit:script:execute
|
|
541
610
|
```
|
|
542
611
|
|
|
543
|
-
_See code: [src/commands/kit/script/execute.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.
|
|
612
|
+
_See code: [src/commands/kit/script/execute.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.4.2/src/commands/kit/script/execute.ts)_
|
|
544
613
|
<!-- commandsstop -->
|
package/lib/bulk.js
CHANGED
|
@@ -7,7 +7,6 @@ const csv = require("fast-csv");
|
|
|
7
7
|
const fs = require("fs-extra");
|
|
8
8
|
const path = require("path");
|
|
9
9
|
const convert_1 = require("./commands/kit/data/csv/convert");
|
|
10
|
-
const convert_2 = require("./commands/kit/data/csv/convert");
|
|
11
10
|
const utils = require("./utils");
|
|
12
11
|
function bulkQuery(conn, query) {
|
|
13
12
|
return new Promise((resolve, reject) => {
|
|
@@ -153,7 +152,7 @@ const createBulkCommand = (operation) => {
|
|
|
153
152
|
async run() {
|
|
154
153
|
const { object, csvfile, mapping, converter, encoding, delimiter, quote, skiplines, trim, setnull, } = this.flags;
|
|
155
154
|
const mappingJson = mapping ? await fs.readJson(mapping) : undefined;
|
|
156
|
-
const script = converter ?
|
|
155
|
+
const script = converter ? utils.loadScript(converter) : {};
|
|
157
156
|
const fieldTypes = await this.getFieldTypes(object);
|
|
158
157
|
this.ux.startSpinner('Processing csv');
|
|
159
158
|
if (script.start)
|
|
@@ -223,7 +222,7 @@ const createBulkCommand = (operation) => {
|
|
|
223
222
|
}
|
|
224
223
|
async parseCsv(input, options) {
|
|
225
224
|
const { encoding, delimiter, quote, skiplines, trim, mapping, convert, setnull, fieldTypes, } = options !== null && options !== void 0 ? options : {};
|
|
226
|
-
return await
|
|
225
|
+
return await utils.parseCsv(input, {
|
|
227
226
|
encoding,
|
|
228
227
|
delimiter,
|
|
229
228
|
quote,
|
|
@@ -259,9 +258,6 @@ const createBulkCommand = (operation) => {
|
|
|
259
258
|
saveCsv(file, rows) {
|
|
260
259
|
csv.writeToPath(file, rows, { headers: true, writeBOM: true });
|
|
261
260
|
}
|
|
262
|
-
loadScript(file) {
|
|
263
|
-
return (0, convert_2.loadScript)(file);
|
|
264
|
-
}
|
|
265
261
|
async getFieldTypes(sobject) {
|
|
266
262
|
const conn = this.org.getConnection();
|
|
267
263
|
const objectInfo = await conn.describe(sobject);
|
package/lib/bulk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulk.js","sourceRoot":"","sources":["../src/bulk.ts"],"names":[],"mappings":";;;AAAA,iDAAyD;AAEzD,+BAA+B;AAC/B,gCAAgC;AAChC,+BAA+B;AAQ/B,6BAA6B;
|
|
1
|
+
{"version":3,"file":"bulk.js","sourceRoot":"","sources":["../src/bulk.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { flags, SfdxCommand } from '@salesforce/command';
|
|
3
2
|
import { JsonMap } from '@salesforce/ts-types';
|
|
4
|
-
import { Readable } from 'stream';
|
|
5
3
|
export default class CsvConvertCommand extends SfdxCommand {
|
|
6
4
|
static description: string;
|
|
7
5
|
static examples: string[];
|
|
@@ -22,14 +20,3 @@ export default class CsvConvertCommand extends SfdxCommand {
|
|
|
22
20
|
private writeCsv;
|
|
23
21
|
private loadConverter;
|
|
24
22
|
}
|
|
25
|
-
export declare function parseCsv(input: Readable, options?: {
|
|
26
|
-
encoding?: string;
|
|
27
|
-
delimiter?: string;
|
|
28
|
-
quote?: string;
|
|
29
|
-
skiplines?: number;
|
|
30
|
-
trim?: boolean;
|
|
31
|
-
mapping?: JsonMap;
|
|
32
|
-
convert?: (row: JsonMap) => JsonMap | null | undefined;
|
|
33
|
-
}): Promise<JsonMap[]>;
|
|
34
|
-
export declare function loadScript(file: any): any;
|
|
35
|
-
export declare function columnMapper(mapping: any): (row: any) => {};
|
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.columnMapper = exports.loadScript = exports.parseCsv = void 0;
|
|
4
3
|
const command_1 = require("@salesforce/command");
|
|
5
4
|
const csv = require("fast-csv");
|
|
6
5
|
const fs = require("fs-extra");
|
|
7
|
-
const
|
|
8
|
-
const path = require("path");
|
|
9
|
-
const stream_1 = require("stream");
|
|
6
|
+
const utils_1 = require("../../../../utils");
|
|
10
7
|
class CsvConvertCommand extends command_1.SfdxCommand {
|
|
11
8
|
async run() {
|
|
12
9
|
const { inputfile, outputfile, mapping, converter, encoding, delimiter, quote, skiplines, trim, } = this.flags;
|
|
13
10
|
const mappingJson = mapping ? await fs.readJson(mapping) : undefined;
|
|
14
11
|
const convert = converter ? this.loadConverter(converter) : undefined;
|
|
15
12
|
const input = inputfile ? fs.createReadStream(inputfile) : process.stdin;
|
|
16
|
-
const rows = await parseCsv(input, {
|
|
13
|
+
const rows = await (0, utils_1.parseCsv)(input, {
|
|
17
14
|
encoding,
|
|
18
15
|
delimiter,
|
|
19
16
|
quote,
|
|
@@ -34,7 +31,7 @@ class CsvConvertCommand extends command_1.SfdxCommand {
|
|
|
34
31
|
csv.writeToStream(stream, rows, { headers: true });
|
|
35
32
|
}
|
|
36
33
|
loadConverter(file) {
|
|
37
|
-
return loadScript(file).convert;
|
|
34
|
+
return (0, utils_1.loadScript)(file).convert;
|
|
38
35
|
}
|
|
39
36
|
}
|
|
40
37
|
exports.default = CsvConvertCommand;
|
|
@@ -83,65 +80,4 @@ CsvConvertCommand.flagsConfig = {
|
|
|
83
80
|
description: 'the path of the script to convert CSV rows',
|
|
84
81
|
}),
|
|
85
82
|
};
|
|
86
|
-
function parseCsv(input, options) {
|
|
87
|
-
const { encoding, delimiter, quote, skiplines, trim, mapping, convert } = options !== null && options !== void 0 ? options : {};
|
|
88
|
-
return new Promise((resolve, reject) => {
|
|
89
|
-
const mapper = mapping ? columnMapper(mapping) : undefined;
|
|
90
|
-
let lines = 2;
|
|
91
|
-
const rows = [];
|
|
92
|
-
const parser = csv
|
|
93
|
-
.parse({
|
|
94
|
-
headers: true,
|
|
95
|
-
ignoreEmpty: true,
|
|
96
|
-
delimiter: delimiter === '\\t' ? '\t' : delimiter || ',',
|
|
97
|
-
quote: quote !== null && quote !== void 0 ? quote : '"',
|
|
98
|
-
skipLines: skiplines,
|
|
99
|
-
trim,
|
|
100
|
-
})
|
|
101
|
-
.on('data', (row) => {
|
|
102
|
-
try {
|
|
103
|
-
if (mapper)
|
|
104
|
-
row = mapper(row);
|
|
105
|
-
if (convert)
|
|
106
|
-
row = convert(row);
|
|
107
|
-
if (row)
|
|
108
|
-
rows.push(row);
|
|
109
|
-
lines++;
|
|
110
|
-
}
|
|
111
|
-
catch (e) {
|
|
112
|
-
throw new Error(`A error occurred in csv file at line ${lines}: ${e.message}\ndata: ${JSON.stringify(row)}`);
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
const callback = (e) => (e ? reject(e) : resolve(rows));
|
|
116
|
-
if (!encoding || encoding === 'utf8') {
|
|
117
|
-
(0, stream_1.pipeline)(input, parser, callback);
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
(0, stream_1.pipeline)(input, (0, iconv_lite_1.decodeStream)(encoding), parser, callback);
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
exports.parseCsv = parseCsv;
|
|
125
|
-
function loadScript(file) {
|
|
126
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
127
|
-
const script = require(path.resolve(file));
|
|
128
|
-
if (!script.convert)
|
|
129
|
-
throw new Error('function convert is not exported');
|
|
130
|
-
return script;
|
|
131
|
-
}
|
|
132
|
-
exports.loadScript = loadScript;
|
|
133
|
-
function columnMapper(mapping) {
|
|
134
|
-
const keys = Object.keys(mapping);
|
|
135
|
-
return (row) => {
|
|
136
|
-
const result = {};
|
|
137
|
-
for (const to of keys) {
|
|
138
|
-
const from = mapping[to];
|
|
139
|
-
if (!(from in row))
|
|
140
|
-
throw new Error(`The column '${from}' is not found`);
|
|
141
|
-
result[to] = row[from];
|
|
142
|
-
}
|
|
143
|
-
return result;
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
exports.columnMapper = columnMapper;
|
|
147
83
|
//# sourceMappingURL=convert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/csv/convert.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/csv/convert.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,22 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const command_1 = require("@salesforce/command");
|
|
4
4
|
const fs = require("fs-extra");
|
|
5
5
|
const path = require("path");
|
|
6
|
-
const
|
|
6
|
+
const metadata_1 = require("../../../../metadata");
|
|
7
7
|
class LayoutAssignmentsDeployCommand extends command_1.SfdxCommand {
|
|
8
8
|
async run() {
|
|
9
9
|
this.ux.log('deploy layout assignments from ' + this.flags.file);
|
|
10
10
|
const layoutAssignmentsPerProfile = await this.readFile(this.flags.file);
|
|
11
11
|
const profiles = Object.entries(layoutAssignmentsPerProfile).map(([fullName, layoutAssignments]) => ({ fullName, layoutAssignments }));
|
|
12
|
-
|
|
13
|
-
return Promise.all((0, utils_1.chunk)(profiles, 10).map((data) => this.deploy(data))).then((a) => [].concat(...a));
|
|
12
|
+
return (0, metadata_1.updateMetadata)(this.org.getConnection(), 'Profile', profiles);
|
|
14
13
|
}
|
|
15
14
|
readFile(file) {
|
|
16
15
|
const inputFile = path.join(this.project.getPath(), file);
|
|
17
16
|
return fs.readJson(inputFile);
|
|
18
17
|
}
|
|
19
|
-
deploy(data) {
|
|
20
|
-
return this.org.getConnection().metadata.update('Profile', data);
|
|
21
|
-
}
|
|
22
18
|
}
|
|
23
19
|
exports.default = LayoutAssignmentsDeployCommand;
|
|
24
20
|
LayoutAssignmentsDeployCommand.description = 'deploy page layout assignments from JSON file';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../../../src/commands/kit/layout/assignments/deploy.ts"],"names":[],"mappings":";;AAAA,iDAAyD;AACzD,+BAA+B;AAE/B,6BAA6B;
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../../../src/commands/kit/layout/assignments/deploy.ts"],"names":[],"mappings":";;AAAA,iDAAyD;AACzD,+BAA+B;AAE/B,6BAA6B;AAE7B,mDAAsD;AAEtD,MAAqB,8BAA+B,SAAQ,qBAAW;IAqB9D,KAAK,CAAC,GAAG;QACd,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,iCAAiC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,2BAA2B,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAC9D,CAAC,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CACrE,CAAC;QACF,OAAO,IAAA,yBAAc,EAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;IAEO,QAAQ,CAAC,IAAI;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1D,OAAO,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;;AAjCH,iDAkCC;AAjCe,0CAAW,GAAG,+CAA+C,CAAC;AAE9D,uCAAQ,GAAG;IACvB,sCAAsC;IACtC,gFAAgF;IAChF,6FAA6F;CAC9F,CAAC;AAEe,+CAAgB,GAAG,IAAI,CAAC;AACxB,8CAAe,GAAG,IAAI,CAAC;AAEvB,0CAAW,GAAG;IAC7B,IAAI,EAAE,eAAK,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,gCAAgC;KAC1C,CAAC;CACH,CAAC"}
|
|
@@ -15,7 +15,6 @@ export default class LayoutAssignmentsRetrieveCommand extends SfdxCommand {
|
|
|
15
15
|
objectNamesFromLayouts(): Promise<string[]>;
|
|
16
16
|
private getProjectConfig;
|
|
17
17
|
private getProfileNames;
|
|
18
|
-
private getProfiles;
|
|
19
18
|
private findFiles;
|
|
20
19
|
private readFile;
|
|
21
20
|
private writeFile;
|
|
@@ -5,7 +5,20 @@ const core_1 = require("@salesforce/core");
|
|
|
5
5
|
const glob = require("fast-glob");
|
|
6
6
|
const fs = require("fs-extra");
|
|
7
7
|
const path = require("path");
|
|
8
|
-
const
|
|
8
|
+
const metadata_1 = require("../../../../metadata");
|
|
9
|
+
function assignmentsPerObject(assignments, filterObjects) {
|
|
10
|
+
var _a;
|
|
11
|
+
const result = new Map();
|
|
12
|
+
for (const assignment of assignments) {
|
|
13
|
+
const object = assignment.layout.split('-')[0];
|
|
14
|
+
if (filterObjects && !filterObjects.includes(object))
|
|
15
|
+
continue;
|
|
16
|
+
const a = (_a = result.get(object)) !== null && _a !== void 0 ? _a : [];
|
|
17
|
+
a.push(assignment);
|
|
18
|
+
result.set(object, a);
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
9
22
|
class LayoutAssignmentsRetrieveCommand extends command_1.SfdxCommand {
|
|
10
23
|
async run() {
|
|
11
24
|
const filterObjects = this.flags.object
|
|
@@ -20,13 +33,18 @@ class LayoutAssignmentsRetrieveCommand extends command_1.SfdxCommand {
|
|
|
20
33
|
? this.flags.profile.split(',')
|
|
21
34
|
: await this.getProfileNames();
|
|
22
35
|
this.ux.log(`retrieve layout assignments\n\tprofiles: ${profileNames.join(', ')}\n\tobjects: ${filterObjects.join(', ')}`);
|
|
23
|
-
|
|
24
|
-
const profiles = await
|
|
36
|
+
const conn = this.org.getConnection();
|
|
37
|
+
const profiles = (await (0, metadata_1.readMetadata)(conn, 'Profile', profileNames));
|
|
25
38
|
for (const profile of profiles) {
|
|
26
39
|
if (!profile.fullName || !profile.layoutAssignments)
|
|
27
40
|
continue;
|
|
28
|
-
|
|
29
|
-
|
|
41
|
+
let assignmentsMap = assignmentsPerObject(profile.layoutAssignments, await (0, metadata_1.completeDefaultNamespace)(conn, filterObjects));
|
|
42
|
+
if (data[profile.fullName]) {
|
|
43
|
+
const oldAssignmentsMap = assignmentsPerObject(data[profile.fullName]);
|
|
44
|
+
assignmentsMap = new Map([...oldAssignmentsMap, ...assignmentsMap]);
|
|
45
|
+
}
|
|
46
|
+
data[profile.fullName] = Array.from(assignmentsMap.values())
|
|
47
|
+
.flat()
|
|
30
48
|
.sort((a, b) => a.layout.localeCompare(b.layout));
|
|
31
49
|
}
|
|
32
50
|
this.ux.log('save to ' + this.flags.file);
|
|
@@ -59,9 +77,6 @@ class LayoutAssignmentsRetrieveCommand extends command_1.SfdxCommand {
|
|
|
59
77
|
.metadata.list({ type: 'Profile' })
|
|
60
78
|
.then((profiles) => profiles.map((p) => p.fullName));
|
|
61
79
|
}
|
|
62
|
-
getProfiles(names) {
|
|
63
|
-
return this.org.getConnection().metadata.read('Profile', names);
|
|
64
|
-
}
|
|
65
80
|
findFiles(pattern) {
|
|
66
81
|
return glob(pattern);
|
|
67
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retrieve.js","sourceRoot":"","sources":["../../../../../src/commands/kit/layout/assignments/retrieve.ts"],"names":[],"mappings":";;AAAA,iDAAyD;AACzD,2CAA6C;AAC7C,kCAAkC;AAClC,+BAA+B;AAC/B,6BAA6B;
|
|
1
|
+
{"version":3,"file":"retrieve.js","sourceRoot":"","sources":["../../../../../src/commands/kit/layout/assignments/retrieve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { flags, SfdxCommand } from '@salesforce/command';
|
|
2
|
+
import { MetadataInfo } from 'jsforce';
|
|
3
|
+
export default class FieldsDescribeCommand extends SfdxCommand {
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
protected static requiresUsername: boolean;
|
|
7
|
+
protected static requiresProject: boolean;
|
|
8
|
+
protected static flagsConfig: {
|
|
9
|
+
object: flags.Discriminated<flags.String>;
|
|
10
|
+
file: flags.Discriminated<flags.String>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<MetadataInfo[]>;
|
|
13
|
+
writeCsv(file: any, rows: any): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const command_1 = require("@salesforce/command");
|
|
4
|
+
const csv = require("fast-csv");
|
|
5
|
+
const fs = require("fs-extra");
|
|
6
|
+
const metadata_1 = require("../../../../metadata");
|
|
7
|
+
const csvHeaders = [
|
|
8
|
+
'label',
|
|
9
|
+
'fullName',
|
|
10
|
+
'type',
|
|
11
|
+
'length',
|
|
12
|
+
'precision',
|
|
13
|
+
'scale',
|
|
14
|
+
'formula',
|
|
15
|
+
// START picklist specific options
|
|
16
|
+
'valueSetName',
|
|
17
|
+
'values',
|
|
18
|
+
'restricted',
|
|
19
|
+
// END
|
|
20
|
+
'referenceTo',
|
|
21
|
+
'relationshipName',
|
|
22
|
+
'summaryForeignKey',
|
|
23
|
+
'summaryOperation',
|
|
24
|
+
'summarizedField',
|
|
25
|
+
'required',
|
|
26
|
+
'unique',
|
|
27
|
+
'caseSensitive',
|
|
28
|
+
'defaultValue',
|
|
29
|
+
'externalId',
|
|
30
|
+
'description',
|
|
31
|
+
'inlineHelpText',
|
|
32
|
+
];
|
|
33
|
+
class FieldsDescribeCommand extends command_1.SfdxCommand {
|
|
34
|
+
async run() {
|
|
35
|
+
const { object, file, json } = this.flags;
|
|
36
|
+
const conn = this.org.getConnection();
|
|
37
|
+
this.ux.startSpinner(`describe ${object} fields`);
|
|
38
|
+
const results = await (0, metadata_1.getCustomFields)(conn, object);
|
|
39
|
+
this.ux.stopSpinner();
|
|
40
|
+
if (!json) {
|
|
41
|
+
const rows = results.map(({ valueSet, ...row }) => {
|
|
42
|
+
if (valueSet) {
|
|
43
|
+
const { restricted, valueSetDefinition, valueSetName } = valueSet;
|
|
44
|
+
row.restricted = restricted;
|
|
45
|
+
if (valueSetDefinition) {
|
|
46
|
+
row.values = valueSetDefinition.value
|
|
47
|
+
.map((v) => v.label === v.valueName
|
|
48
|
+
? v.valueName
|
|
49
|
+
: `${v.valueName}: ${v.label}`)
|
|
50
|
+
.join('\n');
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
row.valueSetName = valueSetName;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return row;
|
|
57
|
+
});
|
|
58
|
+
this.writeCsv(file, rows);
|
|
59
|
+
}
|
|
60
|
+
return results;
|
|
61
|
+
}
|
|
62
|
+
writeCsv(file, rows) {
|
|
63
|
+
csv
|
|
64
|
+
.write(rows, { headers: csvHeaders, writeBOM: true })
|
|
65
|
+
.pipe(file ? fs.createWriteStream(file) : process.stdout);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.default = FieldsDescribeCommand;
|
|
69
|
+
FieldsDescribeCommand.description = 'describe object fields information';
|
|
70
|
+
FieldsDescribeCommand.examples = [
|
|
71
|
+
'$ sfdx kit:object:fields:describe -o Account -f path/to/account_fields.csv',
|
|
72
|
+
'$ sfdx kit:object:fields:describe -u me@my.org -o CustomObject__c --json',
|
|
73
|
+
];
|
|
74
|
+
FieldsDescribeCommand.requiresUsername = true;
|
|
75
|
+
FieldsDescribeCommand.requiresProject = false;
|
|
76
|
+
FieldsDescribeCommand.flagsConfig = {
|
|
77
|
+
object: command_1.flags.string({
|
|
78
|
+
char: 'o',
|
|
79
|
+
required: true,
|
|
80
|
+
description: 'SObject name',
|
|
81
|
+
}),
|
|
82
|
+
file: command_1.flags.string({
|
|
83
|
+
char: 'f',
|
|
84
|
+
description: 'output csv file path',
|
|
85
|
+
}),
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=describe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../../../src/commands/kit/object/fields/describe.ts"],"names":[],"mappings":";;AAAA,iDAAyD;AACzD,gCAAgC;AAChC,+BAA+B;AAE/B,mDAAuD;AAEvD,MAAM,UAAU,GAAG;IACjB,OAAO;IACP,UAAU;IACV,MAAM;IACN,QAAQ;IACR,WAAW;IACX,OAAO;IACP,SAAS;IACT,kCAAkC;IAClC,cAAc;IACd,QAAQ;IACR,YAAY;IACZ,MAAM;IACN,aAAa;IACb,kBAAkB;IAClB,mBAAmB;IACnB,kBAAkB;IAClB,iBAAiB;IACjB,UAAU;IACV,QAAQ;IACR,eAAe;IACf,cAAc;IACd,YAAY;IACZ,aAAa;IACb,gBAAgB;CACjB,CAAC;AAEF,MAAqB,qBAAsB,SAAQ,qBAAW;IAuBrD,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACtC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,MAAM,SAAS,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,IAAA,0BAAe,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE;gBAChD,IAAI,QAAQ,EAAE;oBACZ,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;oBAClE,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;oBAC5B,IAAI,kBAAkB,EAAE;wBACtB,GAAG,CAAC,MAAM,GAAG,kBAAkB,CAAC,KAAK;6BAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,SAAS;4BACrB,CAAC,CAAC,CAAC,CAAC,SAAS;4BACb,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,KAAK,EAAE,CACjC;6BACA,IAAI,CAAC,IAAI,CAAC,CAAC;qBACf;yBAAM;wBACL,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;qBACjC;iBACF;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC3B;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,IAAI,EAAE,IAAI;QACjB,GAAG;aACA,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACpD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;;AAzDH,wCA0DC;AAzDe,iCAAW,GAAG,oCAAoC,CAAC;AAEnD,8BAAQ,GAAG;IACvB,4EAA4E;IAC5E,0EAA0E;CAC3E,CAAC;AAEe,sCAAgB,GAAG,IAAI,CAAC;AACxB,qCAAe,GAAG,KAAK,CAAC;AAExB,iCAAW,GAAG;IAC7B,MAAM,EAAE,eAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,cAAc;KAC5B,CAAC;IACF,IAAI,EAAE,eAAK,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,sBAAsB;KACpC,CAAC;CACH,CAAC"}
|