@0xobelisk/sui-common 1.1.6 ā 1.1.7
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/index.d.ts +18 -1
- package/dist/index.js +54 -54
- package/dist/index.js.map +1 -1
- package/package.json +10 -4
- package/src/codegen/debug.ts +3 -3
- package/src/codegen/index.ts +2 -2
- package/src/codegen/modules.d.ts +1 -1
- package/src/codegen/types/index.ts +26 -11
- package/src/codegen/utils/config.ts +14 -24
- package/src/codegen/utils/errors.ts +3 -4
- package/src/codegen/utils/format.ts +29 -32
- package/src/codegen/utils/formatAndWrite.ts +22 -19
- package/src/codegen/utils/posixPath.ts +1 -1
- package/src/codegen/utils/renderMove/common.ts +33 -41
- package/src/codegen/utils/renderMove/generateDappKey.ts +12 -15
- package/src/codegen/utils/renderMove/generateDefaultSchema.ts +20 -36
- package/src/codegen/utils/renderMove/generateError.ts +30 -33
- package/src/codegen/utils/renderMove/generateEvent.ts +66 -77
- package/src/codegen/utils/renderMove/generateInit.ts +17 -22
- package/src/codegen/utils/renderMove/generateSchema.ts +160 -196
- package/src/codegen/utils/renderMove/generateSchemaHub.ts +12 -15
- package/src/codegen/utils/renderMove/generateScript.ts +20 -31
- package/src/codegen/utils/renderMove/generateSystem.ts +7 -13
- package/src/codegen/utils/renderMove/generateToml.ts +10 -15
- package/src/codegen/utils/renderMove/schemaGen.ts +39 -47
- package/src/debug.ts +3 -3
- package/src/index.ts +3 -2
- package/src/modules.d.ts +2 -2
- package/src/parseData/index.ts +1 -1
- package/src/parseData/parser/index.ts +42 -42
- package/src/primitives/index.ts +8 -0
|
@@ -9,65 +9,57 @@ import { generateSchemaEvent } from './generateEvent';
|
|
|
9
9
|
import { generateSystem } from './generateSystem';
|
|
10
10
|
import { generateSchemaHub } from './generateSchemaHub';
|
|
11
11
|
import { generateSchemaError } from './generateError';
|
|
12
|
-
import {generateDefaultSchema} from
|
|
13
|
-
import {generateInit} from
|
|
12
|
+
import { generateDefaultSchema } from './generateDefaultSchema';
|
|
13
|
+
import { generateInit } from './generateInit';
|
|
14
14
|
|
|
15
15
|
export async function schemaGen(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
config: DubheConfig,
|
|
17
|
+
srcPrefix?: string,
|
|
18
|
+
network?: 'mainnet' | 'testnet' | 'devnet' | 'localnet'
|
|
19
19
|
) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
);
|
|
26
|
-
console.log(` āā Network: ${network || 'testnet'}`);
|
|
20
|
+
console.log('\nš Starting Schema Generation Process...');
|
|
21
|
+
console.log('š Project Configuration:');
|
|
22
|
+
console.log(` āā Name: ${config.name}`);
|
|
23
|
+
console.log(` āā Description: ${config.description || 'No description provided'}`);
|
|
24
|
+
console.log(` āā Network: ${network || 'testnet'}`);
|
|
27
25
|
|
|
28
|
-
|
|
26
|
+
const path = srcPrefix ?? process.cwd();
|
|
29
27
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
);
|
|
34
|
-
}
|
|
28
|
+
if (existsSync(`${path}/contracts/${config.name}`)) {
|
|
29
|
+
deleteFolderRecursive(`${path}/contracts/${config.name}/sources/codegen`);
|
|
30
|
+
}
|
|
35
31
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
if (!existsSync(`${path}/contracts/${config.name}/Move.toml`)) {
|
|
33
|
+
await generateToml(config, path);
|
|
34
|
+
}
|
|
39
35
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
)
|
|
44
|
-
) {
|
|
45
|
-
await generateDeployHook(config, path);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
if (config.events) {
|
|
49
|
-
if (config.data) {
|
|
50
|
-
await generateSchemaEvent(config.name, config.data, config.events, path);
|
|
51
|
-
} else {
|
|
52
|
-
await generateSchemaEvent(config.name, null, config.events, path);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
36
|
+
if (!existsSync(`${path}/contracts/${config.name}/sources/script/deploy_hook.move`)) {
|
|
37
|
+
await generateDeployHook(config, path);
|
|
38
|
+
}
|
|
55
39
|
|
|
40
|
+
if (config.events) {
|
|
56
41
|
if (config.data) {
|
|
57
|
-
|
|
58
|
-
await generateSchemaStructure(config.name, config.data, config.schemas, path);
|
|
42
|
+
await generateSchemaEvent(config.name, config.data, config.events, path);
|
|
59
43
|
} else {
|
|
60
|
-
|
|
44
|
+
await generateSchemaEvent(config.name, null, config.events, path);
|
|
61
45
|
}
|
|
46
|
+
}
|
|
62
47
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
48
|
+
if (config.data) {
|
|
49
|
+
await generateSchemaData(config.name, config.data, path);
|
|
50
|
+
await generateSchemaStructure(config.name, config.data, config.schemas, path);
|
|
51
|
+
} else {
|
|
52
|
+
await generateSchemaStructure(config.name, null, config.schemas, path);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (config.errors) {
|
|
56
|
+
await generateSchemaError(config.name, config.errors, path);
|
|
57
|
+
}
|
|
66
58
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
59
|
+
await generateDefaultSchema(config, path);
|
|
60
|
+
await generateInit(config, path);
|
|
61
|
+
await generateSystem(config, path);
|
|
62
|
+
await generateMigrate(config, path);
|
|
71
63
|
|
|
72
|
-
|
|
64
|
+
console.log('ā
Schema Generation Process Complete!\n');
|
|
73
65
|
}
|
package/src/debug.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import createDebug from
|
|
1
|
+
import createDebug from 'debug';
|
|
2
2
|
|
|
3
|
-
export const debug = createDebug(
|
|
4
|
-
export const error = createDebug(
|
|
3
|
+
export const debug = createDebug('dubhe:common');
|
|
4
|
+
export const error = createDebug('dubhe:common');
|
|
5
5
|
|
|
6
6
|
// Pipe debug output to stdout instead of stderr
|
|
7
7
|
debug.log = console.debug.bind(console);
|
package/src/index.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
1
|
+
export * from './codegen';
|
|
2
|
+
export * from './parseData';
|
|
3
|
+
export * from './primitives';
|
package/src/modules.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// adding .js to minimal would break clients down the line because it probably won't get a synthetic default import
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
-
declare module
|
|
3
|
+
declare module 'protobufjs/minimal' {
|
|
4
4
|
export const configure: any;
|
|
5
5
|
export const util: any;
|
|
6
6
|
export const Reader: any;
|
|
@@ -8,4 +8,4 @@ declare module "protobufjs/minimal" {
|
|
|
8
8
|
export const Writer: any;
|
|
9
9
|
export type Writer = any;
|
|
10
10
|
}
|
|
11
|
-
declare module
|
|
11
|
+
declare module 'rollup-plugin-preserve-shebang';
|
package/src/parseData/index.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from './parser';
|
|
@@ -1,47 +1,47 @@
|
|
|
1
1
|
export const parseData = (data: any) => {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
} else {
|
|
22
|
-
parsedData[key] = value;
|
|
23
|
-
}
|
|
2
|
+
if (typeof data !== 'object' || data === null) {
|
|
3
|
+
return data;
|
|
4
|
+
}
|
|
5
|
+
const parsedData: any = {};
|
|
6
|
+
for (const key in data) {
|
|
7
|
+
if (data.hasOwnProperty(key)) {
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
const value = data[key];
|
|
10
|
+
// console.log("===========", value)
|
|
11
|
+
if (typeof value === 'object' && value !== null) {
|
|
12
|
+
if (Array.isArray(value)) {
|
|
13
|
+
parsedData[key] = handleArray(value);
|
|
14
|
+
} else if (value.hasOwnProperty('variant')) {
|
|
15
|
+
parsedData[key] = { [value.variant]: {} };
|
|
16
|
+
} else if (value.hasOwnProperty('fields')) {
|
|
17
|
+
parsedData[key] = parseData(value.fields);
|
|
18
|
+
} else {
|
|
19
|
+
parsedData[key] = parseData(value);
|
|
24
20
|
}
|
|
21
|
+
} else {
|
|
22
|
+
parsedData[key] = value;
|
|
23
|
+
}
|
|
25
24
|
}
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
}
|
|
26
|
+
return parsedData;
|
|
27
|
+
};
|
|
28
28
|
|
|
29
29
|
const handleArray = (data: any[]): any[] => {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
30
|
+
let returnData: any[] = [];
|
|
31
|
+
data.forEach((item) => {
|
|
32
|
+
if (typeof item === 'object' && item !== null) {
|
|
33
|
+
if (Array.isArray(item)) {
|
|
34
|
+
returnData.push(handleArray(item));
|
|
35
|
+
} else if (item.hasOwnProperty('variant')) {
|
|
36
|
+
returnData.push({ [item.variant]: {} });
|
|
37
|
+
} else if (item.hasOwnProperty('fields')) {
|
|
38
|
+
returnData.push(parseData(item.fields));
|
|
39
|
+
} else {
|
|
40
|
+
returnData.push(parseData(item));
|
|
41
|
+
}
|
|
42
|
+
} else {
|
|
43
|
+
returnData.push(item);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return returnData;
|
|
47
|
+
};
|