godprotocol 1.1.32 → 1.2.0

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.
Files changed (71) hide show
  1. package/Datatypes/arr.js +559 -254
  2. package/Datatypes/bool.js +8 -5
  3. package/Datatypes/callable.js +1 -1
  4. package/Datatypes/cls.js +193 -24
  5. package/Datatypes/conf.js +2 -2
  6. package/Datatypes/err.js +25 -0
  7. package/Datatypes/func.js +89 -13
  8. package/Datatypes/functions/storage.js +572 -12
  9. package/Datatypes/functions/wallet.js +49 -0
  10. package/Datatypes/instance.js +87 -122
  11. package/Datatypes/num.js +192 -153
  12. package/Datatypes/str.js +188 -122
  13. package/Datatypes/twa.js +346 -71
  14. package/Datatypes/voi.js +9 -4
  15. package/Index.js +1 -1
  16. package/Instances/account.js +0 -0
  17. package/Instances/event.js +0 -0
  18. package/Instances/fold.js +103 -0
  19. package/Instances/folder_queries.js +46 -0
  20. package/Instances/response.js +31 -0
  21. package/Objects/Account.js +160 -110
  22. package/Objects/Blockweb.js +6 -11
  23. package/Objects/Callable.js +223 -188
  24. package/Objects/Chain.js +127 -142
  25. package/Objects/Datatypes.js +114 -588
  26. package/Objects/Manager.js +349 -39
  27. package/Objects/Oracle.js +283 -210
  28. package/Objects/Repository.js +12 -33
  29. package/Objects/Trinity.js +9 -7
  30. package/Objects/Utils.js +8 -8
  31. package/Objects/Virtual_machine.js +320 -320
  32. package/README.md +0 -0
  33. package/callables/functions/assert.js +10 -0
  34. package/callables/functions/display.js +2 -3
  35. package/callables/functions/env.js +5 -0
  36. package/callables/functions/event.js +14 -0
  37. package/callables/functions/exit.js +3 -2
  38. package/callables/functions/folder.js +15 -0
  39. package/callables/functions/get_uid.js +6 -0
  40. package/callables/functions/hash.js +7 -0
  41. package/callables/functions/import_.js +62 -0
  42. package/callables/functions/local.js +9 -0
  43. package/callables/functions/net.js +33 -18
  44. package/callables/functions/parse.js +35 -0
  45. package/callables/functions/query.js +12 -0
  46. package/callables/functions/render.js +9 -13
  47. package/callables/functions/servers.js +10 -0
  48. package/callables/functions/spawn.js +7 -0
  49. package/callables/functions/store.js +75 -0
  50. package/callables/functions/super_.js +24 -0
  51. package/callables/functions/typeof.js +32 -0
  52. package/callables/functions/wait.js +9 -0
  53. package/callables/register.js +193 -8
  54. package/html/create.js +110 -0
  55. package/html/index.js +114 -0
  56. package/html/load.js +165 -0
  57. package/html/parse.js +171 -0
  58. package/html/run.js +151 -0
  59. package/html/util.js +5 -0
  60. package/package.json +5 -3
  61. package/repos/fs.js +114 -0
  62. package/repos/github.js +73 -0
  63. package/repos/ram.js +47 -0
  64. package/utils/create_server.js +66 -26
  65. package/utils/hash.js +3 -2
  66. package/utils/ops.js +2 -0
  67. package/utils/oracle_handlers.js +7 -0
  68. package/utils/services.js +18 -51
  69. package/utils/socket_server.js +36 -0
  70. package/utils/vm_utils.js +241 -137
  71. package/callables/functions/assign.js +0 -6
package/Datatypes/str.js CHANGED
@@ -1,138 +1,204 @@
1
- import Storage from "./functions/storage";
1
+ import Storage from "./functions/storage.js";
2
2
 
3
3
  class Str extends Storage {
4
- constructor(config, manager) {
5
- super(manager)
4
+ constructor(config, account) {
5
+ super(account)
6
6
 
7
7
  this.config = config
8
8
  this.type = 'string'
9
+
10
+ this.methods = {
11
+ ...this.methods,
12
+
13
+ 'title': {args: [], ret: ['Titled', 'string']},
14
+ 'upper': {args: [], ret: ['CAPS', 'string']},
15
+ 'lower': {args: [], ret: ['lower', 'string']},
16
+ 'len': {args: [], ret: ['str.length', 'number']},
17
+ 'slice': {args: [['start', 'number'], ['end', 'number']], ret: ['substr', 'string']},
18
+ 'concat': {args: [['other', 'string']], ret: ['concatenated_str', 'string']},
19
+ 'includes': {args: [['other', 'string']], ret: ['yes', 'boolean']},
20
+ 'is_empty': {args: [], ret: ['yes', 'boolean']},
21
+ 'is_blank': {args: [], ret: ['yes', 'boolean']},
22
+ 'is_numeric': {args: [], ret: ['yes', 'boolean']},
23
+ 'endswith': {args: [['char', 'string']], ret: ['yes', 'boolean']},
24
+ 'startswith': {args: [['char', 'string']], ret: ['yes', 'boolean']},
25
+ 'padend': {args: [['length', 'number'], ['char', 'string']], ret: ['result', 'string']},
26
+ 'padstart': {args: [['length', 'number'], ['char', 'string']], ret: ['result', 'string']},
27
+ 'count': {args: [['char', 'string']], ret: ['result', 'number']},
28
+ 'reverse': {args: [], ret: ['reversed_string', 'string']},
29
+ 'repeat': {args: [['count', 'number']], ret: ['repeated', 'string']},
30
+ 'replace': {args: [['searchterm', 'string'], ['replacement', 'string'], ['globally', 'boolean']], ret: ['result', 'string']},
31
+ 'charcode': {args: [['code', 'string']], ret: ['result', 'array']},
32
+ 'find': {args: [['char', 'string'], ['last', 'boolean']], ret: ['index', 'number']},
33
+ 'index': {args: [['index', 'number']], ret: ['char', 'string']},
34
+ 'split': {args: [['char', 'string']], ret: ['result', 'array']},
35
+ 'trim': {args: [['type', 'number', '0:boundaries', '1:beginning', '2:end'], ['char', 'string']], ret: ['result', 'string']},
36
+ }
9
37
  }
10
38
 
11
- call = async (name, args)=>{
12
- let result, other, me = await this.literal();
13
-
14
- switch(name){
15
- case 'upper':
16
- result = me.toUpperCase();
17
- break;
18
- case 'lower':
19
- result = me.toLowerCase();
20
- break;
21
- case 'title':
22
- result = "";
23
- me = me.split(' ').map(m=>{
24
- result = `${result} ${m[0].toUpperCase()}${m.slice(1).toLowerCase()}`.trim()
25
- })
26
- break;
27
- case 'slice':
28
- let start = args[0], end = args[1];
29
- start = start && await start.literal()
30
- end = end && await end.literal()
31
-
32
- result = me.slice(start, end)
33
- break;
34
- case 'concat':
35
- other = await args[0].literal()
36
- result = `${me}${other}`
37
- break;
38
- case 'find':
39
- other = args[0]
40
- let lst = args[1] && await args[1].literal()
41
- result = me[lst?'lastIndexOf': 'indexOf'](await other.literal())
42
- break;
43
- case 'includes':
44
- other = args[0]
45
- result = me.includes(await other.literal())
46
- break;
47
- case 'index':
48
- other = await args[0].literal()
49
- if (other < 0){
50
- result = me.slice(other)[0]
51
- }else result = me[other]
52
- break;
53
- case 'trim':
54
- other = args[0]
55
- if (other) other = await other.literal()
56
- else other = 0
57
- let char = args[1]
58
- if (char) char = await char.literal()
59
- else char = ' '
60
-
61
- let esc_regx_char = (char) => char.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
62
-
63
- let char_regx = esc_regx_char(char);
64
-
65
- switch (other) {
66
- case 1:
67
- result = me.replace(new RegExp(`^${char_regx}+`), '');
68
- break
69
- case 2:
70
- result = me.replace(new RegExp(`${char_regx}+$`), '');
71
- break
72
- case 0:
73
- default:
74
- result = me.replace(new RegExp(`^${char_regx}+|${char_regx}+$`, 'g'), '');
75
- }
76
- break;
77
- case 'length':
78
- result = me.length;
79
- break;
80
- case 'is_empty':
81
- result = !!me;
82
- breakl
83
- case 'is_blank':
84
- result = !!me.trim()
85
- break;
86
- case 'is_numeric':
87
- result = !!me && !isNaN(Number(me))
88
- break;
89
- case "endswith":
90
- result = me.endsWith(await args[0].literal())
91
- break;
92
- case "startswith":
93
- result = me.startsWith(await args[0].literal())
94
- break;
95
- case 'padend':
96
- result = me.padEnd(await args[0].literal(), await args[1].literal())
97
- break;
98
- case 'padstart':
99
- result = me.padStart(await args[0].literal(), await args[1].literal())
100
- break;
101
- case 'count':
102
- other = await args[0].literal()
103
-
104
- let count = 0;
105
- let position = 0;
106
-
107
- while ((position = me.indexOf(other, position)) !== -1) {
108
- count++;
109
- position += other.length;
110
- }
111
- result = count;
112
- break;
113
- case 'reverse':
114
- result = me.split('').reverse().join('');
115
- break
116
- case 'repeat':
117
- result = me.repeat(await args[0].literal())
39
+ title = async()=>{
40
+ let result = "";
41
+ this.value.split(' ').map(m=>{
42
+ result = `${result} ${m[0].toUpperCase()}${m.slice(1).toLowerCase()}`.trim()
43
+ })
44
+ return result
45
+ }
46
+
47
+ upper = ()=>{
48
+ return this.value.toUpperCase()
49
+ }
50
+
51
+ lower = ()=>{
52
+ return this.value.toLowerCase()
53
+ }
54
+
55
+ len = ()=> this.value.length
56
+
57
+ slice = async(start, args)=>{
58
+ let end
59
+ if(args.length > 1){
60
+ end = await args[1].literal()
61
+ }
62
+ return this.value.slice(start, end)
63
+ }
64
+
65
+ concat = (other)=>{
66
+ return `${this.value}${other}`
67
+ }
68
+
69
+ find = (other, args)=>{
70
+ let lst;
71
+ if (args.length>1){
72
+ lst = true;
73
+ }
74
+ return this.value[lst? 'lastIndexOf':'indexOf'](other)
75
+ }
76
+
77
+ includes = (other)=>this.value.includes(other)
78
+
79
+ index = other=>{
80
+ let result;
81
+ if (other < 0){
82
+ result = this.config.value.slice(other)[0]
83
+ }else result = this.config.value[other]
84
+
85
+ return result;
86
+ }
87
+
88
+ trim = async (other, args)=>{
89
+ let char;
90
+ if (args.length > 1){
91
+ char = await args[1].literal()
92
+ }else char = ' '
93
+
94
+ let esc_regx_char = (char) => char.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
95
+
96
+ let char_regx = esc_regx_char(char), result;
97
+
98
+ switch (other) {
99
+ case 1:
100
+ result = this.value.replace(new RegExp(`^${char_regx}+`), '');
118
101
  break
119
- case 'replace':
120
- let gl = args[2] && await args[2].literal(),
121
- su = await args[0].literal(), rpl = await args[1].literal()
122
- result = me.replace(su, rpl)
123
- if (gl){
124
- while(result.includes(su)) result = result.replace(su, rpl)
125
- }
102
+ case 2:
103
+ result = this.value.replace(new RegExp(`${char_regx}+$`), '');
126
104
  break
127
- case "split":
128
- break;
129
- case 'charcode':
130
- break;
105
+ case 0:
106
+ default:
107
+ result = this.value.replace(new RegExp(`^${char_regx}+|${char_regx}+$`, 'g'), '');
108
+ }
109
+
110
+ return result
111
+ }
112
+
113
+ is_empty = ()=>{
114
+ return !!!this.value
115
+ }
116
+
117
+ is_blank = ()=>{
118
+ return !!!this.value.trim()
119
+ }
131
120
 
121
+ is_numeric = ()=>{
122
+ return !!this.value && !isNaN(Number(this.value))
123
+ }
124
+
125
+ endswith = other=>{
126
+ return this.value.endsWith(other)
127
+ }
128
+
129
+ startswith = other=>{
130
+ return this.value.startsWith(other)
131
+ }
132
+
133
+ padend = async (other, args)=>{
134
+ let char = await args[1].literal()
135
+
136
+ return this.value.padEnd(other, char)
137
+ }
138
+
139
+ padstart = async (other, args)=>{
140
+ let char = await args[1].literal()
141
+
142
+ return this.value.padStart(other, char)
143
+ }
144
+
145
+ count = (other)=>{
146
+ let count = 0;
147
+ let position = 0, result;
148
+
149
+ while ((position = this.value.indexOf(other, position)) !== -1) {
150
+ count++;
151
+ position += other.length;
132
152
  }
153
+ result = count;
133
154
 
134
- return result;
155
+ return result
156
+ }
157
+
158
+ reverse = ()=>{
159
+ return this.value.split('').reverse().join('')
135
160
  }
161
+
162
+ repeat = (count)=>{
163
+ return this.value.repeat(count)
164
+ }
165
+
166
+ replace = async(search_term, args)=>{
167
+ let globally = args[2], replacement = args[1] && await args[1].literal(), result;
168
+
169
+ result = this.value.replace(search_term, replacement)
170
+ if (globally){
171
+ while(result.includes(search_term)) result = result.replace(search_term, replacement)
172
+ }
173
+
174
+ return result
175
+ }
176
+
177
+ charcode = async(other)=>{
178
+ let code = other || "ascii", result;
179
+ let me = await this.literal()
180
+ if (code === "ascii") {
181
+ result = me.split("").map((char) => char.charCodeAt(0));
182
+ }
183
+
184
+ console.log(result, 'uh')
185
+ return result
186
+ }
187
+
188
+ split = async(other)=>{
189
+ let char = other || ''
190
+ let val = await this.literal();
191
+
192
+ let res = val.split(char)
193
+ console.log(res)
194
+
195
+ return res;
196
+ }
197
+
198
+ literal = async()=>{
199
+ return this.config.value
200
+ }
201
+
136
202
  }
137
203
 
138
204
  export default Str;