Atributos compatíveis de runtime - AWS AppSync

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Atributos compatíveis de runtime

As seções abaixo descrevem o conjunto de recursos compatível com o tempo de execução APPSYNC _JS.

Atributos principais

Os seguintes atributos principais são compatíveis.

Types

Os seguintes tipos são compatíveis:

  • números

  • strings

  • booleanos

  • objects

  • arrays

  • funções

Operators

Os operadores são suportados, incluindo:

  • Operadores matemáticos padrão (+, -, /, %, *, etc.)

  • Operador de coalescência nula (??)

  • Encadeamento opcional (?.)

  • Operadores bitwise

  • Operador void e typeof

  • operadores de propagação (...)

Os operadores a seguir não são aceitos:

  • Operadores unários (++, -- e ~)

  • Operador in

    nota

    Use o operador Object.hasOwn para verificar se a propriedade especificada está no objeto especificado.

Statements

As seguintes instruções são compatíveis:

  • const

  • let

  • var

  • break

  • else

  • for-in

  • for-of

  • if

  • return

  • switch

  • sintaxe de propagação

Não há suporte para o seguinte:

  • catch

  • continue

  • do-while

  • finally

  • for(initialization; condition; afterthought)

    nota

    As exceções são expressões for-in e for-of, que são suportadas.

  • throw

  • try

  • while

  • Instruções rotuladas

Literals

As seguintes literais do modelo ES 6 são compatíveis:

  • Strings de várias linhas

  • Interpolação de expressão

  • Modelos de aninhamento

Functions

A sintaxe da função a seguir também tem suporte:

  • As declarações de função são suportadas.

  • As funções de seta ES 6 são suportadas.

  • A sintaxe de parâmetro rest ES 6 é compatível.

Strict mode

As funções operam no modo estrito por padrão, então você não precisa adicionar uma instrução use_strict ao seu código de função. Elas não podem ser alteradas.

Objetos primitivos

Os seguintes objetos primitivos de ES e suas funções são compatíveis.

Object

Há suporte para os seguintes objetos:

  • Object.assign()

  • Object.entries()

  • Object.hasOwn()

  • Object.keys()

  • Object.values()

  • delete

String

As seguintes strings são compatíveis:

  • String.prototype.length()

  • String.prototype.charAt()

  • String.prototype.concat()

  • String.prototype.endsWith()

  • String.prototype.indexOf()

  • String.prototype.lastIndexOf()

  • String.raw()

  • String.prototype.replace()

    nota

    Não há suporte para expressões regulares.

    No entanto, construções de expressões regulares no estilo Java são suportadas no parâmetro fornecido. Para obter mais informações, consulte Padrão.

  • String.prototype.replaceAll()

    nota

    Não há suporte para expressões regulares.

    No entanto, construções de expressões regulares no estilo Java são suportadas no parâmetro fornecido. Para obter mais informações, consulte Padrão.

  • String.prototype.slice()

  • String.prototype.split()

  • String.prototype.startsWith()

  • String.prototype.toLowerCase()

  • String.prototype.toUpperCase()

  • String.prototype.trim()

  • String.prototype.trimEnd()

  • String.prototype.trimStart()

Number

Os seguintes números são compatíveis:

  • Number.isFinite

  • Number.isNaN

Objetos e funções integrados

As funções e objetos a seguir são compatíveis.

Math

As seguintes funções matemáticas são compatíveis:

  • Math.random()

  • Math.min()

  • Math.max()

  • Math.round()

  • Math.floor()

  • Math.ceil()

Array

Os seguintes métodos de matriz são compatíveis:

  • Array.prototype.length

  • Array.prototype.concat()

  • Array.prototype.fill()

  • Array.prototype.flat()

  • Array.prototype.indexOf()

  • Array.prototype.join()

  • Array.prototype.lastIndexOf()

  • Array.prototype.pop()

  • Array.prototype.push()

  • Array.prototype.reverse()

  • Array.prototype.shift()

  • Array.prototype.slice()

  • Array.prototype.sort()

    nota

    Array.prototype.sort() não é compatível com argumentos.

  • Array.prototype.splice()

  • Array.prototype.unshift()

  • Array.prototype.forEach()

  • Array.prototype.map()

  • Array.prototype.flatMap()

  • Array.prototype.filter()

  • Array.prototype.reduce()

  • Array.prototype.reduceRight()

  • Array.prototype.find()

  • Array.prototype.some()

  • Array.prototype.every()

  • Array.prototype.findIndex()

  • Array.prototype.findLast()

  • Array.prototype.findLastIndex()

  • delete

Console

O objeto do console está disponível para depuração. Durante a execução da consulta em tempo real, as declarações de log/erro do console são enviadas para o Amazon CloudWatch Logs (se o registro estiver ativado). Durante a avaliação do código com evaluateCode, as instruções de log são retornadas na resposta do comando.

  • console.error()

  • console.log()

Function
  • Os métodos apply, bind e call não são compatíveis.

  • Os construtores de função não são compatíveis.

  • Não há suporte para passar uma função como argumento.

  • Chamadas de funções recursivas não são compatíveis

JSON

Os seguintes JSON métodos são suportados:

  • JSON.parse()

    nota

    Retorna uma string em branco se a string analisada não for válidaJSON.

  • JSON.stringify()

Promises

Promessas e processos assíncronos não são compatíveis.

nota

O acesso à rede e ao sistema de arquivos não é suportado no APPSYNC_JS tempo de execução do AWS AppSync. AWS AppSync lida com todas as operações de E/S com base nas solicitações feitas pelo AWS AppSync resolvedor ou pela AWS AppSync função.

Variáveis globais

As seguintes restrições globais são válidas:

Tipos de erro

Não é possível lançar erros com throw. Você pode retornar um erro usando a função util.error(). Você pode incluir um erro na sua resposta do GraphQL usando a função util.appendError.

Para obter mais informações, consulte Utilitários de erro.