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:

memoryManager :MemoryManager

Objeto responsável pela gestão da memória consumida pelo sistema.

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
INTEGER string integer
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

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/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.


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

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


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

Tipos de dados do banco de dados suportados pela API do Engine.

Type:
  • string
Properties:
Name Type Default Description
STRING string string
NUMBER string number
INTEGER string integer
MEMO string memo
DATE string date

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/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/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 utilizadas 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.


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

Chaves dos agentes de usuário cadastrados no sistema.


<constant> module:@nginstack/web-framework/lib/button/AutoShortcutKeyMode

Constantes de controle de atribuição automática de atalhos para botões dos processos e grades.


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/ViewDefField~ViewDefField#duplicateMode}

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/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/messaging/Location :string

Localização de um componente.

Type:
  • string
Properties:
Name Type Default Description
CLIENT string c
SERVER string s

<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:

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 Arguments

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

O primeiro array para comparar.

arr2 Array

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 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/classdef/getImageRelationConfig(classKey)

Obtém a configuração de relacionamento de um cadastro com as suas imagem 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 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/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/canApplyUpdates(ds)

Indica se o dataSet pode ter suas alterações gravadas no banco de dados por meio do método applyUpdates.

Parameters:
Name Type Description
ds DataSet
Returns:

Retorna true se o applyUpdates pode ser utilizado, false caso contrário.

Type
boolean

module:@nginstack/engine/lib/dataset/dataSetEquals(a, b)

Verifica se os dois DataSets informados são iguais. Eles serão considerados iguais se possuírem a mesma quantidade de registros e se os valores de todos os campos de todos os registros forem iguais.

Parameters:
Name Type Description
a DataSet
b DataSet
Returns:

True se os dataSets são iguais.

Type
boolean

module:@nginstack/engine/lib/dataset/fieldValueIsEqual(ds, fieldName, value)

Determina se o valor do campo informado em fieldName é igual ao valor fieldValue.
A comparação realizada por este método será equivalente ao critério interno de comparação do DataSet. Valores nulos serão considerados iguais a string vazias por esta função quando comparados campos textuais e a comparação de texto será insensitiva.

Parameters:
Name Type Description
ds DataSet

DataSet a ser comparado.

fieldName string

Nome do campo a ser comparado.

value *

Valor que será comparado ao valor corrente do campo.

Returns:

True se os valores forem iguais ou equivalentes no critério de comparação do dataSet.

Type
boolean

module:@nginstack/engine/lib/dataset/fieldValuesAreEqual(ds, fieldNames, fieldValues)

Determina se os campos do dataSet informados em fieldNames são iguais aos valores fieldValues.

A comparação realizada por este método será equivalente ao critério interno de comparação do DataSet. Valores nulos serão considerados iguais a string vazias por esta função quando comparados campos textuais e a comparação de texto será insensitiva.

Parameters:
Name Type Description
ds DataSet

DataSet a ser comparado.

fieldNames Array.<string>

Nomes dos campos que serão comparados.

fieldValues Array.<*>

Valores dos campos que serão comparados.

Returns:

True se os valores de fieldValues forem iguais aos dos campos do dataSet.

Type
boolean

module:@nginstack/engine/lib/dataset/findFields(ds, fieldNames)

Busca no dataset informado os campos fieldNames e retorna o índice do primeiro encontrado.

Parameters:
Name Type Description
ds DataSet
fieldNames Array.<string>
Returns:

Retorna o índice do campo encontrado. Será retornado -1 caso não seja encontrado nenhum dos campos informados.

Type
number

module:@nginstack/engine/lib/dataset/forceRecordUpdate(queryFunc, updateFunc [, opt_options])

Tenta atualizar um registro de um DataSet e repete a operação até o tempo informado caso seja detectado um conflito de alteração com outro usuário.

Parameters:
Name Type Argument Description
queryFunc function

Função que obtém o dataset a ser atualizado. Essa função deve retornar o registro atualizado, preferencialmente da base de dados.

updateFunc function

Função responsável por atualizar e gravar o registro na base de dados.

opt_options Object <optional>

Opções.

Properties
Name Type Argument Description
context * <optional>

Valor do this durante a execução das funções informadas.

timeout number <optional>

Tempo em milissegundos que a operação deve ser repetida.

Returns:

DataSet criado por queryFunc e atualizado com sucesso pela updateFunc.

Type
DataSet

module:@nginstack/engine/lib/dataset/forEachRecord(ds, f [, opt_obj])

Executa uma função para cada registro do dataSet informado.

Importante:: a função que será executada a cada iteração não deve provocar mudanças na quantidade de registros ou em campos que mudem a posição corrente do dataSet.

Parameters:
Name Type Argument Description
ds DataSet

DataSet que será iterado.

f function

A função que será chamada para cada elemento. Esta função recebe 1 parâmetro (o dataSet posicionado) e o retorno desta função é ignorado.

opt_obj Object <optional>

Indica o objeto 'this' dentro de f.

Deprecated:
Example
var forEachRecord = require('@nginstack/engine/lib/dataset/forEachRecord');
var users = classes.getCachedDataSet(Classes.USERS);
forEachRecord(users, function (ds) {
    log.info(ds.ikey + ': ' + ds.iname);
});

module:@nginstack/engine/lib/dataset/getDistinctValues(ds, fieldName)

Pega os valores distintos de um campo.

Parameters:
Name Type Description
ds DataSet

Dataset de onde serão obtidos os valores distintos

fieldName string

Nome do campo.

Returns:

Todos os valores distintos em um dataset para um nome de campo.

Type
Array

module:@nginstack/engine/lib/dataset/getFieldValues(dataSet, fieldNames)

Obtém os valores dos campos informados do registro corrente como um array.

Parameters:
Name Type Description
dataSet DataSet

DataSet do qual serão obtidos os valores dos campos.

fieldNames Array.<string> | string

Array com os nomes dos campos ou uma lista de campos separada por "," ou ";".

Returns:

Valores dos campos informados.

Type
Array.<*>
Example
const getFieldValues = require('@nginstack/engine/lib/dataset/getFieldValues');
getFieldValues(ds, ['CHAVE', 'VERSAO']); // => [100, 28301]

module:@nginstack/engine/lib/dataset/getFirstFieldValue(ds, fieldNames)

Busca no dataset informado os campos fieldNames e retorna o valor do primeiro encontrado.

Parameters:
Name Type Description
ds DataSet
fieldNames Array.<string>
Returns:

Retorna o valor encontrado do primeiro campo passado no Array. Um erro será gerado caso nenhum campo seja encontrado.

Type
*

module:@nginstack/engine/lib/dataset/hasEmptyRange(ds)

Verifica se o dataset informado foi filtrado pela execução da função #setEmptyRange.

Parameters:
Name Type Description
ds DataSet

DataSet que será verificado.

See:
Returns:

True se o dataset tem um range criado pela função #setEmptyRange.

Type
boolean

module:@nginstack/engine/lib/dataset/isTextualField(ds, fieldName)

Indica se o tipo do campo informado é textual. Um campo será textual se ele for do tipo string ou memo.

Parameters:
Name Type Description
ds DataSet

DataSet que contém o campo que será avaliado.

fieldName string

Nome do campo que será verificado. Se for informada uma expressão lookup (fldA.fldB), será avaliado o primeiro campo.

Returns:

True se o campo for textual.

Type
boolean

module:@nginstack/engine/lib/dataset/pruneTree(ds, idField, parentField, filterFunc)

Para DataSets que possuem uma estrutura de árvore este método remove nós baseado numa dada função, preservando os nós que são essenciais para a integridade da árvore. Este método tentará preservar o bookmark do DataSet, caso ele tenha sido retirado, o cursor irá para o primeiro registro.

Parameters:
Name Type Description
ds DataSet

DataSet que será filtrado.

idField string

Campo que contém o identificador do registro.

parentField string

Campo que contém o identificador do pai do registro.

filterFunc function

Função que realizará o teste para checar se o registro deve ser removido.

Example
Digamos que temos uma árvore com essa estrutura:
  setor1
    time1
      joão
      joaquim
    time2
      fulano
      sicrano
  Se o "time1" não atender à função mas o "joão" atender significa que o nó
  "time1" precisará ser removido, mas se isso acontecer o nó "joão" ficará
  sem mãe fazendo com que a árvore perca sua consistência. Então este método
  preservaria o nó "time1".

module:@nginstack/engine/lib/dataset/recordToJson(dataSet [, opt_options])

Retorna o registro do DataSet em formato de JSON.

Parameters:
Name Type Argument Description
dataSet DataSet

DataSet posicionado no registro que se deseja converter.

opt_options Object <optional>

Opções de conversão.

Properties
Name Type Argument Description
toLowerCase boolean <optional>

Indica se a propriedade do objeto criado deverá ser em caixa baixa (lower case).

onlyFilled boolean <optional>

Indica se devem ser criadas as propriedades para os campos sem preenchimento no DataSet.

Returns:

Retorna o dado em formato JSON.

Type
string
Example
var recordToObject = require('@nginstack/engine/lib/dataset/recordToJson');
var Classes = require('@nginstack/engine/keys/Classes');
var users = classes.getCachedDataSet(Classes.USERS);
if (users.findKey(session.userKey)) {
  var currentUserJson = recordToJson(users);
}

module:@nginstack/engine/lib/dataset/recordToObject(dataSet [, opt_options])

Retorna o registro do DataSet em formato de objeto literal, onde as colunas serão as propriedades.

Parameters:
Name Type Argument Description
dataSet DataSet

DataSet posicionado no registro que se deseja converter.

opt_options Object <optional>

Opções de conversão.

Properties
Name Type Argument Description
toLowerCase boolean <optional>

Indica se a propriedade do objeto criado deverá ser em caixa baixa (lower case).

onlyFilled boolean <optional>

Indica se devem ser criadas as propriedades para os campos sem preenchimento no DataSet.

Returns:

Retorna o objeto onde as propriedades são os campos do DataSet

Type
Object
Example
var recordToObject = require('@nginstack/engine/lib/dataset/recordToObject');
var Classes = require('@nginstack/engine/keys/Classes');
var users = classes.getCachedDataSet(Classes.USERS);
if (users.findKey(session.userKey)) {
  var currentUserObj = recordToObject(users);
}

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 DataSet

DataSet que será utilizado como origem dos dados.

target 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/checkRange(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 500 ms.
formatElapsedTime(50 * 60 * 60 * 1000 ) // Retorna 2 dias 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 [, opt_days])

Retorna a data incrementada em uma quantidade de dias.

Parameters:
Name Type Argument Description
date Date

Data base.

opt_days number <optional>

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

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)

Realiza o parser do ISO8601 para Date.

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/skipHoliday(dt, uf, localidade [, holidays])

Retorna a data ou a próxima data a partir da informada que não seja um sábado, domingo ou feriado.

Parameters:
Name Type Argument Description
dt Date

data base que será verificada.

uf number

de cadastro do feriado.

localidade number

Localidade de cadastro do feriado.

holidays DataSet <optional>

Dataset com os feriados cadastrados. Caso não seja informado, será utilizado o cadastro de feriados da base corrente definidos pela classe "Feriados" (-1897053422). O DataSet informado deve ter o mesma esquema definido por essa classe.

Returns:

Retorna uma data válida a partir da informada.

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.

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/error/getStackTrace(error)

Obtém a pilha de funções chamadas do JavaScript. A lista só está disponível quando ocorre uma exceção.

Parameters:
Name Type Description
error Error

Erro do qual será obtido a pilha de chamadas. Obrigatório no uso do runtime V8.

Returns:

Retorna array com a pilha de chamadas JavaScript.

Type
Array.<StackTraceElement>

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 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 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 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)

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.

Parameters:
Name Type Description
key number

Chave do registro que deseja capturar a imagem.

Returns:

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

Type
string

module:@nginstack/engine/lib/jaz/listJazPackages()

Lista todos os pacotes JAZ instalados na UnionFS.

Returns:

Array com informações sobre os pacotes instalados.

Type
Array.<JazPackageInfo>

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/declareProperty(obj, prop, descriptor)

Cria uma propriedade com getter e setter no formato suportado pelo Engine.

O propósito desta função é implementar parcialmente a funcionalidade do método Object.defineProperty, enquanto ele não é suportado nativamente pelo Engine. Diferentemente do comportamento Object.defineProperty, as propriedades criadas serão sempre configuráveis e enumeráveis, pois esse é o único comportamento permitido no Engine.

O seu uso permite encapsular as definições do getter e setter, além de simplificar o JSDoc ao tornar desnecessário a documentação do getter, do setter e o uso do comentário especial **jsdoc.

Parameters:
Name Type Description
obj Object

Objeto que terá a propriedade criada.

prop string

Nome da propriedade a ser criada.

descriptor PropertyDescriptor

Descrição da nova propriedade. Opções possíveis:

  • get: getter da propriedade. Caso não seja informado, a leitura da propriedade sempre retornará undefined.
  • set: setter da propriedade. Caso não seja informado, a propriedade será somente para leitura.
  • value: valor da propriedade. Não pode ser utilizado conjuntamente com get ou set.
Example
// Crie um comentário JSDoc para documentar a propriedade abaixo. Para fins de documentação,
// ela será uma propriedade normal. No entanto, o defineProperty elimina essa definição
// e cria um getter e, opcionalmente, um setter para ela.
const declareProperty = require('@nginstack/engine/lib/object/declareProperty');

MyClass.prototype.test = 0;
declareProperty(MyClass.prototype, 'test', (function () {
  MyClass.prototype.test_ = '';
  return {
    get: function () { return this.test_; },
    set: function (val) {
      if (val >= 0) {
        this.test_ = val;
      } else {
        throw new Error('Não são permitidos valores negativos.');
      }
    }
  };
})());

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 Object | Array

Objeto a ser clonado.

Returns:

Clone.

Type
Object | 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 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
*
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(vfsScriptKey [, parametersNames] [, parametersValues])

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

Parameters:
Name Type Argument Description
vfsScriptKey number

Chave do script que deve ser executado.

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()]);

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. * title: cada palavra com mais de uma letra será iniciada com maiúscula exceto as preposições mais comuns. * 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.

Parameters:
Name Type Description
str string

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

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 Description
str string

String onde será realizada a busca.

chars Array.<string>

Caracteres que serão procurados em str.

index number

Í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/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).
  • m: exibe os minutos como um número não precedido de zero (0-59).
  • mm: 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 opáca.

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/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.

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 | Object <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( [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 | Object <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/dataset/addFields(ds, fields)

Cria os campos de um dataset a partir das definições.

Parameters:
Name Type Description
ds DataSet

Dataset não inicializado

fields Array.<{name: string, type: string, size: number=}>

Definições dos campos de acordo com os parâmetros definidos em DataSet.createField.

Returns:

DataSet com os campos criados.

Type
DataSet

module:@nginstack/engine/lib/testing/dataset/newDataSet(fields)

Cria um DataSet a partir das definições dos campos.

Parameters:
Name Type Description
fields Array.<{name: string, type: string, size: string=}>

Definições dos campos de acordo com os parâmetros definidos em DataSet#createField.

Returns:

DataSet com os campos criados.

Type
DataSet

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/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/engine/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/orm/lib/persistDataSets(dataSets)

Persiste os dataSets informados no banco de dados, emitindo os eventos beforePersist e afterPersist configurados na definição das classes (x-model) dos registros modificados. Será emitido o evento para cada registro inserido, modificado ou excluído, mas não serão emitidos para os registros não modificados. Dessa forma, se forem informados DataSets sem modificações, não haverá emissão dos eventos.

Parameters:
Name Type Description
dataSets DataSet | Array.<DataSet>

DataSets a serem persistidos no banco de dados.

Returns:

Versão (campo iVersion ou VERSAO) dos registros após a persistência no banco de dados.

Type
number

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/classdef/getGlobalActions(classKey, key)

Obtém todas as âncoras definidas em uma classe de dados. É importante ressaltar que esse método roda os eventos "onShow" da module:@nginstack/web-framework/lib/classdef/GlobalActions e das module:@nginstack/web-framework/lib/classdef/GlobalAction. Esta função funciona como um filtro antes da exibição das ações e por isso os eventos são executados.

Parameters:
Name Type Description
classKey number

Chave da classe que contém as ações.

key number

Chave do registro ao qual se quer as ações possíveis.

Returns:

Ações válidas para serem exibidas.

Type
Array.<GlobalAction>

module:@nginstack/web-framework/lib/connection/newConnection(key [, opt_dbName])

Cria uma nova conexão para o engine informado. Caso não consiga estabelecer uma conexão, sobe um erro acusando o insucesso.

Parameters:
Name Type Argument Description
key number

Chave do cadastro do Engine.

opt_dbName string <optional>

Nome da base de dados que se deseja conectar. Há a possibilidade de não se desejar uma conexão nomeada, por este motivo, este parâmetro é opcional.

Returns:

Instância de Connection para o Engine informado.

Type
Connection

module:@nginstack/web-framework/lib/connection/tryNewConnection(key [, opt_dbName])

Tenta criar uma nova conexão para o engine informado. Caso não consiga estabelecer uma conexão, retorna null.

Parameters:
Name Type Argument Description
key number | Object

Chave do cadastro do Engine ou lista de endereços e portas que o engine responde.

opt_dbName string <optional>

Nome da base de dados que se deseja conectar. Há a possibilidade de não se desejar uma conexão nomeada, por este motivo, este parâmetro é opcional.

Returns:

Instância de Connection para o Engine informado.

Type
Connection

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/formatLinkTag(cssFile)

Formata uma tag "link" para carregar o arquivo CSS informado em um navegador Web.

Parameters:
Name Type Description
cssFile number | number

Chave do arquivo CSS na VFS ou URL do arquivo.

Returns:

Tag "link" para o arquivo CSS informado.

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/engine/getAddressesAndPorts(key)

Prepara uma lista de endereços e portas a partir de um engine informado.

Parameters:
Name Type Description
key number

Chave do cadastro do Engine.

Returns:
Type
Object

module:@nginstack/web-framework/lib/html/formatImageTag(uri [, opt_options])

Gera uma tag para a exibição de uma imagem.

Parameters:
Name Type Argument Description
uri number | string

Chave ou URI da imagem na VFS.

opt_options Object <optional>

Opções de renderização para a imagem.

Properties
Name Type Argument Description
style string <optional>

Estilo CSS inline a ser usado na tag gerada.

id string <optional>

Identificador do elemento DOM associado a imagem.

cssClass string <optional>

Classe CSS a ser utilizada pela imagem.

mailObject Mail <optional>

objeto de email no qual a imagem será inclusa.

Returns:

Tag formatada de acordo com os parâmetros informados. O uso desta função, quando utilizada para envio de emails, é restrita para arquivos existentes na VFS. Portanto, a URI deve ser uma chave da VFS ou uma URI que aponte para uma arquivo da VFS. Caso não seja, será retornada uma string vazia se mailObject for informado.

Type
string

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