@grey-ts/transpiler 0.2.0 → 0.3.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 (2) hide show
  1. package/dist/index.js +32 -3
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -174,8 +174,11 @@ var apiNameMap = {
174
174
  "String.isMatch": "is_match",
175
175
  "String.toInt": "to_int",
176
176
  "String.length": "len",
177
+ "String.toLowerCase": "lower",
178
+ "String.toUpperCase": "upper",
177
179
  "Object.size": "len",
178
- "Array.length": "len"
180
+ "Array.length": "len",
181
+ "Array.shift": "pull"
179
182
  };
180
183
  var propertyAccessReplacements = {
181
184
  "Math.PI": "pi",
@@ -532,6 +535,10 @@ var utilFunctions2 = {
532
535
  "end function"
533
536
  ].join(`
534
537
  `),
538
+ array_reverse: `array_reverse = function(arr)
539
+ arr.reverse
540
+ return arr
541
+ end function`,
535
542
  str_starts_with: [
536
543
  "str_starts_with = function(str, search, pos = 0)",
537
544
  "\tif pos < 0 then pos = 0",
@@ -822,8 +829,24 @@ CallTransformer.register("Array.unshift", (name, args) => {
822
829
  throw "Invalid argument count";
823
830
  return callUtilFunction("array_unshift", name.slice(0, name.lastIndexOf(".")), args[0]);
824
831
  });
825
- CallTransformer.register("Array.shift", (name) => {
826
- return `${name.slice(0, name.lastIndexOf("."))}.pull`;
832
+ CallTransformer.register("Array.toString", (name) => {
833
+ const arrayName = name.slice(0, name.lastIndexOf("."));
834
+ return `str(${arrayName})`;
835
+ });
836
+ CallTransformer.register("Array.reverse", (name) => {
837
+ return callUtilFunction("array_reverse", name.slice(0, name.lastIndexOf(".")));
838
+ });
839
+ CallTransformer.register("Object.toString", (name) => {
840
+ const objectName = name.slice(0, name.lastIndexOf("."));
841
+ return `str(${objectName})`;
842
+ });
843
+ CallTransformer.register("Number.toString", (name) => {
844
+ const number = name.slice(0, name.lastIndexOf("."));
845
+ return `str(${number})`;
846
+ });
847
+ CallTransformer.register("Function.toString", (name) => {
848
+ const func = name.slice(0, name.lastIndexOf("."));
849
+ return `str(@${func})`;
827
850
  });
828
851
  CallTransformer.register("String.startsWith", (name, args) => {
829
852
  if (!args.length)
@@ -843,6 +866,9 @@ CallTransformer.register("String.repeat", (name, args) => {
843
866
  CallTransformer.register("String.slice", (name, args) => {
844
867
  return name.slice(0, name.lastIndexOf(".")) + `[${args[0] ?? ""}:${args[1] ?? ""}]`;
845
868
  });
869
+ CallTransformer.register("String.toString", (name) => {
870
+ return name.slice(0, name.lastIndexOf("."));
871
+ });
846
872
  CallTransformer.register("Math.min", (name, args) => {
847
873
  return callUtilFunction("math_min", `${args.join(",")}`);
848
874
  });
@@ -862,6 +888,9 @@ CallTransformer.register("ObjectConstructor.assign", (name, args) => {
862
888
  CallTransformer.register("ObjectConstructor.keys", (name, args) => {
863
889
  return `${args[0]}.indexes`;
864
890
  });
891
+ CallTransformer.register("ObjectConstructor.values", (name, args) => {
892
+ return `${args[0]}.values`;
893
+ });
865
894
  CallTransformer.register("GreyHack.include", (name, args, node, ctx) => {
866
895
  if (!node.arguments.length)
867
896
  return "";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grey-ts/transpiler",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "author": "Okka",
5
5
  "module": "src/index.ts",
6
6
  "bin": {
@@ -39,6 +39,6 @@
39
39
  "typescript": "^5"
40
40
  },
41
41
  "dependencies": {
42
- "@grey-ts/types": "^1.3.0"
42
+ "@grey-ts/types": "^1.5.0"
43
43
  }
44
44
  }