Global

Members


classes :Classes

Objeto auxiliar no tratamento das classes do sistema. Também permite obter tabelas associadas às classes.

Type:

connection :Connection

Conexão com o Engine servidor. Para acesso à base de dados, utilize

Type:

criticalSection :CriticalSection

Objeto que permite o controle de concorrência por meio da definição de critical sections.

Type:

database :Database

Conexão com a base de dados servida pelo Engine corrente.

Type:

dbCache :DBCache

Cache local do Engine corrente.

Type:

module:@nginstack/datasource/lib/ClassDerivation :string

Tipos possíveis de derivação de campos que contém chaves de classes do sistema

Type:
  • string
Properties:
Name Type Default Description
PATH string PATH

module:@nginstack/datasource/lib/DataSourceDataType :string

Tipos dos dados suportados nas colunas e filtros das fontes de dados.

Type:
  • string
Properties:
Name Type Default Description
STRING string string
CHAR string char
DATE string date
INT32 string int32
INT64 string int64
NUMBER string number
ARRAY string array
MEMO string memo
COMBO string combo
MASTER_DETAIL string masterdetail
BOOLEAN string boolean
PHONE string phone
FILE string file
PASSWORD string password
TIME string time
DATETIME string datetime
CEP string cep
LATITUDE string latitude
LONGITUDE string longitude
ANGLE string angle
GRID string grid
INTEGER string integer

module:@nginstack/datasource/lib/DateDerivation

Derivações que podem ser realizadas em colunas do tipo Date.


module:@nginstack/datasource/lib/DBKeyDerivation :string

Tipos possíveis de derivação que podem ser realizadas em campos que armazenam chaves de registros do sistema.

Type:
  • string
Properties:
Name Type Default Description
IMAGE string IMAGE

module:@nginstack/datasource/lib/FilterOperator :string

Operações de filtro que podem ser realizadas em uma fonte de dados.

Type:
  • string
Properties:
Name Type Default Description
EQUALITY string =
INEQUALITY string <>
GREATER_THAN string >
LESS_THAN string <
GREATER_THAN_OR_EQUAL string >=
LESS_THAN_OR_EQUAL string <=
LIKE string like
EXISTS string exists
NOT_EXISTS string not exists

module:@nginstack/datasource/lib/SecurityMode :number

Modo de segurança de uma fonte de dados. Há três modos disponíveis de configuração.

Type:
  • number
Properties:
Name Type Default Description
DISABLED number 0

Desabilita o modo de segurança automático para filtros e por um eventual IQuery que seja retornado por DataSourceDef#onGetQuery, note que o evento mencionado pode retornar uma consulta SQL, nesses casos a filtragem de segurança depende da lógica implementada pelo desenvolvedor. A checagem de permissões de filtro, sempre é feita quando DataSource#createFilters é executado.

ONLY_FILTER_VALUES number 1

É o comportamento de segurança que consiste em sempre checar a permissão de visão para todos os filtros informados e os valores de filtros lookup para uma fonte de dados.
Nesses casos o desenvolvedor deve se preocupar com a segurança dos dados no evento DataSourceDef#onGetQuery, já que os dados retornados não são submetidos a validação de permissão.

FULL number 2

Habilita o modo de segurança automático para filtros e por um eventual IQuery que seja retornado por DataSourceDef#onGetQuery, note que o evento mencionado pode retornar uma consulta SQL, nesses casos a filtragem de segurança depende da lógica implementada pelo desenvolvedor. A checagem de permissões de filtro sempre é feita quando DataSource#createFilters é executado.


module:@nginstack/engine/context

Contexto do ambiente da requisição que está sendo tratada pelo Engine, contendo informações sobre o usuário requisitante, o Engine que está atendendo a requisição e acessos à base de dados e ao servidor.

O contexto contém objetos criados internamente pelo Engine para o atendimento da requisição levando em consideração a base de dados e os dados do usuário requisitante.

O usuário corrente e seus dados de sessão podem ser acessados e modificados por meio da propriedade session. Dados sobre o Engine que está processado a requisição podem ser obtidos por meio da propriedade engine. O Engine servidor da base de dados pode ser acessado por meio da propriedade connection e o banco de dados por meio de database.

Ao modificar o usuário da sessão automaticamente serão reconfiguradas a conexão com o Engine servidor (connection) e a conexão com o banco de dados (database) para utilizar as credenciais do novo usuário informado.

Caso o Engine esteja atendendo uma requisição HTTP, as propriedades request e response terão os dados da requisição do cliente e da resposta HTTP que será enviada no final da execução do script corrente.


module:@nginstack/engine/context/vendor

Propriedades que identificam o fornecedor do sistema.


<constant> module:@nginstack/engine/keys/Classes

Chaves das classes utilizadas no Engine.


<constant> module:@nginstack/engine/keys/DateFormats

Chaves dos formatos de data suportados pelas funções module:@nginstack/engine/lib/date/formatDate e module:@nginstack/engine/lib/date/parseDate.


<constant> module:@nginstack/engine/keys/Engines

Chaves dos cadastros de Engines.


<constant> module:@nginstack/engine/keys/Files

Chaves de arquivos da VFS utilizados pelas bibliotecas do Engine.


<constant> module:@nginstack/engine/keys/Groups

Chaves dos grupos do sistema.


<constant> module:@nginstack/engine/keys/LogTypes

Chaves dos tipos de logs gravados na tabela iLog utilizados no engine.


<constant> module:@nginstack/engine/keys/MimeTypes

Chaves dos tipos de arquivos utilizados no engine.


<constant> module:@nginstack/engine/keys/PermissionApplyModes

Chaves dos modos de aplicação de permissão suportados pelo Engine.


<constant> module:@nginstack/engine/keys/Products

Chaves dos produtos (faixas de chaves) desenvolvidos na plataforma Engine.


<constant> module:@nginstack/engine/keys/Roles

Chaves dos papéis de usuários do produto Engine.


<constant> module:@nginstack/engine/keys/Scripts

Chaves dos scripts armazenados na VFS utilizados em um executeScript ou em uma tarefa do scheduler pelo Engine.


<constant> module:@nginstack/engine/keys/Users

Chaves dos usuários do sistema.


<constant> module:@nginstack/engine/keys/UserStatus

Chaves dos status de usuários.


module:@nginstack/engine/lib/classdef/LookupType :number

Tipos de lookup que um campo pode realizar.

Um lookup é uma relação de chave estrangeira. Um campo lookup guarda a chave de uma outra tabela relacionado por meio da propriedade classKey do campo.

Type:
  • number
Properties:
Name Type Default Description
NONE number 0

Indica que o campo não é lookup.

RECORD number 1

Indica que o campo se relaciona com os registros da classe indicada por classKey.

CLASS number 2

Indica que o campo se relaciona com os classes de dados filhas de classKey.

FILE number 3

Indica que o campo se relaciona com os arquivos da Virtual File System contidos no diretório indicado classKey ou um dos seus subdiretórios.


module:@nginstack/engine/lib/classdef/MasterDeleteAction :number

Enumerado com as possíveis ações que devem ser realizadas nos registros detalhes ao excluir o registro mestre.

Type:
  • number
Properties:
Name Type Default Description
ERROR number 0

Deve ser gerado um erro caso haja registros detalhes no momento da exclusão do registro mestre.

DELETE number 1

Os registros detalhes devem ser excluídos.

UNLINK number 2

Os campos que vinculam os registros detalhes, module:@nginstack/engine/lib/classdef/Field#detailFieldNames, devem ser preenchidos com null.

IGNORE number 3

Ignora os eventos de exclusão. Útil para grades detalhe com dados temporários que não são persistidos na base de dados.


module:@nginstack/engine/lib/classdef/ReadOnlyMode :number

Opções para o modo de somente leitura do campo.

Type:
  • number
Properties:
Name Type Default Description
NEVER number 0

O campo sempre pode ser modificado pelo usuário.

ALWAYS number 1

O campo nunca pode ser modificado pelo usuário, apenas internamente pelos eventos da classe de dados e objetos de gestão.

AFTER_INSERT number 2

O campo pode ser modificado durante a inserção do registro. Após a inserção, ele não poderá ser mais modificado pelo usuário, mesmo que não tenha sido preenchido durante a inserção.

ONEDIT number 2
FILLED number 3

O campo pode ser modificado até que seja preenchido pela primeira vez. Após ser preenchido, ele não poderá ser mais modificado pelo usuário. Durante a inserção do registro, o campo com este modo de somente leitura poderá ser modificado livremente até que seja efetivada a inserção. Após a efetivação, e caso ele tenha conteúdo, não poderá ser mais modificado.


module:@nginstack/engine/lib/classdef/SessionEnvironmentType :number

Tipos de ambientes que podem ser configurados em um realm HTTP.

Type:
  • number
Properties:
Name Type Default Description
STATELESS number 0

Indica que o ambiente não deve preservar o estado do ambiente entre requisições. Dessa forma, uma requisição não pode fazer uso de dados da requisição anteriores guardados apenas no ambiente JavaScript.

STATEFUL number 1

Indica que o ambiente deve preservar o estado do ambiente entre requisições. Dessa forma, uma requisição pode fazer uso de dados da requisição anteriores guardados no ambiente JavaScript.

O sistema faz uso de cookies para identificar quais requisições são relacionadas a uma sessão de usuário

STATEFULL number 1

module:@nginstack/engine/lib/classdef/SessionPersistence :number

Modos de persistência das propriedades objeto global e de contexto session.

A persistência automática via Engine não é otimizada e não deve ser utilizada. Processos que necessitem de persistência, devem utilizar o banco de dados ou criar soluções próprias.

Type:
  • number
Properties:
Name Type Default Description
NONE number 0

Indica que o Engine não deve persistir as propriedades do objeto global e de contexto session.

COOKIE number 1

Indica que o Engine deve persistir as propriedades do objeto global e de contexto session por meio de cookies.

LOCALSTORAGE number 2

Não implementado.

DBSTORAGE number 3

Não implementado.


module:@nginstack/engine/lib/classdef/SourceType :string

Tipos de código fonte para definição de classe

Type:
  • string
Properties:
Name Type Default Description
MODEL string model
VIEW string view
CONFIG string config
NON_STRICT_MODEL string non_strict_model

module:@nginstack/engine/lib/classdef/TableCacheStrategy :string

Enumera as opções que indicam se os dados de uma tabela são gravados no cache local.

Type:
  • string
Properties:
Name Type Default Description
ALWAYS string T

Indica que os dados sempre devem ser replicados no cache local de todos os Engines.

NEVER string F

Indica que os dados nunca devem ser replicados no cache local de todos os Engines.

ON_DEMAND string O

Indica que os dados não serão replicados no cache local dos Engines por padrão, mas que eles serão guardados em cache sob demanda.

Atualmente apenas a tabela iVfsLob permite essa estratégia de cache. Opcionalmente a replicação completa desta tabela pode ser habilitada para Engines específicos informando a flag "-lavfsc" na linha de comando.


module:@nginstack/engine/lib/crypto/DigestType :string

Tipos de digest suportados pelas classes MD5, SHA1, SHA256, SHA512 e HMAC. Eles devem ser utilizados no parâmetro resultType do método digest.

Type:
  • string
Properties:
Name Type Default Description
BINARY_STRING string binarystring

Indica que o digest retornado será um objeto do tipo string, no formato Binary String.

ARRAY_BUFFER string arraybuffer

Indica que o digest retornado será um objeto do tipo ArrayBuffer.

UINT8_ARRAY string uint8array

Indica que o digest retornado será um objeto do tipo Uint8Array.


module:@nginstack/engine/lib/database/DatabaseDataType :string

Tipos de dados definidos pelo padrão SQL que são suportados com garantia de interoperabilidade entre os bancos de dados no Engine.

Ver https://en.wikipedia.org/wiki/SQL_syntax#Data_types para mais detalhes sobre as características de cada tipo.

Type:
  • string
Properties:
Name Type Default Description
CHAR string char
VARCHAR string varchar
CLOB string clob
INTEGER string integer
BIGINT string bigint
NUMERIC string numeric
DOUBLE_PRECISION string double precision
TIMESTAMP string timestamp
TIMESTAMP_WITH_TIME_ZONE string timestamp with time zone
DATE string date
See:

module:@nginstack/engine/lib/database/Limits

Limites pré-estabelecidos do esquema do banco de dados ou da estrutura de classes do sistema.


module:@nginstack/engine/lib/database/SystemFields

Campos com significados especiais para o sistema.


module:@nginstack/engine/lib/dataset/DataSetDataType :string

Tipos de dados suportados por campos de DataSet.

Veja https://nginstack.com/pt/docs/engine/databases/ para mais detalhes de como os tipos das colunas da base de dados são mapeadas para campos em um DataSet.

Type:
  • string
Properties:
Name Type Default Description
STRING string string
MEMO string memo
INT32 string int32
INT64 string int64
NUMBER string number
DATE string date
DATETIME string datetime
BOOLEAN string boolean
See:

module:@nginstack/engine/lib/date/DateFormat :number

Type:
  • number
Properties:
Name Type Default Description
DDMMYYYY number -1892603089

Formato dia/mês/ano. Exemplo: 21/05/2017.

DDMM number -1892603090

Formato dia/mês. Exemplo: 21/05.

MMYYYY number -1892603088

Formato mês/ano. Exemplo: 05/2017.

WWYYYY number -1892603087

Formato semana_iso/ano. Exemplo: 20/2017.

YYYYWW number -1892603057

Formato ano/semana_iso. Exemplo: 2017/20.

MMMYYYY number -1892603055

Formato mês_extenso/ano. Exemplo: Maio/2017.


module:@nginstack/engine/lib/date/Month :number

Meses do ano.

Type:
  • number
Properties:
Name Type Default Description
JAN number 0
FEB number 1
MAR number 2
APR number 3
MAY number 4
JUN number 5
JUL number 6
AUG number 7
SEP number 8
OCT number 9
NOV number 10
DEC number 11

module:@nginstack/engine/lib/date/WeekDay :number

Dias da semana.

Type:
  • number
Properties:
Name Type Default Description
MON number 0
TUE number 1
WED number 2
THU number 3
FRI number 4
SAT number 5
SUN number 6

module:@nginstack/engine/lib/event/DuplicationHandling :number

Modos como devem ser tratadas as tentativas de registrar uma função de listener duplicada em um Emitter.

Type:
  • number
Properties:
Name Type Default Description
IGNORE number 0

Ignora a função listener duplicada, conforme especificação W3C.

ACCEPT number 1

Registra a função listener duplicada.

REMOVE number 2

Remove a definição anterior e registra a função listener no final da fila de listeners.

See:
  • module:@nginstack/engine/lib/event/Emitter#duplicationHandling

module:@nginstack/engine/lib/event/ListenerCompareFunctions

Funções de comparação para indicar se dois listeners registrados em um emitter são iguais. Poderá ser utilizada a comparação estrita, onde eles serão iguais se fora exatamente a mesma instância da função, ou a comparação do código-fonte, onde dois listeners serão considerados iguais se tiverem o mesmo código-fonte obtido por meio do método toString.

See:
  • module:@nginstack/engine/lib/event/Emitter#listenerCompareFunction

module:@nginstack/engine/lib/geo/AngleFormat :number

Type:
  • number
Properties:
Name Type Default Description
DDD number -1892603107

Ângulo sem casas decimais.

DDD_DD number -1892603106

Ângulo com casas decimais.


module:@nginstack/engine/lib/geo/LatitudeFormat :number

Type:
  • number
Properties:
Name Type Default Description
DDD_DDDDD number -1892603112

Graus decimais com 5 casas de precisão.

DDD_MM_MMM_DIR number -1892603111

Graus, minutos com 3 casas de precisão e direção.

DDD_MM_SS_S_DIR number -1892603110

Graus, minutos e segundos com 2 casas precisão e direção.


module:@nginstack/engine/lib/geo/LongitudeFormat :number

Type:
  • number
Properties:
Name Type Default Description
DDD_DDDDD number -1892602552

Graus decimais com 5 casas de precisão.

DDD_MM_MMM_DIR number -1892602551

Graus, minutos com 3 casas de precisão e direção.

DDD_MM_SS_S_DIR number -1892602550

Graus, minutos, segundos com 2 casas precisão e direção.


module:@nginstack/engine/lib/math/RoundingMode :number

Classe utilizada para enumerar os valores possíveis do parâmetro mode do método Math.decimalRound.

Type:
  • number
Properties:
Name Type Default Description
HALF_EVEN number 1

Arredonda para o decimal mais próximo ou mantém o mesmo dígito.

HALF_ODD number 2

Arredonda para o decimal mais próximo ou para o dígito ímpar.

HALF_POSITIVE number 3

Arredonda para o decimal mais próximo ou para o maior valor mais próximo.

HALF_NEGATIVE number 4

Arredonda para o decimal mais próximo ou para o menor valor mais próximo

HALF_DOWN number 5

Arredonda para o decimal mais próximo ou em direção a zero (truncamento).

HALF_UP number 6

Arredonda para o decimal mais próximo ou para longe do zero.

FLOOR number 7

Arredonda para o menor valor decimal mais próximo.

CEILING number 8

Arredonda para o maior valor decimal mais próximo.

DOWN number 9

Arredonda em direção a zero (truncamento).

UP number 10

Arredonda para longe de zero.


module:@nginstack/engine/lib/monitoring/AlertCodes :string

Códigos dos alertas gerados pelo monitoramento do sistema.

Type:
  • string
Properties:
Name Type Default Description
UNSUPPORTED_OS string unsupported_os

O sistema operacional utilizado não é suportado pelo Engine.

UNSUPPORTED_ARCH string unsupported_arch

O Engine em execução utiliza uma arquitetura que não é mais suportada (32 bits).

LOW_FREE_DISK string low_free_disk

Há pouco espaço livre no disco do diretório de dados do sistema.

LOW_PHYSICAL_MEMORY string low_physical_memory

Há pouca memória física disponível no servidor.

HIGH_MEMORY_USAGE string high_memory_usage

A quantidade de memória virtual utilizada pelo Engine está elevada.

HIGH_SESSION_COUNT string high_session_count

A quantidade de sessões de usuários ativas no Engine está elevada.

SLOW_DBCACHE_SYNC string slow_dbcache_sync

O sincronismo do cache local está demorando mais que o normal. Essa demora pode ter sido provocada pela geração de um grande volume de alterações a serem sincronizadas ou pode existir alguma anomalia no funcionamento do cache local ou no disco do servidor.

DBCACHE_SYNC_ERROR string dbcache_sync_error

Ocorreu um erro ao tentar sincronizar o cache local do Engine.

TRANSACTION_LOG_SENDING_ERROR string transaction_log_sending_error

Ocorreu um erro ao tentar enviar os logs transacionais do Engine.

HIGH_ENGINE_UPTIME string high_engine_uptime

O Engine está em execução há muito tempo sem ser reiniciado. O reinício periódico do Engine é importante para que o sistema possa atualizar o esquema das tabelas que estão no cache local, além de reduzir a perda de eficiência provocada pela fragmentação da memória gerenciada pelo alocador padrão do sistema operacional, HeapAlloc no Windows e glibc malloc no Linux.

OUTDATED_ENGINE string outdated_engine

A versão do Engine está desatualizada.


module:@nginstack/engine/lib/monitoring/AlertSeverity :string

Severidades dos alertas gerados pelo monitoramento do sistema.

Type:
  • string
Properties:
Name Type Default Description
INFO string info

Utilizado em alertas informacionais sobre recursos ou configurações que não impedem o funcionamento do sistema.

WARNING string warning

Utilizado em alertas que requerem atenção do administrador do sistema e podem impactar o funcionamento do sistema caso não sejam resolvidos.

CRITICAL string critical

Utilizado em alertas sobre recursos ou configurações que podem estar afetando o funcionamento ou a integridade do sistema.


module:@nginstack/engine/lib/range/Limit :number

Indica se o campo representa início ou fim de um intervalo, atualmente só é suportado para funções de tratamento de data.

Type:
  • number
Properties:
Name Type Default Description
START number 1
END number 2

module:@nginstack/engine/lib/security/ClassChangePolicy :number

As formas de alteração de classe de registros suportadas pelo sistema.

Type:
  • number
Properties:
Name Type Default Description
DELETE_AND_INSERT number 1

A verificação de permissão ao alterar uma classe deve verificar a permissão de remover da classe atual e de inserir da classe nova.

CHANGE number 2

A verificação de permissão ao alterar uma classe deve verificar apenas a permissão de alterar da classe atual.


module:@nginstack/engine/lib/security/PermissionMode :string

Modos de operação para se obter as permissões de classes e arquivos do sistema.

Type:
  • string
Properties:
Name Type Default Description
FIRST string first

Obtém a primeira permissão definida para a classe ou uma de suas mães, levando em conta a ordem da classe informada. A ordem considerada no sentido da classe atual até a classe root. Neste modo não há herança se a chave informada for um script da iVFS como, por exemplo, um processo.

MAX string max

Obtém o maior valor informado para a classe ou para uma de suas mães. Neste modo não há herança se a chave informada for um script da iVFS como, por exemplo, um processo.

MIN string min

Obtém o menor valor informado para a classe ou para uma de suas mães. Neste modo não há herança se a chave informada for um script da iVFS como, por exemplo, um processo.

DISTINCT string distinct

Obtém todos os valores distintos informados para a classe ou para uma de suas mães. Se a permissão informada para uma classe possuir os separadores ";" ou ",", a mesma será dividida e cada elemento será considerado um valor distinto. Neste modo não há herança se a chave informada for um script da iVFS como, por exemplo, um processo.

NO_INHERITANCE string withoutInheritance

Obtém a permissão para a classe informada sem levar em conta as permissões definidas nas classes mães. Este parâmetro não é adequado para utilização com campos do tipo "string" que podem ser multivalorados, recomendamos o uso do parâmetro "distinct".

CONCAT string concat

Obtém todos os valores informados para a classe ou para uma de suas mães concatenados. Se a permissão informada para uma classe possuir os separadores ";" ou ",", a mesma será dividida e cada elemento será considerado um valor distinto. Neste modo não há herança se a chave informada for um script da iVFS como, por exemplo, um processo.

See:
  • module:@nginstack/engine/lib/security/Security#getPermission
  • module:@nginstack/engine/lib/classdef/PermissionField#readMode

module:@nginstack/engine/lib/security/SecurityPolicyApplication :string

Enumerado que relaciona as aplicações que podem ser informadas aos métodos module:@nginstack/engine/lib/security/SecurityPolicy#checkEnabledApplication e module:@nginstack/engine/lib/security/SecurityPolicy#validateLogin.

Type:
  • string
Properties:
Name Type Default Description
IDE string iIDEEnabled

Representa a IDE do aplicativo iEngine.

iWeb string iiWebEnabled

Representa o aplicativo iWeb, antigo sistema de gestão empresarial que foi substituído pelo Framework HTML.

FrameworkHTML string iFrameworkHTMLEnabled

Representa o framework HTML.


module:@nginstack/orm/lib/EntityState :number

Enumerado com os possíveis estados de uma Entity.

Type:
  • number
Properties:
Name Type Default Description
UNCHANGED number 0

A entidade não foi modificada desde a sua criação ou da última execução do método Entity#persist.

ADDED number 1

Uma nova entidade foi criada, mas as alterações ainda não foram persistidas no banco de dados.

MODIFIED number 2

A entidade foi modificada, mas as alterações ainda não foram persistidas no banco de dados.

DELETED number 3

A entidade foi excluída, mas as alterações ainda não foram persistidas no banco de dados.

DETACHED number 4

Indica que uma instância de Entity não faz mais parte de um EntitySet, nem representa uma entidade do banco de dados. Normalmente, uma entidade fica nesse estado após a exclusão de uma entidade ter sido persistida no banco de dados.

See:

<constant> module:@nginstack/web-framework/keys/Classes

Chaves das classes utilizadas no Web Framework.


<constant> module:@nginstack/web-framework/keys/Files

Chaves de arquivos da VFS de propósito genérico.


<constant> module:@nginstack/web-framework/keys/MimeTypes

Chaves dos tipos de arquivos utilizados no Web Framework.


<constant> module:@nginstack/web-framework/keys/Processes

Chaves dos processos utilizados no Web Framework.


<constant> module:@nginstack/web-framework/keys/Relations

Chaves das classes de relacionamentos entre registros utilizadas no Web Framework. Todas as classes são filhas de Relações.


<constant> module:@nginstack/web-framework/keys/Scripts

Chaves dos scripts armazenados na VFS utilizados em um executeScript ou em uma tarefa do scheduler pelo Web Framework.


module:@nginstack/web-framework/lib/classdef/DuplicateMode :string

Modos de duplicação de um objeto do tipo Field. Este modo define como o campo irá se comportar no caso do registro ser duplicado.

Type:
  • string
Properties:
Name Type Default Description
NONE string none

Indica que este campo não será copiado para o novo registro.

COPY string copy

Indica que este campo será copiado.

COPY_ADDING_SUFFIX string copyAddingSuffix

Indica que este campo será copiado e adicionado de um sufixo para o novo registro. Este modo só será suportado em campos dos tipos string e memo.

See:

module:@nginstack/web-framework/lib/classdef/EnterKeyAction :string

Opções que indicam como o campo deve responder à digitação da tecla ENTER.

Type:
  • string
Properties:
Name Type Default Description
IGNORE string ignore

A tecla ENTER é ignorada no conteúdo do campo.

NEWLINE string newline

A tecla ENTER é mantida no conteúdo do campo, adicionando uma quebra de linha ao conteúdo.

Deve ser utilizado apenas em campos que tenham altura maior que 1. Se for utilizado em um campo com altura 1 o comportamento será semelhante ao "ignore".

DONE string done

A tecla ENTER encerra o preenchimento do campo atual.


module:@nginstack/web-framework/lib/dsv/PivotGroupType :string

Enumeração com os tipos de agrupamento de colunas para renderização do DSV quando há pivoteamento.

Type:
  • string
Properties:
Name Type Default Description
NONE string none
BY_TOTAL_FIELD string groupbytotalfield
BY_PIVOT_VALUE string groupbypivotvalue

module:@nginstack/web-framework/lib/dsv/TotalAggregate :string

Enumeração com as formas de agregação dos totais das colunas que podem ser utilizadas na renderização da visualização.

Type:
  • string
Properties:
Name Type Default Description
SUM string sum
MIN string min
MAX string max
AVG string avg
COUNT string count

module:@nginstack/web-framework/lib/grid/GridViewMode :number

Modos de visualização da grade.

Type:
  • number
Properties:
Name Type Default Description
FORM_VIEW number 0

Modo formulário.

TABLE_VIEW number 1

Modo tabela.


module:@nginstack/web-framework/lib/label/LabelAlignment :string

Opções de alinhamento possíveis do componente Label.

Type:
  • string
Properties:
Name Type Default Description
LEFT string left
RIGHT string right
CENTER string center
JUSTIFY string justify

module:@nginstack/web-framework/lib/search/SearchType :string

Tipos de pesquisa suportados pelo sistema. Eles devem ser utilizados no parâmetro searchType da classe Searcher.

Type:
  • string
Properties:
Name Type Default Description
MENU string menu

Indica que a pesquisa ocorrerá nos itens do menu principal do sistema.

DATABASE string database

Indica que a pesquisa ocorrerá em uma tabela do banco de dados, através de consulta.

CLASSES string classes

Indica que a pesquisa ocorrerá na tabela de classes do sistema.

DBCACHE string dbcache

Indica que a pesquisa ocorrerá em registros de classes cadastrais do cache local do sistema.


<constant> module:@nginstack/web-framework/lib/simple-layout/FiltersDisplayMode

Modos de exibição dos valores dos filtros informados pelo usuário em um relatório.


profiler :Profiler

Objeto profiler da sessão.

Type:

repository :Repository

Objeto que permite o compartilhamento de informações entre sessões JavaScript. As propriedades definidas neste objeto podem ser acessadas em outras sessões. Os valores das propriedades devem ser tipos primitivos ou DataSets.

Type:

request :Request

Informações e dados da requisição HTTP que está sendo atendida.

Type:

response :Response

Dados e cabeçalhos da resposta que será dada à requisição HTTP que está sendo atendida.

Type:

scheduler :Scheduler

Objeto que permite consultar e gerenciar o agendador de scripts do Engine.

Type:

security :Security

Objeto responsável por consultar e manipular as permissões do sistema.

Type:

server :Server

Objeto responsável por consultar informações e manipular o Engine em execução.

Type:

session :Session

Informações e configurações da sessão corrente.

Type:

systemMonitor :SystemMonitor

Objeto que permite obter informações de performance e consumo de recursos do sistema.

Type:

virtualFS :VirtualFileSystem

Objeto responsável por manipular o Sistema de Arquivos Virtuais (VFS).

Type:

Methods


__include(keyOrUri)

Irá incluir o script como se fosse um copiar-colar, desta forma as funções ficam disponíveis para serem redefinidas. O mesmo script pode ser incluído mais de uma vez e o include pode ser dado em qualquer parte do código.

Parameters:
Name Type Description
keyOrUri number | string

chave ou caminho do script na ufs.


__includeOnce(keyOrUri)

O script será inserido apenas uma vez, mesmo que sejam realizados várias chamadas. O __includeOnce deve ser invocado no início do script, pois trata-se da inclusão de uma library.

Parameters:
Name Type Description
keyOrUri number | string

chave ou caminho do script na ufs.


getStackTrace()

Função global equivalente ao módulo module:@nginstack/engine/lib/error/getStackTrace.

See:

module:@nginstack/datasource/lib/formatDerivationLabel(derivation)

Dada uma derivação de uma coluna ou filtro, retorna um rótulo de exibição para ela.

Parameters:
Name Type Description
derivation string

Id da derivação.

Returns:

Rótulo da derivação.

Type
string

module:@nginstack/engine/lib/array/argumentsToArray(args [, opt_fromIndex] [, opt_toIndex])

Converte um objeto Arguments em um array de parâmetros, a partir de um índice inicial até um índice final.

Parameters:
Name Type Argument Description
args ArrayLike.<*>

Objeto arguments.

opt_fromIndex number <optional>

Índice inicial, o elemento desse índice será incluído no resultado.

opt_toIndex number <optional>

Índice final, o elemento desse índice não será incluído no resultado.

Returns:

Arguments convertido.

Type
Array

module:@nginstack/engine/lib/array/arrayEquals(arr1, arr2 [, opt_equalsFn])

Verifica se dois arrays são iguais. Dois arrays são considerados iguais se eles têm o mesmo tamanho e os seus elementos correspondentes são considerados iguais de acordo com a função de comparação.

Parameters:
Name Type Argument Description
arr1 Array | Uint8Array

O primeiro array para comparar.

arr2 Array | Uint8Array

O segundo array para comparar.

opt_equalsFn function <optional>

Função de comparação opcional. Ela irá receber 2 argumentos para comparar e deverá retornar true se os argumentos são iguais.

Returns:

True se os 2 arrays são iguais.

Type
boolean

module:@nginstack/engine/lib/array/listToArray(list [, opt_separator])

Converte uma lista textual de valores em um Array.

Parameters:
Name Type Argument Description
list string | Array.<string>

Lista a ser convertida em um array. Caso seja informado um array, ele será retornado sem alterações.

opt_separator string <optional>

Caso não seja informado um separador, tentará ser utilizado ";" e "," como separador, dando preferência ao primeiro.

Returns:

Array com os valores da lista.

Type
Array.<string>

module:@nginstack/engine/lib/array/remove(arr, obj)

Remove a primeira ocorrência do valor informado.

Parameters:
Name Type Description
arr Array

Array do qual será removido o valor.

obj *

Valor ou objeto a ser removido.

Returns:

True se um elemento foi removido.

Type
boolean

module:@nginstack/engine/lib/array/removeAt(arr, i)

Remove o elemento na posição i.

Parameters:
Name Type Description
arr Array

Array do qual será removido o elemento

i number

O índice do elemento a ser removido

Returns:

True se o elemento foi removido

Type
boolean

module:@nginstack/engine/lib/array/split(arr, n)

Divide o array na quantidade de partes informadas.

Parameters:
Name Type Description
arr Array

Array que será repartido.

n number

Número de partes que o array será dividido. A quantidade de partes deverá ser maior ou igual a 1.

Returns:

Novo array contendo as partes do array informado.

Type
Array.<Array>

module:@nginstack/engine/lib/array/splitIntoChunks(arr, chunkSize)

Divide um array em partes do tamanho informado em chunkSize. A última parte será menor se o tamanho do array não for um múltiplo de chunkSize.

Parameters:
Name Type Description
arr Array

Array que será repartido.

chunkSize number

Tamanho das partes.

Returns:

Novo array contendo as partes do array informado.

Type
Array.<Array>

module:@nginstack/engine/lib/classdef/getImageRelationConfig(classKey)

Obtém a configuração de relacionamento de um cadastro com as suas imagens caso haja um.

Parameters:
Name Type Description
classKey number

Chave da classe a ser testada.

Returns:

Objeto com as propriedades classKey, masterFieldNames e detailFieldNames. A primeira delas é a classe do relacionamento, já a segunda são os campos utilizados na grade mestre para o relacionamento com a grade detalhe. A última propriedade é a lista de campos da grade detalhe que fazem o relacionamento com a grade mestre. Será retornado null caso a classe informada não tenha vínculos com imagens.

Type
Object

module:@nginstack/engine/lib/classdef/getLookupDataClass(classKey, lookupType)

Obtém a classe onde estão preservados os dados de um campo lookup. Será retornado um valor nulo caso o lookupType caso de LookupType.NONE.

Parameters:
Name Type Argument Description
classKey number

Chave da classe do campo lookup.

lookupType number <nullable>

LookupType do campo lookup. Usar as constantes em LookupType.

Returns:

Chave da classe onde estão preservados os dados do campo lookup.

Type
number

module:@nginstack/engine/lib/classdef/getLookupDisplayValue(keys [, opt_baseClassKey])

Obtém o valor de exibição de uma chave ou de uma lista de chaves.

Parameters:
Name Type Argument Description
keys number | string | Array.<number>

Chave ou lista de chaves.

opt_baseClassKey number <optional>

Classe do registro. Caso as chaves informadas em keys sejam da Virtual File System, opt_baseClassKey será ignorada. Opcional apenas quando a chave estiver no cache local.

Returns:
Type
string

module:@nginstack/engine/lib/classdef/lookupFieldDef(classKey, fldExpr)

Retorna a definição do campo identificado pela expressão lookup fldExpr a partir da classe classKey. Será gerado um erro caso a expressão lookup não possa ser resolvida.

Parameters:
Name Type Description
classKey number

Chave da classe da qual a expressão

fldExpr string

Campo ou expressão de campos.

Returns:

Definição do campo.

Type
module:@nginstack/engine/lib/classdef/Field~Field
Example
const lookupFieldDef = require('@nginstack/engine/lib/classdef/lookupFieldDef.js');
const fld = lookupFieldDef(classKey, 'iSecurityPolicy.iName');
fld // => Definição do campo iName da classe de políticas de segurança

module:@nginstack/engine/lib/compress/jsmin(input [, opt_options])

Reduz um código JavaScript eliminando espaços e comentários desnecessários para a sua execução.

Parameters:
Name Type Argument Description
input string

Script a ser minificado.

opt_options Object <optional>

Opções da minificação.

Properties
Name Type Description
comment string

Comentário a ser adicionado no início do conteúdo minificado.

level number

Nível de agressividade da compressão:

  • 1: minimal: mantém saltos de linha se forem únicos.
  • 2: normal: algoritmo padrão.
  • 3: agressivo: remove qualquer salto de linha e não se importa com o efeito da modificação.
Author:
  • Baseado no código de Franck Marcia, adaptado para o JavaScript.

module:@nginstack/engine/lib/dataset/syncRecords(source, target [, opt_options])

Torna os registros de target iguais ao de source. Registros em target que não existam em source serão removidos.
Apenas os campos de source que existam em target serão copiados. Os demais campos de target serão preservados.

Parameters:
Name Type Argument Description
source module:@nginstack/engine/lib/dataset/DataSet~DataSet

DataSet que será utilizado como origem dos dados.

target module:@nginstack/engine/lib/dataset/DataSet~DataSet

DataSet que será modificado.

opt_options Object <optional>

Opções de sincronismo.

Properties
Name Type Argument Description
idFieldName string <optional>

Nome do campo que identifica de forma única um registro. Caso não seja informado, será considerado o campo iKey, e caso este não exista, o CHAVE.

ignoredFieldNames Array.<string> <optional>

Nomes dos campos que serão ignorados durante a sincronização. Caso não seja informado, serão ignorados iVersion e VERSAO.

Returns:

Retorna um objeto com 4 propriedades: modified, indicando se houve alterações em target, e insertedIds, updatedIds e deletedIds, indicando os ids modificados em cada tipo de alteração.

Type
Object

module:@nginstack/engine/lib/date/checkDateRange(date, start, end)

Avalia se a data está em um intervalo entre dois dias. Se não estiver, será gerado um erro.

Parameters:
Name Type Description
date Date

Data a ser avaliada.

start Date

Data mínima permitida.

end Date

Data máxima permitida.


module:@nginstack/engine/lib/date/dateCompare(referenceDate, compareDate [, timeSensitive])

Compara duas datas e retorna 0 se forem iguais, um número negativo se a primeira for menor que a segunda e um positivo no caso contrário.

Por padrão, serão considerados apenas ano, mês e dia na comparação, mas esse comportamento pode ser alterado informando true no parâmetro timeSensitive, aumentando a precisão para milissegundos. Para fins de comparação, valores nulos são considerados inferiores que qualquer data válida.

Esta função também é publicada como ngin.date.compare() no escopo global e é uma alternativa compatível com runtime V8 ao método Date.prototype.compare(), implementado apenas no runtime Ije.

Parameters:
Name Type Argument Description
referenceDate Date

Data que será comparada.

compareDate Date

Data contra a qual referenceDate será comparada.

timeSensitive boolean <optional>

Determina se a parte de tempo (horas, minutos, segundos e milissegundos) será considerada na comparação. Por padrão será false.

Returns:

Será retornado um número negativo se referenceDate for menor que compareDate, positivo se for maior e zero se forem iguais.

Type
number

module:@nginstack/engine/lib/date/fieldsToDate(date, hours)

Cria uma data a partir de data e hora que são obtidos do banco de dados.

Parameters:
Name Type Description
date Date

Data obtida do banco de dados.

hours string

Hora obtida do banco de dados, no formato hh:nn:ss. Considera 00:00:00 por padrão caso a hora esteja vazia.

Returns:

Data com hora definida ou null caso a data recebida como entrada seja vazia.

Type
Date

module:@nginstack/engine/lib/date/firstMonthDayOf(date)

Recebe uma data e retorna o primeiro dia do mês referente aquela data.

Parameters:
Name Type Description
date Date

Data a qual se deseja pegar o primeiro dia do mês.

Returns:

Retorna a data referente ao primeiro dia do mês da data original.

Type
Date

module:@nginstack/engine/lib/date/firstWeekDayOf(date)

Recebe uma data e retorna o primeiro dia da semana referente aquela data.

Parameters:
Name Type Description
date Date

Data a qual se deseja pegar o primeiro dia da semana.

Returns:

Retorna a data referente ao primeiro dia da semana da data original.

Type
Date

module:@nginstack/engine/lib/date/formatDate(date [, opt_options])

Converte uma data para um formato desejado.

Parameters:
Name Type Argument Description
date Date

Data.

opt_options Object <optional>

Opções.

Properties
Name Type Argument Description
format DateFormat <optional>

Formato desejado.

Returns:

Data no formato desejado.

Type
string

module:@nginstack/engine/lib/date/formatElapsedTime(time)

Formata o tempo decorrido exibindo-o em uma representação textual com a menor quantidade possível de dimensões da data. A escala é ajustada automaticamente de acordo o tamanho da duração a ser formatada. Por exemplo, se o time for em segundos, a duração apresentará os segundos e milissegundos decorridos. Se for em horas, apresentará as horas e minutos, suprimindo os detalhes de segundos e milissegundos.

Parameters:
Name Type Description
time number

Tempo em milissegundos.

Returns:

Tempo decorrido formatado conforme dimensão.

Type
string
Example
var formatElapsedTime = require('@nginstack/engine/lib/date/formatElapsedTime');
formatElapsedTime(2000) // Retorna 2 segs.
formatElapsedTime(2500) // Retorna 2 segs e 500 ms.
formatElapsedTime(50 * 60 * 60 * 1000 ) // Retorna 2 dias e 2 hrs.

module:@nginstack/engine/lib/date/formatTime(time, stringFormat)

Retorna uma string representando um determinado tempo transcorrido no formato indicado, por exemplo, no formato hh:mm:ss.

Parameters:
Name Type Description
time number

Tempo transcorrido informado em milissegundos.

stringFormat string

String com o formato que se deseja para a apresentação do tempo transcorrido. Por exemplo, ao utilizar a string 'hh:nn:ss zzz', o retorno será uma string informando as horas, minutos, segundos e milissegundos do tempo informado no parâmetro time.

Returns:

O tempo informado, formatado conforme a opção de formatação utilizada.

Type
string

module:@nginstack/engine/lib/date/getInterval(startDate, startHour, endDate, endHour [, format])

Calcula o intervalo de tempo entre duas datas/horas e o retorna no formato informado na máscara.

Parameters:
Name Type Argument Description
startDate Date

Data inicial.

startHour string

Hora inicial.

endDate Date

Data final.

endHour string

Hora final.

format string <optional>

Formato desejado do intervalo calculado. Valores possíveis: "dd", "hh", "hh:mm" ou "hh:mm:ss". Quando não for informado ou for o valor "dd", será retornado o número de dias. Nos demais casos, será retornada uma string no formato informado.

Deprecated:
  • Yes
Returns:

Intervalo entre as duas datas informadas. Será retornada uma string quando informado um formato ou o número de dias quando não for.

Type
string | number

module:@nginstack/engine/lib/date/getNumberOfDaysInMonth(year, month)

Retorna a quantidade de dias de um mês informado.

Parameters:
Name Type Description
year number

Ano do mês informado.

month number

Mês a ser avaliado.

Author:
  • Adaptado de goog.date.getNumberOfDaysInMonth da Closure Library.
Returns:

Quantidade de dias do mês informado.

Type
number

module:@nginstack/engine/lib/date/getWeekNumber(year, month, date [, opt_weekDay] [, opt_firstDayOfWeek])

Calcula o número da semana segundo a ISO 8601.

Parameters:
Name Type Argument Description
year number

Ano da data.

month number

Mês da data(0-11).

date number

Dia da data (1-31).

opt_weekDay number <optional>

Dia da semana para corte da primeira semana do ano. Por padrão, será considerada a terça-feira conforme especificação.

opt_firstDayOfWeek number <optional>

Primeiro dia semana. Por padrão será considerado segunda-feira (segunda=0, domingo=6).

Returns:

Número da semana (1-53).

Type
number

module:@nginstack/engine/lib/date/incDate(date [, days])

Retorna a data incrementada em uma quantidade de dias.

Parameters:
Name Type Argument Description
date Date

Data base.

days number <optional>

Número de dias a ser incrementado à data base. Caso não seja informado, será considerado 1.

Returns:

Data incrementada.

Type
Date

module:@nginstack/engine/lib/date/incMonth(date [, opt_months])

Retorna a data incrementada em uma quantidade de meses.

Parameters:
Name Type Argument Description
date Date

Data base.

opt_months number <optional>

Número de meses a ser incrementado a data base.

Returns:

Data incrementada em meses.

Type
Date

module:@nginstack/engine/lib/date/incYear(date [, opt_years])

Retorna a data incrementada na quantidade de anos informada.

Parameters:
Name Type Argument Description
date Date

Data base.

opt_years number <optional>

Número de anos a ser incrementado a data base. Use valores negativos para decrementar a data base. Será considerado 1 caso não seja informado.

Returns:

Data incrementada na quantidade de anos informada.

Type
Date

module:@nginstack/engine/lib/date/isLeapYear(year)

Avalia se um dado ano é bissexto.

Parameters:
Name Type Description
year number

Ano a ser avaliado.

Author:
  • Adaptado de goog.date.isLeapYear da Closure Library.
Returns:

True se o ano informado for bissexto.

Type
boolean

module:@nginstack/engine/lib/date/parseDate(dateStr [, opt_options])

Cria uma data a partir de uma data formatada ou expressão.

Parameters:
Name Type Argument Description
dateStr string

Data formatada ou expressão.

opt_options Object <optional>

Opções.

Properties
Name Type Argument Description
format DateFormat <optional>

Formato desejado.

rangeLimit Limit <optional>

Indica se o resultado da função representa início ou fim de um intervalo, atualmente só é suportado para formatos abrangentes como DateFormat.MMYYYY (mês/ano) ou DateFormat.WWYYYY(semana/ano). O desenvolvedor pode utilizar Limit.START para pegar o menor (ou Limit.END para o maior) dia dentro do intervalo determinado pelo formato.

baseDate Date <optional>

Data de onde será montada a data resultante, caso não seja informada será utilizada a data do dia corrente.

See:
Returns:

Data obtida a partir da string informada. Será gerado um erro caso não seja possível converter a string em uma data.

Type
Date

module:@nginstack/engine/lib/date/parseISO8601Date(stringDate)

Converte uma string no formato ISO 8601 em uma data. Será retornado null se o valor informado não for uma data válida.

Esta função trata as datas sem indicação de hora como datas locais, com as componentes de hora, minuto e segundo zeradas. Este comportamento difere da função Date.parse() que utiliza o fuso horário zero UTC como referência dessas datas.

Parameters:
Name Type Description
stringDate string

deve ser formatada utilizando o padrão ISO8601.

Deprecated:
  • Utilize "new Date()" ou "Date.parse()".
Returns:

retorna o tipo primitivo com ISO8601 sugerido, em caso de erro retorna null.

Type
Date
Example
var parseISO8601Date = require('@nginstack/engine/lib/date/parseISO8601Date');
var dt = parseISO8601Date('2015-06-09T16:52:41Z');

module:@nginstack/engine/lib/date/setDateWithTimeString(date, string)

Seta a hora, minuto e segundo de uma data a partir de uma string hh:mm:ss. Função mantida apenas para fins de compatibilidade com códigos que faziam da função global setDateWithTimeString. Em códigos novos, prefira utilizar module:@nginstack/engine/lib/date/fieldsToDate.

Parameters:
Name Type Description
date Date

Data base.

string string

String no formato hh:mm:ss para ser setado na data base.

Deprecated:
Returns:
Type
Date

module:@nginstack/engine/lib/date/truncateTimePart(date)

Retorna uma nova data a partir date, com a sua parte de tempo zerada, ou seja, com zero horas, minutos, segundos e milissegundos.

Esta função tem o objetivo de antecipar a truncagem realizada na gravação de colunas do tipo "date" no banco de dados.

Observação: no runtime V8, quando a data a ser truncada é o início do horário de verão, poderá ser retornada uma data com uma hora em vez de zero. Nesse dia específico, não há uma data válida com zero horas, pois o horário é adiantado em um hora a partir de meia-noite.

Parameters:
Name Type Description
date Date

Data base que terá a sua parte de tempo truncada.

Returns:

Nova data com a parte de tempo truncada.

Type
Date
Example
const truncateTimePart = require('@nginstack/engine/lib/date/truncateTimePart');
const dt = new Date(2019, 4, 21, 9, 51, 12, 789);
truncateTimePart(dt); // => 'Ter Mai 21 2019 00:00:00 GMT-0300 (Hora Padrão de Brasília)'

module:@nginstack/engine/lib/encoding/numberToHex(num)

Converte um number para sua representação em hexadecimal.

Observação: diferentemente das classes SHA256 e SHA512, esta função retorna a representação hexadecimal utilizando letras maiúsculas. Essa diferença de comportamento foi preservada a fim de garantir o funcionamento dos códigos existentes, mas ela pode ser eliminada no futuro. É recomendado que o resultado deste método seja convertido para o formato desejado utilizando os métodos toUpperCase() ou toLowerCase().

Parameters:
Name Type Description
num number

Número a ser convertido para hexadecimal.

Returns:

Representação do parâmetro num em hexadecimal.

Type
string

module:@nginstack/engine/lib/format/formatFileSize(bytes [, opt_decimals])

Formata o número de bytes de uma forma amigável para humanos, como 54, 450K, 1.3M, 5G etc.

Parameters:
Name Type Argument Description
bytes number

Número de bytes a serem formatados.

opt_decimals number <optional>

Quantidade de casas decimais. O padrão é 2.

Returns:

Tamanho em bytes formatado.

Type
string

module:@nginstack/engine/lib/format/numBytesToString(val [, opt_decimals] [, opt_suffix])

Converte o número de bytes em uma representação textual utilizando a convenção binária de escalas utilizando potências de 1024.

Por padrão será adicionado o sufixo "B", como '10.5KB', para evitar a confusão com valores com escalas que sejam potências de 1000.

Parameters:
Name Type Argument Description
val number

Valor a ser formatado.

opt_decimals number <optional>

Quantidade de casas decimais. O padrão é 2.

opt_suffix boolean <optional>

Se true, inclui o sufixo "B" na string retornada. Por padrão é true.

Returns:

Número de bytes formatados.

Type
string

module:@nginstack/engine/lib/format/numericValueToString(val [, opt_decimals])

Converte um valor numérico e sua representação textual utilizando as escalas do Sistema Internacional de Unidades para criar uma representação compacta do valor.

Parameters:
Name Type Argument Description
val number

Valor a ser formatado.

opt_decimals number <optional>

Quantidade de casas decimais. O padrão é 2.

Returns:

Número de bytes formatados.

Type
string

module:@nginstack/engine/lib/geo/formatAngle(val, format)

Formata o valor de um ângulo para uma expressão.

Parameters:
Name Type Description
val number

Valor do ângulo.

format AngleFormat | number

Formato desejado para gerar a expressão para o ângulo

Returns:

Ângulo formatado.

Type
string

module:@nginstack/engine/lib/geo/formatLatitude(val, format)

Formata a latitude de graus decimais para uma expressão no formato solicitado.

Parameters:
Name Type Description
val number

Valor em graus decimais da latitude.

format module:@nginstack/engine/lib/geo/LatitudeFormat~LatitudeFormat | number

Formato da expressão de latitude desejada.

Returns:

Expressão de latitude formatada.

Type
string

module:@nginstack/engine/lib/geo/formatLongitude(val, format)

Formata longitude de graus decimais para uma expressão no formato solicitado.

Parameters:
Name Type Description
val number

Valor em graus decimais da longitude.

format module:@nginstack/engine/lib/geo/LongitudeFormat~LongitudeFormat | number

Formato da expressão de longitude desejada.

Returns:

Expressão de longitude formatada.

Type
string

module:@nginstack/engine/lib/geo/parseAngle(val, format)

Converte uma expressão de ângulo para um valor.

Parameters:
Name Type Description
val string

Expressão do ângulo.

format AngleFormat | number

Formato desejado para gerar o valor para o ângulo

Returns:

Valor do ângulo.

Type
number

module:@nginstack/engine/lib/geo/parseLatitude(val, format)

Analisa uma expressão de latitude em qualquer formato válido definido em module:@nginstack/engine/lib/geo/LatitudeFormat para graus decimais.

Parameters:
Name Type Description
val string

Expressão da latitude a ser convertida para graus decimais.

format LatitudeFormat | number

Formato da expressão.

Returns:

Latitude em graus decimais.

Type
number

module:@nginstack/engine/lib/geo/parseLongitude(val, format)

Analisa uma expressão de longitude em qualquer formato válido definido em module:@nginstack/engine/lib/geo/LongitudeFormat para graus decimais.

Parameters:
Name Type Description
val string

Expressão da longitude a ser convertida para graus decimais.

format module:@nginstack/engine/lib/geo/LongitudeFormat~LongitudeFormat | number

Formato da expressão.

Returns:

Longitude em graus decimais.

Type
number

module:@nginstack/engine/lib/global/exportSymbol(publicPath, object [, opt_objectToExportTo])

Expõe um caminho alternativo para o objeto informado.

Parameters:
Name Type Argument Description
publicPath string

Caminho para o objeto.

object *

Objeto que será apontado pelo caminho informado.

opt_objectToExportTo Object <optional>

O objeto onde será adicionado o caminho. Por padrão será considerado o objeto global.


module:@nginstack/engine/lib/hash/superFastHash(str)

Executa o algoritmo SuperFastHash.

Parameters:
Name Type Description
str string

String que será utilizada pelo algoritmo SuperFastHash para gerar um hash correspondente.

Returns:

Hash gerado a partir da string informada no parâmetro.

Type
number

module:@nginstack/engine/lib/image/getMainImageUrl(key [, options])

Retorna a URL da imagem configurada como principal do registro. Caso não tenha imagem configurada como principal, retornará a primeira encontrada no vínculo, desde que não seja informada a opção "strictSearch".

Parameters:
Name Type Argument Description
key number

Chave do registro que deseja capturar a imagem.

options Object <optional>

Opções de obtenção da imagem.

Properties
Name Type Description
strictSearch boolean

Indica se deve trazer apenas a imagem sinalizada como padrão.

Returns:

URL da imagem, null caso não exista imagem.

Type
string

module:@nginstack/engine/lib/math/decimalRound(x, digits [, mode])

Arredonda um número com ponto flutuante.

Esta função também é publicada como ngin.math.decimalRound() no escopo global.

Parameters:
Name Type Argument Description
x number

Número a ser arredondado.

digits number

Quantidade máxima de casas decimais do número arredondado.

mode number <optional>

Modo de arredondamento. Valores possíveis:
RoundingMode.HALF_EVEN - Arredonda para o decimal mais próximo ou mantém o mesmo dígito;
RoundingMode.HALF_ODD - Arredonda para o decimal mais próximo ou para o dígito ímpar;
RoundingMode.HALF_POSITIVE - Arredonda para o decimal mais próximo ou para o maior valor mais próximo;
RoundingMode.HALF_NEGATIVE - Arredonda para o decimal mais próximo ou para o menor valor mais próximo;
RoundingMode.HALF_DOWN - Arredonda para o decimal mais próximo ou em direção a zero (truncamento);
RoundingMode.HALF_UP - Arredonda para o decimal mais próximo ou para longe do zero;
RoundingMode.FLOOR - Arredonda para o menor valor decimal mais próximo;
RoundingMode.CEILING - Arredonda para o maior valor decimal mais próximo;
RoundingMode.DOWN - Arredonda em direção a zero (truncamento);
RoundingMode.UP - Arredonda para longe de zero;
Valor padrão: RoundingMode.HALF_POSITIVE.

Returns:

Valor arredondado.

Type
number

module:@nginstack/engine/lib/math/isInteger(num)

Avalia se o número informado representa um número inteiro, sem uma parte fracional.

Parameters:
Name Type Description
num number

Número a ser testado.

Returns:

True se o valor informado for um inteiro.

Type
boolean

module:@nginstack/engine/lib/math/isNumber(value)

Indica se o valor informado é um número ou se pode ser convertido para um.

Parameters:
Name Type Description
value *

Valor a ser verificado.

Returns:

True se o valor for um número ou se puder ser convertido para um.

Type
boolean

module:@nginstack/engine/lib/math/isZero(x, precisionTolerance)

Verifica se um número pode ser considerado igual a zero. Compara o número com a faixa de precisão especificada, se for menor então ele pode ser considerado igual a zero.

Esta função também é publicada como ngin.math.isZero() no escopo global.

Parameters:
Name Type Description
x number

Valor a ser comparado com a faixa de precisão.

precisionTolerance number

Valor limite aceito.

Returns:

True se o número for menor que a faixa de precisão.

Type
boolean
Example
const isZero = require('@nginstack/engine/lib/math/isZero');
isZero(0.1, 0.001); // Retorna false
ngin.math.isZero(2, 4); // Retorna true

module:@nginstack/engine/lib/math/round(number, nDecimals)

Arredonda um número para a quantidade de casas decimais definidas.

Essa função é mantida apenas para compatibilidade com códigos antigos que fazem uso da função global round. Ela não deve ser utilizada em novos códigos e é sugerida a sua substituição pela module:@nginstack/engine/lib/math/decimalRound.

Parameters:
Name Type Description
number number

Número a ser arredondado.

nDecimals number

Quantidade de casas decimais de precisão.

Deprecated:
Returns:

Número arredondado.

Type
number

module:@nginstack/engine/lib/math/trunc(value, nDecimals)

Trunca um valor com precisão decimal.

Essa função é mantida apenas para compatibilidade com códigos antigos que fazem uso da função global round. Ela não deve ser utilizada em novos códigos e é sugerida a sua substituição pela module:@nginstack/engine/lib/math/decimalRound.

Parameters:
Name Type Description
value number

Número a ser truncado.

nDecimals number

Quantidade de casas decimais de precisão.

Deprecated:
Returns:

Número truncado.

Type
number

module:@nginstack/engine/lib/mime/isTextualType(mediaType)

Recebe um media type e retorna verdadeiro caso o mesmo seja textual.

Serão considerados textuais todos os tipos de mídia cadastrados na classe Mime Types (-1898187808) que não tenham a configuração "Codificado em Base64" ativa. Caso seja informado um tipo de mídia não cadastrado, será realizada uma heurística com base no subtipo de mídia e terminação de indicativo de tipo (+xml ou +json).

Parameters:
Name Type Description
mediaType DBKey | number | string

DBKey, chave numérica ou código de um media type.

Returns:

True se o tipo for textual.

Type
boolean

module:@nginstack/engine/lib/net/downloadFile(url, path [, ignoreSslErrors])

Possibilita download de arquivos por HTTP. Permite que se faça o download de grandes arquivos sem consumir muita memória, pois é feita gravação direta para o disco.

Parameters:
Name Type Argument Description
url string

Localização do arquivo na internet.

path string

Local onde o arquivo será salvo.

ignoreSslErrors boolean <optional>

Indica se certificados de segurança devem ser validados. Caso não seja informado, será considerado false.


module:@nginstack/engine/lib/object/deepClone(object)

Clona um mapa de valores ou um array. Ele não deve ser utilizado com instâncias de uma classe, pois o objeto retornado não terá o mesmo protótipo. Se os valores do mapa forem objetos com o método "clone", esse método será utilizado para duplicar o objeto.
Esta função não suporta referências circulares entre as propriedades de object. Para evitar uma recursão infinita, este método é limitado em 10000 cópias ou duplicações de valores. Ao atingir esse limite, será gerado um erro.

Parameters:
Name Type Description
object Record.<*, *> | Array

Objeto a ser clonado.

Returns:

Clone.

Type
Record.<*, *> | Array

module:@nginstack/engine/lib/object/deserialize(str)

Recria um objeto serializado pela função module:@nginstack/engine/lib/object/serialize.

Parameters:
Name Type Description
str string

Objeto serializado.

Deprecated:
  • Utilize JSON.
Returns:

Objeto restaurado a partir dos dados serializados.

Type
*

module:@nginstack/engine/lib/object/every(obj, f [, opt_obj])

Chama a função para cada elemento em um objeto, mapa ou hash. Se a chamada retornar false, retorna imediatamente com esse resultado sem checar o restante dos elementos. Retorna true apenas se todas as chamadas retornarem true.

Parameters:
Name Type Argument Description
obj Object

Objeto a ser iterado.

f function

Função que será chamada para cada elemento. A função receberá 3 argumentos: o elemento, o nome da propriedade e o objeto iterado. Ela deve retorna um valor booleano.

opt_obj Object <optional>

O valor informado será o 'this' dentro da função chamada.

Returns:

True se todas as chamadas retornarem true.

Type
boolean

module:@nginstack/engine/lib/object/filter(obj, f [, opt_obj])

Chama a função para cada elemento no objeto/mapa. Se a chamada retornar true, adiciona o elemento para o novo objeto retornado por esta função.

Parameters:
Name Type Argument Description
obj Object

Objeto a ser iterado.

f function

A função chamada para cada elemento. Ela receberá 3 argumentos (o elemento, o nome da propriedade e o objeto iterado) e deverá retornar um booleano. Se o valor retornado for true, o elemento será adicionado no objeto resultante. Se falso, o valor não será incluído.

opt_obj Object <optional>

Objeto a ser utilizado como 'this' dentro de f.

Returns:

Novo objeto com os elementos que satisfazem o filtro informado.

Type
Object

module:@nginstack/engine/lib/object/forEach(obj, f [, opt_obj])

Chama a função para cada elemento do objeto/mapa/hash.

Parameters:
Name Type Argument Description
obj Object

Objeto a ser iterado.

f function

A função que será chamada para cada elemento. Essa função recebe 3 argumentos (o valor do elemento, a chave do elemento e o objeto iterado). O resultado da função é irrelevante e será ignorado.

opt_obj Object <optional>

Valor a ser utilizado como this na execução da função.


module:@nginstack/engine/lib/object/hideFunctionSources(object)

Substitui todas as propriedades de obj e de obj.prototype que contenham funções por uma nova função que não possui o código-fonte acessível pelo método toString.

Parameters:
Name Type Description
object Object

Objeto a ter o acesso ao código-fonte das funções via método toString inibido.


module:@nginstack/engine/lib/object/inherits(childConstructor, parentConstructor)

Herda os métodos do protótipo de um construtor em um outro.

Esta função também é disponibilizada como ngin.inherits(), sendo preferível essa forma de uso em scripts da Virtual File System que não são módulos JavaScript.

Parameters:
Name Type Description
childConstructor function

Classe filha.

parentConstructor function

Classe mãe.

Examples
const inherits = require('@nginstack/engine/lib/object/inherits');
function ParentClass(a, b) {
}
ParentClass.prototype.foo = function(a) {
};

function ChildClass(a, b, c) {
  ParentClass.call(this, a, b);
}
inherits(ChildClass, ParentClass);

const child = new ChildClass('a', 'b', 'see');
child.foo(); // works
// A implementação de um método da superclasse pode ser invocado como segue:
ChildClass.prototype.foo = function(a) {
  ChildClass.superClass_.foo.call(this, a);
  // other code
};

module:@nginstack/engine/lib/object/isEmpty(obj)

Verifica se o objeto/mapa/hash está vazio.

Parameters:
Name Type Description
obj Object

Objeto a ser verificado.

Returns:

True se o objeto estiver vazio.

Type
boolean

module:@nginstack/engine/lib/object/isObject(val)

Retorna true se o valor especificado for um objeto, incluindo arrays e funções.

Parameters:
Name Type Description
val *

Variável a ser testada.

Returns:

True se a variável for um objeto.

Type
boolean

module:@nginstack/engine/lib/object/map(obj, f [, opt_obj])

Para cada elemento em um objeto/mapa/hash chama uma função e insere o resultado em um novo objeto com a mesma chave.

Parameters:
Name Type Argument Description
obj Object

Objeto que será iterado.

f function

A função que será chamada para cada elemento. Essa função recebe 3 argumentos (o valor do elemento, a chave do elemento e o objeto iterado) e deve retornar um valor. O retorno será inserido no resultado.

opt_obj Object <optional>

Valor a ser utilizado como this na execução da função.

Returns:

Um novo objeto com os resultados da função informada.

Type
Object

module:@nginstack/engine/lib/object/reduce(obj, func, val [, opt_obj])

Passa cada elemento do mapa para uma função e acumula o resultado.

Parameters:
Name Type Argument Description
obj Object

O mapa que será iterado.

func function

A função que será executada para cada elemento. Esta função irá receber 4 argumentos: o valor anterior ou o inicial, o elemento do mapa, a chave do mapa e o mapa. Exemplo:

function (previousValue, value, key, obj).

val Object

O valor inicial passado para a função f na primeira iteração.

opt_obj Object <optional>

O objeto que será utilizado como o valor de 'this' dentro de f.

Returns:

Resultado de avaliar f repetidamente para todos os elementos do array.

Type
*
Example
var reduce = require('@nginstack/engine/lib/object/reduce');
// O código abaixo
var obj = {
  nome: 'José',
  idade: 31
};
var valores = [];
var p;
for (var p in obj) {
    valores.push(obj[p]);
}
// Pode ser simplificado para:
var obj = {
  nome: 'José',
  idade: 31
};
var resultado = reduce(obj, function (r, v) {
  r.push(v);
  return r;
}, []);

module:@nginstack/engine/lib/object/serialize(v)

Cria uma representação textual de um objeto que pode ser posteriormente restaurado pela função module:@nginstack/engine/lib/object/deserialize.

Parameters:
Name Type Description
v *

Objeto a ser serializado.

Deprecated:
  • Utilize JSON.
Returns:

Representação textual do objeto.

Type
string

module:@nginstack/engine/lib/object/some(obj, f [, opt_obj])

Chama a função para cada elemento em um objeto, mapa ou hash. Se a chamada retornar true, retorna imediatamente com esse resultado sem checar o restante dos elementos. Retorna false apenas se todas as chamadas retornarem false.

Parameters:
Name Type Argument Description
obj Object

Objeto a ser iterado.

f function

Função que será chamada para cada elemento. A função receberá 3 argumentos: o elemento, o nome da propriedade e o objeto iterado. Ela deve retorna um valor booleano.

opt_obj Object <optional>

O valor informado será o 'this' dentro da função chamada.

Returns:

True se ao menos uma das chamadas retornar true.

Type
boolean

module:@nginstack/engine/lib/phone/parsePhone(phone)

Interpreta o valor informado como um número de telefone ou uma lista de números de telefones e retorna um array de

Parameters:
Name Type Description
phone *

module:@nginstack/engine/lib/product/applyDisablingProductKeyCreation(func [, opt_thisObj])

Executa a função garantindo que todas as chaves criadas serão positivas, ou seja, que não farão parte de um produto ou da faixa de chaves de customização, independente da configuração global de geração de chaves, configurada pela propriedade Session#createKeyLicense.

Parameters:
Name Type Argument Description
func function

Função que será executada.

opt_thisObj Object <optional>

Valor do this no contexto da função executada.

Returns:

Retorno da função executada.

Type
*

module:@nginstack/engine/lib/product/canRelateKeys(key, foreignKey)

Indica se uma relação entre duas chaves é válida, levando em consideração as dependências entre suas licenças.

Parameters:
Name Type Description
key number

A chave do registro que aponta para outro.

foreignKey number

O registro apontado por .

Returns:

Valor que indica a validade do relacionamento.

Type
boolean

module:@nginstack/engine/lib/product/getChangeableProducts()

Obtém todos os produtos que estão habilitados para desenvolvimento na base corrente.

Returns:

As chaves dos produtos habilitados.

Type
Array.<number>

module:@nginstack/engine/lib/product/getDependencies(productKey)

Retorna todos os produtos requeridos em uma base de dados para que o produto informado possa ser utilizado.

Parameters:
Name Type Description
productKey number

Chave do produto que terá as dependências consultadas.

Returns:

Chaves dos produtos das quais o produto informado depende.

Type
Array.<number>

module:@nginstack/engine/lib/product/getProductFromKey(key)

Obtém a chave do produto ao qual uma chave pertence.

Parameters:
Name Type Description
key number

A chave cujo produto se deseja obter.

Deprecated:
Returns:

A chave do produto ao qual a chave pertence. Se a chave informada for positiva, será retornado um valor nulo.

Type
number

module:@nginstack/engine/lib/progress/applyWithIndeterminateProgress(taskName, func [, opt_thisObj])

Executa a função informada gerando informações de progresso indeterminado para a interface do sistema. Um progresso indeterminado não exibirá um percentual de conclusão, apenas indicando que a tarefa está em execução.

A função informada func receberá como parâmetro a função worked, que opcionalmente poderá ser chamada para indicar que houve uma evolução na tarefa.

Parameters:
Name Type Argument Description
taskName string

Nome da tarefa.

func function

Função com a atividade que será executada com geração do progresso.

opt_thisObj Object <optional>

Valor de this no contexto da função func.

Returns:

Retorno da função informada em func.

Type
*
Example
var applyWithProgress = require('@nginstack/engine/lib/progress/applyWithProgress');
var version = applyWithIndeterminateProgress('Gravando alterações', function () {
  return ds.applyUpdates();
});

module:@nginstack/engine/lib/progress/applyWithProgress(taskName, totalWork, func [, opt_thisObj])

Executa a função informada gerando informações de progresso determinado para a interface do sistema. Um progresso determinado exibirá um percentual de conclusão.
A função informada func receberá como parâmetro a função worked, que deverá ser chamada para indicar que houve uma evolução na tarefa. A função worked deverá ser executada tantas vezes quanto indicado em totalWork.

Parameters:
Name Type Argument Description
taskName string

Nome da tarefa.

totalWork number

Indica quantas vezes a função worked será chamada por func.

func function

Função com a atividade que será executada com geração do progresso.

opt_thisObj Object <optional>

Valor de this no contexto da função func.

Returns:

Retorno da função informada em func.

Type
any
Example
var applyWithProgress = require('@nginstack/engine/lib/progress/applyWithProgress');
var sum = applyWithProgress('Totalizando dados', ds.recordCount, function (worked) {
  var sum = 0;
  for (ds.first(); !ds.eof; ds.next()) {
    sum += ds.valor * ds.fator;
    worked();
  }
  return sum;
});

module:@nginstack/engine/lib/regexp/findFirstMatch(text, exp)

Primeiro resultado de uma busca em um texto aplicando uma expressão regular.

Parameters:
Name Type Description
text string

Texto que será pesquisado.

exp Regex | string

Expressão regular utilizada para a busca.

Returns:

Primeiro resultado ou string vazia.

Type
string

module:@nginstack/engine/lib/regexp/findMatches(text, exp)

Todos os resultados de uma busca em um texto aplicando uma expressão regular.

Parameters:
Name Type Description
text string

Texto que será pesquisado

exp Regex | string

Expressão regular utilizada para a busca.

Returns:

Todos os resultado encontrados.

Type
Array.<string>

module:@nginstack/engine/lib/regexp/replaceAll(text, exp, replacement)

Realiza uma substituição na string, usando expressões regulares.

Parameters:
Name Type Description
text string

A string na qual ocorrerá a substituição.

exp string | Regex

A expressão regular a ser utilizada.

replacement string

A string a ser inserida onde houver um match.

Returns:

Uma nova string resultante da substituição da expressão na original informada.

Type
string

module:@nginstack/engine/lib/runner/executeScript(scriptReference [, parametersNames] [, parametersValues])

Executa um script no Engine que está executando a sessão corrente.

Parameters:
Name Type Argument Description
scriptReference number | string

Chave do script da VFS que deve ser executado ou caminho do script da UFS.

parametersNames Object <optional>

Array contendo o nome do parâmetro e o seu valor ([parameterName, parameterValue]) que pode ser repetido várias vezes.

parametersValues * <optional>
<repeatable>
Deprecated:
Example
const executeScript = require('@nginstack/engine/lib/runner/executeScript');
executeScript(585858, 'codigoEntidade', codEntidade, 'data', new Date());
executeScript(585858, ['codigoEntidade', 'data'], [codEntidade, new Date()]);
executeScript('ufs:/engine_modules/package/scripts/script.js');

module:@nginstack/engine/lib/string/adjustCase(s, caseType)

Ajusta a caixa das palavras de acordo com o padrão desejado. Tipos suportados:

  • upper: todo o texto será convertido para caixa alta.
  • lower: todo o texto será convertido para caixa baixa.
  • name ou mixed: cada palavra será iniciada com uma letra maiúscula exceto as preposições mais comuns utilizadas em nomes próprios. Atualmente não são capitalizadas as preposições "of", "da", "do", "de", "dos" e "das".
  • title: cada palavra com mais de uma letra será iniciada com maiúscula, exceto as preposições mais comuns em títulos.
  • statement: cada palavra que inicie um parágrafo será iniciada com letra maiúscula.
Parameters:
Name Type Description
s string

Texto a ser o case ajustado.

caseType string

Tipo de case desejado.

Returns:

Texto com o case ajustado.

Type
string

module:@nginstack/engine/lib/string/capitalize(str)

Retorna uma cópia da string com a primeira letra em "UpperCase" preservando o "case" do restante da string.

Parameters:
Name Type Description
str string

String que será definida com a primeira letra em "UpperCase".

Returns:

String que terá a primeira letra em "UpperCase".

Type
string

module:@nginstack/engine/lib/string/escapeRegExp(str)

Substitui os caracteres especiais de uma expressão regular pelas suas representações literais por meio de sequências de escape. Esta função foi descontinuada, utilizar Regex.escape.

Parameters:
Name Type Description
str string

String a ter os caracteres especiais substituídos por uma sequência de escape.

Deprecated:
  • Yes
See:
Returns:

String com caracteres especiais substituídos por uma sequência de escape.

Type
string
Example
const escapeRegExp = require('@nginstack/engine/lib/string/escapeRegExp');
escapeRegExp('.?'); // => '\\.\\?'

module:@nginstack/engine/lib/string/formatNumber(str)

Formata um número com um determinado número de casas decimais, arredondando se necessário.

Essa função é mantida apenas para compatibilidade com códigos antigos que fazem uso da função global formatNumber. Ela não deve ser utilizada em novos códigos.

Parameters:
Name Type Description
str string

Texto a ser convertido em um número.

Deprecated:
Returns:

Número inteiro convertido a partir de str.

Type
number

module:@nginstack/engine/lib/string/formatNumberPrecision(value, decimalPrecision, minPrecision, maxPrecision)

Formata o valor informado em um texto utilizando uma faixa de precisão.

Parameters:
Name Type Description
value number

Valor a ser formatado.

decimalPrecision number

Precisão decimal padrão.

minPrecision number

Mínimo de precisão decimal a formatar.

maxPrecision number

Máximo de precisão decimal a formatar.

Returns:

Número formatado.

Type
string

module:@nginstack/engine/lib/string/formatString(format, var_args)

Objeto que realiza conversões similares ao sprintf, ou seja, preenche valores sobre um template. Não é recomendado seu uso em casos simples que tenham conversões embutidas, como por exemplo 'foo: %.2f', pois um caso como esse é resolvido com melhor performance na forma 'foo: ' + bar.toFixed(2).

Parameters:
Name Type Description
format string

O template que contém os especificadores.

var_args string | number

Os valores para preencher sobre o template.

Deprecated:
  • Utilize module:module:@nginstack/engine/lib/string/toFormattedString.
Author:
  • Adaptado de goog.string da Closure Library
Returns:

A string formatada.

Type
string

module:@nginstack/engine/lib/string/htmlString()

Obtém o valor da String e retorna uma String, substituindo os caracteres especiais (como por exemplo o "ç") pelo padrão HTML ISO Latin-1, com o objetivo de manter a compatibilidade e legibilidade nos browsers.

Deprecated:
Returns:

Código HTML na codificação ISO Latin-1.

Type
string
Example
const htmlString = require('@nginstack/engine/lib/string/htmlString')
toHtmlString('mãe'); // 'm&#227;e'

module:@nginstack/engine/lib/string/identifierToName(identifier)

Obtém um nome de exibição a partir de um identificador JavaScript. Essa função busca realizar o inverso da função module:@nginstack/engine/lib/nameToIdentifier.

Parameters:
Name Type Description
identifier string

Identificar a ser utilizado com base para o nome a ser gerado.

See:
Returns:

Nome gerado a partir do identificador.

Type
string

module:@nginstack/engine/lib/string/indexOfChars(str, chars [, index])

Busca por vários caracteres em uma String.

Parameters:
Name Type Argument Description
str string

String onde será realizada a busca.

chars Array.<string>

Caracteres que serão procurados em str.

index number <optional>

Índice do primeiro caractere da string str, a partir do qual a busca é realizada.

Returns:

Índice do primeiro caractere presente no array achado em str, ou -1 se nenhum caractere foi encontrado.

Type
number

module:@nginstack/engine/lib/string/match(str, pattern)

Verifica se uma string corresponde ao padrão informado, ignorando acentos e não diferenciando letras maiúsculas de minúsculas.

Essa função implementa o mesmo algoritmo de comparação do método String.prototype.match quando utilizado o runtime JavaScript Ije. Nesse runtime, o padrão não é descrito por uma expressão regular, e sim por meio de um formato legado e proprietário onde a expressão .. é equivalente ao % do operador LIKE da linguagem SQL. Ela deve ser utilizada em códigos que precisem manter o comportamento legado do método match no runtime V8.

Parameters:
Name Type Description
str string

String que será verificada.

pattern string

Padrão que será verificado.

Returns:

Retorna true se a string possui o padrão informado.

Type
boolean
Example
const match = require('@nginstack/engine/lib/string/match.js');
match('Bob has a table', '..has a..'); // => // true
match('Bob has a table', 'Bob..'); // => // true
match('Bob has a table', 'Bob..table'); // => // true
match('Bob has a table', '..TABLE'); // => // true
match('Bob has a table', 'Bob'); // => // false
match('Bob has a table', 'bob has a table'); // => // true

module:@nginstack/engine/lib/string/nameToIdentifier(name [, opt_capitalize] [, opt_preserveCaseIfOnlyAWord])

Converte um nome em um identificador JavaScript válido para ser a propriedade de um objeto ou uma variável global.

Parameters:
Name Type Argument Description
name string

Nome a ser convertido.

opt_capitalize boolean <optional>

Indica se deve retornar a primeira letra em maiúscula.

opt_preserveCaseIfOnlyAWord boolean <optional>

Indica se deve ser preservada a caixa das letras caso seja informada uma única palavra.

See:
Returns:

Identificador gerado a partir do nome.

Type
string

module:@nginstack/engine/lib/string/onlyNumbers(s)

Retorna uma string contendo apenas os caracteres numéricos da string informada.

Parameters:
Name Type Description
s string

Texto a ser filtrado.

Returns:

Nova string contendo apenas os caracteres numéricos da string informada.

Type
string

module:@nginstack/engine/lib/string/padNumber(num, length [, opt_precision])

Complementa a parte inteira do número com zeros até atingir o tamanho desejado e opcionalmente aumenta ou arredonda a precisão para o valor informado.

Parameters:
Name Type Argument Description
num number

O valor numérico que será complementado.

length number

O tamanho desejado.

opt_precision number <optional>

A precisão informada.

Returns:

num como uma string com as dadas opções.

Type
string
Example
var padNumber = require('@nginstack/engine/lib/string/padNumber');
padNumber(1.25, 2, 3); // '01.250'
padNumber(1.25, 2); // '01.25'
padNumber(1.25, 2, 1); // '01.3'
padNumber(1.25, 0); // '1.25'

module:@nginstack/engine/lib/string/padString(content, size [, align] [, padChar])

Complementa o conteúdo informado com padChar até atingir o tamanho desejado, alinhando-o com base em align.

Parameters:
Name Type Argument Description
content string

Texto a ser complementado.

size size

Tamanho da string desejada.

align string <optional>

Alinhamento de content dentro da string retornada. Valores possíveis: 'left', 'right' ou 'center'. Será considerado 'left' caso não seja informado.

padChar string <optional>

String que será utilizada para complementar content até atingir o tamanho size. Ela sempre deve ter tamanho 1.

Returns:

O conteúdo informado complementado com padChar até atingir o tamanho size.

Type
string

module:@nginstack/engine/lib/string/removeAccents(str)

Retornar uma copia normalizada da string com todos os caracteres sem acentos.

Parameters:
Name Type Description
str string

String a ser normalizada.

Returns:

String normalizada.

Type
string

module:@nginstack/engine/lib/string/removeAt(s, index, stringLength)

Remove uma substring de um determinado tamanho na posição informada.

Parameters:
Name Type Description
s string

A string da qual será removida uma parte.

index number

A posição da qual será removida a substring.

stringLength number

O tamanho da substring a ser removida.

Returns:

Uma cópia de s sem a substring ou a string completa caso nada for removido ou se s não for uma string.

Type
string

module:@nginstack/engine/lib/string/removeChars(str, arrayChar)

Remove de uma string um ou mais caracteres desejados.

Parameters:
Name Type Description
str string

String de onde serão removidos os caracteres.

arrayChar Array.<string>

Array de caracteres que serão removidos da string.

Returns:

String sem os caracteres informados.

Type
string
Example
var removeChars = require('@nginstack/engine/lib/string/removeChars');
var str = "Você conhece, a empresa?";
var arrayChar = ['?', ',', 'V'];
removeChars(str, arrayChar);

module:@nginstack/engine/lib/string/removeLineBreaks(str)

Remove as quebras de linha de uma string.

Parameters:
Name Type Description
str string

A string da qual se desejam remover as quebras de linha.

Returns:

String correspondente a informada, mas sem as quebras de linha. As quebras de linha serão substituídas por um caractere de espaço.

Type
string

module:@nginstack/engine/lib/string/removePrefix(str, prefix)

Remove um prefixo caso exista um.

Parameters:
Name Type Description
str string

A string que terá o prefixo removido.

prefix string

Prefixo que deve ser removido.

Returns:

A string sem o prefixo informado.

Type
string

module:@nginstack/engine/lib/string/removeSuffix(str, suffix)

Remove um sufixo, caso exista.

Parameters:
Name Type Description
str string

A string que terá o sufixo removido.

suffix string

Sufixo que deve ser removido.

Returns:

A string sem o sufixo informado.

Type
string

module:@nginstack/engine/lib/string/replaceAll(str, searchValue, replaceValue)

Retorna uma nova string com todas as ocorrências de searchValue em str substituídas por replaceValue.

Parameters:
Name Type Description
str string

A string que terá as ocorrências searchValue substituídas.

searchValue string

Valor a ser substituído.

replaceValue string

Valor que substituíra searchValue.

Returns:

Uma nova string com as ocorrências de searchValue substituídas.

Type
string
Example
const replaceAll = require('@nginstack/engine/lib/string/replaceAll');
replaceAll('test abc test abc', 'abc', 'ok'); // => 'test ok test ok'

module:@nginstack/engine/lib/string/splitByCommaOrSemicolon(s)

Avalia se o texto passado possui vírgulas (,) ou pontos e vírgulas (;) e gera um Array usando o caractere encontrado como separador. Caso nenhum dos dois caracteres seja encontrado será retornado o Array com apenas um valor contendo a sentença.

Parameters:
Name Type Description
s string

Sentença que será avaliada.

Returns:

Array gerado a partir de s.

Type
Array.<string>

module:@nginstack/engine/lib/string/stringCompare(referenceStr, compareStr)

Retorna um número inteiro indicando se referenceStr vem antes, depois ou se é equivalente a compareStr em uma ordenação de texto ignorando acentos e diferenças entre letras maiúsculas e minúsculas.

Para fins de comparação, valores nulos são considerados equivalentes a uma string vazia.

Esta função utiliza a mesma regra de comparação de campos do tipo string do DataSet, sendo apropriada para navegar sobre registros ordenados com valores repetidos.

Esta função também é publicada como ngin.text.compare() no escopo global e é uma alternativa compatível com runtime V8 ao método String.prototype.compare() implementado no runtime Ije.

Parameters:
Name Type Description
referenceStr string

String que será comparada.

compareStr string

String contra a qual referenceStr será comparada.

Returns:

Será retornado um número negativo se referenceStr vier antes de compareStr, positivo se vier depois e zero se forem equivalentes.

Type
number
Examples
const stringCompare = require('@nginstack/engine/lib/string/stringCompare');
const keys = [];
ds.indexFieldNames = 'iName;'
if (ds.find(value)) {
  while (!ds.eof; stringCompare(ds.str('iName'), value)) {
    keys.push(ds.dbkey('iKey'));
    ds.next();
  }
}
const stringCompare = require('@nginstack/engine/lib/string/stringCompare');
stringCompare('A', 'Á'); // => 0
stringCompare('A', 'a'); // => 0
stringCompare('test', 'TEST'); // => 0
stringCompare('Abc', 'Abcd'); // => negative value
stringCompare('Def', 'Abc'); // => positive value

module:@nginstack/engine/lib/string/stringToInt32(str)

Converte um texto em um número inteiro de 32 bits, ignorando o separador de milhar caso seja informado, ou gera um erro caso não seja possível realizar a conversão.

Essa função é mantida apenas para compatibilidade com códigos antigos que fazem uso da função global stringToInt32. Ela não deve ser utilizada em novos códigos.

Parameters:
Name Type Description
str string

Texto a ser convertido em um número.

Returns:

Número inteiro convertido a partir de str.

Type
number

module:@nginstack/engine/lib/string/stringToInteger(str)

Converte um texto em um número inteiro, ignorando o separador de milhar caso seja informado, ou gera um erro caso não seja possível realizar a conversão.

Essa função é mantida apenas para compatibilidade com códigos antigos que fazem uso da função global stringToInteger. Ela não deve ser utilizada em novos códigos.

Parameters:
Name Type Description
str string

Texto a ser convertido em um número.

Returns:

Número inteiro convertido a partir de str.

Type
number

module:@nginstack/engine/lib/string/stringToNumber(str)

Converte um texto em um número, ignorando o separador de milhar caso seja informado, ou gera um erro caso não seja possível realizar a conversão.

Essa função é mantida apenas para compatibilidade com códigos antigos que fazem uso da função global stringToNumber. Ela não deve ser utilizada em novos códigos.

Parameters:
Name Type Description
str string

Texto a ser convertido em um número.

Returns:

Número convertido a partir de str.

Type
number

module:@nginstack/engine/lib/string/toFormattedString(value, format)

Converte um valor numérico ou uma data para uma string, aplicando uma máscara de formatação.

Este método implementa o mesmo comportamento do método toString() do runtime JavaScript Ije quando informado o parâmetro adicional de formatação, parâmetro esse uma extensão implementada apenas nesse runtime, que não faz parte da especificação do ECMAScript.

Para valores do tipo number ou DBKey, a máscara de formatação deve ter a seguinte estrutura:

"%" ["-"] [tamanho] ["." precisão] tipo

Tipos suportados:

  • d: decimal. O argumento será truncado para um inteiro de 32 bits e convertido em uma string de dígitos decimais. Se o formato especificar uma precisão, ela indicará que a string resultante deve conter ao menos essa quantidade de dígitos. Se o valor tiver menos dígitos, ele será complementado com zeros à esquerda.
  • u: decimal sem sinal. Similar ao d, mas os valores são truncados e convertidos em inteiros de 32 bits sem sinal antes de serem formatados.
  • e: científico. O valor é convertido para uma string no formato "-d,ddd...E+ddd". O número total de dígitos é determinado pela precisão e inclui os dígitos que precedem o ponto decimal. A precisão será 15 se uma não for informada. O caractere "E" é sempre seguido de um sinal e de ao menos 3 dígitos.
  • f: fixo. O valor é convertido para uma string no formato "-dddd,ddd...". O número de dígitos é determinado pela precisão, e será assumido 2 se uma não for informada.
  • g: geral. O valor é convertido para a menor representação decimal possível, utilizado o formato fixo ou o científico. O número de dígitos significativos é dado pela precisão, e será assumido 15 caso não seja informada uma. Os zeros não significativos serão removidos e um ponto decimal será inserido apenas se for necessário. Será retornada uma string no formato fixo se o número de dígitos à esquerda do ponto decimal for menor ou igual que a precisão especificada e se o valor for maior ou igual que 0,00001. Nos demais casos, será utilizado o formato científico.
  • n: numérico. O valor é convertido para uma string no formato "-d.ddd.ddd,ddd...", similar ao formato fixo, exceto que a string retornada conterá separadores de milhares.
  • x: hexadecimal. O argumento será truncado para um inteiro de 32 bits e convertido em uma string com a sua representação hexadecimal. Se o formato especificar uma precisão, ela indicará qua string resultante deve conter ao menos essa quantidade de dígitos. Se o valor tiver menos dígitos, ele será complementado com zeros à esquerda.

Para valores do tipo Date, o formato é definido por uma expressão contendo um ou vários especificadores de exibição, como 'hh:nn:ss'. Especificadores suportados:

  • d: exibe o dia como um número não precedido de zero (1-31).
  • dd: exibe o dia como um número precedido de zero (01-31).
  • ddd: exibe a abreviação do dia da semana (Dom-Sab).
  • dddd: exibe o nome do dia da semana (Domingo-Sábado).
  • m: exibe o mês como um número não precedido de zero (1-12). Se o especificador m for seguido do especificador h ou hh, serão exibidos os minutos em vez do mês.
  • mm: exibe o mês como um número precedido de zero (01-12). Se o especificador mm for seguido do especificador h ou hh, serão exibidos os minutos em vez do mês.
  • mmm: exibe a abreviação do mês (Jan-Dez).
  • mmmm: exibe o nome completo do mês (Janeiro-Dezembro).
  • yy: exibe o ano como um número de dois dígitos (00-99).
  • yyyy: exibe o ano como um número de quatro dígitos (0000-9999).
  • h: exibe as horas como um número não precedido de zero (0-23).
  • hh: exibe as horas como um número precedido de zero (00-23).
  • n: exibe os minutos como um número não precedido de zero (0-59).
  • nn: exibe os minutos como um número precedido de zero (00-59).
  • s: exibe os segundos como um número não precedido de zero (0-59).
  • ss: exibe os segundos como um número precedido de zero (00-59).
  • z: exibe os milissegundos como um número não precedido de zero (0-999).
  • zzz: exibe os milissegundos como um número precedido de zeros (000-999).
  • /: exibe o caractere separador de data.
  • :: exibe o caractere separador de hora.
  • 'xx' ou "xx": exibe os caracteres delimitados pelas aspas de forma literal.

Ao formatar os valores, serão adotadas as configurações regionais do sistema operacional para determinar os separadores decimal e de milhares, além dos formatos de data e hora. Atualmente, essas configurações são fixas no padrão "pt-br", mas esse comportamento poderá ser modificado no futuro.

Esta função também é publicada como ngin.text.toFormattedString() no escopo global, sendo preferível essa forma de uso em scripts da Virtual File System que não são módulos JavaScript.

Parameters:
Name Type Description
value *

Valor a ser formato.

format string

Formato a ser aplicado.

Returns:

Valor convertido em uma string de acordo com format. Se não for informado um formato, ou se value não for numérico ou uma data, será realizada a conversão para uma string por meio do método value.toString(), exceto quando o valor for null. Nesse caso específico, será retornada uma string vazia.

Type
string
Examples
const toFormattedString = require('@nginstack/engine/lib/string/toFormattedString');
toFormattedString(10.578, '%.3n'); // => '10,578'
toFormattedString(10.578, '%.2n'); // => '10,58'
toFormattedString(10.578, '%.1n'); // => '10,6'
toFormattedString(10.578, '%.0n'); // => '11'
toFormattedString(10.578, '%4.0n'); // => '  11'
const toFormattedString = require('@nginstack/engine/lib/string/toFormattedString');
toFormattedString(Math.PI, '%f'); // '3,14'
toFormattedString(Math.PI, '%g'); // '3,14159265358979'
toFormattedString(Math.PI, '%n'); // '3,14'
toFormattedString(Math.PI, '%e'); // '3,14159265358979E+000'
const toFormattedString = require('@nginstack/engine/lib/string/toFormattedString');
toFormattedString(Math.pow(2, 16) - 1, '%.8x'); // => '0000FFFF'
const toFormattedString = require('@nginstack/engine/lib/string/toFormattedString');
const dt = new Date(2019, 1, 2, 3, 4, 5, 6);
toFormattedString(dt, 'dddd, dd "de" mmmm "de" yyyy'); // => 'Sábado, 02 de Fevereiro de 2019'

module:@nginstack/engine/lib/string/toHtmlString(value [, format] [, maxWordLength] [, crlfToBr])

Converte um valor textual, numérico ou uma data em uma string que pode ser inserida em um HTML de forma opaca.

Ela substitui os caracteres acentuados e símbolos por entidades HTML, evitando que eles sejam interpretados como tags ou outros caracteres de controle. A exceção é a sequência de caracteres CR (13) LF (10), que são substituídos por \<br\> por padrão, comportamento esse que pode ser desativado pelo parâmetro crlfToBr. Opcionalmente pode ser aplicada uma máscara de formatação para os valores numéricos.

Este método implementa o mesmo comportamento do método toHtmlString() do runtime JavaScript Ije, método esse uma extensão implementada apenas nesse runtime que não faz parte da especificação do ECMAScript. O comportamento dos parâmetros opcionais format, maxWordLength e crlfToBr varia de acordo com o tipo de value e devem ser evitados em códigos novos. Eles são mantidos apenas para garantir a compatibilidade desta função com o método Object.prototype.toHtmlString().

Ao formatar os valores, serão adotadas as configurações regionais do sistema operacional para determinar os separadores decimal e de milhares, além dos formatos de data e hora. Atualmente essas configurações são fixas no padrão "pt-br", mas esse comportamento poderá ser modificado no futuro.

Esta função também é publicada como ngin.text.toHtmlString() no escopo global, sendo preferível essa forma de uso em scripts da Virtual File System que não são módulos JavaScript.

Parameters:
Name Type Argument Default Description
value *

Valor a ser convertido em uma string HTML.

format string <optional>
''

Formato opcional a ser aplicado caso value seja um número ou um DBKey. Este parâmetro é ignorado para os demais tipos. Veja module:@nginstack/engine/lib/string/toFormattedString para os formatos suportados.

maxWordLength number <optional>
1000000000

Tamanho máximo das palavras. Será inserido um espaço quando palavra ultrapassar esse tamanho, garantindo que haja assim uma quebra de linha forçada.

crlfToBr boolean <optional>
true
Returns:

Valor convertido em uma string que pode ser inserida em um HTML.

Type
string
Example
const toHtmlString = require('@nginstack/engine/lib/string/toHtmlString');
toHtmlString('10 <> 20'); // => '10 &#60;&#62; 20'
toHtmlString('Ação'); // => 'A&#231;&#227;o'
toHtmlString(10.578, '%.3n'); // => '10,578'
toHtmlString(true); // => 'true'
toHtmlString(null); // => ''

module:@nginstack/engine/lib/string/toLowerCaseNoAccent(str)

Retornar uma copia normalizada da string com todos os caracteres em caixa baixa e sem acentos.

Parameters:
Name Type Description
str string

String a ser normalizada.

Returns:

String normalizada.

Type
string

module:@nginstack/engine/lib/string/toLowerCaseNoAccent(str)

Retorna uma copia normalizada da string com todos os caracteres em caixa alta e sem acentos.

Parameters:
Name Type Description
str string

String a ser normalizada.

Returns:

String normalizada.

Type
string

module:@nginstack/engine/lib/string/toSqlIdentifier(name)

Converte o valor informado em um identificador válido, como o nome de uma tabela ou coluna, de forma que ele possa ser utilizado de forma segura em consultas SQL.

Somente serão permitidas letras, números e o caractere "_". Caracteres acentuados serão substituídos pelos seus equivalentes não acentuados. Os demais caracteres serão removidos da string.

Apesar de alguns bancos de dados permitirem escapar os identificadores com aspas duplas, esta função opta por não usar esse recurso para escapar o identificador. O uso de aspas duplas torna o identificador sensível à diferença entre letras minúsculas e maiúsculas, dificultando a interoperabilidade do seu uso entre os distintos SGBDs suportados pelo sistema.

Identificadores precisam iniciar com uma letra e não podem ser palavras chaves SQL. Será gerado um erro se o identificador não satisfizer essas restrições.

O uso desta função é restrita para identificadores. Valores literais utilizados em filtros ou expressões de colunas retornadas por comandos SQL devem ser formatadas utilizando a função toSqlString.

Parameters:
Name Type Description
name *

Valor a ser convertido em um identificador.

Returns:

String que pode ser inserida em uma expressão SQL.

Type
string
Examples
const toSqlIdentifier = require('@nginstack/engine/lib/string/toSqlIdentifier');
const toSqlString = require('@nginstack/engine/lib/string/toSqlString');

function getRecord(tableName, key) {
  return database.query(
    'SELECT * ' +
    'FROM ' + toSqlIdentifier(tableName) + ' ' +
    'WHERE iKey = ' + toSqlString(key)
  );
}
const toSqlIdentifier = require('@nginstack/engine/lib/string/toSqlIdentifier');
toSqlIdentifier('Test'); // => 'Test'
toSqlIdentifier('Test Space'); // => 'TestSpace'
toSqlIdentifier('10A'); // => Error()
toSqlIdentifier(null); // => Error()
toSqlIdentifier(new Date(2019, 5, 10)); // => Error()
toSqlIdentifier('SELECT'); // => Error()

module:@nginstack/engine/lib/string/toSqlString(str)

Converte o valor em uma string equivalente que possa ser inserida em uma expressão SQL. Valores numéricos são formatados com no máximo dez casas decimais.

O seu uso é recomendado para valores literais utilizados em filtros ou expressões de colunas retornadas por comandos SQL. Para identificadores, como os nomes de tabelas e colunas, deve ser utilizada a função toSqlIdentifier.

Esta função também é publicada como ngin.text.toSqlString() no escopo global, sendo preferível essa forma de uso em scripts da Virtual File System que não são módulos JavaScript.

Parameters:
Name Type Description
str *

Valor a ser convertido.

Returns:

String que pode ser inserida em uma expressão SQL.

Type
string
Example
const toSqlString = require('@nginstack/engine/lib/string/toSqlString');
toSqlString('Test'); // => "'Test'"
toSqlString(null); // => "null"
toSqlString(10.2); // => "10.2"
toSqlString(new Date(2019, 5, 10)); // => "06/10/2019"

module:@nginstack/engine/lib/sync/activeWaitFor(func, timeout [, opt_options])

Executa uma dada função em um intervalo de tempo regular, definido ou calculado. Essa sequência de chamadas se repetirá até que a função retorne valor lógico verdadeiro ou até o atingimento do tempo limite, o que ocorrer primeiro.

Parameters:
Name Type Argument Description
func function

Função que será invocada ciclicamente.

timeout number

Tempo de espera limite.

opt_options Object <optional>

Parâmetros opcionais da função.

Properties
Name Type Argument Description
interval number <optional>

Intervalo de tempo entre duas chamadas consecutivas da função informada. Caso não seja informado, haverá um cálculo automático para a definição do intervalo, que ficará entre 2 segundos e 250 milissegundos com base no timeout informado.

thisArg Object <optional>

O objeto que será utilizado como o valor de 'this' dentro de func.

Returns:

Retorna o valor lógico retornado na chamada da função func.

Type
boolean

module:@nginstack/engine/lib/sync/sleep(msecs)

Para a execução da thread corrente responsável pela execução do JavaScript pela quantidade de milissegundos informada.

Importante: o uso dessa função não é recomendada, pois os recursos do servidor que poderiam estar sendo utilizados no atendimento de outras requisições estarão parcialmente bloqueados durante o tempo informado.

Parameters:
Name Type Description
msecs number

Tempo que a thread de atendimento deve dormir em milissegundos.


module:@nginstack/engine/lib/testing/classdef/testModelDefs( [opt_options])

Verifica se uma classe e suas filhas possuem erros que impeçam a instanciação da definição de visão da classe de dados.

Parameters:
Name Type Argument Description
opt_options Object | Record.<*, *> <optional>

Objeto contendo as opções para a validação das classes. Opções disponíveis:

  • baseClass: classe cuja hierarquia será verificada. Caso não seja informada, serão validadas todas as classes.
  • products: chaves dos produtos nos quais a verificação será feita. Caso sejam informadas, somente classes pertencentes a esses produtos serão validadas.
  • forceStrictMode: executa todas as classes com o modo estrito ativo, independente da configuração da classe de dados.
Returns:

A quantidade de classes testadas.

Type
number

module:@nginstack/engine/lib/testing/classdef/testViewDefs( [options])

Verifica se uma classe e suas filhas possuem erros que impeçam a instanciação da definição de visão da classe de dados.

Parameters:
Name Type Argument Description
options Object | Record.<*, *> <optional>

Objeto contendo as opções para a validação das classes. Opções disponíveis:

  • baseClass: classe cuja hierarquia será verificada. Caso não seja informada, serão validadas todas as classes.
  • products: chaves dos produtos nos quais a verificação será feita. Caso sejam informadas, somente classes pertencentes a esses produtos serão validadas.
Returns:

A quantidade de classes testadas.

Type
number

module:@nginstack/engine/lib/testing/route/testRouteDefs(product)

Realiza a validação de rotas em /Configuração/Rotas HTTP pelo produto informado.

Parameters:
Name Type Description
product number

Chave do produto (faixa de chaves) do qual deseja-se validar a definição das rotas.


module:@nginstack/engine/lib/testing/vfs/testIncludeOnce(fileKey)

Verifica se incluir o arquivo da Virtual File System informado em um ambiente isolado provoca algum tipo de erro que impeça o seu uso.

Este método é útil para fazer um teste de fumaça de uma biblioteca armazenada na Virtual File System.

Parameters:
Name Type Description
fileKey number

Chave do arquivo a ser importado.


module:@nginstack/engine/lib/url/appendPath(baseUri, path)

Gera uma URI usando uma outra dada URI e um caminho prevenindo que seja inseridos mais de um separador. O parâmetro baseUri informado não deve conter query ou identificadores de fragmentos.

Parameters:
Name Type Description
baseUri string

URI to use as the base.

path string

Path to append.

Returns:

Updated URI.

Type
string

module:@nginstack/engine/lib/url/extractNameFromUrl(url)

Extrai o último nome da URL, ignorando uma possível extensão de arquivo.

Esse módulo tem o objetivo exclusivo de garantir a compatibilidade com códigos que fazem uso da antiga função global extractNameFromUrl. Códigos novos devem evitar utilizar essa função, pois ela presume que uma URL sempre apontará para uma arquivo.

Parameters:
Name Type Description
url string

URL a ter o nome extraído.

Returns:

Nome do arquivo indicado pela URL.

Type
string

module:@nginstack/engine/lib/uuid/createGUID(removeFormatChars)

Cria um Globally Unique Identifier - GUID.

Parameters:
Name Type Description
removeFormatChars boolean

Se verdadeiro, retorna um GUID sem caracteres de formatação.

Returns:

GUID gerado.

Type
string
Example
var createGUID = require('@nginstack/engine/lib/uuid/createGUID');
var guidFormatted   = createGUID(false); // {21EC2020-3AEA-1069-A2DD-08002B30309D}
var guidUnformatted = createGUID(true);  // 21EC20203AEA1069A2DD08002B30309D

module:@nginstack/engine/lib/version/compareVersions(a, b)

Compara duas versões no formato n.n.n ou n.n.n.n. Cada número n de uma versão é comparado com seu equivalente na outra versão. Caso haja algum n da primeira versão seja maior que seu equivalente na segunda versão, o resultado será 1

Parameters:
Name Type Description
a string

Primeira versão da comparação.

b string

Segunda versão da comparação.

Returns:

Valor que indicará o resultado da comparação da primeira com a segunda versão. Caso as versões sejam iguais, retornará 0. Caso a primeira versão seja maior que a segunda, retornará um número > 0. Finalmente, caso a primeira versão seja menor do que a segunda, retornará um número < 0.

Type
number

module:@nginstack/engine/lib/xml/formatCDATA(str)

Insere a string informada dentro de uma seção XML CDATA e garante que o conteúdo não contém uma outra seção CDATA filha.

Parameters:
Name Type Description
str string

Conteúdo da seção CDATA.

Returns:

Seção CDATA formatada com conteúdo informado.

Type
string

module:@nginstack/engine/lib/xml/removeUnsupportedChars(str)

Remove os caracteres Cancel (24), File Separator (28), Group Separator (29), Record Separator (30) e Unit Separator (31), não suportados por XMLs codificados em ISO-LATIN-8859-1.

Parameters:
Name Type Description
str string

Texto que terá os caracteres não suportados removidos.

Returns:

Texto sem caracteres não suportados.

Type
string
Example
var removeUnsupportedChars = require('@nginstack/engine/lib/xml/removeUnsupportedChars');
var cleanText = removeUnsupportedChars(userText);

module:@nginstack/web-framework/lib/classdef/classHasGlobalActions(classKey)

Checa se uma classe têm ações globais configuradas.

Parameters:
Name Type Description
classKey number

Chave da classe.

Returns:

Indica se a classe possui ações globais.

Type
boolean

module:@nginstack/web-framework/lib/css/formatInlineStyle(style)

Formata um conjunto de definições de estilo para uma única string contendo o estilo a ser inserido em uma tag HTML.

Parameters:
Name Type Description
style Object.<string>

Mapa associando propriedades de estilo HTML a seus valores.

Returns:

Representação textual das propriedades informadas e seus valores.

Type
string

module:@nginstack/web-framework/lib/css/formatStyleAttr(styles)

Gera um atributo style com os estilos informados.

Parameters:
Name Type Description
styles Object.<string, *>

Mapa com os estilos que devem ser adicionados no atributo.

Returns:

Retorna o atributo style a ser adicionado em uma tag. Será retornada uma string vazia se styles for nulo ou um mapa vazio.

Type
string

module:@nginstack/web-framework/lib/css/normalizeUnit(dim)

Normaliza um valor para um valor suportado pelo estilo em pixels. Somente há essa normalização quando é informado um número.

Parameters:
Name Type Description
dim number | string

Dimensão a ser normalizada.

Returns:

Dimensão válida a ser utilizada no estilo.

Type
string

module:@nginstack/web-framework/lib/html/htmlToText(str)

Transforma uma string com componentes html em texto plano, preservando espaços e nomes de entidades

Parameters:
Name Type Description
str string

String que deve ser transformada.

Returns:
Type
string

module:@nginstack/web-framework/lib/settings/newSettingsGrid(settingsId [, options])

Cria uma grade para o preenchimento das configurações gerais.

Será criado um campo para cada configuração com o mesmo nome da configuração. Para configurações que aceitam múltiplos valores, o tipo desse campo será "grid" e será criado um dataset temporário para armazenar os múltiplos valores da configuração. Esses valores poderão ser lidos pelo campo "value" do DataSet e da grade detalhe.

Caso todas as configurações possuam o mesmo "Grupo", ele será suprimido na criação dos campos e sugerido como título da grade, caso a opção title não tenha sido informada.

Parameters:
Name Type Argument Description
settingsId string | number | DBKey | Array.<string> | Array.<number> | Array.<DBKey>

Identificador de uma configuração específica ou de uma seção de configurações. Também pode ser informado um array de identificadores.

options Object <optional>

Opções de criação da grade.

Properties
Name Type Argument Description
process module:@nginstack/web-framework/lib/process/Process~Process <optional>

Processo onde deve ser criada a grade. Caso não seja informado, será criada no processo em uso pelo usuário.

title string <optional>

Título da grade. Caso não seja informado, será utilizado o título "Configurações".

name string <optional>

Nome da grade. Caso não seja informado, será gerado um nome único.

help string <optional>

Ajuda da grade. Caso não seja informado, será gerado um texto genérico.

showResetToDefaultsButton boolean <optional>

Indica se o botão "Redefinir os valores padrões" deve ser exibido na grade.

Returns:

Grade pré-configurada para o preenchimento das configurações.

Type
module:@nginstack/web-framework/lib/grid/Grid~Grid
Examples
const newSettingsGrid = require('@nginstack/web-framework/lib/settings/newSettingsGrid');

this.interaction('main', function () {
  const grid = newSettingsGrid('wf.login', {
    title: 'Configurações da tela de login padrão',
    showResetToDefaultsButton: true
  });
  grid.write();
});
const newSettingsGrid = require('@nginstack/web-framework/lib/settings/newSettingsGrid');

this.interaction('main', function () {
  const grid = newSettingsGrid(['wf.login.colors.primary', 'wf.login.colors.secondary'], {
    title: 'Configurações de cores da tela de login padrão'
  });
  grid.write();
});

module:@nginstack/web-framework/lib/simple-layout/getSimpleLayoutCssFileKeys()

Obtém as chaves das folhas de estilo que devem ser utilizadas pelos relatórios do tipo SimpleLayout do sistema.

Returns:

As chaves das folhas de estilo que o sistema deve utilizar nos relatórios, em formato textual.

Type
Array.<number>

module:@nginstack/web-framework/lib/string/formatForDisplay(value, format)

Formata um valor utilizando um dos formatos cadastrados na classe "Formatos de Exibição" (-1892603094).

Parameters:
Name Type Description
value *

Valor a ser formatado.

format number | string

Chave ou código do formato desejado.

Returns:

Valor no formato desejado.

Type
string

module:@nginstack/web-framework/lib/vfs/extractKeyFromUrl(url)

Função que retorna a chave se estiver presente na URL informada ou se a URL for de um arquivo da VFS.

Parameters:
Name Type Description
url string

URL de onde tentará ser extraída a chave.

Returns:

key Chave caso exista. Retornará null caso não encontre na iVfs.

Type
number