Skip to content

Commit

Permalink
Modernize calls
Browse files Browse the repository at this point in the history
  • Loading branch information
FlorianRappl committed Mar 4, 2022
1 parent 046d9f3 commit 13cbd05
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 10 deletions.
9 changes: 7 additions & 2 deletions src/helpers/ast.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ export function wrapInLambda(argument: any, statements: Array<Statement> = [], a
],
},
},
optional: false,
arguments: [],
};
}
Expand All @@ -88,6 +89,7 @@ export function callFunction(name: string, argument: Expression): CallExpression
type: 'Identifier',
name,
},
optional: false,
arguments: [argument],
};
}
Expand All @@ -98,6 +100,8 @@ export function isNotIdentifier(name: string): BinaryExpression {
operator: '!==',
left: {
type: 'MemberExpression',
computed: true,
optional: true,
object: {
type: 'Identifier',
name: 'obj',
Expand All @@ -106,7 +110,6 @@ export function isNotIdentifier(name: string): BinaryExpression {
type: 'Identifier',
name: 'm',
},
computed: true,
},
right: {
type: 'Identifier',
Expand All @@ -119,8 +122,9 @@ export function wrapInPromiseAll(argument: any): CallExpression {
return {
type: 'CallExpression',
callee: {
computed: false,
type: 'MemberExpression',
computed: false,
optional: false,
object: {
type: 'Identifier',
name: 'Promise',
Expand All @@ -130,6 +134,7 @@ export function wrapInPromiseAll(argument: any): CallExpression {
name: 'all',
},
},
optional: false,
arguments: [argument],
};
}
Expand Down
10 changes: 8 additions & 2 deletions src/helpers/inbuilt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ const inbuiltFunctions = {
test: {
type: 'MemberExpression',
computed: false,
optional: false,
object: filterKeys,
property: {
type: 'Identifier',
Expand Down Expand Up @@ -78,17 +79,21 @@ const inbuiltFunctions = {
type: 'CallExpression',
callee: {
type: 'MemberExpression',
computed: false,
optional: false,
object: {
type: 'CallExpression',
callee: {
type: 'MemberExpression',
computed: false,
optional: false,
object: filterKeys,
property: {
type: 'Identifier',
name: 'map',
},
computed: false,
},
optional: false,
arguments: [
{
type: 'ArrowFunctionExpression',
Expand Down Expand Up @@ -136,6 +141,7 @@ const inbuiltFunctions = {
callFunction('encodeURIComponent', {
type: 'MemberExpression',
computed: true,
optional: false,
object: {
type: 'Identifier',
name: 'obj',
Expand All @@ -154,8 +160,8 @@ const inbuiltFunctions = {
type: 'Identifier',
name: 'join',
},
computed: false,
},
optional: false,
arguments: [
{
type: 'Literal',
Expand Down
6 changes: 4 additions & 2 deletions src/helpers/js.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,13 @@ export function pushName(param: Pattern, names: Array<string>) {
}
}

export function getNames(params: Array<Pattern>) {
export function getNames(params: Array<Pattern | null>) {
const names: Array<string> = [];

for (const param of params) {
pushName(param, names);
if (param) {
pushName(param, names);
}
}

return names;
Expand Down
1 change: 1 addition & 0 deletions src/helpers/transpile.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ describe('transpileNode', () => {
type: 'Identifier',
name: 'f',
},
optional: false,
arguments: [
{
type: 'Identifier',
Expand Down
11 changes: 7 additions & 4 deletions src/helpers/transpile.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Pattern, MemberExpression } from 'estree';
import { Pattern, MemberExpression, PrivateIdentifier } from 'estree';
import { ExpressionNode } from './ast';

export function getIdentifier(name: string, apis: Array<string>, args: Array<string>, locals: Array<string>) {
Expand Down Expand Up @@ -30,12 +30,12 @@ export function transpileMember(
}

export function transpilePattern(
pattern: Pattern,
pattern: Pattern | null,
apis: Array<string>,
args: Array<string>,
locals: Array<string>,
): string {
switch (pattern.type) {
switch (pattern?.type) {
case 'RestElement':
return '...';
case 'ArrayPattern':
Expand Down Expand Up @@ -65,7 +65,7 @@ export function transpilePattern(
}

export function transpileNode(
node: ExpressionNode,
node: ExpressionNode | PrivateIdentifier,
apis: Array<string>,
args: Array<string>,
locals: Array<string>,
Expand All @@ -74,6 +74,9 @@ export function transpileNode(
case 'EmptyStatement': {
return ';';
}
case 'PrivateIdentifier': {
return `#${node.name}`;
}
case 'TryStatement': {
return '';
}
Expand Down

0 comments on commit 13cbd05

Please sign in to comment.